White Balance광원의 영향을 지우고 표면색을 되찾는 일 — ISP에서 색을 다루는 모든 사슬의 시작점
색항상성(color constancy)은 “광원의 색을 추정해 제거”하는 것이고, 화이트밸런스(white balance)는 “그 추정 게인을 적용해 무채색을 무채색으로” 만드는 것이다. 둘은 같은 동전의 양면이며, 인간 시각이 조명이 바뀌어도 사과를 빨갛게 보는 능력을 카메라에 부여하는 문제다. 이 단원은 색을 다루는 ISP 사슬의 시작점이다.
CIE 1931 색도도 & Planckian Locus
click → CCT 읽기색도도는 밝기를 제거한 색(chromaticity)의 지도다. 말발굽 경계는 단색광, 내부는 혼합색이며, 검은 곡선이 Planckian locus — 흑체(텅스텐 ~2700K → 주광 ~6500K → 그늘)가 그리는 광원의 색 궤적이다. 화이트밸런스란 결국 장면 광원이 이 위 어디에 있는지를 추정하는 일이다. 캔버스를 클릭/드래그하면 그 점의 (x, y)와 근사 색온도(CCT)를 읽는다.
관측 하나로 광원과 표면을 동시에 풀 수 없다
카메라 채널 의 응답은 광원 분광 , 표면 반사율 , 채널 분광감도 의 곱을 가시광 에 대해 적분한 값이다.
관측치 하나로부터 와 를 동시에 분리하는 것은 근본적으로 **미결정(ill-posed)**이다 — 서로 다른 (광원, 표면) 조합이 같은 RGB를 만들 수 있기 때문이다(metamerism). 그래서 색항상성은 항상 **가정(prior)**을 필요로 한다.
대각(von Kries) 가정
흰색 표면()에 대한 광원의 센서 응답을 라 하면, 색항상성은 보통 각 채널을 독립적으로 스케일링하는 대각 변환으로 근사한다. 이것이 화이트밸런스 게인이다.
여기서 보정은 대각 행렬 에 의한 정규화다. 이 대각 가정은 색순응 변환(CAT)의 von Kries 모델과 같은 뿌리다 — 정밀하게는 LMS/Bradford/CAT16 공간에서 적응하는 것이 더 정확하며, “대각 WB가 언제·왜 부정확한가”는 CAT16 관점으로 정량화된다(→ §1 색채과학과 cross-link).
자유도와 문제의 변종
밝기를 제외하면 광원 추정의 자유도는 사실상 2(예: u/v 또는 색온도·tint)다. 보통 또는 로 정규화한다. 문제는 가정하는 광원 수에 따라 갈라진다:
- 단일 광원(single-illuminant) — 장면 전체에 하나의 . 고전·대부분 딥러닝의 기본 설정.
- 다중/혼합 광원(multi-/mixed-illuminant) — 실내 조명 + 창문 빛처럼 공존. 글로벌 가정이 깨진다.
- 공간 가변(spatially-varying) WB — 픽셀마다 광원이 다름. 픽셀별 illumination map을 추정(→ LSMI, §5.8).
angular error, 그리고 그 친척들
색항상성의 표준 지표는 추정 광원 벡터 와 정답 사이의 **각오차(angular error)**다. 밝기(벡터 크기)는 무시하고 색 방향만 보겠다는 뜻이다.
데이터셋 전체에 대해서는 분포가 비대칭이므로 평균 하나로 요약하지 않고 **mean · median · trimean · best-25% · worst-25%**를 함께 보고한다. worst-25%(최악 사분위 평균)는 알고리즘이 크게 실패하는 경우를 드러내 실무에서 특히 중요하다. 이 밖에 Finlayson의 reproduction error(보정 후 흰색이 얼마나 흰지)도 쓰인다.
Angular Error 계산기
두 광원 벡터 → 각오차추정 ê
정답 e
경험칙: 3° 이하면 대체로 양호, 1° 이하는 매우 정확, 6° 이상은 눈에 띄는 색 틀어짐.
두 벡터를 직접 넣어 각오차가 어떻게 변하는지 보라. 정답과 추정의 방향만 비교하므로 두 입력에 같은 상수를 곱해도 값은 불변이다(크기 무관).
광원을 씌우고, 알고리즘이 되찾게 하기
합성 장면에 광원 색을 입힌 뒤, 고전 알고리즘들이 그 광원을 얼마나 잘 추정하는지 직접 보라. 추정 광원으로 대각 보정한 결과가 원본에 가까워질수록 angular error가 0에 수렴한다. Minkowski p를 키우면 Shades of Gray가 Gray World()에서 White Patch()로 연속 변형되는 것을 관찰할 수 있다.
Color Constancy Playground
GT illuminant 추정관찰 포인트. Gray World는 장면 평균이 무채색이라 가정 — 색이 한쪽으로 치우친 장면에서 무너진다. White Patch는 밝은 흰 영역이 없으면 실패한다. 같은 장면에서 알고리즘을 바꿔 가며 어느 가정이 언제 깨지는지 보라. (데모는 설명을 위해 표시공간을 선형으로 단순화했다 — 실제는 RAW 선형 도메인에서 추정한다.)
가정의 박물관
딥러닝 이전, 색항상성은 “무엇이 무채색인가”에 대한 서로 다른 통계적 가정들의 경연이었다. 이 가정들은 지금도 빠르고 해석 가능한 baseline이자, 학습 모델을 이해하는 언어다.
★Gray World
- 핵심 가정
- 장면의 평균 반사율이 무채색(gray)이라는 가정. 따라서 채널별 평균이 곧 광원의 색이다: ê_c ∝ mean_c.
- 한계
- 특정 색이 화면을 지배하면(예: 잔디밭, 단색 벽) 평균이 그 색으로 편향되어 크게 실패. 가장 단순하고 가장 자주 깨지는 가정.
★White Patch / Max-RGB (Retinex 계열)
- 핵심 가정
- 장면에서 각 채널의 최대 반응이 흰색이라는 가정: ê_c ∝ max_c. 가장 밝은 표면이 완전 반사체라고 본다.
- 한계
- 밝은 무채색 영역이 없거나, 한 채널이 클리핑(포화)되면 무너짐. 노이즈·하이라이트에 민감.
Shades of Gray
- 방법론
- Gray World와 White Patch를 Minkowski p-norm으로 통합: ê_c ∝ (mean(I_cᵖ))^(1/p). p=1이면 Gray World, p→∞이면 White Patch. 보통 p≈6이 최적.
- 기여
- 두 고전 가정이 한 연속 스펙트럼의 양 끝임을 보임. 위 플레이그라운드의 p 슬라이더가 바로 이것.
★Edge-based Color Constancy (Gray Edge / General Gray World)
- 아이디어
- 이미지 미분(엣지)의 평균도 무채색이라는 가정을 도입하고, 미분 차수·Minkowski norm·스케일(가우시안 σ)을 하나의 통합 프레임워크로 묶어 기존 통계 기법 다수를 특수 사례로 포섭.
- 방법론
- (∫ |∂ⁿI_c/∂xⁿ|ᵖ dx)^(1/p) = k·e_c. n=0은 Gray World/Shades of Gray, n=1이 Gray Edge.
- 왜 ★
- 고전 통계 색항상성의 결정판으로 반드시 정독. 여전히 가정 기반이라 복잡한 장면·다중 광원에는 한계.
★Gamut Mapping (CRULE)
- 방법론
- 특정 광원(canonical) 아래 가능한 색들의 색역(gamut)을 미리 학습하고, 관측 색역을 이 표준 색역에 매핑하는 대각 변환들의 집합으로 광원을 제약. 1D/2D/3D gamut, diagonal-offset 변형.
- 기여/한계
- 물리적 제약(색역)으로 추정을 가두는 강력한 아이디어. 색역 학습·계산이 무겁고 구현이 까다로움.
Color by Correlation
- 방법론
- 각 광원이 만드는 색 분포를 미리 상관 행렬로 저장하고, 관측 색 분포와의 상관을 최대화하는 광원을 선택(MAP 추정으로 해석 가능).
- 기여
- Gamut mapping을 확률적으로 재해석한 통계 추정의 고전.
Bayesian Color Constancy (revisited)
- 방법론
- 광원·표면의 사전분포(prior)와 우도(likelihood)를 곱해 베이지안 추론. Brainard & Freeman의 초기 베이지안 계보를 실측 데이터로 부활.
- 기여
- 이 논문에서 도입된 ColorChecker(Gehler-Shi) 데이터셋이 이후 분야의 표준 벤치마크가 됨(→ §5.8, 단 GT 버전 주의).
기타 고전 — Spatio-spectral / Exemplar-based
- 요약
- Chakrabarti의 공간-분광 통계는 자연 영상의 공간 상관까지 모델링. Joze & Drew의 exemplar-based는 표면별로 가장 비슷한 학습 표면을 찾아 광원을 투표 — 학습 기반으로 넘어가는 다리.
검출 문제로의 전환
딥러닝은 색항상성을 다시 정의했다. 결정적 통찰은 Barron의 **“광원 추정 = log-chroma 공간에서의 위치 찾기”**다 — 광원이 바뀌면 색 분포 전체가 log-chroma 평면에서 평행이동할 뿐이므로, 객체 검출처럼 그 이동량을 국소화하면 된다.
Log-Chroma 평행이동
CCC/FFCC의 핵심 통찰슬라이더를 움직여 보라. 회색 구름(무광원)이 통째로 같은 방향으로 평행이동해 주황 구름이 된다. 광원 변화 는 log-chroma 평면에서 단순 평행이동 이기 때문이다. ✕(정답 광원)까지의 화살표가 곧 그 이동 벡터 — 이 이동량을 맞히는 것이 광원 추정이다. CCC는 이 평면에서 학습된 필터로 위치를 국소화하고, FFCC는 같은 일을 토러스 위 주파수 영역에서 수행해 250–3000× 빠르게 만들었다.
★Convolutional Color Constancy (CCC)
- 아이디어
- 색항상성을 log-chrominance 공간의 2D 공간 국소화(localization) 문제로 재정식화하여 객체 검출·구조적 예측 기법을 그대로 적용. 표준 벤치마크에서 오차를 약 40% 개선.
- 방법론
- 2D log-chroma 히스토그램에서 광원의 tint는 히스토그램의 평행이동에 대응 → 학습된 선형 필터(슬라이딩 윈도우 검출기 유사)로 그 위치를 찾는다.
- 왜 ★
- 색항상성을 검출 문제로 바꾼 패러다임 전환. 공간 컨볼루션이라 느린 것이 약점(→ FFCC가 해결).
★Fast Fourier Color Constancy (FFCC)
- 아이디어
- 일루미넌트 추정을 토러스(torus) 위 공간 국소화로 축소해 주파수 영역에서 수행. 이전 SOTA 대비 오차 13–20% 감소, 속도는 250–3000× 빠르고 모바일에서 ~700fps.
- 방법론
- aliased toroidal log-chroma 히스토그램에 FFT 기반 컨볼루션 → softmax → de-aliased bivariate von Mises 분포 fitting으로 광원의 완전한 posterior를 산출.
- 왜 ★
- 실시간 + 불확실성(posterior) 제공 → 비디오 AWB의 시간적 평활화에 직접 활용. 토러스 정식화로 aliasing·방향통계·preconditioning 처리가 필요.
★FC⁴: Fully Convolutional Color Constancy with Confidence-weighted Pooling
- 아이디어
- 패치 기반 CNN의 추정 모호성(어떤 패치는 광원 정보가 없음)을 해결 — 패치별 confidence를 학습해 가중 풀링. 이전 SOTA를 능가하며 약 120× 효율.
- 방법론
- AlexNet/SqueezeNet 백본 + 신규 confidence-weighted pooling layer. 추가 라벨 없이 “어느 패치를 믿을지”를 end-to-end로 자동 학습.
- 왜 ★
- 패치 모호성 해소로 정확도·효율을 동시에 달성, 인용·영향력 최상위. 센서 의존(분광감도 차이로 cross-sensor 일반화가 약함).
DS-Net — Deep Specialized Network
- 요약
- 두 개의 분기(hypotheses + selection)로 추정 모호성을 완화한 첫 본격 CNN 기반 광원 추정.
C⁴ — Cascading CNN
- 요약
- coarse-to-fine cascade로 추정을 단계적으로 정제, 데이터셋 간 일반화를 개선.
★Sensor-Independent Illuminant Estimation (SIIE)
- 아이디어
- 서로 다른 카메라의 RGB를 센서 비의존(learned canonical) 공간으로 사상한 뒤 광원을 추정 — 한 모델이 학습에 없던 카메라로도 일반화.
- 왜 ★
- 색항상성의 실전 최대 난제인 cross-sensor 일반화를 정면으로 다룬 핵심 흐름. 매핑 학습의 정확도에 의존.
CLCC — Contrastive Learning for Color Constancy
- 요약
- 대조학습으로 광원에 민감하고 표면에 불변한 표현을 학습, 적은 데이터로 일반화 향상.
Quasi-Unsupervised Color Constancy
- 요약
- 명시적 광원 라벨 없이 준지도(quasi-unsupervised)로 학습 — 라벨링 비용 문제에 대한 대응.
이미 틀어진 sRGB를 되돌리기
ISP가 잘못된 WB로 이미 렌더링해 버린 sRGB는 비선형 처리(톤·감마·압축)를 거쳤기 때문에 단순 역게인으로 복구되지 않는다. 이 “사후 교정”은 전공을 RAW에서 ISP 전체로 넓히는 별도의 연구축이며, Afifi & Brown 라인이 사실상 필수 트래킹 대상이다.
★When Color Constancy Goes Wrong: Correcting Improperly White-Balanced Images
- 아이디어
- ISP 비선형성 때문에 잘못된 WB의 sRGB는 단순 보정이 불가함을 지적하고, 수만 쌍으로부터 KNN 기반으로 올바른 WB sRGB를 복원한 최초 연구.
- 기여/한계
- sRGB 후처리 WB 문제를 정식 제기. KNN의 메모리·속도가 한계(→ Deep WB Editing이 신경망으로 대체).
★Deep White-Balance Editing
- 아이디어
- 단일 인코더 + 다중 디코더로 하나의 sRGB를 AWB·실내·실외 등 여러 화이트밸런스 세팅으로 사실적으로 편집. 입력을 indoor/outdoor 조명에 해당하는 두 추가 WB로 사상.
- 방법론
- U-Net 류 멀티태스크(공유 인코더, 태스크별 디코더), Rendered WB 데이터셋. 공식 PyTorch/Matlab 코드 제공.
- 기여/한계
- KNN 대비 정확·고속이며 사용자가 WB를 자유롭게 편집. 사전 정의된 WB 세팅 중심이라는 점이 한계.
Interactive White Balancing
- 요약
- 사용자가 고른 영역의 색을 기준으로 비선형 WB를 대화형으로 적용 — 미적 선호가 개입하는 WB의 본질에 부합.
★Auto White-Balance Correction for Mixed-Illuminant Scenes (MixedWB)
- 아이디어
- 여러 WB 프리셋으로 렌더한 축소본(tiny versions)을 공간 가변 가중치 맵으로 블렌딩해 혼합 광원 장면을 보정. 픽셀별 GT를 가진 합성 mixed-illuminant 테스트셋도 제공.
- 기여/한계
- 혼합 광원 sRGB WB를 실용적으로 다룬 대표작. 프리셋 개수·블렌딩 가정에 의존.
diffusion · 혼합광원 · 카메라 일반화
최근 흐름은 세 갈래다 — ① 사전학습 diffusion prior로 cross-camera 일반화, ② transformer 기반 다중/혼합 광원과 공간 가변 WB, ③ sRGB 도메인 WB editing의 후속. 전공 직결 영역이므로 가장 촘촘히 추적할 가치가 있다.
이 블록은 연 1회(CVPR/ICCV/ECCV 직후) 갱신 대상이다. 아래 수치 일부는 저자 자체 보고이며 독립 재현이 필요하다. 데이터셋 간 비교 시 동일 GT(특히 ColorChecker recommended GT) 기준인지 반드시 확인하라.
★GCC: Generative Color Constancy via Diffusing a Color Checker
- 아이디어
- 사전학습 diffusion 모델로 이미지에 color checker를 inpaint하고, 그려진 차트의 색으로부터 장면 광원을 추정. 센서 분광감도 차이로 인한 일반화 문제를 생성 prior로 해소해 cross-camera로 강건.
- 방법론
- ① single-step deterministic inference로 장면 광원이 반영된 checker를 그리고, ② Laplacian 분해로 차트의 구조는 보존하면서 광원 의존 색적응을 분리, ③ 부정확한 차트 주석을 다루는 mask 기반 데이터 증강.
- 기여/한계
- 센서별 재학습 없이 강건한 cross-camera 성능. diffusion 추론 비용·실시간성이 과제.
★Revisiting Image Fusion for Multi-Illuminant White-Balance Correction
- 아이디어
- transformer로 5개 WB 프리셋(Daylight/Cloudy 등)을 end-to-end로 블렌딩해 혼합 광원을 보정. LSMI를 재활용해 sRGB 도메인 multi-illuminant 데이터셋(2,714 scenes × 5 WB)을 구축.
- 기여/한계
- ⚠️ ΔE2000 기준 MixedWB 대비 최대 100% 개선을 주장(저자 보고, 재현 필요). 프리셋 융합 패러다임을 sRGB 도메인으로 확장.
ABC-Former — Auxiliary Bimodal Cross-domain Transformer
- 요약
- CIELab·RGB 히스토그램의 글로벌 색 정보를 두 보조 모델로 추출하고 interactive channel attention으로 주 sRGB 처리와 결합 — sRGB WB 보정의 글로벌 색 조정·데이터 다양성 한계를 보완.
TransCC / MIMT — Multi-Illuminant Color Constancy via Transformer
- 요약
- ⚠️ transformer로 표면색과 광원색을 멀티태스크로 분리해 공간 가변 광원을 추정. LSMI에서 기존 multi-illuminant 대비 40.7%, NUS-8 단일 광원에서 22.3% 개선 보고(저자 보고).
Cross-sensor 일반화 — Dual-Mapping / Camera-Agnostic
- 요약
- 테스트 센서 데이터를 수집하지 않고 D65 화이트포인트만으로 새 센서의 광원을 추정하는 경량 MLP(DMCC) 등 — SIIE 이후 cross-sensor 일반화의 최신 경량화 흐름.
제품 속의 AWB
카메라·폰의 AWB는 위 통계+학습 하이브리드에 씬 인식(얼굴·하늘·녹지 prior)과 비디오용 시간적 평활화를 더한 것이다. 핵심은 “정답 WB”에 미적 선호가 개입해 절대 정답이 없다는 점 — 그래서 제품 튜닝은 과학이자 취향이다.
Google Real Tone
- 특징
- 다양한 피부톤에서 AWB·톤이 한쪽으로 치우치지 않도록 튜닝. 색항상성의 공정성(fairness) 측면을 제품 목표로 끌어올린 사례.
Apple / 삼성 씬 기반 AWB
- 특징
- 장면 분류와 memory color(기억색) 처리를 결합 — 하늘·피부·녹지 같은 친숙한 색을 사람이 기대하는 쪽으로 보정.
MediaTek AI-AWB
- 특징
- ⚠️ high-contrast 보정과 결합한 NPU 기반 AWB. 공개 정보가 한정적이고 마케팅 주장이라 단정하지 말 것.
무엇으로 평가하는가
Gehler-Shi(ColorChecker) 데이터셋에는 최소 3가지 서로 다른 ground-truth(SFU·Gt1·Gt2)가 유통되어, 어떤 GT를 쓰느냐에 따라 알고리즘 순위가 역전될 정도로 결과가 달라진다. Hemrit et al.의 “Rehabilitating the ColorChecker Dataset”(CIC 2018; TPAMI 2020 correspondence)이 black level(예: Canon 5D=129) 감산을 바로잡아 단일 ‘recommended’(REC, 2018) GT를 재생성했다. 수치 비교는 반드시 recommended GT 기준으로만 하고, 옛 GT와 섞지 말 것.
| 데이터셋 | 규모 · 카메라 | 특징 | 용도 |
|---|---|---|---|
| Gehler-Shi (ColorChecker) | 568장 · Canon 1D/5D | 가장 고전적, GT 버전 주의 | 단일광원 |
| NUS 8-camera | ~1.7k · 8 카메라 | 카메라 일반화 평가의 표준 | cross-sensor |
| Cube / Cube+ / Cube++ | 대규모 · 단일 카메라 | 스마트폰/단일 카메라 대규모 | 단일광원 |
| INTEL-TAU | ~7k · 3 카메라 | 대규모·카메라 다양 | 일반화 |
| LSMI (ICCV 2021) | 7,486장 · 3 카메라 | 픽셀별 GT illumination map + 광원별 chromaticity + 혼합비 | 다중/혼합광원 |
LSMI(Galaxy Note20 Ultra · Sony α9 · Nikon D810, 2,762 multi-illumination scenes)는 공간 가변·혼합 광원 연구의 핵심 자원이며, ICCV 2025 fusion 연구가 이를 sRGB 후처리용으로 재활용했다. LSMI (IEEE)
이 다음은
화이트밸런스는 색 파이프라인의 한 고리다. 대각 WB의 한계는 색채과학(CAT16)으로, WB 다음 단계는 색 렌더링(CCM·3D LUT)으로 이어지고, RAW vs sRGB 도메인의 비가역성은 ISP 전체와 직결된다.
개인 학습 자료 · ISP & Computational Photography · §5 White Balance & Color Constancy