PML: Blazingly Fast Video Object Segmentation with Pixel-Wise Metric Learning

Yuhua Chen et al., CVPR, 2018


190910-pml-architecture

Blazingly Fast Video Object Segmentation with Pixel-Wise Metric Learning (PML) 논문은 2018년 CVPR에서 발표된 Interactive Video Object Segmentation 논문입니다.

Overview

190910-pml

Interactive Video Object Segmentation는 비디오에서 특정 물체를 분리하기 위해 유저의 개입 (Interaction)을 필요로 합니다. 이를 위해 Video Object Segmenatation 문제를 Pixel-wise retrieval problem 으로 정의했습니다. 이는 비디오에서 각각의 픽셀을 embedding space에 투사하고 이 space에서 구분해내겠다는 뜻입니다. 이상적으로, Embedding space에서 다음 성질을 만족합니다.

Embedding Space에서,

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

즉, Embedding space에서 label을 알고 있는 pixel에 대해 가장 비슷한 reference pixel을 찾은 후 같은 lebel을 부여합니다.

190910-pml-embedding

이 논문에서 제안하는 방법의 장점 은 다음과 같습니다.

  1. 매우 효율적 (Highly Efficient): fine-tuning없이 single forward pass만 거칩니다.
  2. 다양한 user input을 수용 가능 : click, scribble, mask등 다양한 user input에 대한 유연성이 있습니다. 또한 user input이 달라져도 embedding space는 독립적이기 때문에 다시 계산하지 않아도 됩니다.

Architecture

190910-pml-architecture

PML은 two-stage로 이루어집니다.

  1. embedding network: 영상을 d-dim. embedding space로 embedding한다.
  2. per-pixel retrieval: nearest reference pixel에 따라 label을 transfer한다.

How to handle user input?

좀 더 자세히 살펴보겠습니다.
Video Object에 대한 user input이 들어오면, 기존의 논문들은 다음과 같은 방법을 사용했습니다.

  1. User input to fine-tune model : user input을 이용해 특정 object에 대하여 network를 fine-tuning 합니다. 정확도는 비교적 높지만, 시간이 매우 오래 걸린다는 한계가 있습니다.

  2. User input as the network input : user input을 가공하여 또다른 input으로 network에 넣어줍니다. 예를 들어 이미지와 함께 concat.을 한다던지, sub-network를 이용해 encoding 하는 방법이 있습니다. 이는 finetuning처럼 traing을 다시 할 필요가 없어 조금 더 빠르지만, 여전히 network를 다시 계산해야 하기 때문에 많은 시간을 필요로 합니다.
  3. 이 논문의 방법: 이 논문은 먼저 비디오를 embedding-space로 계산해놓고, user input에 따라서 nearest neighbor search만 계산하면 segmenatation을 할 수 있도록 했습니다. 이는 매우 빠르고 간단하다는 장점이 있습니다.

Segmentation as Pixel-wise Retrieval

Embedding model은 다음과 같이 구성됩니다.

Input image

  1. DeepLab-v2 (ResNet101 Backbone)
    COCO에 대해 semantic segmentation pre-train.

  2. Embedding Head
    final classification layer를 제거하고 d-dim conv. layer로 대체 후
    VOS emedding을 학습하도록 fine-tuning

output embedding tensor

Retrieval with Online Adaptation

이렇게 얻어진 embedding space에서 reference pixel (찾고자하는 픽셀)과 가까운 픽셀을 retrieving함으로써 segmentation을 수행합니다. 저자는 k-Nearest Neighbors (kNN) classifier를 사용했습니다. 그 후, majority voting 을 통해 pixel을 구분했습니다. 여기까지 하게되면 stride=8 이므로, bilateral solver 를 이용해 original size로 up-sample을 해줍니다.

Overcome Appearance Changes

Appearance Changes 시간이 흐르며 첫 프레임으로부터 형태가 많이 바뀌면, FCN의 성능이 저하됩니다. 이를 극복하기 위해 OnAVOS는 이후의 프레임을 이용해 model을 update하는 방법을 제안했습니다. 하지만 이를 위해서는 fine-tuning을 수행해야하는 단점이 있습니다.

이 이슈는 embedding space에서의 sample distribution shift 로 이해할 수 있습니다. 저자는 이 문제를 다음과 같이 해결했습니다.

  1. pool을 만들고, user가 annote한 reference pixel들로 초기화한다.
  2. 비디오가 진행하면서 high confidence sample들을 pool에 추가한다. (k=5 for user-interactive, k=1 for semi-supervised)

Training

Metric Learning의 기본 아이디어는, 비슷한 샘플은 가까이, 다른 샘플은 멀리 떨어뜨리도록 embedding space를 학습시키는 것 입니다.

Training Loss 보통, Metric Learning을 위해서는 Contrastive loss, triplet loss 등이 널리 사용됩니다. 이 논문은 triplet loss를 segmentation에 적합하도록 수정하여 사용했습니다.

190910-pml-losses

Training Strategy

  1. Randomly choose three frames
  2. Sample $N, P, x^a$: one frame for anchor point, two frames for joined together.
  3. embedding head will learn temporal weight from the feature vector.
  4. do not use pixels from anchor frame to avoid too easy samples.

Result

190910-pml-result-qvt

PML의 특징은 매우 빠르면서 정확도가 굉장히 높다는 점입니다. 보통 time과 quality는 trade-off관계임을 감안했을때, 이는 뛰어난 성능임을 알 수 있습니다.

Metric

Metric은 다음과 같습니다.

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

190910-pml-result-table

190910-pml-result2

Discussion

장점, Contribution

  1. 빠르다. Embedding space만 만들어 놓으면 kNN search로 빠르게 연산할 수 있다. fine-tuning도 필요하지 않다.
  2. Robust to Heavy occlusion. (BMX-tree, Libby)
    이는 temporally-neighboring propagation을 사용하지 않았기 때문.
  3. Robust to Drastic Change in foreground scale and appearance. (Motocross-Jump) \
  4. Robust to Drastic Change in background appearance. (Parkour)
    시간에 따라 변하는 object의 변화를 잘 감지한다. first-frame에 보이지 않는 appearance 정보 (motorcross의 옆면)등도 잘 segment하는 것을 볼 수 있다.

단점, Limitation

  1. Incorrect match 를 복구하기가 힘들다. 한번 pool이 bias되기 시작하면 걷잡을 수 없을듯.

Comments

Eungbean Lee's Picture

About Eungbean Lee

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

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