KR20200056905A - Method and apparatus for aligning 3d model - Google Patents
Method and apparatus for aligning 3d model Download PDFInfo
- Publication number
- KR20200056905A KR20200056905A KR1020190087023A KR20190087023A KR20200056905A KR 20200056905 A KR20200056905 A KR 20200056905A KR 1020190087023 A KR1020190087023 A KR 1020190087023A KR 20190087023 A KR20190087023 A KR 20190087023A KR 20200056905 A KR20200056905 A KR 20200056905A
- Authority
- KR
- South Korea
- Prior art keywords
- model
- pose
- input image
- target
- neural network
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013528 artificial neural network Methods 0.000 claims abstract description 135
- 239000002131 composite material Substances 0.000 claims description 41
- 238000012549 training Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 description 34
- 230000008569 process Effects 0.000 description 13
- 230000003190 augmentative effect Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- 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/20081—Training; Learning
-
- 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/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
Description
아래의 설명은 2D 입력 이미지로부터 오브젝트에 3D 모델을 정렬하는 기술에 관한 것이다.The description below relates to a technique for aligning a 3D model to an object from a 2D input image.
증강현실(Augmented Reality, AR)은 가상현실(VR)의 한 분야로 실제로 존재하는 환경에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기법이다. 증강현실에 표시되는 사물이나 오브젝트와의 인터랙션(interaction)은 사용자 경험을 향상시킬 수 있다. 이를 위해서, 오브젝트의 인식 기법이 요구되며, 뉴럴 네트워크는 오브젝트 인식(object recognition)을 위해 활용될 수 있다. 뉴럴 네트워크를 이용함으로써 입력 이미지에 포함된 객체는 보다 빠르고 정확하게 인식될 수 있다. Augmented Reality (AR) is a field of virtual reality (VR) and is a computer graphic technique that synthesizes virtual objects or information in an environment that actually exists and looks like objects in the original environment. Interaction with objects or objects displayed in augmented reality can improve the user experience. To this end, an object recognition technique is required, and the neural network can be utilized for object recognition. By using the neural network, objects included in the input image can be recognized faster and more accurately.
일 실시예에 따른 3D 모델 정렬 방법은, 송수신부에 의해, 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득하는 단계, 프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계, 상기 프로세서에 의해, 상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계, 상기 프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계 및 상기 프로세서에 의해, 상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬하는 단계를 포함한다. 3D model alignment method according to an embodiment, obtaining, by the transceiver, at least one 2D input image including an object, by a processor, by using a neural network, the feature point of the object from the 2D input image Detecting, estimating, by the processor, a 3D pose of an object in the 2D input image using the neural network, retrieving a
상기 2D 입력 이미지를 획득하는 단계는, 제1 포즈의 상기 오브젝트를 포함하는 제1 2D 입력 이미지와 상기 제1 포즈와 상이한 제2 포즈의 상기 오브젝트를 포함하는 제2 2D 입력 이미지를 수신할 수 있다.In the obtaining of the 2D input image, a first 2D input image including the object in a first pose and a second 2D input image including the object in a second pose different from the first pose may be received. .
상기 2D 입력 이미지를 획득하는 단계는, 제1 포즈의 상기 오브젝트를 포함하는 제1 2D 입력 이미지를 수신하는 단계 및 상기 제1 포즈와 상이한 제2 포즈의 상기 오브젝트를 포함하는 제3 2D 입력 이미지를 생성하는 단계를 포함할 수 있다.The obtaining of the 2D input image may include receiving a first 2D input image including the object in a first pose and a third 2D input image including the object in a second pose different from the first pose. And generating.
상기 3D 모델 정렬 방법은, 상기 2D 입력 이미지 내의 상기 오브젝트를 검출하는 단계를 더 포함할 수 있다.The 3D model alignment method may further include detecting the object in the 2D input image.
상기 3D 포즈를 추정하는 단계는, 상기 뉴럴 네트워크를 이용하여 상기 오브젝트의 유형을 분류하는 단계 및 상기 뉴럴 네트워크를 이용하여 상기 분류 결과를 기초로 상기 오브젝트의 3D 포즈를 추정하는 단계를 포함할 수 있다.The estimating the 3D pose may include classifying the type of the object using the neural network and estimating the 3D pose of the object based on the classification result using the neural network. .
상기 타겟 3D 모델을 검색하는 단계는, 상기 2D 입력 이미지의 오브젝트의 제1 특징을 획득하는 단계, 복수의 후보 3D 모델 중에서 하나의 후보 3D 모델의 제2 특징을 획득하는 단계 및 상기 제1 특징과 상기 제2 특징을 기초로 상기 후보 3D 모델이 상기 타겟 3D 모델인지 여부를 결정하는 단계를 포함할 수 있다.The searching of the
상기 타겟 3D 모델인지 여부를 결정하는 단계는, 상기 제1 특징과 상기 제2 특징의 유사도를 계산하는 단계 및 상기 유사도를 기초로 상기 후보 3D 모델이 상기 타겟 3D 모델인지 여부를 결정하는 단계를 포함할 수 있다.Determining whether or not the
상기 추정된 3D 포즈, 상기 오브젝트의 특징점 및 상기 타겟 3D 모델의 특징점을 기초로 상기 오브젝트 또는 상기 타겟 3D 모델을 조정하는 단계를 더 포함할 수 있다.The method may further include adjusting the object or the
상기 조정하는 단계는, 상기 추정된 3D 포즈를 이용하여 상기 타겟 3D 모델 또는 상기 오브젝트를 조정하는 단계 및 상기 오브젝트의 특징점 및 상기 타겟 3D 모델의 특징점을 기초로 상기 조정된 오브젝트 또는 상기 조정된 타겟 3D 모델을 재조정하는 단계를 포함할 수 있다.The adjusting step may include adjusting the
상기 조정하는 단계는, 상기 오브젝트의 특징점 및 상기 타겟 3D 모델의 특징점을 기초로 상기 오브젝트 또는 상기 타겟 3D 모델을 조정하는 단계 및 상기 추정된 3D 포즈를 이용하여 상기 조정된 타겟 3D 모델 또는 상기 조정된 오브젝트를 재조정하는 단계를 포함할 수 있다.The adjusting may include adjusting the object or the
일 실시예에 다른 오브젝트의 움직임 예측 방법은, 송수신부에 의해, 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득하는 단계, 프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계, 프로세서에 의해, 상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계, 프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계, 프로세서에 의해, 상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬하는 단계 및 프로세서에 의해, 상기 정렬된 3D 모델을 기초로 상기 오브젝트의 움직임을 예측하는 단계를 포함한다.According to an embodiment, a method for predicting motion of another object includes: acquiring at least one 2D input image including an object by a transmitting / receiving unit, and by a processor, feature points of the object from the 2D input image using a neural network Detecting, by a processor, estimating a 3D pose of an object in the 2D input image using the neural network, by a processor, retrieving a
일 실시예에 따른 오브텍트의 텍스쳐 표시 방법은, 송수신부에 의해, 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득하는 단계, 프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계, 프로세서에 의해, 상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계, 프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계, 프로세서에 의해, 상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬하는 단계 및 프로세서에 의해, 상기 정렬된 3D 모델을 기초로 상기 오브젝트의 표면에 텍스쳐를 표시하는 단계를 포함한다.The method for displaying a texture of an object according to an embodiment includes: obtaining, by a transmitting / receiving unit, at least one 2D input image including an object, by a processor, by using a neural network, from the 2D input image using the neural network. Detecting a feature point, estimating a 3D pose of an object in the 2D input image using the neural network by a processor, and retrieving a
일 실시예에 따른 가상의 3D 이미지 표시 방법은, 프로세서에 의해, 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득하는 단계, 프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계, 디스플레이에 의해, 상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계, 프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계, 프로세서에 의해, 상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬하는 단계 및 디스플레이에 의해, 상기 정렬된 3D 모델을 기초로 가상의 3D 이미지를 표시하는 단계를 포함한다.A virtual 3D image display method according to an embodiment includes: obtaining, by a processor, at least one 2D input image including an object, by a processor, using a neural network, feature points of the object from the 2D input image Detecting, by a display, estimating a 3D pose of an object in the 2D input image using the neural network, by a processor, retrieving a
일 실시예에 따른 뉴럴 네트워크 학습 방법은, 송수신부에 의해, 오브젝트를 포함하는 적어도 하나의 학습 2D 입력 이미지를 획득하는 단계, 프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계, 프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계, 프로세서에 의해, 상기 뉴럴 네트워크를 이용하여 상기 학습 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계 및 프로세서에 의해, 상기 추정된 3D 포즈 또는 상기 검출된 특징점을 기초로 상기 뉴럴 네트워크를 학습시키는 단계를 포함한다.The neural network learning method according to an embodiment includes: obtaining, by a transmitting / receiving unit, at least one learning 2D input image including an object, and by a processor, a 3D pose of an object in the 2D input image using a neural network Estimating, by a processor, retrieving a
상기 3D 포즈를 추정하는 단계는, 상기 뉴럴 네트워크를 이용하여 상기 오브젝트의 유형을 분류하는 단계 및 상기 뉴럴 네트워크를 이용하여 상기 분류 결과를 기초로 상기 오브젝트의 3D 포즈를 추정하는 단계를 포함하고, 상기 뉴럴 네트워크를 학습시키는 단계는, 상기 분류된 유형을 기초로 상기 뉴럴 네트워크를 학습시킬 수 있다.The estimating the 3D pose includes the steps of classifying the type of the object using the neural network and estimating the 3D pose of the object based on the classification result using the neural network. The step of training the neural network may train the neural network based on the classified type.
상기 뉴럴 네트워크 학습 방법은, 상기 추정된 3D 포즈의 적어도 하나의 후보 3D 모델의 합성 이미지를 획득하는 단계 및 상기 뉴럴 네트워크를 이용하여 상기 학습 2D 입력 이미지 및 상기 합성 이미지의 도메인을 분류하는 단계를 더 포함하고, 상기 뉴럴 네트워크를 학습시키는 단계는, 상기 분류된 도메인을 기초로 상기 뉴럴 네트워크를 학습시킬 수 있다.The neural network learning method further includes obtaining a composite image of at least one
상기 합성 이미지를 획득하는 단계는, 상기 적어도 하나의 후보 3D 모델은 제1 후보 3D 모델 및 제2 후보 3D 모델을 포함하고, 상기 추정된 3D 포즈의 제1 후보 3D 모델의 제1 합성 이미지, 상기 제2 포즈의 제1 후보 3D 모델의 제2 합성 이미지, 상기 추정된 3D 포즈의 제2 후보 3D 모델의 제3 합성 이미지 및 상기 제2 포즈의 제2 후보 3D 모델의 제4 합성 이미지를 획득할 수 있다.In the obtaining of the composite image, the at least one
상기 제1 후보 3D 모델과 상기 오브젝트의 유사도는 임계값 이상이고, 상기 제2 후보 3D 모델과 상기 오브젝트의 유사도는 임계값 미만일 수 있다.The similarity between the
일 실시예에 따른 3D 모델 정렬 장치는, 적어도 하나의 프로세서 및 뉴럴 네트워크를 저장하는 메모리를 포함하고, 상기 프로세서는, 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득하고, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하고, 상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하고, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하고, 상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬한다.The 3D model alignment apparatus according to an embodiment includes at least one processor and a memory storing a neural network, and the processor acquires at least one 2D input image including an object, and uses the neural network to Detecting a feature point of the object from a 2D input image, estimating a 3D pose of an object in the 2D input image using the neural network, searching for a
도 1은 일 실시예에 따른 3D 모델 정렬 장치의 전체 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 3D 모델 정렬 방법의 동작을 도시한 순서도이다.
도 3은 일 실시예에 따른 3D 모델 정렬 방법의 전체적인 동작을 도시한 흐름도이다.
도 4는 일 실시예에 따른 3D 모델 정렬 방법의 구체적인 동작을 도시한 흐름도이다.
도 5는 일 실시예에 따른 3D 모델 정렬을 위한 뉴럴 네트워크의 학습 방법의 동작을 도시한 순서도이다.
도 6은 일 실시예에 따른 3D 모델 정렬을 위한 뉴럴 네트워크의 학습 단계에서 뉴럴 네트워크의 구조를 도시한 도면이다.
도 7은 일 실시예에 따른 3D 모델 정렬을 위한 뉴럴 네트워크의 학습 단계에서 뉴럴 네트워크에 상이한 포즈의 이미지가 입력되는 과정과 처리 과정을 도시한 흐름도이다.
도 8은 3D 모델 정렬 장치가 응용되는 제1 실시예를 도시한 도면이다.
도 9는 3D 모델 정렬 장치가 응용되는 제2 실시예를 도시한 도면이다.
도 10은 3D 모델 정렬 장치가 응용되는 제3 실시예를 도시한 도면이다.
도 11은 3D 모델 정렬 장치가 응용되는 제4 실시예를 도시한 도면이다.1 is a view showing the overall configuration of a 3D model alignment device according to an embodiment.
2 is a flowchart illustrating an operation of a 3D model alignment method according to an embodiment.
3 is a flowchart illustrating an overall operation of a 3D model alignment method according to an embodiment.
4 is a flowchart illustrating a specific operation of a 3D model alignment method according to an embodiment.
5 is a flowchart illustrating an operation of a learning method of a neural network for 3D model alignment according to an embodiment.
FIG. 6 is a diagram illustrating the structure of a neural network in a learning step of a neural network for 3D model alignment according to an embodiment.
7 is a flowchart illustrating a process in which images of different poses are input into a neural network in a learning step of a neural network for 3D model alignment according to an embodiment.
8 is a view illustrating a first embodiment in which a 3D model alignment device is applied.
9 is a view illustrating a second embodiment in which a 3D model alignment device is applied.
10 is a diagram illustrating a third embodiment in which a 3D model alignment device is applied.
11 is a diagram illustrating a fourth embodiment in which a 3D model alignment device is applied.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, various changes may be made to the embodiments, and the scope of the patent application right is not limited or limited by these embodiments. It should be understood that all modifications, equivalents, or substitutes for the embodiments are included in the scope of rights.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for illustrative purposes only and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms "include" or "have" are intended to indicate the presence of features, numbers, steps, actions, components, parts or combinations thereof described herein, one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the embodiment belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that detailed descriptions of related known technologies may unnecessarily obscure the subject matter of the embodiments, detailed descriptions thereof will be omitted.
도 1은 일 실시예에 따른 3D 모델 정렬 장치의 전체 구성을 도시한 도면이다.1 is a view showing the overall configuration of a 3D model alignment device according to an embodiment.
일 실시예에 따르면, 3D 모델 정렬 장치(100)는 2D 이미지에 대응하는 3D 모델을 검색하고, 3D 모델을 2D 이미지 내의 오브젝트에 정렬할 수 있다. 3D 모델 정렬 장치(100)는 2D 이미지의 오브젝트와 이에 대응하는 3D 모델을 정렬함으로써 보다 개선된 증강현실(Augmented Reality, AR)의 사용자 경험을 제공할 수 있다.According to an embodiment, the 3D
일 실시예에 따르면, 3D 모델 정렬 장치(100)는 2D 입력 이미지(121)를 입력 받고, 2D 입력 이미지(121)에 대응하는 타겟 3D 모델(125)을 검색하여, 2D 입력 이미지(121)의 오브젝트와 타겟 3D 모델(125)을 정렬할 수 있다. 3D 모델 정렬 장치(100)는 뉴럴 네트워크(neural network)를 이용하여 2D 입력 이미지(121)의 오브젝트와 타겟 3D 모델(125)을 정렬할 수 있다. According to an embodiment, the 3D
3D 모델 정렬 장치(100)는 다양한 시점의 2D 이미지를 사용함으로써 보다 정확하게 타겟 3D 모델(125)을 검색할 수 있다. 3D 모델 정렬 장치(100)는 서로 다른 시점의 2D 이미지로부터 제공되는 상이한 정보를 이용하여 2D 입력 이미지(121)에 매칭되는 보다 정확한 타겟 3D 모델(125)을 검색할 수 있다. The 3D
3D 모델 정렬 장치(100)는 단일 시점의 2D 입력 이미지(121)만으로도 다양한 시점의 2D 이미지를 생성함으로써 사용자의 편의성을 높일 수 있다. 3D 모델 정렬 장치(100)는 서로 다른 시점의 2D 입력 이미지(121)를 입력 받을 수도 있지만, 이미 입력 받은 2D 입력 이미지(121)를 기초로 상이한 시점의 2D 이미지를 생성할 수도 있다. 이를 통해, 입력해야 할 2D 입력 이미지(121)의 수가 감소하므로, 3D 모델 정렬 장치(100)의 사용성은 향상될 수 있다.The 3D
3D 모델 정렬 장치(100)는 2D 입력 이미지(121)의 3D 포즈를 추정하고, 타겟 3D 모델(125)을 검색하고, 2D 입력 이미지(121)와 타겟 3D 모델(125)을 정렬하는 단계적인 접근을 통해 정렬의 정확도를 높일 수 있다. 3D 모델 정렬 장치(100)는 추정된 3D 포즈 또는 검출된 특징점을 통해 오브젝트 또는 3D 모델을 조정함으로써 보다 정확한 정렬 결과를 도출할 수 있다. 또한, 3D 모델 정렬 장치(100)는 개선된 구조를 가지는 뉴럴 네트워크를 이용함으로써 2D 입력 이미지(121)의 오브젝트와 타겟 3D 모델(125)을 보다 정확하게 정렬할 수 있다.The 3D
이를 위하여, 3D 모델 정렬 장치(100)는 적어도 하나의 프로세서(101) 및 뉴럴 네트워크를 저장하는 메모리(103)를 포함한다. 3D 모델 정렬 장치(100)는 데이터베이스(110)를 더 포함할 수 있다. 데이터베이스(110)는 3D 모델 정렬 장치(100) 내부에 포함될 수도 있고, 외부 장치로서 존재할 수도 있다. 데이터베이스(110)는 하나 이상의 3D 모델을 포함할 수 있다. To this end, the 3D
3D 모델 정렬 장치(100)는 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득한다. 예를 들어, 2D 입력 이미지는 RGB 채널로 표현되는 2D 이미지일 수 있다. 2D 입력 이미지에는 하나 이상의 오브젝트가 포함될 수 있다. 복수의 오브젝트가 2D 입력 이미지에 포함될 경우에, 3D 모델 정렬 장치(100)는 복수의 오브젝트가 포함된 2D 입력 이미지를 한번에 처리할 수도 있고, 각각의 오브젝트 별로 2D 입력 이미지를 분할하여 처리할 수도 있다.The 3D
프로세서(101)는 뉴럴 네트워크를 이용하여 2D 입력 이미지로부터 오브젝트의 특징점을 검출한다. 여기서, 특징점은 키 포인트(key point) 또는 랜드마크(landmark)로 지칭될 수 있으나 이에 한정되지 않으며, 표현을 불문하고 오브젝트와 배경의 구별을 용이하게 해주는 표시이면 무엇이든 포함할 수 있다. 특징점은 오브젝트나 배경의 종류와 무관하게 동일한 기준으로 검출될 수도 있고 오브젝트나 배경의 종류에 따라 다른 기준으로 검출될 수도 있다. The
프로세서(101)는 뉴럴 네트워크를 이용하여 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정한다. 프로세서(101)는 뉴럴 네트워크를 이용하여 오브젝트의 유형을 분류할 수 있다. 프로세서(101)는 분류 결과를 기초로 뉴럴 네트워크를 이용하여 오브젝트의 3D 포즈를 추정할 수 있다. The
프로세서(101)는 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색한다. 프로세서(101)는 추정된 3D 포즈를 기초로 데이터베이스(110)로부터 복수의 후보 3D 모델 각각을 오브젝트와 비교할 수 있다. 프로세서(101)는 오브젝트와 가장 유사한 후보 3D 모델을 타겟 3D 모델로 결정할 수 있다.The
프로세서(101)는 특징점을 기초로 타겟 3D 모델과 오브젝트를 정렬한다. 프로세서(101)는 3D 포즈를 기초로 오브젝트와 타겟 3D 모델을 정렬할 수 있다. 정렬 결과에 오차가 존재할 수 있으므로, 프로세서(101)는 3D 포즈 및 특징점을 기초로 오브젝트 또는 타겟 3D 모델을 조정할 수 있다. 이를 통해, 프로세서(101)는 보다 정확한 정렬 결과를 도출할 수 있다.The
일 실시예에 따르면, 3D 모델 정렬 장치(100)는 증강현실 분야에서 다양하게 적용될 수 있다. 3D 모델 정렬 장치(100)는 오브젝트의 움직임을 예측할 수 있다. 3D 모델 정렬 장치(100)는 오브젝트의 표면에 미리 결정된 텍스쳐를 표시하거나 드로잉(drawing)하거나 렌더링(rendering)하는 데에 사용될 수 있다. 3D 모델 정렬 장치(100)는 가상의 3D 이미지를 오브젝트와 관련되게 표시하는 데에 사용될 수 있다. 예를 들어, 3D 모델 정렬 장치(100)는 가상의 3D 이미지를 오브젝트의 위치를 고려하여 표시할 수 있다. 3D 모델 정렬 장치(100)는 오브젝트와 관련되어 표시된 가상의 3D 이미지를 조정하는 데에 사용될 수 있다. 3D 모델 정렬 장치(100)는 오브젝트와 관련되어 표시된 가상의 3D 이미지의 포즈를 업데이트하거나 제어하는 데에 사용될 수 있다. According to an embodiment, the 3D
예를 들어, 3D 모델 정렬 장치(100)에 의해 제공된 오브젝트의 3차원 정보를 통해 증강현실 내의 복수의 오브젝트 간의 상호 연동이 보조될 수 있다. 오브젝트의 3차원 정보를 기초로 증강현실 내에 존재하는 교통 수단의 움직임 또는 의도(intention)가 예측될 수 있다. 이러한 기능은 자율 주행에 적용될 수 있다. 오브젝트가 움직이는 경우에 오브젝트의 3차원 정보를 기초로 3D 효과가 표시될 수 있다. 다만 이들은 예시에 불과하며, 3D 모델 정렬 장치(100)는 이에 한정되지 않고 다양한 분야에 적용될 수 있다. 증강현실 외에도, 오브젝트의 3D 모델 및 포즈 정보는 자동 주행, 로봇 등과 같은 더 많은 기술 분야에 응용될 수 있다.For example, mutual interworking between a plurality of objects in augmented reality may be assisted through 3D information of an object provided by the 3D
도 2는 일 실시예에 따른 3D 모델 정렬 방법의 동작을 도시한 순서도이다.2 is a flowchart illustrating an operation of a 3D model alignment method according to an embodiment.
일 실시예에 따르면, 단계(201)에서, 3D 모델 정렬 장치(100)는 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득한다. 예를 들어, 2D 입력 이미지는 RGB 채널로 표현되는 이미지일 수 있다. 3D 모델 정렬 장치(100)는 제1 포즈의 오브젝트를 포함하는 2D 입력 이미지로부터 제2 포즈의 오브젝트를 포함하는 2D 입력 이미지를 생성할 수 있다. 이를 통해, 3D 모델 정렬 장치(100)는 요구되는 3D 입력 이미지의 개수를 줄이면서도 다양한 시점 또는 3D 포즈의 오브젝트의 정보를 획득함으로써 사용성과 정확성을 동시에 높일 수 있다. According to one embodiment, in
일 실시예에 따르면, 단계(203)에서, 3D 모델 정렬 장치(100)는 뉴럴 네트워크를 이용하여 2D 입력 이미지로부터 오브젝트의 특징점을 검출한다. 3D 모델 정렬 장치(100)는 오브젝트의 특징점의 위치를 식별할 수 있다. 뉴럴 네트워크는 오브젝트의 특징점을 검출하도록 미리 학습될 수 있다. 이에 반해, 후보 3D 모델의 특징점은 미리 정해진 상태일 수 있다. 오브젝트의 특징점은 타겟 3D 모델과 오브젝트를 정렬하기 위해 사용될 수 있다. 오브젝트의 특징점은 오브젝트를 포함하는 2D 입력 이미지 또는 타겟 3D 모델의 조정을 위해 사용될 수도 있다.According to one embodiment, in
일 실시예에 따르면, 단계(205)에서, 3D 모델 정렬 장치(100)는 뉴럴 네트워크를 이용하여 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정한다. 3D 모델 정렬 장치(100)는 뉴럴 네트워크를 이용하여 오브젝트의 유형을 식별할 수 있다. 3D 모델 정렬 장치(100)는 식별된 유형을 기초로 오브젝트의 3D 포즈를 추정할 수 있다. 3D 모델 정렬 장치(100)는 오브젝트의 3 개의 자유도(거리, 중심점)와 나머지 3 개의 자유도(방위각, 앙각, 회전각)을 추정할 수 있다. 3D 모델 정렬 장치(100)는 6개의 자유도로 표현되는 3D 포즈를 획득할 수 있다. 여기서, 중심점의 좌표는 두 개이므로 2개의 자유도를 갖는다.According to one embodiment, in
일 실시예에 따르면, 단계(207)에서, 3D 모델 정렬 장치(100)는 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색한다. 3D 모델 정렬 장치(100)는 각각의 2D 입력 이미지의 오브젝트의 특징점과 이들에 대응하는 후보 3D 모델의 특징점을 상호 비교하여 유사도가 높은 후보 3D 모델을 타겟 3D 모델로 결정할 수 있다.According to an embodiment, in
일 실시예에 따르면, 단계(209)에서, 3D 모델 정렬 장치(100)는 특징점을 기초로 타겟 3D 모델과 오브젝트를 정렬한다. 3D 모델 정렬 장치(100)는 뉴럴 네트워크를 이용하여 검출된 오브젝트이 특징점과 타겟 3D 모델의 특징점을 기초로 오브젝트와 타겟 3D 모델을 정렬할 수 있다. 여기서, 정렬은 매칭, 매핑, 정합 등으로 표현될 수도 있다. According to one embodiment, in
다른 실시예에 따르면, 3D 모델 정렬 장치(100)는 추정된 3D 포즈, 오브젝트의 특징점 및 타겟 3D 모델의 특징점을 기초로 오브젝트 또는 타겟 3D 모델을 조정할 수 있다. 추정된 3D 포즈, 타겟 3D 모델, 특징점 등은 부정확할 수 있다. 이처럼, 검출된 오브젝트 및 추정된 3D 포즈에는 오차가 존재할 수 있으므로, 3D 모델 정렬 장치(100)는 추정된 3D 포즈, 2D 입력 이미지 내의 오브젝트의 특징점 및 타겟 3D 모델의 특징점을 기초로 2D 입력 이미지의 오브젝트와 타겟 3D 모델을 추가적으로 조정할 수 있다. 여기서, 조정은 캘리브레이션(calibration) 또는 교정으로 지칭될 수 있다. 이를 통하여, 3D 모델 정렬 장치(100)는 추정된 3D 포즈, 타겟 3D 모델, 2D 입력 이미지 내의 오브젝트의 정확도를 보다 향상시킬 수 있다. According to another embodiment, the 3D
3D 모델 정렬 장치(100)는 추정된 3D 포즈를 이용하여 타겟 3D 모델 또는 오브젝트를 조정할 수 있다. 3D 모델 정렬 장치(100)는 오브젝트의 특징점 및 타겟 3D 모델의 특징점을 기초로 조정된 오브젝트 또는 타겟 3D 모델을 재조정할 수 있다. The 3D
예를 들어, 3D 모델 정렬 장치(100)는 오차 검출 프레임을 이용하여 오차가 존재하는 오브젝트의 3 개의 자유도(거리, 중심점)을 계산하고, 뉴럴 네트워크를 이용하여 나머지 3 개의 자유도(방위각, 앙각, 회전각)을 추정할 수 있다. 3D 모델 정렬 장치(100)는 6개의 자유도로 표현되는 3D 포즈를 획득할 수 있다. 3D 모델 정렬 장치(100)는 검색된 타겟 3D 모델을 해당 3D 포즈의 2D 이미지로 렌더링할 수 있다. 3D 모델 정렬 장치(100)는 렌더링된 2D 이미지를 기초로 초기의 2D 입력 이미지를 조정할 수 있다. 이처럼, 3D 모델 정렬 장치(100)는 2D 입력 이미지의 오브젝트와 타겟 3D 모델을 조정할 수 있다.For example, the 3D
일 실시예에 따르면, 3D 모델 정렬 장치(100)는 추정된 3D 포즈를 이용하여 타겟 3D 모델 또는 오브젝트를 조정할 수 있다. 3D 모델 정렬 장치(100)는 오브젝트의 특징점 및 타겟 3D 모델의 특징점을 기초로 조정된 오브젝트 또는 조정된 타겟 3D 모델을 재조정할 수 있다. According to an embodiment, the 3D
다른 실시예에 따르면, 3D 모델 정렬 장치(100)는 오브젝트의 특징점 및 타겟 3D 모델의 특징점을 기초로 오브젝트 또는 타겟 3D 모델을 조정할 수 있다. 3D 모델 정렬 장치(100)는 추정된 3D 포즈를 이용하여 조정된 타겟 3D 모델 또는 조정된 오브젝트를 재조정할 수 있다.According to another embodiment, the 3D
도 3은 일 실시예에 따른 3D 모델 정렬 방법의 전체적인 동작을 도시한 흐름도이다.3 is a flowchart illustrating an overall operation of a 3D model alignment method according to an embodiment.
일 실시예에 따르면, 단계(301)에서, 3D 모델 정렬 장치(100)는 2D 입력 이미지를 입력 받을 수 있다. 적어도 하나의 2D 입력 이미지는 수신된 것이며, 다른 2D 입력 이미지는 수신된 2D 입력 이미지로부터 생성될 것일 수 있다. 각각의 2D 입력 이미지는 서로 다른 포즈의 오브젝트를 포함할 수 있다. According to an embodiment, in
일 실시예에 따르면, 단계(303)에서, 3D 모델 정렬 장치(100)는 2D 입력 이미지로부터 오브젝트를 검출할 수 있다. 오브젝트의 검출에는 상용되고 있는 다양한 화상 처리 방식이 적용될 수 있다. According to an embodiment, in
일 실시예에 따르면, 단계(304)에서, 3D 모델 정렬 장치(100)는 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정할 수 있다. 예를 들어, 3D 포즈는 6개의 자유도로 표현될 수 있다. 도 3을 참조하면, 오브젝트의 3D 포즈는 방위각, 앙각, 회전각으로 표현된다. 3D 포즈는 거리, 중심점을 더 포함할 수 있다.According to an embodiment, in
일 실시예에 따르면, 단계(305)에서, 3D 모델 정렬 장치(100)는 타겟 3D 모델을 검색할 수 있다. 3D 모델 정렬 장치(100)는 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색할 수 있다. 다른 예로, 3D 모델 정렬 장치(100)는 단계(307)에서 검출된 특징점을 기초로 타겟 3D 모델을 검색할 수도 있다. 3D 모델 정렬 장치(100)는 3D 포즈 및 특징점을 기초로 타겟 3D 모델을 검색할 수도 있다. According to one embodiment, in
일 실시예에 따르면, 단계(307)에서, 3D 모델 정렬 장치(100)는 2D 입력 이미지에서 오브젝트의 특징점을 검출할 수 있다. 3D 모델 정렬 장치(100)는 특징점을 이용하여 배경과 구별되는 오브젝트의 특징을 획득할 수 있다. 타겟 3D 모델의 특징점은 타겟 3D 모델과 함께 미리 데이터베이스에 저장될 수 있다.According to an embodiment, in
일 실시예에 따르면, 단계(309)에서, 3D 모델 정렬 장치(100)는 타겟 3D 모델과 오브젝트를 정렬할 수 있다. 3D 모델 정렬 장치(100)는 타겟 3D 모델의 특징점과 오브젝트의 특징점을 기초로 양자를 정렬 할 수 있다. According to an embodiment, in
도 4는 일 실시예에 따른 3D 모델 정렬 방법의 구체적인 동작을 도시한 흐름도이다.4 is a flowchart illustrating a specific operation of a 3D model alignment method according to an embodiment.
일 실시예에 따르면, 단계(401)에서, 3D 모델 정렬 장치(100)는 2D 입력 이미지를 입력 받을 수 있다. 일 실시예에 따르면, 3D 모델 정렬 장치(100)는 서로 다른 포즈의 복수의 2D 입력 이미지를 수신할 수 있다. 3D 모델 정렬 장치(100)는 제1 포즈의 오브젝트를 포함하는 제1 2D 입력 이미지와 제1 포즈와 상이한 제2 포즈의 오브젝트를 포함하는 제2 2D 입력 이미지를 수신할 수 있다. 상이한 포즈를 가지는 2D 입력 이미지를 생성하는 과정이 생략되므로, 3D 모델 정렬 장치(100)는 2D 입력 이미지의 생성에 소요되는 리소스를 절감할 수 있다. According to an embodiment, in
다른 실시예에 따르면, 3D 모델 정렬 장치(100)는 입력 받은 2D 입력 이미지를 기초로 상이한 포즈의 오브젝트를 포함하는 2D 입력 이미지를 생성할 수 있다. 3D 모델 정렬 장치(100)는 제1 포즈의 오브젝트를 포함하는 제1 2D 입력 이미지를 수신하고, 제1 포즈와 상이한 제2 포즈의 오브젝트를 포함하는 제3 2D 입력 이미지를 생성할 수 있다. 예를 들어, 3D 모델 정렬 장치(100)는 GAN(Generative Adversarial Network)을 이용하여 상이한 포즈의 2D 입력 이미지를 생성할 수 있다.According to another embodiment, the 3D
일 실시예에 따르면, 단계(403)에서, 3D 모델 정렬 장치(100)는 2D 입력 이미지에서 오브젝트를 검출할 수 있다. 오브젝트의 검출에는 상용되는 다양한 화상 검출 방식이 사용될 수 있다.According to an embodiment, in
3D 모델 정렬 장치(100)는 오브젝트의 3D 포즈를 추정할 수 있다. 여기서, 3D 포즈는, 예를 들어, 6개의 자유도로 표현될 수 있다. 자유도 정보는 방위각(azimuth)a, 앙각(elevation)e, 회전각(in-plane rotation), 거리(distance)d과 중심점(principal point)(u, v)을 포함할 수 있다. 3D 모델 정렬 장치(100)는 오브젝트를 검출하면서 오브젝트의 거리 및 중심점을 함께 추정할 수도 있고 별도의 과정을 통해 3D 포즈를 추정할 수도 있다.The 3D
일 실시예에 따르면, 단계(405)에서, 3D 모델 정렬 장치(100)는 3D 포즈를 기초로 타겟 3D 모델을 검색할 수 있다. 3D 모델 정렬 장치(100)는 뉴럴 네트워크를 이용하여 오브젝트의 유형을 분류할 수 있다. 3D 모델 정렬 장치(100)는 오브젝트의 유형을 기초로 오브젝트의 3D 포즈를 추정할 수 있고, 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색할 수 있다. 여기서, 3D 모델 정렬 장치(100)는 타겟 3D 모델을 기초로 방위각, 앙각 및 회전각을 보다 정확하게 결정할 수 있다.According to an embodiment, in
일 실시예에 따르면, 단계(407)에서, 3D 모델 정렬 장치(100)는 2D 입력 이미지 내의 오브젝트의 특징점을 검출할 수 있다. 3D 모델 정렬 장치(100)는 뉴럴 네트워크를 이용하여 특징점을 검출할 수 있다. 뉴럴 네트워크는 오브젝트의 특징점을 검출하도록 미리 학습될 수 있다.According to one embodiment, in
일 실시예에 따르면, 단계(409)에서, 3D 모델 정렬 장치(100)는 3D 포즈를 기초로 검출된 오브젝트와 타겟 3D 모델을 정렬할 수 있다. 3D 모델 정렬 장치(100)는 거리, 중심점, 방위각, 앙각, 회전각을 기초로 오브젝트와 타겟 3D 모델을 정렬할 수 있다. 예를 들어, 3D 모델 정렬 장치(100)는 서로 다른 포즈의 오브젝트를 포함하는 2D 입력 이미지 각각에 대응하여 후보 3D 모델을 검색할 수 있다. 3D 모델 정렬 장치(100)는 각각의 2D 입력 이미지의 오브젝트의 특징점과 이들에 대응하는 후보 3D 모델의 특징점을 상호 비교하여 유사도가 높은 후보 3D 모델을 타겟 3D 모델로 결정할 수 있다. According to one embodiment, in
일 실시예에 따르면, 단계(411)에서, 3D 모델 정렬 장치(100)는 3D 포즈 및 오브젝트의 특징점을 기초로 타겟 3D 모델을 다시 검색할 수 있다. 단계(405)에 비해 오브젝트의 특징점을 더 포함하여 검색하기 때문에, 검색된 타겟 3D 모델은 보다 정확할 수 있다.According to one embodiment, in
3D 모델 정렬 장치(100)는 2D 입력 이미지의 오브젝트의 제1 특징을 획득할 수 있다. 3D 모델 정렬 장치(100)는 복수의 후보 3D 모델 중에서 하나의 후보 3D 모델의 제2 특징을 획득할 수 있다. 3D 모델 정렬 장치(100)는 제1 특징과 제2 특징을 기초로 후보 3D 모델이 타겟 3D 모델인지 여부를 결정할 수 있다. 3D 모델 정렬 장치(100)는 제1 특징과 제2 특징의 유사도를 계산할 수 있다. 3D 모델 정렬 장치(100)는 유사도를 기초로 후보 3D 모델이 타겟 3D 모델인지 여부를 결정할 수 있다.The 3D
일 실시예에 따르면, 단계(413)에서, 3D 모델 정렬 장치(100)는 특징점을 기초로 보다 정확하게 검색된 타겟 3D 모델과 2D 입력 이미지 상의 오브젝트를 정렬할 수 있다. 3D 모델 정렬 장치(100)는 3D 포즈 및 특징점을 기초로 오브젝트와 타겟 3D 모델을 보다 정확하게 정렬할 수 있다. According to an embodiment, in
도 5는 일 실시예에 따른 3D 모델 정렬을 위한 뉴럴 네트워크의 학습 방법의 동작을 도시한 순서도이다.5 is a flowchart illustrating an operation of a learning method of a neural network for 3D model alignment according to an embodiment.
일 실시예에 따르면, 단계(501)에서, 학습 장치는 오브젝트를 포함하는 적어도 하나의 학습 2D 입력 이미지를 획득할 수 있다. 뉴럴 네트워크의 학습에 사용되는 학습 데이터에는 실제 이미지인 학습 2D 입력 이미지 뿐만 아니라 3D 모델링 프로그램을 통해 렌더링된 합성 이미지를 포함할 수 있다. 학습 장치는 추정된 3D 포즈의 적어도 하나의 후보 3D 모델의 합성 이미지를 획득할 수 있다. 학습 장치는 뉴럴 네트워크를 이용하여 학습 2D 입력 이미지 및 합성 이미지의 도메인을 분류할 수 있다. 뉴럴 네트워크는 분류된 도메인에 따라 학습 데이터를 처리할 수 있다.According to one embodiment, in
일 실시예에 따르면, 단계(503)에서, 학습 장치는 뉴럴 네트워크를 이용하여 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정할 수 있다. 학습 장치는 뉴럴 네트워크를 이용하여 오브젝트의 유형을 분류할 수 있다. 학습 장치는 뉴럴 네트워크를 이용하여 분류 결과를 기초로 오브젝트의 3D 포즈를 추정할 수 있다. 3D 포즈의 추정은 회귀 문제로 모델링될 수도 있고 분류 문제로 모델링될 수도 있다. 뉴럴 네트워크는 모델링된 구조에 따라 3D 포즈를 추정할 수 있다.According to one embodiment, in
일 실시예에 따르면, 단계(505)에서, 학습 장치는 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색할 수 있다. 다른 실시예에 다르면, 학습 장치는 3D 포즈 및 특징점을 기초로 타겟 3D 모델을 검색할 수 있다. 다른 실시예에 따르면, 학습 장치는 3D 포즈를 기초로 우선 타겟 3D 모델을 검색한 후에, 3D 포즈 및 특징점을 기초로 보다 정확한 타겟 3D 모델을 조정하거나 검색할 수도 있다. According to one embodiment, in
일 실시예에 따르면, 단계(507)에서, 학습 장치는 뉴럴 네트워크를 이용하여 학습 2D 입력 이미지로부터 오브젝트의 특징점을 검출할 수 있다. 학습 장치는 서로 다른 유형에 대응하여 특징점을 검출할 수 있다. 학습 장치는 서로 다른 유형의 오브젝트의 특징점을 식별할 수 있다. According to one embodiment, in
일 실시예에 따르면, 단계(509)에서, 학습 장치는 추정된 3D 포즈 또는 검출된 특징점을 기초로 뉴럴 네트워크를 학습시킬 수 있다. 추정된 3D 포즈 또는 검출된 특징점을 기초로 뉴럴 네트워크를 학습시키는 경우에 사용되는 타겟 3D 모델은 추정된 것일 수도 있고 미리 결정된 것일 수도 있다. 미리 결정된 타겟 3D 모델은 미리 정답으로 설정된 모델일 수 있다. 타겟 3D 모델은 타겟 3D 모델에 관한 정보와 함께 데이터베이스에 저장될 수 있다. 예를 들어, 미리 결정된 타겟 3D 모델은 인공적으로 주석이 표시된 모델일 수 있다. 주석은 해당 타겟 3D 모델이 정답이라는 점을 표시하거나 해당 타겟 3D 모델의 정보를 표시할 수 있다.According to one embodiment, in
학습 장치는 분류된 유형을 기초로 뉴럴 네트워크를 학습시킬 수 있다. 분류된 유형을 기초로 뉴럴 네트워크를 학습시키는 경우에 사용되는 3D 포즈, 특징점 또는 타겟 3D 모델은 사후적으로 도출된 것일 수도 있고 미리 결정된 것일 수도 있다. 미리 결정된 3D 포즈, 특징점 또는 타겟 3D 모델은 미리 정답으로 설정된 모델일 수 있다. 예를 들어, 미리 결정된 3D 포즈, 특징점 또는 타겟 3D 모델은 인공적으로 주석이 표시된 것일 수 있다. 주석은 해당 3D 포즈, 특징점 또는 타겟 3D 모델이 정답이라는 점을 표시하거나 해당 3D 포즈, 특징점 또는 타겟 3D 모델의 정보를 표시할 수 있다.The learning device can train the neural network based on the classified type. The 3D pose, feature point or
학습 장치는 분류된 도메인을 기초로 뉴럴 네트워크를 학습시킬 수 있다. 분류된 유형을 기초로 뉴럴 네트워크를 학습시키는 경우에 사용되는 3D 포즈, 특징점 또는 타겟 3D 모델은 사후적으로 도출된 것일 수도 있고 미리 결정된 것일 수도 있다.The learning device can train the neural network based on the classified domain. The 3D pose, feature point or
도 6은 일 실시예에 따른 3D 모델 정렬을 위한 뉴럴 네트워크의 학습 단계에서 뉴럴 네트워크의 구조를 도시한 도면이다.FIG. 6 is a diagram illustrating the structure of a neural network in a learning step of a neural network for 3D model alignment according to an embodiment.
일 실시예에 따르면, 뉴럴 네트워크(600)는 오브젝트와 타겟 3D 모델을 정렬하는 과정에서 다양한 방식으로 사용될 수 있다. 뉴럴 네트워크(600)는 오브젝트의 유형을 식별하고, 오브젝트의 3D 포즈를 추정하고, 오브젝트의 특징점을 검출하고, 합성 도메인과 실제 도메인을 분류할 수 있다. 도 6을 참조하면, 뉴럴 네트워크(600)는 상기 복수의 기능들을 동시에 수행할 수 있는 것으로 표현되었지만, 뉴럴 네트워크의 구조는 이에 한정되지 않으며 각각의 기능 별로 별도의 뉴럴 네트워크가 대응될 수도 있다.According to an embodiment, the
뉴럴 네트워크(600)의 학습에는 다량의 학습 데이터가 이용될 수 있다. 학습 데이터는 학습 2D 입력 이미지가 포함될 수 있다. 학습 2D 입력 이미지는 실제 이미지일 수 있다. 하지만, 실제 이미지는 한정적이고 실제 이미지에 대응되는 정보를 분석하기에 많은 비용이 소요된다. 반면에, 이미 분석된 정보를 포함하는 합성 이미지는 3D 모델링 프로그램을 통해 자동으로 수량의 제한 없이 구현할 수 있다. 이에, 뉴럴 네트워크(600)의 학습에 사용되는 학습 데이터에는 실제 이미지인 학습 2D 입력 이미지 뿐만 아니라 3D 모델링 프로그램을 통해 렌더링된 합성 이미지를 포함할 수 있다. 여기서, 실제 이미지는 오브젝트의 유형, 오브젝트의 3D 포즈 및 특징점에 관한 정보를 포함하는 실제 이미지이다. 합성 이미지는 3차원CAD모델을 이용해 렌더링된 오브젝트의 유형, 오브젝트의 3D 포즈 및 특징점에 관한 정보를 포함하는 합성된 이미지이다. A large amount of learning data may be used for learning the
합성 이미지와 실제 이미지 간에는 차이가 존재하며 이러한 차이를 기준으로 도메인이 구별될 수 있다. 여기서, 합성 이미지는 합성 도메인에 속하고, 실제 이미지는 실제 도메인에 속한다고 표현될 수 있다. 하나의 뉴럴 네트워크(600)에 합성 이미지와 실제 이미지가 입력되는 경우, 합성 이미지와 실제 이미지의 차이로 인해 뉴럴 네트워크(600)는 호환되기 어려울 수 있다. 만약 이러한 차이가 감소되지 않는다면, 합성 이미지를 이용해 학습시킨 뉴럴 네트워크는 합성 도메인에 치우치게 되고, 실제 이미지를 통한 3D 포즈 추정, 특징점 검출 및 3D 모델 정렬에 있어서 부정확한 결과가 도출될 수 있다. Differences exist between the composite image and the actual image, and domains can be distinguished based on the difference. Here, the composite image may be expressed as belonging to the composite domain, and the real image belonging to the real domain. When a composite image and an actual image are input to one
합성 이미지와 실제 이미지 간의 차이를 없애기 위해, 뉴럴 네트워크(600)는 도메인 분류기(629)를 포함할 수 있다. 도메인 분류기(629)의 앞에 경사도 역전 레이어가 더 추가될 수 있다. 이처럼, 뉴럴 네트워크(600)는 도메인 분류기(629)를 포함함으로써 합성 이미지와 실제 이미지 간의 차이를 줄이고, 하나의 네트워크 구조를 통해 합성 이미지와 실제 이미지를 처리할 수 있다.To eliminate the difference between the composite image and the actual image, the
뉴럴 네트워크(600)의 입력 이미지는, 예를 들어, RGB 세 개의 채널을 가진 224×224 사이즈의 이미지일 수 있다. 뉴럴 네트워크(600)의 베이직 네트워크(Basic network, Base Net)는 다양한 구조가 적용될 수 있다. 예를 들어, 베이직 네트워크는 VGG16의 FC7(full connected layer 7)까지의 레이어를 사용하고, 총 13개의 레이어로 이루어진 컨볼루션 레이어와 2 개의 레이어로 이루어진 풀 커넥티드 레이어(FC 6, FC7)가 포함될 수 있다. 예를 들어, 베이직 네트워크는 VGG16외에도, Alex Net, ResNet이 사용될 수 있다.The input image of the
도 6을 참조하면, 뉴럴 네트워크(600)는 오브젝트 유형 분류기(621), 3D 포즈 분류기(623), 특징점 검출기(625), 도메인 분류기(629)를 포함할 수 있다. 뉴럴 네트워크는 컨벌루셔널 레이어(convolutional layer)(610), 제1 풀 커넥티드 레이어(full connected layer)(627) 및 제2 풀 커넥티드 레이어(full connected layer)(628)를 포함할 수 있다. 오브젝트 유형 분류기(621), 3D 포즈 분류기(623), 특징점 검출기(625), 도메인 분류기(629)는 각각에 대응하는 손실 함수를 갖는다. Referring to FIG. 6, the
오브젝트 유형 분류기(621)는, 예를 들어, 소프트맥스 손실(softmax loss) 함수 또는 힌지 손실(hinge loss) 함수를 사용할 수 있다. The
3D 포즈 분류기(623)는, 예를 들어, 회귀 문제로 모델링될 수도 있고 분류 문제로 모델링될 수도 있다. 여기서, 회귀 문제는 포즈 추정으로 분류될 수 있는 연속적 수치를 추정하는 것이고, 분류 문제는 포즈 유형의 추정하는 것이다. 3D 포즈 분류기(623)는 두 종류의 모델링 중의 어느 한 종류의 모델링을 사용할 수 있다. 회귀 문제 모델링이 적용될 경우, 3D 포즈 분류기(623)는 smooth_Ll 손실 함수를 사용할 수 있다. 분류 문제 모델링이 적용될 경우, 3D 포즈 분류기(623)는 소프트맥스 손실 함수 또는 힌지 손실 함수를 사용할 수 있다. 이하에서는 회귀 문제 모델링이 적용되는 것을 전제로 설명된다.The 3D pose
특징점 검출기(625)는, 예를 들어, 교차 엔트로피 손실 함수를 사용할 수 있다. 교차 엔트로피 손실 함수와 소프트맥스 손실 함수는 적용되는 문제가 다르다. 특징점 검출을 위한 실제 값을 설정할 때, 서로 다른 유형의 오브젝트의 특징점을 세트로 하는 2차원 채널이 사용될 수 있다. 2차원 채널을 통하여 뉴럴 네트워크는 서로 다른 유형의 오브젝트의 서로 다른 위치에 있는 특징점을 식별할 수 있다. 대응 채널에 대응 좌표가 없을 경우 0의 값 할당된다. The
합성 도메인과 실제 도메인을 분류하는 문제는 이분(dichotomy) 문제이다. 뉴럴 네트워크(600)는 2D 입력 이미지가 어떤 도메인인지 알지 못하는 상태에 놓일 수 있다. 뉴럴 네트워크(600)는 서로 다른 네트워크 구조에 따라 서로 다른 설계를 가질 수도 있다. 이를 통하여, 합성 도메인과 실제 도메인 사이의 차이가 약화될 수 있다. 이러한 도메인의 차이는 복수 종류의 방법 또는 네트워크 구조를 사용하여 감소될 수 있지만 이에 제한되지 않는다. The problem of classifying synthetic and real domains is a dichotomy problem. The
예를 들어, 뉴럴 네트워크(600)는 다음과 같은 구조를 가질 수 있다. 뉴럴 네트워크(600)에는 베이직 네트워크(Base Net)가 포함될 수 있고, 베이직 네트워크에 서로 다른 풀 커넥티드 레이어(FC_C, FC_P)가 연결될 수 있다. 서로 다른 풀 커넥티드 레이어(FC_C, FC_P)는 베이직 네트워크의 풀 커넥티드 레이어 8에 연결될 수 있다. FC_C는 오브젝트의 유형에 대응하고, FC_C의 노드의 수와 오브젝트의 총 유형의 수는 같다. 10개의 유형의 오브젝트에 대하여, FC_C의 노드의 수는 10이다. FC_C의 출력에 오브젝트 유형 분류기(621)의 손실 함수인 소프트맥스 손실 함수(L1)가 연결될 수 있다. 이러한 Base Net-FC_C-softmax 손실 함수 라인은 오브젝트 유형에 대응하며, 이를 통하여 오브젝트의 유형이 식별될 수 있다.For example, the
FC_P의 각각의 교점은 오브젝트의 3D 포즈의 하나의 자유도에 대응되며, 6개의 자유도의 포즈를 추정하는 경우, FC_P의 교점의 수는 6으로 설정된다. FC_P의 손실함수는 smooth_L1 손실 함수(L2)이며, 이러한 Base Net-FC_P- smooth_L1 손실함수 라인은 오브젝트의 3D 포즈에 대응된다. Each intersection of FC_P corresponds to one degree of freedom of the 3D pose of the object, and when estimating a pose of six degrees of freedom, the number of intersections of FC_P is set to 6. The loss function of FC_P is the smooth_L1 loss function (L2), and this Base Net-FC_P- smooth_L1 loss function line corresponds to the 3D pose of the object.
Base Net의 풀링 레이어5(pool5)의 출력은 하나의 컨볼루션 레이어Conv_K에 연결되고, 특징점 검출에 대응된다. Conv_K의 채널 수와 모든 유형의 모든 특징점의 총 개수는 같다. 예를 들어, 10개의 유형의 오브젝트가 총 100개의 특징점을 가지는 경우, Conv_K의 채널 수를 100으로 설정될 수 있다. 3×3의 컨볼루션 커널을 거친 후의 각각의 채널의 크기는 7×7이다. Conv_K의 출력은 100×7×7이고, 특징점 검출기(625)의 손실 함수인 교차 엔트로피 손실 함수(L3)에 연결된다. 이러한 Base Net (pool5)-Conv6 교차 엔트로피 함수 라인은 특징점 검출에 대응된다. The output of the pooling layer 5 (pool5) of the base net is connected to one convolutional layer Conv_K and corresponds to feature point detection. The number of channels of Conv_K and the total number of all feature points of all types are the same. For example, when 10 types of objects have a total of 100 feature points, the number of channels of Conv_K may be set to 100. The size of each channel after going through the 3x3 convolution kernel is 7x7. The output of Conv_K is 100 × 7 × 7, and is connected to the cross-entropy loss function L3, which is a loss function of the
도메인 분류기(629)의 구현을 위하여, 베이직 네트워크에 GRL(gradient reversal layer)이 연결되고, 이후 FC(full connected) 레이어들이 연결되고, 이후에 풀 커넥티드 레이어인 FC_D가 연결될 수 있다. FC_D는 두 개의 도메인을 가지며, FC_D의 노드의 수는 2로 설정될 수 있다. 그 다음에, 도메인 분류기(629)가 연결되고, 도메인 분류기(629)의 손실 함수가 연결될 수 있다. 도메인 분류기(629)의 손실 함수(L4)는 소프트맥스 손실 함수 또는 힌지 손실 함수가 사용될 수 있다. 이러한 Base Net-GRL-FC layers-FC_D-softmax 손실 함수 라인은 강약이 다른 도메인에 영향을 주는 네트워크 모듈이다. 다만, 이러한 구조는 예시에 불과하며 생성적 적대 신경망(GAN)의 적대 과정과 같은 다른 방식도 사용될 수 있다.For the implementation of the
학습 과정에서, 합성 이미지와 실제 이미지가 뉴럴 네트워크(600)에 입력된다. 오브젝트 유형 분류기(621), 3D 포즈 분류기(623), 특징점 검출기(625), 도메인 분류기(629)의 각 손실 함수의 출력의 가중합인 L=a×L1+ b×L2+c×L3+d×L4이 최종적인 손실 함수로서 계산된다. 여기서, a, b, c, d는 모두 가중치이다. 손실 함수 L이 수렴될 때, 학습이 완료될 수 있다. In the learning process, the composite image and the actual image are input to the
도 6을 참조하면, 서로 다른 도메인의 입력 이미지들은 서로 다른 경로를 통해 처리될 수 있다. 합성 도메인에 해당하는 합성 이미지는 점선으로 표시된 경로를 통해 처리되고, 실제 도메인에 해당하는 실제 이미지는 쇄선으로 표시된 경로를 통해 처리될 수 있다. 실선으로 표시된 경로는 도메인과 무관하게 공통적으로 처리되는 경로를 나타낸다. Referring to FIG. 6, input images of different domains may be processed through different paths. The composite image corresponding to the composite domain may be processed through the path indicated by the dotted line, and the actual image corresponding to the actual domain may be processed through the path indicated by the dashed line. The path indicated by the solid line represents a path that is commonly processed regardless of the domain.
도 7은 일 실시예에 따른 3D 모델 정렬을 위한 뉴럴 네트워크의 학습 단계에서 뉴럴 네트워크에 상이한 포즈의 이미지가 입력되는 과정과 처리 과정을 도시한 흐름도이다. 7 is a flowchart illustrating a process in which images of different poses are input to a neural network in a learning step of a neural network for 3D model alignment according to an embodiment.
학습 데이터는 학습 2D 입력 이미지, 파지티브(positive) 샘플 및 네거티브(negative) 샘플을 포함하는 다량의 트라이어드(triad)를 포함할 수 있다. 여기서, 추정된 학습 2D 입력 이미지의 3D 포즈는 제1 포즈로, 다른 3D 포즈는 제2 포즈로 지칭될 수 있다. 파지티브 샘플과 네거티브 샘플은 제1 포즈와 제2 포즈로 렌더링된 두 개의 합성 이미지를 각각 포함할 수 있다. 파지티브 샘플과 네거티브 샘플은 하나 이상의 후보 3D 모델, 예를 들어, CAD 3D 모델을 통해 렌더링될 수 있다. 여기서, 파지티브 샘플은 학습 2D 입력 이미지와 유사한 이미지를 지칭하고, 네거티브 샘플은 학습 2D 입력 이미지와 비유사한 이미지를 지칭할 수 있다. The training data can include a large amount of triads, including training 2D input images, positive samples, and negative samples. Here, the 3D pose of the estimated learning 2D input image may be referred to as a first pose, and the other 3D pose may be referred to as a second pose. The positive sample and the negative sample may include two composite images rendered in the first pose and the second pose, respectively. Positive and negative samples may be rendered through one or
후보 3D 모델은 제1 후보 3D 모델 및 제2 후보 3D 모델을 포함할 수 있다. 합성 장치는 추정된 3D 포즈의 제1 후보 3D 모델의 제1 합성 이미지, 제2 포즈의 제1 후보 3D 모델의 제2 합성 이미지, 추정된 3D 포즈의 제2 후보 3D 모델의 제3 합성 이미지 및 제2 포즈의 제2 후보 3D 모델의 제4 합성 이미지를 획득할 수 있다. 예를 들어, 제1 후보 3D 모델과 오브젝트의 유사도는 임계값 이상이고, 제2 후보 3D 모델과 오브젝트의 유사도는 임계값 미만일 수 있다.The
도 7을 참조하면, 학습 2D 입력 이미지(711)는 학습 장치에 입력될 수 있다. 학습 장치는 학습 2D 입력 이미지(711)의 제1 포즈를 추정할 수 있다. 학습 장치는 학습 2D 입력 이미지(711)로부터 제2 포즈의 학습 2D 입력 이미지(712)를 생성할 수 있다. 예를 들어, 학습 장치는 GAN을 이용하여 학습 2D 입력 이미지(712)를 생성할 수 있다. 학습 장치는 제1 포즈 및 제2 포즈 각각에 대응하는 하나 이상의 샘플 이미지(721, 722, 731, 732)를 준비할 수 있다. 학습 장치는 준비된 학습 데이터를 뉴럴 네트워크에 입력할 수 있다. Referring to FIG. 7, a learning
학습 장치는 트라이어드의 각각의 이미지(711, 712, 721, 722, 731, 732)를 224×224로 정규화할 수 있다. 학습 장치는 뉴럴 네트워크의 베이직 네트워크(740)에 정규화된 트라이어드의 이미지를 입력할 수 있다. 베이직 네트워크(740)에 트라이어드의 각각의 이미지 별로 서로 다른 포즈에 대응하는 풀 커넥티드 레이어인 FC8_1(713, 723, 733) 및 FC8_2(714, 724, 734)가 연결되고, FC8_1(713, 723, 733) 및 FC8_2(714, 724, 734)의 노드의 수는 4096로 설정될 수 있다. The learning apparatus can normalize each image (711, 712, 721, 722, 731, 732) of the triad to 224 × 224. The learning device may input a normalized triad image to the
서로 다른 포즈를 가지는 이미지 쌍에 대해 뉴럴 네트워크는 각 이미지의 특징을 출력할 수 있다. 예를 들어, 학습 2D 입력 이미지(711)에 대응하는 특징 벡터, 생성된 학습 2D 입력 이미지(712)에 대응하는 특징 벡터, 파지티브 샘플(721)에 대응하는 특징 벡터, 파지티브 샘플(722)에 대응하는 특징 벡터, 네거티브 샘플(731)에 대응하는 특징 벡터, 네거티브 샘플(732)에 대응하는 특징 벡터가 출력될 수 있다.For pairs of images with different poses, the neural network can output characteristics of each image. For example, the feature vector corresponding to the learning
각 이미지 쌍에 대한 특징은 상호 융합될 수 있다. 실제 이미지에 대응하는 학습 2D 입력 이미지(711)와 생성된 학습 2D 입력 이미지(712)의 융합된 특징은 제1 특징으로 지칭될 수 있다. 합성 이미지에 대응하는 샘플 이미지(721, 722) 또는 샘플 이미지(731, 732)의 융합된 특징들은 제2 특징으로 지칭될 수 있다. 여기서, 샘플 이미지(721, 722)와 샘플 이미지(731, 732)는 각각의 후보 3D 모델로부터 렌더링된 이미지일 수 있다. Features for each pair of images can be fused together. A fused feature of the learning
트라이어드의 각각의 이미지 별로 FC8_1 또는 FC8_2를 통과한 서로 다른 자세에 대응하는 특징들은 융합될 수 있다. 상이한 포즈에 대응하는 특징들은 결합(concat)되거나 컨벌루션 레이어(convolutional layer)를 통해 컨볼루션되거나 다른 네트워크 구조(예를 들어, LSTM 등)를 통해 융합될 수 있다. 도 7을 참조하면, 학습 2D 이미지에 대응하는 FC8_1(713)의 출력 및 FC8_2(714)의 출력은 융합 구조(715)에 의해 융합될 수 있다. 파지티브 샘플에 대응하는 FC8_1(723)의 출력 및 FC8_2(724)의 출력은 융합 구조(725)에 의해 융합될 수 있다. 학습 2D 이미지에 대응하는 FC8_1(733)의 출력 및 FC8_2(734)의 출력은 융합 구조(735)에 의해 융합될 수 있다. For each image of the triad, features corresponding to different postures passing FC8_1 or FC8_2 may be fused. Features corresponding to different poses can be concatenated, convolutional through a convolutional layer, or fused through other network structures (eg, LSTM, etc.). Referring to FIG. 7, the output of the FC8_1 713 and the output of the FC8_2 714 corresponding to the learning 2D image may be fused by the fusion structure 715. The output of FC8_1 723 and the output of FC8_2 724 corresponding to the positive sample may be fused by the fusion structure 725. The output of the FC8_1 733 corresponding to the learning 2D image and the output of the FC8_2 734 may be fused by the fusion structure 735.
학습 장치는 제1 특징과 제2 특징의 유사도를 계산할 수 있다. 서로 다른 포즈의 이미지들의 특징들이 각각 융합된 후에, 3개의 특징은 한 개의 유사도를 판별하는 손실 함수에 입력될 수 있다. 손실 함수는, 예를 들어, 트리플렛 손실(triplet loss) 함수를 포함할 수 있다. 예를 들어, 학습 장치는 제1 특징과 샘플 이미지(721, 722)의 제2 특징 간의 유클리드 거리를 계산할 수 있다. 유클리드 거리가 작을수록 유사도가 크다는 것을 의미하며, 유사도가 가장 큰 후보 3D 모델이 타겟 3D 모델로 결정될 수 있다.The learning device may calculate the similarity between the first feature and the second feature. After the features of the images of different poses are respectively fused, the three features can be input to a loss function that determines one similarity. The loss function may include, for example, a triplet loss function. For example, the learning device may calculate the Euclidean distance between the first feature and the second feature of the
이러한, 학습 과정을 통해, 학습 2D 입력 이미지와 파지티브 샘플의 특징은 근접해지고, 학습 2D 입력 이미지와 네거티브 샘플의 특징은 멀어지도록, 뉴럴 네트워크의 파라미터는 학습될 수 있다. Through this learning process, the parameters of the neural network can be learned such that the characteristics of the learning 2D input image and the positive sample are closer and the characteristics of the learning 2D input image and the negative sample are farther away.
도 8은 3D 모델 정렬 장치가 응용되는 제1 실시예를 도시한 도면이다.8 is a view illustrating a first embodiment in which a 3D model alignment device is applied.
오브젝트의 움직임 예측 장치는 3D 모델 정렬 장치의 결과를 이용하여 오브젝트의 움직임을 예측할 수 있다. 오브젝트의 움직임 예측 장치는 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득할 수 있다. 오브젝트의 움직임 예측 장치는 뉴럴 네트워크를 이용하여 2D 입력 이미지로부터 오브젝트의 특징점을 검출할 수 있다. 오브젝트의 움직임 예측 장치는 뉴럴 네트워크를 이용하여 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정할 수 있다. 오브젝트의 움직임 예측 장치는 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색할 수 있다. 오브젝트의 움직임 예측 장치는 특징점을 기초로 타겟 3D 모델과 오브젝트를 정렬할 수 있다. 오브젝트의 움직임 예측 장치는 정렬된 3D 모델을 기초로 오브젝트의 움직임을 예측할 수 있다.The motion estimation apparatus of the object may predict the motion of the object using the result of the 3D model alignment device. The apparatus for predicting motion of an object may acquire at least one 2D input image including the object. The apparatus for predicting motion of an object may detect a feature point of the object from a 2D input image using a neural network. The apparatus for predicting motion of an object may estimate a 3D pose of an object in a 2D input image using a neural network. The object motion prediction apparatus may search for a
도8을 참조하면, 자율 주행 차량(802)에 설치된 오브젝트의 움직임 예측 장치는 주행 장면에서 추정해 낸 오브젝트(801)의 2D 입력 이미지로부터 특징점을 검출하고 오브젝트의 3D 포즈를 추정할 수 있다. 오브젝트의 움직임 예측 장치는 자율 주행 차량에 설치된 카메라로 좌측 도로로부터 진입 차량의 이미지를 촬영할 수 있고, 해당 2D 입력 이미지로부터 진입 차량의 3D 포즈 또는 특징점을 추정하여 진입 차량과 정합하는 타겟 3D 모델을 결정할 수 있다. 오브젝트의 움직임 예측 장치는 타겟 3D 모델의 3차원 정보를 이용하여 오브젝트의 3차원 지도상의 위치와 주행 방향, 차량 사이즈, 진행 방향과 속도 등을 추정해 낼 수 있다.Referring to FIG. 8, the apparatus for predicting motion of an object installed in the
도 9는 3D 모델 정렬 장치가 응용되는 제2 실시예를 도시한 도면이다.9 is a view illustrating a second embodiment in which a 3D model alignment device is applied.
오브젝트의 텍스쳐 표시 장치는 3D 모델 정렬 장치의 결과를 이용하여 오브젝트의 표면에 텍스쳐를 표시할 수 있다. 오브젝트의 텍스쳐 표시 장치는 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득할 수 있다. 오브젝트의 텍스쳐 표시 장치는 뉴럴 네트워크를 이용하여 2D 입력 이미지로부터 오브젝트의 특징점을 검출할 수 있다. 오브젝트의 텍스쳐 표시 장치는 뉴럴 네트워크를 이용하여 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정할 수 있다. 오브젝트의 텍스쳐 표시 장치는 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색할 수 있다. 오브젝트의 텍스쳐 표시 장치는 특징점을 기초로 타겟 3D 모델과 오브젝트를 정렬할 수 있다. 오브젝트의 텍스쳐 표시 장치는 정렬된 3D 모델을 기초로 오브젝트의 표면에 텍스쳐를 표시할 수 있다. The texture display device of the object may display the texture on the surface of the object using the result of the 3D model alignment device. The texture display device of the object may acquire at least one 2D input image including the object. The object texture display device may detect a feature point of an object from a 2D input image using a neural network. The texture display device of the object may estimate the 3D pose of the object in the 2D input image using a neural network. The texture display device of the object may search for a
도 14를 참조하면, 오브젝트의 텍스쳐 표시 장치는 증강현실에서 정확한 타겟 3D 모델과 2D 입력 이미지의 정렬 결과에 기초하여 오브젝트의 표면에 임의의 텍스쳐를 표시할 수 있다. 오브젝트의 텍스쳐 표시 장치는 2D 입력 이미지로부터 추정한 3D 포즈를 기초로 타겟 3D 모델의 어느 면에 텍스쳐를 표시할지를 결정할 수 있다. 오브젝트의 텍스쳐 표시 장치는 타겟 3D 모델과 오브젝트를 정렬하고, 오브젝트의 표면에 텍스쳐를 표시하고, 타겟 3D 모델을 제거함으로써 오브젝트의 표면에 텍스쳐가 표시된 것과 같은 결과(901)를 도출할 수 있다. Referring to FIG. 14, an object texture display device may display an arbitrary texture on the surface of an object based on an alignment result of an
도 10은 3D 모델 정렬 장치가 응용되는 제3 실시예를 도시한 도면이다.10 is a diagram illustrating a third embodiment in which a 3D model alignment device is applied.
가상의 3D 이미지 표시 장치는 3D 모델 정렬 장치의 결과를 이용하여 가상의 3D 이미지를 증강현실에서 표시할 수 있다. 가상의 3D 이미지 표시 장치는 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득할 수 있다. 가상의 3D 이미지 표시 장치는 뉴럴 네트워크를 이용하여 2D 입력 이미지로부터 오브젝트의 특징점을 검출할 수 있다. 가상의 3D 이미지 표시 장치는 뉴럴 네트워크를 이용하여 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정할 수 있다. 가상의 3D 이미지 표시 장치는 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색할 수 있다. 가상의 3D 이미지 표시 장치는 특징점을 기초로 타겟 3D 모델과 오브젝트를 정렬할 수 있다. 가상의 3D 이미지 표시 장치는 정렬된 3D 모델을 기초로 가상의 3D 이미지를 표시할 수 있다.The virtual 3D image display device may display a virtual 3D image in augmented reality using the result of the 3D model alignment device. The virtual 3D image display device may acquire at least one 2D input image including an object. The virtual 3D image display device may detect a feature point of an object from a 2D input image using a neural network. The virtual 3D image display device may estimate a 3D pose of an object in a 2D input image using a neural network. The virtual 3D image display device may search for a
도 10을 참조하면, 가상의 3D 이미지 표시 장치는 증강현실에서 실제의 탁자(1001) 위에 배치된 가상의 원기둥(1003)을 표시할 수 있다. 가상의 3D 이미지 표시 장치는 탁자(1001)의 3D 포즈를 추정하고, 3D 포즈를 기초로 가상의 원기둥(1003)을 배치할 수 있다. 가상의 3D 이미지 표시 장치는 탁자(1001)의 3D 포즈를 추정하고 탁자(1001)의 타겟 3D 모델을 획득하여 탁자(1001)의 3차원 정보를 획득할 수 있다. 가상의 3D 이미지 표시 장치는 3차원 정보를 이용하여 가상의 원기둥(1003)의 하부와 탁자(1001)의 상부가 맞물리도록 가상의 원기둥(1003)을 표시할 수 있다. Referring to FIG. 10, a virtual 3D image display device may display a
도 11은 3D 모델 정렬 장치가 응용되는 제4 실시예를 도시한 도면이다.11 is a diagram illustrating a fourth embodiment in which a 3D model alignment device is applied.
가상의 3D 이미지 제어 장치는 3D 모델 정렬 장치의 결과를 이용하여 가상의 3D 이미지를 제어할 수 있다. 도 16을 참조하면, 가상의 3D 이미지 제어 장치는 실제의 오브젝트의 3D 포즈, 특징점 정보 또는 타겟 3D 모델을 이용하여 가상의 3D 이미지를 제어할 수 있다. 예를 들어, 화면(1101)을 참조하면, 사람이 들고 있는 종이는 2차원으로서 2D AR 마커(AR marker, 증강현실 표시 도구)로서 기능할 수 있다. 화면(1103)을 참조하면, 사람이 들고 있는 컵은 3D AR 마커로서 기능할 수 있다. 가상의 3D 이미지 제어 장치는 실제의 오브젝트의 3D 포즈를 추정하고 타겟 3D 모델을 실제의 오브젝트와 일치되도록 세팅할 수 있다. 실제의 오브젝트가 움직이는 경우 타겟 3D 모델을 변화시킬 수 있다. The virtual 3D image control device may control the virtual 3D image using the result of the 3D model alignment device. Referring to FIG. 16, the virtual 3D image control apparatus may control a virtual 3D image using 3D pose, feature point information, or
예를 들어, 가상의 3D 이미지 제어 장치는 로봇의 팔을 조정하는 경우 적용될 수 있다. 가상의 3D 이미지 제어 장치는 카메라를 통해 로봇의 팔로부터 2D 입력 이미지를 수신하고, 2D 입력 이미지로부터 로봇의 팔의 3D 포즈를 추정하고 특징점을 검출할 수 있다. 가상의 3D 이미지 제어 장치는 로봇의 팔에 대응되는 타겟 3D 모델을 검색할 수 있다. 이후, 가상의 3D 이미지 제어 장치는 타겟 3D 모델을 이용하여 로봇의 팔의 3차원 정보를 획득하고, 로봇의 팔의 잡는 위치, 손 동작 등을 인식하고 제어할 수 있다. For example, a virtual 3D image control device may be applied when the robot arm is adjusted. The virtual 3D image control apparatus may receive a 2D input image from a robot arm through a camera, estimate a 3D pose of the robot arm from a 2D input image, and detect a feature point. The virtual 3D image control device may search for a
도 12는 3D 모델 정렬 장치의 구체적인 구성을 도시한 도면이다.12 is a view showing a specific configuration of the 3D model alignment device.
3D 모델 정렬 장치(1200)는 적어도 하나의 프로세서(1201) 및 뉴럴 네트워크를 저장하는 메모리(1203)를 포함한다. 3D 모델 정렬 장치(1200)는 데이터베이스를 더 포함할 수 있다. 3D 모델 정렬 장치는 송수신부를 더 포함할 수 있다. 메모리는 뉴럴 네트워크 또는 하나 이상의 후보 3D 모델을 저장할 수 있다. 데이터베이스는 후보 3D 모델을 저장할 수 있다.The 3D
3D 모델 정렬 장치(1200)는 오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득한다. 프로세서(1201)는 뉴럴 네트워크를 이용하여 2D 입력 이미지로부터 오브젝트의 특징점을 검출한다. 프로세서(1201)는 뉴럴 네트워크를 이용하여 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정한다. 프로세서(1201)는 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색한다. 프로세서(1201)는 특징점을 기초로 타겟 3D 모델과 오브젝트를 정렬한다.The 3D
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. Computer-readable media may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded in the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specifically configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and / or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the transmitted signal wave. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and / or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if substituted or substituted by equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (19)
프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계;
상기 프로세서에 의해, 상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계;
상기 프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계; 및
상기 프로세서에 의해, 상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬하는 단계
를 포함하는, 3D 모델 정렬 방법.Obtaining, by the transceiver, at least one 2D input image including the object;
Detecting, by a processor, a feature point of the object from the 2D input image using a neural network;
Estimating, by the processor, a 3D pose of an object in the 2D input image using the neural network;
Searching, by the processor, a target 3D model based on the estimated 3D pose; And
Aligning the target 3D model and the object based on the feature point by the processor.
Including, 3D model alignment method.
상기 2D 입력 이미지를 획득하는 단계는,
제1 포즈의 상기 오브젝트를 포함하는 제1 2D 입력 이미지와 상기 제1 포즈와 상이한 제2 포즈의 상기 오브젝트를 포함하는 제2 2D 입력 이미지를 수신하는, 3D 모델 정렬 방법.According to claim 1,
Acquiring the 2D input image,
And receiving a first 2D input image including the object in a first pose and a second 2D input image including the object in a second pose different from the first pose.
상기 2D 입력 이미지를 획득하는 단계는,
제1 포즈의 상기 오브젝트를 포함하는 제1 2D 입력 이미지를 수신하는 단계; 및
상기 제1 포즈와 상이한 제2 포즈의 상기 오브젝트를 포함하는 제3 2D 입력 이미지를 생성하는 단계
를 포함하는, 3D 모델 정렬 방법.According to claim 1,
Acquiring the 2D input image,
Receiving a first 2D input image including the object in a first pose; And
Generating a 3D 2D input image including the object in a second pose different from the first pose
Including, 3D model alignment method.
상기 2D 입력 이미지 내의 상기 오브젝트를 검출하는 단계를 더 포함하는, 3D 모델 정렬 방법.According to claim 1,
And detecting the object in the 2D input image.
상기 3D 포즈를 추정하는 단계는,
상기 뉴럴 네트워크를 이용하여 상기 오브젝트의 유형을 분류하는 단계; 및
상기 뉴럴 네트워크를 이용하여 상기 분류 결과를 기초로 상기 오브젝트의 3D 포즈를 추정하는 단계
를 포함하는, 3D 모델 정렬 방법.According to claim 1,
Estimating the 3D pose,
Classifying the type of the object using the neural network; And
Estimating a 3D pose of the object based on the classification result using the neural network
Including, 3D model alignment method.
상기 타겟 3D 모델을 검색하는 단계는,
상기 2D 입력 이미지의 오브젝트의 제1 특징을 획득하는 단계;
복수의 후보 3D 모델 중에서 하나의 후보 3D 모델의 제2 특징을 획득하는 단계; 및
상기 제1 특징과 상기 제2 특징을 기초로 상기 후보 3D 모델이 상기 타겟 3D 모델인지 여부를 결정하는 단계
를 포함하는, 3D 모델 정렬 방법.According to claim 1,
Searching for the target 3D model,
Obtaining a first characteristic of the object of the 2D input image;
Obtaining a second characteristic of one candidate 3D model among the plurality of candidate 3D models; And
Determining whether the candidate 3D model is the target 3D model based on the first feature and the second feature
Including, 3D model alignment method.
상기 타겟 3D 모델인지 여부를 결정하는 단계는,
상기 제1 특징과 상기 제2 특징의 유사도를 계산하는 단계; 및
상기 유사도를 기초로 상기 후보 3D 모델이 상기 타겟 3D 모델인지 여부를 결정하는 단계
를 포함하는, 3D 모델 정렬 방법.The method of claim 6,
Determining whether or not the target 3D model,
Calculating a similarity between the first feature and the second feature; And
Determining whether the candidate 3D model is the target 3D model based on the similarity
Including, 3D model alignment method.
상기 추정된 3D 포즈, 상기 오브젝트의 특징점 및 상기 타겟 3D 모델의 특징점을 기초로 상기 오브젝트 또는 상기 타겟 3D 모델을 조정하는 단계를 더 포함하는, 3D 모델 정렬 방법.According to claim 1,
And adjusting the object or the target 3D model based on the estimated 3D pose, the feature points of the object, and the feature points of the target 3D model.
상기 조정하는 단계는,
상기 추정된 3D 포즈를 이용하여 상기 타겟 3D 모델 또는 상기 오브젝트를 조정하는 단계; 및
상기 오브젝트의 특징점 및 상기 타겟 3D 모델의 특징점을 기초로 상기 조정된 오브젝트 또는 상기 조정된 타겟 3D 모델을 재조정하는 단계
를 포함하는, 3D 모델 정렬 방법.The method of claim 8,
The adjusting step,
Adjusting the target 3D model or the object using the estimated 3D pose; And
Re-adjusting the adjusted object or the adjusted target 3D model based on the feature points of the object and the feature points of the target 3D model.
Including, 3D model alignment method.
상기 조정하는 단계는,
상기 오브젝트의 특징점 및 상기 타겟 3D 모델의 특징점을 기초로 상기 오브젝트 또는 상기 타겟 3D 모델을 조정하는 단계; 및
상기 추정된 3D 포즈를 이용하여 상기 조정된 타겟 3D 모델 또는 상기 조정된 오브젝트를 재조정하는 단계
를 포함하는, 3D 모델 정렬 방법.The method of claim 8,
The adjusting step,
Adjusting the object or the target 3D model based on the feature points of the object and the feature points of the target 3D model; And
Re-adjusting the adjusted target 3D model or the adjusted object using the estimated 3D pose
Including, 3D model alignment method.
프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계;
프로세서에 의해, 상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계;
프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계;
프로세서에 의해, 상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬하는 단계; 및
프로세서에 의해, 상기 정렬된 3D 모델을 기초로 상기 오브젝트의 움직임을 예측하는 단계
를 포함하는, 오브젝트의 움직임 예측 방법.Obtaining, by the transceiver, at least one 2D input image including the object;
Detecting, by a processor, a feature point of the object from the 2D input image using a neural network;
Estimating a 3D pose of an object in the 2D input image using the neural network by a processor;
Searching, by the processor, a target 3D model based on the estimated 3D pose;
Aligning, by the processor, the target 3D model and the object based on the feature point; And
Predicting, by the processor, the motion of the object based on the aligned 3D model;
A method of predicting motion of an object, comprising:
프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계;
프로세서에 의해, 상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계;
프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계;
프로세서에 의해, 상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬하는 단계; 및
프로세서에 의해, 상기 정렬된 3D 모델을 기초로 상기 오브젝트의 표면에 텍스쳐를 표시하는 단계
를 포함하는, 오브젝트의 텍스쳐 표시 방법.Obtaining, by the transceiver, at least one 2D input image including the object;
Detecting, by a processor, a feature point of the object from the 2D input image using a neural network;
Estimating a 3D pose of an object in the 2D input image using the neural network by a processor;
Searching, by the processor, a target 3D model based on the estimated 3D pose;
Aligning, by the processor, the target 3D model and the object based on the feature point; And
Displaying, by a processor, a texture on the surface of the object based on the aligned 3D model.
Including, the texture display method of the object.
프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계;
디스플레이에 의해, 상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계;
프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계;
프로세서에 의해, 상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬하는 단계; 및
디스플레이에 의해, 상기 정렬된 3D 모델을 기초로 가상의 3D 이미지를 표시하는 단계
를 포함하는, 가상의 3D 이미지 표시 방법.Obtaining, by the processor, at least one 2D input image including the object;
Detecting, by a processor, a feature point of the object from the 2D input image using a neural network;
Estimating a 3D pose of an object in the 2D input image using the neural network by a display;
Searching, by the processor, a target 3D model based on the estimated 3D pose;
Aligning, by the processor, the target 3D model and the object based on the feature point; And
Displaying, by a display, a virtual 3D image based on the aligned 3D model.
Including, a virtual 3D image display method.
프로세서에 의해, 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하는 단계;
프로세서에 의해, 상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하는 단계;
프로세서에 의해, 상기 뉴럴 네트워크를 이용하여 상기 학습 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하는 단계; 및
프로세서에 의해, 상기 추정된 3D 포즈 또는 상기 검출된 특징점을 기초로 상기 뉴럴 네트워크를 학습시키는 단계
를 포함하는, 뉴럴 네트워크 학습 방법.Obtaining, by the transceiver, at least one learning 2D input image including the object;
Estimating a 3D pose of an object in the 2D input image using a neural network by a processor;
Searching, by the processor, a target 3D model based on the estimated 3D pose;
Detecting, by a processor, a feature point of the object from the learning 2D input image using the neural network; And
Learning, by the processor, the neural network based on the estimated 3D pose or the detected feature point.
Including, neural network learning method.
상기 3D 포즈를 추정하는 단계는,
상기 뉴럴 네트워크를 이용하여 상기 오브젝트의 유형을 분류하는 단계; 및
상기 뉴럴 네트워크를 이용하여 상기 분류 결과를 기초로 상기 오브젝트의 3D 포즈를 추정하는 단계를 포함하고,
상기 뉴럴 네트워크를 학습시키는 단계는, 상기 분류된 유형을 기초로 상기 뉴럴 네트워크를 학습시키는,
뉴럴 네트워크 학습 방법.The method of claim 14,
Estimating the 3D pose,
Classifying the type of the object using the neural network; And
And estimating a 3D pose of the object based on the classification result using the neural network,
In the step of training the neural network, training the neural network based on the classified type,
How to learn neural networks.
상기 추정된 3D 포즈의 적어도 하나의 후보 3D 모델의 합성 이미지를 획득하는 단계; 및
상기 뉴럴 네트워크를 이용하여 상기 학습 2D 입력 이미지 및 상기 합성 이미지의 도메인을 분류하는 단계를 더 포함하고,
상기 뉴럴 네트워크를 학습시키는 단계는, 상기 분류된 도메인을 기초로 상기 뉴럴 네트워크를 학습시키는,
뉴럴 네트워크 학습 방법.The method of claim 14,
Obtaining a composite image of at least one candidate 3D model of the estimated 3D pose; And
Further comprising the step of classifying the domain of the learning 2D input image and the composite image using the neural network,
The training of the neural network may include training the neural network based on the classified domain.
How to learn neural networks.
상기 합성 이미지를 획득하는 단계는,
상기 적어도 하나의 후보 3D 모델은 제1 후보 3D 모델 및 제2 후보 3D 모델을 포함하고, 상기 추정된 3D 포즈의 제1 후보 3D 모델의 제1 합성 이미지, 상기 제2 포즈의 제1 후보 3D 모델의 제2 합성 이미지, 상기 추정된 3D 포즈의 제2 후보 3D 모델의 제3 합성 이미지 및 상기 제2 포즈의 제2 후보 3D 모델의 제4 합성 이미지를 획득하는,
뉴럴 네트워크 학습 방법.The method of claim 16,
The obtaining of the composite image may include:
The at least one candidate 3D model includes a first candidate 3D model and a second candidate 3D model, a first composite image of the first candidate 3D model of the estimated 3D pose, and a first candidate 3D model of the second pose Obtaining a second composite image of, a third composite image of the second candidate 3D model of the estimated 3D pose, and a fourth composite image of the second candidate 3D model of the second pose,
How to learn neural networks.
상기 제1 후보 3D 모델과 상기 오브젝트의 유사도는 임계값 이상이고, 상기 제2 후보 3D 모델과 상기 오브젝트의 유사도는 임계값 미만인,
뉴럴 네트워크 학습 방법.The method of claim 17,
The similarity between the first candidate 3D model and the object is greater than or equal to a threshold, and the similarity between the second candidate 3D model and the object is below a threshold,
How to learn neural networks.
뉴럴 네트워크를 저장하는 메모리를 포함하고,
상기 프로세서는,
오브젝트를 포함하는 적어도 하나의 2D 입력 이미지를 획득하고,
뉴럴 네트워크를 이용하여 상기 2D 입력 이미지로부터 상기 오브젝트의 특징점을 검출하고,
상기 뉴럴 네트워크를 이용하여 상기 2D 입력 이미지 내의 오브젝트의 3D 포즈를 추정하고,
상기 추정된 3D 포즈를 기초로 타겟 3D 모델을 검색하고,
상기 특징점을 기초로 상기 타겟 3D 모델과 상기 오브젝트를 정렬하는,
3D 모델 정렬 장치.
At least one processor; And
Contains memory for storing neural networks,
The processor,
Acquire at least one 2D input image including the object,
Detecting a feature point of the object from the 2D input image using a neural network,
Estimating a 3D pose of an object in the 2D input image using the neural network,
Search for a target 3D model based on the estimated 3D pose,
Aligning the target 3D model and the object based on the feature point,
3D model alignment device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/674,139 US11295532B2 (en) | 2018-11-15 | 2019-11-05 | Method and apparatus for aligning 3D model |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811359461.2A CN111191492B (en) | 2018-11-15 | 2018-11-15 | Information estimation, model retrieval and model alignment methods and devices |
CN201811359461.2 | 2018-11-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200056905A true KR20200056905A (en) | 2020-05-25 |
KR102608473B1 KR102608473B1 (en) | 2023-12-01 |
Family
ID=70707035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190087023A KR102608473B1 (en) | 2018-11-15 | 2019-07-18 | Method and apparatus for aligning 3d model |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102608473B1 (en) |
CN (1) | CN111191492B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220080341A (en) * | 2020-12-07 | 2022-06-14 | 주식회사 플라잎 | Apparatus and method for estimating 6d pose |
KR102624242B1 (en) * | 2023-07-07 | 2024-01-15 | 주식회사 아임토리 | System for providing two dimensional and three dimensional matching service for robot |
WO2024075972A1 (en) * | 2022-10-07 | 2024-04-11 | 삼성전자 주식회사 | Method and electronic device for generating three-dimensional (3d) model |
KR20240056186A (en) * | 2022-10-21 | 2024-04-30 | 주식회사 그라운드원 | Deep learning-based 3d modeling automatic generation system and method |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240012B (en) * | 2021-05-14 | 2022-08-23 | 天津大学 | Two-dimensional image-based unsupervised multi-view three-dimensional target retrieval method and device |
CN113449823B (en) * | 2021-08-31 | 2021-11-19 | 成都深蓝思维信息技术有限公司 | Automatic driving model training method and data processing equipment |
CN114998277B (en) * | 2022-06-16 | 2024-05-17 | 吉林大学 | Grabbing point identification method and device, electronic equipment and computer storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170108339A (en) * | 2016-03-17 | 2017-09-27 | 한국전자통신연구원 | Method for recognizing plural object in image |
KR20180032400A (en) * | 2016-09-22 | 2018-03-30 | 한국전자통신연구원 | multiple object tracking apparatus based Object information of multiple camera and method therefor |
KR20180060784A (en) * | 2016-11-29 | 2018-06-07 | 삼성전자주식회사 | Method and apparatus for determining abnormal object |
KR101906431B1 (en) * | 2017-07-20 | 2018-10-11 | 네이버랩스 주식회사 | Method and system for 3d modeling based on 2d image recognition |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10373380B2 (en) * | 2016-02-18 | 2019-08-06 | Intel Corporation | 3-dimensional scene analysis for augmented reality operations |
CN106355153B (en) * | 2016-08-31 | 2019-10-18 | 上海星视度科技有限公司 | A kind of virtual objects display methods, device and system based on augmented reality |
CN108229489B (en) * | 2016-12-30 | 2020-08-11 | 北京市商汤科技开发有限公司 | Key point prediction method, network training method, image processing method, device and electronic equipment |
FR3065100B1 (en) * | 2017-04-06 | 2019-04-12 | B<>Com | INSTALLATION ESTIMATING METHOD, DEVICE, SYSTEM AND COMPUTER PROGRAM THEREOF |
CN107992532A (en) * | 2017-11-23 | 2018-05-04 | 浙江工业大学 | Based on the method for searching three-dimension model for rendering image angle architectural feature |
CN108491880B (en) * | 2018-03-23 | 2021-09-03 | 西安电子科技大学 | Object classification and pose estimation method based on neural network |
-
2018
- 2018-11-15 CN CN201811359461.2A patent/CN111191492B/en active Active
-
2019
- 2019-07-18 KR KR1020190087023A patent/KR102608473B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170108339A (en) * | 2016-03-17 | 2017-09-27 | 한국전자통신연구원 | Method for recognizing plural object in image |
KR20180032400A (en) * | 2016-09-22 | 2018-03-30 | 한국전자통신연구원 | multiple object tracking apparatus based Object information of multiple camera and method therefor |
KR20180060784A (en) * | 2016-11-29 | 2018-06-07 | 삼성전자주식회사 | Method and apparatus for determining abnormal object |
KR101906431B1 (en) * | 2017-07-20 | 2018-10-11 | 네이버랩스 주식회사 | Method and system for 3d modeling based on 2d image recognition |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220080341A (en) * | 2020-12-07 | 2022-06-14 | 주식회사 플라잎 | Apparatus and method for estimating 6d pose |
WO2024075972A1 (en) * | 2022-10-07 | 2024-04-11 | 삼성전자 주식회사 | Method and electronic device for generating three-dimensional (3d) model |
KR20240056186A (en) * | 2022-10-21 | 2024-04-30 | 주식회사 그라운드원 | Deep learning-based 3d modeling automatic generation system and method |
KR102624242B1 (en) * | 2023-07-07 | 2024-01-15 | 주식회사 아임토리 | System for providing two dimensional and three dimensional matching service for robot |
Also Published As
Publication number | Publication date |
---|---|
CN111191492B (en) | 2024-07-02 |
KR102608473B1 (en) | 2023-12-01 |
CN111191492A (en) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102608473B1 (en) | Method and apparatus for aligning 3d model | |
US11295532B2 (en) | Method and apparatus for aligning 3D model | |
CN110322500B (en) | Optimization method and device for instant positioning and map construction, medium and electronic equipment | |
CN111079619B (en) | Method and apparatus for detecting target object in image | |
CN113450408B (en) | Irregular object pose estimation method and device based on depth camera | |
KR102472767B1 (en) | Method and apparatus of calculating depth map based on reliability | |
CN110386142A (en) | Pitch angle calibration method for automatic driving vehicle | |
CN107990899A (en) | A kind of localization method and system based on SLAM | |
CN106780631B (en) | Robot closed-loop detection method based on deep learning | |
CN112258567A (en) | Visual positioning method and device for object grabbing point, storage medium and electronic equipment | |
US11315264B2 (en) | Laser sensor-based map generation | |
KR20220043847A (en) | Method, apparatus, electronic device and storage medium for estimating object pose | |
KR102075844B1 (en) | Localization system merging results of multi-modal sensor based positioning and method thereof | |
KR20170082794A (en) | Method and apparatus for estimating depth, and method and apparatus for learning distance estimator | |
CN110349212A (en) | Immediately optimization method and device, medium and the electronic equipment of positioning and map structuring | |
CN105989586A (en) | SLAM method based on semantic bundle adjustment method | |
CN110070578B (en) | Loop detection method | |
CN117593650B (en) | Moving point filtering vision SLAM method based on 4D millimeter wave radar and SAM image segmentation | |
CN115797736A (en) | Method, device, equipment and medium for training target detection model and target detection | |
CN115937520A (en) | Point cloud moving target segmentation method based on semantic information guidance | |
US20220300774A1 (en) | Methods, apparatuses, devices and storage media for detecting correlated objects involved in image | |
US20230350418A1 (en) | Position determination by means of neural networks | |
KR102618069B1 (en) | Method and apparatus for analyasing indoor building disaster information using point cloud data and visual information from ground survey robot | |
CN111027434B (en) | Training method and device of pedestrian recognition model and electronic equipment | |
CN116343143A (en) | Target detection method, storage medium, road side equipment and automatic driving system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |