[2005.10825] Instance-aware Image Colorization
Instance-aware Image Colorization
Image colorization is inherently an ill-posed problem with multi-modal uncertainty. Previous methods leverage the deep neural network to map input grayscale images to plausible color outputs directly. Although these learning-based methods have shown impres
arxiv.org
1. Intro
grayscale img를 rgb로 바꾸는 task
- 2개의 missing ch 예측 : ill-posed 문제
- 색에 대한 다양한 선택지 가능한 경우 : multi modal
문제점
- 기존의 deep learning 기반 방법
- 배경에 다수의 object가 있는 경우 아래와 같이 결과 -
Fig 2
제안 : instance aware colorization
- complex background clutter을 다룰 필요 없음
- 배경과의 color confusion 피할 수 있음
- 구조
- 2개의 Colorization backbone
- Instance nw: instance crops 입력으로 받아 색 예측
- Full-img nw: 전체 grayscale img 입력으로 받아 색 예측
- 두 nw 구조는 같고 e2e 학습 (가중치는 공유 x)
- Fusion module
- 두 nw의 여러 레이어에서 나온 feature map을 selective하게 합침
- 이때 가중치를 학습해 어떤 부분을 어느 정보에 더 의존할지 결정
학습
- Step 1: Instance network 단독 training
- Step 2: Full-image network 단독 training
- Step 3: Fusion module training (이때 두 nw는 freeze)
→ 결과적으로 fusion module이 안정적으로 instance & full-image feature의 색상 조화 방식 학습 가능
2. Related Work
Scribble-based colorization
- colorization task는 multi-modal 문제이니 user scribble(hint)를 줌
- Edge detection 활용 [12]
- Texture similarity 활용 [26, 22]
- Intrinsic distance 활용 [35]
→ 그러나 모두 labor-intensive하다는 문제점
Example-based colorization
- ref img와 input grayscale img 사이 계산된 유사성을 기준으로 색 전파
Learning-based colorization
- deep learning 기반 : 대규모 데이터셋(예: ImageNet)에서 학습한 CNN based model로 mapping 예측
- semantic 정보와 multi-modality를 다룸
- 그러나 img 전체 또는 pixel level에서만
제안 : object-level semantics가 필요!
- cropped object img를 학습하고
- 1로 얻은 object-level feature와 full-image feature를 fusion
Instance-aware image synthesis and manipulation
- Instance-aware processing : clear figure-ground separation 가능
- 기존 연구와의 차별점
- 단일 / 다중 instance
- DA-GAN [23], FineGAN [30]: 단일 객체만
- vs feature fusion module로 multiple instances가 있는 복잡한 장면도 처리 가능
- non-overlapping / overlapping instance
- InstaGAN [25] : non-overlapping instance를 순차적으로 처리
- vs 잠재적으로 겹치는객체들을 동시 고려 → 더 공간적으로 일관된 colorization 가능
- Instance boundary / Learned weight maps
- Pix2PixHD [33]: instance boundary 활용
- vs 학습된 weight maps로 여러 instance feature들을 부드럽게 blending
3. Overview
Fig 3
4. Method
4.1. Object detection
- object detector로 off the-shelf pre-trained network, Mask R-CNN 사용
- 입력 grayscale img와 color gt에서 각각 객체 탐지 후 bounding box 기준으로 crop 해서 256*256 해상도로 resize
4.2. Image colorization backbone
- 구조
- 두 nw 동일한 구조(레이어 수 동일) 사용
- 그래야 이후에 feature fusion 시 레이어별 feature map 정렬 가능
- Backbone
- Zhang et al. [41]의 colorization nw 사용
- 단순히 두 nw 출력을 pixel 단위로 섞으면 겹치는 영역에서 artifact 발생
- 따라서 feature level에서 fuse 필요
4.3. Fusion module
- full-image feature와 multiple instance features를 어떻게 fuse?
4.4. Loss Function and Training
5. Experiments
5.1. Experimental setting
Datasets
- ImageNet [28]
- training : ImageNet train split (약 130만 장) 사용
- test : Zhang et al. [17]이 제공한 ctest10k (테스트 1만 장) 사용
- COCO-Stuff [2]
- ImageNet는 object centric
- 반면 복잡한 장면 포함 (다중 객체 + 다양한 배경)
- 이미지 수: 118K
- 모든 이미지에 bounding box, instance segmentation, semantic segmentation annotation 제공
- 평가: 원래 validation set (5천 장) 사용
- Places205 [43]
- 도메인 일반화 성능(transferability) 확인용
- 평가: test split의 20,500장 (205 categories) 사용
- test에만 사용
Evaluation Metrics
5.2. Quantitative comparisons
Comparisons with SOTA
- 첫 번째 블록 (Table 1):
- ImageNet으로 학습한 모델들을 ImageNet, COCO-Stuff, Places205에서 평가
- 모든 데이터셋에서 최근 방법들보다 +
- 두 번째 블록 (Table 1, with “*”)
- COCO-Stuff로 fine-tuning
- COCO-Stuff는 훨씬 복잡하고 다양한 장면을 포함하므로, fine-tune 시 성능이 세 데이터셋 다 성능 +
- Table 2
- 전체 img gt와 예측 결과에서 gt bounding box를 기준으로 잘라서 instance-level 평가셋을 만듦
- 즉, 각 객체 단위 성능을 직접 측정
User study
- vs
- ours
- Zhang et al. [37] (COCO-Stuff로 fine-tuned된 strong baseline)
- DeOldify [1] (대중적으로 많이 쓰이는 online colorization 방법)
- Settings
- COCO-Stuff validation set에서 무작위 100장 이미지 선택.
- 24명 참가자에게 컬러화 결과 2개를 나란히 보여주고, 선택
- 결과
- Instance-aware: 61% / Zhang et al.: 39%
- Instance-aware: 72% / DeOldify: 28%
- * DeOldify:
- 벤치마크 실험(PSNR, SSIM, LPIPS)에서는 정확도가 낮지만
- 채도가 높고 화려한 색감을 내는 경우가 많아서, 일부 사용자들은 더 선호하기도 함
5.3. Visual results
6. Conclusion
객체 단위 정보와 전체 이미지 문맥을 함께 학습하고, 이를 fusion module로 합쳤다!
-
댓글 영역