DeepFlowest

[Video Inpainting] Deep Video Inpainting 본문

논문 정리 및 리뷰

[Video Inpainting] Deep Video Inpainting

Orange57 2020. 10. 5. 14:56
728x90
반응형
SMALL

arxiv.org/abs/1905.01639 논문을 읽고 정리한 내용입니다.


0. Abstract


  • Video inpainting : 비디오에 있는 시공간 상의 구멍(spatio-temporal holes)을 메우는 것을 목표로 하는 것.

  • image inpainting을 비디오 영역으로 확장하는 것은 어려운 일임.

  • 이 논문에서 제안하는 모델

    • 빠른 video inpainting을 위한 새로운 deep network architecture 제안

    • 이미지 기반의 인코더-디코더 모델을 기반으로 구축된 이 프레임워크는 이웃 프레임에서 정보를 수집, 정제하고 아직 알려지지 않은 지역을 합성하기 위해 설계됨.

    • 동시에, 출력은 recurrent feedback과 temporal memory module에 의해 일시적으로 일관성을 유지하도록 함.

    • 최첨단 image inpainting 알고리즘에 비해, 이 방식은 훨씬 의미론적으로 정확하고 일시적으로 매끄러운 영상을 제작함.

    • 이 방법은 거의 실시간으로 실행되며 경쟁력 있는 비디오 결과를 만들어 냄.

    •  

      이 프레임워크를 video retargeting에 적용했고, 만족스러운 결과 얻음.

       

       

1. Introduction


  • video inpainting은 비디오 편집 및 복원 작업(물체 제거, 긁힘 또는 손상 복원, retargeting)에 도움을 줌

  • 증강현실(AR)과 결합해서 적용해볼 수 있음

  • single image에서의 딥러닝 기반 inpainting에서는 엄청난 발전이 있더라도, video로 발전시키는 것은 추가적인 시간 차원(time dimension) 때문에 어려운 일이다.

  • 복잡한 동작과 시간적 일관성(temporal consistency) 때문에 video inpainting은 어려움.

  • video inpainting을 하는 가장 간단한 방법은 이미지를 각 프레임에 개별적으로 적용하는 것임.

    그러나 이것은 비디오의 움직임의 규칙성을 무시하고, 시간에 따른 영상 변화를 추정하기 어려움.

    아래 그림의 두 번째 행이 이 예를 보여줌.

     

  • 시간적 일관성을 해결하기 위해 몇 가지 방법이 개발됨

    • a greedy selection of local spatio-temporal patches [24] - 색상 추정과 관련 없음

    • a per-frame diffusion-based technique [16] - 색상 추정과 관련 없음

    • an iterative optimization [11] - 시간이 많이 걸리는 최적화에 의존 (위 그림의 3번째 행)

  • Lai et al. [14] : post-processing method을 적용해 시간적 일관성을 유지

    • 오리지널과 프레임당 처리된 영상을 모두 입력으로 받아들여 일시적으로 일관된 영상을 제작하는 심층 CNN 모델을 제안

    • 그러나, 이 방법은 그 두 입력 비디오가 pixel-wise correspondences (e.g.colorization)를 가지고 있을 때만 적용되는데, 이것은 video inpainting이 아니다.

  • 이 논문에서는 feed-forward deep network를 video inpainting 작업에 적용할 수 있는지 여부를 조사한다.

  • 다음과 같은 두 가지 핵심 기능을 가진 모델을 훈련하려고 함.

    1) temporal feature aggregation (일시적 특징 집합)

    • video inpainting작업을 순차적인 multi-to single frame inpainting문제로 생각함.

    • 2D 기반(이미지 기반) encoder-decoder model을 기반으로 구축된 새로운 3D-2D feed-forward network를 소개한다.

      (neighbor frames으로부터 잠재적인 힌트를 수집하고 다듬고 공간과 시간에 의미론적으로 논리적인 비디오 콘텐츠를 합성하기 위해 설계됨.)

    2) temporal consistency preserving (시간적 일관성 보존)

    • 반복적인 피드백(recurrent feedback)과 메모리 레이어(예: convoutional LSTM [28])를 사용할 것을 제안한다.

    • 이전에 합성된 프레임의 뒤틀림을 학습하기 위해, 결과의 단기 및 장기 일관성(consistency)을 모두 적용하기 위해 flow loss를 사용한다.

    ==> Finally, VINet이라는 하나의 통일된 deep CNN 모델이 나옴.

  • 이 논문에서 multi-to-single frame 제형이 [33]의 방법보다 훨씬 정확하고 시각적으로 즐거운 비디오를 제작한다는 것을 보여준다. 위 그림의 마지막 줄에 결과가 있다.

  • 이 논문의 모델은 임의 길이의 비디오 프레임을 순차적으로 처리하여 test time에 optical flow computation이 필요 없어 실시간에 가까운 속도로 구동된다.

[Contribution summary]

  1. video inpainting을 sequential multi-to single frame작업으로 캐스팅하고, 새로운 deep 3D-2D encoder-decoder network를 제시한다.

    • 이웃 프레임에서 형상을 효과적으로 취합하고 이를 바탕으로 누락된 콘텐츠를 합성하는 방식

  2. 시간적 안정성을 위해 recurrent feedback와 memory layer를 사용한다.

    • 다음 두 가지 loss방식으로 시간적 안정성(temporal consistency)을 강화한다.

    • flow loss, warping loss

  3. 일반적인 비디오 인 페인팅 작업을 위해 unified deep network를 제공하는 것은 첫 번째 작업이다.

 

2. Related work


  • [1,3,8,12,15,18,30–33]에서 진전이 있었지만, 심각한 관점 변화, 시간적 일관성 보존, 높은 계산 복잡성 등의 주요 난제를 도입하는 추가적인 시간적 차원 문제가 있음.

  • 최근의 방법들은 객체 기반(object-based) 또는 패치 기반(patch-based) 접근법을 사용하여 이러한 문제들을 다룸.

  • 객체 기반(object-based) 방법

    • 비디오를 중요한 위치의 객체와 배경으로 분할하고 알고리즘 마지막에 재구성 및 병합 단계가 있는 pre-processing이 필요함. (graph-cut [9,10])

    • 한계 : 합성된 내용을 visible regions에서 복사해 와야 하는데, 물체가 카메라에서 멀어질 때 등 스케일의 변화와 같은 갑작스러운 외관 변화에 대부분 취약함.

  • 패치 기반(patch-based) 방법

    • 알려진 영역의 패치를 사용하여 마스크 영역을 채움.

    • 한계 : 정적 카메라[19] 또는 제한된 카메라 모션[20]을 가정하고 초기 오류가 불가피하게 전파되어 전체적으로 일관성이 없는 출력을 생성함.

  • Wexler et al. [27]

    • 패치 검색과 재구성 단계를 번갈아 수행함으로써 3D 임시 패치에 대한 글로벌 에너지 최소화 문제를 최적화하는 방법을 제시

  • Newson et al. [17]

    • PatchMatch [2]의 임시 버전을 개발하여 시간적 일관성을 강화하고 패치 매칭을 가속화함으로써 이를 확장

  • Huang et al. [11]

    • 시각적인 흐름 용어를 추가하여 [27]의 에너지 용어를 수정하여 시간적 일관성을 강화

===> 이들의 가장 큰 한계는 계산 복잡성과 복잡한 연속적인 일에서 정확성을 보장할 수 없는 미리 계산된 시각적인 흐름에 대한 절대적인 의존성이다.

===> 이러한 문제에 대처하기 위해, 이 논문에서 비디오 인 페인팅 방법에 대한 심층적인 학습을 제안한다.

[논문에서 제안하는 방법]

  • 여러 프레임에서 나오는 시간적 정보를 더 잘 활용하고 효율성을 높이기 위해, 이 논문에서는 비디오 역학에서 드러난 추적 가능한 기능을 제공할 수 있는 3D-2D encoder-decoder 모델을 구축함.

  • 입력으로 6개의 프레임이 필요

    • 5개 : source frames

    • 1개 : reference frame ( 즉, inpaint 할 프레임 )

  • 구멍 뚫림과 일관성을 모두 다루기 위해 프레임 사이의 feature flow를 봄.

  • 알려지지 않은 부분은 주변의 맥락에 따라 의미론적으로 자연적인 방식으로 합성

  •  

    이 방법은 deep CNN을 사용했기 때문에, 계속해서 증가하는 방대한 양의 비디오 데이터로부터 공간 의미론(spatial semantics)과 시간 역학(temporal dynamics)을 학습하는데 탁월함.

     

     

3. Method


3.1. Problem Formulation

3.2. Implementation Details

  • Pytorch v0.4, CUDNN v7.0, CUDA v9.0을 사용하여 구현

  • Intel (R) Xeon (R) (2.10 GHz) CPU 및 NVIDIA GTX 1080 Ti GPU가 장착된 하드웨어에서 실행

  • 256x256 프레임에 대해 GPU에서 12.5 fps로 실행

  • Adam optimizer 사용 β = (0.9, 0.999)

  • learning rate : 1e-4

  • scatch에서 모델을 훈련시킴.

  • 4 개의 NVIDIA GTX 1080 Ti GPU를 사용해서 첫 번째와 두 번째 훈련 단계는 각각 약 1 일이 걸림.

     

4. Experiments


  • 이 섹션에서는 두 가지 주요 설계 선택을 분석하기 위한 실험을 수행한다.

  • 학습된 multi-to-single mechanism을 시각화하고 추가된 반복(recurrence) 및 memory의 영향을 보여준다.

  • 그런 다음 최신 기준과 비교하여 비디오 결과를 양적 및 질적으로 평가한다.

  • 마지막으로, video retargeting 및 비디오 초 고해상도 작업에 대한 프레임 워크의 적용 가능성을 보여준다.

  • Baselines (기준)

    • 두 가지 최첨단 기준과 비교한다. their test codes를 our testing videos and masks에 돌려봄으로써

    • Yu et al. [33]:

      • 단일 image inpainting을 위해 설계된 feed-forward CNN 기반 방법

      • 시간 정보를 사용하지 않고 프레임 단위로 비디오를 처리한다.

    • Huang et al. [11]:

      • global flow와 색상을 공동으로 추정하는 최적화 기반(optimization-based) 비디오 완성 방법

      • 즉석 optical flow 계산이 필요하며 시간이 많이 걸린다.

4.1. Visualization of Learned Feature Composition

  • 위 그림 3은 제안된 모델이 누락된 콘텐츠를 합성하기 위해 visible neighbor features를 쓰는 것을 보여준다.

  • 시각화를 위해 첫 번째 학습 단계의 모델을 가져와서 128 x 128 픽셀 해상도로 4 개의 source streams 각각에서 reference streams으로 학습된 feature flow을 plot 한다.

  • 크고 복잡한 reference (중앙) 프레임에 구멍이 있는 경우, 네트워크는 source feature maps을 reference에 정렬하고 통합하여 구멍을 채울 수 있다.

  • 심지어, 명확한 flow 감독 없이도 flow sub-network는 visible 영역의 eature points를 warp(왜곡)하고 마스킹된 영역의 유용하지 않은 zero features을 shrink(축소) 할 수 있다.

  • 또한 이러한 잠재적인 힌트는 고정된 방식으로 복사하여 붙여 넣는 것이 아니라 시공간적 의미에 따라 조정된다.

  • 그림 3- (b)는 햄스터의 눈이 반쯤 닫힌 상태로 합성된 예

4.2. Improvement on Temporal Consistency

  • recurrent feedback과 convLSTM을 추가하기 전과 후에 비디오 결과의 시간적 일관성(temporal consistencies)을 비교한다.

  • 방법의 효과를 검증하기 위해 위에서 언급 한 두 가지 대표적인 기준선(baselines)과 비교한다. [11, 33].

  • Sintel 데이터 세트 [4]는 실측 optical flows을 제공하므로, 이를 사용하여 flow warping errors [14]를 정량적(quantitatively)으로 측정한다.

  • DAVIS 데이터 셋 [21, 22]의 object masks를 inpainting mask 시퀀스로 사용한다.

  • Sintel의 21 개 비디오에서 각각 32 프레임을 가져오고, 우리의 입력을 구성하고 다섯 번 시험한다.

  • 각 시험에 대해 DAVIS에서 길이가 32+ 인 21 개의 비디오를 무작위로 선택하여 해당 마스크 시퀀스를 만들고 모든 방법에 대해 변경되지 않은 상태로 유지한다.

  • 아래 Table.1에서 비디오 및 시도에 대한 평균 flow warping errors가 나와있다.

  • 이는 이 논문의 전체 모델이 다른 기준(baselines) 보다 큰 margins을 가지고 있다는 것을 보여준다.

  • Yu et al. 의 방법은 시간적으로 가장 일관성이 없다.

  • recurrent feedback과 convLSTM layer를 추가한 후, 전체 모델의 오류가 10배 감소하여 시간적 안정성이 크게 향상되었다.

4.3. Spatio-Temporal Video Quality

  • Wang et al. [26]에서는 비디오 생성의 품질을 정량적으로 평가하기 위해 시작 점수 (FID)의 비디오 버전을 제안했다.

  • 이 논문에서는 지각(perceptual) 수준에서 시공간 품질(spatio-temporal quality)을 측정하기 때문에 비디오 inpainting의 품질을 평가하기 위해 이 메트릭을 사용한다.

  • [26]에서와 같이 비디오 인식 작업에 대해 사전 훈련된 I3D 네트워크 [5]를 사용하여 출력 비디오에서 추출된 시공간적 특징과 실측 비디오 사이의 거리를 측정하는 프로토콜을 따른다.

  • 이 실험을 위해 DAVIS 데이터 세트에서 20 개의 비디오를 다룬다.

  • mask 시퀀스를 만들기 위해, 다른 19 개의 비디오 중에서 다른 비디오를 선택하여 알고리즘이 부분을 제거하는 대신 원본 비디오를 복구하도록 되어있는 setting을 갖도록 한다.

  • 입력 및 mask 비디오 모두에 처음 64 개 프레임을 사용한다.

  • 아래 Table 2에서 결과가 요약되어 있다. 다른 방법들에 비해 가장 작은 FID를 가진다.

  • 이것은 이 논문에서의 방법이 더 나은 시각적 품질과 시간적 일관성(visual quality and temporal consistency)을 가진다고 볼 수 있다.

4.4. User Study on Video Object Removal

  • 비디오에서 동적으로 움직이는 물체를 제거하기 위해서, DAVIS 데이터 세트 [21, 22]에서 24 개의 비디오를 사용하며 그 이름은 그림 6에 나와 있다.

  • 결과의 예는 위 그림 4에 나와 있는데, 이 논문에서 inpaint 된 비디오의 시각적 품질을 평가하기 위해 사람의 주관적인 테스트를 수행한다.

  • 비디오 완성 작업에 도움을 준 optimization baseline [11]과 이 논문에서는 방법을 비교한다.

  • 각 테스트 사례에서, original input video, our removal result, result of Huang et al. 를 같은 화면에서 보여준다.

  • 제거한 두 동영상 결과 순서는 섞는다.

  • 사용자가 차이를 구분하고 신중하게 판단할 수 있는 충분한 시간을 확보하기 위해 모든 비디오 결과를 원래 속도로 한 번 재생 한 다음 0.5 배 속도로 한 번 재생한다.

  • 또한 사용자는 비디오를 여러 번 볼 수 있고, 각 참가자는 선호하는 결과 또는 동점을 선택해야 한다. (30명 참여)

  • 결과는 그림 6에 요약되어 있다. (이 논문에서의 방법을 많이 선호한다.)

4.5. Application to Video Retargeting

  • video retargeting에는 removing과 adding 작업이 있다.

  • 먼저, 배경을 inpainting 하여 눈에 띄는 내용을 제거하고, inpaint 된 프레임을 target aspect ratio로 resize 하고, 원하는 크기로 조정한 후 눈에 띄는 내용을 씌운다(overlay).

  • settings를 단순화하기 위해, 움직이는 물체의 원래 aspect ratio를 유지하면서 프레임을 horizontally 또는 vertically으로 축소(shrink)하는 것을 목표로 한다.

  • 예를 들어, 돌출(saliency) masks는 feed-forward CNN [7]에 의해 자동으로 추정될 수 있지만, 돌출 마스크가 모든 프레임에 대한 object segmentation masks로 제공되는 더 제한된 시나리오를 가정한다.

  • 이 논문에서의 방법은 시간이 지남에 따라 왜곡(warble) 및 jittering이 거의 발생하지 않으며 자연스러운 비디오 시퀀스를 생성한다.

  • 아래 그림 5는 대상이 변경된 프레임의 예를 보여준다.

     

4.6. Limitation

  • 비디오에 크고 긴 가림이 있을 때 color saturation artifacts가 발견된다.

  • 합성된 색상의 불일치 오류는 시간이 지남에 따라 휘어진 모양이 나온다.

  • 시간 반경에서 드러나지 않은 영역은 흐릿하게 합성된다.

  • 제한된 메모리 공간으로 인해 256 × 256px 프레임으로 만 실험했다.

     

5. Conclusion


  • multi-to-single encoder-decoder network기반으로 모델은 feature map을 이웃 프레임에서 inpaint 비디오에 통합하고 정렬하는 법을 제안함.

  • 반복적인 피드백(recurrent feedback)과 temporal memory를 통해 일시적으로 일관적인 출력을 하도록 함.

 

[요약정리]

주제 : Video Inpainting

  • 새로운 deep network architecture 제안

  • 이웃 프레임에서 정보를 수집, 정제하도록 설계된 3D-2D encoder-decoder 모델을 기반으로 구축된 프레임워크

  • 출력은 recurrent feedback과 temporal memory module에 의해 일시적으로 일관성을 유지하도록 함.

  • 실시간 실행 가능

  • 256x256 프레임에 대해 GPU에서 12.5 fps로 실행

  • 한계

    • 256 × 256px 프레임으로만 실험

    • 시간이 지남에 따라 합성된 곳이 휘어지는 현상 있음

    • 시간 반경에 드러나지 않는 영역은 흐릿하게 합성됨.

728x90
반응형
LIST
Comments