A co-processed contour tracing algorithm for a smart camera

This paper describes a new approach for a contour-tracing algorithm targeting a low-power smart camera for industrial inspection. This embedded system consists of the three major components: CMOS sensor, FPGA and microprocessor. By analysing a linear-time algorithm used for simultaneously labelling connected components and their contours, two independent tasks could be identified. By efficiently assigning these two parts to the FPGA and the microprocessor achieving high-speed real-time operation is possible. The novelty of the proposed method is the development of a sequential co-processing algorithm for the FPGA. A Contour-Neighbourhood 3 × 3 filter kernel for converting the grey-level data to an intermediate representation containing directional information was added into an FPGA image-processing design. This pre-processed data is then provided to a software component which is executed on a microprocessor. The final result of this analysis is a sorted list of contour points for each object in the image. Further increases of the data throughput and the workload of the hardware resources are achievable by pipelining the subtasks of consecutive images. The runtime behaviour of this parallel operation is sufficient for meeting the real-time requirements of an industrial 2D measurement system.

[1]  Aishy Amer,et al.  Sequential, Irregular and Complex Object Contour Tracing on FPGA , 2007, 2007 IEEE International Conference on Image Processing.

[2]  Hugo Hedberg,et al.  Image Processing Architectures for Binary Morphology and Labeling , 2008 .

[3]  T. Pavlidis Algorithms for Graphics and Image Processing , 1981, Springer Berlin Heidelberg.

[4]  Donald G. Bailey,et al.  Optimised single pass connected components analysis , 2008, 2008 International Conference on Field-Programmable Technology.

[5]  Chun-Jen Chen,et al.  A linear-time component-labeling algorithm using contour tracing technique , 2004, Comput. Vis. Image Underst..

[6]  Chun-Jen Chen,et al.  A component-labeling algorithm using contour tracing technique , 2003, Seventh International Conference on Document Analysis and Recognition, 2003. Proceedings..

[7]  Azriel Rosenfeld,et al.  Digital Picture Processing , 1976 .

[8]  Thomas Berndorfer,et al.  High-speed JPEG coder implementation for a smart camera , 2006, Journal of Real-Time Image Processing.

[9]  Yianni Attikiouzel,et al.  An improved algorithm for border following of binary images , 1989 .

[10]  Keiichi Abe,et al.  Topological structural analysis of digitized binary images by border following , 1985, Comput. Vis. Graph. Image Process..

[11]  B. Hoppe,et al.  Development of a FPGA Based Real-Time Blob Analysis Circuit , 2007 .

[12]  Viktor Öwall,et al.  Implementation of a Labeling Algorithm based on Contour Tracing with Feature Extraction , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[13]  Theo Pavlidis,et al.  Algorithms for Graphics and Imag , 1983 .

[14]  Aishy Amer,et al.  A real-time implementation of chaotic contour tracing and filling of video objects on reconfigurable hardware , 2007, 2007 IEEE International Conference on Systems, Man and Cybernetics.