KR102421776B1 - 3차원 객체모델 생성 장치 및 그 방법 - Google Patents

3차원 객체모델 생성 장치 및 그 방법 Download PDF

Info

Publication number
KR102421776B1
KR102421776B1 KR1020210127251A KR20210127251A KR102421776B1 KR 102421776 B1 KR102421776 B1 KR 102421776B1 KR 1020210127251 A KR1020210127251 A KR 1020210127251A KR 20210127251 A KR20210127251 A KR 20210127251A KR 102421776 B1 KR102421776 B1 KR 102421776B1
Authority
KR
South Korea
Prior art keywords
information
dimensional
skeleton information
deep learning
learning module
Prior art date
Application number
KR1020210127251A
Other languages
English (en)
Inventor
윤광열
박해윤
이상기
장우일
김명현
Original Assignee
주식회사 넥스트도어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넥스트도어 filed Critical 주식회사 넥스트도어
Priority to KR1020210127251A priority Critical patent/KR102421776B1/ko
Priority to PCT/KR2022/001020 priority patent/WO2023048347A1/ko
Priority to KR1020220073851A priority patent/KR102473287B1/ko
Application granted granted Critical
Publication of KR102421776B1 publication Critical patent/KR102421776B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • 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/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)

Abstract

3차원 객체모델 생성 장치 및 그 방법이 제공된다. 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치는, 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하고, 딥러닝 모듈을 통해 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하며, 변환된 3차원 스켈레톤 정보를 기초로 대상 객체에 대한 3차원 모델을 생성할 수 있다. 이에 따라, 2차원 이미지로부터 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다.

Description

3차원 객체모델 생성 장치 및 그 방법{APPARATUS FOR GENERATING 3-DIMENSIONAL OBJECT MODEL AND METHOD THEREOF}
본 개시는 3차원 객체모델 생성 장치 및 그 방법에 관한 것으로, 보다 상세하게는 2차원 이미지로부터 대상 객체에 대한 3차원 모델을 생성하는 장치 및 그 장치에서 수행되는 방법에 관한 것이다.
3차원 모델을 이용하면 대상 객체의 자세, 동작 등이 보다 정밀하고 정확하게 분석될 수 있다. 이에 따라, 골프, 재활 치료 등의 분야에서 사람의 3차원 모델을 이용하여 사용자 동작(e.g. 스윙 동작, 재활 운동 동작)의 정확도를 분석하려는 시도가 이루어지고 있다. 또한, 이에 대한 일환으로, 사람의 동작을 촬영한 2차원 이미지로부터 사람에 대한 3차원 모델을 생성하는 방법에 대한 연구도 활발하게 이루어지고 있다.
최근에는, 복수의 2차원 이미지를 이용하여 대상 객체를 3차원으로 모델링하는 방법이 제안된 바 있다. 제안된 방법은 카메라를 회전시키면서 대상 객체를 촬영하여 복수의 2차원 이미지를 획득하고, 획득된 2차원 이미지들을 종합하여 대상 객체에 대한 3차원 모델을 생성하고 있다. 그러나, 제안된 방법은 서로 다른 회전 각도로 촬영된 다수의 2차원 이미지를 요구하므로, 다양한 분야에서 폭넓게 활용되기 어려우며, 단일 시점의 2차원 이미지로부터는 3차원 모델을 생성할 수 없다는 명확한 한계가 있다.
한국등록특허 제10-1884565호(2018.07.26 등록)
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 2차원 이미지로부터 대상 객체에 대한 3차원 모델을 정확하게 생성할 수 있는 장치 및 그 장치에서 수행되는 방법을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 정확하게 변환할 수 있는 방법을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 정확하게 변환할 수 있는 딥러닝 모듈을 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치는, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리, 상기 저장된 하나 이상의 인스트럭션들을 실행함으로써, 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 동작, 딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 동작 및 상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 동작을 수행하는 프로세서를 포함할 수 있다.
몇몇 실시예들에서, 상기 딥러닝 모듈은, GCN(Graph Convolutional Networks) 기반의 모듈이고, 상기 2차원 스켈레톤 정보를 입력받아 특징 데이터를 추출하는 인코더와 상기 추출된 특징 데이터를 디코딩하여 상기 3차원 스켈레톤 정보를 출력하는 디코더를 포함할 수 있다.
몇몇 실시예들에서, 상기 프로세서는 상기 2차원 이미지에서 상기 2차원 스켈레톤 정보 외의 다른 객체 정보를 더 획득하고, 상기 변환하는 동작은, 상기 2차원 스켈레톤 정보와 상기 다른 객체 정보를 상기 딥러닝 모듈에 입력하여 상기 3차원 스켈레톤 정보를 획득하는 동작을 포함할 수 있다.
몇몇 실시예들에서, 상기 딥러닝 모듈은 학습용 2차원 스켈레톤 정보로부터 예측된 3차원 스켈레톤 정보와 정답 정보 간의 오차에 기초하여 학습된 것이고, 상기 오차는 무게 중심 오차, 뼈 길이 오차 및 관절의 각도 오차 중 적어도 하나를 포함할 수 있다.
몇몇 실시예들에서, 상기 딥러닝 모듈은 객체의 도메인 정보에 기초하여 보정된 2차원 스켈레톤 정보를 이용하여 학습된 것이고, 상기 보정은 스켈레톤을 구성하는 키포인트 간의 신규 연결선 추가 및 연결선 강화 중 적어도 하나를 포함할 수 있다. 이때, 상기 도메인은 객체의 동작 특성에 기초하여 구분되도록 정의된 것일 수 있다.
몇몇 실시예들에서, 상기 프로세서는, 상기 2차원 이미지에서 상기 2차원 스켈레톤 정보 외의 다른 객체 정보를 더 획득하고, 상기 다른 객체 정보를 기초로 생성된 3차원 모델을 보정하는 동작을 더 수행하되, 상기 보정하는 동작은, 상기 생성된 3차원 모델로부터 3차원 스켈레톤 정보를 추출하는 동작, 상기 다른 객체 정보에 따라 상기 추출된 3차원 스켈레톤 정보를 보정하는 동작 및 상기 보정된 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 다시 생성하는 동작을 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 방법은, 컴퓨팅 장치에서 수행되는 방법으로서, 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 단계, 딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 단계 및 상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 단계를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 단계, 딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 단계 및 상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장될 수 있다.
상술한 본 개시의 몇몇 실시예들에 따르면, 대상 객체의 2차원 이미지에서 추출된 다양한 객체 정보를 이용하여 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다. 예를 들어, 대상 객체의 자세 정보, 모양 정보, 뼈 정보, 관절 정보, 신체 부위 정보 등을 이용함으로써 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다. 나아가, 생성된 3차원 모델을 통해 대상 객체의 자세, 동작 등이 보다 정확하게 분석될 수 있다.
또한, 단일 시점의 2차원 이미지로부터 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다.
또한, 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 변환되고, 3차원 스켈레톤 정보와 객체 정보를 기초로 대상 객체에 대한 3차원 모델이 생성될 수 있다. 이에 따라, 대상 객체에 대한 3차원 모델이 보다 정확하게 생성될 수 있다. 가령, 2차원 이미지에 폐색 또는 왜곡이 존재하는 등의 이유로 2차원 스켈레톤 정보에 일부 오류가 존재하는 경우에도, 3차원 스켈레톤 정보를 통해 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다. 또한, 2차원 스켈레톤 정보에 오류가 거의 없더라고 하더라도, 깊이 차원의 스켈레톤 정보를 더 이용함으로써 보다 완성도 높은 3차원 모델이 생성될 수 있다.
또한, 그래프 구조의 데이터에 적합한 GCN(Graph Convolutional Networks) 기반의 변환 모듈을 이용함으로써, 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 정확하게 변환될 수 있다.
또한, 무게 중심 오차, 뼈 길이 오차, 관절 각도 오차 등과 같은 다양한 오차에 기초하여 변환 모듈을 학습시킴으로써, 스켈레톤 정보의 변환 정확도가 크게 향상될 수 있다.
또한, 도메인의 동작 특성을 반영하여 보정된 2차원 스켈레톤 정보를 이용하여 변환 모듈을 학습시킴으로써, 스켈레톤 정보의 변환 정확도가 더욱 향상될 수 있다.
또한, 2차원 이미지에서 추출된 객체 정보 등을 이용하여 3차원 모델을 보정함으로써, 대상 객체에 대한 3차원 모델이 더욱 정교하게 생성될 수 있다.
본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치와 그의 입출력 데이터를 설명하기 위한 예시적인 도면이다.
도 2는 본 개시의 제1 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다.
도 3은 본 개시의 제1 실시예에 따른 3차원 객체모델 생성 방법을 부연 설명하기 위한 예시적인 도면이다.
도 4는 본 개시의 몇몇 실시예들에 따른 2차원 스켈레톤 정보 추출 방식을 설명하기 위한 예시적인 도면이다.
도 5는 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다.
도 6은 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법을 부연 설명하기 위한 예시적인 도면이다.
도 7 내지 도 10은 본 개시의 몇몇 실시예들에 따른 변환 모듈의 구조 및 학습 방법을 설명하기 위한 예시적인 도면이다.
도 11은 본 개시의 제1 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법을 설명하기 위한 예시적인 도면이다.
도 12는 본 개시의 제2 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법을 설명하기 위한 예시적인 도면이다.
도 13은 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다.
도 14는 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법을 부연 설명하기 위한 예시적인 도면이다.
도 15는 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치를 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성요소를 다른 구성요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 또 다른 구성요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 개시에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 개시의 다양한 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치(1)와 그의 입출력 데이터를 설명하기 위한 예시적인 도면이다.
도 1에 도시된 바와 같이, 3차원 객체모델 생성 장치(1)는 대상 객체(target object)의 2차원 이미지(3)를 입력받고 대상 객체에 대한 3차원 모델(5)을 생성하여 출력하는 컴퓨팅 장치일 수 있다. 예를 들어, 3차원 객체모델 생성 장치(1)는 대상 객체를 촬영한 2차원 이미지(3)로부터 대상 객체에 대한 3차원 메쉬(mesh) 모델(5)을 생성할 수 있다. 3차원 객체모델 생성 장치(1)가 3차원 모델(5)을 생성하는 구체적인 방법에 관하여서는 추후 도 2 이하의 도면을 참조하여 상세하게 설명하도록 한다. 이하에서는, 설명의 편의상 3차원 객체모델 생성 장치(1)를 "생성 장치(1)"로 약칭하도록 한다.
2차원 이미지(3)는 대상 객체에 관한 이미지로서, 연속된 복수의 프레임 이미지로 구성된 비디오 이미지(도 3의 30 참조), 특정 프레임 이미지, 단일 이미지 등이 될 수 있다. 예를 들어, 2차원 이미지(3)는 대상 객체의 동작을 비디오 카메라로 촬영함으로써 획득된 비디오 이미지 또는 비디오 이미지를 구성하는 특정 프레임의 이미지일 수 있다.
대상 객체의 유형은 도시된 바와 같이 사람일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니며, 대상 객체는 다른 유형의 객체(e.g. 동물)가 될 수도 있다. 다만, 이해의 편의를 제공하기 위해, 이하에서는 대상 객체의 유형이 "사람"인 것을 가정하여 설명을 이어가도록 한다.
3차원 모델(5)의 유형은 도시된 바와 같이 메쉬 모델일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니며, 3차원 모델(5)은 다른 유형의 모델(e.g. 복셀(voxel) 모델)이 될 수도 있다. 다만, 이해의 편의를 제공하기 위해, 이하에서는 3차원 모델(5)의 유형이 "메쉬 모델"인 것을 가정하여 설명을 이어가도록 한다.
몇몇 실시예들에서는, 생성 장치(1)가 3차원 모델(5)을 이용하여 대상 객체의 동작을 분석할 수도 있다. 구체적으로, 생성 장치(1)는 대상 객체의 동작이 촬영된 비디오 이미지(즉, 복수의 프레임 이미지)로부터 대상 객체의 동작을 모사하는 3차원 모델(e.g. 5)을 연속적으로 생성할 수 있다. 그리고, 생성 장치(1)는 3차원 모델(e.g. 5)을 분석하여 대상 객체의 동작을 보다 정밀하고 정확하게 판단할 수 있다. 가령, 생성 장치(1)는 사람 객체의 동작을 모사하는 3차원 모델(e.g. 5)을 분석함으로써 동작의 정확도를 판단할 수 있다. 보다 구체적인 예로서, 생성 장치(1)는 골프 동작, 재활 운동 동작 등과 같이 사람이 행하는 운동 동작의 정확도를 판단할 수 있다. 또한, 정확도가 기준치 이하인 경우, 생성 장치(1)는 정확한 운동 동작을 모사하는 3차원 모델을 생성하여 제공할 수도 있다.
한편, 도 1은 생성 장치(1)가 하나의 컴퓨팅 장치로 구현된 것을 예로써 도시하고 있으나, 생성 장치(1)는 복수의 컴퓨팅 장치로 구현될 수도 있다. 예를 들어, 생성 장치(1)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 제2 기능은 제2 컴퓨팅 장치에서 구현될 수 있다. 또는, 생성 장치(1)의 특정 기능이 복수의 컴퓨팅 장치에서 구현될 수도 있다.
컴퓨팅 장치는 예를 들어 노트북, 데스크톱(desktop), 랩탑(laptop), 등이 될 수 있으나, 이에 한정되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 컴퓨팅 장치의 일 예시에 관하여서는 도 15를 참조하도록 한다.
지금까지 도 1을 참조하여 본 개시의 몇몇 실시예들에 따른 생성 장치(1)와 그의 입출력 데이터에 대하여 설명하였다. 이하에서는, 도 2 이하의 도면을 참조하여 생성 장치(1)에서 수행될 수 있는 3차원 객체모델 생성 방법에 대하여 상세하게 설명하도록 한다.
이하에서 후술될 3차원 객체모델 생성 방법의 각 단계는 컴퓨팅 장치(e.g. 1)의 프로세서에 의해 실행될 수 있는 하나 이상의 인스트럭션들(instructions)로 구현될 수 있다. 예를 들어, 후술될 방법의 각 단계는 생성 장치(1)의 프로세서에 의해 실행될 수 있는 하나 이상의 인스트럭션들로 구현될 수 있다. 이하에서는, 이해의 편의를 제공하기 위해, 후술될 방법의 모든 단계가 도 1에 예시된 생성 장치(1)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 특정 단계(동작)의 주어가 생략된 경우 생성 장치(1)에 의하여 수행되는 것으로 이해될 수 있다. 다만, 경우에 따라 후술될 방법의 일부 단계는 다른 컴퓨팅 장치에서 수행될 수도 있다.
도 2는 본 개시의 제1 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 2에 도시된 바와 같이, 본 실시예에 따른 방법은 2차원 이미지에서 객체 정보를 추출하는 단계 S120에서 시작될 수 있다. 구체적으로, 도 3에 도시된 바와 같이, 생성 장치(1)는 추출 모듈(10)을 통해 대상 객체의 2차원 이미지(31)에서 다양한 객체 정보(32)를 추출할 수 있다. 2차원 이미지(31)는 예를 들어 비디오 이미지(30)를 구성하는 복수의 프레임 이미지 중 하나일 수 있다.
객체 정보(32)는 예를 들어 자세(pose) 정보, 모양(shape) 정보, 방향(orientation) 정보, 신체 부위(body part) 정보, 동작 정보, 뼈 정보, 관절 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
자세 정보는 예를 들어 자세의 클래스(class), 2차원 스켈레톤 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 2차원 스켈레톤 정보는 예를 들어 관절 등의 부위에 대응되는 키포인트(key-point)의 2차원 위치 좌표와 키포인트의 연결 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 모양 정보는 신체 전체 또는 부위의 모양 또는 부피 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 방향 정보는 대상 객체 또는 카메라의 방향 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 신체 부위 정보는 신체 부위 별 면적, 무게 중심 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 동작 정보는 동작 클래스, 키포인트의 이동 속도 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 뼈 정보는 뼈의 길이, 방향성 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 뼈의 길이는 예를 들어 2차원 스켈레톤을 구성하는 키포인트 사이의 거리에 기초하여 산출될 수 있을 것이나, 이에 한정되는 것은 아니다.
또한, 관절 정보는 관절의 각도 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 관절의 각도는 예를 들어 2차원 스켈레톤을 구성하는 키포인트가 이루는 각도에 기초하여 산출될 수 있을 것이나, 이에 한정되는 것은 아니다.
추출 모듈(10)은 객체 정보(32)에 대한 추출 기능을 구비한 모듈로서, 어떠한 방식으로 구현되더라도 무방하다. 가령, 추출 모듈(10)은 이미지 분석에 특화된 CNN(Convolutional Neural Networks) 기반의 딥러닝 모듈로 구현될 수도 있고, 딥러닝에 기반하지 않은 이미지 분석 모듈(e.g. 에지 검출 모듈 등)로 구현될 수도 있다.
또한, 추출 모듈(10)은 복수개의 모듈로 구성될 수도 있다. 가령, 추출 모듈(10)은 대상 객체의 자세 정보(e.g. 2차원 스켈레톤 정보)를 추출하는 모듈, 신체 부위 정보를 추출하는 모듈 등을 포함하도록 구성될 수도 있다.
보다 구체적인 예로서, 도 4에 도시된 바와 같이, 추출 모듈(10)은 CPM(Convolutional Pose Machine) 기반의 딥러닝 모듈(11)을 포함할 수 있고, 생성 장치(1)는 딥러닝 모듈(11)을 통해 2차원 이미지(31)에서 관절 등에 대응되는 복수의 키포인트(e.g. 34)를 검출함으로써 2차원 스켈레톤 정보(35)를 추출할 수 있다. 앞서 언급한 바와 같이, 2차원 스켈레톤 정보(35)는 검출된 키포인트(e.g. 34)와 이의 2차원 좌표(e.g. X1, Y1)로 구성된 정보일 수 있다. 당해 기술 분야의 종사자라면, CPM의 구조 및 동작 원리에 대하여 이미 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.
다시 도 2를 참조하여 설명한다.
단계 S140에서, 추출된 객체 정보를 기초로 대상 객체에 대한 3차원 모델이 생성될 수 있다. 구체적으로, 도 3에 도시된 바와 같이, 생성 장치(1)는 생성 모듈(20)을 통해 객체 정보(32)로부터 대상 객체에 대한 3차원 모델(33)을 생성할 수 있다.
생성 모듈(20)은 객체 정보(32)를 기초로 3차원 모델을 생성하는 모델로서, 어떠한 방식으로 구현되더라도 무방하다. 가령, 생성 모듈(20)은 객체 정보(32)를 파라미터로 이용하여 대상 객체에 대한 3차원 메쉬 모델을 생성(렌더링)하는 모듈일 수 있다. 보다 구체적인 예로서, 대상 객체가 사람인 경우, 생성 모듈(20)은 예를 들어 SMPL(Skinned Multi-Person Linear Model) 기반의 모듈일 수 있다. 그러나, 이에 한정되는 것은 아니다. 당해 기술 분야의 종사자라면, SMPL에 대해 이미 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.
지금까지 도 2 내지 도 4를 참조하여 본 개시의 제1 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하였다. 상술한 방법에 따르면, 2차원 이미지에서 자세 정보(e.g. 2차원 스켈레톤 정보), 신체 부위 정보, 모양 정보 등과 같은 다양한 객체 정보를 추출하고, 추출된 객체 정보를 이용함으로써 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다.
이하에서는, 도 5 내지 도 12를 참조하여 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하도록 한다. 다만, 본 개시의 명료함을 위해, 앞선 실시예들과 중복되는 내용에 대한 설명은 생략하도록 한다.
도 5는 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 5에 도시된 바와 같이, 본 실시예에 따른 방법은 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환함으로써 대상 객체에 대한 3차원 모델을 보다 정확하게 생성하는 방법에 관한 것이다.
도시된 바와 같이, 본 실시예에 따른 방법 또한 대상 객체의 2차원 이미지에서 객체 정보를 추출하는 단계 S220에서 시작될 수 있다. 구체적으로, 도 6에 도시된 바와 같이, 생성 장치(1)는 추출 모듈(10)을 통해 2차원 이미지(51)에서 객체 정보(52)를 추출할 수 있다. 본 단계 S220은 상술한 단계 S120과 동일한 바, 이에 대한 설명은 생략하도록 한다.
단계 S240에서, 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 변환될 수 있다. 구체적으로, 도 6에 도시된 바와 같이, 생성 장치(1)는 변환 모듈(40)을 통해 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환할 수 있다. 예를 들어, 생성 장치(1)는 2차원 스켈레톤 정보와 객체 정보(52)를 변환 모듈(40)에 입력하고 변환 모듈(40)로부터 3차원 스켈레톤 정보를 획득할 수 있다. 여기서, 3차원 스켈레톤 정보는 키포인트의 위치 좌표가 3차원 좌표(즉, 깊이 정보를 더 포함함)로 이루어진 스켈레톤 정보를 의미할 수 있다.
본 개시의 다양한 실시예들에서, 변환 모듈(40)은 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하도록 학습된 딥러닝 모듈일 수 있다. 변환 모듈(40)의 구조 및 학습 방법에 관하여서는 추후 도 7 내지 도 12를 참조하여 상세하게 설명하도록 한다.
다시 도 5를 참조하여 설명한다.
단계 S260에서, 3차원 스켈레톤 정보와 그 외의 다른 객체 정보를 기초로 대상 객체에 대한 3차원 모델이 생성될 수 있다. 구체적으로, 도 6에 도시된 바와 같이, 생성 장치(1)는 생성 모듈(20)을 통해 3차원 스켈레톤 정보와 다른 객체 정보(52)로부터 대상 객체에 대한 3차원 모델(53)을 생성할 수 있다. 이러한 경우, 대상 객체의 3차원 모델(53)이 더욱 정확하게 생성될 수 있는데, 이는 3차원 스켈레톤 정보가 추가 정보(즉, 깊이 정보)를 제공할 수 있고, 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 과정에서 2차원 스켈레톤 정보에 포함된 오류가 보정될 수 있기 때문이다. 가령, 2차원 이미지에 폐색(occlusion) 또는 왜곡이 존재하는 경우 2차원 스켈레톤 정보에 일부 오류가 포함될 수 있는데, 변환 모듈(40)이 객체 정보(52)를 반영하여 3차원 스켈레톤 정보를 생성하는 과정에서 이러한 오류 정보가 보정될 수 있다.
단계 S260은 상술한 단계 S140과 거의 동일한 바, 더 이상의 설명은 생략하도록 한다.
이하에서는, 도 7 내지 도 12를 참조하여 변환 모듈(40)의 구조, 학습 방법 및 변환 정확도 향상 방법에 관한 다양한 실시예들에 대하여 설명하도록 한다. 또한, 이해의 편의를 제공하기 위해, 도면에 따라 변환 모듈(40)의 참조 번호가 변경해가며 설명을 이어가도록 한다.
상술한 바와 같이, 변환 모듈(40)은 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하도록 학습된 딥러닝 모듈일 수 있다. 구체적으로, 변환 모듈(40)은 객체 정보(즉, 2차원 스켈레톤 정보 외의 객체 정보; 도 6의 Feature)를 고려하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하도록 학습된 딥러닝 모듈일 수 있다.
변환 모듈(40)은 다양한 유형의 딥러닝 모듈로 구현될 수 있다.
몇몇 실시예들에서는, 도 7에 도시된 바와 같이, 변환 모듈(41)이 GCN(Graph Convolutional Networks) 기반의 딥러닝 모듈로 구현될 수 있다. 이러한 경우, 변환 모듈(41)의 성능(즉, 변환 정확도)이 크게 향상될 수 있는데, 이는 2차원 스켈레톤 정보(61)가 그래프 구조를 갖기 때문에, GCN을 이용하면 2차원 스켈레톤 정보(61)에 내포된 특징들이 잘 추출될 수 있기 때문이다. 또한, 객체 정보(e.g. 52)도 키포인트(즉, 그래프의 노드) 또는 키포인트 간의 관계(즉, 그래프의 간선)에 관한 특징 정보이기 때문에(e.g. 뼈 정보는 간선의 특징 정보로 볼 수 있음), GCN을 이용하면 2차원 스켈레톤 정보(61)와 객체 정보(e.g. 52)를 종합적으로 고려하여 정보 변환에 필요한 특징들이 잘 추출될 수 있기 때문이다. 당해 기술 분야의 종사자라면, GCN의 구조 및 동작 원리에 대하여 충분히 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다. 본 실시예에서, 2차원 스켈레톤 정보(61)는 인접 매트릭스(63; Adj-M)와 피처 매트릭스(62; Fea-M)의 형태로 변환 모듈(41)에 입력될 수 있다. 가령, 키포인트의 연결 정보는 인접 매트릭스(63) 형태로 입력되고, 키포인트의 위치 좌표는 피처 매트릭스(62)의 형태로 입력될 수 있다. 또한, 다양한 객체 정보(e.g. 52)도 피처 매트릭스(e.g. 62)의 형태로 변환 모듈(41)에 입력될 수 있다.
변환 모듈(40)의 세부 구조는 다양하게 설계 및 구현될 수 있다.
몇몇 실시예들에서는, 도 8에 도시된 바와 같이, 변환 모듈(42)이 인코더(E; Encoder) 및 디코더(D; Decoder) 구조의 딥러닝 모듈로 구현될 수 있다. 이러한 딥러닝 모듈의 예로는 오토인코더(auto-encoder), VAE(Variational AutoEncoder), U-net, W-net 등을 들 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 본 실시예에서, 인코더(E)는 입력된 2차원 스켈레톤 정보(71)와 객체 정보(미도시)로부터 특징 데이터(e.g. 잠재 벡터)를 추출할 수 있고, 디코더(D)는 추출된 특징 데이터를 디코딩하여 3차원 스켈레톤 정보(72)를 출력할 수 있다. 그리고, 인코더(E) 및/또는 디코더(D)는 GCN 기반으로 이루어질 수 있다.
또한, 몇몇 실시예들에서는, 도 9에 도시된 바와 같이, 변환 모듈(43)을 구성하는 인코더(UE) 및 디코더(UD)가 개념적으로 U자형 구조를 가질 수 있다. 그리고, 인코더(UE) 및/또는 디코더(UD)는 GCN 기반으로 이루어질 수 있다. 본 실시예에서, 인코더(UE)는 입력된 2차원 스켈레톤 정보와 객체 정보에 대해 다운샘플링(down-sampling) 프로세스를 수행하여 추상화 레벨이 상이한 복수의 특징 데이터(e.g. 73 내지 75)를 추출할 수 있다. 가령, 인코더(UE)는 복수의 GCN 블록(레이어)를 통해 그래프 컨볼루션(graph convolution) 연산을 반복적으로 수행함으로써 보다 집약된 특징을 갖는 데이터(e.g. 특징 데이터 75는 특징 데이터 74보다 집약된 특징을 포함하고 있음)를 연속적으로 추출할 수 있다. 그리고, 디코더(UD)는 추출된 복수의 추출 데이터(e.g. 73 내지 75)에 대해 업샘플링(up-sampling) 프로세스를 수행할 수 있다. 본 실시예에 따른 변환 모듈(43)은 인코더(UE)에 의해 추출된 특징 데이터(e.g. 73 내지 75)와 디코더(UD)에 의해 생성된 특징 데이터(e.g. 76, 77)를 함께 활용함으로써 높은 변환 정확도를 보장할 수 있다. 경우에 따라, 변환 모듈(43)은 도 9에 예시된 U자형 구조가 반복적으로 형성되어 있는 W자형 구조를 가질 수도 있다.
변환 모듈(40)은 하나 이상의 딥러닝 모듈로 구성될 수 있다.
몇몇 실시예들에서는, 변환 모듈(40)이 하나의 딥러닝 모듈로 구성될 수 있다. 예를 들어, 변환 모듈(40)은 2차원 스켈레톤 정보와 다양한 객체 정보(e.g. 뼈 정보, 관절 정보, 신체 부위 정보 등)를 입력받고 3차원 스켈레톤 정보를 출력하도록 학습된 딥러닝 모듈일 수 있다. 이러한 경우, 변환 모듈(40)은 다양한 객체 정보를 종합적으로 고려하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보를 변환할 수 있게 된다.
다른 몇몇 실시예들에서는, 변환 모듈(40)이 서로 다른 객체 정보를 입력받는 복수개의 딥러닝 모듈로 구성될 수 있다. 예를 들어, 도 10에 도시된 바와 같이, 변환 모듈(40)이 서로 다른 객체 정보(72, 74)를 입력받는 제1 딥러닝 모듈(44)과 제2 딥러닝 모듈(45)을 포함하도록 구성될 수 있다. 여기서, 제1 딥러닝 모듈(44)은 2차원 스켈레톤 정보(81)와 제1 객체 정보(82; e.g. 뼈 정보)를 입력받아 3차원의 제1 스켈레톤 정보(83)를 출력할 수 있고, 제2 딥러닝 모듈(45)은 2차원 스켈레톤 정보(81)와 제2 객체 정보(84; e.g. 관절 정보)를 입력받아 3차원의 제2 스켈레톤 정보(85)를 출력할 수 있다. 이러한 경우, 생성 장치(1)는 제1 스켈레톤 정보(83)와 제2 스켈레톤 정보(85)를 종합(e.g. 평균 등)하여 생성 모듈(20)로 입력될 3차원 스켈레톤 정보를 산출할 수 있다. 참고로, 딥러닝 모듈(44, 45)이 GCN 기반의 모듈인 경우, 객체 정보(82, 84)는 피처 매트릭스의 형태로 딥러닝 모듈(44, 45)에 입력될 수 있다.
변환 모듈(40)은 학습용 2차원 스켈레톤 정보, 학습용 객체 정보 및 정답 정보(즉, 3차원 스켈레톤 정답 정보)로 구성된 학습 데이터를 이용하여 학습될 수 있다. 가령, 변환 모듈(40)은 학습용 2차원 스켈레톤 정보 및 학습용 객체 정보로부터 예측된 3차원 스켈레톤 정보(이하, "예측 정보"로 약칭함)와 정답 정보 간의 오차를 감소시키는 방향으로 학습될 수 있다. 다만, 구체적인 오차의 종류는 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서, 변환 모듈(40)은 무게 중심 오차에 기초하여 학습될 수 있다. 여기서, 무게 중심 오차는 예측 정보로부터 산출된 무게 중심과 정답 정보로부터 산출된 무게 중심의 차이에 기초하여 산출될 수 있다. 또는, 무게 중심 오차는 변환 모듈(40)에 입력된 학습용 2차원 스켈레톤 정보로부터 산출된 무게 중심과 예측 정보로부터 산출된 무게 중심의 차이에 기초하여 산출될 수도 있다. 본 실시예에서, 무게 중심 오차는 신체 부위 별로 산출될 수도 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 본 실시예에 따르면, 변환 모듈(40)이 입력된 2차원 스켈레톤 정보의 무게 중심을 더욱 고려하여 3차원 스켈레톤 정보를 예측할 수 있게 된다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 뼈 길이 오차에 기초하여 학습될 수 있다. 여기서, 뼈 길이 오차는 예측 정보로부터 산출된 뼈 길이와 정답 정보로부터 산출된 뼈 길이의 차이에 기초하여 산출될 수 있다. 앞서 언급한 바와 같이, 뼈 길이는 키포인트 간의 거리에 기초하여 산출될 수 있다. 본 실시예에 따르면, 변환 모듈(40)이 입력된 2차원 스켈레톤 정보 또는 뼈 정보에 따른 뼈 길이를 더욱 고려하여 3차원 스켈레톤 정보를 예측할 수 있게 된다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 관절의 각도 오차에 기초하여 학습될 수 있다. 여기서, 관절의 각도 오차는 예측 정보로부터 산출된 관절 각도와 정답 정보로부터 산출된 관절 각도의 차이에 기초하여 산출될 수 있다. 본 실시예에 따르면, 변환 모듈(40)이 입력된 2차원 스켈레톤 정보 또는 관절 정보에 따른 관절 각도를 더욱 고려하여 3차원 스켈레톤 정보를 예측할 수 있게 된다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 대칭 오차에 기초하여 학습될 수 있다. 예를 들어, 변환 모듈(40)에 입력된 학습용 2차원 스켈레톤이 대칭 구조를 갖는 경우(e.g. 상하대칭, 좌우대칭), 예측된 3차원 스켈레톤의 대칭 정도에 기초한 오차를 감소시키는 방향으로 변환 모듈(40)이 학습될 수 있다. 본 실시예에 따르면, 대칭 구조를 갖는 2차원 스켈레톤에 대한 변환 정확도가 보다 향상될 수 있게 된다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 프로젝션(projection) 오차에 기초하여 학습될 수 있다. 여기서, 프로젝션 오차는 프로젝션 연산을 통해 예측 정보로부터 생성된 2차원 스켈레톤 정보와, 변환 모듈(40)에 입력된 학습용 2차원 스켈레톤 정보와의 차이에 기초하여 산출될 수 있다. 본 실시예에 따르면, 프로젝션 오차를 더 학습함으로써 변환 모듈(40)의 성능이 더욱 향상될 수 있다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 상술한 다양한 실시예들의 조합에 기초하여 학습될 수도 있다.
이하에서는, 도 11 및 도 12를 참조하여 스켈레톤 정보의 변환 정확도를 보다 향상시킬 수 있는 방법에 대하여 설명하도록 한다.
먼저, 도 11을 참조하여 본 개시의 제1 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법에 대하여 설명하도록 한다.
도 11에 도시된 바와 같이, 본 실시예는 도메인의 동작 특성을 이용하여 보정된 2차원 스켈레톤 정보(91)를 이용하여 변환 모듈(46)을 학습시킴으로써, 스켈레톤 정보의 변환 정확도를 향상시키는 방법에 관한 것이다.
구체적으로, 대상 객체의 도메인은 대상 객체의 동작 특성에 기초하여 구분되도록 정의될 수 있다. 다시 말해, 공통된 동작 특성을 공유하는 객체들이 동일한 도메인에 속할 수 있다. 가령, 대상 객체의 도메인은 축구(즉, 축구 동작과 관련된 객체), 골프, 재활 치료 등과 같이 구분될 수 있다. 다른 예로서, 대상 객체의 도메인은 발 동작(즉, 발 동작과 관련된 객체), 손 동작 등과 같이 구분될 수도 있다. 또 다른 예로서, 대상 객체의 도메인은 골프와 관련된 제1 동작, 골프와 관련된 제2 동작 등과 같이 보다 세분화된 형태로 정의될 수도 있다.
위와 같은 경우, 도메인의 동작 특성에 기초하여 학습용 2차원 스켈레톤 정보(91)가 보정될 수 있다. 그리고, 보정된 2차원 스켈레톤 정보(92)를 이용하여 변환 모듈(46)을 학습시킴으로써, 변환 모듈(46)의 성능이 향상될 수 있다. 이때, 2차원 스켈레톤 정보(91)의 보정은 예를 들어 스켈레톤을 구성하는 키포인트 간의 신규 연결선 추가, 연결선 강화(e.g. 연결선을 나타내는 인접 매트릭스 값 증폭) 등을 포함할 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.
예를 들어, 도시된 바와 같이, 대상 객체의 도메인이 골프라고 가정하자. 그러면, 골프 동작의 특성 상 양손이 자주 이용되므로, 2차원 스켈레톤 정보(91)에서 양손에 대응되는 키포인트 사이에 신규 연결선(93)을 추가하거나, 손 부위에 대응되는 키포인트의 연결선을 강화하는 방식으로 보정이 수행될 수 있다. 그리고, 보정된 2차원 스켈레톤 정보(92)를 이용하여 변환 모듈(46)이 학습될 수 있다. 이러한 경우, 변환 모듈(46)이 골프 도메인의 동작과 관련된 신체 부위에 보다 집중하여 3차원 스켈레톤 정보(94)를 예측하게 되므로, 변환 모듈(46)의 성능(즉, 스켈레톤 정보의 변환 정확도)이 크게 향상될 수 있다.
다른 예로서, 대상 객체의 도메인이 축구라고 가정하자. 그러면, 축구 동작의 특성 상 발이 자주 이용되므로, 2차원 스켈레톤 정보에서 양발에 대응되는 키포인트 사이에 신규 연결선을 추가하거나, 발 부위에 대응되는 키포인트의 연결선을 강화하는 방식으로 보정이 수행될 수 있다.
참고로, 학습된 변환 모듈(46)을 이용하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 과정에서도, 대상 객체의 도메인 정보에 기초하여 2차원 스켈레톤 정보가 보정되고, 보정된 2차원 스켈레톤 정보가 변환 모듈(46)에 입력될 수 있다.
이하에서는, 도 12를 참조하여 본 개시의 제2 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법에 대하여 설명하도록 한다.
도 12에 도시된 바와 같이, 본 실시예는 대상 객체의 도메인 별로 변환 모듈(47, 48)을 구축함으로써, 스켈레톤 정보의 변환 정확도를 향상시키는 방법에 관한 것이다.
예를 들어, 제1 도메인에 속한 학습 데이터를 학습하여 제1 변환 모듈(47)이 구축되고, 제2 도메인에 속한 학습 데이터를 학습하여 제2 변환 모듈(48)이 구축될 수 있다. 이러한 경우, 제1 변환 모듈(47)은 입력된 2차원 스켈레톤 정보(94)를 제1 도메인의 특성(e.g. 동작 특성)이 반영된 3차원 스켈레톤 정보(95)로 변환할 수 있게 되고, 제2 변환 모듈(48)은 입력된 2차원 스켈레톤 정보(96)를 제2 도메인의 특성이 반영된 3차원 스켈레톤 정보(97)로 변환할 수 있게 된다.
본 실시예에서, 생성 장치(1)는 복수개의 변환 모듈(47, 48) 중에서 대상 객체의 도메인에 대응되는 변환 모듈을 결정하고, 결정된 변환 모듈을 통해 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환할 수 있다.
이하에서는, 본 개시의 제3 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법에 대하여 설명하도록 한다.
본 실시예서는, 도메인 정보를 포함하는 학습 데이터로 변환 모듈(40)을 학습시킴으로써, 스켈레톤 정보의 변환 정확도를 향상시키는 방법에 관한 것이다.
구체적으로, 학습용 2차원 스켈레톤 정보, 객체 정보, 도메인 정보 및 정답 정보로 구성된 학습 데이터를 이용하여 변환 모듈(40)이 학습될 수 있다. 가령, 학습용 2차원 스켈레톤 정보, 객체 정보 및 도메인 정보가 변환 모듈(40)로 입력되고, 변환 모듈(40)이 예측한 3차원 스켈레톤 정보와 정답 정보 간의 오차를 감소시키는 방향으로 변환 모듈(40)이 학습될 수 있다. 이러한 경우, 변환 모듈(40)이 대상 객체의 도메인 특성(e.g. 동작 특성)을 반영하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환할 수 있게 된다.
참고로, 학습된 변환 모듈(40)을 이용하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 과정에서도, 대상 객체의 도메인 정보가 변환 모듈(40)에 입력될 수 있다.
이하에서는, 본 개시의 제4 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법에 대하여 설명하도록 한다.
본 실시예는 스켈레톤을 구성하는 키포인트의 이동 속도에 기초하여 보정된 2차원 스켈레톤 정보를 이용하여 변환 모듈(40)을 학습시킴으로써, 스켈레톤 정보의 변환 정확도를 향상시키는 방법에 관한 것이다.
구체적으로, 대상 객체의 2차원 이미지가 연속된 복수의 프레임 이미지로 구성된 경우, 2차원 스켈레톤 정보와 함께 키포인트의 이동 속도가 추출될 수 있다. 그리고, 이동 속도가 기준치 이상인 키포인트 간의 연결선을 보정(e.g. 신규 연결선 추가, 연결선 강화)함으로써 생성된 학습용 2차원 스켈레톤 정보를 이용하여 변환 모듈(40)이 학습될 수 있다. 이러한 경우, 변환 모듈(40)이 움직임이 상대적으로 큰 신체 부위에 집중하여 3차원 스켈레톤 정보를 예측할 수 있게 되므로, 스켈레톤 정보의 변환 정확도가 향상될 수 있다.
참고로, 학습된 변환 모듈(40)을 이용하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 과정에서도, 키포인트의 이동 속도에 기초하여 2차원 스켈레톤 정보가 보정되고, 보정된 2차원 스켈레톤 정보가 변환 모듈(40)로 입력될 수 있다.
지금까지 도 5 내지 12를 참조하여 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하였다. 상술한 방법에 따르면, 변환 모듈(40)을 통해 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 변환되고, 3차원 스켈레톤 정보와 객체 정보를 기초로 3차원 모델이 생성될 수 있다. 이에 따라, 대상 객체에 대한 3차원 모델이 보다 정확하게 생성될 수 있다. 가령, 2차원 이미지에 폐색 또는 왜곡이 존재하는 등의 이유로 2차원 스켈레톤 정보에 일부 오류가 존재하는 경우에도, 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다. 또한, 2차원 스켈레톤 정보에 오류가 거의 없더라도, 생성 모듈(20)에 깊이 차원의 스켈레톤 정보를 더 제공함으로써 보다 완성도 높은 3차원 모델이 생성될 수 있다.
또한, 그래프 구조의 데이터에 적합한 GCN 기반의 변환 모듈을 이용함으로써, 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 정확하게 변환될 수 있다.
또한, 무게 중심 오차, 뼈 길이 오차, 관절 각도 오차 등과 같은 다양한 오차에 기초하여 변환 모듈을 학습시킴으로써, 스켈레톤 정보의 변환 정확도가 크게 향상될 수 있다.
또한, 도메인의 동작 특성을 반영하여 2차원 스켈레톤 정보를 보정하고, 보정된 2차원 스켈레톤 정보를 이용하여 변환 모듈을 학습시킴으로써, 스켈레톤 정보의 변환 정확도가 더욱 향상될 수 있다.
이하에서는, 도 13 및 도 14를 참조하여 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하도록 한다. 다만, 본 개시의 명료함을 위해, 앞선 실시예들과 중복되는 내용에 대한 설명은 생략하도록 한다.
도 13은 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 13에 도시된 바와 같이, 본 실시예에 따른 방법은 2차원 이미지에서 추출된 객체 정보를 이용하여 3차원 모델을 보정함으로써 대상 객체에 대한 3차원 모델을 보다 정확하게 생성하는 방법에 관한 것이다.
단계 S320 내지 S360은 각각 상술한 단계 S220 내지 S260과 동일한 바, 이에 대한 설명은 생략하도록 한다.
단계 S380에서, 대상 객체에 대한 3차원 모델이 보정될 수 있다. 다만, 구체적인 보정 방식은 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서는, 도 14에 도시된 바와 같이, 2차원 이미지(111)에서 추출된 객체 정보(112; e.g. 2차원 스켈레톤 정보, 뼈 정보, 관절 정보)를 기초로 3차원 모델(113)이 보정될 수 있다. 구체적으로, 생성 장치(1)는 3차원 모델(113)에서 3차원 스켈레톤 정보를 추출하고, 보정 모듈(100)을 통해 3차원 스켈레톤 정보를 보정할 수 있다. 그리고, 생성 장치(1)는 보정된 3차원 스켈레톤 정보와 객체 정보(112)를 생성 모듈(20)에 제공하여 대상 객체에 대한 3차원 모델(113)을 다시 생성할 수 있다. 본 실시예에서, 보정 모듈(100)은 입력된 3차원 스켈레톤 정보를 입력된 객체 정보에 부합하도록 보정하는 기능을 수행할 수 있다. 본 실시예에 따르면, 3차원 모델(113)이 2차원 이미지(111)에서 추출된 객체 정보(112)에 부합하도록 보정됨으로써, 3차원 모델(113)의 정확도를 더욱 향상시킬 수 있다. 부연 설명하면, 객체 정보(112)는 2차원 이미지(111)에서 곧바로 추출된 정보이기 때문에 비교적 정확도가 높은 정보이다. 다만, 객체 정보(112)는 대부분 2차원적인 정보이기 때문에, 생성 모듈(20)이 이를 토대로 3차원 모델(113)을 생성하는 과정에서 오차가 발생할 수 있다. 따라서, 3차원 모델(113)이 객체 정보(112)에 부합하도록 보정하는 과정을 더 수행하면, 생성 모듈(20)의 오차가 최소화되어 보다 정교한 형태의 3차원 모델(113)이 생성될 수 있다.
앞선 실시예들에서, 보정 모듈(100)은 딥러닝 모듈로 구현될 수도 있고, 다른 유형의 모듈로 구현될 수도 있다. 예를 들어, 보정 모듈(100)은 3차원 스켈레톤 정보와 객체 정보(112)를 입력받고 보정된 3차원 스켈레톤 정보를 출력하도록 학습된 딥러닝 모듈로 구현될 수 있다. 보정 모듈(100)은 상술한 변환 모듈(40)과 동일 또는 유사한 구조를 갖고, 동일 또는 유사한 방식으로 학습됨으로써 구현될 수 있다. 다른 예로서, 보정 모듈(100)은 객체 정보(112)에 따라 입력된 3차원 스켈레톤 정보에 대해 소정의 보정 로직(logic)을 수행하는 모듈로 구현될 수도 있다.
다른 몇몇 실시예들에서는, 3차원 모델(e.g. 113)에서 추출된 3차원의 객체 정보(e.g. 3차원 스켈레톤 정보, 3차원의 뼈 정보, 3차원의 관절 정보, 3차원의 신체 부위 정보 등)를 기초로 3차원 모델(e.g. 113)이 보정될 수 있다. 구체적으로, 생성 장치(1)는 딥러닝 기반의 보정 모듈(e.g. 100)을 이용하여 입력된 3차원 객체 정보를 보정할 수 있다. 가령, 보정 모듈(e.g. 100)은 보정 전의 3차원 스켈레톤 정보, 3차원 객체 정보 및 보정된 3차원 스켈레톤 정보로 구성된 학습 데이터를 학습한 딥러닝 모듈일 수 있다. 본 실시예에 따른 보정 모듈(e.g. 100)도 상술한 변환 모델(40)과 동일 또는 유사한 구조를 갖고, 동일 또는 유사한 방식으로 학습됨으로써 구현될 수 있다.
한편, 본 개시의 몇몇 실시예들에서는, 생성 장치(1)가 3차원 모델의 생성 정확도를 판단하고, 판단된 정확도가 기준치 이하라는 판단에 응답하여 보정 단계 S380을 수행할 수도 있다. 가령, 생성 장치(1)는 3차원 모델에서 3차원 스켈레톤 정보를 추출하고, 프로젝션 연산을 통해 3차원 스켈레톤 정보를 2차원 스켈레톤 정보로 변환할 수 있다. 그리고, 생성 장치(1)는 변환된 2차원 스켈레톤 정보와 2차원 이미지에서 추출된 2차원 스켈레톤 정보와의 차이에 기초하여 3차원 모델의 생성 정확도를 판단할 수 있다. 본 실시예에 따르면, 3차원 모델의 생성 정확도가 기준치 이하인 경우에 한하여 보정 단계 S380을 수행함으로써, 생성 장치(1)에 투입되는 컴퓨팅 비용이 절감될 수 있다.
지금까지 도 13 및 도 14를 참조하여 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하였다. 상술한 방법에 따르면, 2차원 이미지에서 추출된 객체 정보 등을 이용하여 3차원 모델을 보정함으로써, 대상 객체에 대한 3차원 모델이 더욱 정교하게 생성될 수 있다.
이하에서는, 본 개시의 몇몇 실시예들에 따른 생성 장치(1)를 구현할 수 있는 예시적인 컴퓨팅 장치(120)에 대하여 설명하도록 한다.
도 15는 컴퓨팅 장치(120)를 나타내는 예시적인 하드웨어 구성도이다.
도 15에 도시된 바와 같이, 컴퓨팅 장치(120)는 하나 이상의 프로세서(121), 버스(123), 통신 인터페이스(124), 프로세서(121)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(122)와, 컴퓨터 프로그램(126)을 저장하는 스토리지(125)를 포함할 수 있다. 다만, 도 15에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 15에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(120)에는, 도 15에 도시된 구성요소 이외에도 다양한 구성요소가 더 포함될 수 있다. 또한, 경우에 따라, 도 15에 도시된 구성요소들 중 일부가 생략된 형태로 컴퓨팅 장치(120)가 구성될 수도 있다. 이하, 컴퓨팅 장치(120)의 각 구성요소에 대하여 설명한다.
프로세서(121)는 컴퓨팅 장치(120)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(121)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(121)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(120)는 하나 이상의 프로세서를 구비할 수 있다.
다음으로, 메모리(122)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(122)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(125)로부터 하나 이상의 프로그램(126)을 로드할 수 있다. 메모리(122)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
다음으로, 버스(123)는 컴퓨팅 장치(120)의 구성요소 간 통신 기능을 제공할 수 있다. 버스(123)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
다음으로, 통신 인터페이스(124)는 컴퓨팅 장치(120)의 유무선 인터넷 통신을 지원할 수 있다. 또한, 통신 인터페이스(124)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(124)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 경우에 따라, 통신 인터페이스(124)는 생략될 수도 있다.
다음으로, 스토리지(125)는 하나 이상의 컴퓨터 프로그램(126)을 비임시적으로 저장할 수 있다. 스토리지(125)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
다음으로, 컴퓨터 프로그램(126)은 메모리(122)에 로드될 때 프로세서(121)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(121)는 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(126)은 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 동작, 딥러닝 모듈을 통해 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 동작 및 3차원 스켈레톤 정보를 기초로 대상 객체에 대한 3차원 모델을 생성하는 동작을 수행하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(120)를 통해 본 개시의 몇몇 실시예들에 따른 생성 장치(1)가 구현될 수 있다.
지금까지 도 1 내지 도 15를 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 개시의 실시예를 구성하는 모든 구성요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (14)

  1. 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리;
    상기 저장된 하나 이상의 인스트럭션들을 실행함으로써,
    대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 동작,
    딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 동작 및
    상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 동작을 수행하는 프로세서를 포함하고,
    상기 딥러닝 모듈은 객체의 도메인 정보에 기초하여 보정된 2차원 스켈레톤 정보를 이용하여 학습된 것이고,
    상기 객체의 도메인 정보에 기초하는 보정은 스켈레톤을 구성하는 키포인트 간의 신규 연결선 추가 및 연결선 강화 중 적어도 하나를 포함하되, 상기 도메인 정보는 객체의 동작 특성에 기초하여 구분되도록 정의된 것인,
    3차원 객체모델 생성 장치.
  2. 제1 항에 있어서,
    상기 딥러닝 모듈은,
    GCN(Graph Convolutional Networks) 기반의 모듈이고,
    상기 2차원 스켈레톤 정보를 입력받아 특징 데이터를 추출하는 인코더와 상기 추출된 특징 데이터를 디코딩하여 상기 3차원 스켈레톤 정보를 출력하는 디코더를 포함하는,
    3차원 객체모델 생성 장치.
  3. 제2 항에 있어서,
    상기 인코더는 다운샘플링 프로세스를 수행하여 추상화 레벨이 상이한 복수의 특징 데이터를 추출하고,
    상기 디코더는 상기 복수의 특징 데이터를 이용하여 업샘플링 프로세스를 수행하는,
    3차원 객체모델 생성 장치.
  4. 제1 항에 있어서,
    상기 프로세서는 상기 2차원 이미지에서 상기 2차원 스켈레톤 정보 외의 다른 객체 정보를 더 획득하고,
    상기 변환하는 동작은,
    상기 2차원 스켈레톤 정보와 상기 다른 객체 정보를 상기 딥러닝 모듈에 입력하여 상기 3차원 스켈레톤 정보를 획득하는 동작을 포함하는,
    3차원 객체모델 생성 장치.
  5. 제4 항에 있어서,
    상기 다른 객체 정보는,
    뼈의 길이를 포함하는 뼈 정보,
    관절의 각도를 포함하는 관절 정보 및
    신체 부위의 면적을 포함하는 신체 부위 정보 중 적어도 하나를 포함하는,
    3차원 객체모델 생성 장치.
  6. 제4 항에 있어서,
    상기 딥러닝 모듈은 상기 다른 객체 정보 중 제1 객체 정보를 입력받는 제1 딥러닝 모듈과 제2 객체 정보를 입력받는 제2 딥러닝 모듈을 포함하고,
    상기 획득하는 동작은,
    상기 제1 딥러닝 모듈을 통해 출력된 제1 스켈레톤 정보와 상기 제2 딥러닝 모듈을 통해 출력된 제2 스켈레톤 정보를 종합하여 상기 3차원 스켈레톤 정보를 획득하는 동작을 포함하는,
    3차원 객체모델 생성 장치.
  7. 제1 항에 있어서,
    상기 딥러닝 모듈은 학습용 2차원 스켈레톤 정보로부터 예측된 3차원 스켈레톤 정보와 정답 정보 간의 오차에 기초하여 학습된 것이고,
    상기 오차는 무게 중심 오차, 뼈 길이 오차 및 관절의 각도 오차 중 적어도 하나를 포함하는,
    3차원 객체모델 생성 장치.
  8. 삭제
  9. 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리;
    상기 저장된 하나 이상의 인스트럭션들을 실행함으로써,
    대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 동작,
    딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 동작 및
    상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 동작을 수행하는 프로세서를 포함하고,
    상기 딥러닝 모듈의 학습용 2차원 스켈레톤 정보는 연속된 프레임 이미지에서 추출된 2차원 스켈레톤 정보를 키포인트의 이동 속도에 기초하여 키포인트 간의 연결선을 보정함으로써 생성된 것인,
    3차원 객체모델 생성 장치.
  10. 제1 항에 있어서,
    상기 딥러닝 모듈은 복수개이고,
    상기 변환하는 동작은,
    상기 복수개의 딥러닝 모듈 중에서 상기 대상 객체의 도메인에 대응되는 딥러닝 모듈을 결정하는 동작 및
    상기 결정된 딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 상기 3차원 스켈레톤 정보로 변환하는 동작을 포함하되,
    상기 도메인은 객체의 동작 특성에 기초하여 구분되도록 정의된 것인,
    3차원 객체모델 생성 장치.
  11. 제1 항에 있어서,
    상기 변환하는 동작은,
    상기 2차원 스켈레톤 정보와 상기 대상 객체의 도메인 정보를 상기 딥러닝 모듈에 입력하여 상기 3차원 스켈레톤 정보를 획득하는 동작을 포함하는
    3차원 객체모델 생성 장치.
  12. 제1 항에 있어서,
    상기 프로세서는,
    상기 2차원 이미지에서 상기 2차원 스켈레톤 정보 외의 다른 객체 정보를 더 획득하고,
    상기 다른 객체 정보를 기초로 생성된 3차원 모델을 보정하는 동작을 더 수행하되,
    상기 보정하는 동작은,
    상기 생성된 3차원 모델로부터 3차원 스켈레톤 정보를 추출하는 동작,
    상기 다른 객체 정보에 따라 상기 추출된 3차원 스켈레톤 정보를 보정하는 동작 및
    상기 보정된 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 다시 생성하는 동작을 포함하는,
    3차원 객체모델 생성 장치.
  13. 컴퓨팅 장치에서 수행되는 방법으로서,
    대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 단계;
    딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 단계; 및
    상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 단계를 포함하고,
    상기 딥러닝 모듈은 객체의 도메인 정보에 기초하여 보정된 2차원 스켈레톤 정보를 이용하여 학습된 것이고,
    상기 객체의 도메인 정보에 기초하는 보정은 스켈레톤을 구성하는 키포인트 간의 신규 연결선 추가 및 연결선 강화 중 적어도 하나를 포함하되, 상기 도메인 정보는 객체의 동작 특성에 기초하여 구분되도록 정의된 것인,
    3차원 객체모델 생성 방법.
  14. 컴퓨팅 장치와 결합되어,
    대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 단계;
    딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 단계; 및
    상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장되고,
    상기 딥러닝 모듈은 객체의 도메인 정보에 기초하여 보정된 2차원 스켈레톤 정보를 이용하여 학습된 것이고,
    상기 객체의 도메인 정보에 기초하는 보정은 스켈레톤을 구성하는 키포인트 간의 신규 연결선 추가 및 연결선 강화 중 적어도 하나를 포함하되, 상기 도메인 정보는 객체의 동작 특성에 기초하여 구분되도록 정의된 것인,
    컴퓨터 프로그램.
KR1020210127251A 2021-09-27 2021-09-27 3차원 객체모델 생성 장치 및 그 방법 KR102421776B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210127251A KR102421776B1 (ko) 2021-09-27 2021-09-27 3차원 객체모델 생성 장치 및 그 방법
PCT/KR2022/001020 WO2023048347A1 (ko) 2021-09-27 2022-01-20 3차원 객체모델 생성 장치 및 그 방법
KR1020220073851A KR102473287B1 (ko) 2021-09-27 2022-06-17 단안 카메라 영상에서 복수의 딥러닝 모듈을 이용하여 자세와 동작을 정확하게 모방하는 3차원 모델링 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210127251A KR102421776B1 (ko) 2021-09-27 2021-09-27 3차원 객체모델 생성 장치 및 그 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220073851A Division KR102473287B1 (ko) 2021-09-27 2022-06-17 단안 카메라 영상에서 복수의 딥러닝 모듈을 이용하여 자세와 동작을 정확하게 모방하는 3차원 모델링 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR102421776B1 true KR102421776B1 (ko) 2022-07-19

Family

ID=82607435

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210127251A KR102421776B1 (ko) 2021-09-27 2021-09-27 3차원 객체모델 생성 장치 및 그 방법
KR1020220073851A KR102473287B1 (ko) 2021-09-27 2022-06-17 단안 카메라 영상에서 복수의 딥러닝 모듈을 이용하여 자세와 동작을 정확하게 모방하는 3차원 모델링 장치 및 그 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220073851A KR102473287B1 (ko) 2021-09-27 2022-06-17 단안 카메라 영상에서 복수의 딥러닝 모듈을 이용하여 자세와 동작을 정확하게 모방하는 3차원 모델링 장치 및 그 방법

Country Status (2)

Country Link
KR (2) KR102421776B1 (ko)
WO (1) WO2023048347A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102526091B1 (ko) * 2022-11-21 2023-04-26 주식회사 드랩 제품 사용 이미지 생성 시스템 및 제품 사용 이미지 생성 방법
KR102619701B1 (ko) * 2022-12-30 2024-01-02 주식회사 쓰리아이 동적 객체에 대한 3차원 자세 추정 데이터 생성 방법 및 그를 위한 컴퓨팅 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102612586B1 (ko) * 2022-12-12 2023-12-11 박치호 동영상 내 관절 인식에 따른 비정상 이미지 프레임을 제거 및 복원하는 전자 장치의 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101884565B1 (ko) 2017-04-20 2018-08-02 주식회사 이볼케이노 2차원 이미지를 이용한 객체의 3차원 모델링 장치 및 방법
KR20210003937A (ko) * 2018-05-23 2021-01-12 모비디어스 리미티드 딥 러닝 시스템
KR20210091276A (ko) * 2018-11-16 2021-07-21 아리엘 에이아이, 인크. 3차원 객체 재구성
KR20210108044A (ko) * 2020-02-25 2021-09-02 제주한라대학교산학협력단 디지털 트윈 기술을 위한 영상 분석 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6013669B1 (ja) * 2016-03-28 2016-10-25 株式会社3D body Lab 人体モデル提供システム、人体モデル変形方法、及びコンピュータプログラム
CN111260774B (zh) * 2020-01-20 2023-06-23 北京百度网讯科技有限公司 生成3d关节点回归模型的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101884565B1 (ko) 2017-04-20 2018-08-02 주식회사 이볼케이노 2차원 이미지를 이용한 객체의 3차원 모델링 장치 및 방법
KR20210003937A (ko) * 2018-05-23 2021-01-12 모비디어스 리미티드 딥 러닝 시스템
KR20210091276A (ko) * 2018-11-16 2021-07-21 아리엘 에이아이, 인크. 3차원 객체 재구성
KR20210108044A (ko) * 2020-02-25 2021-09-02 제주한라대학교산학협력단 디지털 트윈 기술을 위한 영상 분석 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102526091B1 (ko) * 2022-11-21 2023-04-26 주식회사 드랩 제품 사용 이미지 생성 시스템 및 제품 사용 이미지 생성 방법
KR102619701B1 (ko) * 2022-12-30 2024-01-02 주식회사 쓰리아이 동적 객체에 대한 3차원 자세 추정 데이터 생성 방법 및 그를 위한 컴퓨팅 장치

Also Published As

Publication number Publication date
WO2023048347A1 (ko) 2023-03-30
KR102473287B1 (ko) 2022-12-05

Similar Documents

Publication Publication Date Title
KR102421776B1 (ko) 3차원 객체모델 생성 장치 및 그 방법
Zhou et al. Monocap: Monocular human motion capture using a cnn coupled with a geometric prior
US9715761B2 (en) Real-time 3D computer vision processing engine for object recognition, reconstruction, and analysis
Chaudhuri et al. Joint face detection and facial motion retargeting for multiple faces
US10225473B2 (en) Threshold determination in a RANSAC algorithm
Radwan et al. Monocular image 3D human pose estimation under self-occlusion
EP2880633B1 (en) Animating objects using the human body
JP5525407B2 (ja) 動作モデル学習装置、3次元姿勢推定装置、動作モデル学習方法、3次元姿勢推定方法およびプログラム
JP2019114227A (ja) 映像の相互作用処理方法、相互作用処理装置、学習方法、学習装置及びコンピュータプログラム
US20110249865A1 (en) Apparatus, method and computer-readable medium providing marker-less motion capture of human
KR101347840B1 (ko) 신체 제스처 인식 방법 및 장치
EP3987443A1 (en) Recurrent multi-task convolutional neural network architecture
JP7332238B2 (ja) タスク固有のデータ利用のための物理学により誘導されたディープマルチモーダル埋め込みのための方法及び装置
CN111868738B (zh) 跨设备监控计算机视觉系统
KR101956275B1 (ko) 영상으로부터 신체 골격 및 신체 부위 정보 검출 방법 및 장치
CN114782661B (zh) 下半身姿态预测模型的训练方法及装置
JP2010108496A (ja) データをあらわす属性を選択する方法、コンピューター読み取り可能な媒体、生成モデルを形成する方法および生成モデルを形成するシステム
Yang et al. DMAT: Deformable medial axis transform for animated mesh approximation
KR20230150867A (ko) 얼굴 표정, 신체 자세 형상 및 의류 퍼포먼스 캡처를 위해 암시적 구별가능 렌더러를 사용하는 멀티뷰 신경 사람 예측
US10930068B2 (en) Estimation apparatus, estimation method, and non-transitory computer-readable storage medium for storing estimation program
JP2009237846A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR101515845B1 (ko) 동작 인식 방법 및 동작 인식 장치
CN116934591A (zh) 多尺度特征提取的图像拼接方法、装置、设备及存储介质
KR20230036543A (ko) 딥러닝 기반 단안 rgb 이미지 3차원 장면 복원 방법 및 장치
CN115482588A (zh) 一种预测三维模型的姿态的方法及电子设备

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant