au-zone ecv sdk sdk v1.1 product brief.pdf · the ecv sdk itself is comprised of an extensive list...
TRANSCRIPT
eCV SDK for embedded Computer Vision
Au-Zone Technologies Inc. [Summer 2015]
Professional Development tools and GPU acceleration for embedded Computer Vision on constrained devices.
1
Research in the field of computer vision has been underway for decades and has resulted in the creation of some truly amazing products as well as large bodies of work and related algorithm implementations. Depending on complexity, these algorithms are often used to post process video on desktop machines or large servers. With the introduction and commoditization of several key technologies including CMOS Image Sensors, multicore mobile CPU’s and parallel processors such as GPU’s, FPGA’s and purpose built image processors, it is now becoming practical to migrate many of these computer vision algorithms from desktop machines and servers to mobile devices and deeply embedded hardware platforms. Often, these algorithms can be adapted to execute on these constrained platforms to provide real time analytics results and metadata streams without ever transmitting any video to the server. While many useful examples of this technology exist today, developers are continuing to aggressively explore the full range of applications and expand the boundaries of practical implementations. The best-known examples are gesture recognition systems such as the KinectTM from Microsoft for gaming, and Advanced Driver Assistance Systems (ADAS) for lane departure warning and blind spot detection in vehicles.
2
Au-Zone’s embedded Computer Vision SDK has been developed specifically to enable developers to create or migrate these types of vision algorithms from desktop machines to embedded platforms. This allows our customers to rapidly develop and introduce advanced, vision enabled features into their products without having to bother with the low level software required to make these implementations practical on constrained devices.
The eCV SDK itself is comprised of an extensive list of accelerated computer vision primitives, algorithms and development tools. The primitives and tools are purpose built for embedded Computer Vision algorithms, and have been thoroughly optimized and tested – saving you the time and effort of performing these tasks. Many of the primitives have direct OpenCV equivalents and with the eCV toolkit users can expect to see between 2-10x improvements in execution time without any changes to the algorithm.
Whether you’re starting your algorithm development from a clean sheet, a Matlab model or a pre-existing OpenCV prototype, the eCV SDK will help you migrate and optimize your implementation directly for your specific embedded hardware platform.
The eCV SDK provides developers with the necessary tools and resources to shorten development time while significantly improving the performance of Computer Vision algorithms on GPU enabled embedded processors.
SOFTWARE DEVELOPMENT
• Documented API
• C/C++, Java, Python, JavaScript
• Graphical Pipeline Builder (Beta)
eCV RUNTIME SERVICES
• Web Services Manager
• GPGPU Memory Manager
• Camera Manager
• Algorithm Manager
ACCELERATED VISION ALGORITHMS
• Background subtraction
• Blob detection and tracking
• Object detection & classification
• Optical Flow, DIFF, MOG2, HOG, SVM, AMF
• Multi camera surround view
Smart Camera Platform
Freescale i.MX6 OpenGLES
Vivante GC2000 3D GPUImage Processing Unit
Cortex-A9 NEON
eCV Toolkit Services
Camera Manager Algorithm Services
Customer Applications
eCV Toolkit Primitives
Morphology Segmentation HOG/SVM
Third Party Libraries
OpenCV
Eigen
Qt Framework
ACCELERATED VISION PRIMITIVES
• Lens Distortion Correction (LDC)
• Colour space conversions
• Image optimization & transforms
• Arithmetic functions
• Filters (Sobel, blur, dilate etc)
• Image morphology
THIRD PARTY LIBRARY SUPPORT
• OpenCV 2.4
• OpenGL|ES 3.0
• OpenVG and OpenCL
• GStreamer Plugin Framework
• Qt Framework Integration
• Eigen (C++ library)
• ROS Interface
INTEGRATED DEVELOPMENT ENVIRONMENT
• Yocto & Ubuntu based build environments
• Device drivers, System components and Libraries
• Develop on desktop or directly on target
• Integration with standard OpenGL desktop tools
• Visual debugging & profiling
CODE / ALGORITHM DEVELOPMENT OPTIONS
• Direct OpenCV integration and support
• Python, C / C++
• Graphical Pipeline Builder (Beta)
• Metadata formatting and publishing
DEVELOPMENT TOOLS & INTEGRATIONS
• GCC/ CLang on Linux
• VisualStudio for Windows
• Remote target debug
• Real-time, on target algorithm profiling
SYSTEM TEST AND OPTIMIZATION
• Public and proprietary datasets
• Proven test methodologies and tools
• Automated regression tests and instrumentation
PROCESSOR SUPPORT
• Freescale i.MX6 Dual and Quad
• Additional processors to be announced in June
The SDK comes with all the components you will need to port and optimize existing algorithms or develop new ones purpose built for the embedded target.
OBJECT & PEDESTRIAN DETECTION
• Detection, classification, counting & tracking
• Trajectory estimation and object avoidance
• Size and distance approximation
MULTI-SENSOR FUSION
• Multi camera object tracking and reacquisition
• Multispectral data fusion (Visible, Near Ir and Ir)
• Multimodal (CMOS, 3D, Thermal, Lidar, other)
PATTERN RECOGNITION
• License Plate Recognition (LPR)
• Optical Character Recognition (OCR)
The eCV SDK, tools and libraries can be used to assist with the development of many different classes of embedded Computer Vision solutions. Several examples below
ACTIVITY RECOGNITION
• Multi-camera / multi-zone tracking
• Pose & gaze estimation
• Gesture and behavior analysis
FACIAL AFFECT INTELLIGENCE
• Engagement, sentiment, emotion, valence
• Demographic estimation
• Group Dynamics
v0.1.2 2015—05-01
eCV SDK
DEVELOPMENT TOOLS for
EMBEDDED COMPUTER VISION
Au-Zone Technologies 114, 1215 13th St St Calgary, Alberta, T2G 3J4
www.au-zone.com