王小明 魏甲欣 馬 飛 王藝斌 許文武 靳亞偉 李 琪
(1. 河南中煙工業有限責任公司許昌卷煙廠,河南 許昌 461000;2. 南京焦耳科技有限責任公司,江蘇 南京 210000)
傳統的煙絲識別方法測定步驟復雜,檢測效率低下且測量誤差大。劉曉萍等[1]、胡立中等[2]提出了一種基于近紅外光譜的煙絲識別方法,但由于葉絲中混合較多其他的雜質如煙末、煙梗、碎煙片等,而這些雜質成分的紅外光譜信息與煙絲其他組分太過相似,差異性較小,會導致識別時誤差較大,不能很好地對煙絲進行區分;高振宇等[3]提出了一種基于卷積神經網絡的識別方法,但其在測試集上的準確率相對來說并未達到較高的水準,而且模型泛化能力較低;鐘宇等[4]提出一種基于殘差神經網絡的煙絲分類識別的方法,該方法相比于卷積神經網絡方法在識別率上有了一定的提高,但對于一部分宏觀差異不明顯的煙絲的識別效果較差。
基于不同組分之間的煙絲在紋理、顏色、形狀上存在差異性,研究擬提出一種基于AdaBoost集成學習的煙絲識別方法,利用F-score特征選擇方法和AdaBoost集成學習方法對煙絲組分進行識別,提取煙絲的紋理、顏色、形狀特征作為模型的輸入,通過F-score特征選擇方法降低特征維度,以SVM[5]作為基分類器,再利用AdaBoost集成學習方法,得到煙絲的分類模型,通過煙絲模型對煙絲進行分類,旨在實現煙絲的快速準確識別,提高煙絲的識別效率。
如圖1所示,通過煙絲結構檢測系統采集煙絲的圖像,對圖像進行預處理,分割出煙絲,再提取煙絲圖像的顏色、紋理、形狀特征,利用F-score特征選擇方法對特征數據進行優化選擇,通過AdaBoost集成學習方法得到煙絲的分類模型,并對煙絲的組分進行判別統計。

圖1 基于AdaBoost集成學習的煙絲識別方法的流程示意圖Figure 1 Flowchart of cut tobacco recognition method based on AdaBoost ensemble learning
煙絲結構檢測系統的硬件平臺如圖2所示,主要由喂料機、煙絲輸送皮帶、可見光光源、光源控制器、高速CCD相機、采集卡、工控機、觸摸屏組成。

1.喂料裝置 2.風選倉 3.分散裝置 4.相機鏡頭 5.LED光源 6.高速皮帶機 7.收料倉圖2 煙絲結構檢測系統三維圖Figure 2 Three-dimensional diagram of cut tobacco structure detection system
利用工業相機分別采集了薄片絲、梗絲、葉絲的圖像,分辨率為8 192×8 000,3個等級分別對應標簽0,1,2。為了采集到每一片煙絲的特征,需要對圖像進行分割[6],分割出每一片煙絲。首先對圖像進行預處理,對采集到的煙絲圖像進行去除噪聲。去噪方式選用中值濾波法[7],采用3×3的濾波窗口,以盡可能保存圖像的細節信息。由于煙絲圖像中的背景部分存在略微明顯的白色噪點,采用中值濾波可以取得較好的抑制效果。因為全局閾值分割的效果并不理想,所以采用OTSU算法[8],通過自動計算最佳閾值來對煙絲進行分割,提取煙絲的連通區域。通過對煙絲連通區域的外接矩形[9],提取到每一片的煙絲圖像,方便之后的特征提取。如圖3所示。

圖3 煙絲圖像Figure 3 Image of cut tobacco
1.2.1 紋理特征 紋理特征實際上是一種全局特征,通過對圖像區域內灰度級變化的特征進行量化得到的一個值。紋理特征具有旋轉不變性,且對噪聲有較強的抵抗能力。
灰度共生矩陣是利用條件概率來反映紋理特征,是相鄰像素之間的灰度相關性的表現,可以顯示出圖像在灰度空間分布的一些特性[10]。通常灰度共生矩陣的維數與圖像中的灰度級數相同[11]。
根據灰度共生矩陣可以計算出對比度、差異性、同致性、二階矩、能量、相關性,其數學表達式為:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
式中:
Contrast——對比度;
Dissimilarity——差異性;
Homogeneity——同致性;
ASM——二階矩;
Enregy——能量;
Correlation——相關性;
ui——第i行的加權平均值;
uj——第j列的加權平均值;


i、j——灰度值;
k——灰度值的級數;
P(i,j)——灰度值i、j同時出現的概率。
1.2.2 LBP等價模式 為了更好地對煙絲進行區分,引入紋理特征局部二值模式[12](Local Binary Pattern,LBP)。其是一種描述圖像局部紋理特征的算子,具有旋轉不變性[13]和灰度不變性[14],可在一定程度上緩解光照變化帶來的影響。由于原始的LBP模式維數過大,為了提高效率,采用改進后的LBP等價模式[15]。而且該模式也可以減少高頻噪聲帶來的干擾。
1.2.3 顏色特征 顏色特征是區分不同種類煙絲的重要特征之一。顏色矩是由Stricker等[16]提出的一種簡單有效的顏色特征表示方法。由于顏色信息主要分布在低階矩中,所以用一階矩、二階矩和三階矩足以表達圖像的顏色分布,因此分別計算RGB顏色模型和HSV顏色模型各通道的一階矩、二階矩和三階矩作為煙絲的顏色特征。
一階矩、二階矩、三階矩的數學定義如下:
(11)
(12)
(13)
式中:
μi——顏色一階矩;
σi——顏色二階矩;
si——顏色三階矩;
Pij——第i個通道的第j個像素的強度值;
N——圖像中的像素個數。
1.2.4 形狀特征 以分散度、矩形度、圓形度反映煙絲的形狀特征。為了提取形狀特征,首先對彩色圖像做灰度化處理,轉為灰度圖,然后利用OTSU算法對灰度圖像進行閾值化處理,得到二值圖,最后計算其輪廓。煙絲原圖如圖4所示。

圖4 煙絲原圖Figure 4 Original picture of cut tobacco
經過OTSU算法閾值化處理后得到如圖5的二值圖的輪廓,計算輪廓像素個數為周長L,輪廓包含的像素個數為面積S。由周長和面積可得分散度:

圖5 煙絲二值圖Figure 5 Binary picture of cut tobacco
(14)
式中:
D——分散度;
L——輪廓像素個數的周長;
S——輪廓包含的像素個數的面積。
如圖6所示,每個輪廓都包含了最小外接矩形。

圖6 煙絲最小外接矩形圖Figure 6 The minimum circumscribed rectangle of cut tobacco
矩形度的計算公式:
(15)
式中:
R——矩形度;
SMER——最小外接矩形面積;
S——輪廓包含的像素個數的面積。
圓形度計算公式:
(16)
式中:
R0——圓形度;
L——輪廓像素個數的周長;
S——輪廓包含的像素個數的面積。
傳統的F-score方法是一種衡量特征在兩類之間分辨能力的方法,它能夠衡量特征在兩類之間的辨別力大小。但是此方法存在一定的局限性,只適用于兩類情況的特征選擇,不能直接應用于多類問題中的特征選擇。而改進后的F-score方法[17]則解決了這一問題。它既能夠衡量特征在兩類之間的辨別能力大小,也能夠衡量特征在多類之間的辨別力大小。因此選擇改進后的F-score方法進行特征選擇。改進后的F-score特征選擇方法描述如下:
給定訓練樣本集xk∈Rm,k=1,2,…,n,則訓練樣本第i個特征的F-score定義為:
(17)
式中:
Fi——第i個特征的F-score;
xi——第i個特征在整個數據集上的平均值;


l——樣本類別數,l≥2;
nj——第j類的樣本個數(j=1,2,…,l0)。
改進的F-score特征選擇方法基于類別可分準則,F-score值越大,則該特征的分類辨別力越強,即類間越疏,類內越密,分類的效果越好。圖7所示的多類情況即達到了理想效果。

圖7 多類情況Figure 7 Multiple cases
AdaBoost集成學習算法是一種迭代算法,其核心思想是集合弱分類器構成一個強分類器[18]。它是提升方法中最為廣泛的一種實現形式。它通過對個體分類器有序地訓練來進行提升,而且各個分類器的結果是互相關聯的,后一個分類器的分類過程會受到前一個分類器的影響,所以每一個分類器的權重不一樣,通過增加當前基分類器錯分樣本的權重,使得下一個基分類器去關注錯分樣本,從而提高集成分類器的精度。
AdaBoost算法分類精度較高,能夠較為靈活地使用各種回歸分類模型來構建弱學習器,不僅構造相對簡單,而且也不易發生過擬合的情況。因此,使用支持向量機作為基分類器,通過AdaBoost集成學習的方法對煙絲進行分類。
為了驗證AdaBoost集成學習方法的可行性與效果,將其與人工識別、卷積神經網絡方法[3]以及殘差神經網絡方法[4]作了對比試驗,并分析了是否使用F-score方法、SVM中使用到的核函數、特征的組合使用等參數設置來尋求最佳識別準確率。
2.1.1 方法對比試驗數據集 為了檢測AdaBoost集成學習方法的實際分類效果,其與人工識別、卷積神經網絡方法和殘差神經網絡方法對比是否具有優越性,采用3組混合煙絲進行試驗。具體煙絲成分構成如表1所示,第1組混合煙絲葉絲較多,第2組混合煙絲梗絲較多,第3組薄片絲較多。

表1 混合煙絲試驗組Table 1 Experimental group of mixed cut tobacco g
2.1.2 參數擇優試驗數據集 為了對AdaBoost集成學習方法的參數進行擇優選取,選擇5組數據集進行訓練與測試,見表2。5組數據集均在不同批次的煙絲中進行選取采集,具有一定的代表性。

表2 數據集樣本劃分Table 2 Data set sample division
如表3~表5所示,人工識別方法的平均相對誤差較大,卷積神經網絡方法和殘差神經網絡方法雖然相對誤差較小,但與AdaBoost集成學習方法相比效果較差。主要原因是人工識別方法本身操作過于復雜,在多次測量時容易產生較大的誤差。而卷積神經網絡法在實際操作中,訓練集的正確率與測試集的準確率相差較大,存在一定的“過擬合現象”,導致模型泛化能力較低,因此最終的識別率不理想。殘差神經網絡法對比卷積神經網絡法在識別的準確率上確實有了明顯的提升,但是對于那些宏觀差異較小,區別程度不大的煙絲,比如部分薄片絲和葉絲,僅從外觀來看,肉眼很難區分,對于這一部分煙絲較難進行正確識別,導致該方法的識別準確率存在一定的局限性。AdaBoost集成學習方法在實際操作中對每一種煙絲樣本添加分類器進行訓練,并對那些識別錯誤的樣本,通過降低其分類權值以提高煙絲識別的準確率。通過試驗,AdaBoost集成學習方法的相對誤差都≤5%,也驗證了AdaBoost集成學習方法的準確性與可行性。

表3 第1組混合煙絲識別率統計Table 3 Statistics of recognition rate of the first group of mixed cut tobacco %

表4 第2組混合煙絲識別率統計Table 4 Statistics of recognition rate of the second group of mixed cut tobacco %

表5 第3組混合煙絲識別率統計Table 5 Statistics of recognition rate of the third group of mixed cut tobacco %
2.3.1 LBP特征維數 利用等價模式LBP對圖像進行處理后,圖像的像素級會變為59。統計圖像中每個像素級對應的像素點個數,即求取直方圖特征,因此一張圖像的LBP特征共有59維。而在實際應用中,還會對圖像進行分塊,之后提取每一塊的LBP特征來增加特征的復雜性,使LBP特征更能代表圖像的每個部分的紋理信息。試驗中,將未進行分塊的原圖像分成2×1以及4×1的圖像分別提取LBP特征,其對應的特征維數分別為59,118,236。如表6所示,當圖像分成4塊,即特征維數為236時,準確率最高。這可能是因為相對于不分塊或者將圖像分成2塊,分成4塊后提取的LBP特征更容易提取圖像中的細微特征。而對圖像進行更多的分塊不僅會增加提取特征的時間,而且過多的特征可能會造成冗余,加重了之后特征選擇的負擔。因此,將圖像分成4塊,LBP特征的維數為236維。

表6 LBP取不同特征維數時在測試集上的準確率Table 6 Accuracy of LBP in test set with different featuredimensions %
2.3.2 F-score特征選擇 由表7可知,使用了F-score方法后,測試集的準確率明顯提高,其平均準確率比未使用F-score方法的高出5.9%。在選用煙絲顏色、紋理、形狀特征時,其特征維數會達到幾千甚至上萬,但識別煙絲時,這些特征并不能全部被用上,而且有些特征可能還會存在一定的干擾,為了驗證這些特征是否會存在干擾,需將特征維數進行縮小,排除掉干擾特征,提高煙絲識別的準確率。

表7 模型在測試集上的準確率Table 7 Accuracy of the model on the test set %
2.3.3 SVM核函數 從表8可以看出,線性核函數的識別率較低,多項式核函數的識別率相對較高,但其與RBF核函數相比的識別率較低。核函數的本質是特征轉換函數,是將數據映射到高維空間來解決在原始空間中線性不可分的問題。線性核函數是最簡單的核函數,是直接對兩個輸入特征向量的內積進行計算,使用起來簡單高效,但僅適用于線性可分的數據集,就測試集的準確率78.23%來看,線性核函數并不能對煙絲進行有效的識別區分。而多項式核函數和RBF核函數都可以將數據擬合到復雜的多維平面,但多項式的參數選擇較為復雜,通過對數據集的實際準確率統計,RBF核函數要略優于多項式核函數,綜合考慮選用RBF核函數。

表8 各核函數模型在測試集上的準確率Table 8 Accuracy of kernel function models in test set %
2.3.4 特征組合 表9展示了不同特征組成對于煙絲識別準確率的影響。形狀上,薄片絲、梗絲和葉絲3種煙絲都有較為相似的部分,單從形狀很難進行區分,所以形狀的識別準確率很低。而通過肉眼觀察其顏色和紋理,三者確實存在一定的差異,但也存在極為相似的部分,所以單論紋理、顏色或形狀均不能很好地區分煙絲。當選取不同特征進行組合時,紋理和顏色特征組合的平均準確率達到了92.10%,而紋理、顏色和形狀特征組合的平均準確率達到了96.05%,因此,選用紋理、顏色、形狀3種特征提取。

表9 模型在訓練集上選取不同特征做測試集的準確率Table 9 The accuracy of the model in selecting different features on the training set for testing %
2.3.5 集成學習方法 邏輯回歸[19]、Voting[20]和AdaBoost 3種集成學習方法的處理過程較為相似,均可以對多特征的樣本數據進行有效區分。利用這3種框架對5個數據集進行驗證。如表10所示,與邏輯回歸和Voting的集成學習方法相比,AdaBoost集成學習方法的準確率是三者之中最高的。采用Adaboost算法進行集成,可以更綜合地考慮每一個弱分類器的偏好,各分類器的級聯也更合理。因此,選用AdaBoost集成學習方法來進行模型訓練。

表10 不同集成學習方法的測試集準確率Table 10 Test set accuracy of different ensemble learning methods %
針對人工煙絲組分檢測效率低,步驟復雜的缺點,提出一種基于AdaBoost集成學習的煙絲分組識別方法。利用F-score特征選擇方法對特征進行降維處理,并使用集成學習集成多個SVM,進一步優化特征選擇和分類性能,提高了模型的分級性能。與傳統方法相比,該方法能更快捷、方便,更安全、有效,而且識別率在95%以上。后續可以對煙絲特征的計算進行優化,提高計算精度,進一步提高煙絲組分識別的準確率。