FEELVOS: Fast End-to-End Embedding Learning for Video Object Segmentation

Paul Voigtlaender et al., CVPR, 2019


오늘은 2019년 CVPR에서 발표된 Video Object Segmentation 논문을 살펴보겠습니다.



Overview of FEELVOS

FEELVOS는 Semi-supervised VOS 의 한 종류입니다.

이 논문의 Contribution 은 fine-tuning과 simulated training data 없이 근접한 성능을 냈다는 것이며 key component 는 Global matching (현재 프레임과 첫 프레임), local matching (현재 프레임과 직전 프레임)을 이용했다는 것입니다.

그리고 사용성을 극대화 하기 위해, design goal을 설정했다고 합니다. (논문을 쓰기 위한 꾸밈이겠죠?)

  • Simple : Only a single neural network and no simulated data is used.
  • Fast: The whole system is fast for deployment. In particular, the model does not rely on first-frame fine-tuning.
  • End-to-end: The multi-object segmentation problem, where each video contains a different number of objects, is tackled in an end-to-end way
  • Strong: The system should deliver strong results.

Related works

FEELMOS는 다음 논문들로부터 직접적인 영감을 받았습니다.

Pixel-Wise Metric Learning (PML) [Post]: learns a pixel-wise embedding using a triplet loss and at test time assigns a label to each pixel by nearest neighbor matching in pixel space to the first frame.

RGMP: The architecture of RGMP has similarities with ours, in particular both RGMP and FEELVOS use both the first and the previous video frame images and segmentation masks as information which is exploited inside the network. However, RGMP combines these sources of information just by stacking together features, while we employ a feature-based matching mechanism inspired by PML which allows us to systematically handle multiple objects in an end-to-end way. Like



FEELVOS는 다음과 같은 순서를 거쳐 이루어집니다.

  1. Extract Features (DeepLabv3+)
  2. Pixel-wise Embedding (Fathi 17’)
  3. Global Matching & Local Matching
  4. Prediction of the Previous Frame.
  5. Dynamic Segmentation Head

Output: a posterior distribution over all objects which are present in the first frame.

1. Extracting Features


주어진 input frame image에 대한 feature를 뽑기위해 DeepLabv3+ (output layer는 제거한) 모듈을 사용합니다.
DeepLabv3+는 Image Segmentation을 위한 모듈로써, 다음의 특징을 가지고 있습니다.

  1. Xception-65 architecture
  2. Depthwise Separable Convolution
  3. Batch Normalization
  4. Atrous Spatial Pyramid Pooling (ASPP)

output stride=4 Back-bone feature

DeepLab v3+에 대한 설명은 여기를 참고해주세요.

2. Pixel-wise Embedding

DeepLabv3+ 의 위에 Embedding Layer를 쌓아줍니다.

1) (3×3) depthwise separable convolution
2) 100-d (1×1) conv. (allowing interactions between channels.)

output 100-d, stride=4 pixel-wise embedding feature

3. Global Matching & Local Matching

이제 Embedding된 feature를 이용하여 프레임간 matching을 해줍니다.
Idea는 다음과 같습니다.

Embedding Space에서,

  • 같은 Object Instance는 서로 가까이,
  • 다른 Object Instance는 가능한 멀리 떨어져 있어야 한다.

이를 위해 각 Embedding Feature간의 Distance를 계산합니다.


Global Matching 은 첫 프레임과 현재 프레임 (t),
Local Matching 은 이전 프레임(t-1)과 현재 프레임(t)간의 Matching입니다.

Global Matching

첫번째 프레임과 t번째 프레임간의 distance를 계산합니다. Output을 보면, 시간이 많이 흘러 object가 많이 이동해서 비교적 Noise가 많이 생긴 것을 볼 수 있습니다. 이 때문에 Local Matching을 함께 사용합니다.

Local Matching

직전의 프레임과 현재 프레임간의 distance를 계산합니다.
이때 가정 은, ‘object가 많이 움직이지 않았다.’ 라고 가정합니다. 이를 위해 프레임 (t-1)의 object보다 k만큼 떨어진 거리 밖의 점들은 거리를 1로 고정 (신경쓰지 않겠다는 뜻)합니다. 위 결과 값을 보면 오리로부터 일정 거리 이상의 score는 모두 하얗게 나온 것을 볼 수 있습니다.

4. Prediction of the Previous Frame

이에 더해서, 한가지 재미있는 feature를 더합니다. 바로 현재의 embedding feature와 직전 프레임의 embedding feature를 locally matching하여 얻어지는 feature를 구하는 것입니다. 이는 MaskTrack, RGMP에서 제안된 방법입니다.

5. Dynamic Segmentation Head


입력 위에서 구한 Backbone feature와 Global matching distance map, Local matching distance map 그리고 Previous frame prediction을 Segmeantion head에 넣어줍니다.

1) 256-d (7×7) Depthwise Separable Conv.
2) 256-d (7×7) Depthwise Separable Conv.
3) 256-d (7×7) Depthwise Separable Conv.
4) 256-d (7×7) Depthwise Separable Conv.
5) ReLU Activation
6) 1-d (1×1) Conv.

Output 각 object logit의 1-d feature map입니다.

각 Object마다 1-d의 feature map이 나오고, N개의 Object에 대한 N개의 feature map은 softmax후 stack됩니다. 이렇게 stack된 feature는 stride = 4인 segmentaion 결과입니다. 즉, “posterior distribution over all objects which are present in the first frame” (첫 번째 프레임의 object들의 사후확률) 을 얻을 수 있습니다.




Metric은 다음과 같습니다.

: mean intersection-over-union (mIoU)
: Contour accuracy
: average of J and F.


장점, Contribution

  1. Finetuning을 한 결과에는 못미치지만, finetuning없이 이에 필적할만한 결과를 낸다.
  2. Finetuning이 없으므로 속도가 매우 빠르다.
  3. RGMP와 같이 simulated training data가 필요하지 않다.

단점, Limitation

  1. 첫번째 프레임에서 볼 수 없는 정보 (texture등)는 찾아내지 못한다. 이는 matching을 기반으로 하기 때문이다.
  2. 성능이 fine tuning 방법들을 아직 넘어서지는 못한다.
  3. 움직임이 급격한 물체는 잡아내지 못한다. 이는 local matching에서 k 이상 움직이지 않는다고 가정했기 때문이다.



Eungbean Lee's Picture

About Eungbean Lee

Lee is a Student, Programmer, Engineer, Designer and a DJ

Seoul, South Korea https://eungbean.github.io