KR102487223B1 - 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법 - Google Patents

눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법 Download PDF

Info

Publication number
KR102487223B1
KR102487223B1 KR1020160096656A KR20160096656A KR102487223B1 KR 102487223 B1 KR102487223 B1 KR 102487223B1 KR 1020160096656 A KR1020160096656 A KR 1020160096656A KR 20160096656 A KR20160096656 A KR 20160096656A KR 102487223 B1 KR102487223 B1 KR 102487223B1
Authority
KR
South Korea
Prior art keywords
face
eye
detected
image
har
Prior art date
Application number
KR1020160096656A
Other languages
English (en)
Other versions
KR20180014317A (ko
Inventor
이근호
강보선
채현병
이창준
Original Assignee
백석대학교산학협력단
씨티아이코리아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 백석대학교산학협력단, 씨티아이코리아 주식회사 filed Critical 백석대학교산학협력단
Priority to KR1020160096656A priority Critical patent/KR102487223B1/ko
Publication of KR20180014317A publication Critical patent/KR20180014317A/ko
Application granted granted Critical
Publication of KR102487223B1 publication Critical patent/KR102487223B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Collating Specific Patterns (AREA)

Abstract

감시구역에 입장하는 출입자의 얼굴을 인식하여 추적하되, 촬영 영상에 하르 캐스케이드를 적용하여 얼굴을 검출하고, 검출된 얼굴 영역에서 눈영역과 눈동자를 검출하고, 눈동자를 기반으로 얼굴의 특징점을 추출하여 인증값으로 생성하는, 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법에 관한 것으로서, (a) 얼굴 영상을 학습시켜 하르 캐스케이드를 생성하는 단계; (b) 카메라를 통해 촬영된 원 영상을 입력받는 단계; (c) 상기 원 영상을 상기 하르 캐스케이드에 적용하여 얼굴을 검출하여, 검출된 얼굴 영상을 관심영역으로 설정하는 단계; (d) 상기 관심영역을 균등하게 분할하여, 분할된 영역에서 눈 영역과 코 영역을 검출하는 단계; (e) 상기 눈 영역에서 이진화 및 허프 변환을 이용하여, 눈동자를 검출하는 단계; (f) 검출된 눈동자를 기반으로 얼굴의 특징점을 추출하는 단계; 및, (g) 추출된 특징점을 이용하여 인증값을 생성하여 저장하는 단계를 포함하는 구성을 마련한다.
상기와 같은 얼굴인증 방법에 의하여, 감시구역에 입장하는 출입자의 얼굴을 인식하여 추적하되, 하르 캐스케이드를 생성하여 얼굴을 검출하고 이로부터 눈동자를 검출하여 인증값을 생성함으로써, 보다 빠르고 정확하게 얼굴을 인증할 수 있다.

Description

눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법 { A face certifying method with eye tracking using Haar-Like-Feature }
본 발명은 감시구역에 입장하는 출입자의 얼굴을 인식하여 추적하되, 촬영 영상에 하르 캐스케이드를 적용하여 얼굴을 검출하고, 검출된 얼굴 영역에서 눈영역과 눈동자를 검출하고, 눈동자를 기반으로 얼굴의 특징점을 추출하여 인증값으로 생성하는, 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법에 관한 것이다.
얼굴인식 관련 프로그램들을 출시하는 상태인 퍼스텍, 슈프리마, 미래인식 그리고 한국인식산업 등 여러 기업들도 국제적인 수준의 회사 자체의 얼굴인식 엔진 기술을 보유하기 위해서 기술 개발을 꾸준히 이행하고 있는 것으로 알려졌다. 셀프 카메라의 유행으로 스마트폰 전면 카메라모듈도 500만 화소급의 고화질 카메라가 이용되면서 인식률 향상에 긍정적 환경이 조성되었다. 국내에 활동하고 있는 보안전문회사들도 기존의 방식에 물리보안 시장을 뛰어 넘어 스마트폰이나 금융결제 시스템 등과 결합 될 수 있는 방법들을 찾아보고 있는 중이다.
또한, 해외시장에서는, 독일의 코그니텍(Cognitech)의 FaceVACS 기술, 일본의 NEC 'Neoface' 및 미국의 L-1 등이 국제적인 시장을 주도하고 있으며 최근 들어 룩산드 및 뉴로테크놀러지 등 기업들이 뛰어난 성능의 얼굴 검출 및 인식 기술들을 바탕으로 제작한 상용 제품들을 출시하고 있다.
얼굴인식 시장에 진출해 있는 기업들은 얼굴인식의 원천이라고 할 수 있는 얼굴인식 알고리즘 및 소프트웨어 개발 능력을 소유하고 있는 얼굴인식 엔진 개발 업체와 얼굴인식 엔진을 이용한 응용 프로그램 개발에 중점을 둔 회사와 얼굴인식에 관련하여 종합적인 솔루션을 공급해주는 회사 등으로 구분된다. 시장을 리드하는 주요 기업들은 얼굴인식 엔진 개발과 응용 프로그램 생산 그리고 통합 솔루션까지 모두 공급해주는 종합적인 비지니스를 수행하고 있다.
Microsoft사에서 만든 'Windows Hello'와 윈도우 10 헬로는 인텔사에서 설계한 특수한 리얼센스 심도의 카메라 모듈을 사용한다. 전반적으로 스크린 상단에 웹캠이 있는 곳에 카메라가 위치한다. 헬로 카메라가 이곳에 있다고 시각적으로 보는 것은 힘들 것이다. 왜냐하면 일반적인 카메라는 한 개의 렌즈가 화면 상단 베젤의 중앙에 있는 것이 아니라 좌측, 우측 하나씩 두개의 렌즈가 양옆으로 붙어있기 때문이다. 적외선 카메라로 얼굴을 인식하기 위하여 우측 카메라는 얼굴에 반사되는 적외선을 측정한다. 이 적외선 카메라가 실행 중인 상태에서는 희미한 붉은 빛이 켜진다. 헬로는 본인이 맞는지 구별하는데 얼굴의 화장이나 수염 등을 무시하고 사용자의 이미지와 데이터베이스에 존재하는 이미지 파일을 비교하여 본인이 맞는지 확인한다[특허문헌 1].
알리바바의 '스마일 투 페이' 는 얼굴인식 기술을 회장인 알리바바 마윈이 직접 전자결제 시스템을 시연하여 검증에 성공하여 최근 급부상하게 되었다. 이 기술은 일반 사람들이 사용하는 스마트폰이나 노트북에 내장된 카메라로도 구현이 가능하기 때문에 추가적인 비용이나 전용 모듈이 필요가 없다. 카메라에 잡히는 거리에 따라 정확도 등에 차이가 있지만 최소 30만 화소 이상의 카메라모듈 이라면 충분히 사용이 가능하다. 기술개발 또한 하드웨어보다 소프트웨어와 알고리즘에 치우쳐 진행을 하고 있다[특허문헌 2].
또한, 구글과 페이스북 등과 같은 글로벌 IT기업은 사진 속 얼굴을 인식률 99%에 근접하여 정확하게 인식 할 수 있는 기술을 보유하고 있다.
한편, 얼굴인식의 국제 표준화 부분에선 ISO와 IEC가 공동 설립한 JTC1 SC37에서는 휴대폰, 인터넷 금융, 본인 인증 등이 필요한 곳에 쓰일 수 있는 국제 표준인 기술 규격을 정하였다. 응용프로그램의 신뢰성, 가용성, 보안과 시스템들의 상호 운용성 및 데이터 교환을 지원에 관하여 포괄적 생체 인식 기술의 표준화이다. 표준 IEC 훈련 연동 체계에 따라 SC 37이 개발되고 신뢰적이고 정확한 검증을 제공하는 체제 및 응용 프로그램의 광범위한 지원을 제공 한다. SC37의 작업반의 회의와 총회에서 미국, 독일, 영국, 캐나다, 일본, 스페인 등의 여러 국가에 대표 100명들이 참석한 가운데 6개의 작업반으로 나누어 표준화 회의가 이루어 졌고 6개의 작업반의 담당 구성은 도 1과 같다.
얼굴, 지문, 정맥, 홍채 , 음성 등의 다양한 데이터 포맷에 대한 표준 규격을 논의 중인 WG 3 중에서 얼굴인식 기술의 표준화 동향은 다음과 같다. SC37의 작업반 중 WG3를 맡은 작업반에서는 바이오 인식 데이터 교환 포맷에 관하여 IS의 기준을 정하였고 전자 여권 등 바이오 인식 응용 프로그램을 위해 표준 얼굴 영상 데이터 포맷에 ISO와 IEC가 문서로 제정한 것이다. 이는 KS의 문서로도 등재되었고, 지금까지 해당되는 관청에서 지급되는 국내 전자 여권의 기록 및 저장되는 얼굴인식 영상의 표준 데이터 포맷으로 사용되고 있다. 이 표준 데이터는 얼굴이 눈, 코, 입 등의 위치를 표현하여 얼굴의 특징점 위치와 성별, 눈의 색상, 머리카락의 색상, 얼굴 표정 등의 정보를 추가 하였다.
얼굴인식의 성능을 높이기 위해 환경 설정을 규격화된 표준에 맞추어 19794-5 Amendment 1 (Face Image Data on Conditions for Taking Pictures)으로 제정하였다. 그렇게 Amendment2의 표준은 여러 나라에서 규격 작업을 하였으나 미국의 주도권 경쟁이 심하였고 미국의 L-1 솔루션 회사에 소속된 독일의 주도에 표준화가 진행 되어 왔다. 지금까지의 표준 작업들을 보강하고, 실질적인 표준에 필요한 규격이 만들어져 사용되고 있다.
또한, 국내 얼굴인식 표준화는 국제 표준인 ISO/IEC JTC1 SC37을 기반으로 국내의 TTA TC5 산하에 PG505에서 많은 과제들이 진행되고 있으며 국제표준의 국내표준화를 중심으로 시스템 응용에 대해 관련된 표준을 제정하고 있다.
"Windows Hello face authentication", https://msdn. microsoft.com/en-us/library/windows/hardware/mt450467(v=vs.85).aspx "Alibaba introduces Smile to Pay, a new technology for online payments through selfies", P. Viola and M. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features" in Proc. IEEE Conf. Computer Vision and Pattern Recognition, Kauai, HI, pp.511-518, 2001.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 촬영된 영상을 하르 캐스케이드에 적용하여 얼굴을 검출하고, 검출된 얼굴 영상을 관심영역으로 설정하고, 관심영역을 균등 분할하여 분할된 영역에서 눈영역과 코 영역을 검출하고, 눈영역에 이진화 및 허프 변환을 이용하여 눈동자를 검출하여 얼굴의 특징점을 추출하고, 추출된 특징점을 이용하여 인증값을 생성하여 저장하는, 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법에 관한 것으로서, (a) 얼굴 영상을 학습시켜 하르 캐스케이드를 생성하는 단계; (b) 카메라를 통해 촬영된 원 영상을 입력받는 단계; (c) 상기 원 영상을 상기 하르 캐스케이드에 적용하여 얼굴을 검출하여, 검출된 얼굴 영상을 관심영역으로 설정하는 단계; (d) 상기 관심영역을 균등하게 분할하여, 분할된 영역에서 눈 영역과 코 영역을 검출하는 단계; (e) 상기 눈 영역에서 이진화 및 허프 변환을 이용하여, 눈동자를 검출하는 단계; (f) 검출된 눈동자를 기반으로 얼굴의 특징점을 추출하는 단계; 및, (g) 추출된 특징점을 이용하여 인증값을 생성하여 저장하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법에 있어서, 상기 (c)단계에서, 상기 원 영상을 그레이 영상으로 변환하고, 상기 그레이 영상에 하르 캐스케이드를 적용하여 얼굴을 검출하는 것을 특특징으로 한다.
또, 본 발명은 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법에 있어서, 상기 (d)단계에서, 상기 관심영역을 X축과 Y축으로 4등분하고, X1, Y1 영역에서 검출되는 내용에 대해서만 눈 영역 후보로 설정하고, 왼쪽 눈과 오른쪽 눈을 따로따로 검출하고 좌표 값을 저장하고, 코를 검출할 경우 왼쪽 눈의 중심점과 오른쪽 눈의 중심점 사이인 X2, Y2 의 영역에서 검출되는 내용에 대해서만 코 영역으로 지정하는 조건을 설정하는 것을 특징으로 한다.
또, 본 발명은 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법에 있어서, 상기 (e)단계에서, 눈 영역을 이진화를 진행하고 에지(Edge)를 추출하고, 추출된 에지 영상에서 휴(Hough) 변환을 통해 원을 검출하여, 검출된 원을 눈동자로 검출하는 것을 특징으로 한다.
또한, 본 발명은 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
상술한 바와 같이, 본 발명에 따른 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법에 의하면, 하르 캐스케이드를 생성하여 얼굴을 검출하고 이로부터 눈동자를 검출하여 인증값을 생성함으로써, 보다 빠르고 정확하게 얼굴을 인증할 수 있는 효과가 얻어진다.
도 1은 얼굴 인식의 국제화 표준 기구의 표준 하위 위원회에 대한 표.
도 2는 본 발명에서 사용하는 하르 유사 특징 추출 방법을 설명하는 도면.
도 3은 종래기술에 따른 아다부스트 인식 방법을 설명하는 흐름도.
도 4는 종래기술에 따른 캠시프트 인식 방법을 설명하는 흐름도.
도 5는 본 발명에서 사용하는 하르 캐스케이드의 사용 예시 그림.
도 6은 본 발명에서 사용하는 하르 캐스케이드의 학습을 위한 얼굴 이미지.
도 7은 본 발명의 일실시예에 따른 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법을 설명하는 흐름도.
도 8은 본 발명의 일시예에 따른 얼굴 영역의 분할을 나타낸 예시도.
도 9는 본 발명의 일시예에 따른 얼굴에 사각형 그리는 프로그램 코드.
도 10은 본 발명의 일시예에 따른 얼굴 검출한 예시도.
도 11은 본 발명의 실험에 따른 입력 영상의 예시로서, (a) 노트북 기본 내장 카메라, (b) 웹캠 C310(720p), (c) 프로 웹캠 C920(1080p)에 의한 얼굴 영상.
도 12는 본 발명의 일시예에 따른 영역별 이름, 색, 모양을 나타낸 표.
도 13은 본 발명의 일시예에 따른 적분영상을 활용한 눈, 코, 입 영역 분할 영상.
도 14는 본 발명의 일시예에 따른 눈,코, 입 추출의 예시 영상.
도 15는 본 발명의 일시예에 따른 평면상 점과 점 사이의 거리를 구하는 공식을 설명하기 위한 도면.
도 16은 본 발명의 일시예에 따른 눈동자 검출 영상의 예시 영상.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명에서 사용되는 하르 유사 특징(Haar-Like_Feature)과 캠시프트 방법 등, 그리고 이들 대비에 대하여 구체적으로 설명한다.
하르 유사 특징(Haar-Like_Feature)에 대하여 설명한다. 사람이 쉽게 같은 종류라고 인식하는 객체들도 각각의 크기와 모양 등이 다양하기 때문에 이들의 공통적인 특징을 기술하는 것은 어려운 과제이다. Papageorgiou et al. 은 객체의 공통적인 특징의 기술을 위해 하르 웨이블릿(Haar wavelet)의 사용을 제안하였고, Viola와 Jones는 이를 확장시킨 하르 유사 특징(Haar-Like_Feature) 방법을 제안했다.
다음으로, 캠시프트(CAM-shift) 방법은 색상 세그먼트(Color Segement) 기반의 민시프트(MeanShift) 방법을 실시간 환경에서 사용하기 위해 확장한 것이다. 민시프트(MeanShift) 방법에서는 전체 영상에서 물체를 검출하는 반면 캠시프트(CAM-shift) 방법은 전체 영상에서 물체가 존재할 영역을 예측하여 물체를 검색한다.
캠시프트(CAM-shift) 방법은 물체의 크기 및 각도를 계산하여 매 프레임 마다 탐색 윈도우의 키기가 정해지기 때문에 물체의 크기의 변화에 상관없이 검출이 가능하다.
또한, 아다부스트(Adaboost) 인식방법은 인식률을 높이기 위해 제안되었으며, 간단하고 효율적이기 때문에 속도가 빨라 실시간 검출에 주로 사용된다. N개의 약 분류기를 결합한 아다부스트(Adaboost) 인식기를 나타내며, 아다부스트(Adaboost)를 이용한 인식은 첫 번째 약 분류기에서부터 시작된다.
하르 유사 특징(Haar-Like_Feature) 방법은 들어온 영상에서 객체들의 특징을 찾아내기 위해 만들어졌다. 특징을 찾아내기 위해 미리 학습을 시켜 데이터를 저장한 다음 영상이 들어오면 데이터와 매칭을 통해 어떤 객체인지 판단을 내린다. 도 2는 하르 유사 특징(Haar-Like_Feature) 방법을 나타내고 있다.
하지만 이와 같은 방법은 큰 문제가 있는데 위와 같은 특징을 지닌 얼굴만 있는 것이 아니기 때문이다.
그런 문제를 해결하기 위해 하르 유사 특징(Haar-Like_Feature) 추출 방법과 같이 다수의 약한 분류기에게 물어본 뒤 그 결과로 얼굴인지 판단하는 것이 아다부스트(Adaboost)이다. 아다부스트(Adaboost)는 하르 유사 특징(Haar-Like_Feature)을 더욱 정확하게 분류하기 위해 사용하며 정확도를 높인다. 그러나 데이터베이스 학습이나 연산에 매우 많은 시간이 소모가 된다는 단점을 가지고 있다. 아다부스트 인식 방법을 위한 시스템의 구성이 도 3에 도시되고 있다.
반면 캠시프트(CAMShif 방법)은 하르 유사 특징(Haar-Like_Feature)과 다르게 빠른 학습을 통해서 물체를 파악하고 지속적으로 물체를 탐지한 뒤 그 중심을 찾아낸다. 색상(Color)을 기준으로 추적하기 때문에 정해진 부분이 전체 이미지에서 변화하는지 지속적인 감지로 실시간으로 원하는 물체를 추적할 때 최소한의 정보들만으로 물체를 추적할 수 있는 장점이 있다. 캠시프트(CAMShif) 방법을 설명하는 흐름도가 도 4에 도시되고 있다.
다음으로, 본 발명에서 얼굴 추적을 우해 사용하는 하르 캐스케이드(Haar Cascade)에 대하여 도 5와 도 6을 참조하여 보다 구체적으로 설명한다. 도 5는 하르 사용한 예시 도면이고, 도 6은 학습하는 얼굴 이미지의 예시들이다.
하르 유사 특징(Haar-Like_Feature)을 이용하여 캐드케이드(Cascade) 방식으로 특징 값들을 분류기(Classifier) 하여 물체를 검출하는 것이다. 아다부스트(AdaBoost) 방법은 학습단계와 실행단계로 이루어져 있다. 학습 단계에서는 찾고자하는 객체의 모양을 학습시킨다. 그리고 객체를 포함하는 영상에서 하르 유사 특징(Haar-Like_Feature)을 추출한다. 추출된 특징점들 중에서 비교적 매칭 확률이 높은 특징점들을 약한 분류기(Weak Classifier)로 구성한다. 이런 약한 분류기(Weak Classifier) 결과로만 매칭하면 오검출 결과가 많기 때문에, 약한 분류기(Weak Classifier)를 결합하여 비교적 오검출 확률이 낮은 강한 분류기(Strong Classifier)를 구성하여 검출 정확도를 높혀 준다. 실행 단계에서는 입력된 영상에 약한 분류기(Weak Classifier)를 적용하고 단계적으로 강한 분류기(Strong Classifier)를 적용하여 객체를 검출한다.
학습시키는 사진이 적으면 뚜렷하게 특징을 잡아내지만 얼굴을 추적하는 경우 얼굴 인증처럼 제공된 사진의 사람 한 명에 대해서만 추출을 한다. 그렇기 때문에 많은 학습자료를 주고 학습을 진행해야 한다.
다음으로, 본 발명의 일실시예에 따른 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법을 도 7 및 도 8을 참조하여 구체적으로 설명한다.
도 7에서 보는 바와 같이, 카메라를 통해서 원영상을 저장한다. 원영상은 플랫폼에 따라서 정적인 사진, 실시간 영상 등 상황마다 다르다. 입력된 원영상은 그레이 필터를 이용하여 그레이 영상으로 변환한다. 그레이 영상으로 변환한 내용에 대해서 선행 학습을 거친 하르 캐스케이드(Haar Cascade)를 사용하여 얼굴을 검출한다. 검출된 얼굴을 관심 영역으로 지정한다.
도 8에서 보는 바와 같이, 관심영역으로 지정된 얼굴 영역에 대해서 영상 처리 속도를 향상시키기 위해서 얼굴 영역을 분할한다. 얼굴 영역을 균등하게 4등분 하고 X1, Y1 영역에서 검출되는 내용에 대해서만 눈 영역 후보에 올린다. 왼쪽 눈과 오른쪽 눈을 따로따로 검출하고 좌표 값을 저장한다. 코를 검출할 경우 왼쪽 눈의 중심점과 오른쪽 눈의 중심점 사이인 X2, Y2 의 영역에서 검출되는 내용에 대해서만 코 영역으로 지정하는 조건을 설정한다.
눈동자를 검출하기 위해서는 눈 영역 후보로 저장되어 있는 영역을 이진화 시켜야 한다. 이진화를 진행하고 에지(Edge)를 추출한다. 추출된 영상에서 휴(Hough) 변환을 통해 원을 검출하게 되면 눈동자를 추출할 수 있다. 추출된 눈동자는 배열에 저장하고 눈동자의 중심좌표를 계산하여 같이 저장한다.
얼굴의 특징점을 데이터베이스에 저장할 때 단순 길이로 저장할 경우 카메라와 사용자의 거리에 따라서 얼굴의 특징점의 길이가 항상 변한다. 그렇기 때문에 얼굴의 비율로 특징점들을 저장해야 한다. 우선 눈과 눈 사이의 거리와 눈과 코사이의 거리를 구해야 한다.
[수학식 1]
Figure 112016073856101-pat00001
점과 점사이의 거리를 구하는 공식인 수학식 1을 이용해서 눈과 눈 사이의 거리와 눈과 코사이의 거리를 구한다. 거리를 구한 다음 눈과 코를 연결 했을 때 생기는 삼각형의 넓이를 구해서 인증을 위한 값으로 이용한다.
[수학식 2]
Figure 112016073856101-pat00002
헤론의 공식인 수학식 2를 이용해서 왼쪽 눈과 오른쪽 눈, 코의 중심점을 연결했을 경우 생기는 삼각형의 넓이를 구할 수 있다. 도출한 값들을 이용하여 개인 얼굴에 대한 인증 값을 생성하고 저장한다.
단순히 눈 영역으로 얼굴의 특징점을 찾아 인증 값을 생성할 수 있지만 하르(Haar)는 주변 환경에 영향을 많이 받기 때문에 주변 환경에 영향을 거의 받지 않도록 이진화 처리와 에지(Edge) 검출을 통해 검출한 눈동자를 기반으로 얼굴의 특징점을 추출하면 정확도가 향상된다. 하지만 사용자가 카메라를 향해 보고 있지 않으면 눈동자를 찾기 힘들어 지는 경향을 보인다.
상기와 같은 단계들을 통해 얼굴의 특징점을 추출하고 인증 값을 생성한다. 인증 값을 생성할 때 주변 환경의 영향을 배제할 수 없다. 그래서 얼굴을 등록할 때 위의 과정을 반복하여 진행하고 생성된 인증 값들의 평균값을 데이터베이스에 저장한다. 이때 최대, 최솟값을 제외하고 나머지 값들로 평균치를 계산하여 데이터베이스에 저장한다.
바람직하게는, 본 방법에서는 얼굴 특징점 추출을 10회 반복한다. 추출 과정을 10회 반복하고 최대, 최솟값을 제외하고 8개의 값의 평균을 데이터베이스에 저장한다.
다음으로, 본 발명의 일실시예에 따른 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 세부 방법을 도 9 내지 도 16을 참조하여 구체적으로 설명한다.
먼저, 하르 캐스케이드 사용을 위하여 캐스케이드를 선언하고 학습을 시킨다.
“var haarCascade = new CascadeClassifier(@"c:/haarcascade_frontalface _alt2.xml");” 캐스케이드 선언을 해준다. 바람직하게는, 구글이나 많은 사람들이 미리 학습시켜둔 검출기를 사용한다. 마지막으로 검출기로 찾은 얼굴을 배열에 넣어준다.
“Rect[] faces = cascade.DetectMultiScale(gray, 1.08, 2, HaarDetectionType.ScaleImage, new OpenCvSharp.Size(20, 20));” faces [] 에는 얼굴의 시작점의 X,Y 좌표와 길이, 높이 등 정보가 들어가 있다.
다음으로, OpenCVSharp를 이용하여 스마트 카메라 영상을 출력한다.
OpenCV를 C#에서 사 할 수 있도록 랩핑한 OpenCVSharp를 이용하여 웹캠의 영상을 컴퓨터에 출력 합니다. 그리고 카메라의 화소에 따른 얼굴의 인식률 비교 분석을 진행한다.
capture = new VideoCapture(1);
카메라의 영상을 받아온다. 0번은 노트북의 기본 카메라이다. 1번은 첫 번째 USB에 꼽힌 카메라를 선택하는 옵션이다.
if (!capture.IsOpened())
{
MessageBox.Show("연결실패");
}
카메라가 아무것도 잡히지 않을 경우 ”연결실패“라는 메시지를 출력한다.
capture.Set(CaptureProperty.FrameWidth, 400);
capture.Set(CaptureProperty.FrameHeight, 350);
영상의 크기를 설정한다. 기존의 설정해둔 검출기에 카메라의 영상을 입력해주고 영상에서 얼굴을 찾도록 설정한다. 기본 노트북 내장 카메라, 로지텍 HD ProWebcam C920(1080p), 로지텍 HD WebCam C310(720p)로 실험 진행하였다.
얼굴 추출 실험결과 카메라의 성능에 따라서 인식 속도와 인식률에 많은 영향을 끼친다는 것을 알 수 있다. 화질이 좋을수록 인식 속도가 빠르고 인식 거리가 길어진다. 720p 카메라로는 2m 정도 멀어지면 얼굴과 사물을 제대로 구별하지 못하지만 1080p 는 3m 가 넘어도 얼굴을 제대로 구분하는 성능을 보여 주었다.
다음으로, 얼굴 추적 진행 후 눈, 코, 입 추적 단계를 설명한다.
얼굴을 검출하고 나서 얼굴 인증을 위해서 눈, 코, 입을 추가로 추출한다. 얼굴 특징에 대한 검출기와 눈, 코, 입에 대한 특징을 학습시켜 놓은 검출기를 사용한다.
var haarCascade = new CascadeClassifier(@"../haarcascade_frontalface _alt2.xml");
var haarCascade1 = new CascadeClassifier(@"../haarcascade_eye.xml");
...
위와 같이 다수의 특징을 저장 시켜둔 검출기를 활용한다. foreach문을 이용하여
foreach (Rect face in faces) // 얼굴 영역 레이블링{
foreach (Rect eye in eyes) //눈 영역 레이블링{
foreach (Rect nose in noses) //코 영역 레이블링){ }
}
}
표기한다. 얼굴 영역 안쪽으로 foreach문을 넣어 준다. 영역별 색과 모양은 도 12와 같이 설정한다.
도 13과 같이, 적분영상을 활용하여 얼굴 영역 내에서도 더 좁은 영역검출을 진행하도록 하여 오탐률을 줄이고 속도를 향상시켜 준다.
다음으로, 얼굴 비율을 통하여 얼굴을 인증한다.
얼굴 길이를 통한 얼굴 인증시도와 비슷하게 웹캠 영상을 2차원 평면으로 생각하고 평면상의 점과 점사이의 거리를 구하는 공식은 도 15와 같다.
즉, 두 점 A(x1, y1), B(x2, Y2) 사이의 거리 AB는 수학식 3으로 구할 수 있다. 수학식 4와 같은 얼굴 특징들만의 이용하여 비율을 구해서 개개인을 구별한다. 얼굴 인증에는 최종적으로 수학식 5, 6, 7을 사용한다. 얼굴에 생기는 삼각형의 넓이는 헤론의 공식을 활용하여 구한다.
[수학식 3]
Figure 112016073856101-pat00003
[수학식 4]
Figure 112016073856101-pat00004
[수학식 5]
Figure 112016073856101-pat00005
[수학식 6]
Figure 112016073856101-pat00006
[수학식 7]
Figure 112016073856101-pat00007
darray1[a-1] = Math.Sqrt((((right_eye.X + right_eye.Width / 2) * (right_eye.X + right_eye.Width / 2)) - ((left_eye.X + left_eye.Width / 2) * (left_eye.X + left_eye.Width / 2))) + (((right_eye.Y + right_eye.Height / 2) * (right_eye.Y + right_eye.Height / 2)) - ((left_eye.Y + left_eye.Height / 2) * (left_eye.Y + left_eye.Height / 2)))); //눈과 눈 사이의 거리
darray2[a-1] = Math.Sqrt((((nose.X + nose.Width / 2) * (nose.X + nose.Width / 2)) - ((left_eye.X + left_eye.Width / 2) * (left_eye.X + left_eye.Width / 2))) + (((nose.Y + nose.Height / 2) * (nose.Y + nose.Height / 2)) - ((left_eye.Y + left_eye.Height / 2) * (left_eye.Y + left_eye.Height / 2))));
// 왼쪽 눈과 코사이의 거리
darray3[a-1] = Math.Sqrt((((nose.X + nose.Width / 2) * (nose.X + nose.Width / 2)) - ((right_eye.X + right_eye.Width / 2) * (right_eye.X + right_eye.Width / 2))) + (((nose.Y + nose.Height / 2) * (nose.Y + nose.Height / 2)) - ((right_eye.Y + right_eye.Height / 2) * (right_eye.Y + right_eye.Height / 2))));
// 오른쪽 눈과 코사이의 거리
darray4[a-1] = ((darray1[a - 1] + darray2[a - 1] + darray3[a - 1]) / 2);
// 헤론의 공식 S 값
darray5[a-1] = Math.Sqrt(darray4[a - 1] * (darray4[a - 1] - darray1[a - 1]) * (darray4[a - 1] - darray2[a - 1]) * (darray4[a - 1] - darray3[a - 1]));
// 얼굴 삼각형의 넓이
다음으로, 눈동자의 검출을 통한 눈동자 중심을 추적한다.
눈 영역을 검출한 다음 검출 영역을 cvCvtColor를 이용하여 GRAY 처리하고 cvCanny를 이용하여 에지(Edge)를 검출한다. 이때 특징 점에 대해서 눈동자만 검출이 되도록 설정한다. cvHoughCircles를 이용하여 원을 검출한다. 검출된 원은 데이터를 배열에 저장하고 얼굴 인증에 활용한다. 도 16은 눈동자 검출영상의 예시도이다.
얼굴 인증에 대한 데이터는 사용자의 얼굴 사진을 10회 촬영하여 10장의 사진에서 얼굴을 검출하고 특징 점에 대한 데이터를 배열에 저장한다. 저장된 10개의 특징 점 데이터들의 평균값을 도출하여 데이터베이스에 저장한다. 데이터베이스에는 얼굴의 특징 점의 평균값 데이터를 저장하고 이를 활용하여 인증에 사용한다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 얼굴 20 : 카메라
30 : 얼굴인증 시스템

Claims (5)

  1. 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법에 있어서,
    (a) 얼굴 영상을 학습시켜 하르 캐스케이드를 생성하는 단계;
    (b) 카메라를 통해 촬영된 원 영상을 입력받는 단계;
    (c) 상기 원 영상을 상기 하르 캐스케이드에 적용하여 얼굴을 검출하여, 검출된 얼굴 영상을 관심영역으로 설정하는 단계;
    (d) 상기 관심영역을 균등하게 분할하여, 분할된 영역에서 눈 영역과 코 영역을 검출하는 단계;
    (e) 상기 눈 영역에서 이진화 및 허프 변환을 이용하여, 눈동자를 검출하는 단계;
    (f) 검출된 눈동자를 기반으로 얼굴의 특징점을 추출하는 단계; 및,
    (g) 추출된 특징점을 이용하여 인증값을 생성하여 저장하는 단계를 포함하고,
    상기 (d)단계에서, 상기 관심영역을 X축과 Y축으로 4등분하고, X1, Y1 영역에서 검출되는 내용에 대해서만 눈 영역 후보로 설정하고, 왼쪽 눈과 오른쪽 눈을 따로따로 검출하고 좌표 값을 저장하고, 코를 검출할 경우 왼쪽 눈의 중심점과 오른쪽 눈의 중심점 사이인 X2, Y2 의 영역에서 검출되는 내용에 대해서만 코 영역으로 지정하는 조건을 설정하는 것을 특징으로 하는 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법.
  2. 제1항에 있어서,
    상기 (c)단계에서, 상기 원 영상을 그레이 영상으로 변환하고, 상기 그레이 영상에 하르 캐스케이드를 적용하여 얼굴을 검출하는 것을 특징으로 하는 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 (e)단계에서, 눈 영역을 이진화를 진행하고 에지(Edge)를 추출하고, 추출된 에지 영상에서 휴(Hough) 변환을 통해 원을 검출하여, 검출된 원을 눈동자로 검출하는 것을 특징으로 하는 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법.
  5. 제1항 내지 제2항, 및, 제4항 중 어느 한 항의 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020160096656A 2016-07-29 2016-07-29 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법 KR102487223B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160096656A KR102487223B1 (ko) 2016-07-29 2016-07-29 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160096656A KR102487223B1 (ko) 2016-07-29 2016-07-29 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법

Publications (2)

Publication Number Publication Date
KR20180014317A KR20180014317A (ko) 2018-02-08
KR102487223B1 true KR102487223B1 (ko) 2023-01-12

Family

ID=61232437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160096656A KR102487223B1 (ko) 2016-07-29 2016-07-29 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법

Country Status (1)

Country Link
KR (1) KR102487223B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549838B (zh) * 2018-03-13 2022-01-14 心科(上海)网络科技有限公司 一种基于视觉系统的辅助监督方法
KR20200067465A (ko) 2018-12-04 2020-06-12 삼성전자주식회사 영상 처리 방법 및 장치
CN109901716B (zh) * 2019-03-04 2022-08-26 厦门美图之家科技有限公司 视线点预测模型建立方法、装置及视线点预测方法
CN113626786A (zh) * 2021-08-11 2021-11-09 深圳市宝泽科技有限公司 局域无线网内设备管理方法、装置、存储介质及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101387775B1 (ko) * 2013-02-14 2014-04-21 인하대학교 산학협력단 강화학습을 이용한 눈동자 추적 시스템 및 그 추적 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102205498B1 (ko) * 2014-09-18 2021-01-20 삼성전자주식회사 입력 영상으로부터 특징을 추출하는 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101387775B1 (ko) * 2013-02-14 2014-04-21 인하대학교 산학협력단 강화학습을 이용한 눈동자 추적 시스템 및 그 추적 방법

Also Published As

Publication number Publication date
KR20180014317A (ko) 2018-02-08

Similar Documents

Publication Publication Date Title
Sharifara et al. A general review of human face detection including a study of neural networks and Haar feature-based cascade classifier in face detection
Schwartz et al. Face spoofing detection through partial least squares and low-level descriptors
Chakraborty et al. An overview of face liveness detection
Das et al. Recent advances in biometric technology for mobile devices
KR102487223B1 (ko) 눈동자 추적 기반의 하르유사특징을 이용한 얼굴인증 방법
Kalas Real time face detection and tracking using OpenCV
Carlos-Roca et al. Facial recognition application for border control
Mahmud et al. Face detection and recognition system
Lahiani et al. Hand pose estimation system based on Viola-Jones algorithm for android devices
Sun et al. Opportunities and challenges for biometrics
del Rio et al. Face-based recognition systems in the ABC e-gates
Sithara et al. A survey on face recognition technique
US11087121B2 (en) High accuracy and volume facial recognition on mobile platforms
CN108875472B (zh) 图像采集装置及基于该图像采集装置的人脸身份验证方法
Lee et al. Automatic number recognition for bus route information aid for the visually-impaired
Majumder et al. Automatic eye detection using fast corner detector of north east indian (NEI) face images
Mishra et al. Integrating State-of-the-Art Face Recognition and Anti-Spoofing Techniques into Enterprise Information Systems
Peng et al. A software framework for PCa-based face recognition
Hbali et al. Object detection based on HOG features: Faces and dual-eyes augmented reality
Li et al. Face anti-spoofing methods based on physical technology and deep learning
Srivastava et al. Face Verification System with Liveness Detection
RAO EXPERIMENTAL INVESTIGATIONS TO FACE RECOGNITION USING OPENCV FOR MONITORING TURNOUT TIME
Bari et al. Android based object recognition and motion detection to aid visually impaired
Iannitelli et al. Ubiquitous face-ear recognition based on frames sequence capture and analysis
US20230342947A1 (en) Determination method, storage medium, and information processing apparatus

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right