KR102245220B1 - Apparatus for reconstructing 3d model from 2d images based on deep-learning and method thereof - Google Patents

Apparatus for reconstructing 3d model from 2d images based on deep-learning and method thereof Download PDF

Info

Publication number
KR102245220B1
KR102245220B1 KR1020200148309A KR20200148309A KR102245220B1 KR 102245220 B1 KR102245220 B1 KR 102245220B1 KR 1020200148309 A KR1020200148309 A KR 1020200148309A KR 20200148309 A KR20200148309 A KR 20200148309A KR 102245220 B1 KR102245220 B1 KR 102245220B1
Authority
KR
South Korea
Prior art keywords
image
model
target object
voxel model
decoder
Prior art date
Application number
KR1020200148309A
Other languages
Korean (ko)
Inventor
박진영
Original Assignee
주식회사 엔닷라이트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔닷라이트 filed Critical 주식회사 엔닷라이트
Priority to KR1020200148309A priority Critical patent/KR102245220B1/en
Application granted granted Critical
Publication of KR102245220B1 publication Critical patent/KR102245220B1/en
Priority to PCT/KR2021/013545 priority patent/WO2022097932A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • 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]

Abstract

Provided are a device for reconstructing a 3D model from a 2D image based on deep-learning and a method thereof. According to some embodiments of the present disclosure, the device for reconstructing the 3D model includes: a memory which stores one or more instructions; and a processor which obtains a 2D input image of a target object by executing the one or more stored instructions, and reconstructs a 3D voxel model of the target object from the input image through a deep-learning network. The device for reconstructing the 3D model may improve the accuracy of 3D model restoration by using the deep-learning network.

Description

딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법{APPARATUS FOR RECONSTRUCTING 3D MODEL FROM 2D IMAGES BASED ON DEEP-LEARNING AND METHOD THEREOF}Apparatus and method for restoring a 3D model from a 2D image based on deep learning {APPARATUS FOR RECONSTRUCTING 3D MODEL FROM 2D IMAGES BASED ON DEEP-LEARNING AND METHOD THEREOF}

본 개시는 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법에 관한 것이다. 보다 자세하게는, 딥러닝 네트워크(deep-learning network)를 이용하여 타깃 객체에 대한 2차원의 이미지로부터 3차원의 복셀(voxel) 모델을 복원(reconstructing)할 수 있는 장치 및 그 장치에서 수행되는 방법에 관한 것이다.The present disclosure relates to an apparatus and method for reconstructing a 3D model from a 2D image based on deep learning. In more detail, a device capable of reconstructing a three-dimensional voxel model from a two-dimensional image of a target object using a deep-learning network, and a method performed in the device. About.

최근, 증강 현실(augmented reality), 가상 현실(virtual reality)에 관한 관심이 높아지면서 3차원 입체 영상과 관련된 기술에 관한 연구가 활발하고 진행되고 있다. 또한, 이러한 연구의 일환으로, 2차원 이미지로부터 3차원의 이미지 또는 모델을 복원하는 기술(이하, "3차원복원 기술")에 관한 연구도 진행되고 있다.Recently, as interest in augmented reality and virtual reality is increasing, research on a technology related to a 3D stereoscopic image is actively and in progress. In addition, as part of this research, research on a technology for restoring a three-dimensional image or model from a two-dimensional image (hereinafter, "three-dimensional restoration technology") is also being conducted.

지금까지 몇몇 3차원 복원 기술이 제안된 바 있다. 가령, 명암차를 기준으로 주어진 2차원 이미지에서 윤곽 포인트를 검출하고, 검출된 윤곽 포인트의 깊이 추정값을 토대로 3차원 이미지를 복원하는 기술이 제안된 바 있다(특허문헌 1 참조). 또한, 서로 다른 각도에서 촬영된 복수의 이미지를 활용하여 3차원의 복셀(voxel) 모델을 복원하는 기술도 제안된 바 있다.So far, several 3D restoration techniques have been proposed. For example, a technique for detecting a contour point in a given two-dimensional image based on a difference in contrast and restoring a three-dimensional image based on an estimated depth value of the detected contour point has been proposed (refer to Patent Document 1). In addition, a technique for restoring a three-dimensional voxel model by using a plurality of images captured from different angles has also been proposed.

그러나, 제안된 기술들은 3차원의 복원 정확도가 떨어지거나, 싱글뷰(single-view) 이미지만 주어진 경우에는 3차원의 복셀 모델을 복원할 수 없다는 문제점을 지니고 있다.However, the proposed techniques have a problem in that 3D reconstruction accuracy is poor, or when only a single-view image is given, a 3D voxel model cannot be reconstructed.

한국등록특허 제10-1725166호 (2017.04.12 공개)Korean Patent Registration No. 10-1725166 (published on April 12, 2017)

본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 딥러닝 네트워크(deep-learning network)를 이용하여 타깃 객체에 대한 2차원의 싱글뷰(single-view) 이미지로부터 3차원의 복셀 모델을 복원할 수 있는 장치 및 그 장치에서 수행되는 방법에 관한 것이다.The technical problem to be solved through some embodiments of the present disclosure is to restore a three-dimensional voxel model from a two-dimensional single-view image of a target object using a deep-learning network. It relates to a device capable of and a method to be performed on the device.

본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 딥러닝 네트워크를 이용하여 타깃 객체에 대한 2차원의 멀티뷰(multi- view) 이미지로부터 3차원의 복셀 모델을 복원할 수 있는 장치 및 그 장치에서 수행되는 방법에 관한 것이다.Another technical problem to be solved through some embodiments of the present disclosure is an apparatus capable of reconstructing a three-dimensional voxel model from a two-dimensional multi-view image of a target object using a deep learning network, and It relates to how it is performed on the device.

본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 2차원 이미지로부터 3차원 모델을 복원하는 장치는, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리, 상기 저장된 하나 이상의 인스트럭션들을 실행함으로써, 타깃 객체에 대한 2차원의 입력 이미지를 획득하고, 딥러닝 네트워크를 통해 상기 입력 이미지로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 프로세서를 포함할 수 있다. 이때, 상기 딥러닝 네트워크는 상기 입력 이미지로부터 상기 복셀 모델로 복원하여 출력하는 복원기와 실제 이미지와 페이크(fake) 이미지를 판별하는 판별기를 포함하고, 상기 복원기는 상기 복원된 복셀 모델과 정답 복셀 모델 간의 차이에 기초하여 산출된 제1 오차와 상기 복원된 복셀 모델에 대한 상기 판별기의 판별 결과에 기초하여 산출된 제2 오차를 통해 학습될 수 있다.In order to solve the above technical problem, an apparatus for restoring a 3D model from a 2D image according to some embodiments of the present disclosure includes a memory storing one or more instructions, and executing the stored one or more instructions. And a processor for acquiring a two-dimensional input image for a target object and reconstructing a three-dimensional voxel model for the target object from the input image through a deep learning network. At this time, the deep learning network includes a restorer for restoring and outputting the voxel model from the input image, and a discriminator for discriminating an actual image and a fake image, and the restorer is between the restored voxel model and the correct voxel model. It may be learned through a first error calculated based on the difference and a second error calculated based on a result of determination of the discriminator for the restored voxel model.

몇몇 실시예들에서, 상기 복원기는 제3 오차에 더 기초하여 학습되되, 상기 제3 오차는 상기 복원된 복셀 모델에 대한 프로젝션(projection) 연산을 통해 생성된 2차원의 프로젝션 이미지와 상기 입력 이미지와의 차이에 기초하여 산출될 수 있다.In some embodiments, the reconstructor is further learned based on a third error, but the third error is a two-dimensional projection image and the input image generated through a projection operation on the restored voxel model. It can be calculated based on the difference of.

몇몇 실시예들에서, 상기 복원기는 상기 입력 이미지로부터 상기 타깃 객체에 대한 특징을 추출하는 인코더와 상기 추출된 특징을 디코딩하여 상기 복셀 모델을 생성하는 디코더를 포함할 수 있다.In some embodiments, the reconstructor may include an encoder for extracting features of the target object from the input image and a decoder for generating the voxel model by decoding the extracted features.

몇몇 실시예들에서, 상기 입력 이미지는 상기 타깃 객체의 서로 다른 뷰(view)에 대응되는 복수의 이미지를 포함하는 멀티뷰 이미지이고, 상기 복원기는 복수의 인코더, 복수의 디코더, 애그리게이터(aggregator) 및 리파이너(refiner)를 포함하며, 상기 복수의 인코더는 상기 멀티뷰 이미지를 입력받아 상기 타깃 객체에 대한 복수의 특징을 추출하고, 상기 복수의 디코더는 상기 복수의 특징을 디코딩하여 복수의 볼륨 피처(volume feature)를 생성하며, 상기 애그리게이터는 상기 복수의 볼륨 피처를 애그리게이팅하고, 상기 리파이너는 신경망으로 구성되어 상기 애그리게이팅된 볼륨 피처로부터 상기 복셀 모델을 복원할 수 있다.In some embodiments, the input image is a multi-view image including a plurality of images corresponding to different views of the target object, and the reconstructor is a plurality of encoders, a plurality of decoders, and an aggregator. And a refiner, wherein the plurality of encoders receive the multi-view image and extract a plurality of features of the target object, and the plurality of decoders decode the plurality of features to obtain a plurality of volume features ( volume feature), the aggregator aggregating the plurality of volume features, and the refiner is configured as a neural network to restore the voxel model from the aggregated volume features.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예들에 따른 2차원 이미지로부터 3차원 모델을 복원하는 장치는, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리, 상기 하나 이상의 인스트럭션들을 실행함으로써, 타깃 객체에 대한 멀티뷰(multi-view) 이미지를 입력받고, 상기 멀티뷰 이미지로부터 2차원의 깊이 정보를 추출하며, 상기 깊이 정보를 기초로 상기 타깃 객체에 대한 볼륨 데이터를 생성하고, 딥러닝 네트워크를 통해 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 프로세서를 포함할 수 있다.An apparatus for restoring a 3D model from a 2D image according to some embodiments of the present disclosure for solving the above technical problem includes a memory storing one or more instructions, and executing the one or more instructions. , Receiving a multi-view image of a target object, extracting two-dimensional depth information from the multi-view image, generating volume data for the target object based on the depth information, and deep learning It may include a processor for restoring a three-dimensional voxel model of the target object from the volume data through a network.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법은, 컴퓨팅 장치에서 수행되는 방법으로서, 타깃 객체에 대한 2차원의 입력 이미지를 획득하는 단계 및 딥러닝 네트워크를 통해 상기 입력 이미지로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 단계를 포함할 수 있다.A method of restoring a 3D model from a deep learning-based 2D image according to some embodiments of the present disclosure to solve the above technical problem is a method performed in a computing device, and includes a 2D input image for a target object. And restoring a three-dimensional voxel model of the target object from the input image through a deep learning network.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예들에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법은, 컴퓨팅 장치에서 수행되는 방법으로서, 타깃 객체에 대한 멀티뷰(multi-view) 이미지를 입력받는 단계, 상기 멀티뷰 이미지로부터 2차원의 깊이 정보를 추출하는 단계, 상기 깊이 정보를 기초로 상기 타깃 객체에 대한 볼륨 데이터를 생성하는 단계 및 딥러닝 네트워크를 통해 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 단계를 포함할 수 있다.A method of restoring a 3D model from a deep learning-based 2D image according to some other embodiments of the present disclosure for solving the above technical problem is a method performed in a computing device, and includes a multiview of a target object. -view) receiving an image, extracting two-dimensional depth information from the multi-view image, generating volume data for the target object based on the depth information, and the volume data through a deep learning network The method may include restoring a 3D voxel model for the target object.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 타깃 객체에 대한 2차원의 입력 이미지를 획득하는 단계 및 딥러닝 네트워크를 통해 상기 입력 이미지로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장될 수 있다.A computer program according to some embodiments of the present disclosure for solving the above-described technical problem is combined with a computing device to obtain a two-dimensional input image for a target object, and from the input image through a deep learning network. It may be stored in a computer-readable recording medium to execute the step of restoring a three-dimensional voxel model of the target object.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 타깃 객체에 대한 멀티뷰(multi-view) 이미지를 입력받는 단계, 상기 멀티뷰 이미지로부터 2차원의 깊이 정보를 추출하는 단계, 상기 깊이 정보를 기초로 상기 타깃 객체에 대한 볼륨 데이터를 생성하는 단계 및 딥러닝 네트워크를 통해 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장될 수 있다.A computer program according to some other embodiments of the present disclosure for solving the above-described technical problem is combined with a computing device to receive a multi-view image of a target object, from the multi-view image. Extracting two-dimensional depth information, generating volume data for the target object based on the depth information, and a three-dimensional voxel model for the target object from the volume data through a deep learning network It may be stored in a computer-readable recording medium to perform the step of restoring.

상술한 본 개시의 몇몇 실시예들에 따르면, 딥러닝 네트워크(deep-learning network)를 통해 타깃 객체에 대한 2차원 이미지로부터 3차원의 복셀(voxel) 모델이 복원될 수 있는데, 딥러닝 네트워크를 이용함으로써 3차원 복셀 모델에 대한 복원 정확도가 크게 향상될 수 있다.According to some embodiments of the present disclosure described above, a three-dimensional voxel model may be restored from a two-dimensional image of a target object through a deep-learning network. By doing so, the reconstruction accuracy for the 3D voxel model can be greatly improved.

또한, 싱글뷰(single-view) 이미지만이 주어진 경우에도, 높은 정확도로 3차원 복셀 모델이 복원될 수 있다.In addition, even when only a single-view image is given, a 3D voxel model can be reconstructed with high accuracy.

또한, 딥러닝 네트워크가 외곽선 오차, 프로젝션 오차, 판별 오차, 분류 오차 등과 같은 다양한 오차를 통해 더 학습됨으로써, 딥러닝 네트워크의 복원 성능이 더욱 향상될 수 있다.In addition, as the deep learning network is further learned through various errors such as an outline error, a projection error, a discrimination error, and a classification error, the restoration performance of the deep learning network may be further improved.

또한, 타깃 객체에 대한 멀티뷰(multi-view) 이미지의 깊이 정보로부터 타깃 객체에 대한 개략적인 3차원 형상 정보가 추정될 수 있고, 딥러닝 네트워크를 통해 추정된 3차원 형상 정보로부터 3차원 복셀 모델이 정확하게 복원될 수 있다.In addition, rough 3D shape information of the target object can be estimated from depth information of a multi-view image of the target object, and a 3D voxel model from 3D shape information estimated through a deep learning network This can be accurately restored.

또한, 피처 축적 구조(e.g. RNN, 애그리게이터)를 갖는 딥러닝 네트워크를 이용함으로써, 3차원 복셀 모델에 대한 복원 정확도가 더욱 향상될 수 있다.In addition, by using a deep learning network having a feature accumulation structure (e.g. RNN, aggregator), reconstruction accuracy for a 3D voxel model can be further improved.

본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects according to the technical idea of the present disclosure are not limited to the above-mentioned effects, and other effects that are not mentioned will be clearly understood by those of ordinary skill in the art from the following description.

도 1은 본 개시의 몇몇 실시예들에 따른 2차원 이미지로부터 3차원 모델을 복원하는 장치와 그의 입출력 데이터를 설명하기 위한 예시적인 도면이다.
도 2는 본 개시의 제1 실시예에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법을 설명하기 위한 예시적인 흐름도이다.
도 3 내지 도 6은 본 개시의 몇몇 실시예들에 따른 딥러닝 네트워크의 구조와 학습 방식을 설명하기 위한 예시적인 도면이다.
도 7 및 도 8은 본 개시의 제2 실시예에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법을 설명하기 위한 예시적인 도면이다.
도 9는 본 개시의 몇몇 실시예들에 따른 깊이 정보 추출 방법을 설명하기 위한 예시적인 도면이다.
도 10은 본 개시의 제3 실시예에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법을 설명하기 위한 예시적인 도면이다.
도 11은 본 개시의 몇몇 실시예들에 따른 멀티뷰 이미지 생성 방법을 설명하기 위한 예시적인 도면이다.
도 12는 본 개시의 몇몇 실시예들에 따른 3차원 모델 복원 장치를 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
1 is an exemplary diagram illustrating an apparatus for reconstructing a 3D model from a 2D image and input/output data thereof according to some embodiments of the present disclosure.
2 is an exemplary flowchart illustrating a method of reconstructing a 3D model from a 2D image based on deep learning according to the first embodiment of the present disclosure.
3 to 6 are exemplary diagrams for explaining a structure and a learning method of a deep learning network according to some embodiments of the present disclosure.
7 and 8 are exemplary diagrams for explaining a method of reconstructing a 3D model from a 2D image based on deep learning according to a second embodiment of the present disclosure.
9 is an exemplary diagram for describing a method for extracting depth information according to some embodiments of the present disclosure.
10 is an exemplary diagram for explaining a method of reconstructing a 3D model from a 2D image based on deep learning according to a third embodiment of the present disclosure.
11 is an exemplary diagram for describing a method of generating a multi-view image according to some embodiments of the present disclosure.
12 illustrates an exemplary computing device capable of implementing an apparatus for reconstructing a 3D model according to some embodiments of the present disclosure.

이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Advantages and features of the present disclosure, and a method of achieving them will be apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the technical idea of the present disclosure is not limited to the following embodiments, but may be implemented in various different forms, and only the following embodiments complete the technical idea of the present disclosure, and in the technical field to which the present disclosure pertains. It is provided to completely inform the scope of the present disclosure to those of ordinary skill in the art, and the technical idea of the present disclosure is only defined by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to elements of each drawing, it should be noted that the same elements are assigned the same numerals as possible, even if they are indicated on different drawings. In addition, in describing the present disclosure, when it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present disclosure, a detailed description thereof will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used with meanings that can be commonly understood by those of ordinary skill in the art to which this disclosure belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically. The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present disclosure. In this specification, the singular form also includes the plural form unless specifically stated in the phrase.

또한, 본 개시의 구성요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성요소를 다른 구성요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 또 다른 구성요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the constituent elements of the present disclosure, terms such as first, second, A, B, (a), (b) may be used. These terms are only for distinguishing the component from other components, and the nature, order, or order of the component is not limited by the term. When a component is described as being "connected", "coupled" or "connected" to another component, the component may be directly connected or connected to that other component, but another component between each component It will be understood that elements may be “connected”, “coupled” or “connected”.

본 개시에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used in this disclosure, "comprises" and/or "comprising" refers to the referenced components, steps, actions, and/or elements of one or more other elements, steps, actions and/or elements. It does not exclude presence or addition.

이하, 본 개시의 다양한 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 본 개시의 몇몇 실시예들에 따른 2차원 이미지로부터 3차원 모델을 복원하는 장치(10)와 그의 입출력 데이터를 설명하기 위한 예시적인 도면이다.1 is an exemplary diagram illustrating an apparatus 10 for reconstructing a 3D model from a 2D image and input/output data thereof according to some embodiments of the present disclosure.

도 1에 도시된 바와 같이, 3차원 모델 복원 장치(10)는 타깃 객체(e.g. 비행기)에 대한 2차원의 입력 이미지(11)로부터 3차원의 복셀 모델(13)을 복원할 수 있는 컴퓨팅 장치일 수 있다. 즉, 3차원 모델 복원 장치(10)는 타깃 객체에 대한 2차원 이미지(11)를 입력받고, 이를 3차원의 복셀 모델(13)로 복원하여 출력할 수 있다. 이때, 입력 이미지(11)는 도시된 바와 같이 싱글뷰(single-view) 이미지일 수 있고, 경우에 따라 멀티뷰(multi-view) 이미지가 될 수도 있다. 이하에서는, 설명의 편의상, 3차원 모델 복원 장치(10)를 "복원 장치(10)"로 약칭하도록 한다.As shown in FIG. 1, the 3D model restoration apparatus 10 is a computing device capable of reconstructing a 3D voxel model 13 from a 2D input image 11 for a target object (eg airplane). I can. That is, the 3D model restoration apparatus 10 may receive a 2D image 11 of a target object, restore it to a 3D voxel model 13 and output it. In this case, the input image 11 may be a single-view image as shown, or may be a multi-view image in some cases. Hereinafter, for convenience of description, the 3D model restoration apparatus 10 will be abbreviated as “restore apparatus 10”.

상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다.The computing device may be a notebook, a desktop, a laptop, etc., but is not limited thereto, and may include all types of devices equipped with a computing function.

본 개시의 다양한 실시예들에서, 복원 장치(10)는 딥러닝 네트워크(deep-learning network)를 이용하여 2차원의 입력 이미지(11)로부터 3차원의 복셀 모델(13)을 복원할 수 있다. 이에 따라, 3차원 복셀 모델의 복원 정확도가 크게 향상될 수 있는데, 본 실시예에 관하여서는 추후 도 2 이하의 도면을 참조하여 상세하게 설명하도록 한다.In various embodiments of the present disclosure, the reconstruction apparatus 10 may reconstruct the 3D voxel model 13 from the 2D input image 11 using a deep-learning network. Accordingly, the reconstruction accuracy of the 3D voxel model can be greatly improved, and the present embodiment will be described in detail later with reference to the accompanying drawings in FIG. 2.

한편, 도 1은 복원 장치(10)가 단일 컴퓨팅 장치로 구현된 것을 예로써 도시하고 있으나, 복원 장치(10)는 복수개의 컴퓨팅 장치로 구현될 수도 있다. 예를 들어, 복원 장치(10)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다. 또는, 복원 장치(10)의 특정 기능이 복수의 컴퓨팅 장치에서 구현될 수도 있다.Meanwhile, although FIG. 1 illustrates that the restoration device 10 is implemented as a single computing device, the restoration device 10 may be implemented as a plurality of computing devices. For example, a first function of the restoration device 10 may be implemented in a first computing device, and a second function may be implemented in a second computing device. Alternatively, a specific function of the restoration device 10 may be implemented in a plurality of computing devices.

지금까지 도 1을 참조하여 본 개시의 몇몇 실시예들에 따른 복원 장치(10)에 대하여 개략적으로 설명하였다. 이하에서는, 도 1에 예시된 복원 장치(10)에서 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 방법(이하, "딥러닝 기반 3차원 모델 복원 방법")에 관하여 상세하게 설명하도록 한다.So far, the restoration apparatus 10 according to some embodiments of the present disclosure has been schematically described with reference to FIG. 1. Hereinafter, a method for restoring a 3D model from a 2D image based on deep learning in the restoration apparatus 10 illustrated in FIG. 1 (hereinafter, “a method for restoring a 3D model based on deep learning”) will be described in detail. .

이하에서 후술될 3차원 모델 복원 방법의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있으며, 특정 동작의 주어가 생략된 경우 복원 장치(10)에 의하여 수행되는 것으로 이해될 수 있다. 다만, 경우에 따라 상기 3차원 모델 복원 방법의 일부 단계는 다른 컴퓨팅 장치에서 수행될 수도 있다.Each step of the 3D model restoration method to be described below may be implemented with one or more instructions executed by the processor of the computing device, and it is understood that it is performed by the restoration device 10 when the subject of a specific operation is omitted. Can be. However, in some cases, some steps of the 3D model restoration method may be performed in another computing device.

먼저, 도 2 내지 도 6을 참조하여 본 개시의 제1 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하도록 한다.First, a deep learning-based 3D model restoration method according to a first embodiment of the present disclosure will be described with reference to FIGS. 2 to 6.

도 2는 본 개시의 제1 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.2 is an exemplary flowchart illustrating a deep learning-based 3D model restoration method according to the first embodiment of the present disclosure. However, this is only a preferred embodiment for achieving the object of the present disclosure, and of course, some steps may be added or deleted as necessary.

도 2에 도시된 바와 같이, 본 실시예는 학습 데이터를 이용하여 딥러닝 네트워크를 학습시키는 단계 S100에서 시작될 수 있다. 학습 데이터(셋)는 예를 들어 타깃 객체에 대한 2차원 이미지(셋)와 3차원의 정답 복셀 모델(셋)로 구성될 수 있다.As shown in FIG. 2, the present embodiment may begin in step S100 of training a deep learning network using training data. The training data (set) may be composed of, for example, a two-dimensional image (set) of a target object and a three-dimensional correct voxel model (set).

본 단계 S100에서, 딥러닝 네트워크의 구조 및/또는 학습 방식은 다양하게 설계될 수 있으며, 이는 실시예에 따라 달라질 수 있다.In this step S100, the structure and/or learning method of the deep learning network may be designed in various ways, which may vary according to embodiments.

몇몇 실시예들에서, 도 3에 예시된 바와 같이, 상기 딥러닝 네트워크는 단대단(end-to-end) 방식으로 2차원 이미지로부터 3차원의 복셀 모델을 복원할 수 있는 복원기(20; reconstructor)을 포함할 수 있다. 복원기(20)는 예를 들어 타깃 객체에 대한 특징(23)을 추출하는 인코더(21)와 추출된 특징(23)을 디코딩하여 복셀 모델(33)을 생성하는 디코더(25)를 포함하도록 구성될 수 있다. 그러나, 이에 한정되는 것은 아니며, 복원기(20)는 다른 형태의 신경망 구조로 이루어질 수도 있다. 인코더(21) 및 디코더(25)는 모두 신경망(neural network)으로 구성될 수 있는데, 예를 들어 인코더(21)는 CNN(Convolutional Neural Networks; e.g. 하나 이상의 컨볼루션 레이어)으로 구성될 수 있고, 디코더(21)는 CNN 또는 DCNN(DeConvolutional Neural Networks; e.g. 하나 이상의 디컨볼루션 레이어)로 구성될 수 있다. 그러나, 이에 한정되는 것은 아니다. 또한, 타깃 객체에 대한 특징(23)은 예를 들어 2차원 또는 3차원으로 이루어진 하나 이상의 특징맵(feature map)일 수 있다. 그러나, 이에 한정되는 것은 아니다.In some embodiments, as illustrated in FIG. 3, the deep learning network reconstructor 20 capable of reconstructing a 3D voxel model from a 2D image in an end-to-end manner. ) Can be included. The reconstructor 20 is configured to include, for example, an encoder 21 for extracting features 23 for a target object and a decoder 25 for generating a voxel model 33 by decoding the extracted features 23 Can be. However, the present invention is not limited thereto, and the restorer 20 may be formed of another type of neural network structure. Both the encoder 21 and the decoder 25 may be composed of a neural network. For example, the encoder 21 may be composed of CNN (Convolutional Neural Networks; eg, one or more convolutional layers), and the decoder (21) may be composed of CNN or DCNN (DeConvolutional Neural Networks; eg, one or more deconvolutional layers). However, it is not limited thereto. In addition, the feature 23 of the target object may be, for example, one or more feature maps in two dimensions or three dimensions. However, it is not limited thereto.

도 3의 예시에서, 복원기(20)는 복원된 복셀 모델(33)과 정답 복셀 모델(미도시)의 차이에 기초한 오차(error or loss; 이하 "복셀 오차")를 역전파함으로써 학습될 수 있다. 즉, 상기 오차가 최소화되는 방향으로 복원기(20)의 가중치(즉, 가중치 파라미터)가 업데이트될 수 있다. 당해 기술 분야의 종사자라면 이러한 오차 역전파(error back-propagation) 기법에 충분히 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다.In the example of FIG. 3, the reconstructor 20 may be trained by backpropagating an error or loss (hereinafter “voxel error”) based on a difference between the restored voxel model 33 and the correct voxel model (not shown). have. That is, the weight (ie, weight parameter) of the restorer 20 may be updated in a direction in which the error is minimized. Those skilled in the art will be sufficiently familiar with such an error back-propagation technique, and a detailed description thereof will be omitted.

또한, 몇몇 실시예들에서는, 도 4에 도시된 바와 같이, 복원기(20)를 학습시키기 위해 프로젝션(projection) 오차(39)가 더 이용될 수 있다. 즉, 복셀 오차(37)와 프로젝션 오차(39)가 최소화되는 방향으로 복원기(20)의 가중치가 업데이트될 수 있다. 여기서, 프로젝션 오차(39)는 복원된 복셀 모델(33)에 대해 프로젝션 연산을 적용하여 생성된 2차원 이미지(41; 이하 "프로젝션 이미지")와 복원기(20)에 입력된 2차원 이미지(31)의 차이에 기초하여 산출될 수 있다. 이때, 오차 산출을 위해 이용되는 손실 함수(loss function)는 어떠한 함수로 설정되더라도 무방하다. 본 실시예에서, 프로젝션 이미지(41)는 입력 이미지(31)와 동일 또는 유사한 뷰를 갖도록 프로젝션 연산을 수행함으로써 생성될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 본 실시예에 따르면, 프로젝션 오차(39)를 더 이용하여 복원기(20)가 학습됨으로써, 복원기(20)의 성능이 더욱 향상될 수 있다.In addition, in some embodiments, as illustrated in FIG. 4, a projection error 39 may be further used to learn the reconstructor 20. That is, the weight of the reconstructor 20 may be updated in a direction in which the voxel error 37 and the projection error 39 are minimized. Here, the projection error 39 is a two-dimensional image 41 (hereinafter “projection image”) generated by applying a projection operation to the restored voxel model 33 and a two-dimensional image 31 input to the reconstructor 20. ) Can be calculated based on the difference. At this time, the loss function used to calculate the error may be set to any function. In this embodiment, the projection image 41 may be generated by performing a projection operation to have the same or similar view as the input image 31, but the scope of the present disclosure is not limited thereto. According to the present embodiment, by further using the projection error 39 to learn the restorer 20, the performance of the restorer 20 may be further improved.

또한, 몇몇 실시예들에서는, 복원기(20)를 학습시키기 위해 외곽선 오차가 더 이용될 수 있다. 가령, 복셀 오차(37)와 외곽선 오차가 최소화되는 방향으로 복원기(20)의 가중치가 업데이트될 수 있다. 여기서, 외곽선 오차는 복원된 복셀 모델(33)에서 추출된 외곽선과 정답 복셀 모델(35)에서 추출된 외곽선의 차이에 기초하여 산출되거나, 프로젝션 이미지(41)에서 추출된 외곽선과 입력 이미지(31)에서 추출된 외곽선의 차이에 기초하여 산출될 수 있다. 본 실시예에 따르면, 외곽선 오차를 더 이용하여 복원기(20)가 학습됨으로써, 복원기(20)의 성능이 더욱 향상될 수 있다. 가령, 외곽선 오차는 타깃 객체의 형상(또는 모양)에 관한 복원 오차를 반영하고 있으므로, 외곽선 오차를 더 학습한 복원기(20)는 타깃 객체의 형상(또는 모양)을 보다 정확하게 복원할 수 있게 된다.In addition, in some embodiments, an outline error may be further used to learn the restorer 20. For example, the weight of the reconstructor 20 may be updated in a direction in which the voxel error 37 and the outline error are minimized. Here, the outline error is calculated based on the difference between the outline extracted from the restored voxel model 33 and the outline extracted from the correct voxel model 35, or the outline and the input image 31 extracted from the projection image 41 It can be calculated based on the difference between the outlines extracted from. According to the present embodiment, by further using the outline error to learn the restorer 20, the performance of the restorer 20 may be further improved. For example, since the outline error reflects the restoration error of the shape (or shape) of the target object, the restorer 20 having further learned the outline error can more accurately restore the shape (or shape) of the target object. .

또한, 몇몇 실시예들에서는, 도 5에 도시된 바와 같이, 상기 딥러닝 네트워크가 판별기(40; discriminator)를 더 포함하도록 구성될 수 있고, 복원기(20)는 판별기(40)의 판별 결과에 기초하여 산출된 판별 오차(43)를 더 이용하여 학습될 수 있다. 즉, 복셀 오차(37)와 판별 오차(43)가 최소화되는 방향으로 복원기(20)의 가중치가 업데이트될 수 있다. 여기서, 판별기(40)는 실제 복셀 모델(e.g. 정답 복셀 모델 35 등)과 페이크 복셀 모델(e.g. 복원 복셀 모델 33)을 판별할 수 있도록 학습된 신경망(e.g. CNN)일 수 있고, 판별 오차(43)는 복원된 복셀 모델(33)이 실제 복셀 모델에 가까울수록 작을 값을 갖도록 산출될 수 있다. 판별기(40)와 복원기(20)는 서로 적대적으로 학습될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 본 실시예에 따르면, 판별 오차(43)를 더 이용하여 복원기(20)가 학습됨으로써, 복원기(20)의 성능이 더욱 향상될 수 있다. 가령, 복원기(20)는 입력된 2차원 이미지(e.g. 31)를 실제에 더 가까운 3차원의 복셀 모델로 복원할 수 있게 된다.In addition, in some embodiments, as shown in FIG. 5, the deep learning network may be configured to further include a discriminator 40, and the restorer 20 may determine the discriminator 40 It may be learned by further using the discrimination error 43 calculated based on the result. That is, the weight of the reconstructor 20 may be updated in a direction in which the voxel error 37 and the discrimination error 43 are minimized. Here, the discriminator 40 may be a neural network (eg CNN) trained to determine an actual voxel model (eg correct answer voxel model 35, etc.) and a fake voxel model (eg restored voxel model 33), and the discrimination error 43 ) May be calculated to have a smaller value as the restored voxel model 33 is closer to the actual voxel model. The discriminator 40 and the restorer 20 may be learned to be hostile to each other, but the scope of the present disclosure is not limited thereto. According to the present embodiment, by further using the discrimination error 43 to learn the restorer 20, the performance of the restorer 20 may be further improved. For example, the reconstructor 20 may restore the input 2D image (e.g. 31) into a 3D voxel model closer to the actual.

또한, 몇몇 실시예들에서는, 도 6에 도시된 바와 같이, 상기 딥러닝 네트워크가 타깃 객체의 클래스(class)를 분류하는 분류기(50; classifier)를 더 포함하도록 구성될 수 있고, 복원기(20)는 분류기(50)의 분류 결과에 기초하여 산출된 분류 오차(49)를 더 이용하여 학습될 수 있다. 즉, 복셀 오차(37)와 분류 오차(49)가 최소화되는 방향으로 복원기(20)의 가중치가 업데이트될 수 있다. 본 실시예에서, 복원기(20)는 타깃 객체에 대한 2차원 이미지(31)와 클래스 정보(45; e.g. 비행기)를 입력받고 복셀 모델(33)을 복원하여 출력할 수 있다. 또한, 분류기(50)는 프로젝션 이미지(41) 또는 복원된 복셀 모델(33)에 포함된 타깃 객체의 클래스를 분류하도록 학습된 신경망(e.g. CNN)일 수 있고, 분류 오차(49)는 분류기(50)에 의해 예측된 클래스 정보(47)와 정답 클래스 정보(45)의 차이에 기초하여 산출될 수 있다. 본 실시예에 따르면, 분류 오차(49)를 더 이용하여 복원기(20)가 학습됨으로써, 복원기(20)의 성능이 더욱 향상될 수 있다. 가령, 복원기(20)는 타깃 객체의 클래스에 더욱 잘 부합하는 복셀 모델을 복원할 수 있게 된다.In addition, in some embodiments, as shown in FIG. 6, the deep learning network may be configured to further include a classifier 50 for classifying a class of a target object, and a restorer 20 ) May be further learned by using the classification error 49 calculated based on the classification result of the classifier 50. That is, the weight of the reconstructor 20 may be updated in a direction in which the voxel error 37 and the classification error 49 are minimized. In this embodiment, the reconstructor 20 may receive the 2D image 31 and class information 45 (e.g. airplane) of the target object, restore the voxel model 33, and output it. In addition, the classifier 50 may be a neural network (eg CNN) trained to classify the class of the target object included in the projected image 41 or the restored voxel model 33, and the classification error 49 is the classifier 50 ) May be calculated based on the difference between the predicted class information 47 and the correct answer class information 45. According to the present embodiment, by further using the classification error 49 to learn the restorer 20, the performance of the restorer 20 may be further improved. For example, the restorer 20 may restore a voxel model that better matches the class of the target object.

지금까지 도 3 내지 도 6을 참조하여 설명한 실시예들은 다양한 형태로 조합될 수 있다. 예를 들어, 상기 딥러닝 네트워크는 판별기(40)와 분류기(50)를 모두 포함하도록 구성될 수 있고, 복원기(20)는 프로젝션 오차(39), 판별 오차(43) 및 분류 오차(49)를 모두 이용하여 학습될 수도 있다.The embodiments described so far with reference to FIGS. 3 to 6 may be combined in various forms. For example, the deep learning network may be configured to include both the discriminator 40 and the classifier 50, and the reconstructor 20 includes a projection error 39, a discrimination error 43, and a classification error 49. ) Can also be used.

다시 도 2를 참조하여 설명한다.This will be described with reference to FIG. 2 again.

이하의 단계 S120 및 S140은 단계 S100을 통해 학습된 딥러닝 네트워크를 활용하는 과정으로 이해될 수 있다. 이하, 단계 S120 및 S140에 대하여 설명하도록 한다.Steps S120 and S140 below may be understood as a process of utilizing the deep learning network learned through step S100. Hereinafter, steps S120 and S140 will be described.

단계 S120에서, 타깃 객체에 대한 2차원의 원본 이미지가 획득될 수 있다.In step S120, a two-dimensional original image of the target object may be obtained.

단계 S140에서, 딥러닝 네트워크를 통해 2차원의 원본 이미지가 3차원의 복셀 모델로 복원될 수 있다. 가령, 복원 장치(10)는 원본 이미지를 딥러닝 네트워크에 입력하고 딥러닝 네트워크로부터 복원된 3차원의 복셀 모델을 획득할 수 있다(도 3 참조).In step S140, the two-dimensional original image may be reconstructed into a three-dimensional voxel model through the deep learning network. For example, the restoration device 10 may input the original image to the deep learning network and obtain a 3D voxel model restored from the deep learning network (see FIG. 3 ).

지금까지 도 2 내지 도 6을 참조하여 본 개시의 제1 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하였다. 상술한 방법에 따르면, 딥러닝 네트워크를 이용함으로써 단대단 방식으로 2차원 이미지로부터 3차원의 복셀 모델이 복원될 수 있는데, 이러한 방식은 종래와 같이 복잡한 알고리즘을 요구하지 않으면서도 높은 복원 정확도를 보장할 수 있다. 또한, 복셀 오차(e.g. 37) 외에 외곽선 오차, 프로젝션 오차(e.g. 39), 판별 오차(e.g. 43), 분류 오차(e.g. 49) 등과 같은 다양한 오차를 더 이용하여 학습함으로써, 딥러닝 네트워크의 복원 성능이 더욱 향상될 수 있다. 아울러, 싱글뷰 이미지만을 이용하여 복셀 모델이 복원될 수 있다는 장점이 있다.So far, a deep learning-based 3D model restoration method according to the first embodiment of the present disclosure has been described with reference to FIGS. 2 to 6. According to the above-described method, a three-dimensional voxel model can be restored from a two-dimensional image in an end-to-end manner by using a deep learning network. This method can guarantee high restoration accuracy without requiring a complex algorithm as in the prior art. I can. In addition, by learning using various errors such as outline error, projection error (eg 39), discrimination error (eg 43), classification error (eg 49) in addition to voxel error (eg 37), the restoration performance of the deep learning network is improved. It can be further improved. In addition, there is an advantage that a voxel model can be reconstructed using only a single view image.

이하에서는, 도 7 내지 도 9를 참조하여 본 개시의 제2 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하도록 한다. 상기 제2 실시예는 멀티뷰 이미지를 이용하여 3차원 모델의 복원 정확도를 보다 향상시킬 수 있는 방법에 관한 것이다.Hereinafter, a deep learning-based 3D model restoration method according to a second embodiment of the present disclosure will be described with reference to FIGS. 7 to 9. The second embodiment relates to a method of further improving the reconstruction accuracy of a 3D model by using a multi-view image.

도 7은 본 개시의 제2 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법을 나타내는 예시적인 흐름도이고, 도 8은 이를 부연 설명하기 위한 예시적인 도면이다. 이하, 도 7 및 도 8을 함께 참조하여 설명한다.7 is an exemplary flowchart illustrating a deep learning-based 3D model restoration method according to a second exemplary embodiment of the present disclosure, and FIG. 8 is an exemplary diagram for further explaining this. Hereinafter, it will be described with reference to FIGS. 7 and 8 together.

단계 S200에서, 타깃 객체(e.g. 자동차)에 대한 2차원의 멀티뷰 이미지(61)가 획득될 수 있다. 멀티뷰 이미지(61)는 서로 다른 뷰에 대응되는 타깃 객체에 대한 복수의 2차원 이미지(e.g. 61-1, 61-2)를 포함할 수 있다. 가령, 멀티뷰 이미지(61)는 제1 뷰에 대응되는 제1 이미지(61-1)와 제2 뷰에 대응되는 제2 이미지(61-2)를 포함할 수 있다.In step S200, a two-dimensional multi-view image 61 of a target object (e.g. automobile) may be obtained. The multi-view image 61 may include a plurality of 2D images (e.g. 61-1, 61-2) of target objects corresponding to different views. For example, the multi-view image 61 may include a first image 61-1 corresponding to a first view and a second image 61-2 corresponding to a second view.

단계 S220에서, 멀티뷰 이미지(61)로부터 2차원의 깊이 정보(63)가 추출될 수 있다. 가령, 멀티뷰 이미지(61)를 구성하는 제1 이미지(61-1)로부터 제1 깊이 정보(63-1)가 추출되고, 제2 이미지(61-2)로부터 제2 깊이 정보(63-2)가 추출될 수 있다. 여기서, 깊이 정보는 2차원의 깊이맵(depth map)일 수 있으나, 이에 한정되는 것은 아니다.In step S220, two-dimensional depth information 63 may be extracted from the multi-view image 61. For example, the first depth information 63-1 is extracted from the first image 61-1 constituting the multi-view image 61, and the second depth information 63-2 is extracted from the second image 61-2. ) Can be extracted. Here, the depth information may be a two-dimensional depth map, but is not limited thereto.

본 단계 S220에서, 깊이 정보(63)를 추출하는 방식은 다양할 수 있으며, 어떠한 방식이 이용되더라도 무방하다. 예를 들어, 당해 기술 분야에서 널리 알려진 깊이 정보 추출 알고리즘을 통해 깊이 정보(63)가 추출될 수 있다. 몇몇 실시예들에서는, GAN(Generative Adversarial Networks) 모듈(모델)을 이용하여 깊이 정보가 추출될 수 있는데, 이하 도 9를 참조하여 본 실시예에 관하여 부연 설명하도록 한다.In this step S220, the method of extracting the depth information 63 may be various, and any method may be used. For example, the depth information 63 may be extracted through a depth information extraction algorithm widely known in the art. In some embodiments, depth information may be extracted using a Generative Adversarial Networks (GAN) module (model), which will be further described below with reference to FIG. 9.

도 9에 도시된 바와 같이, 상기 GAN 모듈은 2차원의 이미지(71; e.g. RGB 이미지)를 입력받고 이에 대응되는 2차원의 깊이맵(75)을 생성하는 생성기(73; generator)와 실제 이미지와 페이크 이미지를 판별하는 판별기(79)를 포함할 수 있다.9, the GAN module receives a two-dimensional image 71 (eg RGB image) and generates a two-dimensional depth map 75 corresponding thereto, a generator 73, and an actual image. It may include a discriminator 79 to determine the fake image.

도시된 바와 같이, 생성기(73)는 2차원 이미지로부터 특징을 추출하는 인코더와 추출된 특징을 디코딩하여 깊이맵(75)을 생성하는 디코더로 구성될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 또한, 인코더 및 디코더는 모두 신경망(neural network)으로 구성될 수 있는데, 예를 들어 인코더는 CNN으로 구성될 수 있고, 디코더는 CNN 또는 DCNN으로 구성될 수 있다. 그러나, 이에 한정되는 것은 아니다.As shown, the generator 73 may include an encoder that extracts features from a 2D image and a decoder that decodes the extracted features to generate a depth map 75. However, the scope of the present disclosure is not limited thereto. In addition, both the encoder and the decoder may be composed of a neural network. For example, the encoder may be composed of a CNN, and the decoder may be composed of a CNN or DCNN. However, it is not limited thereto.

다음으로, 판별기(79)는 실제 깊이맵(e.g. 깊이맵 77)과 페이크 깊이맵(e.g. 깊이맵 75)를 판별하도록 학습될 수 있다. 판별기(79)는 예를 들어 CNN으로 구성될 수 있을 것이나, 이에 한정되는 것은 아니다.Next, the discriminator 79 may be trained to determine an actual depth map (e.g. depth map 77) and a fake depth map (e.g. depth map 75). The discriminator 79 may be composed of, for example, a CNN, but is not limited thereto.

생성기(73)와 판별기(79) 간에는 적대적 학습이 수행될 수 있으며, 적대적 학습이 수행됨에 따라 생성기(73)는 입력 이미지(71)에 대응되는 깊이맵(75)을 보다 정교하게 생성할 수 있게 된다. 당해 기술 분야의 종사자라면, 적대적 학습 기법에 관하여 충분히 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다.Hostile learning may be performed between the generator 73 and the discriminator 79, and as the hostile learning is performed, the generator 73 can more elaborately generate the depth map 75 corresponding to the input image 71. There will be. If you are a practitioner in the relevant technical field, you will be sufficiently familiar with the hostile learning technique, and a detailed description thereof will be omitted.

다시 도 7 및 도 8을 참조하여 설명한다.This will be described with reference to FIGS. 7 and 8 again.

단계 S240에서, 추출된 깊이 정보(63)를 기초로 타깃 객체에 대한 볼륨 데이터(65)가 생성될 수 있다. 가령, 제1 뷰에 대응되는 제1 깊이 정보(e.g. 63-1)와 제2 뷰에 대응되는 제2 깊이 정보(e.g. 63-2)에 기초하여 볼륨 데이터(65)가 생성될 수 있다. 경우에 따라, 멀티뷰 이미지(61)에 더 기초하여 볼륨 데이터(65)가 생성될 수도 있다.In step S240, volume data 65 for the target object may be generated based on the extracted depth information 63. For example, the volume data 65 may be generated based on first depth information (e.g. 63-1) corresponding to the first view and second depth information (e.g. 63-2) corresponding to the second view. In some cases, volume data 65 may be generated further based on the multi-view image 61.

볼륨 데이터(65)는 타깃 객체에 대한 3차원 형상을 나타내는 데이터를 의미할 수 있으며, 구체적인 데이터 형태(포맷)는 다양하게 설계될 수 있다. 예를 들어, 볼륨 데이터(65)는 타깃 객체에 대한 개략적인 3차원 형상 정보를 나타내는 복셀 데이터일 수 있다. 다른 예로서, 볼륨 데이터(65)는 타깃 객체의 3차원 형상 정보를 나타내는 3차원의 깊이맵일 수 있다. 또는, 볼륨 데이터(65)는 2차원의 깊이맵일 수도 있다.The volume data 65 may mean data representing a three-dimensional shape of a target object, and specific data types (formats) may be designed in various ways. For example, the volume data 65 may be voxel data representing rough 3D shape information on a target object. As another example, the volume data 65 may be a three-dimensional depth map representing three-dimensional shape information of a target object. Alternatively, the volume data 65 may be a two-dimensional depth map.

단계 S260에서, 딥러닝 네트워크(60)를 통해 볼륨 데이터(65)로부터 3차원의 복셀 모델(67)이 복원될 수 있다. 가령, 복원 장치(10)는 딥러닝 네트워크(60)에 볼륨 데이터(65)를 입력하고 딥러닝 네트워크(60)부터 복원된 3차원의 복셀 모델(67)을 획득할 수 있다.In step S260, the 3D voxel model 67 may be restored from the volume data 65 through the deep learning network 60. For example, the restoration device 10 may input the volume data 65 to the deep learning network 60 and obtain a 3D voxel model 67 restored from the deep learning network 60.

딥러닝 네트워크(60)는 볼륨 데이터(65)로부터 복셀 모델(67)을 복원할 수 있도록 학습된 모델일 수 있다. 가령, 딥러닝 네트워크(60)는 인코더-디코더 구조(도 3 참조)로 이루어질 수 있으며, 타깃 객체에 대한 볼륨 데이터와 정답 복셀 모델로 구성된 학습 데이터를 학습함으로써 구축될 수 있다. 그러나, 이에 한정되는 것은 아니다. 딥러닝 네트워크(60)는 도 3 내지 도 6을 참조하여 설명한 바와 유사한 방식으로 구축될 수도 있다.The deep learning network 60 may be a model trained to restore the voxel model 67 from the volume data 65. For example, the deep learning network 60 may have an encoder-decoder structure (refer to FIG. 3), and may be constructed by learning training data composed of volume data for a target object and a correct voxel model. However, it is not limited thereto. The deep learning network 60 may be constructed in a manner similar to that described with reference to FIGS. 3 to 6.

지금까지 도 7 내지 도 9를 참조하여 본 개시의 제2 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하였다. 상술한 방법에 따르면, 타깃 객체에 대한 멀티뷰 이미지(e.g. 65)의 깊이 정보(e.g. 63)로부터 타깃 객체에 대한 개략적인 3차원 형상 정보(즉, 볼륨 데이터)가 추정될 수 있고, 딥러닝 네트워크(e.g. 60)를 통해 추정된 3차원 형상 정보로부터 3차원의 복셀 모델(e.g. 67)이 정확하게 복원될 수 있다.So far, a deep learning-based 3D model restoration method according to a second embodiment of the present disclosure has been described with reference to FIGS. 7 to 9. According to the above-described method, rough 3D shape information (ie, volume data) of the target object can be estimated from depth information (eg 63) of the multi-view image (eg 65) of the target object, and the deep learning network The 3D voxel model (eg 67) can be accurately reconstructed from the 3D shape information estimated through (eg 60).

이하에서는, 도 10을 참조하여 본 개시의 제3 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하도록 한다. 상기 제2 실시예도 멀티뷰 이미지를 이용하여 3차원 모델의 복원 정확도를 보다 향상시킬 수 있는 방법에 관한 것이다.Hereinafter, a deep learning-based 3D model restoration method according to a third embodiment of the present disclosure will be described with reference to FIG. 10. The second embodiment also relates to a method of further improving the reconstruction accuracy of a 3D model by using a multi-view image.

도 10은 본 개시의 제3 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법을 설명하기 위한 예시적인 도면이다. 특히, 도 10은 딥러닝 네트워크의 세부 구조를 도시하고 있다.10 is an exemplary diagram for explaining a deep learning-based 3D model restoration method according to a third embodiment of the present disclosure. In particular, FIG. 10 shows a detailed structure of a deep learning network.

복원 장치(10)는 도 10에 예시된 딥러닝 네트워크를 통해 단대단 방식으로 타깃 객체에 대한 2차원의 멀티뷰 이미지(91)로부터 3차원의 복셀 모델(99)을 복원할 수 있다. 이러한 딥러닝 네트워크는 멀티뷰 이미지(e.g. 91)와 정답 복셀 모델(e.g. 99)로 구성된 학습 데이터를 학습함으로써 구축될 수 있는데, 학습 방식은 예를 들어 도 3 내지 도 6을 참조하여 설명한 방식으로 수행될 수 있다. 중복된 설명을 배제하기 위해, 학습 방식에 관한 설명은 생략하고 본 실시예에 따른 딥러닝 네트워크의 구조 및 동작 원리를 중심으로 설명을 이어가도록 한다.The restoration apparatus 10 may reconstruct the 3D voxel model 99 from the 2D multi-view image 91 of the target object in an end-to-end manner through the deep learning network illustrated in FIG. 10. Such a deep learning network can be constructed by learning training data composed of a multi-view image (eg 91) and a correct voxel model (eg 99), and the learning method is performed in the manner described with reference to FIGS. 3 to 6, for example. Can be. In order to exclude redundant descriptions, a description of the learning method will be omitted, and description will be continued focusing on the structure and operation principle of the deep learning network according to the present embodiment.

도시된 바와 같이, 상기 딥러닝 네트워크는 복수의 인코더(81-1 내지 81-n), RNN(Recurrent Neural Networks) 모듈(83), 복수의 디코더(85-1 내지 85-n), 애그리게이터(87) 및 리파이너(89; refiner)를 포함하도록 구성될 수 있다. 이하, 상기 딥러닝 네트워크의 각 구성요소에 대하여 설명하도록 한다.As shown, the deep learning network includes a plurality of encoders 81-1 to 81-n, a recurrent neural network (RNN) module 83, a plurality of decoders 85-1 to 85-n, and an aggregator ( 87) and a refiner 89. Hereinafter, each component of the deep learning network will be described.

복수의 인코더(81-1 내지 81-n)는 서로 다른 뷰에 대응되는 복수의 이미지(91-1 내지 91-n)로 구성된 멀티뷰 이미지(91)로부터 타깃 객체에 대한 특징(e.g. 특징맵)을 추출할 수 있다. 가령, 제1 인코더(81-1)는 제1 이미지(91-1)를 입력받아 제1 이미지(91-1)로부터 타깃 객체에 대한 제1 특징을 추출할 수 있고, 제2 인코더(81-2)는 제2 이미지(91-2)를 입력받아 제2 이미지(91-2)로부터 타깃 객체에 대한 제2 특징을 추출할 수 있다. 인코더(e.g. 81-1)는 예를 들어 CNN으로 구성될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.A plurality of encoders (81-1 to 81-n) is a feature (eg feature map) of the target object from the multi-view image (91) consisting of a plurality of images (91-1 to 91-n) corresponding to different views Can be extracted. For example, the first encoder 81-1 may receive the first image 91-1 and extract a first feature of the target object from the first image 91-1, and the second encoder 81- 2) receives the second image 91-2 and extracts a second feature of the target object from the second image 91-2. The encoder (e.g. 81-1) may be configured with a CNN, for example, but the scope of the present disclosure is not limited thereto.

다음으로, RNN 모듈(83)은 복수의 인코더(81-1 내지 81-n)와 복수의 디코더(85-1 내지 85-n) 사이에 위치하고, 복수의 RNN 유닛(83-1 내지 83-n)으로 구성될 수 있다. 복수의 RNN 유닛(83-1 내지 83-n)은 복수의 인코더(81-1 내지 81-n)에 의해 추출된 특징 데이터에 대하여 소정의 신경망 연산을 수행하고, 연산 결과를 연결된 RNN 유닛(e.g. 83-2)과 디코더(e.g. 85-1)에게 제공할 수 있다. 가령, 제1 RNN 유닛(83-1)은 제1 인코더(81-1)에 의해 추출된 제1 특징에 대해 신경망 연산을 수행하고, 연산 결과를 제2 RNN 유닛(83-1)과 제1 디코더(85-1)에게 제공할 수 있다. 그리고, 제2 RNN 유닛(83-2)은 제2 인코더(81-2)에 의해 추출된 제2 특징에 대해 신경망 연산을 수행하고, 연산 결과를 연결된 RNN 유닛과 제2 디코더(85-2)에게 제공할 수 있다.Next, the RNN module 83 is located between a plurality of encoders (81-1 to 81-n) and a plurality of decoders (85-1 to 85-n), and a plurality of RNN units (83-1 to 83-n) ). The plurality of RNN units 83-1 to 83-n perform a predetermined neural network operation on the feature data extracted by the plurality of encoders 81-1 to 81-n, and connect the result of the operation to the connected RNN unit (eg 83-2) and the decoder (eg 85-1). For example, the first RNN unit 83-1 performs a neural network operation on the first feature extracted by the first encoder 81-1, and the calculation result is transmitted to the second RNN unit 83-1 and the first It can be provided to the decoder 85-1. In addition, the second RNN unit 83-2 performs a neural network operation on the second feature extracted by the second encoder 81-2, and the RNN unit and the second decoder 85-2 are connected to the result of the operation. Can be provided to.

RNN 모듈(83)은 연결 방향을 따라 복수의 인코더(81-1 내지 81-n)에 의해 추출된 특징을 축적시킴으로써 타깃 객체에 대한 특징을 고도화(정교화)하는 역할을 수행할 수 있다. 가령, 제2 RNN 유닛(83-2)은 제1 인코더(81-1) 및 제2 인코더(81-2)로부터 추출된 특징들을 축적함으로써 보다 고도화된 특징을 제2 디코더(85-2)에게 제공할 수 있다. 이에 따라, 제2 디코더(85-2)가 제1 디코더(85-1)보다 정교한 볼륨 피처(95-2)를 생성할 수 있게 되며, 마지막 디코더(85-n)는 가장 정교한 볼륨 피처(95-n)를 생성할 수 있게 된다. RNN 모듈(83)의 이러한 효과를 극대화하기 위해서는, 입력된 멀티뷰 이미지(91)가 순차적인 뷰를 갖는 복수의 이미지(e.g. 시계 방향 또는 반시계 방향으로 순차적인 뷰를 갖는 복수의 이미지)로 구성되는 것이 바람직할 수 있다.The RNN module 83 may perform a role of enhancing (elaborating) features of a target object by accumulating features extracted by the plurality of encoders 81-1 to 81-n along the connection direction. For example, the second RNN unit 83-2 accumulates features extracted from the first encoder 81-1 and the second encoder 81-2 to provide a more advanced feature to the second decoder 85-2. Can provide. Accordingly, the second decoder 85-2 can generate the volume feature 95-2 that is more sophisticated than the first decoder 85-1, and the last decoder 85-n is the most sophisticated volume feature 95 -n) can be created. In order to maximize this effect of the RNN module 83, the input multi-view image 91 is composed of a plurality of images having sequential views (eg, a plurality of images having sequential views in a clockwise or counterclockwise direction). It may be desirable to be.

도 10은 RNN 모듈(83)이 LSTM(Long Short-Term Memory) 신경망으로 이루어진 것을 예로써 도시하고 있으나, RNN 모듈(83)은 순환 구조를 갖는 다른 구조의 신경망으로 이루어질 수도 있다. 또한, 도 10은 RNN 유닛(e.g. 83-1)이 단방향으로 연결된 것을 예로써 도시하고 있으나, RNN 유닛(e.g. 83-1)은 양방향으로 연결될 수도 있다.10 illustrates that the RNN module 83 is made of a long short-term memory (LSTM) neural network as an example, but the RNN module 83 may be made of a neural network of another structure having a cyclic structure. In addition, although FIG. 10 illustrates that the RNN units (e.g. 83-1) are connected in one direction, the RNN units (e.g. 83-1) may be connected in both directions.

다음으로, 복수의 디코더(85-1 내지 85-n)는 RNN 모듈(83)의 연산 결과를 디코딩하여 복수의 볼륨 피처(95-1 내지 95-n)를 생성할 수 있다. 가령, 제1 디코더(85-1)는 제1 RNN 유닛(83-1)의 연산 결과를 디코딩하여 제1 볼륨 피처(95-1)를 생성할 수 있고, 제2 디코더(85-2)는 제2 RNN 유닛(83-2)의 연산 결과를 디코딩하여 제2 볼륨 피처(95-2)를 생성할 수 있다.Next, the plurality of decoders 85-1 to 85-n may generate a plurality of volume features 95-1 to 95-n by decoding an operation result of the RNN module 83. For example, the first decoder 85-1 may generate the first volume feature 95-1 by decoding the operation result of the first RNN unit 83-1, and the second decoder 85-2 The second volume feature 95-2 may be generated by decoding an operation result of the second RNN unit 83-2.

볼륨 피처(e.g. 95-1)는 타깃 객체에 대한 형상 정보를 나타내거나 형상적 특징을 담고 있는 피처 데이터를 의미할 수 있고, 그 구체적인 데이터의 형태는 디코더(e.g. 85-1)의 설계 방식에 따라 달라질 수 있다. 예를 들어, 볼륨 피처(e.g. 95-1)는 타깃 객체에 대한 개략적인 형상 정보를 나타내는 복셀 데이터일 수 있으나, 이에 한정되는 것은 아니다.The volume feature (eg 95-1) may indicate shape information on a target object or mean feature data containing geometric characteristics, and the specific data type is determined according to the design method of the decoder (eg 85-1). It can be different. For example, the volume feature (e.g. 95-1) may be voxel data representing rough shape information on a target object, but is not limited thereto.

디코더(e.g. 85-1)는 예를 들어 CNN 또는 DCNN으로 구성될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.The decoder (e.g. 85-1) may be composed of, for example, CNN or DCNN, but the scope of the present disclosure is not limited thereto.

다음으로, 애그리게이터(87)는 복수의 디코더(85-1 내지 85-n)에 의해 생성된 복수의 볼륨 피처(95-1 내지 95-n)를 애그리게이팅(aggregating)하여 목적 볼륨 피처(97)를 생성할 수 있다. 다만, 애그리게이터(87)가 복수의 볼륨 피처(95-1 내지 95-n)를 애그리게이팅하는 방식은 실시예에 따라 달라질 수 있다.Next, the aggregator 87 aggregates the plurality of volume features 95-1 to 95-n generated by the plurality of decoders 85-1 to 85-n to generate a target volume feature 97. ) Can be created. However, a method in which the aggregator 87 aggregates the plurality of volume features 95-1 to 95-n may vary according to exemplary embodiments.

몇몇 실시예들에서, 애그리게이터(87)는 균등 가중치로 복수의 볼륨 피처(95-1 내지 95-n)를 애그리게이팅할 수 있다. 가령, 애그리게이터(87)는 균등 가중치로 복수의 볼륨 피처(95-1 내지 95-n)에 대해 가중치 합(또는 가중 평균) 연산을 수행하여 목적 볼륨 피처(97)를 생성할 수 있다.In some embodiments, the aggregator 87 may aggregate the plurality of volume features 95-1 to 95-n with equal weights. For example, the aggregator 87 may generate the target volume feature 97 by performing a weighted sum (or weighted average) operation on the plurality of volume features 95-1 to 95-n with equal weights.

다른 몇몇 실시예들에서, 애그리게이터(87)는 차등 가중치로 복수의 볼륨 피처(95-1 내지 95-n)를 애그리게이팅할 수도 있다. 가령, 애그리게이터(87)는 보다 정교한 볼륨 피처에 더 높은 가중치를 부여하고(e.g. 제2 볼륨 피처 95-2에 제1 볼륨 피처 95-1보다 높은 가중치를 부여, 제n 볼륨 피처 95-n에 가장 높은 가중치를 부여), 부여된 가중치에 따라 가중치 합(또는 가중 평균) 연산을 수행하여 목적 볼륨 피처(97)를 생성할 수 있다. 이러한 경우, 보다 정교한 목적 볼륨 피처(97)가 생성되어 딥러닝 네트워크의 성능이 향상될 수 있다.In some other embodiments, the aggregator 87 may aggregate a plurality of volume features 95-1 to 95-n with a differential weight. For example, the aggregator 87 gives a higher weight to a more sophisticated volume feature (eg, gives the second volume feature 95-2 a higher weight than the first volume feature 95-1, and gives the nth volume feature 95-n a higher weight). The highest weight is assigned) and the target volume feature 97 may be generated by performing a weighted sum (or weighted average) operation according to the assigned weight. In this case, a more elaborate target volume feature 97 may be generated to improve the performance of the deep learning network.

한편, 애그리게이터(87)는 학습 가능 파라미터(learnable parameter)를 포함하지 않는 단순 산술 모듈로 구현될 수 있고, 완전 연결 레이어(fully connected layer)와 같은 신경망으로 구현될 수도 있다. 애그리게이터(87)가 신경망으로 구현되는 경우에는, 부여된 가중치에 기초하여 복수의 볼륨 피처(95-1 내지 95-n)의 값이 증폭 또는 감소된 후에 복수의 볼륨 피처(95-1 내지 95-n)가 애그리게이터(87)로 입력될 수도 있다.Meanwhile, the aggregator 87 may be implemented as a simple arithmetic module that does not include a learnable parameter, or may be implemented as a neural network such as a fully connected layer. When the aggregator 87 is implemented as a neural network, after the values of the plurality of volume features 95-1 to 95-n are amplified or decreased based on the assigned weight, the plurality of volume features 95-1 to 95 -n) may be input to the aggregator 87.

다음으로, 리파이너(89)는 목표 볼륨 피처(97)로부터 타깃 객체에 대한 3차원의 복셀 모델(99)을 복원할 수 있다. 리파이너(89)는 신경망으로 구성되어, 목표 볼륨 피처(97)를 정제(refining)함으로써 보다 정교하게 복셀 모델(99)을 복원하는 역할을 수행할 수 있다.Next, the refiner 89 may restore the 3D voxel model 99 of the target object from the target volume feature 97. The refiner 89 is composed of a neural network, and may perform a role of more elaborately reconstructing the voxel model 99 by refining the target volume feature 97.

도시된 바와 같이, 리파이너(89)는 인코더-디코더 구조로 구성될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니며, 리파이너(89)는 다른 구조의 신경망으로 구성될 수도 있다.As shown, the refiner 89 may be configured in an encoder-decoder structure. However, the scope of the present disclosure is not limited thereto, and the refiner 89 may be configured with a neural network having a different structure.

한편, 도 10에 예시된 딥러닝 네트워크의 구조는 실시예에 따라 변형될 수도 있다. 예를 들어, 상기 딥러닝 네트워크는 RNN 모듈(83)을 포함하지 않는 인코더-디코더 구조로 구성될 수도 있다. 다른 예로서, 디코더(e.g. 85-1)에 타깃 객체의 깊이 정보(e.g. 93-1)가 입력되지 않는 형태로 상기 딥러닝 네트워크가 구성될 수도 있다.Meanwhile, the structure of the deep learning network illustrated in FIG. 10 may be modified according to embodiments. For example, the deep learning network may be configured with an encoder-decoder structure that does not include the RNN module 83. As another example, the deep learning network may be configured such that depth information (e.g. 93-1) of the target object is not input to the decoder (e.g. 85-1).

지금까지 도 10을 참조하여 본 개시의 제3 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하였다. 상술한 바에 따르면, 피처 축적 구조(e.g. RNN 83, 애그리게이터 87)를 갖도록 딥러닝 네트워크를 구성함으로써, 딥러닝 네트워크의 복원 성능이 더욱 향상될 수 있다.So far, a deep learning-based 3D model restoration method according to a third embodiment of the present disclosure has been described with reference to FIG. 10. As described above, by configuring the deep learning network to have a feature accumulation structure (e.g. RNN 83, aggregator 87), the reconstruction performance of the deep learning network can be further improved.

지금까지 상술한 제2 및 제3 실시예는 타깃 객체에 대한 멀티뷰 이미지를 요구하는데, 이 점이 일종의 제약사항으로 작용할 수 있다. 이하에서는, GAN 모듈을 통해 이러한 제약사항을 완화할 수 있는 방법에 대하여 도 11을 참조하여 설명하도록 한다.The second and third embodiments described so far require a multi-view image for a target object, and this may act as a kind of limitation. Hereinafter, a method of alleviating these restrictions through the GAN module will be described with reference to FIG. 11.

도 11은 본 개시의 몇몇 실시예들에 따른 멀티뷰 이미지 생성 방법을 설명하기 위한 예시적인 도면이다. 이하, 도 11을 참조하여 설명한다.11 is an exemplary diagram for describing a method of generating a multi-view image according to some embodiments of the present disclosure. Hereinafter, it will be described with reference to FIG. 11.

본 실시예는 제1 도메인의 이미지를 제2 도메인의 이미지로 변환(translation)하는 기능을 구비한 GAN 모듈을 이용하여, 싱글뷰 이미지로부터 멀티뷰 이미지를 생성하는 방법에 관한 것이다. 이때, 제1 도메인의 이미지는 제1 뷰에 대응되는 이미지가 될 수 있고, 제2 도메인의 이미지는 제2 뷰에 대응되는 이미지가 될 수 있다.The present embodiment relates to a method of generating a multi-view image from a single-view image using a GAN module having a function of translating an image of a first domain into an image of a second domain. In this case, the image of the first domain may be an image corresponding to the first view, and the image of the second domain may be an image corresponding to the second view.

도시된 바와 같이, 실시예에 따른 GAN 모듈은 제1 생성기(101), 제2 생성기(102), 제1 판별기(103) 및 제2 판별기(104)를 포함할 수 있다.As shown, the GAN module according to the embodiment may include a first generator 101, a second generator 102, a first discriminator 103 and a second discriminator 104.

제1 생성기(101)는 제1 도메인의 이미지(105-1)를 제2 도메인의 페이크 이미지(105-2)로 변환하는 모듈일 수 있다. 그리고, 제2 판별기(104)는 제2 도메인의 실제 이미지(106-1)와 페이크 이미지(105-2)를 판별하는 모듈일 수 있다. 제1 생성기(101)와 제2 판별기(104)는 적대적 학습을 통해 상호 보완적으로 학습될 수 있다.The first generator 101 may be a module that converts the image 105-1 of the first domain into a fake image 105-2 of the second domain. In addition, the second discriminator 104 may be a module that determines the actual image 106-1 and the fake image 105-2 of the second domain. The first generator 101 and the second discriminator 104 may be complementarily learned through hostile learning.

또한, 제1 생성기(101)는 제1 일관성 오차(consistency loss; LCONSTA)를 이용하여 더 학습될 수 있다. 제1 일관성 오차(LCONSTA)는 제1 생성기(101)로 입력된 실제 이미지(105-1)와 제2 생성기(102)를 통해 변환된 페이크 이미지(105-3) 간의 차이에 기초하여 산출될 수 있다. 이때, 페이크 이미지(105-3)는 제1 생성기(101)를 통해 변환된 페이크 이미지(105-2)를 다시 제2 생성기(102)를 통해 본래의 도메인으로 변환한 이미지를 의미할 수 있다. 제1 일관성 오차(LCONSTA)를 학습함으로써, 제1 생성기(101)는 학습 데이터가 이미지 쌍(pair)으로 구성되어 있지 않더라도 정확하게 이미지 변환을 수행할 수 있게 된다. 제1 일관성 오차(LCONSTA)는 예를 들어 유클리드 거리(Euclidian distance), 코사인 유사도(cosine similarity) 등에 기초하여 산출될 수 있을 것이나, 본 개시의 범위가 상기 열거된 예시에 한정되는 것은 아니다.In addition, the first generator 101 may be further learned using a first consistency loss (L CONST A). The first consistency error (L CONST A) is calculated based on the difference between the actual image 105-1 input to the first generator 101 and the fake image 105-3 converted through the second generator 102. Can be. In this case, the fake image 105-3 may refer to an image obtained by converting the fake image 105-2 converted through the first generator 101 into an original domain through the second generator 102 again. By learning the first consistency error L CONST A, the first generator 101 can accurately perform image conversion even if the training data is not composed of an image pair. The first consistency error L CONST A may be calculated based on, for example, a Euclidian distance, a cosine similarity, and the like, but the scope of the present disclosure is not limited to the examples listed above.

다음으로, 제2 생성기(102)는 제2 도메인의 이미지(106-1)를 제1 도메인의 페이크 이미지(106-2)로 변환하는 모듈일 수 있다. 또한, 제1 판별기(103)는 제1 도메인의 실제 이미지(105-1)와 페이크 이미지(106-2)를 판별하는 모듈일 수 있다. 제2 생성기(102)와 제1 판별기(103) 또한 적대적 학습을 통해 상호 보완적으로 학습될 수 있다.Next, the second generator 102 may be a module that converts the image 106-1 of the second domain into a fake image 106-2 of the first domain. In addition, the first discriminator 103 may be a module that determines the actual image 105-1 and the fake image 106-2 of the first domain. The second generator 102 and the first discriminator 103 may also be complementarily learned through hostile learning.

또한, 제2 생성기(102)는 제2 일관성 오차(LCONSTB)를 이용하여 더 학습될 수 있다. 제2 생성기(102)의 학습 방식은 제1 생성기(101)와 유사한 바 더 이상의 설명은 생략하도록 한다.In addition, the second generator 102 may be further learned using the second consistency error (L CONST B). The learning method of the second generator 102 is similar to that of the first generator 101, so further description will be omitted.

적대적 학습을 통해 GAN 모듈이 구축되면, 제1 생성기(101) 또는 제2 생성기(102)를 통해 이미지 변환이 이루어질 수 있다. 가령, 제1 생성기(101)를 통해 제1 도메인의 이미지(즉, 제1 뷰에 대응되는 이미지)가 제2 도메인의 이미지(즉, 제2 뷰에 대응되는 이미지)로 변환될 수 있다. 또는, 제2 생성기(102)를 통해 제2 도메인의 이미지(즉, 제2 뷰에 대응되는 이미지)가 제1 도메인의 이미지(즉, 제1 뷰에 대응되는 이미지)로 변환될 수 있다. 따라서, 예시된 구조를 갖는 하나 이상의 GAN 모듈을 이용하면, 타깃 객체에 대한 싱글뷰 이미지로부터 용이하게 멀티뷰 이미지가 생성될 수 있다. 이를테면, 제1 뷰에 대응되는 제1 이미지만 주어진 경우, 제1 GAN 모듈을 통해 제1 이미지가 제2 뷰에 대응되는 제2 이미지로 변환될 수 있고, 제2 GAN 모듈을 통해 제1 이미지(또는 제2 이미지)가 제3 뷰에 대응되는 제3 이미지로 변환될 수 있다. 그리고, 제1 내지 제3 이미지로 타깃 객체에 대한 멀티뷰 이미지가 구성될 수 있다.When the GAN module is built through hostile learning, image conversion may be performed through the first generator 101 or the second generator 102. For example, an image of a first domain (ie, an image corresponding to a first view) may be converted into an image of a second domain (ie, an image corresponding to a second view) through the first generator 101. Alternatively, an image of the second domain (ie, an image corresponding to the second view) may be converted into an image of the first domain (ie, an image corresponding to the first view) through the second generator 102. Therefore, if one or more GAN modules having the illustrated structure are used, a multi-view image can be easily generated from a single-view image of a target object. For example, if only the first image corresponding to the first view is given, the first image may be converted into a second image corresponding to the second view through the first GAN module, and the first image ( Alternatively, the second image) may be converted into a third image corresponding to the third view. In addition, a multi-view image of the target object may be configured with the first to third images.

한편, 상기 GAN 모듈은 도 11예 예시된 바와는 다른 구조로 구현될 수도 있다. 예를 들어, GAN 모듈은 Disco-GAN, UNIT(Unsupervised Image-to-Image Translation), MUNIT(Multimodal Unsupervised Image-to-Image Translation), starGAN, fusionGan 등과 같은 이미지 변환 기능을 구비한 다른 구조의 GAN에 기초하여 구현될 수도 있다.Meanwhile, the GAN module may be implemented in a structure different from that illustrated in the example of FIG. 11. For example, the GAN module is applied to GANs of different structures with image conversion functions such as Disco-GAN, UNIT (Unsupervised Image-to-Image Translation), MUNIT (Multimodal Unsupervised Image-to-Image Translation), starGAN, fusionGan, etc. It may be implemented on the basis of.

지금까지 도 11을 참조하여 본 개시의 몇몇 실시예들에 따른 멀티뷰 이미지 생성 방법에 대하여 설명하였다. 상술한 방법에 따르면, 이미지 변환 기능을 구비한 GAN 모듈을 활용함으로써, 타깃 객체에 대한 멀티뷰 이미지가 용이하게 구성될 수 있다.So far, a method of generating a multi-view image according to some embodiments of the present disclosure has been described with reference to FIG. 11. According to the above-described method, a multi-view image for a target object can be easily configured by using a GAN module having an image conversion function.

이하에서는, 도 12를 참조하여 본 개시의 몇몇 실시예들에 따른 복원 장치(10)를 구현할 수 있는 예시적인 컴퓨팅 장치(1000)에 대하여 설명하도록 한다.Hereinafter, an exemplary computing device 1000 capable of implementing the restoration device 10 according to some embodiments of the present disclosure will be described with reference to FIG. 12.

도 12는 컴퓨팅 장치(1000)를 나타내는 예시적인 하드웨어 구성도이다.12 is an exemplary hardware configuration diagram illustrating the computing device 1000.

도 12에 도시된 바와 같이, 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 버스(1300), 통신 인터페이스(1400), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(1200)와, 컴퓨터 프로그램(1600)를 저장하는 스토리지(1500)를 포함할 수 있다. 다만, 도 12에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 12에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(1000)에는, 도 12에 도시된 구성요소 이외에도 다양한 구성요소가 더 포함될 수 있다. 또한, 경우에 따라, 컴퓨팅 장치(1000)는 도 12에 도시된 구성요소들 중 일부가 생략된 형태로 구현될 수도 있다.As shown in FIG. 12, the computing device 1000 is a memory for loading a computer program executed by one or more processors 1100, bus 1300, communication interface 1400, and processor 1100. 1200) and a storage 1500 for storing the computer program 1600. However, only the components related to the embodiment of the present disclosure are shown in FIG. 12. Accordingly, those of ordinary skill in the art to which the present disclosure pertains can recognize that other general-purpose components may be further included in addition to the components illustrated in FIG. 12. That is, the computing device 1000 may further include various components in addition to the components illustrated in FIG. 12. In addition, in some cases, the computing device 1000 may be implemented in a form in which some of the components illustrated in FIG. 12 are omitted.

프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1100)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1000)는 하나 이상의 프로세서를 구비할 수 있다.The processor 1100 controls the overall operation of each component of the computing device 1000. The processor 1100 includes at least one of a CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit), or any type of processor well known in the technical field of the present disclosure. It can be configured to include. Also, the processor 1100 may perform an operation on at least one application or program for executing the operation/method according to the embodiments of the present disclosure. The computing device 1000 may include one or more processors.

메모리(1200)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1200)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(1500)로부터 하나 이상의 프로그램(1600)을 로드할 수 있다. 메모리(1200)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.The memory 1200 stores various types of data, commands, and/or information. The memory 1200 may load one or more programs 1600 from the storage 1500 in order to execute an operation/method according to embodiments of the present disclosure. The memory 1200 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.

버스(1300)는 컴퓨팅 장치(1000)의 구성요소 간 통신 기능을 제공한다. 버스(1300)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 1300 provides a communication function between components of the computing device 1000. The bus 1300 may be implemented as various types of buses such as an address bus, a data bus, and a control bus.

통신 인터페이스(1400)는 컴퓨팅 장치(1000)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(1400)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1400)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 경우에 따라, 통신 인터페이스(1400)는 생략될 수도 있다.The communication interface 1400 supports wired/wireless Internet communication of the computing device 1000. In addition, the communication interface 1400 may support various communication methods other than Internet communication. To this end, the communication interface 1400 may be configured to include a communication module well known in the art. In some cases, the communication interface 1400 may be omitted.

스토리지(1500)는 상기 하나 이상의 프로그램(1600)을 비임시적으로 저장할 수 있다. 스토리지(1500)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 1500 may non-temporarily store the one or more programs 1600. The storage 1500 is a nonvolatile memory such as a ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), flash memory, etc. It may be configured to include any known computer-readable recording medium.

컴퓨터 프로그램(1600)은 메모리(1200)에 로드될 때 프로세서(1100)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 즉, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법들을 수행할 수 있다.The computer program 1600 may include one or more instructions that when loaded into the memory 1200 cause the processor 1100 to perform an operation/method according to various embodiments of the present disclosure. That is, the processor 1100 may perform operations/methods according to various embodiments of the present disclosure by executing the one or more instructions.

예를 들어, 컴퓨터 프로그램(1600)은 타깃 객체에 대한 2차원 이미지를 입력받는 동작 및 딥러닝 네트워크를 통해 입력된 2차원 이미지로부터 3차원의 복셀 모델을 복원하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(1000)를 통해 본 개시의 몇몇 실시예들에 따른 복원 장치(10)가 구현될 수 있다.For example, the computer program 1600 may include instructions to perform an operation of receiving a two-dimensional image of a target object and an operation of restoring a three-dimensional voxel model from a two-dimensional image input through a deep learning network. I can. In this case, the restoration device 10 according to some embodiments of the present disclosure may be implemented through the computing device 1000.

지금까지 도 12를 참조하여 본 개시의 몇몇 실시예들에 따른 복원 장치(10)를 구현할 수 있는 예시적인 컴퓨팅 장치(1000)에 대하여 설명하였다.So far, an exemplary computing device 1000 capable of implementing the restoration device 10 according to some embodiments of the present disclosure has been described with reference to FIG. 12.

지금까지 도 1 내지 도 12를 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present disclosure described with reference to FIGS. 1 to 12 so far may be implemented as computer-readable codes on a computer-readable medium. The computer-readable recording medium is, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). I can. The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet and installed in the other computing device, thereby being used in the other computing device.

이상에서, 본 개시의 실시예를 구성하는 모든 구성요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even if all the components constituting the embodiments of the present disclosure are described as being combined into one or operating in combination, the technical idea of the present disclosure is not necessarily limited to these embodiments. That is, as long as it is within the scope of the object of the present disclosure, one or more of the components may be selectively combined and operated.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although the operations are illustrated in a specific order in the drawings, it should not be understood that the operations must be executed in the specific order shown or in a sequential order, or all illustrated operations must be executed to obtain a desired result. In certain situations, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the above-described embodiments should not be understood as necessarily requiring such separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is.

이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present disclosure have been described with reference to the accompanying drawings above, those of ordinary skill in the art to which the present disclosure pertains may implement the present disclosure in other specific forms without changing the technical idea or essential features. I can understand that there is. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. The scope of protection of the present disclosure should be interpreted by the claims below, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the technical ideas defined by the present disclosure.

Claims (9)

하나 이상의 인스트럭션들(instructions)을 저장하는 메모리; 및
상기 저장된 하나 이상의 인스트럭션들을 실행함으로써,
타깃 객체에 대한 2차원의 입력 이미지를 획득하고,
딥러닝 네트워크를 통해 상기 입력 이미지로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 프로세서를 포함하되,
상기 딥러닝 네트워크는 상기 입력 이미지를 입력받아 상기 복셀 모델로 복원하여 출력하는 복원기와 실제 이미지와 페이크(fake) 이미지를 판별하는 판별기를 포함하고,
상기 복원기는 상기 복원된 복셀 모델과 정답 복셀 모델 간의 차이에 기초하여 산출된 제1 오차, 상기 복원된 복셀 모델에 대한 상기 판별기의 판별 결과에 기초하여 산출된 제2 오차 및 상기 복원된 복셀 모델에 대한 프로젝션(projection) 연산을 통해 생성된 2차원의 프로젝션 이미지와 상기 입력 이미지와의 차이에 기초하여 산출된 제3 오차를 통해 학습되는,
2차원 이미지로부터 3차원 모델을 복원하는 장치.
A memory that stores one or more instructions; And
By executing the stored one or more instructions,
Acquire a two-dimensional input image for the target object,
Including a processor for restoring a three-dimensional voxel model of the target object from the input image through a deep learning network,
The deep learning network includes a restorer configured to receive the input image and restore and output the voxel model and a discriminator to determine an actual image and a fake image,
The restorer includes a first error calculated based on a difference between the restored voxel model and a correct voxel model, a second error calculated based on a determination result of the discriminator for the restored voxel model, and the restored voxel model Learning through a third error calculated based on a difference between a two-dimensional projection image generated through a projection operation for and the input image,
A device that restores a 3D model from a 2D image.
제1 항에 있어서,
상기 복원기는 제4 오차에 더 기초하여 학습되되,
상기 제4 오차는 상기 복원된 복셀 모델로부터 추출된 외곽선과 정답 복셀 모델로부터 추출된 외곽선의 차이에 기초하여 산출되는,
2차원 이미지로부터 3차원 모델을 복원하는 장치.
The method of claim 1,
The restorer is further learned based on the fourth error,
The fourth error is calculated based on a difference between an outline extracted from the restored voxel model and an outline extracted from the correct voxel model,
A device that restores a 3D model from a 2D image.
제1 항에 있어서,
상기 딥러닝 네트워크는 상기 타깃 객체의 클래스(class)를 분류하는 분류기를 더 포함하고,
상기 복원기는 상기 타깃 객체의 정답 클래스 정보와 상기 입력 이미지를 입력받아 상기 복셀 모델을 복원하여 출력하며,
상기 복원기는 제4 오차에 더 기초하여 학습되되,
상기 제4 오차는 상기 분류기를 통해 상기 프로젝션 이미지의 예측 클래스 정보를 획득하는 과정 및 상기 예측 클래스 정보와 상기 정답 클래스 정보를 비교하는 과정을 통해 산출되는,
2차원 이미지로부터 3차원 모델을 복원하는 장치.
The method of claim 1,
The deep learning network further includes a classifier for classifying a class of the target object,
The restorer receives the correct answer class information of the target object and the input image, restores the voxel model, and outputs it,
The restorer is further learned based on a fourth error,
The fourth error is calculated through a process of obtaining prediction class information of the projection image through the classifier and comparing the prediction class information with the correct answer class information,
A device that restores a 3D model from a 2D image.
제1 항에 있어서,
상기 입력 이미지는 상기 타깃 객체의 서로 다른 뷰(view)에 대응되는 복수의 이미지를 포함하는 멀티뷰 이미지이고,
상기 복원기는 복수의 인코더, 복수의 디코더, 애그리게이터(aggregator) 및 리파이너(refiner)를 포함하며,
상기 복수의 인코더 중 제1 인코더는 상기 멀티뷰 이미지 중에서 제1 뷰에 대응되는 제1 이미지를 입력받아 상기 타깃 객체에 대한 제1 특징을 추출하고, 상기 복수의 인코더 중 제2 인코더는 상기 멀티뷰 이미지 중에서 제2 뷰에 대응되는 제2 이미지를 입력받아 상기 타깃 객체에 대한 제2 특징을 추출하며,
상기 복수의 디코더 중 제1 디코더는 상기 제1 특징에 기반한 디코딩 연산을 수행하여 제1 볼륨 피처(volume feature)를 생성하고, 상기 복수의 디코더 중 제2 디코더는 상기 제2 특징에 기반한 디코딩 연산을 수행하여 제2 볼륨 피처를 생성하며,
상기 애그리게이터는 상기 제1 볼륨 피처 및 상기 제2 볼륨 피처를 포함하는 복수의 볼륨 피처를 애그리게이팅하고,
상기 리파이너는 신경망으로 구성되어 상기 애그리게이팅된 볼륨 피처로부터 상기 복셀 모델을 복원하는,
2차원 이미지로부터 3차원 모델을 복원하는 장치.
The method of claim 1,
The input image is a multi-view image including a plurality of images corresponding to different views of the target object,
The restorer includes a plurality of encoders, a plurality of decoders, an aggregator and a refiner,
A first encoder among the plurality of encoders receives a first image corresponding to a first view from among the multi-view images and extracts a first feature of the target object, and a second encoder among the plurality of encoders receives the multi-view image. Receive a second image corresponding to a second view from among the images and extract a second feature of the target object,
A first decoder among the plurality of decoders generates a first volume feature by performing a decoding operation based on the first feature, and a second decoder among the plurality of decoders performs a decoding operation based on the second feature. To create a second volume feature,
The aggregator aggregates a plurality of volume features including the first volume feature and the second volume feature,
The refiner is composed of a neural network to restore the voxel model from the aggregated volume feature,
A device that restores a 3D model from a 2D image.
제4 항에 있어서,
상기 제1 디코더는 상기 제1 이미지에 대한 깊이 정보를 더 입력받고 디코딩하여 상기 제1 볼륨 피처를 생성하고,
상기 제2 디코더는 상기 제2 이미지에 대한 깊이 정보를 더 입력받고 디코딩하여 상기 제2 볼륨 피처를 생성하며,
상기 딥러닝 네트워크는 상기 제1 뷰에 대응되는 이미지를 상기 제2 뷰에 대응되는 이미지로 변환하는 GAN(Generative Adversarial Networks) 모듈을 더 포함하고,
상기 프로세서는,
상기 GAN 모듈을 통해 상기 제1 이미지를 상기 제2 이미지로 변환함으로써 상기 멀티뷰 이미지를 구성하는,
2차원 이미지로부터 3차원 모델을 복원하는 장치.
The method of claim 4,
The first decoder further receives and decodes depth information on the first image to generate the first volume feature,
The second decoder further receives and decodes depth information on the second image to generate the second volume feature,
The deep learning network further includes a Generative Adversarial Networks (GAN) module for converting an image corresponding to the first view into an image corresponding to the second view,
The processor,
Configuring the multi-view image by converting the first image into the second image through the GAN module,
A device that restores a 3D model from a 2D image.
제4 항에 있어서,
상기 복원기는 상기 복수의 인코더와 상기 복수의 디코더 사이에 위치한 RNN(Recurrent neural networks) 모듈을 더 포함하고,
상기 RNN 모듈은 상기 제1 인코더와 상기 제1 디코더 사이에 위치한 제1 RNN 유닛과 상기 제2 인코더와 상기 제2 디코더 사이에 위치한 제2 RNN 유닛을 포함하되,
상기 제1 RNN 유닛은 상기 제1 특징에 대해 제1 신경망 연산을 수행하고, 상기 제1 신경망 연산의 결과를 상기 제2 RNN 유닛과 상기 제1 디코더에게 제공하고,
상기 제2 RNN 유닛은 상기 제2 특징과 상기 제1 신경망 연산의 결과에 대해 제2 신경망 연산을 수행하고, 상기 제2 신경망 연산의 결과를 상기 제2 디코더에게 제공하며,
상기 제1 디코더는 상기 제1 신경망 연산의 결과를 디코딩하여 상기 제1 볼륨 피처를 생성하고,
상기 제2 디코더는 상기 제2 신경망 연산의 결과를 디코딩하여 상기 제2 볼륨 피처를 생성하는,
2차원 이미지로부터 3차원 모델을 복원하는 장치.
The method of claim 4,
The restorer further includes a recurrent neural networks (RNN) module located between the plurality of encoders and the plurality of decoders,
The RNN module includes a first RNN unit located between the first encoder and the first decoder, and a second RNN unit located between the second encoder and the second decoder,
The first RNN unit performs a first neural network operation on the first feature, and provides a result of the first neural network operation to the second RNN unit and the first decoder,
The second RNN unit performs a second neural network operation on the second feature and the result of the first neural network operation, and provides the second neural network operation result to the second decoder,
The first decoder generates the first volume feature by decoding a result of the first neural network operation,
The second decoder generates the second volume feature by decoding a result of the second neural network operation,
A device that restores a 3D model from a 2D image.
하나 이상의 인스트럭션들(instructions)을 저장하는 메모리; 및
상기 하나 이상의 인스트럭션들을 실행함으로써,
타깃 객체에 대한 멀티뷰(multi-view) 이미지를 입력받고,
상기 멀티뷰 이미지로부터 2차원의 깊이 정보를 추출하며,
상기 깊이 정보를 기초로 상기 타깃 객체에 대한 볼륨 데이터를 생성하고,
딥러닝 네트워크를 통해 상기 볼륨 데이터를 입력받아 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델로 복원하여 출력하는 프로세서를 포함하되,
상기 딥러닝 네트워크는 상기 복원된 복셀 모델과 정답 복셀 모델 간의 차이에 기초하여 산출된 제1 오차 및 상기 복원된 복셀 모델에 대한 프로젝션(projection) 연산을 통해 생성된 2차원의 프로젝션 이미지와 상기 입력 이미지와의 차이에 기초하여 산출된 제2 오차를 통해 학습되는,
2차원 이미지로부터 3차원 모델을 복원하는 장치.
A memory that stores one or more instructions; And
By executing the one or more instructions,
Receive a multi-view image of the target object,
Extracting two-dimensional depth information from the multi-view image,
Generate volume data for the target object based on the depth information,
Including a processor for receiving the volume data through a deep learning network, restoring and outputting a three-dimensional voxel model for the target object,
The deep learning network includes a first error calculated based on a difference between the restored voxel model and the correct voxel model, and a two-dimensional projection image and the input image generated through a projection operation on the restored voxel model. Learned through the second error calculated based on the difference with
A device that restores a 3D model from a 2D image.
제7 항에 있어서,
상기 딥러닝 네트워크는 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 특징을 추출하는 인코더, 상기 추출된 특징을 디코딩하여 상기 복셀 모델을 생성하는 디코더 및 실제 복셀 모델과 페이크(fake) 복셀 모델을 판별하는 판별기를 포함하고,
상기 인코더와 상기 디코더는 상기 제1 오차, 상기 제2 오차 및 상기 복원된 복셀 모델에 대한 상기 판별기의 판별 결과에 기초하여 산출된 제3 오차를 통해 학습되는,
2차원 이미지로부터 3차원 모델을 복원하는 장치.
The method of claim 7,
The deep learning network includes an encoder for extracting features of the target object from the volume data, a decoder for generating the voxel model by decoding the extracted features, and a discriminator for determining an actual voxel model and a fake voxel model. Including,
The encoder and the decoder are trained through the first error, the second error, and a third error calculated based on the determination result of the discriminator for the restored voxel model,
A device that restores a 3D model from a 2D image.
제7 항에 있어서,
상기 딥러닝 네트워크는 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 특징을 추출하는 인코더와 상기 추출된 특징을 디코딩하여 상기 복셀 모델을 생성하는 디코더를 포함하고,
상기 멀티뷰 이미지는 상기 타깃 객체의 제1 뷰에 대응되는 제1 이미지와 제2 뷰에 대응되는 제2 이미지를 포함하며,
상기 프로세서는,
GAN(Generative Adversarial Networks) 모듈을 통해 상기 제1 이미지로부터 제1 깊이 정보를 생성하고,
상기 GAN 모듈을 통해 상기 제2 이미지로부터 제2 깊이 정보를 생성하는,
2차원 이미지로부터 3차원 모델을 복원하는 장치.
The method of claim 7,
The deep learning network includes an encoder for extracting features of the target object from the volume data and a decoder for generating the voxel model by decoding the extracted features,
The multi-view image includes a first image corresponding to a first view of the target object and a second image corresponding to a second view,
The processor,
Generating first depth information from the first image through a Generative Adversarial Networks (GAN) module,
Generating second depth information from the second image through the GAN module,
A device that restores a 3D model from a 2D image.
KR1020200148309A 2020-11-09 2020-11-09 Apparatus for reconstructing 3d model from 2d images based on deep-learning and method thereof KR102245220B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200148309A KR102245220B1 (en) 2020-11-09 2020-11-09 Apparatus for reconstructing 3d model from 2d images based on deep-learning and method thereof
PCT/KR2021/013545 WO2022097932A1 (en) 2020-11-09 2021-10-02 Apparatus for reconstructing, based on deep learning, three-dimensional model from two-dimensional image and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200148309A KR102245220B1 (en) 2020-11-09 2020-11-09 Apparatus for reconstructing 3d model from 2d images based on deep-learning and method thereof

Publications (1)

Publication Number Publication Date
KR102245220B1 true KR102245220B1 (en) 2021-04-27

Family

ID=75725623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200148309A KR102245220B1 (en) 2020-11-09 2020-11-09 Apparatus for reconstructing 3d model from 2d images based on deep-learning and method thereof

Country Status (2)

Country Link
KR (1) KR102245220B1 (en)
WO (1) WO2022097932A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022097932A1 (en) * 2020-11-09 2022-05-12 주식회사 엔닷라이트 Apparatus for reconstructing, based on deep learning, three-dimensional model from two-dimensional image and method therefor
WO2023088733A1 (en) 2021-11-18 2023-05-25 Koninklijke Philips N.V. Synthesis of images for 2d to 3d asymmetric feature preservation
KR20230083348A (en) 2021-12-02 2023-06-12 (주)셀빅 The platform and Method for generating the contents
KR20230083347A (en) 2021-12-02 2023-06-12 (주)셀빅 The Apparatus and method for generating the Back side image
WO2023113500A1 (en) * 2021-12-17 2023-06-22 가천대학교 산학협력단 System and method for predicting depth image for medical image
KR102585921B1 (en) * 2022-04-22 2023-10-06 주식회사 앤트랩 Learning method for inventory management apparatus and inventory management method using the same
CN117496075A (en) * 2024-01-02 2024-02-02 中南大学 Single-view three-dimensional reconstruction method, system, equipment and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116129036B (en) * 2022-12-02 2023-08-29 中国传媒大学 Depth information guided omnidirectional image three-dimensional structure automatic recovery method
CN116536906B (en) * 2023-05-11 2023-09-22 杭州探观科技有限公司 Forming quality detection method of three-dimensional cutting underpants

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101725166B1 (en) 2016-06-22 2017-04-12 주식회사 엑스콜로 3D image reconstitution method using 2D images and device for the same
KR20190024400A (en) * 2017-08-31 2019-03-08 경북대학교 산학협력단 Object recognition apparatus and controlling method thereof
KR20190116067A (en) * 2018-04-03 2019-10-14 한국전자통신연구원 Method and apparatus for inter predection using reference frame generabed based on deep-learning
JP2020030204A (en) * 2018-08-21 2020-02-27 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Distance measurement method, program, distance measurement system and movable object
KR20200071990A (en) * 2018-12-12 2020-06-22 삼성전자주식회사 Electronic device and method for displaying three dimensions image
KR102145220B1 (en) * 2019-02-14 2020-08-18 엔에이치엔 주식회사 Method and apparatus for convert two-dimensional image to three-dimensional image utilizing deep learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102245220B1 (en) * 2020-11-09 2021-04-27 주식회사 엔닷라이트 Apparatus for reconstructing 3d model from 2d images based on deep-learning and method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101725166B1 (en) 2016-06-22 2017-04-12 주식회사 엑스콜로 3D image reconstitution method using 2D images and device for the same
KR20190024400A (en) * 2017-08-31 2019-03-08 경북대학교 산학협력단 Object recognition apparatus and controlling method thereof
KR20190116067A (en) * 2018-04-03 2019-10-14 한국전자통신연구원 Method and apparatus for inter predection using reference frame generabed based on deep-learning
JP2020030204A (en) * 2018-08-21 2020-02-27 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Distance measurement method, program, distance measurement system and movable object
KR20200071990A (en) * 2018-12-12 2020-06-22 삼성전자주식회사 Electronic device and method for displaying three dimensions image
KR102145220B1 (en) * 2019-02-14 2020-08-18 엔에이치엔 주식회사 Method and apparatus for convert two-dimensional image to three-dimensional image utilizing deep learning

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022097932A1 (en) * 2020-11-09 2022-05-12 주식회사 엔닷라이트 Apparatus for reconstructing, based on deep learning, three-dimensional model from two-dimensional image and method therefor
WO2023088733A1 (en) 2021-11-18 2023-05-25 Koninklijke Philips N.V. Synthesis of images for 2d to 3d asymmetric feature preservation
KR20230083348A (en) 2021-12-02 2023-06-12 (주)셀빅 The platform and Method for generating the contents
KR20230083347A (en) 2021-12-02 2023-06-12 (주)셀빅 The Apparatus and method for generating the Back side image
KR20230145981A (en) 2021-12-02 2023-10-18 (주)셀빅 The Apparatus and method for generating the Back side image
KR20230145982A (en) 2021-12-02 2023-10-18 (주)셀빅 The Apparatus and method for generating the Back side image
KR20230145983A (en) 2021-12-02 2023-10-18 (주)셀빅 The Apparatus and method for generating the Back side image
KR102627659B1 (en) 2021-12-02 2024-01-24 (주)셀빅 The Apparatus and method for generating the Back side image
WO2023113500A1 (en) * 2021-12-17 2023-06-22 가천대학교 산학협력단 System and method for predicting depth image for medical image
KR102585921B1 (en) * 2022-04-22 2023-10-06 주식회사 앤트랩 Learning method for inventory management apparatus and inventory management method using the same
CN117496075A (en) * 2024-01-02 2024-02-02 中南大学 Single-view three-dimensional reconstruction method, system, equipment and storage medium
CN117496075B (en) * 2024-01-02 2024-03-22 中南大学 Single-view three-dimensional reconstruction method, system, equipment and storage medium

Also Published As

Publication number Publication date
WO2022097932A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
KR102245220B1 (en) Apparatus for reconstructing 3d model from 2d images based on deep-learning and method thereof
JP7206309B2 (en) Image question answering method, device, computer device, medium and program
KR102315311B1 (en) Deep learning based object detection model training method and an object detection apparatus to execute the object detection model
KR102034248B1 (en) Method for detecting anomaly using generative adversarial networks, apparatus and system thereof
KR102421856B1 (en) Method and apparatus for processing image interaction
US20210065393A1 (en) Method for stereo matching using end-to-end convolutional neural network
CN108491848B (en) Image saliency detection method and device based on depth information
KR20220122566A (en) Text recognition model training method, text recognition method, and apparatus
EP3326156B1 (en) Consistent tessellation via topology-aware surface tracking
EP3855357A1 (en) Image processing method and apparatus using neural network
US20220222832A1 (en) Machine learning framework applied in a semi-supervised setting to perform instance tracking in a sequence of image frames
KR102473287B1 (en) 3-dimensional modeling apparatus capable of accurately imitating postures and motions by using a plurality of deep learning modules in single camera images and a method thereof
CN112241008A (en) Method and system for object detection
CN114386590A (en) Method and apparatus for compressing artificial neural networks
US11887248B2 (en) Systems and methods for reconstructing a scene in three dimensions from a two-dimensional image
CN115908789A (en) Cross-modal feature fusion and asymptotic decoding saliency target detection method and device
US20220188559A1 (en) Image processing method and apparatus, and image processing training method
Kim et al. Adversarial confidence estimation networks for robust stereo matching
KR20220063331A (en) Apparatus for reconstructing image based on deep-learning and method thereof
US20200285885A1 (en) Methods and systems for analyzing images utilizing scene graphs
CN110610184A (en) Method, device and equipment for detecting salient object of image
KR102306319B1 (en) Method, Program, Computing Device for generating pose estimation mapping data
KR102643593B1 (en) Method and apparatus for human recognition using modified enlighten generative adversarial network
TWI826201B (en) Object detection method, object detection apparatus, and non-transitory storage medium
US20230117227A1 (en) High-dimensional transfer learning

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant