| Literature DB >> 22163406 |
Ignacio Bravo1, Manuel Mazo, José L Lázaro, Alfredo Gardel, Pedro Jiménez, Daniel Pizarro.
Abstract
This paper presents a complete implementation of the Principal Component Analysis (PCA) algorithm in Field Programmable Gate Array (FPGA) devices applied to high rate background segmentation of images. The classical sequential execution of different parts of the PCA algorithm has been parallelized. This parallelization has led to the specific development and implementation in hardware of the different stages of PCA, such as computation of the correlation matrix, matrix diagonalization using the Jacobi method and subspace projections of images. On the application side, the paper presents a motion detection algorithm, also entirely implemented on the FPGA, and based on the developed PCA core. This consists of dynamically thresholding the differences between the input image and the one obtained by expressing the input image using the PCA linear subspace previously obtained as a background model. The proposal achieves a high ratio of processed images (up to 120 frames per second) and high quality segmentation results, with a completely embedded and reliable hardware architecture based on commercial CMOS sensors and FPGA devices.Entities:
Keywords: CMOS sensor; FPGA; PCA; image processing; object detection
Mesh:
Year: 2010 PMID: 22163406 PMCID: PMC3230973 DOI: 10.3390/s101009232
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1.Block diagram of the internal architecture of the FPGA.
Figure 2.Block diagram of the PCA algorithm implemented on an FPGA.
Figure 3.Block diagram of the proposed circuit for calculating the mean (Ψ) of the M captured images.
Figure 4.Block diagram of the modules of the design in VHDL of the on-line stage of the PCA.
Figure 5.Proposal for the system consisting of the construction of the MD, detection of new objects and the updating of the background model.
Figure 6.Example of histogram construction of the maximum of the columns for an average map of distances (MD).
Figure 7.Block diagram on an FPGA of the dynamic threshold calculating system for detecting new objects.
Description of the partial times of TPCA_TOTAL.
| TGEN_WR_U | Time the FPGA takes to generate and write in SDRAM the eigenvectors of the matrix |
| TIMAGE | Time employed in capturing a new image and its subsequent writing in SDRAM. |
| LMEM | Latency of the SDRAM memory, from the time it gives the order to read an image until the first data is received. |
| TOBJ | Time consumed in detecting new objects after the recovered image ( |
Figure 8.Ratio of images achieved per second with b ≠ 1.
Summary of all the resources consumed by the entire developed system on a XC2VP7.
| 4225 (86%) | 40 (91%) | 43 (98%) | 112,4MHz |
Figure 9.Sequence of images captured to determine new objects.
Figure 10.Sequence of images detected to determine a new object from those captured in Figure 9.