KR20170071411A - 볼륨 최근접 거리 접근법을 이용한 3차원 모델 생성 방법 및 장치 - Google Patents

볼륨 최근접 거리 접근법을 이용한 3차원 모델 생성 방법 및 장치 Download PDF

Info

Publication number
KR20170071411A
KR20170071411A KR1020160151303A KR20160151303A KR20170071411A KR 20170071411 A KR20170071411 A KR 20170071411A KR 1020160151303 A KR1020160151303 A KR 1020160151303A KR 20160151303 A KR20160151303 A KR 20160151303A KR 20170071411 A KR20170071411 A KR 20170071411A
Authority
KR
South Korea
Prior art keywords
depth
tsdf
dimensional
depth image
dimensional coordinates
Prior art date
Application number
KR1020160151303A
Other languages
English (en)
Inventor
프랭크 브릴
조지 큐 천
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP16875926.4A priority Critical patent/EP3385917A4/en
Priority to PCT/KR2016/013280 priority patent/WO2017104984A1/ko
Publication of KR20170071411A publication Critical patent/KR20170071411A/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
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/20Linear translation of whole images or parts thereof, e.g. panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00795Reading arrangements
    • H04N1/00827Arrangements for reading an image from an unusual original, e.g. 3-dimensional objects
    • 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/10024Color image
    • 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/10028Range image; Depth image; 3D point clouds
    • 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/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Abstract

3차원 스캐닝 방법은 깊이 센서(depth sensor)가 객체에 대하여 회전하면서, 복 수개의 깊이 이미지를 생성하는 단계를 포함할 수 있다. 3차원 스캐닝 방법은, 각각의 깊이 이미지마다: 트룬케이티드 부호화 거리함수(Truncated Signed Distance Function: TSDF) 볼륨 데이터에 기초하여, 각각의 깊이 이미지에 대응되는 로테이션(Rotaion: R)과 트랜스레이션(Translation: T)을 추정하는 단계; 및 추정된 R과 T에 기초하여, TSDF 볼륨에 각각의 깊이 이미지를 축적적으로 융합(fusing)하는 단계;를 더 포함할 수 있다.

Description

볼륨 최근접 거리 접근법을 이용한 3차원 모델 생성 방법 및 장치 {Method and apparatus for generating 3-Dimensional model using volumetric closest point approach}
본 개시는 일반적으로 볼륨 접근법(volumetric approach)을 이용한 3차원 스캐닝에 관한 것으로서, 보다 구체적으로, 볼륨 최근접 거리 접근법(volumetric closest point approach)을 이용하여 3차원 모델을 생성하는 방법 및 장치에 관한 것이다. 활용 가능한 분야에는, '객체의 3차원 스캐닝' 그리고 '건물이나 지형의 자동 맵핑' 분야가 있다.
3차원 스캐닝은 3차원 가상현실, 로봇공학 또는 3차원 프린터 등의 분야에서 큰 주목을 받고 있다. 다양한, 3차원 스캐닝 방법 가운데, 깊이 카메라(depth camera)를 통해 얻어진 거리정보를 이용하는 기술이 우수한 성능을 보이며 3차원 스캐너에 널리 사용된다.
본 개시는 복수 개의 깊이 카메라(depth-camera) 이미지로부터 정보를 조합하여 객체나 배경을 온전히 표현하는 새롭고 효율적인 방법을 제공한다.
일 실시예에 따라, 3차원 스캐닝 방법이 제공된다. 3차원 스캐닝 방법은 깊이 센서(depth sensor)와 객체 중 어느 하나가 센서(depth sensor)와 객체 중 다른 하나에 대해 회전하면서, 복 수개의 깊이 이미지를 생성하는 단계를 포함할 수 있다. 3차원 스캐닝 방법은, 각각의 깊이 이미지마다: 트룬케이티드 부호화 거리함수(Truncated Signed Distance Function: TSDF) 볼륨 데이터에 기초하여, 각각의 깊이 이미지에 대응되는 로테이션(Rotaion: R)과 트랜스레이션(Translation: T)을 추정하는 단계; 및 추정된 R과 T에 기초하여, TSDF 볼륨에 각각의 깊이 이미지를 축적적으로 융합(fusing)하는 단계;를 더 포함할 수 있다.
일 실시예에 따라, 3차원 스캐닝을 수행하는 장치가 제공된다. 3차원 스캐닝을 수행하는 장치는 깊이 센서를 포함할 수 있다. 이 깊이 센서는, 3차원 스캐닝을 수행하는 장치와 객체 중 어느 하나가 3차원 스캐닝을 수행하는 장치와 객체 중 다른 하나에 대하여 회전할 때 복수 개의 깊이 이미지를 생성하도록 구성될 수 있다.
3차원 스캐닝을 수행하는 장치는 프로세서를 더 포함할 수 있다. 프로세서는 각각의 깊이 이미지마다: TSDF 볼륨 데이터에 기초하여, 각각의 깊이 이미지에 대응되는 R과 T를 추정하며; 추정된 R과 T에 기초하여 TSDF볼륨에 각각의 깊이 이미지를 축적적으로 융합하도록; 구성될 수 있다.
비일시성(Non-Transitory)의 컴퓨터로 판독 가능한 기록매체(computer readable medium )는 프로그램 코드로 이루어지며, 이 프로그램 코드가 적어도 하나의 프로세서에 의해 실행됨에 따라, 깊이 센서와 객체 중 어느 하나가 깊이 센서와 객체 중 다른 하나에 대하여 회전할 때, 적어도 하나의 프로세서가 복수 개의 깊이 이미지를 생성하고, 각각의 깊이 이미지에 대하여, TSDF 볼륨 데이터에 기초하여, 각각의 깊이 이미지에 대응되는 R과 T를 추정하며, 각각의 깊이 이미지에 대하여, 추정된 R과 T에 기초하여, TSDF볼륨에 각각의 깊이 이미지를 축적적으로 융합할 수 있다.
다른 기술적 특징들은 다음과 같은 도면, 설명 및 청구항으로부터 통상의 기술자에 의해 명확하게 이해될 수 있을 것이다.
본 개시 및 이의 이점들의 보다 완벽한 이해를 위하여, 이하의 설명에 수반하는 도면들의 참조가 작성되었다. 첨부된 도면에서, 같은 참조 번호는 같은 구성을 나타낸다.
본 개시는 기존 접근법보다 더 효율적이고 강건하며(robust), 따라서, 자유로운 환경에서 작업하는 사용자의, 리소스가 제한된 모바일 디바이스에서 유용하다.
도 1은, 일 실시예에 따른, 3차원 스캐닝 시스템의 하이 레벨 블록도이다.
도 2는, 일 실시예에 따른, 인바운드(IN-BOUND) 스캐닝을 도시하는 도면이다.
도 3은, 일 실시예에 따른, 객체의 볼륨적 표현(object volumetric representation)을 도시하는 도면이다.
도 4는, 일 실시예에 따른, TSDF 볼륨의 한 슬라이스(slice)를 도시하는 도면이다.
도 5A 및 도 5B는, 일 실시예에 따른, 3D 스캐닝 동작에 대한 흐름도를 도시하는 도면이다.
도 6은, 일 실시예에 따른, TSDF를 생성하기 위한 볼륨 합성 동작(Volume Fusion operation)을 도시하는 도면이다.
도 7은, 일 실시예에 따른, 포즈 추정(pose estimation) 동작을 도시하는 도면이다.
이하의 상세한 설명을 살펴보기 전에 본 특허 문서 전체에 걸쳐 사용되는 용어 및 구절을 정의 한다. 용어 "제어부(Controller)"는 디바이스, 시스템 또는 이들의 일부를 의미하며, 이러한 디바이스는 적어도 하나의 동작을 제어하고, 이러한 디바이스는 하드웨어나 펌웨어(firmware) 또는 소프트웨어 또는 이들의 적어도 2개의 조합에 의해 구현될 수 있다. 그러나 이에 제한되지 않는다. 어떤 특정 제어부나 프로세서와 연관된 기능성(functionality)은, 가까이에 위치하든 멀리에 위치하든, 분산되거나 집중될 수 있다. 용어 "연결(couple)" 및 그 파생어들은, 상호 물리적으로 접촉되어 있는 지와 무관하게, 둘 또는 그 이상의 구성요소들간에 직/간접적 커뮤니케이션을 나타낸다. 용어 "전송(transmit)", "수신(receive), 그리고 "전달(communicate)" 및 그 파생어들은 특별한 언급이 없는 한, 직/간접적 커뮤니케이션을 포함한다. 용어 "포함(include)", "포함하여 구성(comprise)" 및 그 파생어들은 한정 없는 포함을 의미 한다. 용어 "또는"은 "및/또는"을 포함한다. 구절 '연관된(associated with)'과 그의 파생어는 '포함(include)', '~내에 포함되는(be included within)', '~와 서로 연결하는(interconnect with)', '함유하는(contain)', '~에 함유되는(be contained within)', '~와 연결하는(connect to or with)', '~에 연결하다(couple to or with)', '~로 전달될 수 있는(be communicable with)', '~와 협력하는(cooperate with)', '끼워 넣는(interleave)', '나란히 놓는(juxtapose)', '~에 인접한(be proximate to)', '~하게 되는(be bound to'), '~에 묶인(be bound with)', '소유하는(have)', '~의 속성을 가진(have a property of)', '~와 관련을 가진(have a relationship to or with)' 또는 이들과 유사한 의미를 가진다. 구절 '적어도 하나'는 항목들의 리스트와 함께 사용되어, 리스트에 포함된 하나 또는 그 이상의 항목의 서로 상이한 조합들이 이용될 수 있고, 리스트에 포함되는 단 하나의 항목이 요구될 수도 있음을 의미한다. 예를 들어, 'A, B 및 C 중 적어도 하나'는 A, B, C, A 및 B, A 및 C, B 및 C, 및 A 및 B 및 C와 같은 조합을 포함한다.
나아가, 하기에 표현된 다양한 기능들은 하나 이상의 프로그램에 의해 구현되거나 지원될 수 있으며, 각각의 프로그램은 컴퓨터로 판독 가능한 프로그램 코드로 형성되거나 컴퓨터로 판독 가능한 매체에 포함될 수 있다. 그러나 이에 제한되지 않는다. 용어 "애플리케이션(application)" 및 "프로그램은" 적합한 컴퓨터로 판독 가능한 프로그램 코드에 의해 실행되기 위해 채택된 것으로서, 예를 들어, 하나 이상의 컴퓨터 프로그램, 소프트웨어 구성요소, 일련의 지시/명령(instruction), 절차/방법, 기능, 객체, 계층, 인스턴스(instance), 관련 데이터 및 그것들의 일부를 나타낸다. 그러나 이에 제한되지 않는다. 구절 "컴퓨터로 판독 가능한 프로그램 코드(computer readable program code)"는, 예를 들어, 컴퓨터 코드로서, 소스 코드, 목적 코드(object code) 및 실행가능 코드(executable code)를 포함한다. 그러나 이에 제한되지 않는다. 구절 "컴퓨터로 판독 가능한 기록매체(computer readable medium)"는, 예를 들어, 롬(Read Only Memory: ROM), 램(Random access memory: RAM), 하드디스크 드라이브(hard disk drive), CD, DVD, 및 다른 종류의 메모리를 또는 다른 타입의 메모리로서, 컴퓨터로 접근 가능한 매체를 포함한다. 그러나 이에 제한되지 않는다. "비 일시성" 컴퓨터로 판독 가능한 기록매체(Non-transitory computer readable medium)는 일시적 전기 신호나 일시적인 다른 종류의 신호를 전달하는 유선, 무선, 광학(optical), 또는 다른 커뮤니케이션 링크를 배제한다. 그러나 이에 제한되지 않는다. 비 일시성 컴퓨터로 판독 가능한 기록매체는 데이터가 영구적으로 저장되는 매체와 저장 후 다시 쓸 수 있는(overwritten) 매체, 예를 들어, 재 기록 가능한(rewritable) 광 디스크 또는 소거할 수 있는 메모리 장치(erasable memory device)를 포함한다. 그러나 이에 제한되지 않는다.
이 특허 문서 내에서 본 개시의 원리를 설명하기 위해 사용되는, 하기 도면 1 내지 7 및 다양한 실시예는 오직 설명을 위한 것이므로, 어떤 식으로든 본 개시의 범위를 제한하는 방향으로 해석되어서는 안 된다. 통상의 기술자는, 본 개시의 원리가 적합한 3차원 스캐닝 내에서 구현될 수 있다는 것을 알 수 있을 것이다.
도 1은, 일 실시예에 따른, 3차원 스캐닝 시스템(100)의 하이 레벨 블록도이다. 도 1에 도시된 3차원 스캐닝 시스템(100)의 실시예는 설명을 위한 예시이다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
3차원 스캐닝 시스템(100)은 깊이 센서(105)를 포함한다. 깊이 센서(105)는 물리적 환경에 대한 깊이 지도(depth map)를 생성하도록 구성될 수 있다. 그러나 이에 제한되지 않는다. 깊이 센서(105)는 예를 들어 광 조사기(light illuminator)와 이미지 센서(image sensor)를 포함할 수 있다. 광 조사기는 격자 무늬(grid pattern)와 같이 주지된(known) 무늬로 이루어진 광을 장면 (scene)에 투사할 수 있다. 이미지 센서는 광원(illuminant)의 파장과 컬러를 감지할 수 있다, 또한 목표물로부터 반사된 광과 컬러를 모으는 데 이용될 수 있다. 이미지 센서는 컬러 이미지 센서를 포함할 수 있다.
깊이 센서(105)는 모바일 디바이스에 구비될 수 있다. 일 실시예에 따라, 3차원 스캐닝 시스템(100)은 모바일 기기 내에서 구현될 수 있으며, 깊이 센서(105)는 모바일 디바이스 내에 장착(built into)되거나, 또는, 모바일 디바이스에 연결(plugged into)될 수 있다. 모바일 디바이스는 "스마트 폰", 태블릿(tablet), 랩톱 컴퓨터(laptop computer) 또는, 다른 유/무선 통신이 가능한 휴대용 디바이스일 수 있다.
프로세서(140)는 메모리(130)에 로딩(loading)될 수 있는 명령을 실행할 수 있도록 구성될 수 있다.
예를 들어, 프로세서(140)는 마이크로프로세서(microprocessors), 마이크로컨트롤러(microcontroller), 디지털 시그널 프로세서(digital signal processor: DSP), 필드 프로그래밍 가능한 게이트 어레이(field programmable gate arrays: FPGA), 응용 주문형 집적 회로(application specific integrated circuits: ASIC), 및 분리 회로(discrete circuitry)일 수 있다. 프로세서(140)는 3차원 스캐닝과 같이, 메모리(130)에 있는 프로그램과 프로세스를 실행하도록 구성될 수 있다.
메모리(130)와 영구적 스토리지(persistent storage)(235)는 저장 장치(115)의 예시로서, 깊이 이미지와 같은 정보를 저장 및 검색 할 수 있는 구조를 나타낸다. 메모리(130)는 RAM(Random Access memory) 또는 다른 적합한 휘발성 또는 비 휘발성 저장 장치를 나타낼 수 있다. 영구적 스토리지(235)는 데이터를 장기 저장할 수 있는 하나 이상의 장치 또는 구성요소, 예를 들어, ROM(Read Only Memory), 하드 드라이브(hard drive), 플래시 메모리(flash memory) 또는 광디스크(optical disc.)를 포함할 수 있다.
통신 유닛(120)은 다른 시스템 또는 장치와의 통신을 지원할 수 있도록 구성될 수 있다. 예를 들어, 통신 유닛(120)은 네트워크 상에서 통신을 수행하는 NIC(network interface card) 또는 무선 트랜시버(transceiver)를 포함할 수 있다. 통신 유닛(120)은 적합한 물리적 또는 무선 통신 링크를 통해 통신을 지원하도록 구성될 수 있다.
I/O 유닛(225)은 데이터의 입력 및 출력이 가능하도록 구성될 수 있다. 예를 들어, I/O 유닛(225)은 키보드(Keyboard), 마우스(Mouse), 키패드(Keypad), 터치스크린(Touchscreen) 또는 다른 적합한 입력 디바이스를 통해 사용자에게 연결을 제공하도록 구성될 수 있다. I/O 유닛(225)은, 또한, 디스플레이, 프린터 또는 다른 적합한 출력 디바이스에 출력을 전송할 수 있도록 구성될 수 있다.
디스플레이(도시되지 않음)는 장면으로부터 캡쳐(capture)된, 3차원 데이터를 나타내는 실시간 피드백을 사용자에게 제공하도록 구성될 수 있다.
도 2는, 일 실시예에 따라, 인바운드 스캐닝(inbound scanning)(200)을 도시하는 도면이다. 도 2에 도시된 인바운드 스캐닝(200)의 실시예는 설명을 위한 예시이다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
모바일 디바이스(210)에는 깊이 센서가 장착될 수 있다. 예를 들어, 모바일 디바이스(210)는 3차원 스캐닝 시스템(100)의 일 실시예일 수 있다.
모바일 디바이스(210)가 목적물인 객체(205) 주위를 움직이는 동안, 깊이 센서는 카메라에 의해 얻어진 이미지(즉, 깊이 이미지)에 대한 깊이 지도를 생성할 수 있다. 객체의 3차원 모델은 사용자에 의해 수신되는 피드백일 수 있고, 디바이스를 통해 사용자에게 보여질 수 있다. 일 실시예에 따라, 모바일 디바이스(210)는 자체 회전을 하면서, 목적물인 객체(205)를 스캐닝 할 수 있다. 360도 회전을 완료한 후, 객체의 3차원 모델이 계산된다.
깊이 센서는, 주기적으로, 예를 들어, 매 초마다 또는 1/2초마다, N개의 깊이 이미지 프레임들(220-1, 220-2, ... , 220-n)을 기록할 수 있다.
N 개의 깊이 이미지 프레임은 현재의 프레임과 이전 프레임에서의, 깊이 센서의 x, y, 및 z축 상의 위치 또는 T, R의 차이에 기초하여 융합(fusing)될 수 있다. T는 프레임들간 거리를 나타낼 수 있고, R은 객체에 대한 각 위치(angular position)를 나타낼 수 있다.
생성된 깊이 이미지는 TSDF를 저장한 3차원 볼륨 표현(volumetric 3D representation)에 순차적으로 융합될 수 있다. 모든 깊이 지도가 융합된 후, 3차원 점 군(point cloud) 또는 메쉬(mesh)가 볼륨 데이터로부터 생성된다. 융합을 수행하기 위해, 하기에 설명하는 바와 같이, 각 프레임에 대한 카메라 포즈가 추정된다.
도 3은, 일 실시예에 따라, 객체 볼륨 표현(object volumetric representation)(300)을 도시하는 도면이다. 도 3에 도시된 객체 볼륨 표현(300)의 실시예는 설명을 위한 예시이다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
3차원 그리드(3D grid) 내부의 목적물인 객체(305)를 개념화 하기 위하여, 각 3차원 그리드는 유동 소수점 값(floating point value)을 저장하며, TSDF는 각 3차원 그리드에 저장된 유동 소수점 값이다..
TSDF 볼륨(310)은 TSDF로 채워진 3차원 그리드이다. TSDF 값은 격자의 위치와 목적물인 객체의 표면간에 거리를 나타낸다. TSDF 는 그리드 포인트(grid point)와 객체 표면의 사이딩(siding) 및 거리를 부호화 한다.
TSDF 볼륨은 모든 최신 데이터를 저장하고, 그 과정에서 노이즈가 필터링 되기 때문에, TSDF 볼륨은 어떤 입력보다 고 품질의 데이터를 저장한다.
도 4는, 일 실시예에 따라, TSDF 볼륨의 한 슬라이스(slice)(400)를 도시하는 도면이다. 도 4에 도시된 TSDF 볼륨의 한 단면에 대한 실시예는 설명을 위한 예시이다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명한 실시예에 제한되지 않는다.
TSDF 볼륨의 각각의 슬라이스는 TSDF 값으로 채워질 수 있다. 만약 TSDF 값이 양수인 경우, 그리드는 목적물인 객체의 외부에 위치한다고 볼 수 있다.
만약 TSDF 값이 음수인 경우, 그리드는 목적물인 객체의 내부에 위치할 수 있다. 예를 들어, +1은 그리드가 객체 표면으로부터 1(mm) 외부에 위치함을 나타낼 수 있고, -1mm는 그리드가 객체 표면으로부터 1(mm) 내부에 위치함을 나타낼 수 있다.
따라서, 부호 변화점(zero-crossing)으로 이루어진 선은 객체의 표면을 부호화 한다. 이는, 서브 그리드(sub-grid) 단위의 정확도를 확보하기 위해 보정될 수 있다. 요약하자면, 부호변화점은 객체 표면의 위치이다.
도 5a 및 5b는, 일 실시예에 따라, 3차원 스캐닝 동작의 흐름도(510, 520)를 도시하는 도면이다. 도 5a 및 5b에 도시된 3차원 스캐닝 동작의 실시예는 설명을 위한 예시이다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명한 실시예에 제한되지 않는다.
N 개의 깊이 이미지 프레임(511)은 깊이 센서에 의해 주기적으로 생성 될 수 있다.
N 개의 3차원 점 군(513)은 N 개의 깊이 이미지 프레임으로부터 변환되어 획득될 수 있다.
볼륨에 대한 T와 R을 포함한 깊이 센서의 포즈 추정(depth image pose) (515)은, 입력되어 들어오는 깊이 지도가 융합되기 전, 수행될 수 있다.
추정된 T와 R을 포함한 깊이 센서의 포즈에 기초하여, 각각의 변환된 깊이 이미지 프레임이 TSDF 볼륨(529)에 융합될 수 있다.
단계 521에서, 깊이 센서는 N 개의 깊이 이미지 프레임을 주기적으로 생성할 수 있다.
단계 523에서, 이 N 개의 깊이 이미지 프레임은 3차원 점 군들(3D point clouds)로 변환될 수 있다.
단계 525에서, 입력되어 들어오는 깊이 지도를 융합하기 위하여, 우선, 볼륨에 대한 T와 R을 포함한 깊이 센서의 포즈가 추정될 수 있다.
단계 527에서, 추정된 T와 R을 포함한 깊이 센서의 포즈에 기초하여, 각각의 변환된 깊이 이미지 프레임이 TSDF 볼륨(529)에 융합될 수 있다.
볼륨 융합(Volume Fusion)은 '복수개의 깊이 지도' 입력을, 전술한 볼륨 표현에 순차적으로 융합하는 절차이다.
볼륨 융합에 쓰이는 적어도 3개의 포즈 추정 기술이 있다.
반복 최근점(Iterative Closest Point: ICP) 방법.
ICP 알고리즘은 입력된 깊이 이미지로부터 얻어진 새로운 데이터 N을 기 융합된 데이터 M에 융합하기 위하여, N 내부의 각각의 포인트마다, M 내부에 가장 가까운 포인트를 검색하고, 일련의 포인트 페어(Point pairs)를 이용하여 포즈를 계산한다.
검색 속도를 높이기 위하여, M으로부터 K차원(K-Dimensional: KD) 트리(Tree)를 구성한다. 이후, N을 M에 융합한 뒤, 다음 깊이 지도를 융합하기 전, 업데이트된 M으로부터 새로운 KD 트리를 구성한다.
볼륨 그레이디언트 하강(Volumetric Gradient Descent: VGD) 방법.
이 기술은 볼륨 표현을 이용한다. 이 기술은 포즈 추정 문제를 f(P(N))을 최소화 하여 해결한다. 이 때, f는 볼륨 함수(volume function)이며 P는 계산된 포즈이다.
모션 발생으로부터 대상 구조를 획득하는 (structure-from-motion: SfM) 방법.
이 접근방법은 깊이 정보와 함께 컬러 정보를 이용할 수 있는 경우, 예를 들어 RGB-D 센서로부터 얻어질 수 있는 경우에 사용된다.
SfM은 우선 각각의 컬러 이미지마다, 특징점(feature point)을 감지한 뒤, 복수개의 이미지 전체에 걸쳐, 특징 점들 가운데 대응점(correspondence)들을 찾아내고, 마지막으로, 비선형 최적화 기술(non-linear optimization technique)을 이용하여 복 수개의 센서와 관련된 카메라 포즈들을 탐색한다.
ICP는KD 트리를 이용하여, N의 최근접점(closest point)을 찾아낸다. VGD는 볼륨 함수의 그레이디언트(gradient)에 기초하며, 최근접점을 이용하지 않는다.
본 개시의 일 실시예는 그레이디언트를 이용하여 최근접점을 찾아낸다.
본 개시의 실시예는, 예를 들어, 최근접점이 계산되는 방법적인 측면에서, ICP와 구별된다. 본 개시의 실시예는, 예를 들어, 그레이디언트가 실제로 이용되는 방법적인 측면에서, VGD와 구별된다. SfM은 컬러 이미지에서 충분한 수의 특징점을 검출하고, 이 특징점들 가운데 대응점들을 식별할 필요가 있다.
본 개시에 부합하는 깊이 센서 기반 기술에서는 이러한 필요조건들은 문제되지 않는다.
포즈 추정은 고정 소수점 계산(fixed-point math)을 이용하여 구현하기 어려운 최적화 체계(optimization framework) 안에서, 또는 추가적 데이터 구조(data structure)를 이용하여, 수행될 수 있다.
본 개시의 일 실시예는, 포즈 추정 및 깊이 지도 융합에 볼륨 데이터를 이용할 수 있다. 이는, 특별한 보조 데이터 구조(auxiliary data structure) 없이도, 고정 소수점 계산(fixed-point math)에 의해 구현될 수 있다는 이점이 있다.
도 6은, 일 실시예에 따라, TSDF 볼륨(625)을 생성하기 위한 볼륨 융합 동작(600)을 도시하는 도면이다.
도 6에 도시된 볼륨 융합 동작(600)의 실시예는 설명을 위한 것이다. 본 발명은 여러 상이한 형태로 구현될 수 있으며, 여기에서 설명한 실시예에 제한되지 않는다.
단계 605 및 610에서, 입력되는 깊이 지도가 첫 번째 깊이 지도인 경우, 단계 615에서, 첫 번째 깊이 센서 포지션(position)에 대한 포즈로서, R은 깊이 센서의 초기 각위치로 초기화 될 수 있고, T는 0으로 초기화 될 수 있다 (R=identity, T=0). 또한, 단계 620에서, TSDF를 계산하여, 단계 625에서, TSDF 볼륨에 융합될 수 있다.
단계 630에서, 2번째부터 마지막 순번의 깊이 센서 포지션에 대하여, 각각의 깊이 이미지에 대한 R과 T는 TSDF 볼륨 데이터를 이용하여 추정될 수 있다.
이후, 깊이 지도는 TSDF 볼륨(625)에 융합될 수 있다.
도 7은, 일 실시예에 따라, 포즈 추정 동작(700)을 도시한다.
도 7에 도시된 포즈 추정 동작(700)의 실시예는 설명을 위한 것이다. 본 발명은 여러 상이한 형태로 구현될 수 있으며, 여기에서 설명한 실시예에 제한되지 않는다.
포즈 추정 동작의 입력은 현재 깊이 지도(즉, 깊이 이미지)
Figure pat00001
(단계 710) 및
Figure pat00002
의 TSDF 로 채워진 TSDF 볼륨 V(단계 745)를 포함할 수 있다.
포즈 추정 동작의 출력은 n 번째 센서 포지션에 대한 포즈일 수 있고, 이는 R과 T를 포함할 수 있다(단계 715).
포즈 추정 동작은 모든 센서 포지션들, 즉, 프레임들에 대하여, 각각의 포즈를 결정하기까지 반복될 수 있다.
포즈 추정 동작의 입력에 기초하여, 포즈 추정은, 다음 표 1과 같은 알고리즘을 이용하여, TSDF 볼륨으로부터 깊이 이미지의 3차원 좌표 집합 N을 계산할 수 있다.
Figure pat00003
여기에서, A는 초점거리를 포함한 센서의 고유 행렬이며, u 및 v는 양의 정수일 수 있으나 이에 제한되지 아니한다.
표 1의 알고리즘에 따라, 하기와 같이 3차원 좌표 집합(N)을 획득하기 위한 프로세스가 수행될 수 있다.
일 실시 예에 따른 포즈 추정 동작은 현재 깊이 이미지 내의 각각의 픽셀에 대하여, 깊이 값(
Figure pat00004
)을 획득할 수 있다.
또한, 포즈 추정 동작은 깊이 이미지 내의 각각의 픽셀에 대한 깊이 값에 기초하여, 3차원 카메라 좌표계에서 각각의 픽셀에 대한 3차원 좌표(n)를 획득할 수 있다. 예를 들어, 포즈 추정은 초점거리를 포함하는 센서의 고유 행렬(A), 깊이 이미지 내의 각각의 픽셀에 대한 깊이 값(
Figure pat00005
)을 이용하여, 각각의 픽셀에 대한 2차원 좌표(u, v)로부터 3차원 카메라 좌표계(world coordinate system)에서의 3차원 좌표(n)를 획득할 수 있다.
또한, 포즈 추정은 깊이 이미지 내의 픽셀에 대한 3차원 좌표(n)로 구성된 3차원 좌표 집합(N)을 획득할 수 있다.
다음 단계는 R과 T를 초기화하는 단계일 수 있다. 2차원 추적(2D tracking) 또는 ICP와 같이 다른 초기화 방법이 가능하다면, 가능한 다른 초기화 방법에 따라 R 및 T를 초기화 한다. 다른 초기화 방법이 가능하지 않다면, R=Rn-1, T=Tn-1 로 초기화 한다(단계 705).
이후 각각의 센서 포지션에 대한 R과 T는 다음 표 2와 같은 알고리즘을 이용하여 추정된다.
Figure pat00006
Figure pat00007
는 p 위치에서 TSDF 이며,
Figure pat00008
는 동일 위치에서 TSDF그레이디언트이다. SVD는 특이값 분해이다. 계수(rank)가 k인
Figure pat00009
직사각행렬(m by n rectangular matrix) A에 대한 특이값 분해는 A를
Figure pat00010
를 만족하는 U, W, 및 V 성분으로 분해하는 것이다. U는 좌특이벡터(left singular vercor)로 구성된
Figure pat00011
직교행렬(orthogonal)이며,
Figure pat00012
를 고유값 분해(eigenvalue decomposition)에 의해 직교 대각화하여 얻는다. W는
Figure pat00013
직사각대각행렬(diagonal matrix)이며,
Figure pat00014
의 0이 아닌 고유값(
Figure pat00015
) 각각의 제곱근(
Figure pat00016
)이 주대각성분이며 나머지 모든 성분은 0이다. V는 우특이벡터(right singular vector)로 구성된
Figure pat00017
직교행렬이며,
Figure pat00018
를 고유값 분해에 의해 직교 대각화하여 얻는다. angleThreshold와 distanceThreshold는 실수이다(단계 735)
표 2의 알고리즘에 따라, 하기와 같이 각각의 센서 포지션에 대한 R 및 T를 추정하는 프로세스가 수행될 수 있다.
일 실시 예에 따른 포즈 추정 동작은, 픽셀에 대한 3차원 좌표로 구성된 집합(N)으로부터 각각의 픽셀에 대응하는 카메라 좌표계에서의 3차원 좌표(n)를 획득할 수 있다.
또한, 포즈 추정 동작은, T의 초기 추정값 및 R의 초기 추정값을 이용하여, 카메라 좌표계로부터 세계 좌표계(world coordinate system)로 좌표 변환을 통하여 각각의 픽셀에 3차원 좌표(n)에 대응하는 3차원 좌표(p)를 획득할 수 있다. 상기 언급한 바와 같이, 2차원 추적(2D tracking) 또는 ICP와 같이 다른 초기화 방법이 가능하다면, 가능한 다른 초기화 방법에 따라 R 및 T의 초기 추정값이 결정할 수 있다. 다른 초기화 방법이 가능하지 않다면, 이전 센서 포지션에 대한 R 및 T의 값으로 R 및 T를 초기 추정값이 결정될 수 있다.
포즈 추정 동작은, 3차원 좌표(p)에 대응하는 위치에서 TSDF 값과 TSDF 그레이디언트에 기초하여, 추정된 TSDF 볼륨의 표면으로부터 3차원 좌표(p)에 대응하는 위치까지의 거리가 미리 결정된 거리(B) 내인지 결정할 수 있다. 예를 들어, 3차원 좌표(p)에 대응하는 위치에서의 TSDF가 미리 결정된 거리(B)보다 작고, TSDF 그레이디언트가 0이 아닌 경우, 포즈 추정 동작은 좌표(p)에 대응하는 위치가 TSDF 볼륨의 표면으로부터 미리 결정된 거리(B) 내라고 결정할 수 있다. 예를 들어, 미리 결정된 거리(B)는 10mm일 수 있으나 이에 제한되지 아니한다.
또한, 포즈 추정 동작은 객체 표면으로부터 미리 결정된 거리(B) 내에 있는 위치에 대응하는 3차원 좌표(p)로 구성된 3차원 좌표 집합(P)를 획득할 수 있다.
포즈 추정 동작은 3차원 좌표 집합(P)를 구성하는 각각의 3차원 좌표(p)에 대응하는 위치보다 객체 표면에 더 가깝도록 보정된 위치에 대응하는 3차원 좌표(q)를 획득할 수 있다. 포즈 추정 동작은 3차원 좌표 집합(P)를 구성하는 각각의 3차원 좌표(p)에 대응하는 위치에서의 TSDF 및 TSDF 그레이디언트에 기초하여, 보정된 3차원 좌표(q)를 결정할 수 있다. 포즈 추정 동작은, 3차원 좌표 집합(P)를 구성하는 각각의 3차원 좌표(p)를 TSDF 그레이디언트 방향의 역 방향으로 TSDF 값만큼 이동하여 3차원 좌표(q)를 결정할 수 있다.
또한, 포즈 추정 동작은 보정된 3차원 좌표(q)로 구성된 3차원 좌표 집합(Q)을 획득할 수 있다.
포즈 추정 동작은 보정 전 3차원 좌표(p) 및 보정 후 3차원 좌표(q)를 이용하여, 현재 센서 포지션에 대한 R 및 T를 추정할 수 있다.
포즈 추정 동작은 3차원 좌표 집합(P)을 구성하는 3차원 좌표(p)로부터 중심 좌표(pm)를 결정할 수 있다. 또한, 포즈 추정 동작은 좌표 집합(P)의 각각의 3차원 좌표(p)와 중심 좌표(pm)의 차이에 대응하는 열 벡터로 구성된 집합(P-Pm)을 결정할 수 있다. 유사하게, 포즈 추정 동작은 좌표 집합(Q)의 각각의 좌표(q)와 중심 좌표(qm)의 차이에 대응하는 열 벡터로 구성된 집합(Q-Qm)을 결정할 수 있다.
포즈 추정 동작은 집합(P-Pm)에 대응하는 행렬 및 집합(Q-Qm)에 대응하는 행렬을 이용하여, 특이값 분해를 수행할 수 있다. 예를 들어, 포즈 추정 동작은 집합(P-Pm)에 대응하는 행렬의 전치 행렬 및 집합(Q-Qm)에 대응하는 행렬의 곱 행렬에 대하여 특이값 분해를 통하여 U, W, 및 V 성분을 획득할 수 있다.
포즈 추정 동작은 V 및 U의 전치 행렬의 곱 행렬을 이용하여 R의 추정값을 결정할 수 있다. 또한, 포즈 추정 동작은 집합(Q-Qm)에 대응하는 행렬에서 기존 추정 R과 집합(P-Pm)에 대응하는 행렬의 곱 행렬의 차이를 이용하여 T를 추정할 수 있다.
포즈 추정 동작은 추정 R의 변화율의 크기가 미리 결정된 기준치(angle threshold)보다 작고, 추정 T의 변화율의 크기가 미리 결정된 기준치(distance Threshhold)보다 작을 때까지 R과 T의 추정 프로세스를 계속할 수 있다.
일단, 각각의 기준치(threshold)를 만족하는 T및 R이 식별되면, 단계 720에서, T 및 R이 업데이트 될 수 있으며, 단계 725에서, 각 깊이 이미지 프레임은, T및 R에 기초하여 TSDF 볼륨(745)에 융합될 수 있다.
본 개시의 일 실시예에 따른 포즈 추정은 안전성, 효율성, 및 보편성을 제공한다:
안정성과 관련하여, 현재 프레임까지 모든 프레임으로부터 얻어진 깊이 데이터가 볼륨에 융합되기 때문에, ICP에 비하여, 포즈 추정 프로세스에 더 많은 정보를 활용할 수 있다. 따라서, 이 프로세스는 입력 노이즈에 대해 보다 안정적이고 강건하다.
효율성과 관련하여, ICP는 KD 트리를 구축하고 트리 검색을 수행해야 하는 반면에, 본 개시는 모델 포인트가 3개의 곱셈과 3 개의 뺄셈만으로 계산될 수 있어 ICP보다 더 효율적이다. 본 개시는 수천 개의 데이터 포인트(data point)로 이루어진 비선형 방정식을 풀 필요가 없기 때문에 VGD보다 더 효율적이다.
보편성과 관련하여, SfM과 같이, RGB에 기초한 접근방법은 알맞은 조명 환경과 질감이 있는 객체 표면에 의존한다. 그렇지 않으면, 특징 추적(feature detection)은 실패할 것이다. 깊이 기반 접근방법은 이러한 제한이 없다.
비록, 특별한 언급이 있거나, 그 자체로 달리 명백하지 않는 한(신호는 송신되기 전에 수신될 수 없는 것과 같이), 도면에서 묘사되거나 상기 설명된 각각의 프로세스 흐름 및/또는 신호 시퀀스(sequence)는, 직렬적 또는 병렬적인, 일련의 단계 및/또는 신호를 묘사하지만, 특정한 수행 방식의 일련의 순서들, 또는 수행의 각 단계나 부분들, 또는 병렬적이거나 동시적으로 신호를 전송하는 대신 순차적으로 전송하는 방법, 또는 명시적으로 서술하지 않은 순서나 신호 전송에서 중간 단계나 신호에 대한 추정은 금지된다. 더욱이 통상의 기술자는 완전한 프로세스 및 신호 순서(signal sequence)가 도면 등에 의해 보여지거나 설명되지 않았다는 것을 인지할 것이다. 대신, 간단명료함을 위해, 본 개시의 특징으로서 본 개시의 이해에 필요한 각각의 프로세스와 신호 시퀀스가 묘사 및 설명되었다.
비록 본 개시는 예시적인 실시예를 들어 설명되었지만, 통상의 기술자에게 다양한 변경 및 변형을 시사할 수 있다. 본 개시가 첨부된 청구항의 범위에 포함되는 그러한 변경 및 수정을 포함하도록 의도되었다.

Claims (21)

  1. 3차원 스캐닝(scanning) 방법에 있어서,
    깊이 센서(depth sensor)와 객체 중 어느 하나가, 상기 깊이 센서와 상기 객체 중 다른 하나에 대하여 회전하는 경우, 복 수개의 깊이 이미지(depth image)를 획득하는 단계; 및 각각의 깊이 이미지에 대하여:
    트룬케이티드 부호화 거리 함수(Truncated Signed Distance Function: TSDF) 볼륨 데이터에 기초하여 로테이션(Rotation: R)과 트랜스레이션(Translation: T)을 추정하는 단계; 및
    추정된 상기 R 및 상기 T에 기초하여, 상기 각각의 깊이 이미지를 축적적으로 상기 TSDF 볼륨에 융합하는 단계;를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 깊이 이미지(depth image)가 첫 번째 깊이 이미지인 경우, 상기 R은 상기 객체에 대한 상기 깊이 센서의 최초 각 위치(angular position)로 초기화 되고, 상기 T는 0으로 초기화 되는 단계;
    를 더 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 깊이 이미지가 첫 번째 깊이 이미지가 아닌 경우, 상기 R 및 상기 T를 이전 깊이 이미지의 R 및 T로 설정하는 단계;
    를 더 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 각각의 깊이 이미지의 상기 R 및 상기 T를 추정하는 단계는,
    상기 TSDF 볼륨으로부터 상기 각각의 깊이 이미지의 3차원 좌표 집합(N)을 결정하는 단계;
    를 포함하는, 방법.
  5. 제 4 항에 있어서,
    상기 각각의 깊이 이미지의 3차원 좌표 집합(N)을 결정하는 단계는,
    상기 각각의 깊이 이미지의 픽셀 각각에 대한 깊이 값을 획득하는 단계;
    상기 픽셀 각각에 대한 상기 깊이 값 및 상기 깊이 센서의 고유 행렬에 기초하여, 상기 픽셀 각각에 대응하는 3차원 카메라 좌표계(camera coordinate system)에서 3차원 좌표(n)를 산출하는 단계; 및
    상기 3차원 좌표(n)로 구성된 상기 3차원 좌표 집합(N)을 결정하는 단계;를 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 각각의 깊이 이미지에 대하여 상기 R 및 상기 T를 추정하는 단계는,
    상기 3차원 좌표 집합(N)에 포함된 3차원 좌표(n) 각각에 대하여:
    미리 결정된 T의 (초기) 추정 값 및 미리 결정된 R의 (초기) 추정 값에 기초하여, 카메라 좌표계로부터 세계 좌표계(world coordinate system)로 좌표 변환을 수행하여 3차원 좌표(p)를 산출하는 단계;
    상기 TSDF 볼륨 데이터로부터 상기 3차원 좌표(p)에서 TSDF 값 및 TSDF 그레이디언트를 획득하는 단계;
    상기 3차원 좌표(p)를 상기 TSDF 그레이디언트 방향의 역방향으로 상기 TSDF 값만큼 이동하여 3차원 좌표(q)를 산출하는 단계; 및
    상기 3차원 좌표(p)로 구성된 3차원 좌표 집합(P) 및 상기 3차원 좌표(q)로 구성된 3차원 좌표 집합(Q)에 기초하여, 상기 T 및 상기 R을 추정하는 단계;를 포함하는 방법.
  7. 제 1 항에 있어서,
    상기 깊이 센서는 컬러 센서를 포함하는, 방법.
  8. 제 1 항에 있어서,
    상기 깊이 센서는 모바일 기기에 포함되는, 방법.
  9. 제 1 항에 있어서,
    상기 깊이 센서는 모바일 디바이스에 부착되는, 방법.
  10. 장치 및 객체 중 어느 하나가, 상기 장치와 상기 객체 중 다른 하나에 대하여 회전하는 경우, 복 수개의 깊이 이미지(depth image)를 생성하도록 구성된 깊이 센서; 및
    프로세서;
    를 포함하며,
    상기 프로세서는,
    각각의 깊이 이미지에 대하여:
    트룬케이티드 부호화 거리 함수(Truncated Signed Distance Function: TSDF) 볼륨 데이터에 기초하여 로테이션(Rotation: R)과 트랜스레이션(Translation: T)을 추정하고,
    상기 추정된 상기 R 및 상기 T에 기초하여, 상기 각각의 깊이 이미지를 축적적으로 상기 TSDF 볼륨에 융합;할 수 있도록 구성된, 장치.
  11. 제 10 항에 있어서,
    상기 프로세서는 상기 깊이 이미지(depth image)가 첫 번째 깊이 이미지인 경우, 상기 R은 상기 객체에 대해 상기 깊이 센서의 최초 각 위치(angular position)로 초기화 하고, 상기 T는 0으로 초기화 할 수 있도록 구성된, 장치.
  12. 제 10 항에 있어서,
    상기 프로세서는 상기 깊이 이미지가 첫 번째 깊이 이미지가 아닌 경우, 상기 R 및 상기 T를 이전 깊이 이미지의 이전 R 및 T로 설정할 수 있도록 구성된, 장치.
  13. 제 10 항에 있어서,
    상기 프로세서는, 상기 TSDF 볼륨으로부터 상기 각각의 깊이 이미지의 3차원 좌표 집합 N을 계산할 수 있도록 구성된, 장치.
  14. 제 13 항에 있어서,
    상기 프로세서는,
    상기 각각의 깊이 이미지의 픽셀 각각에 대한 깊이 값을 획득하고,
    상기 픽셀 각각에 대한 상기 깊이 값 및 상기 깊이 센서의 고유 행렬에 기초하여, 상기 픽셀 각각에 대응하는 3차원 카메라 좌표계(camera coordinate system)에서 3차원 좌표(n)를 산출하고,
    상기 3차원 좌표(n)로 구성된 상기 3차원 좌표 집합(N)을 결정하도록 구성된, 장치.
  15. 제 14 항에 있어서,
    상긱 프로세서는,
    상기 3차원 좌표 집합(N)에 포함된 3차원 좌표(n) 각각에 대하여:
    미리 결정된 T의 초기 추정 값 및 미리 결정된 R의 초기 추정 값에 기초하여, 카메라 좌표계로부터 세계 좌표계로 좌표 변환을 수행하여 3차원 좌표(p)를 산출하고,
    상기 TSDF 볼륨 데이터로부터 상기 3차원 좌표(p)에서 TSDF 값 및 TSDF 그레이디언트를 획득하고,
    상기 3차원 좌표(p)를 상기 TSDF 그레이디언트 방향의 역방향으로 상기 TSDF 값만큼 이동하여 3차원 좌표(q)를 산출하고,
    상기 3차원 좌표(p)로 구성된 집합(P) 및 상기 3차원 좌표(q)로 구성된 3차원 좌표 집합(Q)에 기초하여, 상기 T 및 상기 R을 추정하는, 장치
  16. 제 10 항에 있어서,
    상기 깊이 센서는 컬러 센서(color sensor)를 포함하는, 장치.
  17. 제 10 항에 있어서,
    상기 깊이 센서는 모바일 디바이스에 포함되는, 장치.
  18. 제 10 항에 있어서,
    상기 깊이 센서는 모바일 디바이스에 부착될 수 있는, 장치.
  19. 프로그램 코드를 저장한 비일시성(non-transitory) 컴퓨터로 판독 가능한 매체에 있어서,
    상기 프로그램 코드가 적어도 하나의 프로세서에 의해 실행됨에 따라:
    상기 적어도 하나의 프로세서에 의하여,
    깊이 센서(depth sensor)와 객체 중 어느 하나가, 상기 깊이 센서와 상기 객체 중 다른 하나에 대하여 회전하는 경우, 복 수개의 깊이 이미지(depth image)를 획득하는 단계; 및
    각각의 깊이 이미지에 대하여:
    TSDF 볼륨 데이터에 기초하여 로테이션(Rotation: R)과 트랜스레이션(Translation: T)을 추정하고,
    상기 추정된 상기 R 및 상기 T에 기초하여, 상기 각각의 깊이 이미지를 축적적으로 상기 TSDF 볼륨에 융합하는 단계;가 수행될 수 있도록 하는, 컴퓨터로 판독 가능한 매체.
  20. 제 19 항에 있어서,
    상기 각각의 깊이 이미지의 상기 R 및 상기 T를 추정하는 단계는,
    상기 TSDF 볼륨으로부터 상기 각각의 깊이 이미지의 3차원 좌표 집합(N)을 계산하는 단계;를 포함하는, 컴퓨터로 판독 가능한 매체.
  21. 제 20 항에 있어서,
    상기 각각의 깊이 이미지의 3차원 좌표 집합(N)을 결정하는 단계는,
    상기 각각의 깊이 이미지의 픽셀 각각에 대한 깊이 값을 획득하는 단계;
    상기 픽셀 각각에 대한 상기 깊이 값 및 상기 깊이 센서의 고유 행렬에 기초하여, 상기 픽셀 각각에 대응하는 3차원 카메라 좌표계(camera coordinate system)에서 3차원 좌표(n)를 산출하는 단계; 및
    상기 3차원 좌표(n)로 구성된 상기 3차원 좌표 집합(N)을 결정하는 단계;를 포함하는 컴퓨터로 판독 가능한 매체.
KR1020160151303A 2015-12-15 2016-11-14 볼륨 최근접 거리 접근법을 이용한 3차원 모델 생성 방법 및 장치 KR20170071411A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16875926.4A EP3385917A4 (en) 2015-12-15 2016-11-17 Method and apparatus for generating three-dimensional model using volumetric closest point approach method
PCT/KR2016/013280 WO2017104984A1 (ko) 2015-12-15 2016-11-17 볼륨 최근접 거리 접근법을 이용한 3차원 모델 생성 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/970,142 US9892552B2 (en) 2015-12-15 2015-12-15 Method and apparatus for creating 3-dimensional model using volumetric closest point approach
US14/970,142 2015-12-15

Publications (1)

Publication Number Publication Date
KR20170071411A true KR20170071411A (ko) 2017-06-23

Family

ID=59020797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160151303A KR20170071411A (ko) 2015-12-15 2016-11-14 볼륨 최근접 거리 접근법을 이용한 3차원 모델 생성 방법 및 장치

Country Status (3)

Country Link
US (1) US9892552B2 (ko)
EP (1) EP3385917A4 (ko)
KR (1) KR20170071411A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102184210B1 (ko) * 2019-12-26 2020-11-27 박배억 3차원 카메라 시스템
KR102401831B1 (ko) 2021-02-23 2022-05-24 한남대학교 산학협력단 Rgbd 센서를 이용한 3d 모델복원 방법
KR102483354B1 (ko) * 2021-08-06 2022-12-29 연세대학교 산학협력단 단일 심도 카메라를 이용한 3차원 복원 방법 및 장치
KR20230021992A (ko) * 2021-08-06 2023-02-14 연세대학교 산학협력단 로컬 퍼스펙티브 와핑을 이용한 멀티-뷰 볼륨메트릭 합성 방법 및 장치

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230107110A1 (en) * 2017-04-10 2023-04-06 Eys3D Microelectronics, Co. Depth processing system and operational method thereof
US10460512B2 (en) * 2017-11-07 2019-10-29 Microsoft Technology Licensing, Llc 3D skeletonization using truncated epipolar lines
CN108332660B (zh) * 2017-11-10 2020-05-05 广东康云多维视觉智能科技有限公司 机器人三维扫描系统和扫描方法
CN108133496B (zh) * 2017-12-22 2021-11-26 北京工业大学 一种基于g2o与随机蕨类算法的稠密地图创建方法
CN108537876B (zh) * 2018-03-05 2020-10-16 清华-伯克利深圳学院筹备办公室 三维重建方法、装置、设备及存储介质
US11709270B1 (en) * 2018-06-01 2023-07-25 Cintoo SAS, France Method of processing azimuth, elevation and range data from laser scanning an object
CN108616672B (zh) * 2018-06-30 2020-01-31 杭州视为科技有限公司 一种三维超景深装置
CN109559346B (zh) * 2018-11-07 2021-12-14 西安电子科技大学 一种3d点云测量中的待测部位的定位及分割方法、扫描仪
CN112767538B (zh) * 2021-01-11 2024-06-07 浙江商汤科技开发有限公司 三维重建及相关交互、测量方法和相关装置、设备
US11688126B2 (en) * 2021-02-09 2023-06-27 Canon Medical Systems Corporation Image rendering apparatus and method
CN116437063A (zh) * 2023-06-15 2023-07-14 广州科伊斯数字技术有限公司 一种三维图像显示系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971612B2 (en) 2011-12-15 2015-03-03 Microsoft Corporation Learning image processing tasks from scene reconstructions
KR101839035B1 (ko) 2012-11-26 2018-03-19 한국전자통신연구원 멀티 gpu를 기반으로 하는 3차원 복원을 위한 장치 및 그 방법
WO2015017941A1 (en) 2013-08-09 2015-02-12 Sweep3D Corporation Systems and methods for generating data indicative of a three-dimensional representation of a scene
KR102184766B1 (ko) 2013-10-17 2020-11-30 삼성전자주식회사 3차원 모델 복원 시스템 및 방법
KR20150060020A (ko) * 2013-11-25 2015-06-03 삼성전자주식회사 3차원 스캐너 및 이의 3차원 스캐닝 방법
EP2886043A1 (de) 2013-12-23 2015-06-24 a.tron3d GmbH Verfahren zum Fortsetzen von Aufnahmen zum Erfassen von dreidimensionalen Geometrien von Objekten

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102184210B1 (ko) * 2019-12-26 2020-11-27 박배억 3차원 카메라 시스템
WO2021133082A1 (ko) * 2019-12-26 2021-07-01 박배억 3차원 카메라 시스템
KR102401831B1 (ko) 2021-02-23 2022-05-24 한남대학교 산학협력단 Rgbd 센서를 이용한 3d 모델복원 방법
KR102483354B1 (ko) * 2021-08-06 2022-12-29 연세대학교 산학협력단 단일 심도 카메라를 이용한 3차원 복원 방법 및 장치
KR20230021992A (ko) * 2021-08-06 2023-02-14 연세대학교 산학협력단 로컬 퍼스펙티브 와핑을 이용한 멀티-뷰 볼륨메트릭 합성 방법 및 장치

Also Published As

Publication number Publication date
EP3385917A4 (en) 2018-12-19
US9892552B2 (en) 2018-02-13
EP3385917A1 (en) 2018-10-10
US20170169603A1 (en) 2017-06-15

Similar Documents

Publication Publication Date Title
KR20170071411A (ko) 볼륨 최근접 거리 접근법을 이용한 3차원 모델 생성 방법 및 장치
CN110945565B (zh) 利用概率面元地图的密集视觉slam
US10706567B2 (en) Data processing method, apparatus, system and storage media
WO2019127445A1 (zh) 三维建图方法、装置、系统、云端平台、电子设备和计算机程序产品
CN109671115B (zh) 使用深度值估计的图像处理方法和装置
EP3182371B1 (en) Threshold determination in for example a type ransac algorithm
CN108492316A (zh) 一种终端的定位方法和装置
Bergman et al. Deep adaptive lidar: End-to-end optimization of sampling and depth completion at low sampling rates
CN110264509A (zh) 确定图像捕捉设备的位姿的方法、装置及其存储介质
Santoso et al. 3D mapping for visualization of rigid structures: A review and comparative study
EP3326156B1 (en) Consistent tessellation via topology-aware surface tracking
EP2959315A2 (en) Generation of 3d models of an environment
JP6782903B2 (ja) 自己運動推定システム、自己運動推定システムの制御方法及びプログラム
GB2580691A (en) Depth estimation
EP3392834B1 (en) 3d model reconstruction method, electronic device, and non-transitory computer readable storage medium
CN112241718A (zh) 车辆信息的检测方法、检测模型的训练方法和装置
JP2011085971A (ja) 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び画像処理システム
WO2017104984A1 (ko) 볼륨 최근접 거리 접근법을 이용한 3차원 모델 생성 방법 및 장치
KR20180035359A (ko) 평면정보를 이용한 3차원 공간 모델링 및 데이터 경량화 방법
Shahnewaz et al. Color and depth sensing sensor technologies for robotics and machine vision
CN110738730A (zh) 点云匹配方法、装置、计算机设备和存储介质
CN114494383B (zh) 基于Richard-Lucy迭代的光场深度估计方法
JP6573196B2 (ja) 距離情報補正装置、距離情報補正方法及び距離情報補正プログラム
CN101901502A (zh) 光学三维测量中多视点云数据的全局优化配准方法
CN110310325B (zh) 一种虚拟测量方法、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination