새소식

딥러닝, 머신러닝/논문리뷰

Unsupervised Low-Light Image Enhancement via Histogram Equalization Prior

  • -

그림1

그림 1의 a 이미지처럼 조도가 낮은 상태에서 촬영된 이미지를 enhance 시키는 task를 다루고 있는 논문입니다.

코드는 2021년 12월 기준으로 아직 업데이트되어있지 않은 상태입니다.

 

1. Introduction

  • 저조도 이미지 향상을 다루는 CNN 기법들에는 pair(쌍) 데이터가 필요하지만, 실제 환경에서 이런 형식의 데이터를 준비하기는 매우 어렵다. 그래서 pair가 없는 Unsupervised Learning 방식들도 생겨났지만, Overfitting이 심한 결과를 보이고 있다.
  • 해당 논문에서는 히스토그램 균등화 사전(HEP)를 기반으로 하는 Unsupervised 이미지 향상 알고리즘을 제안함

 

2. Related Work

  • Conventional Methods (기존의 저조도 영상 개선 방법들) : 크게 GC(Gamma Correction), HE(Histogram Equalization), Retinex의 세가지가 있음.
    - GC : 이미지의 감마 곡선을 편집하고, 비선형 톤 편집을 수행하여 이미지 신호의 어두운 부분과 밝은 부분을 감지하고 두 부분의 비율을 높여 대비를 향상시키는 방법. 하지만 global parameters를 선택하기가 매우 복잡하고 local 영역에 과다/과소 노출이 발생할 수 있음.
    - HE : 픽셀 값을 고르게 분포시켜 이미지의 대비와 밝기를 향상시키고, 이미지의 동적 범위를 확장함. 조정을 전역적으로 적용하면 예상치못한 local 영역의 과다 노출이 발생하고 노이즈가 커질 수 있음. AHE(Adaptive Histogram Equalization), CLAHE(Contrast Limited Adaptive Histogram Equalization) - 원본 이미지를 더 선명하게 해줄 수 있는 방법(https://m.blog.naver.com/samsjang/220543360864)
    - Retinex : 색 불변성(color constancy)의 계산 이론. 이미지를 반사율 및 조명 맵으로 분해한다. Retinex 방법은 비현실적이거나 부분적으로 과도하게 향상된다. 
  • Deep learning based Methods
    - LL-Net : deep auto-encoder 기반으로 enhance 및 노이즈 제거를 수행한 방법
    - Retinex-Net : 저조도 향상을 위해 조명 맵을 조정함
    * 복원된 이미지는 여전히 noise 오염이 발생한다는 걸 문제점으로 지적하고 있음
  • Image to Image Translation : GAN 기반
    - CycleGAN
    - EnlightenGAN : 매개변수가 너무 많음

 

3. METHODOLOGY (해당 논문의 방법)

그림2

  • 텍스처 디테일을 복원하고 노이즈와 색상 편향(bias)을 줄이며 저조도 이미지 향상을 위해 선명한 가장자리(edges)를 유지하는 것이 목표
  • Histogram Equalization Prior
    - VGG Feature map을 사용하여 저조도 이미지와 HE(Histogram Equalization) 간의 지각(perceptual) 유사성을 제한하도록 할 수 있다.
    -  아래 그림3과 같이 저조도 영상의 feature map(b)은 의미 정보가 적은 반면, HE 기반의 향상된 영상의 feature map(d)는 의미 정보가 풍부하고 ground truth의 feature map과 유사하다. 
    - HE를 사용했을 때와 input을 그대로 사용했을 때 feature map 유사도(GT 대비) : 그림 4를 보면 HE 기반 데이터의 유사도가 1에 가까운 점을 봤을 때 pair데이터가 없는 상황에서 학습데이터로 사용해도 괜찮을 걸로 가정함, VGG-19 모델의 feature map을 시각화했을 때(그림5), 너무 깊어지면 더 모호하고 추상적으로 되고, 너무 가까우면  텍스트처 정보의 특정 세부 사항에 더 많은 관심을 기울이기 때문에, Conv4_1 계층의 feature map을 feature 유사도를 비교하는 데에 선택하기로 함

그림3
그림4,5

  • Light up
    - 1단계에서는 Retinex 이론 기반으로 이미지의 밝기를 향상시킨다
    - 반사율 맵 : 노이즈가 있는 복원된 이미지
    - 저조도 이미지를 반사율과 조명 맵으로 분해하는 신경망 설계하고, 그 다음 노이즈 제거를 위해 반사율 맵을 NDM으로 보낸다.(그림2 참조)
    - 조명 맵 : 구조적 경계를 유지하면서 텍스처 정보를 부드럽게 만들도록 조명 평활도 손실(illumination smoothness loss)을 수정함, 저조도 입력 이미지만 참조로 사용
    - Loss가 몇개 더 있는데 완벽하게 보시려면 직접 논문을 보시는 걸 추천드립니다.

조명 평활도 손실

  • Noise Disentanglement (ND)
    - 노이즈를 제거하고 콘텐츠 정보를 유지하기 위해 domain transfer 방식 사용
    - 그림2(b)와 같이 ND 모듈은 6개의 부분으로 구성됨
    1) 콘텐츠 인코더 EC_X, EC_Y (공유 매개변수로 인해 두 도메인의 콘텐츠 인코더가 동일하다고 간주함)
    2) 노이즈 인코더 EN
    3) 노이즈 도메인 이미지 생성기 GX
    4) clean 도메인 이미지 생성기 GY
    5) 노이즈 도메인 이미지 discriminator DX
    6) clean 도메인 이미지 discriminator DY
    - 노이즈 도메인의 학습 이미지 샘플 In과 clean 도메인의 학습 이미지 샘플 Ic가 주어지면 콘텐츠 인코더 EC_X, EC_Y는 해당 이미지 샘플에서 콘텐츠의 특징을 추출하고 노이즈 인코더 EN은 노이즈 이미지 샘플에서 노이즈 특징을 추출한다. 그 다음, GX는 노이즈 이미지 Ign을 생성하기 위해 clean 도메인의 콘텐츠 특징과 노이즈 도메인의 노이즈 특징을 취하고, GY는 깨끗한 이미지 Igc를 생성하기 위해 노이즈 도메인의 콘텐츠 특징을 취한다. 판별자 DX, DY는 실제 예제와 생성된 예제를 구별한다.
    - 개선된 이미지를 실제 일반 조명 이미지처럼 보이도록 하기 위해 실제 이미지와 출력 분포 사이의 거리를 최소화하는 Adversarial Loss를 사용함 (LSGAN)

그림6

4. RESULTS

결과 이미지

  • 다른 방식 대비 깔끔하게 이미지 향상이 잘된걸 확인할 수 있습니다.

 

Reference

https://arxiv.org/pdf/2112.01766.pdf

https://github.com/fengzhang427/HEP

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.