논문명 | 단일 카메라를 이용한 3차원 공간 정보 생성 |
---|---|
저자(소속) | 권오영 (연세대) |
학회/년도 | 한국정보통신학회논문지 2015, 논문, Download |
키워드 | 단일 카메라, 연속된 2장의 사진, SIFT[5] 특징점, 삼각측량 |
참고 | |
코드 |
3차원 복원 과정은 그림 1과 같이 이미지를 가져와 영상의 특징점을 찾아 이를 토대로 매칭 과정을 거치고 기본행렬을 계산하여 삼각측량을 수행하는 과정으로 이루어진다.
본 연구에서 수행한 단일 카메라를 이용한 방법도 이와 같은 과정으로 진행되나 빠른 연산을 위해 카메라로부터 얻은 시간적으로 차이가 있는 이미지 2장을 이용하며 블랙박스에 주로 사용되는 어안렌즈를 복원하는과정과 불필요한 데이터를 삭제하는 과정이 추가된다.
카메라로부터 얻은 2차원 영상과 3차원 정보간에 동일한 위치를 구하기 위해서는 사용된 렌즈, 렌즈와 영상센서와의 거리, 렌즈와 영상 센서가 이루는 각 등의 카메라 내부적인 요인을 제거해야만 정확한 계산이 가능하다.
카메라 내부 파라미터[2]는 측정하는 여러 방법이있지만 본 연구에서는 ‘gml c++ camera calibrationtoolbox’ 툴을 이용하여 내부 파라미터를 측정하였다[3].
이 툴은 여러 각도에서 촬영된 패턴을 이용하 카메라 내부 파라미터를 측정한다.
내부 파라미터 측정에 앞서 차량용 카메라의 경우 일반적으로 높은 시야각을 위해 어안(fisheye) 렌즈를 사용하기 때문에 차량용 카메라에 획득되는 영상 정보가 왜곡되어 들어오기 때문에 이러한왜곡된 정보를 보정해주는 과정이 필요하다.
왜곡보정과정은 카메라 내부 파라미터에 의해 보정된 픽셀을 왜곡영상의 대응되는 픽셀로 채워 넣는 것이다[4].
영상의 특징점은 다양한 방법들이 소개된다.
그 중본 연구에서는 SIFT[5] 특징점을 사용하였는데 이는 모든 이미지 프레임에서 추출의 수가 많고 일정하여, 3차원 공간 복원 시 유리하기 때문이다.
SIFT는 영상에서 코너점 등, 식별이 용이한 특징점 들을 선택한 후에 각특징점을 중심으로 한 로컬 패치(local patch)에 대해 아래 그림과 같은 특징 벡터를 추출한 것을 말한다.
SIFT는 이미지 회전, 스케일링, 이동, 부분 조명 변화 및 투영 변환에 불변인 특성을 지니고 있다.
SIFT descriptor를 이용하여 두 이미지간의 매칭 쌍을 찾을 수 있고, 매칭 되는 점의 위치 값을 통해 기본행렬(Fundamental Matrix)[6]을 구할 수 있다.
이는 카메라 파라미터를 포함한 두 이미지 실제 픽셀 좌표 사이의 기하학전 관계를 표현한다.
매칭 후 연산속도 증가를 위해 RANSAC[7]을 통해 불필요한 데이터를 걸러낸다.
그림 3은 두 이미지 사이의 매칭점을 선으로연결하여 나타낸 것이다.
Triangulation[8,9]은 식 1에 의해 두 영상 평면 사이의 기하학적 관계가 주어지고(즉, E 또는 F가 주어지고)두 영상 평면상의 매칭쌍 p, p'이 주어지면 이로부터 원래의 3차원 공간좌표 P를 결정할 수 있다는 것을 말한다.