[논문 리뷰] BasicVSR

김소영·2025년 7월 21일

paper-review

목록 보기
5/7

2. Related Work

  • VSR의 접근은 주로 “sliding window”와 “recurrent(순환)” 로 나뉨
  1. Sliding Window
    • Earlier study
      • LR 프레임 사이의 시각적 흐름 예측 (optical flow between LR frames)
      • 정렬 위한 공간 왜곡 수행 (spatial warping for alignment)
    • Later study : sophisticated approach of “implicit alignment”
      • TDAN : DCN(변형 가능 convolution)을 사용해, feature level에서 frame alignment
      • EDVR : DCN을 multi-scale 방식으로 사용
      • DUF : dynamic upsampling filters를 사용해 동적을 implicit하게 처리
  2. Recurrent
    • RSDN
      • recurrent detail-structural block & hidden state adaptation module 사용
      • appearnce 변화 & 오류 누적에 대한 robustness 높임
      • 프레임 간 물체의 모양 및 밝기 변화 / 긴 시퀀스에서의 오차 전파 문제를 줄임
    • RRN
      • layer 사이에 residual mapping & identity skip connections 사용
      • 정보 흐름을 원할하게 유지 & 오랜 시간동안 texture 정보 보존
      • 이전 프레임의 texture 정보를 잃지 않고, 안정적으로 전달

⇒ “양방향 전파 (bidirectional propagation)” & “단순한 optical flow 기반 feature alignment” 만으로 SOTA 성능 넘어설 수 있음



3. Methodology

  • 이전 연구들은 ‘공간적 차원’ 혹은 ‘시간적 차원’, 둘 중 하나에만 집중했지만,
    해당 연구는 두 차원 모두 고려
  • 기존에 존재하는 연구들의 강점들을 지닌 ‘generic baseline’ 정하기

3.1 BasicVSR

  • 일반적으로 사용되는 요소들만 사용해서 설계
  • 복잡한 모듈 사용 X

Propagation

  • “TEMPORAL”
  • 비디오 시퀀스 내 정보 활용
  • 과거/미래 프레임의 정보를 현재 프레임 복원에 어떻게 전달할 지
  1. Local Propagation
    • sliding-window method
      • 여기서 window는 프레임 내부에서 작은 패치를 도는 것이 아닌,
        여러 프레임을 하나의 세트로 사용하는 것
    • 접근 가능한 정보는 근처 정보(local information/local neighborhood)에만 한정됨
    • 문제 : 멀리 있는 프레임의 누락으로 인해, 성능이 안 좋아질 수 있음
    • 실험 : 시퀀스(시간)를 k개의 구간으로 나누고, BasicVSR을 사용해 각 구간을 독립적으로 복원
    • 실험을 통한 결론
      1. 구간의 개수(k)가 감소할수록(=구간의 크기가 더 커짐), PSNR의 차이 감소(=성능 향상)
        • 멀리 있는 프레임의 정보가 복원에 도움이 되고, 무시하면 안됨
      2. 구간의 경계에 속하는 프레임은 PSNR의 차이가 가장 큼
        • 장기 정보를 축적하기 위해서는 긴 시퀀스를 사용하는 것이 필수적임

  2. Undirectional Propagation
    • 첫 프레임→마지막 프레임으로 순차적으로 전파되는 정보 활용
    • 문제 : 프레임마다 받는 정보량이 불균형함
      • 첫 프레임은 자기 자신을 제외한 아무런 정보를 받지 못하는 반면,
      • 마지막 프레임은 모든 시퀀스로부터 정보를 받음
      • 초기의 프레임은 최적의 결과를 내지 못함
    • 실험 : Undirectional vs Bidirectional
      • Undirectional
        • 초기에 bidirectional에 비해 매우 낮은 PSNR
        • 프레임 수가 증가하고 축적되는 정보 또한 증가하면서, bidirectional과의 차이 감소
        • 하지만 평균적으로 0.5dB 낮은 성능이 지속됨
    • 실험을 통한 결론
      • Undirectional Propagation이 최적의 방법이 아님을 보여줌
      • 역방향으로도 전파하면서, 성능을 향상시키는 방법 고려 가능

  3. Bidirectional Propagation
    • 앞선 두가지 문제 (①장기 정보 부족, ②정보불균형)를 해결하기 위해 등장
    • feature는 forward, backward 방향으로 독립적으로 전파
    • LR 이미지 xix_i가 주어지면, 인접한 프레임 ( xi1,xi+1x_{i-1}, x_{i+1} ) & 해당 feature ( hi1f,hi+1bh^f_{i-1}, h^b_{i+1} ) 활용
      • 현재 프레임의 backward feature의 input
        ① 현재 프레임
        ② 다음 프레임
        ③ 다음 프레임에서 전파된 backward feature
      • 현재 프레임의 forward feature의 input
        ① 현재 프레임
        ② 이전 프레임
        ③ 이전 프레임에서 전파된 forward feature

Alignment

  • “SPATIAL”
  • 강하게 연관되었지만, 잘못 정렬된 이미지나 특징을 보정
  1. Without Alignment
    • 문제 : 정렬되지 않은 이미지/특징은 aggregation을 방해하고, 결국 성능 저하로 이어짐
    • 실험 : BasicVSR에서 spatial alignment module을 제외하기
      • 복원을 위해 non-aligned feature를 바로 concat
      • 적절하게 정렬되지 않았으니, 전파된 feature가 입력 이미지와 공간적으로 정렬되지 않음
      • 그러면, local operation(작은 receptive field)은 비효율적 → 1.19dB 낮은 성능(PSNR)
    • 실험을 통한 결론
      • alignment 없이 하려면, 멀리 떨어진 정보까지 집계하는 큰 receptive field 사용이 필요

  2. Image Alignment
    • 방법 : optical flow 계산 → warping → restoration
    • 문제 : optical flow 계산 오차 → 흐릿&잘못된 정렬 → 디테일 손실 → 성능 저하
    • 실험 : Image Alignment vs Feature Alignment
      • Image Alignment를 사용하면, 위 문제로 0.17dB 낮은 성능(PSNR)
    • 실험을 통한 결론
      • Feature level로 spatial alignment해야 할 필요성

  3. Feature Alignment
    • BasicVSR은 spatial alignment를 위해 optical flow 사용
    • 이미지가 아닌 “feature에서 warping”
      (이미지는 픽셀 기반, feature는 인코딩된 feature map 기반)
    • aligned feature는 residual block을 통과하면서 개선됨
      (aligned feature — residual block → refinement)
    • Feature Alignment
      • si{b,f}s_i^{{\{b,f\}}}(optical flow) 의 input
        ① 현재 프레임
        ② 인접 프레임

      • hˉi{b,f}\bar{h}_i^{\{b,f\}}(warp로 aligned feature) 의 input
        ① 인접 프레임에서 전파된 feature
        ② optical flow

      • hi{b,f}h_i^{\{b,f\}} (residual block으로 refined feature) 의 input
        ① 현재 프레임
        ② 정렬된 feature

      • F{b,f}F_{\{b,f\}} : 현재 프레임의 feature map

      • R{b,f}R_{\{b,f\}} : residual block의 stack

      • WW : spatial warping module

      • SS : flow estimation module


Aggregation and Upsampling

  • BasicVSR은 aggregation과 upsampling을 위해, ‘기본적인 구성요소’ 사용
  • Upsampling Module (HR이미지 생성)은 multiple convolution & pixel shuffle로 구성됨
    • Pixel Shuffle

Summary of BasicVSR

  1. Propagation : Bidirectional Propagation
  2. Alignment : Flow-based Feature level Alignment
  3. Aggregation : Feature Concatenation
  4. Upsampling : Pixel Shuffle
  • 장점
    • 간단한 방법임에도, 복원 품질과 효율성에서 좋은 성능
    • 높은 유연성 : 추가적인 구성요소 수용 가능

3.2. From BasicVSR to IconVSR

  • BasicVSR(backbone) + ① Information Refill + ② Coupled Propagation ⇒ “IconVSR”
  • 목적
    1. 오류 누적 방지
    2. 정보 aggregation 개선

Information Refill

  • 문제 : 가려진 부분/이미지 경계로 인한 부정확한 alignment → 오류 축적
  • 해결 방안 : feature refinement를 위한 Information-Refill 제안
    • feature extractor” 추가
      • 입력 프레임의 subset으로부터 deep features 추출하는 데에 사용
      • convolution을 사용해, extracted feature를 aligned feature(hˉi\bar{h}_i)에 붙이기
      • eie_i (Extracted Feature)
        • E : Feature Extractor
        • 현재 프레임과 인접 프레임으로부터 feature 추출
      • hi^{b,f}\hat{h_i}^{\{b,f\}}(Refined Feature)
        • C : Convolution
        • IkeyI_{key} : 선택된 frame들의 set
  • 정리해보자면,
    - Non-Keyframe : only propagation
    - propagation을 사용해 optical flow 계산 후, 이 값을 사용해 warp한 feature만 사용
    - Keyframe : Propagation + Deep Feature Refill
    - E를 사용해 인접 프레임으로부터 deep feature 추출한 후,
    C를 사용해 convolution (”warped feature” + “extracted feature from neighbor frames”)
    - 효과
    - propagation만 사용하면, alignment 오차가 누적되어서, frame의 품질 저하 가능
    - 하지만 중간중간(keyframe) 인접프레임으로부터 information refill을 해주면서,
    이 오차를 보정할 수 있음 !


Coupled Propagataion

  • 문제 : 두 방향의 propagation(forward, backward)이 독립적으로 처리
             → 각 propagation은 partial information만 활용 (forward는 이전만, backward는 이후만)
  • 해결방안 : sequence에 있는 정보 모두 활용할 수 있는 coupled propagation 제안
    • 두 개의 propagation module을 interconnect
    • backward propagation의 feature를 forward propagation module의 입력으로 사용
    • forward propagation은 과거와 미래 프레임 모두의 정보를 사용해,
      더 좋은 품질의 feature & output
    • 위 첨부된 그림처럼, branch connection의 변화만으로 더 좋은 성능을 낼 수 있음


4. Experiments

Datasets and Settings

  • Train Dataset : REDS, Vimeo-90k
  • Validation Dataset : REDSval4
  • Test Dataset : Vid4, UDM10, Vimeo-90K-T
  • Degradation for 4x downsampling : BI(Bicubic), BD(Blur Downsampling)
  • Flow Estimation Module : SPyNet
  • Feature Extractor : EDVR-M

4.1. Comparisons with State-of-the-Art Methods

BasicVSR

  • EDS4, UDM10, Vid4을 포함한 다양한 데이터셋에서 기존 SOTA에 비해 뛰어난 성능
  • RSDN에 비해, UDM10 데이터셋에서 0.61dB 능가
  • EDVR(복잡한 모델)에 비해. REDS4 데이터셋에서 0.33dB 능가 & Vimeo90K-T와 Vid4에서는 견줄 정도의 결과
  • Vimeo-90K-T 데이터셋에서는 sliding window 방식을 사용하는 모델(e.g. EDVR, TGA)에 비해 약간 낮은 성능을 보임
    • Vimeo-90K-T 데이터셋은 7개의 프레임만 가진 sequence 포함
    • 하지만 BasicVSR은 장기 정보의 aggregation에서 성공했기 때문에, 이러한 결과가 예상됨

IconVSR

  • BasicVSR에 비해, 조금 더 긴 런타임으로 0.31dB를 능가하는 성능
    • 성능 향상은 Vimeo-90KT 및 REDS4에서 특히 두드러짐
    • 제안된 Coupled Propaation과 Information Refill은 ‘장기 정보가 부족한 비디오’(Vimeo-90K-T)와 ‘크고 복잡한 동작이 포함된 비디오’(REDS4)에서 유용

BasicVSR & IconVSR

  • 대부분의 SOTA보다 빠르면서도 뛰어난 성능을 보임


5. Ablation Studies

5.1. From BasicVSR to IconVSR

Information Refill

  • Information Refill을 적용하지 않았을 때
    • warped feature의 경계 픽셀에는 대응되는 픽셀이 존재하지 않아, 기본적으로 0
    • 정보 손실 → feature 품질 악화→ degraded output
  • Information Refill을 적용했을 때
    • feature가 제대로 정렬되지 않은 지역에서 손실된 정보를 리필하는 데 추가 feature 사용 가능
    • 해당 정보를 다음 feature refinement와 propagation에 사용 가능
  • Information Refill 효과는 fine detail이 있는 지역에서 두드러짐
    - alignmnet error로 인해, 인접 프레임 정보를 효과적으로 aggregate 불가
    - information refill을 통해 얻은 추가 feature는 디테일의 복원에 도움을 줌

Coupled Propagation

  • BasicVSR
    • occlusion 문제 발생 : 과거 프레임에서 가려진 영역은 forward propagation만으로 정보 부족
  • IconVSR
    - occlusion 문제 해결 : 미래 프레임에서 가려진 영역이 보일 수 있음. backward 정보가 forward에도 잘 전달되어 복원이 가능해짐
    - 세부 정보 활용 가능 : 모든 프레임에 존재하는 영역은 많은 snapshot을 통해 많고 세부적인 디테일 확보 가능

5.2. Tradeoff in IconVSR

  • IconVSR은 고정된 키프레임 간격으로 학습되지만, 더 빠른 추론을 위해 keyframes 수를 줄일 수 있음

  • 실험 : keyframe의 개수를 바꿔가며 PSNR과의 관계 살펴보기

    • PSNR은 keyframe의 수와 긍정적인 상관관계를 가짐 → Information-Refill이 효과적임을 입증
    • keyframe이 전혀 없는 경우, IconVSR은 단순 recurrent network가 되어버림
      그럼에도, REDSval4에서 BasicVSR보다 0.21 dB 높은 성능을 보여줌.
    • 이는 추가적인 계산 오버헤드 없이 사용할 수 있는 coupled propagation의 효과 입증

0개의 댓글