顯示具有 colorchecker 標籤的文章。 顯示所有文章
顯示具有 colorchecker 標籤的文章。 顯示所有文章

2026年9月20日 星期日

X-rite color checker Delta C2000, Delta E2000, 的差別

 在 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
    ●
   /
  /
 ●  ← Measured

Measured 的顏色離中心更遠,因此 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 Skin2.1+0.4整體 OK
Light Skin3.8+2.9彩度偏高
Blue Sky2.5-1.8彩度稍低
Foliage5.4+4.7綠色太鮮豔
Blue Flower4.1+0.5可能是 Hue
Bluish Green2.2-0.3OK
Orange6.1+5.2Orange saturation 太高
Red5.8+4.9Red 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 出問題。