본문 바로가기
My Paper/HDR

Inverse Tone Mapping Operator Using Sequential Deep Neural Networks Based on the Human Visual System

by HanByol Jang 2021. 12. 2.
728x90

넓은 dynamic range (동적 범위)를 보여주는 디스플레이가 발전함에 따라, 기존의 좁은 dynamic range를 가지는 이미지의 range를 넓혀주는는 기술이 대두되고 있습니다. 이 기술을 inverse tone mapping operator (ITMO) 라고 합니다. 이 논문은 neural network를 활용해 low dynamic range (LDR) 이미지를 high dynamic range (HDR) 이미지로 변환시켜주는 논문입니다. 해당 논문은 IEEE ACCESS에 게재되었습니다.

https://ieeexplore.ieee.org/document/8466589


Introduction

Dynamic Range

위 그림을 보면 알수 있듯이, human visual system (HVS)의 동적 범위(dynamic range)는 굉장히 넓은데 비해, 일반 디스플레이가 보여주는 동적 범위(LDR)는 한정적입니다. 그렇다보니 너무 어둡거나, 너무 밝은 곳을 볼때 동적 범위가 넓은 인간의 눈은 비슷한 밝기일지라도 단계를 구분해서 인지합니다. 하지만 동적 범위가 좁은 LDR 이미지는 해당 영역을 모두 같은 밝기로 만들어버리기 때문에 정보가 사라지는 단점이 있습니다.

위 그림은 LDR 이미지와 HDR 이미지의 극단적인 예시입니다. (논문과 포스팅에서 보여지는 HDR 이미지들은 모두 일반 디스플레이에 맞게 Tone mapping 한 HDR 이미지들입니다.)

어두워서 구분이 되지 않았던 LDR 이미지에 비해 HDR 이미지에서는 밝기차이를 두어 선명하게 구분이 되는 것을 알 수 있습니다.

이렇게 성능이 좋은 HDR 이미지를 생성하는 전통적인 방법은 eposure value를 다양하게 설정하여 촬영한 여러장의 LDR 이미지들을 합성하는 것입니다. 하지만 여러장의 LDR 이미지를 물체가 움직이지 않게 찍기가 어렵고, 기존에 한장만 있던 이미지들은 HDR로 만들 수 없습니다. 그러므로 한장의 LDR를 가지고 dynamic range를 확장시켜 HDR로 변환시키는 Inverse Tone Mapping Operator (ITMO) 연구들이 활발히 진행되고 있습니다.

 

다양한 ITMO 방법들이 존재했지만, 특정 이미지들에서만 효과가 있었고 그마저도 성능이 뛰어나지는 않았습니다. 하지만 neural network 기술이 각광받은 뒤로 ITMO 영역에도 neural network 기술이 적용되었고 훨씬 좋은 성능을 보이고 있습니다.


HDR Generation Process

Overall framwork

해당 논문에서는 위의 그림의 순서대로 진행하여 LDR 이미지를 HDR 이미지로 변환시킵니다.

총 4가지 단계로 진행됩니다.

1) RGB 이미지를 CIE L*a*b* Color Space로 변경하여 luminance (밝기)와 chromatic (색) 를 분리

2) LDR의 luminance를 HDR의 luminance로 변환하는 학습 (Dynamic Range Learning)

3) 1)에서 분리된 chromatic과 2)에서 생성된 luminance를 결합한 뒤, HDR과의 색차이 학습 (Color Difference Learning) 

4) 3)에서 생성된 luminance와 chromatic를 RGB Color Space로 변경


Pre-Processing

1. Color Space Conversion

LDR 이미지와 HDR 이미지의 가장 큰 차이점은 밝기입니다. LDR 이미지보다 HDR 이미지의 밝기가 좀 더 세분화 되어있고 넓은 범위를 가지고 있습니다. 그러므로 해당 논문에서는 가장 큰 차이를 보이는 밝기를 변환시키는것에 초점을 맞췄습니다. 먼저 밝기를 분리시키기위해 다양한 색공간 중 밝기와 색으로 나뉘어진 CIE L*a*b* 색공간으로 변환을 시켜줍니다. L*은 밝기를 표현하고 a*, b*는 색을 표현합니다.

RGB to CIE L*a*b*

위와 같은 식을 통해 RGB 색공간에서 CIE L*a*b* 색공간으로 변환을 시킬 수 있습니다. 변환된 L*은 0~100 사이의 값으로 매핑되고 0이면 어두운 검은색, 100이면 밝은 흰색으로 표현됩니다.

위 그래프는 LDR과 HDR 이미지의 RGB, L*a*b* color space에서의 각 채널별 차이입니다. LDR과 HDR사이에 RGB 값이 모두 골고루 차이가 많이 나고 있는 것을 확인할 수 있습니다. 반면에, L*a*b에서는 L*의 값이 월등히 많이 차이가 나고 색관련 a*, b*의 차이는 적음을 볼 수 있습니다.

그러므로 논문에서는 차이가 심하게 나는 L* 값에 초점을 맞춰 학습을 진행했습니다. 

 

2. Log Transformation

LDR 이미지는 8bit 이미지인 반면, HDR 이미지는 보통 10bit 이상이기 때문에 서로의 픽셀값 차이가 굉장 큽니다. 예를들어 LDR 이미지가 가지는 값의 범위는 [0-255]라고 하면, HDR 이미지는 [0-2^10] 의 범위를 가집니다.

학습하려는 도메인간의 차이가 크면 neural network 학습이 어려울 수 있기 때문에, Log 변환을 통해 값 차이를 줄여 학습이 용이하도록 하였습니다.

위 그림은 최종적으로 전처리가 완료된 LDR과 HDR의 logL* 이미지입니다.

밝은 구름영역에서 구분이 힘들었던 LDR 이미지에 비해 HDR 이미지에서는 확연히 구분이 가능한 것을 볼 수 있습니다.


Neural Network Architecture

1. Dynamic Range Learning

전처리가 완료된 LDR가 HDR의 luminance 이미지를 각각 input과 label로 학습을 진행합니다.

Dynamic range network

U-net 기반의 네트워크로 여러 convolution layer를 지나면서 HDR의 밝기패턴으로 변하도록 학습을 진행합니다.

일반 U-net과 비교하여 2가지 부분에서 차이점이 있습니다.

 

첫번째로 이미지를 blur하게 만들고 halo artifact까지 발생시키는 3x3 convolution layer 대신 1x1 convolution layer를 사용하여 pixel 간의 학습에 집중하였습니다. 다만, 1x1 convolution은 주변정보를 통해 계산되지 않다보니 global 정보를 볼 수 없다는 단점이 있습니다. 그러나, 학습전략으로 패치단위로 이미지를 넣어준게 아니고 전체 이미지를 넣어주었고 resolution을 줄였다 늘리는 auto-encoder 형태의 U-net을 사용함으로써, global 정보도 충분히 반영되도록 학습을 진행시켰습니다.

 

두번째로는 deconvolution layer 대신 bilinear upsampling layer를 사용했습니다. Decorder 부분에서 많이 사용하는 deconvolution layer를 사용하게 되면 밝은 부분에서 checkerboard artifact가 두드러지게 보입니다. 이는 이미지 사이즈를 키우는 과정에서 다수의 convolution layer에서 생성된 이미지들이 overlap되기 때문에 발생하는 것입니다. 그러므로 단순하게 bilinear 방식으로 이미지 사이즈를 키워 checkerboard artifact가 생기지 않도록 방지하였습니다.

 

Loss function으로는 luminance간 L2-norm을 사용했습니다.

 

2. Color Difference Learning

Dynamic range learning을 통해 LDR 이미지의 luminance를 HDR 이미지의 luminance처럼 변환됩니다. 하지만 앞선 그래프에서 볼 수 있듯이 LDR과 HDR 사이 색상(a*, b*) 차이가 아예없는 것은 아닙니다.

위 그림은 HDR의 L*과 LDR의 a*b*을 합친뒤 RGB로 바꾼 결과입니다. 확연히 색상차이가 나타나는 것을 볼 수 있습니다.

그러므로 luminance를 완벽히 구현한다할지라도 색상에 대한 학습도 필요한 것을 알 수 있습니다.

Color difference network

Dynamic range learning에서 사용한 네트워크와 동일한 구조입니다. Input 이미지로는 dynamic range learning 결과 생성된 luminance (L*)와 LDR 이미지의 chromatic (a*b*)를 합친 3 channel이고 Label 이미지로는 HDR의 L*a*b* 3 channel 이미지입니다.

 

Color difference leargning이기 때문에 네트워크는 색상 차이를 학습해야만 합니다. 그러므로 loss function으로 인간의 인지 시스템 (HSV)을 고려하여 정의된 색상 차이를 활용했습니다.

단순하게 RGB color space에서 euclidean distance의 값은 인간이 인지하는 색상 차이와 correlation이 낮습니다. 반면 L*a*b* color space에서의 euclidean distance는 인간이 인지하는 색상 차이와 correlation이 높습니다.

즉, HVS를 고려하는 색상 차이 수식은 아래와 같이 정의되어 있고 이를 deltaE1976라고 합니다.

Color difference learning은 deltaE1976를 loss function으로 사용하여 인지 시스템을 고려한 색상 차이를 학습하였습니다.


Dataset

논문에서는 LDR-HDR pair한 8156장의 데이터를 학습에 사용하였습니다.

먼저 12~14 bit의 raw 이미지 데이터를 다운받고 (RAISE dataset), 해당 데이터를 5개의 exposure value (EV = -2, -1, 0, 1, 2) 를 적용하여 8bit로 압축하였습니다. 총 다섯개의 EV를 가지는 이미지들을 Adobe Photoshop의 HDR PRo algorithm을 통해 합성시켜 HDR 이미지를 생성합니다. 그리고 EV =0인 이미지를 LDR 이미지로 구성합니다.

LDR-HDR pair dataset

LDR 이미지 (윗줄)와 HDR 이미지 (아랫줄) 예시입니다. 너무 어둡고 너무 밝은 영역이 LDR에서는 구분이 힘들었는데, HDR 이미지에서는 구분이 되는 것을 확인 할 수 있습니다.

 

전체 8156장에서 8000장을 training과 validataion으로, 156장을 test로 사용하였습니다.


Results

1. Dynamic Range Learning

Dynamic range learning result

(a)는 LDR의 luminance 이미지이고, (b)는 HDR의 luminance 이미지, (c)는 dynamic range learning 결과 생성된 luminance 이미지입니다. (a)를 가지고 (c)로 변환된것으로 실제 HDR처럼 luminance를 만드는 것을 볼 수 있습니다.

 

2. Color Difference Learning

Color difference learning result

(a)와 (b)는 각각 LDR, HDR 이미지입니다. (c)는 LDR의 a*b*와 dynamic range learning 결과 생성된 L*을 합친것으로 색상이 실제 HDR (b)와 다름을 확인 할 수 있습니다. 

(d)는 L*a*b* color space로 전환하여 밝기와 색상을 분리시켜 학습한 것이 아니고, RGB color space에서 바로 학습을 진행한 것입니다. 앞선 그래프에서 봤듯이, LDR과 HDR간 R, G, B channel 모두 차이가 많이 났었습니다. 이렇게 차이가 많이 나는 학습에 대해서는 네트워크가 방향을 잡지 못하여 학습 성능이 떨어지는 것을 볼 수 있습니다.

최종적으로 (e)는 dynamic range learning 결과 생성된 L*과 LDR 이미지의 a*b*를 결합한 뒤, 순차적으로 color difference learing을 진행한 논문에서 제안한 방법입니다. 실제 HDR (b)와 가장 유사하게 생성하는 것을 알 수 있습니다.

 

3. Comparison with conventional ITMO

다른 ITMO와의 비교

(a)와 (b)는 각각 LDR, HDR 이미지입니다. (c), (d), (e)는 각각 Akyuz, Huo, Eilertsen의 ITMO로 생성한 HDR 이미지입니다. 마지막 (f)는 논문에서 제안한 ITMO로 생성한 HDR 이미지입니다.

기존 기술들과 비교하여 밝기 측면 뿐 아니라 색상에서도 실제 HDR과 가장 흡사한 것을 볼 수 있습니다.

 

4. Other Dataset not used for training

학습에 사용하지 않은 데이터셋의 결과

(a)와 (b)는 각각 LDR, HDR 이미지입니다. (c)는 논문에서 제안한 ITMO로 생성한 HDR 이미지입니다.

위 데이터셋은 학습에 사용하지 않은 데이터셋(Fairchild, HDR-Eye dataset)으로 촬영한 카메라의 종류, 카메라 세팅, HDR 이미지의 bit수, 표현하는 EV의 범위 등 모든 것이 다른 데이터셋입니다. 그렇지만 이질감이 크게 느껴지지않게 HDR 이미지를 생성하고 있는 것을 확인 할 수 있습니다.

 

728x90

댓글