본문 바로가기
논문 리뷰/Super-Resolution

[OVSR] Omniscient Video Super-Resolution

by 귤이두번 2022. 4. 12.

논문 요약

 

1. Paper Bibliography

논문 제목

- Omniscient video super-resolution

 

저자

- Yi, Peng, et al.

 

출판 정보 / 학술대회 발표 정보

- Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021.

 

년도

- 2021

 


 

2. Problems & Motivations

논문에서 언급된 현 VSR 연구들에서의 문제점 정리 + 관련 연구

 

여러가지 VSR 방법들이 나와있으나 하나의 지배적인 구조가 없다

SOTA: 방법에 따라 분류, performance, speed 비교

 

비디오는 연속적인 프레임들을 사용하는데 그 다양한 방법은 다양하다

- Fig 2(a) iterative method: sliding window. 여러 sub-process로 구성되었다고 할 수 있다. 이는 동시에 처리할 수 있어서 병렬처리의 이점이 있다. 그러나 더 많은 프레임 정보를 가져오기 위해서는 window size를 늘려야 하고 이전에 estimate한 결과물을 사용할 수 없다는 단점이 있다 [1, 22, 25, 30, 12, 24, 29, 23, 11] 

- Fig 2(b) recurrent method: 비디오 프레임을 순차적으로 처리한다. Future frame을 이용할 수 없다(???), 컴퓨팅 비용이 높다 [19, 10] 

- Fig 2(c) hybrid method: 위 두 방법을 합침. hidden state를 받을 수 있으나 큰 성능 개선이 없음. 여전히 과거, 미래 hidden state에서 정보를 얻기 힘들다 [5, 27] 

 

 

[1] Jose Caballero, Christian Ledig, Andrew Peter Aitken, Alejandro Acosta, Johannes Totz, Zehan Wang, and Wenzhe Shi. Real-time video super-resolution with spatio-temporal networks and motion compensation. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 2848– 2857, 2017.

[5] Dario Fuoli, Shuhang Gu, and Radu Timofte. Efficient video super-resolution through recurrent latent space propagation. In IEEE International Conference on Computer Vision Workshop (ICCVW), pages 3476–3485, 2019.

[10] Takashi Isobe, Xu Jia, Shuhang Gu, Songjiang Li, Shengjin Wang, and Qi Tian. Video super-resolution with recurrent structure-detail network. In European Conference on Computer Vision (ECCV), pages 645–660, 2020.

[11] Takashi Isobe, Songjiang Li, Xu Jia, Shanxin Yuan, Gregory Slabaugh, Chunjing Xu, Ya-Li Li, Shengjin Wang, and Qi Tian. Video super-resolution with temporal group attention. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 8008–8017, June 2020

[12] Younghyun Jo, Seoung Wug Oh, Jaeyeon Kang, and Seon Joo Kim. Deep video super-resolution network using dynamic upsampling filters without explicit motion compensation. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 3224–3232, 2018.

[19] Mehdi S. M Sajjadi, Raviteja Vemulapalli, and Matthew Brown. Frame-recurrent video super-resolution. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 6626–6634, 2018.

[22] Xin Tao, Hongyun Gao, Renjie Liao, Jue Wang, and Jiaya Jia. Detail-revealing deep video super-resolution. In IEEE International Conference on Computer Vision (ICCV), pages 4482–4490, 2017.

[23] Yapeng Tian, Yulun Zhang, Yun Fu, and Chenliang Xu. Tdan: Temporally-deformable alignment network for video super-resolution. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 3360–3369, June 2020.

[24] Xintao Wang, Kelvin C.K. Chan, Ke Yu, Chao Dong, and Chen Change Loy. Edvr: Video restoration with enhanced deformable convolutional networks. In IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), pages 1954–1963, June 2019

[25] Zhongyuan Wang, Peng Yi, Kui Jiang, Junjun Jiang, Zhen Han, Tao Lu, and Jiayi Ma. Multi-memory convolutional neural network for video super-resolution. IEEE Transactions on Image Processing, 28(5):2530–2544, 2019.

[27] Bo Yan, Chuming Lin, and Weimin Tan. Frame and featurecontext video super-resolution. In AAAI Conference on Artificial Intelligence, pages 5597–5604, 2019.

[29] Peng Yi, Zhongyuan Wang, Kui Jiang, Junjun Jiang, and Jiayi Ma. Progressive fusion video super-resolution network via exploiting non-local spatio-temporal correlations. In IEEE International Conference on Computer Vision (ICCV), pages 3106–3115, 2019

[30] Peng Yi, Zhongyuan Wang, Kui Jiang, Zhenfeng Shao, and Jiayi Ma. Multi-temporal ultra dense memory network for video super-resolution. IEEE Transactions on Circuits and Systems for Video Technology, 30(8):2503–2516, 2020.

 

 

 


 

3. Proposed Solutions

논문에서 제안하는 해결책들 정리

 

- 이론적으로 neighboring LR frames는 LR space에서 basic spatial-temporal information을 주고, estimated SR output은 HR space와 관련한 temporally correlated information을 줄 수 있다 -> 둘 합쳐서 정보를 얻어야함

 

 Omniscient Video Super-Resolution

- 현재와 미래에서 추정한 SR output을 추가로 도입하면 어떨까?: 이는 한번으로는 불가능

- two sub-networks: precursor network Net_p, successor network Net_s

1) 먼저 Net_p가 LR frames를 통해 SR frames와 hidden states를 모든 time steps에 대해 만든다

2) 그 다음 Net_s가 LR frames와 estimated hidden states를 이용해 SR frames를 만든다

3) 마지막으로 그 둘을 더해 final SR output을 만든다

 

- 방향에 따라 Local omniscient VSR (LOVSR)과 Global omniscient VSR(GOVSR)로 나눌 수 있다

- Local은 방향이 하나인 uni, Global은 양쪽인 bi

- Local은 future frame이 얼마 없는 Online 실시간 상황에 사용할 수 있다

 

Network Design

- Omniscient framework에서 정확히 정해진 generator network는 없지만 논문에서는 progressive fusion residual block(PFRB)를 사용하여 구성하였다

- 3가지 채널로 구성, 각각 past, present, future 정보를 포함한다

1) 하나의 conv layer를 사용해 LR frame과 hidden state를 합쳐 feature를 얻는다. (3개의 채널이므로 3 features)

2) residual blocks에서 각각, 합쳐져서 (2가지 방법 모두) features를 추출한다. 이렇게 하면 inter, intra 정보 둘다 얻을 수 있다

3) 마지막으로 3개의 채널에서 추출한 features들을 concat한 후 3x3 conv layer를 통해 updated hidden state를 얻는다

4) updated hidden state를 upscale해서 precursor net에서 나온 결과를 더해 최종 결과를 만든다 

 

Precursor network

Successor network

Final Output

- Net_s는 Net_p를 상속하기에, Net_p가 low-frequency학습을 중점으로 하고 Net_s가 high-frequency 디테일을 중심적으로 얻게 한다

    def forward(self, x, start=0):
        B, C, T, H, W = x.shape
        start = max(0, start)
        end = T - start

        sr_all = []
        pre_sr_all = []
        pre_ht_all = []
        ht_past = torch.zeros((B, self.bf, H, W), dtype=torch.float, device=x.device)

        # precursor
        for idx in range(T):
            t = idx if self.kind == 'local' else T - idx - 1
            insert_idx = T + 1 if self.kind == 'local' else 0

            it = generate_it(x, t, self.nf, T)
            it_sr_pre, ht_past = self.precursor(it, ht_past, None, None)
            pre_ht_all.insert(insert_idx, ht_past)
            pre_sr_all.insert(insert_idx, it_sr_pre)

        # successor
        ht_past = torch.zeros((B, self.bf, H, W), dtype=torch.float, device=x.device)
        for t in range(end):
            it = generate_it(x, t, self.nf, T)
            ht_future = pre_ht_all[t] if t == T - 1 else pre_ht_all[t + 1]
            it_sr, ht_past = self.successor(it, ht_past, pre_ht_all[t], ht_future)
            sr_all.append(it_sr + pre_sr_all[t])

        sr_all = torch.stack(sr_all, 2)[:, :, start:]
        pre_sr_all = torch.stack(pre_sr_all, 2)[:, :, start:end]

        return sr_all, pre_sr_all

 

- Carbonnier Loss 사용. α는 precursor network의 weight 조정, ε는 0.001

 

 


 

4. 입력의 형태

- Input patch size 64x64

- ablation study에서는 7frames만 사용

- 최종 모델에서는 추가 프레임 처음과 끝에 2개씩 추가

 


 

5. 시간적 정보 모델링 프레임워크

기본 프레임워크 (2D CNN, 3D CNN, RNN, etc)

- RNN

 

구조에 기여한 바가 있다면?

- Future hidden state를 사용할 수 있게함

 


 

6. 프레임 정렬 방식 

Implicit (암시적) or Explicit (명시적)

- implicit

 

추가 설명

- 


 

7. 업샘플링 방식 

- pixel shuffle

 


 

8. 그 외

모델 파라미터 개수

- OVSR-4+2-56: 1.897 (M)

- OVSR-8+4-56: 3.480 (M)

- OVSR-8+4-80: 7.062 (M)

 

학습 데이터

MM522

- 522 32-frame sequences

Vimeo-90K

- public dataset

 

테스트 데이터

Vid4, UJDM10

- for MM522

Vimeo-90K-T

- Vimeo test dataset

 

 


논문 분석

 

1. 앞서 정리한 논문들에 대한 비평들 중 해당 논문에서 해결된 바가 있다면 정리

- 이전에 BasicVSR은 bidirectional한 방법을 사용하고 flow를 feature에 warp했었다. OVSR은 implicit하게 해결

 

2. 해당 논문에 대한 비평(Critique)

1) 

2) 

3) 

 

 


Google Scholar Link

https://scholar.google.co.kr/scholar?hl=ko&as_sdt=0%2C5&q=Omniscient+video+super+resolution&oq=Omniscient+Video+Super-Resolution 

 

Google 학술 검색

L Jiang, N Wang, Q Dang, R Liu, B Lai - arXiv preprint arXiv:2112.02828, 2021 - arxiv.org … Basicvsr: The search for essential components in video super-resolution … Basicvsr++: Improving video superresolution with enhanced … On bayesian adaptive vi

scholar.google.co.kr

 

GitHub

https://github.com/psychopa4/OVSR

 

GitHub - psychopa4/OVSR: Omniscient Video Super-Resolution

Omniscient Video Super-Resolution. Contribute to psychopa4/OVSR development by creating an account on GitHub.

github.com

 

댓글