실린더형 쌍곡면 반사체 카메라 광각영상 복원
†Corresponding Author : Dept. of Electrical and Information Engineering, Seoul National University of Science and Technology suylee@seoultech.ac.kr
© Korea Robotics Society All rights reserved
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract
In order to contain as much information as possible in a single image, a wide FOV(Field-Of-View) imaging system is required. The catadioptric imaging system with hyperbolic cylinder mirror can acquire over 180 degree horizontal FOV realtime panorama image by using a conventional camera. Because the hyperbolic cylinder mirror has a curved surface in horizontal axis, the original image acquired from the imaging system has the geometrical distortion, which requires the image processing algorithm for reconstruction. In this paper, the image reconstruction algorithms for two cases are studied: (1) to obtain an image with uniform angular resolution and (2) to obtain horizontally rectilinear image. The image acquisition model of the hyperbolic cylinder mirror imaging system is analyzed by the geometrical optics and the image reconstruction algorithms are proposed based on the image acquisition model. To show the validity of the proposed algorithms, experiments are carried out and presented in this paper. The experimental results show that the reconstructed images have a uniform angular resolution and a rectilinear form in horizontal axis, which are natural to human.
Keywords:
Wide FOV, Panorama Image, Catadioptric, Hyperbolic cylinder mirror, Image reconstruction1. 서 론
카메라 영상에서 시야각(FOV, Field-Of-View)은 한 장의 영상에 담을 수 있는 영상정보의 양을 의미한다. 광시야각 영상 카메라는 근래 영상감시, 보안, 원격화상회의, 이동로봇 및 자동차 분야에서 점차 활용도가 높아지고 있다. 영상의 시야각을 넓히기 위한 방법으로는 (1) 카메라를 회전시키는 방법[1], (2) 여러 대의 카메라를 링 구조로 배열하는 방법[2], (3) 어안렌즈를 이용하는 방법[3], (4) 거울과 같은 광학소자를 이용하는 방법[4] 등이 있다. 카메라를 회전 시켜서 얻은 일련의 영상을 접합시켜서 한 장의 광각 영상을 얻는 방법 (1)은 실시간성을 확보하기 어렵다는 문제가 있으며, 다수의 카메라 링 배열로 얻은 영상들을 접합시키는 방법 (2)는 카메라 수에 따르는 비용문제와 함께 시점(view point)이 다른 각각의 영상 접합이 쉽지 않다는 문제점이 있다. 또한 어안렌즈를 이용하여 광시야각 영상을 얻는 방법 (3)은 영상 왜곡 보정이 어려우며, 어안렌즈 자체가 중심축을 기준으로 회전대칭 구조를 가지므로 상하좌우의 시야각을 선택적으로 넓히기 어렵다.
한편 빛을 집적시키기 위해 굴절(refractive) 렌즈를 사용하는 보통의 카메라와 반사(reflective) 거울을 별도로 조합하여 영상을 얻는 방법을 catadioptric (catoptric + dioptric) 영상방식이라 한다. 이러한 catadioptric 영상 방식은 하나의 영상센서를 분할하여 스테레오 영상을 얻거나[5], 360도 전방향(omnidirectional) 영상획득에 사용된다[6]. 전방향 영상을 얻는데 사용되는 반사체로는 그릇(bowl) 모양의 쌍곡
면형, 포물면형, 타원면형등이 있다[7]. 특히 [8]에서는 그릇 모양이 아닌 실린더형의 쌍곡면 반사체를 사용한 영상획득 시스템을 제안하였는데, 이 방식은 수평화각 180도 이상의 광각 파노라마 영상을 실시간으로 얻을 수 있다는 특징이 있다. 여기서 파노라마 영상은 일반적인 직사각형태의 광각 영상을 의미한다. 반면에 그릇 모양의 전방향성 반사체를 통해 얻은 영상은 어안렌즈를 통해 얻은 것과 같이 원형이 된다.
전방향성 반사체를 이용하여 얻은 원형 영상은 파노라마 영상으로 변환하기 위해서는 영상펼침(unwarping) 복원 과정이 필요하다. 쌍곡면 실린더형 반사체를 통해 얻은 영상은 그 자체로 파노라마 형태이지만, 수평면이 곡선형태를 가지므로 이에 따라 획득영상에 기하학적인 왜곡이 생기게 되고, 따라서 응용 사례에 맞는 영상복원 과정이 필요하게 된다. 예로서 (1) 획득 영상의 수평각 해상도(angular resolution)를 일정하게 하기 위한 경우, (2) 실공간의 수평선을 영상면에서도 수평하게 유지하기 위한 경우이다. 특히 [8]에서 얻은 원영상은 대상 물체와의 거리가 가까울수록 수평선 왜곡의 크기가 매우 커지므로, 사람에게 자연스럽게 보이도록 제시하기 위해서는 왜곡보정 영상복원이 반드시 필요하게 된다.
본 논문에서는 쌍곡면 실린더형 반사체를 이용한 영상획득 시스템에 대해서[8] 광선추적 영상획득 모델에 기반하여 앞서 기술한 두 가지 사례에 대한 영상복원 알고리즘을 제시하고자 한다.
본 논문의 구성은 다음과 같다. 2장에서는 쌍곡면 실린더형 반사체를 이용한 영상시스템의 영상획득 모델에 대해 서술하고, 3장에서는 영상획득 모델에 기반한 영상복원 알고리즘을 제시한다. 그리고 4장에서 실험영상 및 복원 영상을 제시하고, 5장에서 결론을 맺는다.
2. 쌍곡면 실린더형 반사체 영상 시스템의 영상획득 모델
영상복원 과정을 기술하기 위해서는 영상시스템의 영상획득 모델이 필요하다. 본 절에서는 쌍곡면 실린더형 반사체 영상시스템의 영상획득 모델에 관해 요약한다. 그림 1은 쌍곡면 실린더형 반사체를 이용한 영상시스템의 개념도다. x - y 평면에서 쌍곡선 함수의 방정식은 다음과 같다:
(1) |
여기서 a ,b 는 쌍곡선 함수의 형태를 결정하는 상수다. 쌍곡선 함수는 한 쌍의 초점
영상획득 모델은 실제 공간상의 한 물체점 O(xo, yo, zo) 과 영상공간상의 한 영상점, p(xp, yp) 와의 관계를 나타낸다. 쌍곡면 실린더형 반사체는 수평(x - y ) 방향으로는 쌍곡선 형태이며, 수직 (x - z )방향으로는 평면 반사체와 같으므로, 여기서는 수평방향과 수직방향으로 나누어 영상획득 모델을 기술한다.Fig .2-1
2.1. 수평 방향
그림 2의 영상획득 구조에서 물체점, O 의 위상각, φ 와 영상점,xp 사이의 관계는 다음과 같이 구할 수 있다. 여기서 카메라는 자체 왜곡이 없는 이상적인 핀홀 모델로 가정한다.
먼저 광직선 I과 II는 다음과 같이 나타낼 수 있다:
(2-1) |
(2-2) |
교점 C 의 좌표, (xc, yc) 는 쌍곡선과 직선 I의 교점이므로 식 (1)과 식 (2-1)로부터 다음과 같이 구할 수 있다.
(3) |
이제 직선 II로 부터 영상점, xp 는 다음과 같이 구할 수 있다.
(4) |
여기서 λ 는 카메라 렌즈의 초점거리를 나타낸다. 정리하자면, 식 (2)-(4)의 과정으로부터 쌍곡면 실린더형 반사체 영상계의 영상획득 모델을 다음과 같이 표현 할 수 있다:
(5) |
여기서 a 와 b 는 쌍곡선 식 (1)의 매개변수, λ 는 카메라 렌즈의 초점거리를 나타내며, 이들 매개변수는 영상시스템의 설계변수다.
2.2. 수직 방향
본 논문의 실린더형 반사체는 수직방향(z )으로 평면반사체와 같은 특성을 갖는다. 평면 반사체에 대한 영상획득 모델은 그림 3과 같이 유효시점(effective viewpoint)을 기준으로 구할 수 있다. 유효시점은 평면 반사체에 대한 카메라 핀홀 시점의 대칭점을 의미한다.
위 그림 3에서 물체점-반사점-유효시점-영상점은 동일 수직면 상에 놓인다. 네 점을 지나는 동일 수직면은 그림 4와 같이 나타낼 수 있다.Fig .3
그림 4에서 영상점의 z 축 좌표, zp 와 물체점 zo 사이의 관계는 식 (6)과 같다.
(6) |
여기서 물체점과 반사점 사이의 거리(tc ), 반사점과 유효시점 사이의 거리(tp ), 유효시점과 유효영상면 상의 영상점까지의 거리(ti )는 각각 다음과 같다:
(7) |
식 (7)의 값들을 계산하기 위한 반사점, C 의 좌표, (xc, yc) 는 식 (3)에서 구할 수 있다.
그림 5는 식 (5)와 식 (6)으로 표현되는 영상획득 모델, 즉 물체점, O(xo, yo, zo) 와 영상점, (xp, yp ) 사이의 관계 를 컴퓨터 시뮬레이션한 것이다. 그림 5 (a)와 같이 앞면이 없는 폭 10m, 높이 1m, 깊이 1m의 직육면체를 실린더형 쌍곡면 영상계로부터 거리 25m의 위치에 두고 찍었을 때, 얻어지게 될 영상이 그림 5 (b)와 같다.Fig .5Fig .4
본 영상계의 응용 목적에 따라 여러 가지 영상 복원의 방법들이 있을 수 있다. 본 논문에서는 다음 두 가지의 영상복원 방법을 기술한다. (1) 수평각 해상도를 균일하게 하는 영상복원 방법.
(2) 실공간의 수평선을 영상면에서도 수평하게 유지하기 위한 영상복원 방법
3. 영상 복원 알고리즘
3.1. 수평각 해상도를 균일하게 하는 영상복원 방법
그림 5 (b)에서 보는 바와 같이 실린더형 쌍곡면 반사체는 곡면 특성에 따른 수평각 해상도 차이가 발생한다. 그림 6은 영상획득 모델 식 (5)로부터 물체점의 위상각과 영상점의 관계 및 각해상도를 그래프로 나타낸 것이다. 그림에서 φ 의 영역은 [-90° 90°] 이고, xp 의 영역은 640×480 크기의 영상을 가정하여 [−320 320]로 하였다. 수평각 해상도는
원영상을 수평 각해상도가 균일한 영상으로 변환하는 방법은 2.1절에서 기술한 영상획득 모델식 (5)의 역함수를 이용하여 원영상의 각 화소들의 위상각을 구하고, 이들을 위상각에 비례하여 재배치하는 것이다. 즉 식 (5)로 표현되는 영상획득 모델에서 원영상의 한 영상점, xp 에 대한 복원 영상점의 위치, xr 는 다음과 구할 수 있다:Fig .6
(8) |
여기서 k 는 복원 영상의 크기를 결정하기 위한 비례상수다. 원영상의 화소점들에 대응하는 복원영상의 화소점들 사이의 공백은 화소 보간법을 적용하여 채울 수 있다[9].
3.2. 실공간의 수평선을 유지 복원 방법
그림 5 (b)에서 영상계와 물체 사이의 거리에 따라 수평선의 왜곡 정도가 달라지는 것을 볼 수 있다. 따라서 실공간에서 물체까지의 거리를 알고 있는 경우에는 왜곡을 보정할 수 있다. 일반적으로 실공간에서 물체 거리를 안다는 것은 어려운 가정이지만, 특별한 경우에는 물체거리가 미리 주어지는 경우도 있다. 예로서 일정한 높이에 설치된 영상계의 경우에는 바닥면 까지의 높이를 미리 알 수 있으므로 바닥면 영상의 왜곡을 보정할 수 있다.
영상 시스템은 기본적으로 실공간의 3차원 좌표를 영상공간의 2차원 좌표로 변환하는 과정이다. 본 논문에서 식 (5)와 식 (6)으로 기술되는 영상획득 모델도 물체점, O(xo, yo, zo) 를 영상점, p(xp, yp) 로 대응시키는 변환이다. 그러므로 물체점의 한 좌표값, 예로서 yo 가 주어진다면 영상데이터 p(xp, yp) 로부터 물체점의 좌표값, O(xo, yo, zo) 를 결정할 수 있다.
쌍곡면 실린더형 반사체 원영상에서 수평방향의 왜곡이 없는 영상으로 변환하는 방법은 식 (5)와 식 (6)으로 기술한 쌍곡면 실린더형 반사체 원영상에서 수평방향의 왜곡이 없는 영상으로 변환하는 방법은 식 (5)와 식 (6)으로 기술한 O(xo, yo, zo) - p(xp, yp) 관계로부터 각 화소별로 물체점의 3차원 좌표를 계산하고, 물체점의 좌표에 따라 화소들을 재배치하는 것이다. 즉, 영상점의 좌표가 p(xp, yp) 이고, 이로부터 역산한 물체점의 좌표가 O(xo, yo, zo)|yo 일 때, 수평선 유지 복원영상의 영상점 (xr, zr) 의 위치는 다음과 같이 정하면 된다.
(9) |
여기서 n 과 n 은 복원 영상의 크기를 결정하는 비례상수다.
4. 실험 결과
전술한 영상복원 알고리즘을 확인하기 위해 실험을 수행하였다. 실험에는 640×480 해상도를 갖는 USB 카메라와 쌍곡면형 실린더 반사체를 사용하였다. 본 영상계의 사양을 다음 표에 정리하였다.
4.1. 균일 수평각 해상도 복원
그림 7은 균일 수평각 해상도 복원 알고리즘을 검증하기위해 쌍곡면 실린더형 반사체 영상계 앞에 원통형 구조물들을 반지름 1,000mm 의 원상에 일정 45° 간격으로 설 치해 놓고 촬영한 원영상과 그 복원 영상이다. 양 끝의 구조물은 영상의 최대 화각을 확인하기 위해 15° 간격으로 배치하였다. 그림 7 (b)의 원영상에서는 각 구조물들의 간격이 일정하지 않으므로 영상의 수평각 해상도가 균일하지 않음을 알 수 있다. 그림 7 (c)는 3.1절에서 기술한 알고리즘을 적용하여 1 화소당 0.1° 에 해당하도록 재배치한 복원영상이다. 그림에서 보는 바와 같이 45° 간격으로 배치한 구조물들이 복원영상에서 450 화소 만큼의 일정한 간격을 가지고 균일하게 배치된다.Fig .7
그림 8은 쌍곡면 실린더형 반사체 카메라로 얻은 자연영상과 균일 수평각 해상도를 갖도록 복원한 결과 영상이다.Fig .8
4.2. 수평선 유지 복원
그림 9는 수평선 유지 복원 알고리즘을 검증하기 위해 쌍곡면 실린더형 반사체 영상계의 전면에 격자무늬의 평면 구조물를 설치해 두고 촬영한 원영상과 그 복원영상이다. 그림 9 (a)에서 영상계와 평면 구조물 사이의 거리는 일정 1,000mm 이며, 격자 무늬의 크기는 150mm × 150mm 이다. 그림 9 (b)의 원영상에서는 격자 무늬의 수평선이 왜곡되어 있음을 볼 수 있다. 그림 9 (c)는 3.1절에서 기술한 알고리즘을 적용하여 복원한 영상이다. 그림에서 격자 무늬의 수평선이 유지되도록 복원되었음을 볼 수 있다.Fig .9
쌍곡면 실린더형 반사체 영상 시스템은 실시간으로 초광각 영상을 얻을 수 있다는 장점이 있는 반면에 그림 7 ~ 그림 9에서 볼 수 있는 바와 같이 영상의 질은 떨어진다. 영상센서의 해상도가 동일한 경우, 영상의 질은 영상센서에 담는 영상의 시야각에 따라 달라지게 된다. 예로서 640×480 의 해상도를 갖는 영상센서에, 일반 카메라는 렌즈에 따라 30도~60도의 시야각 영상을 담는 반면에 쌍곡면 실린더형 반사체 카메라는 180도 이상의 시야각 영상을 담게 되므로 영상의 질은 당연히 떨어질 수 밖에 없다. 영상의 질을 개선하기 위해서는 서론에서 기술한 바와 같이 몇 가지 방법들이 있지만, 각각의 방법들은 또한 각각 단점들을 가지고 있다. 물론 1024×768 등과 같이 보다 높은 해상도를 갖는 영상센서를 사용해서 영상의 질을 높이는 것은 당연히 가능하다. 영상의 질과 시야각의 크기 사이에는 반비례적인 관계가 있으므로 그림 10과 같이 쌍곡면 실린더형 반사체의 시야각을 줄임으로써 영상의 질을 개선할 수도 있다.Fig .10
또한 쌍곡면 실린더형 반사체 영상 시스템은 획득 영상의 중심부에 카메라 자체에 의해 가려지는 영역이 생긴다는 문제점이 있다. 영상에서 가려지는 영역의 크기는 카메라의 크기에 따라 작게 할 수 있으나 한계가 있으며, 이 때문에 쌍곡면 반사체 영상시스템의 응용이 매우 제한적이게 될 수 있다. 이러한 문제는 피라미드 형태의 반사체를 사용하거나[10,11], 또는 반사와 투과 효과를 동시에 갖는 빔스플리터를 이용하여[12] 해결할 수 있다. 본 논문에서 개발한 광각 영상시스템은 지능형 자동차를 위한 영상 획득 시스템[13]이나, 이동로봇의 자율주행 시스템[14]에 활용할 수 있다.
5. 결 론
쌍곡면 실린더형 반사체를 이용한 영상획득 시스템은 180도 이상의 수평화각을 갖는 실시간 광각 영상을 얻을 수 있으며, 전방향성 거울을 사용하여 얻은 영상과 달리 원영상 자체가 파노라마 형태라는 특징을 갖는다. 그러나 반사체의 수평축이 곡선형태이므로 획득영상에 기하학적인 왜곡이 생기게 되고, 따라서 용도에 따라 후 영상처리 과정이 필요한 경우가 있다. 본 논문에서는 (1) 획득 영상의 수평각 해상도를 일정하게 복원하기 위한 경우와 (2) 실공간의 수평선을 영상면에서도 수평하게 유지하도록 복원하기 위한 경우에 맞는 각각의 영상처리 알고리즘을 제안하였다. 이를 위해 반사체의 특성을 이용하여 광선 추적법 기반의 수평, 수직방향 영상획득 모델을 유도하였다. 제안한 알고리즘을 입증하기 위해 위 각각의 경우에 대한 실험을 수행하였으며, 그 결과를 제시하였다. 결과적으로 수평각 해상도가 일정한 복원 영상과 실공간의 수평선이 그대로 유지되는 복원 영상을 얻을 수 있었으며, 이러한 복원 영상은 사람이 보기에 훨씬 자연스러운 영상임을 확인하였다.
References
- Ha, S, Koo, H, Lee, S, Cho, N, Kim, S, “Panorama Mosaic Optimization for Mobile Camera Systems, IEEE Trans. on Consumer Electronics, (2008), 53(4), p1217-1225. [https://doi.org/10.1109/tce.2007.4429204]
- Kim, K, Park, J, “Calibration of Radial Distortion and Synthesis of Panoramic Image from Muli-directional Camera Images, Jour. of Korean Institute of Next Generation Computing, (2013), 9(6), p56-65.
- Kim, G, Choi, Y, “Image-processing Based Panoramic Camera Employing Single Fisheye Lens, Jour. of Optical Society of Korea, (2010), 14(3), p245-259. [https://doi.org/10.3807/josk.2010.14.3.245]
- Krishnan, G, Nayer , S, “Cata-Fisheye Camera for Panoramic Imaging”, Proc. IEEE Workshop on Application of Computer Vision, (2008), p1-8. [https://doi.org/10.1109/wacv.2008.4544035]
- Gluckman, J, Nayer, S, “Planar Catadioptric Stereo Geometry and Calibration”, Proc. of IEEE Conf. on Computer Vision and Pattern Recognition, (1999), 1, p22-28. [https://doi.org/10.1109/cvpr.1999.786912]
- Zhihui, X, Wang, C, Maojun, Z, Xiong, Zhihui, “Catadioptric Omni-directional Stereo Vision and Its Applications in Moving Objects Detection”, Computer Vision, (2008), InTech, p493-518. [https://doi.org/10.5772/6159]
- Baker, S, Nayar, S, “A Theory of Single-Viewpoint Catadioptric Image Formation”, Int'l Jour. of Computer Vision, (1999), 35(2), p175-196. [https://doi.org/10.1023/a:1008128724364]
- Yi, S, Kim, S, “Wide FOV Panorama Image Acquisition System”, Proc. of The 9th Korea Robotics Society Annual Conference, (2014), p291-292.
- Park, D, Yoo, J, Kim, Y, “An Image Magnification Using Adaptive Interpolation Based Sub-pixel”, Jour. of Institute of Electronics Engineers of Korea, (2008), 45(6), p9-16.
- Nalwa, V, “A true omnidirectional viewer”, Bell Lab. Technical Report, (1996).
- Tan, K, Hua, H, Ahuja, N, "Multiview Panoramic Cameras Using Mirror Pyramids", IEEE Tr. on Pattern Analysis and Machine Intelligence, (2004 ). [https://doi.org/10.1109/tpami.2004.33]
- Lin, S, Citris, R, "High Resolution Catadioptric Omni-Directional Stereo Sensor for Robot Vision,", Proc. of Int'l Conf. on Robotics and Automation. vol, (2003), 2, p1694-1699.
- Seo, B, Choe, Y, Roh, H, Chung, M, “Graph-based Segmentation for Scene Understanding of an Autonomous Vehicle in Urban Environment,” Jour, of Korea Robotics Society, (2014), 9(1), p1-10. [https://doi.org/10.7746/jkros.2014.9.1.001]
- Kim, J, Do, Y, “Human Detection in the Images of a Single Camera for a Corridor Navigation Robot”, Jour. of Korea Robotics Society, (2013), 8(4), p238-246. [https://doi.org/10.7746/jkros.2013.8.4.238]