(FlowTrack) End-to-end Flow Correlation Tracking with Spatial-temporal Attention


(Curtis Kim) #1

Deep Feature Flow로부터 시작된, Feature를 다른 시간대의 Feature와 융합하는 방법론들이 Video Detection, Segmentation에서 좋은 성능과 효율성으로 주목을 받고, 역시 Tracking 분야에도 적용된 사례입니다.

비교하자면, FGFA와 유사하다고 생각할 수 있지만, Tracking에 맞게 변형이 조금 있고, attention 등이 추가되어 좋은 성능을 보여줍니다.

  • 다른 시간대의 Deep Feature가 현재 프레임에 맞게 flow되는 것을 end-to-end로 학습함
  • spatial-temporal attention을 사용함

Architecture

전체적인 구성도는 위와 같습니다. 크게 보면, Target Frame(파란부분)과 Current Frame(살구색부분)을 Siamese Network 형태로 구성하고, 그 두 브랜치에서 얻은 피쳐를 비교하기 위해 Correlation Filter Layer를 삽입해둔 모습입니다. CF Layer는 기존의 DCF를 backprop으로 training가능하도록 변경한 것으로, CFNet이나 DCFNet에서 소개되었습니다.

Feature Aggregation

첫번째로 다른 점은, Target Frame(파란부분)이 단순히 첫번째프레임 혹은 이전 프레임에서 얻은 피쳐로 구성된 것이 아니라, History를 누적해서 만든 Branch라는 점입니다. 현재 시간 t 프레임과 기존 시간 t-1 프레임을 비교하는 것이 이전의 일반적인 형태라면, 여기에서는 조금 더 많은 데이터를 사용합니다.

기존에 사용하지 않던 t-2 프레임, t-3 프레임, …, t-T 프레임들은 모두 Deep Feature Flow에서 제안된 방식을 통해 t-1 시간대의 피쳐로 변환됩니다. 다양한 시간대의 프레임으로부터 t-1 프레임의 정보를 유추한 것이므로, 동일 데이터에 대해서 다양한 정보를 얻게됩니다. 이렇게 얻어진 데이터는 2가지 attention에 의해 aggregate 되게 됩니다. 이 때 Feature Flow를 위해 FlowNet을 사용합니다.

첫째로 공간 상(spatial)으로는 cosine similarity를 이용해 위치 p에 대한 feature를 계산하게 됩니다.

쉽게 풀어 설명하면 t-1 프레임과 유사할 수록 높은 weight를 갖도록 설계되어 있습니다.

이렇게 얻은 spatial weight는 다시 temporal weight를 계산하는데 사용됩니다. 즉, 각 채널별로 어느 정도의 weight를 가져야하는지를 결정하는 attention인데, 이는 단순히 pooling이후 FC Layer를 통해 계산하도록되어 있습니다. 즉, 아래처럼 Spatial-Temporal Weight를 최종적으로 얻게됩니다.

즉 아래와 같이, 각 시간대 별로 주요한 프레임에 weight를 주는 형태로 학습되는 것을 기대할 수 있습니다.

Inference

Inference Time에는 위 네트워크를 이용하면서, 약간의 변화를 주는데 크게 2가지가 있습니다.

(1) CF Layer를 기본적인 Correlation Filter로 변경해서 사용한다.

(2) PNR(Peak-versus-noise Ratio) 를 이용해서 모델이 update되는 시점을 결정한다. — [UCT][(UCT: Learning Unified Convolutional Networks for Real-Time Visual Tracking)와 동일한 부분임

그리고, 기존 다른 Siamese FC 류와 동일하게 여러 Scale로 Prediction하고, 가장 높은 Score를 선택하는 것으로, Scale invariance에 대응합니다.

Results

다양한 데이터셋에서 좋은 성능을 보입니다.

  • no flow : Flow Information 사용하지 않음
  • fix flow : Flow 네트워크는 초기화된 상태로 고정되어 학습
  • decay : spatial-temporal attention 대신, 시간에 따른 decay로 aggregation
  • no ta : temporal attention 사용하지 않음
  • FlowTr : 논문 버전

비교해보면, flow를 사용하면서 attention을 주는 것이 성능 향상에 많은 영향을 주었음을 알 수 있습니다.


'Object Tracking' 카테고리의 설명