비행로봇의 항공 영상 온라인 학습을 통한 지상로봇 검출 및 추적
†Corresponding Author : Intelligent Robotics Research Center, Korea Electronics Technology Institute, mickey3d@keti.re.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 this paper, we proposed visual information to provide a highly maneuverable system for a tele-operator. The visual information image is bird’s eye view from UFR(Unmanned Flying Robot) shows around UGR(Unmanned Ground Robot). We need UGV detection and tracking method for UFR following UGR always. The proposed system uses TLD(Tracking Learning Detection) method to rapidly and robustly estimate the motion of the new detected UGR between consecutive frames. The TLD system trains an on-line UGR detector for the tracked UGR. The proposed system uses the extended Kalman filter in order to enhance the performance of the tracker. As a result, we provided the tele-operator with the visual information for convenient control.
Keywords:
Unmanned Flying Robot, Unmanned Ground Robot, Tracking-Learning-Detection1. 서 론
일반 무인 지상로봇을 단독으로 제어하는 기존의 방식 은 지상 로봇 자체에 부착된 카메라와 부가 센서들에서 제공되는 편협적인 정보에 의존하기 때문에 임무지역과 멀리 떨어진 원거리에서 제어하기에는 많은 어려움이 따 른다. 이를 극복하기 위해 본 연구에서는 지상로봇을 추종 (Following)하는 비행로봇을 이용하여 항공 영상정보를 조 작자에게 제공한다. 항공 이미지를 제공하기 위해 조작자 의 직접적인 제어 없이도 지상로봇의 주변 지형 정보를 제공하고, 필요에 따라서는 임무수행을 위해 다양한 각도 에서 근접해 촬영된 영상정보를 조작자에게 제공한다. 이 를 위하여 비행로봇은 지상로봇을 자동으로 추적하는 기 능이 탑재되어야 한다. 비행로봇이 자동으로 무인 지상 로 봇을 추종하기 위해 비행로봇에 설치된 비전센서로부터 입력된 이미지 상에 지상로봇의 위치를 찾고 추적하는 기 술이 필수적이다. 비전 기반에서 지상로봇의 위치를 찾는 방법은 임의의 인공표식을 부착하여 찾는 방법과 인공표 식 없이 지상로봇이 가지고 있는 고유의 특징 정보를 이 용하는 방법이 있다. 기존의 두 이미지 사이의 NCC (Normalized Cross Correlation)를 이용한 템플릿 매칭[1]은 계 산이 복잡하여 실시간 시스템에 적용할 수 없다. Paul Viola, Michael Jones[2]는 간단한 Harr-like 특징을 사용하고 Adaboost 를 이용하여 Cascade Classifier를 학습하는 방법으로 실시간 물체 추적을 하였다. 이 방법은 학습하기 위한 시간이 오 래 걸리고 추적하고자 하는 객체의 변화가 심한 경우에는 기존의 학습한 분류기로 검출이 어려운 단점이 있다. 이러 한 문제를 극복하기 위해 최근의 연구는 물체의 특징 변 화를 온라인으로 학습하여 검출 및 추적의 성능을 실시간 으로 개선하는 방법에 대한 연구가 이루어지고 있다. Kalal[3] 이 제안한 TLD(Tracking Learning Detection)는 물체의 외형 변화가 심하여 추적 대상을 놓친 경우 P-N학습[4]을 이용하 여 온라인으로 검출기를 학습하도록 하는 재초기화 메커 니즘을 갖고 있다. 기존의 여러 추적기와 비교하였을 때 강인한 추적 성능을 보인다.Fig .1-2
본 논문에서는 비행로봇에서 촬영한 비전 정보를 가지 고 TLD를 이용하여 지상로봇의 위치를 추적하고, 추적 결 과를 이용하여 비행로봇이 지상로봇을 스스로 추종할 수 있는 제어 정보와 지상로봇 주위 항공사진을 제공하는 방 법을 제시하였다.
2. 관련 응용 및 연구
미국 NASA의 MAHLI(Mars Hand Lens Imager) 원격제어 시스템[5]은 극한환경 작업에 최적화된 영상을 제공하기 위 하여 다양한 관련 연구가 진행되고 있다. 특히 NASA의 화성탐사 로봇의 경우 화성탐사로봇 의 동작, 상태확인, 고장검사 등의 용도로 다중카메라를 이용한 최적시점의 영상을 합성하여 활용하고 있다.
일본 후지쯔에서는 기존 자동차의 AVM(Around View Monitoring) 시스템[6]을 개선하여, 4개의 카메라로부터 360 도 방향의 다양한 시점의 영상을 합성하여 제공하여 운행 보조 정보로 제공한다.Fig .3-4
카네기멜론대학 로보틱스연구소(Carnegie Mellon university Robotics Institute)는 SACR (Situational Awareness Through Colonized Ranging) 시스템[7]을 이용하여 로봇 주위의 환경 을 3D화하여 원격조종을 하는데 편리성을 제공할 수 있는 원격조종 인터페이스가 활발히 연구하고 있다.
스웨덴의 인스트루먼트컨트롤에서는 상공과 지상의 상 호추적 기술을 통하여 SkyView GCS 시스템[8]을 통하여 UAV와 UGV를 동시에 운용할 수 있는 솔루션을 개발하 여 시판하고 있다.Fig .56
3. TLD(Tracking Learning Detection)
3.1. TLD를 위한 초기 모델 검출
초기 모델 검출은 초기에 지상로봇의 긍정패치(Positive Patch) 영역을 입력하는 과정이다. 지상로봇을 실시간으로 검출하기 위해서 Harr-Like 특징을 이용한다. Harr-like 특징 은 적분영상을 이용한 구조가 매우 단순한 약한 분류기이 며 이를 Adaboost를 이용하여 Cascade 구조의 강한 분류기 로 학습한다. 초기 모델의 검출된 영역이 70%이상 겹치게 되는 경우에 같은 모델로 간주하였으며, 이런 모델들이 연 속된 프레임에 걸쳐서 일정 영역에 존재하는 경우에만 초 기 모델로 간주하였다.
3.2. 추적기(Tracker)
지상로봇이 포함된 경계상자의 움직임을 추적하기 위해 서 KLT(Kanade Lucas Tomasi) 추적기를 이용하였다. 경계상 자 안에서 특징점의 움직임을 추정한다. KLT의 비정상적 인 추적점을 제거하기 위해 추적쌍들 주위의 미리 정한 일정 사각영역에 대한 NCC를 구하고 NCC의 값이 미리 정한 값 이하가 되면 추적점에서 제외한다.Fig .7-8
(1) |
(2) |
비정상적인 특징점들이 제외된 KLT 추적 점들의 집합 값에서 중앙값으로 하는 지상로봇의 변위를 계산한다. 최 종적인 경계상자의 추적을 위해서 칼만필터를 이용하였다. 칼만필터를 이용한 경계상자 추적 예측단계는 식(3), (4)와 같다.
(3) |
(4) |
상태백터 는 로 경계상자의 중심 위치와 중심위치의 변화량으로 구성된다. 는 제어벡터 로 A는 상태변환 행렬이고, B는 제어 행렬로 예측상태벡터를 얻기 위해 제어벡터에 곱해지는 벡터이다. Q는 프로세스 잡음, w는 예측 잡음으로 가우시 안 분포를 따른다. 예측과정이 완료되면 새로운 측정 데이 터를 이용하여 칼만필터의 갱신단계를 거쳐 경계 추적상 태의 위치를 추적한다. 칼만필터의 갱신단계는 식(5), (6), (7)과 같다.
(5) |
(6) |
(7) |
식(5)는 예측단계에서 얻은 프로세스 잡음과 측정 잡음 R을 이용하여 칼만이득 을 구한다. 식(6)과 식(7)을 이 용하여 상태를 갱신한다. 지상로봇을 추적하는 각각의 프 레임마다 칼만필터의 예측과 갱신과정을 반복하면서 지상 로봇을 추적한다.
3.3. 검출기(Detector)
검출기는 입력 이미지 전체에 걸쳐 검색 윈도우를 만들 고, 각 검색 윈도우에 대한 지상로봇의 존재 여부에 대해 결정한다. 초기 경계상자의 크기에 따라 입력 이미지의 모 든 영역을 검색하기 위한 윈도우의 수가 결정 되는데, scales step = 1.2, horizontal step = 10% of width, vertical step = 10% of height, minimal bounding box size = 20 pixels. 이 경우 QVGA 이미지 사이즈(240×320)에서 대략 50K 경계상자 가 필요하다. 50K의 경계상자에서 지상로봇의 유무를 실시 간으로 판단하기는 사실상 불가능하다. 이렇게 실시간으로 처리해야하는 시스템에서는 Cascade 구조를 가진 분류기 를 사용한다. TLD에서는 분산필터(Patch Variance)[9], 앙상블 분류기(Ensemble Classifier), 최근접 이웃 분류기(Nearest Neighbor Classifier)의 3단계 단계적 분류기를 사용한다.
첫 번째 단계인 분산필터는 분산이 낮은 패치를 제거한 다. 여기에서 일반적으로 지상로봇이 없는 패치(하늘, 땅 등)의 50% 이상이 제거된다.Fig .9-10
분산필터에서 제거되지 않은 패치들은 Cascade의 두 번 째 단계인 앙상블 분류기로 입력된다. 앙상블 분류기는 n 개의 기본 분류기가 모여 하나의 분류기를 구성한다. 기본 분류기는 패치 내에 임의의 두 점을 잡고 두 점의 픽셀 밝 기 차가 (+), (-) 여부를 특징으로 사용하는 단순한 2진 특징 (Binary Feature)을 이용한다[10-13]. 2진 특징은 임의의 두 점 좌표로 구성되며, 결과값은 부호에 따라 0 또는 1의 값을 갖는다. 1개의 기본 분류기에는 총 13개의 2진 특징들로 이루어진 2진 코드(Binary Code)가 사용된다(2진 코드는 0 부터8,191사이의 값을 가질 수 있다.). 훈련 과정에서 지상 로봇의 모양이 변할 수 있는 다양한 변화를 고려하기 위 해 지상로봇이 포함되어 있는 긍정 패치(Positive Patch)를 Affine 변환으로 확장하여 여러 2진 코드 조합을 만든다. 2 진 코드의 결과값들은 히스토그램으로 표현된다. 이렇게 구 한 히스토그램들이 하나의 기본 분류기 역할을 수행하게 된 다. 기본 분류기가 가지는 사후 확률은 식(8), (9)와 같다.
(8) |
(9) |
#p와 #n은 긍정과 부정 패치의 숫자이다.
P-N 학습을 이용하여 긍정 및 부정 패치의 수가 업데이 트된다. 모든 기본 분류기의 사후 확률 평균이 0.5 이상이 면 입력 패치는 긍정 레이블로 분류된다.
Cascade분류기의 두 번째 단계에서 긍정 레이블로 분류 된 패치들은 마지막 단계인 최근접 이웃 분류기를 거쳐 최종적인 물체를 검출한다. 최근접 이웃 분류기는 지상 로 봇의 모델 M을 이용하여 이에 대한 유사도(Similarity)에 따라 지상 로봇과 배경으로 분류한다. 지상로봇의 모델 M 은 이미지 패치의 집합으로 수식(10)과 같다.
(10) |
는 지상로봇이 포함되어 있는 긍정 패치 이미지이고 는 배경과 같이 지상로봇이 포함되지 않은 부정 패치 이미지이다. 두 개의 이미지 패치 와 사이의 유사도 는 식(11)와 같다.
(11) |
여기서 NCC는 Normalized Correlation Coefficient이다.
지상로봇 모델 M에서 입력 패치 p에 대해 긍정 최근접 이웃 유사도(Positive Nearest Neighbor Similarity)는 수식(12) 와 같고, 및 부정 최근접 이웃 유사도(Negative Nearest Neighbor Similarity)는 수식(13)과 같다.
(12) |
(13) |
식(12)와 식(13)을 이용하여 입력 패치 p가 지상로봇 모 델 M의 긍정 또는 부정 패치 중 상대적으로 어느 쪽에 가 까운지 나타내는 상대 유사도는 아래의 식(14)와 같다.
(14) |
최근접 이웃 분류기는 상대 유사도를 이용하여 임의의 입력 패치 p가 긍정인지 부정인지 판단한다. 지상로봇의 모델 M은 P-N 학습을 이용하여 업데이트 된다. 상대 유사 도 값이 의 조건을 만족하면 패치 p를 지 상 로봇으로 분류하며 그렇지 않으면 배경으로 분류한다.
3.4. 학습기(Learning)
학습기의 목적은 입력 비디오의 연속 영상에서 검출기 의 성능을 온라인으로 개선하는 것이다. 기존에 레이블된 데이터와 레이블되지 않은 입력 데이터를 가지고 학습을 시키는 Semi-Supervised Learning방법이 있다. P-N학습은 두 가지 타입의 Expert에 의해 독립적으로 분류기 오차를 추 정하고, 잘못 분류된 예제를 학습자료로 사용하여 분류기 를 다시 훈련시킨다.Fig .11-12
P-expert는 연속 비디오 영상에서의 시간적 구조를 활용 하여 물체가 경로를 따라 이동한다고 가정한다. 이전 프레 임에서 객체의 위치를 기억하고, 프레임 간 추적기를 이용 하여 위치를 추정한다. 추적기를 통한 패치의 신뢰도가 높 은 경우 유효한 경로로 판단한다. 유효한 이동 경로에 검 출기가 부정(Negative)으로 인식하는 경우, P-expert는 긍정 학습 패치(Positive Training Patch)를 만든다.
N-expert는 검출기로부터 긍정 오류(False Positive)를 검출 하여 부정 학습 패치를 만든다. 지상로봇의 위치가 유효한 이동 경로 위에 있는 경우, 위치의 주위를 부정 학습 패치 (Negative Training Patch)로 만든다.
3.5. 통합기(Integrator)
통합기는 추적기와 검출기 결과를 통합하여 지상 로봇 의 위치를 최종 출력한다. 추적기와 검출기의 신뢰도 비교 에는 (Conservative similarity)가 사용된다. 는 식(15)와 같다.
(15) |
는 0에서 1사이의 값을 가지며 의 값이 높을 수록 더 큰 신뢰성을 갖는다. 는 지상로봇의 모델 M의 긍 정 패치의 첫 번째부터 50%까지를 나타낸다.
성능 검증을 위해 다양한 환경에서의 항공사진을 촬영 하여 사용하였다. 실험은 Intel Core i7-4500U CPU @ 1.80GHz의 PC에서 수행하였다. 항공 입력 영상은 30fps로 취득한 800×600 크기의 영상으로 구성된다. 비행로봇은 10m에서 100m까지의 고도에서 항공영상을 촬영하였으며 표 1, 그림 13과 같은 결과를 얻을 수 있었다. 초기 입력되 는 지상로봇의 이미지 크기는 70×70 픽셀 이상이 되어야 Learning Error의 발생이 적었으며 초기 입력 후에는 지상로 봇의 이미지 크기가 50×50 픽셀에서 추적 결과 추적률 87% 이었다.Fig .13
3. 결 론
본 논문에서는 비행 로봇에서 촬영한 비전 정보를 바탕 으로 온라인 학습을 이용한 지상 로봇의 위치를 추적 및 검출하는 방법에 대해 설명하였다. 지상 로봇을 비행 로봇 이 스스로 추적하고, 지상 로봇 주위의 실제 영상을 제공 하여 원격 조작자가 조종을 원활하게 할 수 있었다. 하지 만 TLD만으로 비행 로봇의 자세를 알 수가 없기 때문에 네이게이션과 같은 고정방향 이미지를 만들기는 어렵다. 현재 배경 이미지와 GPS(Global Positioning System)를 융합 하여 비행 로봇의 방향성이 고려된 영상을 합성하는 연구 가 진행 중이다.
References
- Lewis, JP, “Fast Template Matching”, Vision Interface, (1995), p120-123.
- Viola, P, Jones, M, “Rapid object detection using a boosted cascade of simple features”, Proc. CVPR conf, (2001), I, p511-518.
- Kalal, Z, Mikolajczyk, K, Matas, J, “Tracking-Learning-Detection, IEEE trans. Pattern Analysis and Machine Intelligence, (2012, Jul), 34(7). [https://doi.org/10.1109/tpami.2011.239]
- Kalal, Z, Matas, J, Mikolajczyk, K, “P-N learning Bootstrapping binary classifiers by structural constraints”, Proc. CVPR conf, (2010, Jun), p49-56.
- http://www.msss.com/all_projects/msl-mahli.php.
- http://www.fujitsu.com/downloads/MICRO/fma/pdf/360_OmniView_AppNote.pdf.
- http://www.nrec.ri.cmu.edu/projects/sacr/.
- http://www.uas-europe.se/index.php/products/skyview-ground-control-station-software.
- Shi, J, Tomasi, C, “Good features to track, Proc. CVPR conf, (1994, Jun), p593-600.
- Kalal, Z, Mikolajczyk, K, Matas, J, “Forward-Backward Error:Automatic Detection of Tracking Failuers, International Conference on Pattern Recognition, (2010), p23-26.
- Lepetit, V, Fua, P, “Keypoint recognition using randomized trees, IEEE transactions on pattern analysis and machine intelligence, (2006, Sept), 28, p1465-79. [https://doi.org/10.1109/tpami.2006.188]
- Ozuysal, M, Fua, P, Lepetit, V, “Fast Keypoint Recognition in Ten Lines of Code”, Conference on Computer Vision and Pattern Recognition, (2007). [https://doi.org/10.1109/cvpr.2007.383123]
- Calonder, M, Lepetit, V, Fua, P, “BRIEF Binary Robust Independent Elementary Features”, European Conference on Computer Vision, (2010).
- Breiman, L, “Random forests, Machine Learning, (2001), 45(1), p5-32. [https://doi.org/10.1023/a:1010933404324]
- Brown, M, Lowe, D, “Recognising Panoramas”, Proc. Ninth Int'l Conf. Computer Vision International Joint Technology Development Project, (2003), p1218-1227. [https://doi.org/10.1109/iccv.2003.1238630]
- Seo, BoGil, Choe, Yungeun, Hyun, RohChul, Chung, MyungJin, “Graph-based Segmentation for Scene Understanding of an Autonomous Vehicle in Urban Environments”, Journal of Korea Robotics Society, (2014), 9(1), p001-010. [https://doi.org/10.7746/jkros.2014.9.1.001]
- Huh, Sungsik, Cho, Sungwook, Shim, DavidHyunchul, “3-D Indoor Navigation and Autonomous Flight of a Micro Aerial Vehicle using a Low-cost LIDAR”, Journal of Korea Robotics Society, (2014), 9(3), p154-159. [https://doi.org/10.7746/jkros.2014.9.3.154]