본문 바로가기

AI 논문

[꼼꼼하게 논문 읽기] DVIS: Decoupled Video Instance Segmentation Framework ( 2023 )

728x90
반응형

23년 6월 6일에 나온 논문입니다. 요즘 너무 정신이 없었어요. 개발도 개발이고 출장도 다녀왔고 그래서 오랜만에 올리는것 같네요. real time으로 될까하는 의문은 있지만 아마 online method가 있는것으로 보아 활용가능할 것으로 보이긴해요 다만 많은 tuning이 필요하겠지만 말이죠. 여튼 함께 보시죠.


Abstract

  Video instance segmentation( VIS )는 자율주행 그리고 video editing 과 같은 다양한 분야에서 매우 중요한 task 입니다. 현존하는 methods는 종종 현실에서 복잡하고 긴 비디오에 대해 성능이 떨어지는 데, 주로 두 가지 이유 때문입니다. 먼저, offline methods는 tightly-coupled modeling paradigm 에 의핸 제한됩니다. 이는 모든 frames를 동일하게 다루고 인접한 frames 간에 interdependencies를 무시합니다. 결과적으로, 이는 long-term temporal alignment 동안 excessive noise의 introduction을 야기합니다. 두 번째로, online methods의 경우 teporal information의 적절치 않은 사용 때문에 문제가 생깁니다. 이 문제들을 다루기 위해, 저자들은 decoupling strategy를 제안하는데 하나의 task를 3 개의 sub-tasks로 나눕니다. decoupling strategy의 efficacy는 두 가지 요소에 영향을 받습니다: 1) tracking하는 동안 frame-by-frame association을 통해 정확한 long-term alignment outcomes를 얻는 것 2) refinement하는 동안 앞서 언급한 정확한 alignment outcomes , 즉 예측된 temporal information의 effective하게 사용하는 것이죠. 저자들은 새로운 referring tracker와 temporal refiner를 도입하는 데 이들은 Decoupled VIS framework( DVIS )를 구성하죠. DVIS는 SOTA performance를 달성합니다. 현재 SOTA 모델들을 압도하죠. 정확도나 memory 사용 측면 모두에서 말이죠.


Introduction

  Video Instance Segmentation ( VIS )는 computer vision task에서 중요한 task죠. VIS는 모든 instances를 video에서 동시에 identifying, segmenting, tracking 을 수행하죠. 이 task는 19년 한 연구에서 처음 도입되었습니다. VIS의 중요성은 많은 하류 computer vision applications을 용이하게 하는 데에 있죠. 가령 예를 들면, 자율 주행이나 video editing과 같은 일들이 있고요.

  기존 연구는 short durations와 simple scenes를 가진 videos에 대해 성공적인 performance validation을 보여줘왔습니다. 그러나, 현실적인 시나리오에서, videos는 종종 복잡한 장면들이 존재하고, 객체가 심각하게 가려지며 비디오가 매우 길기도 하죠. 결과적으로, 기존 방법들은 현실을 반영하는 시나리오에서 안좋은 성능을 보여주었습니다.

  저자들은 기존 연구들의 실패에 대한 근본적인 원인이 coupled network가 어떤 videos든, 길이에 상관 없이, 복잡한 장면이나 가려진 객체에 대해서도 video segmentation 결과를 효과적으로 예측할 수있다고 한 가정에 있다고 말합니다. 애를 들어 100초 짜리 즉 500 frames의 길이의 복잡한 장면들을 포함하는 비디오의 경우에, 같은 객체는 위치, 모양, 크기 등이 중요한 변수가 될 수 있습니다. 심지어 이전 인지했던 사람의 경우에 대해서도, 어느 정도 interval에 의해 분리된 두 frames 간에 같은 객체로 associating하는 것 역시 시간에 대해 점진적인 transformation trajectory 를 관찰하는 것 없이는 매우 어려운 일이죠. 따라서, alignment/tracking difficulty는 복잡한 시나리오와 긴 vidoes에 대해서 상당히 증가합니다.  cutting-edge methods가 약간의 성과를 걷었지만 여전히 challenging하죠.

  이 문제를 다루기 위해, 저자들은 VIS task를 3개의 sub-tasks로 분리할 것을 제안하는데 각각은 비디오 길이와 복잡도에 독립적이죠: segmentation, tracking, and refinement 이 3 개의 sub-task로 분리합니다. Segmentation은 all appearing objects를 추출하는 것을 목적으로 하고 single frame에서 representations를 얻습니다. Tracking은 인접한 frames간에 같은 객체를 link하는 것을 목적으로 합니다. Refinement는 객체의 all temporal information 을 segmentation과 association results를 최적화 하는 데에 사용합니다. 따라서 저자들은 Figure 1에서 설명하는 바와 같이 decoupled 된 VIS framework를 가집니다.

이 framework는 3개의 분리되고 독립적인 구성요소를 갖습니다. segmenter, tracker, refiner죠. image instance segmentation 분야에서 extensive research가 주어지면, 저자들은 관심은 인접한 frames 들에 걸쳐 객체를 robustly하게 associating하기 위한 effective한 tracker를 설계하는 것이죠. 그리고 segmentation과 tracking의 quality를 imporving하는 refiner를 설계하는 것이고요.

  effective한 instance association을 달성하기 위해, 저자들은 다음의 principles를 제안합니다: (1) 더 좋은 association을 위한 similarity를 사용하는 인접한 frames의 instance representations 간의 충분한 interaction을 하게 하는 것 (2) association results를 방해할 수 있는 indistinguishable noise를 introducing하는 것을 방지하는 interaction process 동안 information을 섞는 것을 피하는 것. 현재 SOTA methods는 principle 1을 지키지 않습니다. 이는 어떤 interaction도 없이 인접한 frame instance representations를 match하는 heuristic algorithms를 사용했기 때문이죠. 이는 저자들의 방법과 비교할때 상단한 performance gap의 결과를 도출하죠. 다른 연구는 instnace representations를 passing함으로써 인접한 frames의 instance representations간의 interaction을 고려하지만, principle 2를 어겼습니다. 위에서 언급된 2개의 원칙에 따라, 저자들은 Referring Cross Attention ( RCA ) module을 설계했습니다. 이는 referring tracker의 핵심 구성요소죠. RCA는 standard cross-attention의 변형된 version입니다. 연속되는 frames에서 instance representations의 blending을 피하는 identification을 도입하고 similarities를 효과적으로 사용합니다. 저자들은 나아가 새로운 temporal refiner를 제안하는데 이는 1D convolution과 self-attention을 사용하고 이들은 temporal information을 효과적으로 통합합니다. 그리고 instnace representations를 고쳐주는 cross attention 역시 사용되었죠.

  decoupled VIS framework는 DVIS라고 불리고 segmenter, referring tracker 그리고 temporal refiner가 합쳐져 만들어졌죠. DVIS는 모든 VIS datasets에서 SOTA performance를 달성했습니다. DVIS는 쉽게 다른 segmentation task로 확장될 수 있습니다. 가령, Video panoptic segmentation ( VPS ) 와 같은 task가 있죠. 이 때 그 어떤 변형도 필요하지 않습니다. VPS dataset에서 역시 SOTA를 달성했습니다.

  저자들의 decoupling strategy는 video segmentation의 성능을 크게 향상시켰을 뿐만아니라, hardware resource requirements를 드라마틱하게 줄였습니다. 특히 저자들의 제안한 tracker 와 refiner는 segmenter에 의한 instance representations output에 대해 exlusively하게 동작하는데 이는 image feature를 활용해 interacting 하여 associated된 computational cost를 피하게 하죠. 결과적으로, tracker와 refiner의 computational cost는 무시할만 합니다. VIS task의 decoupling design 덕분에 tracker와 refiner는 각각 학습될 수 있는데 이 때 다른 componenet는 frozen 될 수 있죠. 이런 advantages는 DVIS가 single GPU에서 11G memory를 사용하여 학습되는 것을 가능하게 합니다. contrbutions를 요약하면 아래와 같습니다.

  •  현실 videos 에서 현재 방법들의 실패 원일을 분석하고 이런 challenges를 새로운 decoupling strategy를 도입함으로써 다룹니다. 이 전략은 VIS를 3개의 분리된 sub-task로 나누는 것이고 tasks는 각각 segmentation, tracking, 그리고 refinement입니다.
  • decoupling strategy에 따라, 저자들은 DVIS를 제안합니다. 이는 간단하지만 효과적인 referring tracker와 temporal refiner를 포함하는데 이는 precision alignment results를 produce하고 temporal information을 efficiently하게 사용합니다.
  • DVIS 는 SOTA performance를 VIS와 VPS task에서 달성했습니다. 또한 DVIS는 video segmentation을 위해 요구되는 resources를 상당량 줄였습니다.

Related Works

  Online Video Instance Segmentation

  online VIS methods의 대다수는 instance를 segmenting 하고 associating하는 pipeline을 따릅니다. MaskTrack R-CNN은 tracking head를 통합하고 similarity score, semantic consistency, spatial correlation, and detection confidences와 같은 multiple cues를 사용해 인접한 frames에 대해 instances를 associates하죠. 한 연구는 위에 언급된 pipeline에서 one-stage instnace segmentation network로 segmenter를 대체합니다. 다른 연구는 현재 frame의 instance features를 사용해 다른 frame에서 같은 instances를 segment하는 crossover learning scheme을 제안하죠. vision tasks에서 transformer의 광범위한 application과 강력한 segmenters를 가지고 최근 연구들은 뛰어난 성능을 달성했습니다. 한연구는 minimal VIS frame work을 제안합니다. 이 framework은 인접한 frames에서 같은 instances간의 similarity를 측정함으로써 instance association을 가능하게했죠. 또다른 연구는 VIS에 대해 contrastive learning을 도입하는데 이는 더 차별적인 instance representation을 얻게 해주죠. 어떤 연구들은 heuristic matching algorithms을 제거하는데 instance representations를 delivering 하고 inter-frame association을 modeling함으로써 가능하게 했죠. 기존 연구들에 영감을 받아 DVIS는 instance representations에 기반해 tracking을 수행합니다. 이는 memory requirements를 상당량 줄이죠. DVIS는 새로운 component를 도입하는데 referring tracker라고 불리고 이전 frame instance representations를 이용하여 current instnace representations를 denoising함으로써 inter-frame association을 models하죠.

  Offline Video Instance Segmentation

  기존 offline video instance segmentation methods는 다양한 방법들이 사용되었습니다. 이는 spatio-temporal representations를 model 하기 위함이었죠. 한 연구에서, instance spatio-temporal embeddings는 3D CNN을 사용하여 modeles 되었습니다. transformer-based VIS architecture가 또 다른 연구에서 제안되었고 learnalbe initial embeddings를 각 frame의 각 instance에 대해 사용하였죠. 이는 complex motion trajectories를 가진 instances를 model하는 것을 어렵게 했죠. 다른 연구는 inter-frame comunication을 도입합니다. computation과 memory over head를 줄이는데 성능은 향상시켰죠. 각 intance에 대해 video-level representation을 직접 modeling함으로써 한 연구는 인상적인 결과를 보여줬습니다. 또다른 연구는 VIS framework을 deformable attention에 기반하여 설계했고 instance representations와 videos 간의 temporal and spatial interactions를 분리했죠. memory consumption을 줄이고 offline methods가 long videos를 다룰 수 있게 하기 위해, 어떤 연구는 video-level instance representation을 설계했는데 각 frame의 instnace representations를 활용했죠. 한연구가 semi-online VIS framework를 frames를 clips로 대체해 구현했지만, online version과 비교하여 보았을 때 이점이 있지는 않았죠. 현재 SOTA methods는 refinement sub-task의 중요성을 간과합니다. 특히, refinement process는 많은 연구에서 배제되었죠. 몇몇 연구에서 고려하긴 했지만 명백한 분리는 이루어지지 않았습니다. DVIS는 SOTA performance를 VIS task를 decoupling하고 efficient temporal refiner를 designing함으로써 달성했죠. refiner는 전체 video의 information을 사용하죠.


Method

  기존 연구들의 결점을 요약하고 반영함으로써 저자들은 DVIS를 제안합니다. 새로운 decoupled framework 이죠. 독립된 3개의 구성 요소, segmenter, referring tracker, temporal refiner를 가집니다. 특히 저자들은 Mask2Former를 segmenter로 사용합니다. referring tracker는 다음 section에서 설명하고 temporal refiner에 대해서는 바로 다음 section에서 설명하죠

  Referring Tracker

  referring tracker는 inter-frame association을 referring denoising task로 models합니다. referring cross-attention은 referring tracker의 핵심 구성 요소인데 representations 간의 mixture를 피하면서 동시에 인접한 frames가의 instnace representation간의 similarity를 effectively하게 사용합니다.

    Architecture

  Figure 2는 referring tracker의 architecture를 설명합니다.

DVIS는 instance queries { Q^i_seg } 를 input으로 취합니다. 이는 segmentoer에 의해 생성되어지죠. 그리고 instance queries { Q^i_Tr } 을 출력하죠. 이는 현재 frame을 위해 이전 frame에서 instance에 해당하는 instance queries 입니다. 여기서 T는 video의 길이를 표기합니다. 먼저, hungarian matching algorith이 인접한 frames의 Q_seg를 match하는 데 사용됩니다. 식으로 표현하면 아래와 같죠.

여기서 ~Q_seg는 segmenter의 matched instance queries 입니다. hungarian matching algorithm은 그렇게 필수적이지는 않습니다. hungarian algorithm을 생략하더라도 아주 약간의 성능저하가 있을 뿐이죠. ~Q_seg는 tracking result로 여겨집니다. 이 result는 noise를 가지고 있고 referring tracker를 위한 initial query로써의 역할을 하죠. 현재 frame의 initial query ~Q^i_seg를 표기하기 위해, online tracker는 이전 frame으로부터 reference로써 denoised instance queries Q^i-1_Tr 로 표기됩니다.

  referring tracker의 objective는 noise를 가진 initial value를 refine하는 것인데요, 이는 부정확한 tracking resluts를 포함할수도 있지만 정확한 tracking results를 produce합니다. referring tracker는 L transformer denoising blocks의 sequence로 구성되는데  각각은 referring cross-attention, standard self-attention, 그리고 feedforward network( FFN )을 포함합니다.

  referring cross-attention ( RCA ) 는 denoising block의 중요 구성요소입니다. 이는 current frame과 its historical frames 간의 correlation을 capture하기 위해 설계되었죠. 인접한 frames에서 instance representations가 위치, 모양, 크기등이 매우 유사하면서도 다른데, previous frame's instance representation을 현재 frame을 위한 initial instance representation 로써 사용하는 것은 denoising task를 더 어렵게 만드는 ambiguous information을 만들수 있죠. RCA는 이를 극복합니다. identification ( ID )를 도입해서 해결하는데, 여전히 effectively하게 query와 key 간의 correct output을 생성하는 similarity를 사용하죠. Figure 2에서 보여지다시피, RCA는 한연구에서 영감을 받았으며 standard cross-attention과 약간 다르고 식으로는 아래와 같습니다.

MHA는 Multi-Head Attention을 의미하고 ID, Q, K, V는 identificaton,query, key, value를 각각 뜻합니다.

  마지막으로 denoised instance query Q_Tr 은 class head와 mask head의 input으로 사용되고 category와 mask coefficient output을 각각 도출하죠

    Losses

  referring tracker는 instances를 frame by frame 방법으로 track합니다. network는 loss function을 사용해 지도학습되어지죠. 구체적으로, instance label과 prediction hat y_Tr은 intance가 처음 나타나는 frame에 대해서만 matched됩니다. convergence를 촉진시키기 위해, frozen segmenter hat y_seg의 prediction은 matching을 위해 사용되는데 이는 referring tracker's prediction을 대신에 사용되죠. 식을 아래와 같습니다.

여기서 f(i) 는 frame을 나타내는데 i-th instance가 처음 나타난 frame을 말하죠. L_match( y^f(i)_i, hat y^f(i)_sigma(i) ) 는 pair-wise matching cost입니다. matching cost는 ground truth y와 f(i) frame에 대한 index sigma(i)를 가지는 prediction hat y간의 matching cost를 말하죠.

  loss function L은 아래와 같이 표현됩니다.

  Temporal Refiner

  이전 offline video instance segmentation methods의 실패는 highly coupled networks에서 temporal information을 effectively하게 사용하고자했던 도전의 영향이 주요하게 작용했을거비다. 추가적으로, 이전 online video instance segmentation methods는 refinement step이 부재되어 있었죠. 이 문제들을 다루기위해, 저자들은 independent temporal refiner를 개발했는데 entire video로부터 information을 효과적으로 사용하고 referring tracker의 output을 refine하죠.

    Architecture

  Figure 3에서 보여주다시피, temporal refiner 의 architecture입니다.

instance query referring tracker로부터의 output Q_Tr을 input으로 하여 instance query Q_Rf를 출력합니다. 이는 video의 전체 information을 완전히 aggregating한 이후에 출력되죠. temporal refiner는 L temporal decoder blocks로 구성되어 있는데 cascaded된 구조이죠. 각 temporal decoder block은 두 개의 main components로 구성되어 있는데, short-term temporal convolution block과 long-term temporal attention block이죠. short-term temporal convolution block은 motion inofrmation을 사용합니다. 반면에 long-term temporal attention block은 전체 video로부터의 information을 사용하죠. 이들 blocks는 1D convolution과 standard self-attention을 각각 사용해 구현됩니다. 그리고 모두 time dimension에 대해 동작하죠.

  마지막으로, 각 frame에서 instance에 대한 mask coefficients는 mask head에 의해 predicted되는데 refined instance query Q_Rf에 기반하죠. class head는 category와 socre를 predicts하고 Q_Rf의 temproal weighting을 사용하죠. temporal weighting process는 아래와 같이 정의됩니다.

여기서 hat Q_Rf는 Q_Rf의 temporal weighting이죠

    Losses

  matching cost와 loss fuctions은 training동안 temporal refiner가 지도학습되는 데 사용됩니다. segmenter와 referring tracker는 training 동안 frozen되죠. 그럼으로 referring tracker's prediction results는 network가 faster convergence하도록 guide하는 초기 training phase에서 matching을 위해 사용됩니다. 식으로는 아래와 같죠.

여기서 hat y_Rf는 temporal refiner의 prediction result입니다. loss function은 아래와 같습니다.

여기까지 할게요.

728x90
반응형