이경재 | 서울대 인지지능연구실
깊은 강화학습을 통한 시각적 추적을 위한 행동-결정 네트워크
(Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning)*1
이 논문은 2017년 컴퓨터 비전 및 패턴인식학회(Conference oncomputer Vision and Pattern Recognition, CVPR)에 발표된 논문으로 컴퓨터 비전 분야에서 중요하게 다루는 객체 추적 문제(object tracking)에 깊은 강화학습(deep reinforcement learning)을 다루고 있다. 현재 객체 추적 문제를 해결하는 최신기술(state-of-the-art)은 합성곱 인공신경망(convolutional neuralnetwork, CNN)을 기반으로 물체를 탐지(object detection)해서목표로 하는 객체와 배경을 구별하는 방법을 사용하는 것이다*2 .이러한 방법들은 다음과 같은 문제가 있었다.
- 객체 위치 후보를 전부 탐색하는 비효율성
- 객체 테두리상자 라벨(label)의 필요성
논문에서는 깊은 강화학습을 이용한 ADNet(Action-decision network)을 도입하여 문제들을 해결하였다. 객체 추적 문제를 마르코프 결정 과정(Markov decision process, MDP)으로 생각하여 이전 프레임에서 객체의 테두리 상자(bounding box)가 액션을 통해 움직여서 현재 프레임의 테두리 상자의 위치와 모양을 결정하도록했다.
- 상태(state)는 현재 프레임에서 테두리 상자의 위치와 이전 10번의 액션으로 결정됨
- 액션은 상하좌우 움직임, 그 2배의 움직임, 테두리 상자의 크기 확대와 축소, 그리고 멈춤으로 구성됨
- 보상(reward)은 멈춤 액션을 했을 때 테두리 상자가 정답(ground truth)과 일치하는 정도가 높으면 1 아니면 -1을 가짐. ADNet은 현재의 상태가 입력값으로 들어오면 출력값으로 액션과 신뢰도(confidence)를 도출한다.
[그림 1]과 같이 이전 프레임의 객체 위치에서 시작하여 여러 번의 액션을 통해 현재 프레임에서 객체의 위치를 찾아간다.
ADNet의 학습은 다음과 같은 3단계로 나뉜다.
ADNet의 학습 3단계
지도학습(supervised learning)
・ 상태를 입력으로 주고 액션과 신뢰도를 출력으로 하는 VGG-M*3 기반 CNN을 학습한다.
・ 각 프레임의 정답을 기준으로 가우시안 노이즈(Gaussian noise)로 생성한 테두리 상자들을 데이터로 사용하였다.
・ 생성된 상자들이 정답에 가까워지기 위해 해야 하는 액션을 정하는 것이 네트워크 학습의 목표이다.
・ 또한 이 상자의 내용물이 객체인지 아닌지 판별하는 것, 즉 신뢰도를 학습하는 것도 네트워크의 또 다른 목표이다.
깊은 강화학습(deep reinforcement learning)
・ Policy gradient 방법을 사용하여 네트워크에서 직접 정책(policy)을 얻는다.
・ 지도학습에서 미리 학습된 네트워크를 정책 네트워크(policy network)의 시작점으로 활용한다.
・ 한 프레임내의 마지막 예측 지점이 객체와 맞냐 안맞냐를 통해 보상을 1 또는 -1로 하고 이를 바탕으로 정책 네트워크를 업데이트한다.
실시간 적응(online adaptation)
・ 프레임에서 예측된 테두리 상자를 정답의 기준으로 하는 샘플 데이터를 모아 실시간으로 지도학습을 하여 성능을 향상시킨다.
・ 신뢰도가 0.5 이하가 되어 객체를 놓쳤다고 판단되면 현재 위치에서 가우시안 노이즈로 생성한 주변 위치 중에서 가장 신뢰도가 높은 지점을 새로 위치로 지정하는 re-detection 과정이 있다.
강화학습을 사용하면 중간 중간에 객체 위치 라벨이 없는 데이터에 대해서도 앞뒤 프레임의 정보를 활용하여 보상을 설정해 주는식으로 학습할 수 있다[그림 2]. 따라서 ADNet은 데이터가 불완전한 준지도학습(semi-supervised learning)에도 대응할 수 있다.
[그림3]에서 ADNet을 활용한 객체 추적은 훨씬 적은 양의 탐색이 필요한 것을 알 수 있다. 이를 통해 최첨단기술 대비 약 3배 빠른 속도 향상을 보여 주었다.
- 최첨단기술인 (b)의 경우 물체 탐지(object detection)를 기반으로 하기 때문에 주변의 여러 후보 영역들을 탐색해야 한다. 현재 객체 추척 문제를 해결하는 CNN기반의 방법의 경우 프레임 당 256개의 영역이다.
- ADNet의 경우 액션을 통해 이동하는 영역만 탐색하면 된다. 평균적으로 프레임 당 28.26개의 영역이다.
위 표는 ADNet의 결과와 다른 알고리듬들을 비교한 것이다. Prec.(20px)은 정답과 예측한 테두리 상자의 중심 간 거리가 20픽셀 이하인 비율이고 IOU(AUC)는 두 상자의 겹치는 비율을 뜻한다. ADNet은 비실시간 최첨단 기술에 근접한 성능을 내면서도 속도는 더욱 빠른 결과를 보인다. 또한 실시간 적응 단계에서 학습에필요한 샘플 데이터 수를 비교적 적게 뽑는 ADNet-fast의 경우 FPS15.0으로 실시간으로 작동하는 알고리듬 중 최고 성능을 보인다.
글 | 이경재 kyungjae.lee@cpslab.snu.ac.kr
서울대 전기 컴퓨터 공학부를 졸업한 뒤, 동 대학원 석박사 통합과정으로 입학하였다. 현재는 박사과정에 있으며, 주 연구 분야는 모방학습과 지능형 로보틱스이다. 좀 더 세부적으로는 강화학습과 역강화 학습을 이용하여 로봇을 학습시키는 것이 목표이다. 한동안 군대 문제를 해결하기 위해 연구를 접고 영어 공부에 매진했으나 영어실력은 그대로라고 한다. 최근 다시 연구를 시작하였으며 인공지능 및 로보틱스 분야의 많은 사람들과 교류하고 싶다. 석사과정 때는 이론 쪽공부를 많이 하였으나 이제는 고속 주행 RC카나 매니퓰레이터와 같은 실제 로봇을 다뤄보려고한다.
참고문헌
*2 논문 | Nam, H. & Han, B. (2016). Learning multi-domain convolutional neural networks for visual tracking. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.
*3 논문 | Chatfield, Ken, et al. (2014). Return of the devil inthe details : Delving deep into convolutional nets, doi : arXiv:1405.3531.
[카카오 AI 리포트] Vol.7_06. 다운받기
[카카오 AI 리포트] Vol. 7 전체글 다운받기