소소한 개발 공부
논문 리뷰: Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement (CVPR2020) 본문
논문 리뷰: Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement (CVPR2020)
이내내 2022. 11. 21. 17:35Chunle Guo, Chongyi Li, Jichang Guo, Chen Change Loy, Junhui Hou, Sam Kwong and Runmin Cong. Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement. In CVPR, 2020. paper link
분석한 내용에 대해 정리한 자료입니다.
이하의 내용은 본인의 해석이 추가되어 있으므로 자세한 사항은 논문을 보시는 것을 추천드립니다.
1. Introduction
본 Zero-DCE 모델은 저조도 이미지에 대한 Light Enhancement curve (이하 LE-curve)를 생성해 이미지를 개선, 향상합니다.
이때 LE-curve는 입력 이미지의 동적 범위에서 픽셀별로 픽셀 값을 조정하는 데 사용되며 미분 가능하므로 매개변수를 학습할 수 있습니다.
이 모델의 특징은 다음과 같습니다.
1) 학습 데이터에 독립적인 최초의 저조도 향상 네트워크
다른 이미지에 의존하는 것이 아닌 입력 이미지에만 의존하므로 어떤 데이터셋에 대한 과적합을 방지할 수 있습니다.
또한 다양한 조명 조건에서 일반화할 수 있습니다.
2) 곡선에 대해 반복적으로 학습해 동적 범위 내에서 고차 곡선(LE-curve)을 효과적으로 매핑
매개변수에 대한 학습이 반복되기 때문에 LE-curve 를 더욱 효과적으로 추정 및 매핑할 수 있습니다.
3) non-reference loss 함수로 reference 이미지가 없는 경우에도 모델 학습 가능
기존의 다른 image to image 학습의 경우 reference 이미지와 input 이미지의 loss로 학습을 수행했던 반면,
Zero-DCE 모델은 non-reference loss 함수로 모델을 학습합니다.
이러한 loss 함수는 총 4가지로 아래와 같습니다.
- spatial consistency loss 공간 일관성 손실
- exposure control loss 노출 제어 손실
- color constancy loss 색상 항상성 손실
- illumination smoothness loss 조명 평활성 손실
2. Methodology
Zero-DCE의 구조는 2가지로 구성됩니다.
1.DCE-Net
2. LE-curve
각 단계와 loss를 거쳐 저조도 이미지를 개선할 수 있습니다.
1. DCE-Net
저조도 이미지를 입력으로 받아
LE-curve에 대한 픽셀 단위 curve 매개변수 맵을 출력하는 심층 네트워크입니다.
7개의 convolution layer를 가진 CNN으로
각 layer는 32개의 3*3 convolution 커널을 가지고 있으며 1 stride를 적용하고, 활성화 함수로는 ReLU를 사용합니다.
마지막 layer에서는 Tanh 함수로 3개의 채널에 대한 3개의 매개변수 맵을 도출합니다.
이 논문에서는 반복 횟수 n = 8로 지정해뒀기 때문에 3 * 8 = 24 개의 매개변수 맵이 출력됩니다.
이 DCE-Net은 256*256*3 입력 이미지에 대해 79,416개 학습 매개변수만을 사용하며, 이때 5.21G FLOPS만 소모하므로 가벼우며 모바일 기기에서도 사용 가능하다는 장점이 있습니다.
* FLOPS: FLoating point Operations Per Second 초당 부동소수점 연산 횟수
2. LE-Curve
이제 LE-curve를 입력 이미지에 적용시켜 개선된 이미지를 출력합니다.
이때 LE-curve는 다음의 목표를 가집니다.
1) 오버플로 절단에 의한 정보 손실을 방지하기 위해 향상된 이미지의 각 픽셀 값이 정규화된 범위 [0,1]에 있어야 함
2) 곡선은 인접 픽셀의 대비를 보존하기 위해 monotonus 해야함
3) 곡선의 형태는 가능한 한 단순해야하고, 역전파 과정에서 미분 가능 해야 함
* monotonus: 단조 함수, 줄곧 상승하거나 줄곧 하강, 주어진 순서를 보존
https://en.wikipedia.org/wiki/Monotonic_function
Monotonic function - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search Order-preserving mathematical function Figure 1. A monotonically non-decreasing function. Figure 2. A monotonically non-increasing function Figure 3. A function that is not monotonic I
en.wikipedia.org
위의 목표를 만족하는 등식은 아래와 같습니다.
LE: 향상된 이미지
I(X): 입력 이미지
x: 픽셀 좌표
α: LE-curve 규모 조절 / 노출 수준 조절용 학습 매개변수. [-1, 1] 값
이미지의 각 픽셀은 [0,1]로 정규화되며, 모든 작업이 픽셀 단위로 이뤄집니다.
또한 LE-curve는 RGB 채널 각각에 적용됩니다.
이 LE-curve를 더 다양하고 challenging 한 환경에서도 사용하기 위해 위의 등식을 아래처럼 조정됩니다.
n: 반복횟수, 논문에서는 8을 사용
이 n에 따라 DCE-Net의 매개변수 맵 개수가 달라집니다.
여전히 LE-curve는 global(전역적)하게 적용되기 때문에 로컬 영역을 위한 조정이 필요합니다.
이에 대해 Pixel-wise curve (픽셀 단위 곡선)가 최종적으로 도출됩니다.
여기서 A_n은 지정된 이미지와 크기가 동일한 매개변수 맵으로 DCE-Net에서 출력된 매개변수 맵입니다.
n의 값에 따라 이전 향상된 이미지와 DCE-Net 매개변수 맵이 입력으로 들어가고 n번째 LE가 도출되는 것이라 볼 수 있습니다.
3. Non-reference Loss
Zero-DCE는 Non-reference loss에 의해 학습 매개변수를 갱신하게 됩니다.
1) spatial consistency loss 공간 일관성 손실
input-output 이미지 사이 인접 로컬 영역의 차이(대조)를 보존함으로써 향상된 이미지의 공간 일관성을 장려합니다.
이때 로컬 영역은 임의로 4*4로 정의합니다.
K: 로컬 영역의 수 (number of local region)
Ω(i): 영역 i를 중심으로 하는 4개의 인접 영역 (상하좌우)
Y: 향상된 이미지
I: 입력 이미지
2) exposure control loss 노출 제어 손실
output 이미지의 노출 수준을 제어하는 역할을 합니다.
로컬 영역의 평균 노출 intensity 값과 노출 수준 사이의 distance를 측정합니다.
M: 크기 16*16인 중복되지 않는 로컬 영역의 수
Y: 향상된 이미지의 로컬 영역의 평균 노출 intensity 값
E: 노출 수준. RGB 색 공간의 gray level로 설정
[0.4, 0.7] 내에서 성능 차이를 발견하진 못했으나 0.6으로 설정
3) color constancy loss 색상 항상성 손실
향상된 이미지의 잠재적인 색상 편차를 수정하고 조정된 RGB 채널간 관계를 구축합니다.
-> 어느 한 색상이 사진을 덮는 color cast를 방지하는 역할을 합니다.
𝐽𝑃 : 향상된 이미지에서 p 채널의 평균 intensity 값
(p, q) : 채널 쌍
4) illumination smoothness loss 조명 평활성 손실
인접한 픽셀 간 monotonicity(단조성) 관계를 보존합니다.
N: 반복 횟수
∇x, ∇y: 수평 및 수직 기울기 연산
5) Total loss
위의 4가지 loss를 조합하여 Zero-DCE를 학습하는 total loss입니다.
W는 해당 loss의 가중치를 나타내며, 가중치에 따라 loss의 영향력을 조절할 수 있습니다.
결론
본 논문의 Zero-DCE는 입력 이미지를 DCE-Net에 넣어 매개변수 맵을 만들고, 이 매개변수 맵과 입력 이미지를 이용해 개선된 이미지를 도출해내는 Low-light image-enhancement 모델입니다.
이때 non-reference loss를 활용해 reference 이미지 없이 매개변수를 학습할 수 있으며 더 나은 이미지를 출력하게 됩니다.
이 모든 과정을 거쳐 저조도 이미지를 이상적인 조도의 이미지로 개선할 수 있습니다.