陳從平,李少玉,鈕嘉煒,顏逸洲,張 屹
(常州大學 機械與軌道交通學院,江蘇 常州 213164)
隨著電器更新?lián)Q代速度逐步加快,產(chǎn)生大量廢舊電器,若不正當處理容易對環(huán)境造成污染,另外廢舊電器中仍有大量材料資源可以回收利用,因此需要對廢舊電器進行拆解回收,由于不同的廢舊電器需要不同的拆解方式,以及不同廢舊電器拆解后得到材料是不同的,所以廢舊電器拆解前需要對其進行識別分類[1]。傳統(tǒng)拆解過程中對廢舊電器主要是通過人工或者機械的方法進行識別分類,但由于廢舊電器種類多樣,大小、顏色、形狀等因素不固定,導致分類耗時、自動化程度低、識別效率低下,因此,實現(xiàn)廢舊電器智能識別具有實際意義。導致廢舊電器的分類耗時、自動化程度低、分類效率低下,因此,實現(xiàn)廢舊電器自動分類具有實際意義。
傳統(tǒng)的目標檢測算法有幀差法[2]、DPM法[3]和Viola-Jones法[4],這些方法對目標物體的檢測精度低、速度慢以及計算量大,本文基于機器視覺對目標進行檢測具有精度高、適應性強和速度快等特點[5],對廢舊電器整機的智能識別具有良好的效果。
本文提出的方法思路如下,首先通過工業(yè)相機在廢舊電器拆解車間采集廢舊電器圖像,通過PSPNet語義分割網(wǎng)絡[6],把廢舊電器目標區(qū)域和背景分離,掩膜操作[7]可進一步得到廢舊電器目標圖像。其次對廢舊電器目標進行特征提取,包括廢舊電器的形狀特征和卷積神經(jīng)網(wǎng)絡提取深層特征,引入主成分分析PCA算法[8]對特取到的形狀特征進行優(yōu)化,把優(yōu)化后的形狀特征與深層特征向量進行拼接,利用拼接后的特征向量對SVM二分類器[9]進行訓練,得到廢舊電器分類模型,最后將測試集中廢舊電器圖像通過上述特征提取,得到測試集特征向量輸入到分類模型中,完成廢舊電器的智能識別。
本文采集的圖像全部在廢舊電器拆解車間拍攝獲得,包括廢舊冰箱、廢舊洗衣機和廢舊空調(diào)外機,共采集900張原始圖像作為訓練集,每類300張,并統(tǒng)一訓練集圖像像素大小為473×473,同時為了提高分類器的泛化能力和魯棒性,對訓練集使用了圖像翻轉、平移、亮度調(diào)整等操作手段,完成訓練集圖像擴充。
為了減少背景對廢舊電器特征提取的干擾,將廢舊電器與背景進行分割,使用PSPNet語義分割網(wǎng)絡將采集到的廢舊電器原始圖像進行分割,得到廢舊電器與背景分割完成后的圖像,可作為下一步掩膜操作的掩膜圖像。其中,PSPNet語義分割網(wǎng)絡結構如圖1所示。
圖1 PSPNet網(wǎng)絡結構圖
輸入的廢舊電器圖像經(jīng)過主干特征提取網(wǎng)絡MobileNetV2[10],得到Feature Map特征層,然后對Feature Map進行4次步長分別為5、10、15和30的平均池化,將特征層劃分為6×6、3×3、2×2和1×1個子區(qū)域,融合這些子區(qū)域,將融合后的區(qū)域與原始特征層進行合并,最后通過卷積層生成最終的掩膜圖像。
語義分割后的掩膜圖像,其目標區(qū)域像素值為255,其余像素值為0,因此將掩膜圖像和原圖像進行“與”操作,獲得與背景分割后的廢舊電器圖像,如圖2所示。
圖2 廢舊電器與背景分割過程
廢舊電器識別分類效果的好壞,其中特征的選擇和提取是至關重要的一步。由于每一類廢舊電器有著不同的外形輪廓,所以形狀特征可以作為區(qū)分廢舊電器的依據(jù)。由于廢電器種類的多樣化,使用形狀特征不足以充分代表廢舊電器的特征,因此,進一步使用卷積神經(jīng)網(wǎng)絡提取廢舊電器深層特征。
表1 部分不變矩數(shù)據(jù)
由于廢舊空調(diào)外機、洗衣機和冰箱三類電器經(jīng)過旋轉、平移和縮放等圖像擴充手段,導致廢舊電器的位置、形狀差異顯著,而Hu矩[11]具有平移、旋轉和比例不變等特性,且識別的準確率穩(wěn)定可靠,因此可選擇經(jīng)典Hu不變矩算法提取分割后的廢舊電器圖像的形狀特征,避免了廢舊電器因形狀變化引起的偏差。利用二階、三階和歸一化中心矩可以構造出7個不變矩M1至M7,將這7個矩構成一組特征向量,可用于代表分割后廢舊電器的形狀特征。
(1)
(2)
式中,ηpq為p+q階歸一化中心矩,保證了Hu不變矩的旋轉、平移和縮放不變性,μpq表示p+q階中心矩,ρ=(p+q)/2+1。
p,q=0,1,2...
(3)
(4)
式中,m00為廢舊電器圖像的零階矩,m01和m10為廢舊電器圖像的一階矩。
(5)
根據(jù)上述原理公式,我們可以得到廢舊冰箱、洗衣機、空調(diào)外機的7個Hu不變矩形狀特征量。
對于分割后的廢舊電器圖像,采用不變矩算法提取形狀特征,并得到所有樣本的不變矩數(shù)據(jù),每個樣本有7個特征變量M1,M2,…,M7。每類廢舊電器抽取2個樣本,其不變矩特征如表1所示。
表中1、2分別代表同一種廢舊電器的不同類別。
由表1可知,不變矩的值比較相近,由廢舊電器之間形狀比較相似所導致。因此,單采用Hu不變矩算法提取形狀特征來識別廢舊電器是非常困難的,需要結合其他特征來進一步對廢舊電器進行識別。
分割后的廢舊電器圖像,經(jīng)計算發(fā)現(xiàn),3類廢舊電器輪廓的最小邊界矩形的長邊與短邊之比有明顯的差異,因此,用廢舊電器的最小邊界矩形的長寬比作為廢舊電器的一個形狀特征。
(6)
式中,L、H分別代表廢舊電器的最小邊界矩形的長和寬。
廢舊電器的形狀特征包括7個Hu矩特征和1個最小邊界的長寬比特征,組成一個維數(shù)為8的形狀特征向量。
PCA是一種常用的線性主成分分析方法,該方法根據(jù)樣本特征量的分布情況,將高維特征向量投影到低維空間中樣本點方差最大的方向,能保存數(shù)據(jù)主要信息的前提下,進而將高維特征參數(shù)降到低維空間。
由于獲得的形狀特征向量特征值較大,且特征量的維數(shù)過高,直接使用形狀特征信息來識別廢舊電器會導致數(shù)據(jù)冗余、維數(shù)災難,因此需要進行降維。引入PCA算法對形狀特征向量進行優(yōu)化,獲得廢舊電器圖像的綜合形狀特征描述,避免了不變矩數(shù)據(jù)冗余導致的低識別率。PCA算法對得到的形狀特征向量進行線性組合,提取出能夠代表廢舊冰箱、洗衣機、空調(diào)外機不同形狀特征的主成分。PCA原理如下。
假設樣本容量為t,每個樣本維數(shù)為w,所以有t×w矩陣A。
(7)
若A的相關系數(shù)矩陣R,并構造特征方程|λI-R|=0,I為單位矩陣,計算特征值λi,并按其值大小進行排序,則有:λ1≥λ2≥…≥λw≥0。通過特征值計算出主成分貢獻率α和累計貢獻率δ。
(8)
(9)
統(tǒng)計δ≥85%的前k個累計貢獻率,計算其對應的特征向量,并求出維數(shù)為8的形狀特征向量a1,a2,..,a8對主分量z1,z2,..,zk的載荷lij,即:
(10)
提取前k個主分量,從而達到降維的目的。
(11)
將形狀特征的維數(shù)由8降為4,這4個主成分代表了廢舊冰箱、洗衣機、空調(diào)外機的形狀特征。
CNN是一類包括卷積計算和具有深度結構的前饋神經(jīng)網(wǎng)絡。常見的卷積神經(jīng)網(wǎng)絡有ResNet[12]、AlexNet[13]和VGGNet[14]等網(wǎng)絡,而AlexNet網(wǎng)絡模型相比于其他卷積神經(jīng)網(wǎng)絡網(wǎng)絡層數(shù)較少,特征提取的速度更快,并使用ReLu作為激活函數(shù),解決了網(wǎng)絡較深時的梯度彌散問題,其次,在AlexNet模型中采用重疊最大池化,使得池化層之間有重疊區(qū)域,進一步提高了特征的精度,一定程度上也避免了過擬合的問題。由于AlexNet網(wǎng)絡的FC8全連接層最后輸出了1 000個神經(jīng)元,與提取到的形狀特征相比,特征維度差距較大,不利于特征的拼接,增加了分類模型訓練的復雜度,因此,本文使用改進的AlexNet網(wǎng)絡模型進行廢舊電器的深層特征提取,對AlexNet網(wǎng)絡第六、七和八全連接層進行改進,F(xiàn)C6層共1 024個神經(jīng)元,輸出1 024×1的向量,F(xiàn)C7層共128個神經(jīng)元,輸出128×1的向量,最后FC8層輸出30×1的深層特征向量。改進后的AlexNet網(wǎng)絡一方面提取了廢舊電器的深層特征,另一方面使得輸出深層特征的維數(shù)比較理想,也減輕了分類器訓練的難度,結構如圖3所示。
圖3 改進AlexNet網(wǎng)絡結構圖
由于單一尺度的形狀或深層特征并不能充分代表廢舊電器的整體特征信息,因此將PCA優(yōu)化后的形狀特征與卷積神經(jīng)網(wǎng)絡提取的深層特征進行橫向拼接操作,將拼接后的特征向量進行歸一化操作,從而消除了奇異樣本導致的不良影響,歸一化后的特征向量可作為后面模型訓練和測試的輸入。假如兩個輸入特征向量D、B的維數(shù)為v和s,則橫向拼接后的特征向量C維數(shù)為向量D、B的維數(shù)之和。
常見的機器學習分類算法有K近鄰算法[15]、樸素貝葉斯[16]、SVM、決策樹[17]等分類算法,其中SVM算法擅長解決高維度、小樣本問題,并且具有較強的泛化能力,SVM極好地避免了神經(jīng)網(wǎng)絡結構選擇和局部的極小值問題,最終將其算法轉化為一個二次型求解最優(yōu)問題,它不僅可以解決線性問題,而且還可以解決非線性問題。針對拼接后的廢舊電器特征向量維數(shù)較高,而在二分類中SVM對高維數(shù)樣本具有良好的分類效果,因此本文提出以SVM二分類模型為基礎對廢舊電器進行多分類。
利用SVM二分類器對廢舊電器進行分類,首先搭建以廢舊空調(diào)外機為正樣本,其余廢舊電器為負樣本的SVM二分類器,記為分類器1,此二分類器能夠區(qū)分廢舊空調(diào)外機和其他種類廢舊電器。其次搭建以廢舊冰箱為正樣本,其余廢舊電器為負樣本的SVM二分類器,記為分類器2,此二分類器能夠區(qū)分廢舊冰箱和其他種類廢舊電器。最后搭建廢舊洗衣機為正樣本,其余類型廢舊電器為負樣本的SVM二分類器,記為分類器3,此二分類器能夠區(qū)分廢舊洗衣機與其他種類廢舊電器,經(jīng)過上述過程,可實現(xiàn)用SVM二分類器對廢舊電器種類進行三分類,進而實現(xiàn)廢舊電器的智能識別。
SVM是在結構風險最小化理論的基礎之上通過構建最優(yōu)分割超平面對樣本特征向量進行分類,其目的是找到最優(yōu)分割超平面,使超平面上的支持向量對應的樣本點到最優(yōu)分割超平面距離最短。其原理過程如下:
在線性可分的情況下,就存在一個超平面使得訓練樣本完全分開,該n維空間的超平面方程可由二維直線方程推導出,公式如下:
ωTx+γ=0
(12)
式中,ω=[ω1,ω2,...,ωn]T,x=[x1,x2,...,xn]T,γ為其中的標量。
由二維平面上點到直線方程的距離擴展到多維,可求得超平面上的樣本點到最優(yōu)超平面的距離方程,公式如下:
(13)
(14)
目前常用的SVM核函數(shù)有線性(linear)核函數(shù)[18]、Sigmoid核函數(shù)[19]、多項式(polynomial)核函數(shù)[20]和徑向基型(radial basis function)核函數(shù)[21]。其中徑向基核函數(shù)的非線性能力優(yōu)于其它幾類核函數(shù),同時也可以應用到低維、高維、小樣本、大樣本等情況,在SVM中是應用最廣泛的核函數(shù),本文實驗SVM分類器核函數(shù)選擇徑向基核函數(shù),表達式為:
(15)
式中,γ為正實數(shù),ki,kj分別表示不同類別的樣本。使用核函數(shù)后,分類器在訓練時需求解的最小值問題為:
(16)
(17)
式中,θi為拉格朗日乘子,0≤θi≤E,(x,z)為訓練樣本,Y為類別標簽,s為訓練樣本數(shù),E為懲罰因子。預測時的分類判別函數(shù)為:
(18)
式中,b+為非負實數(shù),sgn()為符號函數(shù)。
SVM算法不僅可以解決線性問題,也可以解決非線性問題。對于非線性圖像樣本特征向量,SVM將選擇一個核函數(shù),把訓練集特征向量映射到高維空間,在高維空間中構造最優(yōu)分割超平面,特征向量在轉換后的高維空間中線性可分。
對采集到的原始圖像進行圖像擴充操作后,通過語義分割網(wǎng)絡把廢舊電器與背景進行分割,并對分割后的圖像進行特征提取和特征拼接,最后標注樣本標簽,作為廢舊電器分類模型的訓練數(shù)據(jù),其流程如圖4所示。
圖4 分類流程圖
將語義分割算法、特征提取算法以及SVM分類算法封裝成廢舊電器識別軟件,把此軟件做成離線形式,外接工業(yè)相機,工業(yè)相機通過采集拆解流水線上的廢舊電器,相機采集到的廢舊電器圖像傳輸?shù)椒庋b好的廢舊電器識別軟件,經(jīng)過軟件內(nèi)部算法,可自動識別出廢舊電器的類別,從而方便了后續(xù)各類廢舊電器的自動拆解。面向自動拆解的廢舊電器智能識別,其中廢舊電器識別模塊,全程無需人工干預,即可實現(xiàn)廢舊電器的智能識別與分類。
采集廢舊冰箱、洗衣機以及空調(diào)外機各110幅圖像作為測試集,對廢舊電器分類模型進行測試,計算出每一類廢舊電器的查準率(P),召回率(R)和F1Score值。
(19)
(20)
(21)
式中,TP為該類型廢舊電器預測為該類型廢舊電器;FP為其他類型廢舊電器預測為該類型廢舊電器;FN為該類型廢舊電器預測為其他類型廢舊電器。
用測試集分別對形狀、深層特征得到的分類模型進行試驗,可獲得分類結果的平均準確率,即分類正確個數(shù)占總測試集的百分比,由表2可知采用單一的形狀特征或深層特征對廢舊電器的識別效果較差。
表2 單一特征對廢舊電器識別的平均準確率
表3 模型評價表
將PCA優(yōu)化后的形狀特征和深層特征進行拼接,用測試集對特征拼接后得到的分類模型進行試驗。從表3可以看出,通過計算P,R和F1Score的值,可以看出此模型對廢舊電器整機識別準確率較高,并有著良好的適應性,通過計算平均準確率,高達91.21%,其中某些識別錯誤的原因可能是由于廢舊電器外形及表面相似度較高所導致。
由表2和表3通過對比可以看出,單一尺度的形狀或深層特征向量遠低于拼接后的特征向量對廢舊電器整機識別的精度。
對于特征拼接后得到的分類模型,通過改變測試集正負樣本的比例,來檢測SVM分類模型的性能,繪制ROC曲線如圖5所示。
圖5 三類分類器的ROC曲線圖
其中,縱坐標為真正率(TPR),即正樣本預測結果數(shù)占正樣本實際數(shù)的比例,橫坐標為假正率(FPR),即被預測為正的負樣本結果數(shù)占負樣本實際數(shù)的比例。圖5中曲線ROC_3代表對分類器1測試所得到的ROC曲線,曲線ROC_1代表對分類器2測試所得到的ROC曲線,曲線ROC_2代表對分類器3測試所得到的ROC曲線。通過計算AUC值(ROC曲線下的面積)均不低于0.82,因此,此模型對廢舊電器整機具有良好的識別效果。
本文提出一種面向自動拆解的廢舊電器整機智能識別方法,首先收集大量的廢舊電器圖像作為實驗圖像,其次使用目標分割算法把廢舊電器與背景進行分割,得到分割后的廢舊電器目標圖像。其次對目標圖像進行形狀、深層特征提取,采用PCA算法對形狀特征進行降維,再把上述降維后的形狀特征與深層特征進行拼接,將拼接后的特征向量對搭建好的SVM分類器進行訓練,得到廢舊電器的分類模型。由實驗可知,拼接后的特征向量得到的模型對自動拆解的廢舊電器整機智能識別有較高的精度。由于本文實驗訓練樣本集數(shù)量不夠大,對模型識別的結果會有影響,故在后期研究中可通過擴大廢舊電器數(shù)據(jù)量和種類來進一步提高廢舊電器智能識別的準確率和適應范圍。