DOI QR코드

DOI QR Code

Design and Verification of Pipelined Face Detection Hardware

파이프라인 구조의 얼굴 검출 하드웨어 설계 및 검증

  • 김신호 (광운대학교 전자통신공학과) ;
  • 정용진 (광운대학교 전자통신공학과)
  • Received : 2012.05.14
  • Accepted : 2012.08.06
  • Published : 2012.10.31

Abstract

There are many filter based image processing algorithms and they usually require a huge amount of computations and memory accesses making it hard to attain a real-time performance, expecially in embedded applications. In this paper, we propose a pipelined hardware structure of the filter based face detection algorithm to show that the real time performance can be achieved by hardware design. In our design, the whole computation is divided into three pipeline stages: resizing the image (Resize), Transforming the image (ICT), and finding candidate area (Find Candidate). Each stage is optimized by considering the parallelism of the computation to reduce the number of cycles and utilizing the line memory to minimize the memory accesses. The resulting hardware uses 507 KB internal SRAM and occupies 9,039 LUTs when synthesized and configured on Xilinx Virtex5LX330 FPGA. It can operate at maximum 165MHz clock, giving the performance of 108 frame/sec, while detecting up to 20 faces.

필터를 기반으로 하는 영상 처리 알고리즘은 많은 연산과 메모리 접근으로 인해 임베디드 환경에서의 실시간 동작이 어렵다. 본 논문에서는 필터 기반의 얼굴 검출 하드웨어 엔진을 임베디드 환경에서 실시간으로 동작시키기 위해 파이프라인 구조로 설계하고 검증하였다. 얼굴 검출 알고리즘은 입력으로 들어온 영상에서 학습된 얼굴의 특징 데이터를 이용하여 얼굴의 위치를 찾는 연산을 수행한다. 이를 하드웨어로 구현하기 위해 알고리즘의 연산을 파악하여 중복되는 연산을 병렬 처리하고 라인 메모리를 이용하여 메모리 접근을 최소화하여, 이것을 기반으로 파이프라인 구조의 하드웨어를 설계하였다. 하드웨어 구조는 Resize, ICT(Improved Census Transform), Find Candidate 등의 3 단계로 나뉘어져 있으며, 총 507KByte의 내부 SRAM을 사용하였다. ARM Cortex A8 프로세서와 Xilinx사의 Virtex5LX330을 이용하여 검증한 결과 9,039 LUTs를 사용하였고 최대 동작 클록은 165MHz로, VGA($640{\times}480$) 해상도에서 108 frame/sec의 동작속도로 최대 20명까지 검출이 가능한 것을 확인하였다.

Keywords

References

  1. Ming-Hsuan Yang, Kriegman, D.J, and Ahuja N, "Detecting Face in Images : a Survey," IEEE Trans. Pattern Analysis and Machine Intelligence, Vol. 24, pp. 24-58, 2002.
  2. G. Yang and T.S. Huang, "Human Face Detection in a Complex Background," Pattern Recognition, Vol. 27, No. 1, pp. 53- 63, 1994. https://doi.org/10.1016/0031-3203(94)90017-5
  3. Haiyuan WU and Qian CHEN, "Detecting Human Face in Color Images," Proc. of IEEE Conf.on Systems, Man, and Cybernetics, pp. 2232-2236, 1996.
  4. R. Brunelli and T. Poggio, "Face Recognition : Features versus Templates," IEEE Trans. PAMI , Vol. 15, pp. 1042-1052, 1993. https://doi.org/10.1109/34.254061
  5. 이호근 정성태, "실시간 얼굴검출 시스템 설계 및 구현," 멀티미디어학회논문지, 제8권, 제8호, pp. 1057-1066, 2005.
  6. Bernhard Fröva and Andreas Ernst, "Face Detection with the Modified Census Transform," Proc. of IEEE Conf. on AutoSmatic Face and Gesture Recognition, pp. 91-96, 2004.
  7. Paul Viola and Michael J. Jones, "Robust Real-time Face Detection," International Journal of Computer Vision, pp. 137-154, 2004.
  8. 김윤구, 정용진, "임베디드 시스템 적용을 위한 얼굴 검출 하드웨어 설계," 전자공학회논문지, 제44권, SD편, 제9호, pp. 40-47, 2007.
  9. Duy Nguyen and David Halupka, "Real-time Face Detection and Lip Feature Extraction Using Fild-Programmable Gate Arrys," IEEE Transactions on System, Man and Cybernetics-art B: Cybernetics, Vol. 36, No. 4, pp. 902-912, 2006. https://doi.org/10.1109/TSMCB.2005.862728
  10. 한동일 조현종, "고성능 실시간 얼굴 검출 엔진의 설계 및 구현," 전자공학회논문지, 제47권, SP편, 제2호, pp. 33-34, 2010.
  11. BioID Face Database, http://www.bioid.com/support/ downloads/software/bioid-face- database.html, 2001.