HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
장지원 페이지/
🫠
Jobs
/[LG AI Research] Supplementary documents/
DGIST CV Lab

DGIST CV Lab

기간
25-1 ~ 25-2
Project Repository
https://github.com/Jang-Jione/RNN_DVIS
Task
Video Instance Segmentation
Object Tracking
Model
DVIS
RNN
Transformer
Dataset
yvis-19
ovis
Language and Frameworks
Python
Pytorch
Environment
CUDA
GPU Server
OS
Linux
Collaboration Tolls
github
Notion

[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

arxiv.org

(transformer를 활용한 end-to-end segmentation model 제안 논문)
Mask2Former: arxiv.org
arxiv.org

arxiv.org

(mask attention, high resolution processing을 통한 end-to-end segmenter 구조 개선 논문)
MinVIS: arxiv.org
arxiv.org

arxiv.org

(cos 유사도를 활용한 object tracking 제안 논문)
DVIS: arxiv.org
arxiv.org

arxiv.org

(transformer를 활용한 object tracking 제안 논문 & online/offline method decoupling 방식 제안 논문)
Architecture Ref
Mamba: arxiv.org
arxiv.org

arxiv.org

(Mamba 아키텍쳐 논문)
 

[Ideation]

저는 위 논문들을 읽고, Mamba나 RNN과 같은 Recurrent module을 사용해서 정확도를 높여보자는 아이디어를 내보았습니다. 이를 바탕으로 구성한 아키텍쳐는 밑과 같습니다.
  1. Tracker로 먼저 tracking을 진행합니다.
  1. 이 결과를 recurrent module에 넣어서 context를 구성해 줍니다.
  1. context를 바탕으로 한 번 더 재정렬 해줍니다.
  1. 이 context는 scaling해서 0.2 정도만 반영해 주었습니다.
기존에는 비디오의 맥락을 저장하는 부분이 없었는데, 이런식으로 맥락 모듈을 추가하면 더 효과적으로 tracking을 할 수 있을 것이라 생각했습니다.
이 때 맥락 모듈로 transformer를 사용하지 않은 이유는 연산량 이슈도 있었고, ‘하나’씩 들어오는 비디오 이미지를 처리하는 데에는 recurrent module이 더 효과적일 것이라는 생각도 있었습니다.
또한 CTVIS나 IDOL과 같은 메모리 모듈을 사용하는 VIS 아키텍쳐도 있었는데, 메모리가 아닌 맥락 모듈을 상용한 이유는 객체를 메모리에 저장해서 매칭하는 것 보다 딥러닝 아키텍쳐로 비디오의 흐름을 파악하는 것이 정확도를 더 높일 수 있을 것이라는 생각 때문이었습니다.
notion image
 

[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에서 더 좋은 성능을 보였습니다.
notion image