Video Segmentation

[논문 리뷰] Segment Anything Meets Point Tracking, arXiv'2307

hobin-e 2023. 11. 6. 10:00

Background

 

Problem

  • Video segmentation은 zero-shot으로 풀기 힘들다.
    • Zero-shot image segmentation model인 SAM을 활용한 연구들 [2, 3]이 있지만, SAM의 image domain에서의 zero-shot 성능이 video domain까지 유지되지는 않았다.
    • SAM을 활용하지 않는 zero-shot video segmentation 연구도 있다 [4, 5].
    • 하지만 Painter [4]는 성능이 아쉽고, SegGPT [5]는 우수한 성능을 보여주지만 첫 번째 프레임에서는 mask annotation을 요구한다.
  • Video는 rich local structure information을 가지고 있다.
    • Object-centric feature matching이나 mask propagation을 하려면 object 단위의 association이 필요한데, deformation이 심한 경우 같은 object라도 보는 방향이나 시점에 따라 다르게 보이기 때문에 association이 어렵다.
    • Object의 global structure를 보는 이런 방법들 보다는 point 주변의 local structure를 보는 SAM-PT와 같은 방법이 더 robust한 tracking을 가능하게 한다.
  • SAM-PT는 첫 프레임의 points만 요구하면서도 zero-shot video segmentation task에서 SoTA 성능을 달성했다.

 

Method

 

1. Query Points Selection

  • 첫 번째 프레임의 objects 위에 points를 찍는다.
  • Object마다 여러개의 points를 찍을 수 있고, object를 구분해서 찍을 수 있으며, 어떤 object 위에도 존재하지 않는 negative points를 찍을 수도 있다.
    • Negative point는 하나 정도만 찍어도 충분하다

  • Point를 어디에 몇개나 찍을지는 자기 맘이지만, 최적의 방법을 찾는 것이 중요하다.
    • GT mask가 있다는 가정 하에 네 가지 방법으로 point를 찍어보았다. K-Medoids [6]는 K-Means의 median 버전이고, Shi-Tomasi [7]는 tracking에 적합한 corner points를 뽑는 방법이다.
    • DAVIS 2017 J&F score를 측정해보니, K-Medoids 방법으로 8개 정도 찍는 것이 좋아보인다.

 

2. Point Tracking

  • SoTA point tracker인 PIPS [8]를 사용했다.
    • Long-term tracking과 occlusion & re-appearance에 강인한 모델이다.
    • Point trajectory 뿐만아니라 occlusion scores도출력한다.
  • RAFT [9], SuperGlue [10], TapNet [11]과 비교해보았을 때, 실험적으로 가장 성능이 좋았다.

 

3. Segmentation

  • SAM을 활용한 두 번의 inference step을 거쳐 segmentation mask를 얻는다.
    1. Positive (non-occluded) points를 prompt로 사용해 initial mask를 얻는다.
    2. Positive points, initial mask, negative points를 모두 prompt로 사용해 final mask를 얻는다.
  • 2번 과정을 여러번 반복해서 돌려 mask의 품질을 높이는 iterative refinement가 더 좋은 성능을 야기하기도 했지만 (DAVIS 2017) 성능 하락으로 이어지기도 해서 (MOSE), 실험적으로 결과를 보고 적용 여부를 판단해야 할 듯 하다.

 

4. Point Tracking Reinitialization

  • 첫 번째 프레임에서는 보였던 point가 시간이 지나면서 가려지거나, 애초에 unreliable한 point를 골랐을 수가 있다.
  • Reliable points를 tracking하기 위해서는 적당한 주기로 point를 다시 선정해줄 필요가 있다.
  • 8 프레임마다 reinitialization하는 과정을 추가함으로써 성능을 개선할 수 있다.

 

Experiments

1. Quantitative

  • DAVIS 2017 Validation

  • Youtube-VOS 2018 Validation

  • MOSE 2023 Validation

  • UVO VideoDenseSet v1.0

  • Youtube와 MOSE에서 SegGPT보다 떨어지는 성능을 보이지만, zero-shot model인 만큼 학습에 사용한 데이터가 다른 것은 고려해주어야 한다.

2. Quantitative

  • 그림보다는 gif가 직관적이다.

  • Extensive occlusion, small objects, motion blur, re-identification 등으로 인해 point tracker가 실패하는 경우 video segmentation의 실패로 이어진다.

Remarks

  • Video segmentation 문제를 point tracking과 image segmentation with point prompt로 나누어 푸는 접근 방법이 인상적이다.
    • Point tracker와 promptable image segmentation model의 발전에도 관심을 가질 필요가 있겠다.
    • 연속된 프레임간의 image segmentation 결과가 inconsistent할 수 있어보이는데, 이를 보완할만한 장치가 있으면 좋겠다.
  • Mask propagation 보다 point propagation이 더 robust하다는 주장이 직관적으로 잘 와닿았다.

References

  1. Segment Anything, arXiv'2304
  2. Track Anything: Segment Anything Meets Videos, arXiv'2304
  3. Segment and Track Anything, arXiv'2305
  4. Images Speak in Images: A Generalist Painter for In-context Visual Learning, CVPR'23
  5. SegGPT: Towards Segmenting Everything In Context, ICCV'23
  6. A Simple and Fast Algorithm for K-Medoids Clustering, Expert Systems with Applications 2009
  7. Good features to track, CVPR'94
  8. Particle Video Revisited: Tracking Through Occlusions Using Point Trajectories, ECCV'22
  9. Raft: Recurrent All-pairs Field Transforms for Optical Flow, ECCV'20
  10. Superglue: Learning Feature Matching with Graph Neural Networks, CVPR'20
  11. Tap-vid: A Benchmark for Tracking Any Point in a Video, NeurIPS'22