Computer vision enables many new applications. Self-driving cars, gesture user interfaces, augmented reality, face analysis, and better picture-taking experiences all depend on smart image analysis. This image analysis requires high performance image processing capabilities, which CPUs and GPUs cannot provide. The videantis v-MP4000HDX processor architecture is ideally suited for a wide range of embedded vision applications. Performance improvements of 100x and power reductions of 1000x are typical when comparing against CPUs or GPUs, allowing always-on, deeply embedded, lower power and low cost applications.
While computer vision is a relatively new field, we’ve been shipping our vision solutions for over 10 years. Our comprehensive computer vision acceleration libraries include seamless acceleration for APIs such as OpenCV and OpenVX. In addition, proprietary algorithms can be optimized for our architecture using our state-of-the-art toolchain and prototyped on our hardware development platforms.
Computer vision acceleration
We accelerate a large set of image processing functions, seamlessly offloading the host CPU. Examples of vision functions that are available for the v-MP4000HDX architecture:
- Object detection (Haar/Adaboost, HOG/SVM, CNN)
- Optical flow (Lucas Kanade, sparse, dense)
- Structure from motion to capture 3D data using a 2D camera
- Feature detection and description (Harris, MinEigenVal, etc.)
- Image resizing and pyramid generation
- Edge and line detection (Canny, Hough)
- Image operations (add, sub, absdiff, average)
- Logical image operations (and, or, xor)
- Filtering (dilate, erode, Laplace, Sobel, Gaussian)
- Image transforms, (affine transform, warp)
- Color conversion (RGB to HSV, RGB to gray)
- Histogram operations
The videantis OpenCV library is an adaption of the publicly available open source computer vision library OpenCV, with additions to speed up processing of the OpenCV API functions on systems that have a videantis processor IP integrated. For these accelerated API functions, either the complete processing or parts of the processing are offloaded from the host processor and executed on the videantis subsystem, using optimized firmware. The optimized OpenCV library is scalable, running on multiple cores in parallel.
In the videantis library implementation, the full OpenCV library can run natively on the Host CPU, which means that already existing OpenCV applications can be compiled and will execute completely on the Host CPU. The videantis OpenCV library contains a large set of accelerated functions, which are processed by firmware running on the cores of the v-MP4000HDX subsystem.
The videantis v-MP4000HDX processor architecture supports acceleration of the OpenVX primitives, resulting in a low-power, high-performance embedded vision system. OpenVX is a standardized, royalty free, and open API for computer vision acceleration, developed by the Khronos Group. Compared to OpenCV, OpenVX is a smaller library with fewer image-processing functions, but is standardized, which warrants portability of the software from one system to another. In contrast to OpenCV, OpenVX uses a graph manager, which can greatly reduce the amount of memory read and write operations, further saving power and increasing performance.