KR20220113774A - 3차원 재구성 방법, 장치, 시스템 및 저장 매체 - Google Patents

3차원 재구성 방법, 장치, 시스템 및 저장 매체 Download PDF

Info

Publication number
KR20220113774A
KR20220113774A KR1020227023684A KR20227023684A KR20220113774A KR 20220113774 A KR20220113774 A KR 20220113774A KR 1020227023684 A KR1020227023684 A KR 1020227023684A KR 20227023684 A KR20227023684 A KR 20227023684A KR 20220113774 A KR20220113774 A KR 20220113774A
Authority
KR
South Korea
Prior art keywords
reconstruction
viewing angle
dimensional
training
complementary
Prior art date
Application number
KR1020227023684A
Other languages
English (en)
Other versions
KR102506701B1 (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 우이시 테크놀로지스 (저지앙) 리미티드
Publication of KR20220113774A publication Critical patent/KR20220113774A/ko
Application granted granted Critical
Publication of KR102506701B1 publication Critical patent/KR102506701B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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/20076Probabilistic image processing
    • 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]
    • 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/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

3차원 재구성 방법, 장치, 컴퓨터 시스템 및 컴퓨터 판독 가능 저장 매체로서, 상기 방법은, 상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해, 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행하는 단계(S110); 후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택하는 단계(S120); 상기 보완 시야각에 따라, 상기 대상 객체의 보완 2차원 이미지를 획득하는 단계(S130); 상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행하는 단계(S140); 및, 상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합하는 단계(S150);를 포함한다. 상기 방법은 보다 적은 2차원 이미지를 사용하여 고품질의 재구성 3차원 객체를 얻을 수 있다.

Description

3차원 재구성 방법, 장치, 시스템 및 저장 매체
본 발명은 컴퓨터 시각 기술 분야에 관한 것으로, 보다 상세하게는 3차원 재구성 방법, 장치, 시스템 및 저장 매체에 관한 것이다.
3차원 재구성은 알려진 2차원 이미지를 기반으로 해당 3차원 객체를 생성하는 프로세스이다. 2차원 이미지는 특정 카메라 시야각에서 촬영된 대상 물체이기 때문에, 특정 카메라 시야각에서 대상 객체의 특징을 반영할 수 있을 뿐, 대상 객체의 모든 특징을 보여줄 수는 없다. 이론적으로, 대상 객체를 촬영할 때, 카메라 시야각을 많이 선택할수록 대상 객체에 대한 재구성된 3차원 객체의 복원 정도가 더 높고 재구성 품질이 더 좋다.
그러나, 실제 작업에서 컴퓨터 자원 비용, 시간 비용, 인건비 등의 요인을 고려할 때, 수많은 2차원 이미지에 대해 제한 없이 3차원 재구성을 수행하는 것은 불가능하다. 따라서, 적절한 시야각의 2차원 이미지를 선택하고, 선택된 2차원 이미지를 기반으로 3차원 재구성을 수행하는 방법은 당업자에게 시급히 해결되어야 할 기술적 과제가 되었다.
본 발명은 상기와 같은 문제점을 해결하기 위해 개시된 것이다.
본 발명의 일 측면은 3차원 재구성 방법을 제공한다. 상기 방법은,
상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해, 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행하는 단계;
후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택하는 단계;
상기 보완 시야각에 따라, 상기 대상 객체의 보완 2차원 이미지를 획득하는 단계;
상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행하는 단계; 및,
상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합하는 단계;를 포함한다.
예시적으로, 상기 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행하는 단계는,
상기 원시 2차원 이미지에서 원시 이미지 특징을 추출하는 단계;
상기 대상 객체의 복셀 큐브를 획득하기 위해, 복셀 신경망을 통해 상기 원시 이미지 특징을 디코딩하는 단계;
상기 복셀 큐브를 기반으로 상기 원시 3차원 객체를 결정하는 단계;를 포함한다.
예시적으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택하는 단계는,
복수의 후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 결정하기 위해, 상기 원시 3차원 객체에 대해 회귀 분석을 수행하는 단계;
가장 최악의 품질의 재구성 품질에 대응하는 후보 시야각을 상기 보완 시야각으로 결정하는 단계;를 포함한다.
예시적으로, 상기 원시 3차원 객체에 대한 회귀 분석은 제1 신경망을 이용하여 구현되고, 상기 제1 신경망은 다음 단계의 훈련, 즉:
실제 훈련 객체의 훈련 3차원 객체를 획득하는 단계;
상기 훈련 객체의 훈련 2차원 이미지를 획득하는 단계;
훈련 재구성 객체를 생성하기 위해, 상기 훈련 객체의 훈련 2차원 이미지를 기반으로 3차원 재구성을 수행하는 단계;
제1 투영 깊이 맵을 획득하기 위해, 미리 설정된 훈련 시야각을 기반으로 상기 훈련 재구성 객체를 투영하는 단계;
제2 투영 깊이 맵을 획득하기 위해, 상기 훈련 시야각을 기반으로 상기 훈련 3차원 객체를 투영하는 단계;
상기 제2 투영 깊이 맵에 대한 상기 제1 투영 깊이 맵의 차이 정도를 계산하는 단계;
상기 훈련 재구성 객체를 입력 데이터로 사용하고 상기 차이 정도를 진리값 데이터로 사용하여 상기 제1 신경망을 훈련시키는 단계;의 훈련을 통해 얻어진다.
예시적으로, 상기 제2 투영 깊이 맵에 대한 상기 제1 투영 깊이 맵의 차이 정도를 계산하는 단계는,
상기 제1 투영 깊이 맵 중의 상기 훈련 시야각에서 상기 훈련 재구성 객체의 각 가시적 복셀의 제1 깊이 값을 획득하는 단계;
각 제1 깊이 값에 대해, 상기 제2 투영 깊이 맵 중의 상기 훈련 3차원 객체의 대응하는 복셀의 제2 깊이 값을 획득하는 단계;
상기 제2 깊이 값과 상기 제1 깊이 값 사이의 깊이 차이와 상기 제2 깊이 값 사이의 비율을 계산하는 단계;
상기 제1 투영 깊이 맵 중의 상기 훈련 시야각에서 상기 훈련 재구성 객체의 모든 가시적 복셀에 대응하는 비율을 평균화하여 상기 차이 정도로 사용하는 단계;를 포함한다.
예시적으로, 상기 제1 신경망을 훈련시키는 단계는,
상기 입력 데이터를 기반으로 상기 제1 신경망에 대응하는 출력 데이터를 획득하는 단계;
상기 출력 데이터와 상기 진리값 데이터에 따라 상기 제1 신경망의 손실 함수를 계산하는 단계;
상기 손실 함수를 기반으로 상기 제1 신경망의 매개변수를 업데이트하는 단계;를 포함한다.
예시적으로, 상기 보완 시야각에 따라, 상기 대상 객체의 보완 2차원 이미지를 획득하는 단계는,
데이터베이스에서 상기 보완 시야각과 가장 가까운 시야각에 대응하는 2차원 이미지를 선택하여 상기 보완 2차원 이미지로 사용하는 단계; 또는,
상기 보완 시야각의 카메라 포즈를 기반으로 카메라를 조정하고, 상기 카메라로 상기 보완 2차원 이미지를 수집하는 단계;를 포함한다.
예시적으로, 상기 데이터베이스에서 상기 보완 시야각과 가장 가까운 시야각에 대응하는 2차원 이미지를 선택하는 단계는,
2차원 이미지에 대응하는 시야각의 카메라 포즈를 식별하기 위한 상기 데이터베이스에 저장된 2차원 이미지의 포즈 식별자를 획득하는 단계;
상기 포즈 식별자에 따라, 상기 2차원 이미지에 대응하는 시야각의 카메라 포즈와 상기 보완 시야각의 카메라 포즈 사이의 포즈 차이를 결정하는 단계;
포즈 차이가 최소값을 얻는 경우, 대응하는 2차원 이미지를 상기 보완 2차원 이미지로 결정하는 단계;를 포함한다.
예시적으로, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합하는 단계 후에, 상기 3차원 재구성 방법은,
상기 3차원 재구성 결과에서 가시적 복셀의 비율이 제1 비율보다 큰지 여부를 판단하는 단계;
제1 비율보다 작은 경우, 상기 3차원 재구성 결과를 상기 원시 3차원 객체로 사용하고, 상기 3차원 재구성 결과에서 가시적 복셀의 비율이 상기 제1 비율보다 클 때까지 보완 시야각을 기반으로 3차원 재구성을 다시 수행하는 단계;를 더 포함한다.
본 발명의 다른 측면은 3차원 재구성 장치를 제공하며, 상기 장치는,
상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해, 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행하기 위한 제1 재구성 모듈;
후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택하기 위한 보완 시야각 모듈;
상기 보완 시야각에 따라, 상기 대상 객체의 보완 2차원 이미지를 획득하기 위한 보완 이미지 모듈;
상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행하기 위한 제2 재구성 모듈; 및,
상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합하는 융합 모듈;을 포함한다.
본 발명의 또 다른 측면은 3차원 재구성 시스템을 제공하며, 상기 시스템은 프로세서, 및 컴퓨터 프로그램 명령이 저장된 메모리를 포함하고, 상기 컴퓨터 프로그램 명령이 상기 프로세서에 의해 실행됨으로써, 상기 3차원 재구성 방법이 수행된다.
본 발명의 또 다른 측면은 프로그램 명령이 저장되는 저장 매체를 제공하며, 상기 프로그램 명령이 실행됨으로써, 상기 3차원 재구성 방법이 수행된다.
본 발명의 실시예의 기술적 해결책에 따르면, 3차원 객체의 재구성 품질에 따라 보완 시야각을 결정하고, 보완 시야각에서 2차원 이미지를 이용하여 3차원 재구성을 수행함으로써, 보다 적은 2차원 이미지를 사용하여 고품질의 재구성 3차원 객체를 얻을 수 있다.
전술한 설명은 본 발명의 상기 기술적 해결책의 개요에 불과하며, 본 발명의 기술적 수단을 보다 명확하게 이해하기 위해, 본 발명의 명세서의 내용에 따라 실시할 수 있고, 본 발명의 상기 목적 및 다른 목적, 특징 및 장점을 보다 명확하고 쉽게 이해할 수 있도록, 이하에서는 본 발명의 구체적인 구현 방식을 명시한다.
본 발명의 상기 및 다른 목적, 특징 및 장점이 더 명백해지도록, 첨부도면을 결부하여 본 발명의 실시예를 보다 상세하게 설명한다. 첨부도면은 본 발명의 실시예에 대한 이해를 돕기 위해 사용되고, 명세서의 일부를 구성하며, 본 발명의 실시예와 함께 본 발명을 설명하기 위해 사용되지만, 본 발명을 한정하는 것은 아니다. 첨부도면에서, 동일한 부호는 일반적으로 동일한 구성요소 또는 단계를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 3차원 재구성 방법의 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 보완 시야각을 선택하는 개략적인 흐름도이다.
도 3은 본 발명 일 실시예에 따른 제1 신경망을 획득하는 개략적인 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 차이 정도를 계산하는 개략적인 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 제1 신경망을 훈련시키는 개략적인 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 제1 신경망을 훈련시키는 개략적인 블록도이다.
도 7은 본 발명의 일 실시예에 따른 데이터베이스에서 보완 2차원 이미지를 선택하는 개략적인 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 3차원 재구성 방법의 개략적인 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 3차원 재구성 장치의 개략적인 블록도이다.
도 10은 본 발명의 실시예에 따른 3차원 재구성 시스템의 개략적인 블록도이다.
본 발명의 목적, 기술적 해결책 및 장점을 보다 명확하게 하기 위해, 이하에서는 첨부도면을 참조하여 본 발명의 예시적인 실시예를 상세히 설명한다. 여기에 설명된 실시예는 단지 본 발명의 부분적 실시예일 뿐, 본 발명의 모든 실시예인 것이 아니며, 본 발명은 여기에 설명된 예시적인 실시예에 의해 제한되는 것은 아니다. 본 발명의 기술분야의 통상의 지식을 가진 자가 본 발명에서 설명된 본 발명의 실시예를 기반으로 창의적인 노동을 거치지 않고 얻은 모든 다른 실시예는 모두 본 발명의 보호 범위에 속한다.
본 명세서에서 설명된 3차원 재구성 방법은 원시 2차원 이미지의 기초에서 상기 원시 2차원 이미지의 재구성 품질의 피드백에 따라 보다 의미 있는 보완 시야각의 2차원 이미지를 선택하고, 원시 시야각의 2차원 이미지 및 보완 시야각의 2차원 이미지를 기반으로 3차원 재구성을 공동으로 수행함으로써, 보다 적은 2차원 이미지를 사용하여 재구성 품질이 좋은 재구성 3차원 객체를 얻을 수 있다.
도 1은 본 발명의 일 실시예에 따른 3차원 재구성 방법(100)의 흐름도이다. 도 1에 도시된 바와 같이, 상기 방법(100)은 다음 단계를 포함한다. 즉:
S110: 상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해, 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행한다.
원시 2차원 이미지는 카메라 또는 비디오 카메라와 같은 이미징 장치를 사용하여 직접 수집된 대상 객체의 이미지일 수 있다. 원시 2차원 이미지는 전처리된 이미지일 수도 있다. 예시적으로, 더 나은 품질의 원시 2차원 이미지를 얻기 위해, 수집된 이미지에 대해 필터링과 같은 전처리 작업이 수행될 수 있다. 원시 2차원 이미지는 단일 시야각에서 얻은 단일 이미지일 수 있고, 다수의 상이한 시야각에서 얻은 다수의 이미지일 수도 있다.
원시 3차원 객체를 생성하기 위해, 신경망 기반 3차원 재구성 방법과 같은 종래 또는 향후 개발되는 임의의 2차원 이미지 기반 3차원 재구성 수행 방법을 이용하여 단계 S110의 3차원 재구성을 수행할 수 있다.
생성된 원시 3차원 객체는 원시 2차원 이미지와 대응 관계를 나타낸다. 상기 원시 3차원 객체는 포인트 클라우드(Point Cloud), 메쉬(Mesh), 복셀(Voxel), 깊이 맵(Depth map) 등으로 표현될 수 있다. 본 발명의 구체적인 예에서, 원시 3차원 객체는 복셀로 표현된다. 복셀의 표현 방식은 대상 객체가 위치한 공간을 복수의 입체 격자로 이루어진 복셀 큐브로 보는 것으로, 각 입체 격자의 값은 객체가 위치한 공간에 복셀이 존재하는지 여부를 나타낸다. 예를 들어, 값이 0 이면 해당 격자의 공간적 위치에 객체의 복셀이 없음을 의미하고, 값이 1이면 복셀이 있음을 의미한다.
S120: 후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택한다.
각각의 2차원 이미지는 대응하는 하나의 카메라 화각을 가지며, 상기 카메라 화각은 카메라가 2차원 이미지를 수집할 때 화각이다. 카메라 화각은 카메라 포즈에 의해 결정되며, 카메라 포즈를 통해 카메라 화각을 나타낼 수 있다. 카메라 포즈는 2차원 이미지를 수집할 때 카메라의 위치와 자세이다. 다양한 좌표계를 기반으로 카메라 포즈를 표현할 수 있다. 이하에서는 구면 좌표계를 예로 들어 카메라 포즈를 설명한다. 예시적으로, 객체의 위치는 구면 좌표계의 원점으로 사용될 수 있고, 카메라 포즈는 벡터 R과 T로 표시할 수 있다. R = [α, β], 상기 α는 카메라의 방위각, β는 카메라의 앙각을 나타내며; T는 카메라와 객체 간의 거리 ρ를 나타낸다.
당업자는 세계 좌표계와 상기 구면 좌표계 사이에 상응하는 변환 관계가 있음을 이해할 수 있을 것이다. 예를 들어, 세계 좌표계(x, y, z)에서 카메라의 좌표는 알려져 있으며, x는 X축의 카메라 좌표를 나타내고, y는 Y축의 카메라 좌표를 나타내고, z는 Z축의 카메라 좌표를 나타내며, 구면 좌표계에서 카메라의 방위각 α, 앙각 β 및 거리 ρ에 대응하는 좌표를 알 수 있다.
당업자는 주어진 원시 2차원 이미지에 대해, 원시 2차원 이미지에 대응하는 카메라 매개변수에 따라 이미지를 생성할 때의 카메라 포즈를 결정할 수 있다는 것을 이해할 수 있을 것이다. 설명의 편의를 위해, 원시 2차원 이미지의 카메라 포즈에 대응하는 시야각을 제1 시야각이라고 한다.
알려진 원시 2차원 이미지의 제1 시야각에 기초하여, 본 단계는 재구성 품질을 기반으로 후보 시야각에서 하나의 새로운 보완 시야각을 결정하며, 상기 보완 시야각은 제1 시야각과 다르다. 다시 말하면, 보완 시야각의 카메라 포즈는 제1 시야각의 카메라 포즈와 다르다.
재구성 품질은 재구성을 통해 생성된 원시 3차원 객체와 실제 대상 객체 사이의 유사도를 나타낸다. 특정 시야각에서 원시 3차원 객체의 재구성 품질은 상기 특정 시야각에서 원시 3차원 객체의 가시적 부분과 대상 객체의 대응하는 부분의 유사도를 나타낸다. 서로 다른 시야각에서 원시 3차원 객체의 재구성 품질은 다르다. 제1 시야각에서 원시 3차원 객체의 재구성 품질이 가장 좋은데, 이는 제1 시야각에서 원시 3차원 객체의 가시적 부분에 원시 2차원 이미지의 신뢰할 수 있는 정보가 가장 많이 포함되기 때문이다. 다른 시야각에서 원시 3차원 객체의 가시적 부분에는 원시 2차원 이미지에 존재하는 않는 예측 정보가 다소 포함되기 때문에, 재구성 품질이 약간 저하된다.
예시적으로, 미리 설정된 규칙에 따라, 재구성 품질을 기반으로 후보 시야각에서 보완 시야각을 선택할 수 있다. 예를 들어, 미리 설정된 임계값 범위에서 재구성 품질의 후보 시야각을 보완 시야각으로 선택한다.
S130: 상기 보완 시야각에 따라, 상기 대상 객체의 보완 2차원 이미지를 획득한다.
보완 시야각의 카메라 포즈가 결정된 기초에서, 본 단계는 대상 객체의 대응하는 보완 2차원 이미지를 획득한다. 하나의 대상 객체에 대해, 여러 다른 시야각에서 이미지를 캡처함으로써 서로 다른 시야각에서 2차원 이미지를 얻을 수 있다. 보완 시야각을 결정한 기초에서, 다양한 방식으로 상기 시야각에서 2차원 이미지를 획득할 수 있다. 예를 들어, 대상 객체의 2차원 이미지가 대량으로 저장된 데이터베이스에서 대상 이미지를 선택하여 보완 2차원 이미지로 사용한다. 상기 대상 이미지의 시야각은 보완 시야각과 동일하거나 유사하다. 또 예를 들어, 결정된 보완 시야각에 따라 카메라 포즈를 조정하여 카메라가 보완 시야각의 포즈에서 대상 객체를 다시 캡처하도록 함으로써, 보완 시야각에서 대상 객체의 보완 2차원 이미지를 획득한다.
S140: 상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행한다.
본 단계는 단계 S110에서 수행되는 동작과 유사하며, 다만 단계 S110에서 원시 2차원 이미지에 대해 동작하지만, 본 단계 S140에서는 보완 2차원 이미지에 대해 동작한다. 간결함을 위해, 여기서는 설명을 생략한다.
일 예에서, 보완 3차원 객체도 복셀의 형태로 표현된다. 보완 2차원 이미지에 원시 2차원 이미지 정보에 존재하지 않는 신뢰할 수 있는 정보가 포함되기 때문에, 생성된 보완 3차원 객체에서 보완 시야각에서 가시적 복셀은 필연코 원시 3차원 객체의 제1 시야각에서 가시적 복셀과 다르다.
S150: 상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합한다.
예시적으로, 대상 객체의 최종 3차원 재구성 결과는 원시 3차원 객체와 보완 3차원 객체의 복셀의 합집합을 취함으로써 결정될 수 있다. 공간상의 임의의 위치에 대해, 원시 3차원 객체 또는 보완 3차원 객체 중 어느 하나가 상기 위치에 복셀이 있으면, 3차원 재구성 결과가 해당 위치에 복셀이 있는 것으로 결정한다.
대안적으로, 대상 객체의 최종 3차원 재구성 결과는 원시 3차원 객체와 보완 3차원 객체의 복셀 교집합을 취함으로써 결정될 수 있다. 공간상의 임의의 위치에 대해, 원시 3차원 객체 또는 보완 3차원 객체 모두가 상기 위치에 복셀이 있어야만 3차원 재구성 결과가 해당 위치에 복셀이 있는 것으로 결정한다.
상기 기술적 해결책에서, 각 시야각에서 원시 3차원 객체의 재구성 품질에 의해 시야각의 샘품링 품질이 피드백된다. 따라서, 피드백 결과를 기반으로 보다 적절한 보완 시야각을 결정하고, 최종 3차원 재구성 결과를 얻기 위해, 원시 3차원 객체와 보완 시야각에서 보완 2차원 이미지를 이용하여 재구성된 보완 3차원 객체를 융합할 수 있다. 이러한 방식으로, 3차원 재구성 프로세스에서 이미지의 선택이 보다 표적화되어 3차원 재구성을 개선하고 3차원 재구성 품질을 향상시킬 수 있다.
예시적으로, 상기 단계 S110는 다음 단계를 포함할 수 있다. 즉:
S111: 원시 2차원 이미지에서 원시 이미지 특징을 추출한다. 예를 들어, 컨볼루션 신경망(CNN)으로 구성된 인코더를 사용하여 원시 2차원 이미지에서 원시 이미지 특징을 추출할 수 있다. 원시 이미지 특징에는 다수의 특징 벡터가 포함될 수 있다. 각 특징 벡터는 원시 2차원 이미지의 상응한 화소점에 해당한다. 하나의 원본 2차원 이미지를 예로 들면 원본 2차원 이미지에서 H×W개 특징 벡터(H는 원시 2차원 이미지의 높이, W는 원시 2차원 이미지의 폭을 나타냄)를 추출할 수 있다. 각 특징 벡터의 차원은 모두 C이다.
S112: 상기 대상 객체의 복셀 큐브를 획득하기 위해, 복셀 신경망을 통해 상기 원시 이미지 특징을 디코딩한다. 복셀 신경망은 원시 이미지 특징에 따라 복수의 입체 격자로 구성된 복셀 큐브를 출력하기 위한 복수의 2D 컨볼루션 레이어를 포함할 수 있다.
S113: 상기 복셀 큐브를 기반으로 상기 원시 3차원 객체를 결정한다. 이 단계에서는 복셀 큐브의 격자의 값에 따라 격자가 위치한 공간적 위치에 복셀이 존재하는지 여부를 결정한다. 기존의 모든 복셀은 원시 3차원 객체를 구성한다.
복셀 큐브를 통해 원시 3차원 객체를 결정하여 원시 2차원 이미지의 정보를 효과적으로 이용할 수 있으므로, 생성된 원시 3차원 객체가 대상 객체와 보다 가깝다.
전술한 바와 같이, 단계 S120에서, 후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택한다. 도 2는 본 발명의 일 실시예의 단계 S120에서 보완 시야각을 선택하는 개략적인 흐름도이다. 도 2에 도시된 바와 같이, 단계 S120에서 보완 시야각을 선택하는 단계는 구체적으로 다음 단계를 포함할 수 있다. 즉:
S121: 복수의 후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 결정하기 위해, 상기 원시 3차원 객체에 대해 회귀 분석을 수행한다.
상기 회귀 분석은 제1 신경망을 통해 구현될 수 있다. 제1 신경망은 입력된 모든 재구성 3차원 객체에 대해, 서로 다른 시야각에서 상기 재구성 3차원 객체의 재구성 품질을 결정하고 출력하기 위해 사용된다. 제1 신경망에 원시 3차원 객체를 입력하고 제1 신경망을 통해 후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 예측할 수 있다.
본 발명의 복수의 후보 시야각은 미리 설정될 수 있고, 각각 서로 다른 카메라 포즈에 대응된다. 각 후보 시야각의 카메라 포즈는 구면 좌표계의 방위각 및 앙각으로 표시될 수 있다. 예시적으로, 원시 3차원 객체를 좌표계의 원점으로 하는 기초에서, 방위각 α는 다음 집합[0,45,90,135,180,225,270,315] 중의 요소이고, 앙각β은 다음 집합[-60,-30,0,30,60] 중의 요소이며, 거리 1인 카메라 포즈를 후보 시야각의 카메라 포즈로 사용한다.
후보 시야각에서 재구성 객체의 재구성 품질은 다양한 방법으로 측정할 수 있다.
일 예에서, 특정 시야각에서 재구성 객체의 가시적 복셀의 비율을 통해 해당 시야각에서 상기 재구성 객체의 재구성 품질을 측정할 수 있다. 시야각에서 가시적 복셀의 비율은, 제1 시야각에서 가시적 복셀 중에서 해당 시야각에서 재구성된 3차원 객체의 가시적 복셀이 차지하는 비율을 가리킨다. 예를 들어, 특정 후보 시야각에서 원시 3차원 객체의 가시적 복셀의 수가 n이고, 제1 시야각에서 가시적 복셀 중에서 해당 n개 복셀의 수가 N이면, 해당 후보 시야각에서 상기 원시 3차원 객체의 가시성은 N/n이다. 가시적 복셀의 비율이 높을수록 재구성 품질이 더 좋다.
다른 실시예에서, 시야각에서 재구성 객체의 투영 깊이 맵 차이 정도를 통해 재구성 품질을 측정할 수 있다. 투영 깊이 맵의 원시 3차원 객체의 화소는 미리 설정된 시야각에서 원시 3차원 객체의 가시적 복셀에 각각 대응한다. 원시 3차원 객체의 각 가시적 복셀과 투영 평면 사이의 거리는 상기 가시적 복셀에 해당하는 깊이 값이며, 즉 투영 깊이 맵에서 해당 화소의 화소값이다. 예를 들어, 특정 후보 시야각에서 원시 3차원 객체는 가시적 복셀(P)을 포함하며, 상기 가시적 복셀(P)과 투영 평면 사이의 거리는 d이고, 상기 가시적 복셀(P)이 투영 깊이 맵에서 대응하는 화소는 P’이면, 상기 투영 깊이 맵에서 화소 P’의 화소값은 d이다.
깊이 맵 차이 정도는 특정 시야각에서 원시 3차원 객체의 깊이 맵과 상기 시야각에서 대상 객체의 깊이 맵 사이의 차이 정도를 가리킨다. 차이 정도가 클수록, 상기 시야각에서 원시 3차원 객체와 대상 객체의 차이가 더 크다는 것을 나타내므로 재구성 품질이 더 열악하며; 차이 정도가 작을수록, 상기 시야각에서 원시 3차원 객체와 대상 객체의 차이가 더 작으므로 재구성 품질이 더 좋다.
S122: 가장 최악의 품질의 재구성 품질에 대응하는 후보 시야각을 상기 보완 시야각으로 결정한다.
회귀 분석을 통해 각 시야각에서 원시 3차원 객체의 재구성 품질을 결정하고, 가장 열악한 재구성 품질에 대응하는 후보 시야각을 보완 시야각으로 사용한다. 따라서, 상기 보완 시야각에 따라 보완 2차원 이미지를 획득하고, 보완 2차원 이미지를 기반으로 다시 3차원 재구성을 수행한다. 이렇게 하면, 원시 3차원 객체의 품질 결함을 보다 효과적으로 보완할 수 있어 재구성 품질을 향상할 수 있다.
전술한 바와 같이, 제1 신경망을 통해 특정 시야각에서 원시 3차원 객체의 재구성 품질을 예측할 수 있다. 상기 제1 신경망은 훈련을 통해 얻을 수 있다. 도 3은 본 발명의 일 실시예에 따른 제1 신경망을 훈련시키는 개략적인 흐름도이다. 도 3에 도시된 바와 같이, 제1 신경망은 다음 단계를 통해 얻어진다. 즉:
S310: 실제 훈련 객체의 훈련 3차원 객체를 획득한다.
실제 훈련 객체는 큐브, 구, 실린더 등과 같은 특정 모양의 볼륨으로 실제로 존재하는 객체이다. 더 나은 훈련 효과를 얻으려면, 자동차 모델, 건물 모델 등과 같이 모양이 불규칙한 객체를 선택하는 것이 바람직하다.
또한, 실제 훈련 객체를 컴퓨터에서 인식할 수 있는 수학적 모델로 처리할 수 있다. 일 예에서, 스캐너로 훈련 객체를 스캔함으로써 훈련 객체의 포인트 클라우드 데이터를 획득할 수 있다. 또한, 수동 모델링을 통해 실제 훈련 객체를 대응하는 수학적 모델로 변환할 수 있다. 본 발명은 훈련 객체의 훈련 3차원 객체를 획득하는 방법을 제한하지 않는다.
S320: 상기 훈련 객체의 훈련 2차원 이미지를 획득한다.
카메라 또는 비디오 카메라와 같은 이미징 장치를 사용하여 다양한 시야각에서 훈련 객체의 사진을 직접 수집하여 훈련 2차원 이미지로 사용할 수 있다. 수집된 사진은 필터링 등의 전처리를 수행할 수 있고, 전처리된 사진을 훈련 2차원 이미지로 사용할 수 있으며, 본 발명은 이를 제한하지 않는다.
S330: 훈련 재구성 객체를 생성하기 위해, 상기 훈련 객체의 훈련 2차원 이미지를 기반으로 3차원 재구성을 수행한다.
기존의 3차원 재구성 기술을 이용하여 훈련 2차원 이미지에 대해 3차원 재구성을 수행한다. 일 예에서, 먼저 컨볼루션 신경망으로 구성된 인코더를 사용하여 훈련 2차원 이미지에서 이미지 특징을 추출한 다음, 컨볼루션 신경망으로 구성된 디코더를 사용하여 이미지 특징을 디코딩하여 훈련 2차원 이미지를 기반으로 하는 훈련 재구성 객체를 결정한다. 상기 단계는 단계 S110과 유사하며, 간결함을 위해, 여기서는 설명을 생략한다.
S340: 제1 투영 깊이 맵을 획득하기 위해, 미리 설정된 훈련 시야각을 기반으로 상기 훈련 재구성 객체를 투영한다.
미리 설정된 훈련 시야각은 고정된 카메라 포즈에 대응하는 시야각일 수 있다. 예시적으로, 훈련 재구성 객체를 좌표계의 원점으로 하는 기초에서, 방위각 α는 다음 집합[0,45,90,135,180,225,270,315] 중의 요소이고, 앙각β은 다음 집합[-60,-30,0,30,60] 중의 요소이며, 거리 1인 카메라 포즈를 훈련 시야각의 카메라 포즈로 사용한다.
미리 설정된 훈련 시야각을 기반으로 훈련 재구성 객체를 투영하는 것은 훈련 재구성 객체의 가시적 복셀을 투영 평면의 화소에 매핑하는 것과 같다. 일 예에서, 투영 평면은 카메라 이미징 평면이다. 상기 가시적 복셀과 투영 평면 사이의 거리는 투영 깊이 맵에서 해당 화소의 화소값이다. 설명의 편의를 위해, 훈련 재구성 객체를 기반으로 생성된 투영 깊이 맵을 제1 투영 깊이 맵이라고 한다.
일 예에서, 훈련 시야각에서 투영 평면과 가장 가까운 훈련 재구성 객체의 복셀을 기반으로 투영 깊이 맵을 결정할 수 있다. 상기 투영 평면은 카메라가 위치하며 훈련 시야각과 수직되는 평면일 수 있다. 훈련 시야각이 X축의 방향이라고 가정하면, 훈련 시야각에서 투영 평면에 가장 가까운 훈련 재구성 객체의 복셀은 다음 공식에 의해 결정될 수 있다.
미리 설정된 훈련 시야각은 고정된 카메라 포즈에 대응하는 시야각일 수 있다. 예시적으로, 훈련 재구성 객체를 좌표계의 원점으로 하는 기초에서, 방위각 α는 다음 집합[0,45,90,135,180,225,270,315] 중의 요소이고, 앙각β은 다음 집합[-60,-30,0,30,60] 중의 요소이며, 거리 1인 카메라 포즈를 훈련 시야각의 카메라 포즈로 사용한다.
미리 설정된 훈련 시야각을 기반으로 훈련 재구성 객체를 투영하는 것은 훈련 재구성 객체의 가시적 복셀을 투영 평면의 화소에 매핑하는 것과 같다. 일 예에서, 투영 평면은 카메라 이미징 평면이다. 상기 가시적 복셀과 투영 평면 사이의 거리는 투영 깊이 맵에서 해당 화소의 화소값이다. 설명의 편의를 위해, 훈련 재구성 객체를 기반으로 생성된 투영 깊이 맵을 제1 투영 깊이 맵이라고 한다.
일 예에서, 훈련 시야각에서 투영 평면과 가장 가까운 훈련 재구성 객체의 복셀을 기반으로 투영 깊이 맵을 결정할 수 있다. 상기 투영 평면은 카메라가 위치하며 훈련 시야각과 수직되는 평면일 수 있다. 훈련 시야각이 X축의 방향이라고 가정하면, 훈련 시야각에서 투영 평면에 가장 가까운 훈련 재구성 객체의 복셀은 다음 공식에 의해 결정될 수 있다.
Figure pct00001
여기서 P(:, y, z)는 Y축 좌표는 y, Z축 좌표는 z인 훈련 재구성 객체의 X축에 평행한 직선 상의 모든 복셀을 나타낸다. 특정 위치(x, y, z)에 훈련 재구성 객체의 복셀이 존재하는 경우, P(x, y, z)=1이며; 그렇지 않으면, P(x, y, z)=0 이다.
Figure pct00002
로 제한된 경우, argmin( P(:, y, z))는 상기 직성 상의 훈련 재구성 객체의 복셀과 투영 평면 사이의 거리의 최소 거리를 나타낸다. 상기 공식에 따라,
Figure pct00003
의 m개 복셀이 존재하고, m개 복셀의 X축 좌표가 각각 { x1,x2,…,xm }이라고 가정하면, d(y, z)는 이들 X축 좌표의 최소값을 취하며, 즉 min{ x1,x2,…,xm }이다. 따라서, 상기 직선 상에 훈련 재구성 객체의 투영이 존재한다. 그렇지 않으면,
Figure pct00004
의 복셀이 존재하지 않는다고 가정하면, d(y, z)=0 이다. 따라서, 상기 직선 상에 훈련 재구성 객체의 투영이 존재하지 않는다. 상술한 바와 같이, 훈련 시야각에서 훈련 재구성 객체의 투영 깊이 맵을 획득할 수 있다.
S350: 제2 투영 깊이 맵을 획득하기 위해, 상기 훈련 시야각을 기반으로 상기 훈련 3차원 객체를 투영한다.
전술한 바와 같이, 훈련 3차원 객체는 실제 객체를 기반으로 생성된 수학적 모델이다. 일 예에서, 미리 설정된 훈련 시야각을 기반으로 훈련 3차원 객체를 투영하는 것은, 훈련 3차원 객체의 가시적 복셀을 투영 평면의 화소로 매핑하는 것과 같다. 여기서 투영 평면은 카메라의 이미징 평면일 수 있다. 상기 가시적 복셀과 투영 평면 사이의 거리는 투영 깊이 맵에서 해당 화소의 화소값이다. 본 예에서, 훈련 3차원 객체를 기반으로 생성된 투영 깊이 맵을 제2 투영 깊이 맵으로 사용한다.
S360: 상기 제2 투영 깊이 맵에 대한 상기 제1 투영 깊이 맵의 차이 정도를 계산한다.
일 예에서, 차이 정도는 제2 투영 깊이 맵에 대한 제1 투영 깊이 맵의 차이를 나타내기 위해 사용된다. 전술한 바와 같이, 차이 정도는 훈련 재구성 객체의 재구성 품질을 측정하기 위해 사용될 수 있다. 차이 정도가 클수록, 훈련 재구성 객체와 대상 3차원 객체의 차이가 더 크다는 것을 나타내므로 재구성 품질이 더 열악하며; 차이 정도가 작을수록, 훈련 재구성 객체와 대상 3차원 객체의 차이가 더 작으므로 재구성 품질이 더 좋다는 것을 나타낸다.
예시적으로, 제1 투영 깊이 맵과 제2 투영 깊이 맵에서 각 대응하는 화소의 차이값의 합을 상기 차이 정도로 사용할 수 있다.
S370: 상기 훈련 재구성 객체를 입력 데이터로 사용하고 상기 차이 정도를 진리값 데이터로 사용하여 상기 제1 신경망을 훈련시킨다. 따라서, 입력된 모든 재구성 객체에 대해, 제1 신경망은 훈련 시야각에서 상기 재구성 객체의 차이 정도를 출력할 수 있다. 따라서, 출력된 차이 정도에 따라 상기 훈련 시야각에서 상기 재구성 객체의 재구성 품질을 결정할 수 있다.
상기 기술적 해결책에서, 투영 깊이 맵의 차이 정도를 통해 제1 신경망을 훈련시킴으로써, 제1 신경망이 재구성 객체의 재구성 품질을 정확하게 결정할 수 있도록 한다. 또한, 상기 재구성 품질에 따라 획득된 최종 재구성 결과의 정확성을 보증한다.
전술한 바와 같이, 제2 투영 깊이 맵에 대한 제1 투영 깊이 맵의 차이 정도를 진리값 데이터로 사용하여 제1 신경망을 훈련시킬 수 있다. 도 4는 본 발명의 일 실시예에 따른 상기 단계 S360에서 차이 정도를 계산하는 개략적인 흐름도이다. 도 4에 도시된 바와 같이, 차이 정도의 계산은 다음과 같은 단계를 포함한다. 즉:
S361: 상기 제1 투영 깊이 맵 중의 상기 훈련 시야각에서 상기 훈련 재구성 객체의 각 가시적 복셀의 제1 깊이 값을 획득한다.
전술한 바와 같이, 제1 투영 깊이 맵의 화소값은 훈련 시야각에서 대응하는 훈련 재구성 객체의 가시적 복셀의 깊이 값을 나타낸다. 일 예에서, 제1 투영 깊이 맵의 깊이 값을 제1 깊이 값으로 사용한다.
S362: 각 제1 깊이 값에 대해, 상기 제2 투영 깊이 맵 중의 상기 훈련 3차원 객체의 대응하는 복셀의 제2 깊이 값을 획득한다.
전술한 바와 같이, 제2 투영 깊이 맵의 화소값은 훈련 시야각에서 대응하는 훈련 3차원 객체의 가시적 복셀의 깊이 값을 나타낸다. 훈련 재구성 객체 및 훈련 3차원 객체가 모두 동일한 훈련 객체를 기반으로 획득되기 때문에, 제1 투영 깊이 맵의 각 화소에 대해 제2 투영 깊이 맵의 대응하는 화소를 획득하고, 그 화소값을 제2 깊이 값으로 사용할 수 있다.
예를 들어, 단계 S361에서 제1 투영 깊이 맵에서 복셀(P)의 제1 깊이 값(D)을 획득하였으면, 본 단계 S362에서 제2 투영 깊이 맵에서 복셀(P)에 해당하는 복셀(P’)의 해당 제2 깊이 값(D’)을 획득한다.
S363: 상기 제2 깊이 값과 상기 제1 깊이 값 사이의 깊이 차이와 상기 제2 깊이 값 사이의 비율을 계산한다.
게속하여 상기 예를 설명하면, 단계 S362에서 제1 깊이 값(D) 및 제2 깊이 값(D’)을 알게 되면, 제2 깊이 값과 제1 깊이 값 사이의 깊이 차이는 D’-D이며, 깊이 차이와 제2 깊이 값 사이의 비율은 (D’-D)/D’이다.
S364: 상기 제1 투영 깊이 맵 중의 상기 훈련 시야각에서 상기 훈련 재구성 객체의 모든 가시적 복셀에 대응하는 비율을 평균화하여 상기 차이 정도로 사용한다.
제1 투영 깊이 맵과 제2 투영 깊이 맵에는 복수의 복셀이 포함되며, 복수의 차이 정도를 얻을 수 있다. 따라서, 일 예에서, mean함수를 통해 복수의 차이 정도를 평균화하고, mean[(D’-D)/D’]을 최종 차이 정도로 사용한다.
상기 기술적 해결책에서, 투영 깊이 맵에서 깊이 값 차이와 실제 투영 깊이 값 사이의 비율을 재구성 품질을 평가하기 위한 차이 정도로 사용한다. 재구성 품질을 표현하는 능력이 강하므로 획득된 재구성 품질이 보다 정확하며, 최종 재구성 결과가 보다 정확하다.
전술한 바와 같이, 단계 S370에서 상기 훈련 재구성 객체를 입력 데이터로 사용하고 상기 차이 정도를 진리값 데이터로 사용하여 상기 제1 신경망을 훈련시킬 수 있다. 도 5는 본 발명의 일 실시예의 단계 S370에서 제1 신경망을 훈련시키는 개략적인 흐름도이다. 도 5에 도시된 바와 같이, 단계 S370에서 제1 신경망을 훈련시키는 단계는 다음과 같은 단계를 포함한다. 즉:
S371: 상기 입력 데이터에 따라. 상기 제1 신경망에 대응하는 출력 데이터를 획득한다.
입력 데이터, 즉 훈련 재구성 객체를 제1 신경망에 입력하여 제1 신경망의 계산을 통해 출력 데이터를 획득한다. 제1 신경망은 입력된 모든 재구성 객체에 대해, 훈련 시야각에서 상기 재구성 객체의 차이 정도를 출력할 수 있다. 일 예에서, 상기 입력 데이터는 임의의 재구성 객체일 수 있고, 상기 출력 데이터는 훈련 시야각에서 상기 재구성 객체의 깊이 맵 차이 정도일 수 있다.
S372: 상기 출력 데이터와 상기 진리값 데이터에 따라 상기 제1 신경망의 손실 함수를 계산한다.
전술한 바와 같이, 진리값 데이터는 제1 투영 깊이 맵과 제2 투영 깊이 맵 사이의 차이 정도이며, 상기 제1 투영 깊이 맵은 훈련 재구성 객체를 기반으로 생성되고, 제2 투영 깊이 맵은 훈련 3차원 객체를 기반으로 생성된다.
제1 신경망의 출력 데이터가 Y라고 가정하면, 계산하여 얻은 상기 진리값 데이터는 Y0 이며, 해당 양자에 의해 손실 함수를 결정할 수 있다. 손실 함수는 출력 데이터 Y와 진리값 데이터 Y0 사이의 차이를 나타낸다. 본 발명의 실시예에서, 교차 엔트로피 손실 함수, 지수 손실 함수, 제곱 손실 함수 등과 같은 손실 함수 중 하나를 사용할 수 있다.
S373: 상기 손실 함수를 기반으로 상기 제1 신경망의 매개변수를 업데이트한다. 이 단계에서, 제1 신경망의 관련 매개변수를 조정함으로써, 손실 함수가 최소값을 취하도록 한다. 훈련 종료 후, 제1 신경망은 입력된 모든 재구성 객체에 대해 훈련 시야각에서 차이 정도를 매우 정확하게 출력할 수 있다. 일 예에서, 미리 설정된 시야각은 40개 포함되고, 제1 신경망은 대응하는 40개 시야각에서 차이 정도를 출력한다.
상기 훈련 단계를 통해, 제1 신경망의 출력 데이터가 보다 정확해진다. 따라서, 최종 재구성 결과가 보다 정확하다.
도 6은 본 발명의 일 실시예에 따른 제1 신경망을 훈련시키는 개략적인 블록도이다. 도 6에 도시된 바와 같이, 입력 데이터(610)가 제1 신경망(620)에 입력된 후, 출력 데이터(630)가 획득된다. 진리값 데이터(640)는 출력 데이터(630)와 비교하기 위한 벤치마크 데이터이며, 출력 데이터(630)와 진리값 데이터(640) 사이의 차이에 따라 손실 함수(650)를 구하고, 제1 신경망(620)의 매개변수를 조정하여 손실 함수(650)의 값을 변경하여 출력 데이터(630)가 진리값 데이터(640)에 더 가깝게 한다. 일 예에서, 입력 데이터(610)는 3차원 재구성 기술을 이용하여 생성된 임의의 3차원 재구성 객체이고, 출력 데이터(630)는 미리 설정된 복수의 시야각에서 상기 3차원 재구성 객체의 깊이 맵 차이 정도이고, 진리값 데이터(640)는 이미 알려진 훈련 데이터를 이용하여 계산한 미리 설정된 복수의 시야각에서 3차원 재구성 객체의 깊이 맵 차이 정도이며, 손실 함수(650)는 제곱 손실 함수이다.
보완 시야각을 결정한 기초에서, 상기 단계 S130에서 대상 객체의 보완 2차원 이미지를 획득한다. 보완 2차원 이미지는 다양한 방식을 통해 획득할 수 있다. 일 예에서, 상기 보완 시야각의 카메라 포즈를 기반으로 카메라를 조정하고, 상기 카메라를 통해 상기 보완 2차원 이미지를 수집한다. 예를 들어, 대상 객체의 위치를 좌표 원점으로 하고, 구면 좌표계에서 보완 시야각의 카메라 포즈가 (α0, β0, ρ0)이면, α0는 카메라의 방위각을 나타내고, β0는 카메라의 앙각을 나타내고, ρ0는 카메라와 좌표 원점 사이의 직선 거리를 나타내며, 카메라를 (α0, β0, ρ0)에 대응하는 위치 및 포즈로 조정하여 대상 객체의 이미지를 수집함으로써, 보완 2차원 이미지를 획득할 수 있다. 상기 예에서, 카메라를 사용하여 보완 2차원 이미지를 수집함으로써, 보완 2차원 이미지가 보완 시야각에 있음을 보장할 수 있다. 따라서, 보완 2차원 이미지의 정보가 더 충분하고, 최종 재구성 결과가 더 정확해진다.
다른 예에서, 데이터베이스에서 상기 보완 시야각과 가장 가까운 시야각에 대응하는 2차원 이미지를 선택하여 상기 보완 2차원 이미지로 사용한다. 도 7은 본 발명의 일 실시예에 따른 데이터베이스에서 보완 2차원 이미지를 선택하는 개략적인 흐름도이다. 도 7에 도시된 바와 같이, 보완 2차원 이미지를 선택하는 단계는 다음 단계를 포함한다. 즉:
S131: 2차원 이미지에 대응하는 시야각의 카메라 포즈를 식별하기 위한 상기 데이터베이스에 저장된 2차원 이미지의 포즈 식별자를 획득한다.
데이터베이스는 2차원 이미지를 저장할 때, 상기 2차원 이미지에 대응하는 포즈 식별자를 동시에 저장할 수 있으며, 상기 포즈 식별자는 상기 2차원 이미지를 수집할 때 대응하는 카메라 포즈일 수 있다. 데이터베이스에서 2차원 이미지를 획득할 때, 상기 2차원 이미지에 대응하는 포즈 식별자를 동시에 획득할 수 있다.
S132: 상기 포즈 식별자에 따라, 상기 2차원 이미지에 대응하는 시야각의 카메라 포즈와 상기 보완 시야각의 카메라 포즈 사이의 포즈 차이를 결정한다.
일 예에서, 피사체의 위치를 구면 좌표계의 원점으로 하고, 카메라의 방위각 α, 앙각 β 및 원점으로부터의 거리 ρ로 2차원 이미지에 대응하는 카메라 포즈를 나타낸다. 2차원 이미지에 대응하는 시야각의 카메라 포즈는 (α1, β1, ρ1)이고, 보완 시야각의 카메라 포즈는 (α2, β2, ρ2)라고 가정하면, 양자 간의 포즈 차이는 (α1-α2, β1-β2, ρ1-ρ2)로 표시될 수 있다.
S133: 포즈 차이가 최소값을 얻는 경우, 대응하는 2차원 이미지를 상기 보완 2차원 이미지로 결정한다.
전술한 예에서, 포즈 차이는 방위각 차이, 앙각 차이 및 거리의 차이로 구성된 3차원 벡터이다. 포즈 차이의 크기를 나타내기 위해, 상기 3차원 벡터를 수치로 정규화할 수 있다. 일 예에서, 방위각 차이, 앙각 차이, 거리 차이를 제곱하여 구한 제곱합을 포즈 차이로 사용하여 포즈 차이의 크기를 비교할 수 있다. 바람직한 상황은 포즈 차이가 0인 경우이며, 이 경우 2차원 이미지에 해당하는 시야각의 카메라 포즈가 보완 시야각의 카메라 포즈와 완전히 일치하다. 데이터베이스에서 포즈 차이가 0 인 2차원 이미지를 얻을 수 없는 경우, 포즈 차이가 가장 작은 2차원 이미지를 선택하여 보완 2차원 이미지로 사용할 수 있다.
상기 단계를 통해, 방대한 이미지가 저장된 데이터베이스에서 보완 시야각에 가장 가까운 2차원 이미지를 선택하여 보완 2차원 이미지로 사용할 수 있고, 보완 2차원 이미지를 기반으로 3차원 재구성을 수행할 수 있다. 데이터베이스 중의 기존 2차원 이미지를 원시 2차원 이미지의 보완으로 직접 사용하면, 최종 재구성 결과의 정확도를 보증하고 기존 자원을 효과적으로 활용할 수 있을 뿐만 아니라, 이미지를 다시 수집하는 번거로움을 피할 수 있다.
선택된 보완 시야각이 많을수록 생성된 보완 3차원 객체가 더 많으며, 3차원 재구성 결과가 대상 객체의 실제 모양에 더 가깝다. 따라서, 단계 S120 내지 단계 S150의 과정은 반복될 수 있고, 반복 종료 조건을 만족하는지 여부에 따라 최종 3차원 재구성 결과를 결정할 수 있다.
예시적으로, 상기 3차원 재구성 방법은, 상기 3차원 재구성 결과에서 가시적 복셀의 비율이 제1 비율보다 큰지 여부를 판단하는 단계를 더 포함할 수 있다. 제1 비율보다 작은 경우, 기존의 3차원 재구성 결과를 원시 3차원 객체로 사용하고, 상기 3차원 재구성 결과에서 가시적 복셀의 비율이 상기 제1 비율보다 클 때까지 보완 시야각을 기반으로 3차원 재구성을 다시 수행한다. 즉, 이 단계에서, 기존의 3차원 재구성 결과를 원시 3차원 객체로 사용하고, 바람직한 재구성 결과를 얻을 때까지, 다시 상기 단계 S120 내지 S150를 수행한다.
도 8은 본 발명의 다른 실시예에 따른 3차원 재구성 방법(800)의 개략적인 흐름도이다. 도 8에 도시된 바와 같이, 상기 3차원 재구성 방법은 다음 단계를 포함한다. 즉:
S810: 상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해, 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행한다.
S820: 후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택한다.
S830: 상기 보완 시야각에 따라, 상기 대상 객체의 보완 2차원 이미지를 획득한다.
S840: 상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행한다.
S850: 상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합한다. 상기 단계는 단계 S110 내지 S150와 유사하므로, 여기서는 설명을 생략한다.
S860: 상기 3차원 재구성 결과에서 가시적 복셀의 비율이 제2 비율보다 큰지 여부를 판단한다.
3차원 재구성 결과에서 가시적 복셀의 비율은, 제1 시야각에서 가시적 복셀 중에서 보완 시야각에서 3차원 재구성 결과의 가시적 복셀이 차지하는 비율을 가리킨다. 예를 들어, 보완 시야각에서 3차원 재구성 결과의 가시적 복셀이 총 m개 있는 경우, 동시에 이들 복셀 중에서 제1 시야각에서 가시적 복셀의 수가 M개이면, 가시적 복셀의 비율은 M /m 이다. 가시적 복셀의 비율은 3차원 재구성 결과의 신뢰도를 반영할 수 있다. 제2 비율은 70% 내지 90% 사이의 임의의 값일 수 있다. 일 예에서, 상기 제2 비율은 85%이다. 이 값은 컴퓨팅 자원의 소비와 계산 결과의 정확도를 동시에 고려한 값이다.
제2 비율보다 작은 경우, 상기 3차원 재구성 결과를 원시 3차원 객체로 사용하고, 단계 S820로 넘어간다. 따라서, 다시 새로운 보완 시야각을 기반으로 새로운 보완 2차원 이미지를 획득하여 3차원 재구성을 수행한다. 가시적 복셀의 비율이 제2 비율보다 작으면, 기존의 3차원 재구성 결과가 실제 대상 객체와 일정한 차이가 있다는 것을 의미하므로, 다시 새로운 보완 시야각의 카메라 포즈를 기반으로 3차원 재구성을 수행하는 것이 필요하다.
상기 제2 비율보다 큰 경우, 단계 S870를 수행한다.
S870: 상기 3차원 재구성 결과를 최종 결과로 사용한다. 3차원 재구성 방법이 종료된다.
가시적 복셀의 비율이 제2 비율보다 크면, 현재 시야각에서 생성된 3차원 객체가 실제 3차원 객체와 매우 가깝다는 것을 의미하므로, 3차원 재구성 결과를 최종 결과로 사용한다.
상기 단계를 통해, 제한된 횟수의 반복을 거쳐 얻은 3차원 재구성 결과가 예상 결과와 일치하도록 보장할 수 있고, 재구성 3차원 객체의 품질을 추가로 보장한다.
본 발명의 다른 측면은 3차원 재구성 장치를 제공한다. 도 9는 본 발명의 일 실시예에 따른 3차원 재구성 장치의 개략적인 블록도이다.
도 9에 도시된 바와 같이, 상기 장치(900)는 제1 재구성 모듈(910), 보완 시야각 모듈(920), 보완 이미지 모듈(930), 제2 재구성 모듈(940) 및 융합 모듈(950)을 포함한다.
상기 각 모듈은 상기 3차원 재구성 방법의 각 단계/기능을 각각 수행한다. 이하에서는 상기 장치(900)의 각 구성요소의 주요한 기능에 대해서만 설명하고, 이미 설명된 세부 사항은 생략한다.
제1 재구성 모듈(910)은 상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행한다.
보완 시야각 모듈(920)은 후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택한다.
보완 이미지 모듈(930)은 상기 보완 시야각에 따라, 상기 대상 객체의 보완 2차원 이미지를 획득한다.
제2 재구성 모듈(940)은 상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행한다.
융합 모듈(950)은 상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합한다.
본 발명의 또 다른 측면은 3차원 재구성 시스템을 제공하며, 상기 시스템은 프로세서, 및 컴퓨터 프로그램 명령이 저장된 메모리를 포함하고, 상기 컴퓨터 프로그램 명령이 상기 프로세서에 의해 실행됨으로써, 상기 3차원 재구성 방법이 수행된다.
도 10은 본 발명의 실시예에 따른 3차원 재구성 시스템(1000)의 개략적인 블록도이다. 도 10에 도시된 바와 같이, 시스템(1000)은 입력 장치(1010), 저장 장치(1020), 프로세서(1030) 및 출력 장치(1040)를 포함한다.
상기 입력 장치(1010)는 사용자에 의해 입력된 조작 명령을 수신하고 데이터를 수집하기 위해 사용된다. 입력 장치(1010)는 키보드, 마우스, 마이크로폰, 터치 스크린 및 이미지 캡처 장치 중 하나 이상을 포함할 수 있다.
상기 저장 장치(1020)에는 본 발명의 일 실시예에 따른 3차원 재구성 방법의 해당 단계를 수행하기 위한 컴퓨터 프로그램 명령이 저장된다.
상기 프로세서(1030)는 저장 장치(1020)에 저장된 컴퓨터 프로그램 명령을 실행하여 본 발명의 실시예에 따른 3차원 재구성 방법의 대응하는 단계를 실행하고, 본 발명의 실시예의 3차원 재구성 장치의 제1 재구성 모듈(910), 보완 시야각 모듈(920), 보완 이미지 모듈(930), 제2 재구성 모듈(940) 및 융합 모듈(950)의 기능을 구현한다.
상기 출력 장치(1040)는 다양한 정보(예를 들어, 영상 및/또는 사운드)를 외부(예를 들어, 사용자)로 출력할 수 있고, 디스플레이, 스피커 등 중 하나 이상을 포함할 수 있다.
일 실시예에서, 컴퓨터 프로그램 명령이 상기 프로세서(1030)에 의해 실행됨으로써, 상기 시스템(1000)은 다음 단계, 즉:
상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해, 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행하는 단계;
후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택하는 단계;
상기 대상 객체의 상기 보완 2차원 이미지를 획득하는 단계;
상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행하는 단계; 및,
상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합하는 단계;를 수행할 수 있다.
또한, 본 발명의 다른 측면은 저장 매체를 제공하며, 상기 저장 매체에는 프로그램 명령이 저장되고, 상기 프로그램 명령이 컴퓨터 또는 프로세서에 의해 실행됨으로써, 상기 컴퓨터 또는 프로세서에 의해 본 발명의 실시예의 3차원 재구성 방법의 해당 단계가 수행되고, 본 발명의 실시예의 3차원 재구성 장치의 해당 모듈 또는 상기 3차원 재구성 시스템의 해당 모듈이 구현된다. 상기 저장 매체는 예를 들어 스마트폰의 메모리 카드, 태블릿 컴퓨터의 저장 구성요소, 개인용 컴퓨터의 하드 디스크, 읽기 전용 메모리(ROM), 지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM), 휴대용 컴팩트 디스크 읽기 전용 메모리(CD-ROM), USB 메모리 또는 상기 저장 매체의 임의의 조합을 포함할 수 있다. 상기 컴퓨터 판독 가능 저장 매체는 하나 이상의 컴퓨터 판독 가능 저장 매체의 임의의 조합일 수 있다.
일 실시예에서, 상기 컴퓨터 프로그램 명령이 컴퓨터 또는 프로세서에 의해 실행됨으로써, 상기 컴퓨터 또는 프로세서는 다음 단계, 즉:
상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해, 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행하는 단계;
후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택하는 단계;
상기 대상 객체의 상기 보완 2차원 이미지를 획득하는 단계;
상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행하는 단계; 및,
상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합하는 단계;를 구현할 수 있다.
당업자는 도 1 내지 도 8을 참조하여 상기 3차원 재구성 방법에 대한 관련 설명을 통해, 상기 3차원 재구성 장치, 시스템 및 저장 매체의 구체적인 구현을 이해할 수 있을 것이다. 간결함을 위해, 여기서는 설명을 생략한다.
상기 3차원 재구성 방법에 따르면, 원시 3차원 객체의 재구성 품질에 따라 보완 시야각을 결정하고, 보완 시야각에서 보완 2차원 이미지를 이용하여 3차원 재구성을 수행함으로써, 보다 적은 2차원 이미지를 사용하여 고품질의 재구성 3차원 객체를 얻을 수 있다.
상기와 같이 첨부도면을 참조하여 본 발명의 실시예를 설명하였지만, 설명된 상기 실시예는 예시에 불과하며, 본 발명의 범위는 이에 제한되지 않는다. 본 발명의 범위 및 사상을 벗어나지 않고 당업자에 의해 다양한 변경 및 수정이 이루어질 수 있다. 이러한 모든 변경 및 수정은 첨부된 청구범위에 청구된 본 발명의 범위 내에 포함되도록 의도된다.
당업자는 본 명세서의 실시예에서 설명된 다양한 예의 유닛 및 알고리즘 단계를 결부하여, 전자 하드웨어 또는 컴퓨터 소프트웨어와 전자 하드웨어의 조합을 통해 본 발명을 구현할 수 있다는 것을 쉽게 인식할 수 있다. 이러한 기능을 하드웨어 방식으로 수행할 것인지, 아니면 소프트웨어 방식으로 수행할 것인지는 기술적 해결책의 특정된 적용과 설계의 제약 조건에 의해 결정된다. 전문 기술자는 각 특정 적용에 대해, 설명된 기능을 구현하기 위해 서로 다른 방법을 사용할 수 있지만, 이러한 구현을 본 발명의 실시예의 범위를 벗어나는 것으로 간주해서는 안된다.
본 발명에 의해 제공된 여러 실시예에 개시된 장치와 방법은 다른 방식을 통해서도 구현될 수 있다. 예를 들어, 상기에서 설명된 장치 실시예는 예시적인 것이고, 또 예를 들어, 상기 유닛의 구분은 단지 로직 기능의 구분이며, 실제 구현 시에는 다른 방식으로도 구분될 수 있으며, 또 예를 들어, 복수의 유닛 또는 어셈블리는 조합될 수도 있고 다른 장치와 통합될 수도 있으며, 일부 특징은 무시하거나 또는 수행하지 않을 수 있다.
본 발명의 명세서에는 대량의 세부 사항이 포함된다. 다만, 본 발명의 실시예는 이러한 세부 사항이 없이도 실시될 수 있다. 일부 예에서, 본 명세서에 대한 이해를 모호하게 하지 않기 위해, 잘 알려진 방법, 구조 및 기술에 대한 상세한 설명을 생략한다.
유사하게, 본 발명을 단순화하고 본 발명의 다양한 측면에 대한 이해를 돕기 위해, 본 발명의 예시적인 실시예의 설명에서 본 발명의 실시예의 각 특징은 단일 실시예, 도면 또는 그 설명에 간혹 그룹화될 수 있다. 그러나, 본 발명의 이러한 방법은 청구된 발명이 각 청구범위에 명시적으로 인용된 것보다 더 많은 특징을 요구한다는 의도를 반영하는 것으로 해석되어서는 안된다. 더 정확히 말하면, 해당 청구범위에 반영된 것처럼, 그 발명 포인트는 개시된 단일 실시예의 모든 특징보다 적은 특징으로 해당 기술적 문제를 해결할 수 있다는 점이다. 따라서, 구체적인 구현 방식에 따른 청구범위는 이를 통해 그 구체적인 구현 방식에 명시적으로 통합되며, 각 청구항 자체도 본 발명의 별도의 실시예로 이루어진다.
당업자는 특징 간의 상호 배타적인 부분을 제외하고는, 본 명세서(첨부된 청구사항, 요약 및 첨부도면 포함)의 모든 특징과 이와 같이 개시된 모든 방법 또는 장치의 모든 프로세스 또는 유닛은 조합될 수 있다는 것을 이해할 수 있을 것이다. 달리 명시되지 않은 한, 본 명세서(청구범위, 요약 및 첨부도면 포함)에 명시된 각 특징은 제공되는 동일하거나 동등하거나 유사한 목적의 대체적인 특징에 의해 대체될 수 있다.
또한, 당업자는 본 명세서에 기재된 일부 실시예가 다른 실시예에 포함된 특정 특징을 포함하지만 다른 특징인 것이 아니며, 상이한 실시예의 특징의 조합은 이들이 본 발명의 범위에 속하고 상이한 실시예를 구성한다는 것을 이해할 수 있을 것이다. 예를 들어, 청구범위에서 청구된 모든 실시예는 임의로 조합하여 사용될 수 있다.
본 발명의 각 구성요소의 실시예는 하드웨어 또는 하나 이상의 프로세서에서 실행되는 소프트웨어 모듈 또는 이들의 조합에 의해 구현될 수 있다. 당업자는 실제 사용에서 마이크로 프로세서 또는 디지털 신호 프로세서(DSP)를 사용하여 발명의 실시예에 따른 3차원 재구성 장치의 일부 모듈 컴포넌트의 일부 또는 전부 기능을 구현할 수 있다는 것을 이해할 수 있을 것이다. 본 발명은 또한 본 명세서에 설명된 방법의 일부 또는 전부를 수행하기 위한 장치 프로그램(예를 들어, 컴퓨터 프로그램 및 컴퓨터 프로그램 제품)으로서 구현될 수 있다. 본 발명을 구현하기 위한 이러한 프로그램은 컴퓨터 판독 가능 매체에 저장되거나 하나 이상의 신호 형태를 가질 수 있다. 이러한 신호는 인터넷 웹 사이트에서 다운하거나 반송파 신호 또는 다른 형태로 제공될 수 있다.
전술한 실시예는 본 발명을 제한하는 것이 아니라 본 발명을 설명하기 위한 것이며, 당업자는 청구범위를 벗어나지 않는 전제 하에 대안적인 실시예를 구상할 수 있다. 청구범위에서 괄호 안에 부호가 청구범위에 대한 제한으로 구성되어서는 안된다. “포함”이라는 단어는 청구범위에 나열되지 않은 요소 또는 단계의 존재를 배제하지 않는다. 요소 앞에 있는 “일” 또는 “하나”라는 단어는 다수의 요소가 존재하는 경우를 배제하지 않는다. 본 발명은 다수의 다른 요소를 포함하는 하드웨어 및 적절하게 프로그래밍된 컴퓨터를 통해 구현될 수 있다. 복수의 장치를 열거한 청구항에서, 이러한 복수의 장치는 동일한 하드웨어에 의해 구현될 수 있다. 제1, 제2 및 제3과 같은 단어는 그 어떠한 순서도 나타내지 않는다. 이러한 단어들은 명칭으로 해석될 수 있다.
상술한 내용은 본 발명의 구체적인 실시예에 불과한 것으로서, 본 발명의 보호범위는 이에 한정되는 것이 아니며, 당업자는 본 발명에 개시된 기술 범위에서 본 발명에 대해 다양한 등가의 수정 또는 대체가 가능하고, 이러한 수정 또는 대체는 모두 본 발명의 보호 범위에 포함된다. 본 발명의 보호 범위는 특허청구범위를 기준으로 해야 한다.

Claims (12)

  1. 3차원 재구성 방법에 있어서,
    상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해, 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행하는 단계;
    후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택하는 단계;
    상기 보완 시야각에 따라, 상기 대상 객체의 보완 2차원 이미지를 획득하는 단계;
    상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행하는 단계; 및,
    상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합하는 단계;를 포함하는 것을 특징으로 하는 3차원 재구성 방법.
  2. 제1항에 있어서,
    상기 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행하는 단계는,
    상기 원시 2차원 이미지에서 원시 이미지 특징을 추출하는 단계;
    상기 대상 객체의 복셀 큐브를 획득하기 위해, 복셀 신경망을 통해 상기 원시 이미지 특징을 디코딩하는 단계;
    상기 복셀 큐브를 기반으로 상기 원시 3차원 객체를 결정하는 단계;를 포함하는 것을 특징으로 하는 3차원 재구성 방법.
  3. 제1항에 있어서,
    상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택하는 단계는,
    복수의 후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 결정하기 위해, 상기 원시 3차원 객체에 대해 회귀 분석을 수행하는 단계;
    가장 최악의 품질의 재구성 품질에 대응하는 후보 시야각을 상기 보완 시야각으로 결정하는 단계;를 포함하는 것을 특징으로 하는 3차원 재구성 방법.
  4. 제3항에 있어서,
    상기 원시 3차원 객체에 대한 회귀 분석은 제1 신경망을 이용하여 구현되고, 상기 제1 신경망은 다음 단계의 훈련, 즉:
    실제 훈련 객체의 훈련 3차원 객체를 획득하는 단계;
    상기 훈련 객체의 훈련 2차원 이미지를 획득하는 단계;
    훈련 재구성 객체를 생성하기 위해, 상기 훈련 객체의 훈련 2차원 이미지를 기반으로 3차원 재구성을 수행하는 단계;
    제1 투영 깊이 맵을 획득하기 위해, 미리 설정된 훈련 시야각을 기반으로 상기 훈련 재구성 객체를 투영하는 단계;
    제2 투영 깊이 맵을 획득하기 위해, 상기 훈련 시야각을 기반으로 상기 훈련 3차원 객체를 투영하는 단계;
    상기 제2 투영 깊이 맵에 대한 상기 제1 투영 깊이 맵의 차이 정도를 계산하는 단계;
    상기 훈련 재구성 객체를 입력 데이터로 사용하고 상기 차이 정도를 진리값 데이터로 사용하여 상기 제1 신경망을 훈련시키는 단계;의 훈련을 통해 얻어지는 것을 특징으로 하는 3차원 재구성 방법.
  5. 제4항에 있어서,
    상기 제2 투영 깊이 맵에 대한 제1 투영 깊이 맵의 차이 정도를 계산하는 단계는,
    상기 제1 투영 깊이 맵 중의 상기 훈련 시야각에서 상기 훈련 재구성 객체의 각 가시적 복셀의 제1 깊이 값을 획득하는 단계;
    각 제1 깊이 값에 대해, 상기 제2 투영 깊이 맵 중의 상기 훈련 3차원 객체의 대응하는 복셀의 제2 깊이 값을 획득하는 단계;
    상기 제2 깊이 값과 상기 제1 깊이 값 사이의 깊이 차이와 상기 제2 깊이 값 사이의 비율을 계산하는 단계;
    상기 제1 투영 깊이 맵 중의 상기 훈련 시야각에서 상기 훈련 재구성 객체의 모든 가시적 복셀에 대응하는 비율을 평균화하여 상기 차이 정도로 사용하는 단계;를 포함하는 것을 특징으로 하는 3차원 재구성 방법.
  6. 제4항에 있어서,
    상기 제1 신경망을 훈련시키는 단계는,
    상기 입력 데이터를 기반으로 상기 제1 신경망에 대응하는 출력 데이터를 획득하는 단계;
    상기 출력 데이터와 상기 진리값 데이터에 따라 상기 제1 신경망의 손실 함수를 계산하는 단계;
    상기 손실 함수를 기반으로 상기 제1 신경망의 매개변수를 업데이트하는 단계;를 포함하는 것을 특징으로 하는 3차원 재구성 방법.
  7. 제1항에 있어서,
    상기 보완 시야각에 따라 상기 대상 객체의 보완 2차원 이미지를 획득하는 단계는,
    데이터베이스에서 상기 보완 시야각과 가장 가까운 시야각에 대응하는 2차원 이미지를 선택하여 상기 보완 2차원 이미지로 사용하는 단계; 또는,
    상기 보완 시야각의 카메라 포즈를 기반으로 카메라를 조정하고, 상기 카메라로 상기 보완 2차원 이미지를 수집하는 단계;를 포함하는 것을 특징으로 하는 3차원 재구성 방법.
  8. 제7항에 있어서,
    상기 데이터베이스에서 상기 보완 시야각과 가장 가까운 시야각에 대응하는 2차원 이미지를 선택하는 단계는,
    2차원 이미지에 대응하는 시야각의 카메라 포즈를 식별하기 위한 상기 데이터베이스에 저장된 2차원 이미지의 포즈 식별자를 획득하는 단계;
    상기 포즈 식별자에 따라, 상기 2차원 이미지에 대응하는 시야각의 카메라 포즈와 상기 보완 시야각의 카메라 포즈 사이의 포즈 차이를 결정하는 단계;
    포즈 차이가 최소값을 얻는 경우, 대응하는 2차원 이미지를 상기 보완 2차원 이미지로 결정하는 단계;를 포함하는 것을 특징으로 하는 3차원 재구성 방법.
  9. 제1항에 있어서,
    상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합하는 단계 후에, 상기 3차원 재구성 방법은,
    상기 3차원 재구성 결과에서 가시적 복셀의 비율이 제1 비율보다 큰지 여부를 판단하는 단계;
    제1 비율보다 작은 경우, 상기 3차원 재구성 결과를 상기 원시 3차원 객체로 사용하고, 상기 3차원 재구성 결과에서 가시적 복셀의 비율이 상기 제1 비율보다 클 때까지 보완 시야각을 기반으로 3차원 재구성을 다시 수행하는 단계;를 더 포함하는 것을 특징으로 하는 3차원 재구성 방법.
  10. 3차원 재구성 장치로서,
    상기 원시 2차원 이미지에 대응하는 원시 3차원 객체를 생성하기 위해, 대상 객체의 원시 2차원 이미지에 대해 3차원 재구성을 수행하기 위한 제1 재구성 모듈;
    후보 시야각에서 상기 원시 3차원 객체의 재구성 품질을 기반으로, 상기 후보 시야각에서 상기 대상 객체의 보완 시야각을 선택하기 위한 보완 시야각 모듈;
    상기 보완 시야각에 따라, 상기 대상 객체의 보완 2차원 이미지를 획득하기 위한 보완 이미지 모듈;
    상기 보완 2차원 이미지에 대응하는 보완 3차원 객체를 생성하기 위해, 상기 보완 2차원 이미지에 대해 3차원 재구성을 수행하기 위한 제2 재구성 모듈; 및,
    상기 대상 객체의 3차원 재구성 결과를 획득하기 위해, 상기 원시 3차원 객체와 상기 보완 3차원 객체를 융합하는 융합 모듈;을 포함하는 것을 특징으로 하는 3차원 재구성 장치.
  11. 프로세서, 및 컴퓨터 프로그램 명령이 저장된 메모리를 포함하는 3차원 재구성 시스템에 있어서,
    상기 컴퓨터 프로그램 명령이 상기 프로세서에 의해 실행됨으로써, 제1항 내지 제9항 중 어느 한 항의 3차원 재구성 방법이 수행되는 것을 특징으로 하는 3차원 재구성 시스템.
  12. 프로그램 명령이 저장되는 저장 매체로서,
    상기 프로그램 명령이 실행됨으로써, 제1항 내지 제9항 중 어느 한 항의 3차원 재구성 방법이 수행되는 것을 특징으로 하는 저장 매체.
KR1020227023684A 2019-12-20 2019-12-20 3차원 재구성 방법, 장치, 시스템 및 컴퓨터 판독 가능한 저장 매체 KR102506701B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/127020 WO2021120175A1 (zh) 2019-12-20 2019-12-20 三维重建方法、装置、系统和存储介质

Publications (2)

Publication Number Publication Date
KR20220113774A true KR20220113774A (ko) 2022-08-16
KR102506701B1 KR102506701B1 (ko) 2023-03-06

Family

ID=70507756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227023684A KR102506701B1 (ko) 2019-12-20 2019-12-20 3차원 재구성 방법, 장치, 시스템 및 컴퓨터 판독 가능한 저장 매체

Country Status (6)

Country Link
US (1) US20230040550A1 (ko)
EP (1) EP4075389A4 (ko)
JP (1) JP7245574B2 (ko)
KR (1) KR102506701B1 (ko)
CN (1) CN111133477B (ko)
WO (1) WO2021120175A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023044605A1 (zh) * 2021-09-22 2023-03-30 深圳先进技术研究院 极端环境下脑结构的三维重建方法、装置及可读存储介质
CN114119839B (zh) * 2022-01-24 2022-07-01 阿里巴巴(中国)有限公司 三维模型重建与图像生成方法、设备以及存储介质
CN115063485B (zh) * 2022-08-19 2022-11-29 深圳市其域创新科技有限公司 三维重建方法、装置及计算机可读存储介质
CN116206077B (zh) * 2023-03-24 2024-05-17 清华大学 基于非全局重复建模的三维重构模型局部优化方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170007098A (ko) * 2015-07-08 2017-01-18 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
KR20180062959A (ko) * 2016-12-01 2018-06-11 톰슨 라이센싱 모바일 디바이스의 환경의 3d 재구성을 위한 방법, 대응하는 컴퓨터 프로그램 제품 및 디바이스
KR20210128203A (ko) * 2020-04-16 2021-10-26 주식회사 케이티 볼륨메트릭 3d 동영상 제공 시스템 및 방법
KR20220024517A (ko) * 2019-06-17 2022-03-03 아리엘 에이아이, 인크. 2차원 이미지들로부터의 3차원의 장면 재구성

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0126526D0 (en) * 2001-11-05 2002-01-02 Canon Europa Nv Three-dimensional computer modelling
JP4229398B2 (ja) 2003-03-28 2009-02-25 財団法人北九州産業学術推進機構 3次元モデリング・プログラム、3次元モデリング制御プログラム、3次元モデリング・データ伝送プログラム、記録媒体および3次元モデリング方法
US8737721B2 (en) * 2008-05-07 2014-05-27 Microsoft Corporation Procedural authoring
JP2011043879A (ja) 2009-08-19 2011-03-03 Kddi Corp マスク画像を抽出する方法及びプログラム並びにボクセルデータを構築する方法及びプログラム
US11282287B2 (en) * 2012-02-24 2022-03-22 Matterport, Inc. Employing three-dimensional (3D) data predicted from two-dimensional (2D) images using neural networks for 3D modeling applications and other applications
US20150178988A1 (en) * 2012-05-22 2015-06-25 Telefonica, S.A. Method and a system for generating a realistic 3d reconstruction model for an object or being
EP2946365B1 (en) * 2013-01-21 2018-08-08 Vricon Systems Aktiebolag Method and arrangement for developing a three dimensional model of an environment
EP3005290A1 (en) * 2013-05-31 2016-04-13 Longsand Limited Three-dimensional object modeling
JP6901885B2 (ja) 2017-03-24 2021-07-14 Kddi株式会社 前景抽出装置及びプログラム
US10523921B2 (en) * 2018-04-06 2019-12-31 Zspace, Inc. Replacing 2D images with 3D images
CN108898630B (zh) * 2018-06-27 2020-12-15 清华-伯克利深圳学院筹备办公室 一种三维重建方法、装置、设备和存储介质
CN109801374B (zh) * 2019-01-14 2023-02-24 盾钰(上海)互联网科技有限公司 一种通过多角度图像集重构三维模型的方法、介质及系统
CN110288712B (zh) * 2019-03-30 2023-05-12 天津大学 室内场景的稀疏多视角三维重建方法
CN110047144A (zh) * 2019-04-01 2019-07-23 西安电子科技大学 一种基于Kinectv2的完整物体实时三维重建方法
CN110490917A (zh) * 2019-08-12 2019-11-22 北京影谱科技股份有限公司 三维重建方法及装置
CN110570522B (zh) * 2019-08-22 2023-04-07 天津大学 一种多视图三维重建方法
US11238650B2 (en) * 2020-03-13 2022-02-01 Nvidia Corporation Self-supervised single-view 3D reconstruction via semantic consistency
US11393158B2 (en) * 2020-04-02 2022-07-19 Adobe Inc. Utilizing voxel feature transformations for deep novel view synthesis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170007098A (ko) * 2015-07-08 2017-01-18 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
KR20180062959A (ko) * 2016-12-01 2018-06-11 톰슨 라이센싱 모바일 디바이스의 환경의 3d 재구성을 위한 방법, 대응하는 컴퓨터 프로그램 제품 및 디바이스
KR20220024517A (ko) * 2019-06-17 2022-03-03 아리엘 에이아이, 인크. 2차원 이미지들로부터의 3차원의 장면 재구성
KR20210128203A (ko) * 2020-04-16 2021-10-26 주식회사 케이티 볼륨메트릭 3d 동영상 제공 시스템 및 방법

Also Published As

Publication number Publication date
US20230040550A1 (en) 2023-02-09
CN111133477B (zh) 2023-06-23
EP4075389A4 (en) 2023-02-15
WO2021120175A1 (zh) 2021-06-24
JP7245574B2 (ja) 2023-03-24
JP2022550639A (ja) 2022-12-02
EP4075389A1 (en) 2022-10-19
CN111133477A (zh) 2020-05-08
KR102506701B1 (ko) 2023-03-06

Similar Documents

Publication Publication Date Title
KR102506701B1 (ko) 3차원 재구성 방법, 장치, 시스템 및 컴퓨터 판독 가능한 저장 매체
CN107680124B (zh) 提高三维姿态评分和消除三维图像数据杂点的系统及方法
CN110136156B (zh) 一种多边形区域检测方法及装置
US20120013617A1 (en) Method for global parameterization and quad meshing on point cloud
CN110998671B (zh) 三维重建方法、装置、系统和存储介质
US10380796B2 (en) Methods and systems for 3D contour recognition and 3D mesh generation
JP2008269572A (ja) レンジ画像から物体の姿勢を求める方法及びシステム
US10297079B2 (en) Systems and methods for providing a combined visualizable representation for evaluating a target object
US11276202B2 (en) Moving image generation apparatus, moving image generation method, and non-transitory recording medium
JP2019114103A (ja) 物体認識処理装置、物体認識処理方法及びプログラム
KR20220008466A (ko) 3차원 점군 데이터의 메쉬 생성 방법 및 장치
US20230281927A1 (en) Three-dimensional point cloud densification device, three-dimensional point cloud densification method, and recording medium
CN111382618A (zh) 一种人脸图像的光照检测方法、装置、设备和存储介质
JP2018063693A (ja) 画像処理装置、画像処理方法およびプログラム
Verykokou et al. A Comparative analysis of different software packages for 3D Modelling of complex geometries
JP2020052978A (ja) 三次元形状作成装置、三次元形状作成方法および三次元形状作成プログラム
JP2016114445A (ja) 3次元位置算出装置およびそのプログラム、ならびに、cg合成装置
JP2020144686A (ja) モデル作成システム、モデル作成方法
CN114708382A (zh) 基于增强现实的三维建模方法、装置、存储介质、设备
Wahbeh et al. Toward the Interactive 3D Modelling Applied to Ponte Rotto in Rome
Masson et al. Comparison of algorithms for 3d reconstruction
JP2017199285A (ja) 情報処理装置、情報処理方法、プログラム
JP2010237941A (ja) マスク画像生成装置、3次元物体モデル情報生成装置及びプログラム
KR20190077161A (ko) 실감형 가상 콘텐츠 생성 및 제공 시스템
US11100721B1 (en) Integrating 2D images into a display of a 3D reality mesh to recover lost context

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant