UPDATE : 2020-07-02 18:03 (목)
시설물 감시용 CCTV의 초광각 렌즈 왜곡보정
상태바
시설물 감시용 CCTV의 초광각 렌즈 왜곡보정
  • CCTV뉴스
  • 승인 2009.11.04 00:00
  • 댓글 0
이 기사를 공유합니다

최근 도시 시설물의 안전과 범죄 모니터링에 대한 수요가 증가하고 있으나 사용되는 산업 장비용 CCTV의 경우 고가가 대부분이기 때문에 사용자나 개발자 입장 모두 부담스러운 현실이다. 이러한 이유로 현재 시장에서는 저가격 CC TV, 또는 소량의 카메라로 넓은 지역을 모니터링 할 수 있는 기능의 CCTV를 요구하고 있다.
이에 본 고에서는 초광각 렌즈인 어안렌즈와 사진측량 알고리즘을 이용하여 단일 카메라의 시야각을 증대시켜 모니터링의 효율성을 극대화시키고자 한다.

CCTV나 웹카메라는 최근 범죄 예방 분야에서 주목을 받고 있으며, 한국정보사회진흥원(2008) 보고서에 따르면, 앞으로 건설/교통 분야에서도 u-City 구축, 건설현장 모니터링이나 시설물 관리 분야에서 매우 활용도가 높아질 것이라고 보고하고 있다. 특히 건설현장 모니터링 분야에서의 위험현장 모니터링, 인력의 안전관리, 공정관리 모니터링과 시설물 관리 분야에서의 도시시설물의 변화탐지, 시설물 안전관리, 공정관리 등에 많은 활용이 기대된다.

그러나 이러한 활용 분야로 인해 CCTV나 웹카메라 관련 시장이 급속히 확산되는 추세에 비해, 관련 장비는 대부분 수입에 의존하고 있으며 가격 또한 매우 고가인 문제 때문에 사용자나 개발자 입장 모두에서 부담스러운 현실이다.

이러한 이유로 인해 현재 시장에서는 저가격 CCTV, 또는 소량의 카메라로 넓은 지역을 모니터링 할 수 있는 기능의 CCTV를 요구하고 있다.
일반적으로 일반 렌즈의 경우 화각이 45° 전후이고, 60°~90°의 경우 광각(wide-angle)이라고 하는데, 주로 로보틱스 분야에서 로봇에 장착된 영상센서의 사물인식 및 위치인식을 위해 이용되고 있다. 광각렌즈보다 더 넓은 시야각을 가지는 90° 이상의 렌즈를 어안렌즈라 지칭하며, 어안렌즈는 <그림 1>과 같이 광각보다 넓은 시야각을 제공하는 반면, 렌즈의 특성상 매우 큰 방사왜곡을 가지는 단점을 지니고 있다.

이러한 방사왜곡을 보완하기 위해 스테레오 시각장치에서 사진측량학의 카메라 교정방법을 이용한 왜곡보정이 연구된 바 있으며, 타원체의 구면기하를 이용한 왜곡보정 연구도 수행된 바 있다. 또한, 사진측량 기법의 모델을 이용하여 단일 영상을 이용하여 저가형 로봇에 사용되는 광각렌즈의 왜곡을 보정하고자 하였으며, 터널현장의 벽면 영상정보 취득을 위해 어안렌즈 영상을 원통에 투영하여 평면영상으로 제작한 사례도 조사되었다. 

본 고에서는 저가격의 초광각 렌즈인 어안렌즈와 사진측량 알고리즘을 이용하여 단일의 CCTV 및 웹카메라에서 시야각(field of view)을 증대시켜 유효대상 공간을 최대한 넓혀줌으로써 모니터링의 효율성을 극대화 할 수 있는 알고리즘과 활용 프로그램을 개발하여, 이를 활용한 실험을 통해 결과를 검증하였다.

사용한 카메라는 정확도가 높지 않아도 시설물을 모니터링 할 수 있는 16만 화소의 저가형 웹카메라를 사용하였다. 고가의 카메라의 경우 화질과 해상도가 높은 대신 비용문제가 발생하기 때문에, 본 고에서는 비용문제 뿐만 아니라 화각까지 넓혀 모니터링에 효율을 극대화할 수 있는 기술을 제안하였다.      


                                     그림 1. 어안렌즈 영상


어안렌즈 왜곡보정 알고리즘

본 고에서는 방사왜곡(Radial distortion)과 비중심왜곡(Decentering distortion), 접선왜곡(Tangential distortion)을 어안렌즈 왜곡보정을 위해 해결해야 할 주요 해결 과제로 보았다. 일반적으로 접선 왜곡은 방사왜곡과 비중심왜곡에 비하여 아주 미미하기 때문에 왜곡의 보정을 위해서는 주로 방사왜곡과 비중심왜곡만을 보정하는데, 방사왜곡을 보정하고도 보정이 되지 않은 방사성분과 접선 성분 등을 합하여 비중심왜곡으로 취급한다.

방사왜곡은 영상에서의 점 위치를 정상적인 위치에 맺히게 하지 못하고 렌즈 중심에서 방사방향으로 정상위치의 안쪽 또는 바깥쪽으로 맺히는 현상이다. 방사왜곡은 두 가지로 나누는데 동일 크기의 격자를 촬영하였을 때 바깥쪽 격자의 크기가 커지는 Pincushion distortion과 가운데 격자의 크기가 가장 크게 나타나는 Barrel distortion으로 나뉜다. 어안렌즈의 경우 후자가 많이 일어난다.
접선 왜곡은 렌즈 중심으로부터의 방사 방향선에 직각되는 방향(접선방향)으로 발생하는 왜곡을 말한다. 일반적인 렌즈 왜곡에서, 방사왜곡에 비하여 그 크기가 매우 작아 대부분 보정하지 않는다.

비중심 왜곡은 렌즈 조합의 불완전에 의해 발생하는 왜곡으로서, 방사왜곡을 제거한 후에도 남게 되는 왜곡을 말한다. 비대칭방사왜곡과 접선왜곡이 합성된 왜곡으로, 중심에 대칭되지 않게 발생한다.

3가지 왜곡 중 X, Y 방향에 대한 방사왜곡은 다음의 식 (1)과 같다.

x방사왜곡량= xj (1k1r2jk2r4jk3r6j)
y방사왜곡량= yj (1k1r2jk2r4jk3r6j)   (1)

X, Y 방향에 대한 비중심왜곡량은 식 (2)와 같다.

x비중심왜곡량= (1p3r2jp4r4j)[p1(r2j2x2j)2p2xjyj]
y비중심왜곡량= (1p3r2jp4r4j)[2p1xjyjp2(r2j2y2j)    (2)

곡, 비중심왜곡 도입한 통합 관측방정식은 식 (3),  식 (4)와 같다. 여기서 (Cx, Cy)은 사진 주점 편위를 의미한다.

F = 0 = xj - cx - xj(1k1r2jk2r4jk3r6j)
- (1p3r2jp4r4j)[p1(r2j2x2j)2p2xjyj]fx  q  (3)

G = 0 = yj - cy - yj(1k1r2jk2r4jk3r6j)
- (1p3r2jp4r4j)[2p1xjyjp2(r2j2y2j]fy  q    (4)

식 (3), 식 (4)의 통합 방정식을 통해 위치 보정한 X, Y 좌표를 구하게 된다.

왜곡 보정을 위해서는 사진 주점 편위(cx, cy,), 초점 거리(fx, fy), 방사왜곡계수(k1, k2, k3) 그리고 비중심계수(p1, p2, p3 ,p4) 합하여 총 11의 미지수와 렌즈 자세 및 위치요소에 관한    6개의 미지수를 동시에 추정하기 위해서는 총 17개 이상의 관측 방정식이 필요하다.
한편, 객체점 하나에 두 개의 관측 방정식이 조성되므로 최소 9점의 객체가 필요하다. 본 고에서 초점 거리, 사진 주점 편위, 방사 왜곡계수를 산출하게 된다.   


왜곡보정 프로그램

>> 격자점 추출
카메라 왜곡보정시 결정하는 요소는 초점거리, 주점의 위치, 렌즈왜곡계수 등이 있다. 특히 초점거리를 정확히 산출하기 위해 일반적으로 3차원 입체 타겟을 많이 사용한다.
그러나 3차원 타겟은 제작이 어렵고 타겟의 위치를 실측해야하고 자동 추출에 문제가 많다는 단점이 있다. 이를 해결하기 위하여 본 고에서는 <그림 2>와 같은 2차원 타겟을 일반 A4 용지에 출력하여 고정시킨 후 촬영하였다. 또한 추출이 용이하도록 일정한 크기와 반복적인 색이 교차하는 타겟을 사용하였다. 타겟에서 일정한 거리를 유지한 채로 여러 방향에서 타겟을 촬영한 후 타겟 좌표를 영상에서 취득하여 이를 가지고 렌즈왜곡계수를 산출하였다.
본 고에서는 왜곡이 심해질수록 추출하기 힘든 타겟 외각 부분을 제외한 내부에 격자점을 자동 추출하기 위해 <그림 3>과 같은 Search Window를 사용하였다.


                                       그림 2. 타겟 모양


                                그림 3.Seach Window

효율적인 추출을 위해 Search Window는 5×5의 크기로 만들고, 두 가지 패턴을 보이면 격자로 인식하는 방법을 사용하였다. 첫 번째는 대각선 방향의 격자 패턴이 같은지를 분석하고, 두 번째로 대각선 방향 패턴이 같은지를 분석하여, 만약 같지 않다면 격자점으로 인식하게 되는 기법을 적용하였다.
즉 격자점은 대각선 방향 (①①②③, ④⑤⑥⑦)의 패턴이 같아야 하고, 양쪽 대각선 방향의 패턴은 달라야 한다.

>> 왜곡보정 프로그램의 구현
본 고에서는 격자점을 이용하여 왜곡보정 하는 프로그램을 <그림 4>와 같이 구현하였다. 프로그램은 격자의 크기 및 개수를 설정하는 타겟 모양 설정 단계, 영상 추가 및 삭제 단계, 선택된 영상으로부터 격자점을 산출된 왜곡보정 계수를 추출하는 왜곡보정 단계, 계산된 계수로 왜곡 되지 않는 영상 획득하는 단계 순으로 실행하게 된다. 또한 왜곡보정 영상이 본 영상보다 커지는 현상이 발생하기 때문에 <그림 5>와 같이 그 부분까지 보여줄 수 있는 Full Distortion 항목도 구현하였다.
왜곡보정시 <그림 4>와 같이 선택된 영상에서 격자점 추출이 가능한 경우 체크가 되고, 그렇지 못한 경우 체크가 생기지 않게 된다. 또한 체크된 영상에서 격자점은 <그림 4>와 같이 표시가 나타난다.  추출된 격자점으로부터 왜곡 계수들을 추출하게 되고, 이 계수를 사용하여 왜곡보정을 하게 된다. 이 계수들은 저장 및 불러오기도 할 수 있다.


                         그림 4. 왜곡 보정 실행

                             그림 5. Full Distortion 영상
 
>> 방사왜곡 보정 프로그램
현재 시설물 모니터링 분야에서의 CCTV 활용은 상당히 다양한 분야에서 연구되고 있다. 지상 시설물은 교량, 터널, 댐, 절개지 등 좁은 범위에서 모니터링을 하고 있으며, 지하 시설물은 공동구 등에 대한 모니터링이 이루어지고 있다.그러나 넓은 범위 시설물 모니터링은 많은 수의 장비들을 설치해야 하기 때문에 비용문제가 발생한다. 본 고에서는 저가격 보드 카메라 타입의 어안렌즈를 시설물 관리에 사용함으로서, 시설물의 효율적인 모니터링과 동시에 비용절감에도 많은 효과를 얻을 수 있으리라 예상된다.
<그림 6>은 방사왜곡 보정 프로그램에서 계산된 보정 계수를 이용하여 모니터링을 할 수 있는 프로그램이다. 어안 렌즈 영상을 보정할 수도 있고 실시간 동영상을 보정하여 보여줄 수도 있다.
 

                          그림  6. 방사왜곡 보정 프로그램

실험 및 분석

>> Test Lab 및 카메라 사양
본 고에서 개발한 기술의 실험 및 검증은 <그림 7>과 같이 한국건설기술연구원에 위치한 Test Lab에서 수행하였다.
Test Lab의 전체 면적은 약 520㎡(가로: 최장 15.9m, 세로: 최장 37.8m)이며 도시시설물 관리기술 개발을 위해 실험 공간으로 실험 데이터를 처리하고 통합하기 위해 구축한 공간이다. 현재 시설물의 모니터링뿐만 아니라 이기종 센서들의 정보를 전송하고, 취득 및 통합하여 시설물 관리를 할 수 있는 장소로 이용되고 있다. 따라서 추후, 본 연구 장비뿐만 아니라 다른 기종 센서에 대한 통합 실험을 할 수 있다.




                         그림 7. 렌즈 화각에 따른 시야각 비교

본 고에서는 표 1과 같은 사양의 VM32- B36 카메라를 조립하여 사용하였다. 해당 사양은 렌즈를 쉽게 교체 할 수 있고 설치가 용이하기 때문에 본 고에 적용하기가 적합하다.


                              <표 1. 카메라 사양>

>> 렌즈 화각에 따른 시야각 비교
어안렌즈의 화각이 넓기 때문에 일반 렌즈보다 초점거리가 짧고 촬영 대상이 렌즈에 가까울수록 왜곡되는 현상이 발생한다. 또한 촬영 범위가 광범위하게 촬영되고 배경이 작게 찍히므로 원근감이 강조되는 특성이 있다. 
본 고에서는 어안렌즈의 화각의 특성을 비교하기 위해 90°, 120°, 150°의 렌즈를 사용하여 영상을 비교 검증하였다. 실험을 위해 Test Lab에 지상에 설치되어 있는 길이 30m의 PC 암거(공동구) 옆면을 촬영하고, 그 길이를 측정하여 화각에 대한 시야 범위를 비교 하였다.
촬영 시, 촬영 거리를 7.5m로 고정한 후 렌즈만 바꾸어서 실험 하였다. 그림 7과 같이 90° 렌즈보다 150° 렌즈가 촬영 범위도 10m 가까이 차이가 나는 것을 볼 수 있다. 일반 렌즈는 90° 렌즈보다 화각이 더 작으므로, 실제 촬영 거리에서 보다 큰 차이가 발생한다고 볼 수 있다.

>> 왜곡보정 실험


                              그림 8. 왜곡보정 전 영상


                         그림  9. 왜곡보정 후 영상


본 고에서는 보정 계수 추출과 보정 계수를 이용한 실시간 모니터링 프로그램을 구현하였다. 보정 계수 추출 시, 실내 조건에서 카메라의 위치 및 자세를 정확하게 할 수 있으며, 다양한 위치에서 촬영한 영상을 여러 개 사용할 경우 훨씬 더 정확한 결과를 얻을 수 있다. 그러므로 본 고에서는 렌즈 중 왜곡이 가장 심한 150° 렌즈를 사용하여, 그림 8과 같이 9개 방향의 영상을 취득하여 왜곡보정 계수 추출에 사용하였다.
또한 렌즈 화각에 따른 보정 계수를 비교하기 위하여 표 2와 같이 90°, 120°, 150° 렌즈에 대해 9개 방향의 영상을 획득한 후 왜곡 계수를 산출하였다. 그 결과 표 2와 같이 화각이 넓어질수록 초점거리를 짧아지고 k1, k2, k3 계수에 의한 방사왜곡이 증가되는 것을 볼 수 있다.
대표적으로 150° 렌즈를 이용하여 왜곡보정 계수를 산출한 후, 왜곡보정한 영상은 <그림 9>와 같다. 왜곡보정 영상 내 격자의 직선화를 살펴보면 왜곡이 보정된 것을 육안으로 쉽게 확인 할 수 있다.


              < 표 2.  화각에 따른 왜곡보정 계수>

검증 실험

>> 왜곡보정 검증 실험

직선화의 보다 정량적인 분석을 위해 이격거리를 산출하고 RMSE를 구하는 방법을 사용하였다.
실내 타겟 촬영 실험의 경우 촬영거리가 30cm내외로 촬영되기 때문에 검증하기가 어렵다.
이를 검증하기 위해 <그림 11>과 같이 정면 영상을 왜곡보정하고, <그림 12>와 같이 종이 타겟을 스캐닝하여 영상을 획득한 후, 두 영상의 직선화 정도를 비교·분석하였다.



                        그림  11. 왜곡보정 영상


                              그림  12. 스캐닝 영상


이를 위하여 <그림 10>과 같이 타겟점 번호를 만들고, 점 1을 기준으로 가로를 X 방향, 세로를 Y 방향이라고 정의한 후, 보정 영상과 스캐닝 영상에서 X, Y 방향으로 격자와 격자 사이 거리를 계산하여 비교하였다. 이 때 두 영상 사이에 크기를 맞추어 주기 위하여 스케일 벡터를 사용하였다. X, Y, 2D RMSE를 구한 결과는 다음의 표 3과 같다.



                                               <표  3. 2D RMSE>

어안렌즈의 경우 영상 중앙에서 외곽으로 갈수록 왜곡이 증가하는데 최외곽의 경우, RMSE가 수십 픽셀이 나타난다. 표 3은 150° 렌즈를 왜곡 보정 후 RMSE를 구한 결과이다. 평균 R MSE가 3.2 Pixel로 많이 줄어든 것을 볼 수 있다. 
또한 렌즈 왜곡의 분포와 형태를 시각적으로 보여 주기 위하여 렌즈보정 전후 영상에서 격자점을 추출하여 그래프로 표현하였다. <그림 13>의 사각형 점은 보정 전 영상의 격자점으로 중심에서 외곽으로 갈수로 간격이 좁아지는 Barrel distortion이 나타나는 것을 확인할 수 있다. 그리고 원형 점은 보정 후 영상의 격자점으로 왜곡이 보정되어 간격이 일정하게 배치되었다.


                                                
                                            그림 13. 격자점의 분포


>> 시설물 왜곡보정 영상
본 고에서 개발된 기술들을 적용하기 위해서 Test Lab에서 실험을 하였다. Test Lab에는 아스팔트 도로, 가드레일, 보도블럭, 가로등, 함체, 운영실, 수로관 등 도로 및 주변 시설물 위주로 촬영하여 왜곡보정하였다. <그림 14>와 같이 어안 렌즈 보정 전후 영상을 비교할 수 있다. 가드레일이나 도로의 선형 구조를 통해 왜곡보정 정도를 육안으로 확인 할 수 있다.


                             그림 14. 어안렌즈 적용

또한 Barrel distortion 현상으로 인해 왜곡보정 시 영상의 크기가 월래 영상보다 커지는 현상이 발생한다. 이 부분을 보여주기 위하여 <그림 5>와 같이 왜곡보정 프로그램에 Full Dis tortion 기능을 구현하였다. 이를 적용한 영상은 <그림 14>의 아래에 포함되어 있다.

>> cx, cy 검증 실험
카메라 검정 요소 중 주점의 위치는 렌즈의 중심을 통과한 광선이 CCD 칩과 만나는 위치를 의미하는 영상좌표 취득 시 중심이 된다. 이를 cx, cy라 부른다.
표 2에서 나온 cx, cy와 검증을 위해  일정한 위치에 타겟을 놓고 카메라의 위치를 고정한 후, 카메라를 90°, 180°, 270° 회전하여 영상을 취득한 그 중심점과 비교하게 된다.
본 고에서는 150° 렌즈를 <그림 15>와 같이 회전하여 영상을 취득하였다. 또한 검증용 cx, cy를 추출하기 위하여 동일점에 대해 표 4와 같이 좌표를 추출하고 그 중심점을 구하면 X= 194.34, Y=111.34 의 좌표를 구할 수 있다. 표 2와 비교해 보면 3~5pixel 정도의 오차가 나타났다.  


                              그림 15. 검증을 위한 cx,cy 추출 영상



                                          <표 4. 카메라 회전 포인트 추출>


결론

본 고에서는 도시 시설물 관리 분야에서 최소 가격으로 영상정보를 활용할 수 있는 기반 연구로, 유효 대상 공간을 최대화 할 수 있는 어안렌즈를 제안하였다.

그러나 어안렌즈는 일반렌즈에 비해 초점 거리가 짧고, 영상 중심으로부터 멀어짐으로써 방사왜곡이 매우 커지는 것을 볼 수 있었다.
이를 보정하기 위하여 보정 모델을 제한하고, 프로그램을 구현하였다. 자동화를 위해 격자점 타겟을 사용하였으며, 이를 이용하여 왜곡보정 계수를 추출하였다. 또한 어안렌즈 영상에 왜곡보정량을 실시간 제거하여 모니터링 할 수 있는 프로그램을 구현하였다.

본 고에서는 왜곡보정에 정확도를 검증하기 위해 타겟 스캐닝 영상과 격자 간격의 거리에 대한 RMSE를 구하였다. 2D RMSE가 3.2pixel로 정확도를 입증하였다.

개발된 프로그램의 검증을 위하여 한국건설기술연구원 내에 Test Lab에서 화각에 따른 변화 실험과 왜곡보정 실험을 실시하였다. 촬영 거리 7.5m에서 90°와 150° 렌즈 간에 시야각 거리는 10m 정도로 나타났다. 일반 렌즈의 경우 화각이 90° 보다 작기 때문에 시야각 거리는 2배 차이로 일반 카메라 2대의 효과를 가져다 줄 수 있다.

즉 본 연구의 개발 기술을 기반으로 도시 시설물의 모니터링 분야의 모니터링 효율성과 경제성 부분을 어안렌즈를 통해 일정 부분 해결할 수 있을 것으로 기대된다. 

 

오윤석 선임연구원(ysoh@kict.re.kr) , 강진아 연구원(jakang@kict.re.kr)
한국건설기술연구원 유비쿼터스 국토연구실



 

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.