KR20210033781A - 얼굴 분석 시스템 및 방법 - Google Patents

얼굴 분석 시스템 및 방법 Download PDF

Info

Publication number
KR20210033781A
KR20210033781A KR1020190115496A KR20190115496A KR20210033781A KR 20210033781 A KR20210033781 A KR 20210033781A KR 1020190115496 A KR1020190115496 A KR 1020190115496A KR 20190115496 A KR20190115496 A KR 20190115496A KR 20210033781 A KR20210033781 A KR 20210033781A
Authority
KR
South Korea
Prior art keywords
face
image
user
vector
variable vector
Prior art date
Application number
KR1020190115496A
Other languages
English (en)
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 KR1020190115496A priority Critical patent/KR20210033781A/ko
Publication of KR20210033781A publication Critical patent/KR20210033781A/ko

Links

Images

Classifications

    • G06K9/00288
    • 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
    • G06K9/00208
    • G06K9/00268
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional 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/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

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)
  • Multimedia (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

딥러닝 기술을 이용하여 사용자로부터 입력된 2D 이미지를 3D 이미지로 변환하여 얼굴 합성 서비스 또는 닮은꼴 찾기 서비스를 제공할 수 있는 얼굴 분석 시스템 및 방법이 개시된다. 일 실시예에 따른 얼굴 합성 서비스를 제공하는 얼굴 분석 시스템은, 비교대상 얼굴들의 3D 이미지 각각으로부터 획득된 잠재 변수 벡터를 저장하는 저장부; 사용자의 얼굴을 포함하는 2D 이미지를 3D 이미지로 변환하고 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 제 1 특징점 벡터 추출부; 사용자로부터 선택된 비교대상 얼굴의 잠재 변수 벡터를 상기 저장부에서 검색하고, 검색된 잠재 변수 벡터와 상기 추출된 사용자의 잠재 변수 벡터를 합성하는 벡터 합성부; 및 상기 합성된 잠재 변수 벡터를 이용하여 상기 사용자의 얼굴 및 상기 선택된 비교대상 얼굴이 합성된 3D 이미지를 복원하여 출력하는 3D 출력부를 포함한다.

Description

얼굴 분석 시스템 및 방법{SYSTEM AND METHOD FOR ANALYZING FACE}
본 발명은 얼굴 분석 시스템 및 방법에 관한 것으로, 사용자의 2D 이미지를 이용하여 유명인의 얼굴과 합성하여 3D 이미지를 생성하거나 닮은꼴 유명인을 찾는 서비스를 제공하는 얼굴 분석 시스템 및 방법에 관한 것이다.
현재 사용자의 얼굴 이미지를 분석하여 닮은꼴 연예인을 찾아주는 서비스가 제공되고 있다. 그런데 이러한 서비스는 2D 이미지의 비교를 기초로 한다. 신뢰도가 매우 떨어진다. 동일한 얼굴 이미지를 입력함에도 불구하고 서로 다른 결과가 나오기도 한다. 이는 2D 이미지에서 얻을 수 있는 정보의 한계 때문이다. 2D 이미지에서 얻는 정보는 깊이나 얼굴의 방향 등 세밀한 특징이 제대로 반영되지 않고 또한 관련 없는 노이즈(예, 배경, 머리 모양 등)가 포함되어 전혀 다른 결과가 도출된다. 아울러, 사용자의 얼굴 이미지와 연예인의 얼굴 이미지를 합성해주는 서비스도 있으나 마찬가지로 2D 이미지만을 이용하기 때문에 얼굴의 특징을 자세히 표현하지 못한다. 얼굴의 특징을 자세히 비교하고 표현하기 위해 3D 이미지를 입력하여 얼굴 합성 또는 닮은꼴 찾기 서비스를 제공하는 것을 고려할 수 있으나, 사용자의 3D 이미지를 만들기 위해서는 많은 비용이 소요되는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위해 제안된 것으로서, 딥러닝 기술을 이용하여 사용자로부터 입력된 2D 이미지를 3D 이미지로 변환하여 얼굴 합성 서비스 또는 닮은꼴 찾기 서비스를 제공할 수 있는 얼굴 분석 시스템 및 방법을 제공하는데 목적이 있다.
일 실시예에 따른 얼굴 합성 서비스를 제공하는 얼굴 분석 시스템은, 비교대상 얼굴들의 3D 이미지 각각으로부터 획득된 잠재 변수 벡터를 저장하는 저장부; 사용자의 얼굴을 포함하는 2D 이미지를 3D 이미지로 변환하고 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 제 1 특징점 벡터 추출부; 사용자로부터 선택된 비교대상 얼굴의 잠재 변수 벡터를 상기 저장부에서 검색하고, 검색된 잠재 변수 벡터와 상기 추출된 사용자의 잠재 변수 벡터를 합성하는 벡터 합성부; 및 상기 합성된 잠재 변수 벡터를 이용하여 상기 사용자의 얼굴 및 상기 선택된 비교대상 얼굴이 합성된 3D 이미지를 복원하여 출력하는 3D 출력부를 포함한다.
상기 벡터 합성부는, 사용자의 입력에 따라 상기 검색된 비교대상 얼굴의 잠재 변수 벡터 또는 상기 추출된 사용자의 잠재 변수 벡터에 가중치를 적용할 수 있다.
상기 제 1 특징점 벡터 추출부는, 상기 2D 이미지를 3D 이미지로 변환하는 변환부; 상기 변환된 3D 이미지를 구성하는 특징점들을 영역별로 군집화하는 군집화부; 상기 영역별로 대표 특징점을 추출하는 강인화부; 및 상기 추출된 대표 특징점들을 부호화하여 상기 사용자의 잠재 변수 벡터를 추출하는 인코더를 포함할 수 있다.
상기 인코더는, 상기 영역별로 대응하는 복수의 부분 인코더를 포함하고, 각 부분 인코더는 대응하는 영역의 특징점들을 부호화할 수 있다.
상기 강인화부는, 상기 영역별로 특징점들에 대칭 행렬을 곱하는 순서 강인화부; 컨볼루션 신경망을 통해 상기 영역별로 특징점들의 상관관계의 데이터를 생성하는 컨볼루션부; 및 상기 컨볼루션부에서 출력되는 데이터에서 상기 각 영역별 최대값을 상기 대표 특징점으로 추출하는 최대값 추출부를 포함할 수 있다.
상기 제 1 특징점 벡터 추출부는, 서로 다른 얼굴을 포함하는 복수의 2D 이미지 및 복수의 3D 이미지의 쌍을 학습 데이터로 이용하여 오토 인코딩 딥 러닝에 의해 3D 이미지로부터 잠재 변수 벡터를 추출하는 모델을 학습할 수 있다.
상기 얼굴 분석 시스템은, 상기 비교대상 얼굴들의 3D 이미지를 학습 데이터로 이용하여 오토 인코딩 딥 러닝에 의해 상기 비교대상 얼굴들의 3D 이미지로부터 잠재 변수 벡터를 추출하는 모델을 학습하고 학습된 모델을 이용하여 추출한 잠재 변수 벡터를 상기 저장부에 저장하는 제 2 특징점 벡터 추출부를 더 포함할 수 있다.
일 실시예에 따른 얼굴 비교 서비스를 제공하는 얼굴 분석 시스템은, 비교대상 얼굴들의 3D 이미지 각각으로부터 획득된 잠재 변수 벡터를 저장하는 저장부; 사용자의 얼굴을 포함하는 2D 이미지를 3D 이미지로 변환하고 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 제 1 특징점 벡터 추출부; 사용자로부터 선택된 비교대상 얼굴의 잠재 변수 벡터를 상기 저장부에서 검색하고, 검색된 잠재 변수 벡터와 상기 추출된 사용자의 잠재 변수 벡터를 비교하여 사용자의 얼굴과 가장 닮은 비교대상 얼굴을 결정하는 벡터 비교부; 및 상기 결정된 비교대상 얼굴의 정보를 포함하는 비교 결과를 출력하는 비교 결과 출력부를 포함한다.
일 실시예에 따른 얼굴 분석 시스템에서 얼굴 합성 서비스를 제공하는 방법은, 비교대상 얼굴들의 3D 이미지 각각으로부터 획득된 잠재 변수 벡터를 저장부에 저장하는 단계; 사용자의 얼굴을 포함하는 2D 이미지를 3D 이미지로 변환하고 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 단계; 사용자로부터 선택된 비교대상 얼굴의 잠재 변수 벡터를 상기 저장부에서 검색하고, 검색된 잠재 변수 벡터와 상기 추출된 사용자의 잠재 변수 벡터를 합성하는 단계; 및 상기 합성된 잠재 변수 벡터를 이용하여 상기 사용자의 얼굴 및 상기 선택된 비교대상 얼굴이 합성된 3D 이미지를 복원하여 출력하는 단계를 포함한다.
상기 합성하는 단계는, 사용자의 입력에 따라 상기 검색된 비교대상 얼굴의 잠재 변수 벡터 또는 상기 추출된 사용자의 잠재 변수 벡터에 가중치를 적용할 수 있다.
상기 잠재 변수 벡터를 추출하는 단계는, 상기 2D 이미지를 3D 이미지로 변환하는 단계; 상기 변환된 3D 이미지를 구성하는 특징점들을 영역별로 군집화하는 단계; 상기 영역별로 대표 특징점을 추출하는 단계; 및 상기 추출된 대표 특징점들을 인코더를 이용하여 부호화하여 상기 사용자의 잠재 변수 벡터를 추출하는 단계를 포함할 수 있다.
상기 인코더는, 상기 영역별로 대응하는 복수의 부분 인코더를 포함하고, 상기 부호화하여 상기 잠재 변수 벡터를 추출하는 단계는, 각 부분 인코더별로 대응하는 영역의 특징점들을 부호화할 수 있다.
상기 대표 특징점을 추출하는 단계는, 상기 영역별로 특징점들에 대칭 행렬을 곱하는 단계; 컨볼루션 신경망을 통해 상기 영역별로 특징점들의 상관관계의 데이터를 생성하는 단계; 및 상기 데이터에서 상기 각 영역별 최대값을 상기 대표 특징점으로 추출하는 단계를 포함할 수 있다.
상기 방법은, 서로 다른 얼굴을 포함하는 복수의 2D 이미지 및 복수의 3D 이미지의 쌍을 학습 데이터로 이용하여 오토 인코딩 딥 러닝에 의해 3D 이미지로부터 잠재 변수 벡터를 추출하는 모델을 학습하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 비교대상 얼굴들의 3D 이미지를 학습 데이터로 이용하여 오토 인코딩 딥 러닝에 의해 상기 비교대상 얼굴들의 3D 이미지로부터 잠재 변수 벡터를 추출하는 모델을 학습하고 학습된 모델을 이용하여 추출한 잠재 변수 벡터를 상기 저장부에 저장하는 단계를 더 포함할 수 있다.
일 실시예에 따른 얼굴 분석 시스템에서 얼굴 비교 서비스를 제공하는 방법은, 비교대상 얼굴들의 3D 이미지 각각으로부터 획득된 잠재 변수 벡터를 저장하는 단계; 사용자의 얼굴을 포함하는 2D 이미지를 3D 이미지로 변환하고 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 단계; 사용자로부터 선택된 비교대상 얼굴의 잠재 변수 벡터를 상기 저장부에서 검색하고, 검색된 잠재 변수 벡터와 상기 추출된 사용자의 잠재 변수 벡터를 비교하여 사용자의 얼굴과 가장 닮은 비교대상 얼굴을 결정하는 단계; 및 상기 결정된 비교대상 얼굴의 정보를 포함하는 비교 결과를 출력하는 단계를 포함한다.
본 발명은, 종래의 2D 이미지만을 분석하는 서비스와 달리, 2D 이미지에서 3D 이미지를 생성하여 얼굴의 형태와 특징을 분석함으로써 2D 이미지만을 이용할 때보다 더욱 정교하게 얼굴의 형태와 특징을 분석할 수 있다.
본 발명은, 2D 이미지에서 3D 이미지를 생성하여 얼굴 합성이나 얼굴 비교를 하는데 있어서 정교화된 저차원의 잠재 벡터를 이용하기 때문에 종래의 3D 이미지를 이용한 서비스보다 빠르게 얼굴의 형태와 특징을 분석할 수 있다.
도 1은 본 발명의 일 실시예에 따른 얼굴 분석 시스템의 학습 모드를 위한 구성을 나타낸 도면이다.
도 2는 도 1의 제 1 특징점 벡터 추출부의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 3D 이미지를 구성하는 특징점들을 군집화한 예를 나타낸 도면이다.
도 4는 도 2의 강인화부의 구성을 나타낸 도면이다.
도 5는 도 2의 인코더 및 디코더의 구성을 나타낸 도면이다.
도 6은 본 발명의 다른 실시예에 따른 얼굴 분석 시스템의 운용 모드를 위한 구성을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 3D 얼굴 합성 과정을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 얼굴 분석 시스템의 학습 방법을 설명하는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 얼굴 분석 시스템의 운용 모드에서의 서비스 방법을 설명하는 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
본 발명의 실시예에 따른 얼굴 분석 시스템은 사용자로부터 2D 이미지를 수신하고 수신된 2D 이미지를 3D 이미지로 변환한 후 3D 이미지로부터 추출된 잠재 변수 벡터(latent Vector)와 기 저장된 유명인의 잠재 변수 벡터를 합성하여 3D 얼굴 이미지를 생성하거나 또는 상기 추출된 잠재 변수 벡터와 기 저장된 유명인들의 잠재 변수 벡터를 비교하여 가장 닮은 유명인을 찾아 그 결과를 제공한다. 이를 위해 본 발명의 실시예에 따른 얼굴 분석 시스템은, 2D 이미지를 3D 이미지로 변환하고 그 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 모델을 딥 러닝에 의해 학습해야 한다. 얼굴 분석 시스템은 학습된 모델을 이용하여 사용자로부터 입력된 2D 이미지를 3D 이미지로 변환하고 그 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하여 유명인의 얼굴과 합성된 3D 얼굴 이미지를 생성하거나 닮은꼴 유명인을 찾는다. 즉, 본 발명의 실시예에 따른 얼굴 분석 시스템은 학습 모드와 운영 모드로 동작할 수 있다.
도 1은 본 발명의 일 실시예에 따른 얼굴 분석 시스템의 학습 모드를 위한 구성을 나타낸 도면이다. 도 1을 참조하면, 본 실시예에 따른 얼굴 분석 시스템(100)은, 제 1 특징점 벡터 추출부(110), 제 2 특징점 벡터 추출부(120) 및 잠재 변수 벡터 저장부(130)를 포함한다. 얼굴 분석 시스템은, 각종 정보 및 프로그램을 저장하는 메모리, 메모리에 저장된 프로그램을 실행하는 프로세서, 입력장치 및 출력 장치를 포함할 수 있고, 도 1에 도시된 구성요소는 프로그램으로 구현되어 메모리에 저장되고 프로세서에 의해 실행될 수 있다.
제 1 특징점 벡터 추출부(110)는 학습 데이터를 수신하고 수신된 학습 데이터를 이용하여 학습을 수행한다. 여기서 학습 데이터는 복수의 사용자의 2D 이미지 및 3D 이미지의 쌍으로서, 얼굴 이미지의 쌍이다. 예를 들어, 500명의 사용자의 2D 이미지 및 3D 이미지의 쌍일 수 있다. 제 1 특징점 벡터 추출부(110)는 신경망을 포함할 수 있고 상기 학습 데이터를 이용하여 신경망을 학습할 수 있다. 제 1 특징점 벡터 추출부(110)는 학습 데이터 중 각 2D 이미지를 3D 이미지로 변환한 후 변환된 3D 이미지로부터 저차원의 잠재 변수 벡터를 추출하고 그 추출한 잠재 변수 벡터로부터 다시 3D 이미지를 복원하여 상기 학습 데이터에 포함된 각 3D 이미지와의 차이를 계산한다. 제 1 특징점 벡터 추출부(110)는 그 계산된 차이가 줄어들도록 신경망의 파라미터를 조절하는 과정을 거친다.
도 2는 도 1의 제 1 특징점 벡터 추출부의 구성을 나타낸 도면이다. 도 2를 참조하면, 제 1 특징점 벡터 추출부(110)는, 2D-3D 변환부(210), 군집화부(220), 강인화부(230), 인코더(240), 디코더(250), 복원부(260) 및 차이 계산부(270)를 포함한다.
2D-3D 변환부(210)는, 상기 학습 데이터 중 2D 이미지를 3D 이미지로 변환한다. 2D-3D 변환부(210)는 Blanz, V and Vetter, T(1999). A Morphable Model for the synthesis of 3D faces에 개시된 3DMM 기술을 이용하여 2D 이미지를 3D 이미지로 변환할 수 있다. 3D 이미지는 4,960개의 특징점으로 이루어질 수 있다.
군집화부(220)는 상기 변환된 3D 이미지를 구성하는 특징점들을 영역별로 군집화한다. 예를 들어, 눈, 코, 입, 볼, 턱, 이마 등으로 군집화한다. 3D 이미지는 4,960개의 특징점으로 이루어지는데 군집화를 하지 않게 되면, 얼굴 합성 또는 얼굴 비교시 관련 없는 특징점들이 합성되거나 비교되어 정확도가 떨어지게 된다. 예를 들어, 사용자의 눈과 유명인의 눈을 합성하거나 비교해야 하는데, 군집화를 하지 않을 경우, 사용자의 눈과 유명인의 입이 합성되거나 비교될 수 있다.
도 3은 본 발명의 일 실시예에 따른 3D 이미지를 구성하는 특징점들을 군집화한 예를 나타낸 도면이다. 도 3에 도시된 바와 같이, 3D 이미지에서 눈 영역의 특징점들이 하나의 그룹으로 묶이고, 볼 영역의 특징점들이 하나의 그룹으로 묶이며, 입 영역의 특징점들이 하나의 그룹으로 묶인다. 또한 코 영역의 특징점들이 하나의 그룹으로 묶인다. 이와 같이 얼굴의 영역별로 특징점들을 군집화한다.
강인화부(230)는 군집화된 각 영역별로 특징점들에 대한 강인화 처리를 수행한다. 여기서 강인화 처리는 특징점들이 회전되거나 크기가 변경되거나 순서가 변경되더라도 이와 무관하게 얼굴 특징을 잘 표현하는 대표 특징점을 추출하는 것을 의미한다.
도 4는 도 2의 강인화부의 구성을 나타낸 도면이다. 도 4를 참조하면, 강인화부(230)는, 순서 강인화부(410), 컨볼루션부(420) 및 최대값 추출부(430)를 포함한다.
순서 강인화부(410)는 상기 군집화된 얼굴의 각 영역별 특징점들에 대해 입력 순서가 바뀌더라도 이후의 처리 과정에서 특징점들의 결과가 달라지지 않도록 처리한다. 바람직하게, 순서 강인화부(410)는 상기 각 영역별로 특징점들에 대해 대칭 행렬을 곱한다. 예를 들어, 얼굴의 여러 영역 중 코 영역의 특징점은 243개이다. 특징점들의 좌표를 (x, y, z)로 정의할 경우 코 영역의 특징점들은 (243×3)의 행렬 구조를 갖는다. 순서 강인화부(410)는 이 행렬에 대칭 행렬을 곱하여 출력한다. 출력 결과는 여전히 (243×3)의 행렬 구조이다. 바람직하게, 순서 강인화부(4200는 총 2개의 레이어로 구성되고 각 레이어의 노드는 3개로 구성될 수 있다. 각 레이어의 ReLU함수 대신 Sigmoid 함수를 사용할 수 있다.
컨볼루션부(420)는 컨볼루션 신경망을 포함하여 상기 순서 강인화부(410)에서 출력되는 특징점들의 상관관계의 데이터를 생성한다. 컨볼루션부(420)는 군집화된 각 영역별로 특징점들의 상관관계의 데이터를 생성한다. 컨볼루션부(420)는 1,024개의 필터를 포함하고 특징점들이 필터를 통과하면 필터의 특성을 잘 반영한 데이터가 생성된다. 코 영역을 예로 들면, 각 필터는 코의 모양의 윤곽, 높이, 휨 등을 각각 표현한다. 컨볼루션부(420)에서 출력되는 데이터는 (243×1,024)의 행렬 구조를 갖는다.
최대값 추출부(430)는 상기 컨볼루션부(420)에서 출력되는 각 필터에 대응하는 각 데이터에서 최대값을 추출한다. 예를 들어, 코의 모양의 윤곽을 나타내는 데이터 중에서 최대값을 추출하고, 높이를 나타내는 데이터 중에서 최대값을 추출하며, 휨을 나타내는 데이터 중에서 최대값을 추출한다. 따라서 최대값 추출부(430)에서 출력되는 결과는 (1×1,024)의 행렬 구조를 갖는다. 즉, 총 1,024개의 값이 추출된다.
다시 도 2를 참조하면, 인코더(240)는 강인화부(230)에서 출력되는 데이터를 부호화하여 저차원의 잠재 변수 벡터(latent vector)를 추출한다. 예를 들어, 코의 경우 인코더(240)는 강인화부(230)에서 출력되는 데이터를 부호화하여 9개의 데이터로 압축하고 3개의 잠재 변수 벡터를 추출한다. 즉, 코 영역에 대한 각 잠재 변수 벡터는 (x, y, z)로 이루어진 3차원의 벡터이다. 디코더(250)는 상기 인코더(240)에서 추출된 저차원의 잠재 변수 벡터를 이용하여 상기 인코더(240)의 역과정을 수행하고, 복원부(260)는 디코더(250)에서 출력되는 데이터를 이용하여 사용자의 3D 이미지를 복원한다. 인코더(240) 및 디코더(250)는 인공지능 알고리즘 중 오토 인코더(Auto-Encoder)의 기술을 이용한다.
차이 계산부(270)는 복원부(260)에서 복원한 사용자의 3D 이미지와, 훈련 데이터로서 입력된 사용자의 3D 이미지를 비교하여 차이를 계산한다. 차이값은 일반적으로 역전파라고 한다. 이와 같이 계산된 차이가 최소화되도록 군집화부(220), 강인화부(230), 인코더(240) 및 디코더(250)의 파라미터들이 조정된다. 훈련 데이터에 대한 학습 과정이 완료되면 제 1 특징점 벡터 추출부(110)의 학습 모델이 최종 구축된다.
도 5는 도 2의 인코더 및 디코더의 구성을 나타낸 도면으로, 도 5를 참조하면, 인코더(240)는 복수의 부분 인코더(510)로 구성되고, 디코더(250)는 복수의 부분 디코더(520)로 구성된다. 각 부분 인코더(510)는 얼굴의 각 영역이 할당되어 할당된 영역의 데이터를 부호화하고, 각 부분 디코더(510)는 얼굴의 각 영역이 할당되어 할당된 영역의 잠재 변수 벡터를 이용하여 대응하는 부분 인코더(510)의 역과정을 수행한다.
다시 도 1을 참조하면, 제 2 특징점 벡터 추출부(120)는, 유명인, 예를 들어 연예인들의 3D 이미지를 학습 데이터로서 수신하고 수신된 학습 데이터, 즉 3D 이미지를 이용하여 잠재 변수 벡터를 추출하는 신경망 모델을 학습한다. 제 1 특징점 벡터 추출부(120)는 2D 이미지를 입력받기 때문에 2D-3D 변환부(210)를 제외한 나머지 구성요소는 동일하다. 그리고 제 1 특징점 벡터 추출부(120)는 학습 데이터로서 사용자의 2D 이미지와 3D 이미지의 쌍을 이용하지만, 제 2 특징점 벡터 추출부(120)는 오직 유명인들의 3D 이미지만을 이용한다. 즉, 군집화부(220)에 입력되는 데이터는 3D 이미지이고, 차이 계산부(270)에서 비교되는 3D 이미지는 상기 군집화부(220)에 입력되는 3D 이미지와 동일한 이미지이다. 제 1 특징점 벡터 추출부(120)는 불특정 사용자의 2D 이미지로부터 잠재 변수 벡터를 추출하는 일반화된 학습 모델을 구축해야 하기 때문에 많은 사용자들의 2D 이미지 및 3D 이미지의 쌍을 학습 데이터로서 이용하지만, 제 2 특징점 벡터 추출부(120)는 얼굴 합성이나 닮은꼴 찾기에서 기준이 되는 각 유명인의 고유한 잠재 변수 벡터를 추출하면 되기 때문에 각 유명인마다 하나의 3D 이미지만을 이용하여 학습을 하고 고유한 잠재 변수 벡터를 추출한다.
잠재 변수 벡터 저장부(130)는, 상기 제 2 특징점 벡터 추출부(120)에서 추출된 각 유명인의 잠재 변수 벡터를 저장한다. 잠재 변수 벡터 저장부(130)에 저장된 각 유명인의 잠재 변수 벡터는, 얼굴 분석 시스템(110)의 운영 모드에서 사용자의 2D 이미지로부터 추출된 잠재 변수 벡터와 합성되거나 비교된다.
도 6은 본 발명의 다른 실시예에 따른 얼굴 분석 시스템의 운용 모드를 위한 구성을 나타낸 도면이다. 도 6을 참조하면, 본 실시예에 따른 얼굴 분석 시스템(100)은, 제 1 특징점 벡터 추출부(110), 잠재 변수 벡터 저장부(130), 벡터 합성부(610), 3D 출력부(620), 벡터 비교부(630), 비교 결과 출력부(640)를 포함한다. 이들 구성요소는 프로그램으로 구현되어 메모리에 저장되고 프로세서에 의해 실행될 수 있다.
제 1 특징점 벡터 추출부(110)는 도 1을 참조하여 설명한 실시예에서 학습이 완료된 후이다. 도 1을 참조하여 설명한 학습 모드와는 달리 운용 모드에서 제 1 특징점 벡터 추출부(110)는 인코더(240)의 동작까지만 수행하고, 디코더(250)부터의 동작은 수행하지 않는다. 즉, 운용 모드에서 제 1 특징점 벡터 추출부(110)는 사용자의 2D 이미지를 수신하고 그 2D 이미지를 3D 이미지로 변환한 후 학습된 모델을 이용하여 잠재 변수 벡터를 추출한다.
잠재 변수 벡터 저장부(130)는, 도 1을 참조하여 설명한 바와 같이, 유명인들의 잠재 변수 벡터들을 저장한다.
벡터 합성부(610)는, 사용자가 특정 유명인과의 얼굴 합성을 요청한 경우, 상기 제 1 특징점 벡터 추출부(110)에서 추출된 사용자의 각 잠재 변수 벡터와 상기 잠재 변수 벡터 저장부(130)에 저장된 해당 유명인의 각 잠재 변수 벡터를 합한다. 각 잠재 변수 벡터는 (x, y, z)의 3차원 벡터이고, 벡터 합성부(610)는 사용자의 입력에 따라 사용자의 잠재 변수 벡터 또는 유명인의 잠재 변수 벡터 중 하나에 가중치를 곱할 수 있다. 또는 벡터 합성부(610)는 사용자의 입력에 따라 얼굴의 특정 영역에 대해 가중치를 줄 수 있고, 이 경우 해당하는 영역의 잠재 변수 벡터들에 가중치를 곱할 수 있다. 3D 출력부(620)는, 상기 벡터 합성부(610)에서 합성된 잠재 변수 벡터들을 이용하여 3D 이미지를 복원하여 출력한다. 3D 출력부(620)에서 출력되는 3D 이미지는 사용자의 얼굴과 사용자가 선택한 유명인의 얼굴이 합성된 3D 얼굴이다. 도 7은 본 발명의 일 실시예에 따른 3D 얼굴 합성 과정을 나타낸 도면으로, 도 7에 도시된 바와 같이, 사용자의 2D 얼굴 이미지로부터 생성된 3D 얼굴 이미지와 유명인의 3D 얼굴 이미지를 합성하여 3D 얼굴 합성 이미지가 생성된다.
벡터 비교부(630)는, 사용자가 닮은꼴 찾기 서비스를 요청한 경우, 상기 제 1 특징점 벡터 추출부(110)에서 추출된 사용자의 각 잠재 변수 벡터와 상기 잠재 변수 벡터 저장부(130)에 저장된 유명인들의 각 잠재 변수 벡터의 차를 계산하고, 차이가 가장 작은 유명인을 결정한다. 여기서 차는 각도의 차이 또는 거리의 차이 등을 포함할 수 있다. 또는 벡터 비교부(630)는 사용자의 각 잠재 변수 벡터와 상기 잠재 변수 벡터 저장부(130)에 저장된 유명인들의 각 잠재 변수 벡터 간의 각도의 합을 계산하고, 각도의 합이 가장 작은 유명인을 결정할 수도 있다. 벡터의 차를 계산하는 것보다 각도의 합을 계산하는 것이 부하가 상대적으로 적어, 유명인들이 많을 때 각도의 합을 이용하는 것이 좋다. 비교 결과 출력부(640)는, 벡터 비교부(630)에서 결정한 유명인의 정보, 닮은 정도, 사용자의 3D 이미지와 유명인의 3D 사진의 대비 등의 비교 결과를 출력한다.
도 8은 본 발명의 일 실시예에 따른 얼굴 분석 시스템의 학습 방법을 설명하는 흐름도이다.
도 8을 참조하면, 단계 S801에서, 얼굴 분석 시스템(100)은, 복수의 사용자의 2D 이미지 및 3D 이미지의 쌍을 학습 데이터로서 수신한다. 이미지는 얼굴 이미지이다. 예를 들어, 500명의 사용자의 2D 이미지 및 3D 이미지의 쌍을 수신한다.
단계 S802에서, 얼굴 분석 시스템(100)은, 상기 학습 데이터 중 2D 이미지를 3D 이미지로 변환한다. Blanz, V and Vetter, T(1999). A Morphable Model for the synthesis of 3D faces에 개시된 3DMM 기술을 이용하여 2D 이미지를 3D 이미지로 변환할 수 있다. 3D 이미지는 4,960개의 특징점으로 이루어질 수 있다.
단계 S803에서, 얼굴 분석 시스템(100)은, 상기 변환된 3D 이미지를 구성하는 특징점들을 영역별로 군집화한다. 예를 들어, 눈, 코, 입, 볼, 턱, 이마 등으로 군집화한다. 3D 이미지는 4,960개의 특징점으로 이루어지는데 군집화를 하지 않게 되면, 얼굴 합성 또는 얼굴 비교시 관련 없는 특징점들이 합성되거나 비교되어 정확도가 떨어지게 된다. 예를 들어, 사용자의 눈과 유명인의 눈을 합성하거나 비교해야 하는데, 군집화를 하지 않을 경우, 사용자의 눈과 유명인의 입이 합성되거나 비교될 수 있다.
단계 S804에서, 얼굴 분석 시스템(100)은, 군집화된 각 영역별로 특징점들에 대한 강인화 처리를 수행한다. 여기서 강인화 처리는 특징점들이 회전되거나 크기가 변경되거나 순서가 변경되더라도 이와 무관하게 얼굴 특징을 잘 표현하는 대표 특징점을 추출하는 것을 의미한다. 따라서, 얼굴 분석 시스템(100)은, 얼굴의 각 영역별로 해당 영역을 잘 표현하는 대표 특징점을 추출한다.
보다 구체적으로, 얼굴 분석 시스템(100)은, 상기 군집화된 얼굴의 각 영역별 특징점들에 대해 입력 순서가 바뀌더라도 이후의 처리 과정에서 특징점들의 결과가 달라지지 않도록 각 영역별로 특징점들에 대해 대칭 행렬을 곱한다. 예를 들어, 얼굴의 여러 영역 중 코 영역의 특징점은 243개이다. 특징점들의 좌표를 (x, y, z)로 정의할 경우 코 영역의 특징점들은 (243×3)의 행렬 구조를 갖는다. 이 행렬에 대칭 행렬을 곱하여 출력한다. 출력 결과는 여전히 (243×3)의 행렬 구조이다. 얼굴 분석 시스템(100)은, 강인화 처리된 각 영역별 특징점들에 대해 각 영역별로 특징점들의 상관관계의 데이터를 생성한다. 이때 얼굴 분석 시스템은 1,024개의 필터를 포함하는 컨볼루션 신경망을 이용한다. 코 영역을 예로 들면, 각 필터는 코의 모양의 윤곽, 높이, 휨 등을 각각 표현되고, 출력되는 데이터는 (243×1,024)의 행렬 구조를 갖는다. 얼굴 분석 시스템(100)은, 출력되는 각 필터에 대응하는 각 데이터에서 최대값을 추출한다. 코 영역을 예를 들면, 코의 모양의 윤곽을 나타내는 데이터 중에서 최대값을 추출하고, 높이를 나타내는 데이터 중에서 최대값을 추출하며, 휨을 나타내는 데이터 중에서 최대값을 추출한다. 따라서 코 영역에 대해 출력되는 최대값 결과는 (1×1,024)의 행렬 구조를 갖는다. 즉, 총 1,024개의 값이 추출된다.
단계 S805에서, 얼굴 분석 시스템(100)은, 군집화된 얼굴의 각 영역별로 추출된 대표 특징점들을 인코더(240)를 통해 부호화하여 저차원의 잠재 변수 벡터(latent vector)를 추출한다. 예를 들어, 코의 경우 인코더(240)는 코 영역에 대해 추출된 대표 특징점들을 부호화하여 9개의 데이터로 압축하고 3개의 잠재 변수 벡터를 추출한다. 즉, 코 영역에 대한 각 잠재 변수 벡터는 (x, y, z)로 이루어진 3차원의 벡터이다.
단계 S806에서, 얼굴 분석 시스템(100)은, 부호화되어 추출된 저차원의 잠재 변수 벡터를 이용하여 상기 디코더(250)를 통해 복호화한다. 인코더(240)의 역과정을 수행한다. 단계 S807에서, 얼굴 분석 시스템(100)은 복호화된 값을 이용하여 사용자의 3D 이미지를 복원한다. 바람직하게, 인코더(240) 및 디코더(250)는 인공지능 알고리즘 중 오토 인코더(Auto-Encoder)의 기술을 이용한다.
단계 S808에서, 얼굴 분석 시스템(100)은, 복원한 사용자의 3D 이미지와, 단계 S801에서 훈련 데이터로서 입력된 사용자의 3D 이미지를 비교하여 차이를 계산한다. 차이값은 일반적으로 역전파라고 한다. 단계 S809에서, 얼굴 분석 시스템(100)은 이와 같이 계산된 차이가 최소화되도록 학습 모델의 파라미터들을 조정한다. 모든 학습 데이터에 대해 학습이 완료되면 최종적인 학습 모델이 구축된다.
한편, 유명인들의 잠재 변수 벡터를 추출하기 위한 학습 모드를 동작할 수 있다. 유명인들은 이미 지정된 사람들로 이들의 3D 이미지는 기 구축되어 있다. 따라서, 유명인들의 잠재 변수 벡터를 추출하기 위한 학습 모드에서는 상기 단계 S801 내지 단계 S802의 과정이 불필요하고, 나머지 과정은 동일하다. 다만, 유명인의 3D 이미지를 부호화하고 다시 복원한 후 원본 3D 이미지와 비교하여 동일하도록 학습 모델을 설정한 후에 출력되는 잠재 변수 벡터를 저장하는 과정을 각 유명인의 3D 이미지마다 수행한다. 이와 같이 학습이 완료된 후에 추출되는 유명인들의 잠재 변수 벡터는 저장부에 저장되어 운용 모드에서 이용된다.
도 9는 본 발명의 일 실시예에 따른 얼굴 분석 시스템의 운용 모드에서의 서비스 방법을 설명하는 흐름도이다.
도 9를 참조하면, 단계 S901에서, 얼굴 분석 시스템(100)은, 사용자의 2D 이미지를 수신한다. 이미지는 얼굴 이미지이다. 단계 S902에서, 얼굴 분석 시스템(100)은, 상기 2D 이미지를 3D 이미지로 변환한다. Blanz, V and Vetter, T(1999). A Morphable Model for the synthesis of 3D faces에 개시된 3DMM 기술을 이용하여 2D 이미지를 3D 이미지로 변환할 수 있다. 3D 이미지는 4,960개의 특징점으로 이루어질 수 있다.
단계 S903에서, 얼굴 분석 시스템(100)은, 상기 변환된 3D 이미지를 구성하는 특징점들을 영역별로 군집화한다. 예를 들어, 눈, 코, 입, 볼, 턱, 이마 등으로 군집화한다. 3D 이미지는 4,960개의 특징점으로 이루어지는데 군집화를 하지 않게 되면, 얼굴 합성 또는 얼굴 비교시 관련 없는 특징점들이 합성되거나 비교되어 정확도가 떨어지게 된다. 예를 들어, 사용자의 눈과 유명인의 눈을 합성하거나 비교해야 하는데, 군집화를 하지 않을 경우, 사용자의 눈과 유명인의 입이 합성되거나 비교될 수 있다.
단계 S904에서, 얼굴 분석 시스템(100)은, 군집화된 각 영역별로 특징점들에 대한 강인화 처리를 수행한다. 여기서 강인화 처리는 특징점들이 회전되거나 크기가 변경되거나 순서가 변경되더라도 이와 무관하게 얼굴 특징을 잘 표현하는 대표 특징점을 추출하는 것을 의미한다. 따라서, 얼굴 분석 시스템(100)은, 얼굴의 각 영역별로 해당 영역을 잘 표현하는 대표 특징점을 추출한다.
보다 구체적으로, 얼굴 분석 시스템(100)은, 상기 군집화된 얼굴의 각 영역별 특징점들에 대해 입력 순서가 바뀌더라도 이후의 처리 과정에서 특징점들의 결과가 달라지지 않도록 각 영역별로 특징점들에 대해 대칭 행렬을 곱한다. 예를 들어, 얼굴의 여러 영역 중 코 영역의 특징점은 243개이다. 특징점들의 좌표를 (x, y, z)로 정의할 경우 코 영역의 특징점들은 (243×3)의 행렬 구조를 갖는다. 이 행렬에 대칭 행렬을 곱하여 출력한다. 출력 결과는 여전히 (243×3)의 행렬 구조이다. 얼굴 분석 시스템(100)은, 강인화 처리된 각 영역별 특징점들에 대해 각 영역별로 특징점들의 상관관계의 데이터를 생성한다. 이때 얼굴 분석 시스템은 1,024개의 필터를 포함하는 컨볼루션 신경망을 이용한다. 코 영역을 예로 들면, 각 필터는 코의 모양의 윤곽, 높이, 휨 등을 각각 표현되고, 출력되는 데이터는 (243×1,024)의 행렬 구조를 갖는다. 얼굴 분석 시스템(100)은, 출력되는 각 필터에 대응하는 각 데이터에서 최대값을 추출한다. 코 영역을 예를 들면, 코의 모양의 윤곽을 나타내는 데이터 중에서 최대값을 추출하고, 높이를 나타내는 데이터 중에서 최대값을 추출하며, 휨을 나타내는 데이터 중에서 최대값을 추출한다. 따라서 코 영역에 대해 출력되는 최대값 결과는 (1×1,024)의 행렬 구조를 갖는다. 즉, 총 1,024개의 값이 추출된다.
단계 S905에서, 얼굴 분석 시스템(100)은, 군집화된 얼굴의 각 영역별로 추출된 대표 특징점들을 인코더(240)를 통해 부호화하여 저차원의 잠재 변수 벡터(latent vector)를 추출한다. 예를 들어, 코의 경우 인코더(240)는 코 영역에 대해 추출된 대표 특징점들을 부호화하여 9개의 데이터로 압축하고 3개의 잠재 변수 벡터를 추출한다. 즉, 코 영역에 대한 각 잠재 변수 벡터는 (x, y, z)로 이루어진 3차원의 벡터이다.
단계 S906에서, 얼굴 분석 시스템(100)은, 사용자가 특정 유명인과의 얼굴 합성을 요청한 경우, 상기 추출된 사용자의 잠재 변수 벡터와 잠재 변수 벡터 저장부(130)에 저장된 해당 유명인의 잠재 변수 벡터를 합한다. 각 잠재 변수 벡터는 (x, y, z)의 3차원 벡터이고, 얼굴 분석 시스템(100)은, 사용자의 입력에 따라 사용자의 잠재 변수 벡터 또는 유명인의 잠재 변수 벡터 중 하나에 가중치를 곱할 수 있다. 또는 얼굴 분석 시스템(100)은, 사용자의 입력에 따라 얼굴의 특정 영역에 대해 가중치를 줄 수 있고, 이 경우 해당하는 영역의 잠재 변수 벡터들에 가중치를 곱할 수 있다. 또는, 얼굴 분석 시스템(100)은, 사용자가 닮은꼴 찾기 서비스를 요청한 경우, 상기 추출된 사용자의 각 잠재 변수 벡터와 상기 잠재 변수 벡터 저장부(130)에 저장된 유명인들의 각 잠재 변수 벡터의 차를 계산하고, 차이가 가장 작은 유명인을 결정한다. 또는 얼굴 분석 시스템(100)은, 사용자의 각 잠재 변수 벡터와 상기 잠재 변수 벡터 저장부(130)에 저장된 유명인들의 각 잠재 변수 벡터 간의 각도의 합을 계산하고, 각도의 합이 가장 작은 유명인을 결정할 수도 있다. 벡터의 차를 계산하는 것보다 각도의 합을 계산하는 것이 부하가 상대적으로 적어, 유명인들이 많을 때 각도의 합을 이용하는 것이 좋다.
단계 S907에서, 얼굴 분석 시스템(100)은, 사용자가 특정 유명인과의 얼굴 합성을 요청한 경우, 단계 S906에서 합성된 잠재 변수 벡터들을 이용하여 3D 이미지를 복원하여 출력한다. 출력되는 3D 이미지는 사용자의 얼굴과 사용자가 선택한 유명인의 얼굴이 합성된 3D 얼굴이다. 또는, 사용자가 닮은꼴 찾기를 요청한 경우, 얼굴 분석 시스템(100)은, 단계 S906에서 잠재 변수 벡터를 비교하여 결정한 유명인의 정보, 닮은 정도, 사용자의 3D 이미지와 유명인의 3D 사진의 대비 등의 비교 결과를 출력한다.
이상에서 설명한 실시예에 따르면, 종래의 2D 분석 서비스보다 보다 정교하고 빠르게 얼굴의 형태와 특징을 분석할 수 있다. 얼굴 합성 결과를 이용하여 사용자를 닮은 3D 캐릭터를 생성하여 VR(Virtual Reality) 게임에 적용할 경우 게임의 몰입도를 높일 수 있고, 홀로그램이나 성형의료 등에도 확장하여 적용할 수 있다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 얼굴 분석 시스템
110 : 제 1 특징점 벡터 추출부
120 : 제 2 특징점 벡터 추출부
130 : 잠재 변수 벡터 저장부
210 : 2D-3D 변환부
220 : 군집화부
230 : 강인화부
240 : 인코더
250 : 디코더
260 : 복원부
270 : 차이 계산부
410 : 순서 강인화부
420 : 컨볼루션부
430 : 최대값 추출부
610 : 벡터 합성부
620 : 3D 출력부
630 : 벡터 비교부
640 : 비교 결과 출력부

Claims (16)

  1. 얼굴 합성 서비스를 제공하는 얼굴 분석 시스템으로서,
    비교대상 얼굴들의 3D 이미지 각각으로부터 획득된 잠재 변수 벡터를 저장하는 저장부;
    사용자의 얼굴을 포함하는 2D 이미지를 3D 이미지로 변환하고 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 제 1 특징점 벡터 추출부;
    사용자로부터 선택된 비교대상 얼굴의 잠재 변수 벡터를 상기 저장부에서 검색하고, 검색된 잠재 변수 벡터와 상기 추출된 사용자의 잠재 변수 벡터를 합성하는 벡터 합성부; 및
    상기 합성된 잠재 변수 벡터를 이용하여 상기 사용자의 얼굴 및 상기 선택된 비교대상 얼굴이 합성된 3D 이미지를 복원하여 출력하는 3D 출력부를 포함하는 얼굴 분석 시스템.
  2. 제 1 항에 있어서,
    상기 벡터 합성부는,
    사용자의 입력에 따라 상기 검색된 비교대상 얼굴의 잠재 변수 벡터 또는 상기 추출된 사용자의 잠재 변수 벡터에 가중치를 적용하는 것을 특징으로 하는 얼굴 분석 시스템.
  3. 제 1 항에 있어서,
    상기 제 1 특징점 벡터 추출부는,
    상기 2D 이미지를 3D 이미지로 변환하는 변환부;
    상기 변환된 3D 이미지를 구성하는 특징점들을 영역별로 군집화하는 군집화부;
    상기 영역별로 대표 특징점을 추출하는 강인화부; 및
    상기 추출된 대표 특징점들을 부호화하여 상기 사용자의 잠재 변수 벡터를 추출하는 인코더를 포함하는 것을 특징으로 하는 얼굴 분석 시스템.
  4. 제 3 항에 있어서,
    상기 인코더는,
    상기 영역별로 대응하는 복수의 부분 인코더를 포함하고,
    각 부분 인코더는 대응하는 영역의 특징점들을 부호화하는 것을 특징으로 하는 얼굴 분석 시스템.
  5. 제 3 항에 있어서,
    상기 강인화부는,
    상기 영역별로 특징점들에 대칭 행렬을 곱하는 순서 강인화부;
    컨볼루션 신경망을 통해 상기 영역별로 특징점들의 상관관계의 데이터를 생성하는 컨볼루션부; 및
    상기 컨볼루션부에서 출력되는 데이터에서 상기 각 영역별 최대값을 상기 대표 특징점으로 추출하는 최대값 추출부를 포함하는 것을 특징으로 하는 얼굴 분석 시스템.
  6. 제 1 항에 있어서,
    상기 제 1 특징점 벡터 추출부는,
    서로 다른 얼굴을 포함하는 복수의 2D 이미지 및 복수의 3D 이미지의 쌍을 학습 데이터로 이용하여 오토 인코딩 딥 러닝에 의해 3D 이미지로부터 잠재 변수 벡터를 추출하는 모델을 학습하는 것을 특징으로 하는 얼굴 분석 시스템.
  7. 제 1 항에 있어서,
    상기 비교대상 얼굴들의 3D 이미지를 학습 데이터로 이용하여 오토 인코딩 딥 러닝에 의해 상기 비교대상 얼굴들의 3D 이미지로부터 잠재 변수 벡터를 추출하는 모델을 학습하고 학습된 모델을 이용하여 추출한 잠재 변수 벡터를 상기 저장부에 저장하는 제 2 특징점 벡터 추출부를 더 포함하는 것을 특징으로 하는 얼굴 분석 시스템.
  8. 얼굴 비교 서비스를 제공하는 얼굴 분석 시스템으로서,
    비교대상 얼굴들의 3D 이미지 각각으로부터 획득된 잠재 변수 벡터를 저장하는 저장부;
    사용자의 얼굴을 포함하는 2D 이미지를 3D 이미지로 변환하고 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 제 1 특징점 벡터 추출부;
    사용자로부터 선택된 비교대상 얼굴의 잠재 변수 벡터를 상기 저장부에서 검색하고, 검색된 잠재 변수 벡터와 상기 추출된 사용자의 잠재 변수 벡터를 비교하여 사용자의 얼굴과 가장 닮은 비교대상 얼굴을 결정하는 벡터 비교부; 및
    상기 결정된 비교대상 얼굴의 정보를 포함하는 비교 결과를 출력하는 비교 결과 출력부를 포함하는 얼굴 분석 시스템.
  9. 얼굴 분석 시스템에서 얼굴 합성 서비스를 제공하는 방법으로서,
    비교대상 얼굴들의 3D 이미지 각각으로부터 획득된 잠재 변수 벡터를 저장부에 저장하는 단계;
    사용자의 얼굴을 포함하는 2D 이미지를 3D 이미지로 변환하고 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 단계;
    사용자로부터 선택된 비교대상 얼굴의 잠재 변수 벡터를 상기 저장부에서 검색하고, 검색된 잠재 변수 벡터와 상기 추출된 사용자의 잠재 변수 벡터를 합성하는 단계; 및
    상기 합성된 잠재 변수 벡터를 이용하여 상기 사용자의 얼굴 및 상기 선택된 비교대상 얼굴이 합성된 3D 이미지를 복원하여 출력하는 단계를 포함하는 방법.
  10. 제 9 항에 있어서,
    상기 합성하는 단계는,
    사용자의 입력에 따라 상기 검색된 비교대상 얼굴의 잠재 변수 벡터 또는 상기 추출된 사용자의 잠재 변수 벡터에 가중치를 적용하는 것을 특징으로 하는 방법.
  11. 제 9 항에 있어서,
    상기 잠재 변수 벡터를 추출하는 단계는,
    상기 2D 이미지를 3D 이미지로 변환하는 단계;
    상기 변환된 3D 이미지를 구성하는 특징점들을 영역별로 군집화하는 단계;
    상기 영역별로 대표 특징점을 추출하는 단계; 및
    상기 추출된 대표 특징점들을 인코더를 이용하여 부호화하여 상기 사용자의 잠재 변수 벡터를 추출하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서,
    상기 인코더는, 상기 영역별로 대응하는 복수의 부분 인코더를 포함하고,
    상기 부호화하여 상기 잠재 변수 벡터를 추출하는 단계는,
    각 부분 인코더별로 대응하는 영역의 특징점들을 부호화하는 것을 특징으로 하는 방법.
  13. 제 11 항에 있어서,
    상기 대표 특징점을 추출하는 단계는,
    상기 영역별로 특징점들에 대칭 행렬을 곱하는 단계;
    컨볼루션 신경망을 통해 상기 영역별로 특징점들의 상관관계의 데이터를 생성하는 단계; 및
    상기 데이터에서 상기 각 영역별 최대값을 상기 대표 특징점으로 추출하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제 9 항에 있어서,
    서로 다른 얼굴을 포함하는 복수의 2D 이미지 및 복수의 3D 이미지의 쌍을 학습 데이터로 이용하여 오토 인코딩 딥 러닝에 의해 3D 이미지로부터 잠재 변수 벡터를 추출하는 모델을 학습하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제 9 항에 있어서,
    상기 비교대상 얼굴들의 3D 이미지를 학습 데이터로 이용하여 오토 인코딩 딥 러닝에 의해 상기 비교대상 얼굴들의 3D 이미지로부터 잠재 변수 벡터를 추출하는 모델을 학습하고 학습된 모델을 이용하여 추출한 잠재 변수 벡터를 상기 저장부에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 얼굴 분석 시스템에서 얼굴 비교 서비스를 제공하는 방법으로서,
    비교대상 얼굴들의 3D 이미지 각각으로부터 획득된 잠재 변수 벡터를 저장하는 단계;
    사용자의 얼굴을 포함하는 2D 이미지를 3D 이미지로 변환하고 변환된 3D 이미지로부터 잠재 변수 벡터를 추출하는 단계;
    사용자로부터 선택된 비교대상 얼굴의 잠재 변수 벡터를 상기 저장부에서 검색하고, 검색된 잠재 변수 벡터와 상기 추출된 사용자의 잠재 변수 벡터를 비교하여 사용자의 얼굴과 가장 닮은 비교대상 얼굴을 결정하는 단계; 및
    상기 결정된 비교대상 얼굴의 정보를 포함하는 비교 결과를 출력하는 단계를 포함하는 방법.
KR1020190115496A 2019-09-19 2019-09-19 얼굴 분석 시스템 및 방법 KR20210033781A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190115496A KR20210033781A (ko) 2019-09-19 2019-09-19 얼굴 분석 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190115496A KR20210033781A (ko) 2019-09-19 2019-09-19 얼굴 분석 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20210033781A true KR20210033781A (ko) 2021-03-29

Family

ID=75250220

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190115496A KR20210033781A (ko) 2019-09-19 2019-09-19 얼굴 분석 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20210033781A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102406377B1 (ko) * 2021-08-13 2022-06-09 주식회사 에이아이네이션 인공지능 기반의 얼굴 부분별 화장 트랜스퍼 정도 조절이 가능한 가상 화장 방법 및 장치
WO2022240076A1 (ko) * 2021-05-11 2022-11-17 삼성전자 주식회사 영상 처리 방법 및 이를 지원하는 전자 장치
KR102477542B1 (ko) * 2022-05-17 2022-12-15 주식회사 나두모델 인공지능 기반의 광고 모델 매칭 플랫폼 시스템
KR102490060B1 (ko) * 2022-09-08 2023-01-18 주식회사 비브스튜디오스 신경망 모델을 활용한 부분적인 이미지 변환 방법
KR102579683B1 (ko) * 2022-05-10 2023-09-18 주식회사 비브스튜디오스 인공지능 기반의 대역 배우 평가 방법
US20230319223A1 (en) * 2022-03-29 2023-10-05 Disney Enterprises, Inc Method and system for deep learning based face swapping with multiple encoders
KR102627764B1 (ko) * 2022-12-29 2024-01-23 주식회사 비브스튜디오스 부분 이미지를 이용하여 이미지를 변환하는 신경망 모델을 학습시키는 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022240076A1 (ko) * 2021-05-11 2022-11-17 삼성전자 주식회사 영상 처리 방법 및 이를 지원하는 전자 장치
KR102406377B1 (ko) * 2021-08-13 2022-06-09 주식회사 에이아이네이션 인공지능 기반의 얼굴 부분별 화장 트랜스퍼 정도 조절이 가능한 가상 화장 방법 및 장치
US20230319223A1 (en) * 2022-03-29 2023-10-05 Disney Enterprises, Inc Method and system for deep learning based face swapping with multiple encoders
KR102579683B1 (ko) * 2022-05-10 2023-09-18 주식회사 비브스튜디오스 인공지능 기반의 대역 배우 평가 방법
WO2023219237A1 (ko) * 2022-05-10 2023-11-16 주식회사 비브스튜디오스 인공지능 기반의 대역 배우 평가 방법
KR102477542B1 (ko) * 2022-05-17 2022-12-15 주식회사 나두모델 인공지능 기반의 광고 모델 매칭 플랫폼 시스템
KR102502670B1 (ko) * 2022-05-17 2023-02-24 주식회사 나두모델 인공지능 기반의 광고 모델 매칭 플랫폼 시스템
KR102490060B1 (ko) * 2022-09-08 2023-01-18 주식회사 비브스튜디오스 신경망 모델을 활용한 부분적인 이미지 변환 방법
KR102627764B1 (ko) * 2022-12-29 2024-01-23 주식회사 비브스튜디오스 부분 이미지를 이용하여 이미지를 변환하는 신경망 모델을 학습시키는 방법
WO2024143907A1 (ko) * 2022-12-29 2024-07-04 주식회사 비브스튜디오스 부분 이미지를 이용하여 이미지를 변환하는 신경망 모델을 학습시키는 방법

Similar Documents

Publication Publication Date Title
KR20210033781A (ko) 얼굴 분석 시스템 및 방법
US11775829B2 (en) Generative adversarial neural network assisted video reconstruction
US11610435B2 (en) Generative adversarial neural network assisted video compression and broadcast
Liu et al. Hard negative generation for identity-disentangled facial expression recognition
Le Ngo et al. Sparsity in dynamics of spontaneous subtle emotions: analysis and application
CN115116109B (zh) 虚拟人物说话视频的合成方法、装置、设备及存储介质
KR102602112B1 (ko) 얼굴 이미지 생성을 위한 데이터 프로세싱 방법 및 디바이스, 및 매체
EP0737938A2 (en) Method and apparatus for processing visual information
CN111861945B (zh) 一种文本引导的图像修复方法和系统
CN113850168A (zh) 人脸图片的融合方法、装置、设备及存储介质
Connor et al. Representing closed transformation paths in encoded network latent space
Ha et al. Deep neural networks using capsule networks and skeleton-based attentions for action recognition
CN116168329A (zh) 基于关键帧筛选像素块的视频动作检测方法、设备及介质
CN114330736A (zh) 具有噪声对比先验的潜在变量生成性模型
Jiang et al. PointFace: Point set based feature learning for 3D face recognition
CN113706670A (zh) 生成动态三维人体网格模型序列的方法及装置
JP3998628B2 (ja) パターン認識装置及びその方法
CN117522990B (zh) 基于多头注意力机制和迭代细化的类别级位姿估计方法
Krishna SignPose: Sign language animation through 3D pose lifting
RU2755396C1 (ru) Нейросетевой перенос выражения лица и позы головы с использованием скрытых дескрипторов позы
Angelopoulou et al. Evaluation of different chrominance models in the detection and reconstruction of faces and hands using the growing neural gas network
Tefas et al. Variants of dynamic link architecture based on mathematical morphology for frontal face authentication
de Bem et al. DGPose: Deep Generative Models for Human Body Analysis
Said et al. Face Recognition System
Barsoum et al. 3d human motion anticipation and classification