논문 읽기/Self-Supervised

[논문 읽기] Colorful Image Colorization(2016)

AI 꿈나무 2021. 7. 2. 15:15
반응형

 안녕하세요, 오늘 읽은 논문은 Colorful Image Colorization 입니다.

 

 

 해당 논문은 gray scale image를 입력받아 colorization을 합니다. lightness channel L이 주어지면, 모델은 그에 해당하는 color channels인 a와 b를 예측합니다. 색상은 CIE Lab colorspace를 사용합니다. 저자의 목적은 ground-truth와 동일한 colorization이 아니라, 사람을 속일 수 있는 colorization입니다.

 

CIE Lab colorspace

 

 저자는 colorization이 multimodal task라고 말합니다. 많은 객체들은 하나의 색상을 갖고 있는 것이 아니라, 여러 색상이 될 수 있습니다. 예를 들어, 사과는 항상 빨강색이 아니라 초록색, 노랑색 사과일 수 있습니다. 이 multimodal 문제를 풀기 위해 rare color에 높은 가중치를 가하도록 loss function을 수정하고, 새로운 CNN 구조를 제안합니다. 또한 최종 colorization은 분포의 annealed mean을 취하여 계산합니다.

 

 이렇게 colorization을 위해 특징을 학습한 CNN은 downstream task로 transfer되어 classification, detection에서 좋은 성능을 보여줍니다. 물론 imageNet dataset으로 학습된 CNN보다는 낮은 성능을 갖습니다. 이는 clolorization을 위해 학습한 특징이 classification과 detection에도 도움이 된다는 것을 의미하며, colorization에서 데이터는 labeling이 필요 없으므로 self-supervised learning이 가능하다는 것이 의미가 있습니다.

 

Approach

 모델 구조는 다음과 같습니다. 모델은 Color ab를 예측하고, 마지막에 lightness channel L을 더하여 colorization을 합니다.

 

 

(1) Objective Function

 입력 lightness channel은 HxWx1 차원입니다. 모델은 Y=F(x)를 예측하며, ground truth인 Y는 HxWx2 채널을 갖습니다. 

 

 손실 함수는 L2 loss를 사용합니다. 예측값과 정답값 사이에 Euclidean 거리차이를 측정하는 것입니다.

 

 

 하지만, 이 loss는 colorization의 multimodal problom에 적합하지 않습니다. 사과에 해당하는 정답값 a,b 이미지 채널은 노랑색, 빨강색, 녹색이 될 수 있기 때문입니다. 위 식처럼 평균을 취하는 것은 grayish, desaturated result를 도출합니다. 

 

 

 따라서 위와 같이 ab output space를 grid size 10으로 quantize합니다. multinomial classification 문제로 다루기 위함입니다. 전체 Q=313 값들을 얻는데, 이는 313 개의 ab 값들의 수 입니다. 또한 정답값 Y도 함수를 사용하여 vector Z로 변경합니다. quantize 된 값들과 비교를 하기 위해 함수를 사용합니다. 결국 아래와 같은 Loss function으로 수정을 합니다.

 

 

 v는 color-class에 대해 loss를 rebalance하는 역할을 합니다. reblance에 대해서는 아래에서 살펴보겠습니다. 또한 예측값 $\hat{Y}$=H($\hat{Z}$)로 매핑하는 함수도 아래 항목에서 살펴보겠습니다.

 

(2) Class rebalancing

 ab 값의 분포는 낮은 ab 값에 편향되어 있습니다. 구름, 도로, 먼지, 벽과 같은 배경의 존재 때문입니다.

 

 

 위 그림이 ImageNet tranining image에 대해 ab공간에서 pixel의 분포를 보여줍니다. 그림을 보면 saturated value보다 desaturated value값에 많은 pixel이 존재합니다. 이 지배적인 desaturated ab values를 다루기 위해 loss function에서 weight를 가합니다. 즉, class-imbalance 문제를 각 pixel의 reweighting loss로 해결하려 합니다.

 

 

 w는 가중치입니다. 각 pixel은 w에의해 가중치를 받습니다. $\lambda$는 1/2, $\sigma$는 5를 사용합니다.

 

(3) Class Probabilities to Point Estimates

 

 결과 확률을 출력하기 위하여 Knowledge distillation의 annealed-mean을 사용합니다.

 

 

 T값에 따라 출력값이 softer해지는데, 이 방법이 colorization에서 발생하는 multimodal 문제를 잘 다루고 ab 색상을 잘 나타냅니다.

 

Experiments

 Colorization을 위해 학습한 CNN을 freeze한 후, ImageNet Classification과 PASCAL Classification, detection task에 fine-tunning한 결과입니다.

 

 

 legacy image에 colorization을 수행합니다.


참고자료

[1] https://arxiv.org/abs/1603.08511

반응형