Bookmark and Share

Challenges to Embedding Computer Vision

Register or sign in to access the Embedded Vision Academy's free technical training content.

The training materials provided by the Embedded Vision Academy are offered free of charge to everyone. All we ask in return is that you register, and tell us a little about yourself so that we can understand a bit about our audience. As detailed in our Privacy Policy, we will not share your registration information, nor contact you, except with your consent.

Registration is free and takes less than one minute. Click here to register, and get full access to the Embedded Vision Academy's unique technical training content.

If you've already registered, click here to sign in.

See a sample of this page's content below:

By J. Scott Gardner 
April 8, 2011


To read this article as a pdf file, click here.

For many of us, the idea of computer vision was first imagined as the unblinking red lens through which a computer named HAL spied on the world around itself in 2001: A Space Odyssey (Arthur C. Clark and Stanley Kubrick, 1968).  The computers and robots in science fiction are endowed with vision and computing capabilities that often exceed those of mere humans.  Researchers in computer vision understand the truth: computer vision is very difficult, even when implemented on high-performance computer systems.  Arthur C. Clarke underestimated these challenges when he wrote that the HAL 9000 became operational on January 12, 1997.  As just one example, HAL was able to read the lips of the astronauts, something not yet possible with modern, high-performance computers. While the HAL 9000 was comprised of hundreds of circuit boards, this article takes the computer vision challenges to the world of embedded systems.  The fictional Dr. Chandra would have been severely constrained if trying to design HAL into a modern embedded system.  Yet, embedded vision systems are being built today, and these real-world successors of HAL meet the unique design constraints that are critical for creating successful embedded products.

Why is Computer Vision so Difficult?

Figure 2 Rendered 3D Scene with occluded objects. Source: Wiki CommonsComputer vision has been described as “inverse 3D graphics”, but vision is orders of magnitude more difficult than rendering a single 2D representation of a 3D scene database viewed through a virtual camera.  In 3D graphics, the computer already knows about the objects in the environment and implements a “feed-forward” computation to render a camera view. In computer vision, an observed scene must be analyzed to build the equivalent of a scene database which must correctly identify the characteristics of the objects in the scene.  An embedded computer needs to enhance the image and then make inferences to identify the objects and correctly interpret the scene.

However, vision systems don’t have perfect information about a scene, since the camera field of view will often include occluded objects. It would be very difficult to computationally recreate a 3D scene...