KR20230110787A - 개인화된 3d 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들 - Google Patents

개인화된 3d 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들 Download PDF

Info

Publication number
KR20230110787A
KR20230110787A KR1020237021372A KR20237021372A KR20230110787A KR 20230110787 A KR20230110787 A KR 20230110787A KR 1020237021372 A KR1020237021372 A KR 1020237021372A KR 20237021372 A KR20237021372 A KR 20237021372A KR 20230110787 A KR20230110787 A KR 20230110787A
Authority
KR
South Korea
Prior art keywords
keypoints
face
avatar
facial
target
Prior art date
Application number
KR1020237021372A
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 텐센트 아메리카 엘엘씨
Publication of KR20230110787A publication Critical patent/KR20230110787A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • 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
    • 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
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • 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
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

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

Abstract

전자 장치가 대상(예로서, 실제 사람)의 2D(two-dimensional) 얼굴 이미지를 이용하여 아바타의 표준 얼굴을 맞춤화하는 방법을 수행하며, 방법은: 2D 얼굴 이미지에서 대상 키포인트들의 세트를 식별하는 단계; 대상 키포인트들의 세트를 아바타와 연관된 아바타 키포인트들의 세트가 되도록 변환하는 단계; 아바타 키포인트들의 세트에 K2P(keypoint-to-parameter) 신경망 모델을 적용함으로써 표준 얼굴에 대한 얼굴 제어 파라미터들의 세트를 생성하는 단계 - 얼굴 제어 파라미터들의 세트는 표준 얼굴의 복수의 얼굴 특징 중 하나에 각각 관련됨 -; 및 얼굴 제어 파라미터들의 세트를 표준 얼굴에 적용함으로써 표준 얼굴의 복수의 얼굴 특징을 조정하는 단계 - 아바타의 조정된 표준 얼굴은 대상의 2D 얼굴 이미지의 얼굴 특징들을 가짐 - 를 포함한다.

Description

개인화된 3D 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들
[관련 출원들에 대한 상호 참조]
본 출원은 2021년 3월 15일자로 출원된, 발명의 명칭이 "METHODS AND SYSTEMS FOR FORMING PERSONALIZED 3D HEAD AND FACIAL MODELS"인 미국 특허 출원 제17/202,121호(참조 문헌으로서 그 전체 내용이 본 명세서에 포함됨)에 대한 계속 출원이고 그를 기초로 우선권을 주장한다.
[기술 분야]
본 개시내용은 일반적으로 이미지 기술에 관한 것으로, 특히, 이미지 처리 및 머리/얼굴 모델 형성 방법들 및 시스템들에 관한 것이다.
명시적 마커들을 갖거나 갖지 않는 사람에 대한 정확한 3차원(3D) 얼굴 모델을 획득하기 위해 다중의 센서(예를 들어, 멀티뷰 카메라, 깊이 센서들 등)를 갖는 상업용 얼굴 캡처링 시스템들이 사용된다. 이러한 도구들은 다중의 센서로부터 인간 얼굴의 기하 구조 및 텍스처 정보를 캡처하고, 멀티모달(multi-modal) 정보를 일반적인 3D 얼굴 모델에 융합시킨다. 다양한 센서들로부터의 멀티모달 정보로부터 이익을 얻으면, 획득된 3D 얼굴 모델은 정확하다. 그러나, 이러한 상업적 시스템들은 고가이며, 원시 데이터를 처리하기 위해 추가적인 소프트웨어 구매가 필요하다. 또한, 이러한 시스템들은 보통은 얼굴 캡처링 스튜디오에 배치되고, 데이터를 취득하기 위해 배우 또는 지원자가 필요하며, 이는 데이터 수집 프로세스를 시간 소모적이고 훨씬 더 비용이 많이 들게 한다. 요약하면, 얼굴 캡처링 시스템들은 3D 얼굴 데이터를 취득하기 위해 비용이 많이 들고 시간 소모적이다. 반대로, 스마트폰 또는 카메라는 오늘날 널리 이용 가능하고, 따라서 잠재적으로 이용가능한 많은 양의 RGB(적색, 녹색, 청색) 이미지들이 있다. RGB 이미지들을 입력으로서 취하여 3D 얼굴 모델을 생성하는 것은 많은 양의 이미지 데이터로부터 이익을 얻을 수 있다.
2차원(2D) RGB 이미지는 단지 3D 세계의 2D 평면으로의 투영이다. 2D 이미지로부터 3D 기하구조를 복원하는 것은 재구성 프로세스를 정규화하기 위해 최적화 또는 학습 알고리즘들을 요구하게 되는 잘못 제기된 과제이다. 3D 얼굴 재구성을 위해, 파라미터화된 얼굴 모델 3DMM(3D Morphable Model) 기반 방법이 개발되고 사용되고 있다. 특히, BFM(Basel Face Model) 및 SFM(Surrey Face Model)과 같은 얼굴 모델들은 상업적 라이센싱을 요구하는, 흔히 사용되는 얼굴 모델들이다. 얼굴 모델 기반 방법들은 (다양한 얼굴 특징들 및 표정들을 드러내는) 스캐닝된 3D 인간 얼굴 모델들의 세트를 그들의 기초로서 취하고, 그 후 3D 얼굴 모델들에 기초하여 얼굴 특징들 및 표정의 파라미터화된 표현들을 산출한다. 새로운 3D 얼굴은 파라미터화에 기초하여 기저 3D 얼굴 모델들의 선형 조합으로서 표현될 수 있다. 이러한 방법들의 성질로 인해, 기저 및 파라미터 공간을 형성하기 위해 사용되는 3D 얼굴 모델들은 얼굴 모델 기반 방법들의 표현성을 제한한다. 또한, 입력 얼굴 이미지 또는 2D 랜드마크들로부터 3DMM 파라미터들을 맞추어 주는 최적화 프로세스는 얼굴 이미지 내의 상세한 얼굴 특징들을 더 희생시킨다. 따라서, 얼굴 모델 기반 방법들은 3D 얼굴 특징들을 정확하게 복구할 수 없고, BFM 및 SFM과 같은 얼굴 모델들을 사용하기 위해 상업적 라이센싱이 필요하다.
딥 러닝 알고리즘의 대중화에 따라, 시맨틱 세그먼트화 알고리즘(semantic segmentation algorithm)들이 많은 관심을 받고 있다. 그러한 알고리즘들은 얼굴 이미지 내의 각각의 픽셀을 배경, 피부, 모발, 눈, 코, 및 입과 같은 상이한 카테고리들로 분할할 수 있다.
시매틱 세그먼트화 방법이 비교적 정확한 결과들을 달성할 수 있지만, 모든 픽셀들의 시맨틱 세그먼트화는 매우 복잡한 문제이며, 이는 종종 복잡한 네트워크 구조를 요구하여, 높은 계산 복잡도를 초래한다. 또한, 시맨틱 세그먼트화 네트워크를 훈련하기 위해, 다량의 훈련 데이터가 라벨링될 필요가 있고, 시맨틱 세그먼트화는 전체 이미지의 픽셀들을 분할할 필요가 있는데, 이는 매우 지루하고, 시간 소모적이며, 비용이 많이 든다. 따라서, 이것은 높은 평균 색 정확도를 요구하지 않지만 높은 효율을 요구하는 장면들에 대해 적합하지 않다.
라플라시안(Laplacian) 및 다른 도출된 연산자들을 최적화하는 키포인트 주도 변형 방법(keypoint-driven deformation method)들이 학계에서 잘 연구되고 있다. 쌍조화 변형(Biharmonic deformation)의 수학식은 으로서 표시될 수 있다. 제약된 키포인트들, 즉 경계 조건들은 로서 표현될 수 있다. 상기 수학식들에서, 는 라플라시안 연산자이고, x'는 알려지지 않은 변형된 메시 정점(mesh vertice)들의 위치들이고, 는 변형 후의 주어진 키포인트들의 위치들이다. 바이-라플라스 방정식(bi-Laplace equation)들의 해는 각각의 차원에서 필요하다. 쌍조화 함수들은 바이-라플라스 방정식들에 대한 해들이지만, 또한 소위 "라플라시안 에너지"의 최소화기(minimizer)들이다.
에너지 최소화의 성질은 메시의 평활화이다. 앞서 언급한 최소화기를 직접 적용하는 경우, 모든 상세한 특징들은 평활화될 것이다. 게다가, 키포인트들의 위치들이 변경되지 않은 채로 유지될 때, 변형된 메시는 원래의 메시와 정확히 동일할 것으로 예상된다. 이러한 고려사항들 중에서, 쌍조화 변형의 바람직한 사용법은 그들의 위치들 이외의 정점들의 변위를 푸는 것이다. 이러한 방식으로, 변형된 위치들은 x'=x+d로서 기록될 수 있으며, 여기서 d는 각각의 차원에서의 알려지지 않은 정점들의 변위이다. 당연히, 쌍조화 변형의 방정식들은 를 겪은 이 되고, 여기서 는 변형 후의 키포인트들의 변위들이다.
게임 산업의 급속한 발전으로, 맞춤화된 얼굴 아바타 생성이 점점 더 대중화되고 있다. 예술적 스킬을 갖지 않는 통상의 플레이어의 경우, 미묘한 변화들을 기술할 수 있는 얼굴을 생성하기 위해 제어 파라미터들을 튜닝하는 것은 매우 어렵다.
정의 얼굴 생성 시스템(Justice Face Generation System)과 같은 일부 기존의 얼굴 생성 시스템 및 방법에서, 얼굴 모델의 예측은, 사진에서의 눈썹들, 입, 코 및 다른 픽셀들의 세그먼트화와 같은, 이미지에서의 2D 정보를 예측하는 것이다. 이러한 2D 세그먼트화들은 면외 회전(out-of-plane rotation) 및 부분 폐색(partial occlusion)에 의해 쉽게 영향을 받고, 정면 얼굴이 기본적으로 요구된다. 또한, 최종 게임 얼굴 아바타와 입력의 유사성이 얼굴 인식 시스템에 의해 결정되기 때문에, 이는 이 방법을 실제 스타일 게임들만으로 제한한다. 게임의 스타일이 실제 얼굴과 상당히 다른 만화 스타일인 경우, 이 방법은 이용될 수 없다.
문라이트 블레이드 얼굴 생성 시스템(Moonlight Blade Face Generation System)과 같은 몇몇 다른 기존의 얼굴 생성 시스템 및 방법에서, 실제 얼굴은 입력 이미지로부터 재구성된다. 이 방법은 실제 스타일 게임들에 제한되고 만화 스타일 게임들에 적용될 수 없다. 둘째, 이 방법의 출력 파라미터는 재구성된 게임 스타일 얼굴 메시이고, 그 후 메시의 각각의 부분에 대해 템플릿 매칭이 수행된다. 이러한 접근법은 상이한 얼굴 부분들의 조합들을 제한한다. 게임 얼굴들의 전체적 다양성은 미리 생성된 템플릿들의 수와 밀접하게 관련된다. 입 형상과 같은 특정 부분이 적은 수의 템플릿을 갖는 경우, 이는 소수의 상이한 변화를 산출하여, 생성된 얼굴의 다양성이 결여되게 만든다.
학습 기반 얼굴 재구성 및 키포인트 검출 방법들은 실측 정보(ground-truth)에 가능한 한 가깝게 근사화하는 모델들을 훈련하기 위해 최고 기준으로서 3D 실측 정보 데이터에 의존한다. 따라서, 3D 실측 정보는 학습 기반 접근법들의 상한을 결정한다. 얼굴 재구성 및 바람직한 키포인트 검출의 정확성을 보장하기 위해, 일부 실시예들에서, 값비싼 얼굴 캡처링 시스템을 사용하지 않고서 3D 얼굴 모델의 실측 정보를 생성하기 위해 2D 얼굴 키포인트 주석(annotation)이 사용된다. 본 명세서에 개시된 접근법은 입력 이미지의 상세한 얼굴 특징들을 보존하고, 얼굴 특징들을 손실하는 3DMM 기반 방법들과 같은 기존의 얼굴 모델들의 단점들을 극복하고, 또한 몇몇 기존의 얼굴 모델 기반 방법들에 의해 요구되는 BFM 및 SFM(둘 다에 대해 상업적 라이센싱이 필요함)과 같은 파라미터화된 얼굴 모델들의 사용을 회피하는 3D 실측 정보 얼굴 모델을 생성한다.
얼굴 키포인트 검출과는 별개로, 일부 실시예들에서, 얼굴 특징 분류 태스크들에 대해 멀티태스크 학습 및 전이 학습(transfer learning) 솔루션들이 구현되어 입력 얼굴 이미지로부터 더 많은 정보가 추출될 수 있도록 하는데, 이는 키포인트 정보에 보완적이다. 예측된 얼굴 특징들을 갖는 검출된 얼굴 키포인트들은 함께, 플레이어들의 얼굴 아바타를 생성하는 데에 컴퓨터 또는 모바일 게임에게 귀중하다.
일부 실시예들에서, 피부, 눈썹, 동공, 입술, 모발, 및 아이섀도우의 평균 색들을 포함하여, 단일 사진으로부터 인간 얼굴의 각각의 부분의 평균 색을 추출하기 위한 경량 방법이 본 명세서에 개시된다. 동시에, 알고리즘이 또한 평균 색에 기초하여 텍스처 맵을 자동으로 변환하기 위해 사용되어, 변환된 텍스처가 여전히 원래의 밝기 및 색 차이들을 갖지만 주(main) 색이 타깃 색이 되도록 한다.
컴퓨터 비전 및 인공 지능(AI) 기법들의 급속한 발전으로, 3D 인간 얼굴 키포인트들의 캡처링 및 재구성이 높은 정밀도 레벨을 달성하였다. 점점 더 많은 게임들이 게임 캐릭터들을 더 생생하게 하기 위해 AI 검출들을 이용하고 있다. 본 명세서에 개시된 방법 및 시스템은 재구성된 3D 키포인트들에 기초하여 3D 머리 아바타들을 맞춤화한다. 일반적인 키포인트 주도 변형이 임의의 메시들에 적용가능하다. 본 명세서에서 제안된 머리 아바타 맞춤화 및 변형 방법의 프로세스는 자동 아바타 생성 및 표정 재발생과 같은 시나리오들에서 그들의 응용을 찾을 수 있다.
단일 사진에 기초하여 게임에서 얼굴 아바타를 자동으로 생성하는 방법 및 시스템이 본 명세서에 개시된다. 얼굴 키포인트들의 예측, 키포인트들의 자동 처리, 및 모델 파라미터들을 예측하기 위한 딥 러닝 방법들의 사용을 통해, 본 명세서에 개시된 시스템은 게임에서 얼굴 아바타를 자동으로 생성하여, 이것이 1) 사진에서의 실제 얼굴의 특성들을 갖고; 2) 타깃 게임 스타일에 따르게 할 수 있다. 이 시스템은 실제 스타일 게임들 및 만화 스타일 게임들에 대한 얼굴 생성에 동시에 적용될 수 있고, 상이한 게임 모델들 또는 뼈 정의(bone definition)들에 따라 자동으로 쉽게 조정될 수 있다.
본 출원의 제1 양태에 따르면, 대상의 2차원(2D) 얼굴 이미지로부터 얼굴 위치 맵을 구성하는 방법은: 2D 얼굴 이미지로부터 거친 얼굴 위치 맵(coarse facial position map)을 생성하는 단계; 거친 얼굴 위치 맵에 기초하여 2D 얼굴 이미지에서 제1 세트의 키포인트들을 예측하는 단계; 사용자 제공 키포인트 주석들에 기초하여 2D 얼굴 이미지에서 제2 세트의 키포인트들을 식별하는 단계; 및 2D 얼굴 이미지에서 제1 세트의 키 포인트들과 제2 세트의 키 포인트들 사이의 차이들을 감소시키도록 거친 얼굴 위치 맵을 업데이트하는 단계를 포함한다.
일부 실시예들에서, 실제 사람의 2D 얼굴 이미지로부터 얼굴 위치 맵을 구성하는 방법은 업데이트된 얼굴 위치 맵에 기초하여 제3 세트의 키포인트들을 최종 세트의 키포인트들로서 추출하는 단계를 추가로 포함하고, 제3 세트의 키포인트들은 얼굴 위치 맵에서 제1 세트의 키포인트들과 동일한 로케이션을 갖는다.
일부 실시예들에서, 실제 사람의 2D 얼굴 이미지로부터 얼굴 위치 맵을 구성하는 방법은 업데이트된 얼굴 위치 맵에 기초하여 실제 사람의 3차원(3D) 얼굴 모델을 재구성하는 단계를 추가로 포함한다.
본 출원의 제2 양태에 따르면, 대상의 2D(two-dimensional) 얼굴 이미지로부터 색을 추출하는 방법은: 키포인트 예측 모델에 기초하여 2D 얼굴 이미지에서 복수의 키포인트를 식별하는 단계; 식별된 복수의 키포인트로부터의 복수의 타깃 키포인트가 표준 얼굴의 대응하는 타깃 키포인트들과 정렬될 때까지 2D 얼굴 이미지를 회전시키는 단계; 회전된 2D 얼굴 이미지에서 복수의 부분의 위치를 찾는 단계 - 각각의 부분은 식별된 복수의 키포인트의 각자의 서브세트에 의해 정의됨 -; 2D 얼굴 이미지의 픽셀 값들로부터, 키포인트들의 대응하는 서브세트에 의해 정의된 복수의 부분 각각에 대한 색을 추출하는 단계; 및 2D 얼굴 이미지에서의 복수의 부분으로부터 추출된 색들을 사용하여 2D 얼굴 이미지의 각자의 얼굴 특징 색들과 매칭되는 대상의 3D(three-dimensional) 모델을 생성하는 단계를 포함한다.
본 출원의 제3 양태에 따르면, 3차원(3D) 머리 변형 모델을 생성하는 방법은: 2차원(2D) 얼굴 이미지를 수신하는 단계; 인공 지능(AI) 모델들에 기초하여 2D 얼굴 이미지에서 제1 세트의 키포인트들을 식별하는 단계; 3D 머리 템플릿 모델의 메시의 복수의 정점 상에 위치하는 사용자 제공 키포인트 주석들의 세트에 기초하여 제1 세트의 키포인트들을 제2 세트의 키포인트들에 매핑하는 단계; 3D 머리 템플릿 모델의 메시에 대해 변형을 수행하여 제1 세트의 키포인트들과 제2 세트의 키포인트들 사이의 차이들을 감소시킴으로써 변형된 3D 머리 메시 모델을 획득하는 단계; 및 변형된 3D 머리 메시 모델에 블렌드 셰이프(blendshape) 방법을 적용하여 2D 얼굴 이미지에 따라 개인화된 머리 모델을 획득하는 단계를 포함한다.
본 출원의 제4 양태에 따르면, 대상의 2차원(2D) 얼굴 이미지를 이용하여 아바타의 표준 얼굴을 맞춤화하는 방법이 제공되고, 방법은: 2D 얼굴 이미지에서 대상 키포인트들의 세트를 식별하는 단계; 대상 키포인트들의 세트를 아바타와 연관된 아바타 키포인트들의 세트가 되도록 변환하는 단계; 아바타 키포인트들의 세트에 K2P(keypoint-to-parameter) 신경망 모델을 적용함으로써 표준 얼굴에 대한 얼굴 제어 파라미터들의 세트를 생성하는 단계 - 얼굴 제어 파라미터들의 세트는 표준 얼굴의 복수의 얼굴 특징 중 하나에 각각 관련됨 -; 및 얼굴 제어 파라미터들의 세트를 표준 얼굴에 적용함으로써 표준 얼굴의 복수의 얼굴 특징을 조정하는 단계 - 아바타의 조정된 표준 얼굴은 대상의 2D 얼굴 이미지의 얼굴 특징들을 가짐 - 를 포함한다.
본 출원의 제5 양태에 따르면, 전자 장치가 하나 이상의 처리 유닛, 메모리 및 메모리에 저장된 복수의 프로그램을 포함한다. 프로그램들은, 하나 이상의 처리 유닛에 의해 실행될 때, 전자 장치로 하여금 전술한 바와 같은 하나 이상의 방법을 수행하게 야기한다.
본 출원의 제6 양태에 따르면, 비일시적 컴퓨터 판독가능 저장 매체가 하나 이상의 처리 유닛을 갖는 전자 장치에 의해 실행하기 위한 복수의 프로그램을 저장한다. 프로그램들은, 하나 이상의 처리 유닛에 의해 실행될 때, 전자 장치로 하여금 전술한 바와 같은 하나 이상의 방법을 수행하게 야기한다.
전술한 다양한 실시예들이 본 명세서에 설명된 임의의 다른 실시예들과 조합될 수 있다는 점에 유의한다. 본 명세서에 설명된 특징들 및 이점들은 모두를 포괄하는 것은 아니며, 특히, 많은 추가적인 특징들 및 이점들이 도면들, 명세서, 및 청구항들을 고려하여 본 기술분야의 통상의 기술자에게 명백할 것이다. 더욱이, 본 명세서에서 사용되는 언어는 주로 가독성 및 교육 목적을 위해 선택되었고, 본 발명의 주제를 기술하거나 제한하기 위해 선택되지는 않았을 수 있다는 점에 유의해야 한다.
본 개시내용이 보다 상세히 이해될 수 있도록, 보다 구체적인 설명이 다양한 실시예들의 특징들을 참조하여 이루어질 수 있으며, 그 중 일부가 첨부 도면들에 예시되어 있다. 그러나, 첨부 도면들은 본 개시내용의 관련 특징들을 예시할 뿐이며, 따라서 제한적인 것으로 간주해서는 안 되는데, 이는 설명이 다른 실효적인 특징들을 허용할 수 있기 때문이다.
도 1은 본 개시내용의 일부 구현들에 따른 예시적 키포인트 정의를 예시하는 도면이다.
도 2는 본 개시내용의 일부 구현들에 따른 예시적 키포인트 생성 프로세스를 예시하는 블록도이다.
도 3은 본 개시내용의 일부 구현들에 따른 초기 거친 위치 맵을 변환하는 예시적인 프로세스를 예시하는 도면이다.
도 4는 본 개시내용의 일부 구현들에 따른 전체 얼굴 영역을 커버하지 않는 예시적인 변환된 위치 맵을 예시하는 도면이다.
도 5는 본 개시내용의 일부 구현들에 따른 전체 얼굴 영역을 커버하기 위해 변환된 위치 맵을 정교화(refine)하는 예시적인 프로세스를 예시하는 도면이다.
도 6은 본 개시내용의 일부 구현들에 따른 위치 맵 정교화 알고리즘의 일부 예시적 결과를 예시하는 도면이다.
도 7a 및 도 7b는 본 개시내용의 일부 구현들에 따른 초기 거친 위치 맵에 대한 최종 위치 맵의 일부 예시적 비교를 예시한다.
도 8a는 본 개시내용의 일부 구현들에 따른 예시적인 안경 분류 네트워크 구조를 예시하는 도면이다.
도 8b는 본 개시내용의 일부 구현들에 따른 예시적인 여성 모발 예측 네트워크 구조를 예시하는 도면이다.
도 8c는 본 개시내용의 일부 구현들에 따른 예시적인 남성 모발 예측 네트워크 구조를 예시하는 도면이다.
도 9a는 본 개시내용의 일부 구현들에 따른 일부 예시적인 안경 분류 예측 결과들을 예시한다.
도 9b는 본 개시내용의 일부 구현들에 따른 일부 예시적인 여성 모발 예측 결과들을 예시한다.
도 9c는 본 개시내용의 일부 구현들에 따른 일부 예시적인 남성 모발 예측 결과들을 예시한다.
도 10은 본 개시내용의 일부 구현들에 따른 실제 사람의 2D 얼굴 이미지로부터 얼굴 위치 맵을 구성하는 예시적인 프로세스를 예시하는 흐름도이다.
도 11은 본 개시내용의 일부 구현들에 따른 예시적인 색 추출 및 조정 프로세스를 예시하는 흐름도이다.
도 12는 본 개시내용의 일부 구현들에 따른 예시적인 피부 색 추출 방법을 예시한다.
도 13은 본 개시내용의 일부 구현들에 따른 예시적인 눈썹 색 추출 방법을 예시한다.
도 14는 본 개시내용의 일부 구현들에 따른 예시적인 동공 색 추출 방법을 예시한다.
도 15는 본 개시내용의 일부 구현들에 따른 모발 색 추출 방법에서 이용되는 예시적인 모발 색 추출 영역을 예시한다.
도 16은 본 개시내용의 일부 구현들에 따른 모발 색 추출 영역 내에서의 모발 픽셀들과 피부 픽셀들 사이의 예시적인 분리를 예시한다.
도 17은 본 개시내용의 일부 구현들에 따른 예시적인 아이섀도우 색 추출 방법을 예시한다.
도 18은 본 개시내용의 일부 구현들에 따른 일부 예시적인 색 조정 결과들을 예시한다.
도 19는 본 개시내용의 일부 구현들에 따른 실제 사람의 2D 얼굴 이미지로부터 색을 추출하는 예시적인 프로세스를 예시하는 흐름도이다.
도 20은 본 개시내용의 일부 구현들에 따른 예시적인 머리 아바타 변형 및 생성 프로세스를 예시하는 흐름도이다.
도 21은 본 개시내용의 일부 구현들에 따른 예시적인 머리 템플릿 모델 합성물을 예시하는 도면이다.
도 22는 본 개시내용의 일부 구현들에 따른 현실 스타일 3D 모델들 상의 및 만화 스타일 3D 모델들 상의 일부 예시적인 키포인트 마킹을 예시하는 도면이다.
도 23은 본 개시내용의 일부 구현들에 따른, 템플릿 모델 렌더링, 수동으로 마킹된 키포인트들 및 AI 검출된 키포인트들 사이의 예시적 비교를 예시하는 도면이다.
도 24는 본 개시내용의 일부 구현들에 따른 예시적인 삼각형의 아핀 변환을 예시하는 도면이다.
도 25는 본 개시내용의 일부 구현들에 따른 블렌드 셰이프 프로세스의 유무에 따른 몇몇 머리 모델 변형 결과들의 예시적인 비교를 도시하는 도면이다.
도 26은 본 개시내용의 일부 구현들에 따른 상이한 가중치들을 갖는 아핀 변형 및 쌍조화 변형의 예시적인 비교를 도시하는 도면이다.
도 27은 본 개시내용의 일부 구현들에 따른, 현실 템플릿 모델을 이용하여 일부 무작위로 뽑힌 여성 사진들로부터 자동으로 생성되는 일부 예시적인 결과들을 도시한다.
도 28은 본 개시내용의 일부 구현들에 따른 실제 사람의 2D 얼굴 이미지로부터 3D 머리 변형 모델을 생성하는 예시적인 프로세스를 도시하는 흐름도이다.
도 29는 본 개시내용의 일부 구현들에 따른 예시적인 키포인트 처리 흐름 단계들을 도시하는 도면이다.
도 30은 본 개시내용의 일부 구현들에 따른 예시적인 키포인트 평활화 프로세스를 도시하는 도면이다.
도 31은 본 개시내용의 일부 구현들에 따른 예시적인 키포인트 대 제어 파라미터(K2P) 변환 프로세스를 도시하는 블록도이다.
도 32는 본 개시내용의 일부 구현들에 따른, 모바일 게임의 자동 얼굴 생성의 일부 예시적인 결과들을 도시한다.
도 33은 본 개시내용의 일부 구현들에 따른, 실제 사람의 2D 얼굴 이미지를 이용하여 게임에서 아바타의 표준 얼굴을 맞춤화하는 예시적인 프로세스를 도시하는 흐름도이다.
도 34는 본 개시내용의 일부 구현들에 따른 이미지 처리 장치의 예시적인 하드웨어 구조의 개략도이다.
일반적인 관행에 따라, 도면들에 예시된 다양한 특징들은 축척에 맞게 그려지지 않을 수 있다. 따라서, 다양한 특징들의 치수는 명료성을 위해 임의로 확장 또는 축소될 수 있다. 또한, 도면들 중 일부는 주어진 시스템, 방법 또는 디바이스의 컴포넌트들 모두를 묘사하지 않을 수 있다. 마지막으로, 유사한 참조 번호들은 명세서 및 도면들 전반에 걸쳐 유사한 특징들을 나타내기 위해 사용될 수 있다.
특정 구현들에 대한 참조가 이제 상세히 이루어질 것이며, 그 예들은 첨부 도면들에 예시된다. 이하의 상세한 설명에서, 본 명세서에 제시된 주제를 이해하는 데 도움을 주기 위해 다수의 비제한적인 구체적인 상세사항들이 제시된다. 그러나, 다양한 대안들이 청구항의 범위로부터 벗어나지 않고 사용될 수 있고, 주제가 이러한 구체적인 상세사항들 없이도 실시될 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다. 예를 들어, 본 명세서에 제시된 주제는 많은 타입의 전자 디바이스들 상에서 구현될 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다.
본 출원의 실시예들이 상세히 더 설명되기 전에, 본 출원의 실시예들에 수반되는 명칭들 및 용어들이 설명되고, 본 출원의 실시예들에 수반되는 명칭들 및 용어들은 다음의 설명들을 갖는다.
얼굴 키포인트들: 특정 얼굴 부분들의 형상들, 예를 들어, 눈의 코너, 턱, 코 끝, 및 입의 코너를 결정하는 미리 정의된 랜드마크들.
얼굴 부분들: 얼굴 경계, 눈, 눈썹, 코, 입, 및 다른 부분들.
얼굴 재구성: 인간 얼굴의 3D 기하구조를 재구성하는 것, 및 메시 모델, 포인트 클라우드, 또는 깊이 맵을 포함하는 흔히 이용되는 표현.
RGB 이미지: 적색, 녹색, 청색 3 채널 이미지 포맷.
위치 맵: 3D 인간 얼굴의 표현인, 얼굴 영역의 x, y, z 좌표를 저장하기 위해 정규 이미지 포맷으로 적색, 녹색, 청색 채널들을 사용하는 것.
얼굴 특징 분류: 안경 분류가 있거나 없는, 헤어스타일 분류를 포함함.
CNN(convolutional neural network): 시각적 이미지를 분석하는 데 가장 흔히 적용되는 심층 신경망들의 부류.
베이스 네트워크: 특징 추출기로서 역할하기 위해 하나 또는 다중의 다운스트림 태스크에 의해 이용되는 CNN과 같은 네트워크.
라플라시안 연산자(Laplacian operator): 유클리드 공간 상의 함수의 그래디언트(gradient)의 발산에 의해 주어지는 미분 연산자.
미분가능 매니폴드(differentiable manifold): 누군가가 미적분을 할 수 있게 허용하기 위해 선형 공간과 국소적으로 유사한 한 타입의 토폴로지 공간.
쌍조화(Biharmonic) 함수: 미분가능 매니폴드(manifold) 상에 정의된, 제곱 라플라시안 연산자(square Laplacian operator)가 0과 동일한 4차(quartic) 미분가능 함수.
키포인트 주도 변형(keypoint-driven deformation): 특정 정점들의 위치들을 변경함으로써 메시들을 변형시키는 한 부류의 방법.
쌍조화 변형(Biharmonic deformation): 어떤 경계 조건들을 갖는 쌍조화 함수들의 최적화를 채택하는 변형 방법.
아핀 변형(Affine deformation): 메시 변형의 목적을 달성하기 위해 삼각형들의 아핀 변환들을 최적화하는, 본 개시내용에서 제안된 키포인트 주도 변형 방법.
얼굴 모델: 미리 정의된 타깃 게임에서의 표준 얼굴들의 메시.
뼈들/슬라이더들: 얼굴 모델을 변형시키기 위한 제어 파라미터들.
앞서 언급한 바와 같이, 3DMM 파라미터들을 피팅(fit)하기 위해 입력 2D 이미지 및 2D 키포인트들 둘 다를 최적화 프로세스에 공급하더라도, 최적화는 베이시스(basis)(즉, 3D 얼굴 모델 세트)에 기초한 3D 얼굴 모델의 피팅과 2D 키포인트들의 충실도 사이에서 균형을 이루어야만 한다. 그러한 최적화는 획득된 3D 얼굴 모델이 2D 입력 키포인트들을 무시하는 것으로 이끌어서, 입력 2D 키포인트들에 의해 가져와지는 상세한 얼굴 정보가 희생되도록 한다. 기존의 3D 얼굴 재구성 방법들 중에서, 얼굴 캡처링 솔루션은 정확한 재구성을 산출할 수 있지만 비용이 많이 들고 시간 소모적이며, 획득된 데이터는 또한 얼굴 특징들의 제한된 변동들(제한된 수의 배우들)을 드러낸다. 한편, 얼굴 모델 기반 방법들은 2D 이미지 또는 2D 랜드마크 주석들을 입력으로서 취할 수 있지만, 획득된 3D 모델은 정확하지 않다. 컴퓨터들/모바일 게임들의 신속한 개발이라는 요건들을 충족시키기 위해, 바람직한 3D 모델 정확도를 산출하는 것 및 필요한 비용 및 시간을 감소시키는 것 둘 다가 요구된다. 이러한 요건들을 충족시키기 위해, 본 명세서에 개시된 새로운 3D 실측 정보 얼굴 모델 생성 알고리즘은 2D 이미지, 2D 키포인트 주석, 및 거친 3D 얼굴 모델(위치 맵 포맷)을 입력으로서 취하고, 2D 키포인트들에 기초하여 거친 3D 모델을 변환하고, 마지막으로 상세한 얼굴 특징들이 잘 보존되는 3D 얼굴 모델을 산출한다.
얼굴 재구성 및 키포인트 예측에서 핵심 문제를 해결하는 것 외에, 얼굴 특징 분류를 위한 멀티태스크 학습 및 전이 학습 기반 접근법들이 또한 본 명세서에 개시되어, 얼굴 재구성 및 키포인트 예측 프레임워크에 더하여 부분적으로 구축된다. 특히, 얼굴 재구성 및 키포인트 예측의 베이스 네트워크를 재사용하면, (안경이 있거나 없는) 안경 분류가 멀티태스크 학습을 통해 달성된다. 기존의 얼굴 재구성 및 키포인트 예측 프레임워크에 더해지는 선형 분류기가 훈련되는데, 이는 기존의 모델을 크게 재사용하고, 이미지 특징 추출을 위한 또 다른 더 큰 네트워크를 도입하는 것을 회피하도록 한다. 또한, 또 다른 공유된 베이스 네트워크가 남성 및 여성 헤어스타일 분류를 위해 사용된다. 헤어스타일은 얼굴 키포인트들 또는 3D 얼굴 모델에 보완적인 중요한 얼굴 특징의 타입이다. 사용자를 위한 3D 아바타를 생성하는 프로세스에서, 헤어스타일 및 안경 예측을 추가하는 것은 사용자의 얼굴 특징들을 더 잘 반영하고 더 나은 개인화 경험을 제공할 수 있다.
얼굴 키포인트 예측은 수십 년 동안 컴퓨터 비전에서의 연구 주제였다. 최근 몇 년 동안 인공 지능 및 딥 러닝의 발전에 따라, CNN(convolutional neural network)은 얼굴 키포인트 예측의 진전을 용이하게 한다. 3D 얼굴 재구성 및 얼굴 키포인트 검출은 2개의 얽힌 문제이며, 하나를 해결하는 것은 다른 것을 단순화할 수 있다. 전통적인 방법은 먼저 2D 얼굴 키포인트 검출을 해결하고, 그 후 추정된 2D 얼굴 키포인트들에 기초하여 3D 얼굴 모델을 더 추론하는 것이다. 그러나, 이미지 내의 얼굴이 기울어질 때(머리를 끄덕이거나 흔들 때), 특정 얼굴 키포인트들은 폐색되고 잘못된 2D 얼굴 키포인트 추정을 초래하므로, 잘못된 2D 얼굴 키포인트들 위에 구축되는 3D 얼굴 모델은 부정확해진다.
실측 정보 데이터(ground-truth data)가 딥 러닝 기반 방법들의 상한을 결정함에 따라, 기존의 3D 얼굴 모델 데이터세트들은 수에 있어서 제한될 뿐만 아니라 학술 연구에만 이용가능하다. 다른 한편, 얼굴 모델 기반 방법들은 둘 다 상용 라이센스를 필요로 하는 BFM(Basel Face Model) 또는 SFM(Surrey Face Model)의 사용을 필요로 한다. 높은 정확도 및 대량의 3D 실측 정보는 임의의 얼굴 재구성 또는 키포인트 추정 모델들을 훈련함에 있어서 가장 중요한 문제가 된다.
얼굴 키포인트 예측 외에, 얼굴 특징 분류는 사용자 3D 아바타 생성의 중요한 양태이다. 예측된 얼굴 키포인트들을 이용하여, 사용자의 얼굴 부분(즉, 눈, 눈썹, 코, 입, 및 얼굴 윤곽)의 스타일 전달만이 수행될 수 있다. 그러나, 사용자의 얼굴 특징들을 더 잘 반영하기 위해, 사용자의 헤어스타일을 매칭시키고, 사용자가 입력 이미지에서 안경을 착용하고 있다면 안경을 추가하는 것이 매우 도움이 된다. 이러한 요건들에 기초하여, 남성/여성 헤어스타일 예측, 및 안경 예측(유무)을 달성하기 위해 멀티태스크 학습 및 전이 학습 기반 얼굴 특징 분류 접근법들이 개발되는데, 이는 생성된 얼굴 아바타가 더 개인화되게 만들어 사용자의 경험을 개선한다.
일부 실시예들에서, 얼굴의 주요 부분들의 3차원 형상을 표현하기 위해, 도 1에 도시된 바와 같이 키포인트 표현이 사용된다. 도 1은 본 개시내용의 일부 구현들에 따른 예시적 키포인트 정의를 예시하는 도면이다. 다시 말해서, 키포인트의 시퀀스 번호와 얼굴 상의 특정 위치 사이에 매핑 관계가 존재한다. 예를 들어, 시퀀스 번호 9는 턱의 하부에 대응하고, 시퀀스 번호 21은 코의 끝 부분에 대응하는 등이다. 키포인트들은 얼굴의 특정 특징들을 정의하는 시퀀스로 번호매겨진다. 키포인트들은 얼굴의 주요 부분들의 경계, 예를 들어, 얼굴의 윤곽, 눈의 윤곽, 및 눈썹의 윤곽에 초점을 맞춘다. 더 많은 키포인트는 예측에 있어서 더 큰 어려움을 의미하지만, 더 정확한 형상 표현을 의미한다. 일부 실시예들에서, 96개의 키 포인트의 정의가 도 1에서 채택된다. 일부 실시예들에서, 사용자들은 그들 자신의 필요에 따라 특정 정의들 및 키포인트들의 수를 수정할 수 있다.
많은 알고리즘들이 인간 얼굴의 키포인트들의 3차원 좌표를 예측할 수 있다. 더 양호한 성능을 갖는 방법들은 대량의 오프라인 3D 훈련 데이터에 기초한 딥 러닝 알고리즘들을 사용한다. 그러나, 일부 실시예들에서, 임의의 3차원 키포인트 예측 알고리즘이 사용될 수 있다. 일부 실시예들에서, 키포인트들의 정의는 고정되지 않으며, 사용자들은 그들의 필요에 따라 정의들을 맞춤화할 수 있다.
3D 실측 정보 얼굴 모델 생성의 문제를 해결하기 위해, 2D RGB 이미지, 2D 키포인트 주석, 및 거친 위치 맵을 입력으로서 취하는 다음의 자동 알고리즘이 개발된다. 도 2는 본 개시내용의 일부 구현들에 따른 예시적 키포인트 생성 프로세스를 예시하는 블록도이다. 예를 들어, 얼굴의 2D RGB 이미지는 입력 이미지(202)로서 이용되고, 2D RGB 이미지는 대응하는 초기 거친 위치 맵(204)을 가지고, 초기 거친 맵에서의 각각의 픽셀은 2D RGB 이미지에서의 대응하는 얼굴 포인트의 공간적 좌표를 표현한다. 2D 키포인트 주석(208)은 사용자 제공 키포인트 세트를 나타내는데, 사용자 제공 키포인트 세트는 초기 거친 맵(204)으로부터 검출된 키포인트 세트(206)를 정정하기 위해 사용된다.
도 3은 본 개시내용의 일부 구현들에 따른 초기 거친 위치 맵을 변환하는 예시적인 프로세스를 예시하는 도면이다.
일부 실시예들에서, 3D 재구성 방법은 입력 얼굴 이미지를 얼굴 특징들에 대한 3D 깊이 정보를 포함하는 위치 맵으로 변환하기 위해 사용된다. 예를 들어, 위치 맵은 256x256 행렬 어레이를 갖는 2D 3 색(RGB) 채널 맵일 수 있고, 어레이 요소들 각각은 얼굴 모델 상의 3D 로케이션을 나타내는 좌표 (x, y, z)를 갖는다. 3D 위치 좌표 (x, y, z)는 각각의 어레이 요소에 대한 위치 맵 상의 RGB 픽셀 값들에 의해 표현된다. 특정 얼굴 특징은 2D 위치 맵 내의 고정된 2D 로케이션 상에 위치한다. 예를 들어, 코의 끝 부분은 위치 맵 내의 X=128 및 Y=128에서의 2D 어레이 요소 위치에 의해 식별될 수 있다. 유사하게, 얼굴 상의 특정 얼굴 특징에 대해 식별된 특정 키포인트는 2D 위치 맵 상의 동일한 어레이 요소 위치에 위치할 수 있다. 그러나, 특정 키포인트들은 위치 맵에 대한 상이한 입력 얼굴 이미지에 좌우되어 상이한 3D 위치 좌표 (x, y, z)를 가질 수 있다.
일부 실시예들에서, 도 2 및 도 3에 도시된 바와 같이, 입력 이미지(202, 302)로부터 초기 거친 위치 맵(204, 304)을 획득하기 위해 3D 재구성 방법이 활용된다. 그리고 나서, 입력된 2D 키포인트 주석(208, 308)은 초기 위치 맵의 그에 따른 키포인트들(206, 306)의 (x, y) 좌표를 조정하기 위해 사용되어, 조정된 위치 맵에서의 키포인트들의 조정된 (x, y) 좌표가 주석된 2D 키포인트들과 동일하게 되도록 보장한다. 특히, 먼저, 초기 위치 맵 P로부터 96개의 키포인트 세트가 획득된다. 키포인트 인덱스들에 기초하여, 96개의 키포인트 세트는 K = k_i로 지칭되며, 여기서 각각의 k_i는 키포인트의 2D 좌표 (x, y)이고, i = 0, ..., 95이다. 2D 키포인트 주석(208, 308)으로부터, 96개의 키포인트의 제2 세트 A = a_i가 획득되고, 이것은 2D (x, y) 좌표이고, i = 0, ..., 95이다. 둘째로, 공간 변환 매핑(210. 310)이 K로부터 A까지 추정되고, 로서 정의되며, 여기서 이다. 그리고 나서, 획득된 변환 T가 초기 위치 맵 P에 적용되어 변환된 위치 맵 P'(212, 312)를 얻게 된다. 이러한 방식으로, 변환된 위치 맵 P'(212, 312)는 입력 이미지(202, 302) 내의 사람의 상세한 얼굴 특징들을 보존하고, 동시에, 변환된 위치 맵 P'(212, 312)는 합리적인 3D 깊이 정보를 갖는다. 따라서, 본 명세서에 개시된 솔루션은 비싸고 시간 소모적인 얼굴 캡처링 시스템의 사용을 피하기 위해 3D 실측 정보(ground-truth information)를 생성하는 정확하고 실용적인 대안 솔루션을 제공한다.
일부 실시예들에서, 96개의 얼굴 키포인트가 전체 얼굴 영역의 일부(즉, 눈썹 아래, 얼굴 윤곽의 내부)만을 커버하기 때문에, 예를 들어, 도 3에서, 귀에서 턱까지의 키포인트들은 아래 턱을 따르지만 가시적 얼굴 윤곽 상에 있지 않다. 입력 이미지 내의 얼굴이 기울어질 때, 전체 얼굴 영역은 함께 연결된 키포인트들의 윤곽에 의해 커버되지 않는다. 또한, 수동 키포인트 주석을 수행할 때, 이미지 내의 얼굴이 기울어지든 아니든 간에, 키포인트들은 가시적 얼굴 윤곽을 따라 라벨링될 수 있을 뿐이다(즉, 폐색된 키포인트들에 정확하게 주석을 다는 방법은 없음). 그 결과, 변환된 위치 맵 P'(212, 312)에서, 얼굴 영역의 일부는 영역에서 추정을 갖지 않는 변환 매핑 T(210. 310)로 인해 유효한 값들을 갖지 않는다. 또한, 이마 영역은 눈썹 위에 있고, 따라서 T는 그 영역에서도 역시 추정을 갖지 않는다. 이러한 문제들 모두는 변환된 위치 맵 P'(212, 312)가 특정 영역에서 어떤 유효한 값들도 갖지 않게 야기한다. 도 4는 본 개시내용의 일부 구현들에 따른 전체 얼굴 영역을 커버하지 않는 예시적인 변환된 위치 맵을 예시하는 도면이다.
도 4에서, 상단 원(402, 406)은 이마 영역을 강조하고, 우측 원(404, 408)은 키포인트 윤곽이 가시적인 얼굴 윤곽보다 작은 영역을 나타낸다.
일부 실시예들에서, 위의 문제들을 해결하고 알고리즘을 얼굴 이미지들에 흔히 존재하는 경사진 얼굴들에 강건하게 만들기 위해, 도 2에 도시된 바와 같은 정교화 프로세스(214)가 사용된다. 변환된 위치 맵으로부터의 키포인트들은 머리 자세 및 거친 3D 얼굴 모델에 기초하여 가시적인 얼굴 윤곽과 매칭하도록 얼굴 윤곽을 따라 시프트된다. 그 후, 얼굴 윤곽 영역 내의 누락된 값들이 획득된 위치 맵 내에 채워질 수 있다. 그러나, 이마 영역 내의 값들은 여전히 누락된다. 이마 영역을 커버하기 위해, 이미지의 4개의 코너에서 8개의 랜드마크를 양쪽 키포인트 세트들 K 및 A에 추가함으로써 제어 포인트들이 확장된다.
도 5는 본 개시내용의 일부 구현들에 따른 전체 얼굴 영역을 커버하기 위해 변환된 위치 맵을 정교화(refine)하는 예시적인 프로세스를 예시하는 도면이다. 위치 맵 정교화 처리가 도 5에 도시된다.
일부 실시예들에서, 머리 자세는 머리가 좌측 또는 우측을 향해 기울어진 것을 결정하기 위해 거친 위치 맵 P에 기초하여 먼저 결정되고, 좌측 또는 우측은 3D 얼굴 모델 공간에서 정의된다(예를 들어, 도 5에 도시된 바와 같이, 얼굴은 좌측을 향해 기울어진다). 얼굴이 좌측 또는 우측을 향해 기울어져 있다는 결정에 기초하여, 얼굴 윤곽의 대응하는 측면의 키포인트들이 조정된다. 얼굴 윤곽의 우측 키포인트들은 1 내지 8의 인덱스들을 갖고, 얼굴 윤곽의 좌측 키포인트들은 10 내지 17의 인덱스들을 갖는다. 예로서 좌측을 향해 경사진 면을 사용하여, 초기 위치 맵 P의 2D 투영은 깊이 맵을 도 5에 도시된 이미지(502)로서 얻기 위해 계산된다. 좌측 면 윤곽 키포인트들(k_i, i = 10, ..., 17)은 이들이 깊이 맵의 경계에 도달할 때까지 개별적으로 우측 방향으로 시프트된다. 그 다음, 새로운 좌표들이 원래의 키포인트 로케이션들을 대체하기 위해 사용된다. 유사하게, 얼굴이 우측 방향으로 기울어질 때, 처리된 키포인트들은 k_i, i = 1, ..., 8에 의해 인덱싱되고, 검색 방향은 우측이다. 얼굴 윤곽 키포인트들을 조정한 후에, 업데이트된 키포인트들은 도 5의 이미지(504)로서 시각화되고, 위치 맵의 업데이트된 커버리지는 도 5의 이미지(506)로서 도시된다. 업데이트된 위치 맵은 얼굴 윤곽 영역에서 얼굴의 더 나은 커버리지를 갖지만, 이마 영역은 여전히 누락 값들을 갖는다.
일부 실시예들에서, 이마 영역을 커버하기 위해, (도 5의 이미지(508)에 도시된 바와 같이) 업데이트된 키포인트 세트 K'를 얻기 위해 이미지 도메인 의 각각의 코너에 추가의 키포인트들 k_i, i = 96, ...,103로서 2개의 앵커 포인트가 추가된다. 업데이트된 A'를 얻기 위해 수동 주석 키포인트 세트, a_i, i = 96, ...,103에 대해 동일한 것이 행해진다. 업데이트된 키포인트 세트들 K' 및 A'을 이용하여, 변환 매핑 T'이 재추정되고, 그 후 초기 위치 맵(P)에 적용되어, (도 5의 이미지(510)에 도시된 바와 같이) 전체 얼굴 영역을 커버하기 위한 최종 위치 맵 P''(도 2의 216)을 얻는다. 최종 키포인트들(218)은 최종 위치 맵(216)으로부터 도출된다.
도 6은 본 개시내용의 일부 구현들에 따른 위치 맵 정교화 알고리즘의 일부 예시적 결과를 예시하는 도면이다. (602)는 초기 변환된 위치 맵의 예시이다. (604)는 얼굴 윤곽을 고정한 후의 업데이트된 위치 맵의 예시이다. (606)은 최종 위치 맵의 예시이다.
도 7a 및 도 7b는 본 개시내용의 일부 구현들에 따른 초기 거친 위치 맵에 대한 최종 위치 맵의 일부 예시적 비교를 예시한다. 도 7a의 일 예에서, 초기 위치 맵 및 그의 관련 3D 모델 및 키포인트들(702)에서의 코는 부정확하여 사람의 얼굴 특징들을 완전히 반영할 수 없지만(화살표로 강조됨), 본 명세서에 설명된 방법들을 적용한 후에, 코는 최종 위치 맵 및 그의 관련 3D 모델 및 키포인트들(704)(화살표로 강조됨)에서의 이미지와 잘 정렬된다. 도 7b의 제2 예에서, 얼굴 윤곽, 벌린 입, 및 코 모양 불일치(화살표로 표시됨)와 같이, 초기 위치 맵, 관련 3D 모델 및 키포인트(706)에서 다중의 부정확성이 있다. 최종 위치 맵 및 그의 관련 3D 모델 및 키포인트들(708)에서, 이 오류들 전부가 해결된다(화살표로 표시됨).
헤어스타일 및 안경 분류는 얼굴 아바타 생성 프로세스를 위한 모바일 게임 애플리케이션에 대해 중요하다. 일부 실시예들에서, 이러한 문제들을 해결하기 위해 멀티태스크 학습 및 전이 학습 기반 솔루션들이 본 명세서에서 구현된다.
일부 실시예들에서, 여성 모발 예측을 위해 네가지 상이한 분류 작업(머리)이 구현된다. 분류 카테고리들 및 파라미터들이 아래에 도시된다:
분류 머리 1: 커브
스트레이트 (0); 커브 (1)
분류 머리 2: 길이
숏 (0); 롱 (1)
분류 머리 3: 뱅(bang)
뱅 또는 스플릿 없음 (0); 좌 스플릿 (1); 우 스플릿 (2), M 형상 (3); 스트레이트 뱅 (4); 자연 뱅 (5); 공기 뱅 (6)
분류 머리 4: 브레이드(braid)
단일 브레이드 (0); 2개 이상의 브레이드 (1); 단일 번(bun) (2); 2개 이상의 번 (3); 기타 (4).
일부 실시예들에서, 남성 모발 예측을 위해 세가지 상이한 분류 작업(머리)이 구현된다. 분류 카테고리들 및 파라미터들이 아래에 도시된다:
분류 머리 1: 극단적 숏(0), 곱슬머리(1), 기타(2)
분류 머리 2: 뱅 없음 (0), 스플릿 뱅 (1), 자연 뱅 (2)
분류 머리 3: 스플릿 뱅 좌측 (0), 및 스플릿 뱅 우측 (1)
일부 실시예들에서, 안경 분류는 이진 분류 작업이다. 분류 파라미터들은 아래에 도시된다:
안경이 없는 경우 (0); 안경이 있는 경우 (1).
상이한 딥 러닝 이미지 분류 모델들 중에서, ImageNet에서 최신 정확도를 달성하는 것들은 보통은 EfficientNet, Noisy Student, 및 FixRes와 같은 복잡한 구조 및 큰 모델 크기를 갖는다. 어느 아키텍처를 특징 추출기에 대한 베이스 네트워크로서 사용할지를 결정할 때, 예측 정확도 및 모델 크기 둘 다가 균형을 이루어야만 한다. 실제로, 1% 분류 정확도 개선은 최종 사용자들에게 명백한 변화를 가져오지 않을 수 있지만, 모델 크기는 기하급수적으로 증가할 수 있다. 훈련된 모델이 클라이언트 측에 배치될 필요가 있을 수 있다고 가정하면, 더 작은 베이스 네트워크는 서버 측 및 클라이언트 측 둘 다에 배치되는 것을 유연하게 만들 수 있다. 따라서, MobileNetV2는, 예를 들어, 상이한 분류 머리들에 대한 전이 학습을 행하기 위한 베이스 네트워크로서 채택된다. MobileNetV2 아키텍처는 반전된 잔차 구조에 기초하며, 여기서 잔차 블록의 입력 및 출력은 입력에서 확장된 표현들을 사용하는 전통적인 잔차 모델들과 반대인 얇은 병목 계층(bottleneck layer)들이다. MobileNetV2는 중간(intermediate) 확장 계층에서의 특징들을 필터링하기 위해 경량 뎁스와이즈 컨볼루션(lightweight depthwise convolution)들을 사용한다.
안경 분류를 위해, 멀티태스크 학습 접근법이 사용된다. 베이스 네트워크로서 키포인트 예측의 네트워크를 재사용하고 파라미터들을 동결할 때, U자 형상 기반 네트워크의 병목 계층에서, 크로스 엔트로피 손실(cross entropy loss)을 갖는 특징 벡터가 이진 분류기를 훈련하기 위해 사용된다. 도 8a는 본 개시내용의 일부 구현들에 따른 예시적인 안경 분류 네트워크 구조를 예시하는 도면이다. 도 8b는 본 개시내용의 일부 구현들에 따른 예시적인 여성 모발 예측 네트워크 구조를 예시하는 도면이다. 도 8c는 본 개시내용의 일부 구현들에 따른 예시적인 남성 모발 예측 네트워크 구조를 예시하는 도면이다.
도 9a는 본 개시내용의 일부 구현들에 따른 일부 예시적인 안경 분류 예측 결과들을 예시한다. 도 9b는 본 개시내용의 일부 구현들에 따른 일부 예시적인 여성 모발 예측 결과들을 예시한다. 도 9c는 본 개시내용의 일부 구현들에 따른 일부 예시적인 남성 모발 예측 결과들을 예시한다.
도 10은 본 개시내용의 일부 구현들에 따른 실제 사람의 2D 얼굴 이미지로부터 얼굴 위치 맵을 구성하는 예시적인 프로세스를 도시하는 흐름도(1000)이다. 실생활에서, 상이한 사람들은 상이한 얼굴 캐릭터들을 가져서, 동일한 얼굴 캐릭터들에 대응하는 동일한 키포인트(예를 들어, 사람의 얼굴 상의 눈썹의 로케이션들)가 매우 상이한 공간 좌표들을 가질 수 있도록 한다. 3D 얼굴 모델을 생성하기 위해 사용되는 2D 얼굴 이미지들이 상이한 각도들에서 그리고 상이한 광 조건들 하에서 캡처되기 때문에 얼굴 검출의 문제는 더 도전적 사항이 되었고, 이 분야에서의 연구가 컴퓨터 비전의 기술 분야에서 매우 활발한 주제가 되었다. 본 출원에서는, 실제 사람으로부터 만화 캐릭터에 이르는 대상의 임의의 2D 얼굴 이미지들로부터의 얼굴 키포인트 검출의 효율 및 정확도를 개선하기 위한 다중의 방법이 제안되었다. 일부 실시예들에서, 동일한 얼굴 이미지의 사용자 제공 얼굴 키포인트들의 세트는 컴퓨터 구현 방법에 의해 초기에 검출된 얼굴 키포인트들의 세트를 정정하거나 개선하기 위한 기준으로서 제공된다. 예를 들어, 그들 각자의 시퀀스 번호들에 기초하여 사용자 제공 얼굴 키포인트들과 컴퓨터 생성 얼굴 키포인트들 사이에 일대일 매핑 관계가 있기 때문에, 컴퓨터 생성 얼굴 키포인트들의 정교화는, 예를 들어, 위치 맵에서의 그들의 대응하는 공간 좌표에 의해 측정되는, 얼굴 키포인트들의 2개의 세트 사이의 차이들을 감소시키는 최적화 문제로서 정의된다.
얼굴 위치 맵을 구성하는 프로세스는 2D 얼굴 이미지로부터 거친 얼굴 위치 맵을 생성하는 단계(1010)을 포함한다.
프로세스는 또한 거친 얼굴 위치 맵에 기초하여 2D 얼굴 이미지에서 제1 세트의 키포인트들을 예측하는 단계(1020)을 포함한다.
프로세스는 사용자 제공 키포인트 주석들에 기초하여 2D 얼굴 이미지에서 제2 세트의 키포인트들을 식별하는 단계(1030)을 추가로 포함한다.
프로세스는 2D 얼굴 이미지에서 제1 세트의 키포인트들과 제2 세트의 키 포인트들 사이의 차이들을 감소시키도록 거친 얼굴 위치 맵을 업데이트하는 단계(1040)을 추가적으로 포함한다. 예를 들어, 2D 얼굴 이미지 내의 제1 세트의 키포인트들과 제2 세트의 키포인트들 사이의 차이들을 그들의 대응하는 공간 좌표들에 관하여 감소시킴으로써, 거친 얼굴 위치 맵에 기초한 2D 얼굴 이미지 내의 제1 세트의 키포인트들은, 종종 더 정확한 것으로 여겨지는 사용자 제공 키포인트 주석들에 기초한 2D 얼굴 이미지 내의 제2 세트의 키포인트들과 더 유사하도록 수정되고, 제1 세트의 얼굴 키포인트들의 수정은 제1 세트의 키포인트들이 그로부터 생성되는 초기 거친 얼굴 위치 맵의 업데이트를 자동으로 트리거한다. 그 후, 업데이트된 거친 얼굴 위치 맵은 2D 얼굴 이미지로부터 키포인트들의 더 정확한 세트를 예측하기 위해 사용될 수 있다. 사용자 제공 키포인트 주석들에 기초한 2D 얼굴 이미지 내의 제2 세트의 키포인트들은 그것이 수동으로 행해진다는 것을 의미하지 않는다는 점에 유의해야 한다. 대신에, 사용자는 주석들을 수행하기 위한 또 다른 컴퓨터 구현 방법을 채택할 수 있다. 일부 실시예들에서, 제2 세트의 키포인트들의 수(예를 들어, 10-20)는 제1 세트의 키포인트들의 수(예를 들어, 96 이상)의 단지 일부이지만, 제2 세트의 키포인트들이 훨씬 더 정확하다는 사실은 제1 세트의 키포인트들의 전반적인 개선에 기여한다.
일 구현에서, 프로세스는 업데이트된 얼굴 위치 맵/최종 위치 맵에 기초하여 제3 세트의 키포인트들을 최종 세트의 키포인트들로서 추출하는 단계(1050)을 추가로 포함하고, 제3 세트의 키포인트들은 얼굴 위치 맵에서 제1 세트의 키포인트들과 동일한 로케이션을 갖는다. 일부 실시예들에서, 얼굴 위치 맵에서의 키포인트의 로케이션은 위치 맵에서의 어레이 요소의 2D 좌표에 의해 표현된다. 앞서 유의한 바와 같이, 업데이트된 얼굴 위치 맵은 사용자 제공 키포인트 주석들에 기초하여 2D 얼굴 이미지 내의 제2 세트의 키포인트들로부터 이익을 얻었으며, 따라서 제3 세트의 키포인트들은 더 정확하고, 더 정확한 얼굴 검출을 위한 컴퓨터 비전 또는 더 정확한 3D 얼굴 모델링을 위한 컴퓨터 그래픽과 같은 영역들에서 이용될 수 있다.
일 구현에서, 단계(1050)에 대안적으로 또는 추가적으로, 프로세스는 업데이트된 얼굴 위치 맵에 기초하여 실제 사람의 3D 얼굴 모델을 재구성하는 단계(1060)을 추가로 포함한다. 일 예에서, 3D 얼굴 모델은 3D 깊이 모델이다.
추가적인 구현들은 다음의 특징들 중 하나 이상을 포함할 수 있다.
일부 실시예들에서, 업데이트하는 단계(1040)은: 거친 얼굴 위치 맵을 변환된 얼굴 위치 맵으로 변환하는 단계, 및 변환된 얼굴 위치 맵을 정교화하는 단계를 포함할 수 있다. 앞서 유의한 바와 같이, 변환된 얼굴 위치 맵은 초기 거친 얼굴 위치 맵보다 입력 이미지에서의 사람의 더 상세한 얼굴 특징들을 보존할 수 있고, 따라서 변환된 얼굴 위치 맵에 기초한 3D 얼굴 모델은 더 정확하다.
일부 실시예들에서, 변환하는 단계는: 제1 세트의 키포인트들과 제2 세트의 키포인트들 사이의 차이들을 학습하는 것으로부터, 거친 얼굴 위치 맵으로부터 변환된 얼굴 위치 맵으로의 변환 매핑을 추정하는 단계; 및 변환 매핑을 거친 얼굴 위치 맵에 적용하는 단계를 포함한다.
일부 실시예들에서, 정교화하는 단계는: 2D 얼굴 이미지가 기울어져 있다는 결정에 따라, 얼굴 윤곽의 폐색된 측에서 변환된 얼굴 위치 맵에 대응하는 키포인트들을 조정하여 전체 얼굴 영역을 커버하는 단계를 포함한다. 위에서 유의한 바와 같이, 상이한 2D 얼굴 이미지들이 상이한 각도들에서 캡처될 수 있고, 이러한 정교화 단계는 상이한 이미지 캡처 조건들에 의해 도입되는 바이어스 또는 오류들을 정정하고 2D 얼굴 이미지의 더 정확한 3D 얼굴 모델을 보존할 수 있다. 더욱이, 변환된 얼굴 위치 맵은 초기 거친 얼굴 위치 맵보다 입력 이미지에서의 사람의 더 상세한 얼굴 특징들을 보존할 수 있고, 따라서 변환된 얼굴 위치 맵에 기초한 3D 얼굴 모델이 더 정확하다.
일부 실시예들에서, 제1 세트의 키포인트들은 96개의 키포인트를 포함할 수 있다.
일부 실시예들에서, 얼굴 위치 맵을 구성하는 프로세스는 얼굴 특징 분류를 포함할 수 있다.
일부 실시예들에서, 얼굴 특징 분류는 딥 러닝 방법을 통해 이뤄진다.
일부 실시예들에서, 얼굴 특징 분류는 멀티태스크 학습 또는 전이 학습 방법을 통해 이루어진다.
일부 실시예들에서, 얼굴 특징 분류는 모발 예측 분류를 포함한다.
일부 실시예들에서, 모발 예측 분류는 커브, 길이, 뱅, 및 브레이드를 포함할 수 있는 복수의 분류 작업을 갖는 여성 모발 예측을 포함한다.
일부 실시예들에서, 모발 예측 분류는 커브/길이, 뱅, 및 모발 스플릿을 포함할 수 있는 복수의 분류 작업을 갖는 남성 모발 예측을 포함한다.
일부 실시예들에서, 얼굴 특징 분류는 안경 예측 분류를 포함한다. 안경 예측 분류는: 안경이 있는 것, 및 안경이 없는 것을 포함할 수 있는 분류 작업들을 포함한다.
본 명세서에 개시된 방법 및 시스템은 3D 실측 정보 생성을 위한 2D 키포인트 주석에 기초하여 정확한 3D 얼굴 모델(즉, 위치 맵)을 생성할 수 있다. 이 접근법은 BFM 및 SFM 얼굴 모델들을 사용하는 것을 피할 뿐만 아니라 상세한 얼굴 특징들을 더 잘 보존하여, 얼굴 모델 기반 방법들에 의해 야기되는 이러한 중요한 특징들의 손실을 방지한다.
키포인트들을 제공하는 것 외에, 헤어스타일 및 안경과 같은 보완적 얼굴 특징들을 제공하기 위한 딥 러닝 기반 해결책들이 사용되는데, 이는 사용자 입력 얼굴 이미지에 기초하여 얼굴 아바타를 개인화하는 데 필수적이다.
얼굴 특징 분류를 위한 헤어스타일 및 안경 예측들이 본 명세서에서 예들로서 개시되지만, 프레임워크는 이러한 예시적인 작업들로 제한되지는 않는다. 프레임워크 및 솔루션은 멀티태스크 학습 및 전이 학습에 기초하며, 이는 여성 메이크업 타입 분류, 남성 수염 타입 분류, 및 마스크 분류의 유무와 같은 다른 얼굴 특징들을 포함하도록 프레임워크를 확장하는 것이 용이하다는 것을 의미한다. 프레임워크의 설계는 다양한 컴퓨터들 또는 모바일 게임들의 요건들에 기초하여 더 많은 작업들로 확장되기에 매우 적합하다.
일부 실시예들에서, 키포인트들에 기초한 경량 가중 색 추출 방법이 본 명세서에 소개된다. 경량 가중 이미지 처리 알고리즘들은 모든 픽셀들의 세그먼트화 없이 국소적 픽셀들을 빠르게 추정하여, 더 높은 효율을 이끌어낸다.
훈련 프로세스 동안, 사용자들은 픽셀-레벨 라벨들을 가질 필요가 없고, 눈 코너들, 입 경계들, 및 눈썹과 같은 몇몇 키포인트들만을 라벨링한다.
본 명세서에 개시된 경량 가중 색 추출 방법은 다양한 게임을 위한 개인화된 얼굴 생성 시스템에서 사용될 수 있다. 보다 자유로운 개인화된 캐릭터 생성을 제공하기 위해, 많은 게임들은 자유로운 조정 방법들을 채택하기 시작했다. 얼굴의 형상을 조정하는 것에 더하여, 사용자들은 또한 상이한 색 조합들을 선택할 수 있다. 심미적 목적을 위해, 게임 내의 얼굴은 종종 실제 얼굴 텍스처 대신에 미리 정의된 텍스처를 사용한다. 본 명세서에 개시된 이러한 방법 및 시스템은 사용자가 사진을 업로드하는 것에 의해서만 얼굴의 각각의 부분의 평균 색을 자동으로 추출하는 것을 허용한다. 그리고 동시에, 시스템은 추출된 색에 따라 텍스처를 자동으로 수정할 수 있으므로, 개인화된 얼굴의 각각의 부분이 사용자 사진에서 실제 색에 더 가깝게 발생되어, 사용자 경험을 개선시킨다. 예를 들어, 사용자의 피부 톤(skin tone)이 대부분의 사람들의 평균 피부 톤보다 어두운 경우, 게임 내의 캐릭터들의 피부 톤은 그에 따라 어두워질 것이다. 도 11은 본 개시내용의 일부 구현들에 따른 예시적인 색 추출 및 조정 프로세스를 예시하는 흐름도이다.
얼굴의 다양한 부분들의 위치를 찾기 위해, 전술한 도 1에 도시된 바와 같이, 얼굴의 주요 특징 부분들에 대해 키포인트들이 정의된다. 전술한 알고리즘이 키포인트 예측을 위해 사용된다. 시맨틱 세그먼트화 방법과 상이하게, 각각의 픽셀을 분류할 필요 없이 이미지에서 키포인트들만이 예측되어, 훈련 데이터의 예측 및 라벨링의 비용이 크게 감소되도록 한다. 이러한 키포인트들을 이용하여, 얼굴의 다양한 부분들이 대략적으로 위치가 찾아질 수 있다.
도 12는 본 개시내용의 일부 구현들에 따른 예시적인 피부 색 추출 방법을 예시한다. 이미지 내의 특징들을 추출하기 위해, 원래 이미지(1202) 내의 얼굴 영역을 회전시켜서, 회전 정렬(1204) 후의 이미지에 도시된 바와 같이, 얼굴의 좌측 및 우측 상의 키포인트들 1 및 17이 표준 얼굴의 좌측 및 우측 상의 대응하는 키포인트들과 정렬되도록 하는 것이 필요하다.
다음으로, 피부 톤 픽셀 검사를 위한 영역이 결정된다. 눈의 키포인트들의 하부 좌표들은 검출 영역의 상부 경계로서 선택되고, 코의 하부 키포인트들은 검출 영역의 하부 경계들로서 선택되고, 좌측 및 우측 경계들은 얼굴 경계 키포인트들에 의해 결정된다. 이러한 방식으로, 이미지(1206) 상의 영역(1208)에 도시된 바와 같이 피부색 검출 영역이 얻어진다.
이 영역(1208) 내의 모든 픽셀들이 피부 픽셀들은 아니고, 픽셀들은 또한 일부 속눈썹, 비공, 비구순 주름(nasolabial fold), 모발 등을 포함할 수 있다. 따라서, 이 영역 내의 모든 픽셀들의 R, G, B 값들의 중간(median) 값들이 최종 예측된 평균 피부 색으로서 선택된다.
도 13은 본 개시내용의 일부 구현들에 따른 예시적인 눈썹 색 추출 방법을 예시한다. 눈썹들의 평균 색에 대해, 주 눈썹, 즉 렌즈에 더 가까운 측 상의 눈썹이 타깃으로서 먼저 선택된다. 일부 실시예들에서, 양쪽 눈썹들이 주 눈썹들인 경우, 양 측상의 눈썹 픽셀들이 추출된다. 좌측 눈썹이 주 눈썹이라고 가정하면, 도 13에 도시된 바와 같이, 키포인트들(77, 78, 81, 및 82)로 구성된 사변형 영역이 눈썹 픽셀 검색 영역으로서 선택된다. 이는 외부에 가까운 눈썹들이 너무 얇고, 작은 키포인트 오류들의 영향이 확대될 것이기 때문이다. 내부에 가까운 눈썹들은 종종 드물고 피부색과 혼합될 수 있기 때문에, 중간 눈썹 영역(1302)이 픽셀들을 수집하기 위해 선택된다. 그리고, 먼저 각각의 픽셀이 평균 피부색과 비교되어야 하며, 특정 임계값보다 큰 차이를 갖는 픽셀들만이 수집될 것이다. 마지막으로, 피부색과 유사하게, 수집된 픽셀들의 중간 R, G, B 값들이 최종 평균 눈썹 색으로서 선택된다.
도 14는 본 개시내용의 일부 구현들에 따른 예시적인 동공 색 추출 방법을 예시한다. 눈썹 색 추출과 유사하게, 동공 색을 추출할 때, 렌즈에 가까운 주 눈(main eye)의 측면이 먼저 선택된다. 일부 실시예들에서, 양쪽 눈이 주 눈인 경우, 양 측상의 픽셀들은 함께 수집된다. 동공 자체 외에도, 눈의 키포인트들 내부에 포함된 둘러싸인 영역은 속눈썹, 눈의 흰자위, 및 반사부도 포함할 수 있다. 이들은 최종 픽셀들의 대부분이 동공 자체로부터 오는 것을 보장하기 위해 픽셀 수집 프로세스에서 가능한 한 많이 제거되어야 한다.
속눈썹 픽셀들을 제거하기 위해, 눈들의 키포인트들은 y축(도 14의 수직 방향)을 따라 특정 거리에 대해 안쪽으로 축소되어 도 14에 도시된 영역(1402)을 형성한다. (도 14에서 원(1404)으로 도시된 바와 같은) 흰자위 및 반사부를 제거하기 위해, 그러한 픽셀들은 이 영역(1402)에서 추가로 배제된다. 예를 들어, 픽셀의 R, G 및 B 값들이 모두 사전 정의된 임계값보다 큰 경우, 그 픽셀은 배제된다. 이러한 방식으로 수집된 픽셀들은 그들 대부분이 동공 자체로부터 오는 것을 보장할 수 있다. 유사하게, 중간 색이 평균 동공 색으로서 사용된다.
일부 실시예들에서, 입술 색 추출을 위해, 아랫 입술 영역에서의 검출 픽셀들만이 검출된다. 윗 입술은 종종 얇고 키포인트 오류들에 비교적 민감하며, 윗 입술은 밝은 색을 띄기 때문에, 이것은 입술 색을 잘 표현할 수 없다. 따라서, 사진을 회전 및 보정한 후에, 아랫 입술의 키포인트들에 의해 둘러싸이는 영역에서의 모든 픽셀들이 수집되고, 평균 입술 색을 표현하는 중간 색이 사용된다.
도 15는 본 개시내용의 일부 구현들에 따른 모발 색 추출 방법에서 이용되는 예시적인 모발 색 추출 영역을 예시한다. 모발 색 추출은 이전 부분들보다 더 어렵다. 주요 이유는 각각의 사람의 헤어스타일이 고유하고, 사진의 배경이 복잡하고 다양하기 때문이다. 따라서, 모발의 픽셀들의 위치를 찾는 것은 어렵다. 모발 픽셀들을 정확하게 찾기 위한 하나의 방식에서, 이미지의 모발 픽셀들을 세그먼트화하기 위해 신경망들이 사용된다. 이미지 세그먼트화의 주석 비용은 매우 높고, 게임 애플리케이션들에 대해 매우 높은 정확도의 색 추출이 필요하지 않기 때문에, 키포인트들의 근사 예측에 기초한 방법이 사용된다.
모발 픽셀들을 획득하기 위해, 검출 영역이 먼저 결정된다. 도 15에 도시된 바와 같이, 검출 영역(1502)은 직사각형이다. 하부 경계는 양측 상의 눈썹 코너들이고, 높이(수직선(1504))는 눈썹들의 상부 에지로부터 눈의 하부 에지까지의 거리(1506)이다. 좌측 및 우측은 제각기 좌측 및 우측으로 고정된 거리를 연장하기 위한 키포인트들(1, 17)이다. 이렇게 획득된 모발 픽셀 검출 영역(1502)이 도 15에 도시되어 있다.
도 16은 본 개시내용의 일부 구현들에 따른 모발 색 추출 영역 내에서의 모발 픽셀들과 피부 픽셀들 사이의 예시적인 분리를 예시한다. 일반적으로, 검출 영역은 3가지 타입의 픽셀: 피부, 모발, 및 배경을 포함한다. 일부 더 복잡한 경우들에서, 그것은 또한 헤드웨어(headwear)를 포함한다. 이 검출 영역의 좌측 및 우측 범위는 비교적 보수적이기 때문에, 포함된 모발 픽셀들은 대부분의 경우에 배경 픽셀들보다 훨씬 더 많은 것으로 가정된다. 따라서, 주요 프로세스는 검출 영역의 픽셀들을 모발 또는 피부가 되도록 분할하는 것이다.
검출 영역 내의 픽셀들의 각각의 라인에 대해, 피부색 변화들은 종종 예를 들어, 밝은 것에서 어두운 것으로 연속적이고, 피부색 및 모발 접합부는 종종 명백한 변화들을 갖는다. 따라서, 각각의 행의 중간(middle) 픽셀이 시작 포인트(1608)로서 선택되고, 피부 픽셀들이 좌측 및 우측으로 검출된다. 첫째, 비교적 보수적인 임계값을 이용하여 더 신뢰성 있는 피부색 픽셀을 발견하고, 그 후 이것은 좌우로 확장된다. 이웃 픽셀들의 색이 비교적 가까운 경우, 이것은 피부 색으로서 또한 마킹된다. 그러한 방법은 스킨 색의 계조(gradation)를 고려하며, 비교적 정확한 결과들을 얻을 수 있다. 도 16에 도시된 바와 같이, 모발색 추출 영역(1602) 내에서, (1604)와 같은 더 어두운 영역은 피부색 픽셀을 나타내고, (1606)과 같은 더 밝은 영역은 모발색 픽셀을 나타낸다. 모발 색 영역 내에서의 수집된 모발 색 픽셀들의 중간 R, G, B 값들이 최종 평균 모발 색으로서 선택된다.
도 17은 본 개시내용의 일부 구현들에 따른 예시적인 아이섀도우 색 추출 방법을 예시한다. 아이섀도우 색의 추출은 이전 부분들과 약간 상이하다. 이는 아이섀도우가 존재할 수 있거나 존재하지 않을 수 있는 화장이기 때문이다. 그래서, 아이섀도우 색을 추출할 때, 아이섀도우가 존재하는지가 먼저 결정될 필요가 있고, 그것이 존재하면, 그것의 평균 색이 추출된다. 눈썹 및 동공의 색 추출과 유사하게, 아이섀도우 색 추출은 렌즈에 가까운 주 눈(main eye)의 부분에 대해서만 수행된다.
먼저, 어느 픽셀들이 아이섀도우에 속하는지가 결정되어야 한다. 아이섀도우 픽셀들의 검출 영역에 대해, 라인들(1704 및 1706) 내의 영역(1702)이 도 17에 도시된 바와 같이 사용된다. 영역(1702)의 좌측 및 우측이 눈의 내측 코너 및 외측 코너로서 정의되고, 영역의 상측 및 하측이 눈썹의 하측 에지 및 눈의 상측 에지이다. 이 영역(1702)에서의 가능한 아이섀도우 픽셀들 외에, 아이섀도우를 추출할 때 배제될 필요가 있는 속눈썹, 눈썹, 및 피부도 존재할 수 있다.
일부 실시예들에서, 눈썹의 영향을 제거하기 위해, 검출 영역의 상부 에지가 더 아래로 이동된다. 속눈썹의 영향을 감소시키기 위해, 특정 임계값 아래의 휘도를 갖는 픽셀들이 배제된다. 아이섀도우를 피부 색과 구별하기 위해, 각각의 픽셀의 색상(hue)과 평균 피부 색상 사이의 차이가 체크된다. 차이가 특정 임계값보다 클 때에만, 픽셀은 가능한 아이섀도우 픽셀로서 수집된다. RGB 값 대신에 색상이 사용되는 이유는, 평균 피부 색이 주로 눈 아래에서 수집되고, 눈 위의 피부 색이 밝기에서 큰 변화를 가질 수 있기 때문이다. 색이 밝기에 민감하지 않기 때문에, 색은 비교적 안정적이다. 그 결과, 색상은 픽셀이 피부인지를 판단하기에 더 적합하다.
상기 프로세스를 통해, 각각의 검출 영역 내의 픽셀들이 아이섀도우에 속하는지가 결정될 수 있다. 일부 실시예들에서, 아이섀도우가 없는 경우, 일부 픽셀들이 여전히 아이섀도우로서 인식될 수 있는 오류들이 발생할 수 있다.
상기 오류들을 감소시키기 위해, 검출 영역의 각각의 열이 체크된다. 현재 열 내의 아이섀도우 픽셀들의 수가 특정 임계값보다 큰 경우, 현재 열이 아이섀도우 열로서 마킹된다. 검출 영역의 폭에 대한 아이섀도우 열들의 비율이 특정 임계값보다 큰 경우, 현재 이미지 내에 아이섀도우가 존재하는 것으로 간주되며, 수집된 아이섀더우 픽셀들의 중앙 색이 최종 색으로서 사용된다. 이러한 방식으로, 아이섀도우들로서 잘못 분류된 몇몇 픽셀들은 전체 아이섀도우에 대한 잘못된 판단을 야기하지 않을 것이다.
아트 스타일을 고려하면, 대부분의 게임들은 종종 상기 부분들 모두가 색에 있어서 자유롭게 조정되는 것을 허용하지는 않는다. 색 조정이 개방되는 부분에 대해서는, 종종 한 세트의 사전 정의된 색들만을 매칭시키는 것이 허용된다. 모발을 예로 들면, 헤어스타일이 5개의 모발 색이 선택되는 것을 허용하는 경우, 리소스 팩 내의 헤어스타일은 각각의 모발 색에 대응하는 텍스처 이미지들을 포함할 것이다. 검출 동안, 가장 가까운 색을 갖는 텍스처 이미지가 모발 색 예측 결과에 따라 선택되는 한, 원하는 모발 렌더링 효과가 획득될 수 있다.
일부 실시예들에서, 단 하나의 색 텍스처 이미지가 제공될 때, 텍스처 이미지의 색은 검출된 임의의 색에 따라 합리적으로 변경될 수 있다. 색 변환을 용이하게 하기 위해, 흔히 사용되는 RGB 색 공간 표현이 HSV 색 모델로 변환된다. HSV 색 모델은 3개의 차원: 색상 H, 채도 S, 및 명도 V로 구성된다. 색상 H는 360도의 색 범위로서 모델에서 표현되고, 적색은 0도이고, 녹색은 120도이고, 청색은 240도이다. 채도 S는 스펙트럼 색들과 백색의 혼합을 나타낸다. 채도가 높을수록, 색은 더 밝아진다. 채도가 0에 접근할 때, 색은 백색에 접근한다. 명도 V는 색의 밝기를 나타내고, 값 범위는 흑색으로부터 백색까지이다. 색 조정 후에, 텍스처 이미지의 HSV 중간 값은 예측된 색과 매칭될 것으로 예상된다. 따라서, 각각의 픽셀의 색상 값 계산은 다음과 같이 표현될 수 있다: , 여기서 는 조정 전후의 픽셀 i의 색상을 나타내고, H 및 H'는 조정 전후의 텍스처 이미지의 색상의 중간 값을 나타낸다.
끝과 끝이 맞닿게 연결된 연속적인 공간인 색상과 달리, 채도 및 명도는 0 및 1과 같은 경계 특이성들을 갖는다. 색상 조절과 유사한 선형 처리 방법이 사용되는 경우, 초기 픽처 또는 조정된 픽처의 중간 값이 0 또는 1에 가까울 때, 많은 픽셀 값들이 채도 또는 명도에 있어서 너무 높거나 너무 낮게 보일 것이다. 이 현상은 부자연스러운 색들을 야기한다. 이러한 문제를 해결하기 위해, 픽셀 조정 전후에 채도 및 명도를 피팅(fit)하기 위해 아래의 비선형 곡선이 사용된다:
상기 수학식에서, x 및 y는 제각기 조정 전후의 채도 또는 명도 값이다. 유일한 불확실한 파라미터는 다음과 같이 도출될 수 있는 이다
이 수학식은 이 0에서 1까지의 간격에 속하는 것을 보장할 수 있다. 채도를 예로 들면, 초기 중간 채도 는 단순히 입력 픽처에 기초하여 계산될 수 있다. 그리고 타깃 채도 값 는 모발 색 추출 및 색 공간 변환에 의해 획득될 수 있다. 따라서, . 디폴트 텍스처 이미지에서의 각각의 픽셀 에 대해, 조정된 값은 이후 수학식: 에 의해 계산될 수 있다. 동일한 계산들이 명도에 적용된다.
조정된 텍스처 픽처의 디스플레이 효과를 실제 픽처에 더 가깝게 하기 위해, 상이한 부분들에 대해 특수 처리가 행해진다. 예를 들어, 모발을 낮은 채도로 유지하기 위해, 이 설정된다. 도 18은 본 개시내용의 일부 구현들에 따른 일부 예시적인 색 조정 결과들을 예시한다. 열(1802)은 특정 게임에 의해 제공된 일부 디폴트 텍스처 픽처를 예시하고, 열(1804)은 동일한 행에서의 대응하는 디폴트 텍스처 픽처로부터 열(1804)의 상단에 도시된 실제 픽처에 따라 조정된 일부 텍스처 픽처들을 예시하고, 열(1806)은 동일한 행에서의 대응하는 디폴트 텍스처 픽처로부터 열(1806)의 상단에 도시된 실제 픽처에 따라 조정된 일부 텍스처 픽처들을 예시한다.
도 19는 본 개시내용의 일부 구현들에 따른 실제 사람의 2D 얼굴 이미지로부터 색을 추출하는 예시적인 프로세스를 도시하는 흐름도(1900)이다.
실제 사람의 2D 얼굴 이미지로부터 색을 추출하는 프로세스는 키포인트 예측 모델에 기초하여 2D 얼굴 이미지에서 복수의 키포인트를 식별하는 단계(1910)를 포함한다.
프로세스는 또한 식별된 복수의 키포인트로부터의 복수의 타깃 키포인트가 표준 얼굴의 대응하는 타깃 키포인트들과 정렬될 때까지 2D 얼굴 이미지를 회전시키는 단계(1920)를 포함한다;
프로세스는 회전된 2D 얼굴 이미지에서 복수의 부분의 위치를 찾는 단계(1930)를 추가로 포함하고, 각각의 부분은 식별된 복수의 키포인트의 각자의 서브세트에 의해 정의된다.
프로세스는 2D 얼굴 이미지의 픽셀 값들로부터, 키포인트들의 대응하는 서브세트에 의해 정의된 복수의 부분 각각에 대한 색을 추출하는 단계(1940)를 추가로 포함한다.
프로세스는 2D 얼굴 이미지에서의 복수의 부분의 추출된 색상들을 사용하여 2D 얼굴 이미지의 각자의 얼굴 특징 색과 매칭되는 실제 사람의 개인화된 3D 모델을 생성하는 단계(1950)를 추가로 포함한다.
추가적인 구현들은 다음의 특징들 중 하나 이상을 포함할 수 있다.
일부 실시예들에서, 식별하는 단계(1910)에서의 키포인트 예측 모델은 사용자에 의해 수동으로 주석이 달린 키포인트들로부터의 머신 러닝에 기초하여 형성된다.
일부 실시예들에서, 정렬을 위해 이용되는 회전 단계(1920)에서의 선택된 키포인트들은 2D 얼굴 이미지의 대칭적인 좌측 및 우측에 위치된다.
일부 실시예들에서, 단계(1940)에서, 복수의 부분 각각에 대해 평균 색을 추출하는 단계는 대응하는 부분 내에서의 각자의 정의된 영역 내의 모든 픽셀들의 R, G, B 값들 각각의 중간 값을 예측된 평균 색으로서 선택하는 단계를 포함할 수 있다.
일부 실시예들에서, 단계(1940)에서, 복수의 부분 각각에 대해 평균 색을 추출하는 단계는 피부 부분 내에서의 피부 색 추출을 위한 영역을 결정하는 단계, 및 피부 색 추출을 위한 영역 내의 모든 픽셀들의 R, G, B 값들 각각의 중간 값을 피부 부분의 예측된 평균 색으로서 선택하는 단계를 포함할 수 있다. 일부 실시예들에서, 피부 부분 내에서의 피부색 추출을 위한 영역은 눈 아래 및 얼굴 상의 코의 하부 에지 위의 영역으로서 결정된다.
일부 실시예들에서, 단계(1940)에서, 복수의 부분 각각에 대해 평균 색을 추출하는 단계는, 눈썹이 2D 얼굴 이미지의 뷰어(viewer)에 더 가까운 측에 있다는 결정에 따라, 눈썹을 타깃 눈썹으로서 선택하는 단계; 양 눈썹이 2D 얼굴 이미지의 뷰어에 동등하게 가깝다는 결정에 따라, 양 눈썹을 타깃 눈썹들로서 선택하는 단계; 타깃 눈썹(들) 내의 중앙 눈썹 영역(들)을 추출하는 단계; 중앙 눈썹 영역(들) 내의 각각의 픽셀 값을 평균 피부 색과 비교하는 단계; 임계값을 초과하는 평균 피부 색과의 픽셀 값 차이를 갖는 중앙 눈썹 영역(들) 내의 픽셀들을 수집하는 단계; 및 눈썹 색 추출을 위한 수집된 픽셀들의 R, G, B 값들 각각의 중간 값을 눈썹 부분의 예측된 평균 색으로서 선택하는 단계를 포함하는 눈썹 부분 내의 눈썹 색 추출을 포함할 수 있다.
일부 실시예들에서, 단계(1940)에서, 복수의 부분 각각에 대해 평균 색을 추출하는 단계는, 눈이 2D 얼굴 이미지의 뷰어에 더 가까운 측에 있다는 결정에 따라, 눈을 타깃 눈으로서 선택하는 단계; 양 눈이 2D 얼굴 이미지의 뷰어에 동등하게 가깝다는 결정에 따라, 양 눈을 타깃 눈들로서 선택하는 단계; 속눈썹들이 없는 타깃 눈(들) 내의 영역(들)을 추출하는 단계; 추출된 영역(들) 내의 각각의 픽셀 값을 미리 결정된 임계값과 비교하는 단계; 미리 결정된 임계값을 넘는 픽셀 값을 갖는 픽셀들을 추출된 영역(들) 내에서 수집하는 단계; 및 동공 색 추출을 위한 수집된 픽셀들의 R, G, B 값들 각각의 중간 값을 동공의 예측된 평균 색으로서 선택하는 단계를 포함하는 눈 부분 내의 동공 색 추출을 포함할 수 있다.
일부 실시예들에서, 단계(1940)에서, 복수의 부분 각각에 대해 평균 색을 추출하는 단계는, 하부 입술의 키포인트들에 의해 둘러싸이는 영역에서의 모든 픽셀들을 수집하는 단계, 및 입술 색 추출을 위한 수집된 픽셀들의 R, G, B 값들 각각의 중간 값을 입술 부분의 예측된 평균 색으로서 선택하는 단계를 포함하는 입술 부분 내의 입술 색 추출을 포함할 수 있다.
일부 실시예들에서, 단계(1940)에서, 복수의 부분 각각에 대해 평균 색을 추출하는 단계는, 양 측에서 모발 부분 내로 연장되는 이마의 부분을 포함하는 영역을 식별하는 단계; 영역의 중간으로부터 좌측 경계 및 우측 경계까지 미리 결정된 임계값을 넘는 픽셀 색 변화를 결정하는 단계; 미리 결정된 임계값을 넘는 픽셀 색 변화에 기초하여 영역을 모발 영역 및 상기 피부 영역으로 분할하는 단계; 및 영역 내의 모발 영역에 대한 픽셀들의 R, G, B 값들 각각의 중간 값을 모발 부분의 예측된 평균 색으로서 선택하는 단계를 포함하는 입술 부분 내의 입술 색 추출을 포함할 수 있다.
일부 실시예들에서, 양측의 모발 부분 내로 연장되는 이마의 부분을 포함하는 영역은 눈썹 코너들 둘 다에서 하부 경계를 갖는 직사각형 영역으로서 식별되고, 좌측 경계 및 우측 경계는 2D 얼굴 이미지의 대칭 좌측 및 우측에 위치된 키포인트들로부터 바깥쪽으로 고정된 거리에 있고, 높이는 눈썹의 상부 에지로부터 눈의 하부 에지까지의 거리를 가진다.
일부 실시예들에서, 단계(1940)에서, 복수의 부분 각각에 대해 평균 색을 추출하는 단계는, 눈이 2D 얼굴 이미지의 뷰어에 더 가까운 측에 있다는 결정에 따라, 눈을 타깃 눈으로서 선택하는 단계; 양 눈이 2D 얼굴 이미지의 뷰어에 동등하게 가깝다는 결정에 따라, 양 눈을 타깃 눈들로서 선택하는 단계; 타깃 눈(들)에 가까운 아이섀도우 부분 내의 중앙 영역(들)을 추출하고, 속눈썹들을 배제하기 위한 미리 결정된 밝기 임계값을 초과하는 밝기를 갖고, 미리 결정된 임계값을 초과하는 평균 피부 색상 값으로부터의 픽셀 색상 값 차이를 갖는 추출된 중앙 영역(들) 내의 픽셀들을 수집하는 단계; 추출된 중앙 영역(들) 내의 하나의 픽셀 열 내의 수집된 픽셀들의 수가 임계값보다 크다는 결정에 따라, 픽셀 열을 아이섀도우 열로서 라벨링하는 단계; 및 추출된 중앙 영역의 폭에 대한 아이섀도우 열들의 비율이 특정 임계값보다 크다는 결정에 따라, 아이섀도우 색 추출을 위한 수집된 픽셀들의 R, G, B 값들 각각의 중간 값을 아이섀도우 부분의 예측된 아이섀도우 색으로서 선택하는 단계를 포함하는 아이섀도우 부분 내의 아이섀도우 색 추출을 포함할 수 있다.
일부 실시예들에서, 실제 사람의 2D 얼굴 이미지로부터 색을 추출하는 프로세스는, RGB 색 공간 표현으로부터 HSV(색상, 채도, 명도) 색 공간 표현으로 평균 색을 변환하는 단계, 및 평균 색의 중간 HSV 값들과 텍스처 맵의 중간 HSV 값 픽셀들 사이의 차이를 감소시키기 위해 텍스처 맵의 색을 조정하는 단계를 포함하는, 텍스처 맵의 원래 밝기 및 색 차이들을 유지하면서 평균 색에 기초하여 텍스처 맵을 변환하는 단계를 추가로 포함할 수 있다.
본 명세서에 개시된 방법 및 시스템들은 캐릭터 모델링 및 게임 캐릭터 생성과 같은 상이한 시나리오들에서의 응용들에서 사용될 수 있다. 경량 방법이 모바일 디바이스들을 포함하는 상이한 디바이스들에 유연하게 적용될 수 있다.
일부 실시예들에서, 현재 시스템 및 방법에서의 얼굴의 키포인트들의 정의는 현재 정의로 한정되지 않으며, 각각의 부분의 윤곽들이 완전히 표현될 수 있는 한, 다른 정의들도 가능하다. 게다가, 일부 실시예들에서, 스킴(scheme)에서 직접 반환되는 색들은 직접 사용되는 것이 아니라, 사전 정의된 색 리스트와 매칭되어 추가적인 색 스크리닝 및 제어를 달성할 수 있다.
라플라시안 연산자를 최적화하는 변형 방법은 메시들이 미분가능한 매니폴드일 것을 요구한다. 그러나, 실제로, 게임 아티스트에 의해 만들어진 메시들은 종종 매니폴드의 속성을 손상시키는 복제된 정점, 실링되지 않은 에지와 같은 아티팩트를 포함한다. 따라서, 쌍조화 변형과 같은 방법들은 메시들이 주의 깊게 클린 업된 후에만 사용될 수 있다. 본 명세서에서 제안된 아핀 변형의 방법은 라플라시안 연산자를 사용하지 않고, 따라서 그러한 강한 제약들을 갖지 않는다.
쌍조화 변형에 의해 표현되는 변형 방법들의 패밀리는 일부 경우들에서 변형 능력들의 부적절함으로 인해 어려움을 겪는다. 라플라시안 연산자를 한 번 해결하는 고조파 함수들은 종종 그것의 낮은 평활도 요건으로 인해 평활화된 결과들을 달성할 수 없다. 고차(>=3) 라플라시안 연산자를 해결하는 폴리-하모닉(Poly-harmonic) 함수들은 적어도 6차 미분가능한 그들의 높은 요건으로 인해 많은 메시들에 대해 실패한다. 대부분의 경우들에서, 라플라시안 연산자를 두 번 해결하는 쌍조화 변형만이 수용가능한 결과들을 전달할 수 있다는 것이 관찰된다. 그렇기는 하지만, 그것의 변형은 튜닝 자유도의 부족 때문에 여전히 만족스럽지 않을 수 있다. 본 명세서에서 제안되는 아핀 변형은 평활도 파라미터를 변경함으로써 미묘한 변형 튜닝을 달성할 수 있으며, 그의 변형 결과들의 범위는 쌍조화 변형을 이용하는 것을 커버한다.
도 20은 본 개시내용의 일부 구현들에 따른 예시적인 머리 아바타 변형 및 생성 프로세스를 예시하는 흐름도이다. 본 개시내용에서 제안된 기법들을 사용하여, 머리 메시들은 골격과 바인딩되지 않고서 적절히 변형될 수 있다. 따라서, 아티스트들로부터 요구되는 작업 부하가 크게 감소된다. 이 기법들은 더 나은 일반성을 얻기 위해 상이한 메시 스타일들을 수용한다. 게임 자산들의 산출에서, 아티스트들은 3DMax 또는 Maya와 같은 도구들을 이용하여 다양한 포맷들로 머리 모델들을 저장할 수 있지만, 이러한 포맷들의 내부 표현들은 모두 다각형 메시들이다. 다각형 메시는 템플릿 모델이라 불리는 순수 삼각형 메시가 되도록 쉽게 변환될 수 있다. 각각의 템플릿 모델에 대해, 3D 키포인트들은 템플릿 모델 상에 한 번씩 손으로 마킹된다. 그 후에, 그것은 임의의 인간 얼굴 픽처로부터의 검출되고 재구성된 3D 키포인트들에 따라 특징적인 머리 아바타가 되도록 변형하기 위해 사용될 수 있다.
도 21은 본 개시내용의 일부 구현들에 따른 예시적인 머리 템플릿 모델 합성물을 예시하는 도면이다. 머리 템플릿 모델(2102)은 보통은, 도 21에 도시된 바와 같이, 얼굴(2110), 눈(2104), 속눈썹(2106), 치아(2108), 및 모발과 같은 부분들로 구성된다. 골격을 바인딩시키지 않고서, 메시 변형은 템플릿 메시들의 연결된 구조에 의존한다. 따라서, 템플릿 모델은 이들 시매틱(sematic) 부분들이 되도록 쪼개질 필요가 있고, 얼굴 메시는 먼저 변형될 필요가 있다. 모든 다른 부분들은 얼굴 메시 상의 특정 키포인트들을 셋업하고 따름으로써 자동으로 조정될 수 있다. 일부 실시예들에서, 모든 위상학적으로 연결된 부분들을 검출하기 위해 대화형 도구가 제공되고, 사용자들은 추가의 변형을 위해 그 시매틱 부분들을 편리하게 내보내기 위해 대화형 도구를 사용할 수 있다.
일부 실시예들에서, 인간 얼굴의 이미지 키포인트들은 어떤 검출 알고리즘들 또는 AI 모델들을 통해 획득될 수 있다. 메시 변형을 이루기 위한 목적을 위해, 이러한 키포인트들은 템플릿 모델 상의 정점들에 매핑되는 것이 필요하다. 메시 연결의 무작위성, 및 3D 인간 키포인트 마킹 데이터의 부족으로 인해, 임의의 머리 모델들 상의 3D 키포인트들을 정확하게 자동으로 마킹할 수 있는 도구들은 없다. 따라서, 3D 모델들 상의 키포인트들을 수동으로 빠르게 마킹할 수 있는 대화형 도구가 개발된다. 도 22는 본 개시내용의 일부 구현들에 따른, (2202, 2204)와 같은 현실감 있는 스타일 3D 모델 상의 그리고 (2206, 2208)과 같은 만화 스타일 3D 모델 상의 일부 예시적인 키포인트 마킹을 예시하는 도면이다.
마킹의 절차에서, 3D 모델들 상의 마킹된 3D 키포인트들의 위치들은 픽처 키포인트들을 가장 큰 정도로 매칭시켜야 한다. 키포인트들이 3D 모델 메시들 상의 이산 정점들 상에 마킹되므로, 편차들의 도입은 불가피하다. 그러한 편차들을 오프셋하기 위해, 한가지 방법은 자세 처리에서 적절한 규칙들을 정의하는 것이다. 도 23은 본 개시내용의 일부 구현들에 따른, 템플릿 모델 렌더링, 수동으로 마킹된 키포인트들 및 AI 검출된 키포인트들 사이의 예시적 비교를 예시하는 도면이다. 일부 실시예들에서, 비교적 현실적으로 만들어진 그러한 모델들에 대해, 키포인트 검출 및 재구성된 알고리즘들이 템플릿 모델의 렌더링(2302)에 적용될 수 있고, 예를 들어, 인공 지능에 의한 3D 키포인트들의 결과들(2306)은 수동으로 마킹된 것(2304)과 더 비교될 수 있고, 따라서 키포인트들의 2개의 그룹 사이의 편차들이 계산된다. 인간 픽처들을 검출할 때, 계산된 편차들은 실제 이미지 내의 검출된 키포인트들로부터 감소되고, 인공 마킹의 악영향이 제거될 것이다.
본 명세서에 개시된 아핀 변형의 방법은 궁극적으로 연립 일차 방정식(a system of linear equations)을 푸는 키포인트 주도 수학적 모델링이다. 본 명세서에 개시된 방법은 검출된 키포인트들을 경계 조건들로서 이용하여 템플릿 메시들을 변형하기 위한 하나의 단계를 취하고 최적화 프로세스에서 상이한 제약들을 채택한다. 도 24는 본 개시내용의 일부 구현들에 따른 예시적인 삼각형의 아핀 변환을 예시하는 도면이다.
일부 실시예들에서, 템플릿 메시들로부터 예측된 메시들로의 변형은 각각의 삼각형의 아핀 변환의 어셈블리(assembly)로서 고려된다. 삼각형의 아핀 변환은 3×3 행렬 T 및 병진 벡터 d로서 정의될 수 있다. 도 24에 도시된 바와 같이, 아핀 변환 후의 변형된 정점의 위치는 로서 표시되며, 여기서 은 삼각형의 각각의 정점을 제각기 나타내고, 는 삼각형의 법선의 방향으로 도입된 추가 포인트이며, 이는 수학식 를 충족시킨다. 상기 수학식에서, 외적(cross product)의 결과는 삼각형의 에지(edge)들의 길이에 비례하도록 정규화된다. 를 도입하는 이유는 3개의 정점의 좌표가 고유 아핀 변환을 결정하기에 충분하지 않기 때문이다. 를 도입한 후, 도출된 수학식 이 얻어지고, 행렬 T의 비-병진 부분이 결정된다. 행렬 이 템플릿 메시에만 의존하기 때문에, 다른 변형 인자들과는 무관하게, 이것은 이후에 선형 시스템(linear system)을 구축하기 위한 희소 계수 행렬로서 미리 계산될 수 있다.
지금까지 수학 공식들에서의 아핀 변환 T의 비-병진 부분이 표시되었다. 선형 최적화 시스템을 구축하기 위해, 메시 정점들의 수가 N이고 삼각형들의 수가 F라고 가정하면, 다음의 4개의 제약이 고려된다:
키포인트 위치들의 제약들: , 는 메시 변형 후에 검출된 키포인트 위치들을 나타낸다.
인접 평활도의 제약: , 이는 인접한 삼각형들 간의 아핀 변환이 가능한 한 유사해야만 한다는 것을 의미한다. 중복된 계산을 피하고 시스템을 구축하기 위한 성능을 향상시키기 위해 인접 관계가 사전에 조회되고 저장될 수 있다.
특성들의 제약들: , 여기서 는 항등 행렬을 나타낸다. 이 제약은 아핀 변환이 가능한 한 변경되지 않는 것에 가까워야 한다는 것을 의미하며, 이는 템플릿 메시의 특성들을 유지하는 것을 돕는다.
원래의 위치들의 제약들: , 여기서 는 변형 전의 템플릿 메시 상의 각각의 정점의 위치를 나타낸다.
최종 제약은 상기 제약들의 가중 합이다: , 여기서 가중치들 은 가장 강한 것으로부터 가장 약한 것으로 순위 매겨진다. 상기 제약을 사용하여, 선형 시스템이 궁극적으로 구성될 수 있고, 그의 크기는 (F+N) x (F+N)이며, 가중치들은 시스템에서의 대응하는 계수들로 곱해진다. 미지수들은 각각의 삼각형에 대한 여분의 포인트 외에, 변형 후의 각각의 정점의 좌표들이다. 그 앞의 항들이 유용하기 때문에, 의 결과는 버려질 것이다. 연속 변형의 프로세스에서, 키포인트들의 위치들의 제약들을 제외한 모든 제약 행렬들이 재사용될 수 있다. 아핀 변환은 수천 개의 정점들을 갖는 메시들에 관하여 통상의 개인용 컴퓨터 및 지능형 폰 상에서 30 fps의 실시간 성능을 달성할 수 있다.
도 25는 본 개시내용의 일부 구현들에 따른 블렌드 셰이프 프로세스의 유무에 따른 몇몇 머리 모델 변형 결과들의 예시적인 비교를 도시하는 도면이다.
일부 실시예들에서, 게임 아바타의 머리 모델을 변형시킬 때, 관심 영역은 보통 얼굴만이다. 머리 및 목의 상단, 배면은 변하지 않은 채로 남아 있어야 하며, 그렇지 않은 경우에는 머리와 모발 또는 몸통 사이의 메시 침투를 유발할 수 있다. 이 문제를 피하기 위해, 아핀 변형 및 템플릿 메시의 결과들은 블렌드 셰이프 방식으로 선형으로 보간된다. 블렌딩을 위한 가중치들은 3D 모델링 소프트웨어에서 페인팅될 수 있거나, 또는 사소한 변경들을 갖는 쌍조화 또는 아핀 변형으로 계산될 수 있다. 예를 들어, 키포인트들에 대한 가중치들은 1들로서 설정되는 한편, 더 많은 마커들(도 25의 (2504) 내의 어두운 포인트들)이 머리 모델 상에 추가되며, 그들의 가중치들은 0들인 것으로 설정된다. 일부 실시예들에서, 모든 가중치들이 0 내지 1의 범위에 속하는 것을 강제하기 위해 부등식 제약조건들이 문제 풀이 프로세스에서 추가되는데, 그렇게 하는 것은 문제 풀이의 복잡도를 크게 증가시킬 것이다. 실험을 통해 0보다 작거나 1보다 큰 가중치들을 잘라냄으로써(clipping) 양호한 결과가 얻어질 수 있다. 도 25의 (2504)에 도시된 바와 같이, 가장 어두운 색을 갖는 모델 부분의 가중치들은 1들이고, 무색인 모델 부분의 가중치들은 0들이다. 구부리기(bend) 가중치 렌더링(2504)에서 밝은 키포인트들과 어두운 마커들 사이에 자연스러운 천이가 있다. 블렌드 셰이프를 이용하면, 변형 후의 (도 25의 (2506)에 도시된 바와 같은) 모델의 배면은 (도 25의 (2502)에 도시된 바와 같은) 원본과 동일하게 유지된다. 블렌드 셰이프가 없다면, 변형 후의 (도 25의 (2508)에 도시된) 모델의 배면은 (도 25의 (2502)에 도시된) 원본과 동일하게 유지되지 않는다.
일부 실시예들에서, 아핀 변형은 쌍조화 변형의 결과를 시뮬레이션하는 것을 포함하여, 제약들의 가중치들을 조작함으로써 상이한 변형 효과들을 달성할 수 있다. 도 26은 본 개시내용의 일부 구현들에 따른 상이한 가중치들을 갖는 아핀 변형 및 쌍조화 변형의 예시적인 비교를 도시하는 도면이다. 도 26에 도시된 바와 같이, 평활도는 인접 평활도 가중치 와 특성 가중치 의 비율이다. 어두운 포인트들은 키포인트들이고, 색의 어두움은 정점의 변형된 위치와 그것의 원래 위치 사이의 변위를 나타낸다. 모든 변형 결과들에서, 하나의 키포인트는 변경되지 않은 채로 유지되고, 다른 키포인트들은 동일한 로케이션으로 이동한다. 이는, 특성 가중치에 대해 인접 평활도 가중치를 점차 증가시킬 때, 변형된 구체의 평활도도 그에 대응하여 증가한다는 것을 보여준다. 또한, 쌍조화 변형의 결과는 10과 100 사이의 어딘가에 속하는 평활도를 갖는 아핀 변형의 결과와 매칭될 수 있다. 이는 아핀 변형이 쌍조화 변형과 비교해 더 많은 변형 자유도를 갖는다는 것을 나타낸다.
본 명세서에 설명된 작업흐름을 이용하여, 게임은 머리 아바타의 지능적 생성 기능을 쉽게 통합할 수 있다. 예를 들어, 도 27은 본 개시내용의 일부 구현들에 따른 현실적 템플릿 모델을 이용하여, 일부 무작위로 뽑힌 여성 픽처들(도 27에 도시되지 않음)로부터 자동으로 생성되는 몇몇 예시적인 결과들을 도시한다. 모든 개인화된 머리 아바타들은 그것의 대응하는 픽처의 일부 특성들을 반영한다.
도 28은 본 개시내용의 일부 구현들에 따른 실제 사람의 2D 얼굴 이미지로부터 3D 머리 변형 모델을 생성하는 예시적인 프로세스를 도시하는 흐름도(2800)이다.
2D 얼굴 이미지로부터 3D 머리 변형 모델을 생성하는 프로세스는 2차원(2D) 얼굴 이미지를 수신하는 단계(2810)를 포함한다.
프로세스는 또한 인공 지능(AI) 모델들에 기초하여 2D 얼굴 이미지에서 제1 세트의 키포인트들을 식별하는 단계(2820)를 포함한다.
프로세스는, 3D 머리 템플릿 모델 상에 위치된 사용자 제공 키포인트 주석들의 세트에 기초하여, 제1 세트의 키포인트들을, 3D 머리 템플릿 모델의 메시의 복수의 정점 상에 위치된 제2 세트의 키포인트들에 매핑하는 단계(2830)을 추가로 포함한다.
프로세스는 제1 세트의 키포인트들과 제2 세트의 키포인트들 사이의 차이들을 감소시킴으로써 변형된 3D 머리 메시 모델을 획득하기 위해 3D 머리 템플릿 모델의 메시에 대해 변형을 수행하는 단계(2840)을 추가로 포함한다. 일부 실시예들에서, 제1 세트 내의 키포인트와 제2 세트 내의 키포인트 사이에 대응관계가 존재한다. 제2 세트의 키포인트들을 제1 세트의 키포인트들과 동일한 공간에 투사한 후에, 제1 세트의 키포인트들과 제2 세트의 키포인트들 각각 사이의 위치 차이들을 측정하는 함수가 생성된다. 3D 머리 템플릿 모델의 메시에 대해 변형을 수행함으로써, 공간 내의 제2 세트의 키포인트들은, 제1 세트의 키포인트들과 제2 세트의 키포인트들 각각 사이의 위치 차이들(예를 들어, 위치들, 인접 평활도, 특성들 등)을 측정하는 함수가 최소화될 때 최적화된다.
프로세스는 변형된 3D 머리 메시 모델에 블렌드 셰이프 방법을 적용하여 2D 얼굴 이미지에 따라 개인화된 머리 모델을 획득하는 단계(2850)을 추가로 포함한다.
추가적인 구현들은 다음의 특징들 중 하나 이상을 포함할 수 있다.
일부 실시예들에서, 매핑 단계(2830)는: 2D 얼굴 이미지 상의 제1 세트의 키포인트들을 3D 머리 템플릿 모델의 메시 상의 복수의 정점에 관련시키는 단계; 3D 머리 템플릿 모델의 메시 상의 복수의 정점 상의 사용자 제공 키포인트 주석들의 세트에 기초하여 제2 세트의 키포인트들을 식별하는 단계; 및 얼굴 상의 각자의 키포인트들에 의해 대응하는 식별된 특징들에 기초하여 제1 키포인트 세트 및 제2 키포인트 세트를 매핑하는 단계를 추가로 포함할 수 있다.
일부 실시예들에서, 제2 세트의 키포인트들은 이전에 계산된 편차를 사용자 제공 키포인트 주석들의 세트에 적용함으로써 위치가 찾아진다. 일부 실시예들에서, 이전에 계산된 편차는 3D 머리 템플릿 모델의 AI 식별된 키포인트들의 이전 세트와 3D 머리 템플릿 모델의 메시의 복수의 정점 상의 사용자 제공 키포인트 주석들의 이전 세트 사이에 있다.
일부 실시예들에서, 변형을 수행하는 단계(2840)는 제1 세트의 키포인트들을 제2 세트의 키포인트들에 매핑하는 것을 사용함으로써, 그리고 제1 세트의 키포인트들에 관련한 변형을 위한 경계 조건들을 사용함으로써, 3D 머리 템플릿 모델의 메시를 변형된 3D 머리 메시 모델이 되도록 변형시키는 단계를 포함할 수 있다.
일부 실시예들에서, 변형을 수행하는 단계(2840)는 키포인트들의 위치들, 인접 평활도, 특성들, 및 원래 위치들 중 하나 이상을 포함하는 변형 최적화의 프로세스에서의 상이한 제약들을 적용하는 단계를 추가로 포함할 수 있다.
일부 실시예들에서, 변형을 수행하는 단계(2840)는 키포인트들의 위치들, 인접 평활도, 특성들, 및 원래 위치들 중 하나 이상의 가중 합인 변형 프로세스에서의 제약을 적용하는 단계를 추가로 포함할 수 있다.
일부 실시예들에서, 제1 세트의 키포인트들을 식별하는 단계(2820)는 CNN(convolutional neural network)을 이용하는 단계를 포함한다.
일부 실시예들에서, 변형은 라플라시안 연산자 없는 아핀 변형을 포함한다. 일부 실시예들에서, 아핀 변형은 평활도 파라미터를 변경함으로써 변형 튜닝을 달성한다.
일부 실시예들에서, 3D 머리 템플릿 모델의 메시는 골격과의 바인딩 없이 변형될 수 있다. 일부 실시예들에서, 얼굴 변형 모델은 현실적 스타일 모델 또는 만화 스타일 모델을 포함한다.
일부 실시예들에서, 단계(2850)에서, 변형된 3D 머리 메시 모델에 블렌드 셰이프 방법을 적용하는 것은: 키포인트의 로케이션에 따라 변형된 3D 머리 메시 모델의 키포인트에 대해 각자의 블렌드 가중치를 지정하는 것; 및 상이한 블렌드 가중치들을 갖는 키포인트들에 상이한 레벨들의 변형들을 적용하는 것을 포함한다.
일부 실시예들에서, 단계(2850)에서, 변형된 3D 머리 메시 모델에 블렌드 셰이프 방법을 적용하는 것은 변형된 3D 머리 메시 모델의 배면을 변형 전의 3D 머리 템플릿 모델의 원래 배면 형상과 동일한 형상으로 유지하는 것을 포함한다.
일부 실시예들에서, 템플릿 모델 상의 시매틱 부분들은 눈, 속눈썹, 또는 치아로 제한되지 않는다. 안경과 같은 장식들이 얼굴 메시 상에 새로운 키포인트들을 추가하고 추적함으로써 잠재적으로 적응적으로 조정될 수 있다.
일부 실시예들에서, 템플릿 모델 상의 키포인트들이 수동으로 추가된다. 일부 다른 실시예들에서, 상이한 템플릿 모델들에 대한 키포인트들을 자동으로 추가하기 위해 딥 러닝 기법들이 또한 활용될 수 있다.
일부 실시예들에서, 아핀 변형의 문제풀이 절차는 그의 컴퓨팅 성능을 더 개선하기 위해 몇몇 수치적 요령(trick)을 이용할 수 있다.
일부 실시예들에서, 본 명세서에 개시된 시스템 및 방법은 이하에 열거된 것들과 같은 많은 이점을 갖는 경량 키포인트 기반 얼굴 아바타 생성 시스템을 형성한다:
입력 이미지들에 대한 낮은 요건. 시스템 및 방법은 얼굴이 카메라를 직접 향할 것을 요구하지 않고, 어느 정도의 면내 회전, 면외 회전, 및 폐색은 성능에 명백하게 영향을 미치지 않을 것이다.
실제 및 만화 게임 둘 다에 적용가능함. 본 시스템은 게임 스타일을 실제의 것으로 제한하지 않으며, 만화 스타일에도 적용될 수 있다.
경량화 및 맞춤화. 본 시스템의 각각의 모듈은 비교적 경량이고 모바일 디바이스들에 대해 적합하다. 이 시스템 내의 모듈들은 분리되고, 사용자들은 최종 얼굴 생성 시스템을 구축하기 위해 상이한 게임 스타일들에 따라 상이한 조합들을 채택할 수 있다.
일부 실시예들에서, 주어진 단일 사진에 대해, 주 얼굴이 먼저 검출되고, 키포인트 검출이 수행된다. 실제 픽처에서, 얼굴은 카메라와 마주하지 않을 수 있고, 실제 얼굴은 항상 완벽하게 대칭인 것은 아니다. 따라서, 원래 픽처 내의 키포인트들은 키포인트들의 통합되고 대칭적이고 평활한 세트를 달성하기 위해 전처리된다. 그 후, 키포인트들은 확대된 눈들 및 얇은 얼굴과 같은 게임의 특정 스타일에 따라 조정된다. 스타일화된 키포인트들을 얻은 후에, 스타일화된 키포인트들은 게임에서 얼굴 모델의 제어 파라미터들, 일반적으로 뼈 파라미터들 또는 슬라이더 파라미터들이 되도록 변환된다.
일부 실시예들에서, 실제 얼굴의 시야각(viewing angle)은 카메라를 직접 향하지 않을 수 있고, 좌우 비대칭 및 키포인트 검출 오류들과 같은 문제들이 존재할 수 있다. 도 29는 본 개시내용의 일부 구현들에 따른 예시적인 키포인트 처리 흐름 단계들을 예시하는 도면이다. 원래 픽처로부터 검출된 키포인트(2904)는 직접 사용될 수 없고, 특정 처리가 요구된다. 여기서, 프로세스는 도 29에 도시된 바와 같이 3개의 단계, 즉 정규화, 대칭화, 및 평활화로 분할된다.
일부 실시예들에서, 실제 얼굴의 키포인트들의 예측에 기초한 게임에서의 표준 얼굴 모델은 조정될 필요가 있다. 프로세스는 게임 및 실제 얼굴에서의 표준 얼굴 모델의 키포인트들이 스케일, 위치, 및 방향에 관하여 정렬되는 것을 보장할 필요가 있다. 따라서, 게임 얼굴 모델 상의 예측된 키포인트들 및 키포인트들의 정규화(2906)는 다음의 부분들을 포함한다: 스케일의 정규화, 병진의 정규화, 및 각도의 정규화.
일부 실시예들에서, 원래 검출의 모든 3차원 얼굴 키포인트들은 p로서 정의되고, 여기서 i번째 키포인트는 이다. 예를 들어, 정규화된 원점은 키포인트 번호 1 및 17(도 1의 키포인트의 정의를 참조)의 중간 포인트로서 정의되는데, 즉 이다. 스케일에 대해, 원점으로부터 제1 및 제17 키포인트들 사이의 거리는 1로 조정되어, 스케일 및 병진에 의해 정규화된 3차원 키포인트는 이도록 한다.
일부 실시예들에서, 스케일 및 병진을 정규화한 후에, 얼굴 방향이 추가로 정규화된다. 도 29의 이미지(2902)에 도시된 바와 같이, 실제 사진 내의 얼굴은 렌즈를 직접 향하지 않을 수 있으며, 3개의 좌표축 상에 존재할 수 있는 특정 편향이 항상 존재할 것이다. x, y 및 z 좌표축들을 따르는 얼굴의 예측된 3차원 키포인트들은 얼굴의 방향이 카메라를 향하도록 순차적으로 회전된다. x를 따라 회전될 때, (도 1의 키포인트들의 정의를 참조하는) 키 포인트들 18 및 24의 z 좌표들이 정렬되는데, 즉, 회전 행렬 를 획득하기 위해, 코의 다리(bridge)의 최상부 부분의 깊이가 코의 바닥과 동일한 깊이에 있다고 하자. y축을 따라 회전될 때, 키포인트들 1 및 17의 z 좌표들은 회전 행렬 를 얻기 위해 정렬된다. z 축을 따라 회전될 때, 키포인트들 1 및 17의 y 좌표들은 회전 행렬 를 얻기 위해 정렬된다. 따라서, 키포인트들의 방향은 정렬되고, 정규화된 키포인트들은 아래와 같이 도시된다:
일부 실시예들에서, 정규화된 키포인트들의 스케일, 위치, 및 각도는 균일하도록 조정되었지만, 획득된 키포인트들은 종종 완벽한 얼굴이 아니다. 예를 들어, 코의 다리는 중심에서 직선이 아니고, 얼굴 특징들은 대칭이 아닐 수 있다. 이는, 표현이나 그 자신의 특성들로 인해 사진 내의 실제 얼굴이 완벽하게 대칭이 아니고, 키포인트를 예측할 때 추가 오류가 도입될 것이기 때문이다. 실제 얼굴이 대칭이 아닐 수 있지만, 게임에서의 얼굴 모델이 대칭이 아닌 경우, 그것은 보기 흉한 외관을 야기할 것이고 사용자 경험을 크게 감소시킬 것이다. 따라서, 2908에 도시된 키포인트 대칭은 필요한 프로세스이다.
키포인트들이 정규화되었기 때문에, 일부 실시예들에서, 간단한 대칭 방법은 원래의 y 및 z 좌표들을 대체하기 위해 모든 좌측 및 우측 대칭 키포인트들의 y 및 z 좌표들을 평균화하는 것이다. 이 방법은 대부분의 경우들에서 잘 작동하지만, 얼굴이 y축 방향으로 큰 각도로 회전될 때, 성능이 희생될 것이다.
일부 실시예들에서, 도 29의 인간 얼굴을 예로서 이용하여, 얼굴이 큰 각도만큼 좌측으로 편향될 때, 눈썹들의 일부는 보이지 않을 것이다. 동시에, 왼쪽 눈은 원근법으로 인해 오른쪽 눈보다 작을 것이다. 3D 키포인트들이 원근 관계에 의해 야기되는 영향을 부분적으로 보상할 수 있지만, 키포인트들에 대응하는 3D 키포인트들의 2D 투사는 여전히 픽처 상에 유지될 필요가 있다. 따라서, 과도하게 큰 각도 편향은 3D 키포인트 검출 결과들에서 눈들 및 눈썹들의 크기들의 명백한 차이들을 초래할 것이다. 각도에 의해 야기되는 영향을 다루기 위해, y축을 따른 얼굴 편향 각도가 클 때, 렌즈에 가까운 눈들 및 눈썹들은 주 눈 및 주 눈썹으로서 사용되고, 그들은 각도 편향에 의해 야기되는 오차를 감소시키기 위해 다른 측에 복사된다.
일부 실시예들에서, 키포인트들의 예측 오차가 불가피하기 때문에, 일부 개별 경우들에서, 대칭화된 키포인트들이 여전히 실제 얼굴과 매칭되지 않을 수 있다. 실제 얼굴들 및 얼굴 특징들의 형상들이 매우 상이하기 때문에, 미리 정의된 파라미터화된 곡선들을 사용하여 비교적 정확한 기술(description)을 달성하는 것은 어렵다. 따라서, 2910에 도시된 바와 같이 평활화할 때, 일부 영역들, 예를 들어, 얼굴, 눈, 눈썹, 아랫입술 등의 윤곽만이 평활화된다. 이들 영역들은 기본적으로 단조롭고 매끄러운 것을 유지하는데, 즉 들쭉날쭉한 상태가 없다. 이 경우, 타깃 곡선은 항상 볼록 곡선 또는 오목 곡선이어야 한다.
일부 실시예들에서, 키포인트들이 볼록 곡선(또는 오목 곡선)의 정의를 충족시키는지는 관심사가 된 경계에 대해 하나씩 체크된다. 도 30은 본 개시내용의 일부 구현들에 따른 예시적 키포인트 평활화 프로세스 2910을 나타내는 도면이다. 도 30에 도시된 바와 같이, 일반성을 잃지 않고, 타깃 곡선은 볼록해야 한다. 각각의 키포인트(3002, 3004, 3006, 3008, 및 3010)에 대해, 그 위치가 그 인접한 좌측 및 우측 키 포인트들의 라인 위에 있는지가 체크된다. 조건들이 충족되는 경우, 이는 현재 키포인트가 볼록 곡선 요건들을 충족시킨다는 것을 의미한다. 그렇지 않으면, 현재의 키포인트는 좌측 및 우측 키포인트들을 연결하는 선까지 이동된다. 예를 들어, 도 30에서, 키 포인트(3006)는 볼록 곡선의 제한을 충족시키지 못하며, 그것은 위치(3012)로 이동될 것이다. 다중의 키포인트가 이동되는 경우, 곡선은 이동 후에 볼록하거나 오목한 것이 되도록 보장되지 않을 수 있다. 따라서, 일부 실시예들에서, 다중의 평활화 라운드가 비교적 평활한 키 포인트 곡선을 얻기 위해 사용된다.
상이한 게임들은 상이한 얼굴 스타일들을 갖는다. 일부 실시예들에서, 실제 얼굴들의 키포인트들은 게임에 의해 요구되는 스타일들이 되도록 변환될 필요가 있다. 실제 스타일 게임 얼굴들은 유사하지만, 만화 얼굴들은 매우 상이하다. 따라서, 키포인트들의 스타일화에 대한 균일한 표준을 갖는 것은 어렵다. 실제 사용에서의 스타일화의 정의는 특정 게임 스타일에 따라 얼굴의 특성들을 조정하는 게임 설계자로부터 온다.
일부 실시예들에서, 대부분의 게임들이 필요로 할 수 있는 더 일반적인 얼굴 조정 스킴이 구현된다. 예를 들어, 얼굴 길이 조정, 폭 조정, 얼굴 특징들 등. 상이한 게임 아트 스타일들, 조정 레벨들, 줌 비율들 등에 따라, 맞춤형 정정들이 이루어질 수 있다. 동시에, 사용자들은 또한 임의의 특수 스타일 조정 방법들을 맞춤화할 수 있는데, 예를 들어, 눈 형상을 직사각형으로 변경할 수 있다. 시스템은 임의의 조정 방식을 지원할 수 있다.
일부 실시예들에서, 스타일화된 얼굴의 키포인트들에 의해, 표준 게임 얼굴은 변형된 얼굴의 키포인트들이 타깃 키포인트들의 위치에 도달하도록 변형된다. 대부분의 게임들이 얼굴을 조정하기 위해 뼈들 또는 슬라이더들과 같은 제어 파라미터들을 이용하므로, 키포인트들을 타깃 위치로 이동시키기 위해 제어 파라미터들의 세트가 필요하다.
상이한 게임들에서 뼈들 또는 슬라이더들의 정의들이 변할 수 있고 또한 언제라도 수정의 가능성이 있기 때문에, 키포인트들로부터 뼈 파라미터들까지 간단한 파라미터화된 함수들을 직접 정의하는 것은 실현가능하지 않다. 일부 실시예들에서, K2P(keypoints to parameters) 네트워크라고 불리는 신경 네트워크를 통해 키포인트들을 파라미터들로 변환하기 위해 머신 러닝 방법이 사용된다. 일반적인 파라미터들 및 키포인트들의 수가 크지 않기 때문에(일반적으로 100개 미만), 일부 실시예들에서, K-계층 완전 연결 네트워크가 사용된다.
도 31은 본 개시내용의 일부 구현들에 따른 예시적인 키포인트 대 제어 파라미터(K2P) 변환 프로세스를 도시하는 블록도이다. 머신 러닝 방법을 사용하기 위해, 일부 실시예들에서, 먼저 뼈들 또는 슬라이더 파라미터들이 무작위로 샘플링되고, 게임 클라이언트(3110)에 공급되며, 생성된 게임 얼굴에서 키포인트들이 추출된다. 이러한 방식으로, 많은 훈련 데이터가 획득될 수 있다(파라미터들(3112) 및 키포인트들(3114) 쌍들). 그 다음, 자체 감독형 머신 러닝 방법이 구현되는데, 이것은 2개의 단계로 분할된다: 제1 단계는 P2K(parameters to keypoints) 네트워크(3116)를 훈련하여 게임 파라미터 대 키포인트를 생성하는 프로세스를 시뮬레이션하는 것이다. 제2 단계에서, 많은 수의 라벨링되지 않은 실제 얼굴 이미지들(3102)을 이용하여, 본 명세서에서 설명되는 방법들에 따라 실제 얼굴 키포인트들(3104) 및 그 후에 많은 수의 스타일화된 키포인트들(3106)을 생성한다. 이들 라벨링되지 않은 스타일화된 키포인트들(3106)은 자체 감독형 러닝 훈련 데이터이다. 일부 실시예들에서, 키포인트들의 세트 K는 출력 파라미터 P를 얻도록 학습하기 위해 K2P 네트워크(3108)에 입력된다. 이들 키포인트들에 대응하는 이상적인 파라미터들의 실측 정보(ground truth)는 이용가능하지 않으므로, P는 키 포인트 K'를 획득하기 위하여 제1 단계에서 훈련된 P2K 네트워크(3116)에 추가로 입력된다. 일부 실시예들에서, K와 K' 사이의 MSE(Mean Square Error) 손실을 계산함으로써, K2P 네트워크(3108)가 학습될 수 있다. 일부 실시예들에서, 제2 단계 동안, P2K 네트워크(3116)는 고정되고 계속 조정되지 않을 것이다. P2K 네트워크(3116)의 도움으로, 키포인트들에 대한 게임 클라이언트(3110)의 파라미터들을 제어하는 프로세스는 신경망을 이용하여 시뮬레이션되며, 따라서 제2 단계에서 K2P 네트워크(3108)의 학습을 위한 토대를 마련한다. 이러한 방식으로, 파라미터들에 의해 생성된 최종 얼굴은 생성된 타깃 스타일화된 얼굴의 키포인트들에 가깝게 유지된다.
일부 실시예들에서, 동시에, K와 K' 사이의 MSE 손실을 계산할 때 대응하는 가중치들을 조정함으로써 눈의 키포인트와 같은 특정의 키포인트에 대한 가중치가 추가된다. 키포인트들의 정의는 미리 정의되고 게임 클라이언트의 뼈들 또는 슬라이더들에 의해 영향을 받지 않을 것이기 때문에, 가중치를 조정하는 것이 더 쉽다.
일부 실시예들에서, 실제 응용들에서, 모델의 정확도를 개선하기 위해, 분리될 수 있는 부분에 대해, 신경망들은 개별적으로 훈련될 수 있다. 예를 들어, 몇몇 뼈 파라미터들이 눈 영역의 키포인트들에만 영향을 미치는 한편, 다른 파라미터들은 이 영역에 영향을 미치지 않는 경우, 이들 파라미터들 및 키포인트들의 이 부분은 독립 영역들의 세트를 형성한다. 별개의 K2P 모델(3108)이 이러한 영역들의 각각의 그룹에 대해 훈련되고, 각각의 모델은 더 경량의 네트워크 설계를 채택할 수 있다. 이는 모델의 정확도를 더 개선할 수 있을 뿐만 아니라, 계산 복잡도를 감소시킬 수 있다.
도 32는 본 개시내용의 일부 구현들에 따른, 모바일 게임의 자동 얼굴 생성의 일부 예시적인 결과들을 도시한다. 도 32에 도시된 바와 같이, 원래 얼굴 이미지들(3202 및 3206)로부터 게임 얼굴 아바타 이미지 생성들(3204 및 3208)까지의 결과들이 예시되어 있다. 일부 실시예들에서, 스타일화할 때, 개방된 입은 닫히고, 상이한 수준의 제약 및 만화화가 코, 입, 얼굴 형상, 눈 및 눈썹에 적용된다. 최종 생성된 결과들은 여전히 특정 인간 얼굴 특성들을 유지하고 게임 스타일에 대한 심미적 요건들을 충족시킨다.
도 33은 본 개시내용의 일부 구현들에 따른 실제 사람의 2D 얼굴 이미지를 이용하여 게임에서 아바타의 표준 얼굴을 맞춤화하는 예시적인 프로세스를 예시하는 흐름도(3300)이다.
실제 사람의 2D 얼굴 이미지를 이용하여 게임에서 아바타의 표준 얼굴을 맞춤화하는 프로세스의 프로세스는 2D 얼굴 이미지에서 대상 키포인트들의 세트를 식별하는 단계(3310)을 포함한다. 앞서 살펴본 바와 같이, 대상은 실제 사람 또는 가상 세계에서의 가상 캐릭터일 수 있다.
프로세스는 또한 대상 키포인트들의 세트를 게임 내의 아바타와 연관된 아바타 키포인트들의 세트가 되도록 변환하는 단계(3320)을 포함한다.
프로세스는 아바타 키포인트들의 세트에 K2P(keypoint-to-parameter) 신경망 모델을 적용함으로써 아바타의 표준 얼굴에 대한 얼굴 제어 파라미터들의 세트를 생성하는 단계(3330)을 추가로 포함하는데, 얼굴 제어 파라미터들의 세트는 각각 표준 얼굴의 복수의 얼굴 특징 중 하나에 관련된다. 도 31과 연계하여 앞서 유의한 바와 같이, K2P 네트워크(3108)는 입력 아바타 키포인트들의 세트에 기초하여 얼굴 제어 파라미터들의 세트를 예측하는 딥 러닝 신경망 모델인데, 그 이유는 상이한 아바타 키포인트들의 세트들이 상이한 얼굴 제어 파라미터들의 세트들에 대응할 수 있고, 따라서 얼굴 제어 파라미터들의 세트가 아바타의 표준 얼굴에 적용될 때, 조정된 표준 얼굴의 키포인트들이 입력 아바타 키포인트들의 세트와 유사한 키포인트들의 세트를 가질 수 있기 때문이다.
프로세스는 얼굴 제어 파라미터들의 세트를 표준 얼굴에 적용함으로써 표준 얼굴의 복수의 얼굴 특징을 조정하는 단계(3340)를 추가로 포함한다.
추가적인 구현들은 다음의 특징들 중 하나 이상을 포함할 수 있다.
일부 실시예들에서, 단계(3330)에서, K2P 신경망 모델은: 실제 사람들의 복수의 훈련 2D 얼굴 이미지를 획득하고; 복수의 훈련 2D 얼굴 이미지 각각에 대해 훈련 게임-스타일 또는 아바타 키포인트들의 세트를 생성하고; 훈련 게임-스타일 또는 아바타 키포인트들의 각각의 세트를 K2P 신경망 모델에 제출하여 얼굴 제어 파라미터들의 세트를 획득하고; 얼굴 제어 파라미터들의 세트를 미리 훈련된 P2K(parameter to keypoint) 신경망 모델에 제출하여 훈련 게임-스타일 또는 아바타 키포인트들의 세트에 대응하는 예측된 게임-스타일 또는 아바타 키포인트들의 세트를 획득하고; 및 훈련 게임-스타일 또는 아바타 키포인트들의 세트와 예측된 게임-스타일 또는 아바타 키포인트들의 대응하는 세트 사이의 차이를 감소시킴으로써 K2P 신경망 모델을 업데이트함으로써 훈련된다. 도 31과 연계하여 앞서 유의한 바와 같이, K2P 네트워크(3108)와는 반대로, P2K 네트워크(3116)는 입력 얼굴 제어 파라미터들의 세트에 기초하여 아바타 키포인트들의 세트를 예측하는 딥 러닝 신경망 모델인데, 그 이유는 얼굴 제어 파라미터들의 상이한 세트들이 아바타 키포인트들의 상이한 세트들을 야기할 수 있고, 따라서 2개의 신경망 모델이 서로의 역 프로세스를 수행하는 것으로 여겨질 때 P2K 네트워크(3116)와 연관된 출력 아바타 키포인트들의 세트가 K2P 네트워크(3108)와 연관된 입력 아바타 키포인트들의 세트와 매칭되어야 하기 때문이다.
일부 실시예들에서, 미리 훈련된 P2K 신경망 모델은 게임 내의 아바타와 연관된 뼈들 또는 슬라이더 파라미터들을 포함하는 제어 파라미터들의 세트를 수신하고; 및 제어 파라미터들의 세트에 따라 게임 내의 아바타에 대한 게임 스타일 키포인트들의 세트를 예측하도록 구성된다.
일부 실시예들에서, 훈련 게임-스타일 키포인트들의 세트와 예측된 게임-스타일 키포인트들의 대응하는 세트 간의 차이는 훈련 게임-스타일 키포인트들의 세트와 예측된 게임-스타일 키포인트들의 대응하는 세트 간의 평균 제곱 오차(mean square error)들의 합이다.
일부 실시예들에서, 훈련된 K2P 및 미리 훈련된 P2K 신경망 모델들은 게임에 특정적이다.
일부 실시예들에서, 2D 얼굴 이미지 내의 실제 키포인트들의 세트는 2D 얼굴 이미지 내의 실제 사람의 얼굴 특징들에 대응한다.
일부 실시예들에서, 게임 내의 아바타의 표준 얼굴은 상이한 실제 사람들의 얼굴 이미지들에 따라 게임의 상이한 캐릭터들이 되도록 맞춤화될 수 있다.
일부 실시예들에서, 아바타의 변형된 얼굴은 실제 사람의 만화 스타일 얼굴이다. 일부 실시예들에서, 아바타의 변형된 얼굴은 실제 사람의 실제 스타일 얼굴이다.
일부 실시예들에서, 단계(3320)에서, 실제 키포인트들의 세트를 게임-스타일 키포인트들의 세트가 되도록 변환하는 단계는: 실제 키포인트들의 세트를 정준 공간(canonical space)이 되도록 정규화하는 단계; 실제 키포인트들의 정규화된 세트를 대칭화하는 단계; 및 게임 내의 아바타와 연관된 미리 정의된 스타일에 따라 실제 키포인트들의 대칭화된 세트를 조정하는 단계를 포함한다.
일부 실시예들에서, 실제 키포인트들의 세트를 정준 공간이 되도록 정규화하는 단계는: 실제 키포인트들의 세트를 정준 공간이 되도록 스케일링하는 단계; 및 2D 얼굴 이미지에서 실제 키포인트들의 세트의 오리엔테이션들에 따라 스케일링된 실제 키포인트들의 세트를 회전시키는 단계를 포함한다.
일부 실시예들에서, 실제 키포인트들의 세트를 게임 스타일 키포인트들의 세트가 되도록 변환하는 단계는 미리 정의된 볼록 또는 오목 곡선 요건들을 충족시키기 위해 대칭화된 키포인트들의 세트를 평활화하는 단계를 추가로 포함한다.
일부 실시예들에서, 게임 내의 아바타와 연관된 미리 정의된 스타일에 따라 실제 키포인트들의 대칭화된 세트를 조정하는 것은 얼굴 길이 조정, 얼굴 폭 조정, 얼굴 특징 조정, 줌 조정, 및 눈 형상 조정 중 하나 이상을 포함한다.
본 명세서에 개시된 시스템 및 방법은 실제 스타일 게임 및 만화 스타일 게임 둘 다에 대한 다양한 게임들을 위한 자동 얼굴 생성 시스템에 적용될 수 있다. 시스템은 통합되기 쉬운 인터페이스를 가져서, 사용자 경험을 향상시킨다.
일부 실시예들에서, 본 명세서에 개시된 시스템 및 방법은 다양한 게임들에 대한 3D 얼굴 아바타 생성 시스템에서 사용될 수 있고, 복잡한 수동 튜닝 프로세스가 사용자 경험을 개선하기 위해 자동화된다. 사용자는 셀피를 촬영하거나 기존 사진을 업로드할 수 있다. 시스템은 사진 내의 얼굴로부터 특징들을 추출한 다음, AI 얼굴 생성 시스템을 통해 게임 얼굴의 제어 파라미터들(예를 들어, 뼈들 또는 슬라이더들)을 자동으로 생성할 수 있다. 게임 단은 이들 파라미터를 이용하여 얼굴 아바타를 생성하여, 생성된 얼굴이 사용자의 얼굴 특징을 갖도록 한다.
일부 실시예들에서, 이 시스템은 키포인트 정의, 스타일화 방법, 골격/슬라이더의 정의 등을 포함하여 상이한 게임들에 따라 쉽게 맞춤화될 수 있다. 사용자들은 특정 파라미터들만을 조정하거나, 모델을 자동으로 재훈련하거나, 커스텀 제어 알고리즘들을 추가하도록 선택할 수 있다. 이러한 방식으로, 본 발명은 상이한 게임들에 쉽게 배치될 수 있다.
추가 실시예들은 또한 다양한 다른 실시예들에서 조합되거나 다른 방식으로 재배열된 상기 실시예들의 다양한 서브세트들을 포함한다.
여기서, 본 출원의 실시예들의 이미지 처리 장치는 첨부 도면들의 설명들을 참조하여 구현된다. 이미지 처리 장치는 다양한 형태들, 예를 들어, 서버 또는 단말기(예를 들어, 데스크톱 컴퓨터, 노트북 컴퓨터, 또는 스마트폰)와 같은 상이한 타입들의 컴퓨터 디바이스들로 구현될 수 있다. 본 출원의 실시예들의 이미지 처리 장치의 하드웨어 구조가 아래에 더 설명된다. 도 34는 이미지 처리 장치의 모든 구조들이 아니라 예시적인 구조만을 도시하며, 도 34에 도시된 부분 또는 전체 구조가 요건들에 따라 구현될 수 있다는 것을 이해할 수 있다.
도 34를 참조하면, 도 34는 본 출원의 실시예에 따른 이미지 처리 장치의 선택적인 하드웨어 구조의 개략도이고, 실제 응용에서, 애플리케이션 프로그램을 실행하는 서버 또는 다양한 단말기들에 적용될 수 있다. 도 34에 도시된 이미지 처리 장치(3400)는 적어도 하나의 프로세서(3401), 메모리(3402), 사용자 인터페이스(3403), 및 적어도 하나의 네트워크 인터페이스(3404)를 포함한다. 이미지 처리 장치(3400) 내의 컴포넌트들은 버스 시스템(3405)에 의해 함께 결합된다. 버스(3405)는 컴포넌트들 사이의 접속 및 통신을 구현하도록 구성된다는 점이 이해될 수 있다. 버스 시스템(3405)은, 데이터 버스를 포함하는 것 이외에, 전력 버스, 제어 버스, 및 상태 신호 버스를 추가로 포함할 수 있다. 그렇지만, 명확한 설명을 위해, 모든 버스가 도 34에서 버스 시스템(3405)으로서 마킹되어 있다.
사용자 인터페이스(3403)는 디스플레이, 키보드, 마우스, 트랙볼, 클릭 휠, 키, 버튼, 터치패드, 터치스크린, 또는 그와 유사한 것을 포함할 수 있다.
메모리(3402)가 휘발성 메모리 또는 비휘발성 메모리일 수 있거나, 또는 휘발성 메모리 및 비휘발성 메모리 둘 다를 포함할 수 있다는 것이 이해될 수 있다.
본 출원의 실시예들에서의 메모리(3402)는 이미지 처리 장치(3400)의 동작들을 지원하기 위해 상이한 타입들의 데이터를 저장하도록 구성된다. 데이터의 예들은: 이미지 처리 장치(3400) 상에서 동작들을 수행하기 위해 사용되는, 실행가능 프로그램(34021) 및 운영 체제(34022)와 같은, 임의의 컴퓨터 프로그램을 포함하고, 본 출원의 실시예들의 이미지 처리 방법을 수행하기 위해 사용되는 프로그램은 실행가능 프로그램(34021)에 포함될 수 있다.
본 출원의 실시예들에 개시되는 이미지 처리 방법은 프로세서(3401)에 적용될 수 있거나, 또는 프로세서(3401)에 의해 수행될 수 있다. 프로세서(3401)는 집적 회로 칩일 수 있고 신호 처리 능력을 갖는다. 구현 프로세스에서, 이미지 처리 방법의 각각의 단계는 프로세서(3401) 내의 하드웨어의 집적 논리 회로 또는 소프트웨어 형태의 명령어를 사용하여 완료될 수 있다. 전술한 프로세서(3401)는 범용 프로세서, DSP(digital signal processor), 또 다른 프로그래머블 논리 디바이스, 이산 게이트, 트랜지스터 논리 디바이스, 이산 하드웨어 컴포넌트, 또는 그와 유사한 것일 수 있다. 프로세서(3401)는 본 출원의 실시예들에서 제공되는 방법들, 단계들, 및 논리 블록도들을 구현하거나 실행할 수 있다. 범용 프로세서는 마이크로프로세서, 임의의 종래의 프로세서, 또는 그와 유사한 것일 수 있다. 본 출원의 실시예들에서 제공되는 방법에서의 단계들은 하드웨어 디코딩 프로세서에 의해 직접 수행될 수 있거나, 또는 디코딩 프로세서에서 하드웨어 및 소프트웨어 모듈들을 조합함으로써 수행될 수 있다. 소프트웨어 모듈은 저장 매체에 위치할 수 있다. 저장 매체는 메모리(3402)에 위치한다. 프로세서(3401)는 메모리(3402) 내의 정보를 판독하고, 그 정보를 그것의 하드웨어와 조합함으로써 본 출원의 실시예들에서 제공되는 이미지 처리 방법의 단계들을 수행한다.
일부 실시예들에서, 이미지 처리 및 3D 얼굴 및 머리 형성이 서버들의 그룹 또는 네트워크 상의 클라우드 상에서 달성될 수 있다.
하나 이상의 예에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령어 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 그를 통해 송신될 수 있고, 하드웨어 기반 처리 유닛에 의해 실행될 수 있다. 컴퓨터 판독가능 매체는 데이터 저장 매체와 같은 유형 매체에 대응하는 컴퓨터 판독가능 저장 매체, 또는 예를 들어, 통신 프로토콜에 따라 한 장소에서 또 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 캐리어 파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 본 출원에서 설명된 구현들의 구현을 위해 명령어들, 코드 및/또는 데이터 구조들을 검색하기 위해 하나 이상의 컴퓨터 또는 하나 이상의 프로세서에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수 있다.
본 명세서에서의 구현들의 설명에서 사용되는 용어는 특정 구현들만을 설명하기 위한 것이며, 청구항들의 범위를 한정하는 것을 의도하지 않는다. 구현들 및 첨부된 청구항들의 설명에서 사용되는 바와 같이, 단수 형태들("a", "an", 및 "the")은, 문맥이 명확하게 달리 지시하지 않는 한, 복수 형태들도 포함하는 것으로 의도된다. 본 명세서에서 사용되는 바와 같은 "및/또는(and/or)"이라는 용어는 연관된 열거된 항목들 중 하나 이상의 것의 임의의 및 모든 가능한 조합들을 지칭하고 포괄한다는 점이 또한 이해될 것이다. 용어 "포함한다" 및/또는 "포함하는"은, 본 명세서에서 사용될 때, 진술된 특징, 요소, 및/또는 컴포넌트의 존재를 명시하지만, 하나 이상의 다른 특징, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재나 추가를 배제하지 않는다는 것도 이해할 것이다.
제1, 제2 등의 용어들이 본 명세서에서 다양한 요소들을 설명하기 위해 사용될 수 있지만, 이러한 요소들은 이러한 용어들에 의해 한정되지 않아야 한다는 것도 이해할 것이다. 이러한 용어들은 하나의 요소를 또 다른 요소와 구별하기 위해서만 사용된다. 예를 들어, 구현의 범위로부터 이탈하지 않으면서, 제1 전극은 제2 전극으로 칭해질 수 있고, 유사하게, 제2 전극은 제1 전극으로 칭해질 수 있다. 제1 전극 및 제2 전극은 둘 다 전극들이지만, 이들은 동일한 전극이 아니다.
본 출원의 설명은 예시 및 설명의 목적들을 위해 제시되었고, 총망라하거나 또는 개시된 형태로 본 발명을 제한되도록 의도되지 않는다. 많은 수정들, 변형들, 및 대안적인 구현들이 전술한 설명들 및 연관된 도면들에 제시된 교시들의 이점을 갖는 본 기술분야의 통상의 기술자들에게 명백할 것이다. 실시예는 본 발명의 원리들, 실제 응용을 가장 잘 설명하고, 본 기술분야의 통상의 기술자들이 다양한 구현들에 대해 본 발명을 이해하고, 고려되는 특정 사용에 적합한 바와 같은 다양한 수정들을 갖는 기본 원리들 및 다양한 구현들을 가장 잘 활용할 수 있게 하기 위해 선택되고 설명되었다. 따라서, 청구항의 범위는 개시된 구현들의 특정 예들로 제한되지 않으며, 수정들 및 다른 구현들이 첨부된 청구항들의 범위 내에 포함되도록 의도된다는 것을 이해해야 한다.

Claims (20)

  1. 대상의 2D(two-dimensional) 얼굴 이미지를 이용하여 아바타의 표준 얼굴을 맞춤화하는 방법으로서:
    상기 2D 얼굴 이미지에서 대상 키포인트들의 세트를 식별하는 단계;
    상기 대상 키포인트들의 세트를 상기 아바타와 연관된 아바타 키포인트들의 세트가 되도록 변환하는 단계;
    상기 아바타 키포인트들의 세트에 K2P(keypoint-to-parameter) 신경망 모델을 적용함으로써 상기 표준 얼굴에 대한 얼굴 제어 파라미터들의 세트를 생성하는 단계 - 상기 얼굴 제어 파라미터들의 세트는 상기 표준 얼굴의 복수의 얼굴 특징 중 하나에 각각 관련됨 -; 및
    상기 얼굴 제어 파라미터들의 세트를 상기 표준 얼굴에 적용함으로써 상기 표준 얼굴의 복수의 얼굴 특징을 조정하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 K2P 신경망 모델은,
    대상들의 복수의 훈련 2D 얼굴 이미지를 획득하고;
    상기 복수의 훈련 2D 얼굴 이미지 각각에 대해 상기 아바타와 연관된 훈련 아바타 키포인트들의 세트를 생성하고;
    훈련 아바타 키포인트들의 각각의 세트를 상기 K2P 신경망 모델에 제출하여 얼굴 제어 파라미터들의 세트를 획득하고;
    상기 얼굴 제어 파라미터들의 세트를 미리 훈련된 P2K(parameter-to-keypoint) 신경망 모델에 제출하여, 상기 훈련 아바타 키포인트들의 세트에 대응하는 예측된 아바타 키포인트들의 세트를 획득하고; 및
    상기 훈련 아바타 키포인트들의 세트와 상기 예측된 아바타 키포인트들의 대응하는 세트 사이의 차이를 감소시킴으로써 상기 K2P 신경망 모델을 업데이트함으로써 훈련되는 방법.
  3. 제2항에 있어서, 상기 미리 훈련된 P2K 신경망 모델은,
    상기 아바타와 연관된 뼈들 또는 슬라이더 파라미터들을 포함하는 얼굴 제어 파라미터들의 세트를 수신하고; 및
    상기 제어 파라미터들의 세트에 따라 상기 아바타에 대한 아바타 키포인트들의 세트를 예측하도록 구성되는 방법.
  4. 제3항에 있어서, 상기 훈련 아바타 키포인트들의 세트와 상기 예측된 아바타 키포인트들의 대응하는 세트 사이의 차이는 상기 훈련 아바타 키포인트들의 세트와 상기 예측된 아바타 키포인트들의 대응하는 세트 사이의 평균 제곱 오차들의 합인 방법.
  5. 제3항에 있어서, 상기 훈련된 K2P 및 상기 미리 훈련된 P2K 신경망 모델들은 게임과 연관되는 방법.
  6. 제1항에 있어서, 상기 2D 얼굴 이미지에서의 상기 대상 키포인트들의 세트는 상기 2D 얼굴 이미지에서의 상기 대상의 얼굴 특징들에 대응하는 방법.
  7. 제1항에 있어서, 상기 아바타의 표준 얼굴은 상이한 대상들의 얼굴 이미지들에 따라 게임의 상이한 캐릭터들이 되도록 맞춤화되는 방법.
  8. 제1항에 있어서, 상기 아바타의 조정된 표준 얼굴은 상기 대상의 만화 스타일 얼굴인 방법.
  9. 제1항에 있어서, 상기 아바타의 조정된 표준 얼굴은 상기 대상의 실제 스타일 얼굴인 방법.
  10. 제1항에 있어서, 상기 대상 키포인트들의 세트를 상기 아바타 키포인트들의 세트가 되도록 변환하는 단계는:
    상기 대상 키포인트들의 세트를 정준 공간이 되도록 정규화하는 단계;
    상기 정규화된 대상 키포인트들의 세트를 대칭화하는 단계; 및
    상기 아바타 키포인트들의 세트를 획득하기 위해 상기 아바타와 연관된 미리 정의된 스타일에 따라 상기 대칭화된 대상 키포인트들의 세트를 조정하는 단계를 포함하는 방법.
  11. 제10항에 있어서, 상기 대상 키포인트들의 세트를 정준 공간이 되도록 정규화하는 단계는:
    상기 대상 키포인트들의 세트를 상기 정준 공간이 되도록 스케일링하는 단계; 및
    상기 2D 얼굴 이미지에서의 상기 대상 키포인트들의 세트의 오리엔테이션들에 따라 상기 스케일링된 대상 키포인트들의 세트를 회전시키는 단계를 포함하는 방법.
  12. 제10항에 있어서, 상기 대상 키포인트들의 세트를 상기 아바타 키포인트들의 세트가 되도록 변환하는 단계는 미리 정의된 볼록 또는 오목 곡선 요건들을 충족시키기 위해 상기 대칭화된 대상 키포인트들의 세트를 평활화하는 단계를 추가로 포함하는 방법.
  13. 제10항에 있어서, 상기 아바타와 연관된 미리 정의된 스타일에 따라 상기 대칭화된 대상 키포인트들의 세트를 조정하는 단계는 얼굴 길이 조정, 얼굴 폭 조정, 얼굴 특징 조정, 줌 조정, 및 눈 형상 조정 중 하나 이상을 포함하는 방법.
  14. 전자 장치로서, 하나 이상의 처리 유닛, 상기 하나 이상의 처리 유닛에 결합된 메모리, 및 상기 메모리에 저장된 복수의 프로그램을 포함하고, 상기 복수의 프로그램은, 상기 하나 이상의 처리 유닛에 의해 실행될 때, 상기 전자 장치로 하여금 대상의 2D(two-dimensional) 얼굴 이미지를 이용하여 아바타의 표준 얼굴을 맞춤화하는 복수의 동작을 수행하게 야기하고, 상기 복수의 동작은:
    상기 2D 얼굴 이미지에서 대상 키포인트들의 세트를 식별하는 동작;
    상기 대상 키포인트들의 세트를 상기 아바타와 연관된 아바타 키포인트들의 세트가 되도록 변환하는 동작;
    상기 아바타 키포인트들의 세트에 K2P(keypoint-to-parameter) 신경망 모델을 적용함으로써 상기 표준 얼굴에 대한 얼굴 제어 파라미터들의 세트를 생성하는 동작 - 상기 얼굴 제어 파라미터들의 세트는 상기 표준 얼굴의 복수의 얼굴 특징 중 하나에 각각 관련됨 -; 및
    상기 얼굴 제어 파라미터들의 세트를 상기 표준 얼굴에 적용함으로써 상기 표준 얼굴의 복수의 얼굴 특징을 조정하는 동작을 포함하는 전자 장치.
  15. 제14항에 있어서, 상기 K2P 신경망 모델은,
    대상들의 복수의 훈련 2D 얼굴 이미지를 획득하고;
    상기 복수의 훈련 2D 얼굴 이미지 각각에 대해 상기 아바타와 연관된 훈련 아바타 키포인트들의 세트를 생성하고;
    훈련 아바타 키포인트들의 각각의 세트를 상기 K2P 신경망 모델에 제출하여 얼굴 제어 파라미터들의 세트를 획득하고;
    상기 얼굴 제어 파라미터들의 세트를 미리 훈련된 P2K(parameter-to-keypoint) 신경망 모델에 제출하여, 상기 훈련 아바타 키포인트들의 세트에 대응하는 예측된 아바타 키포인트들의 세트를 획득하고; 및
    상기 훈련 아바타 키포인트들의 세트와 상기 예측된 아바타 키포인트들의 대응하는 세트 사이의 차이를 감소시킴으로써 상기 K2P 신경망 모델을 업데이트함으로써 훈련되는 전자 장치.
  16. 제15항에 있어서, 상기 미리 훈련된 P2K 신경망 모델은,
    상기 아바타와 연관된 뼈들 또는 슬라이더 파라미터들을 포함하는 얼굴 제어 파라미터들의 세트를 수신하고; 및
    상기 제어 파라미터들의 세트에 따라 상기 아바타에 대한 아바타 키포인트들의 세트를 예측하도록 구성되는 전자 장치.
  17. 제16항에 있어서, 상기 훈련 아바타 키포인트들의 세트와 상기 예측된 아바타 키포인트들의 대응하는 세트 사이의 차이는 상기 훈련 아바타 키포인트들의 세트와 상기 예측된 아바타 키포인트들의 대응하는 세트 사이의 평균 제곱 오차들의 합인 전자 장치.
  18. 제15항에 있어서, 상기 훈련된 K2P 및 상기 미리 훈련된 P2K 신경망 모델들은 게임과 연관되는 전자 장치.
  19. 제14항에 있어서, 상기 대상 키포인트들의 세트를 상기 아바타 키포인트들의 세트가 되도록 변환하는 동작은:
    상기 대상 키포인트들의 세트를 정준 공간이 되도록 정규화하는 동작;
    상기 정규화된 대상 키포인트들의 세트를 대칭화하는 동작; 및
    상기 아바타와 연관된 미리 정의된 스타일에 따라 상기 대상 키포인트들의 대칭화된 세트를 조정하는 동작을 포함하는 전자 장치.
  20. 하나 이상의 처리 유닛을 갖는 전자 장치에 의해 실행하기 위한 복수의 프로그램을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 복수의 프로그램은, 상기 하나 이상의 처리 유닛에 의해 실행될 때, 상기 전자 장치로 하여금 대상의 2D(two-dimensional) 얼굴 이미지를 이용하여 아바타의 표준 얼굴을 맞춤화하는 복수의 동작을 수행하게 야기하고, 상기 복수의 동작은:
    상기 2D 얼굴 이미지에서 대상 키포인트들의 세트를 식별하는 동작;
    상기 대상 키포인트들의 세트를 상기 아바타와 연관된 아바타 키포인트들의 세트가 되도록 변환하는 동작;
    상기 아바타 키포인트들의 세트에 K2P(keypoint-to-parameter) 신경망 모델을 적용함으로써 상기 표준 얼굴에 대한 얼굴 제어 파라미터들의 세트를 생성하는 동작 - 상기 얼굴 제어 파라미터들의 세트는 상기 표준 얼굴의 복수의 얼굴 특징 중 하나에 각각 관련됨 -; 및
    상기 얼굴 제어 파라미터들의 세트를 상기 표준 얼굴에 적용함으로써 상기 표준 얼굴의 복수의 얼굴 특징을 조정하는 동작을 포함하는 비일시적 컴퓨터 판독가능 저장 매체.
KR1020237021372A 2021-03-15 2022-02-28 개인화된 3d 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들 KR20230110787A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/202,121 US11417053B1 (en) 2021-03-15 2021-03-15 Methods and systems for forming personalized 3D head and facial models
US17/202,121 2021-03-15
PCT/US2022/018213 WO2022197430A1 (en) 2021-03-15 2022-02-28 Methods and systems for forming personalized 3d head and facial models

Publications (1)

Publication Number Publication Date
KR20230110787A true KR20230110787A (ko) 2023-07-25

Family

ID=82802793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237021372A KR20230110787A (ko) 2021-03-15 2022-02-28 개인화된 3d 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들

Country Status (6)

Country Link
US (1) US11417053B1 (ko)
EP (1) EP4214685A4 (ko)
JP (1) JP2024506170A (ko)
KR (1) KR20230110787A (ko)
CN (1) CN117157673A (ko)
WO (1) WO2022197430A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240062445A1 (en) * 2022-08-18 2024-02-22 Sony Interactive Entertainment Inc. Image based avatar customization
CN115393532B (zh) * 2022-10-27 2023-03-14 科大讯飞股份有限公司 脸部绑定方法、装置、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014036708A1 (en) * 2012-09-06 2014-03-13 Intel Corporation System and method for avatar creation and synchronization
US10708545B2 (en) * 2018-01-17 2020-07-07 Duelight Llc System, method, and computer program for transmitting face models based on face data points
US9589357B2 (en) * 2013-06-04 2017-03-07 Intel Corporation Avatar-based video encoding
CN107924579A (zh) * 2015-08-14 2018-04-17 麦特尔有限公司 生成个性化3d头部模型或3d身体模型的方法
US10535163B2 (en) * 2016-12-01 2020-01-14 Pinscreen, Inc. Avatar digitization from a single image for real-time rendering
US10777021B2 (en) * 2018-02-27 2020-09-15 Soul Vision Creations Private Limited Virtual representation creation of user for fit and style of apparel and accessories
US10607065B2 (en) * 2018-05-03 2020-03-31 Adobe Inc. Generation of parameterized avatars
US10896535B2 (en) * 2018-08-13 2021-01-19 Pinscreen, Inc. Real-time avatars using dynamic textures
US11610435B2 (en) * 2018-11-14 2023-03-21 Nvidia Corporation Generative adversarial neural network assisted video compression and broadcast
US20200327726A1 (en) * 2019-04-15 2020-10-15 XRSpace CO., LTD. Method of Generating 3D Facial Model for an Avatar and Related Device
US10885693B1 (en) * 2019-06-21 2021-01-05 Facebook Technologies, Llc Animating avatars from headset cameras

Also Published As

Publication number Publication date
CN117157673A (zh) 2023-12-01
EP4214685A4 (en) 2024-05-01
WO2022197430A1 (en) 2022-09-22
EP4214685A1 (en) 2023-07-26
JP2024506170A (ja) 2024-02-09
US11417053B1 (en) 2022-08-16

Similar Documents

Publication Publication Date Title
US10559111B2 (en) Systems and methods for generating computer ready animation models of a human head from captured data images
US11562536B2 (en) Methods and systems for personalized 3D head model deformation
US10169905B2 (en) Systems and methods for animating models from audio data
CN110807836B (zh) 三维人脸模型的生成方法、装置、设备及介质
US11587288B2 (en) Methods and systems for constructing facial position map
JP7462120B2 (ja) 2次元(2d)顔画像から色を抽出するための方法、システム及びコンピュータプログラム
JP2020526809A (ja) 仮想顔化粧の除去、高速顔検出およびランドマーク追跡
CN113628327B (zh) 一种头部三维重建方法及设备
EP3335195A2 (en) Methods of generating personalized 3d head models or 3d body models
KR20230110787A (ko) 개인화된 3d 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들
US11769309B2 (en) Method and system of rendering a 3D image for automated facial morphing with a learned generic head model
US20210074076A1 (en) Method and system of rendering a 3d image for automated facial morphing
CN115936796A (zh) 一种虚拟换妆方法、系统、设备和存储介质
CN115631516A (zh) 人脸图像处理方法、装置、设备及计算机可读存储介质
Zhao 3D Human Face Reconstruction and 2D Appearance Synthesis
Ghys Analysis, 3D reconstruction, & Animation of Faces
SAMARAS et al. Analyse, Reconstruction 3D, & Animation du Visage