.jpg)
\r\n
\r\n
영상 DB를 이용한 자동차의 위치·자세 추정
\r\n
출·퇴근 용도로 활용하는 자동차의 운영환경은 일반적으로 같은 경로를 이용한다. 이를 토대로 무인운행이 가능한 방법을 알아본다. 우선 자동차를 운행해 영상을 취득한 후, 데이터화 시켜 자동차의 위치·자세를 추정할 수 있다. 간단하게 설명하면, 먼저 Topometric Localization에 의해 토폴로지컬(Topological) 정보(영상간의 시간적·공간적인 연결관계)와 메트릭 정보(영상간의 거리)를 고려하면서 실시간 영상과 유사한 데이터베이스 영상을 조사·분류한다. 그리고 데이터를 통해 추정된 특징점의 3차원 위치와 현재 영상 특징점의 2차원 위치를 대응시키면 자동차의 위치·자세를 추정할 수 있다.
\r\n
\r\n
\r\n
최근 무인자동차의 구현을 목표로 한 많은 연구가 이뤄지는 가운데, 공공도로에서의 주행시험이나 상용차에 기능을 탑재하는 방법도 시도되고 있다. 무인자동차는 출퇴근이나 여행 등 다양한 어플리케이션을 생각할 수 있는데 그 중에서도 QOL(Quality of Life : 생활의 질)의 향상을 목적으로 Valet Parking의 자동화를 목표로 하는 Virtual Valet에 대해 알아본다1).
\r\n
\r\n
무인자동차의 실현에는 통과 계획이나 장해물 검출 등 다양한 요소기술이 필요한데 이 중에서도 가장 기본적인 문제 중 하나인 자동차의 현재 위치·자세를 추정하는 Localization을 다룬다. 지금까지 다양한 Localization 방법이 제안되어 왔다. 가장 많이 이용되는 방법은 간단하고 저비용으로 구현 가능한 GPS가 사용되고 있다. 그러나 GPS에는 빌딩이나 수목 근처, 실내 등 GPS 전파가 차단되는 환경에서는 사용할 수 없다는 문제가 있다.
\r\n
\r\n
이와 함께 레이저 거리측정기(Laser Range-Finder) 등 3차원 정보를 계측할 수 있는 3D센서를 사용한 방법이 제안되고 있으며 DARPA(미국방위고등연구계획국) 주최의 무인자동차 레이스 Grand Challenge나 Urban Challenge에서 높은 성과를 올리고 있다2). 그러나 3D센서는 고가이며 내부에 고속으로 가동하는 부품이 있기 때문에 내구성이 낮다는 문제가 있다. 때문에 Valet Parking의 자동화를 실현하기 위해서는 실내에서도 사용이 가능해야 하며, 3D센서에 비해 저렴한 카메라를 사용한 자동차의 Localization 방법이 효율적이라고 할 수 있다3).
\r\n
\r\n
.jpg)
\r\n
\r\n
\r\n
기촬영 된 영상을 바탕으로 한 위치·자세 추정
\r\n
Valet Parking 등 무인자동차의 응용에서 대부분의 경우 주행할 때마다 같은 경로를 통과하는 것을 착안할 수 있다. 사전에 수동으로 경로를 주행해 취득한 영상 데이터베이스를 바탕으로 Localization을 한다. 이때 카메라의 내부 파라미터 및 카메라와 자동차 사이의 상대위치·자세는 사전 캘리브레이션(Calibration)에 의해 이미 알고 있다고 하고 카메라의 위치·자세를 추정함으로써 자동차의 위치·자세를 추정한다. 그림 1은 제안 방법의 처리와 데이터의 흐름을 나타낸 것이다. 그림 1에 나타낸 것과 같이 오프라인 처리와 온라인 처리로 나눌 수 있다.
\r\n
\r\n
\r\n
오프라인에서의 데이터베이스 작성
\r\n
오프라인 처리에서는 사전에 수동으로 경로를 주행해 취득한 동영상을 처리함으로써 온라인에서 카메라 위치·자세 추정에 이용하는 데이터베이스를 작성한다. 먼저 취득된 동영상에 대해 Structure-from-Motion(SfM) 법4)을 적용해 카메라 위치·자세와 특징점의 3차원 위치를 추정한다. 그리고 온라인 처리로 현재 카메라 영상과 유사한 데이터베이스 영상을 동정(同定)하는데 사용할 Topometric Localization5)용 그래프를 구축한다.
\r\n
\r\n
\r\n
온라인에서의 카메라 위치·자세 추정
\r\n
온라인 처리에서는 오프라인 처리에서 작성된 데이터베이스와 현재의 카메라 영상으로부터 현재의 카메라 위치·자세를 추정한다. 먼저 TopometricLocalization5)에 의해 현재의 영상과 유사한 데이터베이스 영상을 동정한다. 그리고 동정된 데이터베이스 영상과 현재의 영상에서 특징점을 대응시킨다. 마지막으로 영상간의 대응과 오프라인 처리에서 추정한 데이터베이스 영상 속 특징점의 3차원 위치로부터 현재의 영상에 있어 특징점의 3차원 위치와 2차원 위치의 대응을 취득한 다음 현재의 카메라 위치·자세를 추정한다.
\r\n
\r\n
\r\n
관련 연구
\r\n
여기서는 사전에 촬영된 영상을 사용해서 카메라의 위치·자세를 추정하는 기존의 방법을 소개하고 제안 방법의 평가에 대해 기술한다. 기존의 방법은 토폴로지컬(Topological) 위치·자세 추정법을 바탕으로 한 방법6)과 SfM법을 바탕으로 한 방법7)으로 분류할 수 있다.
\r\n
\r\n
토폴로지컬(Topological) 위치·자세 추정법을 바탕으로 한 방법
\r\n
토폴로지컬(Topological) 위치·자세 추정법5)에서는 오프라인에서 사전에 촬영된 영상군으로부터 각 영상을 노드, 영상간의 시간적·공간적인 연결관계를 에지로 하는 그래프를 구축한다. 온라인에서는 입력영상과 데이터베이스 영상으로부터 추출된 영상특징과 함께 토폴로지컬 정보를 에지로 나타내지는 데이터베이스 영상간의 연결관계를 고려하면서 현재의 영상과 유사한 데이터베이스 영상을 동정한다. Murillo 등6)은 현재의 영상과 토폴로지컬 위치·자세 추정법에 의해 동정된 영상, 그 인접 영상간의 상대적인 위치·자세를 3시점 기하8)를 바탕으로 추정하고 있다.
\r\n
\r\n
제안 방법도 토폴로지컬 위치·자세 추정법을 바탕으로 한 방법이다. 제안 방법은 3시점 기하보다 정밀도가 높은 다(多)시점 기하를 바탕으로 하는 SfM법을 사용하기 때문에 기존 방법보다 정밀도가 높은 추정을 기대할 수 있다.
\r\n
\r\n
\r\n
SfM법을 바탕으로 한 방법
\r\n
SfM법은 영상간에서 특징점을 대응시켜 카메라 위치·자세와 특징점의 3차원 위치를 추정하는 방법이다. SfM법을 바탕으로 하는 방법에서는 사전에 촬영된 영상군에 대해 SfM법을 적용해 추정된 특징점의 3차원 위치와 현재 영상 특징점의 2차원 위치를 대응시켜 카메라의 위치·자세를 추정한다. 이 특징점의 3차원·2차원 대응으로 카메라 위치·자세를 추정하는 문제는 Perspective-n-Point(PnP) 문제로도 잘 알려져 있으며 많은 해법이 존재한다. 따라서 SfM법을 바탕으로 한 방법에서는 어떻게 특징점의 대응을 얻을 것인가가 문제가 된다.
\r\n
\r\n
\r\n
Irschara 등7)은 영상검색방법을 사용해 현재의 영상과 가장 유사한 영상을 데이터베이스 속에서 동정하고 동정된 영상과 현재 영상사이에 특징점을 대응시키는 방법을 제안했다. 그러나 영상 검색 방법에서는 SIFT 특징9)이나 SURF 특징10) 등의 영상특징만을 이용해서 데이터베이스에서 영상을 동정하고 있으며 데이터베이스 영상간의 토폴로지컬 정보는 사용하지 않는다.
\r\n
\r\n
제안 방법도 SfM법을 바탕으로 한 방법이다. 제안 방법에서는 특징점의 탐색범위 한정에 토폴로지컬 정보와 메트릭 정보를 고려함으로써 효율적으로 영상을 동정할 수 있는 Topometric Localization5)을 사용한다.
\r\n
\r\n
\r\n
오프라인에서의 데이터베이스 작성
\r\n
사전 촬영된 동영상으로부터 온라인에서의 카메라 위치·자세 추정에 이용할 데이터베이스를 작성하는 오프라인 처리에 대해서 기술한다.
\r\n
\r\n
\r\n
Structure-from-Motion
\r\n
취득된 동영상에 대해 Structure-from-Motion(SfM)법을 적용함으로써 카메라 위치·자세와 특징점의 3차원 위치를 추정한다. 여기에서는 최신 SfM 실장 중 하나인 VisualSFM4)을 이용한다. 단, 온라인 처리에 있어서 실스케일로 카메라 위치를 추정하기 위해서는 특징점의 3차원 위치를 실스케일로 구할 필요가 있는데 SfM법만으로는 카메라 위치와 특징점의 3차원 위치 스케일을 결정할 수 없다. 그래서 일반적인 자동차에 탑재되어 있다고 생각되는 오도미터로부터 사전 촬영 시의 자동차 주행거리를 취득함으로써 SfM법에 의해 얻은 카메라 위치와 특징점의 3차원 위치를 실스케일로 조정한다.
\r\n
\r\n
\r\n
Topometric Localization용 그래프 작성
\r\n
온라인 처리에 있어서 현재의 카메라 영상과 유사한 데이터베이스 영상을 동정하는데 사용하는 Topometric Localization용 그래프를 구축한다5). 먼저 SfM법에 의해 추정된 카메라 위치를 바탕으로 일정거리 ρ마다 영상을 샘플링하고 이 위치를 노드, 노드간의 시계열 관계를 에지로 한다.
\r\n
\r\n
다음에 온라인 처리에 있어서 입력영상과 데이터베이스 영상간의 상이도를 계산하는데 사용할 영상특징을 각 샘플링 영상으로부터 추출해 그래프의 노드와 관련시켜 보존한다. 여기에서 Topometric Localization5)에서는 온라인 처리에 있어 계산 비용을 절감하기 위해 SIFT 특징9)이나 SURF 특징10) 등의 국소 특징이 아니라 영상 전체로부터 하나의 특징량을 추출한다. 구체적으로는 영상 중심에 영상 전체를 만족하는 스케일의 특징점을 설정해 하나의 SURF 특징량을 추출한다. 이것을 Whole image SURF(WI-SURF) 특징량이라고 부른다.
\r\n
\r\n
.jpg)
\r\n
\r\n
\r\n
온라인에서의 카메라 위치·자세 추정
\r\n
오프라인에서 작성된 데이터베이스와 현재의 카메라 영상으로부터 현재 카메라의 위치·자세를 추정하는 온라인 처리는 방안에 대해 고려할 필요가 있다. 여기에서 Topometric Localization5)은 오프라인에서 작성된 그래프의 노드로 토폴로지컬 정보와 메트릭 정보를 고려하면서 현재 카메라가 위치할 확률이 가장 높은 것을 선택함으로써 현재의 영상과 유사한 데이터베이스 영상을 동정한다.
\r\n
\r\n
그리고 Topometric Localization5)에서는 각 노드에 있어 현재 자동차가 위치할 확률을 나타내는 확률밀도함수를 이산 베이스 필터로 계산할 수 있다. 이산 베이즈 필터에서는 예측과 갱신이라는 2가지 절차에 의해 확률밀도함수를 계산할 수 있다. 예측 절차는 속도의 운동에 의한 확률밀도함수의 변화를 상태천이확률에 의해 취급한다. 상태천이확률은 Topometric Localization5)에서는 시각에 있어 자동차의 속도는 평균 0, 표준편차의 정규분포에 따른다고 가정해 상태천이확률을 다음과 같이 정의할 수 있다.
\r\n
\r\n
그리고 Topometric Localization5)에서는 입력영상으로부터 얻은 WI-SURF 특징량과 노드에 대응하는 데이터베이스 영상으로부터 얻은 WI-SURF 특징량의 차이 등으로 관측확률을 정의한다.
\r\n
\r\n
\r\n
특징점 대응
\r\n
영상의 회전, 스케일 변화에 완전한 SIFT 특징9)을 이용해 Topometric Localization으로 동정된 데이터베이스 영상과 현재 영상 특징점을 대응시킨다. 여기에서는 계산시간을 단축하기 위해 SIFT 특징의 GPU 실장인 SiftGPU11)을 사용한다. 이를 통해 카메라 위치·자세 추정할 수 있는데 제안 방법에서는 카메라 위치·자세를 특징점의 3차원·2차원 위치에 대응시켜 PnP 문제를 풀어 추정한다.
\r\n
\r\n
특징점의 3차원·2차원 위치 대응은 오프라인 처리에서 추정된 데이터베이스 영상 중 특징점의 3차원 위치 및 Topometric Localization에 의해 동정된 데이터베이스 영상과 현재 영상간 특징점을 대응시켜 얻을 수 있다. 여기에서 PnP 문제를 풀기 위해서는 OpenCV에 포함되는 PnP 문제 풀이 프로그램을 이용하고 RANSAC에 의해 오대응을 배제한 특징점의 대응으로부터 카메라의 위치·자세를 추정한다. 이 때 인 라이어 수가 한계값보다 적을 경우에는 추정 실패로 취급한다. 이후의 실험에서 한계값은 PnP 문제를 선형으로 풀 때 최소 필요 점수인 6으로 했다.
\r\n
\r\n
.jpg)
\r\n
\r\n
\r\n
다른 주차공간에 있을 경우, 추정실패
\r\n
카메라(PointGrey Flea2), 주행거리를 취득하는 오도미터를 탑재한 실험차량을 이용해서 실험을 했다. 카메라는 차량의 진행방향에 대해 45도로 설치했으며 동영상(1,024×768pixel, 15fps)을 취득한다. 데이터의 취득은 Valet Parking 자동화에의 응용을 생각해 실내주차장에서 실시했다. 다른 날에 주차공간에서 주차장 입구를 통과해 주차공간으로 되돌아가는 경로를 수동으로 주행해 2개의 동영상을 취득했다. 이들을 하나는 오프라인 처리에 있어 데이터베이스 작성에, 또 하나는 온라인 처리에 있어 입력으로 사용했다. 위치·자세 추정 정밀도 평가에 사용하는 참조 카메라의 위치·자세는 SfM법4)으로 모든영상간에서 특징점을 대응시켜 오프라인에서 구했다.
\r\n
\r\n
.jpg)
\r\n
\r\n
위치·자세 추정 결과
\r\n
그림 2에 입력영상과 Topometric Localization에 의해 동정된 데이터베이스 영상, 그들 영상간에서의 특징점 대응 결과 예를 나타낸다. 그림 3에 데이터베이스 영상에 대한 차량위치·자세와 특징점의 3차원 위치, 제안 방법에 의해 추정된 차량의 위치·자세, 추정 정밀도 평가에 사용하는 참조 차량의 위치·자세를 나타낸다. 제안 방법에서는 영상간에서 광원환경에 차이가 있을 경우(그림 2(b))나 데이터베이스 영상에는 존재하지 않는 자동차가 입력영상에 존재할 경우(그림 2(c))에 있어서도 참조 카메라의 위치·자세와 동일한 위치·자세가 추정되었다. 그러나 같은 차량이 다른 주차공간에 정차하고 있을 경우(그림 2(d))에는 추정이 불안정했다. 또, Topometric Localization의 오류(그림 2(e))나 환경·광원의 큰 차이(그림 2(f)))에 의해 추정에 실패하는 경우도 있었다.
\r\n
\r\n
.jpg)
\r\n
\r\n
그림 4는 참조 차량 위치·자세와의 비교에 의한 오차의 히스토그램을 나타낸 것이다. 표1은 PC(Intel Core i7-2600k 3.40 GHz CPU, NVIDIA GeForce GTX580 GPU)를 사용했을 경우에 있어 제안 방법의 평균 계산시간을 나타낸 것이다. 이 결과로부터 제안 방법은 입력영상의 약 70%에 있어서 위치 오차 0.1미터, 자세 오차 0.3도 이내에서 추정을 약 8Hz로 할 수 있다는 것이 확인되었다.
\r\n
\r\n
\r\n
Valet Parking의 자동화를 실현하기 위해서 사전에 경로를 수동으로 주행해 취득한 동영상으로부터 오프라인 처리로 작성된 데이터베이스를 바탕으로 ①Topometric Localization5)에 의한 현재 영상과 유사한 데이터베이스 영상의 동정, ②특징점의 3차원·2차원 위치 대응으로부터 카메라 위치·자세를 추정함으로써 자동차의 위치·자세를 추정하는 방법을 제안했다. 앞으로는 추정의 정밀도를 향상시키기 위해서 오도메트리나 저렴한 IMU 등 상대적인 위치·자세를 계측하는 센서로부터 얻은 정보의 카르만 필터에 의한 융합, 이전 프레임에서 대응에 성공한 특징점을 추적하는 방법으로 정밀도를 향상시킬 수 있을 것이다.
\r\n
\r\n
참고문헌
\r\n
1) A.Suppe, L.E.Navarro-Serment and A. Steinfeld, “Semiautonomous virtual valet parking”, Proc. Int. Conf. on Automotive User Interfaces and Interactive Vehicular Applications, pp. 139-145(2010)
\r\n
\r\n
2) S.Thrun et al., “Stanley: The robot that won the DARPA grand challenge”, J. of Field Robotics, Vol.23, No.9, pp.661-692 (2006)
\r\n
\r\n
3) 구메 히데유키, A.Suppe, 가나데 다케오, “기주행 경로로 있어 영상 데이터베이스를 이용한 자차 위치·자세 추정”, 정보처리학회연구 보고, Vol. 2013-CVIM-186, No.13 (2013)
\r\n
\r\n
4) C.Wu, “VisualSFM: A visual structure from motion system”,
\r\n
http://www.cs.washington.edu/homes/ccwu/vsfm/ (2011)
\r\n
\r\n
5) H.Badino, D.Huber and T.Kanade, “Real-time Topometric localization”, Proc. Int. Conf. on Robotics and Automation (2012)
\r\n
\r\n
6) A.C.Murillo, J.J.Guerrero and C.Sagues, “SURF features for efficient robot localization with omnidirectional images”, Proc. Int. Conf. on Robotics and Automation, pp.3901-3907 (2007)
\r\n
\r\n
7) A.Irschara, C.Zach, J.-M.Frahm and H.Bischof, “From structure-from-motion point clouds to fast location recognition”, Proc. IEEE Conf. on Computer Vision and Pattern Recognition, pp.2599-2606 (2009)
\r\n
\r\n
8) R.I.Hartley and A.Zisserman, “Multiple View Geometry in Computer Vision”, Cambridge University Press (2004)
\r\n
\r\n
9) D.G.Lowe, “Distinctive image features from scale invariant keypoints”, Int. J.Computer Vision, Vol.60, no.2, pp.91-110 (2004)
\r\n
\r\n
10) H. Bay, A.Ess, T.Tuytelaars and L.V.Gool, “Speeded-up robust features (SURF)”, Computer Vision and Image Understanding, Vol. 110, No.3, pp.346-359 (2008)
\r\n
\r\n
11) C.Wu, “SiftGPU: A GPU implementation of scale invariant feature transform (SIFT)”, http://cs.unc.edu/∼ccwu/siftgpu(2007)
\r\n
\r\n
\r\n
<구메 히데유키┃나라 첨단과학기술대학원대학>
\r\n
\r\n
<Arne Suppe/가나데 다케오┃카네기멜론대학>
\r\n
\r\n
[월간 시큐리티월드 통권 제211호(sw@infothe.com)]
\r\n
\r\n
<저작권자 : www.securityworldmag.co.kr) 무단전재-재배포금지>
\r\n