-
[논문리뷰] (SROBB) SROBB: Targeted Perceptual Loss for Single Image Super-Resolution공부/Super Resolution 논문리뷰 2020. 3. 18. 16:52
이 논문은 2019 ICCV에 발표된 논문으로, Segmentation labeling 된 dataset으로부터 object, background, boundary 등을 구분하여 각각에 알맞은 loss를 적용시켜 학습한다는 아이디어를 제안하는 논문이다. 기존의 SRGAN, ESRGAN과 같은 GAN based SR의 문제점들을 (boundary 부근인데 텍스쳐처럼 뭉개진다던지 하는) 해소해 나가는 방향(SFT-GAN과 같은 segmentation을 SR에 활용)의 논문이다.
ABSTRACT
최근의 perceptual loss기반의 SR들은 상당한 성능 향상을 이루어왔다. 이와 같은 objective function들은 거의 photo-realistic 한 결과를 생성하지만, 이미지 내의 semantic information들을 무시한 채 동일한 방식으로 전체 이미지의 reconstruction error를 계산하기 때문에 그 능력이 제한된다. 본 논문에서는 더욱 객관적인 방법으로 perceptual loss를 활용하는 새로운 방법을 제안한다. 저자는 다양한 semantic level에서 image에 대해 penalize 하게 하여 targeted objective function으로 deep network-based decoder를 학습(최적화) 시킨다. 특히, 저자의 방법은 segmentation 된 OBB(Object, Background, Boundary) label정보를 사용하여 배경과의 texture similarity를 고려하면서도 경계 부근에도 적합한 perceptual loss를 추정할 수 있게 해 준다.
INTRODUCTION
SISR은 LR 이미지로부터 HR이미지를 복구해내는 것이다. 최근, CNN의 도입으로 높은 성능 향상을 이어온 SISR분야는 perceptual loss가 도입되면서 더욱 발전했다. 이 방법은 MSE 기반의 loss function에서 보여온 texture가 blur 되는 현상을 해결했다. 또한, adversarial loss와 함께 학습하여 거의 photorealistic reconstruction을 가능하게 했다. 이러한 방법이 SISR에 지대한 성능 향상을 이룬 것은 사실이지만, semantic information에 대한 고려 없이 전체 이미지에 해당 방법을 적용시키는 것은 그 역량을 매우 제한시키게 된다.
우선, 간단히 perceptual loss를 계산하는 데 사용되는 pretrained CNN과 이를 통해 network를 어떻게 최적화시키는지에 대해 살펴보자.
pretrained CNN의 낮은 단계에서의 convolutional layer에서 각 뉴런은 그 출력에 영향을 미치는 입력의 크기와 모양을 가진 receptive field를 가지고 있다. SOTA CNN들에서 주로 사용되는 작은 사이즈의 kernel은 그만큼 작은 receptive field를 갖게 되며, 결과적으로 pretrained CNN의 낮은 단계에서의 convolutional layer는 들어온 input에 대해 뉴런들 간 좁은 영역의 local spatial relation을 고려하여 low-level spatial information을 추출하게 됨을 직관적으로 알 수 있다. 이러한 정보들은 주로 edge, blob들이다.
pretrained CNN의 깊은 단계에서는 각각의 뉴런들의 receptive field가 커지게 된다. 따라서 깊은 레이어에서 비로소 global semantic meanings, 추상적인 object information 등을 학습하게 된다.
Perceptual function에 대해서는, 우선 SISR과 비슷한 task에서의 SOTA CNN들은 각각의 쓰임에 맞는 다른 level에서의 feature를 사용한다. 예를 들어, edge 같은 local information에 집중해야 하면 low-level feature를 사용하고, texture 같은 information에 집중해야 하면 mid-level, semantic information에 집중하려면 high-level feature를 사용하는 식이다. 하지만 이러한 방식들을 결국 전체 이미지에 대해 동일한 perceptual loss를 적용시켜왔으므로 edge건 object건 foreground건 background건 동일한 perceptual loss식이 사용되어왔다는 의미이다. 예를 들어, 나무와 같이 무작위의 텍스쳐 내에서의 edge detail들에 대한 loss는 불필요한 penalty를 고려한 것이 될 것이며, 따라서 필요성이 덜한 정보들을 학습하게 될 것이다. 다른 한편으로, 영상 내의 edge부근에 대해 (texture에 적합한) mid-level feature를 사용한 경우 날카로운 edge를 만들어내기는 커녕, "noisy" loss만 커질 것이다.
위와 같은 문제들을 다루기 위해, 저자는 perceptual loss를 더욱 objective 한 방법으로 사용하는 법을 제시한다. Figure 1은 제안하는 방법에 대한 개요를 나타낸다.
특히, 저자는 pixel-wise segmentation annotation (픽셀 단위 segmentation 주석)을 저자가 제안하는 OBB label 기법에 활용하며, 이를 통해 원하는 perceptual feature를 사용하여 (edge 부근의 loss와 texture부근의 loss 등) 그에 적절한 loss를 최소화시키는 방법으로 모델을 학습시킬 수 있다.
RELATED WORKS
CNN-based SISR에 대해 전반적인 리뷰를 한다. 현재의 CNN-based SISR은 다양한 end-to-end deep network 구조들이 사용되고 있다. recursive 형태를 띠며 그 구조가 깊을수록 SISR 성능을 높이는 것이 확인되었으며, residual block과 skip connection의 조합 또한 학습을 촉진시키기 위해 널리 사용되고 있다. batch normalization을 제거하고 skip connection을 사용하는 것이 성능을 향상시킨다는것 또한 입증되었다. HR image의 sub-band residual을 재구성하기 위해 laplacian pyramid structure 또한 제안되었다. 적응형 학습 과정에서 persistent memory를 확실히 추출하기 위해 recursive 유닛과 gate 유닛으로 구성된 메모리 블록을 사용하는 densely connected network 또한 제안되었다. (이 부분은 내용이 잘 이해가지 않는다.) channel attention 메커니즘은 channel-wise feature들을 적응형으로 rescale 하여 channel들 간의 내부 의존성을 고려하기 위해 제안되었다. supervised learning 이외에도 unsupervised learning, reinforcement learning과 같은 다른 학습방법들 또한 제안되었다.
위와 같은 optimization-based 방법들은 기본적으로 어떤 objective function을 선택하느냐에 따라 그 결과가 정해지는데, 이 objective function은 주로 ground-truth가 되는 HR이미지와 네트워크의 출력인 SR이미지 사이의 픽셀 단위 distance loss를 계산한다 (MSE based loss - L1 loss). 하지만 이러한 loss는 픽셀 단위의 평균을 사용하기 때문에 이러한 loss만을 단독으로 사용하게 되면 SR이미지가 blurry 하거나 over-smoothed 하게 된다.
그러던 와중, perceptual driven 접근방법은 visual quality측면에서 매우 큰 성능 향상을 이루었는데, VGG와 같이 사전에 학습된 CNN 네트워크의 특정 레이어를 사용하여 feature space에서의 error를 최소화하는 방식으로 사용하는 perceptual loss가 제안되었다. perceptual loss와 비슷하지만 feautre의 appearance를 비교하는 게 아닌 distribution에 집중하는 contextual loss 또한 제시되었다. 또, SR image가 좀 더 자연스러워질 수 있도록 adversarial loss의 도입 또한 제안되었다. patch-based texture loss를 계산하는 SR 방법 또한 제시되었는데, 매우 사실적인 SR image를 얻을 수 있지만 추가적으로 visual quality를 향상할 수 있는 semantic information은 무시한 채 전체 이미지에 대해 동일한 방법으로 reconstruction error를 계산하기 때문에 성능 향상에 제약이 있다.
가장 최근의 연구는 probability map을 계산하여 prior knowledge로 사용하는 segmentation network를 추가하여 SR network에 적용시키는 방법이 고안되었다. 이 방법에서 사용된 segmentation network는 COCO dataset으로 학습을 시켰으며, ADE로 fine-tuning 하였다. 이 방법은 이와 같은 방법의 적용으로 더욱 사실적인 texture를 구현해냈으나, test-time에서도 segmentation map이 필요하다는 단점이 존재한다. 이러한 문제를 해결하기 위해 SR network와 segmentation network를 동시에 학습하는 multitask learning 방법을 제안하는 연구 또한 진행되었다.
이 논문에서 저자는 image 내의 semantic information을 추출하는 법에 대해 조사한다.
METHODOLOGY
저자는 이 논문의 contribution이 모델의 구조보다 objective function에 더욱 집중했다고 한다. 저자가 제안하는 loss function은 총 3가지의 항으로 이루어져 있는데,
1. pixel-wise loss (MSE)
SR에서 가장 널리 사용되는 loss function이다. 이 loss는 HR이미지와 SR이미지의 pixel 값 사이의 mean squared error (MSE)를 계산한다. 이 loss를 사용함에 있어 가장 큰 단점은 결과가 과하게 smooth 되어 reconstruction 된다는 것이다. 따라서 MSE loss로 학습된 network는 perceptual quality가 좋지 못할뿐더러, 고주파 edge나 texture 등이 매우 부족하게 된다.
2. adversarial loss
저자는 discriminator를 이용하여 adversarial 학습방법을 채택하였다. generator는 discriminator를 속일만한 가짜 이미지를 생성하기 위해 노력하며 discriminator는 이러한 가짜 이미지를 구분해 내기 위해 서로 적대적 학습을 해나가며 성능을 향상한다. 이러한 adversarial loss의 추가는 pixel-wise MSE 또는 기본적인 perceptual loss보다 훨씬 나은 성능을 보여준다.
3. targeted perceptual loss
perceptual loss를 사용하는 SOTA들은 HR이미지와 SR이미지를 VGG와 같은 classification network의 deep feature domain의 feature space로 mapping 시킨 뒤, 이들 간의 perceptual similarity를 측정하는 방식이다. 이러한 방식들은 주로 feature map 간의 l2 distance를 최소화시키는 방향으로 사용된다. 이러한 perceptual loss와 adversarial loss, MSE loss를 왜 동시에 최소화시켜야 더욱 사실적인 SR이미지를 얻을 수 있는지에 대해 알아보기 위해, 저자는 perceptual loss의 계산에 사용되는 CNN 레이어의 원리에 대해 조사하며 SR이미지의 edge와 texture에 대해 HR이미지와 더욱 시각적으로 비슷해 보이게 만들어주는 방법을 제안한다.
4. OBB: Object, background and boundary label
perceptual loss를 완벽하게 활용하기 위해, 저자가 제안하는 targeted perceptual loss는 object, background, boundary와 같은 semantic details들을 활용하는 데에 집중했다. 더불어, segmentation 라벨링이 boundary와 같은 edge 영역은 배제한 채 background와 object로 나뉘는 기존의 annotations들에 대해 저자는 image의 semantic information을 더욱 활용할 수 있는 새로운 labeling approach를 제안한다.
이를 위해, 저자는 먼저 미분을 통해 color-space에서 segmentation label의 edge를 계산한다. 그리고 더 두꺼운 edge를 얻기 위해 d1의 디스크 사이즈를 갖는 구조를 이용하여 dilation(모폴로지) 연산을 적용한다. 이렇게 구해진 edge를 "boundary" class로 정의한다. 저자는 "sky", "plant", "ground", "water"와 같은 segmented 영역에 대해서는 전부 "background" class로 정의했다. 그 이외의 class들은 "object" class로 정의한다.
ARCHITECTURE
SRGAN 모델과의 공정한 비교를 위해, 저자는 SRGAN 모델의 SR decoder를 그대로 사용하되 제안한 targeted perceptual loss를 사용하여 학습하였다. output은 16개의 residual block과 skip connection을 거쳐 출력되며, 각각의 block들은 batch normalization, ReLU lactivation layer 64채널 3x3필터로 구성된 두 개의 convolutional layer로 구성된다. 그 뒤, upsampling layer를 통과하여 최종 SR image를 생성한다. x4 모델을 기준으로 실험하였다. 다음의 그림에서(Figure 4) 구조에 대해 설명한다.
discriminator network는 다수의 convolutional layer들로 구성되며 strided convolution을 적용하여 이미지 사이즈를 줄이되 dimension을 doubling 하여 feature의 dimension을 깊게 가져간다. 또, Leaky-ReLU함수를 활성화 함수로 사용한다. 이렇게 얻어지는 512개의 feature map을 두 개의 dense layer에 입력하여 sigmoid 함수에 의해 real or fake를 구별하게 된다.
EXPERIMENTAL RESULTS
저자가 OBB label을 만들기 위해 사용한 것은 91개의 segmentation class로 구성된 COCO-Stuff dataset에서 무작위로 선택한 50K 개의 이미지이다. 이 논문에서 저자는 풍경 이미지들 중에서 "Sky, Plant, Ground, Water"중 하나 이상의 class가 있는 이미지를 선택했다. LR image를 만드는 것에는 CNN-based SR에서 많이 사용되는 LR image 제작방법인 MATLAB의 imresize함수(bicubic kernel 사용, anti-aliasing filter 적용)를 사용했다.
학습과정은 다음의 두 가지 단계로 진행된다. 먼저, pixel-wise MSE를 loss function으로 하는 SR decoder를 25 epoch 만큼의 사전학습을 진행한다. 그 뒤, 제안하는 targeted perceptual loss function과 adversarial loss를 추가하여 55 epoch 만큼 더 진행한다. loss function의 가중치들은 다음과 같이 설정한다. targeted perceptual loss의 a(알파)와 b(베타) 값은 각각 2x10^-6, 1.5x10^-6을 부여하며, adversarial loss와 MSE loss는 각각 1.0, 1x10^-3을 부여한다. OBB label을 생성하는 데 사용된 모폴로지 연산의 disk structure는 2.0의 지름을 갖게 부여하였으며, optimizer는 Adam을 사용하였다. learning rate는 1x10^-3부터 20 epoch마다 10배 감소한다. discriminator는 "Christian Ledig의 'Photo-realistic single image super-resolution using a generative adversarial network'"와 비슷한 parameter를 사용하여 최적화시킨다.
QUALITATIVE RESULTS
1. Results on Set5 and Set14
본 논문에서 제시하는 방법으로, 네트워크를 학습하는 데 있어서 object 영역에 대해 특별히 지정한 것이 아님에도 불구하고 학습된 모델이 다른 모델들보다 더욱 사실적인 object를 구현했다. baboon 이미지에서 볼 수 있듯, 더욱 날카로운 edge들이 SRGAN에 비해 많이 reconstruction 된 것을 알 수 있으며, baby 이미지에서는 비슷한 성능을 보이는 것을 알 수 있다. (Figure 5)
2. Results on the COCO-stuff dataset
COCO-stuff dataset에서 랜덤 하게 선택한 test image에서의 결과는 다음과 같다. 공정한 비교를 위해, SFT-GAN, ESRGAN 그리고 SRGAN 모델들을 동일한 파라미터와 동일한 dataset으로 학습시켰다. EnhanceNet과 RCAN은 사전 학습된 모델을 사용하였다(Figure 6). ESRGAN이 굉장히 비슷하거나 좋아 보이는 성능을 보이지만, 저자는 bias가 over sharpened edges를 생성하도록 학습되어 그런 것이라고 설명한다.
QUANTITATIVE RESULTS
1. SSIM, PSNR and LPIPS
PSNR, SSIM은 GAN-based SR의 결과 평가에 적합하지 않다는 것은 분명하며, Learned Perceptual Image Patch Similarity(LPIPS) 측정방식이 perceptual similarity의 계산에 적합함이 최근 연구되었다. (Table 1) 이 perceptual similarity 측정방식은 인간의 시각 지각 판단을 포함하며, very large Berkely-Adobe Perceptual Patch Similarity(BAPPS) dataset으로 학습된 linearly calibrated off-the-shelf deep classification networks를 사용한다. 하지만, "Muhammad Waleed Gondal의 'The unreasonable effectiveness of texture transfer for single image super-resolution'"에서는 LPIPS는 distortion-based metrics(SSIM)과 비슷한 경향성을 보인다는 것을 강조했으며 LPIPS으로 photorealistic image를 판별하기는 불충분함을 언급하였으며 이에 주의해야 한다.
2. User study
저자는 어떤 모델이 사람들한테 더욱 사실적인 이미지로 받아들여지는지에 대해 조사하기 위해 모델들 간의 reconstruction quality를 비교하였다. RCAN, SRGAN, SFT-GAN, ESRGAN, SROBB(ours)의 5개 모델을 비교하였으며, online으로 모집한 총 46명의 실험대상자들에게 무작위의 순서로 HR image와 SR image를 보여주었다. SFT-GAN이 outdoor category에 대해 학습된 segmentation network를 사용하므로 공정한 비교를 위해 COCO-stuff dataset에서 35개의 outdoor 이미지를 사용하여 학습하였다. 투표 결과인 아래 이미지(Figure 7)로부터 저자가 제안한 SROBB가 많은 투표를 받았음을 확인할 수 있다. 게다가, test time에서도 segmentation map이 필요한 SFT-GAN과는 달리, 저자의 모델은 test time에서 segmentation map이 필요 없으면서도 semantic information을 활용하는 이점을 이용함에 있어서 좋은 평가를 할 수 있다.
3. Ablation study
targeted-perceptual loss의 유효성에 대한 ablation study(기능 유/무 별 비교)를 위해 저자는 동일한 모델을
1. pixel-wise MSE 단독
2. pixel-wise loss와 기존 perceptual loss
3. pixel-wise loss와 제안하는 targeted perceptual loss
의 세 가지 방법으로 학습시켜 비교하였다. 아래 그림(Figure 8)에서 targeted perceptual loss가 실험대상자들로부터 훨씬 많은 득표를 했음을 알 수 있다.
MSE based SR들의 단점인 over smoothed 효과를 해결하기 위해 perceptual loss based SR들이 많은 이목을 끌었지만, GAN based의 단점인 경계 부근의 왜곡현상, boundary 부근 텍스쳐의 뭉개짐 등을 해결하기 위해 segmentation을 활용하는 다양한 방법들이 시도되고 있는 것 같다. perceptual similarity 논문들은 대개 정량적인 비교보다는 정성적인 비교를 이용해 결과를 도출하며 어떻게 하면 보다 정확한 정성적 비교가 가능할까에 대해서도 많은 연구가 진행되어야 할 것 같다.
'공부 > Super Resolution 논문리뷰' 카테고리의 다른 글