在 X-Rite ColorChecker 的影像分析裡,ΔE2000 與 ΔC2000 都是在比較:
相機拍出來的顏色(Measured)與 ColorChecker 標準參考顏色(Reference)到底差多少。
兩者的差別在於:ΔE2000 看「整體色差」;ΔC2000 特別看「彩度(Chroma)差異」。
1. ΔE2000 是什麼?
Delta E 2000(ΔE00) 是目前很常用的人眼感知色差計算方式。
簡單理解:
ColorChecker 標準顏色
↓
Reference Lab
│
│ 比較
↓
相機拍攝後的顏色
↓
Measured Lab
│
↓
ΔE2000例如某一個 ColorChecker patch:
Reference:
L* = 50.0
a* = 20.0
b* = 30.0
Measured:
L* = 51.2
a* = 18.5
b* = 31.8
↓
ΔE2000
↓
2.1代表相機拍出來的顏色與標準顏色有一定程度的差異。
ΔE2000 越小越好
大致可以這樣理解:
| ΔE2000 | 一般意義 |
|---|---|
| 0 | 完全相同 |
| < 1 | 非常小,通常不容易察覺 |
| 1–2 | 很小 |
| 2–3 | 可以開始觀察到差異 |
| 3–5 | 明顯色差 |
| >5 | 色差相當明顯 |
| >10 | 顏色明顯錯誤 |
不過這些不是絕對的「合格標準」,實際判定還要看你的 camera tuning specification。
2. ΔC2000 是什麼?
ΔC2000 的 C = Chroma(彩度)。
也就是它不是主要看「整個顏色偏多少」,而是特別分析:
顏色的鮮豔程度 / 飽和程度偏了多少。
例如:
Reference
●
/
/ ← Chroma
O────────────→在 CIELAB 裡:
C*ab = √(a*² + b*²)所以:
a* / b* 決定色相方向
C* 決定離 L* 軸有多遠
C* 越大 → 顏色越鮮豔
C* 越小 → 顏色越灰、越淡
3. ΔE2000 vs ΔC2000
這是 ColorChecker 分析時非常重要的概念。
假設標準:
Reference
L* = 50
a* = 40
b* = 30相機:
Measured
L* = 50
a* = 48
b* = 36可以發生:
ΔE2000 = 5.2
ΔC2000 = +4.8這時候你就知道:
主要問題可能不是亮度,而是相機把這個顏色做得太鮮豔。
也就是:
Reference
●
/
/
● ← MeasuredMeasured 的顏色離中心更遠,因此 Chroma 增加。
4. ΔC2000 的正負號很重要
這點在你做 Camera Color Tuning 時特別有用。
ΔC2000 通常可以理解成:
ΔC2000 > 0
↓
Measured Chroma > Reference Chroma
↓
顏色偏鮮豔 / saturation too high
ΔC2000 < 0
↓
Measured Chroma < Reference Chroma
↓
顏色偏灰 / saturation too low例如:
| Patch | ΔC2000 |
|---|---|
| Skin | +2.1 |
| Red | +5.8 |
| Green | +4.2 |
| Blue | -1.2 |
可以初步判斷:
Red → 太鮮豔
Green → 太鮮豔
Blue → 稍微不夠鮮豔這對調整 CCM / CSC / saturation 很有幫助。
5. ΔE2000 不只包含 Chroma
可以把 ΔE2000 想成:
ΔE2000
│
┌────────────┼────────────┐
↓ ↓ ↓
ΔL2000 ΔC2000 ΔH2000
Lightness Chroma Hue
明暗 彩度 色相也就是:
ΔL2000
看:
明不明 / 暗不暗
ΔC2000
看:
鮮不鮮豔
ΔH2000
看:
顏色方向有沒有偏掉
而:
ΔE2000
則是綜合考慮這些因素後的整體感知色差。
6. 這對 ColorChecker 24 色特別有用
例如你測試 24 個 patch:
| Patch | ΔE2000 | ΔC2000 | 可能問題 |
|---|---|---|---|
| Dark Skin | 2.1 | +0.4 | 整體 OK |
| Light Skin | 3.8 | +2.9 | 彩度偏高 |
| Blue Sky | 2.5 | -1.8 | 彩度稍低 |
| Foliage | 5.4 | +4.7 | 綠色太鮮豔 |
| Blue Flower | 4.1 | +0.5 | 可能是 Hue |
| Bluish Green | 2.2 | -0.3 | OK |
| Orange | 6.1 | +5.2 | Orange saturation 太高 |
| Red | 5.8 | +4.9 | Red saturation 太高 |
這時候只看:
ΔE2000你只能知道:
哪些顏色錯很多。
但是加入:
ΔC2000就可以進一步知道:
是不是 saturation / chroma 的問題。
7. 對你現在做 Camera Tuning,三個數值最好一起看
我會建議你的 Delphi ColorChecker 分析結果至少輸出:
Patch
Reference L*a*b*
Measured L*a*b*
ΔL2000
ΔC2000
ΔH2000
ΔE2000例如:
Patch 14 - Red
Reference:
L* = 43.1
a* = 53.2
b* = 32.1
Measured:
L* = 44.0
a* = 59.8
b* = 35.7
ΔL2000 = +0.8
ΔC2000 = +5.1
ΔH2000 = +0.9
ΔE2000 = 5.4這個結果就非常有意義:
Brightness OK
↓
ΔL = +0.8
Chroma 明顯偏高
↓
ΔC = +5.1
Hue 幾乎 OK
↓
ΔH = +0.9
Overall 有明顯色差
↓
ΔE = 5.4因此你的 Camera tuning engineer 就可以比較有方向地判斷:
這個 patch 的主要問題是 Chroma,而不是 Exposure 或 Hue。
8. 對 CCM 調整尤其有用
如果你現在是在做:
AWB → CCM → CSC → ColorChecker
可以把它理解成:
RAW
│
▼
AWB
│
▼
CCM
│
▼
CSC / Saturation
│
▼
RGB
│
▼
ColorChecker analysis
│
├── ΔL2000 → Brightness / tone
│
├── ΔC2000 → Saturation / chroma
│
├── ΔH2000 → Hue / CCM
│
└── ΔE2000 → Overall color accuracy所以:
CCM 有問題
通常會看到某些 hue group:
Red / Orange / Yellow
Green
Cyan
Blue
Magenta出現系統性的 ΔH2000。
CSC / Saturation 有問題
則可能看到:
ΔC2000大量同方向偏正或偏負。
例如:
Red +4.8
Orange +5.2
Yellow +4.1
Green +3.9
Blue +4.3這種 pattern 就很像整體 saturation 偏高,而不是單一 CCM hue rotation。
最簡單的記法
你可以直接記:
ΔE2000 = 「這個顏色總共錯多少?」
ΔC2000 = 「這個顏色鮮豔程度錯多少?」
ΔH2000 = 「這個顏色的色相方向錯多少?」
ΔL2000 = 「這個顏色的明暗錯多少?」而對你的 X-Rite ColorChecker + Delphi camera analysis,我會把 ΔE2000 當 Overall KPI,ΔL/ΔC/ΔH2000 當 Debug information。這樣當 ΔE2000 超標時,可以直接追查究竟是 亮度、彩度還是 Hue 出問題。