KR20230009440A - 고속 및 심층 안면 변형 - Google Patents

고속 및 심층 안면 변형 Download PDF

Info

Publication number
KR20230009440A
KR20230009440A KR1020227042975A KR20227042975A KR20230009440A KR 20230009440 A KR20230009440 A KR 20230009440A KR 1020227042975 A KR1020227042975 A KR 1020227042975A KR 20227042975 A KR20227042975 A KR 20227042975A KR 20230009440 A KR20230009440 A KR 20230009440A
Authority
KR
South Korea
Prior art keywords
mesh
deformation
model
vertex
approximation
Prior art date
Application number
KR1020227042975A
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 KR20230009440A publication Critical patent/KR20230009440A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4046Scaling the whole image or part thereof using neural networks
    • 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/20076Probabilistic image processing
    • 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/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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

Abstract

적어도 하나의 실시형태에 따르면, 안면 모델의 메시 변형을 생성하기 위한 방법은, 제1의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제1의 복수의 변형 맵을 생성하는 단계, 제1의 복수의 변형 맵에 기초하여 제1의 복수의 정점 오프셋을 추출하는 단계, 및 제1의 복수의 정점 오프셋을 안면 모델의 중립 메시에 적용하여 안면 모델의 메시 변형을 생성하는 단계를 포함한다.

Description

고속 및 심층 안면 변형
[관련 출원(들)에 대한 상호 참조]
본원은 2020년 10월 7일자로 출원된 미국 출원 제17/065,423호 및 2020년 5월 8일자로 출원된 미국 가특허 출원 제63/022,398호의 우선권을 주장하며, 이들 모두의 내용은 전부 본 명세서에 참조로 포함된다.
컴퓨터 애니메이션 및 기타 컴퓨터 모델링 애플리케이션은 객체 또는 캐릭터의 2 차원(2D) 또는 3 차원(3D) 모델과 이들의 상응하는 프로그래밍된 움직임 또는 키프레임에 의한 움직임을 결합한다. 이들 모델은 3D 좌표계에서의 기하학적 정점, 면 및 에지로 구성된다. 컴퓨터 애니메이션의 한 형태는 3D 모델을 변환 계층구조에 연결하여 객체 또는 캐릭터의 움직임을 결정하는 골격을 근사하는 것을 수반한다. 골격은 객체 또는 캐릭터의 경계를 나타내는 표면 메시(surface mesh)로 둘러싸여 있다. 3D 표면 메시는 높은 수준의 해상도를 가질 수 있으며 메시의 표면을 구성하는 다양한 크기의 다각형 또는 면을 포함할 수 있고, 표면 메시는 애니메이터 또는 다른 조작자가 원하는 대로 성형 및 변형되어 원하는 결과를 달성할 수 있다.
영화 품질 캐릭터 리그(film-quality character rig)와 실시간 애플리케이션용으로 설계된 리그를 비교하면, 메시 변형(mesh deformation)의 품질에 있어서 분명한 차이가 있다. 실시간 리그는 컴퓨터 사용 상의 예산에 의해 제한되며 종종 성능에 대하여 현실성과 타협한다. 영화 품질 리그에는 이와 같은 제한이 없으며, 캐릭터 리거(character rigger)는 리그를 사실적인 변형을 달성하는 데 필요한 만큼 복잡하게 만들 수 있다.
구체적으로, 비디오 게임 및 가상 현실과 같은 대화형 애플리케이션을 위한 캐릭터 리그에 포함되는 디테일 정도(level of detail)는 컴퓨터 사용 상의 제약(예컨대, 모바일 디바이스는 컴퓨터 서버 네트워크보다 처리 능력이 낮을 수 있음)에 의해 제한된다. 이러한 유형의 리그는 실시간으로 실행될 필요가 있으므로, 과도한 지연 없이 사용자 상호 작용을 지원하는 속도로 평가할 수 있어야 한다. 이러한 제한으로 인해, 캐릭터 리그는 높은 수준의 현실성이 부족한 경우가 있다. 반면에, 영화 품질 캐릭터 리그는 컴퓨터 사용 상의 제약에 의해 제한되지 않으며 그 메시 변형은 훨씬 더 사실적으로 보일 수 있다.
영화 품질 리그에는 더 큰 컴퓨터 사용 용량이 필요하기 때문에, 영화 품질 캐릭터 리그는 대화형 애플리케이션을 위해 의도된 것이 아니다. 리그 평가를 최적화 및 병렬화하기 위한 막대한 노력을 기울인 후에, 고급 하드웨어에서 단일 영화 품질 리그를 실시간으로 실행할 수 있다. 대화형 애플리케이션의 현실성을 높이기 위해서는, 이러한 고품질 리그를 사용하는 것이 바람직하지만 컴퓨터 사용 집약적인 리그를 대화형 애플리케이션에 직접 연결하는 것은 대화형의 실시간 요건으로 인해 비실용적이다.
따라서, 기존의 시스템 및 방법은 실시간 애플리케이션에서 사용하기 위한 영화 품질 리그의 메시 변형에 필요한 계산을 줄이기 위한 해법을 제공할 수 없다. 따라서, 실시간 애플리케이션에서 사용하기 위해 영화 품질 리그(또는 영화 품질에 가까운 리그)에 대한 메시 변형을 결정하는 것이 유리하다.
또한, 영화 품질 캐릭터는 통상적으로 매우 복잡하고 표현력이 풍부한 안면 변형을 나타낸다. 캐릭터 안면의 변형을 애니메이션으로 하는 데 사용되는 기본 리그는 종종 컴퓨터 사용 상의 비용이 많이 들기 때문에, 대화형의 속도로 메시를 변형하려면 고급 하드웨어가 필요하다.
본 개시물의 양태들은 캐릭터의 안면(또는 머리)용 리그에 관한 것이다. 예를 들어, 적어도 하나의 실시형태에 따라 복잡한 영화 품질 안면 리그를 위한 딥 러닝 기반의 근사 방법(approximation method)이 개시된다. 개시된 방법은 변형 평가 시간을 상당히 감소시키고, 역운동학(inverse kinematics)과 함께 사용하기 위한 미분 가능한 모델을 제공한다. 적어도 하나의 실시형태에 따르면, 방법은 캐릭터 안면의 메시 변형을 근사하기 위해 컨볼루션 뉴럴 네트워크(CNN)를 사용한다.
본 개시물의 실시형태들은 캐릭터 안면 리그에 대한 메시 변형을 근사하기 위한 시스템 및 방법을 포함한다. 본 개시물의 실시형태들에 의하면, 영화 품질 캐릭터 리그의 원래의 변형 계산에 비해 평가 시간이 상당히 감소된다. 본 개시물의 다양한 실시형태들은 영화 품질 리그가 실시간 대화형 애플리케이션에서 근사될 수 있도록 계산을 충분히 압축하는 캐릭터 안면 리그에 대한 컴퓨터 사용 상으로 덜 비싼 근사를 학습하기 위한 데이터 기반 접근법을 포함한다.
적어도 하나의 실시형태에 따르면, 안면 모델의 메시 변형을 생성하기 위한 방법은, 제1의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제1의 복수의 변형 맵을 생성하는 단계, 제1의 복수의 변형 맵에 기초하여 제1의 복수의 정점 오프셋을 추출하는 단계, 및 제1의 복수의 정점 오프셋을 안면 모델의 중립 메시에 적용하여 안면 모델의 메시 변형을 생성하는 단계를 포함한다.
적어도 다른 실시형태에 따르면, 안면 모델의 메시 변형을 생성하기 위한 시스템은 하나 이상의 컨트롤러를 포함한다. 하나 이상의 컨트롤러는 제1의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제1의 복수의 변형 맵을 생성하고, 제1의 복수의 변형 맵에 기초하여 제1의 복수의 정점 오프셋을 추출하고, 제1의 복수의 정점 오프셋을 안면 모델의 중립 메시에 적용하여 안면 모델의 메시 변형을 생성하도록 구성된다.
적어도 다른 실시형태에 따르면, 기계 판독 가능 비일시적 매체는 안면 모델의 메시 변형을 생성하기 위한 기계 실행 가능 명령어를 저장하고 있다. 명령어는 제1의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제1의 복수의 변형 맵을 생성하는 것, 제1의 복수의 변형 맵에 기초하여 제1의 복수의 정점 오프셋을 추출하는 것, 및 제1의 복수의 정점 오프셋을 안면 모델의 중립 메시에 적용하여 안면 모델의 메시 변형을 생성하는 것을 포함한다.
적어도 다른 실시형태에 따르면, 안면 모델의 변형의 근사를 생성하기 위한 방법은, 제1의 복수의 정점을 제1 네트워크에 제공하여 제1 리그 파라미터 포즈를 생성하는 단계, 제2의 복수의 정점을 제2 네트워크에 제공하여 제2 리그 파라미터 포즈를 생성하는 단계, 및 제1 리그 파라미터 포즈 및 제2 리그 파라미터 포즈를 처리하여 복합 리그 파라미터 포즈를 생성― 복합 리그 파라미터 포즈는 안면 모델의 변형의 근사에 대응함 ―하는 단계를 포함한다.
본 개시물의 상기 및 다른 양태들 및 특징들은 첨부 도면과 함께 취해지는 하기의 실시형태들에 대한 설명을 고려하면 더욱 명백해질 것이다.
도 1a 및 도 1b는 캐릭터 모델의 메시의 예시이다.
도 2는 본 개시물의 실시형태들에 따라 근사된 변형을 포함하는 안면 메시 변형들의 나란한 비교를 예시한다.
도 3은 적어도 하나의 실시형태에 따른 근사 모델의 도면이다.
도 4a 및 도 4b는 제각기 하나 이상의 실시형태에 따른 대략적 근사 모델(coarse approximation model)의 뉴럴 네트워크의 예 및 정제된 근사 모델(refined approximation model)의 뉴럴 네트워크의 예를 예시한다.
도 5는 적어도 하나의 실시형태에 따른 강체성 근사(rigid approximation)의 예를 예시한다.
도 6은 트레이닝 데이터로부터의 예시적인 포즈들을 예시한다.
도 7은 적어도 하나의 실시형태에 따른 역운동학(IK) 모델의 도면이다.
도 8은 적어도 하나의 실시형태에 따른 대략적 모델링 동안 사용되는 메시 세그먼트들의 예를 예시한다.
도 9는 적어도 하나의 실시형태에 따른 정제된 모델링 동안 사용되는 메시 세그먼트들의 예를 예시한다.
도 10은 주름이 포함된 캐릭터의 포즈들에 대한 근사된 변형을 예시한다.
도 11은 법선 오차의 시각화와의 나란한 비교들을 도시한다.
도 12는 몇 가지 예시적인 제어점 구성에 대한 근사된 변형과 실측 메시의 나란한 비교를 도시한다.
도 13은 기록으로부터의 프레임 및 입력으로부터의 결과적인 변형된 메시를 도시한다.
도 14는 대략적 근사 모델의 하나의 메시 세그먼트를 상이한 토폴로지를 가진 새로운 메시로 이전하는 예를 도시한다.
도 15는 본 개시물의 적어도 하나의 실시형태에 따른 방법을 도시하는 흐름도이다.
도 16은 본 개시물의 적어도 하나의 실시형태에 따른 방법을 도시하는 흐름도이다.
도 17은 본 개시물의 실시형태에 따라 구현된 시스템의 도면이다.
도 18은 본 개시물의 실시형태에 따라 구현된 장치의 도면이다.
하기의 상세한 설명에서는, 본 명세서의 일부를 형성하고 본 발명의 특정 실시형태들을 예시로서 도시하는 첨부 도면을 참조할 수 있다. 다른 실시형태들이 이용될 수 있고 구조적, 전기적 변경뿐만 아니라 절차적 변경이 본 발명의 범위를 벗어나지 않고 이루어질 수 있다는 것이 당업자에 의해 이해되어야 한다. 가능하면, 도면 전반에서 동일한 참조 번호가 동일 또는 유사한 부품을 지칭하는 데 사용될 것이다.
본 개시물은 3D 애니메이션 애플리케이션의 맥락에서 제시되지만, 이에 제한되는 것은 아니며, 본 명세서에서 설명되는 시스템, 매체, 및 방법의 다른 구현들이 고려되고, 여기에는 2D 또는 3D 좌표계 내의 기하학적 모델들의 변형이 포함될 뿐만 아니라, 기하학적 모델들의 제작 및 수정을 수반하는 다양한 대화형 기하학적 모델링 애플리케이션에 대하여 리깅(rigging), 애니메이션, 아키텍처, 자동차 디자인, 소비자 제품 디자인, 가상 현실 애플리케이션, 증강 현실 애플리케이션, 게임 개발, 시각 효과, 3D 프린팅 등이 포함되지만, 이들로 제한되는 것은 아니다. 3D 모델 또는 3D 공간 내의 기하학적 모델 또는 그 구성요소들에 대한 본 개시물에서의 모든 참조는 2D 모델 및 2D 공간에 적용 가능한 개시 내용을 포함하는 것으로 이해될 것이다.
본 개시물에서, "캐릭터(character)", "객체(object)" 또는 "모델(model)"이라는 용어는 캐릭터, 풍경, 무생물 또는 임의의 다른 가상의, 모델링된, 및/또는 애니메이션으로 된 엔티티와 같은 엔티티의 일부 또는 전부의 임의의 적합한 컴퓨터 표현 또는 기하학적 모델을 포함할 수 있다. 객체는, 예를 들어 2D 또는 3D 좌표계에서의 기하학적 정점, 에지 및/또는 면으로 구성될 수 있다.
"점(point)", "정점(vertex)", "에지(edge)" 또는 "구성요소(component)"에는, 제한되는 것은 아니지만, 2D 또는 3D 모델의 정점, 점, 에지, 및 면을 포함하는 3D 모델의 형상, 움직임, 외모, 및/또는 절대적 또는 상대적 위치를 결정하는 데 사용되는 일련의 요소들 중 하나가 포함될 수 있다. 점, 정점, 에지, 또는 면 중 하나에 관한 본 개시물의 임의의 설명은 당업자에 의해 이해되는 바와 같이, 적용되는 점, 정점, 에지, 또는 면 중 다른 것들에도 균등하게 및/또는 유사하게 적용되는 것으로 이해될 것이고, 본 개시물 내에서 하나의 용어를 다른 용어에 대하여 사용하는 것은 사용된 용어로만 제한되는 것으로 여겨지지 않을 것이다.
배경으로서, 대부분의 캐릭터 리그들은 모션 시스템 및 변형 시스템으로 설계된다. 모션 시스템은 일부 포즈에 대한 리그 파라미터들을 뼈와 관절로 구성된 골격에 맵핑하는 것을 담당한다. 이후, 변형 시스템이 골격을 입력 포즈에 대한 캐릭터의 최종 메시에 맵핑한다. 도 1a는 리그로 구성될 수 있는 기본 포즈(rest pose), 이 경우에는 "T" 포즈의 3D 캐릭터(100)의 예를 묘사한다. 리그에는 아티스트 또는 다른 조작자에 의한 제어 및 관절 연결을 허용하는 점들을 제공하는 골격 뼈 및 관절이 포함될 수 있다.
도 1b는 도 1a에 묘사된 3D 캐릭터에 대응하는 캐릭터 메시(101)의 점들 또는 정점들의 예를 도시한다. 도 1b에 도시된 바와 같이, 메시의 이웃하는 정점들은 종종 그룹화되고 골격의 동일한 뼈에 할당될 것이다. 추가적으로, 관절 연결 디테일이 적은 골격의 더 큰 뼈들(예를 들어, 팔 및 다리의 큰 뼈들)에는 더 많은 수의 정점(102)― 또는 메시의 보다 넓은 영역을 덮는 정점들 ―이 할당될 수 있는 반면, 관절 연결 디테일이 큰 골격의 더 작은 뼈들, 예를 들어 손목, 손 및 손가락의 작은 뼈들에는 더 적은 수의 정점(103)― 또는 메시의 보다 작은 영역을 덮는 정점들 ―이 할당될 수 있다.
영화 품질 캐릭터는 통상적으로 매우 복잡하고 표현력이 풍부한 안면 변형을 나타낸다. 캐릭터 안면(또는, 더 일반적으로는 캐릭터 머리)의 변형을 애니메이션으로 하는 데 사용되는 기본 리그는 종종 컴퓨터 사용 상의 비용이 많이 들기 때문에, 대화형의 속도로 메시를 변형하려면 고급 하드웨어가 필요하다. 본 명세서에서는 적어도 하나의 실시형태에 따라 캐릭터 안면의 메시 변형을 근사하기 위해 뉴럴 네트워크를 사용하는 방법이 개시된다. 적어도 하나의 특정 실시형태에 따르면, 이러한 뉴럴 네트워크들 중 하나 이상은 컨볼루션 뉴럴 네트워크(CNN)일 수 있다(또는 이를 포함할 수 있다). 테스트된 모델의 경우, 원래의 리그에 대한 높은 수준의 충실도를 유지하면서도 원래의 안면 리그보다 최대 17 배 더 빠르게 근사가 실행될 수 있다.
또한, 적어도 하나의 실시형태에 따르면, 미세한 피부 주름과 같은 고주파 변형을 처리하기 위한 근사에 대한 확장이 개시된다. 원래의 애니메이션 리그의 구현은 인하우스(in-house) 개발 환경의 외부에 설치하는 것을 어렵게 만드는 광범위한 독점 라이브러리 세트에 의존하지만, 개시된 실시형태들에 따른 근사는 널리 이용 가능하고 쉽게 배치되는 TensorFlow(텐서플로우) 라이브러리에 의존할 수 있다. 더 적당한 하드웨어 및 광범위한 컴퓨팅 환경에서 높은 프레임 속도의 평가를 허용하는 것 외에, 큰 속도 증가도 애니메이션 리그에 대한 대화형 역운동학을 가능하게 한다. 접근법 및 그 적용 가능성은 대화형 캐릭터 포징(posing) 및 실시간 안면 연기 캡처를 통해 입증될 것이다.
비디오 게임 및 기타 실시간 애플리케이션용 캐릭터 안면 리그는 종종 뼈 세트 또는 블렌드셰이프(blendshape) 세트에 의해 제어된다. 이러한 리깅 방법은 빠르게 계산될 수 있지만, 일반적으로 속도를 위해 미세한 디테일을 희생한다. 이러한 실시간 리그로 미묘한 변형을 표현하는 것은 어려운 일이며, 종종 기본 리그에 추가되는 추가적인 컴퓨터 사용 계층을 필요로 한다. 메시 변형의 디테일 정도를 높이기 위한 일부 이러한 추가 기능에는 포즈 공간 변형 및 주름 맵이 포함된다. 그러나, 이들 개량에도 불구하고, 실시간 리그와 비교할 때 영화 품질 안면 리그의 디테일 정도가 현저하게 더 좋다. 영화 품질 안면 리그에 더 정교한 메시 변형이 포함되는 주된 이유는 동일한 실시간 요건에 의한 제약을 받지 않기 때문이다.
영화용 안면 리그는 사실적이고 표현력이 풍부한 메시 변형을 생성하기 위해 상당한 양의 계산을 필요로 한다. 이러한 안면 리그는 고급 기계에서 평가될 경우에는 단지 10-30 FPS(초당 프레임)의 속도로 실행될 수 있으며, 소비자 수준 디바이스에서는 더 느리게 실행될 것이다. 또한, 애니메이션 스튜디오와 같은 엔티티들은 통상적으로 그들의 캐릭터가 개발되는 인하우스 리깅 소프트웨어를 개발한다. 이러한 리그는 사용자 정의 애니메이션 엔진으로 제한되며, 인하우스 소프트웨어의 외부에서 사용하기 위해 캐릭터를 이식(porting)하는 것은 어렵고 시간이 많이 소요될 수 있다. 따라서, 컴퓨터 사용 상의 한계 및 이식성으로 인해, 영화 품질 캐릭터들은 그들이 설계된 영화의 외부에서는 거의 사용되지 않는다.
영화 품질 캐릭터 리그의 신체 변형을 근사하는 방법이 제안되었다. 그러나, 이 방법은 기본 골격을 사용하여 변형을 근사한다. 신체 리그와 달리, 안면 리그에는 변형 근사에 이용할 수 있는 광범위한 골격 구조가 없다. 예를 들어, 코, 눈 또는 입 주변의 영역들에 대응하는 것과 같은 안면 피처(feature)들에는 이용할 수 있는 광범위한 골격 구조가 없을 수도 있다.
본 개시물의 양태들은 이러한 제한을 해결하기 위한 것이다. 예를 들어, 적어도 하나의 실시형태에 따르면, 안면 메시의 변형을 근사하기 위한 방법이 개시된다. 근사는 피부, 입 내부, 치아 및 기타 구조를 포함하여 안면 메시의 변형을 정확하게 계산한다. 근사는 안면 메시에서 발견되는 변형의 유형들을 이용하기 위해 뉴럴 네트워크를 사용할 수 있다. 예를 들어, CNN은 채용될 수 있는 뉴럴 네트워크의 일 유형이다. 그러나, 다른 유형의 뉴럴 네트워크가 사용될 수 있음을 이해해야 한다. 방법은 3 개의 별개의 부분, 즉, 제1 근사(예컨대, 대략적 근사), 추가적인 근사(예컨대, 정제된 근사), 및 또 다른 근사(예컨대, 메시의 강체성 구성요소들에 대한 근사)로 변형을 계산할 수 있다. 이 방법은 테스트된 제작 리그보다 최대 17 배 빠르게 실행하면서 메시에서 고주파 디테일을 보존할 수 있다(도 2 참조).
도 2는 적어도 하나의 실시형태에 따른 대략적 근사(도 2(c) 참조)를 사용하고, 적어도 하나의 실시형태에 따른 정제된 근사(도 2(b) 참조)를 사용하고, 또한, 리니어 블렌드 스키닝(linear blend skinning)(LBS)에 의해 생성되는 근사(도 2(d) 참조)를 사용한 각각의 안면 메시 변형의 나란한 비교를 예시한다. LBS와 같은 기술은 각각의 정점에 적용된 골격의 뼈 변환들의 가중합으로서 기본 포즈로부터 메시의 변형을 계산한다. 그러나, 이러한 변형은 "캔디 랩퍼(candy wrapper)" 문제로 알려진 부피 손실을 겪을 수 있으며, 이러한 기술로는 달성할 수 없는 특정 변형, 예를 들어 피부 슬라이드, 근육 팽창 및 천 주름이 있다.
도 2(a)는 무제한의(또는 광범위한) 시간 자원이 주어진 고성능 컴퓨팅 하드웨어를 이용하여 전체 메시 함수를 계산함으로써 달성되는 최종 변형을 예시하며, 본 논의의 목적상 "원래의 변형 함수(original deformation function)" 또는 "실측(ground truth)" 변형이라고 할 수 있다. 도 2(a)의 "실측" 변형과 관련하여, 두 번째 행에 도시된 가장 눈에 띄는 차이는 메시의 코 영역 주변에서 관찰될 수 있다.
앞서 언급한 바와 같이, 적어도 하나의 실시형태에 따른 근사 모델은, 캐릭터를 저술하는 데 사용되는 원래의 리깅 소프트웨어의 독점 제한을 안면 리그가 초월하게 하고 모델이 매우 다양한 디바이스 및 애플리케이션에 배치될 수 있게 하는 오픈-소스 머신 러닝 라이브러리인 TensorFlow로 구현될 수 있다. 또한, 어떠한 추가적인 노력도 없이 CPU와 GPU 모두에서 리그 근사가 더 쉽게 평가될 수 있다. 본 명세서에 개시된 모델은 뉴럴 네트워크 기반의 모델일 수 있기 때문에, 상응하는 근사는 완전히 미분 가능하다. 이 특성(또는 양태)의 유용성은 역운동학 기반의 포징 애플리케이션뿐만 아니라 안면 연기 캡처 시스템을 개발함으로써 입증되었다.
애니메이션으로 된 캐릭터에 대한 안면 변형 시스템은 방법과 복잡성이 매우 다양한다. 종종, 안면 모델은 최종 결과를 달성하기 위해 여러 변형 방법을 결합한다. 변형을 계산하는 가장 간단하고 빠른 방법 중 하나가 기본 골격에 기초하는 것이다. 리니어 블렌드 스키닝(LBS)이라고도 하는 골격 부공간 변형(skeleton subspace deformation)(SSD)은 그 단순성 및 속도로 인해 대중적이다. 캔디 랩퍼 효과를 포함하여 SSD의 잘 알려진 단점으로 인해, 평가 속도에 크게 영향을 미치지 않으면서 품질을 향상시키는 다중 가중 엔벨로핑(multi-weight enveloping) 및 이중 쿼터니언 스키닝(dual-quaternion skinning)과 같은 개량이 연구되었다. 이 부류의 방법들이 종종 캐릭터 신체의 기본 변형 시스템으로 사용되지만, 다른 방법들과 결합하여 캐릭터의 안면을 리깅하는 경우가 있다. 안면 변형 시스템에 대한 보다 일반적인 접근법은 아티스트가 생성한 일련의 안면 표정을 선형으로 결합하는 블렌드셰이프이다. 이 방법도 평가가 빠르기는 하지만, 애니메이션의 모든 프레임에 키를 지정해야 하는 수백 개의 블렌드셰이프를 필요로 할 수 있는 영화 품질 캐릭터 리그에는 그 자체로는 너무 제한적이다. 안면 모델을 구성하는 다른 접근법은 더 나은 현실성을 위해 그리고 사실적인 포즈를 생성하기 쉽도록 물리적 기반의 변형을 통해 이루어진다. 복잡한 안면 모델에서는, 이들 모든 기술과 다른 기술들이 결합될 수 있고, 이로 인해 결국 비용이 많이 들고 평가 속도가 느려지는 것이 일반적이다.
실시간 애플리케이션의 경우, 너무 많은 컴퓨터 사용 비용을 들이지 않고 디테일을 보존하는 안면 변형 모델을 구성하는 것이 필요할 수 있다. 한 가지 접근법은 SSD를 사용하여 기본 변형을 계산하고 기본 위에 적용된 주름과 같은 고충실도 비선형 디테일을 계산하는 모델을 학습하는 하이브리드 접근법에서 포즈-공간 변형을 이용한다. 물리적 기반 변형의 효율적인 계산을 위해, 한 가지 접근법은 제작 품질 캐릭터 리그에 대한 실시간 결과를 위해 리그-공간 물리학을 개량한다. 이들 접근법은 구축된 시스템에 대하여 고성능을 달성하기에 충분한 것일 수 있다. 그러나, 본 개시물의 적어도 하나의 양태는 복잡한 캐릭터 리그를 최적화할 필요 없이, 변형 모델이 저전력 하드웨어에서 계산하기에는 느릴 수 있는 기존의 고품질 리그에 대한 효율적인 표현을 찾는 것에 관한 것이다.
일련의 예시적인 포즈가 주어진 기존의 변형 모델을 근사하는 접근법은 여러 가지가 존재한다. 이들 접근법의 대부분의 목표는 변형 함수의 보다 컴퓨터 사용 효율적인 표현을 구성하는 것이다. 스키닝 분해 방법들 중 하나는 일련의 예시적인 포즈가 주어진 골격 부공간 변형 모델에 대한 뼈 변형 및 피부 가중치를 찾는다. 유사하게, 또 다른 접근법도 변형의 SSD 표현을 찾지만, 나중에 더 쉬운 애니메이션을 위해 골격 계층구조로 구성된다. 또 다른 접근법은 제어점으로 애니메이션으로 하기 위해 예시적인 데이터로부터 SSD를 통해 스키닝된 메시를 학습한다. 앞서 설명한 이유로, 뼈 기반의 변형 시스템은 안면 변형을 나타내는 최선의 방식이 아니다. 따라서, 이러한 방법만으로는 본 명세서에서 고려되는 적어도 일부 양태에 대해서는 적합하지 않다.
Sphere-Mesh(구-메시)는 메시 애니메이션을, 나중에 애니메이션을 위해 키프레임으로 될 수 있는 일련의 애니메이션으로 된 구로 분해한다. 이 접근법도 세밀한 디테일을 표현하기 어렵기 때문에 고품질 캐릭터 애니메이션에 적합하지 않다. 특히 안면 애니메이션에서 목표로 하는, 또 다른 접근법은 예시적인 포즈에서 블렌드셰이프와 같은 새로운 파라메트릭 리그 모델을 학습한다. 또 다른 접근법은 리그의 외모가 기록된 배우의 외모와 거의 매칭되도록 통계 모델에 기초하여 안면 리그를 생성한다. 이들 방법 모두는 원래의 리그에 있는 제어와는 다른 제어로 완전히 새로운 리그 표현을 학습한다. 본 개시물의 적어도 하나의 양태는 아티스트가 제어 파라미터를 다시 학습할 필요가 없도록 기존의 안면 리그를 근사하고 동일한 제어를 유지하는 것에 관한 것이다.
기존의 리그 함수를 근사하려고 시도한 과거의 연구는 종종 기본 블렌드셰이프 모델 또는 기본 골격 구조를 추정하지만, 적어도 하나의 실시형태에 따르면, 본원의 방법은 안면 리그에 관하여 그렇게 강한 추정을 하지 않는다. EigenSkin(아이겐스킨)은 예시적인 메시들로 구성되는 오차-최적 포즈-종속적 변위 기준을 통해 GPU에서 고충실도의 비선형 변형을 효율적으로 계산한다. 이 방법은 주어진 리그의 기본 SSD 표현을 추정하고 이를 계산에 사용한다. 한 가지 접근법은 기존의 SSD 리그로부터 추가적인 관절이 있는 증강 SSD 스키닝 모델을 학습한다. 한 가지 접근법은 기본 골격을 추정하고 골격 변형을 세밀한 디테일의 비선형 변위가 중첩되는 기반으로서 사용한다. 적어도 하나의 실시형태에 따르면, 변형 모델은 복잡한 안면 리그에 적합한 골격 시스템의 추정을 요구(또는 이용)하지 않고 학습된다.
안면 리그에 대한 역운동학(IK)을 실시간으로 지원하기 위해, 일련의 제약이 주어진 캐릭터 포즈를 계산하기 위해 리그 함수의 효율적이고 정확한 도치가 필요할 수 있다. 컴퓨터 애니메이션 및 로보틱스에 있어서, 역운동학은 운동학적 연쇄(예컨대, 로봇 매니퓰레이터 또는 애니메이션으로 된 캐릭터의 골격)의 시단에 대한 주어진 위치 및 방위에서, 운동학적 연쇄의 종단을 배치하는 데 필요한 가변 관절 파라미터를 계산하는 수학적 프로세스를 의미한다. 이러한 관절 파라미터에 기초하여, 연쇄의 종단(캐릭터 또는 로봇의 손)의 위치 및 방위는 통상적으로 삼각법 공식의 여러 애플리케이션을 직접 사용하여 계산될 수 있다. 이 프로세스를 순운동학(forward kinematics)이라고 한다. 그러나, 일반적으로, 역방향 동작(즉, 역운동학)이 훨씬 더 어려울 수 있다.
역운동학은 또한 이러한 움직임의 영화 또는 자체적으로 이러한 움직임을 만드는 카메라가 보는 세계의 영화와 같은 일부 다른 데이터로부터 세계에서의 객체의 움직임을 복구하는 데 사용된다. 이는, 예를 들어 촬영된 인간 배우의 움직임이 애니메이션으로 된 캐릭터에 의해 복제되는 경우에 발생한다.
안면 리그의 복잡성으로 인해, IK 문제에 대한 종래의 해법은 미분 가능한 리그 함수의 요건으로 인해 영화 품질 안면 모델에 쉽게 적용할 수 없다. 랜드마크로부터 블렌드셰이프 파라미터를 계산하는 연구가 있다. 그러나, 본 개시물의 양태들은 임의의 블랙박스 리그 함수의 도치를 허용하는 것을 추구하는 것에 관한 것이다.
이 문제에 대한 해법들이 탐구되었다. 한 가지 접근법은 반복 최적화(iterative optimization) 접근법을 이용하지만, 이 접근법은 포즈 공간 변형 리그의 도치를 최적화하도록 설계되었기 때문에 전적으로 리그-애그노스틱(rig-agnostic)은 아니다. 다른 접근법은 가우스 프로세스 회귀 및 피드포워드 뉴럴 네트워크라는 2 가지 비선형 방법을 사용하여 블랙박스 리그 함수를 성공적으로 도치시킨다. 대조적으로, 본 개시물의 적어도 하나의 양태는 원래의 리그 함수를 근사하기 위해 딥 러닝 방법을 사용하는 것에 관한 것이다. 뉴럴 네트워크로 인해, 리그 근사를 통해 리그 함수의 기울기를 추정할 수 있으며, 이를 역리그 함수를 추정하는 데 사용할 수 있다.
데이터 기반 메시 회귀 문제를 위해 심층 컨볼루션 방법이 개발되었다. 이들 방법은 안면 재구성 및 안면 애니메이션으로부터 의상 시뮬레이션에 이르는 응용 분야에 대하여 심층 뉴럴 네트워크의 능력 및 유연성을 이용한다. CNN을 메시에 적용하는 한 가지 방법은 메시 컨볼루션 동작을 정의하는 것에 의한다. 한 가지 접근법은 그래프 컨볼루션 자동 인코더를 도입하는 반면, 다른 접근법은 유사한 아이디어를 3D 면을 생성하는 데 사용한다. MeshCNN은 삼각형 메시에 대한 특수한 컨볼루션 및 풀링(pooling) 동작을 정의한다. 본 개시물의 적어도 하나의 양태는 효율성 향상에 집중되어 있기 때문에, 이러한 메시 컨볼루션을 사용하면 이와 관련하여 너무 많은 컴퓨터 사용 상의 비용이 들게 된다. 종래의 CNN은 2D 이미지 및 피처 맵에서 동작한다. 이들 모델을 사용하여 3D 변형을 재구성하려면, 피처 맵 공간과 정점 위치 간에 맵핑이 생성되어야만 한다. 한 가지 접근법은 작은 로컬 영역 주변의 메시를 파라미터화함으로써 메시에 컨볼루션을 적용한다. 한 가지 접근법은 메시를 구형 도메인에 투영한 다음 투영을 "잘라내어" CNN을 적용하는 것이다. 다른 접근법은 텍스처 좌표(또는 UV 좌표)를 사용하여 정점 위치를 2D 공간에 맵핑한다. 이러한 방식으로, 네트워크는 2 차원 피처 맵을 예측하는 것을 학습하지만, 3 차원 좌표를 나타낸다. 컨볼루션 뉴럴 네트워크는 변환된 공간에 보존되는 정점 위치의 공간적 간섭성으로 인해 성공을 거두었다. 다른 접근법은 투시 투영 또는 스캔으로부터 UV 맵을 생성했다. 본원의 접근법의 적어도 하나의 양태는 완전한 캐릭터 리그를 추정하기 때문에, 본 명세서에 개시된 다양한 실시형태는 2D 피처 공간으로부터 정점 위치를 계산하기 위해 아티스트에 의해 생성되는 UV 맵(또는 UV 좌표)을 사용한다.
이제, 본 개시물의 다양한 실시형태의 특징이 더 상세히 설명될 것이다.
다각형 메시가 있는 캐릭터의 안면 리그가 주어지면, V는 |V| = n 개의 정점이 있는 메시의 정점 좌표 세트를 나타내는 것으로 한다. p는 캐릭터의 리그 파라미터를 나타내고, V = r(p)는 파라미터를 변형된 메시에 맵핑하는 리그 함수라고 한다. 본 개시물의 적어도 하나의 실시형태는 이 리그 함수 r(p)를 근사하는 것에 관한 것이다.
적어도 하나의 실시형태에 따르면, 근사하는 방법은 아티스트가 생성한 안면 메시의 텍스처 좌표
Figure pct00001
를 이용한다. 근사는 입력 리그 파라미터가 주어진 변형 맵을 생성하는 CNN에 의존할 수 있다.
적어도 하나의 실시형태에 따르면, 변형 맵은 3 개의 정보 채널을 갖는 구성(예컨대, 3D 이미지)이다. 설명의 목적상, 변형 맵을 3 개의 색상 정보 채널을 갖는 색상 이미지와 유사한 것으로 간주하는 것이 도움이 될 수 있다. 예를 들어, 특정 픽셀에 대하여, 이러한 컬러 이미지는 적색 정보, 녹색 정보 및 청색 정보를 가질 수 있다. 유사하게, 적어도 하나의 실시형태에 따르면, 변형 맵은 특정 정점에 대하여 x 좌표 정보, y 좌표 정보 및 z 좌표 정보를 갖는다. x, y, z 좌표 정보는 변형 맵에 대응하는 3D 이미지에서 정점의 위치와 관련된다.
이와 같이, 변형 맵은 다수의 픽셀 각각(예컨대, 3D 이미지의 각각의 픽셀)에 대한 x, y 및 z 좌표 정보를 전달한다. 메시의 정점과 관련하여, 특정 정점의 위치는 변형 맵의 임의의 특정 픽셀의 위치와 반드시 정렬되지 않을 수도 있다. 따라서, 적어도 하나의 실시형태에 따르면, 변형 맵에 기초하여 정점의 위치를 결정하기 위해, 정점에 대응하는 텍스처 좌표를 사용할 수 있다. 예로서, 특정 정점의 텍스처 좌표는 특정 픽셀(예컨대, 이웃하는 픽셀들)을 식별하기 위해 변형 맵을 샘플링하는 데 사용될 수 있다. 예를 들어, 텍스처 좌표에 기초하여, 특정 정점이 변형 맵의 2 개의 특정 픽셀의 각각의 위치 사이(예컨대, 사이의 중간)에 위치된다고 결정될 수 있다. 정점의 위치를 결정하기 위해, 변형 맵에서 픽셀 정보의 가중합(예컨대, 2 개의 픽셀의 x 좌표 정보의 가중합, 2 개의 픽셀의 y 좌표 정보의 가중합, 2 개의 픽셀의 z 좌표 정보의 가중합)을 사용하여 메시의 정점 위치에 대한 오프셋을 결정할 수 있다.
따라서, 변형 맵은 메시의 정점 위치를 근사하기 위해 텍스처 좌표에서 샘플링된다. 안면 리그에 대한 많은 파라미터는 메시의 로컬 영역을 변형하며, 리그 파라미터는 메시 상의 로컬 동작으로 보여질 수 있다. 계획적으로, CNN은 피처 맵에서 로컬 계산을 수행한다. 메시의 로컬 정보가 텍스처 좌표에 보존된다고 가정하면, CNN은 리그 함수를 근사하는 데 이상적일 수 있다.
적어도 하나의 실시형태에 따르면, 안면 모델의 근사된 메시 변형을 생성하기 위한 방법은 대략적 근사 및 정제된 근사의 두 단계를 포함한다(도 3 참조). 도 3은 적어도 하나의 실시형태에 따른 근사 모델의 도면이다. 리그 파라미터(302)는 하나 이상의 메시 세그먼트 각각에 대한 변형 맵을 생성하는 뉴럴 네트워크(예컨대, 컨볼루션 뉴럴 네트워크)에 대한 입력으로서 사용된다. 예를 들어, 하나 이상의 리그 파라미터(302)는 변형 맵(306)을 생성하는 하나 이상의 대략적 근사 모델(304)에서의 컨볼루션 네트워크에 입력된다. 다른 예로서, 하나 이상의 리그 파라미터(302)는 변형 맵(326)을 생성하는 정제된 근사 모델(324)에서의 콘볼루션 네트워크에 입력된다. 일 양태에 있어서, 리그 파라미터(302)는 모델 자체가 아니라 변형 맵을 생성하기 위해 모델에 영향을 미치는 데 사용되는 입력이다. 예를 들어, 리그 파라미터(302)는 입술, 눈썹, 코 등에서의 움직임을 제어하기 위한 입력을 포함할 수 있다.
각각의 변형 맵에 대하여, 텍스처 좌표 공간의 각각의 정점 위치에서 변형 맵의 보간을 수행함으로써 정점 오프셋을 추출할 수 있다. 예를 들어, 이중 선형 보간(bilinear interpolation)이 이용될 수 있다. 적어도 하나의 실시형태에 따르면, 대략적 근사 모델(304)에 의해 생성되는 각각의 변형 맵(306)에 대하여, 텍스처 좌표 공간의 각각의 정점 위치에서 변형 맵의 이중 선형 보간에 의해 정점 오프셋이 추출된다. 전술한 바와 같이, 특정 정점은 변형 맵(예컨대, 변형 맵(306)들 중 하나)의 2 개의 픽셀의 각각의 위치 사이(예컨대, 사이의 중간)에 위치될 수 있다. 정점의 위치를 결정하기 위해, 변형 맵(360)의 픽셀 정보의 가중합을 사용하여 정점 위치를 결정할 수 있다. 예를 들어, 2 개의 픽셀의 x 좌표 정보의 평균, 2 개의 픽셀의 y 좌표 정보의 평균, 및 2 개의 픽셀의 z 좌표 정보의 평균을 사용하여 메시의 정점 위치에 대한 오프셋을 결정할 수 있다.
가산기(310)에서, 추출된 오프셋을 메시(312)의 중립 포즈의 정점에 추가하여 원하는 변형에 도달한다.
이중 선형 보간은 정점 오프셋을 추출하는 데 이용될 수 있는 보간 형태의 일례일 뿐이다. 다른 보간 형태(들)(예컨대, 큐빅(cubic) 보간)가 이용될 수 있다는 것을 이해한다.
대략적 근사 모델(304)은 전체 메시(312)에서 동작할 수 있다. 상응하는 실행 시간을 줄이기 위해(예컨대, 대략적 근사 모델이 더 신속하게 실행되는 것을 보장하기 위해), 대략적 근사 모델(304)은 저해상도 변형 맵(예컨대, 상대적으로 낮은 해상도를 특징으로 하는 변형 맵(306))을 출력하는 다중 CNN을 포함한다. 결과적으로, 변형의 고주파 디테일이 손실될 수 있다.
이러한 손실을 상세히 다루기 위해, 적어도 하나의 특정 실시형태에 따르면, 근사된 메시 변형은 정제된 근사 모델(324)을 더 포함한다. 정제된 근사 모델(324)은 더 높은 해상도의 변형 맵(예컨대, 변형 맵(306)보다 더 높은 해상도를 특징으로 하는 변형 맵(326))을 출력하는 CNN을 포함한다. 아래에서 더 자세히 설명되는 바와 같이, 변형 맵(326)은 메시(312)의 모든 영역보다 적은 영역에 적용된다. 예를 들어, 변형 맵(326)은 메시(312)의 선택된 영역에만 적용될 수 있다.
예를 들어, 정제된 근사 모델(324)에 의해 생성되는 각각의 변형 맵(326)에 대하여, 텍스처 좌표 공간의 각각의 정점 위치에서 변형 맵의 보간을 수행함으로써 정점 오프셋을 추출한다. 일반적으로, 변형 맵(326)의 구조는 변형 맵(306)을 참조하여 앞서 설명한 구조와 유사할 수 있다. 유사하게, 변형 맵(326)에 기초한 정점 오프셋의 추출은 변형 맵(306)을 참조하여 앞서 설명한 것과 유사할 수 있다. 또한 변형 맵(306)을 참조하여 앞서 설명한 바와 같이, 보간은 이중 선형 보간, 큐빅 보간 또는 일부 다른 적절한 형태의 보간일 수 있다. 이와 관련하여, 전체 활성 정점 중 특정량 이하의 서브세트(308)가 사용될 수 있다. 가산기(314)에서, 추출된 오프셋을 가산기(310)의 출력에 추가한다. 가산기(314)의 출력에는, 변형된 메시(316)의 정점이 제공된다.
따라서, 정제된 근사 모델(324)은 이들 고주파 변형을 근사하기 위해 메시(312)의 정점 밀집 영역에만 집중할 수 있다. 모델의 효율성을 더 개선하기 위해, 적어도 하나의 추가 실시형태에 따르면, 리그 함수 내에서 강체성 회전 및 평행이동만을 겪는 메시의 세그먼트가 식별된다. 이러한 식별된 세그먼트는 더 복잡한 CNN 근사(예컨대, 대략적 근사 모델(304) 및 정제된 근사 모델(324)의 CNN 기반의 근사) 대신 더 빠른 강체성 근사로 근사될 수 있다.
도 3은 대략적 근사 모델(304) 및 정제 모델(324)을 포함하는 근사 모델을 예시하지만, 근사 모델이 이들 둘 모두를 포함할 필요는 없다는 것을 이해한다. 예로서, 적어도 하나의 실시형태에 따르면, 근사 모델은 하나 이상의 대략적 근사 모델(304)을 포함하지만 정제 모델(324)과 유사한 모델은 포함하지 않는다.
이제, 적어도 하나의 실시형태를 참조하여 대략적 근사 모델(304)이 더 상세히 설명될 것이다. 안면 메시(예컨대, 도 3의 메시(312))는 다수의 세그먼트로 분할될 수 있으며, 이는 아티스트가 생성한 안면 리그에 대하여 공통적이다. 메시의 각각의 정점은 단일의 메시 세그먼트에 할당된다. 이렇게, 각각의 정점은 하나를 초과하는 메시 세그먼트에는 할당되지 않는다. m은 메시 세그먼트의 총 수를 나타내고, Vk 및 Uk는 제각기 특정 메시 세그먼트 k에 대한 정점 위치 세트 및 텍스처 좌표 세트를 나타낸다. 본 명세서에서는 복수의 메시 세그먼트를 갖는 메시를 참조하여 특징을 설명하지만, 대략적 근사 모델(304)은 세그먼트화되지 않은 안면 리그에서도 동작할 수 있음을 이해한다. 이 상황에서, m은 1이고, 전체 메시의 모든 정점은 유일한 세그먼트에 할당된다.
대략적 근사 모델(304)은 먼저 변형 맵(306)을 생성함으로써 변형된 메시를 계산할 수 있으며, 하나의 변형 맵(306)은 안면 리그의 각각의 메시 세그먼트에 대하여 생성된다. 이후, 맵에 기초하여 정점 위치가 계산될 수 있다. 메시 세그먼트 k에 대하여, 상응하는 함수 Ik = f(p;θk)는 리그 파라미터 p(예컨대, 리그 파라미터(302))가 주어진 메시 세그먼트에 대한 변형 맵을 계산한다. 함수 f는 여러 개의 밀집 계층(dense layer)과 컨볼루션 계층(convolutional layer)으로 구성된 뉴럴 네트워크(예컨대, CNN)일 수 있으며, 뉴럴 네트워크는 θk로 파라미터화될 수 있고(도 3 참조), 여기서 θk는 메시 세그먼트 k에 대한 최적의 모델 파라미터를 나타낸다.
도 4a는 적어도 하나의 실시형태에 따른 대략적 근사 모델의 뉴럴 네트워크의 예를 예시한다. 도 4a를 참조하면, 뉴럴 네트워크는 밀집 계층(402-1 및 402-2) 및 컨볼루션 계층(404-1, 404-2, 404-3, 및 404-4)을 포함한다. 컨볼루션 계층(404-1, 404-2, 및 404-3)은 3×3 커널을 사용하고, 마지막 컨볼루션 계층(컨볼루션 계층(404-4))은 1×1 커널을 사용한다. 마지막 컨볼루션 계층을 제외한 모든 계층은 리키 렐루(leaky ReLU) 활성화 함수를 사용하며, 마지막 계층에는 활성화 함수가 적용되지 않는다. 모든 비-밀집 계층은 이미지 평면에서 정사각형이다.
업샘플링은 최근린 보간을 통해 달성될 수 있다(도 3 참조). 정점 오프셋 Δk는 텍스처 좌표 Uk에서 Ik에 의해 계산된 변형 맵을 샘플링함으로써 계산된다. 샘플링은 정점 오프셋을 출력(또는 생성)하는 Δk = g(Ik; Uk)로 표시된다. 각각의 정점이 단일의 메시 세그먼트에 할당되기 때문에, 전체 메시에 대한 정점 오프셋은 Δ=Uk∈(1,...,m)Δk가 되도록 각각의 세그먼트에 대한 오프셋들을 연쇄시킴으로써 취득될 수 있다. 도 3을 계속 참조하면, 대략적 근사는 메시(312)의 중립 포즈의 정점에 정점 오프셋을 추가함으로써(예컨대, 가산기(310)에서) 메시에 대한 최종 정점 위치를 계산한다.
근사 모델이 주어지면, 최적의 모델 파라미터 θk를 찾기 위해 손실 함수가 정의된다. 적어도 하나의 실시형태에 따르면, 근사된 정점 위치의 부정확성뿐만 아니라 메시 상의 면 법선의 부정확성 모두에 페널티를 주는 손실 함수가 제안된다. 목표 메시 V 및 근사된 정점 오프셋 Δ가 주어지면, 손실 함수는 다음과 같이 식 (1)에서 정의될 수 있다:
Figure pct00002
(1)
여기서 αn은 사용자에 의해 직접 조정될 수 있는 스케일링 팩터이다. 실험 데이터를 기반으로, αn = 5의 스케일링 팩터가 적합한 것으로 결정되었다.
식 (1)의 손실 함수에서, ni는 메시 V에서 면 i의 법선을 나타내고,
Figure pct00003
는 메시 토폴로지에서 정점 위치 V0+Δ및 총 f 개의 면을 갖는 근사된 메시에서 면 i의 법선을 나타낸다. 더 선명한 피처를 생성하기 때문에 L1 손실이 L2 손실 대신 사용된다. 리그 파라미터(예컨대, 도 3의 리그 파라미터(302))로부터 종단간 정점 오프셋으로의 맵핑은 중간 변형 맵을 감독할 필요 없이 학습된다. 또한, 적어도 하나의 실시형태에 따르면, 텍스처 좌표는 최적화되지 않는다. 대신에, 아티스트가 생성한 좌표에 의존한다.
대략적 근사와 관련하여, 특정 메시에 대한 메시 세그먼트의 예는 도 8을 참조하여 이후에 상세히 설명한다.
대략적 근사 모델은 별도의 메시 세그먼트에서 작동하기 때문에, 모델은 특정 메시 세그먼트들 사이의 경계 및/또는 이음새를 가로지르는 불연속부를 만들 수 있다. 이 잠재적인 문제를 해결(예컨대, 최소화)하기 위해, 오차 함수(예컨대, 식 (1)의 손실 함수)는 메시 세그먼트 경계를 따라 매끄러운(또는 더 매끄러운) 결과를 촉진하기 위해 부정확한 면 법선에 강력하게 페널티를 줄 수 있다. 법선 오차에 페널티를 주면 시각적으로 방해가 되거나 산만해질 수 있는 저진폭 고주파 오차도 억제된다.
적어도 하나의 실시형태에 따르면, 모델 트레이닝을 돕기 위해, 각각의 네트워크에는 리그 파라미터의 서브세트(예컨대, 리그 파라미터(302)의 서브세트)만이 제공될 수 있다. 서브세트에는 근사되고 있는 메시 세그먼트 내의 임의의 정점을 변형시킬 수 있는 리그 파라미터들이 모두 포함되어 있다. 다른 모든 리그 파라미터(예컨대, 출력에 영향을 미치지 않는 입력)는 네트워크에 입력되는 파라미터에서 제외된다. 결과적으로, 네트워크는 무시할 파라미터를 학습할 필요가 없으며 출력에 영향을 미치지 않는 입력에 의해 제공되는(또는 이와 연관되는) 노이즈로 인해 부정적인 영향을 받는 것이 방지될 것이다.
대략적 근사 모델에서, 변형 맵 Ik의 해상도는 컴퓨터 사용 상의 복잡성을 줄이기 위해 의도적으로 작게(또는 상대적으로 낮게) 유지된다. 그러나, 텍스처 좌표 공간에서, 메시의 밀집 영역에 있는 정점들은 작은 변형 맵에서 1 픽셀 미만의 간격으로 배치(또는 이격)될 수 있다. 이러한 정점이 피부 주름과 같은 고주파 변형을 겪으면, 대략적 근사 모델은 이 변형을 정확하게 재현할 수 없을 것이다. 이 상황에서의 장애물은 CNN에 의해 출력되는 맵(예컨대, 대략적 근사 모델(304)에 의해 출력되는 맵(306))의 해상도이다. 이 제한을 해결하기 위해, 적어도 하나의 실시형태에 따르면, 메시의 특정 영역(예컨대, 정점 밀집 영역)에만 집중하기 위한 정제 모델(예컨대, 정제된 근사 모델(324))이 제안된다.
이제, 적어도 하나의 실시형태를 참조하여 정제된 근사 모델(324)이 더 상세히 설명될 것이다.
먼저, 근사에서 큰(또는 더 큰) 오차가 있는 영역에 대응하는 정점 세트가 식별된다. 정제 모델에 대한 정점 선택에 대해서는 나중에 자세히 설명한다. 식별된 각각의 세트는 이후 새로운 메시 세그먼트로 정의된다. 이러한 새로운 메시 세그먼트에서의 각각의 정점에 대하여, 텍스처 좌표는 정제 변형 맵(예컨대, 정제된 근사 모델(324)에 의해 생성된 맵(326))의 전체 해상도를 채우도록 스케일링된다. 대략적 근사 모델에서와 같이, 다중 메시 세그먼트(예컨대, 정제된 근사를 위해 정의된 다수의 새로운 메시 세그먼트)에는 정점이 할당되지 않는다.
추가적으로, 메시(예컨대, 도 3의 메시(312))의 모든 정점이 정제 단계를 참조하여 새로운 메시 세그먼트에 할당되는 것은 아니다. 예를 들어, 근사 오차가 높은 메시 영역에 위치된 정점만이 새로운 메시 세그먼트에 할당된다.
도 4b는 적어도 하나의 실시형태에 따른 정제된 근사 모델의 뉴럴 네트워크의 예를 예시한다. 도 4b를 참조하면, 뉴럴 네트워크는 밀집 계층(412-1 및 412-2) 및 컨볼루션 계층(414-1, 414-2, 414-3, 414-4, 414-5 및 414-6)을 포함한다. 컨볼루션 계층(414-1, 414-2, 414-3, 414-4 및 414-5)은 3×3 커널을 사용하고, 마지막 컨볼루션 계층(컨볼루션 계층(414-6))은 1×1 커널을 사용한다. 마지막 컨볼루션 계층을 제외한 모든 계층은 리키 렐루(leaky ReLU) 활성화 함수를 사용하며, 마지막 계층에는 활성화 함수가 적용되지 않는다. 모든 비-밀집 계층은 이미지 평면에서 정사각형이다.
m'은 정제 단계에서 새로운 메시 세그먼트의 수를 나타내고, Uk'는 특정한 새로운 세그먼트 k'에 대한 새로운 텍스처 좌표를 나타낸다. 대략적 근사 모델과 관련하여 이전에 사용된 표기법과 유사하게, 새로운 메시 세그먼트 k'에 대한 정제된 근사 모델에 대한 샘플링은 δk' = g(f(p; θk' r); Uk'')로 표현될 수 있고, 여기서 θk' r은 새로운 메시 세그먼트 k'에 대한 최적의 모델 파라미터를 나타낸다. 출력 δk'는 메시(예컨대, 도 3의 메시(312))의 정점 위치와 새로운 메시 세그먼트 k'에 대한 대략적 모델의 출력 사이의 잔차를 근사한다. 새로운 메시 세그먼트들의 어디에도 포함되지 않는 정점에 대하여, 정제 근사는 0인 것으로 간주될 수 있으며, 이 정제 근사의 세트는 δm'+1 = 0으로 정의될 수 있다. 대략적 근사 모델에서 전체 메시에 대하여 취득되는 정점 오프셋(Δ로 표시됨)과 유사하게, δ는 결합된 출력 세트 δk'를 나타내는 데 사용될 수 있다. 정제 모델(324)은 대략적 근사 모델(식 1 참조)을 참조하여 이전에 설명된 것과 동일한(또는 유사한) 손실 함수를 사용하여 트레이닝될 수 있으며, 여기서 손실은 이제 L(V, Δ+δ)로 평가된다.
정제된 근사와 관련하여, 특정 메시에 대한 새로운 메시 세그먼트의 예는 도 9를 참조하여 나중에 더 자세히 설명될 것이다.
적어도 하나의 실시형태에 따르면, 정제 모델은 대략적 모델에 의해 생성된 변형 맵에 비해 더 높은 해상도를 특정한 변형 맵을 생성한다. 대안으로서, 전체 근사는 전체 메시에 걸쳐 더 높은 해상도의 정제 모델만을 적용하고 대략적 근사의 사용을 포기함으로써 수행될 수 있다. 그러나, 전체 메시에 걸쳐 정제 모델을 적용하면, 전체 해상도가 증가하고 정제 모델이 더욱 심층 네트워크를 사용하기 때문에 컴퓨터 사용 상의 비용이 훨씬 더 높아지게 된다(예컨대, 도 4b에 예시된 정제 모델에서 더 많은 수의 컨볼루션 네트워크를 참조).
이제 적어도 하나의 실시형태를 참조하여 정제 모델을 위한 정점 선택이 더 상세히 설명될 것이다.
정제에 사용되는 정점 세트를 식별하기 위해 각각의 메시 세그먼트의 대략적 변형 맵 및 텍스처 좌표의 해상도를 고려하여 각각의 정점에 대한 최소 근사 오차를 추정할 수 있다. 다음으로, 텍스처 좌표에 대한 클러스터링이 수행되며, 각각의 정점은 추정된 근사 오차로 가중된다. 각각의 클러스터 근처의 정점은 정제 모델에 대한 상응하는 메시 세그먼트가 된다. 반대로, 클러스터 중심에서 멀리(또는 더 멀리) 위치된 정점은 정제 단계에서 생략된다.
최소 근사 오차는 먼저 텍스쳐 좌표를 통해 정점 위치를 변형 맵에 맵핑한 다음 해당 좌표에서 변형 맵을 샘플링하여 정점 위치(샘플링된 정점 위치)를 생성함으로써 추정될 수 있다. 맵은 텍스처 좌표로부터 픽셀 좌표에서의 값들을 보간함으로써 선형 커널로 폴리하모닉 보간을 통해 계산될 수 있다. 정점 위치는 이중 선형 보간을 통해 변형 맵으로부터 계산된다. vi는 원래의 정점 위치를 나타낼 수 있고,
Figure pct00004
i는 변형 맵으로부터 샘플링된 정점 위치를 나타낼 수 있다. n 개의 샘플 세트 Vi = {vi 1, vi 2, ..., vn i}에 대하여, 근사 오차는 하기의 식 (2)로 표현된 것처럼 추정될 수 있다:
Figure pct00005
(2)
이후, 텍스처 좌표에 대하여 k-평균 클러스터링이 수행되고, 각각의 정점은 상응하는 근사 오차 ei에 의해 가중된다. 클러스터의 수는 엘보우(elbow) 방법에 의해 결정될 수 있다. 여기서, 각각의 정점은 사용자가 지정한 거리까지 가장 가까운 클러스터 중심에 할당된다. 수행된 실험에서, 정점은 원래의 텍스처 좌표 공간의 폭의 1/4 길이로 클러스터 평균을 중심으로 한 정사각형 내에 할당되었다. 이 접근법은 테스트된 캐릭터에 대하여 적합했다. 대략적 근사와 유사하게, 이러한 새로운 메시 세그먼트에 포함되는 임의의 정점을 변형시킬 수 있는 리그 파라미터 세트가 계산될 수 있다. 각각의 정제 모델에는 이러한 특정 입력 파라미터만이 제공될 수 있다.
이제 적어도 하나의 실시형태를 참조하여 컴퓨터 사용 상으로 덜 복잡한 강체성 근사의 특징이 설명될 것이다.
캐릭터의 안면에는 개별 치아와 같이 강체성으로 움직이는 메시의 섹션들이 있을 수 있으며, 여기서 주어진 치아의 정점들은 단일 단위로 함께 움직이는 것으로 간주될 수 있다. 테스트된 캐릭터의 경우에는, 각각의 치아가 별도의 세그먼트로 모델링되었다. 리그에서 각각의 치아의 변형은 회전 및 평행이동으로 표현될 수 있기 때문에, 각각의 치아에 대하여 CNN 모델로 선형 변환을 근사하는 것은 불필요한 계산을 생성한다. 대신에, 도 5에 예시된 바와 같이 근사된 메시에서 인근의 정점들로부터 선형 변환을 계산함으로써 강체성 움직임이 추정될 수 있다.
도 5는 적어도 하나의 실시형태에 따른 강체성 근사(rigid approximation)의 예를 예시한다. 삼각형(502)은 강체성 메시 세그먼트, 예컨대 나중에 제시될 식 (3)으로 식별되는 강체성 메시 세그먼트를 나타낸다. 라인(504)은 비선형적으로 변형된 메시 세그먼트를 나타내고, 라인(504) 상의 도트들은 표면 상의 정점들을 나타낸다. 특히, 도트(506)는 큰 예시 세트에 걸쳐 삼각형(502)의 강체성 변환에 가장 잘 매칭되는 식 (4)에 의해 식별되는 정점 세트를 나타낸다. 기본 포즈뿐만 아니라 변형된 포즈에서 비선형 세그먼트(504) 상의 정점의 위치가 주어지면, 변환 R,t가 도트(506)에 의해 표현되는 정점으로부터 계산된다.
변환은 변형된 포즈에서의 그 위치를 계산하기 위해 삼각형(502)에 적용된다. 각각의 강체성 메시 세그먼트는 CNN 모델에 의해 근사된 정점들의 서브세트에 할당된다. 이후, 이들 강체성 세그먼트의 움직임은 CNN 근사로부터 상응하는 정점들의 서브세트의 움직임을 가장 잘 설명하는 강체성 변환을 해결함으로써 추정된다. 적어도 하나의 실시형태에 따르면, 계산이 근사의 결과에 의존하기 때문에 강체성 변환은 대략적 근사 및 정제 근사가 평가된 후에 계산된다.
메시의 강체성으로 변형된 세그먼트를 식별하기 위해, 안면 리그의 저자에 의해 제공된 k 개의 메시 세그먼트 모두가 고려된다. 다음으로, n 개의 예시적인 메시 변형 세트 V = {V1, V2, ..., Vn}가 수집된다. 기본 포즈 V0의 메시가 주어지면, 정점 위치(Vk 0 내지 Vk i)를 강체성으로 변환하는 근사 오차는 다음 식 (3)에서 표현되는 바와 같이 계산된다:
Figure pct00006
(3)
식 (3)은 강체성 회전 Rk i 및 강체성 평행이동 ti k를 적용할 때 샘플 i에서 메시 세그먼트 k에 대한 정점 위치의 차이를 나타낸다. 샘플들에 걸친 오차
Figure pct00007
가 평균화된다. 이후, 강체성으로 변형된 메시 세그먼트가 식별될 수 있으며, 여기서 ek < τ이다. 수행된 실험에서는, τ = 0.3 mm의 값이 사용되었다.
Vr i는 샘플 i에 대하여 강체성으로 변형된 메시 세그먼트(즉, er < τ)를 나타낼 수 있다. Rr i 및 ti r은 식 (3)의 최소화기를 나타낼 수 있다. P는 임의의 강체성으로 변형된 세그먼트에 포함되지 않는 메시의 정점 인덱스 세트를 나타낼 수 있다. 각각의 정점 j ∈ P에 대하여, 모든 샘플 i에 대한 변환 Rr i, ti r 하의 근사 오차는 다음 식 (4)를 사용하여 계산된다:
Figure pct00008
(4)
강체성 메시 세그먼트 r에 대하여, Vδ 0 및 Vi δ는 c 최소 근사 오차
Figure pct00009
로 정점 세트를 나타낼 수 있고, 여기서 |Vδ 0| = c이다. 수행된 실험에서는, c = 10의 값이 선택되었다. 메시 V'P의 비선형 변형된 정점이 주어지면, 강체성 메시 세그먼트 r의 정점 위치는 Vr' = Vr 0R'δ + t'δ로 근사될 수 있고, 여기서 R'δ 및 t'δ는 정점 위치 V'δ에 대한 식 (3)의 최소화기이다.
이제 적어도 하나의 실시형태를 참조하여 대략적 근사 모델 및 정제 근사 모델의 구현이 더 상세히 설명될 것이다.
대략적 근사 및 정제 단계에 대한 각각의 모델 f(p;θk) 및 f(p;θk' r) 모두는 컨볼루션 계층이 뒤따르는 일련의 밀집 계층을 갖는 심층 뉴럴 네트워크로서 구현될 수 있다. 도 4a 및 도 4b는 제각기 대략적 근사 모델의 뉴럴 네트워크의 예와 정제된 근사 모델의 뉴럴 네트워크의 예를 예시한다. 네트워크들은 두 단계에 걸쳐 트레이닝된다. 제1 단계에서, 대략적 근사에 대응하는 파라미터 θk는 식 (1)에 표현된 손실 L(V,Δ)을 최소화하도록 트레이닝된다. 이들 모델은 저자에 의해 제안된 운동량 파라미터를 사용하여 Adam(아담) 최적화기(Diederik Kingma and Jimmy Ba. 2014. Adam: A Method for Stochastic Optimization. International Conference on Learning Representations (12 2014) 참조)로 배치(batch) 크기 8로 트레이닝된다. 최적화는 10-3의 학습 속도로 시작한다. 모델이 수렴한 후, 학습 속도가 10-4로 감소된다. 다시 수렴한 후, 학습 속도가 10-5로 감소되고 한 번 더 수렴할 때까지 실행된다. 대략적 근사로부터 파라미터 θk가 완전히 최적화되면 이 파라미터는 일정하게 유지되는 반면, 제2 단계에서는 정제 모델 파라미터 θk' r이 손실 L(V,Δ+δ)을 가지고 최적화된다. 정제 모델의 최적화에는 동일한(또는 유사한) 하이퍼-파라미터 및 트레이닝 스케줄이 사용된다.
근사 모델을 트레이닝하면, 강체성 메시 세그먼트(식(3) 참조) 및 각각의 강체성 메시 세그먼트에 할당된 정점 세트(식 (4) 참조)가 원래의 리그 함수를 사용하여 계산된다. 모델을 평가하는 동안, 대략적 모델과 정제 모델이 평가된 후 강체성 변환이 계산된다. 근사된 정점 위치는 회전 행렬과 평행이동 벡터를 계산하는 데 사용되며, 강체성 메시 세그먼트에 적용되어 결과적인 근사된 메시 변형을 생성한다.
적어도 하나의 실시형태에 따른 안면 근사 모델을 트레이닝하기 위해서는 많은 양의 트레이닝 데이터가 필요할 수 있다. 트레이닝 데이터는 리그 파라미터 p와 리그 함수 V = r(p)에 의해 출력된 변형된 메시의 정점 위치의 쌍(p, V)으로 구성된다. 트레이닝 데이터를 생성하기 위해 기존의 애니메이션은 상승성 노이즈로 증강될 수 있으며 데이터 밸런싱을 적용하여 애니메이션 데이터에서 발견되는 공통 포즈가 트레이닝 데이터에서 과도하게 표현되는 것을 방지할 수 있다.
Figure pct00010
는 트레이닝 애니메이션으로부터의 포즈 세트를 나타낼 수 있고, m은 각각의 포즈에서의 리그 파라미터 수를 나타낼 수 있다. 트레이닝 세트는 아래의 식 (5)에 기초하여 표시될 수 있고,
Figure pct00011
(5)
여기서 u ∈ Rm은 각각의 구성요소가 [0.25, 3.0] 범위에서 균일하게 무작위로 추출된 랜덤 값의 벡터를 나타내고, p는 포즈 세트
Figure pct00012
로부터 균일하게 무작위로 추출된다. 연산 ⊙는 벡터의 구성 요소별 곱셈을 나타낸다. 수행된 실험에서는, 트레이닝 세트에 대하여 |T| = 50,000 개의 샘플이 생성되었다. 도 6은 트레이닝 데이터 T로부터의 예시적인 포즈들을 도시한다.
트레이닝 세트가 생성된 후 데이터가 균형을 이룬다. 트레이닝 데이터는 기존의 애니메이션으로부터 생성될 수 있으며, 중립적 표정과 같은 특정 표정이 데이터에서의 다른 포즈들보다 더 빈번하게 발생할 수 있다. 이 데이터 세트로 트레이닝된 모델은 빈번하게 발생하는 표정에 과적합될 수 있으며 다른 유형의 표정들을 근사할 때 제대로 수행되지 않을 수 있다. 적어도 하나의 실시형태에 따르면, 트레이닝 예시들은 빈(bin)으로 분류되고, 빈을 균일하게 무작위로 선택한 다음 빈 내의 샘플을 균일하게 무작위로 선택함으로써 랜덤 샘플이 추출된다.
데이터를 빈으로 분할하기 위해, 입, 눈 및 코와 같은 주된 안면 피처 주변의 작은 랜드마크 정점 세트에 수동으로 레이블을 지정할 수 있다. 예를 들어, 수행된 실험에서는, 각각의 캐릭터에 대하여 대략 20 내지 30 개의 랜드마크 점들이 수동으로 식별되었다. 각각의 포즈 pi ∈ T에 대하여, 변형된 메시에서 랜드마크 정점 Vl i의 위치가 수집되었다. 이후, 주성분 분석(PCA)을 사용하여 랜드마크 위치 세트 {Vl 1, Vl 2, ..., Vl |T|}를 1차원 공간에 투영한다. 이 1차원 공간은 투영된 데이터의 범위를 따라 동일한 길이의 간격으로 세그먼트화된다. 이후, 샘플들은 그들이 놓여 있는 간격에 따라 빈으로 분류된다. 트레이닝을 위한 샘플을 추출할 때, 빈이 균일하게 무작위로 선택되고, 해당 빈으로부터 샘플이 균일하게 무작위로 선택된다. 수행된 실험에서는, 데이터가 16 개의 빈으로 분할되었다.
제작 사용을 위한 안면 캐릭터 리그는 통상적으로 리그 파라미터에 대한 정점 위치의 기울기 ∂V/∂p를 계산하는 것이 어렵고 매우 느린 방식으로 구성된다. 적어도 실시형태에 따라 본 명세서에서 설명되는 근사 모델(들)을 사용하면, 딥 러닝 라이브러리에서 공통적인 특징인 자동 미분에 의한 기울기 추정이 가능해지므로 대수롭지 않을 수 있다. 이 기울기의 유용한 응용 중 하나는 사용자 지정 제어점 위치와 매칭시키기 위해 리그 파라미터가 메시를 가장 잘 변형시키는 것으로 추정되는 역운동학에서의 응용이다.
역운동학에 대한 공통적인 해법은 이를 반복 최적화 문제로 공식화한다. 이러한 유형의 해법은 최적의 리그 파라미터로 수렴하기 전에 여러 기울기 평가가 필요하다. 근사 모델을 사용하여 ∂V/∂p를 추정할 수 있지만, 반복 최적화 방법을 위해 모델(들)을 통해 기울기를 복수 회 계산하려면 실시간으로 실행하기에는 너무 많은 계산이 필요하다. 대신에, 적어도 하나의 실시형태에 따르면, 피드포워드 뉴럴 네트워크가 개시된다. 피드포워드 뉴럴 네트워크는 IK 제어점을 입력으로 취하고 상응하는 리그 파라미터를 출력한다. 트레이닝 동안, 네트워크는 근사 기울기를 이용하지만, 새로운 입력에 대하여 평가될 때 ∂V/∂p를 필요로 하지 않는다. 결과적으로, 피드포워드 네트워크는 원하는 리그 파라미터를 실시간으로 보다 쉽게 계산할 수 있다.
이제 적어도 하나의 실시형태를 참조하여 피드포워드 뉴럴 네트워크의 모델이 설명될 것이다.
C는 IK 제어점에 대응하는 정점의 인덱스 세트를 나타낼 수 있으며, rC(p) : Rm → R|C|×3은 리그 파라미터 p를 정점 VC의 서브세트에 맵핑하는 리그 함수를 나타낼 수 있다. 역운동학 문제가 다음 식 (6)으로 표현될 수 있고,
Figure pct00013
(6)
여기서
Figure pct00014
C는 사용자에 의해 제공되는 목표 제어점을 나타낸다. 리그 함수 r이 미분 가능하지 않다는 가정으로 인해, 리그 함수는
Figure pct00015
로 표시되는 근사로 대체된다. 또한, 반복 알고리즘으로 최소화 문제를 해결하는 대신, 피드포워드 네트워크 fIK: R|C|×3 → Rm을 도입하여, 다음 식과 같이 되도록 고정 길이 계산을 통해 최소화 문제를 근사하고,
Figure pct00016
(7)
여기서 θIK는 트레이닝이 필요한 네트워크 파라미터를 나타낸다. 이 모델은 특정 제어점 세트와 정점 VC에서 트레이닝되며, 임의의 다른 정점 세트에 대해서는 새로운 네트워크가 트레이닝되어야 할 수도 있다.
모델을 트레이닝하는 데 사용되는 손실 함수에는 변형된 메시가 제어점과 밀접하게 매칭되도록 하는 점-매칭 구성요소뿐만 아니라, 부자연스러운 포즈를 생성하는 큰 리그 파라미터를 피하기 위한 정규화 구성요소가 모두 포함되어 있다. 손실은 다음 식 (8)과 같이 표현되고,
Figure pct00017
(8)
여기서 λreg ∈ R은 사용자 정의 정규화 가중치를 나타낸다.
점-매칭 손실(식 (9) 참조)은 추정된 포즈에 의해 생성되는 점과 상응하는 제어점 사이의 거리를 계산한다.
Figure pct00018
(9)
정규화 구성요소는 다음 식 (10)에서 표현되는 대로 큰 파라미터 값에 페널티를 주고,
Figure pct00019
(10)
여기서 p0은 캐릭터의 중립적 표정을 나타내고 s ∈ Rm은 각각의 리그 파라미터에 대한 개별 스케일링 값을 나타낸다. 리그 파라미터 i의 경우, 스케일은 si = 1/(pi,max - pi,min)으로 주어지고, 여기서 pi,max 및 pi,min은 제각기 애니메이션 데이터
Figure pct00020
의 리그 파라미터 i에 대한 최대값 및 최소값이다. 각각의 파라미터를 개별적으로 스케일링하면 값 범위의 차이에 관계없이 각각의 파라미터에 정규화가 동일하게 적용된다. 또한, L1 정규화 손실은 추정된 포즈 p에서 희소성을 촉진하는 데 사용된다.
이상적인 IK 근사 모델 fIK는 특정 리그 파라미터와 제어점 사이의 잘못된 상관관계 학습을 방지한다. 예를 들어, 사용자가 캐릭터의 왼쪽 눈에 있는 제어점을 조정하는 경우, 근사 모델은 입 주변 영역과 관련된 리그 파라미터를 변경하지 않아야 한다. 적어도 하나의 실시형태에 따르면, 이 특성은 다중 네트워크의 조합으로서 IK 근사 모델을 설계함으로써 달성된다. 제어점은 안면의 영역에 기초하여 별도의 세트로 분할된다. 예를 들어, 캐릭터의 오른쪽 눈에 있는 모든 점은 하나의 서브세트를 정의하고, 입에 있는 모든 점은 별도의 서브세트를 정의한다. 이들 점은 수동으로 분할될 수 있다.
예를 들어, 제어점은 k 개의 서브세트로 분할될 수 있고, Cj는 특정 서브세트 j의 제어점을 나타낼 수 있다. 적어도 하나의 실시형태에 따르면, IK 근사 모델은 전체적으로 k 개의 개별 피드포워드 네트워크로 구성된다. 네트워크 j에 대한 입력은 제어점
Figure pct00021
Cj의 상응하는 서브세트이고, 출력은 제어점에 대응하는 임의의 정점을 변형할 수 있는 리그 파라미터 세트이다. 다수의 모델에 의해 리그 파라미터가 추정될 수 있다. 이 경우, 최종 추정 값은 출력들의 평균일 수 있다. 다수의 네트워크에 의해 예측되는 리그 파라미터의 최종 값을 계산하기 위해 더 정교한 방법을 사용할 수 있다는 점을 인식한다.
그러나, 값들의 평균화는 수행된 다양한 실험에서 사용된 리그에 적합했다. 캐릭터 안면의 경우, 리그 파라미터의 작은 부분만이 IK 모델들 간에 공유될 수 있다. 공유된 파라미터들 중 거의 모두는 머리 전체의 찌부러뜨리기 또는 늘이기와 같은 안면의 대규모 변형을 제어한다. 이러한 제어는 메시의 모든 영역에 걸쳐 큰 변형을 일으키기 때문에, 메시의 작은 부분에 대한 제어점에서 트레이닝된 IK 모델은 일반적으로 이러한 유형의 전역적 변형에 대한 파라미터 값에 동의한다. 따라서, 이러한 파라미터를 단순히 평균화하여 합리적인 결과를 얻을 수 있다.
적어도 하나의 실시형태에 따르면, IK 근사 모델의 각각의 네트워크는 처음 2 개의 계층에 256 개의 노드가 있고 마지막 계층에 |Rj| 개의 노드가 있는 3 개의 밀집 계층으로 구성될 수 있으며, 여기서 Rj는 IK 모델 j에 의해 추정되는 리그 파라미터 세트를 나타낸다. 리키 ReLU 활성화 함수는 첫 번째 및 두 번째 계층 이후에 적용된다. 네트워크가 리그 파라미터에 대한 임의의 값을 출력할 수 있도록 최종 계층의 출력에는 활성화가 적용되지 않는다.
도 7은 적어도 하나의 실시형태에 따른 IK 모델의 도면이다. 제어점(702)은 분리된 서브세트들로 분할되어 별도의 밀집 뉴럴 네트워크들에 제공된다. 예를 들어, 제어점은 서브세트(704-1)(눈 영역에 해당), 서브세트(704-2)(반대쪽 눈 영역에 해당) 및 서브세트(704-3)(코와 입 영역에 해당)로 분할된다. 서브세트(704-1)의 제어점은 밀집 뉴럴 네트워크(706-1)에 입력된다. 유사하게, 서브세트(704-2)의 제어점은 밀집 뉴럴 네트워크(706-2)에 입력되고, 서브세트(704-3)의 제어점은 밀집 뉴럴 네트워크(706-3)에 입력된다.
각각의 네트워크(706-1, 706-2 및 706-3)는 포즈의 각각의 서브세트를 출력한다. 예를 들어, 네트워크(706-1)는 포즈의 서브세트(708-1)를 출력한다. 유사하게, 네트워크(706-2)는 포즈의 서브세트(708-2)를 출력하고, 네트워크(706-3)는 포즈의 서브세트(708-3)를 출력한다. (출력 서브세트(708-1, 708-2 및 708-3)로부터의) 출력으로부터의 유효한 값들은 함께 평균화되어 최종 평균화된 리그 파라미터 포즈(710)를 생성한다. 안면 근사 모델과 유사하게, IK 모델은 앞서 설명한 동일한 트레이닝 스케줄 및 균형 잡힌 데이터세트를 사용하여 Adam으로 최적화될 수 있다.
설명된 대로, IK 모델은 리그 함수를 통해 계산된 변형된 메시로부터의 제어점을 사용하여 트레이닝된다. 따라서, 트레이닝 데이터에는 적절한 리그 파라미터와 정확히 매칭될 수 있는 제어점의 예만이 포함될 수 있다. 그러나, IK 모델을 평가할 때, 사용자는 리그가 점들을 정확하게 매칭시킬 수 없는 방식으로 제어점을 구성할 수 있다. 이 사용 사례를 설명하기 위해, 트레이닝 동안 제어점에 노이즈가 추가될 수 있다. 트레이닝 샘플
Figure pct00022
C가 주어지면, 새로운 샘플은 사용자 정의 δ > 0에 대하여
Figure pct00023
C =
Figure pct00024
C + U(-δ,δ)|C|Х3으로 계산된다. 이 새로운 데이터 점은 각각의 제어점의 위치에 균일하게 랜덤 노이즈를 추가함으로써 생성될 수 있다. 실험 데이터를 기반으로, δ = 4 mm가 합리적인 결과를 만들어 내는 것으로 관찰되었다. IK 모델이 이 새로운 데이터 VC로 트레이닝되더라도, 모델 트레이닝의 다른 모든 양태들은 동일하게(또는 유사하게) 유지된다.
이제 하나 이상의 실시형태에 따른 방법에 의해 생성된 결과가 더 상세히 설명될 것이다.
하나 이상의 근사 방법은, 예를 들어 컴퓨터 애니메이션으로 된 영화 제작에 사용된 영화 품질 안면 리그와 함께 작동한다. 리그는 자유로운 형식의 성형 시스템과 곡선 기반의 포즈 보간 시스템의 조합을 통해 변형될 수 있다. 변형을 위한 시스템은 상응하는 캐릭터의 아트 디렉팅 가능한 안면 리깅을 용이하게 하기 위해 메시의 대략적 제어 내지 미세 제어를 위해 계층화될 수 있다. 리그는 안면 변형을 계산하는 데 사용된 노드 기반의 계산 그래프― 예를 들어, 10,000 개 초과의 노드가 있는 계산 그래프 ―로 구현될 수 있다. 노드는 기본 산술 연산자 및 스플라인 보간과 같은 매우 다양한 기능을 구현한다. 리그 시스템은 또한 임의의 코드를 실행할 수 있는 사용자 정의 작성 노드를 지원한다.
4 개의 예시적인 안면 리그를 참조하여 결과를 설명한다. 이들 리그 중 3 개는 캐릭터 Hiccup, Valka 및 Toothless에 대한 장편 영화 "How to Train Your Dragon: The Hidden World"에 사용되는 독점 안면 리그이다. 네 번째의 예시적인 안면 리그는 CGTarian Animation and VFX Online School에 의해 공개된 대중적으로 이용 가능한 오픈 소스 캐릭터인 Ray로부터의 안면 리그이다.
하나 이상의 근사 방법의 결과는 선형 블렌드 스키닝(LBS) 근사 및 본 명세서에 개시된 근사 모델의 밀집 피드포워드 버전의 결과들과 비교될 것이다. 이들 비교에 기초하면, 개시된 방법들 중 하나 이상은 LBS 근사에서 손실되는 고주파 디테일을 보존하고, 하나 이상의 개시된 방법은 4 개의 예시적인 안면 리그 중에서 3 개에 대하여 밀집 버전에 의해 생성된 것들보다 더 정확한 결과를 생성한다는 것을 관찰할 수 있다. 또한, LBS 근사와 달리, 하나 이상의 개시된 모델은 리그 파라미터로부터 변형된 메시로의 맵핑을 보존하고, 이는 원래의 리그 함수에 액세스할 필요없이 신규 애니메이션의 근사를 허용한다.
표 1은 4 개의 예시적인 안면 리그에서 트레이닝된 각각의 모델의 통계를 보여준다. 모델들은 캐릭터의 머리카락이나 안구를 근사하는 데 사용되지 않았다. 하지만, 모델들은 입 내부뿐만 아니라 치아를 근사하는 데 사용되었다.
표 1
Figure pct00025
도 8은 Hiccup, Valka, 및 Toothless의 안면 모델에 대한 메시 세그먼트(예컨대, 대략적 모델링 동안 사용되는 메시 세그먼트)의 예를 예시하고, 도 9는 근사의 정제 단계 동안 사용되는 메시 세그먼트(예컨대, 정제된 모델링)의 예를 예시한다.
특히, 한 예시 세트에 따르면, 도 8(a)는 Hiccup의 안면 모델에 대한 대략적 메시 세그먼트를 예시하고, 도 8(b)는 Valka의 안면 모델에 대한 대략적 메시 세그먼트를 예시하고, 도 8(c)는 Toothless의 안면 모델에 대한 대략적 메시 세그먼트를 예시한다. 각각의 대략적 메시 세그먼트는 동일한 음영의 연속 영역으로 표현된다. 예를 들어, 도 8(a)는 영역(802, 804-1, 804-2, 806 및 808)을 예시한다. 영역(802)은 Hiccup의 안면의 가장 큰 영역에 대응한다. 영역(806)은 Hiccup의 입의 내부에 대응하고, 영역(808)은 그의 두피에 대응한다. 영역(804-1 및 804-2)은 Hiccup의 귀에 대응한다.
다른 예로서, 도 8(b)는 영역(812, 814-1, 814-2, 816 및 818)을 예시한다. 영역(812)은 Valka의 안면의 가장 큰 영역에 대응한다. 영역(816)은 Valka의 입의 내부에 대응하고, 영역(818)은 그의 두피에 대응한다. 영역(814-1 및 814-2)은 Valka의 귀에 대응한다.
유사하게, 도 8(c)는 대략적 근사를 위한 세그먼트에 대응하는 Toothless의 안면 모델에 대한 영역을 예시한다.
앞서 언급한 바와 같이, 도 9는 근사의 정제 단계에 사용되는 메시 세그먼트의 예를 보여준다. 도 9와 관련하여, 솔리드 패턴을 사용하여 음영 처리된 영역은 정제 모델에서 사용되지 않는 세그먼트를 나타낸다.
특히, 한 예시 세트에 따르면, 도 9(a)는 Hiccup의 안면 모델에 대한 정제된 메시 세그먼트를 예시하고, 도 9(b)는 Valka의 안면 모델에 대한 정제된 메시 세그먼트를 예시하고, 도 9(c)는 Toothless의 안면 모델에 대한 정제된 메시 세그먼트를 예시한다. 각각의 정제된 메시 세그먼트는 동일한 음영의 연속 영역으로 표현된다. 예를 들어, 도 9(a)는 영역(902, 904, 906, 및 908)을 예시하고, 이들 각각은 도 8(a)의 영역(802)에 대한 하위 영역이다. 영역(904)은 Hiccup의 이마의 영역에 대응한다. 영역(902)은 제1 눈 영역에 대응하고, 영역(906)은 반대쪽 눈 영역에 대응한다. 영역(908)은 Hiccup의 코와 입 주변의 영역에 대응한다. 도 8(a)와 관련하여, 솔리드 패턴을 사용하여 예시된 영역은 정제 모델에서 사용되지 않는(예컨대, 더 이상 분석되지 않는) 세그먼트에 대응한다.
다른 예로서, 도 9(b)는 영역(912, 916 및 918)을 예시하고, 이들 각각은 도 8(b)의 영역(812)에 대한 하위 영역이다. 영역(912)은 제1 눈 영역에 대응하고, 영역(916)은 인접한 눈 영역에 대응한다. 영역(918)은 Valka의 코와 입 주변 영역에 대응한다. 도 8(b)와 관련하여, 솔리드 패턴을 사용하여 예시된 영역은 정제 모델에서 사용되지 않는(예컨대, 더 이상 분석되지 않는) 세그먼트에 대응한다.
유사하게, 도 9(c)는 대략적 근사를 위한 세그먼트에 대응하는 Toothless의 안면 모델에 대한 영역을 예시한다.
표 1에 나열된 결과를 다시 참조하면, 밀집 버전은 개시된 근사 방법(들)보다 더 빠르게 실행되며, 한 가지 경우에는, 아티스트가 생성한 애니메이션을 근사할 때 개시된 방법(들)보다 더 정확하다. 그러나, 밀집 근사의 더 빠른 속도는 더 많은(예컨대, 더 많은 수의) 모델 파라미터 비용을 초래하며, 이는 표 1에서 볼 수 있듯이 더 높은 메모리 저장 비용으로 해석된다. 밀집 모델이 실패하면, 도 11의 Hiccup과 Valka의 안면 메시에서 볼 수 있는 것처럼, 변형된 메시에 가시적이고 바람직하지 않은 아티팩트가 있다. 이러한 아티팩트는 메시의 표면에 고주파 노이즈로 나타나고, 각각의 정점의 각각의 구성요소를 독립적인 출력으로 모델링하는 밀집 근사에 의해 야기된다. 대조적으로, 하나 이상의 실시형태에 따른 근사 방법은 CNN의 사용을 통해 메시의 로컬 이웃을 모델링하고, 근사에 있어서의 부정확성은 밀집 근사에서와 같이 고주파 노이즈로 나타날 가능성이 적다. 또한, 개시된 근사 방법은 모든 캐릭터에 대하여 역운동학을 통해 생성된 포즈에 관하여 밀집 근사보다 더 정확하다.
개시된 근사 방법의 정확도는 LBS 모델의 정확도 및 컨볼루션 계층 대신 완전히 연결된 계층들을 갖는 밀집 피드포워드 네트워크의 정확도와 비교되었다. LBS 가중치 및 뼈 변형은 Le 및 Deng의 방법(Binh Huy Le and Zhigang Deng, Smooth Skinning Decomposition with Rigid Bones. ACM Trans. Graph. 31, 6, Article 199 (Nov. 2012))을 사용하여 추정되었다. 밀집 모델은 정점 오프셋을 근사하도록 트레이닝되었으며, 각각의 메시 세그먼트에 대하여 별도의 네트워크가 트레이닝되었다. 각각의 모델에는 각각 256 개의 노드로 이루어진 2 개의 은닉 계층이 포함되어 있으며, 최종 출력 계층은 메시 세그먼트의 각각의 정점에 대한 오프셋을 생성했다. 밀집 네트워크는 변형 맵 해상도에 의해 제한되지 않았기 때문에, 추가적인 정제 모델이 트레이닝되지 않았다. 그러나, 강체성 세그먼트는 앞서 설명한 강체성 근사 방법(들)을 사용하여 변형되었다. 밀집 모델은 Stephen W. Bailey, Dave Otte, Paul Dilorenzo, 및 James F. O'Brien에 의한, 2018. Fast and Deep Deformation Approximations. ACM Trans. Graph. 37, 4, Article 119 (July 2018)에 의해 설명되는 방법과 가장 비슷하다. 이 방법과 관련하여, 밀집 모델에서의 주된 차이점은 안면 메시가 밀집 뉴럴 네트워크를 적용하기 전에는 뼈 세트에 의해 선형으로 변형되지 않는다는 점이다.
각각의 캐릭터에 대하여, 리그에 이용 가능한 모든 애니메이션이 수집되었고, 데이터가 트레이닝 및 테스트 데이터로 제각기 90%/10% 무작위로 분할되었다. 식 (5)에 따라 트레이닝 세트로부터의 포즈만을 사용하여 트레이닝 데이터가 생성될 수 있다. Ray의 리그의 경우, 기존의 안면 애니메이션에 대한 액세스를 이용할 수 없었다. 대신에, 트레이닝 데이터 및 테스트 세트는 각각의 파라미터에 대한 사용자 지정 값 범위를 포괄하는 균일한 분포와 독립적으로 각각의 포즈의 리그 파라미터를 샘플링하여 생성되었다. 이 랜덤 샘플링 방법은 메시 변형에 있어서의 더 높은 수준의 복잡성으로 인해 다른 캐릭터 리그에 대한 근사 모델을 트레이닝할 때에는 작동하지 않는다. 본 명세서에 개시된 근사 모델뿐만 아니라 밀집 모델을 트레이닝시키기 위해, 각각의 캐릭터에 대하여 50,000 개의 샘플이 생성되었다. LBS 모델의 경우, 16 개, 24 개 및 32 개의 뼈가 메시에 맞춰졌고, 각각의 정점은 8 개의 0이 아닌 가중치를 가질 수 있었다. 또한, 정점 가중치를 추정하기 위해 1,000 개의 샘플이 생성되었다. 메모리 및 컴퓨터 사용 상의 제약으로 인해 더 적은 트레이닝 예시가 이용되었다.
트레이닝에 사용되지 않은 테스트 데이터로부터 모든 고유한 포즈를 취함으로써 Hiccup, Valka 및 Toothless에 대한 테스트 세트가 구성된다. 정점 위치 오차(밀리미터(mm) 단위)와 면 법선 오차(도 단위)가 모두 표 2에서 측정된다. 정점 오차는 테스트 세트에 걸친 근사된 정점 위치와 목표 정점 위치 사이의 평균 거리이다. 면 법선 오차는 메시의 근사된 면 법선과 목표 면 법선 사이의 각도이다. 구체적으로,
Figure pct00026
(11)
여기서 ni는 실측 메시에서 면 i의 법선을 나타내고, n'i는 총 f 개의 면이 있는 근사된 메시에서 면 i의 법선을 나타낸다.
표 2
Figure pct00027
표 2에 나열된 결과에 따르면, 대부분의 근사는 평균 서브밀리미터의 정확도를 달성한다. 그러나, 평균 정점 위치 오차는 근사에 있어서 미세한 디테일의 정확도를 나타내는 좋은 지표가 아니다. 도 2는 Toothless의 주름이 포함된 포즈에 대한 근사된 변형을 예시하고, 도 10은 Hiccup의 주름이 포함된 포즈에 대한 근사된 변형을 예시한다. 비교를 위해, 도 10(a)는 Hiccup의 메시에서 이마 주름의 실측치를 예시한다. 도 10(b) 및 도 10(c)는 제각기, 하나 이상의 개시된 실시형태에 따른 이마 주름의 정제된 근사 및 대략적 근사에 기초한 근사된 변형을 예시한다. 도 10(d)는 LBS 근사에 기초한 근사된 변형을 예시한다.
표 2에 도시된 바와 같이, 정제된 근사는 Hiccup, Valka 및 Ray에 대하여 가장 작은 법선 오차를 생성한다. 그러나, 밀집 모델은 Toothless에 대하여 가장 작은 오차를 생성한다. 이러한 더 작은 오차는 대략적인 근사 및 LBS 근사와 비교했을 때 정제된 근사 및 밀집 근사가 모두 변형된 메시에서 미세한 디테일을 재현할 수 있다는 것을 나타낸다. 도 11은 법선 오차의 시각화와의 나란한 비교들을 도시한다. 도 11은 원래의 리그 함수를 통해 평가된 실측 메시와 리그 근사 방법 간의 시각적인 차이를 예시한다. 각각의 근사의 오른쪽 절반에 있는 히트맵(heatmap)은 근사에 대한 법선 벡터와 실측 메시에 대한 상응하는 법선 사이의 각도를 시각화한다. 각도 상의 오차는 작은 것이 바람직하다.
본 명세서에 개시된 근사 모델은 TensorFlow를 사용하여 Python(파이썬)으로 구현되었다. 실행 시간은 CPU와 GPU를 모두 사용하는 고급 기계와 소비자 품질 랩톱 모두에서 평가되었다. 고급 기계의 경우, NVIDIA Quadro K5200 GPU와 함께 2.60 GHz에서 실행되는 28 스레드가 있는 Intel Xeon E5-2697 v3 프로세서가 사용되었다. 랩톱에서는, NVIDIA GeForce GTX 1060과 함께 2.80 GHz에서 실행되는 8 스레드가 있는 Intel Core i7-7700HQ 프로세서가 사용되었다. 강체성 세그먼트의 회전은 SVD로 식 (3)을 최소화하여 계산되었다. GPU로 전체 근사를 평가할 때, GPU에서 TensorFlow의 느린 SVD 구현으로 인해 CPU에서 이 최소화 문제가 해결되었다. 모델 트레이닝 시간은 원래의 리그 평가 엔진을 통해 트레이닝 데이터를 생성하는 데 2 내지 4 시간이 소요되었으며, 이어서 대략적 근사 모델을 트레이닝하는 데 2 내지 3 시간, 그리고 정제된 근사 모델에 대하여 2 내지 3 시간이 소요되었다.
본 명세서에 개시된 근사 모델의 타이밍을 Hiccup, Valka 및 Toothless에 대한 원래의 리그 평가 소프트웨어와 비교했다. 이들 3 개의 캐릭터 리그는 다중 스레드로 된 리그 평가 엔진인 Libee용으로 설계되었다. 캐릭터 아티스트는 엔진에서 최대한 빨리 실행되도록 이들 리그를 최적화했다. 다양한 실시형태를 참조하여 본 명세서에 개시된 방법과 달리, Libee는 CPU에서 캐릭터 리그만을 평가할 수 있다. 표 3은 CPU와 GPU 모두에서 실행되는 본 명세서에 개시된 Libee 및 방법을 사용한 평가 시간을 보여준다. 개시된 모델은 단일 포즈에 대한 1,000 개의 평가에 걸쳐 평균 실행 시간을 취하여 시간을 측정했다.
표 3은 고급 기계와 소비자 품질 기계 모두에서 밀리초 단위의 평균 평가 시간을 예시한다. 대략적 근사는 대략적 모델과 강체성 변형을 평가하여 시간을 측정한다. 전체 근사는 대략적 모델, 정제 모델 및 강체성 변형을 평가하여 시간을 측정한다. 표시된 경우, 뉴럴 네트워크는 GPU에서 평가되지만, 강체성 구성요소는 항상 CPU에서 평가된다.
표 3
Figure pct00028
표 3에 나열된 결과에 기초하여, 본 명세서에 개시된 근사 모델은 원래의 리그 평가 엔진보다 5 배 내지 17 배 더 빠르게 실행된다. 고급 기계의 경우, 모델이 단일 포즈에서 평가되고 컨볼루션이 저해상도의 피처 맵에서 동작하기 때문에, GPU에서 근사가 더 느리게 실행된다. 따라서, 이 경우 GPU가 충분히 이용되지 않아 성능이 저하된다. 또한, 소비자 품질 기계의 GeForce GPU는 고급 데스크톱의 Quadro GPU보다 더 빠르게 근사 모델을 평가한다. 이러한 차이는 GeForce GPU에 비해 Quadro의 클록 속도가 느리기 때문일 수 있다.
적어도 하나의 실시형태에 따라 본 명세서에 개시된 근사 방법은 리그 파라미터를 변형된 메시에 맵핑하는 미분 가능한 모델을 제공하며, 이는 IK 용례에 사용될 수 있다. 이제 대화형 포징 애플리케이션 및 안면 랜드마크 기반 연기 캡처 시스템을 참조하여 이러한 근사 방법의 사용에 대한 입증이 설명될 것이다.
먼저, 대화형 포징 애플리케이션에 대해 좀 더 자세히 설명한다.
사용자가 희소한 제어점 세트를 조작하는 실시간 포징 애플리케이션이 개발되었으며, 다양한 실시형태를 참조하여 이전에 개시된 IK 모델은 제어점과 매칭되도록 메시를 변형하는 리그 파라미터를 계산한다. 사용자가 화면에서 점들을 드래그하면 메시가 대화식으로 업데이트된다. 제어점은 2D 이미지 좌표로서 시스템에 제공된다. IK 모델은 메시를 이미지 평면에 투영하여 점들을 매칭시키고 이미지 좌표의 거리 측면에서 식 (9)의 점 손실 항을 표현하도록 트레이닝된다. 메시는 카메라가 Z 축을 따라 가리키는 직교 투영을 통해 이미지 평면에 투영된다. 따라서, 이미지 좌표의 거리는 정점 위치의 X 및 Y 좌표만으로 계산될 수 있다.
IK 모델은 근사 모델을 트레이닝하는 데 사용된 것과 동일한 증강된 데이터세트로부터 생성되는 메시에서 트레이닝된다. 원래의 리그 함수로부터 메시를 생성하는 데 걸린 시간을 제외하면, 트레이닝에 1 내지 2 시간이 걸렸다.
개시된 근사 방법을 밀집 뉴럴 네트워크 접근법과 비교했다. IK 모델은 리그 근사
Figure pct00029
(p)로서 대략적 방법과 정제된 방법을 모두 사용하여 트레이닝되었다. 수행된 실험에서, Hiccup, Valka 및 Ray에 대한 밀집 모델로부터의 기울기로 트레이닝되는 IK 모델은 밀집 근사가 노골적인 시각적 아티팩트로 상당히 부정확한 변형을 생성하는 포즈를 만든다. 이들 세 캐릭터의 경우에는, 개시된 근사 방법으로부터의 기울기를 사용하여 트레이닝되는 IK 모델에서 생성된 포즈가 대신 사용되었다. Toothless의 리그의 경우에는, 밀집 근사로부터의 기울기로 트레이닝되는 IK 모델에서 생성된 포즈로 밀집 모델이 평가되었다. 모델을 평가하기 위해, 25 개의 사용자 생성 제어점 구성이 수집되었다. 이들 제어점 구성이 원래의 리그에 의해 정확히 매칭될 수 있다는 보장은 없다. 다음으로, IK 모델은 제어점에 대한 리그 파라미터를 계산한다. 마지막으로, 근사 방법을 사용하여 메시가 생성되고, 동일한 리그 파라미터에서 평가되는 원래의 리그 함수를 사용하여 실측 메시가 생성된다. 근사된 메시와 실측 메시 사이의 정점별 거리 오차와 면별 법선 오차가 측정되었다. Toothless의 경우, 근사 모델은 그 기울기에서 트레이닝되는 IK 모델에서 생성된 포즈를 공급받는다. Hiccup, Valka 및 Ray의 경우, 근사 모델 및 밀집 모델은 모두 본 명세서에 개시된 방법으로부터의 기울기에서 트레이닝되는 IK 모델로부터 포즈를 공급받는다.
표 4에서 볼 수 있는 바와 같이, 본 명세서에 개시된 방법은 IK 모델에 의해 출력되는 리그 파라미터에 대해 평가된 실측 메시와 더 밀접하게 매칭된다. 표 4는 mm 및 각도 단위의 측정된 포징 오차를 보여준다. Toothless의 경우, IK 모델은 상응하는 근사로부터의 기울기를 사용하여 트레이닝된다. Hiccup, Valka 및 Ray의 경우, IK 모델은 하나 이상의 실시형태에 따른 방법으로부터의 기울기로 트레이닝되고 본 명세서에서 설명된 접근법과 밀집 방법 모두에 대하여 리그 파라미터를 생성한다.
표 4
Figure pct00030
도 12는 몇 가지 예시적인 제어점 구성에 대한 근사된 변형과 실측 메시의 나란한 비교를 도시한다. IK 모델을 통해 계산된 리그 파라미터들에 의해 변형되는 메시들의 비교가 도시된다. 도트(1202)는 IK에 제공되는 제어점을 나타낸다.
Hiccup, Valka, 및 Toothless에 대한 개시된 근사와 밀집 근사 간의 더 큰 정확도 차이는 IK 모델에 의해 출력되는 포즈의 유형에 의해 설명될 수 있다. IK 모델은 감독되지 않은 설정에서 트레이닝되며, 모델에 의해 출력되는 포즈의 분포는 트레이닝 데이터로부터의 포즈의 분포와 정확히 매칭되지 않는다. 따라서, IK 모델에 의해 출력되는 일부 포즈는 원래의 트레이닝 데이터와 다르다. 이들 포즈에 대한 더 높은 정확도는 개시된 근사 모델이 밀집 모델보다 더 나은 새로운 포즈로 일반화된다는 것을 시사한다. Ray로부터의 결과는 이 결론을 더 뒷받침한다. Ray에 대한 CNN 및 밀집 모델은 모두 균일하게 무작위로 샘플링된 포즈에 대하여 트레이닝된다. IK 모델에 의해 출력되는 임의의 포즈는 이 분포 내의 어딘가에 있다. 이 결과에서 알 수 있듯이, 균일하게 랜덤인 포즈 세트(표 2 참조)와 IK 모델에 의해 출력되는 포즈 세트(표 4 참조)에서 평가될 때 Ray에 대한 CNN과 밀집 모델 모두에 대한 평균 근사 오차는 유사하다.
다음으로, 안면 랜드마크 기반의 연기 캡처 시스템에 대해 보다 자세히 설명한다.
실시간 단안 안면 연기 캡처 시스템은 미분 가능한 리그에 의존하여 비디오 녹화를 애니메이션 시퀀스에 맵핑한다. 하나의 참조는 현재의 단안 안면 추적 방법에 대한 조사를 제공한다. 배우의 신체적 외모는 본 발명의 애니메이션으로 된 캐릭터의 외모와 매칭되지 않기 때문에, 개발된 시스템은 희소한 안면 랜드마크 점 세트를 추적하여 캐릭터를 애니메이션으로 한다. 배우의 안면 랜드마크를 추적하기 위해, Zhen-Hua Feng, Josef Kittler, Muhammad Awais, Patrik Huber, 및 Xiaojun Wu에 의한, Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks.2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (2017), 2235-2245에서 설명된 방법의 구현이 사용되었다. 모델은 해당 접근법에서 설명한 것과 동일한 데이터세트에 대하여 트레이닝되었다. 개발된 안면 추적 시스템에서는, 데이터세트로부터의 68 개의 랜드마크 점 중 54 개를 사용했다. 안면 모델 상의 상응하는 점들을 수동으로 식별했다.
메시를 애니메이션으로 하기 위해, 기록에서 검출된 랜드마크의 움직임을 추적했고, IK 모델을 사용하여 새로운 랜드마크 구성에 매칭시키는 데 필요한 리그 파라미터를 추정했다. 배우의 안면 비율이 애니메이션으로 된 캐릭터의 안면 비율과 다를 수 있기 때문에, 배우의 표정과 배우의 중립적인 포즈 간의 차이를 추적했다. 이 차이는 IK 모델에 대한 제어점에 적용된다. 구체적으로, l0을 중립적 표정의 배우의 이미지에서 검출된 랜드마크 점이라고 하고, l을 배우의 현재의 표정에서 검출된 랜드마크의 좌표라고 한다. 이후, IK 모델에 주어진 제어점 c는 c = c0 + l - l0으로 계산되고, 여기서 c0은 중립적 표정에서 메시의 제어점 위치이다. 도 13은 기록으로부터의 프레임 및 입력으로부터의 결과적인 변형된 메시를 도시한다. 도 13에는 개발된 안면 연기 캡처의 예가 도시되어 있다. 안면 랜드마크는 입력 이미지에서 검출된다. 랜드마크 정보는 리그 파라미터 값을 계산하는 IK 모델에 전달된다. 이후, 리그 파라미터는 개시된 근사 모델에 전달되어 변형된 목표 메시를 생성한다.
적어도 하나의 실시형태에 따라 본 명세서에 개시된 방법은 영화 품질 안면 리그의 빠르고(또는 더 빠르고) 정확한(또는 더 정확한) 근사를 제공한다. 이러한 근사를 기반으로, 뼈 기반의 근사로는 할 수 없는 미세 입자 메시 변형의 디테일을 보존할 수 있다. 또한, 개시된 방법은 미분 가능한 리그 근사를 제공할 수 있으며, 이는 캐릭터 리그에 대한 광범위한 잠재적인 새로운 응용을 허용한다. 예로서, 실시간 IK 기반의 포징 방법과 IK 솔버 위에 구축된 안면 연기 캡처 시스템이 설명되었다. 추가적으로, 모델이 트레이닝되면, 개시된 방법은 메시 변형을 평가하기 위해 더 이상 원래의 리그 함수를 필요로 하지 않을 수 있다. 오픈 소스 기계 학습 라이브러리로 근사를 구현할 수 있기 때문에, 처음에 안면 리그를 구축하는 데 사용된 복잡한 또는 독점적인 소프트웨어를 필요로 하지 않고 모델을 다양한 시스템에 보다 쉽게 분포 및 배치할 수 있다. 따라서, 본 명세서에 개시된 근사 모델은 원래의 리깅 소프트웨어에 의존하지 않고 안면 리그를 공유할 수 있는 공통 포맷을 제공한다. 또한, 근사 모델 파라미터는 모델을 공유할 때 캐릭터를 만드는 데 사용되는 기본 리깅 기술이 숨겨지도록 하는 리그 난독화의 한 형태로 보여질 수 있다.
따라서, 본 명세서에 개시된 방법은 안면 리그가 구축된 애플리케이션 및/또는 방법에 대하여 애그노스틱일 수 있다. 예를 들어, 특정 리그는 Maya(마야) 리그일 수 있거나 또는 특정 스튜디오나 회사의 소유인 애플리케이션에 내장된 리그일 수 있다. 본 명세서에 개시된 근사 모델에 따르면, 원래의 리깅 소프트웨어에 의존하지 않고 안면 리그를 공유할 수 있도록 공통 포맷이 제공된다. 여기서, 공통 포맷은 모델이 임의의 특정 리그에 대하여 트레이닝될 때 얻어진 모델 파라미터를 포함할 수 있다. 이와 같이, 안면 리그를 근사하는 공통 포맷이 서로 다른 DCC(digital content creation) 애플리케이션 및/또는 도구 간에 더 쉽게 이동 및/또는 공유될 수 있도록 하는 상호운용성 수준이 달성될 수 있다.
적어도 하나의 실시형태에 따라 본 명세서에 개시된 방법(들)은 컨볼루션 계층에 구축되기 때문에, 모델은 반드시 단일 메시 토폴로지로 제한되는 것은 아니다. 특정 메시에서 트레이닝되는 근사 모델은 트레이닝 동안 보이지 않는 신규한 메시를 변형할 수 있다. 새로운 메시에 있는 안면 피처의 텍스처 좌표가 원본의 텍스처 좌표와 정렬되는 한, 근사 리그가 새로운 안면 메시에 이전될 수 있다. 이 경우, 근사 모델들은 동일한 입력 리그 파라미터 세트를 사용하여 변형 맵을 출력한다. 새로운 메시에 대한 정점 오프셋은 새로운 메시에 대응하는 새로운 텍스처 좌표에서 변형 맵을 샘플링함으로써 계산된다. 도 14는 대략적 근사 모델의 하나의 메시 세그먼트를 상이한 토폴로지를 가진 새로운 메시로 이전하는 예를 도시한다. 이 예에서, 텍스처 좌표는 원래의 메시의 좌표에 수동으로 정렬된다. 예를 들어, 도 14는 상이한 토폴로지를 갖는 새로운 메시에 이전된 Hiccup의 리그 근사를 예시한다. 대략적 근사로부터의 단일 메시 세그먼트는 오른쪽에 있는 새로운 메시에 적용된다. 오른쪽의 안면 메시는 무료로 사용할 수 있는 Mathilda Rig(마틸다 리그)에 기초하는 것이다.
적어도 하나의 실시형태에 따른 근사 방법은 세계 좌표계의 정점 오프셋을 출력한다. 결과적으로, 메시의 안면 비율이 원래의 모델과 크게 다른 경우, 새로운 메시에 적용되는 변형은 바람직하지 않게 나타날 수 있다. 근사 모델에 의해 출력되는 오프셋의 상이한 파라미터화는 이 문제를 완화하는 데 도움이 될 수 있고, 본 명세서에 개시된 방법(들)이 하나의 리그로부터 상당히 다른 비율을 갖는 안면 메시로 근사를 이전하는 것을 허용할 수 있다.
본 명세서에서 설명된 예에서는, 정점 법선들이 별도로 계산되며 근사 모델의 일부로 간주되지 않는다. 그러나, 특정 실시간 애플리케이션에서는, 컴퓨터 사용 시간을 절약하기 위해 변형된 메시에서 법선을 다시 계산하지 않는다. 개시된 방법에서는 정점 법선을 근사하는 실험이 수행되지 않았지만, 이 방법은 법선을 근사하는 것으로도 쉽게 확장될 수 있다. 변형 맵에서 3 개의 채널을 출력하는 대신, 네트워크는 법선 방향에 대한 추가적인 채널을 출력할 수 있으며, 정확한 법선 벡터를 출력하도록 모델을 트레이닝하기 위해 추가적인 손실 항이 포함될 수 있다. 중간 피처 맵의 작은 해상도로 인해, 이 접근법은 정점 또는 면 법선을 근사하는 데만 적합할 수 있다. 법선 맵 또는 주변 폐색 맵과 같은 기타 고해상도 맵은 다른 수단을 사용하여 생성되어야 할 수 있다.
적어도 하나의 실시형태에 있어서, 각각의 캐릭터 리그에 제공되는 텍스처 좌표는 변형 맵으로부터 정점 오프셋까지 보간하는 데 사용되었다. 이러한 좌표는 메시 표면에 텍스처를 맵핑하는 데 적합하지만, 본 명세서에 개시된 실시형태에 따른 근사 방법에는 적합하지 않을 수 있다. 예를 들어, 캐릭터 입의 윗 입술과 아랫 입술에 대한 텍스처 좌표는 서로 가까이 있을 수 있다. 아랫 입술의 정점은 입을 열 때 윗 입술에서 멀리 이동할 수 있다. 텍스처 좌표들이 서로 충분히 가까우면, 양쪽 입술의 정점들이 변형 맵에서 동일한 픽셀에 놓일 수 있다. 이 경우에는, 입을 벌릴 때 시각적으로 입술이 서로 달라붙어 보이는 데, 이는 부정확한 변형이다. 이러한 유형의 문제를 방지하기 위해, 기존의 텍스처 좌표에 의존하지 않고 특별히 이 근사 작업을 위해 새로운 변형 맵 좌표가 생성될 수 있다.
도 15는 적어도 하나의 실시형태에 따라 안면 모델의 메시 변형을 생성하기 위한 방법(1500)의 흐름도이다.
블록(1502)에서, 제1의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제1의 복수의 변형 맵이 생성된다.
적어도 추가 실시형태에 있어서, 제1의 복수의 뉴럴 네트워크 트레이닝된 모델 각각은 컨볼루션 뉴럴 네트워크(CNN) 모델을 포함한다.
예를 들어, 도 3을 참조하면, 대략적 근사 모델(304)을 적용함으로써 변형 맵(306)이 생성된다. 대략적 근사 모델(304) 각각은 CNN 모델을 포함할 수 있다.
블록(1504)에서, 제1의 복수의 변형 맵에 기초하여 제1의 복수의 정점 오프셋이 추출된다.
적어도 추가 실시형태에 있어서, 제1의 복수의 정점 오프셋을 추출하는 것은 복수의 정점 위치에서 제1의 복수의 변형 맵 중 적어도 하나의 보간을 수행하는 것을 포함한다. 보간은 이중 선형 보간 또는 큐빅 보간을 포함할 수 있다.
예를 들어, 도 3을 참조하면, 변형 맵(306)에 기초하여 정점 오프셋이 추출된다. 추출은 하나 이상의 정점 위치(예컨대, UV 좌표)에서 변형 맵(306) 중 적어도 하나의 보간을 수행하는 것을 포함할 수 있다. 수행된 보간은 이중 선형 보간 또는 큐빅 보간일 수 있다.
블록(1506)에서, 안면 모델의 메시 변형을 생성하기 위해 안면 모델의 중립 메시에 제1의 복수의 정점 오프셋이 적용된다.
적어도 추가 실시형태에 있어서, 안면 모델의 중립 메시에 제1의 복수의 정점 오프셋을 적용하는 것은 제1의 복수의 정점 오프셋을 중립 메시의 복수의 정점의 값에 추가하는 것을 포함한다.
예를 들어, 도 3을 참조하면, 근사된 메시 변형(316)을 생성하기 위해 정점 오프셋이 안면 모델의 중립 메시(312)에 적용된다. 정점 오프셋은 메시(312)의 중립 포즈의 정점에 정점 오프셋을 (예컨대, 가산기(310)에서) 추가함으로써 적용될 수 있다.
적어도 추가 실시형태에 있어서, 블록(1508)에서, 제2의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제2의 복수의 변형 맵이 생성되고, 제2의 복수의 변형 맵은 제1의 복수의 변형 맵보다 높은 해상도를 갖는다.
예를 들어, 도 3을 참조하면, 정제된 근사 모델(324)을 적용함으로써 변형 맵(326)이 생성된다. 변형 맵(326)은 변형 맵(306)보다 높은 해상도를 갖는다.
적어도 추가 실시형태에 있어서, 블록(1510)에서, 제2의 복수의 변형 맵에 기초하여 제2의 복수의 정점 오프셋이 추출된다.
예를 들어, 도 3을 참조하면, 변형 맵(326)에 기초하여 정점 오프셋이 추출된다. 추출은 하나 이상의 정점 위치(예컨대, UV 좌표)에서 변형 맵(326) 중 적어도 하나의 보간을 수행하는 것을 포함할 수 있다. 수행된 보간은 이중 선형 보간 또는 큐빅 보간일 수 있다.
적어도 추가 실시형태에 있어서, 블록(1512)에서, 안면 모델의 메시 변형을 생성하기 위해 안면 모델의 중립 메시에 제2의 복수의 정점 오프셋이 적용된다.
또 다른 실시형태에 있어서, 제1의 복수의 정점 오프셋은 중립 메시의 모든 정점의 값에 제1의 복수의 정점 오프셋을 적용함으로써 중립 메시에 적용된다. 제2의 복수의 정점 오프셋은 메시 변형을 생성하기 위해 기껏해야(at most) 중립 메시의 정점의 서브세트의 값에 제2의 복수의 정점 오프셋을 적용함으로써 중립 메시에 적용된다. 중립 메시의 정점의 서브세트는 특정 임계값을 초과하는 근사 오차 수준을 나타내는 중립 메시의 하나 이상의 영역에 대응할 수 있다.
예를 들어, 도 3을 참조하면, 정점 오프셋(변형 맵(326)에 기초하여 추출됨)은 근사된 메시 변형(316)을 생성하기 위해 안면 모델의 중립 메시(312)에 적용된다.
정점 오프셋(변형 맵(306)에 기초하여 추출됨)은 이러한 정점 오프셋을 중립 메시(312)의 모든 정점 값에 적용함으로써 중립 메시(312)에 적용될 수 있다. 정점 오프셋(변형 맵(326)에 기초하여 추출됨)은 근사된 메시 변형(316)을 생성하기 위해 이들 정점 오프셋을 기껏해야 중립 메시(312)의 정점의 서브세트의 값에 적용함으로써 중립 메시(312)에 적용될 수 있다. 중립 메시(312)의 정점의 서브세트는 특정 임계값을 초과하는 근사 오차 수준을 나타내는 중립 메시의 하나 이상의 영역에 대응할 수 있다.
적어도 추가 실시형태에 있어서, 제1의 복수의 정점 오프셋은 복수의 중간 정점 값을 생성하기 위해 제1의 복수의 정점 오프셋을 중립 메시의 복수의 정점의 값에 추가함으로써 안면 모델의 중립 메시에 적용된다. 제2의 복수의 정점 오프셋은 메시 변형을 생성하기 위해 제2의 복수의 정점 오프셋을 기껏해야 복수의 중간 정점 값의 서브세트에 추가함으로써 중립 메시에 적용된다.
예를 들어, 도 3을 참조하면, 정점 오프셋(변형 맵(306)에 기초하여 추출됨)은 복수의 중간 정점 값을 생성(예컨대, 가산기(310)의 출력을 참조)하기 위해 (예컨대, 가산기(310)에서) 정점 오프셋을 중립 메시의 복수의 정점의 값에 추가함으로써 중립 메시(312)에 적용된다. 정점 오프셋(변형 맵(326)에 기초하여 추출됨)은 근사된 메시 변형(316)을 생성하기 위해 (예컨대, 가산기(314)에서) 정점 오프셋을 기껏해야 복수의 중간 정점 값의 서브세트에 추가함으로써 중립 메시(312)에 적용된다.
적어도 추가 실시형태에 있어서, 블록(1514)에서, 제1의 복수의 변형 맵 및 제2의 복수의 변형 맵에 기초하여, 변형 동안 강체성으로 움직이는 안면 모델의 하나 이상의 강체성 메시 세그먼트가 식별된다. 하나 이상의 강체성 메시 세그먼트 각각에 대한 별도의 근사가 수행된다.
하나 이상의 강체성 메시 세그먼트 각각에 대한 별도의 근사를 수행하는 것은 강체성 메시 세그먼트의 정점에 대하여 강체성 회전 및 평행이동을 수행하는 것을 포함할 수 있다.
예를 들어, 도 5를 참조하면, 삼각형(502)에 대응하는 강체성 메시 세그먼트가 식별된다. 삼각형(502)에 대응하는 메시 세그먼트의 별도의 근사가 수행된다. 도 5를 참조하면, 라인(504)의 도트(506)에 대한 강체성 회전 및 평행이동이 수행될 수 있다.
도 16은 적어도 하나의 실시형태에 따라 안면 모델의 변형의 근사를 생성하기 위한 방법(1600)의 흐름도이다.
적어도 추가 실시형태에 따르면, 블록(1602)에서, 제1의 복수의 정점 및 제2의 복수의 정점의 수동 정의가 수신된다.
예를 들어, 도 7을 참조하면, 제어점(702)(서브세트(704-1) 및 서브세트(704-2)를 포함)의 정의가 사용자로부터 수신된다.
제1의 복수의 정점은 제1의 복수의 역운동학(IK) 제어점을 포함할 수 있고, 제2의 복수의 정점은 제2의 복수의 IK 제어점을 포함할 수 있다.
제1의 복수의 IK 제어점은 안면 모델의 제1 영역에 대응할 수 있고, 제2의 복수의 IK 제어점은 제1 영역에 대하여 분리된 안면 모델의 제2 영역에 대응할 수 있다.
예를 들어, 도 7을 참조하면, 서브세트(704-1)는 안면 모델의 제1 눈(예컨대, 오른쪽 눈)에 대응하는 제1 영역에 대응하는 제1의 복수의 역 IK 제어점을 포함한다. 서브세트(704-2)는 안면 모델의 제2 눈(예컨대, 왼쪽 눈)에 대응하는 제2 영역에 대응하는 제2의 복수의 역 IK 제어점을 포함한다.
블록(1604)에서, 제1 리그 파라미터 포즈를 생성하기 위해 제1의 복수의 정점이 제1 네트워크에 제공된다. 제1 네트워크는 제1 밀집 뉴럴 네트워크 모델을 포함할 수 있다. 제1 밀집 뉴럴 네트워크 모델은 제1의 복수의 컨볼루션 계층을 포함할 수 있다.
예를 들어, 도 7을 참조하면, 서브세트(704-1)의 제어점은 서브세트(708-1)를 생성하기 위해 밀집 뉴럴 네트워크(706-1)에 입력된다.
블록(1606)에서, 제2 리그 파라미터 포즈를 생성하기 위해 제2의 복수의 정점이 제2 네트워크에 제공된다. 제2 네트워크는 제2 밀집 뉴럴 네트워크 모델을 포함할 수 있다. 제2 밀집 뉴럴 네트워크 모델은 제2의 복수의 컨볼루션 계층을 포함할 수 있다.
예를 들어, 도 7을 참조하면, 서브세트(704-2)의 제어점은 서브세트(708-2)를 생성하기 위해 밀집 뉴럴 네트워크(706-2)에 입력된다.
블록(1608)에서, 복합 리그 파라미터 포즈를 생성하기 위해 제1 리그 파라미터 포즈 및 제2 리그 파라미터 포즈가 처리된다. 복합 리그 파라미터 포즈는 안면 모델의 변형의 근사에 대응한다.
제1 리그 파라미터 포즈 및 제2 리그 파라미터 포즈를 처리하는 것은 제1 리그 파라미터 포즈 및 제2 리그 파라미터 포즈의 하나 이상의 평균값을 생성하는 것을 포함할 수 있다.
예를 들어, 도 7을 참조하면, 출력으로부터의 유효한 값들(출력 서브세트(708-1, 708-2)를 포함)은 함께 평균화되어 최종 평균화된 리그 파라미터 포즈(710)를 생성한다.
본 개시물의 실시형태들을 이용하면, 훨씬 더 많은 시간 및 컴퓨팅 리소스를 필요로 하는 원래의 변형 함수와 비교하여, 상당히 적은 양의 컴퓨팅 리소스를 사용하여 훨씬 적은 시간 내에 변형의 정확한 근사가 달성될 수 있다. 특히 다른 공지된 변형 기술과 비교하면, 본 개시물의 실시형태들은 실측 변형 결과와 비교할 때 더 적은 계산 시간에 훨씬 더 정확한 결과를 달성한다.
이제 도 17을 참조하면, 본 개시물의 다양한 실시형태들을 구현 또는 통합할 수 있는 컴퓨터 그래픽 이미지(CGI) 및 컴퓨터 지원 애니메이션을 생성하기 위한 시스템(600)의 단순화된 블록도가 도시되어 있다. 시스템(600)은 하나 이상의 단말(601)을 포함할 수 있다. 하나 이상의 단말(601)은 CGI를 설계하고 컴퓨터 지원 애니메이션을 지원하도록 구성되는 하드웨어 및 소프트웨어 요소를 포함할 수 있다. 단말(601)은 컴퓨터 하드웨어 및/또는 소프트웨어에 대응하는 단일 컴퓨팅 디바이스 또는 하나 이상의 컴퓨팅 디바이스 세트로 구현될 수 있다.
단말(601)의 예는 데스크톱 컴퓨터, 랩톱 컴퓨터, 워크스테이션 컴퓨터, 메인프레임, 클러스터 컴퓨팅 시스템, 클라우드 컴퓨팅 단말, 임베디드 컴퓨팅 디바이스, 컴퓨터 그래픽 디바이스, 게임 디바이스 및 콘솔, 비디오 매체 재생 디바이스, 프로그래밍 가능한 프로세서가 있는 소비자 전자 디바이스 등일 수 있다. 하나 이상의 단말(601)은 CGI 및 애니메이션과 관련되는 이미지, 이미지 시퀀스, 모션 픽처, 비디오, 오디오, 또는 연관 효과와 관련된 또는 이를 포함하는 녹화, 컴퓨터 파일, 유형의 재료 등을 생산하기 위해 사전-제작, 모델링, 설계, 창작, 편집, 시뮬레이팅, 애니메이팅, 렌더링, 사후-제작, 마무리 작업, 공개 등을 포함하는 다양한 제작 프로세스의 단계에서 이용될 수 있다.
시스템(600)의 예에서, 사용자(602)는 하나 이상의 단말(601)을 이용하여 단말(601)과 연관된 디스플레이에 표시되는 컴퓨터 생성 인터페이스 내의 객체를 설계, 생성 또는 수정할 수 있다.
단말은 객체 라이브러리(603), 객체 모델링 유닛(604), 객체 리깅 유닛(605), 객체 애니메이션 유닛(606), 객체 렌더링 유닛(607) 및 객체 조명 유닛(608)을 포함하는 시스템 및 유닛을 구현하거나, 포함하거나, 내지는 이들과 작동 가능하게 통신할 수 있다. 객체 라이브러리(603)는 CGI 및 애니메이션 프로세스에서 객체의 3D 모델을 설계, 생성 및 수정하기 위해 하나 이상의 단말(601)에 의해 액세스, 요청, 검색 및/또는 사용되는 객체와 관련된 정보를 저장 및 액세스하도록 구성되는 소프트웨어 및/또는 하드웨어 요소를 포함할 수 있다.
객체 모델링 유닛(604)은 CGI 및 애니메이션 프로세스 동안 사용자(602) 또는 다른 단말 조작자에 의해 지시된 대로 원하는 외모를 취하도록 3D 모델을 조각 및 설계하기 위해 하나 이상의 단말(601)에 의해 액세스, 요청, 검색 및/또는 사용될 소프트웨어 및/또는 하드웨어 요소 및 정보를 포함할 수 있다.
객체 리깅 유닛(605)은 3D 모델의 다양한 요소의 관절 연결점 및 움직임 범위를 정의하는 3D 모델의 구성요소들을 설계, 생성 또는 수정하기 위해 하나 이상의 단말(601)에 의해 액세스, 요청, 검색 및/또는 사용될 소프트웨어 및/또는 하드웨어 요소 및 정보를 포함할 수 있다.
객체 애니메이션 유닛(606)은 애니메이션 동안의 시간에 걸쳐 애니메이션 경로, 큐 등을 지정하거나 또는 3D 모델의 애니메이션으로 된 모션에 대한 주된 프레임 또는 중간 프레임을 생성하는 것과 같은 3D 모델의 다양한 요소의 모션 및 위치를 지정하는 것을 포함하는 3D 모델의 애니메니션 양태들을 설계, 생성 또는 수정하기 위해 하나 이상의 단말(601)에 의해 액세스, 요청, 검색 및/또는 사용될 소프트웨어 및/또는 하드웨어 요소 및 정보를 포함할 수 있다.
객체 렌더링 유닛(607)은 텍스처, 컬러, 리깅, 제어 등을 포함하여 하나 이상의 컴퓨터 생성 객체의 하나 이상의 이미지를 생성하는 것을 포함하는 애니메이션으로 된 3D 모델의 최종 외모를 설계, 생성 또는 수정하기 위해 하나 이상의 단말(601)에 의해 액세스, 요청, 검색 및/또는 사용될 소프트웨어 및/또는 하드웨어 요소 및 정보를 포함할 수 있다.
객체 조명 유닛(608)은 조명 소스, 음영, 반사, 굴절, 텍스처, 컬러 등을 정의하는 것을 포함하는 3D 모델 및 애니메이션으로 된 장면의 조명 양태를 설계, 생성 또는 수정하기 위해 하나 이상의 단말(601)에 의해 액세스, 요청, 검색 및/또는 사용될 소프트웨어 및/또는 하드웨어 요소 및 정보를 포함할 수 있다.
하나 이상의 단말(601)은 하나 이상의 데이터 저장소(예컨대, 데이터베이스, 인덱스, 파일 또는 다른 데이터 구조)와 작동 가능하게 통신할 수 있는 하나 이상의 서버 컴퓨터와 통신할 수 있다. 하나 이상의 서버 컴퓨터는 로컬 에어리어 네트워크(LAN), 와이드 에어리어 네트워크(WAN)(예컨대, 인터넷), 전화 네트워크, 위성 또는 무선 통신 네트워크, 또는 이들 또는 유사한 네트워크들의 일부 조합을 포함하는 데이터 통신 네트워크에 연결할 수 있다.
선택된 실시형태들에 있어서, 하나 이상의 서버 컴퓨터는 객체 라이브러리(603), 객체 모델링 유닛(604), 객체 리깅 유닛(605), 객체 애니메이션 유닛(606), 객체 렌더링 유닛(607), 객체 조명 유닛(608) 등을 포함하는 애니메이션 시스템의 하나 이상의 프로세스, 시스템 또는 유닛을 구현할 수 있다. 하나 이상의 단말(601), 하나 이상의 서버 컴퓨터, 또는 시스템(600)의 임의의 다른 양태는 본 개시물의 동작들을 디스플레이, 수행, 실행, 지시, 검토 및/또는 선택하기 위한 디스플레이 인터페이스를 포함하는, 정보를 표시하도록 구성된 디스플레이와 연관 또는 결합될 수 있다.
도 18을 참조하면, 예시적인 컴퓨터(1700)의 예시가 제공된다. 하나 이상의 단말(600) 또는 하나 이상의 서버 컴퓨터와 같이, 도 17에서 위에서 논의된 시스템(600)의 하나 이상의 양태는 그러한 컴퓨터(1700)로서 구성될 수 있거나 또는 이를 포함할 수 있다. 선택된 실시형태들에 있어서, 컴퓨터(1700)는 버스(1703)(또는 다중 버스) 또는 다른 통신 메커니즘, 프로세서(1701), 메인 메모리(1704), 리드 온리 메모리(ROM)(1705), 하나 이상의 추가적인 저장 장치(1706), 및/또는 통신 인터페이스(1702) 등 또는 이들의 하위 조합을 포함할 수 있다. 본 명세서에서 설명되는 실시형태들은 하나 이상의 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP), 디지털 신호 처리 디바이스(DSPD), 프로그램 가능 논리 디바이스(PLD), 필드 프로그램 가능 게이트 어레이(FPGA), 프로세서, 컨트롤러, 마이크로컨트롤러, 마이크로프로세서, 본 명세서에서 설명된 기능을 수행하도록 설계되는 기타 전자 장치, 또는 이들의 선택적인 조합 내에서 구현될 수 있다. 모든 실시형태에서, 본 명세서에서 설명된 다양한 구성요소들은 단일의 구성요소로 구현될 수 있거나, 또는 대안으로서 다양한 별도의 구성요소들로 구현될 수 있다.
버스(1703) 또는 다수의 이러한 버스 또는 메커니즘을 포함하는 다른 통신 메커니즘은 컴퓨터(1700) 내의 정보 통신을 지원할 수 있다. 프로세서(1701)는 버스(1703)에 연결되어 정보를 처리할 수 있다. 선택된 실시형태들에 있어서, 프로세서(1701)는 특정 작업을 정의하는 기계 판독 가능 소프트웨어 코드를 실행함으로써 본 명세서에 개시된 특징 및 양태에 따라 특정 작업을 수행하도록 구성되는 전문화된 또는 전용 마이크로프로세서일 수 있다. 메인 메모리(1704)(예컨대, 랜덤 액세스 메모리― 또는 RAM ― 또는 다른 동적 저장 장치)는 버스(1703)에 연결되어 프로세서(1701)에 의해 실행될 정보 및 명령어를 저장할 수 있다. 메인 메모리(1704)는 또한 이러한 명령어를 실행하는 동안 일시적 변수 또는 기타 중간 정보를 저장할 수 있다.
ROM(1705) 또는 일부 다른 정적 저장 장치는 버스(1703)에 연결되어 프로세서(1701)에 대한 정적 정보 및 명령어를 저장할 수 있다. 버스(1703)에는 추가적인 저장 장치(1706)(예컨대, 자기 디스크, 광 디스크, 메모리 카드 등)가 연결될 수 있다. 메인 메모리(1704), ROM(1705) 및 추가적인 저장 장치(1706)는 정보, 명령어 또는 이들의 일부 조합, 예를 들어 프로세서(1701)에 의해 실행될 때 컴퓨터(1700)로 하여금 본 명세서에서 설명된 방법의 하나 이상의 동작을 수행하게 하는 명령어를 유지하는 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다. 통신 인터페이스(1702)가 또한 버스(1703)에 연결될 수 있다. 통신 인터페이스(1702)는 컴퓨터(1700)와 하나 이상의 외부 디바이스(예컨대, 컴퓨팅 환경 내에 포함된 다른 디바이스) 간의 양방향 데이터 통신을 제공 또는 지원할 수 있다.
선택된 실시형태들에 있어서, 컴퓨터(1700)는 디스플레이(1707)에 (예컨대, 버스를 통해) 연결될 수 있다. 디스플레이(1707)는 임의의 적절한 메커니즘을 사용하여 컴퓨터(1700)의 사용자에게 정보를 통신할 수 있다. 예를 들어, 디스플레이(1707)는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 프로젝터, 또는 시각 디스플레이에서 컴퓨터(1700)의 사용자에게 정보를 제시하기 위한 다른 디스플레이 디바이스를 포함 또는 이용할 수 있다. 하나 이상의 입력 디바이스(1708)(예컨대, 영숫자 키보드, 마우스, 마이크, 스타일러스 펜)는 정보 및 명령을 컴퓨터(1700)에 통신하기 위해 버스(1703)에 연결될 수 있다. 선택된 실시형태들에 있어서, 하나의 입력 디바이스(1708)는 컴퓨터(1700)에 의해 제공되며 디스플레이(1707)에 의해 표시되는 다양한 객체, 파일, 프로그램 등의 선택 및 실행을 허용하기 위해 커서의 위치결정에 대한 제어를 제공 또는 지원할 수 있다.
컴퓨터(1700)는 하나 이상의 비디오 파일을 전송, 수신, 디코딩, 표시 등을 하는 데 사용될 수 있다. 선택된 실시형태들에 있어서, 그러한 전송, 수신, 디코딩 및 표시는 메인 메모리(1704)에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 실행하는 프로세서(1701)에 응답하는 것일 수 있다. 이러한 명령어는 다른 비일시적 컴퓨터 판독 가능 매체(예컨대, 저장 장치)로부터 메인 메모리(1704)로 판독될 수 있다.
메인 메모리(1704)에 포함되는 명령어 시퀀스의 실행은 프로세서(1701)가 본 명세서에서 설명된 절차들 또는 단계들 중 하나 이상을 수행하게 할 수 있다. 선택된 실시형태들에 있어서, 메인 메모리(1704)에 포함되는 명령어 시퀀스를 실행하기 위해 멀티프로세싱 배열의 하나 이상의 프로세서가 이용될 수도 있다. 대안으로서, 또는 이에 더하여, 본 명세서에 개시된 특징 및 양태에 따라 절차들 또는 단계들을 구현하기 위해 소프트웨어 명령어를 대신하여 또는 이와 관련하여 펌웨어가 사용될 수 있다. 따라서, 본 명세서에 개시된 특징 및 양태에 따른 실시형태들은 하드웨어 회로 및 소프트웨어의 임의의 특정한 조합으로 제한되지 않을 수 있다.
비일시적 컴퓨터 판독 가능 매체는 프로세서(1701)에 의한 실행을 위한 명령어를 유지하는 데 참여하거나, 또는 컴퓨터에 의한 처리를 위해 데이터를 저장하는 임의의 매체를 지칭할 수 있으며, 일시적인 전파 신호를 유일한 예외로 하고 모든 컴퓨터 판독 가능 매체를 포함할 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체는 비휘발성 매체, 휘발성 매체 및 일시적 저장 매체(예컨대, 캐시 메모리)를 포함할 수 있지만, 이들로 제한되는 것은 아니다. 비휘발성 매체에는 추가적인 저장 장치와 같은 광학 또는 자기 디스크가 포함될 수 있다. 휘발성 매체에는 메인 메모리와 같은 동적 메모리가 포함될 수 있다. 비일시적 컴퓨터 판독 가능 매체의 일반적인 형태는, 예를 들어 하드 디스크, 플로피 디스크, 자기 테이프 또는 임의의 다른 자기 매체, CD-ROM, DVD, 블루레이 또는 기타 광학 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 카드, 칩 또는 카트리지, 또는 컴퓨터가 판독할 수 있는 임의의 다른 메모리 매체를 포함할 수 있다.
선택된 실시형태들에 있어서, 통신 인터페이스(1702)는 네트워크 링크로의 또는 네트워크 링크를 통한 외부 양방향 데이터 통신을 제공 또는 지원할 수 있다. 예를 들어, 통신 인터페이스(1702)는 무선 네트워크 인터페이스 컨트롤러 또는 데이터 통신 네트워크 연결을 제공하는 셀룰러 라디오일 수 있다. 대안으로서, 통신 인터페이스(1702)는 호환 가능한 LAN에 대한 데이터 통신 연결을 제공하는 로컬 에어리어 네트워크(LAN) 카드를 포함할 수 있다. 이러한 임의의 실시형태에 있어서, 통신 인터페이스(1702)는 정보를 전달하는 전기, 전자기 또는 광학 신호를 송수신할 수 있다.
네트워크 링크는 하나 이상의 네트워크를 통해 다른 데이터 장치(예컨대, 시스템(600)에 도시된 바와 같은 하나 이상의 단말(601))에 데이터 통신을 제공할 수 있다. 예를 들어, 네트워크 링크는 호스트 컴퓨터의 로컬 네트워크를 통한 연결 또는 ISP(Internet Service Provider)에 의해 운영되는 데이터 장비에 대한 연결을 제공할 수 있다. ISP는 인터넷을 통해 데이터 통신 서비스를 제공할 수 있다. 따라서, 컴퓨터(1700)는 하나 이상의 네트워크, 네트워크 링크 및 통신 인터페이스(1702)를 통해 프로그램 코드를 포함하는 명령, 데이터 또는 이들의 조합을 송수신할 수 있다. 따라서, 컴퓨터(1700)는 원격 서버 또는 이들의 일부 조합과 인터페이스하거나 다른 방식으로 통신할 수 있다.
본 명세서에서 논의된 다양한 디바이스, 모듈, 단말 등은 위에서 논의된 바와 같이, 컴퓨터 판독 가능 매체로부터 판독된 기계 명령어를 포함하는 소프트웨어의 실행에 의해 컴퓨터에서 구현될 수 있다. 특정 실시형태들에 있어서, 여러 하드웨어 양태들이 단일 컴퓨터를 사용하여 구현될 수 있고, 다른 실시형태들에서는 다중 컴퓨터, 입력/출력 시스템 및 하드웨어가 시스템을 구현하는 데 사용될 수 있다.
소프트웨어 구현의 경우, 본 명세서에서 설명된 특정 실시형태들은 절차들 및 기능들과 같은 별도의 소프트웨어 모듈들로 구현될 수 있으며, 이들 각각은 본 명세서에서 설명된 기능들 및 동작들 중 하나 이상을 수행한다. 소프트웨어 코드는 임의의 적절한 프로그래밍 언어로 작성되는 소프트웨어 애플리케이션으로 구현될 수 있으며, 메모리에 저장되고 컨트롤러 또는 프로세서에 의해 실행될 수 있다.
전술한 실시형태들 및 특징들은 단지 예시적인 것이며 본 발명을 제한하는 것으로 해석되지 않아야 한다. 본 교시는 다른 유형의 장치 및 프로세스에 쉽게 적용될 수 있다. 그러한 실시형태들의 설명은 예시를 위한 것이며, 청구범위를 제한하려는 것이 아니다. 많은 대체, 수정 및 변형이 당업자에게 자명할 것이다.

Claims (20)

  1. 안면 모델의 메시 변형(mesh deformation)을 생성하는 방법으로서,
    제1의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제1의 복수의 변형 맵을 생성하는 단계,
    상기 제1의 복수의 변형 맵에 기초하여 제1의 복수의 정점 오프셋을 추출하는 단계, 및
    상기 안면 모델의 중립 메시(neutral mesh)에 상기 제1의 복수의 정점 오프셋을 적용하여 상기 안면 모델의 상기 메시 변형을 생성하는 단계를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 제1의 복수의 정점 오프셋을 추출하는 단계는 복수의 정점 위치에서 상기 제1의 복수의 변형 맵 중 적어도 하나의 보간을 수행하는 단계를 포함하는,
    방법.
  3. 제2항에 있어서,
    상기 보간은 이중 선형 보간 또는 큐빅 보간을 포함하는,
    방법.
  4. 제1항에 있어서,
    상기 안면 모델의 중립 메시에 상기 제1의 복수의 정점 오프셋을 적용하는 단계는 상기 제1의 복수의 정점 오프셋을 상기 중립 메시의 복수의 정점의 값에 추가하는 단계를 포함하는,
    방법.
  5. 제1항에 있어서,
    상기 제1의 복수의 뉴럴 네트워크 트레이닝된 모델 각각은 컨볼루션 뉴럴 네트워크(CNN) 모델을 포함하는,
    방법.
  6. 제1항에 있어서,
    제2의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제2의 복수의 변형 맵을 생성― 상기 제2의 복수의 변형 맵은 상기 제1의 복수의 변형 맵보다 높은 해상도를 가짐 ―하는 단계,
    상기 제2의 복수의 변형 맵에 기초하여 제2의 복수의 정점 오프셋을 추출하는 단계, 및
    상기 안면 모델의 중립 메시에 상기 제2의 복수의 정점 오프셋을 적용하여 상기 안면 모델의 상기 메시 변형을 생성하는 단계를 더 포함하는,
    방법.
  7. 제6항에 있어서,
    상기 중립 메시에 상기 제1의 복수의 정점 오프셋을 적용하는 단계는 상기 중립 메시의 모든 정점의 값에 상기 제1의 복수의 정점 오프셋을 적용하는 단계를 포함하고,
    상기 중립 메시에 상기 제2의 복수의 정점 오프셋을 적용하는 단계는 상기 메시 변형을 생성하기 위해 기껏해야(at most) 상기 중립 메시의 상기 정점들의 서브세트의 값에 상기 제2의 복수의 정점 오프셋을 적용하는 단계를 포함하는,
    방법.
  8. 제7항에 있어서,
    상기 중립 메시의 상기 정점들의 서브세트는 특정 임계값을 초과하는 근사 오차 수준을 나타내는 상기 중립 메시의 하나 이상의 영역에 대응하는,
    방법.
  9. 제6항에 있어서,
    상기 안면 모델의 중립 메시에 상기 제1의 복수의 정점 오프셋을 적용하는 단계는 복수의 중간 정점 값을 생성하기 위해 상기 중립 메시의 복수의 정점의 값에 상기 제1의 복수의 정점 오프셋을 추가하는 단계를 포함하고,
    상기 중립 메시에 상기 제2의 복수의 정점 오프셋을 적용하는 단계는 상기 메시 변형을 생성하기 위해 기껏해야 상기 복수의 중간 정점 값의 서브세트에 상기 제2의 복수의 정점 오프셋을 추가하는 단계를 포함하는,
    방법.
  10. 제6항에 있어서,
    상기 제1의 복수의 변형 맵 및 상기 제2의 복수의 변형 맵에 기초하여, 변형 동안 강체성으로(rigidly) 움직이는 상기 안면 모델의 하나 이상의 강체성 메시 세그먼트(rigid mesh segments)를 식별하는 단계, 및
    상기 하나 이상의 강체성 메시 세그먼트 각각의 별도의 근사를 수행하는 단계를 더 포함하는,
    방법.
  11. 제10항에 있어서,
    상기 하나 이상의 강체성 메시 세그먼트 각각의 별도의 근사를 수행하는 단계는 상기 강체성 메시 세그먼트의 정점들에 대하여 강체성 회전 및 평행이동을 수행하는 단계를 포함하는,
    방법.
  12. 안면 모델의 메시 변형을 생성하는 시스템으로서, 상기 시스템은 하나 이상의 컨트롤러를 포함하고, 상기 컨트롤러는,
    제1의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제1의 복수의 변형 맵을 생성하고,
    상기 제1의 복수의 변형 맵에 기초하여 제1의 복수의 정점 오프셋을 추출하고,
    상기 안면 모델의 중립 메시에 상기 제1의 복수의 정점 오프셋을 적용하여 상기 안면 모델의 상기 메시 변형을 생성하도록 구성되는,
    시스템.
  13. 제12항에 있어서,
    상기 하나 이상의 컨트롤러는 복수의 정점 위치에서 상기 제1의 복수의 변형 맵 중 적어도 하나의 보간을 수행함으로써 상기 제1의 복수의 정점 오프셋을 추출하도록 더 구성되는,
    시스템.
  14. 제13항에 있어서,
    상기 보간은 이중 선형 보간 또는 큐빅 보간을 포함하는,
    시스템.
  15. 제12항에 있어서,
    상기 하나 이상의 컨트롤러는 상기 중립 메시의 복수의 정점의 값에 상기 제1의 복수의 정점 오프셋을 추가함으로써 상기 안면 모델의 중립 메시에 상기 제1의 복수의 정점 오프셋을 적용하도록 더 구성되는,
    시스템.
  16. 제12항에 있어서,
    상기 제1의 복수의 뉴럴 네트워크 트레이닝된 모델 각각은 컨볼루션 뉴럴 네트워크(CNN) 모델을 포함하는,
    시스템.
  17. 제12항에 있어서,
    상기 하나 이상의 컨트롤러는,
    제2의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제2의 복수의 변형 맵을 생성― 상기 제2의 복수의 변형 맵은 상기 제1의 복수의 변형 맵보다 높은 해상도를 가짐 ―하고,
    상기 제2의 복수의 변형 맵에 기초하여 제2의 복수의 정점 오프셋을 추출하고,
    상기 안면 모델의 중립 메시에 상기 제2의 복수의 정점 오프셋을 적용하여 상기 안면 모델의 상기 메시 변형을 생성하도록 더 구성되는,
    시스템.
  18. 제17항에 있어서,
    상기 하나 이상의 컨트롤러는 상기 중립 메시의 모든 정점의 값에 상기 제1의 복수의 정점 오프셋을 적용함으로써 상기 중립 메시에 상기 제1의 복수의 정점 오프셋을 적용하도록 더 구성되고,
    상기 하나 이상의 컨트롤러는 상기 메시 변형을 생성하기 위해 기껏해야 상기 중립 메시의 상기 정점들의 서브세트의 값에 상기 제2의 복수의 정점 오프셋을 적용함으로써 상기 중립 메시에 상기 제2의 복수의 정점 오프셋을 적용하도록 더 구성되는,
    시스템.
  19. 제18항에 있어서,
    상기 중립 메시의 상기 정점들의 서브세트는 특정 임계값을 초과하는 근사 오차 수준을 나타내는 상기 중립 메시의 하나 이상의 영역에 대응하는,
    시스템.
  20. 안면 모델의 메시 변형을 생성하기 위한 기계 실행 가능 명령어가 저장된 기계 판독 가능 비일시적 매체로서, 상기 명령어는,
    제1의 복수의 뉴럴 네트워크 트레이닝된 모델을 적용함으로써 제1의 복수의 변형 맵을 생성하는 것,
    상기 제1의 복수의 변형 맵에 기초하여 제1의 복수의 정점 오프셋을 추출하는 것, 및
    상기 안면 모델의 중립 메시에 상기 제1의 복수의 정점 오프셋을 적용하여 상기 안면 모델의 상기 메시 변형을 생성하는 것을 포함하는,
    기계 판독 가능 비일시적 매체.
KR1020227042975A 2020-05-08 2021-04-29 고속 및 심층 안면 변형 KR20230009440A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063022398P 2020-05-08 2020-05-08
US63/022,398 2020-05-08
US17/065,423 2020-10-07
US17/065,423 US11348314B2 (en) 2020-05-08 2020-10-07 Fast and deep facial deformations
PCT/US2021/030024 WO2021225868A1 (en) 2020-05-08 2021-04-29 Fast and deep facial deformations

Publications (1)

Publication Number Publication Date
KR20230009440A true KR20230009440A (ko) 2023-01-17

Family

ID=78412975

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227042975A KR20230009440A (ko) 2020-05-08 2021-04-29 고속 및 심층 안면 변형

Country Status (7)

Country Link
US (2) US11348314B2 (ko)
EP (1) EP4147209A1 (ko)
JP (1) JP2023526566A (ko)
KR (1) KR20230009440A (ko)
CN (1) CN115943436A (ko)
CA (1) CA3176920A1 (ko)
WO (1) WO2021225868A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111417987A (zh) * 2017-07-28 2020-07-14 北奥拜勃工作室有限公司 用于实时复杂角色动画和交互性的系统和方法
EP3671660A1 (en) * 2018-12-20 2020-06-24 Dassault Systèmes Designing a 3d modeled object via user-interaction
US11475608B2 (en) * 2019-09-26 2022-10-18 Apple Inc. Face image generation with pose and expression control
EP4058987A1 (en) * 2019-11-15 2022-09-21 Snap Inc. Image generation using surface-based neural synthesis
US11348314B2 (en) 2020-05-08 2022-05-31 Dreamworks Animation Llc Fast and deep facial deformations
US11443484B2 (en) * 2020-05-15 2022-09-13 Microsoft Technology Licensing, Llc Reinforced differentiable attribute for 3D face reconstruction
US11875504B2 (en) * 2020-09-10 2024-01-16 Unity Technologies Sf Systems and methods for building a muscle-to-skin transformation in computer animation
US11941739B1 (en) * 2021-01-05 2024-03-26 Pixar Object deformation network system and method
US20220237879A1 (en) * 2021-01-27 2022-07-28 Facebook Technologies, Llc Direct clothing modeling for a drivable full-body avatar
US11941771B2 (en) * 2021-02-03 2024-03-26 Accenture Global Solutions Limited Multi-dimensional model texture transfer
CN115239860B (zh) * 2022-09-01 2023-08-01 北京达佳互联信息技术有限公司 表情数据生成方法、装置、电子设备及存储介质
CN115984440B (zh) * 2023-03-20 2023-06-27 腾讯科技(深圳)有限公司 对象渲染方法、装置、计算机设备和存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614428B1 (en) * 1998-06-08 2003-09-02 Microsoft Corporation Compression of animated geometry using a hierarchical level of detail coder
US20030043918A1 (en) * 1999-12-20 2003-03-06 Jiang Hong H. Method and apparatus for performing video image decoding
US8035643B2 (en) 2007-03-19 2011-10-11 Lucasfilm Entertainment Company Ltd. Animation retargeting
WO2009100020A2 (en) * 2008-01-31 2009-08-13 University Of Southern California Facial performance synthesis using deformation driven polynomial displacement maps
AU2009330607B2 (en) * 2008-12-04 2015-04-09 Cubic Corporation System and methods for dynamically injecting expression information into an animated facial mesh
US8614714B1 (en) 2009-12-21 2013-12-24 Lucasfilm Entertainment Company Ltd. Combining shapes for animation
US9508179B2 (en) * 2013-07-19 2016-11-29 Lucasfilm Entertainment Company Ltd. Flexible 3-D character rigging development architecture
EP3028201A4 (en) * 2013-08-02 2017-03-22 Auckland Uniservices Limited System for neurobehavioural animation
US9792723B2 (en) * 2015-04-07 2017-10-17 Disney Enterprises, Inc. Method and system for progressively sculpting three-dimensional geometry
US10573065B2 (en) * 2016-07-29 2020-02-25 Activision Publishing, Inc. Systems and methods for automating the personalization of blendshape rigs based on performance capture data
US10565792B2 (en) * 2017-09-07 2020-02-18 Dreamworks Animation Llc Approximating mesh deformations for character rigs
US10672164B2 (en) * 2017-10-16 2020-06-02 Adobe Inc. Predicting patch displacement maps using a neural network
US11069135B2 (en) * 2019-03-07 2021-07-20 Lucasfilm Entertainment Company Ltd. On-set facial performance capture and transfer to a three-dimensional computer-generated model
US11430564B2 (en) * 2019-11-27 2022-08-30 Shanghai United Imaging Intelligence Co., Ltd. Personalized patient positioning, verification and treatment
US11348314B2 (en) 2020-05-08 2022-05-31 Dreamworks Animation Llc Fast and deep facial deformations

Also Published As

Publication number Publication date
WO2021225868A1 (en) 2021-11-11
CA3176920A1 (en) 2021-11-11
US20220262073A1 (en) 2022-08-18
US11348314B2 (en) 2022-05-31
CN115943436A (zh) 2023-04-07
JP2023526566A (ja) 2023-06-21
US11875458B2 (en) 2024-01-16
EP4147209A1 (en) 2023-03-15
US20210350621A1 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
US11875458B2 (en) Fast and deep facial deformations
Wood et al. Gazedirector: Fully articulated eye gaze redirection in video
Stoll et al. Fast articulated motion tracking using a sums of gaussians body model
Cao et al. Facewarehouse: A 3d facial expression database for visual computing
US9858700B2 (en) Animation data transfer between geometric models and associated animation models
EP3980974A1 (en) Single image-based real-time body animation
JP7378642B2 (ja) 生成的非線形人間形状モデル
Cong Art-directed muscle simulation for high-end facial animation
US9892485B2 (en) System and method for mesh distance based geometry deformation
CN116977522A (zh) 三维模型的渲染方法、装置、计算机设备和存储介质
Wan et al. Data-driven facial expression synthesis via Laplacian deformation
WO2022075858A1 (en) Method and user interface for generating tangent vector fields usable for generating computer-generated imagery
US9665955B1 (en) Pose-space shape fitting
US20230079478A1 (en) Face mesh deformation with detailed wrinkles
EP3980975B1 (en) Method of inferring microdetail on skin animation
Pawaskar et al. Expression transfer: A system to build 3d blend shapes for facial animation
JP2023540434A (ja) 操作順序変形エンジンを用いたコンピュータアニメーションのためのシステム及び方法
Kwon et al. Cartoon-like stylization for character animation
US11941739B1 (en) Object deformation network system and method
US11410370B1 (en) Systems and methods for computer animation of an artificial character using facial poses from a live actor
US20230154094A1 (en) Systems and Methods for Computer Animation of an Artificial Character Using Facial Poses From a Live Actor
US20230196702A1 (en) Object Deformation with Bindings and Deformers Interpolated from Key Poses
WO2022005302A1 (en) Method for computation of local densities for virtual fibers
WO2023022607A1 (en) Systems and methods for computer animation of an artificial character using facial poses from a live actor
WO2022164995A1 (en) Direct clothing modeling for a drivable full-body animatable human avatar

Legal Events

Date Code Title Description
A201 Request for examination