KR20240071170A - 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치 - Google Patents
멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치 Download PDFInfo
- Publication number
- KR20240071170A KR20240071170A KR1020220152975A KR20220152975A KR20240071170A KR 20240071170 A KR20240071170 A KR 20240071170A KR 1020220152975 A KR1020220152975 A KR 1020220152975A KR 20220152975 A KR20220152975 A KR 20220152975A KR 20240071170 A KR20240071170 A KR 20240071170A
- Authority
- KR
- South Korea
- Prior art keywords
- camera
- phase
- depth map
- projector
- depth
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000001314 profilometry Methods 0.000 title claims abstract description 37
- 230000010363 phase shift Effects 0.000 title claims abstract description 23
- 230000004927 fusion Effects 0.000 claims description 34
- 238000005259 measurement Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 7
- 239000003550 marker Substances 0.000 description 18
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000518 rheometry Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- G01B11/2504—Calibration devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- 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
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- G01B11/2545—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with one projection direction and several detection directions, e.g. stereo
-
- 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)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Measurement Of Optical Distance (AREA)
- Processing Or Creating Images (AREA)
Abstract
멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치가 제시된다. 일 실시예에 따른 컴퓨터 장치에 의해 수행되는 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법은, 위상 측정 프로파일로메트리(Phase Measuring Profilometry, PMP) 방법을 기반으로 적어도 하나 이상의 카메라 및 프로젝터의 파라미터에서 3D 복원에 필요한 데이터인 위상(phase)을 획득하는 단계; 카메라 및 프로젝터의 조합마다 위상-투-깊이(phase-to-depth) 함수를 정의하고, 상기 카메라 및 프로젝터의 파라미터를 최적화하는 캘리브레이션(calibration)을 수행하는 단계; 및 최적화된 상기 카메라 및 프로젝터의 파라미터를 이용하여 깊이(depth) 정보를 포함하는 포인트 클라우드(pointcloud)를 구하는 단계를 포함하여 이루어질 수 있다.
Description
아래의 실시예들은 멀티뷰(multi-view) 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치에 관한 것으로, 더욱 상세하게는 멀티뷰 시스템에서의 3D 복원 작업의 품질을 높이는 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치에 관한 것이다.
3차원 공간에 존재하는 오브젝트의 기하학적 데이터를 획득하는 것, 즉 3D 스캐닝은 많은 가치를 지닌 기술이다. 특히 반도체와 같은 오브젝트의 3D 형태에 관한 정보를 획득하고, 이를 검사하는 장비와 같이 활용성이 무궁무진한 기술이라고 할 수 있다.
3D 스캐닝 기술에는 대표적으로 위상 측정 프로파일로메트리(Phase Measuring Profilometry, PMP)가 있는데, 이는 카메라와 프로젝터를 활용하여 프로젝터에서 미리 정의된 구조광 이미지를 투사하고 이것을 카메라가 캡처하여 오브젝트의 3D 정보를 획득하는 방법이다. 그러나 이러한 방법으로 오브젝트의 3D 스캐닝을 진행할 경우, 획득하고자 하는 지점을 카메라가 볼 수 있어야 하고, 그곳에 프로젝터에서 쏘아낸 빛이 도달해야 한다는 제약을 가지고 있다. 예를 들어 시스템의 상단에서 아래쪽 방향으로 카메라가 존재한다고 할 경우, 3D 스캐닝 결과 얻어낼 수 있는 오브젝트의 측면 데이터가 매우 부실할 것이다. 그러므로 모든 방향에서 오브젝트의 3D 스캐닝을 진행하기 위해서는 프로젝터가 최대한 다양한 방향에서 빛을 쏘아야 하고, 이를 다양한 위치에 존재하는 카메라에서 촬영하는 것이 필요하다.
뿐만 아니라 높은 품질의 결과물을 얻기 위해서는 단순히 카메라 및 프로젝터 한 쌍의 조합만으로 3D 데이터를 얻는 것보다도, 이러한 3D 데이터를 조합하여 불필요한 포인트(point)를 버리고 보다 신뢰성 있는 포인트 위주로 데이터를 처리할 필요가 있다.
Z. Zhang. 2000. A flexible new technique for camera calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence.
실시예들은 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치에 관하여 기술하며, 보다 구체적으로 상단 및 측면 카메라를 다수 배치한 시스템에서 프로젝터 및 카메라의 위치 정보를 포함한 다양한 파라미터를 최적화하고, 이를 통해 멀티뷰 시스템에서의 3D 복원 작업의 품질을 높이는 기술을 제공한다.
실시예들은 캘리브레이션 타겟을 대상으로 촬영을 진행한 뒤, 메인 카메라의 깊이 맵(depth map)에 사이드 카메라의 깊이 맵(depth map)을 추가하여 깊이 맵 융합(depth map fusion)을 이루고 난 최종 3D 포인트 클라우드를 획득함으로써, 3D 복원을 위한 PMP 시스템의 캘리브레이션을 하나의 타겟만으로 이루어낼 수 있고, 해당 타겟을 움직이며 추가적인 촬영을 진행하지 않고 하나의 장면(scene)만으로 캘리브레이션 및 3D 복원을 수행할 수 있는, 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치를 제공하는데 있다.
일 실시예에 따른 컴퓨터 장치에 의해 수행되는 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법은, 위상 측정 프로파일로메트리(Phase Measuring Profilometry, PMP) 방법을 기반으로 적어도 하나 이상의 카메라 및 프로젝터의 파라미터에서 3D 복원에 필요한 데이터인 위상(phase)을 획득하는 단계; 카메라 및 프로젝터의 조합마다 위상-투-깊이(phase-to-depth) 함수를 정의하고, 상기 카메라 및 프로젝터의 파라미터를 최적화하는 캘리브레이션(calibration)을 수행하는 단계; 및 최적화된 상기 카메라 및 프로젝터의 파라미터를 이용하여 깊이(depth) 정보를 포함하는 포인트 클라우드(pointcloud)를 구하는 단계를 포함하여 이루어질 수 있다.
상기 위상(phase)을 획득하는 단계는, 상기 프로젝터는 일련의 구조광(structured light) 이미지를 투사하는 단계; 투사된 빛은 오브젝트에서 반사되어 적어도 하나 이상의 상기 카메라의 센서에서 감지되는 단계; 및 한 쌍의 카메라 및 프로젝터에서 3D 복원에 필요한 상기 위상(phase)을 획득하는 단계를 포함할 수 있다.
상기 위상(phase)을 획득하는 단계는, 상단에 위치한 메인 카메라 및 적어도 하나 이상의 측면에 위치한 사이드 카메라가 구성되고, 상기 메인 카메라 및 상기 사이드 카메라 사이에 위치한 상기 프로젝터를 이용하여 위상 측정 프로파일로메트리(PMP) 방법을 기반으로 위상(phase)을 획득할 수 있다.
상기 포인트 클라우드(pointcloud)의 모든 점에 대해 월드(world) 좌표로부터 카메라 좌표로의 변환을 수행하고, 상기 카메라 좌표의 z 값을 저장하여 각 상기 카메라 및 프로젝터의 쌍 별로 깊이 맵(depth map)을 구하는 단계; 및 상기 깊이 맵(depth map)의 오차를 보정하기 위해 모든 상기 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)를 계산하고, 상기 신뢰도(confidence)를 기반으로 각각의 상기 깊이 맵(depth map)을 하나로 통합하는 신뢰도 기반 깊이 맵 융합(confidence-based depth map fusion)을 통해 최종 포인트 클라우드를 획득함에 따라 3D 복원을 수행하는 단계를 더 포함할 수 있다.
상기 최종 포인트 클라우드를 획득함에 따라 3D 복원을 수행하는 단계는, 상기 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)의 계산 시 각 픽셀의 깊이(depth)를 통해 얻을 수 있는 3D 공간에서의 점들에 대해, 메인 카메라에 보이는 점의 경우 대응되는 신뢰도(confidence)와 함께 메인 카메라의 깊이 맵(depth map)과 가중합을 통해 깊이 맵 융합이 이루어지는 단계; 및 상기 메인 카메라에 보이지 않는 점의 경우 나머지 사이드 카메라의 깊이 맵(depth map)에서 가중합을 통해 깊이 맵 융합이 이루어지는 단계를 포함할 수 있다.
다른 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 장치는, 위상 측정 프로파일로메트리(Phase Measuring Profilometry, PMP) 방법을 기반으로 적어도 하나 이상의 카메라 및 프로젝터의 파라미터에서 3D 복원에 필요한 데이터인 위상(phase)을 획득하는 위상 획득부; 카메라 및 프로젝터의 조합마다 위상-투-깊이(phase-to-depth) 함수를 정의하고, 상기 카메라 및 프로젝터의 파라미터를 최적화하는 캘리브레이션(calibration)을 수행하는 캘리브레이션부; 및 최적화된 상기 카메라 및 프로젝터의 파라미터를 이용하여 깊이(depth) 정보를 포함하는 포인트 클라우드(pointcloud)를 구하는 포인트 클라우드 획득부를 포함할 수 있다.
상기 위상 획득부는, 상기 프로젝터는 일련의 구조광(structured light) 이미지를 투사하고, 투사된 빛은 오브젝트에서 반사되어 적어도 하나 이상의 상기 카메라의 센서에서 감지되며, 한 쌍의 카메라 및 프로젝터에서 3D 복원에 필요한 상기 위상(phase)을 획득할 수 있다.
상기 위상 획득부는, 상단에 위치한 메인 카메라 및 적어도 하나 이상의 측면에 위치한 사이드 카메라가 구성되고, 상기 메인 카메라 및 상기 사이드 카메라 사이에 위치한 상기 프로젝터를 이용하여 위상 측정 프로파일로메트리(PMP) 방법을 기반으로 위상(phase)을 획득할 수 있다.
상기 포인트 클라우드(pointcloud)의 모든 점에 대해 월드(world) 좌표로부터 카메라 좌표로의 변환을 수행하고, 상기 카메라 좌표의 z 값을 저장하여 각 상기 카메라 및 프로젝터의 쌍 별로 깊이 맵(depth map)을 구하는 깊이 맵 획득부; 및 상기 깊이 맵(depth map)의 오차를 보정하기 위해 모든 상기 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)를 계산하고, 상기 신뢰도(confidence)를 기반으로 각각의 상기 깊이 맵(depth map)을 하나로 통합하는 신뢰도 기반 깊이 맵 융합(confidence-based depth map fusion)을 통해 최종 포인트 클라우드를 획득함에 따라 3D 복원을 수행하는 깊이 맵 융합부를 더 포함할 수 있다.
상기 깊이 맵 융합부는, 상기 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)의 계산 시 각 픽셀의 깊이(depth)를 통해 얻을 수 있는 3D 공간에서의 점들에 대해, 메인 카메라에 보이는 점의 경우 대응되는 신뢰도(confidence)와 함께 메인 카메라의 깊이 맵(depth map)과 가중합을 통해 깊이 맵 융합이 이루어지고, 상기 메인 카메라에 보이지 않는 점의 경우 나머지 사이드 카메라의 깊이 맵(depth map)에서 가중합을 통해 깊이 맵 융합이 이루어질 수 있다.
실시예들에 따르면 상단 및 측면 카메라를 다수 배치한 시스템에서 프로젝터 및 카메라의 위치 정보를 포함한 다양한 파라미터를 최적화하고, 이를 통해 멀티뷰 시스템에서의 3D 복원 작업의 품질을 높이는, 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치를 제공할 수 있다.
또한, 실시예들에 따르면 캘리브레이션 타겟을 대상으로 촬영을 진행한 뒤, 메인 카메라의 깊이 맵(depth map)에 사이드 카메라의 깊이 맵(depth map)을 추가하여 깊이 맵 융합(depth map fusion)을 이루고 난 최종 3D 포인트 클라우드를 획득함으로써, 3D 복원을 위한 PMP 시스템의 캘리브레이션을 하나의 타겟만으로 이루어낼 수 있고, 해당 타겟을 움직이며 추가적인 촬영을 진행하지 않고 하나의 장면(scene)만으로 캘리브레이션 및 3D 복원을 수행할 수 있는, 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치를 제공할 수 있다.
도 1은 일 실시예에 따른 캘리브레이션 타겟의 3D 모델 및 aruco 마커 등이 포함된 2D 도면을 나타낸다.
도 2는 일 실시예에 따른 캘리브레이션 타겟의 실제 촬영 이미지를 나타낸다.
도 3은 일 실시예에 따른 이미지로부터 aruco 마커 감지 결과 및 인식된 마커를 최적화된 파라미터를 이용해 재투영(reprojection)시킨 결과를 나타낸다.
도 4는 일 실시예에 따른 프로젝터에서 투사할 이미지의 예시(세로축)를 나타낸다.
도 5는 일 실시예에 따른 카메라에서 촬영한 구조광 패턴 이미지의 디코딩 결과를 나타낸다.
도 6은 일 실시예에 따른 위상 언래핑 입력값 및 출력값을 나타낸다.
도 7은 일 실시예에 따른 카메라 픽셀 좌표 및 위상(phase)을 통한 3D 데이터의 획득을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 깊이 맵(depth map)의 신뢰도(confidence) 계산 과정을 나타내는 도면이다.
도 9는 일 실시예에 따른 타겟 이미지와 깊이 맵(depth map) 및 신뢰도 맵(confidence map)을 나타내는 도면이다.
도 10은 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법을 나타내는 흐름도이다.
도 11은 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 장치를 나타내는 블록도이다.
도 12는 일 실시예에 따른 깊이 맵(depth map) 융합을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 최종 3D 포인트 클라우드를 나타내는 도면이다.
도 2는 일 실시예에 따른 캘리브레이션 타겟의 실제 촬영 이미지를 나타낸다.
도 3은 일 실시예에 따른 이미지로부터 aruco 마커 감지 결과 및 인식된 마커를 최적화된 파라미터를 이용해 재투영(reprojection)시킨 결과를 나타낸다.
도 4는 일 실시예에 따른 프로젝터에서 투사할 이미지의 예시(세로축)를 나타낸다.
도 5는 일 실시예에 따른 카메라에서 촬영한 구조광 패턴 이미지의 디코딩 결과를 나타낸다.
도 6은 일 실시예에 따른 위상 언래핑 입력값 및 출력값을 나타낸다.
도 7은 일 실시예에 따른 카메라 픽셀 좌표 및 위상(phase)을 통한 3D 데이터의 획득을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 깊이 맵(depth map)의 신뢰도(confidence) 계산 과정을 나타내는 도면이다.
도 9는 일 실시예에 따른 타겟 이미지와 깊이 맵(depth map) 및 신뢰도 맵(confidence map)을 나타내는 도면이다.
도 10은 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법을 나타내는 흐름도이다.
도 11은 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 장치를 나타내는 블록도이다.
도 12는 일 실시예에 따른 깊이 맵(depth map) 융합을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 최종 3D 포인트 클라우드를 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 실시예들을 설명한다. 그러나, 기술되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명되는 실시예들에 의하여 한정되는 것은 아니다. 또한, 여러 실시예들은 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
실시예들은 시스템의 상단에 위치한 메인 카메라 및 측면에 위치한 사이드 카메라, 그 사이에 위치한 프로젝터를 활용하여 오브젝트의 3D 복원(reconstruction)을 수행하는 것을 목표로 한다. 이를 위하여, 통상적으로 활용할 수 있는 위상 측정 프로파일로메트리(Phase Measuring Profilometry, PMP) 방법을 활용하여 오브젝트의 3D 데이터를 획득하고자 한다.
가장 먼저, PMP 방법에서 프로젝터는 일련의 구조광(structured light) 이미지를 투사하고, 투사된 빛은 오브젝트에서 반사되어 카메라의 센서에서 감지된다. 이 과정에서 한 쌍의 카메라-프로젝터에서 3D 복원에 필요한 데이터, 즉 위상(phase)를 얻을 수 있다. 이러한 구조광 이미지를 생성하는 과정을 인코딩(encoding), 카메라에서 캡처한 이미지를 위상 맵(phase map)으로 바꾸는 과정을 디코딩(decoding)이라고 하는데, PMP 방법의 최종 목표는 각 카메라마다 위상-투-깊이(phase-to-depth) 함수를 정의하고 이를 최적화하는 데 있다.
위상-투-깊이(phase-to-depth) 함수는 위상(phase)을 깊이(depth)로 변환하는 것으로, 다양한 형태의 모델로 표현될 수 있지만, 본 실시예에서는 스테레오 모델(stereo model)을 채택하였다. 스테레오 삼각 측량 모델(stereo triangulation model)이란 프로젝터를 하나의 핀홀 카메라(pinhole camera)로 모델링하여 기존의 스테레오 매칭과 같은 방식으로 3D 데이터를 획득한다. 스테레오 삼각 측량 모델에서 위상-투-깊이(phase-to-depth) 함수는 카메라 및 프로젝터의 내부 파라미터(intrinsic parameter) 및 외부 파라미터(extrinsic parameter)의 함수로서 표현할 수 있다. 따라서 본 실시예의 주요 목표는 카메라 및 프로젝터의 파라미터를 최적화하는 캘리브레이션(calibration) 과정의 확립이라고 볼 수 있다.
카메라 및 프로젝터의 캘리브레이션을 수행함과 동시에 모든 카메라-프로젝터 조합마다 위상-투-깊이(phase-to-depth) 함수를 정의할 수 있다.
그러나 이상의 과정을 통해서는 각 카메라-프로젝터의 조합마다 얻을 수 있는 3D 데이터를 독립된 포인트 클라우드(pointcloud)의 형태 또는 깊이 맵(depth map)의 형태로 얻을 수 있는데, 이들 간에 오차가 발생할 수 있다. 따라서 각각의 깊이 맵(depth map)을 하나로 통합하는 신뢰도 기반 깊이 맵 융합(confidence-based depth map fusion)을 통해 3D 복원이 최종적으로 마무리된다. 이러한 신뢰도 기반 깊이 맵 융합(confidence-based depth map fusion) 과정에서 각각의 깊이 맵(depth map)의 픽셀마다 신뢰도(confidence)를 계산하게 된다. 이 때 각 픽셀의 깊이(depth)를 통해 얻을 수 있는 3D 공간에서의 점들은 두 가지 경우로 나눌 수 있는데, 상단의 메인 카메라에 보이는 경우와 그렇지 않은 경우이다.
메인 카메라에 보이는 점의 경우 대응되는 신뢰도(confidence)와 함께 메인 카메라의 깊이 맵(depth map)과 가중합(weighted sum)을 통해 깊이 맵 융합(depth map fusion)이 이루어지고, 메인 카메라에 보이지 않는 점의 경우 나머지 사이드 카메라의 깊이 맵(depth map)에서 가중합(weighted sum)을 통해 깊이 맵 융합(depth map fusion)이 이루어지게 된다.
아래에서 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치를 보다 상세히 설명한다.
표 1은 표기법을 나타낸다.
[표 1]
카메라 파라미터
카메라 파라미터는 R, t와 같은 외부 파라미터(extrinsic parameter), K와 렌즈 왜곡 (lens distortion) 계수 (k1, k2, k3)로 구성된 내부 파라미터(intrinsic parameter)로 나눌 수 있다. 외부 파라미터(extrinsic parameter)는 world 좌표계와 카메라 좌표계 사이의 관계에 대한 파라미터로서, 3D 공간상에 존재하는 점의 world 좌표 Xw와 카메라 좌표 Xc 사이에는 다음과 같은 관계가 성립한다.
[수학식 1]
이 때, R, t는 3차원 공간에서의 각각 rigid-body transform을 표현하는 3x3, 3x1 행렬으로써 다음과 같이 표현할 수 있다.
[수학식 2]
[수학식 2]에서 벡터 q는 translation 3개와 quaternion 3개, 총 6개의 구성요소(element)로 구성되어 있다.
핀홀 카메라 모델(pinhole camera model)에서 pc는 정규화된 이미지 평면(normalized image plane), 즉 카메라 좌표계 상에서 z=1의 평면으로 투사된다.
[수학식 3]
[수학식 3]에서 는 xc의 homogeneous coordinate을 의미한다. 한편 시스템 상단의 메인 카메라와 같이 텔레센트릭 렌즈(telecentric lens)를 사용하는 카메라는 조금 다른 방식으로 투사된다.
[수학식 4]
카메라의 내부 파라미터(intrinsic parameter)는 xn와 픽셀 좌표 p 사이의 관계를 규정한다. 먼저 카메라 렌즈에 의한 방사형 왜곡(radial distortion) 보정은 정규화된 이미지 좌표(normalized image coordinate)에서 이루어진다.
[수학식 5]
와 는 각각 x축과 y축에서의 왜곡된 정규화 좌표(distorted normalized coordinate)을 의미한다. 이어서 카메라 행렬(camera matrix) K는 왜곡된 정규화 카메라 좌표(distorted normalized camera coordinate) 와 픽셀 좌표 p 사이의 관계를 나타낸다.
[수학식 6]
이상의 과정을 통해 임의의 3D point Xw로부터 픽셀 좌표 p 혹은 그 역을 계산할 수 있다.
캘리브레이션 타겟 구성
카메라 렌즈에 의한 왜곡이 없다고 가정할 경우 핀홀 카메라 모델(pinhole camera model)에서 3D 포인트 Xw와 대응되는 픽셀 p 사이의 관계는 다음과 같다.
[수학식 7]
s는 homogeneous coordinate 의 스칼라 팩터(scale factor), 는 초점 거리(focal length), u0, v0는 principle point를 의미한다. 한편 텔레센트릭 모델(telecentric model)의 경우는 다음과 같다.
[수학식 8]
여기서, R, t는 해당 체커보드의 좌표 시스템에서 카메라 좌표 시스템으로의 변환 행렬이다. 이 때 한 평면 위에 존재하는 체커보드와 대응되는 픽셀 사이의 관계는 zw=0의 조건을 추가하여 설명할 수 있다.
[수학식 9]
마찬가지로 텔레센트릭 렌즈(telecentric lens) 카메라의 경우, 다음과 같이 나타낼 수 있다.
[수학식 10]
여기서, 호모그래피(homography) H는 미리 정의된 체커보드 코너의 좌표와 이미지에서 인식된 픽셀 좌표의 값을 통해 closed-form으로 해를 구할 수 있다. 이러한 호모그래피(homography)는 K와 외부 파라미터(extrinsic parameter) R, t의 곱으로 이루어져 있으나, H로부터 파라미터를 역으로 계산하기 위해서는 다양한 orientation의 체커보드 이미지를 촬영하여 호모그래피(homography)를 여러 개 확보해야만 한다. 이론적으로 모든 파라미터의 해를 구하기 위해서 최소 3개의 호모그래피(homography)가 필요하다.
따라서 일반적으로 카메라 캘리브레이션 과정은 체커보드 패턴이 새겨진 평면의 각도 등을 다양하게 돌리면서 이미지를 획득하는 데에서 시작한다. 그러나 멀티뷰 시스템의 이점을 살리기 위해, 그리고 후술할 프로젝터 캘리브레이션을 수행하기 위해 새롭게 캘리브레이션 타겟 오브젝트를 제안하였다.
도 1은 일 실시예에 따른 캘리브레이션 타겟의 3D 모델 및 aruco 마커 등이 포함된 2D 도면을 나타낸다. 보다 구체적으로, 도 1의 (a)는 일 실시예에 따른 캘리브레이션 타겟의 3D 모델을 나타내고, (b)는 일 실시예에 따른 aruco 마커 등이 포함된 2D 도면을 나타낸다.
도 2는 일 실시예에 따른 캘리브레이션 타겟의 실제 촬영 이미지를 나타낸다. 보다 구체적으로, 도 2의 (a)는 일 실시예에 따른 상단에 위치한 메인 카메라에서 촬영한 이미지를 나타내고, (b)는 일 실시예에 따른 사이드 카메라 01(서쪽)에서 촬영한 이미지를 나타낸다.
본 실시예들을 수행하면서 제안한 캘리브레이션 타겟은 다음과 같은 조건을 만족하도록 설계하였다.
- 한 카메라가 최대한 많은 평면을 볼 수 있어야 한다.
- 한 평면을 볼 수 있는 카메라가 최소 두 개 이상 있어야 한다.
- 보다 정확한 호모그래피(homography) 계산을 위하여 한 평면 위에 최소 3개의 aruco 마커를 배치하여야 한다.
- 같은 id를 가진 aruco 마커를 여러 번 사용하지 않는다.
타겟의 각 aruco 마커 id는 중복되지 않기 때문에 카메라에서 한 마커를 인식하였을 때 그 코너가 어떤 평면상에 존재하는지 알 수 있다. 또한 각 world 좌표계는 맨 밑바닥 평면을 기준으로 정의하며, 나머지 평면상의 좌표계는 R, t를 통해 world 좌표계로 변환할 수 있다. 예를 들어 i번째 평면의 로컬 좌표계로부터 world 좌표계로의 변환을 라고 하면 다음과 같이 나타낼 수 있다.
[수학식 11]
카메라 캘리브레이션
도 3은 일 실시예에 따른 이미지로부터 aruco 마커 감지 결과 및 인식된 마커를 최적화된 파라미터를 이용해 재투영(reprojection)시킨 결과를 나타낸다. 보다 구체적으로, 도 3의 (a)는 일 실시예에 따른 이미지로부터 aruco 마커 감지 결과를 나타내고, (b)는 일 실시예에 따른 인식된 마커를 최적화된 파라미터를 이용해 재투영(reprojection)시킨 결과를 나타낸다. (a)의 이미지는 카메라 왜곡 보정이 적용되어 있지 않은 반면, (b)의 이미지는 카메라 왜곡 보정이 이루어졌다.
한 장의 이미지마다 체커보드 패턴 한번씩을 촬영하는 통상적인 리브레이션 방법에서는 한 장의 이미지마다 하나의 호모그래피(homography)가 계산되고, 이때의 체커보드 패턴은 넓은 픽셀에 걸쳐 촬영된다. 반면, 여러 체커보드 평면이 한 장의 이미지에서 촬영되는 실시예에 따른 방법에 대해서는 하나의 체커보드 패턴이 이미지 내의 좁은 영역에서만 유효하게 작용하게 된다. 실제 카메라의 경우 렌즈에 의한 왜곡 현상이 존재하고, 이 왜곡 현상은 선형 문제가 아닌 비선형적 문제이기 때문에 단순히 여러 개의 호모그래피(homography)를 통해 K, R, t를 최적화하기 어려우며, 극소값(local minima)에 빠지기 쉽다는 문제점이 존재한다.
극소값(local minima)에 빠진 경우 카메라의 파라미터뿐만 아니라 캘리브레이션 타겟에서 각 평면의 좌표계 변환도 잘못 최적화될 수 있다는 것을 의미한다. 그러나 한 평면이 여러 대의 카메라에서 보인다는 점을 활용하면 멀티뷰 시스템의 이점을 살려 로컬 옵티마(local optima)에 빠지지 않고 카메라 파라미터를 계산할 수 있다.
우선 각 평면마다 어떤 id의 마커가 있는지 이미 알고 있으며 각 마커 코너의 로컬 좌표는 미리 정의되어있는 상태이므로 [수학식 11]을 통해 각 마커 코너의 world 좌표는 를 파라미터로 하는 함수로 표현될 수 있다. 이어서 [수학식 1], [수학식 3], [수학식 4], [수학식 5], [수학식 6]를 통해 예측되는 p는 마커 코너의 world 좌표, 카메라의 내부 파라미터(intrinsic parameter) 및 외부 파라미터(extrinsic parameter)를 파라미터로 하는 함수로 표현될 수 있고, 이를 실제 pgt(undistorted)와 비교할 수 있다. 최종적으로 모든 카메라에서 인식된 마커 코너에 대해 합을 동시에 최소화하는 파라미터를 최적화함으로써 모든 카메라의 각 파라미터 뿐만 아니라 캘리브레이션 타겟의 모든 평면에 대해 도 최적화 할 수 있다. 본 실시예에서 사용한 시스템은 총 5개의 카메라가 18개의 평면으로 이루어진 타겟을 촬영하므로 다음과 같이 나타낼 수 있다.
[수학식 12]
위상 디코딩(phase decoding) 및 언래핑(unwrapping)
도 4는 일 실시예에 따른 프로젝터에서 투사할 이미지의 예시(세로축)를 나타낸다. 도 4를 참조하면, 주파수 에 대하여 각각 4장의 이미지가 생성되어 총 16장의 이미지가 생성되며, 같은 방식으로 16장의 가로축 이미지도 생성하여 프로젝터에서 투사할 수 있다.
프로젝터에서 투사되는 이미지의 pixel intensity는 가로축 또는 세로축 방향으로 다양한 주파수(frequency)의 cosine-wave 형태를 이루고 있다. 본 실시예에서 실제로 사용한 주파수는 이다. 총 4개의 주파수로 생성된 파동에 대해 만큼의 위상(phase)을 이동시켜 가로, 세로 방향으로 각각 4x4=16장의 이미지를 투사하게 된다.
프로젝터에서 투사된 빛이 오브젝트에서 반사되어 카메라에서 감지되는데, f의 주파수를 가진 i번째 이미지가 투사되었을 때 픽셀 (u, v)에서의 intensity를 라고 하면, 다음 식과 같이 나타낼 수 있다.
[수학식 13]
이 때, i=0, 1, 2, 3에서의 모든 pixel intensity를 종합하여 주파수가 f일 때 픽셀 (u, v)에서의 위상 는 다음과 같이 구할 수 있다.
[수학식 14]
도 5는 일 실시예에 따른 카메라에서 촬영한 구조광 패턴 이미지의 디코딩 결과를 나타낸다. 도 5의 (a)를 참조하면, 좌측의 4개 이미지 (f=40)를 통해 우측의 래핑된 위상(wrapped phase)를 얻을 수 있고, (b)를 참조하면, 좌측의 4개 이미지 (f=41)를 통해 우측의 래핑된 위상(wrapped phase)를 얻을 수 있다.
그러나 는 3D 복원에서 실제로 사용되는 언래핑된 위상(unwrapped phase)가 아닌 래핑된 위상(wrapped phase)이다. f=40일 때의 래핑된 위상(wrapped phase)는 한 파장 안에 오브젝트의 모든 영역을 포함하지만 상세한 정보를 담기 힘들고, f=43일 때의 언래핑된 위상(unwrapped phase)는 지엽적으로 상세한 정보를 포함하고 있으나 모든 영역을 한 파장 안에 포함하지 못한다.
따라서 모든 주파수 f에 대하여 래핑된 위상(wrapped phase)를 계산한 뒤, 최종적으로 f=40에서부터 f=43까지의 래핑된 위상(wrapped phase)를 모두 아우르는 언래핑된 위상(unwrapped phase) 를 계산하여야 한다.
도 6은 일 실시예에 따른 위상 언래핑 입력값 및 출력값을 나타낸다.
도 6의 (a)를 참조하면, 일 실시예에 따른 위상 언래핑 입력값을 나타내고, (b)를 참조하면, 일 실시예에 따른 위상 언래핑 출력값을 나타낸다. 인 모든 래핑된 위상(wrapped phase)를 통합하여 최종 언래핑된 위상(unwrapped phase)를 계산할 수 있다.
먼저 를 f=40에서부터 f=4j까지의 래핑된 위상(wrapped phase)를 아우르는 언래핑된 위상(unwrapped phase)라고 하면, 다음 식과 같이 나타낼 수 있다.
[수학식 15]
또한, 와 를 이용하여 를 계산하는 과정은 다음과 같다.
[수학식 16]
최종적으로 언래핑된 위상(unwrapped phase) 가 3D 복원의 입력값으로 사용된다.
프로젝터 캘리브레이션
도 7은 일 실시예에 따른 카메라 픽셀 좌표 및 위상(phase)을 통한 3D 데이터의 획득을 설명하기 위한 도면이다. 도 7을 참조하면, 캘리브레이션 단계에서는 카메라(710) 및 프로젝터(720) 사이의 교점 Xintersect와 타겟의 평면(730) 사이의 거리값을 이용하여 손실(loss)을 구성하고 최적화한다.
본 실시예에서 프로젝터는 사이드 카메라와 같은 핀홀 카메라 모델(pinhole camera model)을 사용한다. 그러나 픽셀 좌표를 직접적으로 획득할 수 있는 사이드 카메라와 달리 프로젝터의 경우 카메라에서 촬영한 언래핑된 위상(unwrapped phase)를 간접적으로 사용해야 하므로 프로젝터의 내부 파라미터(intrinsic parameter)에 약간의 변화가 필요하다. 기본적으로 언래핑된 위상(unwrapped phase)는 핀홀 카메라 모델(pinhole camera model)에서의 픽셀 좌표 와 선형 관계를 가진다.
[수학식 17]
이를 [수학식 6]에 대입하면, 다음과 같이 나타낼 수 있다.
[수학식 18]
[수학식 18]에서 Xn,p는 프로젝터에서의 정규화된 프로젝터 평면(normalized projector plane) 상에 존재하는 왜곡된 좌표를 의미한다. 또한 어떤 카메라-프로젝터 한 쌍에서, 카메라 및 프로젝터의 파라미터를 모두 알고 있다고 가정했을 때 위상(phase) 및 픽셀 좌표를 입력값으로 구한 3차원 포인트(point, 점)은 다음과 같은 식을 만족하여야 한다.
[수학식 19]
기하학적으로 분석했을 때, [수학식 19]의 처음 두 식은 정규화된 카메라 평면(normalized camera plane) 상에 존재하는 점 [xn, yn, 1]과 카메라 원점을 지나는 직선을 의미하고, 마지막 식은 프로젝터 원점과 정규화된 프로젝터 평면(normalized projector plane) 상의 직선 x=xn,p (또는 y=yn,p)을 포함하는 평면을 의미한다. 3D 공간상에서 복원된 점 pintersect=[xw, yw, zw]은 상기된 직선 및 평면의 교점이라고 할 수 있다.
[수학식 19]를 정리하면 pintersect(도 7에서의 Xintersect)를 프로젝터 파라미터에 대한 함수로 표현할 수 있다.
[수학식 20]
또한 캘리브레이션 타겟의 aruco 마커 id는 고유하므로 카메라에서 타겟의 각 평면이 위치한 이미지 상의 영역을 추출할 수 있다. 따라서 평면 i가 촬영된 영역 내의 픽셀 (u, v)와 대응되는 위상(phase) 에서 [수학식 5], [수학식 6] 및 [수학식 18]를 통해 (또는 )로 변환할 수 있고, 이를 통해 pintersect를 계산할 수 있는데, pintersect는 평면 i 위에 존재하므로 평면 i의 방정식을 만족하여야 한다.
[수학식 21]
따라서 를 손실(loss)로 하고 프로젝터의 내부 파라미터(intrinsic parameter) 및 외부 파라미터(extrinsic parameter)를 파라미터로 하는 최적화 과정을 통해 프로젝터의 최적 파라미터를 구할 수 있다.
[수학식 22]
여기서, ni는 i-평면 법선 벡터를 의미한다.
3D 복원
이상의 과정을 통해 최적화된 카메라 및 프로젝터의 파라미터를 이용하여 [수학식 20]으로 포인트 클라우드(pointcloud)를 구할 수 있다. 또한 [수학식 1]을 통해 포인트 클라우드(pointcloud)의 모든 점에 대해 world 좌표로부터 카메라 좌표로의 변환을 할 수 있고, 이 카메라 좌표의 z 값을 저장함으로써 각 카메라-프로젝터 한 쌍 별로 깊이 맵(depth map)을 구할 수 있다. 그러나 카메라에서의 측정 오차 등을 이유로 깊이 맵(depth map)에서 오차가 발생할 수 있다. 따라서 모든 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)를 계산하고, 이를 기반으로 포인트 클라우드(pointcloud)를 통합하는 과정을 거쳐야 한다.
임의의 카메라를 레퍼런스(reference)로 하여 해당 카메라의 깊이 맵(depth map) 픽셀 별 신뢰도(confidence)를 구하려면, 먼저 각 픽셀 (u, v)에 해당하는 깊이(depth) dref(u, v)를 얻을 수 있고, 3D 공간상에서 해당 point의 world 좌표를 구할 수 있다. 또한 레퍼런스(reference) 카메라를 제외한 나머지 카메라에서 [수학식 1]을 통해 해당 point p(u, v)의 world 좌표를 각각의 카메라 좌표로 변환할 수 있다. 이 때 카메라 에서 p(u, v)와 대응되는 픽셀 좌표 uj, vj 값을 구한 뒤, 카메라 j의 깊이 맵(depth map)을 이용하여 visibility test를 수행한다.
Visibility vj(p(u, v))는 카메라 j에서 p(u, v)의 실제 깊이(depth) zj를 카메라 j의 깊이 맵(depth map)을 통해 구한 dj(uj, vj)와 비교하여 dj(uj, vj)가 더 클 경우 1, dj(uj, vj)가 더 작을 경우 0이 되어 p가 카메라 j에서 보이지 않는다고 판별한다. vj(p)가 1인 모든 카메라 j에 대하여, 신뢰도(confidence) Cref,j(u, v)는 다음과 같이 계산할 수 있다.
[수학식 23]
도 8은 일 실시예에 따른 깊이 맵(depth map)의 신뢰도(confidence) 계산 과정을 나타내는 도면이다. 도 8의 (a) 및 (b)를 참조하면, 레퍼런스(reference) 카메라의 깊이 맵(depth map)으로부터 생성된 3D point와 다른 카메라 j 사이의 실제 깊이(depth)()가 카메라 j의 깊이 맵(depth map) 값과 가까울수록 신뢰도(confidence)가 높다. 여기서, 레퍼런스(reference) 카메라의 좌표는 810이고, 카메라 좌표는 820이다.
레퍼런스(reference) 카메라의 픽셀 (u, v)의 신뢰도(confidence) Cref(u, v)는 vj(p(u, v))=1인 모든 카메라 j에 대하여 다음 식과 같이 나타낼 수 있다.
[수학식 24]
상기된 과정을 통해 모든 깊이 맵(depth map)에 대한 신뢰도(confidence)를 계산한 뒤 하나로 통합하는 과정을 거치면 3D 복원이 최종적으로 마무리된다. 먼저 임의의 카메라에 j에 대하여 깊이 맵(depth map)의 각 픽셀별로 깊이(depth) 및 신뢰도(confidence)가 주어져 있다. 이 때 깊이 맵(depth map)을 통해 구한 3D point pj가 메인 카메라에 보이는 경우와 그렇지 않은 경우로 나눌 수 있는데, 메인 카메라에서 보이는 경우 pj의 깊이(depth) 및 신뢰도(confidence) (d, C)를 메인 카메라에서 pj와 대응되는 픽셀 (u, v)에 대한 array Lmain(u, v)에 저장한다. 이 과정을 모든 카메라의 깊이 맵(depth map)에 대해 수행하면, 메인 카메라의 각 픽셀 (u, v)별로 3D point의 array가 주어질 것이다. 최종적으로 메인 카메라의 깊이 맵(depth map)은 다음과 같이 가중합(weighted sum)의 형태로 계산된다.
[수학식 25]
pj가 메인 카메라에서 보이지 않는 경우 이상의 과정을 사이드 카메라에서 수행함으로써 최종적으로 신뢰도 기반 깊이 맵 융합(confidence-based depth map fusion)이 마무리된다.
도 9는 일 실시예에 따른 타겟 이미지와 깊이 맵(depth map) 및 신뢰도 맵(confidence map)을 나타내는 도면이다.
도 9를 참조하면, 좌측의 도면은 일 실시예에 따른 캡처한 타겟 이미지를 나타내며, 중간의 도면은 해당 카메라에서의 깊이 맵(depth map)을 나타내고, 우측의 도면은 신뢰도 맵(confidence map)을 나타낸다. 제1 열부터 메인 카메라, 사이드 카메라 00 (동), 사이드 카메라 01 (서), 사이드 카메라 02 (남), 사이드 카메라 03 (북)을 나타낸다.
프로젝터 및 카메라의 뷰 벡터(view vector) 및 반사된 빛의 각도를 비롯한 여러 변수로 인해 깊이(depth)의 신뢰도(confidence)가 다양하게 나타나는 것을 확인할 수 있다.
도 10은 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법을 나타내는 흐름도이다.
도 10을 참조하면, 일 실시예에 따른 컴퓨터 장치에 의해 수행되는 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법은, 위상 측정 프로파일로메트리(Phase Measuring Profilometry, PMP) 방법을 기반으로 적어도 하나 이상의 카메라 및 프로젝터의 파라미터에서 3D 복원에 필요한 데이터인 위상(phase)을 획득하는 단계(S110), 카메라 및 프로젝터의 조합마다 위상-투-깊이(phase-to-depth) 함수를 정의하고, 카메라 및 프로젝터의 파라미터를 최적화하는 캘리브레이션(calibration)을 수행하는 단계(S120), 및 최적화된 카메라 및 프로젝터의 파라미터를 이용하여 깊이(depth) 정보를 포함하는 포인트 클라우드(pointcloud)를 구하는 단계(S130)를 포함하여 이루어질 수 있다.
또한, 포인트 클라우드(pointcloud)의 모든 점에 대해 월드(world) 좌표로부터 카메라 좌표로의 변환을 수행하고, 카메라 좌표의 z 값을 저장하여 각 카메라 및 프로젝터의 쌍 별로 깊이 맵(depth map)을 구하는 단계(S140), 및 깊이 맵(depth map)의 오차를 보정하기 위해 모든 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)를 계산하고, 신뢰도(confidence)를 기반으로 각각의 깊이 맵(depth map)을 하나로 통합하는 신뢰도 기반 깊이 맵 융합(confidence-based depth map fusion)을 통해 최종 포인트 클라우드를 획득함에 따라 3D 복원을 수행하는 단계(S150)를 더 포함할 수 있다.
실시예들에 따르면 하나의 타겟을 움직이지 않고 카메라 캘리브레이션을 수행하며, 카메라 및 프로젝터의 캘리브레이션을 하나의 타겟으로 동시에 수행할 수 있다. 또한, 프로젝터의 인버스 카메라 모델(inverse camera model)을 통한 위상-투-깊이(phase-to-depth) 함수를 정의할 수 있다.
아래에서 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법을 보다 상세히 설명한다.
일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법은 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 장치를 예를 들어 설명할 수 있다.
도 11은 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 장치를 나타내는 블록도이다.
도 11을 참조하면, 일 실시예에 따른 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 장치(1100)는 위상 획득부(1110), 캘리브레이션부(1120) 및 포인트 클라우드 획득부(1130)를 포함할 수 있다. 또한, 실시예에 따라 깊이 맵 획득부(1140) 및 깊이 맵 융합부(1150)를 더 포함할 수 있다.
단계(S110)에서, 위상 획득부(1110)는 위상 측정 프로파일로메트리(PMP) 방법을 기반으로 적어도 하나 이상의 카메라 및 프로젝터의 파라미터에서 3D 복원에 필요한 데이터인 위상(phase)을 획득할 수 있다.
보다 구체적으로, 위상 획득부(1110)는 프로젝터는 일련의 구조광(structured light) 이미지를 투사하고, 투사된 빛은 오브젝트에서 반사되어 적어도 하나 이상의 카메라의 센서에서 감지되며, 한 쌍의 카메라 및 프로젝터에서 3D 복원에 필요한 위상(phase)을 획득할 수 있다. 이 때, 위상 획득부(1110)는 상단에 위치한 메인 카메라 및 적어도 하나 이상의 측면에 위치한 사이드 카메라가 구성되고, 메인 카메라 및 사이드 카메라 사이에 위치한 프로젝터를 이용하여 위상 측정 프로파일로메트리(PMP) 방법을 기반으로 위상(phase)을 획득할 수 있다.
단계(S120)에서, 캘리브레이션부(1120)는 카메라 및 프로젝터의 조합마다 위상-투-깊이(phase-to-depth) 함수를 정의하고, 카메라 및 프로젝터의 파라미터를 최적화하는 캘리브레이션(calibration)을 수행할 수 있다. 여기서 위상-투-깊이(phase-to-depth) 함수는 위상(phase)을 깊이(depth) 또는 깊이 맵(depth map)으로 변환하는 것이다.
즉, 캘리브레이션부(1120)는 고정 타겟을 이용해서 카메라 파라미터와 위상-투-깊이(phase-to-depth) 맵을 형성하는 캘리브레이션(calibration)을 수행할 수 있다. 기존의 (비특허문헌 1) 등의 경우 평면 타겟을 여러 번 물리적으로 돌려가면서 찍어야만 캘리브레이션을 할 수 있는데, 이렇게 동적으로 움직이는 타겟을 이용하면 위상 측정 프로파일로메트리(PMP) 방법의 위상-투-깊이(phase-to-depth) 맵을 캘리브레이션 할 수 없다. 실시예들은 타겟을 일부러 정적으로 만들고 이를 이용해서 이 위에 다양한 위상의 이미지들을 투사할 수 있도록 함으로써 위상 측정 프로파일로메트리(PMP) 방법의 위상-투-깊이(phase-to-depth) 맵 캘리브레이션에서 카메라 파라미터들을 동시에 획득할 수 있다.
단계(S130)에서, 포인트 클라우드 획득부(1130)는 최적화된 카메라 및 프로젝터의 파라미터를 이용하여 깊이(depth) 정보를 포함하는 포인트 클라우드(pointcloud)를 구할 수 있다.
단계(S140)에서, 깊이 맵 획득부(1140)는 포인트 클라우드(pointcloud)의 모든 점에 대해 월드(world) 좌표로부터 카메라 좌표로의 변환을 수행하고, 카메라 좌표의 z 값을 저장하여 각 카메라 및 프로젝터의 쌍 별로 깊이 맵(depth map)을 구할 수 있다.
단계(S150)에서, 깊이 맵 융합부(1150)는 깊이 맵(depth map)의 오차를 보정하기 위해 모든 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)를 계산하고, 신뢰도(confidence)를 기반으로 각각의 깊이 맵(depth map)을 하나로 통합하는 신뢰도 기반 깊이 맵 융합(confidence-based depth map fusion)을 통해 최종 포인트 클라우드를 획득함에 따라 3D 복원을 수행할 수 있다.
도 12는 일 실시예에 따른 깊이 맵(depth map) 융합을 설명하기 위한 도면이다.
도 12를 참조하면, 깊이 맵 융합부(1150)는 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)(1250)의 계산 시 각 픽셀의 깊이(depth)(1240)를 통해 얻을 수 있는 3D 공간에서의 점들은 두 가지 경우로 나눌 수 있는데, 상단의 메인 카메라(1201)에 보이는 경우와 그렇지 않은 경우이다. 즉, 메인 카메라(1201)를 통해 보이는 가시성(1260)의 여부에 따라 구분될 수 있다.
메인 카메라(1201)에 보이는 점의 경우 대응되는 신뢰도(confidence)(1250)와 함께 메인 카메라의 깊이 맵(depth map)(1210)과 가중합(1220)을 통해 깊이 맵 융합이 이루어지고, 메인 카메라(1201)에 보이지 않는 점의 경우 나머지 사이드 카메라(1202)의 깊이 맵(depth map)(1280)에서 가중합(1270)을 통해 깊이 맵 융합이 이루어질 수 있다. 이를 통해 최종 3D 포인트 클라우드(1230)를 획득할 수 있다.
도 13은 일 실시예에 따른 최종 3D 포인트 클라우드를 나타내는 도면이다.
도 13을 참조하면, 캘리브레이션 타겟을 대상으로 촬영을 진행한 뒤, 메인 카메라의 깊이 맵(depth map)에 사이드 카메라의 깊이 맵(depth map)을 추가하여 깊이 맵 융합(depth map fusion)을 이루고 난 최종 3D 포인트 클라우드(pointcloud)를 나타낸다.
결과적으로 본 실시예를 통해 3D 복원을 위한 PMP 시스템의 캘리브레이션을 하나의 타겟만으로 이루어내는 데 성공하였으며, 해당 타겟을 움직이며 추가적인 촬영을 진행하지 않고 하나의 장면(scene)만으로 캘리브레이션 및 3D 복원을 수행할 수 있음을 알 수 있다. 또한 위상-투-깊이(phase-to-depth) 함수를 추가적인 파라미터 없이 카메라 및 프로젝터의 파라미터만으로 구성할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (10)
- 컴퓨터 장치에 의해 수행되는 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법에 있어서,
위상 측정 프로파일로메트리(Phase Measuring Profilometry, PMP) 방법을 기반으로 적어도 하나 이상의 카메라 및 프로젝터의 파라미터에서 3D 복원에 필요한 데이터인 위상(phase)을 획득하는 단계;
카메라 및 프로젝터의 조합마다 위상-투-깊이(phase-to-depth) 함수를 정의하고, 상기 카메라 및 프로젝터의 파라미터를 최적화하는 캘리브레이션(calibration)을 수행하는 단계; 및
최적화된 상기 카메라 및 프로젝터의 파라미터를 이용하여 깊이(depth) 정보를 포함하는 포인트 클라우드(pointcloud)를 구하는 단계
를 포함하는, 3차원 캘리브레이션 방법. - 제1항에 있어서,
상기 위상(phase)을 획득하는 단계는,
상기 프로젝터는 일련의 구조광(structured light) 이미지를 투사하는 단계;
투사된 빛은 오브젝트에서 반사되어 적어도 하나 이상의 상기 카메라의 센서에서 감지되는 단계; 및
한 쌍의 카메라 및 프로젝터에서 3D 복원에 필요한 상기 위상(phase)을 획득하는 단계
를 포함하는, 3차원 캘리브레이션 방법. - 제1항에 있어서,
상기 위상(phase)을 획득하는 단계는,
상단에 위치한 메인 카메라 및 적어도 하나 이상의 측면에 위치한 사이드 카메라가 구성되고, 상기 메인 카메라 및 상기 사이드 카메라 사이에 위치한 상기 프로젝터를 이용하여 위상 측정 프로파일로메트리(PMP) 방법을 기반으로 위상(phase)을 획득하는 것
을 특징으로 하는, 3차원 캘리브레이션 방법. - 제1항에 있어서,
상기 포인트 클라우드(pointcloud)의 모든 점에 대해 월드(world) 좌표로부터 카메라 좌표로의 변환을 수행하고, 상기 카메라 좌표의 z 값을 저장하여 각 상기 카메라 및 프로젝터의 쌍 별로 깊이 맵(depth map)을 구하는 단계; 및
상기 깊이 맵(depth map)의 오차를 보정하기 위해 모든 상기 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)를 계산하고, 상기 신뢰도(confidence)를 기반으로 각각의 상기 깊이 맵(depth map)을 하나로 통합하는 신뢰도 기반 깊이 맵 융합(confidence-based depth map fusion)을 통해 최종 포인트 클라우드를 획득함에 따라 3D 복원을 수행하는 단계
를 더 포함하는, 3차원 캘리브레이션 방법. - 제4항에 있어서,
상기 최종 포인트 클라우드를 획득함에 따라 3D 복원을 수행하는 단계는,
상기 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)의 계산 시 각 픽셀의 깊이(depth)를 통해 얻을 수 있는 3D 공간에서의 점들에 대해, 메인 카메라에 보이는 점의 경우 대응되는 신뢰도(confidence)와 함께 메인 카메라의 깊이 맵(depth map)과 가중합을 통해 깊이 맵 융합이 이루어지는 단계; 및
상기 메인 카메라에 보이지 않는 점의 경우 나머지 사이드 카메라의 깊이 맵(depth map)에서 가중합을 통해 깊이 맵 융합이 이루어지는 단계
를 포함하는, 3차원 캘리브레이션 방법. - 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 장치에 있어서,
위상 측정 프로파일로메트리(Phase Measuring Profilometry, PMP) 방법을 기반으로 적어도 하나 이상의 카메라 및 프로젝터의 파라미터에서 3D 복원에 필요한 데이터인 위상(phase)을 획득하는 위상 획득부;
카메라 및 프로젝터의 조합마다 위상-투-깊이(phase-to-depth) 함수를 정의하고, 상기 카메라 및 프로젝터의 파라미터를 최적화하는 캘리브레이션(calibration)을 수행하는 캘리브레이션부; 및
최적화된 상기 카메라 및 프로젝터의 파라미터를 이용하여 깊이(depth) 정보를 포함하는 포인트 클라우드(pointcloud)를 구하는 포인트 클라우드 획득부
를 포함하는, 3차원 캘리브레이션 장치. - 제6항에 있어서,
상기 위상 획득부는,
상기 프로젝터는 일련의 구조광(structured light) 이미지를 투사하고, 투사된 빛은 오브젝트에서 반사되어 적어도 하나 이상의 상기 카메라의 센서에서 감지되며, 한 쌍의 카메라 및 프로젝터에서 3D 복원에 필요한 상기 위상(phase)을 획득하는 것
을 특징으로 하는, 3차원 캘리브레이션 장치. - 제6항에 있어서,
상기 위상 획득부는,
상단에 위치한 메인 카메라 및 적어도 하나 이상의 측면에 위치한 사이드 카메라가 구성되고, 상기 메인 카메라 및 상기 사이드 카메라 사이에 위치한 상기 프로젝터를 이용하여 위상 측정 프로파일로메트리(PMP) 방법을 기반으로 위상(phase)을 획득하는 것
을 특징으로 하는, 3차원 캘리브레이션 장치. - 제6항에 있어서,
상기 포인트 클라우드(pointcloud)의 모든 점에 대해 월드(world) 좌표로부터 카메라 좌표로의 변환을 수행하고, 상기 카메라 좌표의 z 값을 저장하여 각 상기 카메라 및 프로젝터의 쌍 별로 깊이 맵(depth map)을 구하는 깊이 맵 획득부; 및
상기 깊이 맵(depth map)의 오차를 보정하기 위해 모든 상기 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)를 계산하고, 상기 신뢰도(confidence)를 기반으로 각각의 상기 깊이 맵(depth map)을 하나로 통합하는 신뢰도 기반 깊이 맵 융합(confidence-based depth map fusion)을 통해 최종 포인트 클라우드를 획득함에 따라 3D 복원을 수행하는 깊이 맵 융합부
를 더 포함하는, 3차원 캘리브레이션 장치. - 제9항에 있어서,
상기 깊이 맵 융합부는,
상기 깊이 맵(depth map)의 픽셀 별 신뢰도(confidence)의 계산 시 각 픽셀의 깊이(depth)를 통해 얻을 수 있는 3D 공간에서의 점들에 대해, 메인 카메라에 보이는 점의 경우 대응되는 신뢰도(confidence)와 함께 메인 카메라의 깊이 맵(depth map)과 가중합을 통해 깊이 맵 융합이 이루어지고, 상기 메인 카메라에 보이지 않는 점의 경우 나머지 사이드 카메라의 깊이 맵(depth map)에서 가중합을 통해 깊이 맵 융합이 이루어지는 것
을 특징으로 하는, 3차원 캘리브레이션 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220152975A KR20240071170A (ko) | 2022-11-15 | 2022-11-15 | 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치 |
EP23209635.4A EP4372310A1 (en) | 2022-11-15 | 2023-11-14 | 3d calibration method and apparatus for multi-view phase shift profilometry |
JP2023194302A JP2024072284A (ja) | 2022-11-15 | 2023-11-15 | マルチビュー位相移動プロファイロメトリのための3次元キャリブレーション方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220152975A KR20240071170A (ko) | 2022-11-15 | 2022-11-15 | 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240071170A true KR20240071170A (ko) | 2024-05-22 |
Family
ID=89509076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220152975A KR20240071170A (ko) | 2022-11-15 | 2022-11-15 | 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4372310A1 (ko) |
JP (1) | JP2024072284A (ko) |
KR (1) | KR20240071170A (ko) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012022952A1 (de) * | 2012-11-16 | 2014-05-22 | Friedrich-Schiller-Universität Jena | Verfahren und System zum berührungslosen Erfassen einer dreidimensionalen Oberfläche eines Objekts |
JP6602867B2 (ja) * | 2014-12-22 | 2019-11-06 | サイバーオプティクス コーポレーション | 三次元計測システムの校正を更新する方法 |
CA3126592A1 (fr) * | 2020-08-03 | 2022-02-03 | Institut De La Recherche Scientifique | Method and system for high-speed dual-view band-limited illumination profilometry |
-
2022
- 2022-11-15 KR KR1020220152975A patent/KR20240071170A/ko unknown
-
2023
- 2023-11-14 EP EP23209635.4A patent/EP4372310A1/en active Pending
- 2023-11-15 JP JP2023194302A patent/JP2024072284A/ja active Pending
Non-Patent Citations (1)
Title |
---|
Z. Zhang. 2000. A flexible new technique for camera calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence. |
Also Published As
Publication number | Publication date |
---|---|
JP2024072284A (ja) | 2024-05-27 |
EP4372310A1 (en) | 2024-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9858670B2 (en) | Information processing apparatus and method thereof | |
JP5029618B2 (ja) | パターン投影法による3次元形状計測装置、方法およびプログラム | |
JP5580164B2 (ja) | 光学情報処理装置、光学情報処理方法、光学情報処理システム、光学情報処理プログラム | |
KR101259835B1 (ko) | 깊이 정보를 생성하기 위한 장치 및 방법 | |
JP6363863B2 (ja) | 情報処理装置および情報処理方法 | |
CN110191326B (zh) | 一种投影系统分辨率扩展方法、装置和投影系统 | |
US20190121224A1 (en) | Calibration of projection systems | |
KR20160116075A (ko) | 카메라로부터 획득한 영상에 대한 자동보정기능을 구비한 영상처리장치 및 그 방법 | |
JPWO2018235163A1 (ja) | キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法 | |
CN106548489A (zh) | 一种深度图像与彩色图像的配准方法、三维图像采集装置 | |
WO2007137388A1 (en) | Photogrammetric system and techniques for 3d acquisition | |
CN115830103A (zh) | 一种基于单目彩色的透明物体定位方法、装置及存储介质 | |
EP3144894A1 (en) | Method and system for calibrating an image acquisition device and corresponding computer program product | |
Wilm et al. | Accurate and simple calibration of DLP projector systems | |
CN114549660B (zh) | 基于圆柱形自识别标记物的多相机标定方法、装置及设备 | |
KR20190130407A (ko) | 전방위 카메라의 캘리브레이션을 위한 장치 및 방법 | |
JP2011155412A (ja) | 投影システムおよび投影システムにおける歪み修正方法 | |
CN113658270B (zh) | 基于工件孔心的多目视觉标定的方法、装置、介质及系统 | |
CN114792345A (zh) | 一种基于单目结构光系统的标定方法 | |
JP6486083B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN109859313B (zh) | 3d点云数据获取方法、装置、3d数据生成方法及系统 | |
CN110736426A (zh) | 物体尺寸获取方法、装置、计算机设备以及存储介质 | |
JP4548228B2 (ja) | 画像データ作成方法 | |
KR20240071170A (ko) | 멀티뷰 위상 이동 프로파일로메트리를 위한 3차원 캘리브레이션 방법 및 장치 | |
Jarron et al. | Automatic detection and labelling of photogrammetric control points in a calibration test field |