AP-BSN: Self-Supervised Denoising for Real-World Images via Asymmetric PD and Blind-Spot Network
Paper: https://arxiv.org/pdf/2203.11799.pdf
Github: https://github.com/wooseoklee4/AP-BSN
Introduction
noise2void를 근본으로하여, Self-supervised denoising task 에서 다양한 Blind-spot network의 변형이 연구되고 있습니다.
하지만 대부분의 BSN 계열 연구들은 synthetic noise에 대해서 수행하였고, 실제 real noise data에 적용할 시 denoising 성능이 매우 떨어지는 경향이 있습니다.
따라서 해당 논문에서는 기존의 Blind-spot network, synthetic data의 문제점을 파악하고 그 한계점을 개선한 Assymetric Pixel shuffle downsampling BSN (AP-BSN) 을 제안합니다.
BSN and PD
Blind Spot Network
Blind-spot network는 convolution layer의 receptive field에서 center pixel이 masking된 형태입니다. network는 주변 pixel로부터 noise를 제외한 signal들의 정보를 바탕으로 center pixel의 값을 예측하게 됩니다.
이러한 방식으로 denoising 능력을 학습하려면 1) noise가 spatially independent 해야하고 2) noise가 zero-mean 이어야 한다는 전제조건이 필수적입니다.
이러한 측면에서, 기존 synthetic noise 연구에서 대표적으로 사용하는 noise type인 additive white gaussain noise (AWGN) 는 위의 전제조건을 모두 만족하기 때문에 모델이 뛰어난 denoising 능력을 학습할 수 있습니다.
하지만, real noise는 isp process 등의 과정에서 noise 사이에 sptial correlation이 생기게 됩니다. (특히 interpolation이 일어나는 demosaicking)
결과적으로 근처의 subpixel의 noise 또한 BSN의 학습 타겟인 center pixel에 대한 단서가 될 수 있기때문에, 제대로된 학습이 진행되지 않습니다. 실제로 real noise에서는 BSN 모델이 identity mapping 하는 방향으로 학습이 진행되는것을 확인하였다고 합니다.
Pixel shuffle down sampling
따라서 real noise에서 이러한 spatial correlation을 제거하기 위해 When AWGN-based Denoiser Meets Real Noises 논문에서 Pixel shuffle down sampling (PD) 이라는 방법을 고안하였습니다.
PD는 일종의 pixel-shuffling의 inverse operation이라고 생각할 수 있습니다. image를 subsampling하고 mosaic 패턴으로 채워놓는 과정을 수행합니다.
이 과정을 통해서, noise 사이의 실제 거리가 더 멀어지는 효과가 생기고 이를 통해 spatial correlation을 어느정도 줄일 수 있습니다.
그럼에도 불구하고 기존의 연구들에서는 PD와 BSN의 직관적인 통합이 진행되지 않았는데, 그 이유는 PD로 인해 발생하는 correlation reduction과 detail reconstruction quality 사이의 trade-off 때문입니다.
실제로 real noise의 spatial correlation을 제거하기 위해서는 적어도 stride 5 정도의 PD가 수행되어야 합니다. 하지만 stride가 커질수록 더 강한 aliasing artifact가 랜덤으로 생겨나게 되는데, 이는 이미지의 detail이 noise로 인식되어서 detail이 더 많이 손실될 수 있음을 의미합니다.
AP-BSN
(Overall pipeline)
Asymmetric PD
앞서 언급했던것 처럼 large stride 를 통해 학습한 BSN은 denoising 능력이 뛰어나지만 image의 detail reconstruction에서 꼭 필요한 aliasing artifact를 noise로 판단하여 다 지워버리는 경향이 있습니다.
따라서 해당 논문에서는 Training time에는 stride , Testing time에는 stride 로 asymmetric하게 PD를 수행하는 방법론을 제시하였습니다.
실험을 통해 , 의 조합이 real noise에 대해서 가장 적절한 성능을 보이는것을 확인하였습니다.
Random-replacing refinement
PD의 stride factor를 아무리 작게 설정해도 denoising 과정에서 informative high-frequency 는 손실이 됩니다.
이를 방지하고자 기존 연구에서는 PD-refinement 라는 방식을 사용하여 inference를 진행하였습니다.
고정된 stride factor 로 겹치지 않는 영역에 대해서 각각 masking을 진행하고, 각각에 대해서 denoising을 진행한 뒤 평균을 취해 final result 을 얻게 됩니다.
하지만 fixed stride를 통해 masking을 진행할 경우, 결국 항상 주변의 pixel과의 correlation은 어느정도 유지된다는 한계가 있고 이는 곧 성능적으로 부정적인 영향을 미치게 됩니다.
따라서 본 논문에서는 새로운 refinement 방법인 random-replacing refinement 을 제시합니다.
에서는 T개의 randomized binary mask가 적용된 image에 대해서 infernce를 하고 합치게 됩니다.
randomized binary mask 는 p의 확률에 따라서 구성되며, 이를 통해 spatial correlation을 무시할 수 있을 수준으로 줄일 수 있으며 그렇기 때문에 과정에서는 별도의 PD를 진행하지 않고 원본 이미지에 대해서 denoising을 수행합니다.
실험 결과 는 약 0.16일때 가장 뛰어난 성능을 보였고 T는 개수가 많으면 많을수록 성능이 향상되는 추이를 보였습니다.
PD-refinement 에서는 fixed stride를 통해 non-overlapping masking 을 진행하기 때문에 가 4로 고정되지만 에서는 에 대한 없다는 점 또한 장점이 될 수 있습니다.