$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

얼굴 특징 검출 알고리즘의 하드웨어 설계
Hardware Implementation of Facial Feature Detection Algorithm 원문보기

電子工學會論文誌. Journal of the Institute of Electronics Engineers of Korea. CI, 컴퓨터, v.45 no.1 = no.319, 2008년, pp.1 - 10  

김정호 (광운대학교 전자통신공학과) ,  정용진 (광운대학교 전자통신공학과)

초록
AI-Helper 아이콘AI-Helper

본 논문에서는 기존에 얼굴 검출에 사용된 ICT(Improved Census Transform) 변환을 이용하여 눈, 코, 입 등의 얼굴 특징을 검출하는 하드웨어를 설계하였다. 파이프라인 구조를 이용하여 동작 속도를 높였고, ICT 변환, 메모리 공유, 동작 과정의 세분화를 통하여 메모리 사용량을 줄였다. 본 논문에서 사용한 알고리즘을 얼굴 검출 및 인식 분야에서 테스트용으로 주로 쓰이는 BioID 데이터베이스(database)를 이용하여 테스트한 결과 100%의 검출률을 보였고, 설계한 하드웨어의 결과도 이와 동일하였다. 또한 Synopsys사의 Design Compiler와 동부아남사의 $0.18{\mu}m$ library를 이용하여 합성한 결과 총 $376,821{\mu}m2$의 결과를 얻었고 78MHz의 동작 클럭 하에서 17.1msec의 검출 속도를 보였다. 본 논문은 소프트웨어 형태의 알고리즘을 임베디드 하드웨어로 구현함으로 인하여 실시간 처리의 가능성을 보였고, 저가격, 높은 이식성에 대한 가능성을 제시하였다.

Abstract AI-Helper 아이콘AI-Helper

In this paper, we designed a facial feature(eyes, a moult and a nose) detection hardware based on the ICT transform which was developed for face detection earlier. Our design used a pipeline architecture for high throughput and it also tried to reduce memory size and memory access rate. The algerian...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

제안 방법

  • 출력포트를 설정하였다. 각 세부 모듈은 8 가지로 나누었고, SRAM과 레지스터를 이용하여 데이터를 공유하며, 알고리즘의 흐름에 따라 순차적으로 동작을 하도록 설계하였다. 디버깅을 위하여 모듈별로 동작을 시킬 수 있도록 설계하였고, 임의로 레지스터 및 SRAM 세팅을 외부에서 할 수 있도록 설계하였다.
  • 얼굴 특징이 모두 검출된 경우, 검출된 특징들을 조합하여 얼굴 특징 후보 쌍을 만들어 낸다. 얼굴 특징 후보 쌍들을 이용하여 검증에 필요한 형태로 어파인 변환을 하고, 검증 필터를 적용하여 올바르게 검출된 특징들인지 검증한다. 검증이 성공한 경우 각 얼굴 특징이 존재하는 영역을 결과로 내보내고, 검증이 실패한 경우 얼굴 특징들의 검출이 잘못 이루어진 것으로 판단하여 얼굴 특징 검출을 실패한 것으로 결과를 내보낸다.
  • 각각의 얼굴 특징 영역들을 계산하는 연산은 같은 수식을 사용하고, 계수만 다르므로 이 4가지 수치들만 멀티플렉서(multiplexer)를 이용하여 선택하고, 나머지 계산 부분은 공유를 하도록 설계하였다. 이를 통하여 설계된 하드웨어의 면적을 줄일 수 있다.
  • 학습된 필터 테이블의 구성은 다음과 같다. 검출 속도의 향상을 위하여 각 필터별로 검출 단계를 세분화하였고, 각 단계는 얼굴 특징 검출 윈도우 크기 내의 검사를 위한 픽셀의 X-좌표와 Y-좌표를 포함한다. 또한, 각 좌표에 해당하는 픽셀마다 81개의 분류자를 가지고 있다.
  • 다음과 같다. 검출 속도의 향상을 위하여 검출할 얼굴의 특징에 적합한 영역을 정의하였고, 검출하고자 하는 특징에 맞는 검출 필터를 적용하여 효율적이고 신뢰도 높은 검출 결과를 얻었다. 또한, 메모리를 최대한 공유하도록 설계하고, 검출 단계를 세분화하여 메모리 사용량을 줄였고, 파이프라인 방식을 도입하여 검출 속도를 향상시켰다.
  • 다음으로 검출하고자 하는 각 영역에 필터를 적용시켜(2) 눈, 코, 입 후보영역들을 검출한다. 검출된 각 후보 영역들을 각각 그룹화를 통하여 여러 그룹으로 분류하고, 각 그룹들 간의 신뢰도를 비교하여 가장 높은 신뢰도를 갖는 후보를 대표 특징으로 한다.
  • 따라서 이 검출 필터를 학습을 통하여 생성하여야 한다. 검출하고자하는 얼굴의 특징을 왼쪽 눈, 오른쪽 눈, 코, 입으로 정의하였고, 이 중 눈의 경우는 왼쪽 눈과 오른쪽 눈의 형태가 다르므로 정확성을 높이기 위하여 각각 다른 필터를 사용하였다.
  • 얼굴 영역을 입력으로 받고, 축소된 영상을 결과로 한다. 결과는 임시로 사용되므로 SRAM 에 저장을 하도록 설계하였다.
  • 나타내는 영역을 정의한다. 다음으로 검출하고자 하는 각 영역에 필터를 적용시켜(2) 눈, 코, 입 후보영역들을 검출한다. 검출된 각 후보 영역들을 각각 그룹화를 통하여 여러 그룹으로 분류하고, 각 그룹들 간의 신뢰도를 비교하여 가장 높은 신뢰도를 갖는 후보를 대표 특징으로 한다.
  • 임의의 얼굴 영상들에서 학습을 시키고자 하는 크기에 맞춰 얼굴 영역을 잘라내고, 검출하고자 하는 각각의 특징이 있는 영역들을 추출해낸다. 다음으로, 임의의 얼굴이 아닌 영상들에서도 학습을 시키기 위한 각각의 필터 크기에 맞춰 잘못된 영상을 추출해낸다. 추출된 영상들을 ICT 변환을 통하여 변환하고, 이를 통하여 나온 분류자(classifier)들을 부스팅 (boosting) 알고리즘을 이용하여 얼굴 특징 검출용 필터들을 학습시킨다(2).
  • 각 세부 모듈은 8 가지로 나누었고, SRAM과 레지스터를 이용하여 데이터를 공유하며, 알고리즘의 흐름에 따라 순차적으로 동작을 하도록 설계하였다. 디버깅을 위하여 모듈별로 동작을 시킬 수 있도록 설계하였고, 임의로 레지스터 및 SRAM 세팅을 외부에서 할 수 있도록 설계하였다.
  • 따라서 이를 위하여 파이프라인 구조를 최대한 이용하여 설계하였고, 모듈간의 데이터를 최대한 공유하도록 설계하였다. 또한 메모리 사용량을 줄이기 위하여 전체 영상을 대상으로 연산하지 않고, 영상을 여러 부분으로 나누어 수행되도록 설계하였다.
  • 입력 영상은 외부의 DRAM에 저장을 하였고, 자주 쓰이는 필터 정보는 내부 메모리인 SRAM에 저장을 하였으며, 나머지 필터 정보는 DRAM에 저장하였다. 또한 각 모듈에 필요한 레지스터(register)들을 정의하여 전체메모리 맵을 설정하였다. 설정된 메모리 맵을 그림 5에 나타내었다.
  • 따라서 이를 위하여 파이프라인 구조를 최대한 이용하여 설계하였고, 모듈간의 데이터를 최대한 공유하도록 설계하였다. 또한 메모리 사용량을 줄이기 위하여 전체 영상을 대상으로 연산하지 않고, 영상을 여러 부분으로 나누어 수행되도록 설계하였다.
  • 검출 속도의 향상을 위하여 검출할 얼굴의 특징에 적합한 영역을 정의하였고, 검출하고자 하는 특징에 맞는 검출 필터를 적용하여 효율적이고 신뢰도 높은 검출 결과를 얻었다. 또한, 메모리를 최대한 공유하도록 설계하고, 검출 단계를 세분화하여 메모리 사용량을 줄였고, 파이프라인 방식을 도입하여 검출 속도를 향상시켰다.
  • 본 논문에서 사용한 검출 필터의 학습에는 정상적인 얼굴 특징을 이용하였다. 따라서 눈이 감겨있거나 색깔이 들어있는 안경을 쓴 경우, 마스크를 쓴 경우, 입을 크게 벌린 경우 등 얼굴 특징에 왜곡이 있는 영상을 입력으로 하였을 경우에는 검출이 불가능하였다.
  • 본 논문에서 설계한 하드웨어를 얼굴 검출 및 인식 분야에서 테스트용으로 이용되는 BioID 데이터 베이스回 를 이용하여 테스트하였다. 테스트는 검출된 얼굴 영역을 입력으로 하여, 얼굴 특징 검출과정을 수행한 후 모든 얼굴 특징 영역들이 찾아졌는지의 여부를 이용하여 판단하였다.
  • 이러한 얼굴 특징 정보는 얼굴 검증'41, 얼굴 인식, 아바타(avatar) 제어 시스템的, 감정 인식的 등 다양한 용도로 응용이 가능하다. 본 논문에서는 여러가지 얼굴 특징 중 눈, 코, 입을 검출하고자 하는 얼굴의 특징으로 정의하였고, 검출 결과는 해당 특징이 존재하는 영역으로 하였다.
  • 필요하다. 이 과정은 하드웨어 설계의 효율성을 고려하여 얼굴검출에서 사용한 방법과 유사한 방법으로 검출 필터를 달리하여 수행하였다(3) 본 논문에서는 얼굴 검출에 사용된 ICT(Improved Census Transform) 변환을 얼굴 특징 검출에 적용시켜 효율적인 하드웨어를 설계하였고, 우수한 성능 결과를 얻었다.
  • 존재한다. 이것은 피제수(dividend)를 한 비트씩 이동(shift) 하면서 제수(divisor)를 빼주어, 매 클럭마다한 비트 씩의 몫(quotient) 이 나오도록 설계하였다.
  • SDRAMe SRAM 과 달리 ACK 신호를 이용하여 컨트롤 신호를 제어한다. 이러한 SDRAM과 SRAM의 동작 방식의 차이를 이용하여 SDRAM 에서 데이터를 읽는 동안 다음 SRAM의 주소를 미리 계산하는 방식으로 파이프라인구조를 이용하였다. 이를 통하여 파이프라인 방식을 도입하기 전보다 메모리를 읽고 쓰는 동작 클럭 수를 약 반으로 줄일 수 있다.
  • 이러한 얼굴 특징을 검출하는 방법은 본 논문에서 이용한 방법인 CT(Census Transform) 변환을 응용한 방법, 여러 개의 특징점을 훈련된 메쉬(mesh)를 이용하여 실시간으로 검출하는 방법®, PCA(Principal Components Analysis)를 기반으로 컬러 정보를 이용하여 검출하는 방법⑻ 등 여러가지 방향으로 연구되어지고 있다.
  • 같다. 임의의 얼굴 영상들에서 학습을 시키고자 하는 크기에 맞춰 얼굴 영역을 잘라내고, 검출하고자 하는 각각의 특징이 있는 영역들을 추출해낸다. 다음으로, 임의의 얼굴이 아닌 영상들에서도 학습을 시키기 위한 각각의 필터 크기에 맞춰 잘못된 영상을 추출해낸다.
  • 입력 영상은 외부의 DRAM에 저장을 하였고, 자주 쓰이는 필터 정보는 내부 메모리인 SRAM에 저장을 하였으며, 나머지 필터 정보는 DRAM에 저장하였다. 또한 각 모듈에 필요한 레지스터(register)들을 정의하여 전체메모리 맵을 설정하였다.
  • 입력된 영상의 좌표를 기준으로 축소될 영역의 좌표를 계산한 후, 해당 부분의 픽셀 값만을 읽어 SRAM에 저장하는 방법을 이용하였다. 이를 통하여 메모리 접근 횟수를 줄일 수 있다.
  • 전체 영상에서 검출된 얼굴의 중심 좌표, 가로 길이와 세로 길이를 입력받아 각각의 얼굴 특징이 존재하는 영역의 위치에 대한 중심 좌표, 가로 길이와 세로 길이를 출력으로 한다. DRAM에 있는 입력 영상을 공통적으로 사용하기 위하여 입 .
  • 다음으로, 임의의 얼굴이 아닌 영상들에서도 학습을 시키기 위한 각각의 필터 크기에 맞춰 잘못된 영상을 추출해낸다. 추출된 영상들을 ICT 변환을 통하여 변환하고, 이를 통하여 나온 분류자(classifier)들을 부스팅 (boosting) 알고리즘을 이용하여 얼굴 특징 검출용 필터들을 학습시킨다(2). 각 얼굴 특징 검출용 필터의 학습을 위한 영역을 그림 2에 나타내었다.
  • 이용하여 테스트하였다. 테스트는 검출된 얼굴 영역을 입력으로 하여, 얼굴 특징 검출과정을 수행한 후 모든 얼굴 특징 영역들이 찾아졌는지의 여부를 이용하여 판단하였다. BioID 영상에서 임의로 얼굴 영역을 추출한 후, ICT 변환을 이용하여 얼굴 특징들을 검출 한 결과 소프트웨어와 하드웨어 모두 100%의 검출 결과를 얻었다.

대상 데이터

  • 검증 플랫폼은 Xilinx사의 Virtex-4 vlx60-1148 FPGA®와 ARM9이 내장된 Bluesky S3C2440A[11] 프로세서를 이용하여 구성하였다. 검증 결과 소프트웨어와 하드웨어의 결과가 동일하게 나타났으며, 이를 실제 영상에 적용 시킨 결과 만족스러운 결과를 얻을 수 있었다 검증 플랫폼 및 데모 영상을 그림 15와 16에 나타내었다.

데이터처리

  • 그룹 결과는 그룹에 소속된 영역들의 누적 신뢰도를 통한 가중 평균을 이용하여 계산하였다. 설계된 하드웨어의 데이터패스를 그림 10에 나타내었다.
  • 설계한 하드웨어 모듈을 FPGA에서 검증하기 위하여 Xlinx사의 ISE를 이용하여 합성 및 다운로드를 하였고, 검증에서 사용된 자원의 사용률을 그림 14에 나타내었다. 검증 플랫폼은 Xilinx사의 Virtex-4 vlx60-1148 FPGA®와 ARM9이 내장된 Bluesky S3C2440A[11] 프로세서를 이용하여 구성하였다.

이론/모형

  • 본 논문에서 이용한 얼굴 특징 검출 알고리즘은 필터를 이용한 방법이다. 따라서 이 검출 필터를 학습을 통하여 생성하여야 한다.
본문요약 정보가 도움이 되었나요?

참고문헌 (11)

  1. Ramin Zabih and John Woodfill, 'A non- pararmetric approach to visual correspon- dence,' IEEE Transactions on Pattern Analysis and Machine Intelligence, 1996 

  2. Bernhard Froba, Andreas Ernst, 'Face detection with the modified census transform,' in Proc. of IEEE Conf. on Automatic Face and Gesture Recognition, pp. 91-96, May 2004 

  3. 김윤구, 정용진, '임베디드 시스템 적용을 위한 얼굴검출 하드웨어 설계,' 대한전자공학회 논문지 제44권 SD편 제9호, Sep. 2007 

  4. Haiyuan Wu, Qian Chen, 'Facial feature extraction and face verification,' in Proc. of IEEE Conf. on Pattern recognition, pp.484-488, 1996 

  5. 양애경, 최형일, '얼굴 특징 추출에 의한 아바타 제어 시스템,' 정보과학회논문지(B), 제25권, 제9호, 1998 

  6. De Silva, L. C, 'Real-time facial feature extraction and emotion recognition,' in Proc. of IEEE Conf. on Multimedia, pp. 1310-1314, 2003 

  7. Zhiwei Zhu, Qiang Ji, 'Robust Pose Invariant Facial Feature Detection and Tracking in Real-Time,' in Proc. of IEEE Conf. on Pattern Recognition, pp. 1092-1095, 2006 

  8. Hasan Demirel, 'Color-space analysis for facial feature detection,' IEEE Region 8 International Symposium on Video/Image Processing and Multimedia Communications, 16-19, June 2002 

  9. http://www.facedetection.com/facedetection/datas-ets.htm, BioID Face Detection Database 

  10. http://www.xilinx.com/products/silicon_solutions-/fpgas/virtex/virtex4/index.htm, Virtex-4 FPGA 

  11. 'Bluesky2410/2440 Reference Manual v1.0," eLOGICs, 2004 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로