United States - Flag United States

Please confirm your currency selection:

Bench Talk for Design Engineers

Bench Talk

rss

Bench Talk for Design Engineers | The Official Blog of Mouser Electronics


Arduino 101: Pattern Matching on the Intel® Quark™ SE Microcontroller Lynnette Reese

Machines have never been as good as the human brain for sensing, perceiving, thinking about, or interpreting visual images. The human brain is also quite effective at “filling in the blanks” by making assumptions about the world around it. In some circumstances, the brain falls prey to a phenomenon referred to as an “optical illusion” in the common vernacular.

Patterns, within the context of computational imaging, can be defined as “a more or less repeatable, discernible regularity in the spatial arrangement of a type of theme of more or less recurring objects, with possibly both radiometrical and geometrical features, sometimes referred to as elements of a collection of objects.”[i] The term “radiometrical features” refers to what can be called “tone.” Machines discern this portion of machine “sight” by measuring how an object responds to electromagnetic radiation. A machine blasts an object with either ultraviolet, visible, or infrared light, or all three and uses the resulting radiation to recognize patterns and compare them against known patterns.

Pattern matching is the act of checking for pieces of what makes up a pattern. Pattern recognition is when the underlying pattern itself is detected. Patterns can be described using the features of an image in terms of determining the edges of an object, gradations in shading that form ridges or valleys, lines, curves, and regions with constant properties, to name a few.

 


Figure 1: If you are having trouble recognizing vegetables, pattern matching via the Intel® Quark™ SE microcontroller is for you. ­­Source: NeuroMem Technology Guide by General Vision.

 

Human vision is limited to working only within the visible light band (390 to 750nm wavelengths), assimilates vision at an equivalent of 20 frames per second, and departs from reality when the human brain “fills in the blanks.” It is no surprise that machine vision is the Holy Grail when it comes to rapid image processing and analysis if only computers could match or surpass the human brain in all aspects, but without physical limitations or faults.

Computers are steadily getting better at sensing, perceiving, thinking about, or interpreting visual images. Sensing is accomplished with cameras, perceiving is done with pattern matching or recognition, and processing for context and what to do with the information substitutes for thinking and interpreting. 

One example of a microcontroller with pattern matching capability is the Intel® Quark™ SE microcontroller, which “allows it to learn and differentiate.”[ii] The Intel® Quark™ SE microcontroller has an integrated sensor hub (sporting a 32-bit DSP) that supports several peripherals and wakes up the CPU based on programmable cues. The Intel® Quark™ SE microcontroller has 32 bi-directional general-purpose I/O pins with integrated pull-up resistors, a 19-channel 12-bit ADC, a watchdog timer and hardware- and software-based security features. The pattern matching accelerator includes hardware pattern recognition capability with 128 programmable silicon “neurons” with 128 components (bytes) per neuron.

Use of the term “neuron” is not a marketing gimmick. It refers to a different kind of computing called cognitive or neuromorphic computing[iii], where the architecture is based on neural networks that mimic the way the brain works, enabling learning and the ability to detect anomalies, identify similarities, and practice “associative memory.” The neuromorphic branch of computing research has existed for decades but became a far less attractive prospect as rapid improvements in traditional architectures stretched the limits of Moore’s Law. The fully parallel silicon neural network inside the Intel® Quark™ SE microcontroller is a chain of identical elements (neurons) that simultaneously store and process information. They are addressed in parallel and collaborate with each other through a bi-directional neural bus.[iv] Each neuron has a processing unit that reacts to a pattern, but it is the response from all the neurons acting en masse that produces remarkable results.




Figure 2: Neuromorphic computing "architecture" is very different from traditional computing architectures. The above is a chain of identical neuron cells with no supervisor, low clock, and low power requirements. The Intel® Quark™ SE microcontroller has 128 neurons and resides in the Intel® Curie™ Module, the computing module on the Arduino 101. Source: General Vision. https://www.general-vision.com/publications/PR_CurieNeuronsPresentation.pdf


Neuromorphic computing is inherent to the Intel® Quark™ SE microcontroller, which lives in the Curie Module, which in turn is the processor module on the very accessible Intel® Arduino 101. The 128 neurons are “very easy to use through the Curie Neurons library.” [v]  The Intel® Quark™ SE microcontroller’s neural network learns from examples that you feed to it and does not require programming in the traditional sense. Training can be done off-line with an existing data set or on-the-fly. The neurons can build a knowledge base from the above and go on to recognize new patterns, report anomalies, and more. A new paradigm in computing is available with full access to neuron registers with a low cost purchase of the Curie Neurons Pro Library from General Vision. Applications featuring sensor fusion, contextual awareness, high-speed K-Nearest Neighbor (K-NN) classification and radial basis function (RBF) are possible with very low power consumption, a hallmark of neuromorphic computing.

 

 


Figure 3: Typical workflow for the Intel® Quark™ SE technology neurons. Source: Curie Neurons Library Manual, V1.1 https://www.general-vision.com/documentation/TM_CurieNeuronsLibrary.pdf



[i] Pinoli, Jean-Charles. Mathematical Foundations of Image Processing and Analysis. Vol. 1, Wiley-ISTE, 2014. Print.

[ii] Intel® Quark™ SE microcontroller, by Intel. https://www.mouser.com/pdfdocs/IntelQuarkSEProductBrief.pdf

[iii] https://www.ted.com/talks/kwabena_boahen_on_a_computer_that_works_like_the_brain?language=en

[iv] NeuroMem technology Guide, rev 4.0.1, revised 5/6/2016. General Vison. https://www.general-vision.com/documentation/TM_NeuroMem_Technology_Reference_Guide.pdf

[v] https://www.general-vision.com/products/curieneurons/



« Back


Lynnette Reese holds a B.S.E.E from Louisiana State University in Baton Rouge. Lynnette has worked at Mouser Electronics, Texas Instruments, Freescale (now NXP), and Cypress Semiconductor. Lynnette has three kids and occasionally runs benign experiments on them. She is currently saving for the kids’ college and eventual therapy once they find out that cauliflower isn’t a rare albino broccoli (and other white lies.)


All Authors

Show More Show More
View Blogs by Date

Archives