KR20210026521A - 헤어스타일 분석을 통한 3d 아바타를 생성하는 방법 및 장치 - Google Patents

헤어스타일 분석을 통한 3d 아바타를 생성하는 방법 및 장치 Download PDF

Info

Publication number
KR20210026521A
KR20210026521A KR1020190107420A KR20190107420A KR20210026521A KR 20210026521 A KR20210026521 A KR 20210026521A KR 1020190107420 A KR1020190107420 A KR 1020190107420A KR 20190107420 A KR20190107420 A KR 20190107420A KR 20210026521 A KR20210026521 A KR 20210026521A
Authority
KR
South Korea
Prior art keywords
face
image
face region
hair
hairstyle
Prior art date
Application number
KR1020190107420A
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 KR1020190107420A priority Critical patent/KR20210026521A/ko
Publication of KR20210026521A publication Critical patent/KR20210026521A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • G06K9/00221
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

딥러닝을 통해 2D 얼굴 이미지에서 헤어스타일을 분류하여 3D 아바타를 생성하는 방법 및 장치가 개시된다. 일 실시예에 따른 3D 아바타를 생성하는 장치는, 변환 대상 2D 얼굴 이미지에서 헤어를 포함한 얼굴을 검출하여 얼굴 영역 검출 이미지를 생성하는 얼굴 영역 검출부; 상기 얼굴 영역 검출 이미지를 정렬하고 정렬된 상기 얼굴 영역 검출 이미지로부터 헤어를 포함한 얼굴 부분을 추출하여 얼굴 영역 표준화 이미지를 생성하는 얼굴 영역 표준화부; 상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 헤어스타일 분류부; 및 상기 분류된 헤어스타일에 대응하는 3D 헤어스타일 데이터를 3D 얼굴에 중첩하여 3D 아바타를 생성하는 3D 아바타 생성부를 포함한다.

Description

헤어스타일 분석을 통한 3D 아바타를 생성하는 방법 및 장치{METHOD AND APPARATUS FOR GENERATING A 3D AVATAR THROUGH HAIR STYLES ANALYSIS}
본 발명은 3D 아바타 생성 기술에 관한 것으로서, 보다 구체적으로 헤어스타일 분석을 통해 2D 얼굴 이미지로부터 3D 아바타를 생성하는 방법 및 장치에 관한 것이다.
기존 4G 시장에서는 지연시간(latency)의 한계점으로 인해 실시간 AR(Augment Reality)/VR(Virtual Reality) 콘텐츠에 대해 시장성이 부진했다. 하지만 5G의 시대의 도래로 AR/VR 기술을 이용한 5G 영상통화 시장이 급속도로 팽창하고 있다. AR/VR, 3D 영상기술, 5G 영상통화에서 가장 중요한 요소 중 하나는 3D 아바타를 생성하고 아바타 커뮤니케이션을 만드는 것이다. 여기에서 “아바타”의 정의는 다른 사람과 구별될 수 있는 “나”의 특징이 반영된 3D 모형을 뜻한다.
3D 아바타 생성을 위해 많은 연구가 이루어지고 있다. 2D 얼굴 이미지에서 3D 얼굴을 만들기 위한 기술로는 3D Face Morphable Model(3DMM)이 광범위하게 사용되고 있다. 하지만 헤어 같은 경우에는 모양의 다양성으로 인해 3D 복원이 쉽지 않다. 소위 사람의 헤어 모양에 대해서는 종류의 다양성으로 인해 정의를 내리기가 쉽지 않다. 기존 룰 기반(rule-based) 알고리즘 방식으로는 2D 얼굴 이미지에서 헤어의 특징들(웨이브 유무, 머리카락 길이, 가르마 방향 등)을 추출하기가 어렵다. 가령 곱슬 헤어에 대해서 어느 부분이 구불거리고 어느 정도까지 구불거려야 하는지 룰을 정하기가 어렵다. 이는 마치 개와 고양이의 분류 문제와 같다.
본 발명은 딥러닝을 통해 2D 얼굴 이미지에서 헤어스타일을 분류하여 3D 아바타를 생성하는 방법 및 장치를 제공하는데 그 목적이 있다.
일 실시예에 따른 3D 아바타를 생성하는 장치는, 변환 대상 2D 얼굴 이미지에서 헤어를 포함한 얼굴을 검출하여 얼굴 영역 검출 이미지를 생성하는 얼굴 영역 검출부; 상기 얼굴 영역 검출 이미지를 정렬하고 정렬된 상기 얼굴 영역 검출 이미지로부터 헤어를 포함한 얼굴 부분을 추출하여 얼굴 영역 표준화 이미지를 생성하는 얼굴 영역 표준화부; 상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 헤어스타일 분류부; 및 상기 분류된 헤어스타일에 대응하는 3D 헤어스타일 데이터를 3D 얼굴에 중첩하여 3D 아바타를 생성하는 3D 아바타 생성부를 포함한다.
상기 얼굴 영역 검출부는, 상기 변환 대상 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 제 1 색으로 표현하고 배경은 제 2 색으로 표현한 제 1 출력 이미지를 생성하고, 상기 제 1 출력 이미지를 이용하여 상기 2D 얼굴 이미지에서 헤어를 포함한 얼굴을 검출할 수 있다.
상기 얼굴 영역 검출부는, 상기 제 1 출력 이미지의 상기 2 색으로 표현된 픽셀에 대응하는 상기 변환 대상 2D 얼굴 이미지의 픽셀을 하얀색으로 변경하여 상기 얼굴 영역 검출 이미지를 생성할 수 있다.
상기 얼굴 영역 검출부는, 학습용 2D 얼굴 이미지와 학습용 라벨 데이터의 쌍을 이용하여 상기 제 1 출력 이미지를 생성하는 얼굴 영역 추론 모델을 학습하고, 상기 얼굴 영역 추론 모델을 이용하여 상기 변환 대상 2D 얼굴 이미지로부터 상기 제 1 출력 이미지를 생성하며, 상기 학습용 라벨 데이터는, 상기 학습용 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 상기 제 1 색으로 표현하고 배경은 상기 제 2 색으로 표현할 수 있다.
상기 얼굴 영역 표준화부는, 상기 얼굴 영역 검출 이미지에서 두 눈의 위치 정보를 기반으로 상기 얼굴 영역 검출 이미지를 회전하여 정렬할 수 있다.
상기 얼굴 영역 표준화부는, 상기 정렬된 얼굴 영역 검출 이미지에서, 헤어를 포함한 얼굴 부분의 높이의 최소 좌표값 및 최대 좌표값과, 헤어를 포함한 얼굴 부분의 폭의 최소 좌표값 및 최대 좌표값을 추출한 후, 상기 높이의 최소 좌표값 및 최대 좌표값과, 상기 폭의 최소 좌표값 및 최대 좌표값이 규정하는 사각형 영역을, 상기 얼굴 영역 표준화 이미지로 생성할 수 있다.
상기 헤어스타일 분류부는, 학습용 이미지와 학습용 라벨 데이터의 쌍을 이용하여 상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 헤어스타일 추론 모델을 학습할 수 있다.
상기 학습용 이미지는, 학습용 얼굴 영역 표준화 이미지와, 헤어만을 포함하는 헤어 분할 이미지를 포함할 수 있다.
상기 헤어스타일 분류부는, 각각 복수의 클래스를 포함하는 복수의 카테고리 각각마다 상기 헤어스타일 추론 모델을 학습할 수 있다.
일 실시예에 따른 3D 아바타를 생성하는 방법은, 변환 대상 2D 얼굴 이미지에서 헤어를 포함한 얼굴을 검출하여 얼굴 영역 검출 이미지를 생성하는 단계; 상기 얼굴 영역 검출 이미지를 정렬하고 정렬된 상기 얼굴 영역 검출 이미지로부터 헤어를 포함한 얼굴 부분을 추출하여 얼굴 영역 표준화 이미지를 생성하는 단계; 상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 단계; 및 상기 분류된 헤어스타일에 대응하는 3D 헤어스타일 데이터를 3D 얼굴에 중첩하여 3D 아바타를 생성하는 단계를 포함한다.
상기 얼굴 영역 검출 이미지를 생성하는 단계는, 상기 변환 대상 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 제 1 색으로 표현하고 배경은 제 2 색으로 표현한 제 1 출력 이미지를 생성하고, 상기 제 1 출력 이미지를 이용하여 상기 2D 얼굴 이미지에서 헤어를 포함한 얼굴을 검출할 수 있다.
상기 얼굴 영역 검출 이미지를 생성하는 단계는, 상기 제 1 출력 이미지의 상기 2 색으로 표현된 픽셀에 대응하는 상기 변환 대상 2D 얼굴 이미지의 픽셀을 하얀색으로 변경하여 상기 얼굴 영역 검출 이미지를 생성할 수 있다.
상기 얼굴 영역 검출 이미지를 생성하는 단계는, 학습용 2D 얼굴 이미지와 학습용 라벨 데이터의 쌍을 이용하여 상기 제 1 출력 이미지를 생성하는 얼굴 영역 추론 모델을 학습하고, 상기 얼굴 영역 추론 모델을 이용하여 상기 변환 대상 2D 얼굴 이미지로부터 상기 제 1 출력 이미지를 생성하며, 상기 학습용 라벨 데이터는, 상기 학습용 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 상기 제 1 색으로 표현하고 배경은 상기 제 2 색으로 표현할 수 있다.
상기 얼굴 영역 표준화 이미지를 생성하는 단계는, 상기 얼굴 영역 검출 이미지에서 두 눈의 위치 정보를 기반으로 상기 얼굴 영역 검출 이미지를 회전하여 정렬할 수 있다.
상기 얼굴 영역 표준화 이미지를 생성하는 단계는, 상기 정렬된 얼굴 영역 검출 이미지에서, 헤어를 포함한 얼굴 부분의 높이의 최소 좌표값 및 최대 좌표값과, 헤어를 포함한 얼굴 부분의 폭의 최소 좌표값 및 최대 좌표값을 추출한 후, 상기 높이의 최소 좌표값 및 최대 좌표값과, 상기 폭의 최소 좌표값 및 최대 좌표값이 규정하는 사각형 영역을, 상기 얼굴 영역 표준화 이미지로 생성할 수 있다.
상기 헤어스타일을 분류하는 단계는, 학습용 이미지와 학습용 라벨 데이터의 쌍을 이용하여 상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 헤어스타일 추론 모델을 학습하는 단계를 포함할 수 있다.
상기 학습용 이미지는, 학습용 얼굴 영역 표준화 이미지와, 헤어만을 포함하는 헤어 분할 이미지를 포함할 수 있다.
상기 학습하는 단계는, 각각 복수의 클래스를 포함하는 복수의 카테고리 각각마다 상기 헤어스타일 추론 모델을 학습할 수 있다.
일 실시예에 따르면, 2D 얼굴 이미지로부터 개인별 특징이 반영된 3D 아바타 생성이 가능하고, 기존의 3D 복원 방식의 문제점, 즉 2D 이미지에서 3D 복원시 깨짐 현상을 방지하여 3D 아바타 생성의 안정성 및 정확성을 확보할 수 있다.
일 실시예에 따르면, 2D 얼굴 이미지로부터 헤어를 분리할 수 있어 홀로그램 디스플레이의 다양성, 즉 나의 얼굴과 아바타 몸통 합성 등의 기능을 제공하여, 5G 아바타 커뮤니케이션 뿐만 아니라 5G 홀로그램 영상 통화나 5G 홀로그램 실시간 강의 영상 서비스 등을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 3D 아바타를 생성하기 위한 장치의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 얼굴 영역 추론 모델을 생성하는 방법을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 2D 얼굴 이미지에서 얼굴 영역 검출 이미지를 생성하는 과정을 설명하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 2D 얼굴 이미지로부터 얼굴 영역 검출 이미지를 생성하는 이미지 처리 방법을 설명하는 흐름도이다.
도 5는 얼굴 영역 이미지에서 좌측 눈의 중심과 우측 눈의 중심을 나타낸 도면이다.
도 6 및 도 7은 본 발명의 일 실시예에 따른 상기 얼굴 영역 검출 이미지에서 헤어를 포함한 얼굴 영역 부분을 추출하여 얼굴 분할 이미지를 생성하는 이미지 처리 방법을 설명하는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 얼굴 영역 검출 이미지로부터 얼굴 영역 표준화 이미지를 생성하는 과정을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 헤어 길이 분류의 학습 및 실제 분류 과정을 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 3D 아바타 생성부에서의 처리 과정을 설명하는 도면이다.
도 11은 본 발명의 일 실시예에 따른 얼굴 영역 추론 모델을 학습하는 방법을 설명하는 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 2D 얼굴 이미지로부터 얼굴 영역 표준화 이미지를 생성하는 방법을 설명하는 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 헤어스타일 추론 모델을 학습하는 방법을 설명하는 흐름도이다.
도 14는 본 발명의 일 실시예에 따른 2D 얼굴 이미지로부터 3D 아바타를 생성하는 방법을 설명하는 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 3D 아바타를 생성하기 위한 장치의 구성을 나타낸 블록도이다. 본 실시예에 따른 3D 아바타를 생성하기 위한 장치는, 메모리, 메모리 제어기, 하나 이상의 프로세서(CPU), 주변 인터페이스, 입출력(I/O) 서브시스템, 디스플레이 장치, 입력 장치 및 통신 회로를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 프로세서 및 주변 인터페이스와 같은 다른 구성요소에 의한 메모리로의 액세스는 메모리 제어기에 의하여 제어될 수 있다. 메모리는 각종 정보와 프로그램 명령어를 저장할 수 있고, 프로그램은 프로세서에 의해 실행된다. 주변 인터페이스는 입출력 주변 장치를 프로세서 및 메모리와 연결한다. 하나 이상의 프로세서는 다양한 소프트웨어 프로그램 및/또는 메모리에 저장되어 있는 명령어 세트를 실행하여 시스템을 위한 여러 기능을 수행하고 데이터를 처리한다. I/O 서브시스템은 디스플레이 장치, 입력 장치와 같은 입출력 주변장치와 주변 인터페이스 사이에 인터페이스를 제공한다. 도 1을 참조하면, 본 실시예에 따른 3D 아바타를 생성하기 위한 장치는, 입력부(110), 출력부(120), 제어부(130) 및 저장부(140)를 포함하고, 이들은 앞서 설명한 하드웨어 또는 소프트웨어로 구현되거나, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 제어부(130)는, 도 1에 도시된 바와 같이, 얼굴 영역 검출부(131), 얼굴 영역 표준화부(132), 헤어스타일 분류부(133), 3D 아바타 생성부(134)를 포함한다.
입력부(110)는 학습용 데이터 세트를 수신할 수 있다. 여기서 학습용 데이터 세트는, 얼굴 영역 검출을 위한 학습용 데이터 세트와, 헤어스타일 분류를 위한 학습용 데이터 세트를 포함한다. 또한, 입력부(110)는, 실제 3D 아바타를 생성하기 위한 변환 대상인 2D 얼굴 이미지를 수신할 수 있다.
상기 얼굴 영역 검출을 위한 학습용 데이터 세트는, 학습용 2D 얼굴 이미지와 학습용 라벨 데이터의 쌍이다. 이때 얼굴 영역 검출을 위한 학습용 라벨 데이터는 포토샵 등 이미지 편집 툴을 이용하여 학습용 2D 얼굴 이미지들의 특징을 기반으로 생성된 데이터로서, 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 이미지 편집 툴을 이용하여 빨간색(픽셀 값 : 255, 0, 0)으로 칠하고, 얼굴 영역이 아닌 부분, 즉 배경은 검은색(픽셀 값 : 0, 0, 0)으로 칠해진다. 본 실시예에서 학습용 2D 얼굴 이미지는 2만장이고 이에 짝이 되는 학습용 라벨 데이터의 개수도 2만장이 입력된다.
상기 헤어스타일 분류를 위한 학습용 데이터 세트는, 학습용 얼굴 영역 표준화 이미지 또는 헤어 분할 이미지와 이들의 학습용 라벨 데이터의 쌍이다. 얼굴 영역 표준화 이미지는 이하에서 자세히 설명한다. 헤어 분할 이미지는 얼굴 영역 표준화 이미지에서 헤어 부분만을 남기고 나머지는 하얀색으로 처리한 이미지이다. 이때의 학습용 라벨 데이터는, 대머리, 스포츠헤어, 숏헤어 등과 같은 텍스트일 수 있다. 이하에서 자세히 설명한다.
얼굴 영역 검출부(131)는, 상기 입력부(110)에서 입력되는 학습용 2D 얼굴 이미지들과 학습용 라벨 데이터를 이용하여 딥러닝 학습을 함으로써, 2D 얼굴 이미지에서 얼굴 영역을 검출하기 위한 얼굴 영역 추론 모델을 생성한다. 얼굴 영역이란 헤어를 포함하는 영역으로서 얼굴 영역 검출이란 픽셀 단위의 영역 분리를 뜻한다.
도 2는 본 발명의 일 실시예에 따른 얼굴 영역 추론 모델을 생성하는 방법을 설명하는 도면이다. 도 2를 참조하면, 얼굴 영역 검출부(131)는, 딥러닝 학습 엔진(210)을 통해, 상기 입력부(110)에서 입력된 학습용 2D 얼굴 이미지(200)들에서 얼굴 영역을 검출하여 출력 이미지(220)를 생성하고, 그 출력 이미지(220)를 학습용 라벨 데이터(230)와 비교하여 출력 이미지(220)와 학습용 라벨 데이터(230) 간의 오차가 0에 가까워질 때까지 반복적으로 학습을 수행한다. 도 2에서의 딥러닝 학습 엔진(210)은 컨볼루션 신경망(CNN : Convolutional Neural Network)을 이용한다. 특히, 컨볼루션 신경망(CNN)을 기반으로 하고 입력된 2D 얼굴 이미지의 크기를 복원하기 위해 디코더(Decoder) 구조를 사용한다. 이와 같이 학습된 딥러닝 학습 엔진(210)의 파라미터 값(weight, bias)과 컨볼루션 신경망 모델이 계산되어 얼굴 영역 추론 모델로서 얼굴 영역 추론 모델 저장부(141)에 저장한다. 얼굴 영역 검출의 오차함수는 다음과 같다.
Figure pat00001
여기서, m은 픽셀의 개수(이미지 높이 * 이미지 길이)이고, h(x)는 출력 이미지(220)의 픽셀 값이며, y는 학습용 라벨 데이터(230)의 픽셀 값이다.
얼굴 영역 검출부(131)는, 위와 같이 학습되어 생성된 얼굴 영역 추론 모델을 이용하여, 상기 입력부(110)에서 입력되는 실제 3D 아바타를 생성하기 위한 변환 대상인 2D 얼굴 이미지에서 얼굴 영역을 검출하여 얼굴 영역 검출 이미지를 생성한다. 바람직하게, 얼굴 영역 검출부(131)는, 딥러닝 학습 엔진에서 미리 학습된 파라미터 값(weight, bias)과 컨볼루션 신경망 모델을 포함하는 얼굴 영역 추론 모델을 얼굴 영역 추론 모델 저장부(141)에서 불러와 이용한다.
도 3은 본 발명의 일 실시예에 따른 변환 대상인 2D 얼굴 이미지에서 얼굴 영역 검출 이미지를 생성하는 과정을 설명하는 도면이다.
도 3을 참조하면, 얼굴 영역 검출부(131)는, 얼굴 영역 추론 모델 저장부(141)에 저장된 얼굴 영역 추론 모델을 딥러닝 추론 엔진(310)에 적용하고, 딥러닝 추론 엔진(310)을 통해 변환 대상인 2D 얼굴 이미지(300)에서, 얼굴 영역은 빨간색(픽셀 값 : 255, 0, 0)으로 표현하고, 얼굴 영역이 아닌 부분, 즉 배경은 검은색(픽셀 값 : 0, 0, 0)으로 표현한 제 1 출력 이미지(320)를 생성하고, 제 1 출력 이미지(320)를 이용하여 상기 변환 대상인 2D 얼굴 이미지(300)로부터 얼굴 영역 검출 이미지(330)를 생성한다. 구체적으로, 얼굴 영역 검출부(131)는, 픽셀 단위로, 상기 제 1 출력 이미지(320)와 상기 변환 대상인 2D 얼굴 이미지(300)를 비교하여 상기 제 1 출력 이미지(320)의 빨간색 픽셀에 대응하는 상기 변환 대상인 2D 얼굴 이미지(300)의 대응하는 픽셀을 하얀색으로 변경함으로써, 최종적인 얼굴 영역 검출 이미지를 생성한다.
도 4는 본 발명의 일 실시예에 따른 상기 제 1 출력 이미지를 이용하여 2D 얼굴 이미지로부터 얼굴 영역 검출 이미지를 생성하는 이미지 처리 방법을 설명하는 흐름도이다. 도 4를 참조하면, 단계 S401에서, 얼굴 영역 검출부(131)는, 변환 대상 2D 얼굴 이미지(300)를 저장한다. 그리고 단계 S402에서, 변환 대상 2D 얼굴 이미지(300)의 높이 좌표 값인 h를 0으로 설정한다. 단계 S403에서, 얼굴 영역 검출부(131)는, 변환 대상 2D 얼굴 이미지(300)의 폭 좌표 값인 w를 0으로 설정한다. 단계 S404에서, 얼굴 영역 검출부(131)는, 상기 제 1 출력 이미지(320)에서 [h, w]에 대응하는 픽셀이 빨간색(255, 0, 0)인지 확인한다.
상기 제 1 출력 이미지(330)에서 [h, w]에 대응하는 픽셀이 빨간색(255, 0, 0)인 경우, 단계 S405에서, 얼굴 영역 검출부(131)는, 상기 2D 얼굴 이미지(300)에서 [h, w]에 대응하는 픽셀을 하얀색(255, 255, 255)으로 변경한다. 이어서, 단계 S406에서, 얼굴 영역 검출부(131)는, w에 1을 더하고, 단계 S407에서, 얼굴 영역 검출부(131)는, 상기 w가 상기 변환 대상 2D 얼굴 이미지(300)의 폭의 길이보다 작은지 확인한다. w는 현재 0으로 설정되어 있으므로, 단계 S404로 진행하여, 상기 w가 상기 변환 대상 2D 얼굴 이미지(300)의 폭의 길이와 같아질 때까지 반복한다. 즉 h가 0인 상태에서 변환 대상 2D 얼굴 이미지(300)의 폭 방향의 전체 픽셀에 대해 비교 및 변경을 수행하는 것으로, h=0인 상태에서 변환 대상 2D 얼굴 이미지(300)의 가장 좌측 픽셀부터 가장 우측 픽셀까지, 상기 제 1 출력 이미지(320)에서 [0, w]에 대응하는 픽셀이 빨간색(255, 0, 0)인 경우, 상기 변환 대상 2D 얼굴 이미지(300)에서 [0, w]에 대응하는 픽셀을 하얀색(255, 255, 255)으로 변경하는 것이다.
단계 S407에서 상기 w가 상기 변환 대상 2D 얼굴 이미지(300)의 폭의 길이와 같아지면, 단계 S408에서, 얼굴 영역 검출부(131)는, h에 1을 더한다(h=1). 단계 S409에서, 얼굴 영역 검출부(131)는, 상기 h가 상기 변환 대상 2D 얼굴 이미지(300)의 높이보다 작은지 확인한다. h는 현재 0으로 설정되어 있으므로, h는 상기 2D 얼굴 이미지(300)의 높이보다 작다. 따라서, 얼굴 영역 검출부(131)는 단계 S403부터 반복하여 h가 상기 변환 대상 2D 얼굴 이미지(300)의 높이와 같아질 때까지 반복한다. 즉, h=0부터 변환 대상 2D 얼굴 이미지(300)의 가장 상단 높이까지 상기 제 1 출력 이미지(320)에서 [h, w]에 대응하는 픽셀이 빨간색(255, 0, 0)인 경우, 상기 변환 대상 2D 얼굴 이미지(300)에서 [h, w]에 대응하는 픽셀을 하얀색(255, 255, 255)으로 변경하는 과정을 반복하는 것이다.
도 4의 과정을 거치게 되면, 최초에 입력된 변환 대상 2D 얼굴 이미지(300)에서 얼굴을 제외한 배경 부분은 하안색으로 변경되고, 헤어를 포함한 얼굴 부분은 기존 얼굴 이미지 그대로 픽셀이 유지되어, 헤어를 포함한 얼굴 영역만을 포함하는 얼굴 영역 검출 이미지(330)가 생성된다. 단계 S410에서, 얼굴 영역 검출부(131)는, 상기 얼굴 영역 검출 이미지(330)를 저장한다.
다시 도 1을 참조하면, 얼굴 영역 표준화부(132)는, 상기 얼굴 영역 검출부(131)에서 검출된 얼굴 영역 검출 이미지(330)에 대해 표준화를 수행하여 얼굴 영역 표준화 이미지를 생성한다. 즉, 얼굴 영역 표준화부(132)는, 얼굴 영역 검출 이미지(330)에서 얼굴의 각도를 조정하여 얼굴을 똑바로 된 상태로 정렬한 후 헤어를 포함한 얼굴 부분을 추출하고 그 추출한 얼굴 부분의 이미지의 크기를 조정하여 얼굴 영역 표준화 이미지를 생성한다.
먼저, 얼굴의 각도를 조정하는 방법을 설명하면 다음과 같다. 얼굴 영역 표준화부(132)는 상기 얼굴 영역 검출 이미지(330)에서 얼굴 인식을 수행하고 얼굴의 특징점(Landmark)를 추출한다. 얼굴의 특징점 추출 알고리즘은 예를 들어 Dlib 파이썬 라이브러리를 사용할 수 있다. 바람직하게, 68개의 얼굴 특징점이 추출될 수 있다. 보다 구체적으로, 얼굴 영역 표준화부(132)는, 얼굴 특징점 추론 모델 저장부(142)에 저장된 얼굴 특징점 추론 모델을 이용하여, 상기 얼굴 영역 검출 이미지(330)에서 얼굴 인식을 수행하고 얼굴의 특징점(Landmark)를 추출한다. 그리고 얼굴 영역 표준화부(132)는, 추출된 얼굴의 특징점들에 기초하여 상기 얼굴 영역 이미지에서 좌측 눈과 우측 눈의 위치 정보를 기반으로 얼굴의 각도를 조정하여 얼굴을 똑바른 상태로 정렬한다. 도 5는 얼굴 영역 이미지에서 좌측 눈의 중심(LeftEyeCenter)(510)과 우측 눈의 중심(RightEyeCenter)(520)을 나타낸 도면이다. 도 5에서, 각도 A가 얼굴이 틀어진 각도를 의미한다. 상기 추출된 얼굴의 특징점을 이용하여 좌측 눈의 중심(510)과 우측 눈의 중심(520)을 좌표로 표현하면 다음과 같다.
LeftEyeCenter = (Point(37) + Point(40))/2
RightEyeCenter = (Point(43) + Point(46))/2
여기서 Point(37)은 좌측 눈의 왼쪽 끝 좌표이고, Point(40)은 좌측 눈의 오른쪽 끝 좌표이며, Point(43)은 오른쪽 눈의 왼쪽 끝 좌표이고, Point(46)은 오른쪽 눈의 오른쪽 끝 좌표이다.
도 5의 각도 A는 arctangent(dy/dx)이고, dy 및 dx는 다음과 같다.
dx = RightEyeCenter[0] - LeftEyeCenter[0]
dy = RightEyeCenter[1] - LeftEyeCenter[1]
여기서 LeftEyeCenter[0]은 좌측 눈의 중앙 x 좌표이고, LeftEyeCenter[1]는 좌측 눈의 중앙 y 좌표이며, RightEyeCenter[0]은 우측 눈의 중앙 x 좌표이고, RightEyeCenter[1]은 우측 눈의 중앙 y 좌표이다.
얼굴 영역 표준화부(132)는, 위와 같은 과정을 통해 얼굴 영역 검출 이미지(330)의 틀어진 각도가 계산되면, 그 각도를 이용하여 상기 얼굴 영역 검출 이미지(330)를 회전한다. 이때, 얼굴 영역 표준화부(132)는, 상기 얼굴 영역 검출 이미지(330)의 중심점을 기준으로 이미지 회전을 수행한다. 이를 수학식으로 표현하면 다음과 같다.
x' = x×cos(각도 A) - y×sin(각도 A) + 1/2×상기 얼굴 영역 검출 이미지(330)의 폭 길이
y' = x×sin(각도 A) + y×cos(각도 A) + 1/2×상기 얼굴 영역 검출 이미지(330)의 높이
다음으로, 얼굴의 크기를 조정하는 방법을 설명하면 다음과 같다. 얼굴 영역 표준화부(132)는 얼굴 각도가 조정되어 정렬된 상기 얼굴 영역 검출 이미지(330)에서 헤어를 포함한 얼굴 영역 부분을 추출하여 얼굴 분할 이미지를 생성한 후 그 얼굴 분할 이미지를 미리 결정된 크기로 확대 또는 축소함으로써 얼굴 영역 표준화 이미지를 생성한다. 이를 위한 이미지 처리 방법은 도 6 및 도 7을 참조하여 구체적으로 설명한다.
도 6 및 도 7은 본 발명의 일 실시예에 따른 상기 얼굴 영역 검출 이미지에서 헤어를 포함한 얼굴 영역 부분을 추출하여 얼굴 분할 이미지를 생성하는 이미지 처리 방법을 설명하는 흐름도이다. 먼저 도 6을 참조하면, 단계 S601에서, 얼굴 영역 표준화부(132)는, 상기 얼굴 각도가 조정되어 정렬된 상기 얼굴 영역 검출 이미지(이하, D 이미지라 함)를 저장한다. 그리고 단계 S602에서, 얼굴 영역 표준화부(132)는, 높이 좌표값인 h를 0으로 설정한다. 단계 S603에서, 얼굴 영역 표준화부(132)는, 상기 D 이미지의 폭 좌표값인 w를 0으로 설정한다.
단계 S604에서, 얼굴 영역 표준화부(132)는, 상기 D 이미지에서 [h, w]에 대응하는 픽셀이 하얀색(255, 255, 255)이 아닌지 확인한다. 상기 D 이미지에서 [h, w]에 대응하는 픽셀이 하얀색(255, 255, 255)이 아닌 경우, 단계 S605에서, 얼굴 영역 표준화부(132)는, 그 픽셀의 h 값과 w 값을 저장한다. 이어서, 단계 S606에서, 얼굴 영역 표준화는, w에 1을 더하고, 단계 S607에서, 얼굴 영역 표준화부(132)는, 상기 w가 상기 D 이미지의 폭의 길이보다 작은지 확인한다. w는 현재 0으로 설정되어 있으므로, 단계 S604로 진행하여 반복한다. 즉, h=0인 상태에서 상기 D 이미지의 가장 좌측 픽셀부터 가장 우측 픽셀까지, 하얀색이 아닌, 즉 얼굴이 존재하는 픽셀의 좌표값을 추출하여 저장하는 것이다.
단계 S607에서, 상기 w가 상기 D 이미지의 폭의 길이와 같아지면, 단계 S608에서, 얼굴 영역 표준화부(132)는, h에 1을 더한다(h=1). 이어서, 단계 S609에서, 얼굴 영역 표준화부(132)는, 1이 더해진 h가 상기 D 이미지의 높이보다 작은지 확인한다. h가 상기 D 이미지의 높이보다 작으면 다시 S603부터 반복을 시작한다. 즉, h=0부터 상기 D 이미지의 가장 상단 높이까지 하얀색이 아닌, 즉 얼굴이 존재하는 픽셀의 좌표값을 추출하여 저장하는 것이다.
이상의 과정을 완료하면, 단계 S610에서, 얼굴 영역 표준화부(132)는, 상기 단계 S605에서 저장한 h의 값들 중 최소값(h_start=Min(h list))과 최대값(h_end=Max(w list)), 그리고 w의 값들 중에서 최소값(w_start=Min(w list))과 최대값(w_end=Max(w list))을 구해 저장한다. 이 저장된 h의 최대값 및 최소값은, 헤어를 포함한 얼굴이 채워지는 사각형의 높이 값을 규정하고, w의 최대값 및 최소값은 상기 사각형의 폭의 길이 값을 규정한다.
도 7에 도시된 바와 같이, 도 6을 참조하여 설명한 과정이 완료되면, 단계 S701에서, 얼굴 영역 표준화부(132)는, i 값에 h의 최소값(h_start=Min(h list))을 설정하고, h' 값은 0을 설정한다. 그리고 단계 S702에서, 얼굴 영역 표준화부(132)는, j 값에 w의 최소값(w_start=Min(w list))을 설정하고, w'은 0을 설정한다. 여기서, [h', w']은 (h의 최대값-최소값+1) × (w의 최대값-최소값+1) 개수의 픽셀로 이루어진 출력 이미지, 즉 얼굴 분할 이미지의 픽셀 좌표값을 의미한다.
단계 S703에서, 얼굴 영역 표준화부(132)는, 얼굴 분할 이미지의 [h', w'] 픽셀에, 상기 D 이미지의 [i, j] 픽셀 값을 저장한다. [h', w']은 [0, 0]이므로, 얼굴 분할 이미지의 [0, 0] 픽셀에, [h의 최소값, w의 최소값] 픽셀의 값이 저장된다.
단계 S704에서, 얼굴 영역 표준화부(132)는, j 값에 1을 더하고, 또한 w' 값에 1을 더한 후, 단계 S705에서, 얼굴 영역 표준화부(132)는, j 값이 w의 최대값(w_end=Max(w list)) 이하인지 확인한다. j 값이 w의 최대값(w_end=Max(w list)) 이하이면, 단계 S703부터 반복한다. 즉, 얼굴 분할 이미지의 가장 아래 열의 픽셀 값들을 상기 D 이미지의 [h의 최소값, w'](여기서, w'는 w의 최소값부터 최대값까지)의 픽셀 값으로 저장하는 것이다.
이 과정이 완료되면, 단계 S706에서, 얼굴 영역 표준화부(132)는, i 값에 1을 더하고, h' 값에 1을 더한 후, 단계 S707에서, i 값이 h의 최대값(h_end=Max(w list)) 이하인지 확인한다. i 값이 h의 최대값(h_end=Max(w list)) 이하이면, 단계 S702부터 반복한다. 즉 h' 값이 h의 최대값(h_end=Max(w list))이 될 때까지 반복한다. 이 과정이 완료되면, 헤어를 포함한 얼굴이 채워지는 사각형 이미지, 즉 얼굴 분할 이미지가 생성된다. 이 얼굴 분할 이미지를 미리 결정된 크기로 확대 또는 축소하면 최종적으로 얼굴 영역 표준화 이미지가 생성된다.
도 8은 본 발명의 일 실시예에 따른 얼굴 영역 검출 이미지로부터 얼굴 영역 표준화 이미지를 생성하는 과정을 나타낸 도면이다. 도 8의 (a)는 얼굴 영역 검출 이미지로서, 변환 대상 2D 얼굴 이미지에서 배경은 하얀색으로 변경되고 헤어를 포함한 얼굴 영역만 남는다. 도 8의 (b)는 얼굴 특징점 추론 모델을 나타내며, 도 8의 (c)는 얼굴 특징점 추론 모델을 통해 얼굴 특징점이 추출된 이미지를 나타낸다. 도 8의 (d)는 얼굴 각도를 조정하여 정렬된 얼굴 영역 검출 이미지이다. 도 8의 (a)는 얼굴이 사선으로 기울어져 있는데, 도 8의 (d)는 눈의 위치를 이용하여 얼굴을 똑바른 상태로 정렬한 상태이다. 도 8의 (e)는 도 8의 (d)의 정렬된 얼굴 영역 검출 이미지에서 헤어를 포함한 얼굴 부분을 추출하여 크기를 조정한 최종 얼굴 영역 표준화 이미지이다.
헤어스타일 분류부(133)는, 딥러닝 학습 엔진과 딥러닝 추론 엔진을 포함하여, 상기 딥러닝 학습 엔진을 이용하여 헤어스타일 분류 방법을 학습하고, 상기 딥러닝 추론 엔진을 이용하여 헤어스타일을 분류한다. 헤어스타일 분류부(133)에서 분류하는 헤어스타일의 카테고리를 3개로 정의할 수 있고, 각각의 카테고리는 복수의 클래스들로 정의할 수 있다. 즉, 헤어스타일의 카테고리는 헤어 길이, 헤어 종류, 헤어 웨이브 유무로 정의할 수 있고, 각 카테고리마다 클래스들은 아래와 같이 정의할 수 있다. 그러나 여기에 제한되지 않고 클래스의 수는 더 많을 수도 있고 적을 수도 있다.
1) 헤어 길이 : 대머리, 스포츠헤어, 숏헤어, 단발머리, 미들헤어, 긴머리
2) 헤어 종류 : 내림머리(예, 앞머리 있음), 올림머리(예, 앞머리 없음)
3) 헤어 웨이브 유무 : 웨이브, 스트레이트
헤어스타일 분류부(133)는, 헤어스타일 분류 방법을 학습하는데 있어서, 상기 헤어 길이와 상기 헤어 종류의 학습시에는, 얼굴 영역 표준화 이미지를 이용하고, 상기 헤어 웨이브 유무의 학습시에는, 헤어 분할 이미지를 이용한다. 헤어 길이와 헤어 종류는, 얼굴 대비 헤어 길이의 비율을 정확하게 알아야 하기 때문에, 얼굴을 모두 포함하는 얼굴 영역 표준화 이미지를 이용하여 학습을 하고, 헤어 웨이브 유무를 판단하는데 있어서는 얼굴이 크게 중요하지 않고 오히려 얼굴이 있으면 얼굴의 크기 등에 의해 학습이 제대로 안 될 수 있어, 헤어 웨이브 유무를 학습하는데 있어서는 헤어 분할 이미지를 이용한다. 본 실시예에서 학습용 데이터 쌍의 개수는 각 클래스별로 1,000개이다. 예를 들어, 헤어 길이에 대한 클래스의 개수는 6개(대머리, 스포츠헤어, 숏헤어, 단발머리, 미들헤어, 긴머리)이고, 각 클래스별로 얼굴 영역 표준화 이미지 1,000장과 이에 쌍이 되는 학습용 라벨 데이터는 1,000개이다. 헤어스타일 분류부(133)는, 학습용 데이터 세트를 입력받아, 딥러닝 학습 엔진을 통해 각 카테고리별로 학습을 하고, 각 카테고리별로 학습된 파라미터 값과 컨볼루션 신경망(CNN) 모델을 헤어스타일 추론 모델 저장부(143)에 저장한다.
헤어스타일 분류부(133)는, 상기 헤어스타일 추론 모델 저장부(143)에서, 각 카테고리별로 학습된 파라미터 값 및 컨볼루션 신경망 모델을 불러와 딥러닝 추론 엔진을 설정하고, 해당 딥러닝 추론 엔진을 통해, 변환 대상의 얼굴 영역 표준화 이미지를 각 카테고리별 클래스들 중 어느 클래스에 속하는지 분석하여 그 결과를 출력한다. 바람직하게, 헤어스타일 분류부(133)는, 각 카테고리별로 각 클래스에 대한 확률값을 산출할 수 있고, 확률값이 가장 높은 클래스를 추론 결과로 출력할 수 있다.
도 9는 본 발명의 일 실시예에 따른 헤어 길이 분류의 학습 및 실제 분류 과정을 나타낸 도면이다. 도 9를 참조하면, 도 9의 (a)는 헤어 길이 분류의 학습 과정을 나타낸 도면이다. 도 9의 (a)에 도시된 바와 같이, 헤어스타일 분류부(133)는, 특정 배우의 얼굴 영역 표준화 이미지(910)와 학습용 라벨 데이터 '단발머리'를 학습용 데이터 세트로서 수신하고, 이를 딥러닝 학습 엔진으로 학습을 한다. 얼굴 영역 검출부(131)에서의 딥러닝 학습 엔진과 달리 헤어스타일 분류부(133)의 딥러닝 학습 엔진은 마지막 네트워크의 계층(output layer)이 디코더 구조로 되어 있지 않고, 클래스의 개수, 즉 6개로 구성되어 있으며, 각 클래스는 확률값으로 출력된다. 딥러닝 학습 엔진은 오차역전파 알고리즘을 적용하여 오차값이 0(예, 단발머리를 100%라고 인식)에 가까워질 때까지 반복적으로 학습을 수행한다. 헤어스타일 분류 학습을 위한 오차함수는 다음과 같다.
Figure pat00002
여기서, m은 클래스의 개수이고, h(x)는 딥러닝 학습 엔진의 연산 결과 확률값이며, 학습용 라벨 데이터의 확률 값이다. 도 9의 예에서, 딥러닝 학습 엔진의 오차값은 다음과 같다.
1/12 * {(0-0)2 + (0-0)2 + (0.05-0)2 + (0.15-1)2 + (0-0)2 + (0.80-0)2}
도 9의 (b)는 학습 완료 후에 실제로 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 과정을 나타낸 도면이다. 도 9의 (b)에 도시된 바와 같이, 헤어스타일 분류부(133)는, 상기 헤어스타일 추론 모델 저장부(143)에서, 헤어 길이의 카테고리에 대한 학습된 파라미터 값 및 컨볼루션 신경망 모델을 불러와 딥러닝 추론 엔진을 설정하고, 해당 딥러닝 추론 엔진을 통해, 변환 대상의 얼굴 영역 표준화 이미지(930)로부터 해당 이미지의 헤어스타일을 헤어 길이 카테고리에 속하는 6개의 클래스 중 하나로 추론한다. 헤어스타일 분류부(133)는, 각 클래스에 대한 확률값을 산출할 수 있고, 확률값이 가장 높은 클래스를 추론 결과로 출력할 수 있다. 본 실시예에서 '긴머리'로 분류한다.
다시 도 1을 참조하면, 3D 아바타 생성부(134)는, 변환 대상 2D 얼굴 이미지에서 3D 얼굴을 생성하거나, 또는 미리 정의된 3D 얼굴을 생성하고, 상기 헤어스타일 분류부(133)에서 출력된 출력 결과에 따라 3D 데이터 저장부(144)에서 3D 헤어스타일 데이터를 검색한 후, 상기 3D 얼굴에 3D 헤어를 중첩하여 최종적인 3D 아바타를 생성한다. 상기 미리 정의된 3D 얼굴은 미리 정의된 얼굴 메쉬(Face Mesh)일 수 있고, 상기 변환 대상 2D 얼굴 이미지에서 생성된 3D 얼굴은 2D 얼굴 이미지를 통해 재구성된(Recontruction) 얼굴 메쉬(Face Mesh)일 수 있다. 도 10은 본 발명의 일 실시예에 따른 3D 아바타 생성부(134)에서의 처리 과정을 설명하는 도면으로, 헤어스타일 분류부(133)에서 헤어 길이는 '미들헤어'이고, 헤어 종류는 '3:7 내림머리'이며, 헤어 웨이브 유무는 '스트레이트'로 분류한 경우, 3D 아바타 생성부(134)는 도 10의 (a)와 같은 3D 데이터 저장부(144)에서 헤어 길이는 '미들헤어'이고 헤어 종류는 '3:7 내림머리'이며 헤어 웨이브는 '스트레이트'인 3D 헤어스타일을 검색하고(도 10의 (b)), 도 10의 (c)와 같이 3D 헤어스타일을 3D 얼굴에 결합하여 최종적인 3D 아바타를 생성한다.
도 11은 본 발명의 일 실시예에 따른 얼굴 영역 추론 모델을 학습하는 방법을 설명하는 흐름도이다. 도 11을 참조하면, 단계 S1101에서, 3D 아바타를 생성하기 위한 장치는, 얼굴 영역 검출을 위한 학습용 데이터 세트를 수신한다. 상기 얼굴 영역 검출을 위한 학습용 데이터 세트는, 학습용 2D 얼굴 이미지와 학습용 라벨 데이터의 쌍이다. 이때 얼굴 영역 검출을 위한 학습용 라벨 데이터는 포토샵 등 이미지 편집 툴을 이용하여 학습용 2D 얼굴 이미지들의 특징을 기반으로 생성된 데이터로서, 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 이미지 편집 툴을 이용하여 빨간색(픽셀 값 : 255, 0, 0)으로 칠하고, 얼굴 영역이 아닌 부분, 즉 배경은 검은색(픽셀 값 : 0, 0, 0)으로 칠해진다. 본 실시예에서 학습용 2D 얼굴 이미지는 2만장이고 이에 짝이 되는 학습용 라벨 데이터의 개수도 2만장이 입력된다.
단계 S1102에서, 3D 아바타를 생성하기 위한 장치는, 학습용 2D 얼굴 이미지들과 학습용 라벨 데이터를 이용하여 딥러닝 학습을 함으로써, 2D 얼굴 이미지에서 얼굴 영역을 검출하기 위한 얼굴 영역 추론 모델을 생성한다. 얼굴 영역이란 헤어를 포함하는 영역으로서 얼굴 영역 검출이란 픽셀 단위의 영역 분리를 뜻한다. 구체적으로, 장치는 딥러닝 학습 엔진을 통해, 상기 학습용 2D 얼굴 이미지들에서 얼굴 영역을 검출하여 출력 이미지를 생성하고, 그 출력 이미지를 학습용 라벨 데이터와 비교하여 출력 이미지와 학습용 라벨 데이터 간의 오차가 0에 가까워질 때까지 반복적으로 학습을 수행한다. 딥러닝 학습 엔진은 컨볼루션 신경망(CNN : Convolutional Neural Network)을 이용한다. 특히, 컨볼루션 신경망(CNN)을 기반으로 하고 입력된 2D 얼굴 이미지의 크기를 복원하기 위해 디코더(Decoder) 구조를 사용한다. 단계 S1103에서, 3D 아바타를 생성하기 위한 장치는, 학습된 딥러닝 학습 엔진의 파라미터 값(weight, bias)과 컨볼루션 신경망 모델이 계산되어 얼굴 영역 추론 모델로서 얼굴 영역 추론 모델 저장부(141)에 저장한다.
도 12는 본 발명의 일 실시예에 따른 2D 얼굴 이미지로부터 얼굴 영역 표준화 이미지를 생성하는 방법을 설명하는 흐름도이다. 도 12를 참조하면, 단계 S1201에서, 3D 아바타를 생성하기 위한 장치는, 실제 3D 아바타를 생성하기 위한 변환 대상인 2D 얼굴 이미지를 수신한다. 단계 S1202에서, 3D 아바타를 생성하기 위한 장치는, 도 11을 참조하여 설명한 방법을 통해 학습되어 생성된 얼굴 영역 추론 모델을 이용하여, 상기 변환 대상인 2D 얼굴 이미지에서 얼굴 영역을 검출하여 얼굴 영역 검출 이미지를 생성한다. 즉, 미리 학습된 파라미터 값(weight, bias)과 컨볼루션 신경망 모델을 포함하는 얼굴 영역 추론 모델을 얼굴 영역 추론 모델 저장부(141)에서 불러와 이용한다. 단계 S1203에서, 3D 아바타를 생성하기 위한 장치는, 얼굴 영역 검출 이미지에서 얼굴의 각도를 조정하여 얼굴을 똑바로 된 상태로 정렬한 후 헤어를 포함한 얼굴 부분을 추출하고 그 추출한 얼굴 부분의 이미지의 크기를 조정하여 얼굴 영역 표준화 이미지를 생성한다.
도 13은 본 발명의 일 실시예에 따른 헤어스타일 추론 모델을 학습하는 방법을 설명하는 흐름도이다. 도 13을 참조하면, 단계 S1301에서, 3D 아바타를 생성하기 위한 장치는, 헤어스타일 분류를 위한 학습용 데이터 세트를 수신한다. 즉, 학습용 얼굴 영역 표준화 이미지 또는 헤어 분할 이미지와 이들의 학습용 라벨 데이터의 쌍이다. 얼굴 영역 표준화 이미지는 도 12의 방법에 따라 만들어진 이미지들이고, 헤어 분할 이미지는 얼굴 영역 표준화 이미지에서 헤어 부분만을 남기고 나머지는 하얀색으로 처리한 이미지이다. 이때의 학습용 라벨 데이터는, 대머리, 스포츠헤어, 숏헤어 등과 같은 텍스트일 수 있다.
단계 S1302에서, 3D 아바타를 생성하기 위한 장치는, 학습용 얼굴 영역 표준화 이미지 또는 헤어 분할 이미지들과, 학습용 라벨 데이터를 이용하여, 딥러닝 학습을 함으로써, 헤어스타일을 분류하기 위한 헤어스타일 추론 모델을 생성한다. 헤어스타일의 카테고리를 3개로 정의할 수 있고, 각각의 카테고리는 복수의 클래스들로 정의할 수 있다. 즉, 헤어스타일의 카테고리는 헤어 길이, 헤어 종류, 헤어 웨이브 유무로 정의할 수 있고, 각 카테고리마다 복수의 클래스들을 정의할 수 있다. 헤어 길이와 헤어 종류는, 얼굴 대비 헤어 길이의 비율을 정확하게 알아야 하기 때문에, 얼굴을 모두 포함하는 얼굴 영역 표준화 이미지를 이용하여 학습을 하고, 헤어 웨이브 유무를 판단하는데 있어서는 얼굴이 크게 중요하지 않고 오히려 얼굴이 있으면 얼굴의 크기 등에 의해 학습이 제대로 안 될 수 있어, 헤어 웨이브 유무를 학습하는데 있어서는 헤어 분할 이미지를 이용한다. 본 실시예에서 학습용 데이터 쌍의 개수는 각 클래스별로 1,000개이다. 예를 들어, 헤어 길이에 대한 클래스의 개수는 6개(대머리, 스포츠헤어, 숏헤어, 단발머리, 미들헤어, 긴머리)이고, 각 클래스별로 얼굴 영역 표준화 이미지 1,000장과 이에 쌍이 되는 학습용 라벨 데이터는 1,000개이다. 3D 아바타를 생성하기 위한 장치는 딥러닝 학습 엔진을 통해 각 카테고리별로 학습을 하고, 단계 S1303에서 각 카테고리별로 학습된 파라미터 값과 컨볼루션 신경망(CNN) 모델을 헤어스타일 추론 모델 저장부(143)에 저장한다.
도 14는 본 발명의 일 실시예에 따른 2D 얼굴 이미지로부터 3D 아바타를 생성하는 방법을 설명하는 흐름도이다.
도 14를 참조하면, 단계 S1401에서, 3D 아바타를 생성하기 위한 장치는, 변환 대상인 2D 얼굴 이미지를 수신한다. 단계 S1402에서, 3D 아바타를 생성하기 위한 장치는, 상기 2D 얼굴 이미지로부터 얼굴 영역 검출 이미지를 생성한다. 구체적으로, 얼굴 영역 추론 모델 저장부(141)에 저장된 파라미터 및 신경망 모델을 이용하여 딥러닝 추론 엔진을 통해 얼굴 영역 검출 이미지를 생성한다.
단계 S1403에서, 3D 아바타를 생성하기 위한 장치는, 상기 얼굴 영역 검출 이미지로부터 얼굴 영역 표준화 이미지를 생성한다. 즉, 얼굴 영역 검출 이미지에서 얼굴의 각도를 조정하여 얼굴을 똑바로 된 상태로 정렬한 후 헤어를 포함한 얼굴 부분을 추출하고 그 추출한 얼굴 부분의 이미지의 크기를 조정하여 얼굴 영역 표준화 이미지를 생성한다.
단계 S1404에서, 3D 아바타를 생성하기 위한 장치는, 도 13을 참조하여 설명한 방법으로 학습된 헤어스타일 추론 모델을 이용하여 딥러닝 추론 엔진을 통해 상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류한다. 즉, 헤어스타일 추론 모델 저장부(143)에서, 각 카테고리별로 학습된 파라미터 값 및 컨볼루션 신경망 모델을 불러와 딥러닝 추론 엔진을 설정하고, 해당 딥러닝 추론 엔진을 통해, 상기 얼굴 영역 표준화 이미지를 각 카테고리별 클래스들 중 어느 클래스에 속하는지 분석하여 그 결과를 출력한다. 바람직하게, 각 카테고리별로 각 클래스에 대한 확률값을 산출할 수 있고, 확률값이 가장 높은 클래스를 추론 결과로 출력할 수 있다.
단계 S1405에서, 3D 아바타를 생성하기 위한 장치는, 2D 얼굴 이미지에서 3D 얼굴을 생성하거나, 또는 미리 정의된 3D 얼굴을 생성하고, 상기 단계 S1404에서 출력 결과에 따라 3D 데이터 저장부(144)에서 3D 헤어스타일 데이터를 검색한 후, 상기 3D 얼굴에 3D 헤어를 중첩하여 최종적인 3D 아바타를 생성한다. 상기 미리 정의된 3D 얼굴은 미리 정의된 얼굴 메쉬(Face Mesh)일 수 있고, 상기 변환 대상 2D 얼굴 이미지에서 생성된 3D 얼굴은 2D 얼굴 이미지를 통해 재구성된(Recontruction) 얼굴 메쉬(Face Mesh)일 수 있다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
110 : 입력부
120 : 출력부
130 : 제어부
131 : 얼굴 영역 검출부
132 : 얼굴 영역 표준화부
133 : 헤어스타일 분류부
134 : 3D 아바타 생성부
140 : 저장부
141 : 얼굴 영역 추론 모델 저장부
142 : 얼굴 특징점 추론 모델 저장부
143 : 헤어스타일 추론 모델 저장부
144 : 3D 데이터 저장부
200, 300 : 2D 얼굴 이미지
210 : 딥러닝 학습 엔진
310 : 딥러닝 추론 엔진

Claims (19)

  1. 3D 아바타를 생성하는 장치에 있어서,
    변환 대상 2D 얼굴 이미지에서 헤어를 포함한 얼굴을 검출하여 얼굴 영역 검출 이미지를 생성하는 얼굴 영역 검출부;
    상기 얼굴 영역 검출 이미지를 정렬하고 정렬된 상기 얼굴 영역 검출 이미지로부터 헤어를 포함한 얼굴 부분을 추출하여 얼굴 영역 표준화 이미지를 생성하는 얼굴 영역 표준화부;
    상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 헤어스타일 분류부; 및
    상기 분류된 헤어스타일에 대응하는 3D 헤어스타일 데이터를 3D 얼굴에 중첩하여 3D 아바타를 생성하는 3D 아바타 생성부를 포함하는 장치.
  2. 제 1 항에 있어서,
    상기 얼굴 영역 검출부는,
    상기 변환 대상 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 제 1 색으로 표현하고 배경은 제 2 색으로 표현한 제 1 출력 이미지를 생성하고, 상기 제 1 출력 이미지를 이용하여 상기 2D 얼굴 이미지에서 헤어를 포함한 얼굴을 검출하는 것을 특징으로 하는 장치.
  3. 제 2 항에 있어서,
    상기 얼굴 영역 검출부는,
    상기 제 1 출력 이미지의 상기 2 색으로 표현된 픽셀에 대응하는 상기 변환 대상 2D 얼굴 이미지의 픽셀을 하얀색으로 변경하여 상기 얼굴 영역 검출 이미지를 생성하는 것을 특징으로 하는 장치.
  4. 제 3 항에 있어서,
    상기 얼굴 영역 검출부는,
    학습용 2D 얼굴 이미지와 학습용 라벨 데이터의 쌍을 이용하여 상기 제 1 출력 이미지를 생성하는 얼굴 영역 추론 모델을 학습하고,
    상기 얼굴 영역 추론 모델을 이용하여 상기 변환 대상 2D 얼굴 이미지로부터 상기 제 1 출력 이미지를 생성하며,
    상기 학습용 라벨 데이터는, 상기 학습용 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 상기 제 1 색으로 표현하고 배경은 상기 제 2 색으로 표현한 것을 특징으로 하는 장치.
  5. 제 1 항에 있어서,
    상기 얼굴 영역 표준화부는,
    상기 얼굴 영역 검출 이미지에서 두 눈의 위치 정보를 기반으로 상기 얼굴 영역 검출 이미지를 회전하여 정렬하는 것을 특징으로 하는 장치.
  6. 제 5 항에 있어서,
    상기 얼굴 영역 표준화부는,
    상기 정렬된 얼굴 영역 검출 이미지에서, 헤어를 포함한 얼굴 부분의 높이의 최소 좌표값 및 최대 좌표값과, 헤어를 포함한 얼굴 부분의 폭의 최소 좌표값 및 최대 좌표값을 추출한 후, 상기 높이의 최소 좌표값 및 최대 좌표값과, 상기 폭의 최소 좌표값 및 최대 좌표값이 규정하는 사각형 영역을, 상기 얼굴 영역 표준화 이미지로 생성하는 것을 특징으로 하는 장치.
  7. 제 1 항에 있어서,
    상기 헤어스타일 분류부는,
    학습용 이미지와 학습용 라벨 데이터의 쌍을 이용하여 상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 헤어스타일 추론 모델을 학습하는 것을 특징으로 하는 장치.
  8. 제 7 항에 있어서,
    상기 학습용 이미지는,
    학습용 얼굴 영역 표준화 이미지와, 헤어만을 포함하는 헤어 분할 이미지를 포함하는 것을 특징으로 하는 장치.
  9. 제 7 항에 있어서,
    상기 헤어스타일 분류부는,
    각각 복수의 클래스를 포함하는 복수의 카테고리 각각마다 상기 헤어스타일 추론 모델을 학습하는 것을 특징으로 하는 장치.
  10. 3D 아바타를 생성하는 방법에 있어서,
    변환 대상 2D 얼굴 이미지에서 헤어를 포함한 얼굴을 검출하여 얼굴 영역 검출 이미지를 생성하는 단계;
    상기 얼굴 영역 검출 이미지를 정렬하고 정렬된 상기 얼굴 영역 검출 이미지로부터 헤어를 포함한 얼굴 부분을 추출하여 얼굴 영역 표준화 이미지를 생성하는 단계;
    상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 단계; 및
    상기 분류된 헤어스타일에 대응하는 3D 헤어스타일 데이터를 3D 얼굴에 중첩하여 3D 아바타를 생성하는 단계를 포함하는 방법.
  11. 제 10 항에 있어서,
    상기 얼굴 영역 검출 이미지를 생성하는 단계는,
    상기 변환 대상 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 제 1 색으로 표현하고 배경은 제 2 색으로 표현한 제 1 출력 이미지를 생성하고, 상기 제 1 출력 이미지를 이용하여 상기 2D 얼굴 이미지에서 헤어를 포함한 얼굴을 검출하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서,
    상기 얼굴 영역 검출 이미지를 생성하는 단계는,
    상기 제 1 출력 이미지의 상기 2 색으로 표현된 픽셀에 대응하는 상기 변환 대상 2D 얼굴 이미지의 픽셀을 하얀색으로 변경하여 상기 얼굴 영역 검출 이미지를 생성하는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서,
    상기 얼굴 영역 검출 이미지를 생성하는 단계는,
    학습용 2D 얼굴 이미지와 학습용 라벨 데이터의 쌍을 이용하여 상기 제 1 출력 이미지를 생성하는 얼굴 영역 추론 모델을 학습하고,
    상기 얼굴 영역 추론 모델을 이용하여 상기 변환 대상 2D 얼굴 이미지로부터 상기 제 1 출력 이미지를 생성하며,
    상기 학습용 라벨 데이터는, 상기 학습용 2D 얼굴 이미지에서 헤어를 포함한 얼굴 영역을 상기 제 1 색으로 표현하고 배경은 상기 제 2 색으로 표현한 것을 특징으로 하는 방법.
  14. 제 10 항에 있어서,
    상기 얼굴 영역 표준화 이미지를 생성하는 단계는,
    상기 얼굴 영역 검출 이미지에서 두 눈의 위치 정보를 기반으로 상기 얼굴 영역 검출 이미지를 회전하여 정렬하는 것을 특징으로 하는 방법.
  15. 제 14 항에 있어서,
    상기 얼굴 영역 표준화 이미지를 생성하는 단계는,
    상기 정렬된 얼굴 영역 검출 이미지에서, 헤어를 포함한 얼굴 부분의 높이의 최소 좌표값 및 최대 좌표값과, 헤어를 포함한 얼굴 부분의 폭의 최소 좌표값 및 최대 좌표값을 추출한 후, 상기 높이의 최소 좌표값 및 최대 좌표값과, 상기 폭의 최소 좌표값 및 최대 좌표값이 규정하는 사각형 영역을, 상기 얼굴 영역 표준화 이미지로 생성하는 것을 특징으로 하는 방법.
  16. 제 10 항에 있어서,
    상기 헤어스타일을 분류하는 단계는,
    학습용 이미지와 학습용 라벨 데이터의 쌍을 이용하여 상기 얼굴 영역 표준화 이미지로부터 헤어스타일을 분류하는 헤어스타일 추론 모델을 학습하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서,
    상기 학습용 이미지는,
    학습용 얼굴 영역 표준화 이미지와, 헤어만을 포함하는 헤어 분할 이미지를 포함하는 것을 특징으로 하는 방법.
  18. 제 16 항에 있어서,
    상기 학습하는 단계는,
    각각 복수의 클래스를 포함하는 복수의 카테고리 각각마다 상기 헤어스타일 추론 모델을 학습하는 것을 특징으로 하는 방법.
  19. 제 10 항 내지 제 18 항 중 어느 한 항에 따른 방법을 컴퓨터 시스템을 통해 실행하는 컴퓨터 프로그램으로서 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
KR1020190107420A 2019-08-30 2019-08-30 헤어스타일 분석을 통한 3d 아바타를 생성하는 방법 및 장치 KR20210026521A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190107420A KR20210026521A (ko) 2019-08-30 2019-08-30 헤어스타일 분석을 통한 3d 아바타를 생성하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190107420A KR20210026521A (ko) 2019-08-30 2019-08-30 헤어스타일 분석을 통한 3d 아바타를 생성하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210026521A true KR20210026521A (ko) 2021-03-10

Family

ID=75148300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190107420A KR20210026521A (ko) 2019-08-30 2019-08-30 헤어스타일 분석을 통한 3d 아바타를 생성하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20210026521A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102435817B1 (ko) 2021-10-20 2022-08-24 문현숙 고객 맞춤형 헤어스타일 컨설팅 시스템 및 방법
KR20230039491A (ko) * 2021-09-13 2023-03-21 주식회사 미러로이드 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치 및 방법, 및 이를 이용한 헤어 스타일링 가상 체험 장치 및 방법
WO2023075508A1 (ko) * 2021-10-29 2023-05-04 삼성전자주식회사 전자 장치 및 그 제어 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230039491A (ko) * 2021-09-13 2023-03-21 주식회사 미러로이드 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치 및 방법, 및 이를 이용한 헤어 스타일링 가상 체험 장치 및 방법
KR102435817B1 (ko) 2021-10-20 2022-08-24 문현숙 고객 맞춤형 헤어스타일 컨설팅 시스템 및 방법
WO2023075508A1 (ko) * 2021-10-29 2023-05-04 삼성전자주식회사 전자 장치 및 그 제어 방법

Similar Documents

Publication Publication Date Title
US10354362B2 (en) Methods and software for detecting objects in images using a multiscale fast region-based convolutional neural network
CN109325437B (zh) 图像处理方法、装置和系统
CN110785767B (zh) 紧凑的无语言面部表情嵌入和新颖三元组的训练方案
US20210174072A1 (en) Microexpression-based image recognition method and apparatus, and related device
EP3388978B1 (en) Image classification method, electronic device, and storage medium
WO2017193906A1 (zh) 一种图像处理方法及处理系统
JP6207210B2 (ja) 情報処理装置およびその方法
KR20210026521A (ko) 헤어스타일 분석을 통한 3d 아바타를 생성하는 방법 및 장치
US11282257B2 (en) Pose selection and animation of characters using video data and training techniques
Yang et al. Facial expression recognition based on dual-feature fusion and improved random forest classifier
CN113850168A (zh) 人脸图片的融合方法、装置、设备及存储介质
KR102229061B1 (ko) 표정 인식 모델 생성 장치 및 방법, 및 이를 이용한 표정 인식 장치 및 방법
KR20190130179A (ko) 미세한 표정변화 검출을 위한 2차원 랜드마크 기반 특징점 합성 및 표정 세기 검출 방법
Zhang et al. Facial component-landmark detection with weakly-supervised lr-cnn
CN115862120B (zh) 可分离变分自编码器解耦的面部动作单元识别方法及设备
US11361467B2 (en) Pose selection and animation of characters using video data and training techniques
KR102160955B1 (ko) 딥 러닝 기반 3d 데이터 생성 방법 및 장치
Zeng et al. Video‐driven state‐aware facial animation
Costigan et al. Facial retargeting using neural networks
CN114862716A (zh) 人脸图像的图像增强方法、装置、设备及存储介质
Goenetxea Imaz et al. Efficient multi-task based facial landmark and gesture detection in monocular images
Moreira et al. Fast and accurate gesture recognition based on motion shapes
US20240161540A1 (en) Flexible landmark detection
US20240037870A1 (en) Methods and apparatus for determining and using controllable directions of gan space
US20230260184A1 (en) Facial expression identification and retargeting to an avatar

Legal Events

Date Code Title Description
A201 Request for examination