Home

Caltech
Center for Neuromorphic Systems Engineering

Home
Research
News
People

[back]

VLSI for feature detection and tracking
Christophe Basset, Bedabrata Pain (JPL), Pietro Perona

Abstract. We are developing an integrated visual tracking system. The goal of this collaborative work with the Jet Propulsion Laboratory is a single chip serving as a camera (1024x1024 pixel imager array) able to find and track a small (7x7 pixel) target whose image has previously been provided by the user.

Motivation. A system capable of tracking any target in real-time in an unknown environment finds numerous applications: object avoidance or interception, autonomous navigation (machine vision, nano-rovers, robots, docking...), recognition (tracking of eyes, nose...), etc. A hardware implementation is very well suited for such real-time vision systems. A software-based approach would lack miniaturization (need of a camera, a computer with a frame grabber) and would run too slowly (~1 frame/second) for most of these applications requiring a real-time flow of data.

The on-going collaboration with the Jet Propulsion Laboratory has brought to this project expertise in Active Pixel Sensors. This CMOS technology for building imager chips allows on-focal plane signal processing (as opposed to their CCD counterparts that need to serially output the flow of pixels to an external processing chip). The tracking can therefore be implemented as a fast, low-power analog circuit.

Research and Achievements.
Tracking is achieved by matching a template to an image. The chip has an integrated imager array and a 7x7 pixel digital memory to store the template. The template is chosen off-chip through a separate learning process. This part will therefore not be discussed here. The initial "best match" is located during a slow scan of the entire imager array (anticipated size of 1024x1024 pixel) allowing us to restrict the search for the following frames to a smaller, 25x25 pixel sub-window.

At each frame, the template is to be correlated with the search window. The highest correlation response is determined in a decision-maker circuit. This feeds back to an addressing unit that moves the search window, ensuring that it remains centered on the target. Below is the block diagram of the feature-tracking chip.


The core of the tracking system relies on a 7x7 pixel cell whose task is to perform a correlation. The image provided by the array reaches the correlating block one row at a time. Hence, the 25x25 pixel search window can be processed by only 25 correlating blocks operating in parallel. Each of these cells computes the matching between the analog image (I) and the template (T):

The image is fed to the correlating block one row at a time (making the system parallel in this direction). By implementing a series of delay lines (shown below), we can reconstruct the complete 25x25 correlation map in 25 cycles (one image line processed in parallel per cycle).



The imager provides the pixels as analog currents to the correlator while the template comes as 8-bit digital lines. Correlation is obtained by mirroring and scaling the image currents (binary-scaled: by x2, x4, x8...). The scaled currents are dumped, through switches controlled by the template bits, into capacitors for read-out. To keep the transistors from getting too large (the most significant bit would be 128 times bigger than the least significant bit), the template is divided into two halves (mirrors scaled x1 to x8 each) and dumped into the accumulating capacitors with different integration times (50ns and 800ns respectively).


A first prototype of the correlator chip was built and tested. It consists of a 64x64 pixel imager array, a 49-byte digital memory to store the template, and a single 7x7 pixel correlating cell tied to the center of the image. Preliminary results demonstrated a correlation and allowed identification of adjustments to be made for the next fabrication run. Below is a photograph of the chip placed on the test board.


This project is currently in the next phase. The goal is now to complete the functional circuits. This includes normalizing the correlation (necessary to be able to track the target accurately) and making a decision (ie. finding the highest correlation from the computed 25x25 correlation map).

An effort is also being made to explore other circuits for performing the correlation (with improved performance in terms of spped, accuracy, size of the circuit...) as well as alternate template-matching techniques.


top