(siameseFC) Fully-Convolutional Siamese Networks for Object Tracking

tracking
eccv
eccv2016
singleshot-tracking
convolutional
siamese

(Curtis Kim) #1

#siamese 구조로 object tracking 하는 구조를 제안한 주요한 논문입니다. 주로 #cnn:object-tracking 분야에서는 Target Object에 대한 specific한 정보를 얻기 위해서, online finetuning 같은 방식을 사용했습니다. 즉, 주어진 object에 대해 네트워크를 변형하는 것을 실시간으로 하므로, 속도 면에서 불리할 수 밖에 없습니다. 이 논문에서는 online finetuning 이 없기 때문에 매우 빠른 속도를 가능하게 한 네트워크 구조를 제안합니다.

그렇게 하기 위해서, 이 논문에서 제안한 네트워크는 주어진 2개의 이미지가 얼마나 '유사한가’를 학습하도록 했습니다. 정확히는, 첫번째로 주어진 타겟이미지(examplar라고 부름)를 Search Image 내에서 비슷한 부분을 찾아내는 것을 학습하도록 했기 때문에, online finetuning 없이도, 이미지만 주어지면 가장 유사한 부분을 출력하고 이를 이용해 tracking합니다.

Deep Similarity Learning

위 이미지에서 입력으로 들어가는 두 이미지는 아래와 같습니다.

  • z는 target image, 혹은 examplar라고 부릅니다. tracking 대상이 되는 물체의 이미지입니다.
  • x는 search image라고 부릅니다. 현재 시점의 이미지이며, 이 이미지 내에서 z를 찾도록 네트워크를 학습합니다.

각 입력 이미지를 Convolution Layer를 거쳐 Feature를 얻습니다. 두 이미지의 크기가 다르니까, feature 크기도 다릅니다. 각각 얻어진 feature를 cross-correlation layer 를 거쳐서 output score map을 얻게 됩니다.

Tensorflow 코드로 되어있는 걸 찾아보니 아래처럼 구현된 것을 확인했습니다. (https://github.com/bilylee/SiamFC-TensorFlow/blob/master/siamese_model.py#L109)

def _translation_match(x, z):  # translation match for one example within a batch
        x = tf.expand_dims(x, 0)  # [1, in_height, in_width, in_channels]
        z = tf.expand_dims(z, -1)  # [filter_height, filter_width, in_channels, 1]
        return tf.nn.conv2d(x, z, strides=[1, 1, 1, 1], padding='VALID', name='translation_match')

말씀드린 것처럼 examplar 이미지를 search image에 대해 (마치 Convolution을 하듯이) 반복해서 연산하는 구조입니다.

Training

Loss

네트워크 output map 과 GT 사이에 logistic loss 를 사용하고, SGD를 이용해 학습합니다.

Data

examplar 이미지는 타겟을 중심으로 두고, 약간의 context를 포함하게 합니다. search 이미지는 현재 프레임의 이미지를 일정한 사이즈로 만들되, 여백이 남는 경우에는 RGB 평균 값으로 채워서, Batch에 동일한 사이즈의 이미지가 들어가도록 했습니다.

Test time augmentation - Scale

또, 물체의 크기가 변하는 것에 대응하기 위해서 이미지를 여러 스케일로 변환해 비교하도록 했습니다.

Results

GOTURN 같은 이전 Deep Learning 기반 모델 대비 성능이 향상되었음을 확인할 수 있습니다. (성능이 더 좋은 Staple 같은 non-deep-learning 트래커에 비해서는 다소 못미치긴 합니다)

VOT-15에서도 real-time tracker로써는 훌륭한 성능을 보여줍니다.


(SA-Siam) A Twofold Siamese Network for Real-Time Object Tracking
'Object Tracking' 카테고리의 설명
(EAST) Learning Policies for Adaptive Tracking with Deep Feature Cascades
(RASNet) Learning Attentions: Residual Attentional Siamese Network for High Performance Online Visual Tracking