KR102449987B1 - Method for automatically setup joints to create facial animation of 3d face model and computer program thereof - Google Patents

Method for automatically setup joints to create facial animation of 3d face model and computer program thereof Download PDF

Info

Publication number
KR102449987B1
KR102449987B1 KR1020210161206A KR20210161206A KR102449987B1 KR 102449987 B1 KR102449987 B1 KR 102449987B1 KR 1020210161206 A KR1020210161206 A KR 1020210161206A KR 20210161206 A KR20210161206 A KR 20210161206A KR 102449987 B1 KR102449987 B1 KR 102449987B1
Authority
KR
South Korea
Prior art keywords
model
target
texture
texture image
joints
Prior art date
Application number
KR1020210161206A
Other languages
Korean (ko)
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 KR1020210161206A priority Critical patent/KR102449987B1/en
Application granted granted Critical
Publication of KR102449987B1 publication Critical patent/KR102449987B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • 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
    • 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
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • 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/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

A method for automatically setting up target joints in a 3D target model is disclosed. The method can automatically set up joints of a 3D target model by matching the specifications of a texture image and texture projection method of the 3D target model to the specifications of a texture image and texture projection method of a 3D standard model, respectively, even if the geometry of the 3D standard model is not the same as the geometry of the 3D target model, and skin a target skeleton including the joints and the 3D target model by copying weights of a texture image of the 3D standard model and using the weights as weights of a texture image of the 3D target model.

Description

3D 얼굴 모델의 얼굴 애니메이션을 생성하기 위한 조인트 자동 셋업 방법과 그 컴퓨터 프로그램{METHOD FOR AUTOMATICALLY SETUP JOINTS TO CREATE FACIAL ANIMATION OF 3D FACE MODEL AND COMPUTER PROGRAM THEREOF}Method for automatic joint setup for creating facial animation of 3D face model and its computer program

본 발명은 조인트 자동 셋업 방법에 관한 것으로, 특히 3D 표준 모델의 기하학적 구조가 3D 대상 모델의 기하학적 구조와 다를 때, 상기 3D 대상 모델의 조인트들을 자동으로 셋업하는 방법, 상기 조인트들의 집합에 해당하는 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 방법, 및 이러한 방법들을 수행하기 위해 저장 매체에 저장된 컴퓨터 프로그램에 관한 것이다.The present invention relates to a joint automatic setup method, in particular, when the geometry of a 3D standard model is different from that of the 3D target model, a method for automatically setting up joints of the 3D target model, an object corresponding to the set of joints It relates to a method for skinning a skeleton and the 3D target model, and a computer program stored in a storage medium for performing these methods.

일반적으로 3차원 얼굴 애니메이션을 만드는 방법(또는 방식)은 브랜드 쉐입 (blendshape) 방법(또는 방식)과 조인트(joint) 기반 방법(또는 방식)으로 나눌 수 있다.In general, a method (or method) of creating a 3D facial animation can be divided into a brand shape method (or method) and a joint-based method (or method).

상기 브랜드 쉐입 방법은 수십 내지 수백 가지의 기본 표정들을 만들어 놓고 상기 기본 표정들을 선형 보간(linear interpolation) 등의 방법으로 조합하여 얼굴 표정과 얼굴 애니메이션을 만드는 방법이다. 상기 브랜드 쉐입 방법은 영화나 애니메이션과 같이 제작시간이 오래 걸려도 고품질의 영상을 필요로 하는 콘텐츠 제작에 자주 사용된다.The brand shaping method is a method of creating facial expressions and facial animations by creating tens to hundreds of basic facial expressions and combining the basic facial expressions by a method such as linear interpolation. The brand shaping method is often used to produce content that requires high-quality images even if it takes a long time to produce, such as a movie or animation.

도 1a 내지 도 1c는 종래의 조인트-기반 방식을 설명하기 위한 그림들로서, 도 1a는 3D 얼굴 모델, 도 1b는 계층 구조를 갖는 조인트들을 포함하는 뼈대, 및 도 1c는 조인트들이 셋업된 3D 얼굴 모델을 나타낸다.1A to 1C are diagrams for explaining a conventional joint-based method. FIG. 1A is a 3D face model, FIG. 1B is a skeleton including joints having a hierarchical structure, and FIG. 1C is a 3D face model in which the joints are set up. indicates

조인트-기반 방법은 도 1c에 도시된 바와 같이 얼굴 표정을 생성하기 위한 조인트들을 3D 얼굴 모델의 내부에 만들어 놓고 상기 조인트들과 상기 3D 얼굴 모델의 메쉬(mesh)를 연결한 후 상기 조인트들을 움직여 전체적인 얼굴 표정을 만드는 방법이다. 조인트-기반 방법은 얼굴 표정의 제어가 직관적이고 얼굴 애니메이션을 만드는데 필요한 데이터의 양이 적어서, 고품질 영상이 중요한 분야보다는 게임과 같이 실시간 처리가 중요한 분야에 많이 이용된다.In the joint-based method, as shown in Fig. 1c, joints for generating facial expressions are made inside the 3D face model, the joints are connected with the mesh of the 3D face model, and then the joints are moved How to make a facial expression. The joint-based method is used in fields where real-time processing is important, such as games, rather than fields where high-quality images are important because the control of facial expressions is intuitive and the amount of data required to create facial animations is small.

그래서 조인트-기반 방법은 게임 엔진 등을 이용한 콘텐츠 제작에 주로 사용된다. 조인트-기반 방법은 조인트들을 3D 얼굴 모델의 내부에 위치시키는 단계와, 상기 3D 얼굴 모델의 내부에 위치된 조인트들과 메쉬를 연결하는 스키닝(skinning) 단계로 구성된 총 2 단계들을 거쳐 이루어 지나, 상기 3D 얼굴 모델이 바뀔때마다 작업자가 일일이 수작업으로 조인트들을 상기 3D 얼굴 모델의 내부에 위치시켜야 한다.Therefore, the joint-based method is mainly used for content creation using game engines and the like. The joint-based method is achieved through a total of two steps consisting of positioning the joints inside the 3D face model, and skinning the meshes with the joints located inside the 3D face model. Whenever the 3D face model is changed, the operator must manually position the joints inside the 3D face model.

특허문헌 1: 대한민국등록특허공보- 10-1686028(2016년12월13일 공고)Patent Document 1: Republic of Korea Patent Publication - 10-1686028 (December 13, 2016 Announcement) 특허문헌 2: 대한민국등록특허공보- 10-1102778(2012년01월05일 공고)Patent Document 2: Republic of Korea Patent Publication- 10-1102778 (Announced on January 05, 2012) 특허문헌 3: 대한민국등록특허공보- 10-0896065(2009년05월07일 공고)Patent Document 3: Republic of Korea Patent Publication- 10-0896065 (Announced on May 07, 2009)

3D 표준 모델의 기하학적 구조와 3D 대상 모델의 기하학적 구조가 서로 다를 때, 상기 3D 표준 모델(또는 표준 물체)의 버텍스에 대한 버텍스 아이디를 이용하여 상기 3D 대상 모델(또는 대상 물체)의 버텍스를 찾을 수 없다.When the geometry of the 3D standard model and the geometry of the 3D target model are different from each other, the vertices of the 3D target model (or target object) can be found using the vertex IDs of the vertices of the 3D standard model (or standard object). none.

또한, 3D 표준 모델의 기하학적 구조와 3D 대상 모델의 기하학적 구조를 동일하게 하기 위해서는, 상기 3D 표준 모델의 기하학적 구조와 상기 3D 대상 모델의 기하학적 구조를 동일하게 하는 공정이 더 필요하다.In addition, in order to make the geometric structure of the 3D standard model and the geometric structure of the 3D target model identical, a process of making the geometric structure of the 3D standard model and the geometric structure of the 3D target model identical is further required.

또한, 3D 표준 모델의 기하학적 구조에 3D 대상 모델의 기하학적 구조를 고정시켜 상기 3D 대상 모델에 대한 모델링 작업을 할 경우, 아티스트의 작업 자유도가 훼손될 수 있다.In addition, when modeling the 3D target model by fixing the geometrical structure of the 3D target model to the geometrical structure of the 3D standard model, the artist's work freedom may be impaired.

본 발명이 이루고자 하는 기술적인 과제는 앞에 기재된 문제들을 해결하기 위해 안출된 것으로서, 3D 표준 모델의 기하학적 구조가 3D 대상 모델의 기하학적 구조와 서로 동일하지 않더라도, 상기 3D 대상 모델의 텍스처 이미지의 규격과 텍스처 프로젝션 방법 각각을 상기 3D 표준 모델의 텍스처 이미지의 규격과 텍스처 프로젝션 방법 각각에 일치시켜 상기 3D 대상 모델의 조인트들을 자동으로 셋업하는 방법과, 상기 3D 표준 모델의 텍스처 이미지의 가중치들을 그대로 복사하여 상기 3D 대상 모델의 텍스처 이미지의 가중치들로 사용하여 상기 조인트들을 포함하는 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 방법과, 및 이러한 방법들을 수행하기 위해 저장 매체에 저장된 컴퓨터 프로그램을 제공하는 것이다.The technical problem to be achieved by the present invention is devised to solve the problems described above, and even if the geometric structure of the 3D standard model is not the same as that of the 3D target model, the specification and texture of the texture image of the 3D target model A method of automatically setting up the joints of the 3D target model by matching each projection method to the specification of the texture image of the 3D standard model and each of the texture projection methods, and copying the weights of the texture image of the 3D standard model as it is to copy the 3D To provide a method for skinning the 3D target model with the target skeleton including the joints using weights of the texture image of the target model, and a computer program stored in a storage medium for performing these methods.

본 발명의 실시 예에 따라, 컴퓨터와 결합되어 컴퓨터 판독가능한 저장 매체에 저장된 컴퓨터 프로그램은 셋업된 제1조인트들을 포함하고, 3D 모델에 제1텍스처 이미지가 매핑되어 형성된 3D 표준 모델을 수신하는 단계와, 상기 3D 표준 모델이 수신된 후, 상기 3D 표준 모델의 기하학적 구조와 서로 다른 기하학적 구조를 가지면서 제2텍스처 이미지를 포함하는 3D 대상 모델을 수신하는 단계와, 상기 3D 대상 모델에 적용할 제2조인트들을 획득하기 위해 상기 3D 표준 모델에 대한 제1MBB(minimum bounding box)와 상기 3D 대상 모델에 대한 제2MBB를 계산하는 단계와, 상기 제1조인트들의 집합에 해당하는 표준 뼈대를 복사하여 상기 제2조인트들의 집합에 해당하는 대상 뼈대를 생성하는 단계와, 상기 제1MBB와 상기 제2MBB를 이용하여 상기 대상 뼈대를 상기 3D 대상 모델에 위치시키는 단계와, 상기 제2텍스처 이미지의 프로젝션(projection) 방식을 상기 제1텍스처 이미지의 프로젝션 방식과 동일하게 변환하는 단계와, 상기 3D 대상 모델에 위치하는 상기 제2조인트들에 포함된 적어도 하나의 종단 조인트의 위치를 상기 3D 표준 모델의 텍스처 정보와 상기 3D 대상 모델의 텍스처 정보를 이용하여 조정하는 단계와, 상기 적어도 하나의 종단 조인트에 연결된 적어도 하나의 중간 조인트의 위치를 위치가 조정된 상기 적어도 하나의 종단 조인트의 위치 정보를 이용하여 조정하는 단계와, 상기 제2조인트들에 대한 자동 셋업이 완료된 후, 상기 3D 표준 모델의 텍스처 정보, 스키닝 정보, 및 상기 3D 대상 모델의 텍스처 정보를 이용하여 상기 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 단계를 수행하고, 상기 제1텍스처 이미지는 상기 3D 표준 모델의 질감을 표현하기 위한 텍스처 이미지이고, 상기 제2텍스처 이미지는 상기 3D 대상 모델의 질감을 표현하기 위한 텍스처 이미지이다.According to an embodiment of the present invention, a computer program stored in a computer-readable storage medium coupled to a computer includes the set-up first joints, and receiving a 3D standard model formed by mapping a first texture image to a 3D model; , after the 3D standard model is received, receiving a 3D target model having a geometric structure different from that of the 3D standard model and including a second texture image; a second to be applied to the 3D target model Calculating a first minimum bounding box (MBB) for the 3D standard model and a second MBB for the 3D target model to obtain joints; generating a target skeleton corresponding to a set of joints; locating the target skeleton in the 3D target model using the first MBB and the second MBB; and a projection method of the second texture image. converting the first texture image in the same way as in the projection method, and determining the position of at least one end joint included in the second joints positioned in the 3D target model with the texture information of the 3D standard model and the 3D target adjusting using texture information of a model; adjusting the position of at least one intermediate joint connected to the at least one end joint using position information of the at least one end joint whose position is adjusted; After the automatic setup of the second joints is completed, skinning the target skeleton and the 3D target model using the texture information of the 3D standard model, the skinning information, and the texture information of the 3D target model is performed, The first texture image is a texture image for expressing the texture of the 3D standard model, and the second texture image is a texture image for expressing the texture of the 3D target model.

본 발명의 실시 예에 따라, 컴퓨터를 이용하여 3D 대상 모델에 대상 조인트들을 자동으로 셋업하는 방법은 셋업된 표준 조인트들을 포함하고, 3D 모델에 제1텍스처 이미지가 매핑되어 형성된 3D 표준 모델을 수신하는 단계와, 상기 3D 표준 모델이 수신된 후, 상기 3D 표준 모델의 기하학적 구조와 서로 다른 기하학적 구조를 가지면서 제2텍스처 이미지를 포함하는 상기 3D 대상 모델을 수신하는 단계와, 상기 3D 대상 모델에 적용할 상기 대상 조인트들을 획득하기 위해, 상기 3D 표준 모델에 대한 제1MBB(minimum bounding box)와 상기 3D 대상 모델에 대한 제2MBB를 계산하는 단계와, 상기 표준 조인트들의 집합에 해당하는 표준 뼈대를 복사하여 상기 대상 조인트들의 집합에 해당하는 대상 뼈대를 생성하는 단계와, 상기 제1MBB와 상기 제2MBB를 이용하여 상기 대상 뼈대를 상기 3D 대상 모델에 위치시키는 단계와, 상기 제2텍스처 이미지의 규격을 상기 제1텍스처 이미지의 규격과 동일하게 변환하고, 상기 제2텍스처 이미지의 텍스처 프로젝션 방식을 상기 제1텍스처 이미지의 텍스처 프로젝션 방식과 동일하게 변환하는 단계와, 상기 3D 대상 모델에 위치된 상기 대상 조인트들에 포함된 적어도 하나의 종단 조인트의 위치를 상기 3D 표준 모델의 텍스처 정보와 상기 3D 대상 모델의 텍스처 정보를 이용하여 조정하는 단계와, 상기 적어도 하나의 종단 조인트에 연결된 적어도 하나의 중간 조인트의 위치를 위치가 조정된 상기 적어도 하나의 종단 조인트의 위치 정보를 이용하여 조정하는 단계와, 상기 대상 조인트들에 대한 자동 셋업이 완료된 후, 상기 3D 표준 모델의 텍스처 정보, 스키닝 정보, 및 상기 3D 대상 모델의 텍스처 정보를 이용하여 상기 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 단계를 포함하고, 상기 제1텍스처 이미지는 상기 3D 표준 모델의 질감을 표현하기 위한 텍스처 이미지이고, 상기 제2텍스처 이미지는 상기 3D 대상 모델의 질감을 표현하기 위한 텍스처 이미지이다.According to an embodiment of the present invention, a method for automatically setting up target joints in a 3D target model using a computer includes the set up standard joints, and receiving a 3D standard model formed by mapping a first texture image to the 3D model after receiving the 3D standard model, receiving the 3D target model including a second texture image while having a geometric structure different from that of the 3D standard model; applying to the 3D target model To obtain the target joints to be performed, calculating a first MBB (minimum bounding box) for the 3D standard model and a second MBB for the 3D target model, and copying a standard skeleton corresponding to the set of standard joints generating a target skeleton corresponding to the set of target joints; positioning the target skeleton in the 3D target model using the first MBB and the second MBB; and setting the standard of the second texture image as the second Converting the same as the standard of the first texture image, and converting the texture projection method of the second texture image to be the same as the texture projection method of the first texture image; adjusting the position of the included at least one end joint by using the texture information of the 3D standard model and the texture information of the 3D target model; Positioning the position of at least one intermediate joint connected to the at least one end joint adjusting using the adjusted position information of the at least one end joint; and after automatic setup of the target joints is completed, texture information of the 3D standard model, skinning information, and texture of the 3D target model skinning the target skeleton and the 3D target model using information, wherein the first texture image is a texture image for expressing a texture of the 3D standard model, and the second texture image is the 3D target model to express the texture of This is a texture image for

본 발명의 실시 예에 따른 방법과 상기 방법을 수행하기 위해 저장 매체에 저장된 컴퓨터 프로그램은, 3D 표준 모델의 기하학적 구조가 3D 대상 모델의 기하학적 구조와 동일하지 않더라도, 상기 3D 대상 모델의 텍스처 이미지의 규격과 텍스처 프로젝션 방법 각각을 상기 3D 표준 모델의 텍스처 이미지의 규격과 텍스처 프로젝션 각각에 일치시켜 상기 3D 대상 모델의 조인트들을 자동으로 셋업할 수 있는 효과 뿐만아니라, 상기 3D 표준 모델의 텍스처 이미지의 가중치들을 그대로 복사하여 상기 3D 대상 모델의 텍스처 이미지의 가중치들로 사용하여 상기 조인트들을 포함하는 대상 뼈대와 상기 3D 대상 모델을 스키닝할 수 있는 효과가 있다.The method according to an embodiment of the present invention and the computer program stored in the storage medium for performing the method, even if the geometry of the 3D standard model is not the same as the geometry of the 3D object model, the specification of the texture image of the 3D object model. and texture projection method to match the specification and texture projection of the texture image of the 3D standard model, so that the joints of the 3D target model can be automatically set up, as well as the weights of the texture image of the 3D standard model. There is an effect of being able to skin the 3D target model and the target skeleton including the joints by copying and using the texture images of the 3D target model as weights.

따라서, 본 발명의 실시 예에 따른 방법과 상기 방법을 수행하기 위해 저장 매체에 저장된 컴퓨터 프로그램은, 3D 표준 모델의 기하학적 구조가 3D 대상 모델의 기하학적 구조와 동일하게 할 필요가 없으므로, 이들을 동일하게 하기 위한 추가 공정이 필요하지 않을 뿐만 아니라, 모델링 작업을 하는 아티스트의 작업 자유도를 훼손하지 않는다.Therefore, the method according to an embodiment of the present invention and the computer program stored in the storage medium for performing the method do not need to make the geometry of the 3D standard model the same as the geometry of the 3D target model, so to make them the same It does not require any additional process for modeling, and it does not impair the freedom of work of the artist who is working on modeling.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1a 내지 도 1c는 종래의 조인트-기반 방식을 설명하기 위한 그림들로서, 도 1a는 3D 얼굴 모델, 도 1b는 계층 구조를 갖는 조인트들을 포함하는 뼈대, 및 도 1c는 조인트들이 셋업된 3D 얼굴 모델을 나타낸다.
도 2는 본 발명에 따라 3D 표준 모델의 기하학적 구조가 3D 대상 모델의 기하학적 구조와 서로 동일하지 않을 때, 상기 3D 대상 모델의 조인트들을 자동으로 셋업하는 방법과 상기 조인트들의 집합에 해당하는 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 방법을 설명하기 위한 플로우차트이다.
도 3a 내지 도 3c는 본 발명을 설명하기 위한 3D 얼굴 표준 모델, 3D 메쉬 얼굴 표준 모델, 및 셋업된 조인트들을 포함하는 3D 얼굴 표준 모델을 나타낸다.
도 4는 본 발명을 설명하기 위한 계층 구조를 갖는 조인트들과 뼈들을 포함하는 뼈대를 나타낸다.
도 5는 본 발명을 설명하기 위한 얼굴 텍스처 이미지이다.
도 6은 본 발명을 설명하기 위한 텍스처 이미지를 포함하는 3D 얼굴 모델이다.
도 7은 본 발명을 설명하기 위한 텍스처 이미지를 이용하여 3D 얼굴 모델의 표면의 색깔 값을 결정하는 방법을 설명하는 그림이다,
도 8은 본 발명을 설명하기 위한 얼굴 영역을 정의하는 예들이다.
도 9는 본 발명을 설명하기 위한 얼굴 영역 MBB를 정의하는 예들이다.
도 10은 본 발명을 설명하기 위한 얼굴의 특징점이나 선들을 추출하여 결정되는 얼굴 영역 MBB를 정의하는 예이다.
도 11은 본 발명을 설명하기 위한 얼굴 영역 MBB 수치를 정의하는 예이다.
도 12는 본 발명을 설명하기 위한 페이스 루트 조인트(face root joint)의 위치를 조정한 후 조정된 조인트들의 위치들을 설명하는 예이다.
도 13은 본 발명을 설명하기 위한 구모양 프로젝션(spherical projection ) 방식으로 구성된 텍스처 이미지의 예이다.
도 14는 본 발명을 설명하기 위한 다양한 프로젝션 방식들을 이용하여 생성된 텍스처 이미지들의 예들이다.
도 15는 본 발명을 설명하기 위한 3D 얼굴 표준 모델의 크기와 3D 얼굴 대상 모델의 크기를 동일하게 조정하는 예이다.
도 16은 본 발명을 설명하기 위한 페이스 루트 조인트의 자식 조인트의 위치를 조정한 후의 조인트들의 위치를 나타낸다.
도 17은 본 발명을 설명하기 위한 종단 조인트의 위치 변화에 따른 중간 조인트의 위치 변화를 설명하는 예이다.
도 18은 본 발명을 설명하기 위한 복수 개의 종단 조인트들의 위치 변화에 따른 중간 조인트들의 위치 변화를 설명하는 예이다.
도 19는 본 발명을 설명하기 위한 가중치들을 이용한 3D 얼굴 모델과 턱 조인트들에 대한 스키닝을 설명하기 위한 예이다.
도 20은 도 19의 가중치들을 텍스처 이미지의 위에 표시한 예이다.
도 21은 본 발명을 설명하기 위한 3D 표준 얼굴 모델의 가중치들을 3D 대상 얼굴 모델로 복사하는 예이다.
도 22는 도 2에 도시된 방법을 수행할 수 있는 컴퓨터 시스템의 블락도이다.
도 23은 도 2에 도시된 방법을 수행할 수 있는 컴퓨터 시스템의 블락도이다.
A detailed description of each drawing is provided in order to more fully understand the drawings recited in the Detailed Description of the Invention.
1A to 1C are diagrams for explaining a conventional joint-based method. FIG. 1A is a 3D face model, FIG. 1B is a skeleton including joints having a hierarchical structure, and FIG. 1C is a 3D face model in which the joints are set up. indicates
2 is a method for automatically setting up joints of the 3D target model when the geometry of the 3D standard model is not the same as that of the 3D target model according to the present invention, and a target skeleton corresponding to the set of joints; It is a flowchart for explaining a method of skinning the 3D target model.
3A to 3C show a 3D face standard model, a 3D mesh face standard model, and a 3D face standard model including set-up joints for explaining the present invention.
4 shows a skeleton including joints and bones having a hierarchical structure for explaining the present invention.
5 is a face texture image for explaining the present invention.
6 is a 3D face model including a texture image for explaining the present invention.
7 is a diagram illustrating a method of determining a color value of a surface of a 3D face model using a texture image for explaining the present invention;
8 is an example of defining a face region for explaining the present invention.
9 is an example of defining a face region MBB for explaining the present invention.
10 is an example of defining a face region MBB determined by extracting feature points or lines of a face for explaining the present invention.
11 is an example of defining the facial region MBB value for explaining the present invention.
12 is an example for explaining the positions of the adjusted joints after adjusting the positions of the face root joint (face root joint) for explaining the present invention.
13 is an example of a texture image configured in a spherical projection method for explaining the present invention.
14 is an example of texture images generated using various projection methods for explaining the present invention.
15 is an example of adjusting the size of the standard 3D face model and the size of the 3D face target model to be the same for explaining the present invention.
16 shows the positions of the joints after adjusting the positions of the child joints of the face root joint for explaining the present invention.
17 is an example for explaining the change in the position of the intermediate joint according to the change in the position of the longitudinal joint for explaining the present invention.
18 is an example illustrating a change in position of intermediate joints according to a change in positions of a plurality of end joints for explaining the present invention.
19 is an example for explaining skinning of a 3D face model and jaw joints using weights for explaining the present invention.
20 is an example in which the weights of FIG. 19 are displayed on a texture image.
21 is an example of copying weights of a 3D standard face model to a 3D target face model for explaining the present invention.
22 is a block diagram of a computer system capable of performing the method shown in FIG.
23 is a block diagram of a computer system capable of performing the method shown in FIG.

도 2는 본 발명에 따라 3D 표준 모델의 기하학적 구조가 3D 대상 모델의 기하학적 구조와 서로 동일하지 않을 때, 상기 3D 대상 모델의 조인트들을 자동으로 셋업하는 방법과 상기 조인트들의 집합에 해당하는 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 방법을 설명하기 위한 플로우차트이다.2 is a method for automatically setting up joints of the 3D target model when the geometry of the 3D standard model is not the same as that of the 3D target model according to the present invention, and a target skeleton corresponding to the set of joints; It is a flowchart for explaining a method of skinning the 3D target model.

본 발명의 실시 예에 따른 3D 대상 얼굴 모델에 조인트들을 자동으로 셋업(예를 들면, 컴퓨터 프로그램을 이용하여 3D 대상 얼굴 모델에 조인트들의 집합에 해당하는 뼈대를 수작업이 아니라 자동으로 또는 프로그램적으로 셋업)하는 과정들은 도 2 내지 도 21을 참조하여 상세히 설명될 것이다.Automatically setting up joints in the 3D target face model according to an embodiment of the present invention (eg, using a computer program to automatically or programmatically set up a skeleton corresponding to a set of joints in the 3D target face model instead of manually ) process will be described in detail with reference to FIGS. 2 to 21 .

3D 대상 얼굴 모델에 조인트들을 포함하는 뼈대를 자동으로 셋업하는 과정들에서 사용되는 조인트들은 도 1b에 도시된 바와 같이 계층 구조를 갖고, 적어도 하나의 루트 조인트, 상기 적어도 하나의 루트 조인트에 연결된 적어도 하나의 중간 조인트, 및 상기 적어도 하나의 중간 조인트에 연결된 적어도 하나의 종단 조인트를 포함한다. 도 1b와 도 1c를 참조하면, 각 조인트(brow_parent_right, face_top_parent, 및 skullbase)의 위치가 이해될 수 있을 것이다.Joints used in the processes of automatically setting up a skeleton including joints in a 3D target face model have a hierarchical structure as shown in FIG. 1B, at least one root joint, and at least one connected to the at least one root joint an intermediate joint of , and at least one end joint connected to the at least one intermediate joint. Referring to FIGS. 1B and 1C , positions of each joint (brow_parent_right, face_top_parent, and skullbase) may be understood.

3D 대상 얼굴 모델에 조인트들을 포함하는 뼈대를 자동으로 셋업하는 과정들은, 컴퓨터(또는 하드웨어)와 결합되어 3차원(3 dimensional(3D)) 모델의 애니메이션을 생성하기 위한 상기 조인트들을 자동으로 셋업하기 위해, 컴퓨터 판독가능한 저장 매체(예를 들면, 메모리 장치)에 저장된 컴퓨터 프로그램(또는 애플리케이션)에 의해 수행될 수 있다.The process of automatically setting up a skeleton containing joints in a 3D target face model, coupled with a computer (or hardware), to automatically set up the joints to create an animation of a three dimensional (3D) model. , may be performed by a computer program (or application) stored in a computer-readable storage medium (eg, a memory device).

본 명세서에서는 3D 모델로 3D 얼굴 모델이 예시적으로 도시되고 설명되고, 애니메이션의 예로 얼굴 애니메이션이 예시적으로 도시되고 설명되나, 본 발명에 따른 조인트 셋업 과정들과 스키닝 과정들은 3D 얼굴 모델의 얼굴 애니메이션을 생성하기 위한 조인트들을 자동으로 셋업하는 과정들과 스키닝 과정들에 한정되는 것은 아니므로, 본 발명의 기술적 사상은 다양한 3D 모델의 애니메이션을 생성하기 위한 조인트들을 자동으로 셋업하는 과정들과 스키닝 과정들에 그대로 적용될 수 있다.In this specification, a 3D face model is exemplarily shown and described as a 3D model, and facial animation is exemplarily shown and described as an example of animation. Since the present invention is not limited to the processes of automatically setting up joints and skinning processes for generating can be directly applied to

컴퓨터(이를 '컴퓨팅 장치'라고도 한다. 120), 컴퓨팅 시스템(100 또는 100A), 또는 프로세서(122))는 컴퓨터 판독가능한 저장 매체(예컨대, 비일시적 (non-transitory)인 데이터 저장 매체)에 저장된 컴퓨터 프로그램을 실행할 수 있는 장치를 총칭한다.A computer (also referred to as a 'computing device' 120), computing system 100 or 100A, or processor 122) is stored in a computer-readable storage medium (eg, a non-transitory data storage medium). A device that can run computer programs.

도 3a 내지 도 3c는 본 발명을 설명하기 위한 3D 얼굴 표준 모델, 3D 메쉬 얼굴 표준 모델, 및 셋업된 조인트들을 포함하는 3D 얼굴 표준 모델을 나타낸다.3A to 3C show a 3D face standard model, a 3D mesh face standard model, and a 3D face standard model including set-up joints for explaining the present invention.

컴퓨터 프로그램(124)은 셋업된 제1조인트들과 제1텍스처 이미지를 포함하는 3D 표준 모델을 수신한다(S110). 3D 표준 모델은 3D 얼굴 표준 모델이고, 3D 표준 모델은 작업자가 미리 수작업으로 만들어 놓은 모델일 수 있다.The computer program 124 receives the 3D standard model including the set-up first joints and the first texture image (S110). The 3D standard model may be a 3D face standard model, and the 3D standard model may be a model previously manually created by an operator.

컴퓨터 프로그램(124)은 얼굴 애니메이션이 가능하도록 3D 표준 모델(도 3a)에 대응되는 3D 메쉬 얼굴 모델(도 3b)에 조인트들을 이미 셋업해 놓은 3D 표준 모델(도 3c)을 외부 장치로부터 수신한다(S110).The computer program 124 receives from an external device a 3D standard model (FIG. 3C) in which joints are already set up in a 3D mesh face model (FIG. 3B) corresponding to the 3D standard model (FIG. 3A) to enable facial animation (FIG. 3C). S110).

예컨대, 도 3c의 3D 표준 모델은 조인트들을 셋업하는 작업자의 판단에 따라 얼굴 애니메이션이 가장 잘 표현될 수 있도록 상기 작업자에 의해 셋업된 모델일 수 있다. 조인트들을 셋업하는 방법들은 매우 다양한데 상기 방법들 중에서 어느 방식을 사용하여도 무방하다. For example, the 3D standard model of FIG. 3C may be a model set up by the operator so that the facial animation can be best expressed according to the judgment of the operator who sets up the joints. There are many ways to set up the joints, and any of the above methods may be used.

도 4는 본 발명을 설명하기 위한 계층 구조를 갖는 조인트들과 뼈들을 포함하는 뼈대를 나타낸다. 도 4에는 계층 구조를 갖는 조인트들에 포함된 루트 조인트 (root joint), 중간 조인트, 종단(end) 조인트들, 및 뼈들(bones)을 포함한다. 해당 조인트(예컨대, 루트 조인트, 중간 조인트, 및/또는 종단 조인트)의 위치가 결정되면, 뼈의 크기와 방향은 자동으로 결정된다. 조인트들의 집합을 뼈대(frame) 또는 뼈대 데이터라고도 한다.4 shows a skeleton including joints and bones having a hierarchical structure for explaining the present invention. 4 includes a root joint, an intermediate joint, end joints, and bones included in joints having a hierarchical structure. Once the location of the corresponding joint (eg, root joint, intermediate joint, and/or longitudinal joint) is determined, the size and orientation of the bone is automatically determined. A set of joints is also called a frame or skeletal data.

도 5는 본 발명을 설명하기 위한 얼굴 텍스처 이미지이고 도 6은 본 발명을 설명하기 위한 텍스처 이미지를 포함하는 3D 얼굴 모델이고, 도 7은 본 발명을 설명하기 위한 텍스처 이미지를 이용하여 3D 얼굴 모델의 표면의 색깔 값을 결정하는 방법을 설명하는 그림이다,5 is a face texture image for explaining the present invention, FIG. 6 is a 3D face model including a texture image for explaining the present invention, and FIG. 7 is a 3D face model using a texture image for explaining the present invention It is a figure explaining how to determine the color value of a surface,

3D 얼굴 모델(예를 들면, 3D 표준 얼굴 모델 또는 3D 대상 얼굴 모델)은 얼굴 기하학 데이터와 뼈대 데이터 이외에 도 5와 같이 얼굴 질감을 표현하기 위한 텍스처 이미지를 포함한다. 예를 들면, 텍스처 이미지(도 6의 (b))는 도 6에 도시된 바와 같이 3D 얼굴 모델(도 6의 (a))에 매핑(mapping)되어 완전한 3D 얼굴 모델 (도 6의 (c))을 표현할 수 있게 된다.A 3D face model (eg, a 3D standard face model or a 3D target face model) includes a texture image for expressing a face texture as shown in FIG. 5 in addition to face geometry data and skeletal data. For example, the texture image (FIG. 6(b)) is mapped to the 3D face model (FIG. 6(a)) as shown in FIG. 6 to complete the 3D face model (FIG. 6(c)) ) can be expressed.

2D 텍스처 이미지를 3D 얼굴 모델에 매핑하는 방법들은 다음과 같다.Methods for mapping a 2D texture image to a 3D face model are as follows.

도 7에 도시된 바와 같이 3D 얼굴 모델(도 7의 (c))을 구성하는 모든 버텍스 (vertex)에 대하여 각 버텍스에 대응하는 텍스처 이미지상의 화소 좌표가 지정되면, 해당 버텍스의 색깔은 상기 텍스처 이미지상의 해당 화소 좌표의 화소값으로 결정된다.As shown in FIG. 7, when pixel coordinates on a texture image corresponding to each vertex are designated for all vertices constituting the 3D face model (FIG. 7(c)), the color of the corresponding vertex is the texture image It is determined by the pixel value of the corresponding pixel coordinates on the image.

3D 얼굴 모델을 구성하는 나머지 표면의 색깔 값은 다음과 같이 결정되는 데, 해당 표면을 구성하는 버텍스에 대응하는 텍스처 이미지의 화소 좌표(UV)의 화소값을 보간(interpolation)하면, 보간에 의해 해당 3D 표면의 위치에 대한 2D 텍스처 이미지의 화소 좌표의 화소값이 결정되고, 해당 화소 좌표의 화소값은 상기 해당 3D 표면의 색깔 값으로 결정된다.The color values of the remaining surfaces constituting the 3D face model are determined as follows. If the pixel values of the pixel coordinates (UV) of the texture image corresponding to the vertices constituting the surface are interpolated, the corresponding color values are interpolated. A pixel value of pixel coordinates of a 2D texture image with respect to a position of a 3D surface is determined, and a pixel value of the corresponding pixel coordinate is determined as a color value of the corresponding 3D surface.

도 7의 (a)의 각 버텍스(v1, v2, v3, 및 v4)에 해당하는 색깔 값은 도 7의 (b)의 텍스처 이미지의 각 화소 좌표((u1, v1), (u2, v2), (u3, v3), (u4, v4))의 색깔 값으로 적용된다.The color values corresponding to the vertices v1, v2, v3, and v4 of FIG. 7(a) are the pixel coordinates ((u1, v1), (u2, v2) of the texture image of FIG. 7(b) , (u3, v3), (u4, v4)) is applied as a color value.

이러한 방법을 통상적으로 텍스처 매핑(texture mapping)이라고 한다. 텍스처 매핑을 위해, 3D 얼굴 모델의 해당 버텍스가 2D 텍스처 이미지의 어떤 화소에 연결(또는 매핑)되는지 나타내는 UV 좌표 값이 지정되어 있다.This method is commonly referred to as texture mapping. For texture mapping, UV coordinate values are specified that indicate to which pixel in the 2D texture image the corresponding vertex of the 3D face model is connected (or mapped).

컴퓨터 프로그램(124)은 제2텍스처 이미지를 포함하는 3D 대상 모델을 수신한다(S115). 3D 표준 모델의 기하학적 구조는 3D 대상 모델의 기하학적 구조와 서로 다르다. 3D 대상 모델은 3D 표준 모델과 마찬가지로 UV 좌표값과 텍스처 이미지를 포함한다. 3D 대상 모델은 자동으로 조인트들을 포함하는 뼈대를 셋업하기 원하는 3D 모델을 의미하다. The computer program 124 receives the 3D target model including the second texture image (S115). The geometry of the 3D standard model is different from the geometry of the 3D target model. The 3D target model contains UV coordinates and texture images just like the 3D standard model. The 3D target model means a 3D model for which you want to automatically set up a skeleton including joints.

앞에 기재된 바와 같이, 3D 표준 모델의 기하학적 구조가 3D 대상 모델의 기하학적 구조와 서로 다를 때, 상기 3D 표준 모델(또는 표준 물체)의 버텍스에 대한 버텍스 아이디를 이용하여 상기 3D 대상 모델(또는 대상 물체)의 대응 버텍스를 찾을 수 없다. 또한, 3D 표준 모델의 기하학적 구조와 3D 대상 모델의 기하학적 구조를 동일하게 하기 위해서는, 상기 3D 표준 모델의 기하학적 구조와 상기 3D 대상 모델의 기하학적 구조를 동일하게 하는 공정이 더 필요하다. 또한, 3D 표준 모델의 기하학적 구조와 동일하게 상기 3D 대상 모델에 대한 모델링 작업을 할 경우, 아티스트의 작업 자유도가 훼손될 수 있다.As described above, when the geometry of the 3D standard model is different from that of the 3D target model, the 3D target model (or target object) using the vertex IDs for the vertices of the 3D standard model (or standard object) could not find the corresponding vertex of In addition, in order to make the geometric structure of the 3D standard model and the geometric structure of the 3D target model identical, a process of making the geometric structure of the 3D standard model and the geometric structure of the 3D target model identical is further required. In addition, when modeling the 3D target model in the same way as the geometric structure of the 3D standard model, the artist's work freedom may be impaired.

본 발명은 앞에 기재된 문제들을 해결하기 위해 안출된 것이다.The present invention has been devised to solve the problems described above.

컴퓨터 프로그램(124)은 3D 표준 모델과 3D 대상 모델 각각의 기준 크기와 위치를 계산한다(S120). 이 단계(S120)는 3D 대상 모델에 적용할 조인트들을 획득하기(또는 조정하기) 위하여 3D 표준 모델과 3D 대상 모델 각각의 기준 크기와 위치를 구하는 단계이다.The computer program 124 calculates the reference size and position of each of the 3D standard model and the 3D target model ( S120 ). This step S120 is a step of obtaining reference sizes and positions of the 3D standard model and the 3D target model, respectively, in order to obtain (or adjust) joints to be applied to the 3D target model.

기준 크기와 위치란 3D 얼굴 모델의 조인트들의 위치들을 조정하기 위한 이동(translator)과 스케일 팩터(scale factor)를 결정하기 위해 사용되는 상기 3D 얼굴 모델의 특징 값들이라 할 수 있다. 본 발명에서 기준 크기와 위치는 3D 얼굴 모델의 얼굴 영역에 대한 최소 바운딩 박스(Minimum Bounding Box(MBB))를 통해서 획득(또는 계산)된다.The reference size and position may be referred to as feature values of the 3D face model used to determine a translator and a scale factor for adjusting positions of joints of the 3D face model. In the present invention, the reference size and position are obtained (or calculated) through the Minimum Bounding Box (MBB) for the face region of the 3D face model.

컴퓨터 프로그램(124)은 3D 표준 모델의 얼굴 영역에 대한 제1MBB와 3D 대상 모델의 얼굴 영역에 대한 제2MBB를 이용하여 상기 3D 표준 모델과 상기 3D 대상 모델 각각의 기준 크기와 위치를 획득한다(S120). 컴퓨터 프로그램(124)은 3D 대상 모델에 적용할 제2조인트들을 획득하기 위해, 3D 표준 모델에 대한 제1MBB와 상기 3D 대상 모델에 대한 제2MBB를 획득한다(S120).The computer program 124 obtains the reference size and position of each of the 3D standard model and the 3D target model by using the first MBB for the face region of the 3D standard model and the second MBB for the face region of the 3D target model (S120) ). The computer program 124 obtains a first MBB for the 3D standard model and a second MBB for the 3D target model in order to obtain second joints to be applied to the 3D target model ( S120 ).

도 8은 본 발명을 설명하기 위한 얼굴 영역을 정의하는 예들이고, 도 9는 본 발명을 설명하기 위한 얼굴 영역 MBB를 정의하는 예들이고, 도 10은 본 발명을 설명하기 위한 얼굴의 특징점이나 선들을 추출하여 결정되는 얼굴 영역 MBB를 정의하는 예이다.8 is an example of defining a face region for explaining the present invention, FIG. 9 is an example of defining a face region MBB for explaining the present invention, and FIG. 10 is a facial feature point or line for explaining the present invention This is an example of defining the face region MBB determined by extraction.

얼굴 영역의 정의를 위한 MBB는 도 7의 (a)와 (b)와 같이 다양하게 할 수 있으나, 본 발명에서는 도 9의 (a)에 도시된 바와 같이 상기 MBB는 상하로는 눈썹부터 턱선까지 그리고 좌우로는 양 턱선들까지를 포함하는 평면에 해당하는 공간으로 정의되고, 도 9의 (b)에 도시된 바와 같이 상기 MBB는 앞뒤로는 콧등부터 뒤통수까지의 평면에 해당하는 공간으로 정의한다.The MBB for defining the face region can be varied as shown in FIGS. 7 (a) and (b), but in the present invention, as shown in FIG. 9 (a), the MBB extends vertically from the eyebrow to the jaw line. And left and right is defined as a space corresponding to a plane including both jaw lines, and the MBB is defined as a space corresponding to the plane from the bridge of the nose to the back of the head as shown in FIG.

컴퓨터 프로그램(124)은 MBB를 구성하는 상하좌우의 선들을 구하기 위해 도 10에 도시된 바와 같이 얼굴의 특징점이나 라인(LNS, 또는 도 10의 녹색선)을 자동으로 검출하여 상기 MBB를 획득할 수 있다. 컴퓨터 프로그램(124)은 MBB를 구성하는 앞뒤의 선들을 획득하기 위해 앞방향의 최대 버텍스와 뒷방향의 최소 버텍스를 검출해서 상기 MBB를 획득할 수 있다.The computer program 124 automatically detects facial feature points or lines (LNS, or the green line in FIG. 10) as shown in FIG. 10 to obtain the upper, lower, left, and right lines constituting the MBB to obtain the MBB. have. The computer program 124 may obtain the MBB by detecting the maximum vertex in the front direction and the minimum vertex in the rear direction in order to obtain front and rear lines constituting the MBB.

도 11은 본 발명을 설명하기 위한 얼굴 영역 MBB 수치를 정의하는 예이다.11 is an example of defining the facial region MBB value for explaining the present invention.

컴퓨터 프로그램(124)은 도 11에 도시된 바와 같이 얼굴 영역 MBB 수치를 획득할 수 있다.The computer program 124 may obtain a facial region MBB value as shown in FIG. 11 .

도 8 내지 도 10을 참조하여 획득된 3D 표준 모델의 얼굴 영역 MBB의 크기(예컨대, 기준 크기)와 중심점(예컨대, 위치)은 배열들(

Figure 112021134305733-pat00001
Figure 112021134305733-pat00002
)로 표시되고, 3D 대상 모델의 얼굴 영역 MBB 크기(예컨대, 기준 크기)와 중심점(예컨대, 위치)은 배열들(
Figure 112021134305733-pat00003
Figure 112021134305733-pat00004
)로 표시된다. 각 배열(
Figure 112021134305733-pat00005
,
Figure 112021134305733-pat00006
,
Figure 112021134305733-pat00007
, 및
Figure 112021134305733-pat00008
, A로 총칭함)는 3차원 요소 값들(x, y, z)를 포함하고, 각 요소는 A[x], A[y], A[z]로 표시된다.The size (eg, reference size) and the center point (eg, position) of the face region MBB of the 3D standard model obtained with reference to FIGS. 8 to 10 are arranged in
Figure 112021134305733-pat00001
class
Figure 112021134305733-pat00002
), the face region MBB size (eg, reference size) and center point (eg, position) of the 3D target model are arranged in the arrays (
Figure 112021134305733-pat00003
Wow
Figure 112021134305733-pat00004
) is indicated. each array (
Figure 112021134305733-pat00005
,
Figure 112021134305733-pat00006
,
Figure 112021134305733-pat00007
, and
Figure 112021134305733-pat00008
, A) includes three-dimensional element values (x, y, z), and each element is represented by A [x], A [y], and A [z].

컴퓨터 프로그램(124)은 3D 표준 모델에 포함된 제1조인트들의 집합에 해당하는 표준 뼈대를 복사하여 3D 대상 모델에 포함될 제2조인트들의 집합에 해당하는 대상 뼈대를 생성하고(S125), 상기 3D 표준 모델에 대한 제1MBB와 상기 3D 대상 모델에 대한 제2MBB를 이용하여 상기 대상 뼈대를 상기 3D 대상 모델에 위치시킨다S130).The computer program 124 copies the standard skeleton corresponding to the set of first joints included in the 3D standard model to generate a target skeleton corresponding to the set of second joints to be included in the 3D target model (S125), and the 3D standard The target skeleton is positioned in the 3D target model using the first MBB for the model and the second MBB for the 3D target model (S130).

컴퓨터 프로그램(124)은 3D 표준 모델의 표준 뼈대(즉, 계층 구조를 갖는 제1조인트들의 집합)를 복사하여 대상 뼈대를 생성하고(S125), 단계(S120)에서 획득된 배열들(

Figure 112021134305733-pat00009
,
Figure 112021134305733-pat00010
,
Figure 112021134305733-pat00011
, 및
Figure 112021134305733-pat00012
)을 이용하여 3D 대상 모델의 위치와 크기에 맞게 상기 대상 뼈대를 변형하고, 변형된 대상 뼈대를 상기 3D 대상 모델에 위치시킨다(S130).The computer program 124 creates a target skeleton by copying the standard skeleton of the 3D standard model (that is, a set of first joints having a hierarchical structure) (S125), and the arrays obtained in step (S120) (
Figure 112021134305733-pat00009
,
Figure 112021134305733-pat00010
,
Figure 112021134305733-pat00011
, and
Figure 112021134305733-pat00012
) to deform the target skeleton to match the position and size of the 3D target model, and place the deformed target skeleton in the 3D target model (S130).

도 1b와 도 4에 예시적으로 도시된 바와 같이 표준 뼈대와 대상 뼈대 각각은 계층 구조로 이루어 진다. 예컨대, 뼈대의 상위 조인트('부모 조인트'라고 함)가 움직이면, 뼈들을 통해 상기 상위 조인트에 연결된 하위 조인트들('자식 조인트들'라고 함)도 움직인다.As exemplarily shown in FIGS. 1B and 4 , each of the standard skeleton and the target skeleton has a hierarchical structure. For example, when an upper joint (referred to as a 'parent joint') of a skeleton moves, lower joints (referred to as 'child joints') connected to the upper joint through bones also move.

단계(S130)에서 가장 먼저 수행되는 작업은, 계층 구조로 이루어진 얼굴 뼈대의 최상위 조인트(이하 '페이스 루트 조인트'라고 함)를 움직여 얼굴 뼈대 전체를 3D 대상 모델에 대략적으로 위치시킨다.The first operation performed in step S130 is to move the uppermost joint (hereinafter referred to as a 'face root joint') of the face skeleton having a hierarchical structure to approximately position the entire face skeleton in the 3D target model.

대상 뼈대의 페이스 루트 조인트의 위치(

Figure 112021134305733-pat00013
)는 수학식 1과 같이 계산된다. 이때
Figure 112021134305733-pat00014
은 3D 표준 모델의 페이스 루트 조인트의 위치이다.The position of the face root joint of the target bone (
Figure 112021134305733-pat00013
) is calculated as in Equation 1. At this time
Figure 112021134305733-pat00014
is the position of the face root joint of the 3D standard model.

[수식식 1][Formula 1]

Figure 112021134305733-pat00015
Figure 112021134305733-pat00015

이때, 각 배열(

Figure 112021134305733-pat00016
,
Figure 112021134305733-pat00017
, 및
Figure 112021134305733-pat00018
)의 4칙 연산은 원소들(x, y, z) 사이의 4칙 연산으로 수행된다. 여기서,
Figure 112021134305733-pat00019
는 스케일링 벡터로 X-축, Y-축, 및 Z-축 각각의 스케일링 팩터를 나타낸다.
Figure 112021134305733-pat00020
는 차이 벡터로, 3D 표준 모델의 중심점과 3D 표준 모델의 페이스 루트 조인트의 위치 사이의 거리(또는 차이)를 나타낸다.At this time, each array (
Figure 112021134305733-pat00016
,
Figure 112021134305733-pat00017
, and
Figure 112021134305733-pat00018
) is performed as a fourth-order operation between elements (x, y, z). here,
Figure 112021134305733-pat00019
denotes a scaling factor of each of the X-axis, Y-axis, and Z-axis as a scaling vector.
Figure 112021134305733-pat00020
is a difference vector, indicating the distance (or difference) between the center point of the 3D standard model and the position of the face root joint of the 3D standard model.

도 12는 본 발명을 설명하기 위한 페이스 루트 조인트(face root joint)의 위치를 조정한 후 조정된 조인트들의 위치들을 설명하는 예이다.12 is an example for explaining the positions of the adjusted joints after adjusting the positions of the face root joint (face root joint) for explaining the present invention.

컴퓨터 프로그램(124)에 의해 단계(S130)가 수행되면, 도 12에 도시된 바와 같이 대상 뼈대가 3D 대상 모델의 얼굴에 위치하기는 하지만 상기 3D 대상 모델의 크기와 상기 대상 뼈대의 크기가 서로 다르기 때문에, 상기 대상 뼈대의 제1부분 (PT1)이 상기 3D 대상 모델의 얼굴을 뚫고 나온다.When step S130 is performed by the computer program 124, as shown in FIG. 12, although the target skeleton is located on the face of the 3D target model, the size of the 3D target model and the size of the target bone are different from each other. Therefore, the first part PT1 of the target skeleton pierces the face of the 3D target model.

따라서 컴퓨터 프로그램(124)은 페이스 루트 조인트의 자식 조인트들의 위치들도 변화시켜 3D 대상 모델의 크기에 맞추어 대상 뼈대의 크기를 조절한다.Accordingly, the computer program 124 adjusts the size of the target skeleton according to the size of the 3D target model by changing the positions of the child joints of the face root joint.

이를 위해, 컴퓨터 프로그램(124)은 대상 뼈대의 페이스 루트 조인트에 연결된 모든 자식 조인트들의 상대 위치(

Figure 112021134305733-pat00021
)를 수학식 2에 따라 결정한다. 여기서, 상대 위치는 해당 자식 조인트의 부모 조인트에 대한 상대적인 위치를 말한다.To this end, the computer program 124 determines the relative position ( ) of all child joints connected to the face root joint of the target bone.
Figure 112021134305733-pat00021
) is determined according to Equation (2). Here, the relative position refers to the relative position of the corresponding child joint to the parent joint.

[수학식 2] [Equation 2]

Figure 112021134305733-pat00022
Figure 112021134305733-pat00022

실시 예들에 따라, 컴퓨터 프로그램(124)이 3D 표준 모델의 제1텍스처 이미지에 대한 프로젝션 방식을 나타내는 제1프로젝션 정보를 더 수신한다면, 컴퓨터 프로그램(124)은 상기 제1프로젝션 정보를 이용하여 상기 제1텍스처 이미지에 대한 프로젝션 방식이 어떤 방식인지를 판단할(또는 알) 수 있다.According to embodiments, if the computer program 124 further receives first projection information indicating a projection method for the first texture image of the 3D standard model, the computer program 124 uses the first projection information to generate the first 1 It is possible to determine (or know) which method the projection method for the texture image is.

컴퓨터 프로그램(124)은 제1텍스처 이미지에 대한 제1프로젝션 정보를 이용하여 복수의 프로젝션 방식들 중에서 상기 제1텍스처 이미지에 대한 프로젝션 방식과 동일한 프로젝션 방식을 선택하고, 선택된 프로젝션 방식을 이용하여 제2텍스처 이미지를 변환할 수 있다(S135).The computer program 124 selects the same projection method as the projection method for the first texture image from among a plurality of projection methods using the first projection information on the first texture image, and uses the selected projection method to select the second projection method. The texture image may be converted (S135).

실시 예들에 따라, 컴퓨터 프로그램(124)이 3D 표준 모델의 제1텍스처 이미지에 대한 제1프로젝션 방식을 나타내는 제1프로젝션 정보와 3D 대상 모델의 제2텍스처 이미지에 대한 제2프로젝션 방식을 나타내는 제2프로젝션 정보를 더 수신한다면, 컴퓨터 프로그램(124)은 상기 제1프로젝션 정보와 상기 제2프로젝션 정보에 기초하여 상기 제1프로젝션 방식과 상기 제2프로젝션 방식을 비교하고, 상기 제1프로젝션 방식과 상기 제2프로젝션 방식이 동일하면 상기 제2프로젝션 방식으로 프로젝션된 상기 제2텍스처 이미지를 그대로 사용하고, 상기 제1프로젝션 방식과 상기 제2프로젝션 방식이 서로 다르면 상기 제2프로젝션 방식으로 프로젝션된 상기 제2텍스처 이미지를 상기 제1프로젝션 방식에 맞게 변환한다(S135).According to embodiments, the computer program 124 uses first projection information indicating a first projection method for the first texture image of the 3D standard model and second projection information indicating a second projection method for the second texture image of the 3D target model. If further projection information is received, the computer program 124 compares the first projection method with the second projection method based on the first projection information and the second projection information, and the first projection method and the second projection method If the two projection methods are the same, the second texture image projected by the second projection method is used as it is, and if the first projection method and the second projection method are different from each other, the second texture projected by the second projection method The image is converted to fit the first projection method (S135).

앞에서 설명한 예들에 따라, 3D 대상 모델의 제2텍스처 이미지의 프로젝션 방식은 3D 표준 모델의 제1텍스처 이미지의 프로젝션 방식과 동일하게 맞춰진다.According to the above-described examples, the projection method of the second texture image of the 3D target model is matched to the projection method of the first texture image of the 3D standard model.

복수의 프로젝션 방식들의 예들은 도 14에 예시적으로 도시된 바와 같이 평면 프로젝션(planar projection) 방식, 원통형 프로젝션(cylindrical projection) 방식, 및 구모양 프로젝션(spherical projection) 방식, 등을 포함할 수 있으나 이에 한정되는 것은 아니다. 따라서, 컴퓨터 프로그램(124)은 평면 프로젝션 방식, 원통형 프로젝션 방식, 및 구모양 프로젝션 방식 중에서 어느 하나로 제2텍스처 이미지를 생성할 수 있다(S135).Examples of the plurality of projection methods may include a planar projection method, a cylindrical projection method, and a spherical projection method, as exemplarily shown in FIG. It is not limited. Accordingly, the computer program 124 may generate the second texture image in any one of a planar projection method, a cylindrical projection method, and a spherical projection method ( S135 ).

컴퓨터 프로그램(124)은 3D 대상 모델의 제2텍스처 이미지의 프로젝션 방식을 3D 표준 모델의 제1텍스처 이미지의 프로젝션 방식과 동일하게 한다.The computer program 124 makes the projection method of the second texture image of the 3D target model the same as the projection method of the first texture image of the 3D standard model.

텍스처 이미지의 규격이나 펼쳐진 버텍스 배치 방식은 표준이 없어서 일반적으로 상기 텍스처 이미지를 제작하는 사람이 임의대로 결정한다. 그래서 3D 표준 모델의 텍스처 이미지의 구성과 3D 대상 모델의 텍스처 이미지의 구성은 다를 수 있다. 여기서, 구성은 텍스처 이미지의 규격이나 버텍스 배치 방식을 포함하다.Since there is no standard for a texture image standard or a method for arranging an unfolded vertex, a person who creates the texture image generally decides arbitrarily. Therefore, the composition of the texture image of the 3D standard model and the composition of the texture image of the 3D target model may be different. Here, the configuration includes a standard of a texture image or a vertex arrangement method.

다음 단계(S140)부터는 텍스처 이미지의 UV 맵 값들이 중요한 기준이 되기 때문에, 이번 단계(S135)에서 컴퓨터 프로그램(124)은 3D 표준 모델의 텍스처 이미지의 규격과 버텍스 배치 방식과 3D 대상 모델의 텍스처 이미지의 규격과 버텍스 배치 방식을 통일시키는 작업을 진행한다.Since the UV map values of the texture image become important criteria from the next step (S140), in this step (S135), the computer program 124 determines the specification of the texture image of the 3D standard model, the vertex arrangement method, and the texture image of the 3D target model. work to unify the specifications and vertex arrangement method.

컴퓨터 프로그램(124)에 의해 두 텍스트 이미지의 규격과 버텍스 배치 방식을 통일시키는 방법은 다음과 같다.A method of unifying the standard of two text images and the vertex arrangement method by the computer program 124 is as follows.

컴퓨터 프로그램(124)은 3D 대상 모델의 텍스처 이미지의 크기를 3D 표준 모델의 텍스처 이미지의 크기와 동일하게 한다.The computer program 124 makes the size of the texture image of the 3D target model equal to the size of the texture image of the 3D standard model.

컴퓨터 프로그램(124)은 3D 대상 모델의 텍스처 이미지의 프로젝션( projection) 방식을 3D 표준 모델의 텍스처 이미지의 프로젝션 방식과 동일하게 한다.The computer program 124 makes the projection method of the texture image of the 3D target model the same as the projection method of the texture image of the 3D standard model.

도 13은 본 발명을 설명하기 위한 구모양 프로젝션(spherical projection ) 방식으로 구성된 텍스처 이미지의 예이고, 도 14는 본 발명을 설명하기 위한 다양한 프로젝션 방식들을 이용하여 생성된 텍스처 이미지들의 예들이고, 도 15는 본 발명을 설명하기 위한 3D 얼굴 표준 모델의 크기와 3D 얼굴 대상 모델의 크기를 동일하게 조정하는 예이다.13 is an example of a texture image configured by a spherical projection method for explaining the present invention, FIG. 14 is an example of texture images generated using various projection methods for explaining the present invention, FIG. 15 is an example of adjusting the size of the standard 3D face model and the size of the 3D face target model to be the same for explaining the present invention.

예를 들면, 도 13의 (a)와 (b)에 도시 바와 같이 3D 표준 모델이 구모양 프로젝션(spherical projection ) 방식을 통해 제1텍스처 이미지로 매핑되어 있다면, 3D 대상 모델도 상기 구모양 프로젝션 방식을 통해 제2텍스처 이미지로 매핑되어야 한다.For example, if the 3D standard model is mapped to the first texture image through the spherical projection method as shown in FIGS. 13(a) and 13(b), the 3D target model is also the spherical projection method should be mapped to the second texture image through

도 14를 참조하면, 도 14의 (a)의 3D 표준 모델은 도 14의 (b)와 같이 임의의 테스처 이미지로 프로젝션될 수 있고, 도 14의 (c)와 같이 3D 표준 모델이 평면 프로젝션(planar projection) 방식을 통해 제1텍스처 이미지로 매핑되어 있다면, 3D 대상 모델도 상기 평면 프로젝션 방식을 통해 제2텍스처 이미지로 매핑되어야 한다.Referring to FIG. 14, the 3D standard model of FIG. 14(a) may be projected as an arbitrary texture image as shown in FIG. 14(b), and the 3D standard model of FIG. 14(c) is a flat projection. If the (planar projection) method is mapped to the first texture image, the 3D target model must also be mapped to the second texture image through the planar projection method.

또한, 도 14의 (d)와 같이 3D 표준 모델이 원통형 프로젝션(cylindrical projection) 방식을 통해 제1텍스처 이미지로 매핑되어 있다면, 3D 대상 모델도 상기 원동형 프로젝션 방식을 통해 제2텍스처 이미지로 매핑되어야 한다.In addition, if the 3D standard model is mapped to the first texture image through the cylindrical projection method as shown in FIG. 14(d), the 3D target model must also be mapped to the second texture image through the cylindrical projection method. do.

또한, 도 14의 (e)와 같이 3D 표준 모델이 구모양 프로젝션 방식을 통해 제1텍스처 이미지로 매핑되어 있다면, 3D 대상 모델도 상기 구모양 프로젝션 방식을 통해 제2텍스처 이미지로 매핑되어야 한다.Also, if the 3D standard model is mapped to the first texture image through the spherical projection method as shown in FIG. 14E , the 3D target model must also be mapped to the second texture image through the spherical projection method.

3D 대상 모델을 제2텍스처 이미지로 프로젝션하기 이전에, 상기 제2텍스처 이미지로 프로젝션된 상기 3D 표준 모델의 면적과 제1텍스처 이미지로 프로젝션된 3D 표준 모델의 면적이 동일해지도록, 도 15에 도시된 바와 같이 상기 3D 대상 얼굴 모델의 크기를 수학식 1을 통해 계산된 스케일링 벡터(

Figure 112021134305733-pat00023
), 즉 X-축, Y-축, 및 Z-축 각각의 스케일링 팩터로 조정(scale) 한다. 도 15의 (a)와 (c)는 3D 표준 모델을 나타내고, 도 15의 (b)는 원래의 3D 대상 모델을 나타내고, 도 15의 (d)는 스케일링 벡터(
Figure 112021134305733-pat00024
)로 크기 조정된 3D 대상 모델을 나타낸다.Before projecting the 3D target model into the second texture image, the area of the 3D standard model projected as the second texture image is equal to the area of the 3D standard model projected as the first texture image, as shown in FIG. 15 As shown, the size of the 3D target face model is calculated using the scaling vector (
Figure 112021134305733-pat00023
), that is, the X-axis, the Y-axis, and the Z-axis are scaled by each scaling factor. Fig. 15 (a) and (c) show the 3D standard model, Fig. 15 (b) shows the original 3D target model, Fig. 15 (d) shows the scaling vector (
Figure 112021134305733-pat00024
) represents the scaled 3D target model.

컴퓨터 프로그램(124)은, 3D 표준 모델의 텍스처 정보와 3D 대상 모델의 텍스처 정보를 이용하여, 단계(S130)을 통해 상기 3D 대상 모델에 위치하는 제2조인트들에 포함된 적어도 하나의 종단 조인트의 위치를 조정한다(S140).The computer program 124 uses the texture information of the 3D standard model and the texture information of the 3D target model, through step S130 of at least one longitudinal joint included in the second joints located in the 3D target model. Adjust the position (S140).

도 16은 본 발명을 설명하기 위한 페이스 루트 조인트의 자식 조인트의 위치를 조정한 후의 조인트들의 위치를 나타낸다.16 shows the positions of the joints after adjusting the positions of the child joints of the face root joint for explaining the present invention.

이전 단계(S135)까지 수행된다 하더라도, 단계(S125)에서 생성된 대상 뼈대가 3D 대상 모델용으로 만들어진 것이 아니기 때문에, 도 16에 도시된 바와 같이 상기 대상 뼈대의 제2부분(PT2)이 상기 3D 대상 모델을 약간 뚫고 나올 수 있다.Even if the previous step S135 is performed, since the target skeleton generated in step S125 is not made for the 3D target model, as shown in FIG. 16 , the second part PT2 of the target skeleton is the 3D It can slightly break through the target model.

이렇게 뚫고 나온 제2부분(PT2)은 대상 뼈대를 이루는 계층 구조에 포함된 제2조인트들 중에서 제일 끝단에 위치한 종단 조인트이기 때문에, 상기 종단 조인트의 위치가 조절되어야 한다.Since the second part PT2 protruding in this way is a longitudinal joint located at the most distal end among the second joints included in the hierarchical structure constituting the target skeleton, the position of the longitudinal joint must be adjusted.

컴퓨터 프로그램(124)이 종단 조인트들의 위치들을 조정하는 방법은 다음과 같다.How the computer program 124 adjusts the positions of the end joints is as follows.

제일 먼저, 컴퓨터 프로그램(124)은 3D 표준 모델의 표준 뼈대의 종단 조인트와 상기 3D 표준 모델의 버텍스들 중에서 제일 가까운 버텍스를 찾는다.First, the computer program 124 finds the closest vertex among the longitudinal joints of the standard skeleton of the 3D standard model and the vertices of the 3D standard model.

종단 조인트의 위치를

Figure 112021134305733-pat00025
라 하고, 3D 표준 모델의 버텍스 위치를
Figure 112021134305733-pat00026
라고 했을 때, 두 점들(이를 '두 위치들'이라고도 한다.) 사이의 길이(이를 '거리'라고도 한다.)는
Figure 112021134305733-pat00027
이므로, 컴퓨터 프로그램(124)은 대응되는 두 점들 사이의 길이가 가장 작은 버텍스들을 찾는다. 찾아진 버텍스들을
Figure 112021134305733-pat00028
라고 했을 때, 종단 조인트의 위치(
Figure 112021134305733-pat00029
)는 수학식 3에 따라 계산된다.position of the end joint
Figure 112021134305733-pat00025
, and the vertex position of the 3D standard model is
Figure 112021134305733-pat00026
Called , the length (also called 'distance') between two points (this is also called 'two positions') is
Figure 112021134305733-pat00027
Therefore, the computer program 124 finds the vertices having the smallest length between the two corresponding points. found vertices.
Figure 112021134305733-pat00028
, the position of the end joint (
Figure 112021134305733-pat00029
) is calculated according to Equation (3).

[수학식 3][Equation 3]

Figure 112021134305733-pat00030
Figure 112021134305733-pat00030

여기서

Figure 112021134305733-pat00031
는 찾아진 버텍스들(
Figure 112021134305733-pat00032
)에 대응되는 3D 대상 모델에서의 버텍스들의 위치이다.here
Figure 112021134305733-pat00031
is the found vertices (
Figure 112021134305733-pat00032
) is the position of the vertices in the 3D target model corresponding to .

여기에서, 3D 대상 모델에서의 버텍스들의 위치(

Figure 112021134305733-pat00033
)는 다음과 같은 방법으로 찾을 수 있다.Here, the positions of the vertices in the 3D target model (
Figure 112021134305733-pat00033
) can be found in the following way.

먼저, 컴퓨터 프로그램(124)은 전처리(pre-processing) 작업을 통해 주어진 3D 대상 모델에 대한 제2텍스처 이미지에서 모든 화소에 대해 해당 화소를 둘러싸고 있는 상기 3D 대상 모델에 대한 버텍스들의 버텍스 값들을 찾아 저장 장치에 저장해 놓는다.First, the computer program 124 finds and stores the vertex values of the vertices of the 3D target model surrounding the corresponding pixels for all pixels in the second texture image for the 3D target model given through pre-processing. Save it to your device.

컴퓨터 프로그램(124)은 3D 표준 모델의 버텍스 위치(

Figure 112021134305733-pat00034
)의 UV 맵 값을 알고 있기 때문에, 상기 UV 맵 값에 해당하는 제2텍스처 이미지의 화소를 둘러싼 버텍스들을 저장 장치에 저장된 버텍스 값들을 이용하여 계산한다.The computer program 124 determines the vertex positions (
Figure 112021134305733-pat00034
), the vertices surrounding the pixel of the second texture image corresponding to the UV map value are calculated using the vertex values stored in the storage device.

즉, 컴퓨터 프로그램(124)은 3D 대상 모델의 버텍스 위치(

Figure 112021134305733-pat00035
)를 계산된 버텍스 값들을 보간하여 계산한다. 보간은 잘 알려진 무게 중심 좌표들(Barycentric Coordinates)을 이용하는 선형 보간식(linear interpolation equation)을 이용하여 수행할 수 있다. That is, the computer program 124 determines the vertex position (
Figure 112021134305733-pat00035
) is calculated by interpolating the calculated vertex values. Interpolation may be performed using a linear interpolation equation using well-known barycentric coordinates.

컴퓨터 프로그램(124)은, 단계(S140)을 통해 위치가 조정된 적어도 하나의 종단 조인트의 위치에 대한 위치 정보를 이용하여, 상기 적어도 하나의 종단 조인트에 연결된 적어도 하나의 중간 조인트의 위치를 조정한다(S145). The computer program 124 adjusts the position of the at least one intermediate joint connected to the at least one end joint by using the position information on the position of the at least one end joint whose position has been adjusted through step S140. (S145).

이전 단계(S140)까지, 컴퓨터 프로그램(124)은 3D 대상 모델의 제2조인트들에 관하여 최상위 조인트(face_root_joint)와 종단 조인트들의 위치를 최종 확정했다. 이번 단계(S145)에서, 컴퓨터 프로그램(124)은 최상위 조인트와 종단 조인트들의 중간에 위치하고 있는 여타의 조인트들의 위치를 최종 확정한다.Until the previous step S140, the computer program 124 finally confirmed the positions of the top joint (face_root_joint) and the end joints with respect to the second joints of the 3D target model. In this step (S145), the computer program 124 finally determines the positions of the other joints located between the uppermost joint and the terminal joint.

중간 조인트들의 위치 조정은 미세하기 때문에 얼굴 애니메이션에 미치는 시각적 효과가 다른 조인트들(예를 들면, 최상위 조인트와 종단 조인트들)의 위치 조정에 비해 미미할 수 있지만, 컴퓨터 프로그램(124)은 3D 표준 모델의 표준 뼈대의 구성과 최대한 동일하게 3D 대상 모델의 대상 뼈대를 만들기 위해 상기 대상 뼈대의 중간 조인트들의 위치들을 조정한다.Since the positioning of the intermediate joints is fine, the visual effect on the facial animation may be negligible compared to the positioning of other joints (eg, the uppermost joint and the longitudinal joints), but the computer program 124 uses the 3D standard model. The positions of the intermediate joints of the target skeleton are adjusted to make the target skeleton of the 3D target model as identical to the configuration of the standard skeleton as possible.

컴퓨터 프로그램(124)이 대상 뼈대의 중간 조인트들의 위치들을 조정하는 방법은 다음과 같다.How the computer program 124 adjusts the positions of the intermediate joints of the target skeleton is as follows.

컴퓨터 프로그램(124)은 종단 조인트를 자식 조인트로 가지고 있는 중간 조인트의 새로운 위치(

Figure 112021134305733-pat00036
)를 바로 전단계(S140)에서 조정된 종단 조인트들 각각의 위치 변화량의 평균 만큼 변화시켜 결정한다.The computer program 124 displays a new position (
Figure 112021134305733-pat00036
) is determined by changing the average of the position change amount of each of the longitudinal joints adjusted in the previous step (S140).

도 17은 본 발명을 설명하기 위한 종단 조인트의 위치 변화에 따른 중간 조인트의 위치 변화를 설명하는 예이고, 도 18은 본 발명을 설명하기 위한 복수 개의 종단 조인트들의 위치 변화에 따른 중간 조인트들의 위치 변화를 설명하는 예이다.17 is an example illustrating a change in the position of an intermediate joint according to a change in the position of the end joint for explaining the present invention, and FIG. 18 is a change in the position of the intermediate joints according to a change in the position of a plurality of end joints for explaining the present invention is an example to explain

도 17과 도 18에 도시된 바와 같이, 종단 조인트(

Figure 112021134305733-pat00037
또는
Figure 112021134305733-pat00038
i=1 또는 2)가 전 단계(S140)에서 위치 변화량(
Figure 112021134305733-pat00039
또는
Figure 112021134305733-pat00040
i=1 또는 2)만큼 변한다면, 중간 조인트의 새로운 위치(
Figure 112021134305733-pat00041
)는 수학식 4와 같다.17 and 18, the end joint (
Figure 112021134305733-pat00037
or
Figure 112021134305733-pat00038
i = 1 or 2) is the amount of position change in the previous step (S140) (
Figure 112021134305733-pat00039
or
Figure 112021134305733-pat00040
if i = 1 or 2), the new position of the intermediate joint (
Figure 112021134305733-pat00041
) is the same as in Equation 4.

[수학식 4][Equation 4]

Figure 112021134305733-pat00042
Figure 112021134305733-pat00042

도 17에서, CJ는 종단 조인트의 최초 위치를 나타내고, D는 변화량을 나타내고, CJ'는 변화량(D)만큼 변화된 종단 조인트의 새로운 위치를 나타내고, P는 중간 조인트의 최초 위치를 나타내고, P'는 변화량(D)만큼 변화된 중간 조인트의 새운 위치를 나타낸다.In Fig. 17, CJ denotes the initial position of the longitudinal joint, D denotes the change amount, CJ' denotes the new position of the longitudinal joint changed by the change amount (D), P denotes the initial position of the intermediate joint, and P' denotes the It represents the new position of the intermediate joint changed by the change amount (D).

도 18에서 CJ1과 CJ2 각각은 종단 조인트의 최초 위치를 나타내고, D1과 D2 각각은 변화량을 나타내고, CJ'1과 CJ'2 각각은 각 변화량(D1과 D2)만큼 변화된 종단 조인트의 새로운 위치를 나타내고, P는 중간 조인트의 최초 위치를 나타내고, P'는 평균 변화량(D)만큼 변화된 중간 조인트의 새운 위치를 나타낸다. 평균 변화량(D)은 변화량들(D1과 D2)의 산술 평균이다.In FIG. 18, each of CJ 1 and CJ 2 represents the initial position of the longitudinal joint, D 1 and D 2 each represent the amount of change, and each of CJ' 1 and CJ' 2 is the end changed by each change amount (D 1 and D 2 ). The new position of the joint is indicated, P indicates the initial position of the intermediate joint, and P' indicates the new position of the intermediate joint changed by the average change amount (D). The average change D is the arithmetic mean of the variances D 1 and D 2 .

자식 종단 조인트가 없는 중간 조인트의 경우(예를 들면, 중간 조인트를 자식 조인트로 가지고 있는 경우), 컴퓨터 프로그램(124)은 상기 중간 조인트의 위치 또는 상기 자식 조인트가 업데이트 된 후, 해당 변화를 앞에서 설명한 종단 조인트의 위치 변화와 동일하게 계산한다.In the case of an intermediate joint without child end joints (eg, having intermediate joints as child joints), the computer program 124 may update the position of the intermediate joint or after the child joint is updated, the change as described above. Calculate the same as the change in the position of the longitudinal joint.

컴퓨터 프로그램(124)은 3D 대상 모텔의 제2조인트들에 대한 자동 셋업(예를 들면, 3D 얼굴 모델(예를 들면, 3D 대상 모델)의 얼굴 애니메이션을 생성하기 위한 제2조인트들에 대한 자동 셋업)이 완료된 후, 3D 표준 모델의 텍스처 정보, 스키닝 정보, 및 상기 3D 대상 모델의 텍스처 정보를 이용하여 상기 3D 대상 모텔의 대상 뼈대와 상기 3D 대상 모델을 스키닝하다(S150).The computer program 124 automatically sets up the second joints for the second joints of the 3D object motel (eg, the automatic setup for the second joints to create a facial animation of the 3D face model (eg, the 3D object model)). ) is completed, the 3D target skeleton and the 3D target model are skinned using the texture information of the 3D standard model, the skinning information, and the texture information of the 3D target model (S150).

대상 뼈대와 3D 대상 모델을 스키닝하는 단계(S150)는 대상 뼈대를 구성하는 조인트들과 3D 대상 모델을 구성하는 버텍스들 사이의 영향 정도를 나타내는 가중치들(weighting factors, 이를 '영향값들'이라고도 한다.)을 버텍스들에 지정(또는 할당)하는 과정이다.In the step of skinning the target skeleton and the 3D target model ( S150 ), weighting factors indicating the degree of influence between the joints constituting the target skeleton and vertices constituting the 3D target model are also referred to as 'influence values'. .) is the process of assigning (or assigning) to vertices.

도 19는 본 발명을 설명하기 위한 가중치들을 이용한 3D 얼굴 모델과 턱 조인트들에 대한 스키닝을 설명하기 위한 예이다. 19 is an example for explaining skinning of a 3D face model and jaw joints using weights for explaining the present invention.

예를 들면, 도 19에서 턱 조인트에 영향을 받는 3D 표준 모델의 버텍스들 (WT)은 백색으로 칠해져 있다. 즉, 턱 조인트에 영향을 받는 3D 표준 모델의 버텍스들(WT)의 색깔은 백색이다. 색깔이 진할수록 3D 표준 모델의 버텍스들은 해당 조인트들의 영향을 많이 받는다. 보통 3D 표준 모델의 버텍스들에 색을 칠하는 작업은 사람이 3D 모델에 페인팅 등의 방법으로 상기 버텍스들 각각에 0에서 1사이의 값을 지정하는 방식으로 이루어진다.For example, in FIG. 19 , the vertices WT of the 3D standard model affected by the jaw joint are painted white. That is, the color of the vertices WT of the 3D standard model affected by the jaw joint is white. The darker the color, the more the vertices of the 3D standard model are affected by the corresponding joints. Usually, the operation of coloring the vertices of the 3D standard model is performed in such a way that a person assigns a value between 0 and 1 to each of the vertices through a method such as painting on the 3D model.

도 20은 도 19의 가중치들을 텍스처 이미지의 위에 표시한 예이다. 도 20을 참조하면, 3D 표준 모델의 버텍스들에 대한 가중치들은 제2텍스처 이미지의 특정 부분에서 특정 색깔(예를 들면, 녹색, GRN)으로 보여 질 수 있다. 20 is an example in which the weights of FIG. 19 are displayed on a texture image. Referring to FIG. 20 , weights for vertices of the 3D standard model may be displayed in a specific color (eg, green, GRN) in a specific portion of the second texture image.

본 발명에서 컴퓨터 프로그램(124)은 3D 표준 모델의 제1텍스처 이미지에 칠해져 있는 가중치들(또는 가중치 정보)을 그대로 복사하여 3D 대상 모델의 가중치들(또는 가중치 정보)로 사용한다.In the present invention, the computer program 124 copies the weights (or weight information) painted on the first texture image of the 3D standard model as it is and uses them as weights (or weight information) of the 3D target model.

도 21은 본 발명을 설명하기 위한 3D 표준 얼굴 모델의 가중치들을 3D 대상 얼굴 모델로 복사하는 예이다. 도 21을 참조하면, 컴퓨터 프로그램(124)은 도 21의 (a)에 도시된 3D 표준 모델의 제1텍스처 이미지의 특정 부분(GRN)에 칠해져 있는 가중(weighting) 정보(예를 들면, 가중치들, 녹색 정보)을 그대로 복사하고, 복사된 가중 정보를 도 21의 (b)에 도시된 3D 대상 모델의 제2텍스처 이미지의 특정 부분(GRN)의 화소들(예를 들면, 화소 데이터)에 저장하여 상기 3D 대상 모델에 대한 스키닝 정보를 생성한다.21 is an example of copying weights of a 3D standard face model to a 3D target face model for explaining the present invention. Referring to FIG. 21 , the computer program 124 provides weighting information (eg, weights) painted on a specific part (GRN) of the first texture image of the 3D standard model shown in FIG. 21 (a). , green information) is copied as it is, and the copied weight information is stored in pixels (eg, pixel data) of a specific part (GRN) of the second texture image of the 3D target model shown in FIG. 21 ( b ). to generate skinning information for the 3D target model.

컴퓨터 프로그램(124)은 3D 표준 모델의 텍스처 정보, 생성된 스키닝 정보, 및 3D 대상 모델의 텍스처 정보를 이용하여 3D 대상 모델의 대상 뼈대와 상기 3D 대상 모델을 스키닝한다(S150).The computer program 124 skins the target skeleton of the 3D target model and the 3D target model by using the texture information of the 3D standard model, the generated skinning information, and the texture information of the 3D target model (S150).

컴퓨터 프로그램(124)은 3D 대상 모델의 버텍스들의 가중치들을 제2텍스처 이미지의 화소들에 저장된 가중치들을 선형 보간하여 생성한다.The computer program 124 generates the weights of the vertices of the 3D target model by linearly interpolating the weights stored in the pixels of the second texture image.

도 22는 도 2 도시된 방법을 수행할 수 있는 컴퓨터 시스템의 블락도이다. 도 22를 참조하면, 컴퓨터 시스템(100)은 3D 스캐너(110), 컴퓨팅 장치 (120), 및 데이터 저장 장치(130)를 포함한다.Figure 22 is a block diagram of a computer system capable of performing the method shown in Figure 2; Referring to FIG. 22 , the computer system 100 includes a 3D scanner 110 , a computing device 120 , and a data storage device 130 .

3D 스캐너(110)는 3D 대상 모델(134)에 해당하는 3D 이미지(IM)를 생성하고, 3D 이미지(IM)를 컴퓨팅 장치(120)로 전송한다.The 3D scanner 110 generates a 3D image IM corresponding to the 3D target model 134 , and transmits the 3D image IM to the computing device 120 .

컴퓨팅 장치(120)는 본 명세서에서 설명된 컴퓨터 프로그램(124)을 실행할 수 있는 프로세서(122)를 포함하고, 프로세서(122)는 3D 대상 모델의 애니메이션을 생성하기 위한 조인트들을 자동으로 셋업하는 방법을 수행할 수 있는 컴퓨터 프로그램(124)을 실행할 수 있다. 컴퓨팅 장치(120)는 3D 표준 모델(132)과 3D 대상 모델(134)를 데이터 저장 장치(130)에 저장할 수 있다. 데이터 저장 장치(130)는 PC와 같은 컴퓨팅 장치(120)에 포함된 HDD(hard disk drive) 또는 SSD(solid state drive)일 수 있다. 데이터 저장 장치(130)는 컴퓨터 프로그램(124)을 저장하고, 컴퓨터 프로그램(130)은 프로세서(122)로 로드되어 프로세서(122)에 의해 실행될 수 있다.The computing device 120 includes a processor 122 capable of executing the computer program 124 described herein, the processor 122 figuring out how to automatically set up joints for generating animations of a 3D target model. The executable computer program 124 may be executed. The computing device 120 may store the 3D standard model 132 and the 3D target model 134 in the data storage device 130 . The data storage device 130 may be a hard disk drive (HDD) or a solid state drive (SSD) included in the computing device 120 such as a PC. The data storage device 130 stores the computer program 124 , and the computer program 130 may be loaded into the processor 122 and executed by the processor 122 .

도 23은 도 2에 도시된 방법을 수행할 수 있는 컴퓨터 시스템의 블락도이다. 도 23을 참조하면, 컴퓨터 시스템(100A)은 컴퓨팅 장치(120), 데이터 저장 장치 (130), 및 컴퓨팅 장치(120)와 통신 네트워크를 통해 데이터를 주고받을 수 있는 네트워크 데이터베이스(150)를 포함할 수 있다.23 is a block diagram of a computer system capable of performing the method shown in FIG. Referring to FIG. 23 , the computer system 100A may include a computing device 120 , a data storage device 130 , and a network database 150 capable of exchanging data with the computing device 120 through a communication network. can

도 22에서는 3D 대상 모델(134)에 상응하는 3D 이미지(IM)는 3D 스캐너(110)로부터 컴퓨터 프로그램(124)으로 제공되는 실시 예가 도시되어 있으나, 도 23에서는 3D 대상 모델(134)은 네트워크 데이터베이스(150)로부터 통신 네트워크를 통해 프로세서(122)에서 실행되는 컴퓨터 프로그램(124)으로 제공된다.22 shows an embodiment in which the 3D image IM corresponding to the 3D target model 134 is provided from the 3D scanner 110 to the computer program 124 , but in FIG. 23 , the 3D target model 134 is a network database from 150 to a computer program 124 executing on processor 122 over a communications network.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiment shown in the drawings, which is merely exemplary, those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

100, 100A: 컴퓨터 시스템
110: 3D 스캐너
120: 컴퓨팅 장치
122: 프로세서
124: 컴퓨터 프로그램
130: 데이터 저장 장치
150: 네트워크 데이터베이스
100, 100A: computer system
110: 3D scanner
120: computing device
122: processor
124: computer program
130: data storage device
150: network database

Claims (10)

컴퓨터와 결합되어 컴퓨터 판독가능한 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 저장 매체에 저장된 컴퓨터 프로그램은,
셋업된 제1조인트들을 포함하고, 3D 모델에 제1텍스처 이미지가 매핑되어 형성된 3D 표준 모델을 수신하는 단계;
상기 3D 표준 모델이 수신된 후, 상기 3D 표준 모델의 기하학적 구조와 서로 다른 기하학적 구조를 가지면서, 제2텍스처 이미지를 포함하는 3D 대상 모델을 수신하는 단계;
상기 3D 대상 모델에 적용할 제2조인트들을 획득하기 위해, 상기 3D 표준 모델에 대한 제1MBB(minimum bounding box)와 상기 3D 대상 모델에 대한 제2MBB를 계산하는 단계;
상기 제1조인트들의 집합에 해당하는 표준 뼈대를 복사하여 상기 제2조인트들의 집합에 해당하는 대상 뼈대를 생성하는 단계;
상기 제1MBB와 상기 제2MBB를 이용하여 상기 대상 뼈대를 상기 3D 대상 모델에 위치시키는 단계;
상기 제2텍스처 이미지의 프로젝션(projection) 방식을 상기 제1텍스처 이미지의 프로젝션 방식과 동일하게 변환하는 단계;
상기 3D 대상 모델에 위치하는 상기 제2조인트들에 포함된 적어도 하나의 종단 조인트의 위치를 상기 3D 표준 모델의 텍스처 정보와 상기 3D 대상 모델의 텍스처 정보를 이용하여 조정하는 단계;
상기 적어도 하나의 종단 조인트에 연결된 적어도 하나의 중간 조인트의 위치를 위치가 조정된 상기 적어도 하나의 종단 조인트의 위치 정보를 이용하여 조정하는 단계; 및
상기 제2조인트들에 대한 자동 셋업이 완료된 후, 상기 3D 표준 모델의 텍스처 정보, 스키닝 정보, 및 상기 3D 대상 모델의 텍스처 정보를 이용하여 상기 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 단계를 수행하고,
상기 제1텍스처 이미지는 상기 3D 표준 모델의 질감을 표현하기 위한 텍스처 이미지이고,
상기 제2텍스처 이미지는 상기 3D 대상 모델의 질감을 표현하기 위한 텍스처 이미지인 저장 매체에 저장된 컴퓨터 프로그램.
In a computer program coupled to a computer and stored in a computer-readable storage medium,
The computer program stored in the storage medium,
Receiving a 3D standard model including the set-up first joints, the first texture image is mapped to the 3D model is formed;
after receiving the 3D standard model, receiving a 3D target model including a second texture image while having a geometric structure different from that of the 3D standard model;
calculating a first minimum bounding box (MBB) for the 3D standard model and a second MBB for the 3D target model to obtain second joints to be applied to the 3D target model;
generating a target skeleton corresponding to the set of second joints by copying a standard skeleton corresponding to the set of first joints;
locating the target skeleton in the 3D target model using the first MBB and the second MBB;
converting a projection method of the second texture image to be the same as a projection method of the first texture image;
adjusting a position of at least one longitudinal joint included in the second joints located in the 3D target model using the texture information of the 3D standard model and the texture information of the 3D target model;
adjusting a position of at least one intermediate joint connected to the at least one end joint using position information of the at least one end joint whose position is adjusted; and
After the automatic setup of the second joints is completed, the step of skinning the target skeleton and the 3D target model using the texture information of the 3D standard model, the skinning information, and the texture information of the 3D target model is performed, ,
The first texture image is a texture image for expressing the texture of the 3D standard model,
The second texture image is a computer program stored in a storage medium that is a texture image for expressing the texture of the 3D target model.
제1항에 있어서, 상기 제2텍스처 이미지의 프로젝션 방식을 상기 제1텍스처 이미지의 프로젝션 방식과 동일하게 변환하는 단계는,
상기 제2텍스처 이미지의 크기가 상기 제1텍스처 이미지의 크기와 동일해지도록 상기 제2텍스처 이미지의 크기를 조정하는 단계; 및
크기가 조정된 상기 제2텍스처 이미지의 프로젝션 방식을 상기 제1텍스처 이미지의 프로젝션 방식과 동일하게 맞추는 단계를 포함하는 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 1, wherein the step of converting the projection method of the second texture image to be the same as the projection method of the first texture image,
adjusting the size of the second texture image so that the size of the second texture image is the same as the size of the first texture image; and
and adjusting the size-adjusted projection method of the second texture image to be the same as the projection method of the first texture image.
제1항에 있어서,
상기 3D 표준 모델의 텍스처 정보와 상기 3D 대상 모델의 텍스처 정보 각각은 UV 맵 값들인 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 1,
A computer program stored in a storage medium, wherein each of the texture information of the 3D standard model and the texture information of the 3D target model is UV map values.
제1항에 있어서, 상기 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 단계는,
상기 제1텍스처 이미지의 가중치들을 복사하는 단계;
복사된 가중치들을 상기 제2텍스처 이미지의 화소들에 저장하여 상기 3D 대상 모델에 대한 상기 스키닝 정보를 생성하는 단계; 및
상기 3D 표준 모델의 텍스처 정보, 생성된 스키닝 정보, 및 상기 3D 대상 모델의 텍스처 정보를 이용하여 상기 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 단계를 포함하는 저장 매체에 저장된 컴퓨터 프로그램.
The method of claim 1, wherein the skinning of the target skeleton and the 3D target model comprises:
copying weights of the first texture image;
generating the skinning information for the 3D target model by storing the copied weights in pixels of the second texture image; and
and skinning the target skeleton and the 3D target model using the texture information of the 3D standard model, the generated skinning information, and the texture information of the 3D target model.
제4항에 있어서,
상기 3D 대상 모델의 버텍스들의 가중치들을 상기 제2텍스처 이미지의 화소들에 저장된 가중치들을 선형 보간하여 생성하는 단계를 더 수행하는 저장 매체에 저장된 컴퓨터 프로그램.
5. The method of claim 4,
and generating the weights of the vertices of the 3D target model by linearly interpolating the weights stored in the pixels of the second texture image.
컴퓨터를 이용하여 3D 대상 모델에 대상 조인트들을 자동으로 셋업하는 방법에 있어서,
셋업된 표준 조인트들을 포함하고, 3D 모델에 제1텍스처 이미지가 매핑되어 형성된 3D 표준 모델을 수신하는 단계;
상기 3D 표준 모델이 수신된 후, 상기 3D 표준 모델의 기하학적 구조와 서로 다른 기하학적 구조를 가지면서, 제2텍스처 이미지를 포함하는 상기 3D 대상 모델을 수신하는 단계;
상기 3D 대상 모델에 적용할 상기 대상 조인트들을 획득하기 위해, 상기 3D 표준 모델에 대한 제1MBB(minimum bounding box)와 상기 3D 대상 모델에 대한 제2MBB를 계산하는 단계;
상기 표준 조인트들의 집합에 해당하는 표준 뼈대를 복사하여 상기 대상 조인트들의 집합에 해당하는 대상 뼈대를 생성하는 단계;
상기 제1MBB와 상기 제2MBB를 이용하여 상기 대상 뼈대를 상기 3D 대상 모델에 위치시키는 단계;
상기 제2텍스처 이미지의 규격을 상기 제1텍스처 이미지의 규격과 동일하게 변환하고, 상기 제2텍스처 이미지의 텍스처 프로젝션 방식을 상기 제1텍스처 이미지의 텍스처 프로젝션 방식과 동일하게 변환하는 단계;
상기 3D 대상 모델에 위치된 상기 대상 조인트들에 포함된 적어도 하나의 종단 조인트의 위치를 상기 3D 표준 모델의 텍스처 정보와 상기 3D 대상 모델의 텍스처 정보를 이용하여 조정하는 단계;
상기 적어도 하나의 종단 조인트에 연결된 적어도 하나의 중간 조인트의 위치를 위치가 조정된 상기 적어도 하나의 종단 조인트의 위치 정보를 이용하여 조정하는 단계; 및
상기 대상 조인트들에 대한 자동 셋업이 완료된 후, 상기 3D 표준 모델의 텍스처 정보, 스키닝 정보, 및 상기 3D 대상 모델의 텍스처 정보를 이용하여 상기 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 단계를 포함하고,
상기 제1텍스처 이미지는 상기 3D 표준 모델의 질감을 표현하기 위한 텍스처 이미지이고,
상기 제2텍스처 이미지는 상기 3D 대상 모델의 질감을 표현하기 위한 텍스처 이미지인 3D 대상 모델에 대상 조인트들을 자동으로 셋업하는 방법.
A method for automatically setting up target joints in a 3D target model using a computer, the method comprising:
Receiving a 3D standard model including set-up standard joints and formed by mapping a first texture image to the 3D model;
after receiving the 3D standard model, receiving the 3D target model including a second texture image while having a geometric structure different from that of the 3D standard model;
calculating a first minimum bounding box (MBB) for the 3D standard model and a second MBB for the 3D target model to obtain the target joints to be applied to the 3D target model;
creating a target skeleton corresponding to the set of target joints by copying a standard skeleton corresponding to the set of standard joints;
locating the target skeleton in the 3D target model using the first MBB and the second MBB;
converting the standard of the second texture image to be the same as that of the first texture image, and converting the texture projection method of the second texture image to be the same as the texture projection method of the first texture image;
adjusting the positions of at least one longitudinal joint included in the target joints located in the 3D target model using the texture information of the 3D standard model and the texture information of the 3D target model;
adjusting a position of at least one intermediate joint connected to the at least one end joint using position information of the at least one end joint whose position is adjusted; and
After the automatic setup of the target joints is completed, skinning the target skeleton and the 3D target model using texture information of the 3D standard model, skinning information, and texture information of the 3D target model,
The first texture image is a texture image for expressing the texture of the 3D standard model,
The method of automatically setting up target joints in a 3D target model, wherein the second texture image is a texture image for expressing the texture of the 3D target model.
제6항에 있어서,
상기 규격은 크기이고,
상기 텍스처 프로젝션 방식은 평면 프로젝션(planar projection) 방식, 원통형 프로젝션(cylindrical projection) 방식, 및 구모양 프로젝션(spherical projection) 방식 중에서 어느 하나인 3D 대상 모델에 대상 조인트들을 자동으로 셋업하는 방법.
7. The method of claim 6,
The specification is the size,
The method for automatically setting up target joints in a 3D target model, wherein the texture projection method is any one of a planar projection method, a cylindrical projection method, and a spherical projection method.
제6항에 있어서,
상기 3D 표준 모델의 텍스처 정보와 상기 3D 대상 모델의 텍스처 정보 각각은 UV 맵 값들인 3D 대상 모델에 대상 조인트들을 자동으로 셋업하는 방법.
7. The method of claim 6,
A method of automatically setting up target joints in a 3D target model, wherein each of the texture information of the 3D standard model and the texture information of the 3D target model is UV map values.
제6항에 있어서, 상기 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 단계는,
상기 제1텍스처 이미지의 가중치들을 복사하는 단계;
복사된 가중치들을 상기 제2텍스처 이미지의 화소들에 저장하여 상기 3D 대상 모델에 대한 상기 스키닝 정보를 생성하는 단계; 및
상기 3D 표준 모델의 텍스처 정보, 생성된 스키닝 정보, 및 상기 3D 대상 모델의 텍스처 정보를 이용하여 상기 대상 뼈대와 상기 3D 대상 모델을 스키닝하는 단계를 포함하는 3D 대상 모델에 대상 조인트들을 자동으로 셋업하는 방법.
The method of claim 6, wherein the skinning of the target skeleton and the 3D target model comprises:
copying weights of the first texture image;
generating the skinning information for the 3D target model by storing the copied weights in pixels of the second texture image; and
Automatically setting up target joints in a 3D target model, including skinning the target skeleton and the 3D target model using the texture information of the 3D standard model, the generated skinning information, and the texture information of the 3D target model Way.
제9항에 있어서,
상기 가중치들은 상기 제1텍스처 이미지의 부분의 컬러에 해당하는 3D 대상 모델에 대상 조인트들을 자동으로 셋업하는 방법.

10. The method of claim 9,
The method of automatically setting up target joints in a 3D target model, wherein the weights correspond to the color of the part of the first texture image.

KR1020210161206A 2021-11-22 2021-11-22 Method for automatically setup joints to create facial animation of 3d face model and computer program thereof KR102449987B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210161206A KR102449987B1 (en) 2021-11-22 2021-11-22 Method for automatically setup joints to create facial animation of 3d face model and computer program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210161206A KR102449987B1 (en) 2021-11-22 2021-11-22 Method for automatically setup joints to create facial animation of 3d face model and computer program thereof

Publications (1)

Publication Number Publication Date
KR102449987B1 true KR102449987B1 (en) 2022-10-04

Family

ID=83600338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210161206A KR102449987B1 (en) 2021-11-22 2021-11-22 Method for automatically setup joints to create facial animation of 3d face model and computer program thereof

Country Status (1)

Country Link
KR (1) KR102449987B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030048913A (en) * 2001-12-13 2003-06-25 삼성전자주식회사 Method and apparatus for generating texture for 3D facial model
KR20030070578A (en) * 2003-08-12 2003-08-30 학교법인고려중앙학원 Method for automatic animation of three dimensions scan face data
KR100896065B1 (en) 2007-12-17 2009-05-07 한국전자통신연구원 How to create 3-D facial expression animation
KR101102778B1 (en) 2010-04-22 2012-01-05 한국과학기술원 Method and apparatus for automating character rigging through rigging replication
KR101686028B1 (en) 2015-04-20 2016-12-13 한국과학기술원 Method and apparatus for character motion retargeting to rig-space
KR20200056764A (en) * 2018-11-15 2020-05-25 주식회사 스튜디오매크로그래프 Method for automatically set up joints to create facial animation of 3d face model and computer program
KR20210023671A (en) * 2019-08-23 2021-03-04 주식회사 예간아이티 Image processing method and image processing apparatus for generating texture of 3d content using 2d image

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030048913A (en) * 2001-12-13 2003-06-25 삼성전자주식회사 Method and apparatus for generating texture for 3D facial model
KR20030070578A (en) * 2003-08-12 2003-08-30 학교법인고려중앙학원 Method for automatic animation of three dimensions scan face data
KR100896065B1 (en) 2007-12-17 2009-05-07 한국전자통신연구원 How to create 3-D facial expression animation
KR101102778B1 (en) 2010-04-22 2012-01-05 한국과학기술원 Method and apparatus for automating character rigging through rigging replication
KR101686028B1 (en) 2015-04-20 2016-12-13 한국과학기술원 Method and apparatus for character motion retargeting to rig-space
KR20200056764A (en) * 2018-11-15 2020-05-25 주식회사 스튜디오매크로그래프 Method for automatically set up joints to create facial animation of 3d face model and computer program
KR20210023671A (en) * 2019-08-23 2021-03-04 주식회사 예간아이티 Image processing method and image processing apparatus for generating texture of 3d content using 2d image

Similar Documents

Publication Publication Date Title
EP3882861A2 (en) Method and apparatus for synthesizing figure of virtual object, electronic device, and storage medium
KR102353776B1 (en) Systems and Methods for 3D Garment Mesh Deformation and Layering for Garment Fit Visualization
EP4057234B1 (en) Method and apparatus for three-dimensional face reconstruction, and computer device, storage medium, and program product
JP5829371B2 (en) Facial animation using motion capture data
US8154544B1 (en) User specified contact deformations for computer graphics
US6434278B1 (en) Generating three-dimensional models of objects defined by two-dimensional image data
US8654130B2 (en) Computer readable medium for modifying an animation wire frame
EP0950988B1 (en) Three-Dimensional image generating apparatus
US7872654B2 (en) Animating hair using pose controllers
EP0926628A2 (en) mpparatus and method for generating progressive polygon data
CN107452049B (en) Three-dimensional head modeling method and device
US10467793B2 (en) Computer implemented method and device
CN112785674A (en) Texture map generation method, rendering method, device, equipment and storage medium
JP2001052194A (en) Reconfiguration for curved surface
KR20200056764A (en) Method for automatically set up joints to create facial animation of 3d face model and computer program
US9892485B2 (en) System and method for mesh distance based geometry deformation
WO2021009630A1 (en) Facial texture map generation using single color image and depth information
CN111382618A (en) Illumination detection method, device, equipment and storage medium for face image
US10636210B2 (en) Dynamic contour volume deformation
JP2005228110A (en) Information processing method and apparatus
US10297036B2 (en) Recording medium, information processing apparatus, and depth definition method
KR102449987B1 (en) Method for automatically setup joints to create facial animation of 3d face model and computer program thereof
CN118799440A (en) Digital human image generation method, device, equipment and readable storage medium
JP2004199301A (en) Image processor
JP7429666B2 (en) Point cloud noise removal device and program

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20211122

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20211123

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20211122

Patent event code: PA03021R01I

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220427

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220824

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220928

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220928

End annual number: 3

Start annual number: 1

PG1601 Publication of registration