KR20230126622A - 3차원 모델의 생성 방법 및 이를 수행하는 데이터 처리 장치 - Google Patents
3차원 모델의 생성 방법 및 이를 수행하는 데이터 처리 장치 Download PDFInfo
- Publication number
- KR20230126622A KR20230126622A KR1020220074844A KR20220074844A KR20230126622A KR 20230126622 A KR20230126622 A KR 20230126622A KR 1020220074844 A KR1020220074844 A KR 1020220074844A KR 20220074844 A KR20220074844 A KR 20220074844A KR 20230126622 A KR20230126622 A KR 20230126622A
- Authority
- KR
- South Korea
- Prior art keywords
- images
- input images
- generating
- image
- depth data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 72
- 238000012545 processing Methods 0.000 title description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 39
- 230000000875 corresponding effect Effects 0.000 description 35
- 238000012546 transfer Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 12
- 101100118004 Arabidopsis thaliana EBP1 gene Proteins 0.000 description 11
- 101150052583 CALM1 gene Proteins 0.000 description 11
- 102100025580 Calmodulin-1 Human genes 0.000 description 11
- 102100025579 Calmodulin-2 Human genes 0.000 description 11
- 101100459256 Cyprinus carpio myca gene Proteins 0.000 description 11
- 101001077352 Homo sapiens Calcium/calmodulin-dependent protein kinase type II subunit beta Proteins 0.000 description 11
- 101150091339 cam-1 gene Proteins 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 238000009792 diffusion process Methods 0.000 description 10
- 238000007667 floating Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000014616 translation Effects 0.000 description 4
- 101100406567 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ORT1 gene Proteins 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 101100328883 Arabidopsis thaliana COL1 gene Proteins 0.000 description 2
- 101100328886 Caenorhabditis elegans col-2 gene Proteins 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000002366 time-of-flight method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 1
- 101100422768 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL2 gene Proteins 0.000 description 1
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
대상체에 대한 색상 데이터 및 깊이 데이터를 각각 포함하는 복수의 입력 이미지들을 획득한다. 상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 서로 다른 입력 이미지들 사이의 상관도(correlation) 값들을 포함하는 이미지 그래프를 생성한다. 상기 이미지 그래프에 기초하여 상기 복수의 입력 이미지들의 등록 순서를 결정한다. 상기 등록 순서 및 상기 복수의 입력 이미지들의 상기 깊이 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 상응하는 포즈 정보를 순차적으로 생성하고, 상기 복수의 입력 이미지들을 상기 포즈 정보를 포함하는 등록 이미지들로서 순차적으로 등록한다. 상기 등록 이미지들에 기초하여 상기 대상체에 대한 3차원 모델을 재구성한다. 색상 데이터에 기초하여 입력 이미지들의 등록 순서를 결정하고 상기 등록 순서에 따라서 복수의 등록 이미지들을 이용하여 입력 이미지들의 포즈 정보를 순차적으로 생성함으로써 정확한 포즈 정보를 추정할 수 있고 정밀한 3차원 모델을 재구성할 수 있다.
Description
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 3차원 모델의 생성 방법 상기 3차원 모델의 생성 방법을 수행하는 데이터 처리 장치에 관한 것이다.
최근 모바일 시스템에서 현실 세계를 3차원으로 재구성하는 것이 관심을 받고 있다. 증강 현실(AR, augmented reality), 가상 현실(VA, virtual reality)과 같은 혼합 현실(mixed reality) 시스템은 가상 객체들을 현실 세계와 병합한다. 증대되는 디지털 매핑 및 메타버스 시장은 더욱 진보된 기술을 요구할 것이다. 그러나 이미지들로부터 신뢰가능하고 정밀한 3차원 모델을 재구성하는 것은 용이하지 않다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 효율적으로 정밀한 3차원 모델을 재구성할 수 있는 3차원 모델의 생성 방법을 제공하는 것이다.
또한 본 발명의 일 목적은, 효율적으로 정밀한 3차원 모델을 재구성할 수 있는 3차원 모델의 생성 방법을 수행하는 데이터 처리 장치를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법은, 대상체에 대한 색상 데이터 및 깊이 데이터를 각각 포함하는 복수의 입력 이미지들을 획득하는 단계, 상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 서로 다른 입력 이미지들 사이의 상관도(correlation) 값들을 포함하는 이미지 그래프를 생성하는 단계, 상기 이미지 그래프에 기초하여 상기 복수의 입력 이미지들의 등록 순서를 결정하는 단계, 상기 등록 순서 및 상기 복수의 입력 이미지들의 상기 깊이 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 상응하는 포즈 정보를 순차적으로 생성하는 단계, 상기 복수의 입력 이미지들을 상기 포즈 정보를 포함하는 등록 이미지들로서 순차적으로 등록하는 단계 및 상기 등록 이미지들에 기초하여 상기 대상체에 대한 3차원 모델을 재구성하는 단계를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법은, 대상체에 대한 색상 데이터 및 깊이 데이터를 각각 포함하는 복수의 입력 이미지들을 획득하는 단계, 상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 포함되는 2차원 특징 점들을 추출하는 단계, 상기 2차원 특징 점들의 매칭 정보에 기초하여 서로 다른 입력 이미지들 사이의 상관도(correlation) 값들을 포함하는 이미지 그래프를 생성하는 단계, 상기 이미지 그래프에 기초하여 상기 복수의 입력 이미지들의 등록 순서를 결정하는 단계, 이미 등록된 입력 이미지들의 상기 깊이 데이터에 기초하여 가상 깊이 데이터를 생성하는 단계, 상기 등록 순서에 따라서 상기 가상 깊이 데이터 및 상기 이미 등록된 입력 이미지들 다음의 등록 대상으로 결정된 현재 입력 이미지의 상기 깊이 데이터에 기초하여 상기 현재 입력 이미지의 상기 포즈 정보를 생성하는 단계, 상기 복수의 입력 이미지들을 상기 포즈 정보를 포함하는 등록 이미지들로서 순차적으로 등록하는 단계, 및 상기 등록 이미지들에 기초하여 상기 대상체에 대한 3차원 모델을 재구성하는 단계를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 데이터 처리 장치는, 대상체에 대한 색상 데이터 및 깊이 데이터를 각각 포함하는 복수의 입력 이미지들을 수신하는 입력부, 상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 서로 다른 입력 이미지들 사이의 상관도(correlation) 값들을 포함하는 이미지 그래프를 생성하는 이미지 그래프 생성부, 상기 이미지 그래프에 기초하여 상기 복수의 입력 이미지들의 등록 순서를 결정하는 제어부, 상기 등록 순서 및 상기 복수의 입력 이미지들의 상기 깊이 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 상응하는 포즈 정보를 순차적으로 생성하는 포즈 추정부, 상기 포즈 정보를 포함하는 등록 이미지들로서 상기 복수의 입력 이미지들을 순차적으로 등록하는 등록부 및 상기 등록 이미지들에 기초하여 상기 대상체에 대한 3차원 모델을 재구성하는 모델 생성부를 포함한다.
본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치는, 색상 데이터에 기초하여 입력 이미지들의 등록 순서를 결정하고 상기 등록 순서에 따라서 복수의 등록 이미지들을 이용하여 입력 이미지들의 포즈 정보를 순차적으로 생성함으로써 정확한 포즈 정보를 추정할 수 있고 정밀한 3차원 모델을 재구성할 수 있다.
또한, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치는, 색상 데이터 및 깊이 데이터를 함께 이용함으로써 카메라 모션이 큰 경우 및 작은 경우 모두에 대해 정확한 포즈 정보를 추정할 수 있다.
또한, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치는 입력 이미지들의 상관도를 나타내는 이미지 그래프에 기초하여 등록 순서를 결정함으로써 부족한 입력 이미지의 추가 및 노이즈가 많은 이미지의 제거를 용이하게 수행할 수 있다.
도 1은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 수행하는 데이터 처리 장치를 나타내는 블록도이다.
도 3은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 수행하는 시스템을 나타내는 블록도이다.
도 4a 및 4b는 3차원 모델을 위한 병합 대상이 되는 입력 이미지들의 제공 방법의 실시예들을 나타내는 도면들이다.
도 5는 트래킹 기반의 이미지 시퀀스 및 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 이미지 세트를 나타내는 도면이다.
도 6은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 이미지 그래프 생성의 일 실시예를 나타내는 순서도이다.
도 7은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 특징 점 검출 방식의 예들을 나타내는 도면이다.
도 8 및 9는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 이미지 그래프의 예들을 나타내는 도면들이다.
도 10은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 등록 순서 결정의 일 실시예를 나타내는 순서도이다.
도 11, 12 및 13은 도 10의 등록 순서 결정을 설명하기 위한 도면들이다.
도 14a 및 14b는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 포즈 정보를 설명하기 위한 도면들이다.
도 15는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 포즈 정보 생성의 일 실시예를 나타내는 순서도이다.
도 16은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 가상 깊이 데이터 생성의 일 실시예를 나타내는 순서도이다.
도 17은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 현재 입력 이미지의 포즈 정보 생성의 일 실시예를 나타내는 순서도이다.
도 18은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 현재 입력 이미지의 포즈 정보 생성의 일 실시예를 나타내는 순서도이다.
도 19는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 3차원 모델 재구성의 일 실시예를 나타내는 순서도이다.
도 20a, 20b, 21 및 22는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 효과를 나타내는 도면들이다.
도 23은 본 발명의 실시예들에 따른 시스템에 포함되는 촬영 장치를 나타내는 블록도이다.
도 24는 도 23의 촬영 장치에 포함되는 센싱부의 일 실시예를 나타내는 도면이다.
도 25는 도 24의 센싱부에 포함되는 픽셀 어레이의 일 실시예를 나타내는 도면이다.
도 26은 도 23의 촬영 장치에 포함되는 센싱부의 일 실시예를 나타내는 도면이다.
도 27a 및 27b는 도 26의 센싱부에 포함되는 픽셀 어레이들의 일 실시예를 나타내는 도면이다.
도 28a 내지 도 28d는 픽셀 어레이에 포함되는 단위 픽셀의 예들을 나타내는 회로도들이다.
도 29는 깊이 센서에 포함되는 픽셀 어레이의 일 예를 나타내는 도면이다.
도 30은 도 29의 픽셀 어레이에 포함되는 깊이 픽셀의 일 예를 나타내는 회로도이다.
도 31은 도 30의 깊이 픽셀들의 비행시간 방식의 동작을 나타내는 타이밍도이다.
도 32는 본 발명의 일 실시예에 따른 카메라 시스템을 나타내는 블록도이다.
도 33은 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 수행하는 데이터 처리 장치를 나타내는 블록도이다.
도 3은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 수행하는 시스템을 나타내는 블록도이다.
도 4a 및 4b는 3차원 모델을 위한 병합 대상이 되는 입력 이미지들의 제공 방법의 실시예들을 나타내는 도면들이다.
도 5는 트래킹 기반의 이미지 시퀀스 및 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 이미지 세트를 나타내는 도면이다.
도 6은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 이미지 그래프 생성의 일 실시예를 나타내는 순서도이다.
도 7은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 특징 점 검출 방식의 예들을 나타내는 도면이다.
도 8 및 9는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 이미지 그래프의 예들을 나타내는 도면들이다.
도 10은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 등록 순서 결정의 일 실시예를 나타내는 순서도이다.
도 11, 12 및 13은 도 10의 등록 순서 결정을 설명하기 위한 도면들이다.
도 14a 및 14b는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 포즈 정보를 설명하기 위한 도면들이다.
도 15는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 포즈 정보 생성의 일 실시예를 나타내는 순서도이다.
도 16은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 가상 깊이 데이터 생성의 일 실시예를 나타내는 순서도이다.
도 17은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 현재 입력 이미지의 포즈 정보 생성의 일 실시예를 나타내는 순서도이다.
도 18은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 현재 입력 이미지의 포즈 정보 생성의 일 실시예를 나타내는 순서도이다.
도 19는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 3차원 모델 재구성의 일 실시예를 나타내는 순서도이다.
도 20a, 20b, 21 및 22는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 효과를 나타내는 도면들이다.
도 23은 본 발명의 실시예들에 따른 시스템에 포함되는 촬영 장치를 나타내는 블록도이다.
도 24는 도 23의 촬영 장치에 포함되는 센싱부의 일 실시예를 나타내는 도면이다.
도 25는 도 24의 센싱부에 포함되는 픽셀 어레이의 일 실시예를 나타내는 도면이다.
도 26은 도 23의 촬영 장치에 포함되는 센싱부의 일 실시예를 나타내는 도면이다.
도 27a 및 27b는 도 26의 센싱부에 포함되는 픽셀 어레이들의 일 실시예를 나타내는 도면이다.
도 28a 내지 도 28d는 픽셀 어레이에 포함되는 단위 픽셀의 예들을 나타내는 회로도들이다.
도 29는 깊이 센서에 포함되는 픽셀 어레이의 일 예를 나타내는 도면이다.
도 30은 도 29의 픽셀 어레이에 포함되는 깊이 픽셀의 일 예를 나타내는 회로도이다.
도 31은 도 30의 깊이 픽셀들의 비행시간 방식의 동작을 나타내는 타이밍도이다.
도 32는 본 발명의 일 실시예에 따른 카메라 시스템을 나타내는 블록도이다.
도 33은 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 나타내는 순서도이다.
도 1을 참조하면, 대상체(target)에 대한 색상 데이터 및 깊이 데이터를 각각 포함하는 복수의 입력 이미지들을 획득할 수 있다(S100). 복수의 입력 이미지들의 서로 다른 입력 이미지들은 상기 대상체의 적어도 일부에 대한 데이터를 공통적으로 포함할 수 있다. 상기 대상체는 하나의 객체일 수도 있고, 실내 구조 등과 같이 복수의 객체들의 집합일 수도 있다. 도 23 내지 31을 참조하여 후술하는 바와 같이, 상기 색상 데이터는 상기 대상체의 2차원 색상 정보를 나타내고 상기 깊이 데이터는 카메라(또는 이미지 센서)와 대상체 사이의 거리 정보를 나타낸다.
일 실시예에서, 도 4a를 참조하여 후술하는 바와 같이, 상기 복수의 입력 이미지들은 복수의 카메라들에 의해 캡쳐된 이미지들일 수 있다. 다른 실시예에서, 도 4b를 참조하여 후술하는 바와 같이, 상기 복수의 입력 이미지들은 1개의 카메라에 의해 순차적으로 캡쳐된 이미지들일 수 있다.
상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 서로 다른 입력 이미지들 사이의 상관도(correlation) 값들을 포함하는 이미지 그래프를 생성할 수 있다(S200). 일 실시예에서, 상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 포함되는 2차원 특징 점들을 추출하고, 상기 2차원 특징 점들의 대응 관계에 기초하여 상기 상관도 값들을 결정할 수 있다. 2차원 특징 점 추출 및 이들의 대응 관계를 나타내는 매칭 정보의 발생은 다양한 방법으로 수행될 수 있다. 2차원 특징 점들에 기초한 이미지 그래프 생성의 실시예들에 대해서는 6 내지 9를 참조하여 후술한다.
상기 이미지 그래프에 기초하여 상기 복수의 입력 이미지들의 등록 순서를 결정할 수 있다(S300). 입력 이미지들 사이의 상관도가 높을수록 먼저 등록되도록 상기 등록 순서를 결정할 수 있다. 등록 순서 결정의 실시예들에 대해서는 도 10 내지 13을 참조하여 후술한다.
상기 등록 순서 및 상기 복수의 입력 이미지들의 상기 깊이 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 상응하는 포즈 정보를 순차적으로 생성할 수 있다(S400). 상기 복수의 입력 이미지들을 상기 포즈 정보를 포함하는 등록 이미지들로서 순차적으로 등록할 수 있다(S500).
도 14a 및 14b를 참조하여 후술하는 바와 같이, 상기 포즈 정보는 상응하는 입력 이미지를 촬상한 카메라의 위치(position) 및 배향(orientation)에 관한 정보를 나타낸다. 등록 이미지는 포즈 정보가 생성된 입력 이미지를 나타내며, 등록 이미지는 색상 데이터, 깊이 데이터 및 포즈 정보를 포함한다.
일 실시예에서, 이미 등록된 입력 이미지들의 깊이 데이터에 기초하여 가상 깊이 데이터를 생성하고 상기 깊이 데이터에 기초하여 다음 입력 이미지의 포즈 정보를 생성할 수 있다. 포즈 정보 생성의 실시예들은 도 15 내지 18을 참조하여 후술한다.
상기 등록 이미지들에 기초하여 상기 대상체에 대한 3차원 모델을 재구성할 수 있다(S600). 도 19를 참조하여 후술하는 바와 같이, 3차원 모델의 재구성은 3차원 포인트 클라우드의 생성에 해당하는 스파스 재구성(sparse recon)) 및 3차원 모델의 표면 재구성에 해당하는 덴스 재구성(dense reconstruction)을 포함할 수 있다.
도 2는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 수행하는 데이터 처리 장치를 나타내는 블록도이다.
도 2를 참조하면, 데이터 처리 장치(500)는 제어부(CTRL)(10), 입력부(INP)(20), 이미지 그래프 생성부(IGG)(30), 포즈 추정부(PE)(40), 등록부(REG)(50), 모델 생성부(MDG)(60) 및 저장부(MEM)(70)를 포함할 수 있다.
입력부(20)는 대상체에 대한 색상 데이터 및 깊이 데이터를 각각 포함하는 복수의 입력 이미지들(IIMG), 예를 들어 m개의 입력 이미지들(I1~Im)을 수신할 수 있다. 입력부(20)는 카메라 등의 외부 장치와 교신하기 위한 다양한 인터페이스 구성을 가질 수 있다. 수신된 입력 이미지들(IIMG)를 저장부(70)에 저장될 수 있다.
이미지 그래프 생성부(20)는 복수의 입력 이미지들(IIMG)의 색상 데이터에 기초하여 서로 다른 입력 이미지들 사이의 상관도(correlation) 값들을 포함하는 이미지 그래프(IMGR)를 생성할 수 있다. 이미지 그래프 생성부(20)는 저장부(70)에 액세스하여 입력 이미지들(IIMG)을 제공받을 수 있고, 생성된 이미지 그래프(IMGR)는 저장부(70)에 저장될 수 있다.
제어부(10)는 데이터 처리 장치(500)의 전반적인 동작을 제어할 수 있다. 한편, 제어부(10)는 이미지 그래프(IMGR)에 기초하여 복수의 입력 이미지들(IIMG)의 등록 순서를 결정할 수 있다. 일 실시예에서, 제어부(10)는 이미지 그래프(IMGR)를 내부의 메모리로 로딩하여 저장하고 로딩된 이미지 그래프(IMGR)를 이용하여 신속하게 데이터 처리 장치(500)의 동작을 제어할 수 있다. 제어부(10)는 상기 등록 순서에 따라서 이미 등록이 완료된 입력 이미지들 및 다음에 등록할 입력 이미지에 대한 정보를 포즈 추정부(40)에 제공할 수 있다.
포즈 추정부(40)는 상기 등록 순서 및 복수의 입력 이미지들(IIMG)의 깊이 데이터에 기초하여 복수의 입력 이미지들(IIMG)의 각각에 상응하는 포즈 정보(PINF)를 순차적으로 생성할 수 있다.
등록부(50)는 포즈 정보(PINF)를 포함하는 등록 이미지들(RIMG)로서 복수의 입력 이미지들(IIMG)을 순차적으로 등록할 수 있다. 일 실시예에서, 등록부(50)는 입력 이미지들(IIMG)의 각각에 상응하는 포즈 정보(PINF)를 부가하는 방식으로 등록 이미지(RIMG)를 생성할 수 있다. 다른 실시예에서, 등록부(50)는 입력 이미지들(IIMG)의 각각을 상응하는 포즈 정보(PINF)에 기초하여 기준 좌표계에 대한 이미지로 변환하여 등록 이미지(RIMG)를 생성할 수 있다. 생성된 등록 이미지들(RIMG)은 순차적으로 저장부(70)에 저장될 수 있다.
모델 생성부(60)는 등록 이미지들(RIMG)에 기초하여 복수의 입력 이미지들(IIMG)에 상응하는 대상체에 대한 3차원 모델(3DM)을 재구성할 수 있다. 이와 같이 생성된 3차원 모델(3DM)은 저장부(70)에 저장될 수 있다. 또한, 생성된 3차원 모델(3DM)은 입력부(20)의 인터페이스를 통하여 외부 장치로 제공될 수 있다.
저장부(70)는 복수의 입력 이미지들(IIMG), 이미지 그래프(IMGR), 등록 이미지들(RIMG), 3차원 모델(3DM) 등을 저장할 수 있다. 저장부(70)는 데이터 처리 장치(500)에 전속된 메모리 장치일 수도 있고, 데이터 처리 장치(500)가 포함되는 시스템의 공용 메모리 장치일 수도 있다.
이와 같이, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치(500)는, 색상 데이터에 기초하여 입력 이미지들(IMMG)의 등록 순서를 결정하고 상기 등록 순서에 따라서 복수의 등록 이미지들(RIMG)을 이용하여 입력 이미지들(IMMG)의 포즈 정보(PINF)를 순차적으로 생성함으로써 정확한 포즈 정보(PINF)를 추정할 수 있고 정밀한 3차원 모델(3MD)을 재구성할 수 있다.
도 3은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 수행하는 시스템을 나타내는 블록도이다.
도 3을 참조하면, 시스템(1000)은 카메라부(CAM)(1114), 트랜시버(TRX)(1140), 제어 유닛(1160) 및 사용자 인터페이스(1150)를 포함할 수 있다.
카메라부(1114)는 이미지를 캡쳐하여 제공하는 적어도 하나의 이미지 센서 또는 적어도 하나의 카메라(촬영 장치)를 포함할 수 있다. 일 실시예에서, 도 4a를 참조하여 후술하는 바와 같이, 카메라부(1114)는 복수의 카메라들을 포함할 수 있고, 상기 복수의 카메라들에 의해 각각 캡쳐된 이미지들을 3차원 모델을 위한 병합 대상이 되는 복수의 입력 이미지들로서 제공할 수 있다. 다른 실시예에서, 도 4b를 참조하여 후술하는 바와 같이, 카메라부(1114)는 1개의 카메라에 의해 순차적으로 캡쳐된 이미지들을 병합 대상이 되는 복수의 입력 이미지들로서 제공할 수 있다.
트랜시버(140)는 유선 또는 무선 통신 링크를 통해 또 다른 네트워크(예를 들어, 광역 네트워크, 이를테면, 인터넷 또는 셀룰러 네트워크)로의 연결성(connectivity)을 제공할 수 있다.
사용자 인터페이스(1150)는 키보드, 키패드와 같은 입력 수단(KPD)(1152) 및 이미지를 표시하는 디스플레이(DSP)(1112)를 포함할 수 있다. 터치 스크린/센서를 갖는 디스플레이(1112)로 가상 키패드를 통합시키는 경우 키보드 또는 키패드(1152)는 생략될 수 있다.
제어 유닛(1160)은 범용 프로세서(PRC)(1161), 하드웨어(HW)(1162), 펌웨어(FW)(1163), 저장부(MEM)(1164), 이미지 신호 프로세서(1161)(1166), 그래픽 엔진(GENG)(1167) 및 버스(1177)을 포함할 수 있다.
제어 유닛(1160)은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 구현하도록 구성될 수 있다. 예를 들어, 제어 유닛(1160)은 도 2를 참조하여 설명한 데이터 처리 장치(500)의 기능들을 구현하도록 구성될 수 있다.
본 발명의 실시예들은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다.
일 실시예에서, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법은 이미지 신호 프로세서(1166)에 의해 수행될 수 있다. 즉 도 2를 참조하여 설명한 데이터 처리 장치(10)는 이미지 신호 프로세서(1166)에 포함될 수 있다.
일 실시예에서, 데이터 처리 장치로 하여금 이미지 프로세싱하게 하는 실행가능한 프로그램 명령들의 형태로 구현될 수 있다. 상기 프로그램 명령들은 소프트웨어(SW)(1165)의 형태로 저장부(1164)에 저장되고 프로세서(1161) 및/또는 이미지 신호 프로세서(1166)에 의해 상기 프로그램 명령들이 실행될 수 있다.
프로세서(1161)는, 컴퓨터 프로그램을 구성하는 명령들과 같은, 명령들을 실행하기 위한 하드웨어를 포함한다. 명령들을 실행하기 위해, 프로세서(1161)는 내부 레지스터, 내부 캐시(cache), 저장부(1164)로부터 상기 명령들을 검색(retrieve)(또는 페치(fetch))하고; 상기 명령들을 디코딩 및 실행하고; 그 다음에, 하나 이상의 결과들을 내부 레지스터, 내부 캐시 및/또는 저장부(1164)에 기입할 수 있다.
시스템(1000)은 어떤 적절한 물리적 형태를 취하는 컴퓨터 시스템일 수 있다. 시스템(1000)은 내장형(embedded) 컴퓨터 시스템, 시스템-온-칩(system-on-chip: SOC), 단일-보드 컴퓨터 시스템(single-board computer system: SBC)(예를 들면, 컴퓨터-온-모듈(computer-on-module: COM) 또는 시스템-온-모듈(system-on-module: SOM)과 같은 것), 데스크탑 컴퓨터 시스템, 랩탑 또는 노트북 컴퓨터 시스템, 대화형 키오스크(interactive kiosk), 메인프레임, 컴퓨터 시스템들의 메시(mesh), 모바일 전화, 개인 정보 단말기(personal digital assistant: PDA), 서버, 태블릿 컴퓨터 시스템, 또는 이들 중 둘 이상의 조합일 수 있다.
본 명세서에서, 컴퓨터-판독가능한 저장 매체 또는 매체들은, 적절한 경우, 하나 이상의 반도체-기반 또는 기타 집적 회로들(integrated circuits: ICs)(예를 들면, 필드 프로그램가능 게이트 어레이들(field-programmable gate arrays: FPGAs) 또는 애플리케이션 특정적 IC들(application-specific ICs: ASICs)), 하드디스크 드라이브들(HDDs), 하이브리드 하드 드라이브들(hybrid hard drives: HHDs), 광디스크들, 광디스크 드라이브들(optical disc drives: ODDs), 광자기 디스크들, 광자기 드라이브들, 플로피 디스켓들, 플로피 디스크 드라이브들(floppy disk drives: FDDs), 자기 테이프들, 고체 상태 드라이브들(SSDs), RAM 드라이브들, 시큐어 디지털(SECURE DIGITAL) 카드들 또는 드라이브들, 다른 어떤 적절한 컴퓨터-판독가능한 저장 매체들, 또는 이들 중 둘 이상의 어떤 적절한 조합을 포함할 수 있다. 적절한 경우, 컴퓨터-판독가능한 저장 매체는 휘발성, 비휘발성, 또는 휘발성 및 비휘발성의 조합일 수 있다.
도 4a 및 4b는 3차원 모델을 위한 병합 대상이 되는 입력 이미지들의 제공 방법의 실시예들을 나타내는 도면들이다.
도 4a에는 축(AX) 상에 배열된 복수의 카메라들(CAM1, CAM2)의 예시적인 어레이가 도시되어 있다. 전술한 병합 대상이 되는 복수의 입력 이미지들은 이와 같은 복수의 카메라들(CAM1, CAM2)에 의해 각각 캡쳐된 이미지들(I1, I2)일 수 있다. 도시의 편의상 도 4a에는 2개의 카메라들이 도시되어 있으나, 이에 한정되는 것은 아니며 3개 이상의 카메라들을 이용하여 병합대상이 되는 복수의 이미지들이 제공될 수 있다.
실시예들에 따라서, 카메라들(CAM1, CAM2)은 개별 사진 이미지들을 캡처하거나 또는 일련의 이미지들을 비디오로서 캡처하도록 구성된, 이미지 센서를 포함할 수 있다. 예를 들어, 카메라들(CAM1, CAM2)은 전하 결합 소자(charge-coupled device: CCD) 이미지 센서 또는 상보형 금속산화 반도체(complementary metal-oxide-semiconductor: CMOS) 능동 픽셀(active-pixel) 이미지 센서를 포함할 수 있다.
카메라들(CAM1, CAM2)은 카메라(212)의 렌즈 어셈블리의 위치, 초점 거리(focal length), 또는 배율(magnification) 및 카메라(212)의 이미지 센서의 위치 또는 크기에 적어도 부분적으로 의존하는, 시야(field of view: FOV)를 가질 수 있다. 도 4a에 도시된 바와 같이, 제1 카메라(CAM1)는 제1 시야 범위(FOV1)를 가질 수 있고 제2 카메라(CAM2)는 제2 시야 범위(FOV2)를 가질 수 있다.
FOV는 카메라들(CAM1, CAM2)을 통해 볼 수 있는 특정 장면의 수평, 수직, 또는 대각선 범위(extent)를 의미할 수 있다. 카메라들(CAM1, CAM2)의 FOV 내의 객체들은 카메라(212)의 이미지 센서에 의해 캡처될 수 있고, 상기 FOV 밖의 객체들은 상기 이미지 센서 상에 나타나지 않을 수 있다.
카메라는 가리키는 각도 또는 방향을 나타내는 배향(orientation)을 가질 수 있다. 도 4a에 도시된 바와 같이, 제1 카메라(CAM1)는 제1 배향(ORT1)을 가질 수 있고 제2 카메라(CAM2)는 제2 배향(ORT1)을 가질 수 있다.
카메라간 간격(inter-camera spacing)(ICS), 카메라들(CAM1, CAM2)의 시야 범위들(FOV1, FOV2) 및 배향들(ORT1, ORT2)에 의존하여 카메라들(CAM1, CAM2)에 의해 캡쳐되는 이미지들(I1, I2)의 중첩 영역은 변화하게 된다.
도 4b에 도시된 바와 같이, 전술한 병합 대상이 되는 복수의 입력 이미지들은 1개의 카메라(CAM)에 의해 순차적으로 캡쳐된 이미지들 이미지들(I1, I2)일 수 있다. 예를 들어, 이미지들(I1, I2)은 연속 촬영 모드에 의해 캡쳐된 이미지들일 수도 있고, 하나의 이미지의 품질 향상을 위한 오버샘플링되는 이미지들일 수도 있다. 이 경우 이미지들(I1, I2)이 캡쳐되는 시간적 차이가 발생하고, 모바일용 카메라의 경우에는 사용자의 손떨림 등에 의해 이미지들(I1, I2)의 중첩 영역은 변화하게 된다.
도 5는 트래킹 기반의 이미지 시퀀스 및 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 이미지 세트를 나타내는 도면이다.
트래킹 기반의 3차원 모델 생성은 이미지 시퀀스에 기초하여 수행된다. 이러한 트래킹에 기반한 방법은 시간적으로 연속한 2개의 이미지들을 처리하여 포즈 정보를 생성하기 때문에, 이미지의 트래킹 중에 블러(blur) 등의 입력 영상 열화가 있거나 대상체의 특정 부분에 대한 이미지가 누락되는 경우 이미지 획득부터 다시 진행하거나 생성된 3차원 모델의 품질이 저하되는 문제가 있다.
반면에 본 발명의 실시예들에 따른 3차원 모델의 생성 방법은, 전술한 바와 같이 이미지가 획득된 시간에 무관하게 입력 이미지들의 상관도에 기초하여 처리 순서 또는 등록 순서를 결정하기 때문에 시간과 무관한 임의의 이미지 세트를 필요로 한다.
이와 같이, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치는 입력 이미지들의 상관도를 나타내는 이미지 그래프에 기초하여 등록 순서를 결정함으로써 부족한 입력 이미지의 추가 및 노이즈가 많은 이미지의 제거를 용이하게 수행할 수 있다.
종래기술의 하나로서 SLAM(simultaneous localization and mapping)은 순차적인 이미지 시퀀스로부터 실시간 트래킹 및 재구성에 중점을 두고 있다. 그러나 SLAM은 스파스 포인트 클라우드의 트래킹에 최적화되어 있기 때문에 스파스 재구성만 구현할 수 있고 덴스 재구성은 불가능하다. 이를 보완하기 위하여 KinectFusion 알고리즘은 작은 사이즈의 대상체에 대해서 색상 데이터 및 깊이 데이터(또는 RGBD 데이터)를 사용하여 3차원 모델을 재구성한다. 그러나, KintecFusion 알고리즘은 단지 깊이 정보만을 사용하는 프레임-모델 정렬(frame-to-model alignment)에 의해 카메라 포즈를 추정하기 때문에 연속된 프레임들 사이의 카메라 모션이 큰 경우에는 정확한 포즈 추정에 실패할 수 있다. 한편 색상 데이터와 반복 최근점(ICP, iterative closest point) 기법을 병합한 종래 방법은 카메라 모션이 큰 경우에는 비교적 정확한 포즈 추정이 가능하지만 카메라 모션이 작은 경우에는 3차원 포인트 클라우드의 정확도가 낮아서 포즈 추정의 정확도가 낮은 문제가 있다. 또 다른 종래기술로서 점진적 SFM(incremental structure from motion) 또는 비쥬얼 SFM 방법은 비교적 향상된 성능을 보이지만 3차원 포인트 클라우드 및 포즈 추정의 정확도를 위해서는 이미지 쌍들 사이의 큰 베이스라인(large baseline)이 요구되기 때문에 작은 스케일의 재구성에 한정된다는 단점이 있다.
본 발명의 실시예들은 강건함(robustness)을 위한 색상 데이터 기반의 재구성 및 정확성(accuracy)을 위한 많은 양의 정보에 기반한 재구성을 병합함으로써, 특히 핸드-헬드(hand-held) 스캔 시스템에 유용하게 적용될 수 있다.
이와 같이, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치는, 색상 데이터 및 깊이 데이터를 함께 이용함으로써 카메라 모션이 큰 경우 및 작은 경우 모두에 대해 정확한 포즈 정보를 추정할 수 있다.
도 6은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 이미지 그래프 생성의 일 실시예를 나타내는 순서도이다.
도 2 및 6을 참조하면, 이미지 그래프 생성부(30)는 복수의 입력 이미지들(IIMG)의 색상 데이터에 기초하여 복수의 입력 이미지들(IIMG)의 각각에 포함되는 2차원 특징 점들을 추출할 수 있다(S210). 2차원 특징 점들의 추출에 대해서는 도 7을 참조하여 후술한다. 이미지 그래프 생성부(30)는 서로 다른 입력 이미지들에 포함되는 2차원 특징 점들의 대응 관계를 나타내는 매칭 정보를 생성하고(S220), 상기 2차원 특징 점들의 매칭 정보에 기초하여 상기 상관도 값들을 결정할 수 있다(S230). 상관도 값들을 결정에 대한 실시예들은 도 8 및 9를 참조하여 후술한다.
도 7은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 특징 점 검출 방식의 예들을 나타내는 도면이다.
이미지에서 물체를 추적하거나 인식할 때, 서로 다른 이미지들을 매칭할 때 가장 일반적인 방법은 이미지에서 주요 특징 점들(feature point)을 추출하여 매칭하는 것이다. 특징 점은 통상 키 포인트(key point) 또는 관심 점(interesting point)라 지칭될 수 있다.
첫번째 이미지와 대응되는 지점을 두번째 이미지에서 찾는다고 했을 때, A 지점은 쉽게 찾을 수 있지만 B 지점은 찾기가 곤란할 수 있다. 이와 같이 이미지들을 매칭하는데 있어서 A 지점처럼 주위 배경과 구분되면서 식별이 용이한 지점을 특징 점으로 추출할 수 있다.
좋은 특징 점이 되기 위한 조건은, 물체의 형태나 크기, 위치가 변해도 쉽게 식별이 가능할 것, 카메라의 시점, 조명이 변해도 영상에서 해당 지점을 쉽게 찾아낼 수 있을 것 등이 있다.
이미지에서 이러한 조건을 만족하는 가장 좋은 특징 점 은 바로 코너점(corner point)이며, 도 7에 도시된 해리스 코너(Harris Corner), SIFT(scale-invariant feature transform) 코너와 같은 대부분의 특징 점 추출 알고리즘들은 이러한 코너점 검출을 바탕을 두고 있다.
실시예들에 따라서, 특징 점 검출 및 매칭은 이미지의 그레이스케일(grayscale) 버전들에 대해 수행될 수 있고, 특정 콘트라스트는 별도의 연산(operation)에서 또는 룩업 테이블(look-up table)을 통해 이미지들에 적용될 수 있다.
실시예들에 따라서, 특징 점 검출은 로컬 콘트라스트 향상을 이용하여 이미지에 대해 글로벌하게 수행될 수 있다. 로컬 콘트라스트 향상은 "로컬" 콘트라스트를 증가시키는 동시에 "글로벌" 콘트라스트의 증가를 방지하여, 대규모 섀도우(shadow)/하이라이트(hightlight) 디테일을 보호할 수 있다.
예를 들어, 로컬 콘트라스트 경사들(gradients)은 특징에 대응되는 에지, 코너(corner), 또는 "블롭(blob)"을 나타낼 수 있다. 이미지의 특징들은, 예를 들면, 스케일 불변 특징 변환(scale-invariant feature transform: SIFT), 고속의 강인한 특징 추출(speeded up robust features: SURF), 또는 배향된 FAST 및 회전된 BRIEF(oriented FAST and Rotated BRIEF: ORB) 와 같은 특징 검출 알고리즘을 이용하여 검출될 수 있다. 여기서 FAST는 "가속된 세그먼트 테스트로부터의 특징들(features from accelerated segment test)"을 나타내고 BRIEF는 "이진 강건한 독립적 기본 특징들(binary robust independent elementary features)"을 나타낸다.
특정 실시예들에서, 특징 점 검출 프로세스는 하나 이상의 특징 점들을 검출할 수 있다. 예를 들어, 특징 점들은 다수의 가우스 평활화 연산들(Gaussian smoothing operations)의 차이를 취하여 검출될 수 있다. 또한, 특징 점들의 위치 및 각 특징 점의 콘트라스트 값들은 저장될 수 있다.
실시예들에 따라서, 특징 점들을 매칭하는 데 이용되는 영역의 크기는 이미지들의 크기에 따라 설정될 수 있다. 특정 실시예들에서, 카메라 시스템의 기하구조를 알 수 있으며, 알려진 카메라 시스템 기하구조에 기반하여, 인접한 이미지들의 중첩 영역들의 대략적인 픽셀수는 선험적으로 알 수 있다. 제한으로서가 아니라 예로서, 카메라 시스템의 카메라들의 위치 및 배향은 서로에 대해 고정되어 있기 때문에, 카메라들 간의 중첩도 또한 알 수 있다.
특정 실시예들에서, 특징 점들의 대응 쌍들을 결정하는 단계는 최근접 이웃(nearest-neighbor) 검색 알고리즘을 이용하여 수행될 수 있다. 예를 들어, 최근접 이웃 검색 알고리즘은, 이미지의 중첩 영역의 각 검색 영역 내의 특징 점들의 대응 패턴들과 매칭되는, 이미지의 중첩 영역의 각 검색 영역 내의 특징 점들의 패턴들을 식별할 수 있다.
특정 실시예들에서, 최근접 이웃 알고리즘은 대응 특징 점들의 쌍들을 결정하기 위해 각 특징 점 주위의 검색 반경을 이용할 수 있다. 검색 영역은 32 픽셀, 64 픽셀의 반경, 또는 어떤 적절한 반경을 가질 수 있거나, 또는 검색 영역은 32 픽셀 Х 32 픽셀, 64 픽셀 Х 64 픽셀의 크기, 또는 어떤 적절한 크기를 가질 수 있다.
도 8 및 9는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 이미지 그래프의 예들을 나타내는 도면들이다.
도 8에는 예시적으로 3차원 모델을 위한 병합 대상이 되는 제1 내지 제5 입력 이미지들(I0~I4)에 각각 포함되는 특징 점들(Xij)의 매칭 정보(MINF)가 도시되어 있다. 도 8에서 동일한 행에 배열된 특징 점들은 이미지의 동일한 지점에 대응된다. 예를 들어, 매칭 정보(MINF)를 통하여 제1 입력 이미지(I0)의 특징 점(X02), 제2 입력 이미지(I1)의 특징 점(X11), 제3 입력 이미지(I2)의 특징 점(X22) 및 제4 입력 이미지(I3)의 특징 점(X32)은 모두 대응되는 특징 점들이고, 제5 입력 이미지(I4)에는 대응되는 특징 점이 없음을 알 수 있다. 이러한 매칭 정보(MINF)를 통하여 서로 다른 입력 이미지들 사이의 상관도 값들을 결정할 수 있다. 매칭 정보(MINF)는 상관도 값들과 함께 이미지 그래프에 포함될 수 있다.
도 9에는 예시적으로 3차원 모델을 위한 병합 대상이 되는 제1 내지 제9 입력 이미지들(I1~I9) 사이의 상관도 값들의 일 예가 숫자로 표시되어 있다.
도 2의 이미지 그래프 생성부(30)는 도 8을 참조하여 설명한 바와 같은 2차원 특징 점들의 매칭 정보(MINF)에 기초하여 상관도 값들을 결정할 수 있다. 일 실시예에서, 이미지 그래프 생성부(30)는 2개의 입력 이미지들(Ii, Ij)의 2차원 특징 점들의 매칭되는 대응 쌍들의 개수를 2개의 입력 이미지들(Ii, Ij) 사이의 상관도 값(Mi,j)으로 결정할 수 있다. 상관도 값(Mi,j)은 2개의 이미지들(Ii, Ij) 사이의 관계이므로 Mi,j=Mj,i의 관계를 만족한다. 도 9의 예에서, M3,4=M4,3=145에 해당한다.
일 실시예에서, 제어부(10)는 이미지 그래프(IMGR)에 기초하여 복수의 입력 이미지들 중에서 다른 입력 이미지들과의 상기 상관도 값들이 기준 값보다 작은 입력 이미지를 노이즈 이미지로 결정하여 폐기할 수 있다. 예를 들어, 도 9의 예에서, 상기 기준 값이 25로 설정된 경우 제1 입력 이미지(I1)는 다른 입력 이미지들(I2~I9)과의 상관도 값들(2, 15, 13, 11, 19, 7, 11, 5)이 모두 기준 값인 25보다 낮으므로 노이즈 이미지로 결정될 수 있다.
도 10은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 등록 순서 결정의 일 실시예를 나타내는 순서도이고, 도 11, 12 및 13은 도 10의 등록 순서 결정을 설명하기 위한 도면들이다.
도 2 및 10을 참조하면, 제어부(10)는 상관도 값들 중에서 최대 상관도 값에 상응하는 2개의 입력 이미지들을 첫 번째 등록 대상으로 결정할 수 있다(S310).
예를 들어, 도 11에 도시된 바와 같이, 제5 및 제6 입력 이미지들(I5, I6) 사이의 상관도 값(M5,6)이 203으로서 모든 상관도 값들 중에서 최대 상관도 값에 해당하므로, 제어부(10)는 제5 및 제6 입력 이미지들(I5, I6)을 첫 번째 등록 대상으로 결정할 수 있다.
한편, 제어부(10)는 등록 전의 입력 이미지들의 각각 및 이미 등록된 입력 이미지들과의 상관도 값들의 합을 결정하고(S320), 상기 상관도 값들의 합이 최대가 되는 등록 전의 입력 이미지를 상기 이미 등록된 입력 이미지들 다음의 등록 대상으로 결정할 수 있다(S330).
예를 들어, 도 12에 도시된 바와 같이, 제5 및 제6 입력 이미지들(I5, I6)이 이미 등록된 경우, 등록 전의 입력 이미지들(I1, I2, I3, I4, I7, I8, I9)의 각각에 대하여 이미 등록된 제5 및 제6 입력 이미지들(I5, I6)과의 상관도 값들의 합(CSM)을 구할 수 있다. 예를 들어, 등록 전의 제4 입력 이미지(I4)에 상응하는 상관도 값들의 합(CSM)은 62+171=133이 된다. 이와 같이 구해진 합들(CSM) 중에서 최대인 289의 합(CSM)에 해당하는 등록 전의 제8 입력 이미지(I8)을 이미 등록된 제5 및 제6 입력 이미지들(I5, I6) 다음의 등록 대상으로 결정할 수 있다.
이후, 도 13에 도시된 바와 같이, 제5, 제6 및 제8 입력 이미지들(I5, I6, I8)이 이미 등록된 경우, 등록 전의 입력 이미지들(I1, I2, I3, I4, I7, I9)의 각각에 대하여 이미 등록된 제5, 제6 및 제8 입력 이미지들(I5, I6, I8)과의 상관도 값들의 합(CSM)을 구할 수 있다. 예를 들어, 등록 전의 제7 입력 이미지(I7)에 상응하는 상관도 값들의 합(CSM)은 62+171+121=354가 된다. 이와 같이 구해진 합들(CSM) 중에서 최대인 364의 합(CSM)에 해당하는 등록 전의 제7 입력 이미지(I7)을 이미 등록된 제5, 제6 및 제8 입력 이미지들(I5, I6, I8) 다음의 등록 대상으로 결정할 수 있다.
어떠한 순서로 입력 이미지들에 대한 포즈 정보를 추정하는가는 포즈 추정의 정확도에 큰 영향을 미친다. 본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치는, 색상 데이터에 기초하여 입력 이미지들의 등록 순서를 결정함으로써, 부적절한 등록 순서에 의해 포즈 추정의 에러가 누적되는 것을 최소화할 수 있다. 이와 같이, 색상 데이터에 기초하여 결정된 등록 순서에 따라서 복수의 등록 이미지들을 이용하여 입력 이미지들의 포즈 정보를 순차적으로 생성함으로써 정확한 포즈 정보를 추정할 수 있고 정밀한 3차원 모델을 재구성할 수 있다.
도 14a 및 14b는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 포즈 정보를 설명하기 위한 도면들이다.
도 14a에는 기준 좌표계(reference coordinate system)(또는 월드 좌표계(world coordinate system))(WCS) 및 하나의 입력 이미지에 상응하는 카메라 좌표계(camera coordinate system)(CCS)가 예시적으로 도시되어 있다. 하나의 포인트(P)의 기준 좌표계(WCS)에 대한 위치, 즉 좌표 값들은 (Xw, Yw, Zw)로 표현되고 카메라 좌표계(CCS)에 대한 좌표 값들은 (Xc, Yc, Zc)로 표현될 수 있다. 이러한 서로 다른 좌표계들에 대한 좌표 값들은 도 14b에 도시된 바와 같은 기하변환행렬(Tc w)을 이용하여 변환될 수 있다. 도 14b에서, r11, r12, r13, r21, r22, r23, r31, r32, r33은 기준 좌표계(WCS)에 대한 카메라 좌표계(CCS)의 회전(rotation)을 나타내고 tx, ty, tz는 기준 좌표계(WCS)에 대한 카메라 좌표계(CCS)을 병진(translation)을 나타낸다. 이러한 회전 및 병진은 상응하는 입력 이미지를 캡쳐할 때의 카메라의 배향 및 위치에 해당한다. 전술한 포즈 정보(PINF)는 이러한 기하변환행렬(Tc w)로서 표현될 수 있다.
도 15는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 포즈 정보 생성의 일 실시예를 나타내는 순서도이다.
도 2 및 15를 참조하면, 포즈 추정부(40)는 이미 등록된 입력 이미지들의 상기 깊이 데이터에 기초하여 가상 깊이 데이터를 생성할 수 있다(S410). 포즈 추정부(40)는 상기 가상 깊이 데이터 및 상기 이미 등록된 입력 이미지들 다음의 등록 대상으로 결정된 현재 입력 이미지의 깊이 데이터에 기초하여 상기 현재 입력 이미지의 포즈 정보를 생성할 수 있다(S420).
도 13의 예에서, 제5, 제6 및 제8 입력 이미지들(I5, I6, I8)이 등록 이미지들에 해당하고, 제7 입력 이미지(I7)가 포즈 정보를 생성하여 등록하고자 하는 현재 입력 이미지에 해당한다. 이 경우, 포즈 추정부(40)는 복수의 등록 이미지들(I5, I6, I8)에 기초하여 현재 입력 이미지(I7)의 포즈 추정을 위한 가상 깊이 데이터를 생성할 수 있다.
일 실시예에서, 포즈 추정부(40)는 상기 가상 깊이 데이터 및 상기 현재 입력 이미지의 상기 깊이 데이터에 기초한 반복 최근점(ICP, iterative closest point) 알고리즘을 수행하여 상기 현재 입력 이미지의 포즈 정보를 생성할 수 있다.
반복 최근점(ICP) 알고리즘은 정합 및 교정 오류의 보상에서 중요한 역할을 한다. ICP 알고리즘은 대응관계 검색과 포즈 추정 단계를 번갈아 가며 두 포인트 클라우드들을 정합한다. ICP 알고리즘은 기본적으로 비용 함수를 최소화하는 해를 계산하는 방식으로 수행된다. 본 발명의 실시예들은 특정한 ICP 알고리즘에 한정되지 않으며, 당업자에게 알려진 다양한 ICP 알고리즘이 사용될 수 있다.
트래킹 기반의 포즈 추정 방법은 포즈 정보가 생성된 것으로서 인접한 1개의 입력 이미지의 깊이 데이터에 기초하여 현재 입력 이미지의 포즈를 추정한다. 반면에 본 발명의 실시예들에 따른 포즈 추정은 이미 등록된 복수의 입력 이미지들, 즉 등록 이미지들을 사용하여 생성되는 가상 깊이 데이터에 기초하여 현재 입력 이미지의 포즈를 추정한다. 전술한 바와 같이 등록 이미지들은 색상 데이터에 기초한 등록 순서에 따라 생성되는 정확한 포즈 정보를 포함한다. 이와 같은 등록 이미지들의 깊이 데이터들을 이용함으로써 현재 입력 이미지의 포즈 추정의 정확도를 향상시킬 수 있다. 이와 같이 본 발명의 실시예들에 따라서 복수의 등록 이미지들에 기초한 가상 깊이 데이터를 이용하여 현재 입력 이미지의 포즈 추정을 위한 ICP를 수행할 수 있고, 이러한 가상 깊이 데이터에 기초한 ICP를 번들 ICP라 칭할 수 있다.
도 16은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 가상 깊이 데이터 생성의 일 실시예를 나타내는 순서도이다.
도 2 및 16을 참조하면, 포즈 추정부(40)는 이미 등록된 입력 이미지들을 동일한 좌표계에 대한 3차원 이미지들로 변환하고(S411), 상기 3차원 이미지들에 각각 상응하는 픽셀별 깊이 값들에 대한 평균에 기초하여 가상 깊이 데이터의 픽셀별 깊이 값을 생성할 수 있다(S412).
이와 같은 가상 깊이 데이터의 생성은 하기의 수학식 1로 표현될 수 있다.
[수학식 1]
상기 수학식 1에서, Ireg는 등록 이미지를 나타내고 Ii는 i번째 입력 이미지를 나타내고, Xw i는 i번째 입력 이미지의 픽셀을 나타내고, Xw는 가상 깊이 데이터의 픽셀을 나타내고, D(Xw i)는 상기 3차원 이미지의 픽셀별 깊이 값을 나타내고, Ivir d(Xw)는 가상 깊이 데이터의 픽셀별 깊이 값을 나타내고, Wi는 i번째 입력 이미지에 상응하는 가중치를 나타낸다.
일 실시예에서, 상기 동일한 좌표계는 기준 좌표계일 수 있다. 다른 실시예에서, 상기 동일한 좌표계는 도 17을 참조하여 후술하는 바와 같은 초기 포즈 정보에 상응하는 좌표계일 수 있다.
일 실시예에서, 상기 이미 등록된 입력 이미지들의 깊이 값들에 대한 수학식 1의 평균은 산술 평균일 수 있다. 다시 말해, 가중치(Wi)는 상수 값인 1/N으로 결정될 수 있고, 여기서 N은 수학식 1의 계산에 포함되는 등록 이미지들의 개수를 나타낸다.
다른 실시예에서, 상기 이미 등록된 입력 이미지들의 깊이 값들에 대한 수학식 1의 평균은 현재 입력 이미지 및 이미 등록된 입력 이미지들 사이의 상관도 값들을 가중치로 사용하는 가중 평균일 수 있다. 다시 말해, 가중치(Wi)는 수학식 1의 계산에 포함되는 등록 이미지들의 현재 입력 이미지와의 상관도 값들의 합에 대한 각 등록 이미지의 상관도 값의 비율로 결정될 수 있다.
도 17은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 현재 입력 이미지의 포즈 정보 생성의 일 실시예를 나타내는 순서도이다.
도 2 및 17을 참조하면, 포즈 추정부(40)는 이미지 그래프(IMGR)에 기초하여 이미 등록된 입력 이미지들 중에서 현재 입력 이미지와의 상관도 값이 가장 큰 최대 상관 이미지를 결정할 수 있다(S421). 포즈 추정부(40)는 상기 최대 상관 이미지의 깊이 데이터 및 현재 입력 이미지의 깊이 데이터에 기초하여 현재 입력 이미지의 초기 포즈 정보를 생성할 수 있다(S422).
도 13의 예에서, 제5, 제6 및 제8 입력 이미지들(I5, I6, I8)이 등록 이미지들에 해당하고, 제7 입력 이미지(I7)가 포즈 정보를 생성하여 등록하고자 하는 현재 입력 이미지에 해당한다. 이 경우, 포즈 추정부(40)는 현재 입력 이미지(I7)와의 상관도 값들은 M7,5=160, M7,6=83, M7,8=121 이므로, 최대 값, 즉 M7,5=160에 상응하는 제5 입력 이미지(I5)가 현재 입력 이미지(I7)에 대한 최대 상관 이미지에 해당한다. 일 실시예에서, 현재 입력 이미지(I7)의 초기 포즈 정보는, 현재 입력 이미지(I7)의 깊이 데이터 및 최대 상관 이미지(I5)의 깊이 데이터에 기초한 반복 최근점(ICP, iterative closest point) 알고리즘을 수행하여 생성될 수 있다. 다른 실시예에서, 현재 입력 이미지(I7)의 초기 포즈 정보는, 현재 입력 이미지(I7) 및 최대 상관 이미지(I5)에 대한 PnP (perspective-n-points) 알고리즘을 수행하여 생성될 수 있다.
포즈 추정부(40)는 가상 깊이 데이터 및 현재 입력 이미지의 깊이 데이터에 기초하여 상기 초기 포즈 정보를 보정하여 현재 입력 이미지의 포즈 정보를 생성할 수 있다(S423). 일 실시예에서, 포즈 추정부(40)는 가상 깊이 데이터, 현재 입력 이미지의 깊이 데이터 및 현재 입력 이미지의 초기 포즈 정보에 기초한 반복 최근점(ICP) 알고리즘을 수행하여 초기 포즈 정보를 보정할 수 있다.
이와 같이, 현재 입력 이미지와 가장 높은 상관도를 갖는 등록 이미지를 사용하여 초기 포즈 정보를 결정함으로써, 반복 최근점(ICP) 알고리즘의 수행시 부정확한 포즈 정보로 수렴할 가능성을 감소함으로써 포즈 추정의 정확도를 향상시킬 수 있다.
도 18은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 현재 입력 이미지의 포즈 정보 생성의 일 실시예를 나타내는 순서도이다.
도 2 및 18을 참조하면, 포즈 추정부(40)는 이미지 그래프에 기초하여 이미 등록된 입력 이미지들 중에서 현재 입력 이미지와의 상관도 값이 기준 값보다 작은 비상관 이미지들을 결정하고(S415), 가상 깊이 데이터의 생성시 상기 비상관 이미지들을 제외할 수 있다(S416). 여기서, 비상관 이미지들을 제외한다는 것은 전술한 수학식 1의 평균 계산에서 비상관 이미지들에 해당하는 픽셀별 깊이 값들을 제외한다는 것을 나타낸다. 현재 입력 이미지와 상관도가 낮은 등록 이미지들을 제외함으로써 초기 포즈 정보 추정의 정확도를 향상시킬 수 있다.
도 19는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 3차원 모델 재구성의 일 실시예를 나타내는 순서도이다.
도 2 및 19를 참조하면, 모델 생성부(70)는 등록 이미지들에 기초하여 3차원 포인트 클라우드를 생성하고(S610), 상기 3차원 포인트 클라우드에 기초하여 대상체에 대한 3차원 모델을 재구성할 수 있다(S620).
일 실시예에서, 상기 등록 이미지들에 대한 3차원 번들 조정(bundle adjustment)을 수행하여 상기 3차원 포인트 클라우드를 최적화할 수 있다. 3차원 번들 조정은 당업자에게 알려진 다양한 방법으로 수행될 수 있다.
일 실시예에서, 3차원 포인트 클라우드에 기초한 TSDF(truncated signed distance function)를 이용하여 상기 3차원 모델의 표면 재구성(surface reconstruction)을 수행할 수 있다.
도 20a, 20b, 21 및 22는 본 발명의 실시예들에 따른 3차원 모델의 생성 방법의 효과를 나타내는 도면들이다.
도 20a에는 복수의 샘플 이미지 샘플들에 대해서 서로 다른 방법들에 따라 추정된 포즈 정보의 병진 에러(translation error)(TERR)가 미터(meter) 단위로 도시되어 있고, 도 20b에는 회전 에러(rotation error)(RERR)가 라디안(radian) 단위로 도시되어 있다. 도 20a 및 20b에서 SCc는 종래의 다양한 방법들에 의한 결과들을 나타내고, SCp는 본 발명의 실시예들에 따른 방법에 의한 결과를 나타낸다. 도 21에는 복수의 이미지 샘플들(ISET1~ISET5)에 대하여 종래의 방법들(SC1~SC3) 및 본 발명의 실시예들에 따른 방법(SCp)에 의한 병진 에러(Tran) 및 회전 에러(Rot)의 보다 구체적인 수치들이 도시되어 있다.
도 20a, 20b 및 21에 도시된 바와 같이, 종래의 방법들과 비교하여 본 발명의 실시예들에 따른 방법(SCp)은 이미지의 종류에 관계 없이 더 균일하고 더 낮은 에러 수치를 구현할 수 있음을 알 수 있다.
도 22는 인접한 2개의 이미지들의 포인트 클라우드들을 겹쳐서 표시한 것이다. 도 22에 도시된 바와 같이, 종래의 방법들(SC1, SC2)과 비교하여 본 발명의 실시예들에 따른 방법(SCp)은 포인트 클라우드들의 중첩도가 더 높고 따라서 포즈 추정의 정확도가 더 높음을 알 수 있다.
도 23은 본 발명의 실시예들에 따른 시스템에 포함되는 촬영 장치를 나타내는 블록도이다.
도 23을 참조하면, 촬영 장치(100)는 변조된(modulated) 송신광(TX)을 조사하는 광원(LS)(110), 센싱부(130) 및 제어 신호들(SYNC, CTRL)을 발생하여 광원(110)과 센싱부(130)를 제어하는 타이밍 콘트롤러((150)를 포함할 수 있다. 센싱부(130)는 수신광(RX)을 전기적 신호로 변환하기 위한 적어도 하나의 깊이 픽셀 (또는 거리 픽셀)을 포함할 수 있다. 또한 센싱부(130)는 가시광(VL)을 전기적 신호로 변환하기 위한 적어도 하나의 컬러 픽셀을 포함할 수 있다.
광원(110)은 소정의 파장을 가지도록 변조된 광(예를 들어, 적외선 또는 근적외선)을 출력할 수 있다. 광원(110)에서 발생된 송신광(TX)은 렌즈(51)를 통하여 피사체(60)에 포커싱될 수 있다. 광원(110)은 제어 신호(CTRL)에 의해 제어되어 세기가 주기적으로 변하는 송신광(TX)을 출력할 수 있다. 광원(110)은 발광 다이오드(light emitting diode, LED), 레이저 다이오드 등으로 구현될 수 있다.
타이밍 콘트롤러(150)에서 발생되는 제어 신호(CTRL)는 도 28a 내지 28d를 참조하여 후술하는 리셋 신호(RST), 전송 제어 신호(TG), 도 30 도 31을 참조하여 후술하는 복조 신호들(TG1~TG4)) 등을 포함할 수 있다. 광원에 제공되는 제어 신호(SYNC)는 복조 신호(TG1~TG4)와의 동기화를 위한 신호를 포함할 수 있다.
센싱부(130)는 일정한 해상도의 깊이 픽셀 및/또는 컬러 픽셀들이 배열된 픽셀 어레이(PX)를 포함한다. 또한 센싱부(130)는 아날로그-디지털 변환부(ADC) 및 픽셀 어레이(PX) 내의 특정한 픽셀을 선택하기 위한 선택 회로(ROW, COL) 등을 포함할 수 있다.
일 실시예에서, 촬영 장치(100)는 깊이 데이터 또는 거리 정보를 제공하기 위한 깊이 픽셀과 색상 데이터 또는 이미지 정보를 제공하기 위한 컬러 픽셀을 포함하는 3차원 이미지 센서일 수 있다. 이 경우 센싱부(130)는 도 25를 참조하여 후술하는 바와 같이 복수의 깊이 픽셀들 및 복수의 컬러 픽셀들이 배열된 픽셀 어레이(PX_CZ)를 포함할 수 있다.
다른 실시예에서, 촬영 장치(100)는 별개의 깊이 센서와 이차원 이미지 센서를 포함할 수 있다. 이 경우 센싱부(130)는 도 27a 및 도 27b를 참조하여 후술하는 바와 같이 복수의 컬러 픽셀들이 배열된 픽셀 어레이(PX_C) 및 복수의 깊이 픽셀들이 배열된 픽셀 어레이(PX_Z)를 포함할 수 있다.
실시예에 따라서, 아날로그-디지털 변환부(ADC)는 각 컬럼 라인마다 연결된 아날로그-디지털 변환기를 이용하여 아날로그 신호들을 병렬로 변환하는 컬럼 아날로그-디지털 변환을 수행하거나, 단일한 아날로그-디지털 변환기를 이용하여 상기 아날로그 신호들을 순차적으로 변환하는 단일 아날로그-디지털 변환을 수행할 수 있다.
실시예에 따라서, 아날로그-디지털 변환부(ADC)는 전술한 노이즈 전압(VB) 및 복조 전압(VD)에 기초하여 유효 전압, 즉 유효 신호 성분을 추출하기 위한 상관 이중 샘플링(Correlated Double Sampling; CDS)부를 포함할 수 있다.
일 실시예에서, 상기 CDS부는 노이즈 성분을 나타내는 아날로그 노이즈 전압 신호와 신호 성분을 나타내는 아날로그 복조 전압 신호의 차이에 기초하여 상기 유효 전압을 추출하는 아날로그 더블 샘플링(Analog Double Sampling)을 수행할 수 있다.
다른 실시예에서, 상기 CDS부는 상기 아날로그 노이즈 전압 신호와 상기 아날로그 복조 전압 신호를 디지털 신호들로 각각 변환한 후 상기 유효 신호 성분으로서 두 개의 디지털 신호의 차이를 추출하는 디지털 더블 샘플링(Digital Double Sampling)을 수행할 수 있다.
또 다른 실시예에서, 상기 CDS부는 상기 아날로그 더블 샘플링 및 상기 디지털 더블 샘플링을 모두 수행하는 듀얼 상관 이중 샘플링을 수행할 수 있다.
도 24는 도 23의 촬영 장치에 포함되는 센싱부의 일 실시예를 나타내는 도면이다.
도 23의 촬영 장치(100)가 3차원 이미지 센서인 경우에 해당하는 센싱부(130a)의 일 예가 도 24에 도시되어 있다.
도 24를 참조하면, 센싱부(130a)는 복수의 컬러 픽셀들과 복수의 깊이 픽셀들이 배열된 픽셀 어레이(PX_CZ), 컬러 픽셀 선택 회로(CROW, CCOL), 깊이 픽셀 선택 회로(ZROW, ZCOL), 컬러 픽셀 컨버터(CADC) 및 깊이 픽셀 컨버터(ZADC)를 포함할 수 있다. 컬러 픽셀 선택 회로(CROW, CCOL)와 컬러 픽셀 컨버터(CADC)는 픽셀 어레이(PX_CZ) 내의 컬러 픽셀을 제어하여 영상 정보(RCDATA)를 제공하고, 깊이 픽셀 선택 회로(ZROW, ZCOL)와 깊이 픽셀 컨버터(ZADC)는 픽셀 어레이(PX_CZ) 내의 깊이 픽셀을 제어하여 거리 정보(RZDATA)를 제공한다.
이와 같이 3차원 이미지 센서에서는 영상의 컬러 정보(RCDATA) 및 거리 정보(RZDATA)를 제공하기 위하여 컬러 픽셀들을 제어하는 구성 요소들과 깊이 픽셀들을 제어하는 구성 요소들이 별도로 구비되어 서로 독립적으로 동작할 수 있다.
도 25는 도 24의 센싱부에 포함되는 픽셀 어레이의 일 실시예를 나타내는 도면이다.
도 25를 참조하면, 픽셀 어레이(PX_CZ)는 컬러 영상 정보를 제공하는 컬러 픽셀들(R, G, B) 및 거리 정보를 제공하는 깊이 픽셀(Z)을 포함한다. 예를 들어, 픽셀 어레이(PX_CZ)에서, 레드 픽셀(R), 그린 픽셀(G), 블루 픽셀(B) 및 깊이 픽셀(Z)을 포함하는 픽셀 패턴(101)이 반복적으로 배치될 수 있다.
각 컬러 픽셀(R, G, B)은 가시광선에 의해 생성된 전자-정공 쌍(Electron-Hole Pair; EHP) 중 전자를 수집하는 광검출 영역을 포함하고, 깊이 픽셀(Z)은 적외선(또는 근적외선)에 의해 생성된 전자를 수집하는 광검출 영역을 포함할 수 있다. 예를 들어, 각 깊이 픽셀(Z)은 상기 가시광선보다 긴 파장을 가지는 상기 적외선(또는 근적외선)에 의해 효율적으로 생성될 수 있도록 상기 컬러 픽셀들(R, G, B)보다 큰 깊이를 가지는 포토다이오드를 포함할 수 있다. 이에 따라, 깊이 픽셀(Z)의 양자 효율(Quantum Efficiency; QE)이 향상될 수 있다.
컬러 픽셀들(R, G, B)의 상부에는 컬러 필터들이 형성되고, 깊이 픽셀(Z)의 상부에는 적외선(또는 근적외선) 필터가 형성될 수 있다. 즉, 레드 픽셀(R)에는 레드 필터가 형성되고, 그린 픽셀(G)에는 그린 필터가 형성되며, 블루 픽셀(B)에는 블루 필터가 형성되고, 깊이 픽셀(Z)에는 적외선(또는 근적외선) 패스 필터가 형성될 수 있다. 또한, 컬러 픽셀들(R, G, B)에는 적외선(또는 근적외선) 차단(Cut) 필터가 더 형성될 수 있다.
도 25에는 픽셀 패턴(101)의 일 예가 도시되어 있으나, 픽셀 패턴은 다양하게 변형될 수 있다. 예를 들어, 하나의 컬러 픽셀과 하나의 깊이 픽셀의 면적의 비, 픽셀 어레이(PX_CZ) 내의 컬러 픽셀들의 개수와 깊이 픽셀들의 개수의 비 및 픽셀 패턴 내의 컬러 픽셀과 깊이 픽셀의 배치 등은 다양하게 변형될 수 있다.
도 26은 도 23의 촬영 장치에 포함되는 센싱부의 일 실시예를 나타내는 도면이다.
도 23의 촬영 장치(100)가 별개의 깊이 센서와 이차원 이미지 센서를 포함하는 경우의 센싱부(130b)의 일 예가 도 26에 도시되어 있다.
도 26을 참조하면, 센싱부(130b)는 복수의 컬러 픽셀들이 배열된 제1 픽셀 어레이(PX_C)와 복수의 깊이 픽셀들이 배열된 제2 픽셀 어레이(PX_Z)를 포함할 수 있다. 영상의 컬러 정보를 위한 가시광(VL)과 거리 정보를 위한 반사광(RX)은 빔 스플릿터(beam splitter)(55)에 의해 분리되어 각각의 픽셀 어레이들(PX_C, PX_Z)에 조사(illuminate)될 수 있다.
컬러 픽셀 선택 회로(CROW, CCOL), 깊이 픽셀 선택 회로(ZROW, ZCOL), 컬러 픽셀 컨버터(CADC) 및 깊이 픽셀 컨버터(ZADC)는 각각의 픽셀 어레이들(PX_C, PX_Z)에 인접하여 배치될 수 있다. 컬러 픽셀 선택 회로(CROW, CCOL)와 컬러 픽셀 컨버터(CADC)는 제1 픽셀 어레이(PX_C) 내의 컬러 픽셀을 제어하여 영상 정보(RCDATA)를 제공하고, 깊이 픽셀 선택 회로(ZROW, ZCOL)와 깊이 픽셀 컨버터(ZADC)는 제2 픽셀 어레이(PX_Z) 내의 깊이 픽셀을 제어하여 거리 정보(RZDATA)를 제공한다.
이와 같이, 별개의 깊이 센서와 2차원 이미지 센서는 영상의 컬러 정보(RCDATA) 및 거리 정보(RZDATA)를 제공하기 위하여 컬러 픽셀들을 제어하는 구성 요소들과 깊이 픽셀들을 제어하는 구성 요소들이 별도로 구비되어 서로 독립적으로 동작할 수 있다.
도 27a 및 27b는 도 26의 센싱부에 포함되는 픽셀 어레이들의 일 실시예를 나타내는 도면이다.
도 27a를 참조하면, 제1 픽셀 어레이(PX_C)는 컬러 영상 정보를 제공하는 컬러 픽셀들(R, G, B)을 포함한다. 즉, 픽셀 어레이(PX_CZ)에서, 레드 픽셀(R), 그린 픽셀(G), 블루 픽셀(B)을 포함하는 픽셀 패턴(102)이 반복적으로 배치될 수 있다. 각 컬러 픽셀(R, G, B)은 가시광선에 의해 생성된 전자-정공 쌍(Electron-Hole Pair; EHP) 중 전자를 수집하는 광검출 영역을 포함할 수 있다. 컬러 픽셀들(R, G, B)의 상부에는 컬러 필터들이 형성될 수 있다. 예를 들어, 레드 픽셀(R)에는 레드 필터가 형성되고, 그린 픽셀(G)에는 그린 필터가 형성되며, 블루 픽셀(B)에는 블루 필터가 형성될 수 있다.
도 27b를 참조하면, 제2 픽셀 어레이(PX_Z)는 거리 정보를 제공하는 깊이 픽셀(Z)을 포함한다. 예를 들어, 동일한 깊이 픽셀(Z)들이 반복적으로 배치될 수 있다. 깊이 픽셀(Z)은 적외선(또는 근적외선)에 의해 생성된 전자를 수집하는 광검출 영역을 포함할 수 있다. 깊이 픽셀(Z)의 상부에는 적외선(또는 근적외선) 필터가 형성될 수 있다.
도 28a 내지 도 28d는 픽셀 어레이에 포함되는 단위 픽셀의 예들을 나타내는 회로도들이다.
도 28a 내지 도 28d에 도시된 단위 픽셀(200a, 200b, 200c, 200d)은 컬러 포토다이오드를 포함하는 컬러 픽셀이거나, 거리 포토다이오드를 포함하는 깊이 픽셀일 수 있다.
도 28a를 참조하면, 단위 픽셀(200a)은, 광 감지 소자(Photo Sensitive Device)로서 포토다이오드(PD)를 포함하고, 독출 회로(Readout Circuit)로서 전송 트랜지스터(TX), 리셋 트랜지스터(RX), 드라이브 트랜지스터(DX) 및 선택 트랜지스터(SX)를 포함할 수 있다.
예를 들어, 포토다이오드(PD)는 p형 기판에 형성되는 n형 영역을 포함할 수 있으며, 상기 n형 영역과 상기 p형 기판이 p-n 접합 포토다이오드일 수 있다. 포토다이오드(PD)는 외부로부터 광(예를 들어, 가시광선 또는 적외선)을 수신하고, 수신된 광에 기초하여 광 전하(Photo Charge)를 생성한다. 실시예에 따라, 단위 픽셀(200a)은 포토다이오드(PD)와 함께, 또는 포토다이오드(PD)를 대신하여 포토 트랜지스터, 포토 게이트, 핀드 포토 다이오드 등을 포함할 수 있다.
포토다이오드(PD)에서 생성된 광 전하는 전송 트랜지스터(TX)를 통하여 플로팅 디퓨전 노드(FD)로 전송된다. 예를 들어, 전송 제어 신호(TG)가 제1 레벨(예컨대, 하이 레벨)을 가질 때에 전송 트랜지스터(TX)가 턴온되고, 포토다이오드(PD)에서 생성된 광 전하는 턴온된 전송 트랜지스터(TX)를 통하여 플로팅 디퓨전 노드(FD)로 전송될 수 있다.
드라이브 트랜지스터(DX)는 소스 팔로워 버퍼 증폭기(Source Follower buffer Amplifier) 역할을 하여 플로팅 디퓨전 노드(FD)에 충전된 전하에 대응하는 신호를 증폭할 수 있다. 선택 트랜지스터(SX)는 선택 신호(SEL)에 응답하여 상기 증폭된 신호를 컬럼 라인(COL)에 전송할 수 있다. 플로팅 디퓨전 노드(FD)는 리셋 트랜지스터(RX)에 의해 리셋될 수 있다. 예를 들어, 리셋 트랜지스터(RX)는 리셋 신호(RS)에 응답하여 플로팅 디퓨전 영역(FD)에 저장되어 있는 광 전하를 상관 이중 샘플링(CDS: Correlated Double Sampling) 동작을 위한 일정한 주기로 방전시킬 수 있다.
도 28a에서는 하나의 포토다이오드(PD)와 4개의 트랜지스터들(TX, RX, DX, SX)을 구비하는 단위 픽셀을 예시하고 있지만 본 발명에 따른 실시예가 이에 한정되는 것은 아니다. 단위 픽셀의 다른 실시예가 도 28b 내지 도 28d에 도시된다.
도 28b를 참조하면, 단위 픽셀(200b)은, 광 감지 소자로서 포토다이오드(PD)를 포함하고, 독출 회로로서 리셋 트랜지스터(RX), 드라이브 트랜지스터(DX) 및 선택 트랜지스터(SX)를 포함할 수 있다. 즉, 단위 픽셀(200b)은 3-트랜지스터 구조를 가질 수 있다.
도 28c를 참조하면, 단위 픽셀(200c)은 광 감지 소자로서 포토다이오드(PD)를 포함하고, 독출 회로로서 전송 트랜지스터(TX), 게이트 트랜지스터(GX), 리셋 트랜지스터(RX), 드라이브 트랜지스터(DX) 및 선택 트랜지스터(SX)를 포함할 수 있다. 즉, 단위 픽셀(200c)은 5-트랜지스터 구조를 가질 수 있다. 게이트 트랜지스터(GX)는 선택 신호(SEL)에 응답하여 전송 제어 신호(TG)를 전송 트랜지스터(TX)에 선택적으로 인가할 수 있다.
도 28d를 참조하면, 단위 픽셀(200d)은 광 감지 소자로서 포토다이오드(PD)를 포함하고, 독출 회로로서 포토 트랜지스터(PX)(또는 포토 게이트), 전송 트랜지스터(TX), 리셋 트랜지스터(RX), 드라이브 트랜지스터(DX) 및 선택 트랜지스터(SX)를 포함할 수 있다. 즉, 단위 픽셀(200d)은 5-트랜지스터 구조를 가질 수 있다. 또한, 단위 픽셀(200d)은 게이트 트랜지스터(GX) 또는 바이어스 트랜지스터를 더 포함하는 6-트랜지스터 구조를 가질 수 있다.
포토 트랜지스터(PX)는 포토 게이트 신호(PG)에 응답하여 온/오프될 수 있다. 포토 트랜지스터(PX)가 온 상태일 때, 포토다이오드(PD)는 입사되는 빛을 감지하여 광 전하를 생성할 수 있다. 반면, 포토 트랜지스터(PX)가 오프 상태일 때, 포토다이오드(PD)는 입사되는 빛을 감지하지 않을 수 있다.
도 29는 깊이 센서에 포함되는 픽셀 어레이의 일 예를 나타내는 도면이다.
도 29를 참조하면, 픽셀 어레이(PX_Z)는 거리 정보를 제공하기 위한 깊이 픽셀들(Z1, Z2, Z3, Z4)을 포함한다. 깊이 픽셀들(Z1, Z2, Z3, Z4)은 서로 다른 위상을 갖는 복수의 복조 신호들에 응답하여 동작하는 비행시간(TOF) 방식의 픽셀들일 수 있다. 예를 들어, Z1 은 도 23의 촬영 장치(100)의 송신광(TX)에 대하여 0도의 위상차를 갖는 복조 신호에 응답하여 동작하는 픽셀이고, Z2는 송신광(TX)에 대하여 90도의 위상차를 갖는 복조 신호에 응답하여 동작하는 픽셀이고, Z3은 송신광(TX)에 대하여 180도의 위상차를 갖는 복조 신호에 응답하여 동작하는 픽셀이고, Z4는 송신광(TX)에 대하여 270도의 위상차를 갖는 복조 신호에 응답하여 동작하는 픽셀일 수 있다. 픽셀 어레이(PX_Z)에는 서로 다른 위상을 갖는 복조 신호들에 응답하여 동작하는 깊이 픽셀들(Z1, Z2, Z3, Z4)의 패턴이 반복적으로 배치될 수 있다.
도 30은 도 29의 픽셀 어레이에 포함되는 깊이 픽셀의 일 예를 나타내는 회로도이다. 도 30에는 도 29의 픽셀 어레이에 포함된 하나의 패턴(103)이 도시되어 있다.
도 28a 내지 28d에 도시된 싱글-탭(single tab) 구조의 단위 픽셀들과는 다르게 도 30의 픽셀들(Z1, Z2, Z3, Z4)은 2-탭 구조를 가지며 비행시간 방식의 거리 측정을 위한 깊이 픽셀로 이용될 수 있다.
도 30을 참조하면, 제1 픽셀(Z1) 및 제3 픽셀(Z3)은 광 감지 소자(Photo Sensitive Device)로서 하나의 포토다이오드(PD)를 공유하고, 제1 독출 회로(Readout Circuit)로서 제1 전송 트랜지스터(TX1), 제1 리셋 트랜지스터(RX1), 제1 드라이브 트랜지스터(DX1) 및 제1 선택 트랜지스터(SX1)를 포함하고, 제3 독출 회로로서 제3 전송 트랜지스터(TX3), 제3 리셋 트랜지스터(RX3), 제3 드라이브 트랜지스터(DX3) 및 제3 선택 트랜지스터(SX3)를 포함할 수 있다. 마찬가지로 제2 픽셀(Z2) 및 제4 픽셀(Z4)은 광 감지 소자로서 하나의 포토다이오드(PD)를 공유하고, 제2 독출 회로로서 제2 전송 트랜지스터(TX2), 제2 리셋 트랜지스터(RX2), 제2 드라이브 트랜지스터(DX2) 및 제2 선택 트랜지스터(SX2)를 포함하고, 제4 독출 회로로서 제4 전송 트랜지스터(TX4), 제4 리셋 트랜지스터(RX4), 제4 드라이브 트랜지스터(DX4) 및 제4 선택 트랜지스터(SX4)를 포함할 수 있다.
예를 들어, 포토다이오드(PD)는 p형 기판에 형성되는 n형 영역을 포함할 수 있으며, 상기 n형 영역과 상기 p형 기판이 p-n 접합 포토다이오드에 상응할 수 있다. 포토다이오드(PD)는 외부로부터 광(예를 들어, 가시광선 또는 적외선)을 수신하고, 수신된 광에 기초하여 광 전하(Photo Charge)를 생성한다. 실시예에 따라, 깊이 픽셀들은 포토다이오드(PD)와 함께, 또는 포토다이오드(PD)를 대신하여 포토 트랜지스터, 포토 게이트, 핀드 포토 다이오드 등을 포함할 수 있다.
포토다이오드(PD)에서 생성된 광 전하는 전송 트랜지스터들(TX1, TX2, TX3, TX4)을 통하여 플로팅 디퓨전 노드들(FD1, FD2, FD3, FD4)로 각각 전송된다. 제1 내지 제4 복조 신호들(TG1, TG2, TG3, TG4)은 전술한 바와 같이 송신광(TX)에 대하여 각각 0도, 90도, 180도, 270도의 위상차를 갖는 신호들일 수 있다. 이와 같이 이와 같이 서로 다른 위상을 갖는 복조 신호들(TG1, TG2, TG3, TG4)을 이용하여 피사체에 의해 반사되어 온 적외선의 비행시간을 측정함으로써 피사체까지의 거리를 계산할 수 있다.
드라이브 트랜지스터들(DX1, DX2, DX3, DX4)은 소스 팔로워 버퍼 증폭기(Source Follower buffer Amplifier) 역할을 하여 플로팅 디퓨전 노드들(FD1, FD2, FD3, FD4)에 충전된 전하에 대응하는 신호들을 각각 증폭할 수 있다. 선택 트랜지스터들(SX1, SX2, SX3, SX4)은 선택 신호들(SEL1, SEL2, SEL3, SEL4)에 응답하여 상기 증폭된 신호들을 컬럼 라인들(COL1, COL2)에 각각 전송할 수 있다. 플로팅 디퓨전 노드들(FD1, FD2, FD3, FD4)은 리셋 트랜지스터들(RX1, RX2, RX3, RX4)에 의해 각각 리셋될 수 있다. 예를 들어, 리셋 트랜지스터들(RX1, RX2, RX3, RX4)은 리셋 신호들(RS1, RS2, RS3, RS4)에 응답하여 플로팅 디퓨전 영역들(FD1, FD2, FD3, FD4)에 저장되어 있는 광 전하를 상관 이중 샘플링(CDS: Correlated Double Sampling) 동작을 위한 일정한 주기로 방전시킬 수 있다.
도 30에 도시된 픽셀들(Z1, Z2, Z3, Z4)은 거리 측정을 위한 2-탭 구조의 깊이 픽셀의 일 예일 뿐이며, 깊이 픽셀은 싱글-탭 구조, 4-탭 구조 등 다양한 구조로 형성될 수 있다. 깊이 픽셀의 구조에 따라서 제어 신호들의 적합한 타이밍들이 결정될 수 있다.
도 31은 도 30의 깊이 픽셀들의 비행시간 방식의 동작을 나타내는 타이밍도이다.
도 31을 참조하면, 집광 시간(TINT) 동안 피사체에 변조된 송신광(TX)을 조사(illumination)한다. 도 23을 참조하여 전술한 바와 같이, 촬영 장치(100)는 주기적으로 변동하는 세기를 가지는 송신광(TX)을 피사체에 조사하기 위한 광원 또는 발광 장치를 포함할 수 있다. 예를 들어, 촬영 장치(100)는 약 10 내지 약 200 MHz의 주파수로 상기 광원을 턴-온 및 턴-오프시키는 방식으로 송신광(TX)을 변조할 수 있다. 도 31에는 송신광(TX) 및 복조 신호들(TG1~TG4)이 집광 시간(TINT) 동안 연속적인 펄스들을 가지는 펄스 트레인을 형성하는 실시예가 도시되어 있으나, 다른 실시예에서, 송신광(TX) 및 복조 신호들(TG1~TG4)은 제1 로직 레벨 및 제2 로직 레벨 사이를 주기적으로 천이하는 임의의 신호로서, 사인 신호, 코사인 신호 등일 수 있다.
송신광(TX)은 피사체에 의해 반사되어 수신광(RX)으로서 상기 광감지 장치에 도달한다. 수신광(RX)은 송신광(TX)에 대하여 광의 비행시간(TOF)만큼 지연된다. 수신광(RX)에 의해 상기 광감지 장치에 포함된 깊이 픽셀의 광검출 영역(PD)에서 광전하가 발생한다.
집광 시간(TINT) 동안 주기적으로 변동하는 세기를 가지는 복조 신호들(TG1~TG4)은 송신광(TX)과 일정한 위상차를 갖는다. 이러한 복조 신호들(TG1~TG4)의 위상에 각각 상응하는 광전하의 양(Q1~Q4)을 구하면 TOF를 구할 수 있다.
촬영 장치로부터 상기 피사체까지의 거리를 D, 빛의 속도를 c라 하면, 수학식 D = TOF*c/2를 이용하여 D가 계산될 수 있다. 도 31에는 송신광(TX)과 서로 다른 위상을 갖는 4개의 복조 신호들(TG1~TG4)이 도시되어 있으나, 실시예에 따라서 다른 조합의 복조 신호들이 이용될 수도 있다. 예를 들어, 송신광(TX)과 동일한 위상을 갖는(즉, 0도의 위상차를 갖는) 제1 복조 신호(TG1) 및 송신광(TX)과 반대 위상을 갖는(즉, 180도의 위상차를 갖는) 제3 복조 신호(TG3)만을 이용하여 TOF를 측정할 수도 있다. 도 25에 도시하지는 않았으나, 광검출 영역(PD) 등을 초기화하기 위하여 집광이 시작되기 전에 리셋 신호(RST) 등이 활성화되어, 광검출 영역(PD) 및 플로팅 확산 영역(FD)이 초기화될 수 있다.
집광된 광전하의 양을 측정하기 위한 독출 시간(TRD) 동안, 집적된 광전하의 양(Q1~Q4)에 상응하는 데이터 비트들(D1~D4)이 컬럼 라인들(COL1, COL2)을 통하여 제공된다.
도 32는 본 발명의 일 실시예에 따른 카메라 시스템을 나타내는 블록도이다.
도 29를 참조하면, 카메라 시스템(800)은 수광 렌즈(810), 촬영 장치(900), 엔진부(840) 및 호스트/어플리케이션(850)을 포함할 수 있다. 일 실시예에서, 카메라 시스템(800)은 핸드-헬드(hand-held) 스캔 시스템일 수 있다.
촬영 장치(900)는 이미지 센서 칩(820) 및 광원 모듈(830)을 포함할 수 있다. 실시예에 따라, 센서 칩(820) 및 광원 모듈(830)은 각각 별도의 장치로 구현되거나, 광원 모듈(830) 중 적어도 일부의 구성이 센서 칩(820)에 포함되도록 구현될 수 있다. 또한 수광 렌즈(810)는 촬영 장치(900)의 일부 구성 요소로서 포함될 수도 있다.
수광 렌즈(810)는 센서 칩(820)의 수광 영역(예를 들어, 전술한 픽셀 어레이에 포함된 깊이 픽셀들 및/또는 컬러 픽셀들)으로 입사광을 집광시킬 수 있다. 센서 칩(820)은 수광 렌즈(810)를 통하여 입사된 광에 기초하여 거리 정보 및/또는 컬러 영상 정보를 포함하는 데이터(DATA1)를 생성할 수 있다. 예를 들어, 센서 칩(820)에서 생성되는 데이터(DATA1)는 전술한 바와 같이 광원 모듈(830)에서 방출된 적외선 또는 근적외선을 이용하여 생성된 깊이 데이터(RZDATA) 및/또는 외부 가시광선을 이용하여 생성된 베이어 패턴의 색상 데이터(RCDATA)를 포함할 수 있다. 센서 칩(820)은 클록 신호(CLK)에 기초하여 데이터(DATA1)를 엔진부(840)에 제공할 수 있다. 실시예에 따라, 센서 칩(820)은 MIPI(Mobile Industry Processor Interface) 및/또는 CSI(Camera Serial Interface)를 통하여 엔진부(840)와 인터페이싱할 수 있다.
엔진부(840)는 촬영 장치(900)를 제어할 수 있다. 또한, 엔진부(840)는 센서 칩(820)으로부터 수신된 데이터(DATA1)를 처리할 수 있다. 본 발명의 실시예들에 따른 동작 인식 방법을 수행하기 위하여, 엔진부(840)는 도 3 등을 참조하여 설명한 바와 같은 동작 영역 추적부(300) 및/또는 동작 분석부(500)를 포함할 수 있다. 엔진부(840)는 동작 인식 방법의 수행 이외의 데이터 처리를 수행할 수도 있다. 예를 들어, 엔진부(840)는 센서 칩(820)으로부터 수신된 데이터(DATA1)에 기초하여 입체 컬러 데이터를 생성할 수 있다. 다른 예에서, 엔진부(840)는 데이터(DATA1)에 포함된 상기 색상 데이터(RCDATA)에 기초하여 휘도 성분, 상기 휘도 성분과 청색 성분의 차, 및 휘도 성분과 적색 성분의 차를 포함하는 YUV 데이터를 생성하거나, 압축 데이터, 예를 들어 JPEG(Joint Photography Experts Group) 데이터를 생성할 수 있다. 엔진부(840)는 호스트/어플리케이션(850)에 연결될 수 있으며, 엔진부(840)는 마스터 클록(MCLK)에 기초하여 데이터(DATA2)를 호스트/어플리케이션(850)에 제공할 수 있다. 또한, 엔진부(840)는 SPI(Serial Peripheral Interface) 및/또는 I2C(Inter Integrated Circuit)를 통하여 호스트/어플리케이션(850)과 인터페이싱할 수 있다.
도 33은 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 33을 참조하면, 컴퓨팅 시스템(2000)은 프로세서(2010), 메모리 장치(2020), 저장 장치(2030), 입출력 장치(2040), 파워 서플라이(2050) 및 촬영 장치(900)를 포함할 수 있다. 한편, 도 33에는 도시되지 않았지만, 컴퓨팅 시스템(1000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
프로세서(2010)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(2010)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(2010)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 메모리 장치(2020), 저장 장치(2030), 촬영 장치(900) 및 입출력 장치(2040)와 통신을 수행할 수 있다. 실시예에 따라, 프로세서(2010)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다. 메모리 장치(2020)는 컴퓨팅 시스템(2000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(2020)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 저장 장치(2030)는 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive), 씨디롬(CD-ROM) 등을 포함할 수 있다. 입출력 장치(2040)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 파워 서플라이(2050)는 전자 기기(2000)의 동작에 필요한 동작 전압을 공급할 수 있다.
촬영 장치(900)는 상기 버스들 또는 다른 통신 링크를 통해서 프로세서(2010)와 연결되어 통신을 수행할 수 있다. 촬영 장치(900)는 프로세서(2010)와 함께 하나의 칩에 집적될 수도 있고, 서로 다른 칩에 각각 집적될 수도 있다.
한편, 컴퓨팅 시스템(2000)은 본 발명의 실시예들에 따른 3차원 모델의 생성 방법을 수행하는 모든 컴퓨팅 시스템으로 해석되어야 할 것이다. 예를 들어, 컴퓨팅 시스템(2000)은 디지털 카메라, 이동 전화기, 스마트폰, 휴대용 스캐너 등을 포함할 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치는, 색상 데이터에 기초하여 입력 이미지들의 등록 순서를 결정하고 상기 등록 순서에 따라서 복수의 등록 이미지들을 이용하여 입력 이미지들의 포즈 정보를 순차적으로 생성함으로써 정확한 포즈 정보를 추정할 수 있고 정밀한 3차원 모델을 재구성할 수 있다.
또한, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치는, 색상 데이터 및 깊이 데이터를 함께 이용함으로써 카메라 모션이 큰 경우 및 작은 경우 모두에 대해 정확한 포즈 정보를 추정할 수 있다.
또한, 본 발명의 실시예들에 따른 3차원 모델의 생성 방법 및 데이터 처리 장치는 입력 이미지들의 상관도를 나타내는 이미지 그래프에 기초하여 등록 순서를 결정함으로써 부족한 입력 이미지의 추가 및 노이즈가 많은 이미지의 제거를 용이하게 수행할 수 있다.
본 발명의 실시예들은 이미지 처리가 요구되는 장치 및 이를 포함하는 시스템에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular phone), 스마트폰(smart phone), 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, VR(virtual reality) 기기, AR(augmented reality) 기기, 3차원 스캐너, 3차원 프린터, 모션 추적 장치, 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
Claims (20)
- 대상체에 대한 색상 데이터 및 깊이 데이터를 각각 포함하는 복수의 입력 이미지들을 획득하는 단계;
상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 서로 다른 입력 이미지들 사이의 상관도(correlation) 값들을 포함하는 이미지 그래프를 생성하는 단계;
상기 이미지 그래프에 기초하여 상기 복수의 입력 이미지들의 등록 순서를 결정하는 단계;
상기 등록 순서 및 상기 복수의 입력 이미지들의 상기 깊이 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 상응하는 포즈 정보를 순차적으로 생성하는 단계;
상기 복수의 입력 이미지들을 상기 포즈 정보를 포함하는 등록 이미지들로서 순차적으로 등록하는 단계; 및
상기 등록 이미지들에 기초하여 상기 대상체에 대한 3차원 모델을 재구성하는 단계를 포함하는 3차원 모델의 생성 방법. - 제1 항에 있어서,
상기 이미지 그래프를 생성하는 단계는,
상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 포함되는 2차원 특징 점들을 추출하는 단계;
서로 다른 입력 이미지들에 포함되는 2차원 특징 점들의 대응 관계를 나타내는 매칭 정보를 생성하는 단계; 및
상기 2차원 특징 점들의 매칭 정보에 기초하여 상기 상관도 값들을 결정하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제2 항에 있어서,
상기 상관도 값들을 결정하는 단계는,
2개의 입력 이미지들의 2차원 특징 점들의 매칭되는 대응 쌍들의 개수를 상기 2개의 입력 이미지들 사이의 상기 상관도 값으로 결정하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제1 항에 있어서,
상기 복수의 입력 이미지들의 등록 순서를 결정하는 단계는,
상기 상관도 값들 중에서 최대 상관도 값에 상응하는 2개의 입력 이미지들을 첫 번째 등록 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제1 항에 있어서,
상기 복수의 입력 이미지들의 등록 순서를 결정하는 단계는,
등록 전의 입력 이미지들의 각각 및 이미 등록된 입력 이미지들과의 상관도 값들의 합을 결정하는 단계; 및
상기 상관도 값들의 합이 최대가 되는 등록 전의 입력 이미지를 상기 이미 등록된 입력 이미지들 다음의 등록 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제1 항에 있어서,
상기 복수의 입력 이미지들의 각각에 상응하는 포즈 정보를 생성하는 단계는,
이미 등록된 입력 이미지들의 상기 깊이 데이터에 기초하여 가상 깊이 데이터를 생성하는 단계; 및
상기 가상 깊이 데이터 및 상기 이미 등록된 입력 이미지들 다음의 등록 대상으로 결정된 현재 입력 이미지의 상기 깊이 데이터에 기초하여 상기 현재 입력 이미지의 상기 포즈 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제6 항에 있어서,
상기 가상 깊이 데이터를 생성하는 단계는,
상기 이미 등록된 입력 이미지들을 동일한 좌표계에 대한 3차원 이미지들로 변환하는 단계; 및
상기 3차원 이미지들에 각각 상응하는 픽셀별 깊이 값들에 대한 평균에 기초하여 상기 가상 깊이 데이터의 픽셀별 깊이 값을 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제7 항에 있어서,
상기 이미 등록된 입력 이미지들의 깊이 값들에 대한 평균은 산술 평균인 것을 특징으로 하는 3차원 모델의 생성 방법. - 제7 항에 있어서,
상기 이미 등록된 입력 이미지들의 깊이 값들에 대한 평균은 상기 현재 입력 이미지 및 상기 이미 등록된 입력 이미지들 사이의 상기 상관도 값들을 가중치로 사용하는 가중 평균인 것을 특징으로 하는 3차원 모델의 생성 방법. - 제6 항에 있어서,
상기 현재 입력 이미지의 상기 포즈 정보를 생성하는 단계는,
상기 이미지 그래프에 기초하여 상기 이미 등록된 입력 이미지들 중에서 상기 현재 입력 이미지와의 상기 상관도 값이 가장 큰 최대 상관 이미지를 결정하는 단계; 및
상기 최대 상관 이미지의 상기 깊이 데이터 및 상기 현재 입력 이미지의 상기 깊이 데이터에 기초하여 상기 현재 입력 이미지의 초기 포즈 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제10 항에 있어서,
상기 현재 입력 이미지의 상기 포즈 정보를 생성하는 단계는,
상기 가상 깊이 데이터 및 상기 현재 입력 이미지의 상기 깊이 데이터에 기초하여 상기 초기 포즈 정보를 보정하여 상기 현재 입력 이미지의 상기 포즈 정보를 생성하는 단계를 더 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제10 항에 있어서,
상기 가상 깊이 데이터를 생성하는 단계는,
상기 이미 등록된 입력 이미지들을 상기 초기 포즈 정보에 상응하는 동일한 좌표계에 대한 3차원 이미지들로 변환하는 단계; 및
상기 3차원 이미지들에 각각 상응하는 픽셀별 깊이 값들에 대한 평균에 기초하여 상기 가상 깊이 데이터의 픽셀별 깊이 값을 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제6 항에 있어서,
상기 현재 입력 이미지의 상기 포즈 정보를 생성하는 단계는,
상기 가상 깊이 데이터 및 상기 현재 입력 이미지의 상기 깊이 데이터에 기초한 반복 최근점(ICP, iterative closest point) 알고리즘을 수행하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제6 항에 있어서,
상기 가상 깊이 데이터를 생성하는 단계는,
상기 이미지 그래프에 기초하여 상기 이미 등록된 입력 이미지들 중에서 상기 현재 입력 이미지와의 상기 상관도 값이 기준 값보다 작은 비상관 이미지들을 결정하는 단계; 및
상기 가상 깊이 데이터의 생성시 상기 비상관 이미지들을 제외하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제1 항에 있어서,
상기 이미지 그래프에 기초하여 상기 복수의 입력 이미지들 중에서 다른 입력 이미지들과의 상기 상관도 값들이 기준 값보다 작은 입력 이미지를 노이즈 이미지로 결정하여 폐기하는 단계를 더 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제1 항에 있어서,
상기 3차원 모델을 재구성하는 단계는,
상기 등록 이미지들에 기초하여 3차원 포인트 클라우드를 생성하는 단계; 및
상기 3차원 포인트 클라우드에 기초하여 상기 대상체에 대한 3차원 모델을 재구성하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 제16 항에 있어서,
상기 3차원 포인트 클라우드를 생성하는 단계는,
상기 등록 이미지들에 대한 3차원 번들 조정(bundle adjustment)을 수행하여 상기 3차원 포인트 클라우드를 최적화하는 단계를 포함하고,
상기 3차원 클라우드에 기초하여 상기 3차원 모델을 재구성하는 단계는,
TSDF(truncated signed distance function)를 이용하여 상기 3차원 모델의 표면을 재구성하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 대상체에 대한 색상 데이터 및 깊이 데이터를 각각 포함하는 복수의 입력 이미지들을 획득하는 단계;
상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 포함되는 2차원 특징 점들을 추출하는 단계;
상기 2차원 특징 점들의 매칭 정보에 기초하여 서로 다른 입력 이미지들 사이의 상관도(correlation) 값들을 포함하는 이미지 그래프를 생성하는 단계;
상기 이미지 그래프에 기초하여 상기 복수의 입력 이미지들의 등록 순서를 결정하는 단계;
이미 등록된 입력 이미지들의 상기 깊이 데이터에 기초하여 가상 깊이 데이터를 생성하는 단계;
상기 등록 순서에 따라서 상기 가상 깊이 데이터 및 상기 이미 등록된 입력 이미지들 다음의 등록 대상으로 결정된 현재 입력 이미지의 상기 깊이 데이터에 기초하여 상기 현재 입력 이미지의 상기 포즈 정보를 생성하는 단계;
상기 복수의 입력 이미지들을 상기 포즈 정보를 포함하는 등록 이미지들로서 순차적으로 등록하는 단계; 및
상기 등록 이미지들에 기초하여 상기 대상체에 대한 3차원 모델을 재구성하는 단계를 포함하는 3차원 모델의 생성 방법. - 제18 항에 있어서,
상기 현재 입력 이미지의 상기 포즈 정보를 생성하는 단계는,
상기 이미지 그래프에 기초하여 상기 이미 등록된 입력 이미지들 중에서 상기 현재 입력 이미지와의 상기 상관도 값이 가장 큰 최대 상관 이미지를 결정하는 단계;
상기 최대 상관 이미지의 상기 깊이 데이터 및 상기 현재 입력 이미지의 상기 깊이 데이터에 기초하여 상기 현재 입력 이미지의 초기 포즈 정보를 생성하는 단계; 및
상기 가상 깊이 데이터 및 상기 현재 입력 이미지의 상기 깊이 데이터에 기초하여 상기 초기 포즈 정보를 보정하여 상기 현재 입력 이미지의 상기 포즈 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 모델의 생성 방법. - 대상체에 대한 색상 데이터 및 깊이 데이터를 각각 포함하는 복수의 입력 이미지들을 수신하는 입력부;
상기 복수의 입력 이미지들의 상기 색상 데이터에 기초하여 서로 다른 입력 이미지들 사이의 상관도(correlation) 값들을 포함하는 이미지 그래프를 생성하는 이미지 그래프 생성부;
상기 이미지 그래프에 기초하여 상기 복수의 입력 이미지들의 등록 순서를 결정하는 제어부;
상기 등록 순서 및 상기 복수의 입력 이미지들의 상기 깊이 데이터에 기초하여 상기 복수의 입력 이미지들의 각각에 상응하는 포즈 정보를 순차적으로 생성하는 포즈 추정부;
상기 포즈 정보를 포함하는 등록 이미지들로서 상기 복수의 입력 이미지들을 순차적으로 등록하는 등록부; 및
상기 등록 이미지들에 기초하여 상기 대상체에 대한 3차원 모델을 재구성하는 모델 생성부를 포함하는 데이터 처리 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/153,020 US20230267681A1 (en) | 2022-02-23 | 2023-01-11 | Method of generating three-dimensional model and data processing device performing the same |
CN202310147079.XA CN116645463A (zh) | 2022-02-23 | 2023-02-22 | 生成三维模型的方法和执行该方法的数据处理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220023364 | 2022-02-23 | ||
KR20220023364 | 2022-02-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230126622A true KR20230126622A (ko) | 2023-08-30 |
Family
ID=87846483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220074844A KR20230126622A (ko) | 2022-02-23 | 2022-06-20 | 3차원 모델의 생성 방법 및 이를 수행하는 데이터 처리 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230126622A (ko) |
-
2022
- 2022-06-20 KR KR1020220074844A patent/KR20230126622A/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101909630B1 (ko) | 동작 인식 방법 및 동작 인식 장치 | |
KR102532487B1 (ko) | 포인트 스캔으로 삼각 측량을 이용한 깊이 측정을 위한 씨모스 이미지 센서 | |
KR102470675B1 (ko) | 등극선 레이저 포인트 스캔을 이용한 3차원 카메라의 타임스탬프 측정 | |
JP7208156B2 (ja) | ピクセルワイズイメージングの方法及びシステム | |
KR101869371B1 (ko) | 거리 측정 방법 및 이를 수행하는 3차원 이미지 센서 | |
CN110115028B (zh) | 具有共享转移栅极的全局快门像素结构 | |
US11323638B2 (en) | Method of correcting dynamic vision sensor (DVS) events and image sensor performing the same | |
US20210297607A1 (en) | Sparse infrared pixel design for image sensors | |
WO2017125507A1 (en) | Imaging unit and system for obtaining a three-dimensional image | |
KR20190072549A (ko) | 모바일 디바이스들을 위한 강화된 심도 맵 이미지들 | |
KR20210127950A (ko) | 동적 비전 센서 및 패턴 투사를 사용하는 3차원 이미징 및 감지 | |
CN113884234B (zh) | 一种互补单像素质心探测系统及方法 | |
CN117413528A (zh) | 用于使用单光子雪崩二极管(spads)的功率高效的图像获取的系统和方法 | |
US20220018946A1 (en) | Multi-function time-of-flight sensor and method of operating the same | |
US20240054613A1 (en) | Image processing method, imaging processing apparatus, electronic device, and storage medium | |
JP5302511B2 (ja) | 2波長赤外線画像処理装置 | |
KR20230126622A (ko) | 3차원 모델의 생성 방법 및 이를 수행하는 데이터 처리 장치 | |
KR20120111092A (ko) | 촬상 장치 | |
US20230267681A1 (en) | Method of generating three-dimensional model and data processing device performing the same | |
CN116645463A (zh) | 生成三维模型的方法和执行该方法的数据处理装置 | |
KR20220156242A (ko) | 이미지 처리 장치 | |
WO2021242374A1 (en) | Time-of-flight pixel with vertical photogates | |
US20230314615A1 (en) | Time-of-flight sensing system | |
US20230335027A1 (en) | Method and arrangements for provision of pixel values for readout from an image sensor | |
US20240144506A1 (en) | Information processing device |