KR20240080182A - 아바타 생성 장치 및 방법 - Google Patents

아바타 생성 장치 및 방법 Download PDF

Info

Publication number
KR20240080182A
KR20240080182A KR1020240040821A KR20240040821A KR20240080182A KR 20240080182 A KR20240080182 A KR 20240080182A KR 1020240040821 A KR1020240040821 A KR 1020240040821A KR 20240040821 A KR20240040821 A KR 20240040821A KR 20240080182 A KR20240080182 A KR 20240080182A
Authority
KR
South Korea
Prior art keywords
avatar
user
main body
partial object
expression
Prior art date
Application number
KR1020240040821A
Other languages
English (en)
Inventor
박병화
조가비
신호정
정근상
이재왕
Original Assignee
주식회사 일루니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 일루니 filed Critical 주식회사 일루니
Priority to KR1020240040821A priority Critical patent/KR20240080182A/ko
Publication of KR20240080182A publication Critical patent/KR20240080182A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes
    • 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/2016Rotation, translation, scaling
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)
  • Multimedia (AREA)

Abstract

아바타 생성 방법이 개시된다. 개시된 방법은 아바타의 본체를 생성하는 단계, 적어도 하나의 부분 객체를 생성하는 단계, 사용자의 커스터마이징 정보를 획득하는 단계, 상기 커스터마이징 정보에 기초하여 상기 본체 및 상기 적어도 하나의 부분 객체를 변형하는 단계 및 상기 적어도 하나의 부분 객체를 상기 본체의 표면에 프로젝션(projection) 함으로써 기본 표정의 사용자 아바타를 생성하는 단계를 포함한다.

Description

아바타 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING AVATAR}
본 개시는 아바타 생성 장치 및 방법에 관한 것으로, 보다 자세하게는 사용자가 높은 자유도로 3차원 아바타를 커스터마이징 할 수 있도록 하는 아바타 생성 장치 및 방법에 관한 것이다.
아바타는 사이버 공간에서 사용자의 분신처럼 사용되는 시각적 객체로서 사이버 공간에서 표현되는 그래픽 캐릭터 등을 의미한다. 증강현실, 가상현실, 융합현실, 메타버스 서비스 보급이 확대되고, 관련 시장이 성장함에 따라서 아바타의 활용 사례가 늘어나고 있다.
사용자들의 눈높이가 높아짐에 따라 사용자들은 미리 정해진 아바타를 사용하기보다는 자신이 직접 커스터마이징(customizing)한 아바타를 사용하기를 원하고 있다.
예를 들어, 사용자들은 자신이 직접 아바타의 얼굴 형태, 눈, 코, 입의 모양, 머리 색 등을 커스터마이징 하고 싶어한다. 특히, 아바타의 얼굴은 다른 신체 부위에 비해서 굴곡이 심하며 미묘한 변화에도 사람이 쉽게 차이점을 느낄 수 있다. 이러한 이유에서 사용자가 얼굴을 자유롭게 커스터마이징 할 수 있는 환경을 제공하는 것은 기술적으로 쉽지 않다.
현재 상용화된 아바타 제공 서비스는 3차원 아바타의 커스터마이징 기능을 제공하지만, 커스터마이징의 자유도가 높지 않아서 사용자들이 생성한 아바타들 사이에 차이점이 두드러지지 않는 문제가 있다. 반면, 사용자가 그림을 그리듯이 창작을 할 수 있는 아바타 시스템의 경우, 아바타의 표정이 유한한 개수의 카테고리로 제한되어 있어서 아바타의 표정이 풍부하게 제공되지 못한다는 단점이 있다.
대한민국 공개특허 10-2022-0080576
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 사용자가 3차원 아바타를 커스터마이징 할 수 있도록 하는 아바타 생성 방법 및 장치를 제공한다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
적어도 하나의 실시예에 따르면 아바타 생성 방법이 개시된다. 개시된 방법은 아바타의 본체를 생성하는 단계; 적어도 하나의 부분 객체를 생성하는 단계; 사용자의 커스터마이징 정보를 획득하는 단계; 상기 커스터마이징 정보에 기초하여 상기 본체 및 상기 적어도 하나의 부분 객체를 변형하는 단계; 및 상기 적어도 하나의 부분 객체를 상기 본체의 표면에 프로젝션(projection) 함으로써 기본 표정의 사용자 아바타를 생성하는 단계를 포함한다.
상기 본체 및 상기 적어도 하나의 부분 객체를 변형하는 단계는, 상기 본체에 대한 제1 커스터마이징 정보에 기초하여, 상기 본체를 구성하는 복수의 격자 공간 중 적어도 하나에 대한 변형을 통해 격자 공간에 포함된 상기 본체의 정보를 변형하는 단계; 및 상기 적어도 하나의 부분 객체에 대한 제2 커스터마이징 정보에 기초하여 상기 적어도 하나의 부분 객체를 구성하는 복수의 격자 공간 중 적어도 하나에 대한 변형을 통해 격자 공간에 포함된 상기 적어도 하나의 부분 객체의 정보를 변형하는 단계를 포함할 수 있다.
상기 본체 및 상기 적어도 하나의 부분 객체를 변형하는 단계는, 상기 적어도 하나의 부분 객체에 대한 제2 커스터마이징 정보에 기초하여 상기 적어도 하나의 부분 객체의 두께, 색상, 텍스처(texture) 및 스무딩(smoothing) 중 적어도 하나를 변경하는 단계를 더 포함할 수 있다.
상기 본체의 구성 정보와 연관된 꼭지점(vertex)의 위치 변화가 발생하는 경우, 위치 변화가 일어나는 꼭지점(vertex)과 연관된 부분 객체의 변형이 함께 발생할 수 있다.
상기 본체를 구성하는 복수의 격자 공간 중 적어도 하나에 대한 변형이 발생하는 경우, 변형이 발생하는 본체의 격자 공간의 변형과 연관되는 부분 객체의 격자 공간에 대한 변형을 함께 발생시킴으로써 상기 본체 및 상기 부분 객체가 함께 변형되도록 할 수 있다.
상기 적어도 하나의 부분 객체는 미리 정해진 일 방향으로 상기 본체의 표면에 프로젝션 될 수 있다.
상기 적어도 하나의 부분 객체는 상기 본체에 프로젝션 되는 위치에서 상기 본체 표면의 법선 벡터(normal vector) 방향으로 프로젝션 될 수 있다.
상기 방법은 사용자의 얼굴 촬영 이미지를 획득하는 단계를 더 포함하고, 상기 아바타의 본체 및 상기 적어도 하나의 부분 객체는 상기 사용자의 얼굴 촬영 이미지에서 획득된 특징 정보에 기초하여 생성될 수 있다.
상기 특징 정보는 사용자의 얼굴 형상, 사용자의 피부색, 사용자의 헤어 모양, 사용자의 헤어 색, 사용자의 눈 형상, 사용자의 안구 색, 성별, 연령, 악세서리의 종류 및 형상, 인종적 특성 중 적어도 하나를 포함할 수 있다.
상기 사용자 아바타의 표정을 변경하는 단계를 더 포함하며, 상기 사용자 아바타의 표정을 변경하는 단계는, 상기 기본 표정의 사용자 아바타와 미리 마련된 기본 표정의 참조 아바타 사이의 변환 관계를 추출하는 단계; 상기 변환 관계에 기초하여 복수의 참조 표정 각각에 대해 미리 마련된 참조 아바타로부터 상기 복수의 참조 표정 각각에 대해 사용자 아바타를 생성하는 단계; 및 상기 기본 표정의 사용자 아바타와 상기 복수의 참조 표정 각각에 대해 생성된 사용자 아바타를 조합하여 상기 사용자 아바타의 표정을 변경하는 단계를 포함할 수 있다.
상기 변환 관계를 추출하는 단계는, 상기 기본 표정에서 상기 사용자 아바타의 본체와 상기 참조 아바타의 본체 사이의 제1 변환 관계를 추출하는 단계; 및 상기 기본 표정에서 상기 사용자 아바타의 적어도 부분 객체와 상기 참조 아바타의 부분 객체 사이의 제2 변환 관계를 추출하는 단계를 포함하고, 상기 복수의 참조 표정 각각에 대해 사용자 아바타를 생성하는 단계는, 상기 제1 변환 관계에 기초하여 상기 복수의 참조 표정 각각에 대해 미리 마련된 참조 아바타의 본체로부터 상기 복수의 참조 표정 각각에 대해 사용자 아바타의 본체를 생성하는 단계; 및 상기 제2 변환 관계에 기초하여 상기 복수의 참조 표정 각각에 대해 미리 마련된 참조 아바타의 부분 객체로부터 상기 복수의 참조 표정 각각에 대해 사용자 아바타의 부분 객체를 생성하는 단계를 포함할 수 있다.
상기 사용자 아바타의 표정을 변경하는 단계는, 사용자의 음성 정보를 획득하는 단계; 상기 사용자의 음성 정보에 기초하여 상기 복수의 참조 표정들 각각의 조합 가중치를 결정하는 단계; 상기 조합 가중치에 기초하여 상기 기본 표정의 사용자 아바타와 상기 복수의 참조 표정 각각에 대해 생성된 사용자 아바타를 조합하는 단계를 포함할 수 있다.
상기 복수의 참조 표정 각각에 대해 생성된 사용자 아바타의 조합 가중치는 시계열 가중치 시퀀스로 표현되며, 상기 사용자 아바타의 표정은 시계열 가중치 시퀀스에 기초하여 애니메이팅(animating) 될 수 있다.
상기 사용자 아바타를 3차원 프린팅 데이터로 제공하는 단계를 더 포함할 수 있다.
다른 측면에 있어서, 적어도 하나의 프로세서를 포함하는 아바타 생성 장치가 제공된다. 상기 장치는 상기 적어도 하나의 프로세서는 아바타의 본체를 생성하는 프로세스; 적어도 하나의 부분 객체를 생성하는 프로세스; 사용자의 커스터마이징 정보를 획득하는 프로세스; 상기 커스터마이징 정보에 기초하여 상기 본체 및 상기 적어도 하나의 부분 객체를 변형하는 프로세스; 및 상기 적어도 하나의 부분 객체를 상기 본체의 표면에 프로젝션(projection) 함으로써 기본 표정의 사용자 아바타를 생성하는 프로세스를 수행할 수 있다.
적어도 하나의 실시예에 따르면 아바타 생성 장치가 아바타의 본체와 부분 객체들을 각각 3차원 그래픽 모델로 관리함으로써 사용자가 아바타를 커스터마이징 할 수 있는 자유도가 높아질 수 있다. 또한, 본체와 부분 객체들이 결합된 아바타의 형상이 종래에 비해 더 자연스러워질 수 있다. 적어도 하나의 실시예에 따르면 사용자가 실질적으로 무한한 개수의 아바타 표정을 생성할 수 있다. 적어도 하나의 실시예에 따르면, 사용자 아바타의 표정이 자연스러워질 수 있다. 적어도 하나의 실시예에 따르면, 사용자의 음성 정보를 획득하고 사용자의 음성 정보에 기초하여 사용자 아바타의 표정을 생성할 수 있다. 적어도 하나의 실시예에 따르면 사용자의 음성 정보에 기초하여 사용자 아바타의 표정이 애니메이팅 되어 가상공간에서 사용자 아바타를 더 실감나게 표현할 수 있다. 적어도 하나의 실시예에 따르면, 사용자의 촬영 이미지에 기초하여 사용자의 외모 특성을 반영하여 사용자 아바타를 커스터마이징 할 수 있다.
다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 특정 세부사항들 없이 실시될 수 있음은 명백할 것이다. 다른 예시들에서, 공지의 구조들 및 장치들이 하나 이상의 양상들의 기재를 용이하게 하기 위해 블록도 형태로 도시된다.
도 1는 예시적인 실시예에 따른 아바타 생성 장치를 나타낸다.
도 2은 예시적인 실시예에 따른 아바타 생성 방법을 나타낸 순서도이다.
도 3는 도 2의 S140 단계가 수행되는 과정을 예시적으로 나타낸 순서도이다.
도 4는 커스터마이징 된 아바타의 본체 및 부분 객체를 예시적으로 나타낸 도면이다.
도 5은 아바타를 구성하는 본체 및 부분 객체들 사이의 관계를 예시적으로 나타낸 개념도이다.
도 6은 아바타의 본체가 커스터마이징 되는 것을 예시적으로 나타낸 도면이다.
도 7은 부분 객체들이 커스터마이징 되는 것을 예시적으로 나타낸 도면이다.
도 8은 도 4에서 나타낸 부분 객체들이 본체 표면에 프로젝션되는 것을 예시적으로 나타낸 도면이다.
도 9A 및 도 9B는 프로젝션 과정을 예시적으로 나타낸 개념도이다.
도 10은 다른 예시적인 실시예에 따른 아바타 생성 방법을 나타낸 순서도이다.
도 11은 도 10의 S160 단계가 수행되는 과정을 예시적으로 나타낸 순서도이다.
도 12는 아바타 생성 장치가 복수의 참조 표정들 각각에 대해 사용자 아바타의 본체를 생성하는 것을 예시적으로 나타낸 개념도이다.
도 13은 도 10의 S160 단계가 수행되는 과정을 보다 상세히 예시적으로 나타낸 순서도이다.
도 14는 새로운 표정의 사용자 아바타가 생성되는 과정을 예시적으로 나타낸 개념도이다.
도 15는 예시적인 실시예에 따라 아바타 생성 장치가 사용자의 음성 정보에 기초하여 조합 가중치 세트를 결정하는 것을 나타낸 개념도이다.
도 16은 아바타 생성 장치(100)가 사용자 아바타를 애니메이팅 하는 것을 예시적으로 나타낸 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제 1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서는 도 1 내지 도 16을 참조하여 예시적인 실시예들에 따른, 아바타 생성 방법 및 장치에 관하여 설명한다.
도 1는 예시적인 실시예에 따른 아바타 생성 장치(100)를 나타낸다. 도 를 참조하면, 아바타 생성 장치(100)는 프로세서(110), 저장부(120) 및 통신부(130)를 포함할 수 있다. 다만, 상술한 구성 요소들은 아바타 생성 장치(100)를 구현하는데 있어서 필수적인 것은 아니어서, 아바타 생성 장치(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
아바타 생성 장치(100)는 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스 또는 디바이스 제어기 등과 같은 임의의 타입의 컴퓨터 시스템 또는 컴퓨터 디바이스를 포함할 수 있다.
아바타 생성 장치(100)는 전형적인 컴퓨터 하드웨어(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS; network-attached storage) 및 스토리지 영역 네트워크(SAN; storage area network)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 명령어들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
프로세서(110)는 통상적으로 아바타 생성 장치(100)의 전반적인 동작을 처리할 수 있다. 프로세서(110)는 아바타 생성 장치(100)의 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 저장부(120)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
프로세서(110)는 하나 이상의 코어로 구성될 수 있으며, 중앙 처리 장치(CPU: Central Processing Unit), 범용 그래픽 처리 장치(GPGPU: General Purpose Graphics Processing Unit), 텐서 처리 장치(TPU: Tensor Processing Unit) 등의 데이터 분석을 위한 프로세서를 포함할 수 있다.
저장부(120)는 메모리 및/또는 영구저장매체를 포함할 수 있다. 메모리는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
통신부(130)는 아바타 생성 장치(100)와 통신 시스템 사이, 아바타 생성 장치(100)와 다른 모바일 장치 사이, 또는 아바타 생성 장치(100)와 네트워크 사이의 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다.
아바타 생성 장치(100)는 사용자가 소유하고 있는 PC(Personal Computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc) 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다. 또는 아바타 생성 장치(100)는 전형적인 컴퓨터 하드웨어(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS; Network-Attached Storage) 및 스토리지 영역 네트워크(SAN; Storage Area Network)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 명령어들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이하에서는 아바타 생성 장치(100)가 아바타를 생성하는 방법에 관하여 설명한다.
도 2는 예시적인 실시예에 따른 아바타 생성 방법을 나타낸 순서도이다. 도 2를 참조하면, S105 단계에서 아바타 생성 장치(100)는 사용자의 촬영 영상을 획득할 수 있다. 여기서, 촬영 영상은 촬영 이미지 또는 동영상 중 적어도 하나를 포함할 수 있다. 아바타 생성 장치(100)는 사용자의 촬영 영상으로부터 사용자의 얼굴 형상, 사용자의 피부색, 사용자의 헤어 색, 사용자의 눈 크기, 사용자의 안구 색, 성별 및 연령 중 적어도 하나에 대한 정보를 획득할 수 있다. 아바타 생성 장치(100)는 획득한 사용자의 특징 정보에 기초하여 아바타를 생성할 수 있다. 예를 들어, 아바타 생성 장치(100)는 사용자의 연령에 기초하여 아바타의 머리와 몸체 사이의 비율을 결정할 수 있다. 아바타 생성 장치(100)는 사용자의 헤어 색 및 피부 색에 기초하여 아바타의 헤어 및 피부의 색을 결정할 수 있다. 아바타 생성 장치(100)는 사용자의 촬영 영상에서 사용자의 외모에 대한 특성을 추출하고, 추출된 외모 특성에 기초하여 후술하는 아바타의 본체 및 부분 객체를 생성할 수 있다. 아바타 생성 장치(100)는 사용자의 외모 특성에 기초하여 사용자 아바타에 대한 커스터마이징 정보를 추출할 수 있다. 예를 들어, 아바타 생성 장치(100)는 사용자의 얼굴 형태에 기초하여 사용자 아바타의 얼굴 형태를 결정할 수 있다.
경우에 따라 S105 단계는 생략될 수 있다. 예를 들어, 아바타 생성 장치(100)는 사용자가 설정한 외모 옵션 정보에 기초하여 후술하는 아바타의 본체 및 부분 객체를 생성할 수도 있다.
S110 단계에서 아바타 생성 장치(100)는 아바타의 본체를 생성할 수 있다. 아바타 본체는 3차원 모델로 표현될 수 있다. 아바타 본체는 아바타의 얼굴 형상, 신체 골격, 몸매 등을 표현하는 3차원 모델 정보를 포함할 수 있다. 아바타 생성 장치(100)는 사용자의 촬영 이미지에 기초하여 아바타 본체를 생성할 수 있다.
S120 단계에서 아바타 생성 장치(100)는 아바타의 부분 객체를 생성할 수 있다. 아바타 생성 장치(100)는 복수의 부분 객체를 생성할 수 있다. 부분 객체는 아바타의 특징을 나타내는 부분에 대응할 수 있다. 예를 들어, 부분 객체는 아바타의 눈, 눈썹, 코, 입, 헤어 중 어느 하나에 대응할 수 있다. 하지만, 실시예가 이에 제한되는 것은 아니다. 부분 객체는 아바타의 신체 또는 의상 중 일부를 표현할 수 있다. 아바타 생성 장치(100)는 사용자의 촬영 이미지에 기초하여 아바타 부분 객체를 생성할 수 있다.
S130 단계에서 아바타 생성 장치(100)는 사용자의 커스터마이징 정보를 획득할 수 있다. 아바타 생성 장치(100)는 소정의 사용자 인터페이스를 제공하고 사용자 인터페이스에 대한 사용자 인터랙션에 기반하여 커스터마이징 정보를 획득할 수 있다. 사용자 인터랙션은 사용자의 드래그, 텍스트 입력 등을 포함할 수 있으나 실시예가 이에 제한되는 것은 아니다. 다른 예로 아바타 생성 장치(100)는 S105 단계에서 획득된 사용자 촬영 이미지에 기초하여 사용자의 외모 특성 정보를 획득하고, 획득된 외모 특성 정보에 기초하여 커스터마이징 정보를 획득할 수도 있다.
커스터마이징 정보는 아바타의 형상 또는 모양에 대한 커스터마이징 정보를 포함할 수 있다. 커스터마이징 정보는 아바타 본체에 대한 제1 커스터마이징 정보를 포함할 수 있다. 제1 커스터마이징 정보는 아바타 본체의 입체적 형상에 대한 왜곡 또는 변형을 가하는 명령을 포함할 수 있다. 제1 커스터마이징 정보는 아바타 본체의 색상, 텍스처 등에 대한 설정을 포함할 수도 있다.
커스터마이징 정보는 아바타의 부분 객체에 대한 제2 커스터마이징 정보를 포함할 수 있다. 예를 들어, 부분 객체가 복수인 경우, 제2 커스터마이징 정보는 제1 부분 객체에 대한 제2-1 커스터마이징 정보, 제2 부분 객체에 대한 제2-2 커스터마이징 정보를 포함할 수 있다. 제2 커스터마이징 정보는 부분 객체의 입체적 형상에 대한 왜곡 또는 변형을 가하는 명령을 포함할 수 있다. 제2 커스터마이징 정보는 부분 객체의 형태, 두께, 색상, 텍스처 및 스무딩(smoothing) 등을 변경하는 명령을 포함할 수 있다.
S140 단계에서 아바타 생성 장치(100)는 S130 단계에서 획득한 커스터마이징 정보에 기초하여 아바타의 본체 및 부분 객체를 커스터마이징 할 수 있다.
도 3는 도 2의 S140 단계가 수행되는 과정을 예시적으로 나타낸 순서도이다. 도 4는 커스터마이징 된 아바타의 본체 및 부분 객체를 예시적으로 나타낸 도면이다.
도 3 및 도 4를 참조하면, S142 단계에서 아바타 생성 장치(100)는 제1 커스터마이징 정보에 기초하여 아바타의 본체(300)를 커스터마이징 할 수 있다. 아바타 생성 장치(100)는 제1 커스터마이징 정보에 기초하여 본체(300)의 입체적 형상을 변형시킬 수 있다. 본체(300)는 복수의 격자 공간들로 구성될 수 있다. 아바타 생성 장치(100)는 본체(300)를 구성하는 복수의 격자 공간들 중 일부 격자 공간의 형태, 크기 등을 변형시킬 수 있다. 예시적으로 아바타 생성 장치(100)는 제1 커스터마이징 정보에 기초하여 Free-form Deformation(FFD) 알고리즘 또는 통상의 기술자가 이용할 수 있는 3차원 모델 변형 알고리즘들 중 적어도 하나를 이용하여 본체(300)의 형상 또는 모양을 변형시킬 수 있다. 아바타 생성 장치(100)는 본체(300)를 구성하는 격자 공간들 중 적어도 하나의 격자 공간을 변형시킬 수 있다. 격자 공간이 변형됨에 따라 격자 공간에 포함된 본체(300)의 정보가 변형될 수 있다. 여기서, 격자 공간은 형태가 변형가능한 본체(300)가 차지하는 공간을 나타내는 정보이며, 사용자에게 표현되는 사용자의 입력을 받아들이는 인터페이스는 격자 공간과는 다르게 취급 또는 관리될 수도 있다.
S144 단계에서 아바타 생성 장치(100)는 제2 커스터마이징 정보에 기초하여 적어도 하나의 부분 객체의 입체적 형상을 변형시킬 수 있다. 제2 커스터마이징 정보는 눈에 대응하는 제1 부분 객체(310)를 커스터마이징 하는 명령, 눈썹에 대응하는 제2 부분 객체(320)를 커스터마이징 하는 명령, 코에 대응하는 제3 부분 객체(330)를 커스터마이징 하는 명령, 입에 대응하는 제4 부분 객체(340)를 커스터마이징 하는 명령을 포함할 수 있다. 아바타 생성 장치(100)는 부분 객체들(310, 320, 330, 340) 각각을 커스터마이징 할 수 있다. 예시적으로 아바타 생성 장치(300)는 제1 부분 객체(310)를 구성하는 격자 공간들 중 적어도 하나의 격자 공간을 변형시킬 수 있다. 아바타 생성 장치(300)는 적어도 하나의 격자 공간을 변형시켜서 해당 격자 공간에 포함된 제1 부분 객체(310)의 정보를 변형시킬 수 있다. 부분 객체들은 상술한 눈, 눈썹, 코, 입에 한정되지 않으며, 액세서리, 주름 등 아바타 본체의 얼굴 등에 투영될 수 있는 임의의 객체를 포함할 수 있다.
S146 단계에서 아바타 생성 장치(100)는 제2 커스터마이징 정보 중 일부에 기초해서 부분 객체들(310, 320, 330, 340) 중 적어도 하나를 변형시킬 수 있다. 예를 들어, 아바타 생성 장치(100)는 제1 부분 객체(310)의 형태, 두께, 색상, 텍스처, 스무딩 등을 변경시킬 수 있다.
도 5는 아바타를 구성하는 본체(300) 및 부분 객체들(310, 320, 330, 340) 사이의 관계를 예시적으로 나타낸 개념도이다.
도 5를 참조하면, 본체(300)와 부분 객체들(310, 320, 330, 340)은 계층적으로 연관될 수 있다. 본체(300)는 부분 객체들(310, 320, 330, 340)보다 상위 클래스를 가질 수 있다. 따라서, 본체(300)의 속성 중 일부가 변경되는 경우, 부분 객체들(310, 320, 330, 340) 중 일부도 변경될 수 있다. 예를 들어, 본체(300)의 형상이 변화하면서 본체(300)에서 눈에 해당하는 제1 부분 객체(310)가 프로젝션 되는 위치의 꼭지점(vertex)들 사이의 거리가 변하면 제1 부분 객체(310)의 크기나 폭이 함께 변할 수 있다. 본체(300)가 바뀜에 따라, 본체(300)의 격자공간이 바뀐 정보에 대응하여, 부분 객체(310, 320, 330, 340)의 격자공간을 대응하여 변경하며 부분 객체(310, 320, 330, 340)의 형태가 함께 변할 수 있다. 그리고, 부분 객체(310)의 정보가 본체(300)의 정보에 대응하며 함께 변함과 동시에, 부분 객체(310)는 지속적으로 본체(300)에 투영될 수 있다. 이를 통해 사용자의 아바타가 자연스러운 모습을 유지할 수 있다. 반면, 부분 객체들(310, 320, 330, 340)은 본체(300)보다 하위 클래스를 가질 수 있다. 부분 객체들(310, 320, 330, 340)의 속성이 변하더라도 본체(300)에는 영향이 가지 않을 수 있다. 이를 통해 사용자가 본체(300)에 투영되는 부분 객체들(310, 320, 330, 340)을 변경할 수 있는 자유도가 높아질 수 있다.
상술한 실시예는 예시적인 것에 불과할 뿐 실시예가 이에 제한되는 것은 아니다. 부분 객체들(310, 320, 330, 340) 각각은 자신보다 더 낮은 클래스의 객체와 연관될 수 있다. 예를 들어, 눈에 대응하는 제1 부분 객체(310)는 속눈썹을 나타내는 하위 클래스 객체를 포함할 수 있다. 또한, 다른 실시예에서는 본체(300)와 부분 객체들(310, 320, 330, 340)이 같은 레벨의 클래스를 가지며 병렬적인 관계를 형성할 수도 있다.
도 6은 아바타의 본체가 커스터마이징 되는 것을 예시적으로 나타낸 도면이다.
도 6을 참조하면, 제1 커스터마이징 정보는 기준점(Q1)에 대한 드래그 명령 등을 포함할 수 있다. 아바타 생성 장치(100)는 기준점(Q1)의 위치 변화에 따라 본체를 구성하는 격자 공간(L1)을 변형시킬 수 있다. 격자 공간(L1)이 변형됨에 따라 격자 공간(L1) 안의 본체 형상이 변할 수 있다. 본체 형상이 변함에 따라 본체의 속성에 연관된 코, 입, 모자, 안경 등과 같은 부분 객체들의 모양이 함께 변할 수 있다.
상술한 실시예에 따르면, 아바타 생성 장치(100)가 본체에 대한 커스터마이징 및 부분 객체에 대한 커스터마이징을 각각 수행할 수 있다. 하지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 아바타 생성 장치(100)는 본체와 부분 객체가 결합된 객체를 하나의 객체로 취급하고 해당 객체에 대해 커스터마이징을 수행할 수도 있다.
도 7은 부분 객체들이 커스터마이징 되는 것을 예시적으로 나타낸 도면이다.
도 7의 (b) 및 (c)를 참조하면, 도 7의 (a)에 비해 사용자 아바타의 눈에 해당하는 부분 객체가 변형될 수 있다. 예를 들어, 눈에 대응하는 부분 객체의 크기, 3차원적 형상 등이 커스터마이징에 의해 바뀔 수 있다. 또한, 눈의 텍스처, 스무딩, 두께 등이 커스터마이징에 의해 바뀔 수 있다. 또한, 눈에 포함된 하위 객체인 속눈썹의 크기 및 3차원적 형상 또한 커스터마이징에 의해 바뀔 수 있다. 다른 예로 도 7의 (d)를 참조하면, 도 7의 (d)에 비해 사용자의 눈썹에 대응하는 부분 객체가 변형될 수 있다. 예를 들어, 눈썹에 대응하는 부분 객체의 배열 각도, 크기, 3차원적 형상, 텍스처, 스무딩, 두께 등이 커스터마이징에 의해 바뀔 수 있다.
다시 도 2를 참조하면, S150 단계에서 아바타 생성 장치(100)는 부분 객체들(310, 320, 330, 340)을 본체(300) 표면에 프로젝션 할 수 있다.
도 8은 도 4에서 나타낸 부분 객체들(310, 320, 330, 340)이 본체(300) 표면에 프로젝션되는 것을 예시적으로 나타낸 도면이다.
도 8을 참조하면, 아바타 생성 장치(100)는 부분 객체들(310, 320, 330, 340)을 본체(300)에 프로젝션(projection) 할 수 있다. 프로젝션 과정에서 부분 객체들(310, 320, 330, 340) 각각의 적어도 일부분이 본체(300)의 표면과 맞닿도록 부분 객체들(310, 320, 330, 340)이 본체(300)와 결합될 수 있다. 다른 예로 부분 객체들(310, 320, 330, 340)이 본체(300)의 표면에서 소정의 간격만큼 이격된 상태로 본체(300)와 결합될 수도 있다.
도 9A 및 도 9 B는는 프로젝션 과정을 예시적으로 나타낸 개념도이다.
도 9A를 참조하면, 아바타 생성 장치(100)는 제1 부분 객체(310)를 본체(300)에 프로젝션 시킬 수 있다. 예를 들어, 아바타 생성 장치(100)는 미리 정해진 방향(예를 들어, z축 방향)으로 제1 부분 객체(310)를 본체(300)의 표면에 프로젝션 시킬 수 있다. 프로젝션 과정에서 제1 부분 객체(310)의 z축 좌표 정보가 변할 수 있다.
도 9B를 참조하면, 아바타 생성 장치(100)는 본체(300) 표면의 법선 벡터 방향으로 제1 부분 객체(310)를 프로젝션 시킬 수 있다. 예를 들어, 아바타 생성 장치(100)는 제1 부분 객체(310)가 프로젝션 되는 위치의 표면에 수직한 법선 벡터들(n1, n2, n3) 중 어느 한 벡터(예를 들어, n2 벡터) 방향으로 제1 부분 객체(310)를 프로젝션 할 수 있다. 다른 예로, 아바타 생성 장치(100)는 제1 부분 객체(310)의 위 부분은 제1 법선 벡터(n1) 방향으로 프로젝션 하고, 제1 부분 객체(310)의 아래 부분은 제2 법선 벡터(n2) 방향으로 프로젝션 하고, 제1 부분 객체(310)의 중간 부분은 제3 법선 벡터(n3) 방향으로 프로젝션 할 수도 있다.
프로젝션 과정에서 부분 객체들(310, 320, 330, 340) 중 일부가 본체(310)의 표면에 매우 인접해지면서 Z-파이팅(Z-fighting) 현상이 발생할 수 있다. 이를 완화하기 위해 아바타 생성 장치(100)는 부분 객체들(310, 320, 330, 340) 또는 본체(300)의 렌더링(rendering) 순서를 변경할 수 있다.
이상 도 1 내지 도 9를 참조하여 아바타 생성 장치(100)가 아바타를 생성하는 방법에 관하여 설명하였다. 상술한 실시예들에 따르면, 아바타 생성 장치(100)가 아바타의 본체(300)와 부분 객체들(310, 320, 330, 340)을 각각 3차원 그래픽 모델로 관리함으로써 사용자가 아바타를 커스터마이징 할 수 있는 자유도가 높아질 수 있다. 또한, 아바타 생성 장치(100)가 본체(300), 부분 객체들(310, 320, 330, 340) 각각의 형상 및 모양을 커스터마이징 한 후에 부분 객체들(310, 320, 330, 340)을 프로젝션에 의해 본체(300)와 결합시킬 수 있다. 따라서, 본체(300)와 부분 객체들(310, 320, 330, 340)이 결합된 형상이 종래에 비해 더 자연스러워질 수 있다. 본체(300)와 부분객체를 결합시키는 방법은 프로젝션에만 국한되지는 않는다. 부분객체는 부분객체를 본체(300)에 상대적인 거리가 일정하게 유지되는 방식으로 결합될 수도 있다. 상술한 바와 같이 본체(300)와 부분 객체 사이의 상대적 거리가 일정해지도록 결합시킨다 하더라도, 커스터마이징 과젱에서 본체(300)가 변형이 되면 해당 부분객체 또한 함께 변형될 수 있다. 예를 들어, 사용자 아바타의 본체(300)에 대응하는 얼굴이 커졌을 때, 사용자 아바타의 본체(300)와 상대적인 거리가 유지되도록 결합되어 있는 머리카락, 모자, 안경 등의 부분객체도 함께 변형될 수 있다.
이하에서는 아바타 생성 장치(100)가 사용자 아바타의 표정을 다양하게 변화시키는 방법에 관하여 설명한다.
도 10은 다른 예시적인 실시예에 따른 아바타 생성 방법을 나타낸 순서도이다. 도 10에서 도 2와 중복되는 내용에 대한 설명은 생략한다.
도 10을 참조하면, S160 단계에서 아바타 생성 장치(100)는 아바타의 표정을 변화시킬 수 있다. 아바타 생성 장치(100)는 S150 단계에서 생성된 중간 표정의 사용자 아바타에 기반해서 표정이 변화된 아바타를 생성할 수 있다.
도 11은 도 10의 S160 단계가 수행되는 과정을 예시적으로 나타낸 순서도이다.
도 11을 참조하면, S162 단계에서 아바타 생성 장치(100)는 사용자가 커스터마이징 한 사용자 아바타와 미리 마련된 참조 아바타 사이의 변환 관계를 추출할 수 있다. 예를 들어, 아바타 생성 장치(100)는 S150 단계에서 부분 객체들의 프로젝션을 통해 기본 표정의 사용자 아바타를 생성할 수 있다. 아바타 생성 장치(100)는 미리 마련된 기본 표정의 참조 아바타와 S150 단계에서 생성된 기본 표정의 사용자 아바타를 비교할 수 있다. 아바타 생성 장치(100)는 기본 표정의 참조 아바타로부터 기본 표정의 사용자 아바타로의 변환 관계를 추출할 수 있다.
아바타 생성 장치(100)는 본체와 부분 객체 별로 변환 관계를 추출할 수 있다. 예를 들어, 아바타 생성 장치(100)는 기본 표정의 참조 아바타의 본체와 기본 표정의 사용자 아바타의 본체 사이의 제1 변환 관계를 추출할 수 있다. 아바타 생성 장치(100)는 기본 표정의 참조 아바타의 제1 부분 객체와 기본 표정의 사용자 아바타의 제1 부분 객체 사이의 제2-1 변환 관계를 추출할 수 있다. 마찬가지로 아바타 생성 장치(100)는 기본 표정의 참조 아바타의 제2 부분 객체와 기본 표정의 사용자 아바타의 제2 부분 객체 사이의 제2-2 변환 관계를 추출할 수 있다.
아바타 생성 장치(100)는 변형 전달(deformation transfer) 알고리즘 등을 이용하여 제1 변환 관계, 제2-1 변환 관계, 제2-2 변환 관계 등을 추출할 수 있다.
S164 단계에서 아바타 생성 장치(100)는 복수의 참조 표정 각각에 대해 미리 마련된 참조 아바타로부터 참조 표정들 각각에 대응하는 사용자 아바타를 생성할 수 있다.
복수의 참조 표정은 미리 정해진 바에 따라 얼굴 근육을 움직인 표정에 대응할 수 있다. 예를 들어, 복수의 참조 표정은 FACS(Facial Action Coding System)에 의해 정의된 표정들 일 수 있다. 하지만, 실시예가 이에 제한되는 것은 아니다. 복수의 참조 표정은 FACS에 의해 정의된 표정들 중 일부만을 포함할 수 있다. 다른 예로 복수의 참조 표정은 FACS에 정의된 표정들 외에 다른 표정들을 더 포함할 수 있다.
아바타 생성 장치(100)는 복수의 참조 표정들 각각을 표현하는 사용자 아바타의 본체 및 부분 객체들을 생성할 수 있다. 아바타 생성 장치(100)는 복수의 참조 표정들 각각에 대해 미리 마련된 참조 아바타의 본체로부터 사용자 아바타의 본체를 생성할 수 있다. 이 과정에서 아바타 생성 장치(100)는 S162 단계에서 추출한 제1 변환 관계를 이용할 수 있다. 아바타 생성 장치(100)는 복수의 참조 표정들 각각에 대해 미리 마련된 참조 아바타의 제1 부분 객체로부터 사용자 아바타의 제1 부분 객체를 생성할 수 있다. 이 과정에서 아바타 생성 장치(100)는 S162 단계에서 추출한 제2-1 변환 관계를 활용할 수 있다.
도 12는 아바타 생성 장치(100)가 복수의 참조 표정들 각각에 대해 사용자 아바타의 본체를 생성하는 것을 예시적으로 나타낸 개념도이다.
도 12를 참조하면, 아바타 생성 장치(100)는 미리 마련된 참조 아바타의 본체에 대한 정보를 저장할 수 있다. 도 12에서 V0는 기본 표정의 참조 아바타 본체를 나타낸다. V0는 기본 표정의 참조 아바타 본체에 대응하는 벡터로 해석될 수도 있다. V-i는 i번째 참조 표정의 참조 아바타의 본체를 나타낸다. V-i는 i번째 참조 표정의 참조 아바타 본체에 대응하는 벡터로 해석될 수도 있다. U0는 기본 표정의 사용자 아바타 본체를 나타낸다. 사용자 아바타는 사용자에 의해 커스터마이징 된 아바타일 수 있다. 따라서, U0는 사용자에 의해 커스터마이징 된 본체를 나타낼 수 있다. U0는 기본 표정의 사용자 아바타 본체에 대응하는 벡터로 해석될 수도 있다. U-i는 i번째 참조 표정의 사용자 아바타의 본체를 나타낸다. Ui는 i번째 참조 표정의 참조 아바타 본체에 대응하는 벡터로 해석될 수도 있다.
도 11의 S162 단계에서 아바타 생성 장치(100)는 기본 표정의 참조 아바타의 본체(V0)와 기본 표정의 사용자 아바타의 본체(U0) 사이의 제1 변환 관계(Tr1)를 추출할 수 있다. 도 11의 S164 단계에서 아바타 생성 장치(100)는 참조 표정들 각각에서 설정된 참조 아바타의 본체(Vi)로부터 참조 표정들 각각에서의 사용자 아바타의 본체(Ui-)를 생성할 수 있다. 아바타 생성 장치(100)는 미리 마련된 기본 표정의 참조 아바타 본체(V0)와 i번째 참조 표정의 참조 아바타 본체(Vi) 사이의 변환 관계(Trv1_i) 및 제1 변환 관계(Tr1)에 기초하여 기본 표정의 사용자 아바타 본체(U0)와 i번째 참조 표정의 사용자 아바타 본체(Ui) 사이의 변환 관계(Tru1_i)를 결정할 수 있다. 아바타 생성 장치(100)는 변환 관계(Tru1_i)를 이용하여 기본 표정의 사용자 아바타 본체(U0)로부터 i번째 참조 표정의 사용자 아바타 본체(Ui)를 생성할 수 있다.
본체를 생성하는 원리와 유사하게 아바타 생성 장치(100)는 참조 표정의 참조 아바타의 부분 객체로부터 참조 표정의 사용자 아바타의 부분 객체를 생성할 수 있다. 아바타 생성 장치(100)는 기본 표정의 참조 아바타의 부분 객체 및 기본 표정의 사용자 아바타의 부분 객체로부터 제2 변환 관계를 추출할 수 있다. 제2 변환 관계는 제1 부분 객체에 대한 제2-1 변환 관계, 제2 부분 객체에 대한 제2-2 변환 관계 등을 포함할 수 있다. 아바타 생성 장치(100)는 제2 변환 관계에 기초해서 참조 표정의 참조 아바타의 부분 객체로부터 참조 표정의 사용자 아바타의 부분 객체를 생성할 수 있다. 아바타 생성 장치(100)는 참조 표정을 표현하는 사용자 아바타의 부분 객체를 참조 표정을 표현하는 사용자 아바타의 본체에 결합하여 자연스러운 표정을 표현하는 사용자 아바타를 생성할 수 있다. 아바타 생성 장치(100)는 부분 객체를 본체의 표면에 프로젝션하거나 부분 객체와 본체 사이의 상대적 거리가 유지되도록 부분 객체를 본체에 결합하여 새로운 표정을 표현하는 사용자 아바타를 생성할 수 있다.
S166 단계에서 아바타 생성 장치(100)는 기본 표정의 사용자 아바타와 참조 표정들 각각에 대해 생성된 사용자 아바타를 조합하여 사용자 아바타의 표정을 생성할 수 있다. 아바타 생성 장치(100)는 기본 표정의 사용자 아바타 본체(U-0)와 참조 표정들에 대해 설정된 사용자 아바타 본체(Ui)를 조합하여 새로운 표정의 사용자 아바타 본체를(U)를 생성할 수 있다. 아바타 생성 장치(100)는 참조 표정들에 대해 설정된 사용자 아바타 본체(Ui-)의 조합 가중치(Wi)를 결정할 수 있다. 아바타 생성 장치(100)는 사용자의 음성에 기반하여 조합 가중치(Wi)를 결정할 수 있다. 아바타 생성 장치(100)는 미리 학습된 인공 신경망을 이용하여 사용자의 음성으로부터 조합 가중치(Wi)를 결정할 수 있다. 조합 가중치(Wi-)는 i번째 참조 표정의 사용자 아바타 본체(Ui)의 가중치를 나타낼 수 있다.
아바타 생성 장치(100)가 생성하는 새로운 표정의 사용자 아바타 본체(U)는 수학식 1과 같이 나타낼 수 있다.
수학식 1에서 U0는 기본 표정의 사용자 아바타의 본체를 나타내고, Ui는 i번째 참조 표정의 사용자 아바타의 본체를 나타내고, W-i는 Ui의 가중치를 나타내며, n은 참조 표정의 총 개수를 나타낸다. 수학식 1에서는 U0의 가중치를 1로 정규화(normalization) 했지만 실시예가 이에 제한되는 것은 아니다. 예를 들어, U0의 가중치는 1이 아닌 다른 값으로 설정될 수도 있다. 또한, 조합 가중치 Wi는 사용자의 음성에 기초하여 결정될 수 있다. 하지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 아바타 생성 장치(100)는 사용자의 촬영 이미지 등에 기초해서 사용자의 감정에 대한 정보를 추출함으로써 조합 가중치 Wi를 결정할 수도 있다.
아바타 생성 장치(100)는 추출된 조합 가중치 세트 {Wi}를 본체 외에 부분 객체들에 대해서도 적용할 수 있다. 아바타 생성 장치(100)는 조합 가중치 세트 {Wi}를 이용하여 기본 표정의 사용자 아바타의 부분 객체와 참조 표정의 사용자 아바타의 부분 객체들을 조합하여 새로운 표정에 대응하는 부분 객체를 생성할 수 있다.
도 13는 도 10의 S160 단계가 수행되는 과정을 보다 상세히 예시적으로 나타낸 순서도이다. 도 14는 새로운 표정의 사용자 아바타가 생성되는 과정을 예시적으로 나타낸 개념도이다.
도 13 및 도 14를 참조하면, S162-1단계에서 아바타 생성 장치(100)는 제1 변환 관계(Tr1)을 추출할 수 있다. 아바타 생성 장치(100)는 기본 표정의 참조 아바타 본체(V0)와 기본 표정의 사용자 아바타 본체(U0)로부터 제1 변환 관계(Tr1)를 추출할 수 있다.
S162-2 단계에서 아바타 생성 장치(100)는 제2 변환 관계를 추출할 수 있다. 제2 변환 관계는 제1 부분 객체에 대한 제2-1 변환 관계(Tr2-1), 제2 부분 객체에 대한 제2-2 변환 관계(Tr2-2) 등을 포함할 수 있다. 예시적으로 제1 부분 객체는 아바타의 눈에 대응하고, 제2 부분 객체는 아바타의 코에 대응할 수 있으나 실시예가 이에 제한되는 것은 아니며, 부분 객체가 대응되는 아바타의 신체 부위는 변경될 수 있다. 예를 들어, 아바타 생성 장치(100)는 기본 표정의 참조 아바타의 제1 부분 객체(M10)와 기본 표정의 사용자 아바타의 제1 부분 객체(N10)에 기초하여 제2-1 변환 관계(Tr2-1)를 추출할 수 있다.
S164-1단계에서 아바타 생성 장치(100)는 제1 변환 관계(Tr1)에 기초하여 복수의 참조 표정들 각각에 대응하는 사용자 아바타의 본체(Ui)를 생성할 수 있다. 아바타 생성 장치(100)는 미리 마련된 기본 표정의 참조 아바타 본체(V0)와 i번째 참조 표정의 참조 아바타 본체(Vi) 사이의 변환 관계(Trv1_i) 및 제1 변환 관계(Tr1)에 기초하여 기본 표정의 사용자 아바타 본체(U0)와 i번째 참조 표정의 사용자 아바타 본체(Ui) 사이의 변환 관계(Tru1_i)를 결정할 수 있다. 아바타 생성 장치(100)는 변환 관계(Tru1_i)를 이용하여 기본 표정의 사용자 아바타 본체(U0)로부터 i번째 참조 표정의 사용자 아바타 본체(Ui)를 생성할 수 있다
S164-2단계에서 아바타 생성 장치(100)는 제2 변환 관계에 기초하여 복수의 참조 표정들 각각에 대응하는 사용자 아바타의 부분 객체들을 생성할 수 있다.
예를 들어, 아바타 생성 장치(100)는 제2-1 변환 관계(Tr2-1)에 기초하여 복수의 참조 표정들 각각에 대응하는 사용자 아바타의 제1 부분 객체(N1i)를 생성할 수 있다. 아바타 생성 장치(100)는 미리 마련된 기본 표정의 참조 아바타 제1 부분 객체(M10)와 i번째 참조 표정의 참조 아바타 제1 부분 객체(M1i) 사이의 변환 관계(Trm2-1_i) 및 제2-1 변환 관계(Tr2-1)에 기초하여 기본 표정의 사용자 아바타 제1 부분 객체(N10)와 i번째 참조 표정의 사용자 아바타 제1 부분 객체(N1i) 사이의 변환 관계(Trn2-1_i)를 결정할 수 있다. 아바타 생성 장치(100)는 변환 관계(Trn2-1_i)를 이용하여 기본 표정의 사용자 아바타 제1 부분 객체(N10)로부터 i번째 참조 표정의 사용자 아바타 제1 부분 객체(N1i)를 생성할 수 있다
아바타 생성 장치(100)는 제2-2 변환 관계(Tr2-2)에 기초하여 복수의 참조 표정들 각각에 대응하는 사용자 아바타의 제2 부분 객체(N2i)를 생성할 수 있다. 아바타 생성 장치(100)는 미리 마련된 기본 표정의 참조 아바타 제2 부분 객체(M20)와 i번째 참조 표정의 참조 아바타 제2 부분 객체(M2i) 사이의 변환 관계(Trm2-2_i) 및 제2-2 변환 관계(Tr2-2)에 기초하여 기본 표정의 사용자 아바타 제2 부분 객체(N20)와 i번째 참조 표정의 사용자 아바타 제2 부분 객체(N2i) 사이의 변환 관계(Trn2-2_i)를 결정할 수 있다. 아바타 생성 장치(100)는 변환 관계(Trn2-2_i)를 이용하여 기본 표정의 사용자 아바타 제2 부분 객체(N20)로부터 i번째 참조 표정의 사용자 아바타 제2 부분 객체(N2i)를 생성할 수 있다
S166-1 단계에서 아바타 생성 장치(100)는 사용자의 음성 정보를 획득할 수 있다. S166-2 단계에서 아바타 생성 장치(100)는 사용자의 음성 정보에 기초하여 참조 표정들 각각의 조합 가중치 세트 {Wi}를 결정할 수 있다.
도 15은 예시적인 실시예에 따라 아바타 생성 장치(100)가 사용자의 음성 정보에 기초하여 조합 가중치 세트{Wi}를 결정하는 것을 나타낸 개념도이다.
도 15을 참조하면, 아바타 생성 장치(100)는 인공 신경망을 이용하여 참조 표정들 각각의 조합 가중치 세트 {Wi}를 결정할 수 있다. 인공 신경망은 음성 정보를 입력 받아서 조합 가중치 세트 {Wi}를 출력하도록 미리 학습될 수 있다. 인공 신경망은 RNN(Recurrent Neural Network), LSTM(Long Short Term Memory) 등을 포함할 수 있지만 실시예가 이에 제한되는 것은 아니다.
다시 도 13 및 도 14를 참조하면, S166-3 단계에서 새로운 표정의 사용자 아바타를 생성할 수 있다. 아바타 생성 장치(100)는 복수의 시점 별로 서로 다른 표정의 사용자 아바타를 생성하여 아바타 애니메이션을 생성할 수도 있다. 아바타 생성 장치(100)는 조합 가중치 세트 {Wi}에 기초하여 기본 표정의 사용자 아바타 본체(U0) 및 참조 표정의 사용자 아바타 본체(Ui)를 조합하여 새로운 표정의 사용자 아바타 본체(U)를 생성할 수 있다. 유사한 방식으로 아바타 생성 장치(100)는 새로운 표정의 제1 부분 객체(N1), 새로운 표정의 제2 부분 객체(N2)를 생성할 수 있다. 상술한 바와 같이 아바타 생성 장치(100)가 참조 표정의 가중치 세트 {Wi}에 기초하여 새로운 표정의 본체와 새로운 표정의 부분 객체를 각자 생성함으로써 사용자 아바타의 표정이 다양해질 수 있다. 또한, 사용자 아바타의 표정을 더욱 자연스럽게 시뮬레이션할 수 있다.
S166-1단계에서 획득되는 음성 정보는 시계열 음성 시퀀스를 포함할 수 있다. 이 경우, 아바타 생성 장치(100)는 시계열 음성 시퀀스에 대응하는 시계열 가중치 시퀀스를 생성할 수 있다. 아바타 생성 장치(100)는 시계열 가중치 시퀀스로부터 시점 별로 서로 다른 표정의 사용자 아바타를 생성할 수 있다. 아바타 생성 장치(100)는 복수의 시점들 각각에 대해 생성된 사용자 아바타의 그래픽을 이용하여 사용자 아바타를 애니메이팅(animating) 할 수 있다.
도 16은 아바타 생성 장치(100)가 사용자 아바타를 애니메이팅 하는 것을 예시적으로 나타낸 개념도이다.
도 16을 참조하면, 음성 정보는 음성 시퀀스를 포함할 수 있다. 아바타 생성 장치(100)는 n번째 시점 tn의 음성 정보 S(tn)으로부터 조합 가중치 세트 {Wi}(tn)을 결정할 수 있다. 아바타 생성 장치(100)는 {Wi}(tn)으로부터 tn 시점에서 사용자 아바타의 본체 U(tn), 사용자 아바타의 제1 부분 객체 N1(tn), 사용자 아바타의 제2 부분 객체 N2(tn)을 결정할 수 있다.
아바타 생성 장치(100)는 각 시점 별로 생성된 부분 객체들을 본체에 프로젝션 할 수 있다. 아바타 생성 장치(100)는 시점 별로 서로 다른 표정의 사용자 아바타를 생성할 수 있다.
이상 도 1 내지 도 16을 참조하여 예시적인 실시예들에 따른 아바타 생성 장치 및 방법에 관하여 설명하였다. 상술한 실시예들에 따라 생성된 사용자 아바타는 3차원 프린팅 데이터로 변환되어 활용될 수도 있다. 사용자 아바타는 3차원 데이터로서뿐만 아니라 해당 데이터에 기반한 실물 제품으로 생산되어 판매될 수도 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (8)

  1. 아바타 생성 방법에 있어서,
    아바타의 본체를 생성하는 단계;
    적어도 하나의 부분 객체를 생성하는 단계;
    상기 아바타의 본체에 대한 사용자의 제1 커스터마이징 정보 및 상기 적어도 하나의 부분 객체에 대한 사용자의 제2 커스터마이징 정보를 획득하는 단계;
    상기 제1 커스터마이징 정보 및 상기 제2 커스터마이징 정보에 기초하여 상기 본체 및 상기 적어도 하나의 부분 객체를 변형하는 단계; 및
    상기 적어도 하나의 부분 객체를 상기 본체의 표면에 프로젝션(projection) 하여 상기 적어도 하나의 부분 객체와 상기 본체를 결합함으로써 기본 표정의 사용자 아바타를 생성하는 단계를 포함하는 아바타 생성 방법.
  2. 제 1 항에 있어서,
    상기 기본 표정의 본체와 복수의 참조 표정 각각에 대해 생성된 본체를 조합하여 새로운 표정의 본체를 생성하는 단계;
    상기 기본 표정의 부분 객체와 복수의 참조 표정 각각에 대해 생성된 부분 객체를 조합하여 새로운 표정의 부분 객체를 생성하는 단계; 및
    상기 새로운 표정의 부분 객체를 상기 새로운 표정의 본체에 프로젝션하여 결합함으로써 상기 사용자 아바타의 표정을 변경하는 단계를 더 포함하는 아바타 생성 방법.
  3. 제 1 항에 있어서,
    상기 본체 및 상기 적어도 하나의 부분 객체를 변형하는 단계는,
    상기 제1 커스터마이징 정보에 기초하여, 상기 본체를 변형하는 단계; 및
    상기 제2 커스터마이징 정보에 기초하여 상기 적어도 하나의 부분 객체를 변형하는 단계를 포함하고,
    기본 표정의 사용자 아바타를 생성하는 단계는,
    변형된 상기 적어도 하나의 부분 객체를 변형된 상기 본체의 표면에 프로젝션하여 상기 적어도 하나의 부분 객체와 상기 본체를 결합함으로써 기본 표정의 사용자 아바타를 생성하는 단계를 포함하는 아바타 생성 방법.
  4. 제 2 항에 있어서,
    상기 본체를 변형하는 단계는,
    상기 본체를 구성하는 복수의 격자 공간 중 적어도 하나에 대한 변형을 통해 격자 공간에 포함된 상기 본체의 정보를 변형하는 단계를 포함하고,
    상기 적어도 하나의 부분 객체를 변형하는 단계는,
    상기 적어도 하나의 부분 객체를 구성하는 복수의 격자 공간 중 적어도 하나에 대한 변형을 통해 격자 공간에 포함된 상기 적어도 하나의 부분 객체의 정보를 변형하는 단계를 포함하는 아바타 생성 방법.
  5. 제 1 항에 있어서,
    상기 본체의 구성 정보와 연관된 꼭지점(vertex)의 위치 변화가 발생하는 경우, 위치 변화가 일어나는 꼭지점(vertex)과 연관된 부분 객체의 변형이 함께 발생하는 아바타 생성 방법.
  6. 제 3 항에 있어서,
    상기 본체를 구성하는 복수의 격자 공간 중 적어도 하나에 대한 변형이 발생하는 경우, 변형이 발생하는 본체의 격자 공간의 변형과 연관되는 부분 객체의 격자 공간에 대한 변형을 함께 발생시킴으로써 상기 본체 및 상기 부분 객체가 함께 변형되도록 하는 아바타 생성 방법.
  7. 제 2 항에 있어서,
    상기 복수의 참조 표정 각각에 대해 생성된 본체 및 상기 복수의 참조 표정 각각에 대해 생성된 부분 객체는,
    상기 기본 표정의 사용자 아바타와 미리 마련된 기본 표정의 참조 아바타 사이의 변환 관계를 추출하는 단계; 및
    상기 변환 관계에 기초하여 복수의 참조 표정 각각에 대해 미리 마련된 참조 아바타로부터 상기 복수의 참조 표정 각각에 상기 사용자 아바타의 본체 및 부분 객체를 생성하는 단계의 수행에 의해 생성되는 아바타 생성 방법.
  8. 제 7 항에 있어서,
    상기 변환 관계를 추출하는 단계는,
    상기 기본 표정에서 상기 사용자 아바타의 본체와 상기 참조 아바타의 본체 사이의 제1 변환 관계를 추출하는 단계; 및 상기 기본 표정에서 상기 사용자 아바타의 적어도 부분 객체와 상기 참조 아바타의 부분 객체 사이의 제2 변환 관계를 추출하는 단계를 포함하고,
    상기 복수의 참조 표정 각각에 대해 사용자 아바타를 생성하는 단계는,
    상기 제1 변환 관계에 기초하여 상기 복수의 참조 표정 각각에 대해 미리 마련된 참조 아바타의 본체로부터 상기 복수의 참조 표정 각각에 대해 사용자 아바타의 본체를 생성하는 단계; 및 상기 제2 변환 관계에 기초하여 상기 복수의 참조 표정 각각에 대해 미리 마련된 참조 아바타의 부분 객체로부터 상기 복수의 참조 표정 각각에 대해 사용자 아바타의 부분 객체를 생성하는 단계를 포함하는 아바타 생성 방법.
KR1020240040821A 2022-11-29 2024-03-26 아바타 생성 장치 및 방법 KR20240080182A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240040821A KR20240080182A (ko) 2022-11-29 2024-03-26 아바타 생성 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220162392A KR102652652B1 (ko) 2022-11-29 2022-11-29 아바타 생성 장치 및 방법
KR1020240040821A KR20240080182A (ko) 2022-11-29 2024-03-26 아바타 생성 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220162392A Division KR102652652B1 (ko) 2022-11-29 2022-11-29 아바타 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20240080182A true KR20240080182A (ko) 2024-06-05

Family

ID=90483471

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220162392A KR102652652B1 (ko) 2022-11-29 2022-11-29 아바타 생성 장치 및 방법
KR1020240040821A KR20240080182A (ko) 2022-11-29 2024-03-26 아바타 생성 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220162392A KR102652652B1 (ko) 2022-11-29 2022-11-29 아바타 생성 장치 및 방법

Country Status (2)

Country Link
US (1) US20240177389A1 (ko)
KR (2) KR102652652B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220080576A (ko) 2020-12-07 2022-06-14 주식회사 라이브메이커스 아바타 캐릭터 생성 시스템 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102229061B1 (ko) * 2018-08-09 2021-03-17 에스케이텔레콤 주식회사 표정 인식 모델 생성 장치 및 방법, 및 이를 이용한 표정 인식 장치 및 방법
CN110111247B (zh) * 2019-05-15 2022-06-24 浙江商汤科技开发有限公司 人脸变形处理方法、装置及设备
CN110531860B (zh) * 2019-09-02 2020-07-24 腾讯科技(深圳)有限公司 一种基于人工智能的动画形象驱动方法和装置
KR20220049689A (ko) * 2020-10-15 2022-04-22 주식회사 케이티 아바타의 얼굴 표정을 렌더링하는 장치, 방법 및 컴퓨터 프로그램

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220080576A (ko) 2020-12-07 2022-06-14 주식회사 라이브메이커스 아바타 캐릭터 생성 시스템 및 방법

Also Published As

Publication number Publication date
KR102652652B1 (ko) 2024-03-29
US20240177389A1 (en) 2024-05-30

Similar Documents

Publication Publication Date Title
US11868515B2 (en) Generating textured polygon strip hair from strand-based hair for a virtual character
US11270489B2 (en) Expression animation generation method and apparatus, storage medium, and electronic apparatus
KR102616010B1 (ko) 포토리얼리스틱 실시간 인물 애니메이션을 위한 시스템 및 방법
CN113112580B (zh) 一种虚拟形象的生成方法、装置、设备及介质
US10540817B2 (en) System and method for creating a full head 3D morphable model
US11557076B2 (en) Computer generated hair groom transfer tool
CN108961369A (zh) 生成3d动画的方法和装置
CN111465965A (zh) 用于实时复杂角色动画和交互性的系统和方法
US20220044490A1 (en) Virtual reality presentation of layers of clothing on avatars
CN112102477A (zh) 三维模型重建方法、装置、计算机设备和存储介质
US20210375067A1 (en) Virtual reality presentation of clothing fitted on avatars
CN110322571B (zh) 一种页面处理方法、装置及介质
CN114202615A (zh) 人脸表情的重建方法、装置、设备和存储介质
Costigan et al. Facial retargeting using neural networks
KR102652652B1 (ko) 아바타 생성 장치 및 방법
CN114049287A (zh) 面部模型融合方法、装置、设备及计算机可读存储介质
CN117270721B (zh) 基于多用户交互xr场景的数字形象渲染方法及装置
WO2023169023A1 (zh) 表情模型的生成方法、装置、设备及介质
US20230154090A1 (en) Synthesizing sequences of images for movement-based performance
CN118115642A (zh) 三维数字人的生成方法、装置、电子设备、存储介质和程序产品
CN117994395A (zh) 数字人面部资产生成方法、装置、电子设备及存储介质
Santos Virtual Avatars: creating expressive embodied characters for virtual reality
CN113223127A (zh) 虚拟对象的表情生成方法、应用程序、设备及存储介质
KR20190109639A (ko) 인공지능을 이용한 3d 어플리케이션 생성 방법 및 장치
Ö¹ÄÓÖ et al. A REALISTIC STYLE FACIAL COMIC GENERATION