[Task Description]
DGIST 컴퓨터 비전 연구실에서 두 달 정도 진행한 프로젝트는 Video Instance Segmentation(VIS)/Object Tracking 입니다.
VIS task에서는 Object Tracking이 중요한 요소입니다. 객체들이 잘 segmentation 되었더라도 객체를 aligning 해주지 않는다면, Video 내에서 객체 ID가 계속 뒤바뀌며 보이게 될 것입니다. Object Tracking은 VIS에서 객체 aligning을 해주는 method입니다. 저는 두 달 동안 이러한 Object Tracking의 정확도를 높이는 연구를 진행하였습니다.
[Reference Paper]
참고한 주요 핵심 논문들은 다음과 같습니다.
VIS Ref
DETR:
arxiv.org![arxiv.org]()
(transformer를 활용한 end-to-end segmentation model 제안 논문)
arxiv.org
Mask2Former:
arxiv.org![arxiv.org]()
(mask attention, high resolution processing을 통한 end-to-end segmenter 구조 개선 논문)
arxiv.org
MinVIS:
arxiv.org![arxiv.org]()
(cos 유사도를 활용한 object tracking 제안 논문)
arxiv.org
DVIS:
arxiv.org![arxiv.org]()
(transformer를 활용한 object tracking 제안 논문 & online/offline method decoupling 방식 제안 논문)
arxiv.org
Architecture Ref
Mamba:
arxiv.org![arxiv.org]()
(Mamba 아키텍쳐 논문)
arxiv.org
[Ideation]
저는 위 논문들을 읽고, Mamba나 RNN과 같은 Recurrent module을 사용해서 정확도를 높여보자는 아이디어를 내보았습니다. 이를 바탕으로 구성한 아키텍쳐는 밑과 같습니다.
- Tracker로 먼저 tracking을 진행합니다.
- 이 결과를 recurrent module에 넣어서 context를 구성해 줍니다.
- context를 바탕으로 한 번 더 재정렬 해줍니다.
- 이 context는 scaling해서 0.2 정도만 반영해 주었습니다.
기존에는 비디오의 맥락을 저장하는 부분이 없었는데, 이런식으로 맥락 모듈을 추가하면 더 효과적으로 tracking을 할 수 있을 것이라 생각했습니다.
이 때 맥락 모듈로 transformer를 사용하지 않은 이유는 연산량 이슈도 있었고, ‘하나’씩 들어오는 비디오 이미지를 처리하는 데에는 recurrent module이 더 효과적일 것이라는 생각도 있었습니다.
또한 CTVIS나 IDOL과 같은 메모리 모듈을 사용하는 VIS 아키텍쳐도 있었는데, 메모리가 아닌 맥락 모듈을 상용한 이유는 객체를 메모리에 저장해서 매칭하는 것 보다 딥러닝 아키텍쳐로 비디오의 흐름을 파악하는 것이 정확도를 더 높일 수 있을 것이라는 생각 때문이었습니다.

[Experiment]
Ideation을 바탕으로 실험을 진행해 보았습니다. Backbone model은 DVIS를 사용하였고, DVIS 아키텍쳐에 recurrent module을 추가하여 실험을 진행하였습니다.
- 학습은 제게 할당된 GPU 4개가 있는 서버(Linux)를 사용하여 진행하였습니다.
- 코딩은 시각화를 위해서 서버와 VScode를 연결해서 진행하였습니다.
- command는 Linux terminal을 사용하였습니다.
- AI Framework는 파이토치를 사용하였습니다.
- 학습 시간은 대략 10시간 정도씩 소요되었습니다. (40,000iter)
[Dataset]
사용한 데이터 셋은 다음과 같습니다. 데이터 셋은 모두 오픈 데이터 셋을 사용하였습니다.
yvis
link:
CodaLab - Competition![CodaLab - Competition]()
CodaLab - Competition
2,883 high resolution video
4,883 unique video instances
ovis
link:
OVIS | Occluded Video Instance Segmentation![OVIS | Occluded Video Instance Segmentation]()
OVIS | Occluded Video Instance Segmentation
Can our video understanding systems perceive objects when a heavy occlusion exists in a scene?
901 videos with severe object occlusions
5,223 unique instances
[Result]
결과는 다음과 같았습니다. yvis 19 데이터에 대한 test 결과이고, 일부 metric에서 더 좋은 성능을 보였습니다.
