DOI QR코드

DOI QR Code

다양한 카메라와 조명의 변화에 강건한 반자동 카메라 캘리브레이션 방법

Robust Semi-auto Calibration Method for Various Cameras and Illumination Changes

  • 신동원 (광주과학기술원 정보통신공학부) ;
  • 호요성 (광주과학기술원 정보통신공학부)
  • 투고 : 2015.11.16
  • 심사 : 2016.01.18
  • 발행 : 2016.01.30

초록

최근 다시점 카메라 시스템을 기반으로 한 3차원 영상 렌더링 방법을 통해 3차원 콘텐츠가 많이 제작되고 있다. 이러한 깊이 영상 기반 렌더링에서는 필연적으로 색상 카메라와 깊이 카메라 간의 시점 차이가 발생하기 때문에 두 카메라의 시점을 일치시키는 전처리 과정으로서 카메라 파라미터가 중요한 역할을 수행한다. 기존의 카메라 캘리브레이션 방법은 평면의 체스보드 패턴을 회전과 이동이 수행된 여러 자세로 촬영한 다음 획득된 영상에서 패턴 특징 점을 손으로 직접 선택해야하는 불편함이 따른다. 따라서 본 논문에서는 이 문제를 해소하기 위해 원형 샘플 화소 검사와 호모그래피 예측을 이용한 반자동 카메라 캘리브레이션을 제안한다. 제안하는 방법은 먼저 FAST 코너 검출 알고리즘을 이용하여 패턴 특징 점의 후보를 영상으로부터 추출한다. 다음으로 원형 샘플 화소를 검사하여 후보군의 크기를 줄이고 호모그래피 예측을 통해 손실된 패턴 특징 점을 보완하는 완전한 패턴 특징 점군을 획득한다. 마지막으로 쌍곡 포물면 근사를 통해 실수 단위의 정확성을 가지는 패턴 특징 점의 위치를 획득한다. 실험을 통해 각 단계에서 어떤 요인이 패턴 특징 점 검출에 영향을 미치는가에 대해 조사했고 제안하는 방법이 기존의 방법과 비교하여 카메라 파라미터의 정확성은 유지하고 수작업의 불편함을 해소할 수 있음을 확인했다.

Recently, many 3D contents have been produced through the multiview camera system. In this system, since a difference of the viewpoint between color and depth cameras is inevitable, the camera parameter plays the important role to adjust the viewpoint as a preprocessing step. The conventional camera calibration method is inconvenient to users since we need to choose pattern features manually after capturing a planar chessboard with various poses. Therefore, we propose a semi-auto camera calibration method using a circular sampling and an homography estimation. Firstly, The proposed method extracts the candidates of the pattern features from the images by FAST corner detector. Next, we reduce the amount of the candidates by the circular sampling and obtain the complete point cloud by the homography estimation. Lastly, we compute the accurate position having the sub-pixel accuracy of the pattern features by the approximation of the hyper parabola surface. We investigated which factor affects the result of the pattern feature detection at each step. Compared to the conventional method, we found the proposed method released the inconvenience of the manual operation but maintained the accuracy of the camera parameters.

키워드

Ⅰ. 서 론

최근 깊이 영상 기반 렌더링을 통해 합성된 다시점 영상, 3차원 모델 등 다양한 3차원 콘텐츠가 많이 만들어지고 있다. 이러한 콘텐츠들은 3차원 TV, 3차원 모니터와 같은 디스플레이 장치와 3D 프린터와 같은 출력 장비를 통해 우리의 눈을 즐겁게 해주고 있다[1].

깊이 영상 기반 렌더링은 기존의 색상 영상과 더불어 카메라에서 물체까지의 거리를 나타내는 깊이 영상을 이용하여 물체의 3차원 정보를 표현하고 가상 시점의 영상을 합성하는 기술이다. 깊이 영상 기반 렌더링에서 필연적으로 색상 카메라와 깊이 카메라 간의 시점 차이가 발생하기 때문에 두 시점을 일치시키는 전처리 과정으로서 카메라 파라미터는 중요한 역할을 수행한다. 또한 다시점에서 얻은 깊이 정보를 이용하여 3차원 정보를 다룰 때도 카메라 파라미터가 큰 역할을 수행하기 때문에 반드시 필요하다.

카메라 파라미터는 크게 내부 파라미터와 외부 파라미터로 구성되어 있다. 내부 파라미터는 카메라 내부의 영상센서와 카메라 렌즈 사이의 관계를 나타내고 크게 초점 거리와 주점좌표로구성되어있다. 초점거리는 영상센서와 카메라 렌즈사이의 거리를 나타내고 주점좌표는 카메라렌즈의 광학축이 영상 센서와 만나는 점의 좌표를 의미한다. 외부 파라미터는 2차원의 카메라 좌표계와 3차원의 세계 좌표계 사이의 관계를 나타내고 회전 행렬과 이동 벡터로 구성되어 있다. 이동 벡터는 카메라 좌표계가 세계 좌표계의 원점으로부터 떨어진 거리를 나타내고 회전 행렬은 세계 좌표계에 대해 카메라 좌표계가 회전한 정도를 나타낸다.

카메라 캘리브레이션은 이러한 카메라 파라미터를 획득하는 방법으로서 Zhang이 제안한 카메라 캘리브레이션 방법이 널리 사용되고 있다[2]. 이 방법은 크게 세 단계로 구성되는데 첫 번째로 카메라로부터 다양한 자세에서 촬영된 평면의 체스보드 패턴 영상을 획득한다. 다음으로 촬영된 패턴 영상에서 패턴의 교차점인 패턴 특징 점을 정확하게 검출한다. 마지막으로 검출된 패턴 특징 점을 이용하여 카메라 파라미터 값을 미지수로 가지는 선형 방정식을 구성하여 푼다. 그런데 기존의 방법은 패턴 특징 점을 검출하는 단계에서 사람이 직접 손으로 영상에서 점들을 선택해야하는 불편함이 존재한다. 따라서 카메라의 개수와 영상의 수가 늘어남에 따라 카메라 캘리브레이션 작업은 큰 부담이 된다.

본 논문에서는 기존의 방법의 문제점을 해결하기 위해 인간의 개입을 최소화한 반자동으로 패턴 특징 점을 검출하는 방법을 제안하고 실험을 통해 기존의 방법과 비교하여 카메라 파라미터의 정확성은 유지하고 수작업의 문제점은 해소했다.

 

Ⅱ. 제안하는 패턴 특징 점 검출 알고리즘

그림 1은 제안하는 방법의 흐름도를 나타낸다. 기존의 방법과 비교하여 패턴 특징 점을 검출하는 단계에서 네 단계의 세부 과정이 존재한다[3].

그림 1.제안하는 방법의 흐름도 Fig. 1. Flowchart of the proposed method

1. FAST 특징 검출 알고리즘

FAST (Features from Accelerated Segment Test) 특징 검출 알고리즘은 영상에서 특징 점을 검출하는데 사용되는 알고리즘으로서 재현성이 높고 속도가 빠른 장점이 있다[4]. 본 논문에서는 FAST 알고리즘을 이용하여 영상으로 부터 패턴 특징 점의 후보를 추출한다. FAST 특징 검출 알고리즘은 원점 Ip를 기준으로 반경이 3인 원주 상에 위치한 화소들의 값을 검사하여 연속한 n개의 화소들이 모두 상위 문턱치 값(Ip + t)보다 크거나, 모두 하위 문턱치 값(Ip - t)보다 작으면 특징 점으로 판단한다.

2. 원형 샘플 화소 검사

원형 샘플 화소 검사 단계에서는 FAST 특징 검출 단계에서 획득한 특징 점을 원점으로 하는 원을 두고 그 원주상에 존재하는 샘플 화소의 값을 검사하여 패턴 특징 점의 후보군을 줄이는 방법이다. 이전의 FAST 특징 검출 알고리즘은 영상 내의 일반적인 특징 점을 검출했기 때문에 카메라 캘리브레이션에 필요한 패턴 특징 점 외에도 다양한 특징 점이 포함되어 있다. 따라서 그 결과에서 패턴 특징 점을 추려내기 위해 원형 샘플 화소 검사를 수행해야 한다. 그림 2는 원형 샘플 화소 검사를 도식화한 그림이다.

그림 2.원형 샘플 화소 검사 Fig. 2. Circular sample pixel

녹색으로 표시된 패턴 특징 후보 점을 원점으로 하는 원위의 점이 원형 샘플 화소이다. 이 화소들의 값을 검사하는데 체스보드 패턴의 경우 패턴 특징 점에는 2가지 경우가 존재한다. 그림 2(a)의 경우, 영역 1과 영역 3의 원형 샘플 화소가 흰색이고 영역 2와 영역 4의 원형 샘플 화소가 검은색이면 이 후보 점을 패턴 특징 점으로 결정한다. 다음으로 그림 2(b)의 경우, 영역 1과 영역 3의 원형 샘플 화소가 검은색이고 영역 1과 영역 3의 원형 샘플 화소가 흰색이면 이 후보 점을 패턴 특징 점으로 결정한다.

원형 샘플 화소 검사 단계에서는 원주의 반경과 개수가 검사 성능을 좌우한다. 그림 3은 원주의 특성에 따른 결과를 보여준다.

그림 3.원주의 특성에 따른 결과 Fig. 3. Result depending on the property of the circumference

그림 3(a)는 원주의 반경이 10이고 원의 개수가 3인 경우의 원형 샘플 화소 검사 결과를 보여준다. 패턴 특징 점의 위치를 정확하게 잘 찾는 것을 확인 할 수 있다. 다음으로 그림 3(b)는 원주의 반경이 30이고 원의 개수가 3인 경우의 결과를 보여준다. 정확한 패턴 특징 점의 위치에서 다소 엇나간 위치를 결과로 보이는 것을 확인 할 수 있다. 이러한 원주의 특성은 영상의 크기와 영상에서 평면의 체스보드 패턴이 차지하는 크기를 고려하여 적절한 값을 선택해야 한다.

다음으로 그림 4는 조명의 변화에 따른 원형 샘플 화소 검사의 결과를 보여준다.

그림 4.조명의 변화에 따른 결과 Fig. 4. Result depending on the change of the illumination

그림 4의 결과로부터 의미 있는 패턴 특징 점을 추출했지만 캘리브레이션 패턴 좌상단의 빛의 포화 현상 때문에 일부 점들이 손실된 것을 알 수 있다. 다음 절에서는 이 문제를 해결하기 위해 호모그래피 예측을 수행하여 완전한 패턴 특징 점을 획득하는 방법에 대해 설명한다.

3. 호모그래피 예측

호모그래피 예측은 3차원 공간에서 두 평면에 대한 임의의 원근투영변환 관계를 예측하는 방법으로 주어진 두 평면 위의 점군으로부터 호모그래피 변환행렬을 계산한다. 본 논문의 호모그래피 예측 단계에서는 이전 단계의 결과에서 빛의 포화 또는 부족 현상 때문에 패턴 특징 점을 찾지 못하는 문제를 해결하기 위하여 이상적인 패턴 특징 점군과 검출된 패턴 특징 점군 사이의 호모그래피를 계산하여 점의 손실을 보완하는 방법을 제안한다. 그림 5는 호모그래피 예측을 통한 패턴 특징 점 검출 과정을 도식화한 그림이다[5].

그림 5.호모그래피 예측 Fig. 5. Homography estimation

먼저 그림 5(a)와 같이 이상적인 패턴 특징 점군(세모)과 검출된 패턴 특징 점군(네모)이 주어져 있을 때 두 점군 간의 중심을 그림 5(b)와 같이 일치시킨다. 그림의 X 표시는 각 점군의 중심을 나타낸다. 그리고 검출된 패턴 특징 점군을 기준으로 매칭 쌍을 만들어주는데 이 때 각 점에서 거리가 가까운 것을 기준으로 짝을 지어준다. 검출된 패턴 특징 점군에 대해서 모든 매칭을 수행한 다음 매칭되지 않은 점은 손실된 점으로 간주하고 다음 단계인 호모그래피 계산에서 제외된다. 다음으로 두 점군 사이의 호모그래피 행렬을 계산하여 변환해주면 그림 5(c)와 같이 두 점군이 일치 된 형태를 얻을 수 있다. 획득된 호모그래피 행렬을 앞서 제외한 점에 대해서 적용해주면 그림 5(d)와 같은 완전한 패턴 특징 점을 획득 할 수 있다.

호모그래피 예측 단계에서는 두 점군간의 매칭 쌍을 정확하게 선택해야하므로 이상적인 패턴 특징 점군의 크기를 조절하는 크기 인자를 적절하게 선택하는 것이 중요하다. 그림 6은 크기 인자에 따른 차이를 보여주는 그림이다.

그림 6.크기 인자에 따른 차이 Fig. 6. Difference depending on the scale factor

그림 6에서 세모 점군은 이상적인 패턴 특징 점군이고 네모 점군은 이전 단계에서 검출된 패턴 특징 점군이다. 그림 6(a)는 크기 인자가 0.4 인 경우를 보여주고 있는데 세모 점군의 크기가 네모 점군에 비해 작아 제대로 매칭이 이루어지지 않고 있다. 그림 6(b)는 크기 인자가 0.9인 경우인데 두 점군의 크기가 비슷하여 매칭이 잘 이루어지고 있다. 마지막으로 그림 6(c)는 크기 인자가 1.3인 경우이며 세모 점군의 크기가 네모 점군에비해상대적으로커서 거리에 기반을 둔 매칭이 제대로 이루어지지 못한다. 따라서 크기 인자 역시 영상의 해상도와영상에서체스보드 패턴이차지하는영역을 잘 고려하여 적절하게 선택해야 한다. 본 논문에서는 크기인자의 값을 0.9의 값을 이용하여 패턴 특징 점을 추출한다.

4. 화소 정확성 향상

호모그래피 예측을 통해 손실된 점이 없는 완전한 패턴 특징 점은 얻을 수 있었지만 결과가 정확한 패턴 특징 점의 위치에서 약간 어긋나거나 정수 단위의 정확성을 가지게 되는 약점이 있다. 따라서 좀 더 정밀한 실수 단위의 정확성을 확보하기 위해 본 논문에서는 쌍곡포물면 근사 방법을 이용하여 정확성을 향상시킨다[6].

화소 정확성 향상 단계에서는 먼저 그림 7(a)와 같이 영상에서 하나의 패턴 특징 점을 중심으로 하는 영역을 추출한다. 다음으로 이 영역을 그림 7(b)와 같이 가우시안 함수를 이용하여 흐림 영상으로 만든다. 흐림 영상으로 만드는 이유는 다음 단계에서 미분 연산을 수행하는데 있어 이산적인 형태보다 연속적인 형태가 적절하기 때문이다. 그림 7(c)는 흐림 영상을 3차원 그래프로 나타내며 여기서 우리가 구하고자 하는 것은 이 3차원 그래프 표면의 안장점이다. 이 안장점을 찾기 위해 먼저 이 표면을 쌍곡포물면 함수로 정의하고 그 계수를 찾는다.

그림 7.화소 정확성 향상 방법 Fig. 7. Improvement of sub-pixel accuracy

수식 (1)은 쌍곡포물면의 계수를 찾는 비용함수를 나타낸다. 이 식에서 (ax2 + bxy +cy2 + dx + ey + f)는 쌍곡포물면의 함수를 나타내고 I (x,y)는 영상에서 (x,y) 위치의 화소 값을 의미한다. 따라서 사각영역내의 모든 화소 위치에서 두 값의 제곱 차 합이 최소가 되는 계수 a, b, c, d, e, f를 찾는 것이 목적이다. 이 함수의 최적 해를 찾기 위해서는 비선형 최적화 방법인 Gauss-Newton 방법이나 Levenberg-Marquardt 방법을 이용하여 계수를 얻는다. 다음으로이 함수의 안장점의 위치를 찾아야하는데이는 쌍곡포물면 함수의 x에 대한 1계 도함수와 y에 대한 1계 도함수의 교점이 된다. 따라서 수식 (2)와 같은 선형방정식을 풀게 되면 우리가 얻고자 하는 안장점 (x,y)의 위치를 구할 수 있다.

따라서 이 결과로 쌍곡포물면 함수의 안장점 (x,y) 위치를 구하게 되면 이는 이전 단계에서 얻은 정수 단위의 패턴 특징 점의 위치보다 더 정확한 실수 단위의 위치로 갱신할 수 있게 된다.

 

Ⅲ. 실험 결과

실험에서 사용된 색상 카메라는 Basler사의 piA1900-32gc이고 해상도는 1920×1080이다. 하나의 카메라로부터 10장의 체스보드 패턴 영상을 촬영했고 한 장의 패턴 영상에 가로 5개, 세로 3개의 패턴을 사용했다. 따라서 한 장의 패턴 영상에 대해 24개이며 전체 영상에 대해서는 총 240개의 패턴 특징 점을 추출한다.

그림 8은 제안하는 방법으로 얻은 최종 결과를 나타내며 원으로 표시된 부분이 얻어진 패턴 특징 점이다. 그림 8에서 확인할 수 있듯이 카메라 캘리브레이션에 필요한 패턴 특징 점의 위치를 잘 찾아내는 것을 알 수 있고 좌상단의 빛의 포화 현상이 있는 부분에 대해서도 패턴 특징 점이 잘 획득된 것을 확인할 수 있다.

그림 8.제안하는 방법의 최종 결과 Fig. 8. The final result of the proposed method

정확한 비교를 위해 본 논문의 실험에서는 모든 패턴 영상에 대해 손으로 직접 추출한 패턴 특징 점의 실제 좌표 (ground truth)와 제안하는 방법으로 획득한 패턴 특징 점의 좌표를 비교한다. 카메라 캘리브레이션에서 카메라 파라미 터의 정확성을 결정하는 부분은 캘리브레이션 패턴을 촬영 한 영상에서 얼마나 정확하게 패턴 특징 점의 화소 위치를 찾아내는가이다. 따라서 인간의 눈과 손을 이용하여 직접 추출한 패턴 특징 점의 좌표와 제안하는 알고리즘을 이용하 여 얻은 패턴 특징 점의 좌표를 비교하는 것이 카메라 파라 미터의 정확성을 판단하는데 있어 의미 있다고 할 수 있다. 표 1은 실제 패턴특징 점의 좌표와제안하는 방법으로 얻은 패턴 특징 점의 좌표 사이의 거리를 나타내고 있다.

표 1.색상 영상에서 실제 패턴 특징 점의 좌표와 제안하는 방법으로 얻은 패턴 특징 점 좌표 사이의 거리 Table 1. Distance between the ground-truth position and the position from the proposed method for the color images

전체적으로 평균 1.89 픽셀의 차이가 나는 것을 확인했 다. 이 수치는 영상의 해상도가 1920×1080인 것을 감안했 을 때 매우 근소한 차이인 것을 알 수 있다. 다음으로 각각 의 방법으로 얻은 좌표 값들을 이용하여 카메라 파라미터 를 얻은 결과는 다음과 같다.

수식 (3)과 수식 (4)는 각각 사람이 직접 손으로 얻은 패턴 특징 점의 좌표를 이용하여 계산한 카메라 파라미터와 제안하는 방법으로 계산한 카메라 파라미터를 나타낸다. 먼저 내부 파라미터 A와 이동 벡터 t에 대한 차이를 수식 (5)에 나타내었다.

이 결과는 손으로 얻은 결과에서 제안한 방법으로 얻은 결과를 뺀 차이를 나타낸다. 초점거리는 –11mm정도의 차이를 보이고 주점 좌표는 x방향으로 2픽셀 y방향으로 13픽 셀의 차이를 보인다. 이동 벡터는 x방향으로 –3mm, y방향으로 –19mm, z방향으로 –18mm의 근소한 차이를 보이고 있다. 다음으로 회전 행렬 R에 대한 차이는 회전 행렬을 오일러 분해하여 x, y, z축에 대한 각도 값을 얻어내어 비교한다. 수식 (6)은 각 방법으로 얻은 회전 행렬을 오일러 분해하여 얻은 결과이다.

손으로 얻은 카메라 파라미터의 회전 행렬은 x, y, z축에 대해(-6.1380°, -1.0777°, 89.5321°)의 회전 각도를 보이고 제안하는 방법으로 얻은 카메라 파라미터의 회전 행렬은 (-6.0843°, -1.0691°, 89.5559°)의 회전 각도를 나타낸다. 두 결과 사이의 차이는 소수점 아래의 차이의 매우 작은 차이를 보인다.

 

Ⅳ. 결 론

본 논문에서는 카메라 파라미터를 획득하는 카메라 캘리브레이션에서 패턴 특징 점을 반자동으로 획득하는 방법을 제안했다. 먼저 FAST 코너 검출 알고리즘을 이용하여 패턴 특징 점의 후보를 영상으로부터 추출하고 원형 샘플 화소 검사 단계를 통해 후보군의 크기를 줄인다. 다음으로 호모그래피 예측을 통해 손실된 패턴 특징 점을 보완하는 완전한 패턴 특징 점군을 획득하고 화소 정확성 향상을 통해 실수 단위의 정확성을 가지는 패턴 특징 점의 위치를 획득한다. 실험결과를 통해 패턴 특징 점의 실제 위치와 비교하여 그 차이가 매우 작은 것을 확인했고 기존의 방법의 약점인 손으로 직접 패턴 특징 점을 선택하는 불편함을 해소했다. 실험 결과를 통해 제안하는 방법이 실제 패턴 특징 점의 위치와 비교하여 색상 영상에서는 평균 1.89 픽셀, 깊이 영상에서는 평균 0.76픽셀의 거리 차이가 나는 것을 확인하였다. 제안하는 방법을 이용하여 가상현실과 증강현실 시스템에서 카메라 캘리브레이션의 수고를 획기적으로 줄이게 할 것을 기대한다.

참고문헌

  1. C. Fehn, "A 3D-TV approach using depth-image-based rendering (DIBR)," Proc. of 3rd IASTED Conference on Visualization, Imaging, and Image Processing, pp. 482-487, 2003.
  2. Z. Zhang, "A Flexible New Technique for Camera Calibration," Pattern Analysis and Machine Intelligence, vol. 22, no. 11, pp. 1330-1334, 2000. https://doi.org/10.1109/34.888718
  3. D. Shin and Y. Ho, "Pattern Feature Detection for Camera Calibration using Circular Sample Pixel," Proc. of 2015 Korean Society of Broadcast Engineers Summer Conference, vol. 2015, no. 7, pp. 433-434, 2015.
  4. E. Rosten and T. Drummond, "Machine learning for high-speed corner detection," Proc. of the 9th European conference on Computer Vision, Berlin, Heidelberg, vol. Part I, no. 34, pp. 430-443, 2006.
  5. R. Hartley, A. Zisserman, "Multiple View Geometry in Computer Vision," Cambridge University Press, Cambridge, pp. 200-204, 2003.
  6. L. Lucchese and S. K. Mitra, "Using saddle points for subpixel feature detection in camera calibration targets," Circuits and Systems, vol. 2, no 2, pp. 191-195, 2002.