KR102533909B1 - 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법 - Google Patents

3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법 Download PDF

Info

Publication number
KR102533909B1
KR102533909B1 KR1020210057081A KR20210057081A KR102533909B1 KR 102533909 B1 KR102533909 B1 KR 102533909B1 KR 1020210057081 A KR1020210057081 A KR 1020210057081A KR 20210057081 A KR20210057081 A KR 20210057081A KR 102533909 B1 KR102533909 B1 KR 102533909B1
Authority
KR
South Korea
Prior art keywords
calibration
point
volume model
point cloud
viewpoint
Prior art date
Application number
KR1020210057081A
Other languages
English (en)
Other versions
KR20220085693A (ko
Inventor
서영호
박병서
Original Assignee
광운대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 광운대학교 산학협력단 filed Critical 광운대학교 산학협력단
Priority to US17/332,618 priority Critical patent/US11967111B2/en
Publication of KR20220085693A publication Critical patent/KR20220085693A/ko
Application granted granted Critical
Publication of KR102533909B1 publication Critical patent/KR102533909B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • 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
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • 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
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • 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

Landscapes

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

Abstract

다수의 프레임들에 대해, 수직 방향으로 인접한 카메라들 사이의 캘리브레이션(calibration)을 수행하고, 수평 방향으로 인접한 시점들의 결과들과 회전하면서 캘리브레이션을 수행하고, 각 카메라 쌍들 사이에 가상 시점을 생성하여 캘리브레이션을 반복하는, 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 관한 것으로서, (a) 다시점의 색상-깊이 영상(이하 샘플 영상)을 입력받는 단계; (b) 각 샘플 영상을 포인트 클라우드(이하 각 시점의 포인트 클라우드)로 변환하는 단계; (c) 수직 방향으로 인접한 시점들의 포인트 클라우드(이하 탑-바텀 포인트 클라우드)에 대해 캘리브레이션(이하 탑-바텀 캘리브레이션)을 수행하여 변환 파라미터를 최적화 하고, 상기 탑-바텀 포인트 클라우드를 정합하는 단계; (d) 수평 방향으로 인접한 시점들의 탑-바텀 정합된 포인트 클라우드들에 대해 캘리브레이션(이하 라운드 캘리브레이션)을 수행하여 변환 파라미터를 최적화 하는 단계; 및, (e) 적어도 2개 시점의 탑-바텀 포인트 클라우드 일부를 합쳐서 가상 시점의 포인트 클라우드를 생성하고, 상기 가상 시점과 인접한 시점에 대해 캘리브레이션(이하 가상시점 캘리브레이션)을 수행하여 변환 파라미터를 최적화 하는 단계를 포함하는 구성을 마련한다.
상기와 같은 방법에 의하여, 다수 개의 저가의 상용 색상-깊이(RGB-D) 카메라들을 이용하여 다양한 시점의 영상을 획득하고, 이들 영상의 캘리브레이션을 다양한 시점에 수행함으로써, 캘리브레이션의 정확도를 높일 수 있고, 이를 통해, 고품질의 실사 그래픽스 체적 모델을 생성할 수 있다.

Description

3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법 { A multi-view camera-based iterative calibration method for the generation of a 3D volume model }
본 발명은 한정된 공간에 분산하여 위치한 다수 개의 저가의 상용 색상-깊이(RGB-D) 카메라들을 이용하여 고품질의 실사 그래픽스 체적 모델을 생성하기 위하여, 각 카메라의 영상을 정합하는, 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 관한 것이다.
또한, 본 발명은 다수의 프레임들에 대해, 수직 방향으로 인접한 카메라들 사이의 캘리브레이션(calibration)을 수행하고, 수평 방향으로 인접한 시점들의 결과들과 회전하면서 캘리브레이션을 수행하고, 각 카메라 쌍들 사이에 가상 시점을 생성하여 캘리브레이션을 반복하는, 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 관한 것이다.
일반적으로, 3차원 그래픽스 기술과 실사 기술이 혼합된 가상현실(Virtual Reality, VR), 증강현실(Augmented Reality, AR), 혼합현실(Mixed Reality, MR), 그리고 확장현실(Extended Reality, XR) 기술에서 실사 객체를 정확히 추출하는 기술은 매우 중요하다. 실사 객체를 획득하기 위해서는 다수의 RGB 카메라만을 사용할 수도 있고, 깊이 정보를 직접 획득하는 센서를 사용할 수도 있다. 깊이 정보를 획득하는 것은 매우 효율적인 방식이지만, 아직까지 깊이 센서 성능이 완전하지 않기 때문에, 이를 보완하기 위한 많은 연구가 필요하다.
마이크로소프트 연구팀이 2011년 KinectFusion[비특허문헌 1]을 발표한 이후로 저가의 상용 RGB-D 카메라 여러 대를 사용하여 전방위 3차원 모델을 생성하는 연구가 활발히 진행되고 있다[비특허문헌 2]. 다중 RGB-D 카메라를 이용한 3차원 모델 생성에 앞서 각 카메라에서 획득한 객체의 포인트 클라우드(point cloud)들을 하나의 좌표계로 통합하는 과정이 필요하다[비특허문헌 2]. 이 과정을 포인트 클라우드 정합이라고 한다.
가장 잘 알려진 포인트 클라우드 정합 알고리즘으로는 ICP(Iterative Closest Point) 알고리즘이 있다. ICP는 입력된 두 포인트 세트 간에 미리 정의된 겹치는 영역에 대해 가장 가까운 거리에 있는 포인트 쌍을 찾고, 반복적인 연산을 통해 이들의 거리를 최소화하는 좌표변환 파라미터를 구하는 방법이다. ICP와 비슷한 방식으로 포인트 세트의 반복적인 연산을 통해 정합하는 소프트어사인(SoftAssign) 알고리과 이에 기반한 다양한 변형 알고리즘들이 연구되었다. 이 연구들은 파라미터의 초깃값, 포인트 클라우드 사이의 겹침 영역의 크기 등에 많이 의존하며 국부 최소화(local minima)라는 단점을 갖는다.
포인트 세트를 이용한 다른 정합 방식으로 특정 기하학 특성을 이용한 PCA(Principal Component Analysis) 정렬, 모달(modal) 그리고 스펙트럼 정합(spectral matching)과 같은 방법들이 연구되어 왔다. 이 방법들 또한 포인트 세트가 어떻게 구성되어 있느냐에 의존을 하는 단점이 있기 때문에 RGB-D 카메라로부터 획득된 깊이 값에 잡음이 많고 각 카메라 사이에 겹치는 영역이 적은 시스템에서는 적용하기는 어렵다.
프인트 클라우드 정합을 위해서는 각 카메라들의 좌표를 변환해야 한다. 포인트 클라우드 정합을 위한 좌표변환 행렬을 구하는 방식은 다양한 방법이 연구되어 왔다. 많이 사용되는 좌표변환 행렬 추출 기법으로 장(Zhang) 알고리즈즘이 있다. 이 알고리즘은 포인트 세트에 의존하지 않고, 특징점을 추출하기 쉬운 체스보드 등을 이용한다. 하지만 이 방식은 핀홀 카메라 모델에 기반하여 내부 및 외부 파라미터를 추정하기 때문에 실제 카메라에 적용하게 되면 필연적으로 오차가 발생하게 된다. 또한 깊이 카메라 기준이 아닌 RGB 카메라를 이용한 카메라 위치추정기반의 좌표변환 행렬을 구하는 방식이기 때문에 깊이 카메라의 좌표계를 기준으로 획득한 3차원 형상 정보를 직접 변환하는 데 사용할 수 없다[비특허문헌 2].
ICP 알고리즘 등과 같이 포인트 클라우드 정합 결과가 초기 파라미터와 포인트 세트 구성에 의존적이라는 문제와 RGB 이미지를 이용한 카메라 자세 추정 방식에서 구한 좌표변환 행렬은 큰 오차를 갖는다는 문제점을 극복하기 위해 RGB 이미지에서 초기 파라미터를 계산하여 각각의 카메라에서 획득한 포인트 클라우드 중 같은 공간에 위치한 포인트를 이용하여 반복적인 연산을 통해 최적화된 좌표변환 파라미터를 찾는 알고리즘이 연구되었다.
삭제
F. Basso, E. Menegatti and A. Pretto, "Robust Intrinsic and Extrinsic Calibration of RGB-D Cameras," in IEEE Transactions on Robotics, vol. 34, no. 5, pp. 1315-1332, Oct. 2018, doi: 10.1109/TRO.2018.2853742. G. Chen, G. Cui, Z. Jin, F. Wu and X. Chen, "Accurate Intrinsic and Extrinsic Calibration of RGB-D Cameras With GP-Based Depth Correction," in IEEE Sensors Journal, vol. 19, no. 7, pp. 2685-2694, 1 April1, 2019, doi: 10.1109/JSEN.2018.2889805.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 한정된 공간에 분산하여 위치한 다수 개의 저가의 상용 색상-깊이(RGB-D) 카메라들을 이용하여 고품질의 실사 그래픽스 체적 모델을 생성하기 위하여, 각 카메라의 영상을 정합하는, 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법을 제공하는 것이다.
또한, 본 발명의 목적은 다수의 프레임들에 대해, 수직 방향으로 인접한 카메라들 사이의 캘리브레이션(calibration)을 수행하고, 수평 방향으로 인접한 시점들의 결과들과 회전하면서 캘리브레이션을 수행하고, 각 카메라 쌍들 사이에 가상 시점을 생성하여 캘리브레이션을 반복하는, 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법을 제공하는 것이다.
또한, 본 발명의 목적은 두 카메라의 색상(RGB) 영상으로부터 획득된 특징점의 3차원 좌표들 사이의 오차 함수를 최소화시키는 방식을 이용하여 캘리브레이션(calibration)을 수행하고, 오차값을 수렴시키는 외부 파라미터(extrinsic parameter)가 구해지면 캘리브레이션(calibration)을 종료하는, 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 관한 것으로서, (a) 다시점의 색상-깊이 영상(이하 샘플 영상)을 입력받는 단계; (b) 각 샘플 영상을 포인트 클라우드(이하 각 시점의 포인트 클라우드)로 변환하는 단계; (c) 수직 방향으로 인접한 시점들의 포인트 클라우드(이하 탑-바텀 포인트 클라우드)에 대해 캘리브레이션(이하 탑-바텀 캘리브레이션)을 수행하여 변환 파라미터를 최적화 하고, 상기 탑-바텀 포인트 클라우드를 정합하는 단계; (d) 수평 방향으로 인접한 시점들의 탑-바텀 정합된 포인트 클라우드들에 대해 캘리브레이션(이하 라운드 캘리브레이션)을 수행하여 변환 파라미터를 최적화 하는 단계; 및, (e) 적어도 2개 시점의 탑-바텀 포인트 클라우드 일부를 합쳐서 가상 시점의 포인트 클라우드를 생성하고, 상기 가상 시점과 인접한 시점에 대해 캘리브레이션(이하 가상시점 캘리브레이션)을 수행하여 변환 파라미터를 최적화 하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 (a)단계에서, 상기 다시점의 샘플 영상은 적어도 2개의 수평층을 이루는 적어도 4개의 색상-깊이 카메라에 의해 촬영된 각 시점의 색상-깊이 영상들로 구성되고, 각 층의 샘플 영상의 개수는 동일한 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 (c)단계에서, 수평 방향의 모든 시점 각각에서, 수직 방향으로 인접한 시점들의 포인트 클라우드들에 대해 캘리브레이션을 수행하여 변환 파라미터를 최적화 하고, 수직 방향의 인접한 시점들 중 하나의 시점의 좌표계(이하 탑바텀 기준 좌표계)로 수직 방향으로 인접한 시점들의 포인트 클라우드들을 정합하여 합쳐서 탑-바텀 정합된 포인트 클라우드를 생성하고, 각 수직 방향의 인접한 시점들 중에서 탑-바텀 기준 좌표계의 시점은 동일한 수평층의 시점으로 설정하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 (d)단계에서, 인접한 2개의 탑바텀 정합된 포인트 클라우드의 쌍들 각각에 대하여, 변환 파라미터를 최적화 하되, 상기 탑바텀 정합된 포인트 클라우드의 탑바텀 기준 좌표계에 의한 변환 파라미터를 최적화 하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 (e)단계에서, 상기 가상시점 캘리브레이션을 수행할 때, 수평 방향의 각 시점에서, 해당 시점의 인접한 양측 2개 시점의 탑-바텀 포인트 클라우드 일부를 해당 시점의 좌표계로 변환하여 합쳐서, 가상 시점의 포인트 클라우드를 생성하고, 상기 가상 시점의 포인트 클라우드와, 상기 가상 시점의 인접한 양측 2개 시점의 탑-바텀 포인트 클라우드 각각에 대해 캘리브레이션을 수행하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 (d)단계에서, 상기 라운드 캘리브레이션을 위해 사용하는 탑바텀 정합된 포인트 클라우드들을 다수의 프레임에서 랜덤하게 추출하되, 각 시점의 샘플 영상의 연속된 프레임들의 탑바텀 정합된 포인트 클라우드 중에서 랜덤하게 1개를 추출하여, 해당 시점의 탐바텀 정합된 포인트 클라우드로 추출하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 방법은, (f) 다수의 프레임에서 랜덤하게 프레임을 선택하여, 선택된 프레임의 탐바텀 정합된 포인트 클라우드에 대해 상기 (d) 단계 및 (e) 단계를 수행하는 것을 반복하는 단계를 더 포함하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 (c), (d), (d)단계에서 각각 탑-바텀 캘리브레이션, 라운드 캘리브레이션, 가상시점 캘리브레이션을 수행할 때, 2개 시점 중 하나를 기준 좌표계로 설정하고, 상기 변환 파라미터를 기준 좌표계로의 회전변환 행렬, 평행이동 행렬, 및, 스케일링 팩터로 구성하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 탑-바텀 캘리브레이션, 라운드 캘리브레이션, 가상시점 캘리브레이션을 수행할 때, 기준 좌표계의 포인트 클라우드의 실제 좌표(Xref)와 상기 변환 파라미터에 의한 변환 좌표(Xi')의 오차가 최소화 되도록, 상기 변환 파라미터를 최적화하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 방법은, (g) 상기 (c), (d), (d)단계를 반복하되, 모든 캘리브레이션의 최적화 함수의 오차 크기와 변화량을 평가하여 반복을 종료하는 단계를 더 포함하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 (g)단계에서, 모든 캘리브레이션의 최적화 함수의 오차가 사전에 정해진 범위 이내이고, 사전에 정해진 횟수만큼 추가적으로 반복하더라도 오차가 줄어드는 변화량이 사전에 정해진 임계 변화량 보다 작으면, 종료하는 것을 특징으로 한다.
또, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서, 상기 탑-바텀 캘리브레이션, 라운드 캘리브레이션, 가상시점 캘리브레이션을 수행할 때, 다음 수식 1에 의하여, 현재 좌표변환 파라미터 Pn에서 다음 좌표변환 파라미터 Pn+1을 업데이트하여, 최적화를 반복하는 것을 특징으로 한다.
[수식 1]
Figure 112021051228713-pat00001
여기서, α는 사전에 설정된 상수이고, P는 변환 파라미터 회전변환 행렬 R, 평행이동 행렬 t, 및, 스케일링 팩터 S를 의미하고, Pn은 현재 계산된 변환 파라미터의 값, 그리고 Pn+1은 보정될 좌표변환 파라미터 값이고, ∂fError/∂Pn 는 fError를 변환 파라미터로 편미분하는 것을 의미하고, fError는 기준 좌표계의 포인트 클라우드의 실제 좌표(Xref)와 변환 파라미터에 의한 변환 좌표(Xi')의 오차 함수임.
또한, 본 발명은 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
상술한 바와 같이, 본 발명에 따른 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 의하면, 다수 개의 저가의 상용 색상-깊이(RGB-D) 카메라들을 이용하여 다양한 시점의 영상을 획득하고, 이들 영상의 캘리브레이션을 다양한 시점에 수행함으로써, 캘리브레이션의 정확도를 높일 수 있고, 이를 통해, 고품질의 실사 그래픽스 체적 모델을 생성할 수 있는 효과가 얻어진다.
도 1은 본 발명을 실시하기 위한 전체 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 포인트 클라우드 기반의 실사 3D 체적 모델의 스캔을 위한 분산 카메라 시스템의 구성도로서, (a) 위에서 바라본 방향 및 (b) 측면 방향에서의 촬영 각도 및 범위를 나타낸 구성도.
도 3은 본 발명의 일실시예에 따른 색상-깊이(RGB-D) 분산 카메라 네트워크를 이용한 실사 3D 체적 모델의 생성을 위한 전 과정을 설명하는 흐름도.
도 4는 본 발명의 일실시예에 따른 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법을 설명하는 흐름도.
도 5는 본 발명의 일실시예에 따른 3D 차르코 보드 및 특징점의 그라운드 트루쓰(ground truth)로서, (a) 차르코 보드, (b) 3차원 차르코 보드의 특징점 좌표, (c) 위에서 바라본 특징점 좌표에 대한 예시도.
도 6은 본 발명의 일실시예에 따른 탑바텀 캘리브레이션(Top-Bottom calibration) 방식을 도식화한 도면.
도 7은 본 발명의 일실시예에 따른 임시 라운드 캘리브레이션(Temporal Round calibration) 방식들 도식화 한 도면으로서, 시점 간의 최적화 이후에 가상 시점을 이용한 최적화를 수행한 예시 도면.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 전체 시스템의 구성의 예들에 대하여 도 1을 참조하여 설명한다.
도 1에서 보는 바와 같이, 본 발명에 따른 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법은 분산 카메라 시스템(20)에 의해 촬영된 다시점 깊이 및 색상(RGB 등) 이미지(60)를 입력받아 다시점의 포인트 클라우드를 정합하는 컴퓨터 단말(30) 상의 프로그램 시스템으로 실시될 수 있다. 즉, 포인트 클라우드 정합을 위한 캘리브레이션 방법은 프로그램으로 구성되어 컴퓨터 단말(30)에 설치되어 실행될 수 있다. 컴퓨터 단말(30)에 설치된 프로그램은 하나의 프로그램 시스템(40)과 같이 동작할 수 있다.
한편, 다른 실시예로서, 캘리브레이션 방법은 프로그램으로 구성되어 범용 컴퓨터에서 동작하는 것 외에 ASIC(주문형 반도체) 등 하나의 전자회로로 구성되어 실시될 수 있다. 또는 다시점 깊이 및 색상 이미지에서 포인트 클라우드를 정합하는 것만을 전용으로 처리하는 전용 컴퓨터 단말(30)로 개발될 수도 있다. 이를 포인트 클라우드 정합 시스템(40)이라 부르기로 한다. 그 외 가능한 다른 형태도 실시될 수 있다.
한편, 분산 카메라 시스템(20)은 객체(10)에 대해 서로 다른 시점으로 촬영하는 다수의 색상-깊이(RGB-D) 카메라(21)로 구성된다.
또한, 각 RGB-D 카메라(21)는 색상 정보 및 깊이 정보를 측정하여 색상 및 깊이 영상(또는 RGB-D 영상)을 획득하는 카메라이다. 바람직하게는, RGB-D 카메라(21)는 키넥트(kinect) 카메라이다. RGB-D 카메라(21)를 통해, 색상 및 깊이 영상은 2차원 픽셀들로 구성되고, 각 픽셀은 색상 값 및 깊이 값을 갖는다.
RGB-D 카메라(21)에 의해 촬영된 다시점 색상-깊이 영상(60)은 컴퓨터 단말(30)에 직접 입력되어 저장되고, 포인트 클라우드 정합 시스템(40)에 의해 처리된다. 또는, 다시점 색상-깊이 영상(60)은 컴퓨터 단말(30)의 저장매체에 미리 저장되고, 포인트 클라우드 정합 시스템(40)에 의해 저장된 색상-깊이 영상(60)을 읽어 입력될 수도 있다.
영상은 시간상으로 연속된 프레임으로 구성된다. 예를 들어, 현재시간 t의 프레임을 현재 프레임이라고 하면, 직전시간 t-1의 프레임은 이전 프레임이라고 하고, t+1의 프레임은 다음 프레임이라고 부르기로 한다. 한편, 각 프레임은 컬러영상(또는 컬러 이미지) 및 깊이영상(또는 깊이정보)을 갖는다.
특히, RGB-D 카메라(21)의 개수만큼 객체(10)에 대해 서로 다른 시점으로 촬영하고, 특정 시간 t에서, 카메라 개수만큼의 다시점 깊이 및 색상 영상(60)이 획득된다.
한편, 색상-깊이 영상(60)은 시간상으로 연속된 프레임으로 구성된다. 하나의 프레임은 하나의 이미지를 갖는다. 또한, 영상(60)은 하나의 프레임(또는 이미지)을 가질 수도 있다. 즉, 영상(60)은 하나의 이미지인 경우에도 해당된다.
다시점 색상-깊이 영상에서 다시점 클라우드 포인트를 정합하는 것은, 곧 깊이/색상 프레임(또는 이미지) 각각에서 검출하는 것을 의미하나, 이하에서 특별한 구별의 필요성이 없는 한, 영상이나 이미지의 용어를 혼용하기로 한다.
다음으로, 본 발명의 일실시예에 따른 분산 카메라 시스템(Distributed Camera System)(20)의 구성에 대하여 도 2를 참조하여 설명한다.
분산 카메라 네트워크는 일정한 공간 내에 임의의 위치에 다수 개의 카메라를 위치시키고, 객체를 스캐닝하는 시스템을 의미한다.
특히, 분산 카메라 시스템(20)은 수평 방향으로 적어도 4개의 지점(시점)에서 객체를 향하는 카메라를 설치하고, 각 지점(시점)에서 수직 방향(위아래 방향)으로 적어도 2대의 카메라를 이격되도록 설치한다. 즉, 분산 카메라 시스템(20)은 적어도 4대의 카메라가 하나의 수평층을 이루고, 적어도 2개의 수평층을 갖는다. 모든 카메라가 정확한 위치에 설치될 필요는 없고, 대략적으로 유사한 위치에 설치될 수 있다.
일례로서, 실사 3D 체적 모델을 생성하기 위해서 한정된 공간 내에 8대의 카메라를 설치하는 방식으로 분산 카메라 네트워크를 구성한다. 8대의 카메라는 공간의 중심을 향하도록 하고, 4대의 카메라는 아래에 위치하고, 4대의 카메라는 위쪽에 위치한다.
도 2는 본 발명의 일례에 따른 분산 카메라 네트워크의 배치이다. 도 2(a)은 위에서 바라본 방향의 형태를 나타내고, 도 2(b)은 정면 방향의 배치를 나타낸다.
색상-깊이(RGB-D) 센서의 종류와 성능을 비롯하여 스캐닝하고자 하는 대상물의 크기 등을 고려하여 카메라를 배치한다. 스캐닝되는 최대 품질과 초당 프레임 수는 색상-깊이(RGB-D) 센서의 특성에 비례한다. 일반적으로 최종적으로 획득되는 실사 3D 체적 모델의 활용 목적에 따라서 색상-깊이(RGB-D) 센서의 종류 및 개수 등이 결정될 것이다. 바람직하게는, 비교적 저가의 ToF(Time of Flight) 센서인 키넥트 애저(Kinect Azure)를 이용한 색상-깊이(RGB-D) 센서를 사용한다.
다음으로 본 발명의 일실시예에 따른 실사 3D 체적 모델을 생성하기 위한 전 과정을 도 3을 참조하여 설명한다.
도 3에서 보는 바와 같이, 본 발명의 일실시예에 따른 3차원 포인트 클라우드 생성 방법은 깊이 처리(Depth Processing) 과정(①), 반복적 캘리브레이션(Iterative Calibration) 과정(②), 및, 등록(Registration) 과정(③)로 구성된다.
먼저, 깊이 처리(Depth Processing) 과정(①)에서, 저가의 상용 ToF 센서로부터 센싱된 깊이 정보는 많은 잡음 성분을 갖고 있기 때문에, 깊이 정보에 포함된 잡음에 적합한 처리를 수행하여 잡음 성분(시간에 따른 깊이값의 편차)을 제거한다. 각 카메라별로 잡음이 제거된 깊이 정보는 색상(RGB) 영상을 기준으로 캘리브레이션(calibration)을 수행한다.
다음으로, 반복적 캘리브레이션(Iterative Calibration) 과정(②)은 크게 두 과정으로 구성되는데, 위와 아래에 배치된 카메라들 간에 쌍을 지어서 그들 간의 외부 파라미터를 구한다. 그리고 4개의 시점들 사이의 특징점 위치를 예측(estimation)하여 카메라들의 외부 파라미터를 계산한다. 이 2개의 과정은 최적의 결과를 얻을 때까지 반복된다.
마지막으로, 등록(Registration) 과정(③)를 통해, 획득된 외부 파라미터를 이용하여 모든 포인트 클라우드를 통합한다. 즉, 외부 파라미터들을 이용하여 하나의 통합된 3D 포인트 클라우드를 생성한다. 또한, 품질을 향상하기 위해서 포인트 클라우드에 대한 개선 과정을 수행한다. 이러한 모든 과정을 거치면 최종적으로 실사 3D 포인트 클라우드가 출력된다.
다음으로 본 발명의 일실시예에 따른 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법을 도 4 내지 도 7을 참조하여 설명한다.
도 4에서 보는 바와 같이, 먼저, 다시점 색상-깊이(RGB-D) 카메라로부터 다시점 샘플 영상을 입력받는다(S10).
샘플 영상은 RGB-D 카메라(21)를 통해 촬영된 색상 및 깊이 영상으로서, 2차원 픽셀들로 구성되고, 각 픽셀은 색상 값 및 깊이 값을 갖는다. 즉, 색상 영상의 픽셀은 색상 값을, 깊이 영상의 픽셀은 깊이 값을 갖는다.
샘플 영상은 다시점 카메라들의 외부 파라미터를 획득하기 위한 영상, 즉, 카메라 캘리브레이션을 위한 영상이다. 다시 말하면, 본 발명의 방법은 분산 네트워크 카메라들(다시점 RGB-D 카메라들) 사이의 공유하는 매칭점들을 구하고, 이들을 이용하여 포인트 클라우드 정합을 위한 좌표계 변환 파라미터를 획득한다. 이를 위해, 매칭점을 보다 용이하게 할 수 있는 샘플 영상을 이용한다.
특히, 다시점의 샘플 영상은 적어도 2개의 수평층을 이루는 적어도 4개의 색상-깊이 카메라에 의해 촬영된 각 시점의 색상-깊이 영상들로 구성된다. 또한, 각 층의 시점 수는 동일하고, 수직 방향의 각 층의 시점은 수평 방향으로 유사한 시점을 갖는다.
바람직하게는, 샘플 영상은 차르코 보드를 사용한다. 본 발명에서는 빠른 동작을 위해서 차르코 보드를 사용하고 있지만, 반드시 차르코 보드를 사용해야하는 것은 아니다. 영상들 간의 매칭할 수 있는 동일 좌표만 찾으면 되기 때문에, 특징점을 추출하는 다른 방식을 적용할 수 있다.
즉, 매칭되는 포인트를 찾기 위해 QR코드와 체스보드를 합쳐서 만든 차르코 보드(Charuco board)를 사용한다. 차루코 보드의 좌표계를 월드 좌표계로 설정하여 카메라 외부 파라미터를 구하고, 특징점 매칭을 이용하여 포인트 클라우드를 정합한다.
도 5(a)는 사용할 차르코 보드의 형태이고, 도 5(b)와 (c)는 차르코 보드의 특징점에 대한 실제 좌표이다. 이들 좌표를 이용하여 정합된 결과의 정량적인 평가를 수행할 수 있다.
다음으로, 각 시점의 샘플 영상을 포인트 클라우드로 변환한다(S20).
즉, 샘플 영상을 촬영한 각 시점의 색상-깊이(RGB-D) 영상을 포인트 클라우드(이하 각 시점의 포인트 클라우드)로 변환한다.
이때, 고품질의 외부 파라미터를 획득하기 위한 깊이 정보를 개선할 수 있다. 이 결과는 이후의 외부 파라미터들의 품질에 영향을 미친다.
다음으로, 이하에서 설명할 단계 S30 내지 S80은 반복적 캘리브레이션(iterative calibration) 과정을 나타낸다.
반복적 캘리브레이션(Iterative Calibration)에서는 각 시점들 간의 정합 오차가 최소가 되도록 파라미터를 찾는 최적화를 수행한다. 이 과정을 통해서 각 카메라 좌표계를 공통된 월드 좌표계로 정렬하기 위한 외부 파라미터가 획득된다. 즉, 분산 카메라들 중에서 하나의 기준 카메라를 설정하고, 다른 카메라를 기준 카메라의 좌표계와 일치시킨다. 일치된 좌표계들은 월드 좌표계를 기준으로 표현된다. 그리고 최적화 함수를 이용하여 카메라별 좌표 변환 파라미터를 계산한다.
먼저 아래와 위에 위치한 카메라 쌍에 대한 변환 파라미터를 구한다. 이 과정을 탑바텀 캘리브레이션(Top-Bottom calibration)이라 부르기로 한다. 다음으로 각 시점에 위치한 카메라들에 대한 변환 파라미터를 구한다. 이때 가상 시점을 도입하여 카메라와 카메라 사이에 발생하는 변환 오차를 최소화시킨다.
요약하면, 모든 카메라들 중에서 2개 카메라의 쌍에 대해 변환 파라미터를 순차적으로 구하여, 이들 변환 파라미터에 의한 변환 오차를 최소화하도록 반복한다.
먼저, 순차적으로 수행되는 각 쌍의 최적화 과정을 설명하기 전에, 2개 카메라 쌍에 대해 파라미터(Parameter)를 최적화(Optimization) 하는 과정을 설명한다. 파라미터 최적화 과정은 이하에서 설명할 단계 S30, S40, S60에 모두 적용되는 과정이다.
월드 좌표계를 구한 뒤에 카메라 좌표계에서 월드 좌표계로의 변환 행렬을 구해야 한다. 수학식 4는 월드 좌표에서 카메라 좌표로의 변환 식을 나타내며 PW는 월드 좌표를 나타내고 PC는 카메라 좌표를 나타낸다. R과 t는 카메라 좌표계에서 월드 좌표계로의 변환 행렬이다. 좌표축 변환과 좌표의 변환은 역변환 관계이므로 좌표의 변환은 수학식 4와 같다.
[수학식 4]
Figure 112021051228713-pat00002
서로 다른 카메라에서 같은 차르코 보드의 평면를 촬영하면 같은 월드 좌표계를 계산할 수 있다. 같은 월드 좌표계를 두 카메라가 공유하면, 두 카메라 좌표계 사이의 변환 관계가 유도된다.
기준이 되는 카메라 좌표를 PC1라 하고 변환시킬 카메라 좌표를 PC2라 하면, PW를 공유하는 PC1과 PC2사이의 관계는 수학식 5로 정의된다.
[수학식 5]
Figure 112021051228713-pat00003
여기서 R1×R2 -1은 PC1에서 PC2으로의 회전행렬(R2->1)이 되고 -R1×R2 -1×t2+t1은 PC1에서 PC2으로의 평행이동 행렬(t2->1)이다.
앞서 단계(S20)에서, 변환된 각 카메라(각 시점)의 포인트 클라우드에 대하여, 각 포인트를 동일한 좌표계(예를 들어, 월드 좌표계 또는 기준 좌표계)로 변환하면, 각 포인트의 3차원 좌표들을 매칭시킬 수 있다. 매칭된 좌표끼리 같은 위치에 위치하도록 하는 좌표변환 파라미터를 추정한다.
특히, 최적화 알고리즘을 사용하여 파라미터들 간의 오차 함수를 만든 후에, 경사 하강법을 이용하여 오차 함수의 해를 구한다.
바람직하게는, 좌표계 변환행렬에는 x, y, z 축 각각의 회전각, 평행이동 값 그리고 스케일링 팩터까지 총 7개의 파라미터가 포함된다. 특히, 깊이 영상에서 발생하는 잡음 성분 및 카메라 제작 오차에 의해 촬영된 깊이 값이 실제거리와 다른 값이 출력될 수 있기 때문에, 이것을 보완하기 위한 파라미터로 스케일링 팩터를 새롭게 도입한다.
기준 카메라 좌표계로 구하고자 하는 시점의 좌표계를 변환하는 파라미터를 구한다. 이 과정은 수학식 6으로 정의된다.
[수학식 6]
Figure 112021051228713-pat00004
여기서, Xref는 기준 카메라의 좌표계이고, Xi는 추정하는 카메라의 좌표계이다. Ri→ref, ti→ref 그리고 Si→ref은 각각 기준 카메라 좌표계로의 회전변환 행렬, 평행이동 행렬, 그리고 스케일링 팩터(factor)이다. 초기에 Ri→ref은 단위행렬로 설정하고, Si→ref와 ti→ref는 각각 1과 0으로 설정한다.
오차 함수 fError는 Xref와 Xi'의 유클리드 제곱 거리(Squared Euclidean Distance, SED)의 평균값이고, 수학식 7과 같이 정의된다.
[수학식 7]
Figure 112021051228713-pat00005
여기서, N은 정합된 포인트 클라우드의 전체 개수를 나타낸다.
수학식 7에서 Xi'(j)가 Xref(j)에 근접하게 되면 fError가 영으로 수렴하게 된다. 즉, Xi(j)을 Xref(j)로 변환하기 위한 최적의 Ri→ref, ti→ref 그리고 Si→ref를 추정하였다는 의미가 된다.
이 함수를 모든 좌표계 변환 파라미터에 대해 편미분한 후에 오차 함숫값이 최소가 되도록 파라미터를 갱신해 나가는 과정을 수학식 8로 정의한다.
[수학식 8]
Figure 112021051228713-pat00006
수학식 8은 n번째 파라미터 Pn과 fError의 편미분 결과를 이용하여 Pn+1를 갱신하는 과정을 나타낸다. α는 학습률을 나타내는 상수이다.
P는 좌표변환 파라미터 R, t, S를 의미한다. ∂fError/∂Pn는 수학식 7을 좌표변환 파라미터로 편미분하는 것을 의미한다. 수학식 7에 수학식 6에 관한 항이 들어있으며 R, t, S가 P값을 의미하므로 편미분이 가능하다.
수학식 7을 통해 현재 변환된 좌표의 오차를 얻을 수 있으므로 수학식 8을 이용하여 오차가 줄어드는 방향으로 파라미터를 업데이트한다. fError가 최소화 되었다는 판단은 깊이 영상의 노이즈 때문에 3차원 좌표상의 위치의 정확성이 모두 다르기 때문에 변화량을 가지고 판단한다. 반복연산을 진행하며 변화량 값 α(∂fError/∂Pn)이 사전에 정해진 임계값보다 작으면 종료된다.
이하에서, 반복적 캘리브레이션(iterative calibration) 과정인 단계 S30 내지 S80를 구체적으로 설명한다.
먼저, 탑바텀(Top-Bottom) 캘리브레이션(또는 탑바텁 정합)을 수행한다(S30). 즉, 수평 방향의 각 시점에서, 수직 방향의 카메라들에 대해 캘리브레이션을 수행하여 변환 파라미터(또는 외부 파라미터, 카메라 파라미터)를 최적화 한다. 즉, 수직 방향으로 인접한 시점들의 포인트 클라우드에 대해 캘리브레이션 하여 최적화를 수행한다.
유사한 시점에서 위와 아래에 위치한 두 대의 카메라를 캘리브레이션 하는 것은 비교적 어려운 것이 아닐 것이다. 그러나 색상-깊이(RGB-D) 센서가 갖는 오차는 무시하기 어렵다.
앞서의 예에서, 4개의 시점(수평방향의 시점들)에서 각각 수직 방향으로 2대씩(위와 아래)의 카메라를 배치하기 때문에, 4번의 탑바텀 캘리브레이션(Top-Bottom calibration)을 수행한다. 캘리브레이션 과정은 앞서 설명한 파라미터 최적화 방식을 사용하고, 앞서 정의한 수학식 7을 이용하여 최적화를 수행한다.
탑바텀 캘리브레이션(Top-Bottom calibration) 방식을 도 6에 나타내고 있다. 도 6의 예에서, 유사한 시점에 위치한 2대의 카메라가 촬영한 영상 사이의 최적화 과정을 통해서, 위와 아래에 위치한 두 카메라 사이의 변환 좌표계(또는 변환 파라미터)를 획득한다.
도 6에는 4개의 시점에 촬영된 총 8개의 영상을 예시하고 있고, 이 중에서 시점(viewpoint) 78의 위치에서 7과 8번 카메라 의해 획득된 영상들 사이의 최적화 과정을 예시하고 있다.
또한, 최적화 후 정합된 포인트 클라우드를 추출한다. 즉, 앞서의 예에서, 각 시점에서 다수의 프레임에 대해 탑바텀(Top-Bottom) 캘리브레이션을 수행한 후에, 이 중에서 각 시점별로 하나씩의 결과를 선택하여 4쌍의 탑바텀(Top-Bottom) 정합된 포인트 클라우드 세트를 준비한다.
한편, 탑-바텀 캘리브레이션은 RGB-D 영상의 연속된 프레임에 대해 수행한다.
다음으로, 각 시점의 탑바텀 정합된 포인트 클라우드들을 추출하되, 해당 시점의 다수의 프레임에서 랜덤하게 추출한다(S40). 즉, 각 시점의 연속된 프레임들의 탑바텀 정합된 포인트 클라우드 중에서 랜덤하게 1개 세트를 추출하여, 해당 시점의 탑바텀 정합된 포인트 클라우드로 추출한다.
도 7과 같이, N개의 프레임 세트에서 각 시점 별로 하나씩의 탑바텀 캘리브레이션 파라미터(Top-Bottom calibrated parameter)를 선택한다.
이하의 라운드 캘리브레이션 및 가상시점 캘리브레이션 과정은 다수의 프레임에서 랜덤하게 선택된 세트에 대해 반복적으로 수행된다(S70). 만일 다수의 프레임에서 랜덤하게 선택된 세트를 사용하지 않는다면, 카메라 파라미터들은 최저값으로 수렴하지 않고 유사한 값들을 반복할 수 있다.
바람직하게는, 다수의 프레임에서 한번 선택된 세트는 제외되어 중복해서 선택되지 않도록 한다.
다음으로, 수평방향으로 인접한 각 시점의 탑바텀 정합된 포인트 클라우드들에 대하여 라운드 캘리브레이션(round calibraition)을 수행한다(S50). 즉, 인접한 2개의 탑바텀 정합된 포인트 클라우드의 쌍들 각각에 대하여, 앞서 설명한 파라미터 최적화 과정을 통해, 캘리브레이션을 수행하여 변환 파라미터를 최적화 한다.
라운드 캘리브레이션(round calibraition)을 통해서 4쌍에 대한 파라미터를 하나의 월드 좌표계에 대해 통일된 좌표계로 정렬하기 위한 파라미터로 최적화한다. 즉, 탑바텀 캘리브레이션 외부 파라미터(Top-Bottom calibrated exrinsic parameter)가 입력으로 주어지면 서로 인접한 시점(viewpoint)들 간에 외부 최적화(extrinsic optimization)를 수행한다.
앞서 도 6의 예에서, 탑바텀 캘리브레이션에서 정합된 포인트 클라우드들을 각각 포인트 클라우드 12, 34, 56, 78이라 부르기로 한다.
도 7에 라운드 캘리브레이션(round calibration) 과정을 도식적으로 나타내고 있다. 앞서 S40 단계에서, N개의 프레임 세트에서 각 시점 별로 하나씩의 탑바텀 캘리브레이션 파라미터(Top-Bottom calibrated parameter)를 선택하였다.
시점(viewpoint) 12(정면, Front)는 시점(viewpoint) 34(좌면, Left) 및 시점(viewpoint) 78(우면, Right)와 각각 따로 캘리브레이션(calibration)을 수행하고, 다음으로 시점(viewpoint) 56(후면, Rear)는 시점(viewpoint) 34 및 시점(viewpoint) 78과 각각 캘리브레이션(calibration)을 수행한다. 즉, 시점12-시점78, 시점12-시점34, 시점78-시점56, 시점56-시점34 쌍으로 각각 캘리브레이션을 수행한다.
다음으로, 가상 시점을 이용하여 다시 최적화(optimization)를 수행한다(S60). 즉, 수평 방향의 각 시점에서, 해당 시점의 인접한 양측 2개 시점의 일부 포인트 클라우드를 합하여 가상 시점의 포인트 클라우드를 생성하고, 가상 시점과 해당 시점의 포인트 클라우드들에 대해 파라미터 최적화를 수행한다.
특히, 해당 시점의 인접한 양측 2개 시점의 포인트 클라우드 중에서 해당 시점과 정합될 수 있는 포인트 클라우드를 합친다. 또한, 가상 시점의 포인트 클라우드로 합쳐지는 양측 시점의 포인트 클라우드는 앞서 라운드 캘리브레이션 단계에서 정합된 포인트 클라우드를 대상으로 한다.
시점(viewpoint) 34과 시점(viewpoint) 78의 일부 정보를 합쳐서 시점(viewpoint) 12와 시점(viewpoint) 56에 해당하는 2개의 가상 시점을 생성한다. 이 가상 시점은 실제의 시점(viewpoint) 12 및 시점(viewpoint) 56과 최적화(optimization)를 수행한다.
이와 같은 가상 시점을 이용한 방식은 두 인접 시점 사이의 캘리브레이션에서 시점을 세분화함으로써 다수 시점에 대한 동시적인 캘리브레이션이 가능하다.
두 개의 가상시점은 가상시점(Virtual View) 1과 가상시점(Virtual View) 2이다. 도 6에서 확인할 수 있듯이, 가상시점(Virtual View) 1을 이용하면 세 개의 시점(시점 34, 시점 78, 시점 12)를 동시에 최적화하는 효과를 얻을 수 있고, 가상시점(Virtual View) 2를 이용하는 경우에도 동일한 효과를 얻는다. 즉, 가상 시점은 모든 시점을 한 번에 최적화 함수에 포함시키는 효과를 보일 수 있다.
다음으로, 모든 캘리브레이션의 최적화 함수의 오차 크기와 그 변화량을 평가하여 전체 외부 캘리브레이션(extrinsic calibration) 과정을 종료한다(S80).
바람직하게는, 모든 오차가 사전에 정해진 범위 이내이고, 사전에 정해진 횟수만큼 추가적으로 반복하더라도 오차가 줄어드는 변화량이 사전에 정해진 임계 변화량 보다 작으면, 종료한다. 예를 들어, 20,000번 반복한 시점에서, 최근 3000번을 반복하더라도 이때 줄어드는 모든 오차의 변화량이 사전에 정해진 임계값 보다 작으면 종료한다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 객체 20 : 분산 카메라 시스템
21 : 색상-깊이(RGB-D) 카메라
30 : 컴퓨터 단말 40 : 캘리브레이션 시스템
60 : 색상-깊이 영상

Claims (12)

  1. 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법에 있어서,
    (a) 다시점의 색상-깊이 영상(이하 샘플 영상)을 입력받는 단계;
    (b) 각 샘플 영상을 포인트 클라우드(이하 각 시점의 포인트 클라우드)로 변환하는 단계;
    (c) 수직 방향으로 인접한 시점들의 포인트 클라우드(이하 탑-바텀 포인트 클라우드)에 대해 캘리브레이션(이하 탑-바텀 캘리브레이션)을 수행하여 변환 파라미터를 최적화 하고, 상기 탑-바텀 포인트 클라우드를 정합하는 단계;
    (d) 수평 방향으로 인접한 시점들의 탑-바텀 정합된 포인트 클라우드들에 대해 캘리브레이션(이하 라운드 캘리브레이션)을 수행하여 변환 파라미터를 최적화 하는 단계; 및,
    (e) 적어도 2개 시점의 탑-바텀 포인트 클라우드 일부를 합쳐서 가상 시점의 포인트 클라우드를 생성하고, 상기 가상 시점과 수평방향으로 인접한 시점에 대해 캘리브레이션(이하 가상시점 캘리브레이션)을 수행하여 변환 파라미터를 최적화 하는 단계를 포함하고,
    상기 샘플 영상은 다수의 색상-깊이 카메라들에 의해 획득된 영상들로 구성되며, 상기 다수의 색상-깊이 카메라들은 적어도 2개의 수평층을 이루고, 적어도 2개의 수평층은 적어도 4개의 색상-깊이 카메라들로 구성되는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 (c)단계에서, 수평 방향의 모든 시점 각각에서, 수직 방향으로 인접한 시점들의 포인트 클라우드들에 대해 캘리브레이션을 수행하여 변환 파라미터를 최적화 하고, 수직 방향의 인접한 시점들 중 하나의 시점의 좌표계(이하 탑바텀 기준 좌표계)로 수직 방향으로 인접한 시점들의 포인트 클라우드들을 정합하여 합쳐서 탑-바텀 정합된 포인트 클라우드를 생성하는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
  4. 제1항에 있어서,
    상기 (e)단계에서, 상기 가상시점 캘리브레이션을 수행할 때, 수평 방향의 각 시점에서, 해당 시점의 인접한 양측 2개 시점의 탑-바텀 포인트 클라우드 일부를 합쳐서, 가상 시점의 포인트 클라우드를 생성하고, 상기 가상 시점의 포인트 클라우드와, 상기 가상 시점의 인접한 양측 2개 시점의 포인트 클라우드 각각에 대해 캘리브레이션을 수행하는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
  5. 제1항에 있어서,
    상기 (d)단계에서, 상기 라운드 캘리브레이션을 위해 사용하는 탑바텀 정합된 포인트 클라우드들을 다수의 프레임에서 랜덤하게 추출하되, 각 시점의 샘플 영상의 연속된 프레임들의 탑바텀 정합된 포인트 클라우드 중에서 랜덤하게 1개를 추출하여, 해당 시점의 탐바텀 정합된 포인트 클라우드로 추출하는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
  6. 제5항에 있어서, 상기 방법은,
    (f) 다수의 프레임에서 랜덤하게 프레임을 선택하여, 선택된 프레임의 탐바텀 정합된 포인트 클라우드에 대해 상기 (d) 단계 및 (e) 단계를 수행하는 것을 반복하는 단계를 더 포함하는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
  7. 제1항에 있어서,
    상기 (c), (d), (d)단계에서 각각 탑-바텀 캘리브레이션, 라운드 캘리브레이션, 가상시점 캘리브레이션을 수행할 때, 2개 시점 중 하나를 기준 좌표계로 설정하고, 상기 변환 파라미터를 기준 좌표계로의 회전변환 행렬, 평행이동 행렬, 및, 스케일링 팩터로 구성하는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
  8. 제1항에 있어서,
    상기 탑-바텀 캘리브레이션, 라운드 캘리브레이션, 가상시점 캘리브레이션을 수행할 때, 기준 좌표계의 포인트 클라우드의 실제 좌표(Xref)와 상기 변환 파라미터에 의한 변환 좌표(Xi')의 오차가 최소화 되도록, 상기 변환 파라미터를 최적화하는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
  9. 제8항에 있어서, 상기 방법은,
    (g) 상기 (c), (d), (d)단계를 반복하되, 모든 캘리브레이션의 최적화 함수의 오차 크기와 변화량을 평가하여 반복을 종료하는 단계를 더 포함하는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
  10. 제9항에 있어서,
    상기 (g)단계에서, 모든 캘리브레이션의 최적화 함수의 오차가 사전에 정해진 범위 이내이고, 사전에 정해진 횟수만큼 추가적으로 반복하더라도 오차가 줄어드는 변화량이 사전에 정해진 임계 변화량 보다 작으면, 종료하는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
  11. 제8항에 있어서,
    상기 탑-바텀 캘리브레이션, 라운드 캘리브레이션, 가상시점 캘리브레이션을 수행할 때, 다음 수식 1에 의하여, 현재 좌표변환 파라미터 Pn에서 다음 좌표변환 파라미터 Pn+1을 업데이트하여, 최적화를 반복하는 것을 특징으로 하는 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법.
    [수식 1]
    Figure 112021051228713-pat00007

    여기서, α는 사전에 설정된 상수이고, P는 변환 파라미터 회전변환 행렬 R, 평행이동 행렬 t, 및, 스케일링 팩터 S를 의미하고, Pn은 현재 계산된 변환 파라미터의 값, 그리고 Pn+1은 보정될 좌표변환 파라미터 값이고, ∂fError/∂Pn 는 fError를 변환 파라미터로 편미분하는 것을 의미하고, fError는 기준 좌표계의 포인트 클라우드의 실제 좌표(Xref)와 변환 파라미터에 의한 변환 좌표(Xi')의 오차 함수임.
  12. 제1항, 제3항 내지 제11항 중 어느 한 항의 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020210057081A 2020-12-15 2021-05-03 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법 KR102533909B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/332,618 US11967111B2 (en) 2020-12-15 2021-05-27 Multi-view camera-based iterative calibration method for generation of 3D volume model

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200174948 2020-12-15
KR20200174948 2020-12-15

Publications (2)

Publication Number Publication Date
KR20220085693A KR20220085693A (ko) 2022-06-22
KR102533909B1 true KR102533909B1 (ko) 2023-05-26

Family

ID=82216374

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210057081A KR102533909B1 (ko) 2020-12-15 2021-05-03 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법

Country Status (1)

Country Link
KR (1) KR102533909B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018194985A (ja) * 2017-05-15 2018-12-06 富士通株式会社 画像処理装置、画像処理方法及び画像処理プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513055B1 (ko) * 2003-12-11 2005-09-06 한국전자통신연구원 변이지도 및 깊이지도의 융합을 통한 3차원 장면 모델생성 장치 및 그 방법
EP3040941B1 (en) * 2014-12-29 2017-08-02 Dassault Systèmes Method for calibrating a depth camera

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018194985A (ja) * 2017-05-15 2018-12-06 富士通株式会社 画像処理装置、画像処理方法及び画像処理プログラム

Also Published As

Publication number Publication date
KR20220085693A (ko) 2022-06-22

Similar Documents

Publication Publication Date Title
TWI729995B (zh) 基於場景之拍攝圖像而產生合併、融合三維點雲
US9972067B2 (en) System and method for upsampling of sparse point cloud for 3D registration
US8452081B2 (en) Forming 3D models using multiple images
US8447099B2 (en) Forming 3D models using two images
US9013482B2 (en) Mesh generating apparatus, method and computer-readable medium, and image processing apparatus, method and computer-readable medium
KR100513055B1 (ko) 변이지도 및 깊이지도의 융합을 통한 3차원 장면 모델생성 장치 및 그 방법
KR102206108B1 (ko) 체적형 객체 촬영을 위한 다중 rgb-d 카메라 기반의 포인트 클라우드 정합 방법
CN110853151A (zh) 一种基于视频的三维立体点集恢复方法
KR20120084635A (ko) 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템
US20130272600A1 (en) Range image pixel matching method
KR102416523B1 (ko) 다시점 카메라로부터 획득된 조인트 기반의 캘리브레이션을 이용한 3차원 스켈레톤 생성 방법
CN115035235A (zh) 三维重建方法及装置
CN114332125A (zh) 点云重建方法、装置、电子设备和存储介质
US8340399B2 (en) Method for determining a depth map from images, device for determining a depth map
JP6285686B2 (ja) 視差画像生成装置
JP2009186287A (ja) 平面パラメータ推定装置、平面パラメータ推定方法及び平面パラメータ推定プログラム
GB2569609A (en) Method and device for digital 3D reconstruction
US11967111B2 (en) Multi-view camera-based iterative calibration method for generation of 3D volume model
KR102533909B1 (ko) 3차원 체적 모델의 생성을 위한 다시점 카메라 기반의 반복적 캘리브레이션 방법
JP2017199285A (ja) 情報処理装置、情報処理方法、プログラム
KR20110133677A (ko) 3d 영상 처리 장치 및 그 방법
CN110751731B (zh) 一种用于结构光的3d重建方法和系统
Xie et al. A novel disparity refinement method based on semi-global matching algorithm
Mkhitaryan et al. RGB-D sensor data correction and enhancement by introduction of an additional RGB view
Brunken et al. Incorporating Plane-Sweep in Convolutional Neural Network Stereo Imaging for Road Surface Reconstruction.

Legal Events

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