徐 洋,郭冬霄,程安宇,鄭太雄
(重慶郵電大學(xué)自動(dòng)化學(xué)院,重慶 400065)
顏色的判斷是許多科學(xué)應(yīng)用研究的基礎(chǔ),比如在交通方面道路信號(hào)的識(shí)別、車牌號(hào)的識(shí)別,在醫(yī)學(xué)方面的舌態(tài)檢查、藥品生產(chǎn),工業(yè)上的紡織、印刷,都需要進(jìn)行顏色的分類與識(shí)別。長(zhǎng)期以來(lái),此領(lǐng)域的研究也取得了相應(yīng)的成績(jī),而依賴人眼判斷顏色的現(xiàn)象仍然存在。如何實(shí)現(xiàn)顏色數(shù)據(jù)化成為紡織、印刷、醫(yī)藥等各行各業(yè)的一大難題,也成為國(guó)內(nèi)外研究的焦點(diǎn)。
對(duì)顏色的判斷,旨在通過(guò)對(duì)像素進(jìn)行分類,給定相應(yīng)的標(biāo)度,將顏色進(jìn)行數(shù)字化。文獻(xiàn)[1-2]在RGB空間中創(chuàng)建了一個(gè)分層神經(jīng)網(wǎng)絡(luò)專家系統(tǒng),訓(xùn)練了大量的像素樣本,分析R,G,B在每個(gè)像素眾所占有的比值,在對(duì)顏色進(jìn)行判斷時(shí),根據(jù)前期提供的訓(xùn)練結(jié)果來(lái)給出當(dāng)前的顏色判斷。文獻(xiàn)[3]提出了一種基于免疫原理的數(shù)值規(guī)約方法,一定程度上解決了K臨近法(KNN)在訓(xùn)練樣本時(shí)計(jì)算開銷很大的問(wèn)題。文獻(xiàn)[4]介紹了一種基于像素的皮膚檢測(cè)技術(shù),強(qiáng)調(diào)了分類器算法中色彩空間選擇和像素分類的重要性。文獻(xiàn)[5]作為同樣研究膚色識(shí)別的文章,提出把像素分為兩類:屬于皮膚的和不屬于皮膚的,從而將屬于皮膚上的這些像素與其周圍的區(qū)分開來(lái)。文獻(xiàn)[6]介紹了顏色判斷在舌態(tài)分析中的應(yīng)用,將舌像根據(jù)顏色進(jìn)行了區(qū)域劃分,分為正常舌態(tài)和病變舌態(tài),分別計(jì)算了各狀態(tài)下RGB(Red,Green,Blue)空間中R,G,B各分量的平均大小,以及 HIS(Hue,Saturation,Intensity)空間中 H,I,S分量的平均值,最后轉(zhuǎn)換到各類舌態(tài)的色坐標(biāo)大小。
針對(duì)當(dāng)前的研究,對(duì)顏色的判別研究主要有以下兩方面:1)模糊C均值(FCM)聚類算法、K-means分層聚類、學(xué)習(xí)矢量量化(LVQ)神經(jīng)網(wǎng)絡(luò)分類器等。此類方法需要訓(xùn)練樣本值,判別精度受到樣本個(gè)數(shù)的制約,由于實(shí)際情況的限制,樣本數(shù)量往往不能滿足各種使用條件的要求,而且不適用于有噪聲和樣本不均衡等問(wèn)題,容易收斂于局部極值,所以不能保證達(dá)到較高精度。2)在RGB顏色空間中,根據(jù)各分量的數(shù)值設(shè)置相應(yīng)的顏色范圍;或?qū)GB空間映射到HIS空間,以HIS空間中表征顏色信息的H分量作為顏色分割的主要依據(jù)。在圖像中,每個(gè)顏色通道的分量值都有0~255的256種選擇,三者組合在一起就會(huì)產(chǎn)生上千萬(wàn)種情況,其中任意分量發(fā)生變化,都會(huì)產(chǎn)生不同的顏色,所以此類方法不能夠全面客觀的區(qū)分顏色,且不具備通用性。本文基于國(guó)際照明委員會(huì)(CIE)的標(biāo)準(zhǔn)CIE1931,提出了依據(jù)斜率與波長(zhǎng)、波長(zhǎng)與顏色的一一對(duì)應(yīng)關(guān)系,并進(jìn)行顏色的飽和度計(jì)算,來(lái)判斷顏色的方法,最后在Matlab中進(jìn)行了仿真。
光是一種人類眼睛可見的電磁波(可見光譜)。在科學(xué)上的定義,光是指所有的電磁波譜,如圖1所示。具有各種顏色的光是電磁頻譜中狹窄的頻譜波段,稱為可見光??梢姽獠ǘ沃忻恳活l率對(duì)應(yīng)一種單獨(dú)的顏色,其低頻率端是紅色4.3×1014Hz,高頻率端是紫色7.5×1014Hz。從低頻到高頻的光譜顏色變化分別是紅,橙,黃,綠,藍(lán),青和紫。用光的波長(zhǎng)(λ)或頻率(f)來(lái)表示各種顏色??梢姽獠糠值牟ㄩL(zhǎng)范圍大約是350~780 nm。
圖1 可見光譜圖
在可見光譜上,光的顏色由其主波長(zhǎng)決定。為了對(duì)色彩更好地加以說(shuō)明,定義了顏色空間,指不同波長(zhǎng)的電磁波譜與不同物質(zhì)相互作用所構(gòu)成的色譜空間。常用的顏色空間有 RGB,XYZ,CMY,HSV,HIS 等,文中在 RGB,XYZ空間中,使用判斷波長(zhǎng)范圍的方法進(jìn)行顏色的判斷。
把兩個(gè)顏色調(diào)整到視覺相同的方法叫顏色匹配,不同的待配色光達(dá)到匹配時(shí)三原色光亮度不同[7],用方程表示為
式中:C代表待配光;(R),(G)和(B)分別表示產(chǎn)生混合色的三原色,即紅、綠、藍(lán)的單位量,為1.000 0,4.590 7,0.060 1;ˉr(λ),ˉg(λ),ˉb(λ)表示匹配待配色所需要的紅、綠、藍(lán)三原色的數(shù)量,稱為三刺激值[7],如圖2所示。
圖2 RGB光譜三刺激值
在RGB空間,使用R,G,B三個(gè)系數(shù)值來(lái)定量的表述一個(gè)顏色。由于顏色僅取決與R,G,B的比例,而非它們的大小,所以可以用兩個(gè)量來(lái)準(zhǔn)確地表述一種顏色
式中:將r,g稱為色度坐標(biāo)?,F(xiàn)將380~780 mm的所有純色光進(jìn)行配色實(shí)驗(yàn),求得其色度坐標(biāo),并標(biāo)注于r、g坐標(biāo)系中,得到RGB色度圖。
圖3 等能光譜色的相對(duì)亮度曲線
圖4是根據(jù)光譜色度坐標(biāo)使用Matlab仿真工具生成的rg色度圖的輪廓。曲線中,r坐標(biāo)大部分是負(fù)值,坐標(biāo)反映了r,g,b三色各自在三刺激值總量中的比例,一組坐標(biāo)代表了色相和飽和度相同但亮度不同的顏色的特征,此曲線代表了顏色的色域范圍。(注:這一系統(tǒng)規(guī)定的等能白光(E光源,色溫5 500 K),位于色度圖的中心(0.327,0.325))[8]。圖4 中色度 CIE-RGB 系統(tǒng)的 ˉr(λ) ,ˉg(λ) ,ˉb(λ)值是由實(shí)驗(yàn)得來(lái)的,有負(fù)值存在,使用起來(lái)不方便,因此,1931年CIE提出了新的國(guó)際色度學(xué)系統(tǒng)—1931CIEXYZ系統(tǒng)(又稱為XYZ國(guó)際坐標(biāo)制)[8],轉(zhuǎn)換后的三刺激值如圖5所示。
圖4 CIE-RG色度圖
圖5 XYZ光譜三刺激值
在顏色模型中,用來(lái)生成其他顏色的兩種或三種顏色稱為基色(primitive color)。國(guó)際照明委員會(huì)(簡(jiǎn)稱CIE)在1931年定義了三種標(biāo)準(zhǔn)基色,它們?cè)诶碚撋峡梢燥@示各種波長(zhǎng)的光,即顏色。通常把CIE規(guī)定的一組基色稱為XYZ顏色模型。任何一種顏色C可以表示為
式中:使用X,Y,Z來(lái)表示理想的三原色,X,Y,Z分別表示紅色,綠色,藍(lán)色,它們是假想色,x,y,z指出為匹配C所需的標(biāo)準(zhǔn)基色的量。對(duì)式(4)進(jìn)行規(guī)范化
進(jìn)行規(guī)范化后,參數(shù)x和y稱為色度值。因?yàn)閦=1-x-y,可以用色度坐標(biāo)(x,y)在二維圖像中表示所有顏色。
從RGB系統(tǒng)到XYZ系統(tǒng)的轉(zhuǎn)換公式為
在XYZ顏色模型中,當(dāng)繪制出可見光譜中顏色的規(guī)范化量x和y時(shí),即可獲得一如舌狀的曲線,稱為CIE色度圖,如圖6所示。
目前國(guó)際通用的CIE1931xy色度圖,可顯示基色組的顏色范圍,計(jì)算補(bǔ)色,計(jì)算顏色的主波長(zhǎng)與色純度。
計(jì)算方法是根據(jù)色品圖上連接白點(diǎn)與樣品點(diǎn)的直線的斜率,這樣可以通過(guò)編寫程序的方法使用電腦來(lái)計(jì)算波長(zhǎng),準(zhǔn)確快速。
首先是精確地找到光譜軌跡上對(duì)應(yīng)的主波長(zhǎng)的點(diǎn),
圖6 CIE色度圖
按照CIE1931規(guī)定的三刺激值得到的白色光E點(diǎn)色坐標(biāo)是(0.327,0.325),即 xw=0.327,yw=0.325。按照斜率與波長(zhǎng)的對(duì)應(yīng)關(guān)系將舌形圖分成9個(gè)區(qū)域,分區(qū)標(biāo)準(zhǔn)如表1所示。并逐點(diǎn)算出它們與白點(diǎn)所連直線的斜率,然后依次與白色點(diǎn)和樣品點(diǎn)所連線的斜率相比較,找到斜率相等的點(diǎn),該點(diǎn)即為樣品的主波長(zhǎng)或補(bǔ)色波長(zhǎng)。這個(gè)方法缺點(diǎn)就是求出的主波長(zhǎng)有可能是補(bǔ)色的波長(zhǎng),并不準(zhǔn)確,文中通過(guò)分區(qū)域并判斷x色度坐標(biāo)來(lái)唯一確定波長(zhǎng),在分區(qū)域的同時(shí),也減少了運(yùn)算量,大大加快了運(yùn)算速度。
計(jì)算光譜軌跡(x,y)與白點(diǎn)(xw,yw)的斜率時(shí)公式采用公式(7)
表1 斜率劃分標(biāo)準(zhǔn)
所分區(qū)域如圖7所示。
對(duì)照CIE1931色度圖(圖7),每一個(gè)區(qū)域都對(duì)應(yīng)一種顏色,具體的對(duì)應(yīng)關(guān)系如表2所示。
圖7 斜率區(qū)域分割圖
表2 色彩與斜率的關(guān)系表
色彩區(qū)域分割圖如圖8所示。
圖8 色彩區(qū)域分割圖
在圖7中,設(shè)S點(diǎn)為某顏色,由白光點(diǎn)E通過(guò)S畫一直線至光譜軌跡W點(diǎn),S點(diǎn)離開E點(diǎn)至光譜軌跡的距離表明它的色純度,即飽和度。顏色越靠近E越不純,越靠近光譜軌跡越純。這里S色的飽和度Saturation即為
經(jīng)過(guò)如上過(guò)程,某一點(diǎn)或某一區(qū)域的平均顏色即可通過(guò)求取波長(zhǎng)和飽和度確定該樣品的色品即顏色。
假設(shè)一待測(cè)點(diǎn) S,其 R,G,B 值分別為 0,138,200,根據(jù)式(3)計(jì)算出該點(diǎn)的色坐標(biāo)(r,g,b)為(0,0.408 3,0.591 7)。
根據(jù)式(5)將上式的色坐標(biāo)從RGB系統(tǒng)轉(zhuǎn)換到XYZ系統(tǒng),得到(x,y)為(0.208 9,0.287 9)。
計(jì)算S點(diǎn)與白點(diǎn)(0.327,0.325)的連線的斜率k,得到k=0.314 1。
從表1中的分區(qū)看到S點(diǎn)落在第8區(qū),x<0.327,0.123 0<k≤2.073 8的范圍內(nèi),根據(jù)表2中的顏色判據(jù),得出S點(diǎn)的顏色為藍(lán)色。
為驗(yàn)證方法的準(zhǔn)確性,從Adobe Photoshop CS3 Extended中選中像素 R,G,B 值分別為 0,138,200,生成顏色,人眼判斷該像素顯示的顏色為藍(lán)色,如圖9所示。
圖9 使用Photoshop的驗(yàn)證結(jié)果
從圖片上右邊的“信息”一覽看到像素顯示為所需要的值,左邊即為該像素對(duì)應(yīng)的顏色,為藍(lán)色。
重復(fù)上述過(guò)程,在大量實(shí)驗(yàn)的驗(yàn)證下,準(zhǔn)確率達(dá)到95%,抽樣發(fā)現(xiàn),出現(xiàn)檢測(cè)不準(zhǔn)確的情況,主要原因是待測(cè)顏色位于兩種或幾種顏色的交界區(qū),這樣就使判斷出現(xiàn)搖擺性,引起判斷錯(cuò)誤。
從總體結(jié)果可以看出,該方法求出的顏色值具有較高的準(zhǔn)確性,使計(jì)算機(jī)可以代替人眼自動(dòng)識(shí)別紅,橙、黃、綠、青、藍(lán)、紫等主要顏色。
為進(jìn)一步提高精確度,識(shí)別多種混合色,本文對(duì)上述方法做出相應(yīng)改進(jìn),通過(guò)線性插值運(yùn)算具體得到所求顏色的主波長(zhǎng)。
如圖10所示,分區(qū)查找并確定待測(cè)顏色坐標(biāo)落在對(duì)應(yīng)主波長(zhǎng)為λ1,λ2光譜軌跡與白點(diǎn)的連線之間,兩線的斜率分別使用k1,k2表示。這時(shí)待測(cè)主波長(zhǎng)λ0界于λ1和λ2之間,設(shè)(x0,y0)到點(diǎn) E(0.327,0.325)、斜率為 k 的直線的距離為d,公式為
依據(jù)上式,計(jì)算(x0,y0)到相鄰兩條直線的距離d1,d2,使用線性內(nèi)插公式為
從而得到相應(yīng)主波長(zhǎng)λ0的值。
圖10 線性插值法
根據(jù)準(zhǔn)確求出的主波長(zhǎng)大小,將斜率的判據(jù)進(jìn)行細(xì)化,便可求出更加精確的顏色。
以上仿真過(guò)程及驗(yàn)證部分表明,該方法計(jì)算量較小,運(yùn)算速度較快,擺脫了顏色檢測(cè)的主觀性和模糊性,無(wú)論是光源色還是表面色,都可以通過(guò)這種方法進(jìn)行判斷,有較大的應(yīng)用價(jià)值,比如交通警告和標(biāo)志牌顏色、醫(yī)藥行業(yè)藥品顏色等的辨認(rèn),可以設(shè)置相應(yīng)的使用范圍編碼,描述簡(jiǎn)便而準(zhǔn)確。
:
[1]ALTUN H,SINEKLI R,TEKBAS U,et al.An efficient color detection in RGB space using hierarchical neural network structure[C]//Proc.2011 INISTA.[S.l.]:IEEE Press,2011:154-158.
[2]TSAI L W,HSIEH J W,F(xiàn)AN K C.Vehicle detection using normalized color and edge map[C]//Proc.2007 ICIP.[S.l.]:IEEE Press,2007:850-864.
[3]王峰,曼麗春,肖逸軍,等.基于免疫數(shù)值歸約方法的車牌顏色識(shí)別算法[J]. 四川大學(xué)學(xué)報(bào):工程科學(xué)版,2008,40(5):164-170.
[4]NALLAPERUMAL K,RAVI S,BABU C N K,et al.Skin detection using color pixel classification with application to face detection:a comparative study[C]//Proc.2007 ICCIMA.[S.l.]:IEEE Press,2007:436-441.
[5]NAGHDI N M,MIRJALILY G,ALMODARRESI S M T.Some notes on accuracy constraints of pixel based skin color detection[C]//Proc.2009 ICFCC.[S.l.]:IEEE Press,2009:324-328.
[6]許家佗,周昌樂(lè),方肇勤,等.舌像顏色特征的計(jì)算機(jī)分析與識(shí)別研究[J]. 上海中醫(yī)藥大學(xué)學(xué)報(bào),2004,18(3):43-47.
[7]CIE.Calculations for interior lighting basic method[R/OL].[2011-09-22].http://div3.cie.co.at/?i_ca_id=575&pubid=104.
[8]Standard practice for computing the colors of objects by using the CIE system[S/OL].[2011-09-22].http://www.astm.org/.