李富豪, 李長軍
遼寧科技大學(xué)計算機(jī)與軟件工程學(xué)院, 遼寧 鞍山 114051
隨著數(shù)字圖像技術(shù)的迅猛發(fā)展, 如何精確的實(shí)現(xiàn)顏色復(fù)制, 是顏色科學(xué)領(lǐng)域的重要課題。 為了能精確得到色度信息, 可以通過獲取物體表面光譜反射率方法來判斷物體的真實(shí)顏色[1-2]。 傳統(tǒng)獲取物體光譜反射率的方法是利用分光光度計準(zhǔn)確地直接獲取物體的光譜反射率, 但是難以對非平面的物體表面進(jìn)行測量, 限制了其在復(fù)雜物體表面的應(yīng)用。 數(shù)碼相機(jī)可以對物體表面進(jìn)行非接觸式的拍攝, 并且可以記錄RGB信息[3]。 Cao等[4]設(shè)計了一種基于RGB圖像的局部線性近似的估計方法。 Amiri和Fairchild[5]提出了加權(quán)非線性方法, 通過加權(quán)提高了重構(gòu)精度。 Liang等[6]通過對訓(xùn)練數(shù)據(jù)進(jìn)行加權(quán)最小二乘來預(yù)測光譜反射率。 但此類方法都是通過單一光源下的RGB信息進(jìn)行光譜反射率重建。 Zhang等[7]提出基于單一光源下相機(jī)RGB對多光源下的CIE XYZ值進(jìn)行預(yù)測, 再根據(jù)多光源下的CIE XYZ值估計光譜反射率。
Zhang等的方法(以下簡稱Zhang方法)相比單光源下的光譜重構(gòu)效果有所提高, 但兩次自適應(yīng)選取局部訓(xùn)練樣本, 計算量較大, 在應(yīng)用上不十分方便, 另外對選取的局部訓(xùn)練樣本視為同等重要。 受Zhang方法啟發(fā), 本工作延用多光源的思想, 在單光源下的相機(jī)響應(yīng)值預(yù)測不同光源下的CIE XYZ值這一過程進(jìn)行加權(quán)來避免對訓(xùn)練樣本的選取, 并采用維納估計來重建光譜反射率。 通過實(shí)測數(shù)據(jù)比較表明本方法的光譜反射率預(yù)測精度明顯好于Zhang方法。
假定相機(jī)獲取物體的響應(yīng)值RGB構(gòu)成的列向量為d, 則相機(jī)的成像系統(tǒng)模型[8]可以表示為
(1)
式(1)中,l(λ)為照明光源的光譜功率分布,r(λ)為所成像物體的光譜反射率,o(λ)為系統(tǒng)濾光片的光譜透過率,s(λ)為設(shè)備的光譜敏感函數(shù),e為系統(tǒng)所產(chǎn)生的噪聲。 當(dāng)不考慮噪聲時, 式(1)的代數(shù)離散表達(dá)式可以簡寫成如式(2)矩陣向量形式
d=Mr
(2)
式(2)中,M為相機(jī)整體系統(tǒng)的光譜靈敏度矩陣, 列向量r為物體反射率在可見光范圍內(nèi)均勻離散取點(diǎn)得到, 通常400~700 nm, 10 nm間隔取點(diǎn), 共31個分量。 本文所述的相機(jī)響應(yīng)值RGB, 均為rawRGB數(shù)據(jù)。 以下不再特別說明。
首先將相機(jī)響應(yīng)向量d通過3階多項(xiàng)式模型擴(kuò)展為向量v, 其表達(dá)式為
v=(1RGBRGRBGBR2G2B2R2G
R2BG2RG2BB2RB2GRGBR3G3B3)T
(3)
這里的上標(biāo)‘T’為向量或矩陣的轉(zhuǎn)置。 然后確定轉(zhuǎn)換矩陣Q使得
u=Qv
(4)
其中,u表示m個光源下的3m個分量的三刺激值列向量。 轉(zhuǎn)換矩陣Q可由訓(xùn)練數(shù)據(jù)確定。 假定訓(xùn)練樣本個數(shù)為n, 并令u(j)表示第j個訓(xùn)練樣本在m個光源下的CIE XYZ構(gòu)成的列向量;v(j)表示第j個訓(xùn)練樣本相機(jī)響應(yīng)向量d(j)按三階多項(xiàng)式拓展的列向量;r(j)表示第j個訓(xùn)練樣本的光譜反射率。 定義如式(5)和式(6)矩陣
U=(u(1),u(2), …,u(n))
(5)
V=(v(1),v(2), …,v(n))
(6)
所以由式(4)—式(6)可以得到
U=QV
(7)
式(7)中, 3m×n的矩陣U, 20×n矩陣V均已知, 因此可以通過式(7)采用偽逆或最小二乘方法確定出轉(zhuǎn)換矩陣Q, 其表達(dá)式為
Q=UV+
(8)
這里上標(biāo)‘+’表示廣義逆[9]。 按上述方法確定的轉(zhuǎn)換矩陣, 假定訓(xùn)練數(shù)據(jù)同等重要。 為根據(jù)給定的待測樣本的相機(jī)響應(yīng)向量d賦予訓(xùn)練數(shù)據(jù)不同的權(quán)重, 首先需要預(yù)估出該樣本對應(yīng)的CIE D65光源下的三刺激值。 為此需要按上述方式, 僅在CIE D65一個光源下訓(xùn)練出轉(zhuǎn)換矩陣, 記為QD65。 因此對給定的待測樣本的相機(jī)響應(yīng)向量d, 便可計算出其擴(kuò)展的向量v, 待測樣本的預(yù)估三刺激值向量為
uD65=QD65v
(9)
(10)
色差e(j)體現(xiàn)對于給定的待測樣本與第j個訓(xùn)練樣本的接近程度, 越接近的訓(xùn)練樣本, 權(quán)重應(yīng)該越大, 本工作采用如式(11)計算權(quán)重
(11)
其中σ取值0.01, 代表補(bǔ)償系數(shù), 以防色差為零時計算權(quán)重為無窮大。 通過w(j)建立加權(quán)矩陣
(12)
有了加權(quán)矩陣W, 式(7)可以改寫為
UW=QVW
(13)
因此通過偽逆法便可獲得轉(zhuǎn)換矩陣Q為
Q=UW(VW)+
(14)
需要說明的是, 權(quán)重矩陣W[式(12)], 和轉(zhuǎn)換矩陣Q[式(14)]是隨著待測樣本的改變而改變, 而轉(zhuǎn)換矩陣QD65[式(9)]適合所有樣本。
還需要說明的是Zhang方法在RGB空間計算與每個訓(xùn)練樣本的歐氏距離, 挑選N個對應(yīng)最小距離的訓(xùn)練數(shù)據(jù)構(gòu)成矩陣U和V, 利用式(8)計算出轉(zhuǎn)換矩陣Q。N究竟選多大需要探索, 本工作是使用所有訓(xùn)練數(shù)據(jù), 避免了挑選訓(xùn)練數(shù)據(jù)的問題, 根據(jù)測試樣本賦予不同訓(xùn)練數(shù)據(jù)不同的權(quán)重, 確定轉(zhuǎn)換矩陣Q, 以提高預(yù)測精度。
基于預(yù)測的u, 采用維納估計[10-11]預(yù)測樣本的光譜反射率r。 首先注意到, 三刺激值u與物體反射率r還有多光源下的加權(quán)表A[12-14]滿足關(guān)系式
u=Ar
(15)
(16)
令S為由n個訓(xùn)練樣本的反射率(r(j))構(gòu)成的矩陣
S=(r(1),r(2), …,r(n))
(17)
轉(zhuǎn)換矩陣G的表達(dá)式為
G=[KSAT][AKSAT]-1
(18)
其中KS為光譜反射率S的自相關(guān)矩陣, 由式(19)和式(20)給出
(19)
(20)
說明, 上述的轉(zhuǎn)換矩陣G適合所有測試樣本, 因此G僅需要計算一次。 Zhang方法采用自適應(yīng)偽逆法計算轉(zhuǎn)換矩陣G, 也就是先通過偽逆法計算出一個整體轉(zhuǎn)換矩陣Gr, 通過Gr用預(yù)測出m個光源下的三刺激值向量u, 便得到反射率的預(yù)估值rp, 根據(jù)rp計算出與每個訓(xùn)練樣本在反射率空間的歐氏距離挑選出一定數(shù)量訓(xùn)練數(shù)據(jù), 當(dāng)然選取多少訓(xùn)練數(shù)據(jù)需要探索, 應(yīng)用上也不方便。 本方法利用全體訓(xùn)練數(shù)據(jù), 避免了這一過程。
(1)實(shí)驗(yàn)樣本: 訓(xùn)練樣本選用X-Rite公司的標(biāo)準(zhǔn)140色色卡。 測試樣本選用X-Rite公司的標(biāo)準(zhǔn)24色色卡和自制的覆蓋色域較廣的44個印刷色塊。
(2)測量儀器: 采用尼康D610數(shù)碼相機(jī)和KONICAMINOLTA生產(chǎn)的分光光度計(CM-2600d)。
(3)測量條件: 采用美國X-Rite 公司生產(chǎn)的Spectra Light QC標(biāo)準(zhǔn)光源箱提供穩(wěn)定的D65光源。 將攝像機(jī)固定在三腳架上, 拍攝距離為70 cm, 照明與被攝物角度為45°, 數(shù)碼相機(jī)鏡頭與測量目標(biāo)垂直, 其余參數(shù)固定, 閃光燈、 亮度優(yōu)化及光量校正均為禁用。 手動設(shè)置相機(jī)的焦距以捕獲清晰的圖像, 相機(jī)曝光時間為1/60 s, 光圈大小為f4.5, 感光度ISO為320, 白平衡采用人工輸入色溫6 500 K。 實(shí)驗(yàn)光源為CIE光源D65, A, F11, D50, F2, F7。 通過測量的光譜反射率及CIE1931年配色函數(shù)計算出在各光源下的三刺激值。
(4)評價標(biāo)準(zhǔn): 為比較本方法與Zhang方法, 用文獻(xiàn)[7]中使用的均方根誤差(RMSE)和D50光源下CIEDE2000(ΔE00)色差公式評價光譜反射率的重構(gòu)精度。
在報道的Zhang方法中訓(xùn)練樣本的數(shù)量為1296個打印色塊, 工作量大, 不方便應(yīng)用。 我們采用標(biāo)準(zhǔn)140色卡作為訓(xùn)練樣本進(jìn)行實(shí)驗(yàn)比較。
圖1(a)和(b)分別給出了按平均RMSE和平均色差ΔE00度量, 利用24色色卡的測試數(shù)據(jù)進(jìn)行比較的結(jié)果。 由圖1(a)可以看出, 隨著光源個數(shù)(橫軸)由1個增加到6個, 兩種方法的光譜反射率的重構(gòu)精度(縱軸)都在提高。 光源個數(shù)為1時, Zhang方法要略優(yōu)于本方法, 但隨著光源個數(shù)的增加本方法的RMSE要明顯優(yōu)于Zhang方法, 并且在光源個數(shù)達(dá)到6時結(jié)果最好。 同樣, 由圖1(b)可以看出, 不論本方法還是Zhang方法兩個光源明顯好于一個光源的色差預(yù)測精度, 光源多于2個的預(yù)測色差精度與兩個光源下的精度基本一致。 比較而言, 一個光源下, 兩種方法一樣好, 當(dāng)2個或更多光源時, 本方法要好于Zhang方法。
圖1 利用24色色卡作為測試樣本時本方法和Zhang方法的結(jié)果對比
在圖2中, 給出印刷品為測試樣本的平均RMSE和平均色差ΔE00比較結(jié)果。 從圖2(a)和圖2(b)可以看出Zhang方法的曲線都高于本方法的曲線, 不管用幾個光源, 本方法都優(yōu)于Zhang方法。 對于Zhang方法, 采用兩個光源達(dá)到最佳, 而本方法, 盡管多于2個光源時, 預(yù)測的色差已經(jīng)不能再提高, 但采用6個光源時RMSE度量為最好。
圖2 印刷樣品作為測試樣本時本方法和Zhang方法的結(jié)果對比
表1為6個光源下, 采用24色色卡和印刷樣本兩種測試數(shù)據(jù), 分別按平均、 最大和中值均方根誤差和色差的比較結(jié)果。 對應(yīng)用加黑表達(dá)的數(shù)字的方法占優(yōu)。 當(dāng)采用色差度量時, 采用色卡和印刷測試數(shù)據(jù), 本方法有兩種指標(biāo)占優(yōu), 而Zhang方法有一種指標(biāo)占優(yōu)。 若兩種度量共有6個指標(biāo), 不論采用色卡還是印刷測試數(shù)據(jù), 本方法都有5種指標(biāo)占優(yōu), 而Zhang方法有1種指標(biāo)占優(yōu)。 因此本方法明顯優(yōu)于Zhang方法。 24色色卡的精度要高于印刷品的精度, 這主要是因?yàn)?4色色卡與140色訓(xùn)練色卡有相同材質(zhì), 而印刷樣品與訓(xùn)練樣本材質(zhì)不同。
表1 光源個數(shù)為6個時, 采用24色色卡和44個印刷樣本經(jīng)測試, 兩種方法重構(gòu)精度的比較結(jié)果
受Zhang方法的啟發(fā), 提出了新的2步方法, 基于相機(jī)raw RGB數(shù)據(jù)重建物體反射率。 第1步, 采用加權(quán)三次多項(xiàng)回歸算法, 映射raw RGB數(shù)據(jù)d(通過擴(kuò)展向量v)到多光源下的三刺激值向量u; 第2步是利用維納估計預(yù)測物體光譜反射率。 本方法的2步過程中, 采用全體訓(xùn)練數(shù)據(jù), 避免了Zhang方法中需要從訓(xùn)練數(shù)據(jù)中挑選一定數(shù)量的樣本, 在應(yīng)用上十分方便。 通過140色卡為訓(xùn)練樣本, 24色色卡和44色印刷樣本的實(shí)際數(shù)據(jù)進(jìn)行測試表明本方法要明顯優(yōu)于Zhang的方法。 同時比較結(jié)果表明本方法在6個光源下達(dá)到最佳。