KR102177453B1 - 얼굴 인식 방법 및 얼굴 인식 장치 - Google Patents

얼굴 인식 방법 및 얼굴 인식 장치 Download PDF

Info

Publication number
KR102177453B1
KR102177453B1 KR1020180123067A KR20180123067A KR102177453B1 KR 102177453 B1 KR102177453 B1 KR 102177453B1 KR 1020180123067 A KR1020180123067 A KR 1020180123067A KR 20180123067 A KR20180123067 A KR 20180123067A KR 102177453 B1 KR102177453 B1 KR 102177453B1
Authority
KR
South Korea
Prior art keywords
face
detected
image frame
list
identity
Prior art date
Application number
KR1020180123067A
Other languages
English (en)
Other versions
KR20200046152A (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 KR1020180123067A priority Critical patent/KR102177453B1/ko
Priority to PCT/KR2019/013257 priority patent/WO2020080734A1/ko
Priority to US17/280,928 priority patent/US11594073B2/en
Publication of KR20200046152A publication Critical patent/KR20200046152A/ko
Application granted granted Critical
Publication of KR102177453B1 publication Critical patent/KR102177453B1/ko

Links

Images

Classifications

    • G06K9/00221
    • 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/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/172Classification, e.g. identification
    • G06V40/173Classification, e.g. identification face re-identification, e.g. recognising unknown faces across different face tracks
    • G06K9/481
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • 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/161Detection; Localisation; Normalisation
    • 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/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • 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/50Maintenance of biometric data or enrolment thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은, 이미지 프레임에서 하나 이상의 얼굴을 검출하는 단계, 검출된 하나 이상의 얼굴 정보를 이용하여 얼굴 리스트의 얼굴 객체를 갱신하는 단계 및 갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계를 포함하는, 얼굴 인식 방법 및 얼굴 인식 장치에 관한 것이다.

Description

얼굴 인식 방법 및 얼굴 인식 장치{FACE RECOGNITION METHOD AND FACE RECOGNITION APPARATUS}
본 발명은 얼굴 인식 방법 및 얼굴 인식 장치에 관한 것으로서, 구체적으로는 다양한 얼굴 검출 기법의 적용과 검출된 얼굴에 대한 통계적 처리로 높은 정확도로 실시간 얼굴 인식이 가능한 얼굴 인식 방법 및 얼굴 인식 장치에 관한 것이다.
딥 러닝(Deep Learning) 기술의 발전에 따라 딥 러닝 기술을 통해 이미지 속에서 높은 정확도로 객체를 탐지하고 인식하는 것이 가능하게 되었다. 이에 따라, 이미지 속에서 문자를 탐지하고 인식하거나 CCTV로부터의 영상 속에서 특정 대상의 얼굴을 탐지해내는 연구가 활발하게 이루어지고 있다.
얼굴 인식은 이미지 속 피사체의 얼굴에서 특징을 추출하여 누구의 얼굴인지 판단하는 컴퓨터 비전의 한 분야로써 보안 등의 분야에서 가장 활발하게 연구되고 있다.
영상 속에서 얼굴을 인식하는 시스템은 얼굴 검출(탐지)과 얼굴 인식 과정으로 이루어진다. 얼굴 검출은 이미지 속에서 사람의 얼굴을 탐지해내는 단계이고 얼굴 인식은 탐지된 얼굴이 누구의 얼굴인지를 판별한다.
딥 러닝 기술 기반의 얼굴 검출 및 인식은 높은 정확도로 이미지 속에서 얼굴을 찾고 인식하는 것이 가능하다. 그러나 딥 러닝 기술의 구현에 필요한 많은 연산량으로 인해 수행시간이 느린 문제점이 있다. 따라서 고해상도의 영상을 실시간으로 처리하는 데는 한계가 존재한다.
특히, 최근 고해상도의 CCTV 등의 영상 장비가 널리 보급되면서, 딥 러닝 기술과 같이 높은 정확도를 가지면서 고해상도의 영상을 실시간으로 처리하기 위한 얼굴 인식 시스템의 개발 필요성이 있다.
10-1850286호(B1), 2018년04월19일
본 발명은, 상술한 문제점을 해결하기 위해서 안출한 것으로서, 높은 얼굴 인식률로 이미지로부터 실시간 얼굴 인식이 가능한 얼굴 인식 방법 및 얼굴 인식 장치를 제공하는 데 그 목적이 있다.
또한, 본 발명은 딥 러닝 기반의 얼굴 검출과 더불어 다른 얼굴 검출 기법과 얼굴 추적기를 혼용 적용하여 딥 러닝 기반의 얼굴 검출 대비 얼굴 검출률의 하락 없이 실시간으로 이미지에서 얼굴을 검출할 수 있는 얼굴 인식 방법 및 얼굴 인식 장치를 제공하는 데 그 목적이 있다.
또한, 본 발명은 일련의 이미지 프레임으로부터 추출된 얼굴 객체의 정보에 대한 통계적 처리로 얼굴 인식시에 영상 속의 피사체의 움직임에 따라 발생하는 이미지 품질, 각도, 조명 변화 등에 따른 인식률의 하락 없이 높은 얼굴 인식률을 가지는 얼굴 인식 방법 및 얼굴 인식 장치를 제공하는 데 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상에 따른 얼굴 인식 방법은 이미지 프레임에서 하나 이상의 얼굴을 검출하는 단계, 검출된 하나 이상의 얼굴 정보를 이용하여 얼굴 리스트의 얼굴 객체를 갱신하는 단계 및 갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계를 포함한다.
상기한 얼굴 인식 방법에 있어서, 얼굴을 검출하는 단계는, 이미지 프레임이 지정된 주기에 따른 이미지 프레임인 경우 딥 러닝 얼굴 검출 알고리즘에 따라 이미지 프레임에 대해 얼굴을 검출하고, 이미지 프레임이 지정된 주기에 따른 이미지 프레임이 아닌 경우 HOG(Histogram of Oriented Gradients) 기반 얼굴 검출 알고리즘에 따라 이미지 프레임에 대해 얼굴을 검출하며, HOG 기반 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수는 딥 러닝 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수보다 많다.
상기한 얼굴 인식 방법에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 얼굴 객체와 검출된 얼굴들 사이의 IOU(Intersection over Union) 값을 계산하고 계산된 IOU 값이 임계치 이상인 경우 얼굴 객체의 얼굴 위치를 검출된 얼굴의 위치로 변경한다.
상기한 얼굴 인식 방법에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 모든 검출된 얼굴들 사이의 계산된 IOU 값들이 임계치 미만인 경우에 얼굴 트래커를 이용하여 얼굴 객체를 추적하고 얼굴 검출 실패 횟수가 지정된 횟수 이상인 경우 상기 얼굴 객체를 얼굴 리스트에서 제거한다.
상기한 얼굴 인식 방법에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 IOU 값의 계산과 임계치 비교를 통해 검출된 얼굴이 상기 얼굴 리스트의 모든 얼굴 객체에 맵핑되지 못하는 경우 검출된 얼굴을 나타내는 신규의 얼굴 객체를 상기 얼굴 리스트에 생성한다.
상기한 얼굴 인식 방법에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 얼굴 객체에 대응하는 검출된 얼굴 데이터로부터 특징 벡터를 추출하고 복수의 얼굴 객체에 대응하는 단일의 검출 얼굴이 존재하는 경우 단일의 검출 얼굴 데이터로부터의 특징 벡터와 복수의 얼굴 객체에 대응하는 특징 벡터 사이의 유사도에 따라 복수의 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴의 특징 벡터를 맵핑시킨다.
상기한 얼굴 인식 방법에 있어서, 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계는 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들 각각을 이용하여 이루어진 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정한다.
상기한 얼굴 인식 방법에 있어서, 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계는 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들로부터 평균 특징 벡터를 산출하고 산출된 평균 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식한다.
본 발명의 일 양상에 따른 얼굴 인식 장치는 하나 이상의 이미지 프레임을 수신하는 이미지 수신유닛, 수신된 이미지 프레임과 인식된 하나 이상의 얼굴 객체를 나타내는 얼굴 리스트를 저장하는 저장유닛 및 수신된 이미지 프레임에서 하나 이상의 얼굴을 검출하고 검출된 하나 이상의 얼굴 정보를 이용하여 저장유닛의 얼굴 리스트의 얼굴 객체를 갱신하며 갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 제어유닛을 포함한다.
상기한 얼굴 인식 장치에 있어서, 하나 이상의 얼굴 검출을 위해, 제어유닛은 이미지 프레임이 지정된 주기에 따른 이미지 프레임인 경우 딥 러닝 얼굴 검출 알고리즘에 따라 이미지 프레임에 대해 얼굴을 검출하고, 이미지 프레임이 지정된 주기에 따른 이미지 프레임이 아닌 경우 제어유닛의 GPU(Graphics Processing Unit)로 가속화된 HOG 기반 얼굴 검출 알고리즘에 따라 이미지 프레임에 대해 얼굴을 검출하며, HOG 기반 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수는 딥 러닝 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수보다 많다.
상기한 얼굴 인식 장치에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하기 위해, 제어유닛은 얼굴 객체와 검출된 얼굴들 사이의 IOU(Intersection over Union) 값을 계산하고 계산된 IOU 값이 임계치 이상인 경우 얼굴 객체의 얼굴 위치를 검출된 얼굴의 위치로 변경한다.
상기한 얼굴 인식 장치에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하기 위해, 제어유닛은 모든 검출된 얼굴들 사이의 계산된 IOU 값들이 임계치 미만인 경우에 얼굴 트래커를 이용하여 얼굴 객체를 추적하고 얼굴 검출 실패 횟수가 지정된 횟수 이상인 경우 얼굴 객체를 얼굴 리스트에서 제거한다.
상기한 얼굴 인식 장치에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하기 위해, 제어유닛은 IOU 값의 계산과 임계치 비교를 통해 검출된 얼굴이 얼굴 리스트의 모든 얼굴 객체에 맵핑되지 못하는 경우 검출된 얼굴을 나타내는 신규의 얼굴 객체를 얼굴 리스트에 생성한다.
상기한 얼굴 인식 장치에 있어서, 얼굴 리스트의 얼굴 객체를 갱신하기 위해, 제어유닛은 얼굴 객체에 대응하는 검출된 얼굴 데이터로부터 특징 벡터를 추출하고 복수의 얼굴 객체에 대응하는 단일의 검출 얼굴이 존재하는 경우 단일의 검출 얼굴 데이터로부터의 특징 벡터와 복수의 얼굴 객체에 대응하는 특징 벡터 사이의 유사도에 따라 복수의 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴의 특징 벡터를 맵핑시킨다.
상기한 얼굴 인식 장치에 있어서, 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하기 위해, 제어유닛은 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들 각각을 이용하여 이루어진 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정한다.
상기와 같은 본 발명에 따른 얼굴 인식 방법 및 얼굴 인식 장치는 높은 얼굴 인식률로 이미지로부터 실시간 얼굴 인식이 가능한 효과가 있다.
또한, 상기와 같은 본 발명에 따른 얼굴 인식 방법 및 얼굴 인식 장치는 딥 러닝 기반의 얼굴 검출과 더불어 다른 얼굴 검출 기법과 얼굴 추적기를 혼용 적용하여 딥 러닝 기반의 얼굴 검출 대비 얼굴 검출률의 하락 없이 실시간으로 이미지에서 얼굴을 검출할 수 있는 효과가 있다.
또한, 상기와 같은 본 발명에 따른 얼굴 인식 방법 및 얼굴 인식 장치는 일련의 이미지 프레임으로부터 추출된 얼굴 객체의 정보에 대한 통계적 처리로 얼굴 인식시에 영상 속의 피사체의 움직임에 따라 발생하는 이미지 품질, 각도, 조명 변화 등에 따른 인식률의 하락 없이 높은 얼굴 인식률을 가지는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 얼굴 인식 시스템에 구성되는 장치간 연결 구성의 예를 도시한 도면이다.
도 2는 얼굴 인식 장치의 예시적인 구성을 나타내는 블록도이다.
도 3은 특정 영상 장치로부터 수신되는 이미지 프레임들로부터 얼굴 검출과 신원을 인식하는 주요 제어 흐름을 도시한 도면이다.
도 4는 얼굴 검출을 위한 상세 제어 흐름을 도시한 도면이다.
도 5는 얼굴 리스트의 예시적인 구성을 나타내는 도면이다.
도 6은 얼굴 리스트의 갱신을 위한 상세 제어 흐름을 도시한 도면이다.
도 7은 신원 인식을 위한 상세 제어 흐름을 도시한 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은 얼굴 인식 시스템에 구성되는 장치간 연결 구성의 예를 도시한 도면이다.
도 1의 예와 같이, 얼굴 인식 시스템은 얼굴 인식 장치(100), 하나 이상의 영상 장치(200)를 포함하고, 얼굴 인식 장치(100)와 영상 장치(200)는 통신망을 통해 연결된다.
본 발명에 따른 얼굴 인식 시스템은 이미지 프레임으로부터 얼굴을 검출하고 검출된 얼굴의 신원을 인식할 수 있도록 구성된다. 본 얼굴 인식 시스템은 다양한 분야에서 활용될 수 있다. 예를 들어, 얼굴 인식 시스템은 출입 제어용 시스템에 이용되거나 보안 시스템 등에 적용될 수 있다.
얼굴 인식 시스템의 구성 요소를 간단히 살펴보면, 영상 장치(200)는 카메라를 구비하여 카메라 렌즈를 통해 노출되는 영상을 캡쳐링한다. 영상 장치(200)는 캡쳐링된 일련의 이미지 프레임들을 압축, 비압축 등의 알려진 포맷의 패킷으로 통신망을 통해 얼굴 인식 장치(100)로 전송할 수 있다.
영상 장치(200)는 보안 분야나 출입제어 분야 등에서 이용 가능한 CCTV, 카메라, 네트워크 카메라 등일 수 있다. 또는, 영상 장치(200)는 휴대폰, 스마트폰, 태블릿 PC, 노트북, 개인용 컴퓨터 등일 수 있다. 영상 장치(200)는 적어도 카메라( 센서)를 구비하여 카메라로부터 캡쳐링되는 일련의 이미지 프레임을 압축이나 비압축 데이터 포맷에 따라 얼굴 인식 장치(100)로 전송 가능하다.
얼굴 인식 장치(100)는 하나 이상의 영상 장치(200)에 연결되어 영상 장치(200)로부터의 이미지 프레임에서 얼굴을 검출하고 나아가 검출된 얼굴의 신원을 인식한다. 얼굴 인식 장치(100)는 인식된 신원에 따라 각종 응용에 따른 조치나 기능을 수행할 수 있다.
얼굴 인식 장치(100)는 다수의 영상 장치(200)에 연결되어 영상 장치(200)로부터의 일련의 이미지 프레임들에서 얼굴을 인식하고 추적할 수 있도록 구성된다. 얼굴 인식 장치(100)는 인터넷망(통신망) 등에 연결되는 서버로서 동작할 수 있다. 예를 들어, 얼굴 인식 장치(100)는 다수의 영상 장치(200)에 연결되어 다수의 영상 장치(200) 각각으로부터의 일련의 이미지 프레임에서 얼굴 검출 및 신원을 인식하고 인식된 신원에 따라 각종 기능이나 조치를 취할 수 있는 보안(관제) 서버일 수 있다.
다른 변형으로, 얼굴 인식 장치(100)는 개인이 휴대하거나 거치 가능한 개인용 기기일 수 있다. 예를 들어, 얼굴 인식 장치(100)는 휴대폰, 스마트폰, 태블릿 PC, 개인용 컴퓨터, 노트북 등일 수 있다. 이 경우, 영상 장치(200)는 개인용 기기 내에 내장되어 개인용 기기 내부의 통신망에 따라 캡쳐링된 일련의 이미지 프레임을 전송할 수 있다. 개인용 기기에 내장되는 영상 장치(200)는 카메라 센서와 카메라 렌즈 등을 적어도 포함하여 개인용 기기에 내장 가능하다.
통신망은 하나 이상의 영상 장치(200)에서 캡쳐링된 영상을 얼굴 인식 장치(100)로 전송한다. 통신망은 얼굴 인식 장치(100)와 영상 장치(200)의 구현 예에 따라 다양한 구성 예를 가질 수 있다. 예를 들어, 통신망은 인터넷망이나 이동통신망 등의 광대역 네트워크이거나 이더넷, 무선랜 등의 근거리 네트워크이거나 개인용 기기 내부에서 데이터를 프로세서 등으로 전송하기 위한 비디오신호 전용의 내장(embedded) 버스(bus)일 수 있다.
도 2는 얼굴 인식 장치(100)의 예시적인 구성을 나타내는 블록도이다.
도 2에 따르면, 얼굴 인식 장치(100)는 이미지 수신유닛(110), 저장유닛(130), 연결유닛(150) 및 제어유닛(170)을 포함한다. 도 2의 블록도는 바람직하게는 기능 블록도를 나타내고 대응하는 하드웨어 블록을 각 기능 블록들은 구비한다. 예를 들어, 얼굴 인식 장치(100)는 하나 이상의 PC, 워크스테이션 및/또는 서버 프레임의 하나 이상의 조합으로 구성되는 서버일 수 있다. 또는, 얼굴 인식 장치(100)는 스마트폰, 태블릿 PC 등의 개인용 기기일 수 있다.
도 2를 통해, 얼굴 인식 장치(100)의 각 구성 요소를 하드웨어와 관련하여 살펴보면, 이미지 수신유닛(110)은 이미지 프레임을 수신한다. 이미지 수신유닛(110)은 무선랜 및/또는 유선랜 통신칩셋과 안테나 등을 구비하여 광대역 네트워크나 근거리 네트워크를 통해 각각의 영상 장치(200)로부터 일련의 이미지 프레임을 통신 패킷을 등을 통해 수신한다. 또는, 이미지 수신유닛(110)은 내장 버스를 통해 카메라로부터 일련의 이미지 프레임의 비디오 신호(데이터)를 수신할 수 있다.
이미지 수신유닛(110)을 통해 수신되는 일련의 이미지 프레임은 영상 장치(200)와의 약속된 포맷에 따라 압축되거나 압축되지 않을 수 있다.
저장유닛(130)은 휘발성 메모리, 비휘발성 메모리 및/또는 하드디스크 등의 대용량 저장매체를 포함하여 각종 데이터와 프로그램을 저장한다. 예를 들어, 저장유닛(130)은 비휘발성 메모리나 하드디스크 등에 얼굴 검출과 인식에 이용될 각종 프로그램을 저장한다.
저장유닛(130)은 얼굴 검출 제어 프로그램, 딥 러닝 기반의 얼굴 검출 프로그램, HOG(Histogram of Oriented Gradients, 경사 지향 히스토그램) 기반의 얼굴 검출 프로그램, 얼굴 트래커 프로그램, 얼굴 인식 프로그램 등을 저장한다.
HOG 기반의 얼굴 검출 프로그램은 N. Dalal에 의해 제안(N. Dalal and B. Triggs, "Histograms of oriented gradients for human detection", Proc. IEEE Comput. Vis. Pattern Recog., 2005, pp.886-893)되었고 객체 탐지에 사용되는 특징 기술자의 한 종류로, 국부적인 그래디언트를 계산하고 이를 히스토그램화하여 객체의 특징으로 이용한다. HOG 기반의 객체(얼굴) 검출 알고리즘은 딥 러닝 기반의 얼굴 검출 알고리즘 보다 빠른 수행 속도를 가지나 딥 러닝 기반의 얼굴 검출 알고리즘 보다 낮은 얼굴 검출율을 가진다.
얼굴 트래커 프로그램은 예를 들어, KCF(Kernelized Correlation Filters) 트랙커(Tracker)(HENRIQUES, Joao F., et al. High-speed tracking with kernelized correlation filters. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37.3: 583-596) 등 일 수 있다. 얼굴 인식 프로그램은 딥 러닝 또는 인공신경망 등을 통해 학습이 이루어지고 얼굴 특징 벡터로부터 얼굴의 신원의 인식(분류)이 가능한 SVM(Support Vector Machine)을 이용하는 프로그램일 수 있다.
저장유닛(130)은 얼굴 객체 갱신 프로그램을 더 저장한다. 얼굴 객체 갱신 프로그램은 각 영상 장치(200)에 대응하는 얼굴 리스트(131)에 포함된 얼굴 객체를 관리하고 갱신하기 위한 프로그램이다. 얼굴 객체 갱신 프로그램은 수신된 이미지 프로그램에서 검출된 하나 이상의 얼굴 정보(데이터)를 이용하여 얼굴 리스트(131)상의 얼굴 객체를 수정, 변경, 추가, 제거 등을 수행 가능하다.
얼굴 객체 갱신 프로그램은 검출된 얼굴로부터 얼굴의 특징 벡터를 추출할 수 있도록 구성될 수 있다. 얼굴 객체 갱신 프로그램은 알려진 얼굴 특징 추출 프로그램을 내장하여 얼굴 특징 벡터를 추출할 수 있고 예를 들어 OpenFace 프로그램이나 알려진 다른 특징 벡터 추출 프로그램을 내장하거나 사용하여 128차원 등의 얼굴 특징 벡터를 추출할 수 있다.
여기서, 저장유닛(130)에 저장되는 프로그램들은 독립적인 프로그램이거나 특정 프로그램 프레임워크에 내장되는 프로그램 모듈일 수 있다. 각각의 프로그램들은 다른 프로그램과 연계되어 각종 기능을 수행 가능하다.
저장유닛(130)은 그 외 각각의 영상 장치(200)로부터의 일련의 이미지 프레임들을 저장하고 각 영상 장치(200)로부터 검출되거나(고) 인식된 얼굴 객체를 하나 이상 나타내는 얼굴 리스트(131)를 저장한다. 저장유닛(130)은 복수의 영상 장치(200)에 각각 대응하는 복수의 얼굴 리스트(131)를 저장할 수 있다.
얼굴 리스트(131)는 하나 이상의 얼굴 객체를 포함하고 각각의 얼굴 객체는 일련의 이미지 프레임들에서의 특정 얼굴의 특성들이나 검출된 위치 데이터 등을 저장한다. 얼굴 리스트(131)의 얼굴 객체를 통해 여러 이미지 프레임에서 추출되거나 인식된 각종 특성 정보를 이용하여 특정 얼굴을 효율적으로 추적 관리 가능하다.
저장유닛(130)은 신원 리스트를 더 포함할 수 있다. 신원 리스트는 특징 벡터와 대응하는 개인 신원 정보를 포함한다. 특징 벡터는 얼굴로부터 추출될 수 있고 예를 들어 128차원의 특징 벡터일 수 있다. 개인 신원 정보는 이름, 주민번호, 관리번호 등의 개인 식별자를 포함하거나 나타낸다.
연결유닛(150)은 얼굴 인식 장치(100) 내의 블록 간 데이터를 송수신한다. 연결 유닛은 유선랜, 무선랜 등의 근거리 네트워크, 장치 내에 내장되는 병렬 버스나 시리얼 버스 등을 구비하여 각종 데이터를 송수신한다.
제어유닛(170)은 하나 이상의 실행 유닛을 구비하여 저장유닛(130)에 저장되어 있는 프로그램을 로딩하고 실행 유닛을 통해서 프로그램의 명령어 코드를 실행하여 얼굴 인식 장치(100)를 제어한다.
제어유닛(170)은 프로그램의 명령어 코드를 수행 가능한 다수의 실행 유닛을 구비할 수 있다. 예를 들어, 제어유닛(170)은 메인 프로세서(171)(main processor)와 GPU(173)(Graphics Processing Unit)를 구비하여 저장유닛(130)의 프로그램을 메인 프로세서(171) 및/또는 GPU(173)에 로딩하여 얼굴 인식 장치(100)를 제어하여 얼굴을 검출하고 신원을 인식할 수 있다.
제어유닛(170)은 저장유닛(130)에 저장된 프로그램을 이용하여 영상 장치(200)로부터 수신된 이미지 프레임에서 하나 이상의 얼굴을 검출한다. 얼굴 검출에서 저장유닛(130)의 딥 러닝 기반의 얼굴 검출 알고리즘(프로그램)이 이용되거나 HOG(Histogram of Oriented Gradients) 기반의 얼굴 검출 알고리즘(프로그램)이 이용될 수 있다. 나아가, 얼굴 검출(예를 들어, HOG 기반의 얼굴 검출)에서 기존에 인식된 얼굴이 현재의 이미지 프레임에서 검출되지 않는 경우에 얼굴 추적 알고리즘(프로그램 )에 따라 특정 얼굴을 추적할 수 있다.
제어유닛(170)은 검출된 하나 이상의 얼굴 정보를 이용하여 저장유닛(130)의 수신된 이미지 프레임에 맵핑되어 있는 영상 장치(200)의 얼굴 리스트(131)를 갱신한다. 얼굴 리스트(131)의 갱신 과정에서 얼굴 객체가 또한 갱신된다. 제어유닛(170)은 얼굴 객체 갱신 프로그램을 이용하여 얼굴 검출 알고리즘에 따라 검출된 하나 이상의 얼굴( 정보)을 이용하여 얼굴 리스트(131)의 얼굴 객체를 갱신한다.
제어유닛(170)은 갱신된 얼굴 리스트(131)의 얼굴 객체에 대응하는 일련의 이미지 프레임으로부터의 추출되는 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식한다. 제어유닛(170)은 저장유닛(130)의 얼굴 인식 프로그램을 수행하여 갱신된 얼굴 리스트(131)의 얼굴 객체의 복수의 특징 벡터를 이용하여 각 얼굴 객체에 대응하는 신원을 인식할 수 있다.
얼굴 검출, 얼굴 리스트(131) 갱신 및 신원 인식과 관련하여 제어유닛(170)에서 이루어지는 제어 흐름은 도 3 이하에서 상세히 살펴보도록 한다.
도 3은 특정 영상 장치(200)로부터 수신되는 이미지 프레임들로부터 얼굴 검출과 신원을 인식하는 주요 제어 흐름을 도시한 도면이다.
도 3의 제어 흐름은 얼굴 인식 장치(100)에서 수행되고 각각의 영상 장치(200)에 대해 그 얼굴 검출과 신원 인식이 이루어진다. 즉, 도 3의 제어 흐름은 각각의 영상 장치(200)별로 수행된다. 도 3의 제어 흐름은 저장유닛(130)의 각종 프로그램을 로딩하여 수행하는 제어유닛(170)의 제어를 통해 바람직하게 이루어진다.
먼저, 얼굴 인식 장치(100)가 부팅되거나 사용자의 요청에 따라 본 제어 흐름이 시작(S10)하고, 얼굴 인식 장치(100)(의 제어유닛(170))는 영상 장치(200)에 대응하는 저장유닛(130)의 얼굴 리스트(131)와 변수를 초기화(S20)한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 영상 장치(200)의 얼굴 리스트(131)를 널 리스트로 구성하고 처리할 이미지 프레임 넘버를 0으로 초기화한다. 얼굴 리스트(131)는 하나 이상의 얼굴 객체를 포함하거나 저장 가능하다. 이미지 프레임 넘버는 처리하고 있는 이미지 프레임의 프레임 번호일 수 있다. 이미지 프레임 넘버는 일련의 숫자로 표현될 수 있다.
초기화에 후속하여, 얼굴 인식 장치(100)(의 제어유닛(170))는 수신되어 저장유닛(130)에 저장되어 있는 이미지 프레임에서 하나 이상의 얼굴을 검출하고 검출된 얼굴을 나타내는 얼굴 정보를 구성(S30)한다. 얼굴 검출 과정에서 얼굴 인식 장치(100)(의 제어유닛(170))는 딥 러닝 기반의 얼굴 검출 알고리즘이나 HOG 기반의 얼굴 검출 프로그램을 이용하고 나아가 얼굴 추적 프로그램을 더 이용 가능하다.
얼굴 검출에 관련된 구체적인 내용은 도 4에서 좀 더 상세히 살펴보도록 한다.
얼굴 검출에 후속하여, 얼굴 인식 장치(100)(의 제어유닛(170))는 검출된 하나 이상의 얼굴 정보를 이용하여 영상 장치(200)에 대응하는 얼굴 리스트(131)의 얼굴 객체를 갱신(S40)한다. 예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체 갱신 프로그램을 수행하여 검출된 하나 이상의 얼굴 정보에 기초하여 얼굴 리스트(131)에 얼굴 객체를 추가하거나 얼굴 객체를 변경하거나 얼굴 객체를 제거할 수 있다.
얼굴 리스트(131)의 갱신에 관련된 구체적인 내용은 도 6을 통해 좀 더 상세히 살펴보도록 한다.
얼굴 리스트(131)의 갱신 이후에, 얼굴 인식 장치(100)(의 제어유닛(170))는 갱신된 얼굴 리스트(131)의 각각의 얼굴 객체에 대응하는 신원을 인식(S50)한다. 얼굴 인식 프로그램을 수행하는 얼굴 인식 장치(100)(의 제어유닛(170))는 각각의 얼굴 객체에 대응하여 저장되어 있는 복수의 특징 벡터를 이용하여 저장유닛(130)의 신원 리스트의 특징 벡터와의 비교를 통해 각 얼굴 객체에 대응하는 신원을 인식 가능하다. 얼굴 객체에 대응하여 저장되는 복수의 특징 벡터 각각은 해당 영상 장치(200)로부터 수신되는 이미지 프레임들 각각에서 검출되는 얼굴 데이터로부터 추출되는 특징 벡터이다.
얼굴 객체의 신원이 인식됨에 따라, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체에 신원 정보를 기록하고 종료 조건에 도달한 지를 판단(S60)한다. 종료 조건은 예를 들어 영상 장치(200)의 통신 연결이 끊어지거나 마지막 이미지 프레임 넘버이거나 종료 입력의 수신 등일 수 있다.
만일, 종료 조건에 도달하지 못한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 후속하여 수신되는 이미지 프레임을 대상으로 얼굴 검출(S30), 얼굴 객체 갱신(S40) 및 신원 인식(S50)을 반복 수행할 수 있다.
종료 조건에 도달한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 특정 영상 장치(200)에 대한 얼굴 인식을 종료(S70)할 수 있다.
도 4는 얼굴 검출을 위한 상세 제어 흐름을 도시한 도면이다.
도 4의 제어 흐름은 얼굴 인식 장치(100)에서 이루어지고 바람직하게는 제어유닛(170)이 얼굴 검출 제어 프로그램에 따라 딥 러닝 기반의 얼굴 검출 프로그램과 HOG 기반의 얼굴 검출 프로그램을 수행함에 따라 이루어진다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 검출 제어 프로그램에 따라 영상 장치(200) 등으로부터 수신되어 저장유닛(130)에 저장된 이미지 프레임을 휘발성 메모리 등에 로딩(S301)한다. 저장유닛(130)은 각 영상 장치(200)로부터 수신되는 일련의 이미지 프레임을 저장할 수 있고 얼굴 인식 장치(100)(의 제어유닛(170))는 일련의(연속된) 이미지 프레임들 중 얼굴 인식에 이용되지 않은 이미지 프레임(예를 들어, 이용되지 않은 프레임 중 수신 시각이 가장 오래되거나 프레임 넘버가 가장 작은 프레임)을 선택하여 휘발성 메모리 등에 로딩할 수 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 검출 제어 프로그램에 따라 이미지 프레임 넘버를 1 증가(S303)시켜 현재 이미지 프레임의 프레임 번호를 갱신한다. 이미지 프레임에 프레임 넘버가 포함된 경우 이미지 프레임 넘버는 이미지 프레임의 프레임 넘버로 갱신될 수도 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 검출 제어 프로그램에 따라 현재의 이미지 프레임이 딥 러닝 수행 주기에 대응하는 이미지 프레임인지를 판단(S305)한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 현재 이미지 프레임 넘버를 딥 러닝 수행 주기로 모듈러 연산(%)하여 그 결과가 0인 지로 현재 이미지 프레임이 딥 러닝 수행 주기에 따른 이미지 프레임인지를 판단할 수 있다. 딥 러닝 수행 주기는 10( 이미지 프레임), 5( 이미지 프레임)등으로 설정될 수 있다.
딥 러닝 수행 주기는 적어도 3 이상으로 설정되어 얼굴 검출에 있어, HOG 기반의 얼굴 검출 알고리즘(프로그램)에 따른 얼굴 검출 횟수가 딥 러닝 얼굴 검출 알고리즘(프로그램)에 따른 얼굴 검출 횟수보다 더 많도록 바람직하게 구성된다.
현재의 이미지 프레임이 딥 러닝 주기에 대응하는 이미지 프레임인 경우에, 얼굴 인식 장치(100)(의 제어유닛(170))는 딥 러닝 기반의 얼굴 검출 프로그램을 수행하여 현재 이미지 프레임에 대해 딥 러닝 얼굴 검출 알고리즘에 따라 얼굴을 검출(S307)한다.
현재의 이미지 프레임이 딥 러닝 주기에 대응하는 이미지 프레임이 아닌 경우에, 얼굴 인식 장치(100)(의 제어유닛(170))는 HOG 기반의 얼굴 검출 프로그램을 수행하여 현재 이미지 프레임에 대해 HOG 기반의 얼굴 검출 알고리즘에 따라 얼굴을 검출(S309)한다. 얼굴 인식 장치(100)(의 제어유닛(170))는 바람직하게는 HOG 기반의 얼굴 검출 프로그램의 전부 또는 일부를 GPU(173)에서 수행시켜 HOG 기반의 얼굴 검출을 가속화한다.
딥 러닝 얼굴 검출 알고리즘과 HOG 기반의 얼굴 탐지 알고리즘을 혼용 사용함에 따라, 딥 러닝 얼굴 검출 알고리즘이 적용된 이미지 프레임에서는 높은 검출율(탐지율)로 얼굴 검출이 가능하고 HOG 기반의 얼굴 탐지 알고리즘이 적용된 이미지 프레임에서는 비록 낮은 검출율을 가지지만 빠른 속도로 얼굴 검출이 가능하다. 얼굴 검출율이 낮은 이미지 프레임에서의 얼굴 검출은 도 5와 도 6에서 살펴볼 바와 같이 얼굴 객체의 다른 정보나 데이터를 더 활용하여 딥 러닝 얼굴 검출 알고리즘과 동일하거나 유사한 얼굴 검출율로 그 검출이 이루어질 수 있다.
얼굴 검출 알고리즘에 따라, 얼굴 인식 장치(100)(의 제어유닛(170))는 이미지 프레임에서 0개 이상의 얼굴을 검출하고 검출된 얼굴을 특정하는 얼굴 박스(box)를 인식 가능하다. 하나 이상의 얼굴 박스는 이미지 프레임 내에서의 직사각형의 좌표영역(상,하,좌,우 좌표값)으로 표현될 수 있다.
도 5는 얼굴 리스트(131)의 예시적인 구성을 나타내는 도면이다.
도 5의 얼굴 리스트(131)는 저장유닛(130)에 저장되고 얼굴 인식 장치(100)(의 제어유닛(170))에 의해 수정, 변경, 추가될 수 있다. 얼굴 인식 장치(100)(의 제어유닛(170))는 저장유닛(130)의 얼굴 객체 갱신 프로그램을 로딩하여 얼굴 리스트(131)를 관리 가능하다.
도 5에서 알 수 있는 바와 같이, 각각의 영상 장치(200)에 대응하는 얼굴 리스트(131)는 0개 이상의 얼굴 객체(Object)를 저장한다. 현재, 또는 지정된 개수 이전의 이미지 프레임에서 인식되는 얼굴 객체의 개수에 따라 얼굴 리스트(131)에서 얼굴 객체의 개수는 변경 가능하다.
각각의 얼굴 객체는 현재 신원 정보를 가진다. 현재 신원 정보는 얼굴-히스토리 버퍼를 이용하여 해당 얼굴 객체에 대응하여 인식되는 얼굴의 신원을 나타내고 이름, 주민번호, 관리번호 등의 개인 식별자를 포함할 수 있다. 이와 같이, 얼굴 객체는 대응하는 현재 신원 정보를 가져 얼굴 객체에 대응하는 신원을 확인 가능하다.
얼굴 객체에 포함되는 얼굴 검출 실패 횟수는 해당 얼굴의 인식 후부터 지금 현재까지 이미지 프레임에서 해당 얼굴의 검출에 실패한 횟수를 나타낸다. 얼굴 검출 실패 횟수가 증가하여 임계치에 도달하는 경우 얼굴 객체는 얼굴 리스트(131)에서 제거 가능하다.
얼굴 객체는 현재의 얼굴 객체의 얼굴 좌표 영역을 더 포함할 수 있다. 현 얼굴 좌표 영역은 이미지 프레임 중 가장 최신의 이미지 프레임(예를 들어, 시간 t의 이미지 프레임)에서 검출된 동일한 객체의 얼굴 좌표의 영역일 수 있다. 현 얼굴 좌표 영역은 상하좌우의 좌표값으로 표현될 수 있다. 예를 들어, 얼굴 좌표 영역은 좌상 좌표, 우하 좌표로 표현될 수 있다.
각각의 얼굴 객체는 얼굴-히스토리 버퍼를 가진다. 얼굴-히스토리 버퍼는 다수의 엔트리로 구성되고 최대로 지정된 개수(예를 들어, 10개 등)의 엔트리를 가질 수 있다. 얼굴-히스토리 버퍼는 FIFO나 QUEUE 등으로 구성된다. 얼굴-히스토리 버퍼는 얼굴 인식 후(도 5의 각각의 얼굴-히스토리 버퍼에서 마지막 엔트리) 현재 프레임(도 5에서 시간 t)까지의 각 이미지 프레임에서 동일한 얼굴 객체로 추정된 얼굴로부터 결정되는 정보를 저장한다.
얼굴-히스토리 버퍼의 각각의 엔트리는 얼굴 객체의 검출 여부에 따라 널 엔트리(도 5의 얼굴 객체 1의 t-2, 얼굴 객체 k의 t-3 등 참조)이거나 동일한 얼굴을 검출한 경우에 해당 얼굴로부터 추출되거나 결정되는 얼굴 정보를 포함한다.
예를 들어, 엔트리는 이미지 프레임에서 검출되는 얼굴의 얼굴 박스로부터 결정되는 특징 벡터, 얼굴 좌표 등을 포함하고 특징 벡터 등으로부터 추정되는 신원의 신뢰도 등을 더 포함한다. 특징 벡터는 예를 들어, 128차원의 특징 벡터일 수 있고, 얼굴 좌표는 이미지 프레임에서 검출된 얼굴의 얼굴 박스의 상,하,좌,우 좌표일 수 있다. 얼굴 좌표는 얼굴 객체의 직사각형의 얼굴 영역을 특정할 수 있고 좌상 좌표와 우하 좌표 등으로 구성 가능하다.
도 5에서 살펴본 바와 같이, 얼굴 인식 장치(100)(의 제어유닛(170))는 0개 이상의 얼굴 객체를 포함하는 얼굴 리스트(131)를 관리하고 얼굴 객체는 이미지 프레임별 해당 얼굴의 검출 여부를 특정하고 검출시에 해당 이미지 프레임에서의 각종 특성을 알 수 있는 얼굴-히스토리 버퍼를 가진다.
도 6은 얼굴 리스트(131)의 갱신을 위한 상세 제어 흐름을 도시한 도면이다.
도 6의 얼굴 리스트(131)의 갱신 과정은 얼굴 인식 장치(100)(의 제어유닛(170))에 의해 수행되고 바람직하게는 얼굴 객체 갱신 프로그램을 로딩하여 얼굴 리스트(131)를 갱신 가능하다.
먼저, 도 4의 얼굴 검출 과정을 통해 현 이미지 프레임에서 모든 얼굴을 검출함에 따라 검출된 얼굴들을 각각 나타내는 하나 이상의 얼굴 박스들이 특정된다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 리스트(131)의 모든 얼굴 객체들 각각과 검출된 얼굴들 각각 사이의 상대적인 위치에 따른 유사도를 계산(S401)한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 모든 얼굴 객체들 각각의 현 얼굴 좌표영역과 검출된 얼굴(얼굴 박스)들 각각의 좌표영역 사이의 IOU(Intersection over Union)값을 계산한다. 이에 따라, 모든 얼굴 객체들과 모든 검출 얼굴들 각각 사이의 IOU(유사도)값이 산출된다. IOU 값은 (얼굴 객체의 현 좌표 영역과 검출 얼굴의 좌표 영역의 교집합 영역의 면적)/(얼굴 객체의 현 좌표 영역과 검출 얼굴의 좌표 영역의 합집합 영역의 면적)으로 계산될 수 있다. 얼굴 객체와 검출 얼굴의 크기가 비슷하고 겹치는 부분이 많을 수록 IOU 값은 비례하여 커진다.
유사도의 산출 이후에, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 리스트(131)의 각각의 얼굴 객체에 대해 임계치 이상의 검출 얼굴이 존재하는 지를 판단(S403)한다. 예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 각 얼굴 객체와 모든 검출 얼굴 사이의 IOU 값들 중 설정된 임계치(예를 들어, 0.1 등) 이상의 검출 얼굴이 있는 지를 판단할 수 있다.
다수의 검출 얼굴이 한 얼굴 객체와 임계치 이상의 IOU 값을 가지는 경우에, 가장 높은 IOU 값을 가지는 검출 얼굴을 선택하여 해당 얼굴 객체를 갱신할 수 있다.
얼굴 리스트(131)의 얼굴 객체와 모든 검출 얼굴들 사이의 계산된 IOU 값이 임계치 미만인 경우에 해당 얼굴 객체의 얼굴 검출 실패 횟수가 지정된 횟수를 초과하는 지를 판단(S405)한다. 지정된 횟수는 얼굴 객체의 포함되는 얼굴-히스토리 버퍼가 가질 수 있는 엔트리의 최대 개수일 수 있다.
만일, 지정된 횟수를 초과하여 해당 얼굴 객체의 얼굴 검출에 실패한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 해당 얼굴 객체를 얼굴 리스트(131)에서 삭제(S411)한다.
얼굴 검출 실패 횟수가 지정된 횟수 이하인 경우로서 임계치 이상의 검출 얼굴을 인식하지 못한 경우에, 얼굴 인식 장치(100)(의 제어유닛(170))는 현재의 이미지 프레임에서 얼굴 객체를 추적(S407)한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 KCF(Kernelized Correlation Filters) 트랙커(Tracker) 등의 알려진 얼굴 트래커 프로그램을 이용하여 이미지 프레임 내에서 동일한 얼굴 객체를 검출하도록 추적한다.
얼굴 트래커가 반환하는 신뢰도의 값에 따라 얼굴 객체의 추적의 성공 여부가 결정된다. 얼굴 트래커가 반환하는 신뢰도의 값이 설정된 임계치(역치값) 이상의 값을 가지는 경우 얼굴 추적에 성공하는 것으로 얼굴 인식 장치(100)(의 제어유닛(170))는 판단한다.
얼굴 추적에 성공한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 트래커로부터 얼굴 객체에 대응하는 좌표 영역을 수신하거나 인식할 수 있다. 설계변형 예에 따라, 얼굴 추적에 실패한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체를 삭제(S411)할 수도 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 해당 얼굴 객체의 얼굴 검출 실패 횟수를 1 증가(S413)시키고 얼굴 객체를 갱신(S415)한다.
갱신 과정(S415)에서, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체의 얼굴-히스토리 버퍼에 신규의 엔트리를 생성하여 추가한다. 얼굴 인식 장치(100)(의 제어유닛(170))는 신규의 엔트리의 얼굴 좌표( 영역)를 가장 높은 유사도(IOU 값)를 가지거나 추적에 성공한 검출 얼굴의 좌표( 영역)로 설정한다.
또한, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체의 현 얼굴 좌표( 영역)를 검출 얼굴의 좌표( 영역)로 설정한다. 이와 같이, 얼굴 인식 장치(100)(의 제어유닛(170))는 계산된 IOU 값에 따라 얼굴 객체의 현 얼굴 위치를 검출된 얼굴의 위치로 변경한다. 얼굴 추적에 실패한 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 신규 엔트리를 널 엔트리로 설정한다.
갱신 과정(S415)에서, 얼굴 인식 장치(100)(의 제어유닛(170))는 신규 엔트리의 특징 벡터를 산출하고 이를 얼굴-히스토리 버퍼의 신규의 엔트리에 저장한다.
갱신 과정(S415)에서, 얼굴 인식 장치(100)(의 제어유닛(170))는 임계치 이상(이면서 가장 큰)의 검출 얼굴의 얼굴 박스 또는 추적에 따라 검출된 얼굴의 얼굴 박스를 정렬한다. 이미지 프레임상의 얼굴 박스는 서로 다른 크기를 가지고 있어 비슷한 위치에 눈, 코, 입 등이 오도록 정렬한다.
예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 박스에 대해 얼굴 랜드마크 검출(Face Landmark Detection)을 수행하고 탐지된 랜드마크를 사용하여 2D-Affine 변환을 통해 눈,코, 입이 비슷한 위치로 정렬되도록 변환하고 얼굴 박스의 변환된 이미지 크기를 지정된 크기(예를 들어, 96*96)로 라사이즈한다.
얼굴 인식 장치(100)(의 제어유닛(170))는 정렬된 얼굴 이미지를 입력으로 하여 얼굴 특징 벡터를 추출하고 추출된 얼굴 특징 벡터를 신규 엔트리의 특징 벡터로 저장한다. 얼굴 인식 장치(100)(의 제어유닛(170))는 OpenFace 등의 알려진 특징 벡터 추출 프로그램이나 알고리즘을 이용하여 128 차원 등의 얼굴 특징 벡터를 추출 가능하다.
나아가, 얼굴 인식 장치(100)(의 제어유닛(170))는 추출된 얼굴 특징 벡터를 입력으로 하여 현재 추출된 얼굴 특징 벡터에 대응하는 신원 정보를 결정하고 그 신뢰도와 신원 정보를 신규 엔트리에 더 기록할 수 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 인식 프로그램 등에서 이용 가능하고 학습 등이 이루어져 있는 딥 러닝 기반의 얼굴 인식 프로그램에 추출된 얼굴 특징 벡터를 입력 인자로 제공하고 저장유닛(130)에 저장되어 있는 신원 리스트 중에서 분류되는 신원의 정보와 신뢰도 값을 결정하여 이를 신규 엔트리에 저장 가능하다. 얼굴 객체로부터 신원 인식을 하는 기법에 따라 이 신원 정보와 신뢰도 값은 생략 가능하다.
갱신 과정(S415)에서, 좌표 영역 사이의 유사도에 따라 단일의 검출 얼굴이 두 개(두 개 이상)의 얼굴 객체에 같이 선택(대응)되어 각 얼굴 객체가 갱신될 수 있다.
단일의 검출 얼굴에 두 개 이상의 얼굴 객체가 대응하여 존재하는 경우, 두 개의 각 얼굴 객체의 특징 벡터와 검출 얼굴의 얼굴 박스의 이미지 데이터로부터 추출된(산출된) 특징 벡터를 비교하여 더 높은 유사도(예를 들어, 특징 벡터 사이의 유클리드 거리에 따른 유사도)를 가지는 얼굴 객체에 검출 얼굴을 선택하고 해당 얼굴 객체의 신규 엔트리를 갱신할 수 있다.
각 얼굴 객체의 특징 벡터는 얼굴-히스토리 버퍼의 가장 최근의 이미지 프레임으로부터 추출되어 저장되는 특징 벡터일 수 있다. 유사도가 낮은 나머지 얼굴 객체는 갱신 과정에서 신규 엔트리를 널 엔트리로 설정하고 얼굴 검출 실패 횟수를 1 증가시킬 수 있다.
이와 같이, 얼굴 인식 장치(100)(의 제어유닛(170))는 하나의 검출 얼굴에 대응하는 여러 얼굴 객체가 존재하는 경우에 산출된 특징 벡터 사이의 유사도에 따라 여러 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴과 그 특징 벡터를 맵핑시킨다.
얼굴 객체의 갱신 이후에, 얼굴 인식 장치(100)(의 제어유닛(170))는 검출된 모든 얼굴들 중 얼굴 리스트(131)의 얼굴 객체에 맵핑되지 못한 검출 얼굴이 존재하는 지를 판단(S417)한다.
IOU 값의 계산과 임계치 비교를 통해 얼굴 객체에 맵핑되지 못한 검출 얼굴이 존재하는 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 신규의 얼굴 객체를 얼굴 리스트(131)에 생성(S419)한다.
얼굴 인식 장치(100)(의 제어유닛(170))는 신규의 얼굴 객체에 얼굴-히스토리 버퍼를 추가하고 얼굴-히스토리 버퍼에 신규 엔트리를 추가 저장한다. 신규 엔트리에는 검출 얼굴로부터 산출되는 특징 벡터, 검출 얼굴( 박스)의 얼굴 좌표( 영역)를 포함하고 나아가 신원 인식에 따른 신원 정보 및/또는 분류된 신원의 신뢰도를 더 포함할 수 있다.
얼굴 인식 장치(100)(의 제어유닛(170))는 신규의 얼굴 객체의 얼굴-히스토리 버퍼 외의 현재 신원을 초기화하고 얼굴 검출 실패 횟수를 초기화할 수 있다. 또한, 얼굴 인식 장치(100)(의 제어유닛(170))는 현 얼굴 좌표( 영역)를 신규 엔트리의 얼굴 좌표( 영역)로 설정하여 신규 얼굴 객체를 생성할 수 있다.
도 7은 신원 인식을 위한 상세 제어 흐름을 도시한 도면이다.
도 7의 제어 흐름은 얼굴 인식 장치(100)(의 제어유닛(170))에 의해 수행되고 바람직하게는 얼굴 인식 프로그램을 로딩하여 얼굴 객체에 대한 신원 인식이 가능하다. 도 7의 제어 흐름은 도 6에 후속하여 바람직하게 수행된다. 도 7의 제어 흐름은 영상 장치(200)에 대응한 얼굴 리스트(131)를 대상으로 이루이진다.
먼저, 얼굴 인식 장치(100)(의 제어유닛(170))는 신원 인식에 이용될 설정 알고리즘을 인식(S501)한다. 본 발명에 따른 얼굴 인식 장치(100)(의 제어유닛(170))는 최대 신뢰도 알고리즘 및/또는 특징 벡터 평균 알고리즘을 이용하여 얼굴 객체의 신원을 인식할 수 있다. 저장유닛(130)에 설정 알고리즘을 나타내는 설정 데이터가 저장되고 얼굴 인식 장치(100)(의 제어유닛(170))는 설정 데이터를 읽어들여 그 값에 따라 특정 하나 또는 둘 중의 하나의 신원 인식 알고리즘에 따라 얼굴 객체에 대응하는 신원을 인식 가능하다.
적어도, 신원 인식 알고리즘은 얼굴 객체에 저장되어 있는 복수의 특징 벡터를 기초로 하여(이용하여) 신원을 인식한다. 각각의 특징 벡터들은 얼굴-히스토리 버퍼의 엔트리들 각각에 맵핑되어 저장되고 일련의 이미지 프레임에서 검출된 얼굴 데이터(얼굴 박스의 이미지 데이터)로부터 추출되는 특징 벡터이다.
설정된 신원 인식 알고리즘이 최대 신뢰도 알고리즘인 경우에(S503), 얼굴 인식 장치(100)(의 제어유닛(170))는 각각의 얼굴 객체에 대해 가장 높은 신뢰도를 가지는 신원을 결정(S505)한다.
구체적으로, 얼굴 인식 장치(100)(의 제어유닛(170))는 각각의 얼굴 객체의 얼굴-히스토리 버퍼에서 가장 높은 신원 신뢰도를 가지는 엔트리를 검색하고 검색된 엔트리의 신원( 정보)을 얼굴 객체의 신원으로 결정한다.
최대 신뢰도 알고리즘이 이용되는 경우, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체의 갱신 과정(도 6의 S415)에서, 검출 얼굴로부터 특징 벡터를 추출한 후에 추출된 특징 벡터를 입력으로 하여 얼굴을 분류(예측)한다.
신원 인식을 위한 얼굴 분류는 딥 러닝 (신원) 인식 알고리즘에 따라 이루어지고 예를 들어 SVM(Support Vector Machine)를 통해 이루어진다. SVM은 입력되는 특징 벡터를 저장유닛(130)의 신원 리스트를 분류 카테고리로 적용하여 분류 결과를 출력한다. 분류 결과는 신원 리스트 중 하나의 신원( 정보)을 포함한다. 또한, SVM은 분류 결과의 신뢰도 값을 더 포함할 수 있다. 얼굴 인식 장치(100)(의 제어유닛(170))는 갱신 과정에서 신규의 엔트리에 신원 정보와 함께 신뢰도 값을 저장할 수 있다.
이와 같이, 얼굴 인식 장치(100)(의 제어유닛(170))는 일련의 이미지 프레임들로부터의 특정 얼굴 객체에 대응하는 복수의 특징 벡터들 각각을 이용하여 신원 예측 및 신뢰도값을 산출하고 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정하고 이를 얼굴 객체의 현재 신원으로 저장한다.
최대 신뢰도 알고리즘 대신에 특징 벡터 평균 알고리즘이 신원 인식을 위한 알고리즘으로 이용되는 경우(S507), 얼굴 인식 장치(100)(의 제어유닛(170))는 일련의 이미지 프레임들로부터의 얼굴 객체에 대응하는 복수의 특징 벡터들로부터 평균 특징 벡터를 산출(S509)한다. 예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 얼굴 객체의 얼굴-히스토리 버퍼의 엔트리들의 특징 벡터들을 평균하여 평균 특징 벡터를 산출할 수 있다.
이후, 얼굴 인식 장치(100)(의 제어유닛(170))는 산출된 평균 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 결정(S511)한다. 예를 들어, 얼굴 인식 장치(100)(의 제어유닛(170))는 산출된 평균 특징 벡터를 입력으로 SVM에 제공하고 신원 리스트를 대상으로 SVM 프로그램에 따른 분류 결과를 인식하고 분류 결과의 신원을 얼굴 객체의 현재 신원으로 인식하여 얼굴 객체에 설정한다.
도 4 내지 도 7에서 알 수 있는 바와 같이, 본 발명은 딥 러닝 알고리즘 외에 얼굴 검출율이 낮으나 고속으로 수행 가능한 얼굴 검출 알고리즘을 혼용하여 얼굴 검출 속도를 높이도록 구성된다. 또한, 본 발명은 고속 얼굴 검출 알고리즘의 낮은 검출율을 얼굴 객체의 히스토리 버퍼를 이용하여 높일 수 있도록 한다.
얼굴-히스토리 버퍼의 크기를 10( 엔트리)으로 하고 매 10 프레임(딥 러닝 수행 주기)마다 딥 러닝 얼굴 검출 알고리즘을 수행하고 10 프레임 중 나머지 9프레임에 대해 HOG 기반의 얼굴 검출 알고리즘을 수행하고 보조적으로 KCF 트래커를 사용하는 경우, Full-HD 영상의 이미지 프레임에 대해 27.50ms 속도로 얼굴 검출과 인식이 가능하였다.
또한, 본 발명은 얼굴 검출율이 0.944 정도를 달성하여 딥 러닝 얼굴 검출 알고리즘만을 이용하는 경우와 동일하거나 유사한 얼굴 검출율을 가지고 있음을 확인하였다.
또한, 얼굴-히스토리 버퍼를 활용하여 얼굴 인식을 하는 경우에, 최대 신뢰도 알고리즘 및 특징 벡터 평균 알고리즘 공히 0.940 정도의 신원 인식률을 가지게 되었다. 이는 통계적 처리(얼굴-히스토리 버퍼)를 이용하지 않는 신원 인식률 대비 약 0.100(10%) 정도의 향상된 결과를 나타내었다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 얼굴 인식 장치
110 : 이미지 수신유닛
130 : 저장유닛
131 : 얼굴 리스트
150 : 연결유닛
170 : 제어유닛
171 : 메인 프로세서
173 : GPU
200 : 영상 장치

Claims (15)

  1. 얼굴 인식 장치에서 수행되고 영상 장치로부터의 일련의 이미지 프레임들에서 얼굴을 인식하고 인식된 얼굴을 추적하는 얼굴 인식 방법으로서,
    상기 영상 장치로부터의 제1 이미지 프레임에서 하나 이상의 얼굴을 검출하는 단계;
    상기 제1 이미지 프레임에서 검출된 하나 이상의 얼굴 정보를 이용하여 상기 영상 장치로부터의 제2 이미지 프레임들로부터 구성되는 얼굴 리스트의 얼굴 객체를 갱신하는 단계로서, 상기 제2 이미지 프레임들은 상기 제1 이미지 프레임보다 이전에 상기 영상 장치에 의해 캡쳐링된 일련의 이미지 프레임들인, 얼굴 리스트의 얼굴 객체를 갱신하는 단계; 및
    갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계;를 포함하고,
    상기 얼굴 리스트의 얼굴 객체는 현재 얼굴 좌표 영역 및 복수의 엔트리로 구성되는 얼굴-히스토리 버퍼를 포함하고 상기 얼굴-히스토리 버퍼의 복수의 엔트리 중 하나 이상은 제2 이미지 프레임에서 추출되는 상기 얼굴 객체의 얼굴 정보를 포함하고,
    상기 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 상기 제1 이미지 프레임에서 검출된 얼굴의 좌표 영역과 얼굴 객체의 현재 얼굴 좌표 영역 사이의 중첩 면적에 기초한 IOU(Intersection over Union) 값을 계산하고 계산된 IOU 값이 임계치 이상인 경우 상기 얼굴 객체의 얼굴-히스토리 버퍼에 상기 제1 이미지 프레임에서 검출된 얼굴 정보를 포함하는 엔트리를 추가하고 상기 현재 얼굴 좌표 영역을 상기 제1 이미지 프레임에서의 검출된 얼굴의 좌표 영역으로 설정하는,
    얼굴 인식 방법.
  2. 제1항에 있어서,
    상기 얼굴을 검출하는 단계는, 상기 제1 이미지 프레임이 지정된 주기에 따른 이미지 프레임인 경우 딥 러닝 얼굴 검출 알고리즘에 따라 상기 제1 이미지 프레임에 대해 얼굴을 검출하고, 상기 제1 이미지 프레임이 지정된 주기에 따른 이미지 프레임이 아닌 경우 HOG(Histogram of Oriented Gradients) 기반 얼굴 검출 알고리즘에 따라 상기 제1 이미지 프레임에 대해 얼굴을 검출하며,
    상기 HOG 기반 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수는 상기 딥 러닝 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수보다 많은,
    얼굴 인식 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 모든 검출된 얼굴들 사이의 계산된 IOU 값들이 임계치 미만인 경우에 얼굴 트래커를 이용하여 얼굴 객체를 추적하고 얼굴 검출 실패 횟수가 지정된 횟수 이상인 경우 상기 얼굴 객체를 얼굴 리스트에서 제거하는,
    얼굴 인식 방법.
  5. 제1항에 있어서,
    상기 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 IOU 값의 계산과 임계치 비교를 통해 검출된 얼굴이 상기 얼굴 리스트의 모든 얼굴 객체에 맵핑되지 못하는 경우 상기 검출된 얼굴을 나타내는 신규의 얼굴 객체를 상기 얼굴 리스트에 생성하는,
    얼굴 인식 방법.
  6. 제1항에 있어서,
    상기 얼굴 리스트의 얼굴 객체를 갱신하는 단계는 얼굴 객체에 대응하는 검출된 얼굴 데이터로부터 특징 벡터를 추출하고 복수의 얼굴 객체에 대응하는 단일의 검출 얼굴이 존재하는 경우 단일의 검출 얼굴 데이터로부터의 특징 벡터와 복수의 얼굴 객체에 대응하는 특징 벡터 사이의 유사도에 따라 복수의 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴의 특징 벡터를 맵핑시키는,
    얼굴 인식 방법.
  7. 제1항에 있어서,
    상기 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계는 상기 영상 장치로부터의 일련의 이미지 프레임들로부터 구성되는 얼굴 객체에 포함된 상기 얼굴-히스토리 버퍼의 복수의 엔트리의 복수의 특징 벡터들 각각을 이용하여 이루어진 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정하는,
    얼굴 인식 방법.
  8. 제1항에 있어서,
    상기 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 단계는 상기 영상 장치로부터의 일련의 이미지 프레임들로부터 구성되는 얼굴 객체에 포함된 상기 얼굴-히스토리 버퍼의 복수의 엔트리의 복수의 특징 벡터들로부터 평균 특징 벡터를 산출하고 산출된 평균 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는,
    얼굴 인식 방법.
  9. 영상 장치로부터의 일련의 이미지 프레임들에서 얼굴을 인식하고 인식된 얼굴을 추적하는 얼굴 인식 장치로서,
    상기 영상 장치로부터 일련의 이미지 프레임들을 수신하는 이미지 수신유닛;
    수신된 이미지 프레임들과 인식된 하나 이상의 얼굴 객체를 나타내는 얼굴 리스트를 저장하는 저장유닛; 및
    상기 일련의 이미지 프레임들의 제1 이미지 프레임에서 하나 이상의 얼굴을 검출하고 검출된 하나 이상의 얼굴 정보를 이용하여 상기 일련의 이미지 프레임들의 제2 이미지 프레임들로부터 구성되는 저장유닛의 얼굴 리스트의 얼굴 객체를 갱신하며 갱신된 얼굴 리스트의 얼굴 객체의 복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하는 제어유닛;을 포함하고,
    상기 제2 이미지 프레임들은 상기 제1 이미지 프레임보다 이전에 상기 영상 장치에 의해 캡쳐링된 일련의 이미지 프레임들이고,
    상기 얼굴 리스트의 얼굴 객체는 현재 얼굴 좌표 영역 및 복수의 엔트리로 구성되는 얼굴-히스토리 버퍼를 포함하고 상기 얼굴-히스토리 버퍼의 복수의 엔트리 중 하나 이상은 제2 이미지 프레임에서 추출되는 상기 얼굴 객체의 얼굴 정보를 포함하고,
    상기 제어 유닛은 상기 제1 이미지 프레임에서 검출된 얼굴의 좌표 영역과 얼굴 객체의 현재 얼굴 좌표 영역 사이의 중첩 면적에 기초한 IOU(Intersection over Union) 값을 계산하고 계산된 IOU 값이 임계치 이상인 경우 상기 얼굴 객체의 얼굴-히스토리 버퍼에 상기 제1 이미지 프레임에서 검출된 얼굴 정보를 포함하는 엔트리를 추가하고 상기 현재 얼굴 좌표 영역을 상기 제1 이미지 프레임에서의 검출된 얼굴의 좌표 영역으로 설정하여 상기 얼굴 객체를 갱신하는,
    얼굴 인식 장치.
  10. 제9항에 있어서,
    하나 이상의 얼굴 검출을 위해, 상기 제어유닛은 상기 제1 이미지 프레임이 지정된 주기에 따른 이미지 프레임인 경우 딥 러닝 얼굴 검출 알고리즘에 따라 상기 제1 이미지 프레임에 대해 얼굴을 검출하고, 상기 제1 이미지 프레임이 지정된 주기에 따른 이미지 프레임이 아닌 경우 상기 제어유닛의 GPU(Graphics Processing Unit)로 가속화된 HOG 기반 얼굴 검출 알고리즘에 따라 상기 제1 이미지 프레임에 대해 얼굴을 검출하며,
    상기 HOG 기반 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수는 상기 딥 러닝 얼굴 검출 알고리즘에 따른 얼굴 검출 횟수보다 많은,
    얼굴 인식 장치.
  11. 삭제
  12. 제9항에 있어서,
    얼굴 리스트의 얼굴 객체를 갱신하기 위해, 상기 제어유닛은 모든 검출된 얼굴들 사이의 계산된 IOU 값들이 임계치 미만인 경우에 얼굴 트래커를 이용하여 얼굴 객체를 추적하고 얼굴 검출 실패 횟수가 지정된 횟수 이상인 경우 상기 얼굴 객체를 얼굴 리스트에서 제거하는,
    얼굴 인식 장치.
  13. 제9항에 있어서,
    얼굴 리스트의 얼굴 객체를 갱신하기 위해, 상기 제어유닛은 IOU 값의 계산과 임계치 비교를 통해 검출된 얼굴이 상기 얼굴 리스트의 모든 얼굴 객체에 맵핑되지 못하는 경우 상기 검출된 얼굴을 나타내는 신규의 얼굴 객체를 상기 얼굴 리스트에 생성하는,
    얼굴 인식 장치.
  14. 제9항에 있어서,
    얼굴 리스트의 얼굴 객체를 갱신하기 위해, 상기 제어유닛은 얼굴 객체에 대응하는 검출된 얼굴 데이터로부터 특징 벡터를 추출하고 복수의 얼굴 객체에 대응하는 단일의 검출 얼굴이 존재하는 경우 단일의 검출 얼굴 데이터로부터의 특징 벡터와 복수의 얼굴 객체에 대응하는 특징 벡터 사이의 유사도에 따라 복수의 얼굴 객체 중 하나의 얼굴 객체에 검출된 얼굴의 특징 벡터를 맵핑시키는,
    얼굴 인식 장치.
  15. 제9항에 있어서,
    복수의 특징 벡터를 이용하여 얼굴 객체에 대응하는 신원을 인식하기 위해, 상기 제어유닛은 상기 영상 장치로부터의 일련의 이미지 프레임들로부터 구성되는 얼굴 객체에 포함된 상기 얼굴-히스토리 버퍼의 복수의 엔트리의 복수의 특징 벡터들 각각을 이용하여 이루어진 신원 예측 중 가장 높은 신뢰도를 가지는 신원 예측에 대응하는 특징 벡터의 신원을 얼굴 객체의 신원으로 결정하는,
    얼굴 인식 장치.
KR1020180123067A 2018-10-16 2018-10-16 얼굴 인식 방법 및 얼굴 인식 장치 KR102177453B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180123067A KR102177453B1 (ko) 2018-10-16 2018-10-16 얼굴 인식 방법 및 얼굴 인식 장치
PCT/KR2019/013257 WO2020080734A1 (ko) 2018-10-16 2019-10-10 얼굴 인식 방법 및 얼굴 인식 장치
US17/280,928 US11594073B2 (en) 2018-10-16 2019-10-10 Face recognition method and face recognition device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180123067A KR102177453B1 (ko) 2018-10-16 2018-10-16 얼굴 인식 방법 및 얼굴 인식 장치

Publications (2)

Publication Number Publication Date
KR20200046152A KR20200046152A (ko) 2020-05-07
KR102177453B1 true KR102177453B1 (ko) 2020-11-11

Family

ID=70283493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180123067A KR102177453B1 (ko) 2018-10-16 2018-10-16 얼굴 인식 방법 및 얼굴 인식 장치

Country Status (3)

Country Link
US (1) US11594073B2 (ko)
KR (1) KR102177453B1 (ko)
WO (1) WO2020080734A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6409929B1 (ja) * 2017-09-19 2018-10-24 日本電気株式会社 照合システム
CN111832451A (zh) * 2020-07-01 2020-10-27 中国民用航空局信息中心 基于视频数据处理的适航监察流程监管系统及方法
US20230394875A1 (en) * 2021-04-22 2023-12-07 Seoul National University R&Db Foundation Method and device for multi-dnn-based face recognition using parallel-processing pipelines

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021846A (ja) * 2012-07-20 2014-02-03 Canon Inc 顔認識装置及び顔認識方法
KR101524516B1 (ko) 2013-11-29 2015-06-02 전남대학교산학협력단 빈도수 기반의 영상 내 얼굴객체 추적방법
KR101835333B1 (ko) * 2017-06-08 2018-03-08 서창영 얼굴 인식 서비스 제공 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001028238A2 (en) * 1999-10-08 2001-04-19 Sarnoff Corporation Method and apparatus for enhancing and indexing video and audio signals
WO2005093637A1 (de) * 2004-03-29 2005-10-06 Hoffmann Andre Verfahren und system zur identifikation, verifikation, erkennung und wiedererkennung
ATE476715T1 (de) 2004-06-21 2010-08-15 Google Inc Einzelbildbasiertes multi-biometrisches system und verfahren
US8064712B2 (en) * 2007-01-24 2011-11-22 Utc Fire & Security Americas Corporation, Inc. System and method for reconstructing restored facial images from video
JP4286292B2 (ja) * 2007-01-30 2009-06-24 三洋電機株式会社 電子カメラ
US8139817B2 (en) * 2007-04-27 2012-03-20 Telewatch Inc. Face image log creation
KR101270351B1 (ko) 2012-04-03 2013-05-31 조선대학교산학협력단 얼굴 인식을 위한 얼굴 영상 획득 방법 및 장치
KR101297736B1 (ko) 2013-05-07 2013-08-23 주식회사 파이브지티 얼굴 인식 방법 및 시스템
CN104680119B (zh) * 2013-11-29 2017-11-28 华为技术有限公司 图像身份识别方法和相关装置及身份识别系统
CN106709932B (zh) * 2015-11-12 2020-12-04 创新先进技术有限公司 一种人脸位置跟踪方法、装置和电子设备
US9836669B2 (en) * 2016-02-22 2017-12-05 International Business Machines Corporation Generating a reference digital image based on an indicated time frame and searching for other images using the reference digital image
KR101850286B1 (ko) 2017-06-27 2018-04-19 한국기술교육대학교 산학협력단 딥 러닝 기반 cctv용 영상 인식 방법
US11030291B2 (en) * 2018-09-14 2021-06-08 Comcast Cable Communications, Llc Methods and systems for user authentication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021846A (ja) * 2012-07-20 2014-02-03 Canon Inc 顔認識装置及び顔認識方法
KR101524516B1 (ko) 2013-11-29 2015-06-02 전남대학교산학협력단 빈도수 기반의 영상 내 얼굴객체 추적방법
KR101835333B1 (ko) * 2017-06-08 2018-03-08 서창영 얼굴 인식 서비스 제공 방법

Also Published As

Publication number Publication date
WO2020080734A1 (ko) 2020-04-23
KR20200046152A (ko) 2020-05-07
US20210342577A1 (en) 2021-11-04
US11594073B2 (en) 2023-02-28

Similar Documents

Publication Publication Date Title
AU2022252799B2 (en) System and method for appearance search
Chen et al. Glimpse: Continuous, real-time object recognition on mobile devices
US20200250435A1 (en) Activity recognition method and system
US10846554B2 (en) Hash-based appearance search
TWI686774B (zh) 人臉活體檢測方法和裝置
US9128528B2 (en) Image-based real-time gesture recognition
CA3046035A1 (en) System and method for cnn layer sharing
KR101891887B1 (ko) 실시간 영상을 이용하여 위험 상황을 예측하기 위한 영상 처리 방법, 장치 및 그를 이용하여 위험 상황을 예측하는 방법, 서버
WO2019033569A1 (zh) 眼球动作分析方法、装置及存储介质
CN109325964A (zh) 一种人脸追踪方法、装置及终端
KR102177453B1 (ko) 얼굴 인식 방법 및 얼굴 인식 장치
CN109446364A (zh) 抓拍检索方法、图像处理方法、装置、设备及存储介质
WO2019033570A1 (zh) 嘴唇动作分析方法、装置及存储介质
US10296782B2 (en) Processing device and method for face detection
CN111382637B (zh) 行人检测跟踪方法、装置、终端设备及介质
KR102261054B1 (ko) 카메라에 연결되는 고속 얼굴 인식 장치
Bedagkar-Gala et al. Gait-assisted person re-identification in wide area surveillance
US20190171885A1 (en) Generating signatures within a network that includes a plurality of computing devices of varying processing capabilities
KR20220042335A (ko) 자동 수어 인식 방법 및 시스템
CN111159476B (zh) 目标对象的搜索方法、装置、计算机设备及存储介质
CN109711287B (zh) 人脸采集方法及相关产品
Hbali et al. Object detection based on HOG features: Faces and dual-eyes augmented reality
Hemalatha et al. Multi-feature joint descriptor based image detection algorithm for crocodile detection
CN114140883A (zh) 步态识别方法和装置
Martinel et al. Sparse based matching of random patches for person re-identification

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant