이번 포스팅에서는 2019년 ICCV에서 발표된 wavelet style transfer 이용한 super-resolution 논문을 리뷰해 보려 한다.

 

0 Abstract 부터 2 Related work는 배경설명 및 다른 네트워크들간의 비교이며 본 논문의 모델은 3 proposed method에서 소개한다. 

 

 

 

<간단 요약>

 

1. EDSR, CX를 이용하여 성질이 다른 두 이미지를 얻는다. 

2. 두 이미지를 stationary wavelet transform(SWT)을 통해 low frequency sub domain과 high frequency sub domain을 구분한다. 

3. high frequency sub domain를 pixel domain이 아닌 wavelet domain에서 style transfer를 함으로써 high frequency perceptuality를 개선하였다. 

4. EDSR의 low frequency sub domain을 압축된 VDSR에 통과시켜 objective quality를 높였다. 

5. content loss와 style loss 모두를 고려하는 새로운 loss function을 제안했다. 

6. 그 결과 high frequency detail이 살아났으며 선명한 텍스쳐와 구조를 얻을 수 있었다. 즉, PSNR과 NRQM(perceptuality)를 모두 높일 수 있었다. 

 

 

 

0 Abstract

 

super-resolution은 LR(low-resolution, 저해상도) 이미지로부터 HR(high-resolution, 고해상도) 이미지를 복원하는 것을 말한다. 최근 super-resolution 부문의 이슈는 low distortion과 high perceptual quality가 trade-off 관계라 두 관점을 모두 만족시키기 어렵다는 것이다. 

 

지난번에 언급한 SRCNN, VDSR, EDSR 등의 논문들은 모두 LR이 HR에 최대한 가까워 지도록 학습해 distortion은 적지만(PSNR은 높지만) 엣지가 선명하지 않고 디테일이 사라지며 질감이 무너지는 것과 같이 사람의 눈으로 보았을 때 만족스럽지 않은(low perceptual quality) 결과를 얻었다. 

 

이런 low perceptual quality 문제점을 최근 GAN 을 기반으로 한 모델이 photo realistic한 이미지를 만들어 내며 잘 보완해 주고 있다. 그러나 이 논문에서는 wavelet domain style transfer(WDST)를 이용하여 GAN을 기반으로 한 모델보다 perception-distortion(PD) trade-off 를 더 잘 보완할 수 있었다고 한다.

 

2D stationary wavelet transform(SWT)를 이용하여 이미지의 low-frequency 부분과 high frequency 부분을 나눠 각각에 대해 독립적으로 개선시킨 후 합친다는 것이 이 논문의 취지이다. low-frequency sub-bands를 이용하여 objective quality를 개선하고(low distortion), high-frequency sub-bands를 이용하여 perceptual quality를 개선할 수 있다. 

 

 

 

1 Introduction  &  2 Related work

 

앞서 말했듯이 기존의 연구는 mean square error(MSE)를 낮춰 objective image quality를 높이는 데 집중한 연구와 adversarial training을 통해 perceptual loss를 낮춰 perceptual image quality를 높이는 데 집중한 연구로 나뉜다. 아래의 그림1을 보면 PSNR을 높이는 데 집중한 파란색 네트워크들과 perceptuality(NRQM metric)를 높인 초록색 네트워크들이 명확히 구분된다.

 

objective quality를 높인 그림1의 파란색 네트워크들은 대부분 MSE를 minimize하여 reconstructed image와 ground truth image 사이의 간극을 좁힌다. 이는 high frequency detail들이 사라져 엣지가 blur된다는 문제점을 야기한다. 

 

perceptual quality를 높인 그림1의 초록색 네트워크들은 VGG loss와 adversarial loss의 weighted sum으로 구성된 perceptual loss를 낮추도록 학습한다. VGG loss는 reconstructed image와 ground truth image 간의 perceptual similarity를 높이는 데 효과적이며, adversarial loss는 reconstructed image를 realistic하게 만든다.

 

그림1. PSNR과 NRQM의 trade-off 관계 속 PSNR에 집중한 네트워크(파랑)와 perceptuality에 집중한 네트워크(초록)와 절충점을 찾는 네트워크(주황)

 

위 trade-off 관계를 보완하기 위하여 adversarial loss와 MSE를 활용하는 SRGAN-MSE, ENet 등의 그림1의 주황색 모델이 도입되었으나 unstable하다는 지적이 있었다.  SRGAN-MSE는 MSE loss와 adversarial loss를 합쳐 사용하는데, adversarial loss는 결과 이미지의 high frequency detail들을 살려냈지만, 그것이 정확한 위치에 있지 않아서(ground truth image와는 사뭇 다른 이미지여서) MSE distortion은 증가되는 문제점이 있었다. 이런 instability 문제점을 보완하기 위해 texture matching loss를 도입하였지만 여전히 blocking과 noisy artifact가 생겼다. 

 

원치 않는 artifact들이 생기는 문제점을 보완하기 위하여 ESRGAN이 등장하였다. PIRM challenge에서 우승한 ESRGAN은 MSE를 낮추는 프로세스와 perceptual quality를 높이는 프로세스를 분리하기 시작한다. 두개의 독립적인 네트워크는 마지막에 interpolation하여 합쳐진다. 그러나 network interpolation은 두 네트워크가 완전히 똑같은 구조를 가지고 있어야 하기에, 분명히 다른 성질을 갖고있는 두 부분에 대해 각각의 성장 가능성을 저해한다는 단점이 있다. 

 

따라서 network interpolation이 아닌 분리된 네트워크에서 나온 image들의 fusion을 고안해 보았을 때, 네트워크 구조의 유연함을 증폭할 수 있다는 점이 큰 장점이다. 최근 Deng 이 style transfer를 이용한 두 이미지의 fusion을 제시하였다. 그러나 style transfer는 pixel domain상에서의 작업이므로 이미지의 structure와 texture를 동시에 보존한다는 것은 매우 까다롭다. 그림2를 보면 objective and perceptual quality 의 trade-off관계 속에서 optimize를 시도하였으나 여전히 발전이 필요해 보인다. 

 

그림2. 네트워크 결과 비교

 

본 논문에서는 pixel domain이 아닌 frequency domain에서 low-frequency와 high-frequency로 분리함으로써  Deng의 부족한 점을 보완할 수 있었다. 새로운 SISR(single image super-resolution) method를 선보이는 것은 아니나, 기존의 성질이 다른 두 네트워크를 사용하여 얻은 두 결과 이미지를 fusion함으로써 best tradeoff를 찾았다는 것에 의의가 있다.  

 

본 논문을 SRGAN-MSE 논문과 비교하였을 때 deep network를 train하지 않아 stability 걱정이 없으며, ESRGAN과 비교하였을 때 네트워크 구조가 훨씬 flexible하고, Deng과 비교하였을 때 wavelet domain에서의 style transfer를 구현하여 새로운 테크닉을 선보였다는 점에서 좋은 결과를 얻을 수 있었다.

 

 

 

3 Proposed method

 

Stationary wavelet transform

 

기존의 discrete wavelet transform(DWT)는 shift invariant하지 않기 때문에 convolution을 적용할 수 없다. 따라서 DWT에서 downsampling operation을 제거한 stationary wavelet transform(SWT)을 적용하였다. 2D SWT는 그림3의 수식과 같이 1D wavelet decomposition인 H0(low-pass filter)과 G0(high-pass filter)의 z transform으로 얻어진다. 

 

2D SWT 수식
그림3. 2D SWT of image X with H0 and G0 as the low-pass and high-pass filters, respectively

2D SWT는 이미지를 여러개의 sub-bands로 나누는데, 이는 1개의 low-frequency sub-bands(LL)와 여러개의 high-frequency sub-bands(LH, HL, HH)로 구성된다. 2 level decomposition을 진행한 후, input X는 7개(3*2high+1low)의 상태로 나뉘어 지며 LH, HL, HH는 각각 horizontal, vertical, diagonal detail을 나타낸다. level2는 level1의 LL로부터 생성된다. 

 

 

Motivation

 

여기서 중요한 insight는 LL을 나타내는 low-frequency sub-band가 이미지의 objective quality에, 나머지 LH, HL, HH와 같은 high-frequency sub-bands가 perceptual quality에 각각 지대한 영향을 미친다는 것이다. 이를 증명하기 위해 CX로부터 얻은 high perceptual quality를 가진 Ap 이미지와 EDSR로부터 얻은 high objective quality를 가진 Ao 이미지를 얻었다. Ap, Ao 이미지를 1 level decomposion하여 얻은 sub-bands를 관찰해 보자. 

 

그림4. histograms of different sub-bands of Ap, Ao, Ground Truth

 

그림4를 보면, Ao의 LL sub-band histogram이 Ap의 LL보다 ground truth LL과 더욱 유사함을 볼 수 있고, Ap의 LH, HL, HH sub-bands histogram이 Ao의 LH, HL, HH보다 ground-truth의 LH, HL, HH와 더욱 분산이 유사함을 볼 수 있다. 

 

다음으로 정량적인 분석을 해보자. 성능비교를 위해 objective quality에는 PSNR(peak signal-to-noise-ratio)를, perceptual quality에는 NRQM을 각각 평가지표로 사용하였다. (PSNR과 NRQM은 모두 높을수록 좋은 성능임을 나타낸다.)

 

Ao의 LL과 Ap의 LH, HL, HH를 합친 것을 Ap~, Ap의 LL과 Ao의 LH, HL, HH를 합친 것을 Ao~라고 할 때, Ap, Ap~, Ao, Ao~의 PSRN, NRQM을 출력해 보았다. 표를 보기 전, 앞서 말했던 맥락을 참고하였을 때, Ap~Ao의 LL을 받았으므로 Ap보다 더 좋은 objective quality를 갖고 있어야 한다. 따라서 PSNR이 높아지고 NRQM이 조금 낮아질 것을 예상할 수 있다. Ao~Ap의 LL을 받았으므로 Ao보다 더 좋은 perceptual quality를 갖고 있어야 하나, LL은 다른 sub-bands에 비해 perceptual 정보를 적게 갖고 있으므로 NRQM이  조금 높아지고(Ap에 못미치게) PSNR은 낮아질 것을 예상할 수 있다.   

 

Table1

 

 

 

여기까지 보았을 때, 우리는 LLo가 objective quality를 높일 sub band이며, 나머지 sub band가 LHp, HLp, HHp에 가까울수록 perceptual qualiity가 높아질 것을 알 수 있다. 

 

 

 

그림5. the framework of our method

 

Low-frequency sub-band enhancement (LSE)

 

이제 드디어 네트워크의 뼈대를 살표볼 차례이다. perceptuality를 높이는 네트워크(CX)에서 얻은 아웃풋(Ap)과 objectivity를 높이는 네트워크(EDSR)에서 얻은 아웃풋(Ao)을 각각 SWT(wavelet transform)하여 frequency domain으로 분리한다.

 

low frequency sub band인 LLo는 objective quality를 더욱 강화하기 위한 LSE 작업을 거친다. LSE는 VDSR의 구조를 차용한 작은 네트워크로, 6개의 convolution layer와 Relu를 지나 마지막에 input을 더해 output을 출력한다.  모든 layer의 filter 는 64개, filter size는 3x3이며 loss는 l2 norm을 이용한다. 

 

 

Wavelet domain Style transfer (WDST)

 

SWT 하여 얻은 LHo, HLo, HHo를 style transfer하여 LHp, HLp, HHp에 비슷하게 바꿈으로써 perceptual quality를 높이고자 한다. 따라서, LHp를 style input으로, LHo를 content input으로 하여 LHo의 content를 유지하며 LHp의 style을 갖는 아웃풋 LHr을 생성할 수 있도록 style transfer를 진행한다.

 

기존 style transfer와의 차이점은 wavelet coefficients를 input으로 넣는다는 것이다. wavelet transform한 결과는 음수도 있고 1보다 큰 숫자도 있기 때문에 VGG19 network에 input으로 넣기 전 0-1로 normalize해야한다.

 

 

수식1. style transfer loss

 

normalization 후 각각의 high-frequency sub-band pair에 대하여 새롭게 정의한 loss를 줄이는 방향으로 아웃풋을 만들어 낸다. loss function은 수식1에서 볼 수 있듯 content loss(Lc), style loss(Ls), l1 loss의 weighted sum으로 구성된다. l1 norm loss를 추가한 이유는 wavelet coefficients에 0 값이 많기 때문이다(그림4의 히스토그램 참고). 데이터가 sparse할 때(0값이 많을 때), l2 loss보다 l1 loss를 사용하는 것이 더 효과적인데,  다음 사이트에 설명이 잘 나와있어 첨부한다. 간단히 말하자면 l2 loss는 항상 양수인 값들이 존재하기 때문에 sparse한 상황에서 0을 향해 optimize되는 데에 한계가 있다. 

https://stats.stackexchange.com/questions/45643/why-l1-norm-for-sparse-models

 

 

수식2. content loss
수식3. style loss의 weighted sum
수식4. 각 층의 style loss

 

content loss와 style loss는 pre-trained VGG19 네트워크를 이용하여 여러 feature를 중간에서 뽑아 loss를 계산한다(그림5의 WDST). content loss는 MSE loss로 conv2-2 에서 LHo와 LHr의 feature를 한번 뽑아 content loss를 계산하며 수식2의 N은 layer L의 feature map 수, M 은 feature map의 weight*height를 나타낸다.

 

style loss는 Relu1-1, Relu2-1, Relu3-1, Relu4-1, Relu5-1 총 5개의 층에서 LHp와 LHr의 feature를 뽑아 weighted sum하여 style loss를 계산한다(수식3). style loss는 gram matix의 MSE loss를 계산함으로써 LHr과 LHp 간의 correlation을 계산한다. 

 

이렇게 high frequency sub-bands LHr, HLr, HHr를 얻었으면 de-normalization해주어 본래의 data 분포를 갖게끔 만들어준다. 앞서 LSE를 통해 강화된 LLr과 LHr, HLr, HHr를 합쳐 2D ISWT(inverse stationary wavelet transform)하면 결과 이미지를 얻을 수 있다. 

 

 

 

 

4 Numerical Results

 

Experimental setup

 

-2D SWT의 wavelet filter로는 bior2.2를 사용

-wavelet decomposition level은 2

-SGD optimizer 사용 (LSE)

-batch size 64 (LSE)

-basic learning rate 0.01, momentum 0.9 (LSE)

-ratio between the content loss and the style loss 10^(-3) (WDST)

-ratio between the content loss and the l1 norm loss 10^(-5) (WDST)

-style loss의 각 layer weight 0.2 (WDST)

-first layer maximum iteration 5000, second layer maximum iteration 1000 (WDST)

-AoEDSR을 통해 얻음 

-ApCX를 통해 얻음

-dataset : Set5, Set14, BSD100, Urban100, PIRM

 

 

Wavelet filter sensitivity

 

그림6. 다양한 필터 적용 결과
                                             그림 7. haar, db2, bior2.2                                              
그림7. coif2, db4
 그림7. rbior2., bior4.4

 

본 논문에서는 7가지의 wavelet filter를 사용하여 PSNR, SSIM, NRQM을 비교하였다. 다른 wavelet function들과는 다르게 rbior2와 bior4.4는 decomposition과 reconstruction시 사용되는 wavelet function의 모양이 다르다. PSNR을 높이는 데에는 haar, db2가 효과적이었으며, NRQM을 높이는 데에는 bior4.4가 효과적이었다. 

 

 

나는 여기까지 읽었을 때, "그래서 이렇게 하면 좋다는건 알겠는데, EDSR과 CX를 그냥 합친것보다 뛰어난지는 어떻게 알지?" 라는 의문이 들었다. 

 

 

Content and Style inputs sensitivity

 

그림8. interpolation보다 우세함을 보임

 

그림8은 objectivity가 뛰어난 네트워크에서 뽑은 결과 Ao와 perceptuality가 뛰어난 네트워크에서 뽑은 결과 Ap의 단순 interpolation 결과와 본 논문의 방법을 비교한 것이다. PSNR과 Perceptual score모두 interpolation한 결과보다 뛰어난 성능을 보임을 알 수 있다. 

 

 


드디어 논문 리뷰가 끝이 났다!! 다음에는 cycleGAN을 다뤄볼까...

 

 

 

 


REFERENCE

1. Xin Deng et al, "Wavelet Domain Style Transfer for an Effective Perception-distortion Tradeoff in Single Image Super-Resolution", 2019 ICCV

2. l1 sparsity : https://stats.stackexchange.com/questions/45643/why-l1-norm-for-sparse-models

3. wavelet function : http://wavelets.pybytes.com/

지금까지 딥러닝을 이용한 화질개선(super-resolution)에 관한 여러 논문들이 소개되어 왔다. 이 포스팅에서는 지금까지 어떤 논문들이 있었는지(2014-2018) 간략하게 소개하고, 다음의 소수 논문만을 간단히 살펴보도록 하겠다. 

 

  1. SRCNN

  2. VDSR

  3. SRGAN(SRRseNet)

  4. EDSR, MDSR

 

 

 

1. SRCNN

Chao Dong et al, "Image Super-Resolution Using Deep Convolutional Networks", 2014 ECCV

Fig1. SRCNN architecture

SRCNN은 super-resolution 분야에 딥러닝을 최초로 적용한 논문이다. 방법은 보시다시피 매우 간단하다. Low-resolution image에 bicubic을 이용하여 HR 사이즈와 동일하게 키운 후 이미지의 size를 유지하며 convolution network를 3번 통과하여 이미지의 화질을 개선시킨다. 매우 간단한 방법임에도 불구하고 좋은 성능을 보인다. 

 

 

 

 

2. VDSR

Kyoung Mu Lee et al, "Accurate Image Super-Resolution Using Very Deep Convolutional Networks", 2016  CVPR

Fig2. VDSR architecture

VDSR은 아주 deep 한 네트워크로 VGG-net에서 영감을 받았다고 한다. 20개의 레이어를 사용하였으며 계단식의 작은 필터들을 여러번 사용함으로써 이미지 전반적으로 contextual information을 잘 활용할 수 있었다고 한다. 또한 adjustable gradient clipping을 사용함으로써 104배의 큰 learning rate(SRCNN과 비교하였을 때)가 느린 수렴 속도를 보완해 주었다. 위 그림에서 마지막에 한번의 residual 이 들어감을 알 수 있는데, 이 여파인지 VDSR 이후의 super-resolution 논문들은 residual block을 적극 활용하고 있다.  

 

 

 

 

3. SRResNet(SRGAN)

Christian Ledig et al, "Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network", 2017 CVPR

Fig3. SRGAN architecture

지금까지 super-resolution의 accuracy나 speed면에서는 크게 성능이 좋아졌으나 high frequency를 갖는 texture detail들이 잘 살지 않는다는 단점이 있었다. SRGAN 논문에서는 GAN의 형식을 사용함으로써 texture를 보다 잘 살린다는 장점이 있다.

 

기존의 논문들은 MSE loss와 PSNR metric을 동시에 사용하여 이미지의 화질개선 성능을 평가했기에 PSNR 수치는 높으나 엣지가 선명하지 않은 blur된 이미지가 도출되었다면, 본 논문에서는 adversarial loss 와 content loss를 사용하는 perceptual loss function을 적용함으로써 사람이 보기에 더 좋아보이는 이미지를 만든다는 점에서 큰 차이가 있다. perceptual loss는 VGG network의 high-level-feature maps를 사용하였다.

 

위 그림에서도 확인 가능하듯 generator network에서 ResNet과 skip-connection을 적극 활용함으로써 time과 memory 절약에 좋은 성능을 보였다. 

 

위 논문에서도 알 수 있듯, loss function과 metric은 이미지 개선에서 큰 차이를 불러 일으킨다. 기회가 된다면 지금까지 deep learning에 사용되는 loss function들(l1, l2, cross entropy loss, VGG loss, perceptual loss 등)과 metric(PSNR, SSIM 등)의 상관관계를 분석해보고 각 loss fuction들과 metric들이 가지는 장단점들에 대하여 정리해보는 포스팅을 진행해 보겠다. 

 

 

 

 

4. EDSR, MDSR 

Bee Lim et al, "Enhanced Deep Residual Networks for Single Image Super-Resolution", 2017 CVPRW

Fig4. comparison of residual blocks
Fig5. EDSR(single-scale)architecture                                                 Fig6. MDSR(multi-scale) architecture

 

 

EDSR, MDSR 논문에서는 residual block에서 불필요한 요소들을 제거했다는 것이 큰 특징이다. 기존의 super-resolution 논문들은 MSE, L2 loss를 사용한 반면, 본 논문에서는 L1 loss를 사용하였다. 또한 기존의 논문들에서는 한번에 한 종류의 scale에 대하여 학습시켰다면, MDSR에서는 x2, x3, x4배율 모두 upscale이라는 맥락 아래에서 weight들을 공유할 수 있을 것이라 생각하여 다양한 배율을 동시에 학습하는 multi-scale deep super-resolution system을 도입하였다.

 

Fig4에서 볼 수 있듯, 본 논문에서는 residual module에 포함되어 있던 batch normalization을 제거하였다. BN layer에서 feature들을 normalize하기 때문에 네트워크 내의 유연성 즉, 개선 가능성을 억제한다고 보았기 때문이다. 실제로 이런 간단한 변경이 디테일을 살리는 부분에서 도움이 되었다고 한다. SRResNet과 비교하였을 때, BN layer를 제거함으로써 GPU memory를 약 40% 절약할 수 있었다고 한다.

 

Fig5의 EDSR architecture는 SRResNet의 baseline을 따랐으나, residual block 밖의 ReLU activation을 제거하였다는 점이 다르다. Fig6의 MDSR architecture는 parameter가 공유되는 중간의 16층 ResBlock과 scale specific하게 진행되는 앞, 뒤 module로 구성된다. 네트워크의 머리부분에 해당하는 pre-processing module은 5x5 kernel의 2개의 residual block으로 구성된다. 상대적으로 큰 kernel를 이용함으로써 scale-specific한 부분들을 잡아낼 수 있었다고 한다. 또한 마지막 부분의 upsampling module을 parallel하게 진행시킴으로써 x2, x3, x4의 결과를 각각 얻을 수 있다.   

 


 

앞서 소개한 논문들 후에 super-resolution을 다루는 논문들이 많이 나왔다. 종류별로 잘 정리되어있는 자료를 찾아 첨부한다.

 

Fig7. super-resolution papers

2019년 9월 17일에 발행된 논문의 자료임으로 대강 2014-2018(2019초)의 논문들이 정리되어 있다고 생각하면 될 것 같다. 

 

 

 


Reference

 

 

1. Wenming Yang et al, "Deep Learning for Single Image Super-Resolution: A Brief Review",  https://arxiv.org/pdf/1808.03344.pdf

2.  Saeed Anwar et al, "A Deep Journey into Super-resolution: A Survey",  https://arxiv.org/pdf/1904.07523.pdf

3. Chao Dong et al, "Image Super-Resolution Using Deep Convolutional Networks", 2014 ECCV

4. Kyoung Mu Lee et al, "Accurate Image Super-Resolution Using Very Deep Convolutional Networks", 2016  CVPR

5. Christian Ledig et al, "Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network", 2017 CVPR

6. Bee Lim et al, "Enhanced Deep Residual Networks for Single Image Super-Resolution", 2017 CVPRW

 

 

 

+ Recent posts