Abstract
This paper presents design and verification of a face detection hardware for real time application. Face detection algorithm detects rough face position based on already acquired feature parameter data. The hardware is composed of five main modules: Integral Image Calculator, Feature Coordinate Calculator, Feature Difference Calculator, Cascade Calculator, and Window Detection. It also includes on-chip Integral Image memory and Feature Parameter memory. The face detection hardware was verified by using S3C2440A CPU of Samsung Electronics, Virtex4LX100 FPGA of Xilinx, and a CCD Camera module. Our design uses 3,251 LUTs of Xilinx FPGA and takes about 1.96${\sim}$0.13 sec for face detection depending on sliding-window step size, when synthesized for Virtex4LX100 FPGA. When synthesized on Magnachip 0.25um ASIC library, it uses about 410,000 gates (Combinational area about 345,000 gates, Noncombinational area about 65,000 gates) and takes less than 0.5 sec for face realtime detection. This size and performance shows that it is adequate to use for embedded system applications. It has been fabricated as a real chip as a part of XF1201 chip and proven to work.
본 논문에서는 실시간 처리를 위한 얼굴 검출 알고리즘의 하드웨어 엔진을 설계하고 검증하였다. 얼굴 검출 알고리즘은 주어진 이미지에서 학습된 얼굴의 특징데이터를 통하여 얼굴의 대략적인 위치를 찾는 연산을 수행한다. 얼굴 검출 알고리즘을 하드웨어 구조로 설계하기 위해 Integral Image Calculator, Feature Coordinate Calculator, Feature Difference Calculator, Cascade Calculator, Window Detector 등의 5 단계로 구조를 나누었으며, On-Chip Integral Image memory 와 Feature Parameter Memory를 설계하였다. 삼성전자의 S3C2440A 프로세서 칩과 Xilinx사의 Virtex4LX100을 이용하여 검증 플랫폼을 구축하고, CCD카메라를 통하여 실제 얼굴의 영상을 받아들여 얼굴 검출을 실시간으로 구동시켜 검증하였다. 설계된 하드웨어는 Virtex4LX100 FPGA를 타겟으로 합성 시에 3,251 LUTs 를 사용하고, 24MHz의 동작 속도에서 검색 윈도우의 이동 간격에 따라 프레임 당 1.96$\sim$0.13 초의 실행속도를 가진다. 그리고 매그나칩 0.25um ASIC 공정으로 제작 시 41만 게이트 (Combinational area 약 34.5만 게이트, Noncombinational area 약 6.5만 게이트)의 크기를 가지며, 100MHz의 동작 속도에서 프레임 당 0.5초 미만의 실행 속도로, 임베디드 시스템의 실시간 얼굴 검출 솔루션에 적합함을 보여준다. 실제 XF1201칩의 일부 모듈로 구현되어 동작함이 확인되었다.