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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 137
- 238000004590 computer program Methods 0.000 title claims description 64
- 230000001815 facial effect Effects 0.000 title description 14
- 230000005477 standard model Effects 0.000 claims abstract description 112
- 238000013507 mapping Methods 0.000 claims description 6
- 210000001503 joint Anatomy 0.000 description 95
- 210000000988 bone and bone Anatomy 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008921 facial expression Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000004040 coloring Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 238000007519 figuring Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 210000001154 skull base Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20036—Morphological image processing
- G06T2207/20044—Skeletonization; Medial axis transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
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
Description
본 발명은 조인트 자동 셋업 방법에 관한 것으로, 특히 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.
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),
도 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
컴퓨터 프로그램(124)은 얼굴 애니메이션이 가능하도록 3D 표준 모델(도 3a)에 대응되는 3D 메쉬 얼굴 모델(도 3b)에 조인트들을 이미 셋업해 놓은 3D 표준 모델(도 3c)을 외부 장치로부터 수신한다(S110).The
예컨대, 도 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
앞에 기재된 바와 같이, 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
기준 크기와 위치란 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
도 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
도 11은 본 발명을 설명하기 위한 얼굴 영역 MBB 수치를 정의하는 예이다.11 is an example of defining the facial region MBB value for explaining the present invention.
컴퓨터 프로그램(124)은 도 11에 도시된 바와 같이 얼굴 영역 MBB 수치를 획득할 수 있다.The
도 8 내지 도 10을 참조하여 획득된 3D 표준 모델의 얼굴 영역 MBB의 크기(예컨대, 기준 크기)와 중심점(예컨대, 위치)은 배열들(과 )로 표시되고, 3D 대상 모델의 얼굴 영역 MBB 크기(예컨대, 기준 크기)와 중심점(예컨대, 위치)은 배열들(와 )로 표시된다. 각 배열(, , , 및 , 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 class ), the face region MBB size (eg, reference size) and center point (eg, position) of the 3D target model are arranged in the arrays ( Wow ) is indicated. each array ( , , , and , 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
컴퓨터 프로그램(124)은 3D 표준 모델의 표준 뼈대(즉, 계층 구조를 갖는 제1조인트들의 집합)를 복사하여 대상 뼈대를 생성하고(S125), 단계(S120)에서 획득된 배열들(, , , 및 )을 이용하여 3D 대상 모델의 위치와 크기에 맞게 상기 대상 뼈대를 변형하고, 변형된 대상 뼈대를 상기 3D 대상 모델에 위치시킨다(S130).The
도 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.
대상 뼈대의 페이스 루트 조인트의 위치()는 수학식 1과 같이 계산된다. 이때 은 3D 표준 모델의 페이스 루트 조인트의 위치이다.The position of the face root joint of the target bone ( ) is calculated as in
[수식식 1][Formula 1]
이때, 각 배열(, , 및 )의 4칙 연산은 원소들(x, y, z) 사이의 4칙 연산으로 수행된다. 여기서, 는 스케일링 벡터로 X-축, Y-축, 및 Z-축 각각의 스케일링 팩터를 나타낸다. 는 차이 벡터로, 3D 표준 모델의 중심점과 3D 표준 모델의 페이스 루트 조인트의 위치 사이의 거리(또는 차이)를 나타낸다.At this time, each array ( , , and ) is performed as a fourth-order operation between elements (x, y, z). here, denotes a scaling factor of each of the X-axis, Y-axis, and Z-axis as a scaling vector. 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
따라서 컴퓨터 프로그램(124)은 페이스 루트 조인트의 자식 조인트들의 위치들도 변화시켜 3D 대상 모델의 크기에 맞추어 대상 뼈대의 크기를 조절한다.Accordingly, the
이를 위해, 컴퓨터 프로그램(124)은 대상 뼈대의 페이스 루트 조인트에 연결된 모든 자식 조인트들의 상대 위치()를 수학식 2에 따라 결정한다. 여기서, 상대 위치는 해당 자식 조인트의 부모 조인트에 대한 상대적인 위치를 말한다.To this end, the
[수학식 2] [Equation 2]
실시 예들에 따라, 컴퓨터 프로그램(124)이 3D 표준 모델의 제1텍스처 이미지에 대한 프로젝션 방식을 나타내는 제1프로젝션 정보를 더 수신한다면, 컴퓨터 프로그램(124)은 상기 제1프로젝션 정보를 이용하여 상기 제1텍스처 이미지에 대한 프로젝션 방식이 어떤 방식인지를 판단할(또는 알) 수 있다.According to embodiments, if the
컴퓨터 프로그램(124)은 제1텍스처 이미지에 대한 제1프로젝션 정보를 이용하여 복수의 프로젝션 방식들 중에서 상기 제1텍스처 이미지에 대한 프로젝션 방식과 동일한 프로젝션 방식을 선택하고, 선택된 프로젝션 방식을 이용하여 제2텍스처 이미지를 변환할 수 있다(S135).The
실시 예들에 따라, 컴퓨터 프로그램(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
앞에서 설명한 예들에 따라, 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
컴퓨터 프로그램(124)은 3D 대상 모델의 제2텍스처 이미지의 프로젝션 방식을 3D 표준 모델의 제1텍스처 이미지의 프로젝션 방식과 동일하게 한다.The
텍스처 이미지의 규격이나 펼쳐진 버텍스 배치 방식은 표준이 없어서 일반적으로 상기 텍스처 이미지를 제작하는 사람이 임의대로 결정한다. 그래서 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
컴퓨터 프로그램(124)에 의해 두 텍스트 이미지의 규격과 버텍스 배치 방식을 통일시키는 방법은 다음과 같다.A method of unifying the standard of two text images and the vertex arrangement method by the
컴퓨터 프로그램(124)은 3D 대상 모델의 텍스처 이미지의 크기를 3D 표준 모델의 텍스처 이미지의 크기와 동일하게 한다.The
컴퓨터 프로그램(124)은 3D 대상 모델의 텍스처 이미지의 프로젝션( projection) 방식을 3D 표준 모델의 텍스처 이미지의 프로젝션 방식과 동일하게 한다.The
도 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을 통해 계산된 스케일링 벡터(), 즉 X-축, Y-축, 및 Z-축 각각의 스케일링 팩터로 조정(scale) 한다. 도 15의 (a)와 (c)는 3D 표준 모델을 나타내고, 도 15의 (b)는 원래의 3D 대상 모델을 나타내고, 도 15의 (d)는 스케일링 벡터()로 크기 조정된 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 ( ), 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 ( ) represents the scaled 3D target model.
컴퓨터 프로그램(124)은, 3D 표준 모델의 텍스처 정보와 3D 대상 모델의 텍스처 정보를 이용하여, 단계(S130)을 통해 상기 3D 대상 모델에 위치하는 제2조인트들에 포함된 적어도 하나의 종단 조인트의 위치를 조정한다(S140).The
도 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
제일 먼저, 컴퓨터 프로그램(124)은 3D 표준 모델의 표준 뼈대의 종단 조인트와 상기 3D 표준 모델의 버텍스들 중에서 제일 가까운 버텍스를 찾는다.First, the
종단 조인트의 위치를 라 하고, 3D 표준 모델의 버텍스 위치를 라고 했을 때, 두 점들(이를 '두 위치들'이라고도 한다.) 사이의 길이(이를 '거리'라고도 한다.)는 이므로, 컴퓨터 프로그램(124)은 대응되는 두 점들 사이의 길이가 가장 작은 버텍스들을 찾는다. 찾아진 버텍스들을 라고 했을 때, 종단 조인트의 위치()는 수학식 3에 따라 계산된다.position of the end joint , and the vertex position of the 3D standard model is Called , the length (also called 'distance') between two points (this is also called 'two positions') is Therefore, the
[수학식 3][Equation 3]
여기서 는 찾아진 버텍스들()에 대응되는 3D 대상 모델에서의 버텍스들의 위치이다.here is the found vertices ( ) is the position of the vertices in the 3D target model corresponding to .
여기에서, 3D 대상 모델에서의 버텍스들의 위치()는 다음과 같은 방법으로 찾을 수 있다.Here, the positions of the vertices in the 3D target model ( ) can be found in the following way.
먼저, 컴퓨터 프로그램(124)은 전처리(pre-processing) 작업을 통해 주어진 3D 대상 모델에 대한 제2텍스처 이미지에서 모든 화소에 대해 해당 화소를 둘러싸고 있는 상기 3D 대상 모델에 대한 버텍스들의 버텍스 값들을 찾아 저장 장치에 저장해 놓는다.First, the
컴퓨터 프로그램(124)은 3D 표준 모델의 버텍스 위치()의 UV 맵 값을 알고 있기 때문에, 상기 UV 맵 값에 해당하는 제2텍스처 이미지의 화소를 둘러싼 버텍스들을 저장 장치에 저장된 버텍스 값들을 이용하여 계산한다.The
즉, 컴퓨터 프로그램(124)은 3D 대상 모델의 버텍스 위치()를 계산된 버텍스 값들을 보간하여 계산한다. 보간은 잘 알려진 무게 중심 좌표들(Barycentric Coordinates)을 이용하는 선형 보간식(linear interpolation equation)을 이용하여 수행할 수 있다. That is, the
컴퓨터 프로그램(124)은, 단계(S140)을 통해 위치가 조정된 적어도 하나의 종단 조인트의 위치에 대한 위치 정보를 이용하여, 상기 적어도 하나의 종단 조인트에 연결된 적어도 하나의 중간 조인트의 위치를 조정한다(S145). The
이전 단계(S140)까지, 컴퓨터 프로그램(124)은 3D 대상 모델의 제2조인트들에 관하여 최상위 조인트(face_root_joint)와 종단 조인트들의 위치를 최종 확정했다. 이번 단계(S145)에서, 컴퓨터 프로그램(124)은 최상위 조인트와 종단 조인트들의 중간에 위치하고 있는 여타의 조인트들의 위치를 최종 확정한다.Until the previous step S140, the
중간 조인트들의 위치 조정은 미세하기 때문에 얼굴 애니메이션에 미치는 시각적 효과가 다른 조인트들(예를 들면, 최상위 조인트와 종단 조인트들)의 위치 조정에 비해 미미할 수 있지만, 컴퓨터 프로그램(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
컴퓨터 프로그램(124)이 대상 뼈대의 중간 조인트들의 위치들을 조정하는 방법은 다음과 같다.How the
컴퓨터 프로그램(124)은 종단 조인트를 자식 조인트로 가지고 있는 중간 조인트의 새로운 위치()를 바로 전단계(S140)에서 조정된 종단 조인트들 각각의 위치 변화량의 평균 만큼 변화시켜 결정한다.The
도 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에 도시된 바와 같이, 종단 조인트( 또는 i=1 또는 2)가 전 단계(S140)에서 위치 변화량( 또는 i=1 또는 2)만큼 변한다면, 중간 조인트의 새로운 위치()는 수학식 4와 같다.17 and 18, the end joint ( or i = 1 or 2) is the amount of position change in the previous step (S140) ( or if i = 1 or 2), the new position of the intermediate joint ( ) is the same as in Equation 4.
[수학식 4][Equation 4]
도 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
컴퓨터 프로그램(124)은 3D 대상 모텔의 제2조인트들에 대한 자동 셋업(예를 들면, 3D 얼굴 모델(예를 들면, 3D 대상 모델)의 얼굴 애니메이션을 생성하기 위한 제2조인트들에 대한 자동 셋업)이 완료된 후, 3D 표준 모델의 텍스처 정보, 스키닝 정보, 및 상기 3D 대상 모델의 텍스처 정보를 이용하여 상기 3D 대상 모텔의 대상 뼈대와 상기 3D 대상 모델을 스키닝하다(S150).The
대상 뼈대와 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
도 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
컴퓨터 프로그램(124)은 3D 표준 모델의 텍스처 정보, 생성된 스키닝 정보, 및 3D 대상 모델의 텍스처 정보를 이용하여 3D 대상 모델의 대상 뼈대와 상기 3D 대상 모델을 스키닝한다(S150).The
컴퓨터 프로그램(124)은 3D 대상 모델의 버텍스들의 가중치들을 제2텍스처 이미지의 화소들에 저장된 가중치들을 선형 보간하여 생성한다.The
도 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
3D 스캐너(110)는 3D 대상 모델(134)에 해당하는 3D 이미지(IM)를 생성하고, 3D 이미지(IM)를 컴퓨팅 장치(120)로 전송한다.The
컴퓨팅 장치(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
도 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
도 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
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.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.
상기 제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.
상기 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텍스처 이미지의 가중치들을 복사하는 단계;
복사된 가중치들을 상기 제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.
상기 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 모델에 제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.
상기 규격은 크기이고,
상기 텍스처 프로젝션 방식은 평면 프로젝션(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.
상기 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.
상기 제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.
상기 가중치들은 상기 제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.
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)
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 |
-
2021
- 2021-11-22 KR KR1020210161206A patent/KR102449987B1/en active IP Right Grant
Patent Citations (7)
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 |