CBDNet : Toward Convolutional Blind Denoising of Real Photographs

정해서·2021년 6월 18일
2

논문해석

목록 보기
5/15
post-thumbnail

[Abstract]

Deep convolutional neural networks (DCNNs)를 사용해서 Addictive White Gaussian Noise(AWGN)를 성공적으로 지울 수 있었지만, 실제 real world에서 생기는 노이즈를 지우는 것은 지극히 제한적이었다. 그 이유는 모델들이 AWGN에 너무 과적합을 하기 때문인데, 이것은 실세계에서 생기는 복잡한 노이즈와는 성격이 많이 다르기 때문이다. CNN Denoiser의 성능을 향상하기 위해서, 이 논문은 현실 세계에서 생기는 노이즈 이미지와 노이즈가 없는 깨끗한 이미지를 쌍으로 이루어 지도학습을 통해 convolutional blind denoising network (CBDNet) 모델를 학습시킨다.

[Introduction]

이미지 denoising은 low-level vision 그리고 이미지 프로세싱에서 가장 근복적인 문제이다. 수년 동안 promising approaches로 이 문제에 관해서 연구가 진행되었고 성공적으로 AWGN을 지울 수 있었다. 하지만 실제 카메라 시스템에서 발생하는 노이즈(e.g, dark current, short and thermal noise) 그리고 카메라 프로세싱 파이프라인에서 생기는 노이즈(e.g, demosaicing, Gamma correction, and compression)는 AWGN 성격과 매우 다르기 때문에 AWGN을 학습한 모델로는 실제 노이즈를 완벽하게 지우기 힘들다.

최근 CNNs를 이용한 Gaussian denoising 성능은 고도로 발전했다. 하지만 CNNs을 사용한 deep denoisers는 AWGN를 제거하는 하는 동시에 이미지가 가지고 있는 선들도 지우거나 선을 뭉개버리는 현상도 생겼다. 이러한 현상은, deep CNNs가 가지고 있는 Gaussian noise를 과적합 해서 생기는 특성 때문이라고 설명할 수 있다. 그래서 이 논문은 deep CNNs가 가지는 문제점을 보완한 CBDNet을 개발한다. 그리고 Poisson-Gaussian과 in-camera processing pipeline 노이즈 (e.g, demosaicing, Gamma correction, and JPEG compression)를 추가해 모델을 학습했다. 그 결과 PSNR이 눈에 띄게 올라간걸 볼 수 있었다.

CBDNet은 sub-networks로 noise estimation과 non-blind denoising 네트뤄크를 포함하고 있다. Noise estimation subnetwork을 이용해 asymmetric loss 결괏값을 얻어 현실 세계 노이즈 제거를 더 잘할 수 있게 한다. 게다가 interactive denoising을 통해 noise level map을 조절할 수도 있다.

[Structure]


위의 그림은 CBDNet의 모델구조다. CBDNet은 noise estimation(CNN E)과 non-blind denosing subnetwork (CNN D), 2개의 sub networks를 가지는 모델이다. 첫째로, CNN E는 조절이 가능한 노이즈 레벨 맵을 생성한다. CNN D는 실제 input과 생성된 노이즈 레벨 맵을 concatenate으로 합쳐 하나의 input을 사용한다.

CNN E는 총 다섯 개의 convolution layers로 구조가 정의되어 있다. 각 conv layer에 3*3 filter size와 32개의 features가 존재한다. 또 convolution layer 다음으로 ReLU activition function을 사용한다.

CNN D는 16개 convoltuion layers로 이루어진 U-Net 구조로 되어 있다. CNN D는 input으로 실제 input y와 노이즈 레벨 맵 y를 input으로 사용해서 예측된 x값을 출력한다. CNN D는 symmetric skip connections, strided convolutions 그리고 transpose convolutions를 포함한 구조를 가지고 있다. 마지막을 제외한 각 layer 다음에 ReLU를 사용한다.

[Asymmetric Loss and Model Objective]

Asymmetric loss는 과소평가된 노이즈 레벨 맵 에러를 피하고자 사용된 손실 함수이다. 과소 평가된 에러에는 페널티를 더 적용해서 현실 세계 노이즈를 더 잘 지울 수 있도록 한다. 또한 이 논문은 total variation (TV) 정규화도 소개가 되는데, 노이즈 레벨 맵의 smoothness를 제한하기 위해 사용된다. Asymmetric loss와 TV 정규화를 더해서 CBDNet에 적용해 학습한다.

[Training details]

Training datasets : BSD500(400), Waterloo(1600), MIT-Adobe FiveK(1600)
Test datasets : NC12(12), DND(50), Nam(500)
Optimizer : ADAM with 0.9β1
Mini-batch : 32
Patch-size : 128*128
Epoch : 40
Learning-rate : first 20 epochs = 0.001 and 5 × 0.0001

[Results]

이 논문은 다양한 노이즈 artifacts를 CBDNet에 학습 시켜 결과를 보여준다.

  • Heterogenous Gaussian (HG)
  • In-camera processing pipeline (ISP)
  • Gaussian Noise (G)
  • JPEG compression (JEPG)

[Conclusion]

이 논문은 blind denoising of real world noisy photographs에 사용하는 CBDNet을 선보였다. 이 논문에서 중요하게 봐야 할 것은 2가지다. 첫째, hetegrogenous Gaussian과 IPS pipeline으로 학습한 모델이 실제 사진이 가지고 있는 노이즈를 제거해주는데 크게 기여한다. 둘째, synthetic 그리고 real noisy images를 섞어 학습에 사용한다면 denoise 성능은 폭발적으로 증가한다. 게다가, noise estimation subnetwork와 asymmetric loss를 이용해 실제 노이즈를 가지고 있는 많은 이미지를 denoise 해준다.

[Github]

CBDNet github

profile
Deep Learning Research Engineer

0개의 댓글