Vision Algorithms for Embedded Vision
Most computer vision algorithms were developed on general-purpose computer systems with software written in a high-level language
Most computer vision algorithms were developed on general-purpose computer systems with software written in a high-level language. Some of the pixel-processing operations (ex: spatial filtering) have changed very little in the decades since they were first implemented on mainframes. With today’s broader embedded vision implementations, existing high-level algorithms may not fit within the system constraints, requiring new innovation to achieve the desired results.
Some of this innovation may involve replacing a general-purpose algorithm with a hardware-optimized equivalent. With such a broad range of processors for embedded vision, algorithm analysis will likely focus on ways to maximize pixel-level processing within system constraints.
This section refers to both general-purpose operations (ex: edge detection) and hardware-optimized versions (ex: parallel adaptive filtering in an FPGA). Many sources exist for general-purpose algorithms. The Embedded Vision Alliance is one of the best industry resources for learning about algorithms that map to specific hardware, since Alliance Members will share this information directly with the vision community.
General-purpose computer vision algorithms
One of the most-popular sources of computer vision algorithms is the OpenCV Library. OpenCV is open-source and currently written in C, with a C++ version under development. For more information, see the Alliance’s interview with OpenCV Foundation President and CEO Gary Bradski, along with other OpenCV-related materials on the Alliance website.
Hardware-optimized computer vision algorithms
Several programmable device vendors have created optimized versions of off-the-shelf computer vision libraries. NVIDIA works closely with the OpenCV community, for example, and has created algorithms that are accelerated by GPGPUs. MathWorks provides MATLAB functions/objects and Simulink blocks for many computer vision algorithms within its Vision System Toolbox, while also allowing vendors to create their own libraries of functions that are optimized for a specific programmable architecture. National Instruments offers its LabView Vision module library. And Xilinx is another example of a vendor with an optimized computer vision library that it provides to customers as Plug and Play IP cores for creating hardware-accelerated vision algorithms in an FPGA.
Other vision libraries
- Matrox Imaging Library (MIL)
- Cognex VisionPro
Upcoming Virtual Seminar Series Discusses Smart Devices That Understand and Seamlessly Communicate With the World Around Them
On June 2 (Communication), 3 (Connectivity and Sensing), 9 (AI and Vision), and 10 (Wireless Audio), Edge AI and Vision Alliance Member company CEVA will deliver a four-part virtual seminar series focusing on how to create smart devices that understand the world around them and seamlessly communicate. Also included in the event, and available in
Unified Programming Model Critical to Uncompromised Application Performance, Saves Time and Money, Study Finds
What’s New: New computing accelerators are rapidly emerging, and organizations need to examine time and financial considerations associated with developing performance-sensitive applications that can run on both new and existing computing platforms. Commissioned by Intel, a recent research report from J.Gold Associates, “oneAPI: Software Abstraction for a Heterogeneous Computing World,” discusses the importance of application
This article was originally published at NVIDIA’s website. It is reprinted here with the permission of NVIDIA. Supervised training of deep neural networks is now a common method of creating AI applications. To achieve accurate AI for your application, you generally need a very large dataset especially if you create… Training with Custom Pretrained Models
This blog post was originally published at SLAMcore’s website. It is reprinted here with the permission of SLAMcore. The three most challenging questions in autonomous robotics are: where am I? how far away are the objects around me? and, what are those objects? The vast majority of robot failures stem from an inability to answer
Provisional Specifications publicly available today for industry feedback Enhanced deployment flexibility sets stage for new pervasively available core functionality IWOCL – April 27, 2020 – 6:00 AM GMT – Today, The Khronos® Group, an open consortium of industry-leading companies creating advanced interoperability standards, publicly releases the OpenCL™ 3.0 Provisional Specifications. OpenCL 3.0 realigns the OpenCL
This blog post was originally published at Codeplay Software’s website. It is reprinted here with the permission of Codeplay Software. Software developers are looking more than ever at how they can accelerate their applications without having to write optimized processor specific code. SYCL is the industry standard for C++ acceleration, giving developers a platform to
This blog post was originally published at Intel’s website. It is reprinted here with the permission of Intel. As a student pursuing a doctorate in systems design engineering at the University of Waterloo, Alexander Wong didn’t have enough money for the hardware he needed to run his experiments in computer vision. So he invented a
This article was originally published at NVIDIA’s website. It is reprinted here with the permission of NVIDIA. This is an updated version of How to Speed Up Deep Learning Inference Using TensorRT. This version starts from a PyTorch model instead of the ONNX model, upgrades the sample application to use… Speeding Up Deep Learning Inference
This article was originally published at NVIDIA’s website. It is reprinted here with the permission of NVIDIA. The Virtual Reality (VR) industry is in the midst of a new hardware cycle – higher resolution headsets and better optics being the key focus points for the device manufacturers. Similarly on the software front, there has been
This article was originally published at MathWorks’ website. It is reprinted here with the permission of MathWorks. What Is Object Recognition? Object recognition is a computer vision technique for identifying objects in images or videos. Object recognition is a key output of deep learning and machine learning algorithms. When humans look at a photograph or
This article was originally published at NVIDIA’s website. It is reprinted here with the permission of NVIDIA. Every year, clever researchers introduce ever more complex and interesting deep learning models to the world. There is of course a big difference between a model that works as a nice demo in… Accelerating WinML and NVIDIA Tensor
This article was originally published at NVIDIA’s website. It is reprinted here with the permission of NVIDIA. Starting with TensorRT 7.0, the Universal Framework Format (UFF) is being deprecated. In this post, you learn how to deploy TensorFlow trained deep learning models using the new TensorFlow-ONNX-TensorRT workflow. Figure 1 shows… Speeding Up Deep Learning Inference
Gary Bradski, the President and CEO of OpenCV.org, delivers the presentation “OpenCV: Past, Present and Future” at the Edge AI and Vision Alliance’s March 2020 Vision Industry and Technology Forum. Bradski shares the latest developments in the OpenCV open source library for computer vision and deep learning applications, as well… “OpenCV: Past, Present and Future,”
Maximize CPU Inference Performance with Improved Threads and Memory Management in Intel Distribution of OpenVINO Toolkit
This blog post was originally published at Intel’s website. It is reprinted here with the permission of Intel. The popularity of convolutional neural network (CNN) models and the ubiquity of CPUs means that better inference performance can deliver significant gains to a larger number of users than ever before. As multi-core processors become the norm,
WhisPro™ speech recognition software for voice wake words and custom command models now available with open source TensorFlow Lite for Microcontrollers implementing machine learning at the edge TensorFlow Lite for Microcontrollers from Google is already optimized and available for CEVA-BX DSP cores, accelerating the use of low power AI in conversational and contextual awareness applications
This article was originally published at MathWorks’ website. It is reprinted here with the permission of MathWorks. 3 Things You Need to Know Object detection is a computer vision technique for locating instances of objects in images or videos. Object detection algorithms typically leverage machine learning or deep learning to… What Is Object Detection? Register