謝為俊,魏 碩,鄭招輝,楊光照,丁 鑫,楊德勇
(中國(guó)農(nóng)業(yè)大學(xué)工學(xué)院,北京100083)
胡蘿卜(Daucus carotaL.)是世界上主要的塊根塊莖類蔬菜,富含胡蘿卜素、多酚及多種微量元素。中國(guó)胡蘿卜產(chǎn)量最大且出口最多,2018年產(chǎn)量達(dá)2000萬(wàn)t,接近世界總產(chǎn)量的一半[1]。及時(shí)剔除缺陷胡蘿卜有助于提高胡蘿卜的市場(chǎng)競(jìng)爭(zhēng)力,因此對(duì)胡蘿卜的外觀品質(zhì)評(píng)價(jià)十分必要。傳統(tǒng)的胡蘿卜缺陷識(shí)別分揀具有勞動(dòng)力消耗大、成本高、主觀性強(qiáng)等缺點(diǎn),而機(jī)器視覺識(shí)別技術(shù)具有快速無(wú)損、客觀標(biāo)準(zhǔn)等優(yōu)點(diǎn),越來(lái)越多地應(yīng)用于農(nóng)業(yè)生產(chǎn)中,提高了農(nóng)業(yè)生產(chǎn)現(xiàn)代化水平與生產(chǎn)效率[2]。
20世紀(jì)末,有學(xué)者開始利用機(jī)器視覺技術(shù)對(duì)胡蘿卜外觀進(jìn)行評(píng)價(jià)。但限于當(dāng)時(shí)的技術(shù)條件,機(jī)器視覺僅能識(shí)別胡蘿卜的肩部與根部位置[3]、表面顏色缺陷[4]、部分形狀缺陷[5]、根尖形狀特征[6]等,且識(shí)別準(zhǔn)確率低,魯棒性差。隨著機(jī)器視覺技術(shù)的飛速發(fā)展,研究人員開始利用先進(jìn)的軟硬件條件對(duì)胡蘿卜分級(jí)進(jìn)行深入研究。Hahn和Sanchez[7]開發(fā)了一種簡(jiǎn)單的算法,僅使用相距90o的兩幅圖像,就可以在不旋轉(zhuǎn)相機(jī)的情況下準(zhǔn)確預(yù)測(cè)胡蘿卜的體積。許多學(xué)者設(shè)計(jì)了特定的圖像處理算法對(duì)胡蘿卜不同外觀缺陷進(jìn)行檢測(cè)。韓仲志等[8]和Deng等[9]針對(duì)胡蘿卜青頭、須根、開裂、彎曲等不同缺陷分別設(shè)計(jì)了圖像處理算法,平均檢測(cè)準(zhǔn)確率90%以上;Xie等[10]和謝為俊等[11]根據(jù)胡蘿卜青頭、彎曲、斷裂、分叉和開裂等不同缺陷特點(diǎn)設(shè)計(jì)不同的圖像處理算法,總體識(shí)別率達(dá)90%以上。上述圖像處理算法可實(shí)現(xiàn)胡蘿卜缺陷的檢測(cè),但存在準(zhǔn)確率較低、算法復(fù)雜、魯棒性差等缺點(diǎn)。
機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)在圖像分類領(lǐng)域獲得巨大成功,在農(nóng)業(yè)生產(chǎn)領(lǐng)域也得到了大量應(yīng)用[12],越來(lái)越多學(xué)者將其引入胡蘿卜分級(jí)領(lǐng)域。Xie等[13]提取正常胡蘿卜的12個(gè)特征作為反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network, BPNN)、SVM、極限學(xué)習(xí)機(jī)(Extreme Learning Machine, ELM)的輸入,將正常胡蘿卜分為4個(gè)等級(jí),分級(jí)準(zhǔn)確率達(dá)96.67%,但該方法未涉及缺陷胡蘿卜的分級(jí)研究。Zhu等[14]和倪建功等[15]利用深度學(xué)習(xí)對(duì)胡蘿卜的黑斑、須根、彎曲缺陷進(jìn)行檢測(cè),平均識(shí)別準(zhǔn)確率達(dá)95%以上,但對(duì)胡蘿卜外觀影響更大的機(jī)械損傷、斷裂、分叉、畸形和開裂等缺陷識(shí)別研究還未涉及。
缺陷胡蘿卜通常用作動(dòng)物飼料或直接丟棄,降低了胡蘿卜種植效益。而分叉、開裂等缺陷胡蘿卜可作為深加工原料,制作胡蘿卜汁、胡蘿卜粉等。但開裂胡蘿卜開裂處會(huì)藏有泥土,清洗不徹底會(huì)影響胡蘿卜制品質(zhì)量,甚至導(dǎo)致食品安全問題,因此在深加工前對(duì)胡蘿卜開裂區(qū)域進(jìn)行修整十分必要。胡蘿卜開裂區(qū)域的精準(zhǔn)分割是實(shí)現(xiàn)開裂胡蘿卜自動(dòng)化修整的必要條件。韓仲志等[8]、Deng等[9]和謝為俊等[11]利用胡蘿卜開裂區(qū)域與正常區(qū)域的顏色、紋理差異提取開裂區(qū)域,但提取精準(zhǔn)度較差。因此對(duì)胡蘿卜開裂區(qū)域的精準(zhǔn)提取研究十分必要。
為更加全面地評(píng)價(jià)胡蘿卜外觀品質(zhì)和開裂胡蘿卜的自動(dòng)化修整,本研究提出一種集缺陷識(shí)別與分割為一體的深度多分支模型融合網(wǎng)絡(luò)(CS-Net)。該網(wǎng)絡(luò)由胡蘿卜缺陷識(shí)別分類網(wǎng)絡(luò)C-Net和開裂區(qū)域分割網(wǎng)絡(luò)S-Net組成,C-Net將ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練的ResNet-50作為胡蘿卜圖像特征提取器,將提取的特征作為SVM的輸入,得到不同的分類模型,再利用模型融合思想將不同分類模型融合得到最終的分類模型;S-Net將預(yù)訓(xùn)練的ResNet-50作為編碼器,根據(jù)不同的分割網(wǎng)絡(luò)構(gòu)造思想設(shè)計(jì)解碼器,構(gòu)造胡蘿卜開裂區(qū)域分割提取網(wǎng)絡(luò)。該網(wǎng)絡(luò)為胡蘿卜外觀品質(zhì)評(píng)價(jià)和開裂缺陷修整奠定了基礎(chǔ)。
試驗(yàn)用胡蘿卜購(gòu)自綠龍食品加工有限公司(山東省濰坊市)。試驗(yàn)共包括7203幅胡蘿卜圖像,包括正常胡蘿卜2109幅、斷裂1424幅、開裂998幅、畸形665幅、機(jī)械損傷1029幅和分叉978幅,胡蘿卜形態(tài)種類如圖1所示。對(duì)于分類網(wǎng)絡(luò)C-Net,每種形態(tài)胡蘿卜隨機(jī)選取80%作為訓(xùn)練集,20%作為測(cè)試集。訓(xùn)練集共包含5765幅圖像,其中斷裂、機(jī)械損傷、開裂、分叉、畸形和正常胡蘿卜圖像分別為1140、824、799、783、532和1687幅。因不同形態(tài)胡蘿卜的圖片數(shù)量不平衡,本研究在訓(xùn)練時(shí)采用分層5折交叉驗(yàn)證,保證每次劃分中包含類別比例與原數(shù)據(jù)相同。測(cè)試集共包含1438幅胡蘿卜圖像,其中斷裂、機(jī)械損傷、開裂、分叉、畸形和正常胡蘿卜圖像分別為284、205、199、195、133和422幅。對(duì)于分割網(wǎng)絡(luò)S-Net,隨機(jī)選取543幅開裂胡蘿卜圖像,按照6∶2∶2劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集。
胡蘿卜圖像由彩色CCD相機(jī)(DFK-33UX265)采用8 mm鏡頭(The Imaging Source,Germany)獲得。胡蘿卜圖像采集系統(tǒng)[11]如圖2所示,該系統(tǒng)在光照箱中配置了兩塊互成120o的平面鏡,胡蘿卜放在兩塊鏡子中間,上方的相機(jī)可同時(shí)捕捉到3幅胡蘿卜圖像,以盡可能多地獲得胡蘿卜表面圖像,圖像尺寸為1920×1080像素。圖像處理算法和卷積神經(jīng)網(wǎng)絡(luò)(CNN)搭建基于Python 3.7、計(jì)算機(jī)視覺庫(kù)OpenCv4.0.0和深度學(xué)習(xí)庫(kù)Keras 2.3.1、Tensorflow 2.0.0。電腦配置為Intel corn Xeon 3.70 GHz CPU,128 GB運(yùn)行內(nèi)存,NVIDIA Quadro P2000(5 G)GPU,Windows 10.1操作系統(tǒng)。
圖像預(yù)處理中,利用灰度直方圖雙峰法提取胡蘿卜區(qū)域圖像并刪除背景[11]。為使胡蘿卜圖像不變形,將圖像用0填充為尺寸1024×1024×3的圖像,再利用線性插值算法將圖像統(tǒng)一調(diào)整為適合CNN輸入的尺寸(224×224×3)。為去除圖像邊緣高頻噪聲,提出一種基于圓形區(qū)域的均值濾波器,如圖2a所示。
對(duì)于給定中心點(diǎn)(xd,yd),其鄰域像素位置(xp,yp)由式(1)計(jì)算得到。
式中R為圓形濾波器半徑,P為采樣點(diǎn)總數(shù),p為采樣點(diǎn)序號(hào)。通過(guò)此操作得到的采樣點(diǎn)坐標(biāo)可能均不是整數(shù),因此通過(guò)插值獲得其位置的像素值,本研究采用雙線性插值法,數(shù)學(xué)表達(dá)式如式(2)
式中f(xp,yp)為點(diǎn)(xp,yp)的像素值,f(ip,jp) (ip,jp=0,1)為點(diǎn)(xp,yp)相鄰四點(diǎn)像素值。則中心點(diǎn)(xd,yd)像素值由式(3)計(jì)算
圖像三維空間顯示是將圖像灰度值作為圖像Z軸進(jìn)行三維顯示。
由圖3b、3c使用圓形濾波器濾波前后胡蘿卜圖像的三維空間顯示圖可知,圓形濾波器對(duì)圖像的高頻噪聲有很好的抑制效果。圖像經(jīng)預(yù)處理后,既去除了背景又將胡蘿卜圖像變?yōu)檫m合CNN輸入的正方形圖像,同時(shí)保證了胡蘿卜無(wú)變形,保留了原始圖像的拓?fù)浣Y(jié)構(gòu),避免識(shí)別結(jié)果受胡蘿卜變形的影響。
本研究提出了一種集胡蘿卜缺陷識(shí)別分類與開裂缺陷區(qū)域分割提取為一體的深度多分支模型融合網(wǎng)絡(luò)(CS-Net),該網(wǎng)絡(luò)由胡蘿卜缺陷識(shí)別網(wǎng)絡(luò)(C-Net)和胡蘿卜開裂區(qū)域分割提取網(wǎng)絡(luò)(S-Net)組成,總體結(jié)構(gòu)如圖4所示。ResNet-50包含的殘差模塊能夠解決深度網(wǎng)絡(luò)訓(xùn)練退化問題[16],大量研究表明殘差網(wǎng)絡(luò)是十分優(yōu)秀的圖像特征提取器[17-18],因此本網(wǎng)絡(luò)以預(yù)訓(xùn)練的ResNet-50為基礎(chǔ),C-Net將ResNet-50作為圖像特征提取器,輸出不同層的卷積特征,將其作為SVM[19]的輸入,訓(xùn)練得到不同的分類模型,再通過(guò)不同的模型融合策略(硬投票(Hard voting)、軟投票(Soft voting)和Stacking法)將各個(gè)分類器融合為最終的胡蘿卜缺陷識(shí)別網(wǎng)絡(luò)。S-Net將ResNet-50作為分割網(wǎng)絡(luò)的編碼器,使用三種經(jīng)典分割網(wǎng)絡(luò)(U-net[20]、FCN[21]和SegNet[22-23])的構(gòu)造思想設(shè)計(jì)分割網(wǎng)絡(luò)的解碼器,構(gòu)造胡蘿卜開裂區(qū)域分割提取網(wǎng)絡(luò)。
2.2.1 池化方法
池化層是CNN中重要組成部分,它能夠?qū)崿F(xiàn)圖像特征下采樣、去除圖像冗余信息、簡(jiǎn)化網(wǎng)絡(luò)復(fù)雜度從而減少模型的參數(shù)量。常見池化方法包括一般池化、重疊池化和空間金字塔池化(Spatial Pyramid Pooling,SPP)。在C-Net中采用的池化方法包括平均池化(Average Pooling,AVP)、全局平均池化(Global Average Pooling,GAP)和SPP。AVP如圖5a所示,通過(guò)計(jì)算池化區(qū)域的平均值作為該區(qū)域池化后的值;GAP是平均池化的一種特殊形式,此時(shí)池化窗口尺寸與特征圖尺寸相同;SPP將一個(gè)池化操作分成若干個(gè)不同尺寸的池化操作,用不同大小的池化核作用于上層的卷積特征,如圖 5b所示。SPP能使任意大小的特征圖轉(zhuǎn)換成固定大小的特征向量,實(shí)現(xiàn)特征圖的多尺度提取。圖像卷積特征通過(guò)池化操作再經(jīng)過(guò)全連接層后輸出4096維數(shù)據(jù),作為SVM的輸入。
2.2.2 數(shù)據(jù)降維方法
通過(guò)CNN提取的特征維度較高,維度越高的數(shù)據(jù)在每個(gè)特征維度上的分布就越稀疏,這不利于機(jī)器學(xué)習(xí)模型的訓(xùn)練,因此對(duì)高維數(shù)據(jù)進(jìn)行降維十分必要。本研究采用主成分分析(Principal Component Analysis,PCA)和Relief降維方法[24]。PCA通過(guò)某種線性映射將高維向量轉(zhuǎn)為低維空間表示,并使得在所投影的低維空間上數(shù)據(jù)方差盡可能大。PCA具有使用較少的數(shù)據(jù)維度,保留盡可能多的原數(shù)據(jù)信息。ReliefF是一種基于特征權(quán)重的特征選擇算法,其設(shè)計(jì)了一個(gè)“相關(guān)統(tǒng)計(jì)量”來(lái)度量特征的重要性,該統(tǒng)計(jì)量為向量,它的每個(gè)分量是對(duì)其中一個(gè)初始特征的評(píng)價(jià)值。特征子集的重要性就是子集中每個(gè)特征所對(duì)應(yīng)的相關(guān)統(tǒng)計(jì)量之和,因此這個(gè)“相關(guān)統(tǒng)計(jì)分量”也可以視為是每個(gè)特征的“權(quán)值”。指定閾值,選擇大于閾值的相關(guān)統(tǒng)計(jì)量分量所對(duì)應(yīng)的特征。
本研究中,PCA降維后數(shù)據(jù)維數(shù)分別為256、500、1000、2000;ReliefF方法中K近鄰參數(shù)k的取值為150,閾值選擇為0.05。
2.2.3 SVM訓(xùn)練
將ResNet-50輸出的特征向量作為SVM的輸入,使用非線性映射算法,通過(guò)核函數(shù)在高維空間中找到最優(yōu)超平面H,使樣本變得線性可分,實(shí)現(xiàn)胡蘿卜不同缺陷種類的正確識(shí)別。超平面H可用ωTx+b表示,樣本空間中任一點(diǎn)x到超平面的距離γ可由式(4)計(jì)算
式中ω是超平面H的法向量,b為超平面H的截距。
本研究中,選擇徑向基函數(shù)(Radial Basis Function, RBF)作為SVM的核函數(shù),懲罰系數(shù)為0.5,停止訓(xùn)練時(shí)的誤差值為10-3,多分類方式采用一對(duì)一形式(ovo)。
2.2.4 模型融合策略
模型集成學(xué)習(xí)策略已經(jīng)在農(nóng)業(yè)領(lǐng)域得到廣泛的應(yīng)用[25-26]。傳統(tǒng)CNN使用單一的分類模型[27],但不能適應(yīng)胡蘿卜的所有特征。集成學(xué)習(xí)思想則是利用訓(xùn)練數(shù)據(jù)首先得到一組基模型,再利用模型融合策略將他們組合起來(lái)。集成學(xué)習(xí)綜合各個(gè)基模型的優(yōu)點(diǎn),往往可獲得比單一模型更顯著的性能[26]。本研究由ResNet-50的第1、10、22、40、49層輸出特征作為輸入訓(xùn)練得到5個(gè)支持向量機(jī)(SVM)模型作為基模型。在此基礎(chǔ)上,利用硬投票、軟投票和Stacking集成方法,得到最終胡蘿卜缺陷分類模型。本研究所采用的三種模型融合策略執(zhí)行步驟如下:
1)硬投票,又叫相對(duì)多數(shù)投票法。首先獲得5個(gè)基模型在測(cè)試集上的預(yù)測(cè)類別Ci(i=0, 1, 2, 3, 4),然后統(tǒng)計(jì)5個(gè)基模型輸出結(jié)果中每個(gè)類別的票數(shù),最終輸出結(jié)果為得票最多的類別。當(dāng)票數(shù)相同時(shí),則隨機(jī)選擇一個(gè)類別作為最終輸出結(jié)果。
2)軟投票,又叫加權(quán)平均法。首先獲得5個(gè)基模型在測(cè)試集上的每個(gè)類別的預(yù)測(cè)概率pri(i= 0,1,2,3,4),再利用式(5)計(jì)算出每個(gè)類別融合后的預(yù)測(cè)概率。
式中N為分類器個(gè)數(shù),ki根據(jù)各分類器在測(cè)試集上的準(zhǔn)確率排序確定,準(zhǔn)確率最高的ki=5,最低的ki=1。
3)Stacking集成方法由兩級(jí)分類器構(gòu)成,其中低級(jí)別的模型稱為基模型,高級(jí)別的稱為元模型。本研究中低級(jí)別模型所用分類器為SVM,高級(jí)別模型所用分類器為梯度提升決策樹(Gradient Boosting Decision Tree, GBDT)[25]。本研究中GBDT算法的學(xué)習(xí)率為0.01,最大迭代次數(shù)為150,樹的深度為10。具體訓(xùn)練步驟如下(圖6):①將胡蘿卜圖片數(shù)據(jù)集根據(jù)4∶1劃分為訓(xùn)練集與測(cè)試集,數(shù)據(jù)集在經(jīng)過(guò)ResNe-50網(wǎng)絡(luò)特征提取,分別輸出第1、10、22、40和49層的訓(xùn)練集(it=1, 10, 22, 40, 49)和測(cè)試集數(shù)據(jù)(it=1, 10, 22, 40, 49)。②將第1層輸出的訓(xùn)練集數(shù)據(jù)利用5折交叉驗(yàn)證的方法隨機(jī)均等劃分為5個(gè)子集D1、D2、D3、D4、D5,依次選取其中一個(gè)子集Div(iv=1, 2, …, 5)作為驗(yàn)證集,其他4個(gè)作為訓(xùn)練子集③將D-iv作為SVM的訓(xùn)練集,Div作為驗(yàn)證集并輸出驗(yàn)證集的預(yù)測(cè)結(jié)果aiv,同時(shí)對(duì)原始測(cè)試集進(jìn)行預(yù)測(cè),輸出預(yù)測(cè)結(jié)果biv。④對(duì)(3)循環(huán)5次得到{a1,a2,a3,a4,a5},將這5次結(jié)果按列合并得到和標(biāo)簽Y相同長(zhǎng)度的向量A1,對(duì)測(cè)試集預(yù)測(cè)值{b1,b2,b3,b4,b5}取平均值得到和標(biāo)簽Y相同長(zhǎng)度的向量B1。⑤對(duì)另外四個(gè)數(shù)據(jù)集(第10、22、40、49層輸出特征)執(zhí)行上面步驟得到由原始訓(xùn)練集(it=10, 22, 40, 49)產(chǎn)生的A10,A22,A40,A49和原始測(cè)試集(it=10, 22, 40, 49)產(chǎn)生的B10,B22,B40,B49。⑥將A1,A10,A22,A40,A49和原始訓(xùn)練集DitTrain的標(biāo)簽Y合并得到新樣本數(shù)據(jù){(A1,A10,A22,A40,A49),Y}作為二級(jí)分類器GBDT的輸入特征,{(B1,B10,B22,B40,B49)}作為GBDT測(cè)試集生成最終結(jié)果。
為了對(duì)胡蘿卜開裂缺陷區(qū)域進(jìn)行自動(dòng)化修整,本研究將ResNet-50作為編碼器,設(shè)計(jì)分割網(wǎng)絡(luò)的解碼器實(shí)現(xiàn)對(duì)胡蘿卜開裂區(qū)域的精準(zhǔn)提取。
2.3.1 構(gòu)造方法
全卷積神經(jīng)網(wǎng)絡(luò)[21](Fully Convolutional Network,F(xiàn)CN)是最早的分割網(wǎng)絡(luò),它將CNN全連接結(jié)構(gòu)用卷積結(jié)構(gòu)代替,將原本輸出的一維向量改為二維特征圖的形式,保存了圖像的二維信息。利用反卷積操作對(duì)特征圖進(jìn)行上采樣,并將編碼器相應(yīng)尺度的特征圖復(fù)制過(guò)來(lái)與上采樣后的特征圖進(jìn)行對(duì)應(yīng)像素相加(Add),再通過(guò)卷積操作組合特征后輸入下一個(gè)反卷積層,如圖 7a所示。U-net分割網(wǎng)絡(luò)[20]為了使網(wǎng)絡(luò)在上采樣的過(guò)程中獲得更多信息,恢復(fù)圖像更多細(xì)節(jié),將編碼器對(duì)應(yīng)尺度特征圖與反卷積后相同尺寸特征圖進(jìn)行級(jí)聯(lián)(Concat),再通過(guò)卷積操作后作為下一個(gè)反卷積層的輸入,如圖7b所示。SegNet[22]為了解決網(wǎng)絡(luò)編碼器在池化操作時(shí)丟失位置信息的問題,在編碼器執(zhí)行最大池化操作時(shí),將特征最大值的位置作為最大池化索引保存。網(wǎng)絡(luò)解碼器在上采樣的時(shí)候根據(jù)最大池化索引直接恢復(fù)圖像特征值,如圖7c所示。本研究將ResNet-50作為分割網(wǎng)絡(luò)的編碼器,分別根據(jù)FCN、U-net和Segnet網(wǎng)絡(luò)構(gòu)造思想構(gòu)造網(wǎng)絡(luò)的解碼器并將ResNet-50第1、10、22、40、49層輸出特征尺寸作為解碼器的反卷積后特征尺寸。
2.3.2 損失函數(shù)
損失函數(shù)的選擇會(huì)直接影響分割網(wǎng)絡(luò)的分割效果,交叉熵?fù)p失函數(shù)(Cross Entropy loss)[28]、骰子系數(shù)差異函數(shù)(Dice loss)[29]、焦點(diǎn)損失函數(shù)(Focal loss)[30]是分割網(wǎng)絡(luò)常用的損失函數(shù)。交叉熵?fù)p失函數(shù)主要是用來(lái)判定實(shí)際輸出與標(biāo)簽的差異,網(wǎng)絡(luò)即可利用這種差異經(jīng)過(guò)反向傳播去更新網(wǎng)絡(luò)參數(shù)。該損失函數(shù)在分割網(wǎng)絡(luò)中分別評(píng)估每個(gè)像素的類預(yù)測(cè),然后對(duì)所有像素求平均,這對(duì)于類別數(shù)據(jù)不均衡時(shí)效果較差。骰子系數(shù)差異函數(shù)是一種集合相似度度量函數(shù),用于計(jì)算兩個(gè)樣本之間的相似度,適用于樣本不均的情況,但是會(huì)對(duì)反向傳播造成不利的影響,造成訓(xùn)練波動(dòng)大。Lin等[30]提出焦點(diǎn)損失函數(shù)用于解決上述兩種激活函數(shù)存在的問題,焦點(diǎn)損失函數(shù)是動(dòng)態(tài)縮放的交叉熵?fù)p失函數(shù),通過(guò)增加動(dòng)態(tài)縮放因子,實(shí)現(xiàn)在訓(xùn)練過(guò)程中動(dòng)態(tài)調(diào)整簡(jiǎn)單樣本的權(quán)重,讓模型快速關(guān)注于困難樣本的分類,由式(6)計(jì)算得到。由于本研究中胡蘿卜開裂區(qū)域在圖像中占比較小,因此本研究選擇焦點(diǎn)損失函數(shù)作為分割網(wǎng)絡(luò)損失函數(shù)。
式中pr是類別預(yù)測(cè)概率,y是標(biāo)簽值,β是動(dòng)態(tài)縮放因子。
2.3.3 分割網(wǎng)絡(luò)性能評(píng)價(jià)指標(biāo)
為了衡量分割網(wǎng)絡(luò)的性能,需要經(jīng)過(guò)標(biāo)準(zhǔn)、公認(rèn)的指標(biāo)進(jìn)行評(píng)估。目前常用指標(biāo)包括分割網(wǎng)絡(luò)模型尺寸、分割時(shí)間、準(zhǔn)確率[31],其中準(zhǔn)確率包括PA、MPA和MIoU。PA是最簡(jiǎn)單的度量標(biāo)準(zhǔn),只需計(jì)算正確分類的像素?cái)?shù)量與像素總數(shù)之間的比率;MPA是改進(jìn)的PA,按類計(jì)算正確像素的比率并取平均;MIoU是實(shí)際區(qū)域和預(yù)測(cè)區(qū)域的交集和并集之間的比率,作為分割網(wǎng)絡(luò)的標(biāo)準(zhǔn)度量。
式中k為分割目標(biāo)類別數(shù),pii表示分類正確的像素?cái)?shù),pij表示i類被誤判斷為j類的像素?cái)?shù),pji表示j類被誤判斷為i類的像素?cái)?shù)。
表1為ResNet-50不同層(1、10、22、40、49)輸出特征在不同池化方法和不同數(shù)據(jù)降維方法下訓(xùn)練的SVM模型的性能。準(zhǔn)確率為模型在分層5折交叉訓(xùn)練下驗(yàn)證準(zhǔn)確率的平均值。
由ResNet-50不同層輸出卷積特征訓(xùn)練的模型性能各不相同。由表1可知,同樣的池化和降維方法,高層網(wǎng)絡(luò)(40、49)輸出特征訓(xùn)練的模型準(zhǔn)確率比低層(1、10、22)的高。為解釋該現(xiàn)象,將ResNet-50模型的第1、10、22、40和49層輸出特征進(jìn)行可視化,如圖8所示。由圖可知,ResNet-50網(wǎng)絡(luò)第1、10、22層輸出特征更多的是圖像的一般特征(邊緣、紋理、色彩等),而第40和49層輸出特征則是圖像高層語(yǔ)義特征,其將圖像特征抽象為更加容易區(qū)分的特征,因此高層網(wǎng)絡(luò)(40、49)輸出特征訓(xùn)練的模型準(zhǔn)確率要比低層(1、10、22)的高。
表1 卷積特征、池化方法與數(shù)據(jù)降維方法對(duì)模型性能的影響 Table 1 Effects of convolution feature maps, pooling method and dimensionality reduction methods on model performance
不同池化方法對(duì)模型性能影響不同。由表1可知,在低層特征下不同池化層的模型性能從大到小排序?yàn)镾PP、AVP、GAP,這可能是因?yàn)镾PP有3個(gè)不同尺寸的池化核對(duì)卷積特征進(jìn)行提取,因而可以在不同尺度上提取卷積特征,在某種程度上使用SPP相當(dāng)于額外增加了1層卷積層,所以在低層特征的基礎(chǔ)上可以抽象出更高層次的特征,因此采用SPP的模型性能最好,在第1層卷積特征上準(zhǔn)確率達(dá)到84.07%,比采用AVP的準(zhǔn)確率高出近10個(gè)百分點(diǎn);AVP使用的池化核尺寸小于低層卷積特征尺寸,使用窗口滑動(dòng)法在卷積特征上依次滑動(dòng)提取特征,而GAP的池化核尺寸與低層卷積特征尺寸相同,所以在相同的低層卷積特征上AVP提取的特征要遠(yuǎn)遠(yuǎn)多于GAP,這就導(dǎo)致了使用AVP的模型性能要高于采用GAP的模型。在高層語(yǔ)義特征下不同池化層對(duì)模型性能影響較小,因?yàn)楦邔泳矸e特征圖尺寸較小,包含的信息數(shù)據(jù)量少,用不同的池化方法提取得到的特征差別小。在第49層卷積特征下,采用SPP的模型性能略差于采用其他兩種池化方法的,因?yàn)榈?9層輸出的卷積特征尺寸只有7×7,使用SPP會(huì)額外提取到冗余的信息,從而降低模型性能。此時(shí)的AVP與GAP的池化核尺寸相同,因此采用GAP與AVP的模型性能表現(xiàn)一致。
在機(jī)器學(xué)習(xí)中,對(duì)數(shù)據(jù)進(jìn)行降維處理是必要的。對(duì)數(shù)據(jù)進(jìn)行降維處理不僅能減少特征數(shù)量還會(huì)提高模型的性能。由表1可知,PCA在卷積特征上對(duì)模型性能影響比ReliefF法更明顯,可能是因?yàn)樵摲椒芨行У靥蕹?jīng)過(guò)池化層提取后特征包含的冗余信息。從表1中也可以看出,一些模型在降維后性能下降,原因在于降維過(guò)程中不可避免地去除了一些對(duì)分類結(jié)果有積極意義的數(shù)據(jù),從而影響了模型性能。
為進(jìn)一步提升模型的分類精度,本研究采用模型融合的思想對(duì)模型進(jìn)行集成學(xué)習(xí)。根據(jù)表1,在保證融合后模型包含圖像多尺度特征,本研究最終選擇的基模型L1、L2、L3、L4、L5分別為ResNet-50第1、10、22、40、49層輸出卷積特征訓(xùn)練的SVM模型,池化方法、降維方法如表2所示。采用硬投票、軟投票、Stacking方法分別得到3個(gè)不同的元模型,各模型在測(cè)試集上的準(zhǔn)確率排序?yàn)橛餐镀保架浲镀保糞tacking方法。硬投票以簡(jiǎn)單的少數(shù)服從多數(shù)原則,對(duì)模型的性能提升不明顯。軟投票根據(jù)各個(gè)分類器在驗(yàn)證集上的準(zhǔn)確率排序給予不同的權(quán)重,使得表現(xiàn)更好的模型在最終的預(yù)測(cè)輸出中占有更大的比重,因此軟投票方法對(duì)模型提升作用大于硬投票方法。Stacking方法則是利用各模型在驗(yàn)證集和測(cè)試集上的預(yù)測(cè)結(jié)果作為新的訓(xùn)練集和測(cè)試集訓(xùn)練二級(jí)分類器,它能以任意函數(shù)形式逼近真實(shí)值,因此Stacking法所獲得的模型在測(cè)試集上的精度最高,達(dá)98.40%,相比單一分類器性能提升了3個(gè)百分點(diǎn)以上。傳統(tǒng)的HOG+SVM和LBP+SVM模型性能僅相當(dāng)于第1層卷積層提取特征模型L1的性能,說(shuō)明CNN自動(dòng)提取特征優(yōu)于人工手動(dòng)提取特征。
表2 模型性能比較 Table 2 Performances comparison of different models
計(jì)算由Stacking方法獲得的模型在測(cè)試集上的混淆矩陣,由圖9可知,模型共正確識(shí)別出斷裂、機(jī)械損傷、開裂、分叉、畸形和正常胡蘿卜分別為278、203、195、194、127和418幅,識(shí)別率分別為97.89%、99.02%、97.99%、99.49%、95.49%和99.05%,總體識(shí)別率為98.40%,表明融合后的模型可以正確區(qū)分各缺陷的類間差異與類內(nèi)差異,但誤識(shí)別情況依然存在,因?yàn)樗械膱D片并不都是完美的,存在一些不可避免的瑕疵。
本研究以ResNet-50為編碼器,分別以FCN、U-net、Segnet思想構(gòu)造出3種不同的解碼器,得到3種分割模型Res-FCN、Res-U-net、Res-Segnet。由表3可知,Res-U-net綜合表現(xiàn)最好,在測(cè)試集上的PA、MPA、MIoU分別為98.31%、96.05%、92.81%,且模型最小,為0.24G,單幅圖像分割時(shí)間為0.72 s。Res-FCN的表現(xiàn)略低于Res-U-net,但其模型大小達(dá)到1.5 G,不適合配置較低的設(shè)備使用。Res-Segnet的表現(xiàn)最差,MIoU僅為88.68%,但其模型尺寸相比Res-FCN減少了78%,原因在于Res-Segnet復(fù)制了編碼器的最大池化索引,而Res-FCN則是復(fù)制了編碼器特征,因此在內(nèi)存占用上Res-Segnet比Res-FCN更高效。為更好地說(shuō)明本研究設(shè)計(jì)的網(wǎng)絡(luò)模型的先進(jìn)性,將其與目前先進(jìn)的分割模型DeeplabV3+[32]進(jìn)行比較,Res-U-Net的PA、MIoU與DeeplabV3+的相當(dāng),而MPA優(yōu)于DeeplabV3+,模型大小僅為DeeplabV3+的一半,單幅圖像分割速度快于DeeplabV3+,說(shuō)明本研究設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)可以快速分割出胡蘿卜開裂區(qū)域。
表3 不同分割網(wǎng)絡(luò)的性能 Table 3 Performance of different segmentation models
Res-U-net模型訓(xùn)練時(shí)損失函數(shù)為焦點(diǎn)損失函數(shù),α,β分別為0.25和2,優(yōu)化器選擇為Adadelta,不預(yù)設(shè)學(xué)習(xí)率。Res-U-net模型在訓(xùn)練集和驗(yàn)證集上的準(zhǔn)確率、損失如圖 10所示。由圖可知,Res-U-net模型在前50輪訓(xùn)練的時(shí)候,準(zhǔn)確率快速上升、損失值迅速下降,250輪訓(xùn)練以后模型準(zhǔn)確率和損失趨于穩(wěn)定,經(jīng)過(guò)300輪訓(xùn)練后,在驗(yàn)證集上的準(zhǔn)確率和損失分別為98.40%和0.072,說(shuō)明設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)、選擇的損失函數(shù)和優(yōu)化算法可以使模型快速收斂,達(dá)到較高的準(zhǔn)確率和較低的損失。
為更直觀比較Res-U-net、Res-FCN、Res-Segnet模型的分割效果,在測(cè)試集中隨機(jī)選取4幅面積、位置不同的開裂區(qū)域圖像,將不同模型的分割效果可視化,如圖 11所示。由圖可知,Res-U-net的分割效果最接近于原始標(biāo)記結(jié)果,Res-FCN分割區(qū)域邊緣存在明顯的鋸齒狀,Res-Segnet分割區(qū)域比原始標(biāo)記區(qū)域小,且存在空洞現(xiàn)象。原因在于Res-FCN通過(guò)上采樣卷積層生成比較粗糙的分割圖,而Res-U-net和Res-Segnet在網(wǎng)絡(luò)中引入跳躍連接生成邊緣平滑的分割圖。由Ⅰ、Ⅲ可知,Res-U-net分割效果均接近于原始標(biāo)記圖,表明Res-U-net分割效果不受開裂區(qū)域面積大小的影響。由Ⅲ、Ⅳ可知,Res-U-net對(duì)胡蘿卜不同位置的開裂缺陷均有較好的分割效果。由Ⅱ可知,Res-FCN、Res-Segnet、Res-U-net均未將胡蘿卜的周向凹陷分割為開裂,說(shuō)明這些模型均很好地學(xué)習(xí)到了胡蘿卜開裂區(qū)域特征。綜上,Res-U-net模型分割精度高、魯棒性強(qiáng),可作為胡蘿卜開裂區(qū)域自動(dòng)分割模型。
1)本文提出了一種集胡蘿卜表面缺陷識(shí)別與開裂區(qū)域分割為一體的深度多分支模型融合網(wǎng)絡(luò),在自制的胡蘿卜表面缺陷數(shù)據(jù)集上,實(shí)現(xiàn)了胡蘿卜不同表面缺陷識(shí)別和開裂區(qū)域分割提取。
2)以預(yù)訓(xùn)練的ResNet-50為胡蘿卜圖像特征提取器,分別輸出ResNet-50的第1、10、22、40、49層特征作為支持向量機(jī)(SVM)的輸入,得到5個(gè)不同的分類模型。隨著網(wǎng)絡(luò)層數(shù)的增加,模型準(zhǔn)確率不斷提高,第49層輸出特征訓(xùn)練的模型準(zhǔn)確率最高,測(cè)試準(zhǔn)確率為94.71%。
3)為提高胡蘿卜缺陷識(shí)別分類模型的準(zhǔn)確率,采用硬投票、軟投票和Stacking方法對(duì)5個(gè)分類模型進(jìn)行融合得到的3個(gè)融合模型,其準(zhǔn)確率從小到大排序?yàn)橛餐镀?、軟投票、Stacking方法,Stacking融合方法得到的模型準(zhǔn)確率最高為98.40%。
4)以預(yù)訓(xùn)練的ResNet-50為編碼器,根據(jù)FCN、U-net、Segnet網(wǎng)絡(luò)的思想構(gòu)建了多個(gè)胡蘿卜開裂區(qū)域分割模型。結(jié)果表明Res-U-net分割模型綜合性能最好,其像素準(zhǔn)確率、類別平均像素準(zhǔn)確率、平均交互比為98.31%、96.05%、92.81%,模型尺寸為0.24 G,單幅圖像分割時(shí)間為0.72 s。
本文提出的深度多分支模型融合網(wǎng)絡(luò)能夠準(zhǔn)確識(shí)別出胡蘿卜表面缺陷類型,并精確地分割提取出胡蘿卜開裂區(qū)域,為后續(xù)更加全面地評(píng)價(jià)胡蘿卜表面質(zhì)量和開裂胡蘿卜的修整奠定了基礎(chǔ)。