[ECCV2020]Learning Joint Spatial-Temporal Transformations for Video Inpainting

이종우·2022년 6월 8일

요약

최근 많은 SOTA들이 참조 프레임에서 사라진 내용을 찾아서 프레임을 보완하기 위해서 Attention 모델을 적용하고 있다. 이는 시공간 차원에서 어텐션 결과들끼리 내용이 부합하지 않는 문제가 있다. 그래서 STTN에서는 self-attention을 사용해서 모든 인풋 프레임들에서 missing region을 동시에 채운다.

Introduction

비디오 인페인팅에서 큰 발전은 3D convolution과 Recurrent networks에 의해 이뤄졌다. 이를 통해 주변 프레임으로부터 정보를 종합하여 복원을 했다. 그러나 제한된 시간적인 receptive field때문에 시간에 따라 달라지는 기물로 인한 문제가 있었다. 이를 해결하기 위해서 SOTA들은 Attention 모듈을 적용하여 long-range correspondences를 포착하려했다.

  1. 프레임 단위 어텐션: 가중합으로 사라진 콘텐츠를 합성
  2. 픽셀 단위 어텐션: 구역 내의 유사한 픽셀로 복원

이런 방법들이 가능성 있는 결과를 보여줬지만, 두개의 한계점이 존재했다.

  1. 한가지 물체의 Affine transformation이나 homogeneous motion만을 상정했으므로 복잡한 움직임에 대응하기 어려웠다.
  2. 모든 프레임이 시간적 연속성을 고려한 optimization없이 frame by frame으로 처리된다.

STTN은 이를 해결하기 위해 제안되었다.

  1. 주변프레임과 조금 더 떨어진 프레임들 모두를 입력프레임으로 받는다.
  2. 모든 인풋프레임에서 동시에 missing region을 채운다.
  3. 각 프레임에서 missing region을 채울 때, transformer는 멀티스케일 패치 기반 어텐션 모듈에 의해 모든 시공간 차원에서 동시에 유사한 컨텐츠를 찾는다.
  4. 각기 다른 스케일의 패치들은 모든 프레임에서 추출된다.
  5. 트랜스포머의 헤드들은 각 스케일에 대한 패치들의 공간적 유사성을 계산한다.
  6. 가장 연관성 있는 패치들이 찾아지고 서로 다른 헤드들의 결과를 종합함으로써 missing region을 위해 변형된다.

또한 이런 공동 최적화를 위한 spatial-temporal adversarial loss를 고안했다.

Related works

Patch-based methods

패치기반으로 공간적으로 혹은 시공간적으로 유사한 패치들을 샘플링하여 missing contents를 합성하는 방법들이 있다. 몇몇 접근법은 배경과 전경의 세그멘테이션을 통해 성능을 향상시키기도 했다. 또다른 연구는 optical-flow와 appearance 둘 다에 대한 공동 추청에 초점을 뒀다. 하지만 패치 기반의 방법은 복잡한 홀과 움직임의 비디오에 대응하기 어려웠다.

Deep generative models

29
3D와 2D를 결합한 fully convolution networks를 제안하였다. 이를 통해 시간적인 정보와 공간적인 디테일을 학습할 수 있었다. 그러나 복잡한 씬에서 블러ㅣ했다.

16
Recurrent networks를 이용해 시간적인 일치성을 확보했다.

21, 34, 36
이외에도 여러방법들이 있었지만 주변 프레임의 정보를 종합하는 것에 그쳤다. 더 효율적으로 넓은 범위에서 일관성있는 모뎅를 마들기 위해 최근 연구에서는 attention module을 적용했다.

18
특히 이 논무에서는 프레임 단위의 어텐션으로 정렬된 프레임들의 가중합을 통해 missing contents를 합성하는 방법을 제안했다. 그러나 프레임 단위의 어텐션은 프레임들 사이의 global affine transformatios이 있어야 가능하다. 그리고 복잡한 움직임에서는 이를 통제하기 어렵다.

25
이 연구에서는 픽셀단위의 어텐션을 적용하여 점진적으로 hole을 채우는 방법을 제안했다. 하지만 이는 각 결과들이 일관성있는 어텐션 결과를 내준다는 보장이 없었다.

Spatial-Temporal Transformers Networks

전체 디자인

용어

X1T:={X1,X2,...,Xt}X_1^T := \{X_1, X_2, ..., X_t\}: 손상된 비디오
H,WH, W: 높이, 너비
TT: 프레임 길이
M1T:=M1,M2,...,MtM_1^T:={M_1, M_2, ..., M_t}: 프레임 별 마스크들
0 in MiM_i: 아는 픽셀
1 in MiM_i: 미씽 리전
Y1T=Y1,Y2,...,YTY_1^T={Y_1, Y_2, ..., Y_T}: 원본
Y^1T=Y^1,Y^2,...,Y^T\hat{Y}_1^T={\hat{Y}_1, \hat{Y}_2, ..., \hat{Y}_T}: 네트워크의 출력
p(Y1TX1T)p(Y_1^T|X_1^T): 실제 데이터의 조건분포
p(Y^1TX1T)p(\hat{Y}_1^T|X_1^T): 생성된 데이터의 조건분포

Multi-to-multi problem

p(Y^1TX1T)=t=1Tp(Ytnt+n^Xtnt+n,X1,sT)p(\hat{Y}_1^T|X_1^T) = \prod^{T}_{t=1}p(\hat{Y_{t-n}^{t+n}}|X^{t+n}_{t-n},X^T_{1,s})

Xtnt+nX^{t+n}_{t-n}: short clip (neighbor frames + center moment tt)
tt: center frame
nn: temporal radius
X1,sTX_{1,s}^{T}: 떨어진 프레임들을 나타낸다. 비디오 전체의 주요한 내용을 모두 알수 있다.
ss: sampling rate

네트워크 디자인

STTN 전체 디자인

모든 프레임에서 인접한 콘텐츠를 찾는다. 또한 멀티 헤드 패치기납 어텐션 모듈을 적용했다. 트랜스포머의 각 헤드들은 여러 패치 스케일에 대해서 어텐션을 계산한다. 이를통해 복잡한 움직임에 대응하게 해준다. 예를들면 큰 패치는 정적인 배경을 복원하는 것에 도움이 되고, 작은 사이즈의 패치는 움직이는 전경을 포가하는 것에 도움이 된다.

멀티헤드 트랜스포머는 다중의 "임베딩-매칭-어텐션' 과정을 여러 사이즈이 패치에 대해서 병렬적으로 수행한다. 간단하게 나타내면,

  1. 임베딩: 각 피쳐들은 쿼리와 메모리(키-밸류 페어)로 매핑된다.
  2. 매칭: 모든 프레임에서 추룰된 패치들의 키와 쿼리의 매칭을 통해 유사성을 계산한다.
  3. 어텐딩: 각 프레임에서 사라진 지역을 위해 유사한 리전들이 찾아지고 변형된다.

Embedding

Matching

Attending

profile
지식 정리용 벨로그

0개의 댓글