used. Figure 11 shows the variation of the
throughput (megapixels/second) as a function of the
rotation angle, measured at a 75 MHz frequency
(memory controller operating at the same
frequency).
Figure 11: The throughput of the image reader as a
function of image rotation angle at a frequency of 75
MHz.
The variation of the throughput is 14% of the
maximum value, with a minimum of 43 Mb/s
(obtained at 150
0
and 210
0
) and a maximum of 50.6
Mb/s (for 90
0
and 270
0
). It can also be noticed that
the performance for a 0
0
angle is less than the one
obtained at 90
0
. The reason is that, in the first case,
when a cache miss is found, two read operations
(corresponding to words 1 and 3 of the cache) are
requested at once by the Command Generator and
the cache must stall for one clock cycle, to perform
the second read. In the second case, a miss will
usually generate one read operation (words 2 and 3),
and will not stall the pipeline (with the exception
being the situation in which the window is in the
middle of the cache - offset 3 - in which both words
2 and 3 will require reading).
6 CONCLUSIONS AND FUTURE
WORK
A flexible and scalable solution has been developed
for the problem of image rectification, providing
real-time results with configurable parameters such
as: image resolution, number of precision bits to be
used in calculus. The possible window movement
directions can be freely configured as to reduce chip
area usage and increase accepted clock frequency.
Image quality results proved to be very close to
the ones obtained using a reference software
implementation. The description was made
independent of the underlying technology, though it
can be ported easily on other platforms.
The processing time is very small, but the
transfer of images through the PCI bus proved to be
the weakest part (tests were performed with a slow
FPGA from VirtexE family). A solution to eliminate
such inconvenience would be to link the camera
directly to the FPGA board and implement, inside
the chip, an architecture which knows the
communication protocol with the camera. In this
way, only resulting images will have to be
transferred through the PCI, thus saving a lot of
time.
An alternative solution to be investigated in the
future consists in replacing the Coordinate Generator
and 2-D Transformation blocks with a lookup table
containing (with sub-pixel precision) the position in
original image, of each pixel from rectified image.
In this case the memory workload will increase
inefficiently, though several SDRAM/SRAM
modules would be needed to avoid such
inconvenience. On the other hand, a lookup table
based system might be used for more complex
processes, like image rectification combined with
image un-distortion or ground plane stereo-
correction, which require extremely complex
operations, difficult to be implemented in a fast
pipeline fashion.
REFERENCES
Fusiello, A., Trucco, E. & Verri, A. (1997). Rectification
with unconstrained stereo geometry. In Proceedings of
the British Machine Vision Conference. University of
Essex, BMVA Press. pp. 400-409.
Woodfill, J., Herzen B. (1997). Real-time stereo vision on
the parts reconfigurable computer. In IEEE Workshop
on FPGAs for Custom Computing Machines, pp. 242-
252.
Fusiello, A., Trucco, E. & Verri, A. (1998a). Rectification
with unconstrained stereo geometry. Research
Memorandum RM/98/12. Edinburgh, Department of
Computing and Electrical Engineering, Heriot-Watt
University.
Fusiello, A. (1998b). Tutorial on rectification of stereo
images. In R. Fisher, editor, CVonline: On-Line
Compendium of Computer Vision [Online]. Available:
http://www.dai.ed.ac.uk/CVonline/
Fusiello, A., Trucco, E. & Verri, A. (2000). A compact
algorithm for rectification of stereo pairs. Machine
Vision and Applications, 12(1):16-22.
Woodfill, J.I., Gordon, G., Buck R. (2004). Tyzx DeepSea
High Speed Stereo Vision System. In Proceedings of
the IEEE Computer Society Workshop on Real Time 3-
D Sensors and Their Use, Conference on Computer
Vision and Pattern Recognition. Washington D.C.
Jia, Y., Zhang, X., Li, M. & An, L. (2004). A Miniature
Stereo Vision Machine (MSVM-III) for Dense
Disparity Mapping. In Proceedings of the 17
th
International Conference on Pattern Recognition.
Cambridge. Volume 1, pp. 728-731.
VISAPP 2006 - IMAGE FORMATION AND PROCESSING
100