KR20220056707A - 얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치 - Google Patents

얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치 Download PDF

Info

Publication number
KR20220056707A
KR20220056707A KR1020200141530A KR20200141530A KR20220056707A KR 20220056707 A KR20220056707 A KR 20220056707A KR 1020200141530 A KR1020200141530 A KR 1020200141530A KR 20200141530 A KR20200141530 A KR 20200141530A KR 20220056707 A KR20220056707 A KR 20220056707A
Authority
KR
South Korea
Prior art keywords
face
face recognition
feature
image
neural network
Prior art date
Application number
KR1020200141530A
Other languages
English (en)
Other versions
KR102645698B1 (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 KR1020200141530A priority Critical patent/KR102645698B1/ko
Priority to US17/513,441 priority patent/US20220129689A1/en
Publication of KR20220056707A publication Critical patent/KR20220056707A/ko
Application granted granted Critical
Publication of KR102645698B1 publication Critical patent/KR102645698B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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/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/172Classification, e.g. identification

Landscapes

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

Abstract

얼굴을 포함하는 이미지에서 크롭된 입력 이미지로부터 얼굴 인식 장치의 제1 심층 신경망(Deep Neural Network, DNN)을 사용하여 얼굴 형태의 사전 정보를 추정하는 단계, 입력 이미지로부터 얼굴 인식 장치의 제2 심층 신경망을 사용하여 얼굴 모양의 특징 정보를 추출하는 단계, 얼굴 인식 장치의 얼굴 이미지 디코더를 사용하여 사전 정보 및 특징 정보를 바탕으로, 최적 정렬 얼굴 이미지에 근접한 얼굴 이미지가 디코딩될 수 있도록 얼굴 인식 장치를 트레이닝하는 단계, 그리고 트레이닝된 얼굴 인식 장치에 포함된 제2 심층 신경망을 사용하여 추론 단계에서 목표 이미지로부터 얼굴 형태가 인지된 특징을 추출하는 단계를 통해 얼굴 인식을 수행하는 방법 및 장치가 제공된다.

Description

얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치{METHOD AND APPARATUS FOR FACE RECOGNITION ROBUST TO ALIGNMENT SHAPE OF THE FACE}
본 기재는 얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치에 관한 것이다.
종래의 얼굴 인식 기술은 "얼굴 검출, 전처리(preprocessing), 특징 추출, 그리고 얼굴 인식 또는 얼굴 매칭의 과정"을 통해 수행된다. 이러한 얼굴 인식 파이프라인(pipeline)은 기본적으로 얼굴 검출 결과에서 얼굴 영역을 잘라서(cropping) 특정 사이즈로 정규화하는 과정이 포함된다. 정규화 과정은 잘려진 얼굴 내 얼굴 특징점, 예를 들어, 눈, 코, 입 등의 추출을 통해 눈 좌표를 수평으로 맞추어 정렬을 수행한 뒤 특정 사이즈로 정규화하는 과정이다. 이때, 정규화된 얼굴 이미지를 바탕으로 얼굴 인식을 위한 특징이 추출된다.
얼굴 인식시, 얼굴 검출 결과에 따라 배경을 포함하거나 얼굴 영역만 타이트하게 잡힌 경우 등 다양한 정렬 형태를 갖는 얼굴 이미지가 입력될 수 있다. 이러한 문제에 강인하게 하기 위해 특징점 추출을 통해 얻게 되는 특징점 좌표를 사용하여 세밀하게 정렬을 수행한다고 하더라도, 특징점 추출 알고리즘의 오류에 따라 서로 다른 형태의 정렬 조건을 갖는 얼굴 이미지가 생성된다.
다양한 형태로 정렬된 얼굴 이미지는 동일 인물임에도 불구하고 특징 추출을 통해 매칭을 수행할 때 서로 다른 인물로 판단하게 되는 등 얼굴 인식 성능에 민감한 영향을 준다. 이러한 문제를 다루기 위해 부분 얼굴 부분 기반(part-based) 얼굴 인식 연구가 수행되었다. 하지만, 이 연구는 얼굴 부분을 선택하기 위해 특징점 정보를 활용하기 때문에 특징점 추출 성능에 의존하게 되고, 특징점 기반 부분 패치 설정시 고정된 크기의 패치 내 서로 다른 형태의 영상 정보가 포함될 수 있기 때문에 여전히 정렬 이슈가 존재한다.
또한, 특징점 추출 정확도를 높이는 연구의 경우, 얼굴 인식 파이프라인에서 얼굴 정렬이 차지하는 비중에 비해 계산 복잡도가 매우 높아지는 단점이 있다.
한 실시예는, 얼굴 영역의 데이터를 증강(augmentation)시킨 후, 서로 다른 딥 네트워크를 사용하여 증강된 데이터로부터 얼굴 형태 정보와 얼굴 특징 정보를 추출하고, 이들을 결합한 특징 정보를 학습하여 생성한 얼굴 인식 모델을 사용하여 얼굴의 정렬 형태에 강인한 얼굴 인식을 수행하는 얼굴 인식 방법 및 그 장치를 제공하는 것이다.
한 실시예에 따르면, 심층 신경망(deep neural network, DNN)을 사용한 얼굴 인식 방법이 제공된다. 상기 얼굴 인식 방법은, 얼굴을 포함하는 이미지에서 크롭된 입력 이미지로부터 얼굴 인식 장치의 제1 심층 신경망(Deep Neural Network, DNN)을 사용하여 얼굴 형태의 사전 정보를 추정하는 단계, 입력 이미지로부터 얼굴 인식 장치의 제2 심층 신경망을 사용하여 얼굴 모양의 특징 정보를 추출하는 단계, 얼굴 인식 장치의 얼굴 이미지 디코더를 사용하여 사전 정보 및 특징 정보를 바탕으로, 최적 정렬 얼굴 이미지에 근접한 얼굴 이미지가 디코딩될 수 있도록 얼굴 인식 장치를 트레이닝하는 단계, 그리고 트레이닝된 얼굴 인식 장치에 포함된 제2 심층 신경망을 사용하여 추론 단계에서 목표 이미지로부터 얼굴 형태가 인지된 특징을 추출하는 단계를 포함한다.
상기 얼굴 인식 방법에서 사전 정보를 추정하는 단계는, 얼굴의 구성 요소의 윤곽을 식별하는 얼굴 키포인트 좌표 또는 파싱 맵을 사전 정보로서 추정하는 단계를 포함할 수 있다.
상기 얼굴 인식 방법에서 트레이닝하는 단계는, 제1 심층 신경망, 제2 심층 신경망, 및 얼굴 이미지 디코더의 파라미터들을 업데이트함으로써 트레이닝을 수행하는 단계를 포함할 수 있다.
상기 얼굴 인식 방법에서 트레이닝을 수행하는 단계는, 미니 배치 경사 하강법을 통해 파라미터를 획득하는 단계를 포함할 수 있다.
상기 얼굴 인식 방법에서 트레이닝을 수행하는 단계는, 제1 심층 신경망, 제2 심층 신경망, 및 얼굴 이미지 디코더의 학습 파라미터에 관한 적어도 하나의 손실 함수를 바탕으로 트레이닝을 수행하는 단계를 포함할 수 있다.
상기 얼굴 인식 방법에서 적어도 하나의 손실 함수는, 제2 심층 신경망에 의해 추출된 특징 정보에 관한 교차 엔트로피 손실 함수, 특징 정렬 과정의 손실 함수, 및 픽셀 정렬 과정의 손실 함수 중 하나 이상을 포함할 수 있다.
상기 얼굴 인식 방법에서 특징 정렬 과정은, 사전 정보 및 특징 정보의 결합 정보에 대한 전역 평균 풀링(global average pooling, GAP) 결과 및 제2 심층 신경망으로부터 추출된 특징 맵의 GAP 결과를 비교하는 과정일 수 있다.
상기 얼굴 인식 방법에서 픽셀 정렬 과정은, 얼굴 이미지 디코더에 의해 디코딩된 얼굴 이미지와 최적 정렬 얼굴 이미지를 비교하는 과정일 수 있다.
상기 얼굴 인식 방법에서 추론 단계에서 목표 이미지로부터 얼굴 형태가 인지된 특징을 추출하는 단계는, 제2 심층 신경망에 의해 추출된 특징 정보로부터 추가 학습기를 사용하여 특징 맵을 출력하는 단계, 특징 맵으로부터 전역 평균 풀링(global average pooling) 레이어를 사용하여 GAP 결과를 출력하는 단계, 및 GAP 결과로부터 완전 연결 레이어를 사용하여 얼굴 형태가 인지된 특징을 추출하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 심층 신경망(deep neural network, DNN)을 사용한 얼굴 인식 장치가 제공된다. 상기 얼굴 인식 장치는, 프로세서 및 메모리를 포함하고, 프로세서는 메모리 내에 저장된 프로그램을 실행하여, 얼굴을 포함하는 이미지에서 크롭된 입력 이미지로부터 얼굴 인식 장치의 제1 심층 신경망(Deep Neural Network, DNN)을 사용하여 얼굴 형태의 사전 정보를 추정하는 단계, 입력 이미지로부터 얼굴 인식 장치의 제2 심층 신경망을 사용하여 얼굴 모양의 특징 정보를 추출하는 단계, 얼굴 인식 장치의 얼굴 이미지 디코더를 사용하여 사전 정보 및 특징 정보를 바탕으로, 최적 정렬 얼굴 이미지에 근접한 얼굴 이미지가 디코딩될 수 있도록 얼굴 인식 장치를 트레이닝하는 단계, 그리고 트레이닝된 얼굴 인식 장치에 포함된 제2 심층 신경망을 사용하여 목표 이미지에서 얼굴 형태가 인지된 특징을 추출하는 단계를 수행한다.
상기 얼굴 인식 장치에서 프로세서는 사전 정보를 추정하는 단계를 수행할 때, 얼굴의 구성 요소의 윤곽을 식별하는 얼굴 키포인트 좌표 또는 파싱 맵을 사전 정보로서 추정하는 단계를 수행할 수 있다.
상기 얼굴 인식 장치에서 프로세서는 트레이닝하는 단계를 수행할 때, 제1 심층 신경망, 제2 심층 신경망, 및 얼굴 이미지 디코더의 파라미터들을 업데이트함으로써 트레이닝을 수행하는 단계를 수행할 수 있다.
상기 얼굴 인식 장치에서 프로세서는 트레이닝을 수행하는 단계를 수행할 때, 미니 배치 경사 하강법을 통해 파라미터를 획득하는 단계를 수행할 수 있다.
상기 얼굴 인식 장치에서 프로세서는 트레이닝을 수행하는 단계를 수행할 때, 제1 심층 신경망, 제2 심층 신경망, 및 얼굴 이미지 디코더의 학습 파라미터에 관한 적어도 하나의 손실 함수를 바탕으로 트레이닝을 수행하는 단계를 수행할 수 있다.
상기 얼굴 인식 장치에서 적어도 하나의 손실 함수는, 제2 심층 신경망에 의해 추출된 특징 정보에 관한 교차 엔트로피 손실 함수, 특징 정렬 과정의 손실 함수, 및 픽셀 정렬 과정의 손실 함수 중 하나 이상을 포함할 수 있다.
상기 얼굴 인식 장치에서 특징 정렬 과정은, 사전 정보 및 특징 정보의 결합 정보에 대한 전역 평균 풀링(global average pooling, GAP) 결과 및 제2 심층 신경망으로부터 추출된 특징 맵의 GAP 결과를 비교하는 과정일 수 있다.
상기 얼굴 인식 장치에서 픽셀 정렬 과정은, 얼굴 이미지 디코더에 의해 디코딩된 얼굴 이미지와 최적 정렬 얼굴 이미지를 비교하는 과정일 수 있다.
상기 얼굴 인식 장치에서 프로세서는 추론 단계에서 목표 이미지로부터 얼굴 형태가 인지된 특징을 추출하는 단계를 수행할 때, 제2 심층 신경망에 의해 추출된 특징 정보로부터 추가 학습기를 사용하여 특징 맵을 출력하는 단계, 특징 맵으로부터 전역 평균 풀링(global average pooling) 레이어를 사용하여 GAP 결과를 출력하는 단계, 및 GAP 결과로부터 완전 연결 레이어를 사용하여 얼굴 형태가 인지된 특징을 추출하는 단계를 수행할 수 있다.
얼굴 인식 모델 학습시 얼굴의 형태와 관련된 얼굴 형태 정보와 얼굴 인식을 위한 얼굴 특징 정보를 동시에 학습시킴으로써 다양하게 정렬된 얼굴 이미지에 대해 강인한 얼굴 특징을 학습할 수 있다.
또한, 입력된 얼굴에 대한 테스트가 수행될 때 얼굴 인식 파이프라인에서 얼굴 정렬 연산이 수행되지 않으므로, 얼굴 인식의 계산 복잡도가 낮아질 수 있다.
도 1은 한 실시예에 따른 얼굴 인식 장치를 나타낸 블록도이다.
도 2는 한 실시예에 따른 얼굴 인식 장치의 트레이닝 방법을 나타낸 흐름도이다.
도 3은 한 실시예에 따른 데이터 증강의 예시도이다.
도 4a, 도 4b, 및 도 4c는 한 실시예에 따른 얼굴 형태의 사전 정보를 추출하는 개념도이다.
도 5는 한 실시예에 따른 얼굴 인식 장치의 특징 학습 방법을 나타낸 개념도이다.
도 6은 한 실시예에 따른 얼굴 이미지 디코더를 나타낸 블록도이다.
도 7은 한 실시예에 따른 얼굴 인식 장치의 추론 단계의 흐름도이다.
도 8은 다른 실시예에 따른 얼굴 인식 장치의 하드웨어 구성을 나타낸 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 기재의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 기재는 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 기재를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
실시예에서 설명되는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성된다. 메모리 장치에는 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 프로그램을 실행하여 실시예에 따른 방법을 실행할 수 있다. 프로그램은 도면들을 참고로 설명되는 실시예에 따른 방법을 구현하기 위한 명령어(instructions)를 포함할 수 있고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 실시예에 따른 방법을 실행한다.
본 명세서에서 "전송 또는 제공" 은 직접적인 전송 또는 제공하는 것뿐만 아니라 다른 장치를 통해 또는 우회 경로를 사용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
도 1은 한 실시예에 따른 얼굴 인식 장치를 나타낸 블록도이다.
도 1을 참조하면, 한 실시예에 따른 얼굴 인식 장치(100)는 데이터 증강 모듈(110), 얼굴 형태 추정 모듈(120), 얼굴 특징 추출 모듈(130), 및 얼굴 이미지 디코더(140)를 포함한다. 얼굴 인식 장치(100)는 얼굴 영역을 포함하는 이미지 데이터로부터 생성된 복수의 얼굴 이미지를 사용하여 얼굴 인식 장치를 트레이닝할 수 있다. 이후 얼굴 인식 장치(100)의 트레이닝된 얼굴 특징 추출 모듈(130)은 목표 이미지로부터 얼굴을 인식하기 위한 특징을 추출할 수 있다.
얼굴 형태 추정 모듈(120), 얼굴 특징 추출 모듈(130), 및 얼굴 이미지 디코더(140)는 각각 적어도 하나의 레이어를 포함하는 심층 신경망(Deep Neural Network, DNN)일 수 있다. 본 기재에서 얼굴 형태 추정 모듈(120)은 제1 심층 신경망 또는 얼굴 형태 추정 네트워크라고 할 수 있고, 얼굴 특징 추출 모듈(130)은 제2 심층 신경망 또는 얼굴 특징 추출 네트워크라 할 수 있다.
한 실시예에 따른 얼굴 인식 장치(100)의 얼굴 특징 추출 모듈(130)은 얼굴 형태 추정 모듈(120)과의 기계 학습을 통해 얼굴의 형태를 트레이닝 단계에서 사전 인지할 수 있고, 이에 따라 트레이닝된 얼굴 특징 추출 모듈(130)은 추론 단계에서 얼굴 정렬 없이 목표 이미지 내에서 얼굴의 형태가 인지된 특징을 추출해낼 수 있다.
데이터 증강 모듈(110)은 얼굴을 포함하는 이미지 데이터에 대해 데이터 증강(data augmentation)을 수행함으로써 증강된 학습 이미지를 생성할 수 있다. 학습 이미지는 얼굴 영역이 무작위로 크롭되어 있고, 각 학습 이미지에서 얼굴 영역의 위치는 서로 다를 수 있다. 즉, 각 학습 이미지 내의 얼굴은 다양한 정렬 형태를 가질 수 있다. 하나의 학습 이미지 세트는 얼굴 영역이 무작위로 크롭된 복수의 학습 이미지를 포함할 수 있다.
얼굴 형태 추정 모듈(120)은 데이터 증강 모듈(110)에 의해 생성된 학습 이미지(또는 학습 이미지 세트)를 사용하여 얼굴 형태의 사전 정보를 추정할 수 있다.
얼굴 형태의 사전 정보는 얼굴의 형태(Shape)에 관한 정보이고, 학습 이미지 내에서 얼굴의 정렬 상태에 따라 달라질 수 있다. 얼굴 모양의 특징 정보는 얼굴 인식을 위해 사용되는 얼굴의 모양 측면의 특징에 관한 정보를 나타낼 수 있다. 예를 들어, 얼굴 형태의 사전 정보는 얼굴 구성 요소의 윤곽에 관한 정보를 포함할 수 있다. 얼굴 모양의 특징 정보는 얼굴 구성 요소의 특징 디스크립터를 포함할 수 있다. 얼굴 구성 요소는 눈, 눈썹, 코, 입 또는 치아 등과 같이 사용자의 얼굴을 특징화하는 데 중요한 역할을 하는 구성요소이다.
얼굴 형태 추정 모듈(120)이 증강된 학습 이미지로부터 얼굴 형태의 사전 정보를 추정할 때 사용되는 심층 신경망은, 데이터 증강을 통해 기하학적으로 변환된 데이터들로부터 각각 추출되는 특징 사이의 거리를 최소화하는 손실함수를 사용할 수 있다.
얼굴 형태 추정 모듈(120)에 의해 추정된 얼굴 형태의 사전 정보 및 얼굴 특징 추출 모듈(130)에 의해 추출된 얼굴 모양의 특징 정보는 스태킹(stacking), 풀링(pooling), 또는 어텐션(attention) 방식 중 적어도 하나의 방식에 따라 결합(또는 연접)될 수 있다. 얼굴 이미지 디코더(130)는 얼굴 형태의 사전 정보 및 얼굴 모양의 특징 정보의 결합으로 생성된 결합 특징 정보를 사용하여 최적 정렬 얼굴 이미지를 통한 지도 학습 방식으로 얼굴 인식 모델을 트레이닝시킬 수 있다.
풀링 방식은, 두 단계를 통해 추출된 정보(얼굴 형태의 사전 정보 및 얼굴 모양의 특징 정보)들을 사용하는, 2차원(x, y) 공간 및 채널에 대한 풀링 연산(예: 최대값/평균값 풀링)에 의해 수행될 수 있다.
어텐션 방식에서, 2차원(x, y) 공간 및 채널에 대한 어텐션 가중치가 트레이닝을 통해 획득되고, 얼굴 형태의 사전 정보 및 얼굴 모양의 특징 정보로부터 가중치가 적용된 특징이 추출될 수 있다.
얼굴 형태 추정 모듈(120)은 얼굴의 형태 정보를 생성할 수 있고, 얼굴 특징 추출 모듈(130)은 얼굴의 형태에 기반한 특징 강조 학습을 수행함으로써, 추론 단계에서 주어진 목표 이미지로부터 얼굴 특징이 추출될 수 있고, 추론 단계에서는 얼굴 정렬이 수행될 필요가 없다. 목표 이미지 내에서 추출된 얼굴 특징은 추후 얼굴 인식 장치의 트레이닝을 위해 DB 내에 저장될 수 있다.
도 2는 한 실시예에 따른 얼굴 인식 장치의 트레이닝 방법을 나타낸 흐름도이고, 도 3은 한 실시예에 따른 데이터 증강의 예시도이며, 도 4a 내지 도 4c는 한 실시예에 따른 얼굴 형태의 사전 정보를 추출하는 개념도이다.
도 2를 참조하면, 데이터 증강 모듈(110)은 얼굴 영역이 포함된 복수의 이미지에 대해 데이터 증강을 수행하여 학습 이미지(또는 학습 이미지 세트)를 생성할 수 있다(S110).
데이터 증강 모듈(110)은 도 3의 (A)의 얼굴 영역을 포함하는 하나의 이미지로부터 도 3의 (B)의 복수의 증강된 학습 이미지를 생성할 수 있다. 데이터 증강은 얼굴의 기하학적 변환, 예컨대, 스케일링, 회전, x축/y축 위치 변환 등을 통해 수행될 수 있다.
얼굴 형태 추정 모듈(120)은 제1 심층 신경망을 사용하여, 증강된 학습 이미지로부터 얼굴 형태의 사전 정보를 추출할 수 있다(S120).
S120 단계에서, 얼굴 형태 추정 모듈(120)은 얼굴 형태의 사전 정보가 트레이닝에 반영될 수 있도록, 얼굴 이미지의 형태와 관련된 정보, 예컨대, 얼굴 구성 요소의 윤곽을 식별하는 얼굴 키포인트 좌표 또는 파싱 맵(parsing map) 정보 등을 얼굴 형태의 사전 정보로서 추정할 수 있다.
이때, 도 4a 내지 도 4c를 참조하면, 얼굴 형태 추정 모듈(120)은 첫 번째 열의 얼굴 이미지로부터 두 번째 열과 같은 얼굴 키포인트 좌표를 추출하거나 또는 세 번째 열과 같은 파싱 맵을 추정할 수 있다.
얼굴 키포인트 좌표로서, 눈/코/입 등의 2차원(x, y) 좌표 정보 또는 각 얼굴 부분에 대한 특징 맵(feature map) 정보가 활용될 수 있다.
파싱 맵으로서, 얼굴의 각 부분에 대한 픽셀 별 분할 정보 또는 특징 맵이 활용될 수 있다.
얼굴 특징 추출 모듈(130)은 제2 심층 신경망을 사용하여, 증강된 학습 이미지로부터 얼굴 모양의 특징 정보를 추출할 수 있다(S130). 한 실시예에 따른 얼굴 특징 추출 모듈(130)의 학습시, 제1 심층 신경망에 의해 획득된 얼굴 형태에 관한 사전 정보가 고려됨으로써, 얼굴 형태의 사전 정보가 강조된 얼굴 모양의 특징 정보가 추출될 수 있다.
이후, 얼굴 형태 추정 모듈(120)의 얼굴 형태의 사전 정보 및 얼굴 특징 추출 모듈(130)의 얼굴 모양의 특징 정보는 결합될 수 있다(S140).
얼굴 이미지 디코더(140)는 결합된 정보를 바탕으로 얼굴 이미지를 디코딩할 수 있다(S150). S150 단계는 선택적으로 수행될 수 있다.
이후, 얼굴 인식 장치(100)는 얼굴 이미지 디코더(140)가 최적 정렬된 얼굴 이미지와 근접한 얼굴 이미지를 디코딩할 수 있도록 파라미터를 업데이트함으로써 트레이닝된다(S160).
한 실시예에 따른 얼굴 이미지 디코더(140)는, 다양하게 정렬된 학습 이미지로부터 추정된 사전 정보 및 학습 이미지로부터 추출된 특징 정보의 결합 정보의 디코딩함으로써, 최적 정렬 얼굴 이미지에 근접한 얼굴 이미지를 생성할 수 있다. 즉, 한 실시예에 따른 얼굴 인식 모델은 최적 정렬 얼굴 이미지와 사전 정보 및 특징 정보의 결합 정보를 바탕으로 디코딩된 얼굴 이미지를 비교하여 지도 학습을 수행함으로써, 정렬되지 않은 얼굴 이미지로부터 최적 정렬된 얼굴 이미지를 생성하도록 될 수 있다.
S150 단계가 수행된 경우, 얼굴 이미지 디코더(140)는 디코딩된 얼굴 이미지와 최적 정렬된 얼굴 이미지를 바탕으로 훈련될 수 있다. 여기서 특징 디코딩을 통하여 디코딩된 얼굴 이미지와 최적 정렬된 얼굴 이미지 간의 차이를 최소화하는 손실함수를 통해 얼굴 인식 장치가 트레이닝될 수 있다.
얼굴 인식 장치(100)는 결합된 특징 정보와 인물 정보 레이블을 바탕으로 학습을 수행할 수 있다. 인물 정보 레이블은 S110 단계에서 사용된 복수의 이미지 내의 인물에 대응되는 인물 정보를 포함할 수 있다. 얼굴 인식 장치(100)는 대용량의 얼굴 이미지 데이터인 VGGFace2 또는 MS-Celeb-1M 등에 의해 학습된 얼굴 인식 모델을 초기 얼굴 인식 모델로서 사용하고, 초기 얼굴 인식 모델에 대해 미세 조정(fine-tuning)을 수행할 수 있다.
얼굴 인식 장치(100)은 얼굴 이미지, 인물 정보, 그리고 결합된 특징 정보를 활용하여 지도 학습 방식으로 트레이닝할 수 있다. 데이터 증강에 의해 기하학적으로 변환된, 증강된 얼굴 학습 이미지로부터 동일한 특징을 얻을 수 있도록, 특징 사이의 거리가 최소화하기 위한 손실함수가 얼굴 인식 장치(100)의 트레이닝시 사용될 수 있다.
제1 심층 신경망, 제2 심층 신경망, 및 얼굴 이미지 디코더의 트레이닝을 위해, 데이터 증강을 통해 기하학적으로 변환된 학습 이미지들로부터 각각 추출되는 특징 정보 사이의 거리를 최소화하는 손실함수가 사용될 수 있다.
이와 같이, 종래의 얼굴 인식 방법에서는 단순히 데이터 증강을 사용한 얼굴 특징을 추출하는 것에 그친 것과 달리, 한 실시예에 따른 얼굴 인식 장치(100)는, 얼굴 형태의 사전 정보와 얼굴 모양의 특징 정보를 결합하여 학습하되 모델 구조와 파라미터를 고정하여 학습함으로써, 얼굴의 정렬 형태에 강인한 얼굴 특징 학습이 수행될 수 있다.
도 5는 한 실시예에 따른 얼굴 인식 장치의 특징 학습 방법을 나타낸 개념도이고, 도 6은 한 실시예에 따른 얼굴 이미지 디코더를 나타낸 블록도이다.
도 5를 참조하면, 한 실시예에 따른 얼굴 인식 장치(500)는 얼굴 형태 추정 네트워크(face shape estimation network)(510), 얼굴 특징 추출 네트워크(face feature extraction network)(520), 및 얼굴 이미지 디코더(face image decoder)(530)를 포함할 수 있다.
얼굴 형태 추정 네트워크(510)는 얼굴 이미지로부터 얼굴 키포인트(face keypoint)의 좌표를 얼굴 형태의 사전 정보(face shape prior)로서 추론할 수 있다. 얼굴 형태 추정 네트워크(510)로 입력되는 얼굴 이미지
Figure pat00001
는 얼굴이 포함된 이미지 내에서 얼굴 영역을 중심으로 무작위로 크롭된 이미지 중 하나일 수 있다. 얼굴 키포인트의 좌표는 얼굴 형태 상에서 히트맵으로 표현될 수 있다. 얼굴 특징 추출 네트워크(520)는 백본 네트워크를 바탕으로 얼굴 모양 특징 정보(face appearance feature)를 출력할 수 있다.
얼굴 이미지 디코더(530)는 얼굴 형태 추정 네트워크 및 얼굴 특징 추출 네트워크의 출력을 바탕으로 디코딩된 얼굴 이미지
Figure pat00002
를 재구성할 수 있다. 디코딩된 얼굴 이미지의 특성은 최적 정렬 얼굴 이미지
Figure pat00003
와의 픽셀 정렬을 통해 모델링될 수 있다. 최적 정렬 얼굴 이미지
Figure pat00004
는 무작위로 크롭된 여러
Figure pat00005
중에서 가장 최적 정렬 얼굴 이미지일 수 있다.
집성된 얼굴 형태 특징(face shape-aggregated feature)은 특징 정렬을 통해 얼굴 특징 추출 네트워크에 동시에 연결될 수 있고, 얼굴 특징 추출 네트워크(520)는 트레이닝 단계(training phase)에서 집성된 얼굴 형태 특징을 통해 얼굴 형태가 인지된 특징(face shape-aware feature)을 학습할 수 있고, 이후 얼굴 특징 추출 네트워크(520)는 추론 단계(inference phase)에서 얼굴 형태 추정 네트워크(510)의 도움 없이 얼굴의 형태가 인지된 특징을 추출할 수 있다. 즉, 얼굴 특징 추출 네트워크(520)는 최적 정렬 얼굴 이미지의 특성을 종단 간 방식으로 학습함으로써 추론 단계에서 명시적인 얼굴 정렬 프로세스 없이 얼굴 오정렬에 강한 얼굴 특징 추출을 수행할 수 있다.
도 5에서 가는 실선으로 표시된 화살표와 굵은 실선으로 표시된 화살표는 모두 트레이닝 단계의 경로이고, 굵은 실선으로 표시된 화살표는 추론 단계의 경로이다. 얼굴 이미지
Figure pat00006
는 트레이닝 단계에서 얼굴 형태 추정 네트워크(510) 및 얼굴 특징 추출 네트워크(520) 모두에게 입력되지만, 추론 단계에서 목표 이미지는 얼굴 특징 추출 네트워크(520)에만 입력된다. 즉, 추론 단계에서 얼굴 특징 추출 네트워크(520)는 얼굴 형태 추정 네트워크(510)의 도움 없이 목표 이미지로부터 얼굴 특징을 추출해낼 수 있다.
아래에서는 얼굴 형태 추정 네트워크(510)에 대해 설명한다.
얼굴 형태 추정 네트워크(510)는 얼굴 형태의 사전 정보를 추정하기 위해 복수의 모래 시계(hourglass) 모듈로 구성된 얼굴 정렬 네트워크(face alignment network, FAN)를 사용할 수 있고, 다른 형태의 얼굴 정렬 네트워크 또한 얼굴 형태 추정 네트워크(510) 내에서 사용될 수 있으며, 본 기재는 이에 한정되지 않는다. 이때 얼굴 정렬 네트워크에서 사전 트레이닝된 파라미터는 사전 정보를 안정적으로 획득하기 위해 트레이닝 중에 변경되지 않을 수 있다.
얼굴 형태 추정 네트워크(510)로 입력되는 i번째 얼굴 이미지
Figure pat00007
(r은 입력 이미지가 얼굴이 포함된 이미지에서 무작위(randomly)로 크롭된 것을 의미함)에 대해,
Figure pat00008
을 파라미터로 갖는 얼굴 형태 추정 네트워크(510)는 복수의 얼굴 키포인트(예를 들어, 68개의 얼굴 키포인트)에 대응하는 히트 맵을 추론할 수 있다. 여기서 히트 맵은 얼굴 키포인트에 대응하는 개수의 채널을 포함할 수 있다.
히트 맵에는 가우시안 블러링(Gaussian blurring), 크기 조정(resizing), 및 채널 변환(channel conversion)과 같은 후처리 과정이 적용될 수 있다. 예를 들어, 68-채널 히트 맵은 히트 맵의 피크 포인트(즉, 얼굴 키포인트 위치)의 위치에 대해
Figure pat00009
를 사용하는 가우스 커널(Gaussian kernel)에 의해 블러링됨으로써 키포인트의 주변 영역의 중요성이 강조될 수 있다. 이후 히트 맵의 크기는 얼굴 특징 추출 네트워크(520)의 특징 맵의 크기에 맞춰지도록 조정될 수 있다(예를 들어, 56×56). 추정된 키포인트에 대한 히트 맵은 효율적인 메모리 소비를 위해 복수의 이미지 채널로 변환될 수 있다. 예를 들어, 복수의 이미지 채널은 1) 눈 부분(눈과 눈썹 등을 포함함)의 히트 맵, 2) 코와 입 부분의 히트 맵, 및 3) 얼굴 경계의 히트 맵을 포함할 수 있다. 얼굴 형태 추정 네트워크(510)에 의해 결정된 히트 맵(
Figure pat00010
)은 아래 수학식 1과 같을 수 있다.
Figure pat00011
수학식 1에서 S는 FAN의 피드 포워드 계산 작업을 나타내고, Z는 가우스 블러링, 크기 조정, 및 채널 변환 등의 후처리 기능을 나타낸다.
Figure pat00012
은 얼굴 형태 추정 네트워크의 파라미터이다.
아래에서는 얼굴 특징 추출 네트워크(520)에 대해 설명한다. 얼굴 특징 추출 네트워크(520)는 레스넷(ResNet)에 기반하여 얼굴 모양(face appearance)의 특징 정보를 추출할 수 있고, 레스넷 이외에 다른 형태의 인공 신경 네트워크가 사용될 수 있도 있으며, 본 기재는 이에 한정되지 않는다. 얼굴 특징 추출 네트워크(520)는 2D 컨볼루션(convolution) 레이어, 배치 정규화(batch normalization) 레이어, ReLU 활성화(activation) 레이어, 맥스풀링(max-pooling) 레이어, 및 복수의 병목(bottleneck) 레이어를 포함할 수 있다.
얼굴 특징 추출 네트워크(520) 내의 각 레이어의 채널 수와 병목 레이어의 스트라이드(stride)는 특징 맵과 얼굴 형태 정보에 관한 히트 맵의 정렬을 위해 수정될 수 있다. 예를 들어, 512개의 채널은 네 번째 병목 레이어에서 256개 채널로 변경될 수 있고, 병목 레이어의 스트라이드는 2 대신 1로 설정될 수 있다. i번째 얼굴 이미지
Figure pat00013
에 대해 얼굴 모양의 특징 맵
Figure pat00014
은 아래 수학식 2와 같을 수 있다.
Figure pat00015
수학식 2에서
Figure pat00016
는 얼굴 특징 추출 네트워크의 파라미터이다.
아래에서는 얼굴 이미지 디코더(530)를 설명한다. 얼굴 이미지 디코더(530)는
Figure pat00017
Figure pat00018
의 특징 맵(feature map)을 사용하여 입력 이미지
Figure pat00019
에 대응하는, 최적 정렬 얼굴 이미지
Figure pat00020
의 특성을 학습할 수 있다. 디코딩 이전에,
Figure pat00021
Figure pat00022
는 연접될 수 있다. 아래 수학식 3은 연접된 특징 맵
Figure pat00023
의 예시를 나타낸다.
Figure pat00024
여기서
Figure pat00025
는 얼굴 형태 추정 네트워크(510)의 출력(예를 들어, 얼굴 형태의 사전 정보) 및 얼굴 특징 추출 네트워크(520)의 출력(예를 들어, 얼굴 모양의 특징 정보)의 채널 연접을 나타낸다. 이후 연접된 특징 맵
Figure pat00026
는 얼굴의 형태 인지(shape-aware) 특징을 위해, 채널 집성(Channel Aggregation) 레이어
Figure pat00027
에 의해 집성될 수 있다. 채널 집성 레이어는 컨볼루션 레이어 및 배치 정규화 레이어를 포함할 수 있다. 컨볼루션 레이어의 크기는 1×1일 수 있다. 채널 집성 레이어는 채널 별로 얼굴 형태의 사전 정보 및 얼굴 모양의 특징 정보를 집성할 수 있다. 얼굴 이미지 디코더(530)로의 입력이
Figure pat00028
일 때, 얼굴 이미지 디코더(530)의 디코딩 결과는 아래 수학식 4와 같다.
Figure pat00029
수학식 4에서
Figure pat00030
는 얼굴 이미지 디코더(D)(530)의 파라미터이다.
도 6을 참조하면, 한 실시예에 따른 얼굴 이미지 디코더(530)는 제1 컨볼루션 레이어, 디컨볼루션 레이어, 레스넷, 및 제2 컨볼루션 레이어를 포함할 수 있다. 제1 컨볼루션 레이어와 디컨볼루션 레이어의 사이와, 디컨볼루션 레이어와 레스넷의 사이에는 각각 배치 정규화 레이어 및 ReLU 레이어가 포함될 수 있다.
예를 들어, 얼굴 이미지 디코더(530)의 제1 컨볼루션 레이어는 연접된 특징 맵의 개수를 미리 결정된 개수로 줄일 수 있다. 다음 디컨볼루션(deconvolution) 레이어는 연접된 특징 맵을 업샘플링(upsampling)하여 이미지의 해상도를 미리 결정된 비율로 높일 수 있다. 이후 레스넷의 잉여 블록(residual block)은 특징 맵을 디코딩할 수 있다. 마지막으로 제2 컨볼루션 레이어는 디코딩된 얼굴 이미지
Figure pat00031
를 재구성할 수 있다. 무작위로 크롭된 얼굴 이미지
Figure pat00032
의 연접된 특징 맵으로부터 디코딩된 얼굴 이미지
Figure pat00033
를 재구성하는 프로세스는 픽셀 정렬(Pixel Alignment)이라고 할 수 있다.
한 실시예에 따른 얼굴 인식 장치(500)는 트레이닝 단계에서 잘 정렬되지 않은 얼굴 이미지로부터 효율적으로 얼굴 특징을 추출하기 위해 특징 정렬(feature alignment) 프로세스를 더 수행할 수 있다. 한 실시예에 따른 얼굴 인식 장치(500)는 특징 정렬 프로세스를 통해 얼굴 특징 추출 네트워크(520)를 채널 집성 특징에 의해 가이드되도록 트레이닝할 수 있다.
채널 집성 특징은 얼굴 형태의 사전 정보 및 얼굴 모양의 특징 정보를 포함하기 때문에, 추가 학습기(또는 특징 맵 삽입기(feature map embedder))
Figure pat00034
는 얼굴 특징 추출 네트워크(520)에 의해 추출된 얼굴 모양의 특징 정보
Figure pat00035
를 가이드
Figure pat00036
에 매핑하는 함수를 학습할 수 있다. 효율적인 계산을 위해, 특징 맵
Figure pat00037
및 특징 맵
Figure pat00038
는 전역 평균 풀링(global average pooling, GAP)에 의해 특징 벡터(feature vector)로 변환될 수 있다.
표 I은 한 실시예에 따른 얼굴 인식 장치(500)에 의해 학습될 구조의 세부 사항을 표시한다.
네트워크 레이어 명칭 출력크기 동작
얼굴 특징 추출
네트워크(F)
Conv 1 112×112 7×7, 64, stride 2
(배치정규화(BatchNorm), ReLU)
Conv2_x
(병목(Bottleneck))
56×56 3×3 Max Pooling, stride 2
Figure pat00039
Conv3_x(병목(Bottleneck)) 56×56
Figure pat00040
Conv4_x(병목(Bottleneck)) 56×56
Figure pat00041
Conv5_x(병목(Bottleneck)) 56×56
Figure pat00042
얼굴 이미지 디코더
(D)
Conv1 56×56 3×3, 64, stride 1
(BatchNorm, ReLU)
DeConv 112×112 3×3, 64, stride 2
(BatchNorm, ReLU)
Conv2_x(기본(Basic)) 112×112
Figure pat00043
Conv3_x(기본(Basic)) 112×112
Figure pat00044
Conv4_x(기본(Basic)) 112×112
Figure pat00045
Conv5 112×112 3×3, 3, stride 1(Tanh)
특징 맵 삽입기
(
Figure pat00046
)
Conv 56×56 1×1, 512, stride 1
(BatchNorm, ReLU)
채널 집성 레이어(
Figure pat00047
)
Conv 56×56 1×1, 512, stride 1
(BatchNorm)
완전 연결 레이어
(Q, b)
- 1×1 전역 평균 풀링(Global Average Pooling), 8631
(SoftMax)
한 실시예에 따르면, 얼굴 인식 장치(500)의 트레이닝 단계를 위해 세 개의 손실 함수가 사용될 수 있다. 세 개의 손실 함수는 특징 추출된 얼굴 이미지(또는 얼굴 모양의 특징 정보)가 분류될 때 사용되는 교차 엔트로피 손실(cross-entropy loss) 함수, 픽셀 정렬에서의 손실 함수, 및 특징 정렬에서의 손실 함수를 포함할 수 있다.
교차 엔트로피 손실 함수는 얼굴 특징 추출 네트워크(520) 및 GAP에 의해 얼굴 이미지로부터 특징이 추출 후 특징 추출된 얼굴 이미지(또는 얼굴 모양의 특징 정보)가 임베디드 특징(embedded feature)
Figure pat00048
에 대한 클래스 중 하나로 분류될 때 사용될 수 있고, 아래 수학식 5와 같이 표현될 수 있다.
Figure pat00049
수학식 5에서
Figure pat00050
는 i번째 샘플의 실제값(Ground Truth) 클래스 레이블에 대응하는 원핫(one-hot) 벡터의 c번째 요소이고,
Figure pat00051
는 소프트맥스(SoftMax)함수에 의해 추정된 라벨의 원핫 벡터의 c번째 요소이다. 소프트맥스 함수의 예시는 아래 수학식 6과 같다.
Figure pat00052
수학식 6을 참조하면,
Figure pat00053
는 완전 연결 계층의 가중치 행렬이고,
Figure pat00054
는 완전 연결 레이어의 바이어스 벡터이다.
수학식 5에서
Figure pat00055
은 한 세대(epoch)의 트레이닝을 위해 사용되는 샘플의 개수이고,
Figure pat00056
는 클래스의 개수이다.
얼굴 이미지 디코더(530)의 학습을 위해 사용되는, 최적 정렬 얼굴 이미지 및 디코딩된 얼굴 이미지 사이의 L1 손실, 즉 픽셀 정렬에서의 손실 함수는 아래 수학식 7과 같이 표현될 수 있다.
Figure pat00057
수학식 7에서
Figure pat00058
는 수학식 4와 같다. 픽셀 정렬 과정은 최적 정렬 얼굴 이미지와 얼굴 이미지 디코더(530)에 의해 디코딩된 얼굴 이미지를 비교하는 과정일 수 있다.
그리고, 얼굴 형태가 인지된 특징을 학습하기 위한 특징 정렬에서의 손실 함수는 아래 수학식 8과 같이 표현될 수 있다.
Figure pat00059
수학식 8에 의해, 얼굴 이미지 및 얼굴 형태의 사전 정보가 모두 고려된 특징
Figure pat00060
은 얼굴 특징 추출 네트워크(520)으로부터의 특징
Figure pat00061
으로 변환될 수 있다. 특징 정렬 과정은 채널 집성된 특징 맵
Figure pat00062
의 전역 평균 풀링 결과
Figure pat00063
및 얼굴 특징 추출 네트워크(520)으로부터의 특징 맵
Figure pat00064
의 전역 평균 풀링 결과
Figure pat00065
를 비교하는 과정일 수 있다.
한 실시예에 따른 얼굴 인식 장치(500)의 트레이닝을 위한 총 손실(
Figure pat00066
)은 세 개의 손실 함수를 사용하여 아래 수학식 9와 같이 표현될 수 있다.
Figure pat00067
한 실시예에 따른 얼굴 인식 장치(500)는 예를 들어, 미니 배치 경사 하강법(mini-batch gradient descent)을 통해, 아래 수학식 10을 최적화하는 학습 파라미터(즉,
Figure pat00068
)를 획득할 수 있다.
Figure pat00069
이후 추가 학습기, GAP 레이어, 및 완전 연결 레이어(fully-connected layer)는 얼굴 특징 추출 네트워크로부터 출력되는 얼굴 모양의 특징 정보
Figure pat00070
로부터 목표 이미지의 얼굴 형태 인지 특징을 추출해낼 수 있다. 즉, 한 실시예에 따른 얼굴 인식 장치(500)는 추론 단계에서, 추가 학습기를 사용하여 특징 맵
Figure pat00071
을 출력하고, GAP 레이어를 사용하여 특징 맵의 GAP 결과
Figure pat00072
를 출력하며, 이후 파라미터 Q 및 b가 업데이트될 완전 연결 레이어를 사용하여 목표 이미지로부터 얼굴 형태가 인지된 특징을 추출할 수 있다.
트레이닝 단계에서 얼굴 인식 장치(500)는, 얼굴 형태의 사전 정보 및 얼굴 모양의 특징 정보에 기반한 결합된 특징 정보를 디코딩함으로써, 잘 정렬된 또는 최적 정렬된 얼굴 이미지의 특징을 학습할 수 있다(픽셀 정렬 과정에 대응함). 특징 정렬 과정을 통해, 얼굴 특징 추출 네트워크는 얼굴 이미지가 입력될 때, 얼굴 형태 인지 특징을 학습할 수 있다.
추론 단계에서, 얼굴 정렬에 대해 불변(invariant)인 얼굴 특징 벡터가 트레이닝된 네트워크에 기반한 얼굴 이미지로부터 추출될 수 있다. 본 기재의 추론 단계에서 명시적인 얼굴 정렬 프로세스가 필요하지 않기 때문에, 얼굴 오정렬(misalignment)에 강하고 효율적으로 얼굴 특징이 추출될 수 있다.
도 7은 한 실시예에 따른 얼굴 인식 장치의 추론 단계의 흐름도이다.
도 7의 얼굴 인식 방법은 얼굴 형태 추정 모듈(120)의 작동 없이 얼굴 특징 추출 모듈(130)에 의해 수행될 수 있다.
한 실시예에 따른 얼굴 특징 추출 모듈(130)은 트레이닝을 통해 업데이트된 파라미터에 기반하여 목표 이미지에서 얼굴 특징을 추출할 수 있다. 먼저, 얼굴 특징 추출 모듈(130)로 얼굴 영역이 포함된 목표 이미지가 입력되면(S210), 얼굴 특징 추출 모듈(130)은 목표 이미지에서 얼굴 특징을 추출할 수 있다(S220).
얼굴 특징 추출 모듈(130)는 트레이닝 단계에서 업데이트된 파라미터를 사용하여, 얼굴의 형태 정보가 강조된 얼굴 특징 추출을 수행할 수 있다.
한 실시예에 따른 얼굴 특징 추출 모듈(130)은 얼굴 정렬 형태에 강인한 특징을 바탕으로 얼굴 특징을 추출할 수 있으므로, 추론 단계에서 얼굴 정렬이 별도로 수행되지 않고도 얼굴 특징이 정확히 추출될 수 있다.
도 8은 다른 실시예에 따른 얼굴 인식 장치의 하드웨어 구성을 나타낸 블록도이다.
한 실시예에 따른 얼굴 인식 장치는, 컴퓨터 장치, 예를 들어 컴퓨터 판독 가능 매체로 구현될 수 있다.
도 8을 참조하면, 컴퓨터 장치(400)는 버스(401)를 통해 통신하는 프로세서(403), 메모리(405), 스토리지(407), 통신 장치(409), 입력 인터페이스 장치(411) 및 출력 인터페이스 장치(413) 중 적어도 하나를 포함할 수 있다.
또한, 각각의 구성요소들은 공통 버스(401)가 아니라, 프로세서(403)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다.
프로세서(403)는 메모리(405) 및 스토리지(407) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다.
프로세서(403)는 중앙 처리 장치(central processing unit, CPU) 또는 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 이러한 프로세서(403)는 위의 도 1 내지 도 5를 토대로 설명한 방법에서 대응하는 기능을 구현하도록 구성될 수 있다.
메모리(405)는 프로세서(403)와 연결되고 프로세서(403)의 동작과 관련한 다양한 정보를 저장한다. 메모리(405)는 프로세서(403)에서 수행하기 위한 명령어를 저장하고 있거나 스토리지(407)로부터 명령어를 로드하여 일시 저장할 수 있다. 프로세서(403)는 메모리(405)에 저장되어 있거나 로드된 명령어를 실행할 수 있다. 메모리(405)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다.
메모리(405)/스토리지(407)는 프로세서(403)의 내부 또는 외부에 위치할 수 있고, 이미 알려진 다양한 수단을 통해 프로세서(403)와 연결될 수 있다. 메모리(405)/스토리지(407)는 학습 프로세스의 학습에 따라 생성되는 얼굴 형태 정보, 얼굴 특징 정보, 결합 특징 정보 및 얼굴 인식 모델을 저장하도록 구성될 수 있다.
통신 장치(409)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다.
한편, 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다.
구체적으로, 실시예에 따른 방법(예, 블록 다이어그램 편집 방법, 온칩 네트워크 설계 방법 등)은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능 매체에 기록될 수 있다.
컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은, 실시예를 위해 특별히 설계되어 구성된 것이거나, 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 기록 매체는 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치를 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 기록 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등일 수 있다. 프로그램 명령은 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 통해 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 실시예에 대하여 상세하게 설명하였지만 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 기본 개념을 사용한 당업자의 여러 변형 및 개량 형태 또한 권리범위에 속하는 것이다.

Claims (18)

  1. 심층 신경망(deep neural network, DNN)을 사용한 얼굴 인식 방법으로서,
    얼굴을 포함하는 이미지에서 크롭된 입력 이미지로부터 얼굴 인식 장치의 제1 심층 신경망(Deep Neural Network, DNN)을 사용하여 얼굴 형태의 사전 정보를 추정하는 단계,
    상기 입력 이미지로부터 상기 얼굴 인식 장치의 제2 심층 신경망을 사용하여 얼굴 모양의 특징 정보를 추출하는 단계,
    상기 얼굴 인식 장치의 얼굴 이미지 디코더를 사용하여 상기 사전 정보 및 상기 특징 정보를 바탕으로, 최적 정렬 얼굴 이미지에 근접한 얼굴 이미지가 디코딩될 수 있도록 상기 얼굴 인식 장치를 트레이닝하는 단계, 그리고
    트레이닝된 얼굴 인식 장치에 포함된 제2 심층 신경망을 사용하여 추론 단계에서 목표 이미지로부터 얼굴 형태가 인지된 특징을 추출하는 단계
    를 포함하는 얼굴 인식 방법.
  2. 제1항에서,
    상기 사전 정보를 추정하는 단계는,
    상기 얼굴의 구성 요소의 윤곽을 식별하는 얼굴 키포인트 좌표 또는 파싱 맵을 상기 사전 정보로서 추정하는 단계
    를 포함하는, 얼굴 인식 방법.
  3. 제1항에서,
    상기 트레이닝하는 단계는,
    상기 제1 심층 신경망, 상기 제2 심층 신경망, 및 상기 얼굴 이미지 디코더의 파라미터들을 업데이트함으로써 트레이닝을 수행하는 단계
    를 포함하는, 얼굴 인식 방법.
  4. 제3항에서,
    상기 트레이닝을 수행하는 단계는,
    미니 배치 경사 하강법을 통해 상기 파라미터를 획득하는 단계
    를 포함하는, 얼굴 인식 방법.
  5. 제3항에서,
    상기 트레이닝을 수행하는 단계는,
    상기 제1 심층 신경망, 상기 제2 심층 신경망, 및 상기 얼굴 이미지 디코더의 학습 파라미터에 관한 적어도 하나의 손실 함수를 바탕으로 상기 트레이닝을 수행하는 단계
    를 포함하는, 얼굴 인식 방법.
  6. 제5항에서,
    상기 적어도 하나의 손실 함수는, 상기 제2 심층 신경망에 의해 추출된 상기 특징 정보에 관한 교차 엔트로피 손실 함수, 특징 정렬 과정의 손실 함수, 및 픽셀 정렬 과정의 손실 함수 중 하나 이상을 포함하는, 얼굴 인식 방법.
  7. 제6항에서,
    상기 특징 정렬 과정은, 상기 사전 정보 및 상기 특징 정보의 결합 정보에 대한 전역 평균 풀링(global average pooling, GAP) 결과 및 상기 제2 심층 신경망으로부터 추출된 특징 맵의 GAP 결과를 비교하는 과정인, 얼굴 인식 방법.
  8. 제6항에서,
    상기 픽셀 정렬 과정은,
    상기 얼굴 이미지 디코더에 의해 디코딩된 얼굴 이미지와 상기 최적 정렬 얼굴 이미지를 비교하는 과정인, 얼굴 인식 방법.
  9. 제1항에서,
    상기 추론 단계에서 상기 목표 이미지로부터 얼굴 형태가 인지된 특징을 추출하는 단계는,
    상기 제2 심층 신경망에 의해 추출된 특징 정보로부터 추가 학습기를 사용하여 특징 맵을 출력하는 단계,
    상기 특징 맵으로부터 전역 평균 풀링(global average pooling) 레이어를 사용하여 GAP 결과를 출력하는 단계, 및
    상기 GAP 결과로부터 완전 연결 레이어를 사용하여 상기 얼굴 형태가 인지된 특징을 추출하는 단계
    를 포함하는, 얼굴 인식 방법.
  10. 심층 신경망(deep neural network, DNN)을 사용한 얼굴 인식 장치로서,
    프로세서 및 메모리를 포함하고,
    상기 프로세서는 상기 메모리 내에 저장된 프로그램을 실행하여,
    얼굴을 포함하는 이미지에서 크롭된 입력 이미지로부터 얼굴 인식 장치의 제1 심층 신경망(Deep Neural Network, DNN)을 사용하여 얼굴 형태의 사전 정보를 추정하는 단계,
    상기 입력 이미지로부터 상기 얼굴 인식 장치의 제2 심층 신경망을 사용하여 얼굴 모양의 특징 정보를 추출하는 단계,
    상기 얼굴 인식 장치의 얼굴 이미지 디코더를 사용하여 상기 사전 정보 및 상기 특징 정보를 바탕으로, 최적 정렬 얼굴 이미지에 근접한 얼굴 이미지가 디코딩될 수 있도록 상기 얼굴 인식 장치를 트레이닝하는 단계, 그리고
    트레이닝된 얼굴 인식 장치에 포함된 제2 심층 신경망을 사용하여 목표 이미지에서 얼굴 형태가 인지된 특징을 추출하는 단계
    를 수행하는, 얼굴 인식 장치.
  11. 제10항에서,
    상기 프로세서는 상기 사전 정보를 추정하는 단계를 수행할 때,
    상기 얼굴의 구성 요소의 윤곽을 식별하는 얼굴 키포인트 좌표 또는 파싱 맵을 상기 사전 정보로서 추정하는 단계
    를 수행하는, 얼굴 인식 장치.
  12. 제10항에서,
    상기 프로세서는 상기 트레이닝하는 단계를 수행할 때,
    상기 제1 심층 신경망, 상기 제2 심층 신경망, 및 상기 얼굴 이미지 디코더의 파라미터들을 업데이트함으로써 트레이닝을 수행하는 단계
    를 수행하는, 얼굴 인식 장치.
  13. 제12항에서,
    상기 프로세서는 상기 트레이닝을 수행하는 단계를 수행할 때,
    미니 배치 경사 하강법을 통해 상기 파라미터를 획득하는 단계
    를 수행하는, 얼굴 인식 장치.
  14. 제12항에서,
    상기 프로세서는 상기 트레이닝을 수행하는 단계를 수행할 때,
    상기 제1 심층 신경망, 상기 제2 심층 신경망, 및 상기 얼굴 이미지 디코더의 학습 파라미터에 관한 적어도 하나의 손실 함수를 바탕으로 상기 트레이닝을 수행하는 단계
    를 수행하는, 얼굴 인식 장치.
  15. 제14항에서,
    상기 적어도 하나의 손실 함수는, 상기 제2 심층 신경망에 의해 추출된 상기 특징 정보에 관한 교차 엔트로피 손실 함수, 특징 정렬 과정의 손실 함수, 및 픽셀 정렬 과정의 손실 함수 중 하나 이상을 포함하는, 얼굴 인식 장치.
  16. 제15항에서,
    상기 특징 정렬 과정은, 상기 사전 정보 및 상기 특징 정보의 결합 정보에 대한 전역 평균 풀링(global average pooling, GAP) 결과 및 상기 제2 심층 신경망으로부터 추출된 특징 맵의 GAP 결과를 비교하는 과정인, 얼굴 인식 장치.
  17. 제15항에서,
    상기 픽셀 정렬 과정은,
    상기 얼굴 이미지 디코더에 의해 디코딩된 얼굴 이미지와 상기 최적 정렬 얼굴 이미지를 비교하는 과정인, 얼굴 인식 장치.
  18. 제10항에서,
    상기 프로세서는 상기 추론 단계에서 상기 목표 이미지로부터 얼굴 형태가 인지된 특징을 추출하는 단계를 수행할 때,
    상기 제2 심층 신경망에 의해 추출된 특징 정보로부터 추가 학습기를 사용하여 특징 맵을 출력하는 단계,
    상기 특징 맵으로부터 전역 평균 풀링(global average pooling) 레이어를 사용하여 GAP 결과를 출력하는 단계, 및
    상기 GAP 결과로부터 완전 연결 레이어를 사용하여 상기 얼굴 형태가 인지된 특징을 추출하는 단계
    를 수행하는, 얼굴 인식 방법.
KR1020200141530A 2020-10-28 2020-10-28 얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치 KR102645698B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200141530A KR102645698B1 (ko) 2020-10-28 2020-10-28 얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치
US17/513,441 US20220129689A1 (en) 2020-10-28 2021-10-28 Method and apparatus for face recognition robust to alignment status of the face

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200141530A KR102645698B1 (ko) 2020-10-28 2020-10-28 얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20220056707A true KR20220056707A (ko) 2022-05-06
KR102645698B1 KR102645698B1 (ko) 2024-03-11

Family

ID=81258587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200141530A KR102645698B1 (ko) 2020-10-28 2020-10-28 얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치

Country Status (2)

Country Link
US (1) US20220129689A1 (ko)
KR (1) KR102645698B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102458179B1 (ko) * 2022-06-20 2022-10-24 주식회사 한국공간데이터 얼굴 속성을 이용한 얼굴 인식 방법 및 얼굴 인식 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240013464A1 (en) * 2022-07-11 2024-01-11 Samsung Electronics Co., Ltd. Multimodal disentanglement for generating virtual human avatars
CN116311479B (zh) * 2023-05-16 2023-07-21 四川轻化工大学 一种用于汽车解锁的人脸识别方法、系统和存储介质
CN117912085A (zh) * 2024-03-19 2024-04-19 深圳市宗匠科技有限公司 模型训练方法、人脸关键点定位方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589149B1 (ko) * 2015-05-27 2016-02-03 수원대학교산학협력단 Rbfnn 패턴 분류기와 객체 추적 알고리즘을 사용한 얼굴 인식-얼굴 추적 방법 및 이를 실행하기 위한 시스템
KR20190098858A (ko) * 2018-02-01 2019-08-23 고려대학교 산학협력단 딥러닝 기반의 포즈 변화에 강인한 얼굴 인식 방법 및 장치
KR20190106863A (ko) * 2019-08-27 2019-09-18 엘지전자 주식회사 얼굴 인식 활용 단말기 및 얼굴 인식 활용 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589149B1 (ko) * 2015-05-27 2016-02-03 수원대학교산학협력단 Rbfnn 패턴 분류기와 객체 추적 알고리즘을 사용한 얼굴 인식-얼굴 추적 방법 및 이를 실행하기 위한 시스템
KR20190098858A (ko) * 2018-02-01 2019-08-23 고려대학교 산학협력단 딥러닝 기반의 포즈 변화에 강인한 얼굴 인식 방법 및 장치
KR20190106863A (ko) * 2019-08-27 2019-09-18 엘지전자 주식회사 얼굴 인식 활용 단말기 및 얼굴 인식 활용 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102458179B1 (ko) * 2022-06-20 2022-10-24 주식회사 한국공간데이터 얼굴 속성을 이용한 얼굴 인식 방법 및 얼굴 인식 장치

Also Published As

Publication number Publication date
US20220129689A1 (en) 2022-04-28
KR102645698B1 (ko) 2024-03-11

Similar Documents

Publication Publication Date Title
KR102645698B1 (ko) 얼굴의 정렬 형태에 강인한 얼굴 인식 방법 및 그 장치
Wang et al. Detect globally, refine locally: A novel approach to saliency detection
Chen et al. Detection evolution with multi-order contextual co-occurrence
Kim et al. San: Learning relationship between convolutional features for multi-scale object detection
CN111210443A (zh) 基于嵌入平衡的可变形卷积混合任务级联语义分割方法
CN111814794B (zh) 文本检测方法、装置、电子设备及存储介质
KR101896357B1 (ko) 객체를 검출하는 방법, 디바이스 및 프로그램
US20230021661A1 (en) Forgery detection of face image
CN111160313B (zh) 一种基于lbp-vae异常检测模型的人脸表示攻击检测方法
CN112580590A (zh) 一种基于多语义特征融合网络的指静脉识别方法
CN113361495A (zh) 人脸图像相似度的计算方法、装置、设备及存储介质
CN113569865A (zh) 一种基于类别原型学习的单样本图像分割方法
US7831068B2 (en) Image processing apparatus and method for detecting an object in an image with a determining step using combination of neighborhoods of a first and second region
WO2020254857A1 (en) Fast and robust friction ridge impression minutiae extraction using feed-forward convolutional neural network
CN114519877A (zh) 人脸识别方法、人脸识别装置、计算机设备及存储介质
He et al. Aggregating local context for accurate scene text detection
CN115050045A (zh) 一种基于Vision MLP的行人重识别方法
CN114972016A (zh) 图像处理方法、装置、计算机设备、存储介质及程序产品
CN114764870A (zh) 对象定位模型处理、对象定位方法、装置及计算机设备
CN111242114B (zh) 文字识别方法及装置
CN110956116A (zh) 基于卷积神经网络的人脸图像性别识别模型及识别方法
CN113837015A (zh) 一种基于特征金字塔的人脸检测方法及系统
CN112989304A (zh) 用户认证设备、用户认证方法和用于用户认证的训练方法
Keserwani et al. TRPN: A text region proposal network in the wild under the constraint of low memory GPU
KR102592515B1 (ko) 임베딩 기반 데이터 집합의 처리 장치 및 그 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant