210 likes | 392 Views
Embedded smart vision system based on CogniMem neural processor : application to person detection. M.Paindavoine 1,2 , E.Boattlander 2 , G.Sauvage 2 , G.Camenen 2 , O.Brousse 1,2. 1: LEAD Universite de Bourgogne & CNRS (Dijon, France)
E N D
Embedded smart vision system based on CogniMem neural processor : application to person detection M.Paindavoine1,2, E.Boattlander2, G.Sauvage2, G.Camenen2, O.Brousse1,2 1: LEAD Universite de Bourgogne & CNRS (Dijon, France) 2: GlobalSensing Technologies (Dijon, France) HIPEAC_NIAC Berlin 2013
I- Introduction: Human detection from natural scenes with artificial vision systems needs background elimination Simple differences betwen current image and background reference image are too noise sensitive Some robust algorithms have been introduced like Gaussian Mixture Model (Stauffer & Grimson, IEEE CVPR 1999) but calculation complexity is high An optimization of performance vs complexity consists in bio-inspired human performances in words of detection and recognition HIPEAC_NIAC Berlin 2013
Simple Tasks with Human Brain vs Von Neuman Computer (like PC): - Calculate in less than one second (398387.86 x 498.07=?) - But regognize in less than one second this image: Artificial vision model proposal for embedded systems: • Arithmetic calculations used in image filtering for example: • -> Von Neuman (or Harvard) architectures • Object recognition from natural images: • ->Bio-inspired Human intelligence: Artificial Intelligence on Silicon HIPEAC_NIAC Berlin 2013
Outline Introduction Artificial Intelligence on Silicon NeuroPIC: Embedded smart vision system Application: Real time human detection Conclusion HIPEAC_NIAC Berlin 2013
II- Artificial Intelligence on Silicon: 3- Recognize with association 1- Learn with example (like a child) 2- Build a decision space Build a decision space Recognize with association Automatic!!! HIPEAC_NIAC Berlin 2013
A non-linear classifier (Restricted Coulomb Energy, 1982) (Invented by Nobel prize Winner Leon Cooper and All, derived from Bruce Batchelor’s work) A hardwired parallel architecture Designed for the CERN’s UA1 experiment (1984) Lead by Nobel prize winner Carlo Rubia a high-speed non-linear classifier The practical merger and implementation of two re-known concepts CogniMem Neural Processor (RBF & KNN models) HIPEAC_NIAC Berlin 2013
Feature #3: Sub-sampling within a region Command interpreter Digital video signal parallel and I2C buses Feature #2: Recognition logic Digital Signature Daisy-chain Out (to add more neurons) n1 n2 n3 n1024 Daisy-chain In Feature #1: neurons arranged in parallel CogniMem inside HIPEAC_NIAC Berlin 2013
Detailed Block Diagram CAT_VAL DIST_VAL Daisy Chain in Internal bus Recognition state machine 256 bytes FIFO 16 neurons Video signature logic Command & Control logic IDENTIFIED 16 neurons 64 clusters (1024 neurons) UNCERTAIN I2C slave 16 neurons Bypass G_CLK STANDBY V_CLK domain G_CLK domain RESET_l Buffers STAND ALONE I2C BUS V_CLK Daisy Chain out Digital input bus Parallel bus HIPEAC_NIAC Berlin 2013
Prototype A network of neurons in parallel Internal neuron architecture A neuron is a reactive memory which can autonomously evaluate the distance between an incoming vector and a reference vector stored in its memory. If this distance falls within its current influence field, it returns a positive classification. Distance Influence Field Context Category • The true significance of a neuron is its arrangement into a parallel network which allows • To learn and recognize a vector in a constant amount of time independent from the number of neurons • To add neurons at will to the network All neurons process the input vector in parallel Neuron #1 Neuron #2 Neuron #n Best match of all neurons, 36 clock cycles later HIPEAC_NIAC Berlin 2013
An adaptive model generator • Learn by examples (supervised or unsupervised) • Map decision spaces by aggregate instead of hyper planes • Cope with non-linear, convex, disjoints and embedded categories • - Multiple space generation using different contexts • Save and restore the contents of the neurons • Can append more training at any time Learning = Building a “decision spaces” by learning examples A A B A or B or C C HIPEAC_NIAC Berlin 2013
Identified (A) Uncertain (A, B or C) Unknown A A B C A high-performance classifier • Global response readout: • positively identified • identified with uncertainty • unknown • Detailed response of all the firing neurons • category and confidence level (or distance) • retrieved per decreasing confidence Recognition = where does the sample fall in the decision space? HIPEAC_NIAC Berlin 2013
Recognition Time CPU or DSP CogniMem Size of knowledge High speed performance • Constant recognition time independent from the number of neurons in use • 9.47 usec to broadcast a pattern of 256 bytes to all neurons (@ 27Mhz) • 1.3 µsec to read to the best match processor neuron1 neuron2 neuron3 … neuron n HIPEAC_NIAC Berlin 2013
Comparison with other architectures Benchmark: 256-bytes vector at the input of the NN • 170 times faster than a computer running at 2.4 Ghz • Capable of 100.000 recognition of a 256-bytes vector /sec • 120 times less power than a Pentium (0.5w vs 60w) Neural Processor HIPEAC_NIAC Berlin 2013
III- NeuroPIC: Embedded smart vision system: HIPEAC_NIAC Berlin 2013
IV- Application: Real time human detection Feature extraction Category Region of Interest Learn Recognize Feature extraction function Video data Vector Sub-sampling ROI in order to obtain 256 features ROI size= N x M neuron 1 neuron 2 neuron 3 neuron N • CogniMem neural network • - Auto learning mechanism • Parallel matching mechanism HIPEAC_NIAC Berlin 2013
Learning Step using GNP tool HIPEAC_NIAC Berlin 2013
Test Step using GNP tool HIPEAC_NIAC Berlin 2013
Some human detection results obtained with GNP tool (CogniMem Simulation) HIPEAC_NIAC Berlin 2013
Obtained results (some samples): • - CogniMem allows to detect presence of human persons • Real time image processing allows to extract human body • detected by CogniMem HIPEAC_NIAC Berlin 2013
Demonstration #1 Demonstration #2 IR Indoor video: HumanDetection and Tracking RGB Indoor video: HumanActivityTracking HIPEAC_NIAC Berlin 2013
V- Conclusion and Perspectives Validation of a real time human detection and tracking embedded smart vision system. Demonstration of the interest of using Artificial Neural Network for human detection and tracking (95% of good detection). Demonstration of the interest of using Neural Processor in words of low-power consumption and speed. Future work: To obtain more robust features, using of a FPGA (Xilinx Spartan 6) connected to CogniMem Neural processor in order to implement efficient low-level image processing (like Gabor filter, wavelets, …..) HIPEAC_NIAC Berlin 2013