Beruflich Dokumente
Kultur Dokumente
I. INTRODUCTION
Robotic systems are becoming smaller, lower power,
cheaper, enabling their application in areas previously
impossible and this is also true of the vision system. There
are many relatively simple computer algorithms which
have been proved to be extremely useful in a variety of
applications, [1], [4], [6], [7]. However, the hardware to
implement them is usually complex and expensive.
Traditionally, these systems comprise a camera, a frame
grabber, and a powerful computer to interface the frame
grabber and execute algorithms. Recent developments of
low cost CMOS color camera modules and high speed
microcontrollers make it possible to build a simpler and
cheaper system. [2] The well-known CMUCAM2 which
utilizes an Omnivision OV6620 CMOS camera, Ubicom
SX52 microcontroller operating at 75 MHz and a frame
buffer chip AL422B is a considerable advance and
H.N. Nguyen and K.J. Lin are with the Department of
Mechanical Engineering, Southern Taiwan University of
Technology, Taiwan, Email: M951Y205@webmail.stut.edu.tw
17.7344 Mhz
Y bus
O
V
v6
6
2
0
SCL
Atmega64
Port C
UV bus
Port A
VSYNC
Ext2
HREF
Ext3
PCLK
SDA
UART Tx
Max232
UART Rx
Color
arrays
stored in
EEPROM
Timer/counter1
SDA
SCL
SDA
SCL
Reset
Atmega8535
the orange class but not blue. In our system, each array
has 256 elements and each element is a 8-bit integer. It is
therefore possible to evaluate membership of 8 colorful
objects at once with two AND operations. This requires
8-bits resolution for each color channel and 256x3 bytes
EEPROM to store 3 color channel arrays.
Connected Region. [4]After the various color pixels have
been classified, connected regions are formed by
examining the classified pixels. In many robotic vision
applications significant changes in adjacent image pixels
are relatively infrequent. By grouping similar adjacent
pixels as a single run we can compute a run length
encoded (RLE). The merging procedure scans adjacent
rows, columns and merges runs which are of the same
color class and overlap under four-connectedness. Each set
of runs pointing to a connected region.
C. Interface:
As referred above, the main processor is connected
directly to the camera module. It acquires each pixel block
(R, G, B), performs the mapping into an actual color,
compute RLE, and store the information into a buffer. No
polling of the camera data needs to be done because this
interface is synchronized with the pixel data (OV6620 and
the mega64 use the same clock source). Here is a pixel
block:
...G G G G... (row x)
...B R B R... (row x+1)
[5]A pixel block is defined as a continuous group of
4 pixels that are combined together to form a specific color.
Typically, this is formed by sampling a green value,
followed by a red and blue value (since we are dealing
Bayer color data). As pixel blocks are sampled, the red,
green, and blue values are used to index into their
respective color arrays. The color arrays return values that
can be logically AND together so that a particular RGB
triplet will result in a single bit being set after the AND
operation. This single bit indicates which color be set after
the AND process. It is also possible for no bits to be set
after the AND process, indicating that the RGB triplet does
not map to any of the colors configured in the color arrays.
Our system can communicate with a PC via the standard
9-pin serial port. We can command the camera to take full
resolution snapshots (176 x 144 pixels) and analyze them
to determine the colors that are present in the captured
image. Then we build the color arrays, to indicate which
colors the system should track by selecting the colors in the
image. Once all the colors have been selected, the color
arrays will be sent down to the system via the serial port.
D. Results
Our final embedded vision system operates at a
maximum rate of 30 frames per second with the image
resolution of up to 88x144 pixels, providing real-time
tracking statistics (number of objects, color, bounding box,
and more) through a standard serial port (UART). The
consumption power is low, 100mA, 5V at full speed. The
system also can take full-color snapshot (176x144) and
displays in raw Bayer data or interpolated data. The results
III. CONCLUSION
The goal of this work is to implement simple
embedded vision system consuming low power to replace
fairly complicated, expensive system that is out of reach
for many developers who have moderate image processing
requirements. The feasibility is demonstrated with the
ability of tracking color objects at the real time speed 30
frames/second. In the future, we will need to apply the
system to some specific applications to evaluate the
performance of the system in various lighting conditions.
We would also add some more functionality to the system
such as the ability so support QCIF data because this is the
fastest stream that a small micro can keep up with in real
time, increasing the image resolution, and image
processing speed.
R EFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
Fig. 3 Embedded vision system hardware.
[8]
[9]