일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 산술연산
- 16진수
- 반복실행구조
- 기초100제
- Docker
- 진수
- input()
- 비트단위논리연산
- OpenCV
- 선택실행구조
- face recognition
- 2진수
- 기초 100제
- 논리연산
- 출력
- 불 자료형
- 입출력
- 불 연산
- 10진수
- 코드업
- 종합
- 문자열
- 8진수
- bitwise
- 파이썬
- 2차원배열
- codeup
- 딥러닝
- 비교연산
- 아스키코드
- Today
- Total
DeepFlowest
[Video Inpainting] Deep Video Inpainting 본문
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]
-
video inpainting을 sequential multi-to single frame작업으로 캐스팅하고, 새로운 deep 3D-2D encoder-decoder network를 제시한다.
-
이웃 프레임에서 형상을 효과적으로 취합하고 이를 바탕으로 누락된 콘텐츠를 합성하는 방식
-
-
시간적 안정성을 위해 recurrent feedback와 memory layer를 사용한다.
-
다음 두 가지 loss방식으로 시간적 안정성(temporal consistency)을 강화한다.
-
flow loss, warping loss
-
-
일반적인 비디오 인 페인팅 작업을 위해 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 프레임으로만 실험
-
시간이 지남에 따라 합성된 곳이 휘어지는 현상 있음
-
시간 반경에 드러나지 않는 영역은 흐릿하게 합성됨.
-
'논문 정리 및 리뷰' 카테고리의 다른 글
[Video Inpainting] DVI: Depth Guided Video Inpainting for Autonomous Driving (1) | 2020.10.12 |
---|---|
[Video Inpainting] Deep Flow-Guided Video Inpainting (0) | 2020.10.07 |