Desenvolvimento de ferramentas via FPGA para leitura e processamento de imagens em tempo real

Filipe Sacchi da Silva, Herman Pessoa Lima Júnior, Márcio Portes de Albuquerque

Resumo


As FPGAs devido a seu processamento paralelo e confiabilidade são uma escolha interessante para processamento de imagens em situações onde é necessário processamento em tempo real com altas taxas de execução dos algoritmos. O desenvolvimento deste tipo de abordagem cria a necessidade de se desenvolver mecanismos para transmissão das imagens entre computadores ou câmeras e os FPGAs. Assim, neste trabalho, a partir de uma plataforma da Altera, e da linguagem de programação gráfica LabVIEW, foi elaborado um sistema capaz de realizar o gerenciamento e transferência de um conjunto de imagens entre um computador e memórias embarcadas em um FPGA, através do barramento PCI Express. O sistema foi avaliado quanto a integridade e velocidade de transmissão dos dados, onde obteve-se uma taxa de 48,91 MBytes/segundo o que resulta em 1643 imagens/segundo transmitidas para o FPGA. Conforme apresentado, estes resultados obtidos devem ser analisados considerando as características de todos os elementos, hardware e software, que constituem o sistema de transmissão de imagens. O desenvolvimento e entendimento das características de tempo e confiabilidade deste processo de transmissão constituem um primeiro passo para a aplicação de algoritmos de processamento de imagens embarcadas em FPGA.

Palavras-chave: Processamento de imagens, tempo real, FPGA, PCIe

 

Abstract: FPGAs due to their reliability and parallel processing are an interesting choice for image processing in situations where real-time processing with high rates of execution of algorithms is necessary. The development of this approach creates the need to develop mechanisms for transmission of images between cameras or computers and FPGAs. In this paper, with Altera Platform, and the graphical system design language LabVIEW, a system that can control, manage and transfer images between a computer and embedded memories, through the PCIe bus, was developed. The system was evaluated for completeness and speed of data transmission, where was obtained a rate of 48.91 MBytes /second resulting in 1643 images/second transmitted to the FPGA. As presented, these results should be analyzed considering the characteristics of all elements, hardware and software, that constitute the system of transmitting images. The development and understanding of time and reliability characteristics of the image transmission process is a first step for the application of image processing algorithms embedded in FPGA.


Key-words:
Image processing, real-time, FPGA, PCIe


Texto completo:

PDF

Referências


M. Portes de Albuquerque, A. Murari, M. Giovani, N. Alves, M. Portes de Albuquerque, “A 10000 image per second parallel algorithm for real time detection of Marfes on Jet”, IEEE Trans. Plasma Sci., vol. 41, no. 2, pp. 341–349, Feb.2013

A.Downton and D.Crookes, "Parallel architectures for image processing", Electronics & Communications Engineering Journal, pp. 139-151, June 1998.

P. E. McKenney, “‘Real Time’ vs. ‘Real Fast’: How to choose?” in Proc. 11th Real-Time Linux Workshop, Dresden, Germany, Sep. 2009, pp. 1–1[4] Lewis F., Shuzhi G., “Autonomous Mobile Robots”, Taylor & Francis Group, 1st Edition, 2006

D. Bailey,”Design for Embedded Image Processing on FPGAs”, John Wiley & Sons, 1st edition, 2011

D. Nguyen, D. Halupka, P. Aarabi and A. Sheikholeslami, "Real-time face detection and lip feature extraction using field-programmable gate arrays", IEEE Trans. Syst. Man Cybern. B, Cybern., vol. 36, no. 4, pp.902 -912, 2006.

T.Cao, D. Elton, G. Deng, “Fast buffering for FPGA implementation of vision-based object recognition systems”, Journal of Real-Time Image Processing, no. 7, pp.173-183, 2012.

S. Palazzo, A. Murari, G. Vagliasindi, P. Arena, D. Mazon, A. De Maack, “Image Processing with Cellular Nonlinear Networks Implemented on Field-Programmable Gate Arrays for Real Time Applications in Nuclear Fusion”, EFDA–JET–PR(10)01, [Online], Disponível: http://www.iop.org/Jet/fulltext/ EFDP10001.pdf.

G. M. de Souza, “Paralelismo computacional de processamento digital de imagens aplicado à detecção de MARFEs no JET”. Rio de Janeiro, 2013. Dissertação (Mestrado), Mestrado em Instrumentação Científica, Centro Brasileiro de Pesquisas Físicas.

M. Portes de Albuquerque, M. P. de Albuquerque, G. Chacon, E.L. de Faria, A. Murari, “High Speed Image Processing Algorithms for Real Time Detection of MARFEs on JET”, IEEE Trans. Plasma Sci. vol. 40, no. 12, pp. 3485–3492, Dec. 2012.

B. Lipschultz, B. LaBombard, E.S. Marmar, M.M. Pickrell, J.L. Terry, R. Watterson and S.M. Wolfe, “Marfe: an edge plasma phenomenon”, 1984 Nucl. Fusion, vol. 24, no. 8, [Online], Disponível:http://www.psfc.mit.edu/library1/catalog/reports/1980/83ja/83ja033/83ja033_full.pdf

T. Shanley and D. Anderson. “PCI System Architecture”. MindShare, Inc, 4rd edition, 1999.

Altera Corporation. Cyclone IV GX FPGA Development Board Reference Manual, Dec. 2010. [Online], Disponível: http://www.altera.com/literature/manual/rm_civgx_fpga_dev_board.pdf

Altera Corporation. Quartus II Handbook Version 12.0, Jun. 2012. [Online], Disponível: http://www.altera.com/literature/hb/qts/archives/quartusii_handbook_archive_120.pdf

National Instruments. Using the NI-VISA Driver Wizard and NI-VISA to Develop a PXI(e)/PCI(e) Driver in Windows, Mar. 2013. [Online], Disponível: http://www.ni.com/white-paper/4713/en/.

Altera Corporation. IP Compiler for PCI Express User Guide, May 2011. [Online], Disponível:http://www.altera.com/literature/ug/ug_pci_express.pdf

Altera Corporation. Embedded Peripherals IP User Guide, Jun. 2011. [Online], Disponível: http://www.altera.com/literature/ug/ug_embedded_ip.pdf

National Instruments, LabVIEW CORE I e II Course Manual, Aug. 2012 edition

A. Gambier, “Real-time control systems: A tutorial,” in Proc. 5th Asian Control Conf., Jul. 2004, vol. 2, pp. 1024–1031.