본문 바로가기

논문 Review

Learning Multi-Domain Convolutional Neural Networks for Visual Tracking

728x90

Militech 프로그램을 진행하면서 멘토님께서 추천해주신

Learning Multi-Domain Convolutional Neural Networks for Visual Tracking에 대하여

정리해보도록 하겠습니다.

이렇게 논문을 읽어보는 것 자체가 처음이라 완전한 이해는 하지 못할 수 있지만

그래도 최선을 다해보도록 하겠습다!!!


1. Introduction

CNN을 기반으로 한 기존의 많은 vidual tracking 알고리즘들은 좋은 성과를 내고 있는 것은 사실이나 분명하게 따지면 classification 과 tracking은 엄연히 다른 문제이기 때문이다. 하나의 동영상만 하더라도 다양한 종류의 targets이 있고 그들의 움지이는 패턴, 모습 등은 모두 다르며 또한 occusion, deformation, motion blur와 같은 문제가 존재한다. 뿐만아니라 같은 target이더라도 동영상에 따라 배경에 따라 다르게 인식될 수가 있다. 따라서 standard classifcation을 기반으로한 알고리즘 대신 새로운 알고리즘이 필요한데 그것이 바로 Multi-Domain Network(MDNet)이다.

 

MDNet은 각각의 영상들은 분리된 domain으로 다양한 영상들로부터 the shared representaion of targets을 학습한다. MDNet은 마지막에 binary classification을 하기 위해 separate branckes of domain-specific layers을 가지게 되고 모든 영상들에서의 공통된 정보는 서로 공유한다. 각 영상들은 독립적으로 반복하여 학습되어 지고 the shared layers은 각 iteration때마다 update된다. 이러한 과정을 통해 domain-independent information 과 domain-specific informaition을 분리한다. 또한 MDNet은 매우 적은 양의 layers로 구성되었다.

 

test sequence가 주어졌을 때 기존에 train sequence에서 사용된 기존의 모든 branches는 new single branch로 대체된다. 이 새로운 single branch는 test 단계에서 target scores를 계산한다. test 단계에서 이 new singele branch와 기존의 shared layers는 새로운 domain에 적응하기 위해 online으로 fine-tuned 되어진다. 이 과정에서 hard negative mining이 포함된다.

 

2. Multi-Domain Learning

multi-task learning과 multi-domain leargning

multi-task learning은 하나의 도메인으로부터 다양한 task를 수행하는 모델을 말합니다. 즉 하나의 얼굴 사진으로부터 표정인식, 성별분류, 연령대 분류 등의 task를 하나의 모델로 처리하고자 하는 것을 말하지요. 

하지만 multi-domain learning은 여러 domain으로부터 각각의 task를 수행하는데 이를 하나의 모델에서 처리하고자하는 것입니다. 예를 들어 폐 사진이 들어오면 암의 유무를, 동물 사진에서는 카테고리 분류를, 문자 이미지에서는 문자열 검출 등 이러한 다양한 domain에서의 다양한 task를 하나의 모델에서 처리하는 것이지요.

 

이렇게 multi-domain learning을 수행하는데는 두가지의 장점이 있습니다. 첫번째는 바로 각각의 모델을 따로 구축했을 때보다 매우 많은 양의 파라미터를 줄일 수 있다는 장점이 있습니다. 딥러닝 모델을 학습시킬때는 여러 task에 다양한 공통된 features이 존재합니다. 이를 하느이 공통된 하나의 feature 집합을 구성한다면 이는 충분히 효율적일 것입니다.

두번째로 따로 각각의 모델을 구축했을 때보다 성능을 기대해볼 수 있습니다. 각 domain은 서로 시너지를 불러일의킬 feature를 가지고 있고 이를 서로 공유한다면 각각 모델을 구축하는 것보다 더 나은 성능을 기대해 볼 수 있습니다.

 

 

3. MDNet

   3.1 Network Architecture

MDNet은 3개의 conv layers와 2개의 fc layers로 구성되어 있고 K개의 domain에 일치하는 k개의 branches(fc6)가 있다. conv layer는 VGG-M network와 몇가지 특징을 제외하고 동일하며 fc layers는 512 output units을 가지며 ReLUs, dropouts와 combine되어진다. architecture에서 중요한 점은 fc6만 domain-specific layers이고 나머지는 shared layers이라는 점이다.

앞서 설명하였 듯이 MDNet은 매우 적은 양의 layers를 갖고 있는데 이는 다음과 같은 이유 때문이다.

첫째, visual tracking은 target과 background를 구별하는 것이기 때문에 classification만큼 복잡성이 필요없다.

둘째, spatial information은 layer가 deep해질 수록 모호해지는 경향이 있어 deep CNNs은 오히여 target laocation에서 효율적이지 않다.

셋째, visual tracking에서 target은 작기 때문에 input size를 작게 만드는 것이 바람직하다. 작은 input은 network의 깊이를 작게한다.

넷째, testing을 online으로 수행할때 작은 network가 더욱 효율적이다.

 

   3.2 Learning Algorithm

우리 알고리즘의 목적은 target과 background를 구별하는 것이다. 각 domain마다 target이 달라 구별하기가 쉽지 않지만 robustness to illumination changes, motion blur, scale variations와 같은 모든 domain에서의 공통된 특징들을 찾아

domain-independent information 과 domain-specific informaition를 분류할 수 있다.

학습은 SGD 방법으로 이루어지며 network는 Kth domain의 minibatch에 따라 update된다. 학습은 network가 converged 되어지거나 정해둔 iteration을 충족하면 중단된다. 이러한 학습과정을 통해 domain-independent information이 sharede layers에 modeling되어진다.

4. Online Tracking using MDNet

3.2에서 설명한 학습 알고리즘이 끝나게 되면 test sequence에서 k개의 multiple of domain-specific layers가 하나의 single branch로 대체된다. 그리고 online을 통해 new single domain과 shared layersd의 fc layers를 동시에 fine-tune시킨다.

   4.1 tracking control and network update

Network update에는 long-term update와 short-term update가 모두 사용된다. long-term update는 긴 기간동안 수집된 positive samples을 가지고 일정한 간격마다 update를 진행하는 것이다. 반면 short-term update는 잠재적인 tracking이 실패가 감지될 때마다 짦은 기간동안 모인 positive sample로 update를 한다. 하지만 MDNet에서는 짧은 기간 동안 수집된 negative sample만을 사용한다. 두 update를 사용하는 시기는 target이 얼마나 빠르게 변화는 지에 따라 결정된다. target의 상태를 결정하는 수식은 아래와 같다.

   4.2 Hard Minibatch Mining

Ordinary SGD 방법은 training samples이 균등하게 학습에 기여하기 때문에 drift problem이 발생할 수 있다. 이를 해결하기 위한 가장 좋은 방법이 바로 hard negative mining이다. MDNet에서는 hard negative mining을 minibatch selection 과정에 포함시켜 false positives(객체가 아닌데 개체라고 예측)를 감소시켰다.

 

   4.3 Bounding Box Regression

MDNet model이 target에 fit한 bounding box를 찾는데 실패하는 경우를 위해 bounding box tachnique를 사용했다. 이를 통해 target localization accuracy를 향상시켰다. 먼저 test sequence의 첫번째 frame이 주어졌을 때 conv3의 features를 이용해 simple linear regression을 통해 정확한 target의 location을 예측한다. 다음 frame에서 regression 모델을 통해 estimated target과의 reliable이 0.5를 넘는지 확인하여 target의 location을 조정한다.

bounding box regression은 regression model이 높은 학습은 이후 MDNet network에 도움이 되지 않기 때문에 first frame 에서만 이루어진다.

 

 

 

궁금한점

drift problem??

bounding box regression??

 

 

https://blog.lunit.io/2018/12/21/multi-domain-learning-in-deep-learning/

반응형