PSENet
PSENet: Progressive Self-Enhancement Network for Unsupervised Extreme-Light Image Enhancement
Paper: https://arxiv.org/pdf/2210.00712v1.pdf
Overall
해당 논문에서는 많은 LLIE 모델들이 over-exposure 에 robust하지 못한 점을 해결하기 위한 방법론을 제시합니다.
Supervised model 들은 Under/Over exposure - GT pair가 존재한다면 over-exposure에 대해서도 학습이 가능하지만, 데이터를 마련해야 하는 한계를 극복하기 위해, 'Pseudo GT' 를 생성하여 Unsupervised learning을 진행하는것이 논문의 핵심이라고 할 수 있습니다.
PSENet 은 zero-dce와 유사하게 gamma map 을 학습하는것을 목표로 합니다.
Reference Image generator에서 synthesis image를 생성하고, Input image와 이전 epoch(iter) 의 Output image 를 합성하여 Pseudo GT 를 생성합니다.
생성한 Pseudo GT와 현재 model state에서 나온 gamma 를 적용한 output 사이의 loss를 통해 학습을 진행합니다.
Pseudo GT를 만들 때, previous epoch(iter)의 모델에서 나온 Output image를 포함하여 current epoch(iter) 에서 나오는 pseudo GT의 품질이 최소한 저번 epoch(iter) 의 품질 보다는 나아질것이라는 가정 할 수 있고, 따라서 pseudo GT의 퀄리티 또한 점진적으로 상승하는것을 기대할 수 있게됩니다.
PSENet은 Pseudo GT를 검증하기 위한 간단한 network입니다.
mobilenet v2, v3로 이루어진 간단한 u-net 구조를 가지고 있습니다. (about 50k params)
모델을 통해 나온 를 input image에 mapping 하여 최종 output을 얻어냅니다.
Details
Reference Image Generator
Reference image generator를 통해서 N개의 darken image와 N개의 brighten image가 생성됩니다.
위 2N 개의 under/over exposure image를 생성하기 위해서 gamma mapping function을 사용하는데, 카메라의 linear function 대신 power function을 사용합니다.
또한 gamma mapping function을 원본 이미지에 바로 적용하는것이 아니라, haze removal method와 유사하게 inverted image에 적용합니다.
코드에서는 under exposure (-2~0), over exposure (0~3) 의 범위를 사용하였습니다.
Pseudo GT Image Generator
Pseudo GT generator에서는 reference Image Generator에서 나온 synthesized image 2N장, Input Image, Output Image(-1th epoch) 로 구성된 을 합쳐서 Pseudo GT Image를 생성합니다.
Pseudo image를 생성하기 위해서 에 대해 well-exposedness score , local contrast , color saturation score를 계산합니다. 이 때 score를 계산하고 이미지들을 합치는 기본적인 아이디어는 [1] 와 유사합니다.
의 well-exposedness score , local contrast , color saturation 를 구하는 방법은 아래와 같습니다.
- well-exposedness score
well-exposedness score는 해당 픽셀이 kernel 안에서 well-exposed region에 속해있는 정도를 나타냅니다.
well exposed level (0.5) 와 의 픽셀 평균값의 L1 distance를 구하여 산출합니다.
-
Local Contrast
kernel 안에서의 local variance 값을 나타냅니다.
-
Color saturation
HSV space의 saturation을 계산하여 해당 픽셀의 색 선명도를 산출합니다.
-
Pseudo GT
보기 좋은 이미지는 낮은 well-exposedness score , 높은 local contrast , color saturation 을 가지고 있다는 가정 하에 의 모든 이미지에 대해서 final score를 아래와 같이 계산할 수 있습니다.
참고 논문 [1] 에서는 의 final score를 계산하여 각 이미지 들에 weighted sum 으로 적용하여 pseudo GT 를 얻어냈지만, 해당 논문에서는 argmax를 적용하여 해당 region을 best image에서 그대로 가져오는 방법을 사용하여 pseudo GT image를 생성합니다.
Loss
Pseudo GT와 model output 를 적용시킨 enhanced image 에 대해서 L1 Loss를 사용합니다.
또한 인접 픽셀의 갑작스러운 gamma value 변화를 방지하기 위해, Gamma map 에 대해 total variance loss를 사용합니다.
최종적으로 Total loss는 reconstruction loss + weight * tv loss 로 얻게 됩니다.
Experiments
- Comparison
- 기존 모델 + Pseudo GT를 적용했을 때의 PSNR
- Custom data
학습 중의 Pseudo GT image. under/over exposure region이 구분되는것을 볼 수 있습니다.
(input, output, pseudo GT)
다른 Unsupervised 모델에 적용하는것을 생각해 볼 수 있겠습니다.
Refs
[1] Kede Ma, Kai Zeng, and Zhou Wang. Perceptual quality assessment for multi-exposure image fusion. TIP, 24(11):3345–3356, 2015