劉文波 葉 濤 李 頎
(1.陜西科技大學(xué)電氣與控制工程學(xué)院, 西安 710021; 2.陜西科技大學(xué)電子信息與人工智能學(xué)院, 西安 710021)
作物病害一直是困擾農(nóng)業(yè)生產(chǎn)的難題,是制約農(nóng)業(yè)可持續(xù)發(fā)展的主要因素之一[1]。番茄是我國重要的經(jīng)濟(jì)作物之一,同時作為世界上主要的蔬菜作物,種植面積和產(chǎn)量都在不斷增加。然而番茄病害會導(dǎo)致產(chǎn)量的顯著下降,給農(nóng)業(yè)經(jīng)濟(jì)帶來巨大損失[2-3]。因此,番茄病害的早期診斷與防治是番茄高產(chǎn)的重要保障。
隨著機(jī)器學(xué)習(xí)在圖像檢測方面的不斷發(fā)展,有學(xué)者將其用于對植物葉片病害的檢測識別。魏麗冉等[4]提出了基于核函數(shù)支持向量機(jī)的多分類檢測方法對植物葉片的4種疾病進(jìn)行檢測識別,識別率在70%~89.5%之間,精度有限。劉君等[5]采用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)與傳統(tǒng)的HOG(Histogram of oriented gradient)+SVM(Support vector machines)算法相結(jié)合的方法對番茄葉片的疾病進(jìn)行檢測,通過CNN提取淺層特征,融合HOG更好地描述特征,最后輸入到分類器SVM中識別病害,識別準(zhǔn)確率均值(92.49%)優(yōu)于傳統(tǒng)HOG+SVM算法(71.88%),證明了卷積神經(jīng)網(wǎng)絡(luò)在葉片病害檢測領(lǐng)域的巨大潛力。楊森等[6]在Faster R-CNN的基礎(chǔ)上,通過構(gòu)造復(fù)合特征字典來訓(xùn)練馬鈴薯葉片病害識別模型,平均識別準(zhǔn)確率為84.16%,但在識別及定位精度上有待加強(qiáng)。熊俊濤等[7]使用了以VGG16為骨干網(wǎng)絡(luò)的Mask R-CNN的實(shí)例分割算法,實(shí)現(xiàn)了對大豆葉片實(shí)例的像素級識別與分割,分類準(zhǔn)確率達(dá)到89.42%,平均分割準(zhǔn)確率為88.3%,但運(yùn)行速度較慢,單幅圖像識別平均需要0.8 s。
為實(shí)現(xiàn)對番茄葉片疾病高精度與快速檢測,本文基于Plant Village開源數(shù)據(jù)庫,提出以單階段(one-stage)的實(shí)例分割算法SOLO v2[8]為主體框架,并將DCN v2[9](Deformable convolutional networks version 2)與ResNet-101相融合作為骨干網(wǎng)絡(luò)來提高對形狀各異的番茄葉片的識別精度,為番茄疾病的防治提供信息支持。
實(shí)例分割旨在精確地檢測和描繪圖像中的對象[10-11],通過掩膜對對象進(jìn)行定位,將對象定位推向像素級的極限。目前,實(shí)例分割方法可分為3類:自上而下(top-down)的方法[12-19],首先進(jìn)行目標(biāo)檢測,然后再分割框內(nèi)的實(shí)例對象,該類方法由于性能良好而使用廣泛;自底而上(bottom-up)[20-23]的方法,該類方法首先將每個實(shí)例看作一個類別,然后進(jìn)行聚類,一般來說其效果劣于第1類方法;直接得到實(shí)例分割結(jié)果的方法[8,24]。本文所選取的SOLO v2網(wǎng)絡(luò)框架即為直接得到實(shí)例分割結(jié)果的方法,它以位置信息來動態(tài)分割對象,由于網(wǎng)絡(luò)結(jié)構(gòu)相對簡明,模型訓(xùn)練、識別速度都較高。同時,在基本不影響模型運(yùn)行速度的情況下,本研究將提升模型的識別精度以進(jìn)一步優(yōu)化分割性能。
SOLO v2主要由5部分構(gòu)成:全卷積網(wǎng)絡(luò)(Fully convolutional networks,F(xiàn)CN)、特征金字塔網(wǎng)絡(luò)[25]、卷積核分支(Mask kernel branch)、特征分支(Mask feature branch)以及語義分支(Category branch),如圖1所示。
圖1中,H、W、E分別為特征金字塔的輸出特征圖I及掩膜特征圖F的高度、寬度及通道數(shù);S表示對齊后特征圖的高度或?qū)挾?;C為語義總類別數(shù),等效于語義分支輸出特征圖的通道數(shù);D為卷積核權(quán)值,等效于掩膜內(nèi)核G的通道數(shù)。
SOLO v2與YOLO[26]類似,對于輸入圖像,從概念上將其均分為S×S的網(wǎng)格。通過全卷積網(wǎng)絡(luò)與特征金字塔網(wǎng)絡(luò)進(jìn)行特征提取,判別實(shí)例的中心是否落入某個網(wǎng)格中,滿足條件的網(wǎng)格將進(jìn)入語義分支與掩膜分支,分別對對應(yīng)的實(shí)例進(jìn)行語義以及掩膜大小及位置的判別。
1.1.1卷積骨干
模型在進(jìn)行預(yù)測實(shí)例信息前,必須通過卷積網(wǎng)絡(luò)進(jìn)行特征提取。由于殘差網(wǎng)絡(luò)ResNet[27]可以解決優(yōu)化網(wǎng)絡(luò)較深帶來梯度爆炸及梯度消失的問題,泛化能力較強(qiáng)。因此,本研究使用ResNet-101作為特征提取網(wǎng)絡(luò),并與層數(shù)較少的ResNet-50進(jìn)行對比試驗(yàn),以比較不同深度的殘差網(wǎng)絡(luò)的性能。
1.1.2特征金字塔網(wǎng)絡(luò)
由于番茄葉片在圖像中的尺度不一,同時,在訓(xùn)練過程中使用的Plant Village數(shù)據(jù)庫中的葉片較大,而實(shí)際場景中大多會存在較小尺寸的番茄葉片。因此模型存在實(shí)際應(yīng)用中難以識別小尺寸葉片的問題,從而導(dǎo)致模型精度較低。
目前,特征金字塔網(wǎng)絡(luò)已廣泛與卷積骨干網(wǎng)絡(luò)融合,以區(qū)分不同尺寸的檢測對象。在原模型中,如圖2左側(cè)所示,ResNet網(wǎng)絡(luò)根據(jù)輸出圖像的尺寸及維度可分為5層,每層的最后1個殘差塊特征作為1個特征金字塔網(wǎng)絡(luò)的輸入特征圖??紤]到低層的語義信息表達(dá)過少,且其輸出的特征圖進(jìn)行卷積、上采樣的計(jì)算量過大,故僅使用上4層(C2~C5)的特征圖。然后, C5通過1×1卷積核降維得到M5。下層(M2~M4)通過上一層的上采樣與左側(cè)特征圖經(jīng)過1×1卷積結(jié)果的對應(yīng)元素相加得到,由此構(gòu)建自上而下的金字塔結(jié)構(gòu)。金字塔每層分別通過3×3卷積運(yùn)算得到特征圖(P2~P5)。最終,語義信息與位置信息各不相同的4類特征圖(P2~P5)送到頭部網(wǎng)絡(luò)(Head)中進(jìn)行預(yù)測處理。為了獲得更準(zhǔn)確的實(shí)例信息,對P5層使用CoordConv[28]操作得到P1。
1.1.3語義分支
由于SOLO v2算法不需要邊框先對實(shí)例進(jìn)行目標(biāo)檢測,故不需要全連接層,僅采用分類器預(yù)測網(wǎng)格內(nèi)實(shí)例的類別。如圖1所示,1幅被分為S×S個網(wǎng)格的輸入圖像,總類別為C,那么從特征金字塔送至語義分支前為H×W×E的輸入空間,對齊到S×S×E,經(jīng)過語義分支處理(多個3×3卷積)后展開為S×S×C的輸出空間。即最終生成S×S個C維輸出,對每個網(wǎng)格分別進(jìn)行語義類別概率的預(yù)測。
1.1.4掩膜分支
在掩膜分支中進(jìn)行掩膜的尺寸及位置預(yù)測,如圖1所示,取特征金字塔的輸出特征圖I作為輸入,經(jīng)過2個分支計(jì)算學(xué)習(xí)后輸出掩膜內(nèi)核G∈RS×S×D及掩膜特征圖F∈RH×W×E。 最后通過動態(tài)卷積操作完成對掩膜的預(yù)測,計(jì)算公式為
Mi,j=Gi,jF
(1)
其中
Mi,j∈RH×WGi,j∈R1×1×E
式中 (i,j)——原圖坐標(biāo)
Mi,j——位置(i,j)單實(shí)例最終預(yù)測的掩膜
Gi,j——位置(i,j)上1×1卷積的掩膜內(nèi)核
1.1.4.1掩膜內(nèi)核
特征圖I進(jìn)入掩膜卷積核分支時,首先通過對齊操作轉(zhuǎn)換成S×S×E的空間特征圖。然后經(jīng)過4層卷積層及最后一個3×3×D卷積核的卷積運(yùn)算后生成最終的掩膜內(nèi)核G∈RS×S×D,其中進(jìn)行1×1卷積時D等于E,3×3卷積時D等于9E。
1.1.4.2掩膜特征圖
區(qū)別于掩膜卷積核分支需要對每層特征金字塔輸出圖像進(jìn)行處理后再合并空間得到掩膜內(nèi)核,掩膜特征分支首先通過3×3卷積操作、組歸一化后,由激活函數(shù)ReLU與2個雙線性插值運(yùn)算后將4層特征圖(P1~P4)統(tǒng)一到原圖尺寸的1/4并合為1幅與原圖同樣尺寸的特征圖。最終通過1×1卷積計(jì)算、組歸一化后經(jīng)激活函數(shù)ReLU得到最終的掩膜特征圖F。
1.1.5非極大值抑制
在經(jīng)過掩膜分支后會生成最多S×S個掩膜,通過輸出張量的第3維(通道)對掩膜進(jìn)行編碼,通道值上限為S2,編碼公式為
k=iS+j
(2)
式中k——網(wǎng)格(i,j)處的掩膜編碼
但并非所有的掩膜都表示不同的實(shí)例對象,其中存在多個掩膜均表示同一個實(shí)例,在網(wǎng)絡(luò)輸出時,應(yīng)僅保留一個置信度最高的掩膜。非極大值抑制(Non-maximum suppression,NMS)的思想是抑制非極大值的元素,應(yīng)用于實(shí)例分割即保留某一實(shí)例置信度最高的掩膜,去除其他冗余掩膜。
Matrix NMS考慮使用衰減因子對冗余掩膜的置信度進(jìn)行降低,因此對于每組相對掩膜a置信度較低的b的衰減函數(shù)f(ua,b)計(jì)算公式為
f(ua,b)=1-ua,b
(3)
式中ua,b——掩膜a與b的交并比
由于冗余掩膜的抑制概率與交并比(Intersection over union,IoU)正相關(guān),f(u,a)可表示為
(4)
式中sk——掩膜k的置信度
sa——掩膜a的置信度
f(u,a)——掩膜a關(guān)于交并比的正相關(guān)函數(shù)
f(uk,a)——掩膜k與a的衰減函數(shù)
最后通過懲罰因子單步更新預(yù)測得分,從而通過設(shè)定閾值保留最佳的預(yù)測掩膜,掩膜b的懲罰因子計(jì)算公式為
(5)
(6)
sb——掩膜b的置信度
試驗(yàn)表明[8],Matrix NMS對掩膜的預(yù)測效果較好,且得益于GPU并行計(jì)算功能,能夠一次完成掩膜IoU運(yùn)算,大幅減少了運(yùn)行時間。
1.2.1卷積結(jié)構(gòu)優(yōu)化
在番茄葉片圖像中,由于葉片種類繁多,形狀大小不一,且某些病癥在葉片的表現(xiàn)形式上較為類似,僅采用多變化的訓(xùn)練數(shù)據(jù)集難以將卷積神經(jīng)網(wǎng)絡(luò)(CNN)擬合為適應(yīng)識別多類別葉片病癥的理想模型。因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)在構(gòu)建新模型時的卷積核結(jié)構(gòu)、采樣位置、池化比例是不變的,固定的幾何結(jié)構(gòu)會導(dǎo)致感受野不適應(yīng)不同尺度、形狀的實(shí)例,卷積網(wǎng)絡(luò)對特征提取能力較差,最終出現(xiàn)網(wǎng)絡(luò)識別精度較低的情況。DAI 等[29]提出的第1代可變形卷積網(wǎng)絡(luò)(DCN)結(jié)構(gòu)主要解決卷積神經(jīng)網(wǎng)絡(luò)的建模問題,引入可變形卷積可提升模型靈活變換的能力。
對于每個輸入的特征圖,普通卷積在p0位置的像素點(diǎn)處特征值y(p0)計(jì)算公式為
(7)
式中pn——以p0為中心卷積核范圍內(nèi)所有位置
w(pn)——p0位置的采樣點(diǎn)權(quán)重
x(p0+pn)——p0位置特征值
Rf——感受野區(qū)域
可變形卷積在此基礎(chǔ)上增加了一個偏移量Δpn與權(quán)重Δmn∈[0,1],計(jì)算公式為
(8)
經(jīng)過偏移后的卷積核形狀更為靈活,并優(yōu)化了感受野范圍,使卷積骨干可以適應(yīng)各種類型的番茄葉片,從而提升模型對番茄病葉的檢測與分割精度。而引入的權(quán)重Δmn則是第2代可變形卷積網(wǎng)絡(luò)(DCN v2)所提出的,主要解決加入偏移量后導(dǎo)致感受野對應(yīng)范圍大于目標(biāo)范圍的問題。在Plant Village數(shù)據(jù)集的基礎(chǔ)上,本研究將在ResNet-50和ResNet-101模型中選擇性能較優(yōu)的模型改進(jìn)卷積結(jié)構(gòu),并進(jìn)行對比試驗(yàn)分析。
1.2.2損失函數(shù)優(yōu)化
在實(shí)例分割中,需要用損失函數(shù)對語義類別和掩膜輸出的期望輸出與實(shí)際輸出的誤差進(jìn)行評價,進(jìn)而優(yōu)化模型。為更好地解決圖像樣本尺寸多、正負(fù)樣本不平衡的問題,原模型將Focal[30]損失函數(shù)和Dice[31]損失函數(shù)分別應(yīng)用于語義類別分類和掩膜預(yù)測。對訓(xùn)練損失函數(shù)的定義為
L=Lcate+λLmask
(9)
(10)
dmask(p,q)=1-D(p,q)
(11)
(12)
式中L——總損失函數(shù)
Lcate——Focal損失函數(shù)
Lmask——掩膜損失函數(shù)
λ——自定義權(quán)重參數(shù)
Npos——正樣本個數(shù)
mk——掩膜k的預(yù)測像素矩陣,等效于p
D(p,q)——矩陣p、q對應(yīng)的Dice系數(shù)
(x,y)——原圖位置(i,j)對應(yīng)的特征圖坐標(biāo)
px,y——特征圖(x,y)處的預(yù)測掩膜像素值
qx,y——特征圖(x,y)處的真實(shí)掩膜像素值
然而,在輸入的番茄葉片訓(xùn)練集中,存在像素點(diǎn)的預(yù)測值與真實(shí)值都很小的情況(px,y與qx,y的值接近0),Dice損失函數(shù)的梯度則可能會出現(xiàn)非常大的情況,從而導(dǎo)致訓(xùn)練過程不穩(wěn)定。因此引入平滑系數(shù)ε,計(jì)算公式為
(13)
通過計(jì)算發(fā)現(xiàn),當(dāng)px,y與qx,y的值接近0時,損失函數(shù)對px,y的梯度值略大于0,消除了可能出現(xiàn)梯度過高導(dǎo)致難以訓(xùn)練的情況。在訓(xùn)練過程中發(fā)現(xiàn)平滑系數(shù)ε取值范圍在0.01~1內(nèi)的模型收斂效果較好,由于該系數(shù)為固定值,在計(jì)算中占比較大,導(dǎo)致?lián)p失函數(shù)對不同偏差的預(yù)測值的衡量結(jié)果較為接近,會出現(xiàn)誤導(dǎo)優(yōu)化器反向傳播時參數(shù)更新方向的情況,進(jìn)而降低模型的魯棒性與精度。為了解決此問題,本研究設(shè)計(jì)了損失因子δ對Dice損失函數(shù)進(jìn)行調(diào)整,表達(dá)式為
(14)
其中
(15)
從理論上可知,由于損失因子的引入,使損失函數(shù)對預(yù)測值與真實(shí)值之間偏差的衡量結(jié)果與偏差值的聯(lián)系更為緊密,并加快了訓(xùn)練收斂的速度,提升了模型的精度與學(xué)習(xí)能力。為了探究該損失因子在實(shí)際應(yīng)用中的優(yōu)化效果,本研究通過試驗(yàn)進(jìn)行對比分析及驗(yàn)證。
采用平均精度(Average precision, AP)和檢測速度作為模型性能評價指標(biāo),從而衡量不同模型對番茄病葉檢測與分割的精度、效率。
計(jì)算每類番茄葉病的IoU閾值對應(yīng)的AP,并求取每類的mAP。
試驗(yàn)平臺選擇GeForce GTX 1660Ti GPU, 顯存為6 GB,內(nèi)存為16 GB,Ubuntu 16.04運(yùn)行系統(tǒng),Python 3.7+pytorch 1.4.0下的mmdetection 1.0框架作為環(huán)境配置。
由于GPU性能及數(shù)量限制,故設(shè)置GPU數(shù)量為1;GPU每次僅處理1幅圖像;迭代輪數(shù)為60;設(shè)置輸入模型的圖像尺寸為256像素×256像素;優(yōu)化器采用SGD,由GPU個數(shù)設(shè)置初始學(xué)習(xí)率為0.001 25,保留原模型中設(shè)置的動量因子0.9及正則化權(quán)值衰減系數(shù)0.000 1;預(yù)熱學(xué)習(xí)率,選擇在第10 000步前線性增長學(xué)習(xí)率,在第10 000步后線性下降學(xué)習(xí)率,并在迭代訓(xùn)練至第27次與第33次時降低學(xué)習(xí)率,以加速收斂,提升收斂后模型的魯棒性;設(shè)置Focal損失函數(shù)的權(quán)重為1,Dice損失函數(shù)的權(quán)重為2;對于各類模型的IoU閾值設(shè)置為0.5。
試驗(yàn)數(shù)據(jù)取自公開數(shù)據(jù)集Plant Village中的番茄葉片集。其中包括早疫病、晚疫病、葉霉菌病、七葉蟲斑病、二斑葉螨病、靶點(diǎn)病、黃曲葉病、花葉病、細(xì)菌性斑點(diǎn)病以及健康葉共10類番茄葉片,病例如圖3所示。注意到原數(shù)據(jù)集有部分圖像是錯分的,所以首先需要進(jìn)行數(shù)據(jù)清洗保證每類圖像在訓(xùn)練前類別正確。并對較少的類別葉片樣本進(jìn)行數(shù)據(jù)增強(qiáng),以解決數(shù)據(jù)不平衡的問題。同時為了提升模型對單幅圖像中多實(shí)例的識別效果,使用Photoshop對原樣本進(jìn)行裁剪,將多個葉片整合到一幅圖像中。由于合成圖像與原數(shù)據(jù)集的圖像的分辨率不同,故需要將尺寸歸一化到256像素×256像素。最后,從合成圖像及經(jīng)預(yù)處理后的Plant Village數(shù)據(jù)集中篩選出9 000幅樣本,隨機(jī)抽取每類的60%作為訓(xùn)練集,20%作為驗(yàn)證集,剩余的20%作為測試集。
模型訓(xùn)練的數(shù)據(jù)集為coco標(biāo)注格式。經(jīng)清洗后的Plant Village 番茄數(shù)據(jù)樣本存在分割好的RGB圖像(黑色背景),通過編寫程序?qū)⑵渑哭D(zhuǎn)換為黑白二值圖像(白色描述葉片輪廓,黑色為背景)。對于合成圖像則通過LabelMe進(jìn)行實(shí)例標(biāo)注,得到黑白二值圖像后與Plant Village數(shù)據(jù)集的黑白二值樣本結(jié)合原彩色圖像統(tǒng)一使用pycococreater工具包轉(zhuǎn)換為coco標(biāo)注文件。
模型訓(xùn)練都采用coco數(shù)據(jù)集的預(yù)訓(xùn)練模型,通過遷移學(xué)習(xí)的方式對各個模型進(jìn)行訓(xùn)練,提升訓(xùn)練速度并改善模型的泛化能力。
3.3.1模型對比試驗(yàn)
為得到在數(shù)據(jù)集上表現(xiàn)最優(yōu)的模型,選用Mask R-CNN+FPN+ResNet-101、SOLO v2+FPN+ResNet-50、SOLO v2+FPN+ResNet-101、SOLO v2+FPN+DCN v2+ResNet-101進(jìn)行訓(xùn)練與驗(yàn)證。其中,對于引入可變形卷積的模型,在卷積骨干C3~C5層中所有3×3的卷積核替換成可變形卷積核。在訓(xùn)練過程中通過損失函數(shù)曲線收斂情況判斷模型是否適用于訓(xùn)練樣本。最后,將適用的模型在測試集上計(jì)算出相應(yīng)的AP和運(yùn)行速度并進(jìn)行對比分析。
3.3.2損失函數(shù)對比試驗(yàn)
為了驗(yàn)證本文提出的損失函數(shù)優(yōu)化方法的有效性,試驗(yàn)在3.3.1節(jié)處理后,選擇性能最優(yōu)的模型為基礎(chǔ),將優(yōu)化Dice損失函數(shù)后的模型與原模型進(jìn)行對比測試。對比2個模型訓(xùn)練過程中的損失函數(shù)曲線,分析收斂速度與振蕩程度。最后在測試集上計(jì)算出相應(yīng)的AP并進(jìn)行對比分析。
試驗(yàn)將各個訓(xùn)練至收斂的模型應(yīng)用于測試集中對番茄葉片進(jìn)行實(shí)例檢測與分割,并得到最終的性能評價結(jié)果如表1所示,其中所有模型都融合了特征金字塔。表1中,AP0.5與AP0.75表示IoU閾值分別取0.5與0.75時的AP指標(biāo);mAP表示IoU閾值以步長0.05從0.5到0.95所對應(yīng)AP的平均值。
表1 不同網(wǎng)絡(luò)模型的性能試驗(yàn)結(jié)果對比
在SOLO v2模型下,ResNet-101在AP0.5、AP0.75、mAP指標(biāo)上表現(xiàn)較好,分別為55.9%、44.3%、41.3%,尤其在IoU閾值為0.75時相對ResNet-50提升了0.8個百分點(diǎn),單幅圖像的處理時間基本相同。說明在殘差網(wǎng)絡(luò)中層數(shù)較深的網(wǎng)絡(luò)精度更高,因此優(yōu)先將ResNet-101作為骨干網(wǎng)絡(luò)。
選用ResNet-101作為骨干網(wǎng)絡(luò),使用SOLO v2模型與Mask R-CNN模型進(jìn)行對比發(fā)現(xiàn):相比Mask R-CNN,SOLO v2的AP0.5、AP0.75、mAP分別增加了3.7、2.9、3.2個百分點(diǎn)。同時,SOLO v2僅使用0.059 s即完成對單幅圖像的識別與分割,單幅圖像處理時間相比Mask R-CNN減少了72.0%,極大地提升了模型的運(yùn)行效率。綜上所述,無論是從精度還是運(yùn)行效率上,SOLO v2模型都具有較好的效果。
在SOLO v2模型及骨干網(wǎng)絡(luò)ResNet-101基礎(chǔ)上,引入可變形卷積后進(jìn)一步提升了模型的識別與分割精度。改進(jìn)后的模型在IoU閾值為0.5時的效果最好,平均精度達(dá)到了57.2%,相比原模型提升了1.3個百分點(diǎn),mAP提升了0.8個百分點(diǎn)。雖然模型運(yùn)行效率略有下降,但仍具備實(shí)時處理圖像的能力。所以,本研究使用DCN v2對模型進(jìn)行優(yōu)化具有一定的可行性。
由分析可知,以ResNet-101-DCN v2-FPN為骨干網(wǎng)絡(luò)的SOLO v2模型具有最優(yōu)的性能,故本研究將該模型作為本次試驗(yàn)的原模型,并在此基礎(chǔ)上對損失函數(shù)進(jìn)行相應(yīng)變化以進(jìn)行對比試驗(yàn),試驗(yàn)結(jié)果如圖4所示。
從圖4中可知,2個模型訓(xùn)練時的收斂速度較快,證明2個模型的泛化性能良好,且在圖4b中曲線振蕩幅度略小于圖4a,說明損失函數(shù)的優(yōu)化進(jìn)一步提升了模型的泛化能力。而在驗(yàn)證集上,原模型曲線出現(xiàn)了一次較大幅度的振蕩(圖4c),而損失函數(shù)優(yōu)化后的模型曲線(圖4d)則較平穩(wěn)地收斂。這說明原損失函數(shù)的評價誤導(dǎo)了優(yōu)化器反向傳播時的參數(shù)更新方向,而本研究的優(yōu)化策略較好地彌補(bǔ)了這一缺陷,從試驗(yàn)中進(jìn)一步驗(yàn)證了損失因子δ的優(yōu)化效果。
優(yōu)化后的模型識別分割效果如圖5所示,無論是對病癥表現(xiàn)較為相似的番茄葉片還是對背景顏色干擾大、有噪聲的番茄病葉圖像,都能夠做到正確分類,掩膜的位置信息也較為準(zhǔn)確。圖5中從左到右依次為無背景的番茄葉片、病癥表現(xiàn)類似的番茄葉片、背景干擾大且有噪聲的番茄葉片。
最終的模型性能評價如表2所示,其中δ-Dice Loss表示加入損失因子δ后的損失函數(shù)。
表2 加入損失因子后模型性能對比
改進(jìn)后的模型在AP0.5、AP0.75、mAP指標(biāo)上分別比原模型提高了0.3、0.1、0.2個百分點(diǎn),證明損失函數(shù)的優(yōu)化進(jìn)一步提升了模型的精度。本文方法通過引入損失因子δ來優(yōu)化模型的掩膜損失函數(shù),提升了整體性。
提出了一種基于SOLO v2的番茄病葉檢測與分割方法,并在卷積結(jié)構(gòu)與損失函數(shù)上對模型進(jìn)行改進(jìn)。通過對比試驗(yàn)得到,在同樣條件下,以ResNet-101為骨干網(wǎng)絡(luò),SOLO v2模型比Mask R-CNN在mAP指標(biāo)上提高了3.2個百分點(diǎn),單幅圖像處理時間減少了72.0%。而引入DCN v2及損失因子δ后,最終優(yōu)化后的模型mAP為42.3%,且有效提高了模型的魯棒性與泛化能力,能夠較精確地實(shí)現(xiàn)番茄病葉的識別與分割。