張婷 ,高穎 ,王東 ,呂炎 ,董軍宇 ,亓琳 *,陳鵬
(1.華中師范大學(xué)/國家數(shù)字化學(xué)習(xí)工程技術(shù)研究中心,武漢430079;2.中國海洋大學(xué)信息科學(xué)與工程學(xué)院,山東青島266100;3.山東出入境檢驗檢疫局,山東青島266001)
棉花是我國的主要農(nóng)作物和大宗進(jìn)口商品,也是檢驗檢疫實施批檢驗的特殊進(jìn)口商品。近年來,國內(nèi)棉紡織行業(yè)的迅速發(fā)展帶動棉花的需求量不斷增加,國內(nèi)棉花市場缺口日益增大。但由于國內(nèi)棉花的播種面積不斷下降,導(dǎo)致每年國內(nèi)均需要進(jìn)口大量棉花。2010年棉花進(jìn)口量為267萬t,2011年為330萬t,2012年則達(dá)到了513萬t[1]。棉花自實施檢驗以來,其外觀品級一直是反映棉花品質(zhì)好壞的重要因素之一,也是棉花價格的決定因素之一,在棉花的進(jìn)出口貿(mào)易中扮演著重要的角色。品級多年來一直沿用人工評級的方法,對照實物標(biāo)準(zhǔn)或成交小樣,確定進(jìn)口棉花的品級等級及降級幅度。品級人工檢驗存在一定的不足之處,如需要人力較多,檢驗效率低,受光線等檢驗條件的影響較大,檢驗時間長時易產(chǎn)生人為誤差等。而進(jìn)口棉花品種多樣,變化反復(fù)的情況則使得這種弊端更為放大。如何消除這些不利因素,一直是棉花檢測行業(yè)研究的重點。
圖像處理技術(shù)的日益成熟和機(jī)器學(xué)習(xí)技術(shù)、距離度量學(xué)習(xí)技術(shù)的快速發(fā)展,為從圖像角度出發(fā)研究棉花品級分類的算法奠定了基礎(chǔ)。采集棉花的圖像,進(jìn)而從圖像中提取相應(yīng)的特征來表征棉花外觀,最后使用距離度量學(xué)習(xí)、機(jī)器學(xué)習(xí)技術(shù)來訓(xùn)練出1個魯棒性高的分類器,以達(dá)到對棉花品級自動分類的目的。
本文從3個方面來介紹基于距離度量學(xué)習(xí)的棉花品級分類算法:數(shù)據(jù)采集和圖像預(yù)處理、特征提取、分類器設(shè)計。色澤、雜質(zhì)和軋工是訓(xùn)練有素的工人在判斷棉花的品級時考慮的3大因素。本文根據(jù)這3個因素,從棉花的數(shù)字圖像中提取相應(yīng)的計算特征來表征棉花的屬性。本文使用主成分分析法對數(shù)據(jù)集進(jìn)行預(yù)處理,降低特征向量的維度。然后使用大邊界最近鄰算法 (Large margin nearest neighbor,縮寫為LMNN)通過半定規(guī)劃(Semidefinite programming)[2]學(xué)習(xí)得到1個馬氏距離度量矩陣。最后訓(xùn)練1個k近鄰(k-nearest neighbor,kNN)分類器,從而實現(xiàn)棉花品級的自動分類。
美國陸地棉的級別共分為5大類[3],分別為白棉(White)、淡點污棉(Light spotted)、點污棉(Spotted)、淡黃染棉(Tinged)、黃染棉(Yellow stained)。本文著眼于陸地棉中的白棉,共分為7個等級(質(zhì)量依次遞減), 分別為:Good middling、Strict middling、Middling、Strict low middling、Low middling、Strict good ordinary、Good ordinary[3]。
本文使用Canon EOS 20D數(shù)碼單反相機(jī),以美國棉花中的作為采集對象,在山東檢驗檢疫局國家進(jìn)口棉花檢測實驗室進(jìn)行圖像數(shù)據(jù)的采集。采集的數(shù)據(jù)范圍為:白棉的7個級別對應(yīng)的標(biāo)準(zhǔn)盒,以及進(jìn)出口貿(mào)易常見的前4個級別對應(yīng)的非標(biāo)準(zhǔn)盒樣本。為保證每次采集的硬件環(huán)境一致,每次采集都位于實驗室的同一位置,并使相機(jī)視線與棉花放置的平面成垂直關(guān)系,從而減少陰影,如圖1所示。
圖1 數(shù)據(jù)采集裝置簡易圖
光源為實驗室設(shè)置的D65光源,是標(biāo)準(zhǔn)光源中最常用到的人工日光,色溫為6500K。由于對棉花外觀品級的判斷很大程度上依賴于其色澤特征,因此拍攝圖像質(zhì)量的好壞嚴(yán)重影響后期的判斷。拍攝圖像的格式為RAW。RAW格式的圖像是傳感器記錄的原始信息,以盡可能保證數(shù)據(jù)的準(zhǔn)確性。
本文采用MATLAB 2010進(jìn)行數(shù)據(jù)處理。與其他格式相比,RAW格式的優(yōu)點在于它能夠被轉(zhuǎn)化為16位的圖像,在保證數(shù)據(jù)原始性的前提下,精度遠(yuǎn)遠(yuǎn)高于8位的圖像。本文將RAW格式的圖像線性轉(zhuǎn)化為16位的TIFF(Tagged image file format)文件。經(jīng)過轉(zhuǎn)化后的圖像如圖2所示。
由于進(jìn)口棉花的品級等級由色澤、雜質(zhì)和軋工3個因素決定,本文針對這3個因素擬提取相應(yīng)的計算特征對其進(jìn)行數(shù)學(xué)描述。
1.3.1色澤。所謂色澤,指的是顏色和光澤度。針對這一因素,將在CIELAB顏色空間里提取特征來對其表征。HVI通過測量棉花的反射率和黃度來反映其色澤級別。 反射率(Reflectance degree,Rd)指的是棉花的明暗程度,用百分比表示,數(shù)值大表示反射率高,棉花明亮;黃度(+b)指示棉花黃色色調(diào)的深淺,數(shù)值越大代表棉花越黃[4]。Rd和+b都來源于20世紀(jì)三四十年代Nickerson和Hunter的研究[5]。如圖3所示,在Hunter系統(tǒng)顏色空間中,顏色由三維的空間點(Rd,a,b)描述。
圖3 Hunter系統(tǒng)顏色空間示意圖
反射率和黃度在棉花色澤的測量中扮演著十分重要的角色,但隨著人們對全球棉花貿(mào)易的關(guān)注,人們希望采用更被普遍接受的測量標(biāo)準(zhǔn)來測量棉花的色澤。CIE L*a*b*是國際公認(rèn)、十分成熟的顏色模型,由國際照明委員會 (International Commission on Illumination,CIE)在 1976 年提出,是對Hunter Lab顏色空間的改進(jìn)[6]。目前,CIE L*a*b*在許多行業(yè)中得到廣泛使用。表1對這2個顏色模型從各個方面進(jìn)行了比較,其中在敏感度方面,CIE L*a*b*顏色空間對于黃色更為敏感。
此前,很多人嘗試采用L*a*b*系統(tǒng)測量棉花的色澤。1988年Aspland等試圖將Rd、+b參數(shù)變換為CIELAB的坐標(biāo),即將美國農(nóng)業(yè)部制定的比色圖由(Rd,+b)形式改為(L*,b*)形式[7-8]。 2008 年,Thibodeaux等對HVI顏色標(biāo)準(zhǔn)和CIELAB坐標(biāo)系的相關(guān)性進(jìn)行了研究,結(jié)果表明標(biāo)準(zhǔn)CIE顏色參數(shù)(L*,b*)與 HVI的顏色參數(shù)(Rd,+b)具有非常好的相關(guān)性[9]。本文在已有的研究基礎(chǔ)之上,從棉花圖像的角度出發(fā),開展了下述工作。
假設(shè)棉花圖像的像素為M×N。首先提取CIELAB空間每個顏色通道的均值,作為棉花樣本的1個特征。公式如下:
表1 Hunter Lab與CIE L*a*b*的比較
其中L*ij代表圖像中每個像素點的L*通道的值。其他2個顏色通道與此類似。HVI只是對棉花樣本的每個顏色通道的均值進(jìn)行了測定。而實際上,顏色的均勻性對于棉花等級的判定也是1個很重要的因素。因此,本文提取了不同尺度上的方差作為表示顏色均勻性的特征。首先計算整幅圖像每個顏色通道的方差,即選擇的基本單位為單個像素,分別表示為,它們是對整體顏色均勻性的測定。然后以n×n(n小于M、N)像素的方塊作為基本單位,這個基本單位的顏色值用塊內(nèi)所有像素點的均值來表示。假設(shè)一共劃分出互不重疊的Q個小塊。
1.3.2雜質(zhì)。雜質(zhì),是指混入皮棉中的一些非棉纖維物質(zhì)和不孕籽、棉籽、破籽、籽屑和籽棉等。為了能夠準(zhǔn)確地提取特征來描述雜質(zhì)這一因素,首先要做的就是有效地識別雜質(zhì)。因雜質(zhì)和棉花的亮度差別較大,一黑與一白,所以要對圖像的L*通道處理,識別雜質(zhì)。雜質(zhì)識別后,可以得到一個二值圖像,提取該二值圖像上的雜質(zhì)總面積、塊數(shù)、平均大小、分布4個特征作為對雜質(zhì)這一因素的表征。
1.3.3軋工。軋工的好壞表示的是籽棉經(jīng)過軋花工序后皮棉的光潔、柔順、粗糙、雜亂的程度。在美國農(nóng)業(yè)部的566號農(nóng)業(yè)手冊[13]中,有關(guān)于“Preparation”和“Extraneousmatter”的定義。 “Preparation”用來描述皮棉的光滑和粗糙程度?!癊xtraneousmatter”用來描述棉花中除纖維和葉屑外,所含的另外的物質(zhì),例如草根、樹皮、籽屑、灰塵、油污等。
綜上,軋工包括2個方面的內(nèi)容:一是它的外觀形態(tài),表面平滑或粗糙,棉花表面的糾結(jié)程度;二是所含疵點的程度。關(guān)于疵點的檢驗,在雜質(zhì)提取時能一定程度上識別出來,所以這些內(nèi)容在針對“雜質(zhì)”提取的特征中有所體現(xiàn)。對于外觀形態(tài)的粗糙度,通過提取紋理特征——灰度共生矩陣(Gray level co-occurrence matrix,GLCM)來表示。 Duckett等在文章中也提到,紋理是人眼觀測到的1個很重要的特征[8]。紋理分析的方法在紡織品中的應(yīng)用也在前人的研究中有所體現(xiàn)[14-16]。人類視覺感知對二階統(tǒng)計量十分敏感,因此,選擇圖像的灰度共生矩陣的二次統(tǒng)計量對紋理進(jìn)行描述。
灰度共生矩陣是1種通過分析圖像像素灰度值的空間分布相關(guān)性來描述紋理的方法。常用的灰度直方圖是對圖像中每個灰度級出現(xiàn)頻率的統(tǒng)計結(jié)果,與空間位置無關(guān);而灰度共生矩陣是對圖像中相距某個固定距離的2個像素點分別具有某灰度的情況進(jìn)行統(tǒng)計得到的[17]。假設(shè)存在1幅N×N像素的圖像,取其中的任意一個像素點(x,y)以及另外1個與它有固定間隔的像素點(x+m,y+n),它們對應(yīng)的灰度值分別為f1和f2,這一像素點對的灰度值表示為(f1,f2)。 令像素點(x,y)在整幅圖像上以 1 個像素點為間隔順序移動,則會得到不同(f1,f2)值。如果該圖像是8位圖像,即灰度值的級數(shù)為256,那么(f1,f2)有2562種不同的組合。遍歷整個圖像,統(tǒng)計每一對(f1,f2)出現(xiàn)的次數(shù),以矩陣的形式記錄下來。最后將統(tǒng)計得到的次數(shù)歸一化為頻率,形成的矩陣就是灰度共生矩陣。間隔(m,n)可以有不同的取值,具體可以依據(jù)紋理的特征來設(shè)定。針對細(xì)的紋理,選擇小的間隔值;反之,選擇較大的間隔值。當(dāng)m=1,n=0時,像素點對是水平分布的,此時對應(yīng)的是0°方向上的灰度共生矩陣;當(dāng)m=0,n=1時,像素點對是垂直分布的,此時對應(yīng)的是90°方向上的灰度共生矩陣;與此類似,當(dāng)m=1,n=1 時,對應(yīng)的是 45°方向;當(dāng)m=-1,n=1時,對應(yīng)的是135°方向。
由于通過灰度共生矩陣計算出的一些標(biāo)量,可以用來表示紋理的特征。針對棉花圖像,本文選定步長為 1,方向為 0°、45°、90°、135°的 4 個灰度共生矩陣進(jìn)行計算。針對每個灰度共生矩陣,計算其能量、熵、對比度、相關(guān)性4個紋理參數(shù)。然后,求能量、熵、對比度、相關(guān)性的均值和標(biāo)準(zhǔn)差作為最終8維紋理特征。
綜上所述,本文一共提取了21個特征來表征棉花圖像,包括 9 個色澤特征[均值(L*)、均值(a*)、均值(b*)、方差(L*)、方差(a*)、方差(b*)、方差(L*)(32×32 像素的方塊)、 方差 (a*)(32×32 像素的方塊)、方差(b*)(32×32 像素的方塊)],4 個雜質(zhì)特征(區(qū)域百分比、平均大小、數(shù)量、雜質(zhì)的分散程度),8個軋工(GLCM)特征[平均值(能量)、標(biāo)準(zhǔn)差(能量)、平均值(熵)、標(biāo)準(zhǔn)差(熵)、平均值(對比度)、標(biāo)準(zhǔn)差(對比度)、平均值(相關(guān)性)、標(biāo)準(zhǔn)差(相關(guān)性)],也就是說,每幅圖像對應(yīng)1個21維的向量。
基于以上得到的特征數(shù)據(jù)設(shè)計、訓(xùn)練合適的分類器,并測試其性能。棉花定級人員的棉花分類能力也是花費大量的時間、精力來學(xué)習(xí)獲取的。因此,本文將機(jī)器學(xué)習(xí)(Machine learning,ML)的技術(shù)應(yīng)用到棉花品級分類算法的研究中,利用大量的已分類的棉花樣本來訓(xùn)練分類器,使得分類器具備棉花定級能力,從而將人的眼睛從這項工作中解放出來。具體的機(jī)器學(xué)習(xí)算法包括人工神經(jīng)網(wǎng)絡(luò)、決策樹、k近鄰分類算法(kNN)、支持向量機(jī)等[18]。本文主要研究最近鄰分類算法及其后續(xù)發(fā)展的一系列算法在棉花分類中的應(yīng)用。圖4為棉花分類方法的流程。
圖4 棉花分類方法的流程
(1)特征數(shù)據(jù)降維。采用主成分分析(Principal component analysis,PCA)的方法對前面得到的數(shù)據(jù)降維,減少數(shù)據(jù)冗余,以便后續(xù)的分析。假設(shè)選取100個樣本,把數(shù)據(jù)表示成100×21的矩陣形式。降維之前,需要對數(shù)據(jù)逐列(每列代表的是100個樣本的同一個特征)進(jìn)行歸一化處理,使每列的數(shù)據(jù)減去本列數(shù)據(jù)的均值,除以標(biāo)準(zhǔn)差。最后得到的是均值為0,標(biāo)準(zhǔn)差為1的數(shù)據(jù),方便以下的計算。
設(shè)X=(x1,…,xp)T是 1 個p維隨機(jī)向量,均值向量EX=u,協(xié)方差矩陣DX=V≥0。來自某個總體X的樣本有p個特征變量,主要的任務(wù)是要將這p個特征變量x1,…,xp組合成少數(shù)幾個綜合性變量y1,y2,….,yq(q<p),同時要求新的綜合變量能涵蓋原來p個特征變量所包含的信息,并且q個綜合變量互不相關(guān)。針對本文中使用的樣本,p應(yīng)該為21,q是<21的正數(shù)。 將y1取為x1,x2,…,xp的線性組合,即:
其中,a1=(a11,a12,…,a1p)T為非 0 常向量。選取合適的非零向量a1,使得y1能盡可能多地包含原來p個特征變量所具有的信息,也就是說經(jīng)過變換后得到的y1具有最大的方差
(2)Multiple-metricsLMNN。最初提出的 LMNN分類框架存在1個明顯的局限性:針對輸入的所有樣本數(shù)據(jù),都是使用同一個馬氏距離度量來計算樣本間的距離。將度量記為M=LTL,那么可以看到馬氏距離[19]本質(zhì)上就是歐式距離[20]的全局線性變換,即x→→Lx→,這樣的變換不適用于訓(xùn)練數(shù)據(jù)中的非線性變化。Weinberger等[21]對singlemetricLMNN進(jìn)行了改進(jìn),提出了Multiple-metricsLMNN的概念。
假設(shè)將數(shù)據(jù)集劃分為P個不相交的子集其中當(dāng) α≠β 時那么在kNN分類中,每個Pα都有自己的馬氏距離度量Mα。輸入1個測試特征向量計算它與訓(xùn)練集中任意向量屬于子集 αi)的距離的平方,公式如下:
將計算出的距離大小排序,選出的最近鄰,從而確定其類別。 在 LMNN 分類中,假設(shè)是的1 個目標(biāo)鄰居。 首先,使用Mai計算與間的距離;第二步,使用Mai計算與潛在的冒名目標(biāo)鄰居間的距離;最后,將半正定約束條件改寫為多個。綜上所述,這些步驟又形成了新的半正定規(guī)劃問題。如下所示:
(b) ξijl≥0;
(c)Ma為半正定矩陣。
為了提高試驗的準(zhǔn)確性,首先要進(jìn)行雜質(zhì)識別。在雜質(zhì)識別試驗中,通過對圖像進(jìn)行歸一化處理,并在歸一化后的圖像基礎(chǔ)上尋找邊緣以檢測灰度變化,從而提高方法的魯棒性。因此本文利用sobel算子對歸一化后的圖像進(jìn)行邊緣檢測[12],得到二值圖像。如圖5(b)所示,每個小雜質(zhì)塊是一個連通域。
對所得圖像進(jìn)行閾值分割,得到另一張二值圖像。并對2幅二值圖像進(jìn)行“與”操作,最后通過消除噪聲點,將只有1個像素點的雜質(zhì)去掉。圖6為7個級別的雜質(zhì)識別結(jié)果。
圖5 雜質(zhì)識別
對所得圖像進(jìn)行閾值分割,得到另一張二值圖像。并對2幅二值圖像進(jìn)行“與”操作,最后通過消除噪聲點,將只有1個像素點的雜質(zhì)去掉。圖6為7個級別的雜質(zhì)識別結(jié)果。
本試驗將大邊界k近鄰算法應(yīng)用到棉花分類中。根據(jù)特征數(shù)據(jù)的降維方式,先后設(shè)置不同的k值和維度值,根據(jù)不同維度值對應(yīng)的貢獻(xiàn)率的大小選取適合的維度值,本試驗中選取的維度為10維和15維2種,對應(yīng)的累積貢獻(xiàn)率分別為99.80%和99.99%。
2.2.1基于標(biāo)準(zhǔn)盒的棉花品級分類。每個品級選取了108個標(biāo)準(zhǔn)盒樣本,組成了大小為756(108×7=756)的樣本集。其中70%用來訓(xùn)練,30%用來測試。不同的參數(shù)設(shè)置對應(yīng)的分級效果如圖7所示。
從圖 7 可以看出,當(dāng)方法(kNN、LMNN(10)、LMNN(15)等)相同時,k=1對應(yīng)的試驗的錯誤率最??;當(dāng)k值相同時,方法 LMNN(10)或 LMNN(15)可取得最好的試驗效果。綜上所述,當(dāng)參數(shù)k=1時,使用LMNN(15)的方法得到最小的錯誤率1.32%。
圖6 雜質(zhì)識別結(jié)果圖
圖7 不同參數(shù)下基于標(biāo)準(zhǔn)盒的棉花分級效果
2.2.2基于標(biāo)準(zhǔn)盒和非標(biāo)準(zhǔn)盒的棉花品級分類。上述試驗的數(shù)據(jù)僅包含標(biāo)準(zhǔn)盒樣本,而在實際應(yīng)用中,針對非標(biāo)準(zhǔn)盒樣本的準(zhǔn)確率才是最需要關(guān)心的問題,因此后續(xù)試驗中加入了非標(biāo)準(zhǔn)盒樣本(僅常見的前4個級別的非標(biāo)準(zhǔn)盒樣本)。本試驗數(shù)據(jù)集包括:(1)標(biāo)準(zhǔn)盒樣本共 432 個(108×4);(2)非標(biāo)準(zhǔn)盒樣本349個 (因為非標(biāo)準(zhǔn)盒樣本的有限性,每個級別的樣本個數(shù)沒有完全統(tǒng)一,但大致相同)。因此,本試驗的樣本集大小為 781(432+349),70%用來訓(xùn)練,30%用來測試。結(jié)果如圖8所示。
圖8 不同參數(shù)下基于標(biāo)準(zhǔn)盒和非標(biāo)準(zhǔn)盒的棉花分級效果
由上述試驗結(jié)果可以看出:(1)是否使用PCA降維,對分級結(jié)果影響不大。在基于標(biāo)準(zhǔn)盒的棉花品級分類試驗中,使用PCA降維的分級準(zhǔn)確率比LMNN的結(jié)果稍高;基于標(biāo)準(zhǔn)盒和非標(biāo)準(zhǔn)盒的棉花品級分類試驗中,使用PCA降維的分級準(zhǔn)確率比LMNN的結(jié)果稍低。特征向量的維數(shù)是21,本身不屬于高維數(shù)據(jù),因此是否使用PCA法對計算量的影響也不大。
(2)MM LMNN法的分級結(jié)果與LMNN法基本持平,僅在圖8b所示的結(jié)果中有所提高。因此,可以說馬氏距離度量法適用于整個棉花樣本集。
(3)加入非標(biāo)準(zhǔn)盒樣本后的分級準(zhǔn)確率下降。下降的原因分析如下:第一,標(biāo)準(zhǔn)盒樣本屬于人工制作的樣本,從整個樣本來看,無論是雜質(zhì)、色澤,還是軋工技術(shù),分布得都很均勻;因此500×500像素的圖像(本文中的樣本都是500×500像素的)能很好地代表1個品級的特征。而非標(biāo)準(zhǔn)盒樣本的雜質(zhì)、色澤、軋工技術(shù)分布不均勻,用500×500像素的圖像不能很好地反映1個品級的特征(這一點也是未來要完善的)。第二,標(biāo)準(zhǔn)盒樣本十分平整,而非標(biāo)準(zhǔn)盒樣本凹凸不平,由于自身的遮擋會產(chǎn)生陰影,這也是造成分級準(zhǔn)確率下降的原因之一。第三,對于非標(biāo)準(zhǔn)盒樣本的分類準(zhǔn)確率計算,本文是通過將分類器給出的結(jié)果與工人給出的級別相比較得出,但是并不能保證工人的判斷完全正確。
本文從圖像的角度出發(fā),提出了一種非常經(jīng)濟(jì)高效的棉花品級自動分類方法,解決了人工檢測棉花中的效率低、主觀性強(qiáng)等缺點。本文首先從圖像中提取能反映棉花屬性的相關(guān)特征,之后再用距離度量學(xué)習(xí)、機(jī)器學(xué)習(xí)算法對這些數(shù)據(jù)進(jìn)行學(xué)習(xí)訓(xùn)練,得到1個高準(zhǔn)確率的分類器。
本文所提出的棉花等級分類方法,完全從圖像的角度出發(fā),通過計算棉花樣品的L*、a*、b*的均值、方差等值,更全面地反映棉花圖像的色澤特征。從視覺感知的角度出發(fā),提取棉花的紋理特征,使其能很好地表征軋工。并通過圖像處理對棉花的雜質(zhì)情況進(jìn)行了有效表征。同時將評價棉花外觀好壞的色澤、雜質(zhì)和軋工這3個指標(biāo)都考慮進(jìn)來,提出了1種完備的棉花品級自動分類方法,并將機(jī)器學(xué)習(xí)和距離度量學(xué)習(xí)的技術(shù)應(yīng)用到棉花品級分類中。應(yīng)用試驗證明本文提出的方法可以有效實現(xiàn)棉花品級分類。