Rhonda Software

Computer Vision (CV) Experience
Video analytics methods and algorithms
dedicated for continuous image processing
in fully-automated solutions
Computer Vision - Area of Expertise
Computer Vision is relatively new but most rapidly
growing domain of Rhonda's expertise. Since 2007
Rhonda has been doing research and development in
this area.
As the mainstream of CV R&D, Rhonda has released two
Audience Measurement products dedicated for accurate
people counting (myAudience-Count) and precise audience demographics
studying (myAudience-Measure).
Rhonda Software also offers CV custom-oriented solutions in many other
domains like:
• Object/pattern recognition

• Face detection
• Face landmarks automatic mark-up
• Human body detection & tracking
• Face recognition.
© 2013 Rhonda Software: www.rhondasoftware.com

2
Beholder Computer Vision Framework
Platform for Developing Applications in CV Domain
• Cross-platform solution, active development under
Linux and Windows
• Continuous integration with overnight builds and
automatic testing
• Modular distributed architecture on top of ZeroMQ
messaging platform and Google protocol buffers data
serialization provides flexible allocation of system functions across system
processing nodes (e.g. offloading CPU-consuming key-point extraction
module from TI OMAP 3530 to Intel Atom-based notebook while keeping
other modules on the same nodes was a matter of couple hours including rebuilding and testing)
• Designed to work on low performance platform
• Unit test available for all algorithms
• Process real-time and prerecorded video
© 2013 Rhonda Software: www.rhondasoftware.com

3
Beholder Computer Vision Framework
Analysis Stages & Algorithms
• Analysis stages can be transferred between different modules based on unique
solution requirements and hardware restraints.
Background
model

Object
tracking

Feature
Extraction

Face
detection

Face
Recognition

Statistics
and RDB

Media
presentation

• Combination of existing algorithms gives advantage to achieving result
Background

Object tracking

Face detection

Feature Extraction

Object recognition

Image Enhancement

Face
Recognition/classification

Media presentation

Gaussian

Color/Intensity
based histograms

Viola and Jones

Statistical models:
PCA/ICA

Pattern-based
recognition (Viola
and Jones)

Super resolution

Hidden Markov
Models

IP stream

Mean Shift

Mean shift/Cam
shift

Face tracker

GMM

Feature-based
recognition
(SURF/SIFT)

Deconvolution

Neural-networks

WEB

KDE

Key points/feature
based tracking

Morphological
analysis

Generalized Hough
Transform, Hough
Transform

Capture using PTZ
camera

“3D” models

Linux/QT
applications

Multiview tracking
(Homography and
cooperative
tracking)

TVL1

Contour-based
detection

ASM/AAM

Windows
applications

Pattern maps

Barcode detection
/recognition

AdaBoost/AdaSVM

Windows Media
Center

Optical flow
(Lucas–Kanade);
Motion detection

PTZ camera

Laplacianfaces

© 2013 Rhonda Software: www.rhondasoftware.com

Gabor wavelets

4
Computer Vision Technologies
CV Methods in Our Area of Expertise
• Background subtraction – subtracting objects from complex/moving
background as part of object tracking/recognition
• Overlapped object tracking – object tracking of overlapping objects
• Multi-view tracking – tracking objects between different cameras
• Object recognition – recognition of objects on complex background
• Barcode detection and recognition – UPC-A Barcode recognition using
video stream from regular camera

© 2013 Rhonda Software: www.rhondasoftware.com

5
Computer Vision Technologies
CV Methods in Our Area of Expertise (continue)
• Facial features extraction –
locating facial features from video
stream or still images
• Face detection, tracking and
recognition – including attention
recognition

• Demographic classification – age
and gender recognition from video
stream or still images
• People/object counting – using
top side view camera or horizontally
positioned camera
• Computer cluster for training algorithms – using dedicated cluster and MPI
based applications to train and test algorithms

© 2013 Rhonda Software: www.rhondasoftware.com

6
Computer Vision Projects
Examples of Projects in CV Domain
• Semiconductor Insight – electronic microscope
image enhancement and de-blurring
• En-Vision America vision impaired helper,
based on Freescale I.MX31 ARM11
board:
• Barcode detection and barcode
recognition
• Bank note recognition
• Logo recognition
• Face detection
• Traffic monitoring system for major US photo enforcement company – traffic
lights phase detection under various illumination and weather conditions
• Rhonda audience measurement cross-platform solutions with support of
attention detection, gender / age recognition: myAudience-Measure and
myAudience-Count
© 2013 Rhonda Software: www.rhondasoftware.com

7
Computer Vision Solutions
myAudience – Audience Measurement product details
myAudience-Measure is an automated
anonymous audience measurement product.
It can be used both with Digital Signage vehicles
and all kinds of static installations. This Computer
Vision solution gathers statistical information about
vehicle audience – i.e. it counts visitors in the
camera’s field of view, recognizes gender, age
group and attention of viewers.
myAudience-Count is a bi-directional people
traffic counter SW product that utilizes topmounted camera (USB and IP cams supported).
myAudience-Count shares operational
architecture, back-end server and software
updates infrastructure with myAudienceMeasure using same OS, data storage and
online Reports Portal.
© 2013 Rhonda Software: www.rhondasoftware.com

8
Computer Vision Embedded
myAudience-Count ported to FPGA-based platform
One of the newest directions in research
and development activities conducted by
Rhonda Software concerns FPGA embedded
platform and its potential in acceleration of
computational intensive algorithms of
Computer Vision technology.
It was decided to start from porting the PC-based
myAudience-Count SW product on Lattice HDR-60
board powered by ECP3 FPGA chip.
100% compatible solution was redesigned to fit on a
single chip. Ported components include: Video capturing
HDR-enabled module, HW-accelerated Video analytics
pipeline, embedded Linux on new kernel, Web-server
optimized for AJAX-requests and Ethernet controller
implemented in programmable logic.
© 2013 Rhonda Software: www.rhondasoftware.com

9
Computer Vision Embedded
DSP and GPGPU Development
Most of Computer Vision algorithms are
computationally intensive. Reduced CPU
performance on compact and embedded
systems brings developers to use DSP or GPU
if available.
DSP and GPU implementations may
have specific limitations but save a lot of CPU
power at the expense of additional hardware and
significant code redesign.
• Barcode Library on TI OMAP 3530 (Beagle Board), Angstrom Linux uses
on-board DSP via DSP Bridge driver to preprocess source barcode pictures

• Viola and Jones Face Detector from OpenCV library was ported to nVidia
CUDA GPGPU. Now it can run on GPU in parallel with other algorithms
running on CPU
• Gaussian Background Subtraction algorithm was also ported to CUDA
© 2013 Rhonda Software: www.rhondasoftware.com

10
Effective Computer Vision
CV Algorithms Optimization
Rhonda engineers optimize computationally intensive algorithms for speed:
•

For the open source implementation of Viola and Jones Face Detector from
OpenCV it took 10 seconds to handle a 640x480 frame on I.MX31 ARM11. After the
optimization it takes 2 seconds for the same amount of input data, i.e. now it works 5
times faster

•

The same code on Intel P4 handled 2.72 frames per second before the optimization.
The optimized code makes 15 FPS, i.e. 5.5 times faster http://www.computer-visionsoftware.com/blog/2009/06/fastfurious-face-detection-with-opencv/

•

It took 4 days for Haar Training algorithm to create a cascade for the Viola and Jones
classifier on Intel Core 2 Duo. Parallel version of the algorithm developed in Rhonda
to work on a cluster of 11 computers do the same job 6.8 times faster (21 hour)
http://www.computer-vision-software.com/blog/2009/06/parallel-world-of-opencv/

•

For the open source implementation of SURF algorithm from OpenCV applied to bank
note recognition it took 4-12 seconds to handle a 640x480 frame on Intel P4. After the
optimization it takes 250-350 ms for the same amount of input data, i.e. now it works
16-34 times faster
© 2013 Rhonda Software: www.rhondasoftware.com

11
Thank You!

Andrey Mischenko
CEO, Rhonda Software
Mobile: +7(423)257-1008
E-mail: ceo@rhondasoftware.com

Denis Pomogaev
VP of Technology Innovations
Mobile: +1(224)715-1154
E-mail: dp@rhondasoftware.com

© 2013 Rhonda Software: www.rhondasoftware.com

12

Computer Vision Technology and Expertise

  • 1.
    Rhonda Software Computer Vision(CV) Experience Video analytics methods and algorithms dedicated for continuous image processing in fully-automated solutions
  • 2.
    Computer Vision -Area of Expertise Computer Vision is relatively new but most rapidly growing domain of Rhonda's expertise. Since 2007 Rhonda has been doing research and development in this area. As the mainstream of CV R&D, Rhonda has released two Audience Measurement products dedicated for accurate people counting (myAudience-Count) and precise audience demographics studying (myAudience-Measure). Rhonda Software also offers CV custom-oriented solutions in many other domains like: • Object/pattern recognition • Face detection • Face landmarks automatic mark-up • Human body detection & tracking • Face recognition. © 2013 Rhonda Software: www.rhondasoftware.com 2
  • 3.
    Beholder Computer VisionFramework Platform for Developing Applications in CV Domain • Cross-platform solution, active development under Linux and Windows • Continuous integration with overnight builds and automatic testing • Modular distributed architecture on top of ZeroMQ messaging platform and Google protocol buffers data serialization provides flexible allocation of system functions across system processing nodes (e.g. offloading CPU-consuming key-point extraction module from TI OMAP 3530 to Intel Atom-based notebook while keeping other modules on the same nodes was a matter of couple hours including rebuilding and testing) • Designed to work on low performance platform • Unit test available for all algorithms • Process real-time and prerecorded video © 2013 Rhonda Software: www.rhondasoftware.com 3
  • 4.
    Beholder Computer VisionFramework Analysis Stages & Algorithms • Analysis stages can be transferred between different modules based on unique solution requirements and hardware restraints. Background model Object tracking Feature Extraction Face detection Face Recognition Statistics and RDB Media presentation • Combination of existing algorithms gives advantage to achieving result Background Object tracking Face detection Feature Extraction Object recognition Image Enhancement Face Recognition/classification Media presentation Gaussian Color/Intensity based histograms Viola and Jones Statistical models: PCA/ICA Pattern-based recognition (Viola and Jones) Super resolution Hidden Markov Models IP stream Mean Shift Mean shift/Cam shift Face tracker GMM Feature-based recognition (SURF/SIFT) Deconvolution Neural-networks WEB KDE Key points/feature based tracking Morphological analysis Generalized Hough Transform, Hough Transform Capture using PTZ camera “3D” models Linux/QT applications Multiview tracking (Homography and cooperative tracking) TVL1 Contour-based detection ASM/AAM Windows applications Pattern maps Barcode detection /recognition AdaBoost/AdaSVM Windows Media Center Optical flow (Lucas–Kanade); Motion detection PTZ camera Laplacianfaces © 2013 Rhonda Software: www.rhondasoftware.com Gabor wavelets 4
  • 5.
    Computer Vision Technologies CVMethods in Our Area of Expertise • Background subtraction – subtracting objects from complex/moving background as part of object tracking/recognition • Overlapped object tracking – object tracking of overlapping objects • Multi-view tracking – tracking objects between different cameras • Object recognition – recognition of objects on complex background • Barcode detection and recognition – UPC-A Barcode recognition using video stream from regular camera © 2013 Rhonda Software: www.rhondasoftware.com 5
  • 6.
    Computer Vision Technologies CVMethods in Our Area of Expertise (continue) • Facial features extraction – locating facial features from video stream or still images • Face detection, tracking and recognition – including attention recognition • Demographic classification – age and gender recognition from video stream or still images • People/object counting – using top side view camera or horizontally positioned camera • Computer cluster for training algorithms – using dedicated cluster and MPI based applications to train and test algorithms © 2013 Rhonda Software: www.rhondasoftware.com 6
  • 7.
    Computer Vision Projects Examplesof Projects in CV Domain • Semiconductor Insight – electronic microscope image enhancement and de-blurring • En-Vision America vision impaired helper, based on Freescale I.MX31 ARM11 board: • Barcode detection and barcode recognition • Bank note recognition • Logo recognition • Face detection • Traffic monitoring system for major US photo enforcement company – traffic lights phase detection under various illumination and weather conditions • Rhonda audience measurement cross-platform solutions with support of attention detection, gender / age recognition: myAudience-Measure and myAudience-Count © 2013 Rhonda Software: www.rhondasoftware.com 7
  • 8.
    Computer Vision Solutions myAudience– Audience Measurement product details myAudience-Measure is an automated anonymous audience measurement product. It can be used both with Digital Signage vehicles and all kinds of static installations. This Computer Vision solution gathers statistical information about vehicle audience – i.e. it counts visitors in the camera’s field of view, recognizes gender, age group and attention of viewers. myAudience-Count is a bi-directional people traffic counter SW product that utilizes topmounted camera (USB and IP cams supported). myAudience-Count shares operational architecture, back-end server and software updates infrastructure with myAudienceMeasure using same OS, data storage and online Reports Portal. © 2013 Rhonda Software: www.rhondasoftware.com 8
  • 9.
    Computer Vision Embedded myAudience-Countported to FPGA-based platform One of the newest directions in research and development activities conducted by Rhonda Software concerns FPGA embedded platform and its potential in acceleration of computational intensive algorithms of Computer Vision technology. It was decided to start from porting the PC-based myAudience-Count SW product on Lattice HDR-60 board powered by ECP3 FPGA chip. 100% compatible solution was redesigned to fit on a single chip. Ported components include: Video capturing HDR-enabled module, HW-accelerated Video analytics pipeline, embedded Linux on new kernel, Web-server optimized for AJAX-requests and Ethernet controller implemented in programmable logic. © 2013 Rhonda Software: www.rhondasoftware.com 9
  • 10.
    Computer Vision Embedded DSPand GPGPU Development Most of Computer Vision algorithms are computationally intensive. Reduced CPU performance on compact and embedded systems brings developers to use DSP or GPU if available. DSP and GPU implementations may have specific limitations but save a lot of CPU power at the expense of additional hardware and significant code redesign. • Barcode Library on TI OMAP 3530 (Beagle Board), Angstrom Linux uses on-board DSP via DSP Bridge driver to preprocess source barcode pictures • Viola and Jones Face Detector from OpenCV library was ported to nVidia CUDA GPGPU. Now it can run on GPU in parallel with other algorithms running on CPU • Gaussian Background Subtraction algorithm was also ported to CUDA © 2013 Rhonda Software: www.rhondasoftware.com 10
  • 11.
    Effective Computer Vision CVAlgorithms Optimization Rhonda engineers optimize computationally intensive algorithms for speed: • For the open source implementation of Viola and Jones Face Detector from OpenCV it took 10 seconds to handle a 640x480 frame on I.MX31 ARM11. After the optimization it takes 2 seconds for the same amount of input data, i.e. now it works 5 times faster • The same code on Intel P4 handled 2.72 frames per second before the optimization. The optimized code makes 15 FPS, i.e. 5.5 times faster http://www.computer-visionsoftware.com/blog/2009/06/fastfurious-face-detection-with-opencv/ • It took 4 days for Haar Training algorithm to create a cascade for the Viola and Jones classifier on Intel Core 2 Duo. Parallel version of the algorithm developed in Rhonda to work on a cluster of 11 computers do the same job 6.8 times faster (21 hour) http://www.computer-vision-software.com/blog/2009/06/parallel-world-of-opencv/ • For the open source implementation of SURF algorithm from OpenCV applied to bank note recognition it took 4-12 seconds to handle a 640x480 frame on Intel P4. After the optimization it takes 250-350 ms for the same amount of input data, i.e. now it works 16-34 times faster © 2013 Rhonda Software: www.rhondasoftware.com 11
  • 12.
    Thank You! Andrey Mischenko CEO,Rhonda Software Mobile: +7(423)257-1008 E-mail: ceo@rhondasoftware.com Denis Pomogaev VP of Technology Innovations Mobile: +1(224)715-1154 E-mail: dp@rhondasoftware.com © 2013 Rhonda Software: www.rhondasoftware.com 12