본문 바로가기

Data-science/deep learning

Spatiotemporal CNN for Video Object Segmentation

728x90

Spatiotemporal은 시공간 데이터이다. 비디오가 그 예다. 시간에 따라 이미지 데이터가 있다. 이미지내의 픽셀들의 위치는 공간이라 할 수 있으니 비디오는 시공간 데이터다. 또 시간에따른 교통량 데이터라든가, 시간에따른 인공위성에서 찍은 구름 사진 데이터도 Spatiotemporal하게 접근해야할 데이터다.

보통 시간이 들어가면 RNN의 일종인 LSTM이 쓰일 거라 생각한다. ConvLSTM이 그 방법중 하나다. 하지만 LSTM 없이 그냥 segmentation 방식으로 예측하기도 한다. 

여기선 비디오 데이터가 input으로 들어가고 특정 시간의 frame, 즉 이미지를 예측하는게 과제다. 신기하게 gan의 loss를 차용한다. 아이디어가 쌈박하다. 그래서 기록해둔다. 그림에서 위의 브런치는 시간과 관련된 네트워크이고 아래는 공간 관련 네트워크이다.

attention module

시공간이 Attention 모듈에서 합쳐진다. (Attention은 그 유명한 Bert에서 쓰인 개념으로, 어떤 부분에 집중할 지를 학습하는 것이다. 문장에서 특정 단어들의 위치에 가중치를 부여, 어떤 단어에 더 집중하면 되는지를 학습한다.)

그렇게 특정 시간 t의 비디오 프레임, 즉 이미지를 생성하는 Generator가 있다. 또 이 이미지가 진짜인지 가짜인지 판별하는 Discriminator가 있다.

아래 (1)은 Discriminator가 Generator로부터 생성된 이미지는 가짜로 판별하도록,(0으로) 진짜 이미지(Ground Truth)는 진짜로 (1로) 판단하도록 학습하게 한다. 

(2)에서 Generator를 학습한다. 생성한 이미지와 진짜 이미지의 mean square error가 최소가 되도록, 그니까 최대한 유사하게 생성하도록 학습하고, Discriminator가 Generator에서 생성된 이미지를 진짜라고 (1로) 판단하도록 학습시킨다.

여하튼 이 논문은 spatiotemporal한 과제를 gan의 구조를 이용해서 해결한 쌈박한 논문이다.

arxiv.org/abs/1904.02363

 

Spatiotemporal CNN for Video Object Segmentation

In this paper, we present a unified, end-to-end trainable spatiotemporal CNN model for VOS, which consists of two branches, i.e., the temporal coherence branch and the spatial segmentation branch. Specifically, the temporal coherence branch pretrained in a

arxiv.org