KR101745493B1 - 깊이 지도 생성 장치 및 방법 - Google Patents
깊이 지도 생성 장치 및 방법 Download PDFInfo
- Publication number
- KR101745493B1 KR101745493B1 KR1020160015703A KR20160015703A KR101745493B1 KR 101745493 B1 KR101745493 B1 KR 101745493B1 KR 1020160015703 A KR1020160015703 A KR 1020160015703A KR 20160015703 A KR20160015703 A KR 20160015703A KR 101745493 B1 KR101745493 B1 KR 101745493B1
- Authority
- KR
- South Korea
- Prior art keywords
- depth information
- feature points
- camera
- reference feature
- image
- Prior art date
Links
Images
Classifications
-
- H04N13/0271—
-
- 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
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- H04N13/0022—
-
- H04N13/0495—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
깊이 지도 생성 장치로서, 입력 영상에 포함된 특징점들 중 움직임이 기준값 이하인 특징점들을 기준 특징점들로 결정하는 특징점 추출부, 상기 기준 특징점들의 깊이 정보를 계산하는 희소 깊이 정보 획득부, 그리고 상기 기준 특징점들의 깊이 정보를 기초로 상기 입력 영상에서 비어있는 깊이 정보를 추정하여 조밀한 깊이 정보를 획득하는 조밀 깊이 정보 획득부를 포함한다.
Description
본 발명은 깊이 지도에 관한 것이다.
움직임 기반 깊이 정보 획득 방법(Structure-from-Motion)은 움직이는 카메라에서 찍히는 연속적인 영상들로부터 장면(scene)의 3차원 정보를 획득한다. 이러한 움직임 기반 깊이 정보 획득 방법은 영상들 사이의 거리(baseline)가 작은 경우 깊이 불확실성(depth uncertainty)이 증가하여 정확한 깊이 정보를 획득하는데 어려움이 있다.
최근 사용자들이 휴대용 카메라로 깊이 정보를 손쉽게 획득할 수 있도록 움직임이 작은 연속적 영상으로 깊이 정보를 구하는 연구가 활발히 진행되고 있다. 하지만 휴대용 카메라가 발생시키는 기하학적인 문제나 부정확한 카메라 기하학적 정보를 이용하는 문제 등과 같은 원인으로 깊이 정보 획득이 쉽지 않다.
종래 기술(3D Reconstruction from Accidental Motion, IEEE Computer Vision and Pattern Recognition 2014)은 움직임이 작은 연속적 영상으로부터 3차원 깊이 정보를 획득하는 방법을 개시하고 있다. 그러나 이 종래 기술은 일반적인 카메라를 이용하여 깊이 정보를 추정하는데 롤링셔터(rolling shutter) 효과에 대한 고려 없이 깊이 정보를 획득한다. 또한 이 종래 기술은 정확한 카메라 기하학적 정보를 이용하지 않기 때문에 초기 희박한 점(sparse point)들의 깊이 정보가 부정확하다.
다른 종래 기술(Global stereo matching leveraged by sparse ground control points, IEEE Computer Vision and Pattern Recognition 2011)은 영상 전체에 대한 깊이 정보를 추정하는데 같은 색 물체는 같은 깊이 정보를 가진다는 부정확한 가정을 이용하기 때문에 신뢰할만한 깊이 정보를 추정할 수 없다.
본 발명이 해결하고자 하는 과제는 움직임이 작은 연속적 영상(image sequences with small motion)으로부터 깊이 정보 및 카메라 궤적을 구하여 깊이 지도를 생성하는 장치 및 방법을 제공하는 것이다.
본 발명의 한 실시예에 따른 깊이 지도 생성 장치로서, 입력 영상에 포함된 특징점들 중 움직임이 기준값 이하인 특징점들을 기준 특징점들로 결정하는 특징점 추출부, 상기 기준 특징점들의 깊이 정보를 계산하는 희소 깊이 정보 획득부, 그리고 상기 기준 특징점들의 깊이 정보를 기초로 상기 입력 영상에서 비어있는 깊이 정보를 추정하여 조밀한 깊이 정보를 획득하는 조밀 깊이 정보 획득부를 포함한다.
상기 특징점 추출부는 영상간의 필수적인 행렬(essential matrix)과 등극선 기하(Epipolar geometry)를 이용하여 상기 입력 영상의 특징점들 중에서 움직이는 물체 위의 특징점들과 부정확한 특징점들을 제거하여 상기 기준 특징점들을 추출할 수 있다.
상기 희소 깊이 정보 획득부는 재투영 에러(reprojection error)를 최소화하는 값을 찾는 비용함수를 기초로 상기 기준 특징점들의 좌표와 카메라 파라미터를 반복적으로 조정하여 상기 기준 특징점들의 3차원 좌표를 구할 수 있다.
상기 희소 깊이 정보 획득부는 카메라 회전 벡터와 카메라 위치 벡터를 포함하는 카메라 궤적 정보를 더 구할 수 있다.
상기 희소 깊이 정보 획득부는 상기 입력 영상이 촬영되는 시간 대비 이미지 센서에서 촬영 영상을 읽어오는 시간 그리고 상기 입력 영상에서 각 기준 특징점이 위치한 열의 위치를 기초로 각 기준 특징점에 대응된 카메라 회전 벡터와 카메라 위치 벡터를 계산하고, 상기 카메라 회전 벡터와 상기 카메라 위치 벡터에 관계된 카메라 외부 행렬을 이용하여 상기 비용함수를 계산할 수 있다.
상기 조밀 깊이 정보 획득부는 상기 기준 특징점들의 깊이 정보를 초기 깊이 정보로 사용하여 주변의 깊이 정보를 추정하는 깊이 전파 방법(depth propagation method)을 이용하여 상기 입력 영상에 포함된 픽셀의 깊이 정보를 획득할 수 있다.
본 발명의 다른 실시예에 따른 깊이 지도 생성 장치로서, 입력 영상에서 기준 특징점들을 추출하는 특징점 추출부, 상기 입력 영상에서 각 열을 획득한 시간 정보를 기초로 열마다 다른 값을 포함하는 카메라 외부 행렬을 생성하고, 상기 카메라 외부 행렬을 이용하여 상기 기준 특징점들의 깊이 정보를 계산하는 희소 깊이 정보 획득부, 그리고 상기 기준 특징점들의 깊이 정보를 기초로 상기 입력 영상에서 비어있는 깊이 정보를 추정하여 조밀한 깊이 정보를 획득하는 조밀 깊이 정보 획득부를 포함한다.
상기 희소 깊이 정보 획득부는 상기 입력 영상이 촬영되는 시간 대비 이미지 센서에서 촬영 영상을 읽어오는 시간 그리고 상기 입력 영상에서 각 기준 특징점이 위치한 열의 위치를 기초로 각 기준 특징점에 대응된 카메라 회전 벡터와 카메라 위치 벡터를 계산하고, 상기 카메라 외부 행렬은 상기 회전 벡터와 상기 위치 벡터를 포함하는 깊이 지도 생성 장치.
상기 희소 깊이 정보 획득부는 재투영 에러(reprojection error)를 최소화하는 값을 찾는 비용함수를 기초로 상기 기준 특징점들의 좌표와 카메라 파라미터를 반복적으로 조정하여 상기 기준 특징점들의 3차원 좌표를 구하고, 상기 비용함수는 각 기준 특징점의 3차원 좌표로 추정되는 값을 카메라의 정규 좌표계(normalize coordinate)로 투영하고, 투영한 값과 각 기준 특징점의 2차원 좌표값의 차이가 최소가 되는 3차원 좌표를 각 기준 특징점의 3차원 좌표로 결정하는 함수이고, 상기 비용함수는 카메라 내부 행렬과 상기 카메라 외부 행렬을 이용하여 상기 투영한 값을 계산할 수 있다.
상기 희소 깊이 정보 획득부는 비선형 카메라 회전 벡터를 선형보간법(linear interpolation)을 이용하여 선형으로 변환하여 각 기준 특징점에 해당하는 상기 카메라 회전 벡터를 계산할 수 있다.
상기 특징점 추출부는 연속된 입력 영상에 포함된 특징점들 중 움직임이 기준값 이하인 특징점들을 상기 기준 특징점들로 결정할 수 있다.
상기 조밀 깊이 정보 획득부는 상기 기준 특징점들의 깊이 정보를 초기 깊이 정보로 사용하여 주변의 깊이 정보를 추정하는 깊이 전파 방법(depth propagation method)을 이용하여 상기 입력 영상에 포함된 픽셀의 깊이 정보를 획득할 수 있다.
본 발명의 또 다른 실시예에 따른 장치의 깊이 지도 생성 방법으로서, 연속된 영상을 입력받는 단계, 상기 영상에 포함된 특징점들 중 움직임이 기준값 이하인 특징점들을 기준 특징점들로 결정하는 단계, 이미지 센서에서 상기 영상의 각 열을 획득하는 시간 정보를 기초로 각 기준 특징점에 대응된 카메라 회전 벡터와 카메라 위치 벡터를 계산하는 단계, 상기 카메라 회전 벡터와 상기 카메라 위치 벡터를 포함하는 카메라 외부 정보를 기초로 상기 기준 특징점들의 깊이 정보를 계산하는 단계, 그리고 상기 기준 특징점들의 깊이 정보를 기초로 상기 영상에서 비어있는 깊이 정보를 추정하여 조밀한 깊이 정보를 획득하는 단계를 포함한다.
상기 기준 특징점들로 결정하는 단계는 영상간의 필수적인 행렬(essential matrix)과 등극선 기하(Epipolar geometry)를 이용하여 상기 기준 특징점들을 추출할 수 있다.
상기 카메라 회전 벡터와 카메라 위치 벡터를 계산하는 단계는 상기 영상이 촬영되는 시간 대비 이미지 센서에서 촬영 영상을 읽어오는 시간 그리고 상기 영상에서 각 기준 특징점이 위치한 열의 위치를 기초로 각 기준 특징점에 대응된 상기 카메라 회전 벡터와 상기 카메라 위치 벡터를 계산할 수 있다.
상기 카메라 회전 벡터와 카메라 위치 벡터를 계산하는 단계는 비선형 카메라 회전 벡터를 선형보간법(linear interpolation)을 이용하여 선형으로 변환하여 각 기준 특징점에 해당하는 상기 카메라 회전 벡터를 계산할 수 있다.
상기 기준 특징점들의 깊이 정보를 계산하는 단계는 재투영 에러(reprojection error)를 최소화하는 값을 찾는 비용함수를 기초로 상기 기준 특징점들의 좌표와 카메라 파라미터를 반복적으로 조정하여 상기 기준 특징점들의 3차원 좌표를 구하고, 상기 재투영 에러는 각 기준 특징점의 3차원 좌표로 추정되는 값을 카메라의 정규 좌표계(normalize coordinate)로 투영한 값과 각 기준 특징점의 2차원 좌표값의 차이이고, 상기 비용함수는 카메라 내부 정보와 상기 카메라 외부 정보를 이용하여 상기 정규 좌표계로 투영한 값을 계산하는 함수일 수 있다.
상기 기준 특징점들의 깊이 정보를 계산하는 단계는 상기 비용함수를 기초로 상기 기준 특징점들의 3차원 좌표와 카메라 궤적을 구할 수 있다.
본 발명의 실시예에 따르면 좁은 베이스라인(narrow baseline)이나 롤링 셔터에 의한 깊이 불확실성을 줄일 수 있다. 따라서, 본 발명의 실시예에 따르면 모바일 단말이나 DSLR과 같은 디지털 카메라로 촬영된 움직임 작은 연속적 영상으로부터 고품질의 깊이 지도를 생성할 수 있다.
도 1은 본 발명의 한 실시예에 따른 깊이 지도 생성 장치의 구성도이다.
도 2는 본 발명과 종래 기술의 특징점 추출 방법을 비교한 도면이다.
도 3은 본 발명의 한 실시예에 따른 깊이 지도 생성 방법의 흐름도이다.
도 4는 본 발명의 한 실시예에 따른 깊이 지도 생성 방법을 나타내는 도면이다.
도 5는 종래 기술이 생성한 깊이 지도 및 3차원 영상과 본 발명이 생성한 깊이 지도 및 3차원 영상을 나타낸다.
도 6은 종래 기술이 생성한 깊이 지도 및 3차원 영상과 본 발명이 생성한 깊이 지도 및 3차원 영상을 나타낸다.
도 7은 본 발명의 한 실시예에 따라 디지털 카메라로 촬영한 영상으로부터 획득한 깊이 지도 및 3차원 영상을 나타내는 도면이다.
도 8은 깊이 센서를 이용하여 측정한 깊이 지도와 본 발명의 한 실시예에 따라 RGB센서로 촬영한 영상으로부터 획득한 깊이 지도를 비교한 도면이다.
도 9는 본 발명의 한 실시예에 따라 획득한 깊이 지도를 이용하여 초점을 다시 맞춰본 결과(Refocusing)를 나타내는 도면이다.
도 10은 스테레오 카메라에서 촬영된 영상을 입력받아 본 발명의 한 실시예에 따라 추출한 깊이 지도를 나타내는 도면이다.
도 11은 라이트필드 카메라에서 촬영된 영상을 입력받아 본 발명의 한 실시예에 따라 추출한 깊이 지도를 나타내는 도면이다.
도 12는 앞으로 직진하면서 촬영한 영상을 입력받아 본 발명의 한 실시예에 따라 추출한 깊이 지도를 나타내는 도면이다.
도 2는 본 발명과 종래 기술의 특징점 추출 방법을 비교한 도면이다.
도 3은 본 발명의 한 실시예에 따른 깊이 지도 생성 방법의 흐름도이다.
도 4는 본 발명의 한 실시예에 따른 깊이 지도 생성 방법을 나타내는 도면이다.
도 5는 종래 기술이 생성한 깊이 지도 및 3차원 영상과 본 발명이 생성한 깊이 지도 및 3차원 영상을 나타낸다.
도 6은 종래 기술이 생성한 깊이 지도 및 3차원 영상과 본 발명이 생성한 깊이 지도 및 3차원 영상을 나타낸다.
도 7은 본 발명의 한 실시예에 따라 디지털 카메라로 촬영한 영상으로부터 획득한 깊이 지도 및 3차원 영상을 나타내는 도면이다.
도 8은 깊이 센서를 이용하여 측정한 깊이 지도와 본 발명의 한 실시예에 따라 RGB센서로 촬영한 영상으로부터 획득한 깊이 지도를 비교한 도면이다.
도 9는 본 발명의 한 실시예에 따라 획득한 깊이 지도를 이용하여 초점을 다시 맞춰본 결과(Refocusing)를 나타내는 도면이다.
도 10은 스테레오 카메라에서 촬영된 영상을 입력받아 본 발명의 한 실시예에 따라 추출한 깊이 지도를 나타내는 도면이다.
도 11은 라이트필드 카메라에서 촬영된 영상을 입력받아 본 발명의 한 실시예에 따라 추출한 깊이 지도를 나타내는 도면이다.
도 12는 앞으로 직진하면서 촬영한 영상을 입력받아 본 발명의 한 실시예에 따라 추출한 깊이 지도를 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
움직임이 작은 연속적 영상(또는 작은 움직임의 연속적 영상이라고 부를 수 있다)은 예를 들면, 모바일 단말이나 DSLR과 같은 디지털 카메라로 촬영된 영상일 수 있다. 움직임이 작은 연속적 영상은 좁은 베이스라인이나 롤링 셔터의 영향으로 정확한 깊이 정보를 획득하기 쉽지 않다. 다음에서 움직임이 작은 연속적 영상에서 롤링 셔터 효과를 줄이고, 조밀한 깊이 지도(dense depth map)를 생성하는 방법에 대해 설명한다.
도 1은 본 발명의 한 실시예에 따른 깊이 지도 생성 장치의 구성도이고, 도 2는 본 발명과 종래 기술의 특징점 추출 방법을 비교한 도면이다.
도 1을 참고하면, 깊이 지도 생성 장치(100)는 움직임 작은 연속적 영상으로부터 특징점의 깊이 정보 및 카메라 궤적을 획득하고, 이를 이용하여 영상 전체에 대한 깊이 정보를 획득한다. 이를 위해, 깊이 지도 생성 장치(100)는 영상 입력부(110), 특징점 추출부(130), 희소 깊이 정보 획득부(150), 조밀 깊이 정보 획득부(170) 그리고 3차원 영상 생성부(190)를 포함한다. 깊이 지도 생성 장치(100)는 적어도 하나의 프로세서와 적어도 하나의 메모리를 포함하고, 프로세서와 메모리를 이용하여 본 발명에서 설명한 동작을 구현한 프로그램을 구동한다.
영상 입력부(110)는 깊이 정보 획득에 사용되는 영상을 입력받는다. 영상 입력부(110)가 움직임 작은 연속적 영상을 입력받는 것을 가정한다.
특징점 추출부(130)는 입력 영상에서 특징점들(features)을 추출(extraction)한다. 특징점 추출부(130)는 고정된 물체의 특징점들을 추적(tracking)할 수 있다. 입력 영상이 움직임이 매우 작은 연속적인 영상이므로 특징점 추적에 작은 에러가 발생하면 깊이 정보에 중대한 오류를 발생시킨다. 따라서 정확한 특징점 추출 및 추적이 매우 중요하다.
특징점 추출부(130)는 영상간의 필수 행렬(essential matrix)과 등극선 기하(Epipolar geometry)를 이용하여 움직이는 물체 위의 특징점들이나 부정확한 특징점들을 제거하여 희소 특징점들(또는 기준 특징점들)을 추출한다. 즉, 특징점 추출부(130)는 연속된 영상에 포함된 특징점들 중 움직임이 기준값 이하인 특징점들을 희소 특징점들로 결정할 수 있다. 그리고 특징점 추출부(130)는 희소 특징점들을 추적한다. 도 2의 (a)는 종래 기술의 특징점 추출 방법에 따라 추출된 특징점들이고, 도 2의 (b)는 본 발명의 특징점 추출부(130)에서 추출된 특징점들을 나타낸다. 도 2의 (b)를 참고하면, 특징점 추출부(130)는 움직이는 물체인 자동차 위의 특징점을 제거하고, 고정된 물체에서의 특징점을 추적한다. 특징점 추출부(130)는 연속된 영상에서의 대응 위치를 비교하여 움직이는 특징점과 고정된 특징점을 구분하고, 이를 기초로 원하는 특징점을 추출할 수 있다.
희소 깊이 정보 획득부(150)는 특징점 추출부(130)에서 추출한 특징점의 깊이 정보를 계산한다. 희소 깊이 정보 획득부(150)는 3차원 좌표(3D points)와 카메라 파라미터를 반복적으로 조정(refine)하여 재투영 에러(reprojection error)를 최소화하는 최적의 값을 찾을 수 있다. 이를 위해 희소 깊이 정보 획득부(150)는 재투영 에러를 최소로 만드는 비용 함수를 기초로 카메라 궤적 정보(r, t)와 3차원 좌표(X)를 구한다. 여기서, 재투영 에러는 특정 이미지(i)의 특징점(j)에 해당하는 좌표(xij)와 이 좌표에 관계된 3차원 좌표를 카메라의 정규 좌표계(normalize coordinate)로 투영(project)한 값의 차이를 의미하고, 비용 함수는 수학식 1과 같이 표현될 수 있다.
희소 깊이 정보 획득부(150)가 수학식 1로부터 획득하는 값은 r, t, 그리고 X이다. 여기서, r은 카메라 회전 벡터(rotation vector)이고, t는 카메라 위치 벡터(translation vector)이다. 는 희소 특징점들의 3차원 좌표이다.
NI는 이미지의 수이고, NJ는 특징점의 수이다. xij는 i번째 영상의 j번째 특징점에 해당하는 2차원 좌표이다. 함수는 다음과 같이 3차원 좌표를 카메라의 정규 좌표계로 투영시키는 정규화 함수(normalization function)이다. K는 카메라 내부 행렬(intrinsic matrix)로서, 초점 거리(focal length), 주점(principal point) 등을 포함한다. Pij는 카메라 외부 행렬(extrinsic matrix)이다. Xj는 이미지(i)의 j번째 특징점에 해당하는 3차원 좌표이다.
이때, 희소 깊이 정보 획득부(150)는 작은 움직임에서의 3차원 구조를 획득하여 카메라 외부 행렬(P)의 회전 행렬을 작은 각도 근사치(small angle approximation)로 나타낸다. 카메라 외부 행렬(P)은 수학식 2와 같이 표현될 수 있다.
수학식 2에서, r은 카메라 회전 벡터이고, t는 카메라 위치 벡터이다. R은 회전 벡터(r)를 근사화된 회전 행렬로 변환해 주는 함수이다. 근사화된 회전 행렬을 이용한 원근 투영 모델은 작은 움직임의 깊이 정보 추정을 위한 중요한 단계이지만, 롤링셔터 카메라에서 획득한 영상에는 부적합할 수 있다. 롤링 셔터 카메라는 영상의 각 열을 다른 시간에 획득하기 때문에 열마다 다른 회전 벡터와 위치 벡터가 적용되어야 한다.
따라서, 희소 깊이 정보 획득부(150)는 다음에서 설명하는 롤링 셔터 카메라 모델을 기초로 열마다 다른 회전 벡터(rij)와 위치 벡터(tij)를 계산하여 롤링 셔터 영향을 극복한다. 롤링 셔터는 카메라가 움직일 때 이미지를 왜곡시킨다. 이러한 왜곡은 3차원 정보를 획득하는 성능을 제한시키는 문제가 있다. 종래에도 롤링 셔터의 문제를 해결하기 위한 연구(예를 들면, SLERP 방법)가 있으나, 고차 계산으로 작은 움직임에 적합하지 않다. 특히, SLERP 방법은 회전 행렬의 주기적 구조에 의한 회전 벡터의 불연속 변화를 위해 고안되었기 때문에, 작은 움직임에서의 깊이값 추정에 사용하기에는 너무 복잡하다. 이러한 문제를 해결하기 위해, 희소 깊이 정보 획득부(150)는 선형보간법(linear interpolation)을 이용하여 회전 벡터를 선형으로 변환한다. 그리고 희소 깊이 정보 획득부(150)는 수학식 3과 같이, 선형 변환된 회전 벡터와 위치 벡터를 기초로 열마다 다른 회전 벡터와 위치 벡터를 계산한다.
수학식 3에서, rij와 tij 각각은 i번째 영상의 j번째 특징점에서의 회전 및 위치 벡터이다. a는 각 영상이 촬영되는 시간(fps) 대비 이미지 센서(CMOS센서)에서 영상을 읽어오는 시간(read-out time)이다. h는 영상에 포함된 열(row)의 총 개수이고, kij는 i번째 영상의 j번째 특징점의 열의 위치이다.
다시 수학식 1을 참고하면, 희소 깊이 정보 획득부(150)는 영상의 각 열을 다른 시간에 획득하는 롤링 셔터의 특징을 반영하기 위해, 특징점이 위치한 열을 획득한 시간 정보를 이용하여 회전 벡터와 위치 벡터를 구한다(수학식 3). 즉, 롤링 셔터 카메라는 CMOS센서에서 영상을 열별로 읽어오기 때문에, 하나의 영상 내라고 하더라도 열에 따라 미세한 시간차가 발생할 수 있다. 따라서, 움직이는 물체를 촬영한 연속적 영상에서, 열에 따라 발생하는 시간차를 반영하여 특징점의 회전 및 위치 벡터를 보정한다면, 롤링 셔터에 의한 왜곡을 제거할 수 있다.
희소 깊이 정보 획득부(150)는 특징점이 위치한 열에 관계된 시간 정보를 이용하여 보정된 회전 벡터와 위치 벡터를 기초로 카메라 외부 행렬(P)을 구한다(수학식 2). 다음, 희소 깊이 정보 획득부(150)는 카메라 내부 행렬(K)과 보정된 회전 벡터와 위치 벡터를 포함하는 카메라 외부 행렬(P)을 이용하여 수학식 1의 비용 함수가 최소가 되는 3차원 좌표(X)를 획득한다.
이렇게, 희소 깊이 정보 획득부(150)는 기하학적으로 잘 복원된 깊이 정보를 획득할 수 있지만, 희소한 특징점들의 깊이 정보만을 추출하므로, 3차원 장면을 구현하기는 불충분하다. 다음에서, 영상 전체의 조밀(dense) 깊이 정보를 획득하는 방법에 대해 설명한다.
조밀 깊이 정보 획득부(170)는 희소 깊이 정보 획득부(150)에서 획득한 특징점들의 깊이 정보를 기초로 영상 전체 픽셀의 깊이 정보를 복원한다. 조밀 깊이 정보 획득부(170)는 희소 깊이 정보 획득부(150)에서 추출한 특징점들의 깊이 정보를 초기 깊이 정보로 사용하는 깊이 전파 방법(depth propagation method)을 이용하여 영상 전체의 깊이 정보를 획득할 수 있다.
조밀 깊이 정보 획득부(170)는 영상 전체에 대한 깊이 정보 획득을 위해 영상의 색 정보와 특징점들의 3차원 좌표를 이용한다. 조밀 깊이 정보 획득부(170)는 수학식 4와 같은 비용 함수 E(D)를 기초로 비용 함수가 최소가 되는 깊이 벡터(D)를 계산한다.
수학식 4에서, 비용 함수 E(D)는 정보 항(data term) Ed(D), 색 부드러움 항(color smoothness term) Ec(D) 그리고 기하학적 안내 항(geometric guidance term) Eg(D)로 이루어져 있다. Ed(D)는 특징점들의 3차원 정보이고, Ec(D)는 주변에 비슷한 색을 가진 픽셀에 비슷한 깊이 정보를 제공하며, Eg(D)는 법선 벡터를 이용하여 비슷한 표면 법선(surface normal)을 가지는 인접 픽셀에 깊이 정보를 안내한다. 는 각 항의 가중치이다.
3차원 영상 생성부(190)는 조밀 깊이 정보 획득부(170)에서 획득한 영상 전체의 조밀한 깊이 정보를 기초로 3차원 장면을 생성한다.
도 3은 본 발명의 한 실시예에 따른 깊이 지도 생성 방법의 흐름도이고, 도 4는 본 발명의 한 실시예에 따른 깊이 지도 생성 방법을 나타내는 도면이다.
도 3과 도 4를 참고하면, 깊이 지도 생성 장치(100)는 연속된 영상을 입력받는다(S110). 여기서, 연속된 복수의 영상은 도 4의 (a)와 같이 움직임 작은 연속적 영상일 수 있다. 연속된 복수의 영상은 롤링 셔터에 의해 캡쳐된 영상일 수 있다.
깊이 지도 생성 장치(100)는 입력 영상의 특징점들 중 일부 특징점들을(희소 특징점들 또는 기준 특징점들)을 추출한다(S120). 깊이 지도 생성 장치(100)는 영상간의 필수 행렬과 등극선 기하를 이용하여 움직이는 물체 위의 특징점들이나 부정확한 특징점들을 제거하여 기준 특징점들을 추출한다. 깊이 지도 생성 장치(100)는 도 4의 (b)와 같이, 희소 깊이 정보를 계산하는데 사용되는 기준 특징점들을 추출한다.
깊이 지도 생성 장치(100)는 재투영 에러를 최소화하는 값을 찾는 비용함수를 기초로 기준 특징점들의 좌표와 카메라 파라미터를 반복적으로 조정하여 카메라 궤적 정보(r, t)와 기준 특징점들의 3차원 좌표(X)를 구한다(S130). 이때, 재투영 에러는 특정 이미지(i)의 특징점(j)에 해당하는 좌표(xij)와 이 좌표에 관계된 3차원 좌표를 카메라의 정규 좌표계로 투영한 값의 차이이다. 깊이 지도 생성 장치(100)는 수학식 1의 비용함수를 사용할 수 있다. 이때, 깊이 지도 생성 장치(100)는 카메라 회전 벡터(r)와 카메라 위치 벡터(t)에 관계된 카메라 외부 행렬(P)을 이용하여 비용함수를 계산하는데, 영상의 각 열을 다른 시간에 획득하는 롤링 셔터의 영향을 보정할 수 있는 카메라 외부 행렬(P)을 사용한다. 즉, 깊이 지도 생성 장치(100)는 수학식 3과 같이 특징점이 위치한 열의 획득 시간 정보를 이용하여 보정된 회전 벡터와 위치 벡터를 구한다. 이때, 깊이 지도 생성 장치(100)는 선형보간법을 이용하여 회전 벡터를 선형으로 변환하여 복잡도를 낮출 수 있다. 깊이 지도 생성 장치(100)는 도 4의 (b)와 같이, 카메라 궤적 정보(r, t)와 기준 특징점들의 3차원 좌표(X)를 추출할 수 있다.
깊이 지도 생성 장치(100)는 기준 특징점들의 3차원 좌표(X)를 기초로 영상 전체 픽셀의 깊이 정보를 복원한다(S140). 깊이 지도 생성 장치(100)는 깊이 전파 방법(depth propagation method)을 이용하여 희소한 깊이 정보로부터 조밀한 깊이 정보를 획득할 수 있다. 깊이 지도 생성 장치(100)는 영상 전체에 대한 깊이 정보 획득을 위해 영상의 색 정보와 특징점들의 3차원 좌표를 이용할 수 있다.
깊이 지도 생성 장치(100)는 영상 전체의 조밀한 깊이 정보를 기초로 3차원 영상(장면)을 생성한다(S150).
이와 같은 방법으로 깊이 지도 생성 장치(100)는 연속된 영상으로부터 도 4의 (c)와 같은 깊이 지도를 획득하고, 이를 기초로 도 4의 (d)와 같은 3차원 영상을 생성할 수 있다.
다음에서 깊이 지도 생성 장치(100)에 의해 생성된 깊이 지도 및 3차원 영상과 종래 기술에 의해 생성된 깊이 지도 및 3차원 영상을 비교한다.
도 5는 종래 기술이 생성한 깊이 지도 및 3차원 영상과 본 발명이 생성한 깊이 지도 및 3차원 영상을 나타낸다.
도 5의 (a)는 종래 기술이 생성한 깊이 지도 및 3차원 영상이고, 도 5의 (b)는 본 발명이 생성한 깊이 지도 및 3차원 영상이다. 본 발명이 종래 기술보다 고품질의 깊이 지도를 생성할 수 있다.
도 6은 종래 기술이 생성한 깊이 지도 및 3차원 영상과 본 발명이 생성한 깊이 지도 및 3차원 영상을 나타낸다.
도 6을 참고하여, 종래 기술의 깊이 지도와 본 발명으로 구한 깊이 지도를 비교하면, 본 발명이 종래 기술보다 고품질의 깊이 정보를 제공하는 것을 알 수 있다. 여기서 종래 기술은 미국특허(등록번호 8,760,500)에 관련된 방법이다.
도 7은 본 발명의 한 실시예에 따라 디지털 카메라로 촬영한 영상으로부터 획득한 깊이 지도 및 3차원 영상을 나타내는 도면이다. 도 7의 촬영에 사용된 카메라는 Canon 60D이다.
도 7을 참고하면, 본 발명은 입력 영상과 거의 유사한 3차원 영상을 생성하는 것을 알 수 있다.
도 8은 깊이 센서를 이용하여 측정한 깊이 지도와 본 발명의 한 실시예에 따라 RGB센서로 촬영한 영상으로부터 획득한 깊이 지도를 비교한 도면이다.
도 8을 참고하면, 깊이 센서로 측정한 깊이 지도와 본 발명에서 획득한 깊이 지도의 차이는 표 1과 같다.
표 1에서 추출한 결과값은 도 8에서 깊이 센서로 측정한 추출한 깊이(kinect depth)와 본 발명으로 추출한 깊이의 차이를 분석한 결과를 나타낸다. 두 깊이 차이를 나타내는 깊이 차이 지도에서, R10은 전체 픽셀 대비 R10[Maximum depth difference*10% = 약 22cm(Pot dataset), 약 44cm(Room dataset)]이내의 오차를 갖는 픽셀들의 비율이다.
Dataset | Max.depth | R10 | R20 |
Pot | 2.2m | 94.14% | 99.07% |
Room | 4.4m | 85.50% | 96.31% |
도 9는 본 발명의 한 실시예에 따라 획득한 깊이 지도를 이용하여 초점을 다시 맞춰본 결과(Refocusing)를 나타내는 도면이다.
도 10은 스테레오 카메라에서 촬영된 영상을 입력받아 본 발명의 한 실시예에 따라 추출한 깊이 지도를 나타내는 도면이다.
도 11은 라이트필드 카메라에서 촬영된 영상을 입력받아 본 발명의 한 실시예에 따라 추출한 깊이 지도를 나타내는 도면이다.
도 12는 앞으로 직진하면서 촬영한 영상을 입력받아 본 발명의 한 실시예에 따라 추출한 깊이 지도를 나타내는 도면이다. 앞으로 직진하면서 촬영한 영상은 움직이는 차에서 촬영한 영상일 수 있다.
이와 같이, 도 4부터 도 12를 참고하면, 본 발명은 환경의 제약 없이 깊이 정보를 획득할 수 있다. 또한, 도 10부터 도 12를 참고하면, 본 발명은 스테레오 카메라, 라이트필드 카메라에서 포착된 영상 그리고 앞으로 움직이는 영상 등 회전 벡터가 작은 경우에서도 깊이 정보를 획득할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (18)
- 깊이 지도 생성 장치로서,
움직임이 기준 이하에서 연속 촬영된 입력 영상에서 초기 특징점들을 추출하고, 상기 초기 특징점들 중에서 움직이는 물체 위의 특징점들과 부정확한 특징점들을 제거하고 남은 특징점들을 기준 특징점들로 결정하는 특징점 추출부,
비용함수를 기초로 상기 기준 특징점들의 깊이 정보를 계산하는 희소 깊이 정보 획득부, 그리고
상기 기준 특징점들의 깊이 정보를 기초로 상기 입력 영상에서 비어있는 깊이 정보를 추정하여 조밀한 깊이 정보를 획득하는 조밀 깊이 정보 획득부
를 포함하며,
상기 희소 깊이 정보 획득부는
상기 입력 영상이 촬영되는 시간 대비 이미지 센서에서 촬영 영상을 읽어오는 시간 그리고 상기 입력 영상에서 각 기준 특징점이 위치한 열의 위치를 기초로 각 기준 특징점에 대응된 카메라 회전 벡터와 카메라 위치 벡터를 계산하고,
상기 카메라 회전 벡터와 상기 카메라 위치 벡터에 관계된 카메라 외부 행렬을 이용하여 상기 비용함수를 계산하는 깊이 지도 생성 장치. - 제1항에서,
상기 특징점 추출부는
영상간의 필수적인 행렬(essential matrix)과 등극선 기하(Epipolar geometry)를 이용하여 상기 입력 영상의 특징점들 중에서 움직이는 물체 위의 특징점들과 부정확한 특징점들을 제거하여 상기 기준 특징점들을 추출하는 깊이 지도 생성 장치. - 제1항에서,
상기 희소 깊이 정보 획득부는
재투영 에러(reprojection error)를 최소화하는 값을 찾는 상기 비용함수를 기초로 상기 기준 특징점들의 좌표와 카메라 파라미터를 반복적으로 조정하여 상기 기준 특징점들의 3차원 좌표를 구하는 깊이 지도 생성 장치. - 제3항에서,
상기 희소 깊이 정보 획득부는
카메라 회전 벡터와 카메라 위치 벡터를 포함하는 카메라 궤적 정보를 더 구하는 깊이 지도 생성 장치. - 삭제
- 제1항에서,
상기 조밀 깊이 정보 획득부는
상기 기준 특징점들의 깊이 정보를 초기 깊이 정보로 사용하여 주변의 깊이 정보를 추정하는 깊이 전파 방법(depth propagation method)을 이용하여 상기 입력 영상에 포함된 픽셀의 깊이 정보를 획득하는 깊이 지도 생성 장치. - 깊이 지도 생성 장치로서,
입력 영상에서 기준 특징점들을 추출하는 특징점 추출부,
상기 입력 영상이 촬영되는 시간 대비 이미지 센서에서 촬영 영상을 읽어오는 시간 그리고 상기 입력 영상에서 각 기준 특징점이 위치한 열의 위치를 기초로 각 기준 특징점의 카메라 외부 행렬을 계산하고, 상기 카메라 외부 행렬을 포함하는 비용함수를 이용하여 상기 기준 특징점들의 깊이 정보를 계산하는 희소 깊이 정보 획득부, 그리고
상기 기준 특징점들의 깊이 정보를 기초로 상기 입력 영상에서 비어있는 깊이 정보를 추정하여 조밀한 깊이 정보를 획득하는 조밀 깊이 정보 획득부
를 포함하며,
상기 외부 행렬은 카메라 회전 벡터와 카메라 위치 벡터를 포함하고,
상기 희소 깊이 정보 획득부는
작은 각도 근사치(small angle approximation)로 표현된 상기 카메라 회전 벡터를 선형보간법(linear interpolation)으로 선형 변환하고, 선형 변환된 상기 카메라 회전 벡터와 상기 카메라 위치 벡터를 이용하여 상기 비용함수를 계산하는 깊이 지도 생성 장치. - 삭제
- 제7항에서,
상기 희소 깊이 정보 획득부는
재투영 에러(reprojection error)를 최소화하는 값을 찾는 상기 비용함수를 기초로 상기 기준 특징점들의 좌표와 카메라 파라미터를 반복적으로 조정하여 상기 기준 특징점들의 3차원 좌표를 구하고,
상기 비용함수는
각 기준 특징점의 3차원 좌표로 추정되는 값을 카메라의 정규 좌표계(normalize coordinate)로 투영하고, 투영한 값과 각 기준 특징점의 2차원 좌표값의 차이가 최소가 되는 3차원 좌표를 각 기준 특징점의 3차원 좌표로 결정하는 함수이고, 상기 비용함수는 카메라 내부 행렬과 상기 카메라 외부 행렬을 이용하여 상기 투영한 값을 계산하는 깊이 지도 생성 장치. - 삭제
- 제7항에서,
상기 특징점 추출부는
연속된 입력 영상에 포함된 특징점들 중 움직임이 기준값 이하인 특징점들을 상기 기준 특징점들로 결정하는 깊이 지도 생성 장치. - 제7항에서,
상기 조밀 깊이 정보 획득부는
상기 기준 특징점들의 깊이 정보를 초기 깊이 정보로 사용하여 주변의 깊이 정보를 추정하는 깊이 전파 방법(depth propagation method)을 이용하여 상기 입력 영상에 포함된 픽셀의 깊이 정보를 획득하는 깊이 지도 생성 장치. - 장치의 깊이 지도 생성 방법으로서,
연속된 영상을 입력받는 단계,
상기 영상에 포함된 초기 특징점들을 추출하는 단계,
상기 초기 특징점들 중에서 움직이는 물체 위의 특징점들과 부정확한 특징점들을 제거하고 남은 특징점들을 기준 특징점들로 결정하는 단계,
이미지 센서에서 상기 영상의 각 열을 획득하는 시간 정보를 기초로 각 기준 특징점에 대응된 카메라 회전 벡터와 카메라 위치 벡터를 계산하는 단계,
상기 카메라 회전 벡터와 상기 카메라 위치 벡터를 포함하는 비용함수를 기초로 상기 기준 특징점들의 깊이 정보를 계산하는 단계, 그리고
상기 기준 특징점들의 깊이 정보를 기초로 상기 영상에서 비어있는 깊이 정보를 추정하여 조밀한 깊이 정보를 획득하는 단계
를 포함하며,
상기 기준 특징점들의 깊이 정보를 계산하는 단계는
작은 각도 근사치(small angle approximation)로 표현된 상기 카메라 회전 벡터를 선형보간법(linear interpolation)으로 선형 변환하고, 선형 변환된 상기 카메라 회전 벡터와 상기 카메라 위치 벡터를 이용하여 상기 비용함수를 계산하는 깊이 지도 생성 방법. - 제13항에서,
상기 기준 특징점들로 결정하는 단계는
영상간의 필수적인 행렬(essential matrix)과 등극선 기하(Epipolar geometry)를 이용하여 상기 기준 특징점들을 추출하는 깊이 지도 생성 방법. - 제13항에서,
상기 카메라 회전 벡터와 카메라 위치 벡터를 계산하는 단계는
상기 영상이 촬영되는 시간 대비 이미지 센서에서 촬영 영상을 읽어오는 시간 그리고 상기 영상에서 각 기준 특징점이 위치한 열의 위치를 기초로 각 기준 특징점에 대응된 상기 카메라 회전 벡터와 상기 카메라 위치 벡터를 계산하는 깊이 지도 생성 방법. - 삭제
- 제15항에서,
상기 기준 특징점들의 깊이 정보를 계산하는 단계는
재투영 에러(reprojection error)를 최소화하는 값을 찾는 상기 비용함수를 기초로 상기 기준 특징점들의 좌표와 카메라 파라미터를 반복적으로 조정하여 상기 기준 특징점들의 3차원 좌표를 구하고,
상기 재투영 에러는 각 기준 특징점의 3차원 좌표로 추정되는 값을 카메라의 정규 좌표계(normalize coordinate)로 투영한 값과 각 기준 특징점의 2차원 좌표값의 차이이고,
상기 비용함수는 카메라 내부 정보와 상기 카메라 외부 정보를 이용하여 상기 정규 좌표계로 투영한 값을 계산하는 함수인 깊이 지도 생성 방법. - 제17항에서,
상기 기준 특징점들의 깊이 정보를 계산하는 단계는
상기 비용함수를 기초로 상기 기준 특징점들의 3차원 좌표와 카메라 궤적을 구하는 깊이 지도 생성 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20150126425 | 2015-09-07 | ||
KR1020150126425 | 2015-09-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170029365A KR20170029365A (ko) | 2017-03-15 |
KR101745493B1 true KR101745493B1 (ko) | 2017-06-09 |
Family
ID=58403186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160015703A KR101745493B1 (ko) | 2015-09-07 | 2016-02-11 | 깊이 지도 생성 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101745493B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230096673A (ko) | 2021-12-23 | 2023-06-30 | 고려대학교 산학협력단 | 깊이지도의 해상도 향상 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램 |
US11741671B2 (en) | 2021-06-16 | 2023-08-29 | Samsung Electronics Co., Ltd. | Three-dimensional scene recreation using depth fusion |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11688073B2 (en) | 2020-04-14 | 2023-06-27 | Samsung Electronics Co., Ltd. | Method and system for depth map reconstruction |
KR102516450B1 (ko) * | 2020-10-16 | 2023-04-03 | 네이버랩스 주식회사 | 맵 생성 방법 및 이를 이용한 이미지 기반 측위 시스템 |
US11615594B2 (en) * | 2021-01-21 | 2023-03-28 | Samsung Electronics Co., Ltd. | Systems and methods for reconstruction of dense depth maps |
-
2016
- 2016-02-11 KR KR1020160015703A patent/KR101745493B1/ko active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11741671B2 (en) | 2021-06-16 | 2023-08-29 | Samsung Electronics Co., Ltd. | Three-dimensional scene recreation using depth fusion |
KR20230096673A (ko) | 2021-12-23 | 2023-06-30 | 고려대학교 산학협력단 | 깊이지도의 해상도 향상 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
KR20170029365A (ko) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101745493B1 (ko) | 깊이 지도 생성 장치 및 방법 | |
US20200334905A1 (en) | Systems and Methods for 3D Facial Modeling | |
US11210804B2 (en) | Methods, devices and computer program products for global bundle adjustment of 3D images | |
CN107705333B (zh) | 基于双目相机的空间定位方法及装置 | |
US10789765B2 (en) | Three-dimensional reconstruction method | |
US8805021B2 (en) | Method and apparatus for estimating face position in 3 dimensions | |
KR100776649B1 (ko) | 깊이 정보 기반 스테레오/다시점 영상 정합 장치 및 방법 | |
CN107948517B (zh) | 预览画面虚化处理方法、装置及设备 | |
JP5285619B2 (ja) | カメラシステムのキャリブレーション | |
CN101630406B (zh) | 摄像机的标定方法及摄像机标定装置 | |
CN106875435B (zh) | 获取深度图像的方法及*** | |
KR101891201B1 (ko) | 전방향 카메라의 깊이 지도 획득 방법 및 장치 | |
WO2018112788A1 (zh) | 图像处理方法及设备 | |
US20090167843A1 (en) | Two pass approach to three dimensional Reconstruction | |
TW201118791A (en) | System and method for obtaining camera parameters from a plurality of images, and computer program products thereof | |
US10410372B1 (en) | Methods, systems, and computer-readable media for utilizing radial distortion to estimate a pose configuration | |
US8531505B2 (en) | Imaging parameter acquisition apparatus, imaging parameter acquisition method and storage medium | |
JP2005326247A (ja) | 校正装置及び校正方法並びに校正プログラム | |
CN111080776B (zh) | 人体动作三维数据采集和复现的处理方法及*** | |
KR102200866B1 (ko) | 2차원 이미지를 이용한 3차원 모델링 방법 | |
CN112083403B (zh) | 用于虚拟场景的定位追踪误差校正方法及*** | |
JP6192507B2 (ja) | 画像処理装置、その制御方法、および制御プログラム、並びに撮像装置 | |
JP6885474B2 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
EP3189493B1 (en) | Depth map based perspective correction in digital photos | |
JP2003179800A (ja) | 多視点画像生成装置、画像処理装置、および方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |