劉小剛,李榮梅,范 誠,楊啟良,趙 璐
(1 昆明理工大學(xué) 現(xiàn)代農(nóng)業(yè)工程學(xué)院, 云南 昆明 650000; 2 中聯(lián)重科智能技術(shù)有限公司,湖南 長沙 410013; 3 四川大學(xué) 水利水電學(xué)院, 四川 成都 610065)
芒果具有良好的食用價值[1],市場需求不斷增加。市場對芒果的外部品質(zhì)進(jìn)行分級的主要指標(biāo)是形狀、顏色、大小以及表皮缺陷,其中,芒果的表皮缺陷對其能否在市場上的銷售起決定性的作用。目前市場水果的大小和質(zhì)量分選主要依靠機(jī)械工程技術(shù)[2-3],而形狀、顏色、表皮缺陷的檢測大多由人工完成,勞動強(qiáng)度大、效率低、成本高。如果采用智能機(jī)器在自然環(huán)境下對果實(shí)進(jìn)行采摘,將表皮缺陷的芒果與表皮完好的芒果分開,完成初步的分級,可避免對完好果實(shí)的污染及浪費(fèi)。因此,對芒果果實(shí)進(jìn)行表皮缺陷檢測是目前需要解決的關(guān)鍵問題。
隨著人工智能的發(fā)展,越來越多的算法應(yīng)用在農(nóng)產(chǎn)品加工領(lǐng)域,主要應(yīng)用于果實(shí)的分類[4-6]、成熟度檢測[7]、病蟲害檢測[8-9]及缺陷檢測[10]。劉平等[11]采用Chan-Vese模型對貼疊葡萄串進(jìn)行識別,識別準(zhǔn)確率達(dá)89.71%;李江波等[12]采用分水嶺算法對桃子表皮缺陷進(jìn)行識別,取得了較高的準(zhǔn)確率。然而面對復(fù)雜的自然環(huán)境,如遮擋、密集、光照等因素影響,傳統(tǒng)的模型算法精度不能滿足實(shí)際需求。更多的研究表明基于深度學(xué)習(xí)的模型較傳統(tǒng)機(jī)器學(xué)習(xí)模型在速度和準(zhǔn)確率方面表現(xiàn)更好[13-14],運(yùn)用神經(jīng)網(wǎng)絡(luò)算法對農(nóng)產(chǎn)品進(jìn)行識別[15-16]已成為熱點(diǎn)。Jhuria等[17]運(yùn)用神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行訓(xùn)練來識別蘋果的表皮缺陷,實(shí)現(xiàn)了在線實(shí)時檢測,Basavaraj等[18]運(yùn)用神經(jīng)網(wǎng)絡(luò)對香蕉病害進(jìn)行識別,實(shí)現(xiàn)了端到端的自動化識別。
目前已經(jīng)提出了許多芒果表皮缺陷的識別算法。Sahu等[19]通過將RGB圖轉(zhuǎn)換為灰度圖和二值圖像,再執(zhí)行濾波操作以去除背景和噪聲來識別圖像中的缺陷,能有效地識別出芒果表皮缺陷;但該方法只能進(jìn)行單幅圖像的識別操作,效率低。Huang等[20]采用支持向量機(jī)的方法進(jìn)行芒果識別,并結(jié)合比色傳感器陣列對芒果進(jìn)行質(zhì)量分級,在測試集的精度達(dá)到97.5%,具有無損、省時的特點(diǎn)。Sudarjat等[21]采用近紅外光譜法能夠準(zhǔn)確檢測芒果表皮的病害,但沒有進(jìn)行自然環(huán)境下的檢測。Kestur等[22]采用基于語義分割的算法MangoNet對自然環(huán)境下的芒果進(jìn)行檢測,取得了比FCN網(wǎng)絡(luò)[23]更好的結(jié)果,較機(jī)器學(xué)習(xí)模型有了更好的性能。然而,實(shí)際自然環(huán)境復(fù)雜多變,存在逆光、順光、果實(shí)密集、遮擋與粘黏等現(xiàn)象,降低了以上模型檢測的準(zhǔn)確率。為此,本研究基于改進(jìn)的DeepLabV3+語義分割算法[24],識別自然環(huán)境下芒果的表皮缺陷,以期獲得更好的識別精度,進(jìn)而為芒果缺陷識別提供參考。
芒果圖像采集于中國西南地區(qū)云南省玉溪市元江縣,4個品種分別為‘鷹嘴芒’、‘金煌芒’、‘蘋果芒’和‘貴妃芒’。圖像采集時間分為白天和夜晚,在自然環(huán)境下共采集芒果圖像820張,經(jīng)過圖像翻轉(zhuǎn)、平移、鏡像、縮放等幾何變換后擴(kuò)增數(shù)據(jù)集為 1 340張圖像,圖像的分辨率為 1 440 像素×1 080像素。按照6∶2∶2的比例劃分訓(xùn)練集、驗(yàn)證集和測試集,訓(xùn)練集圖像為804張,驗(yàn)證集、測試集的圖像均為268張。將數(shù)據(jù)集類別劃分為芒果、缺陷、莖梗、背景4種,圖像的分辨率縮放為512像素×512像素。
由于數(shù)據(jù)集是在自然環(huán)境下采集的,存在果實(shí)相互遮擋的情況,為了使模型具有更好的泛化性,本文對圖像進(jìn)行隨機(jī)遮擋處理。在試驗(yàn)數(shù)據(jù)集中發(fā)現(xiàn)芒果表皮存在細(xì)小的斑點(diǎn),這些斑點(diǎn)是正常的生理現(xiàn)象,不影響芒果的質(zhì)量,然而過于密集的斑點(diǎn)會導(dǎo)致模型將其誤判為表皮缺陷。
針對表皮具有密集斑點(diǎn)的芒果,對圖像進(jìn)行閉運(yùn)算(圖1),即依次進(jìn)行膨脹、腐蝕處理,可以有效地去除表皮細(xì)小的斑點(diǎn)。首先進(jìn)行膨脹處理,將圖像與核進(jìn)行卷積運(yùn)算,取每個局部的最大值;圖像的腐蝕處理是求取每個局部的最小值。本研究采用的核形態(tài)為矩形,大小為(1,1),處理1次。采用閉運(yùn)算去除芒果表皮顏色較淺的斑點(diǎn),保留顏色較深的區(qū)域,具體計(jì)算如下:
圖1 圖像形態(tài)學(xué)處理Fig. 1 Image morphological processing
式中,I為圖像矩陣,S為結(jié)構(gòu)單元,E為腐蝕后得到的圖像,D為膨脹后得到的圖像。
1.3.1 聯(lián)合上采樣金字塔模塊采用 DeepLabV3+算法對芒果表皮缺陷進(jìn)行分割,并作出如下改進(jìn):使用聯(lián)合金字塔上采樣模塊(Joint pyramid upsampling,JPU)[25]替換空洞空間卷積池化金字塔(Atrous spatial pyramid pooling,ASPP)模塊,降低計(jì)算復(fù)雜度、提升運(yùn)行速度。其次,采用擴(kuò)張卷積(Atrous conv)[26]替換主干網(wǎng)絡(luò)ResNet中部分常規(guī)卷積(Regular conv),擴(kuò)張卷積的在增大特征圖感受野的同時,能夠保持特征圖尺寸,避免空間位置信息的損失,使模型收斂得更快,并提高其精度。
JPU模塊:不同于ASPP只利用1個特征圖(f5)中的信息,該模塊將主干網(wǎng)絡(luò)最后3個特征圖(f3~f5)作為輸入,使用多尺度上、下文模塊產(chǎn)生最終的預(yù)測。首先,對每個輸入特征圖進(jìn)行卷積使其通道數(shù)一樣,然后進(jìn)行上采樣操作使其分辨率一致(圖 2a),并行使用不同膨脹率 (1、2、4、8)和 4個可分離卷積提取特征(圖2b),膨脹率為2、4、8的卷積用于學(xué)習(xí)映射h,將ym轉(zhuǎn)化為ys,較小的膨脹率有利于小目標(biāo)的識別,較大的膨脹率能夠增大感受野,對較大目標(biāo)更敏感,從而在特征圖中提取到多尺度信息。最后對其進(jìn)行卷積生成最終的預(yù)測(圖2c),計(jì)算見下式:
圖2 聯(lián)合上采樣金字塔結(jié)構(gòu)Fig. 2 The structure of joint pyramid upsampling
式中,h表示輸入與輸出的映射關(guān)系,ys表示輸出的特征,ym表示輸入的特征。
1.3.2 編碼器與解碼器在編碼器中對 ResNet50網(wǎng)絡(luò)進(jìn)行修改,替換conv5 階段的部分常規(guī)卷積為擴(kuò)張卷積,得到Atrous-ResNet作為主干網(wǎng)絡(luò)。Atrous-ResNet中不存在可分離卷積,并且除擴(kuò)張卷積層之外,所有網(wǎng)絡(luò)層均能加載ImageNet預(yù)訓(xùn)練模型參數(shù),進(jìn)行有效的初始化,大幅提升模型的精度和收斂速度。但是,主干網(wǎng)絡(luò)中加入擴(kuò)張卷積,會增加模型后續(xù)階段的計(jì)算成本,因此只研究在ResNet網(wǎng)絡(luò)的conv5 階段加入擴(kuò)張卷積的情況。主干網(wǎng)絡(luò)各個階段輸出的圖像為原圖尺寸的1/2、1/4、1/8、1/16和 1/32。在DeepLabV3+基礎(chǔ)上引入了更多來自Encode模塊的特征圖(圖 3),將f3~f5層特征圖連接到Decoder模塊,得到更多語義信息的同時具有更多的空間信息,使高層特征圖對分割結(jié)果起到更大的作用。
圖3 改進(jìn)的算法架構(gòu)圖Fig. 3 Structure chart of improved algorithm
1.3.3 評價指標(biāo)模型評價指標(biāo)是衡量模型訓(xùn)練結(jié)果優(yōu)劣的重要因素,能夠直接反映出模型在訓(xùn)練集的學(xué)習(xí)效果及驗(yàn)證集的測試效果。采用的評價指標(biāo)為類別像素準(zhǔn)確率 (Class pixel accuracy,CPA)、平均像素準(zhǔn)確率 (Mean pixel accuracy,MPA、平均交并比 (Mean intersection over union,MIoU)。其中,MPA反映總體的多類別預(yù)測準(zhǔn)確率,MIoU是語義分割模型的標(biāo)準(zhǔn)度量指標(biāo)。評價指標(biāo)的值越大,模型的效果越好。每種類別像素的準(zhǔn)確率計(jì)算如下式。
式中,Pii表示第i個類別預(yù)測準(zhǔn)確的數(shù)量,Pij表示將第i 類別物體預(yù)測為第類別的數(shù)量,Pji表示第j類別物體預(yù)測為第i類別的數(shù)量,i 表示真實(shí)類別,表示預(yù)測類別。為類別的數(shù)量,不考慮背景類別,因此 k為 3。
通過計(jì)算每一類真實(shí)值及預(yù)測值像素集合的交集和并集的比值,得到每一類別的交并比后,計(jì)算所有類別的平均值即為平均交并比,該指標(biāo)在試驗(yàn)中能夠較好地反映模型在不同類別區(qū)域分割的準(zhǔn)確性和完整性。
試驗(yàn)環(huán)境:本研究采用Pytorch1.5深度學(xué)習(xí)框架,Python3.6語言,CPU:Intel i9-9900KF,GPU:NVIDIA RTX 2070。所有模型訓(xùn)練及測試都在同一硬件環(huán)境下進(jìn)行,模型初始學(xué)習(xí)率為1×10-4,采用Adam優(yōu)化器,對數(shù)據(jù)集訓(xùn)練了120次迭代,并且在線對數(shù)據(jù)進(jìn)行隨機(jī)裁剪、縮放、翻轉(zhuǎn)、鏡像等幾何變換操作,采用基于ImageNet數(shù)據(jù)集的預(yù)訓(xùn)練模型。
為了比較模型在訓(xùn)練集的效果,將本文改進(jìn)的模型Atrous-ResNet與DeepLabV3+算法Xception模型的損失值與平均像素準(zhǔn)確率進(jìn)行比較,結(jié)果如圖4所示。Atrous-ResNet模型訓(xùn)練集的準(zhǔn)確率達(dá)到97.30%,模型的損失值較Xception模型下降0.263,說明改進(jìn)后模型的預(yù)測值與真實(shí)值的差異更小,預(yù)測結(jié)果與真實(shí)結(jié)果更接近;且平均交并比較原模型均有提升,本研究所作改進(jìn)具有可行性。
圖4 不同模型評價指標(biāo)的比較Fig. 4 Comparison of evaluation indexes for different models
本研究采集了多種場景下的芒果圖像,時間有白天和夜晚,數(shù)量分布情況分為果實(shí)密集、稀疏,位置上為果實(shí)遮擋與粘黏。在測試集中挑選白天及夜晚的芒果圖像均為20幅,隨機(jī)挑選果實(shí)密集及稀疏的圖像均為15幅,隨機(jī)挑選果實(shí)遮擋與粘黏的圖像10幅,使用改進(jìn)的模型Atrous-ResNet與DeepLabV3+模型分別進(jìn)行檢測,結(jié)果見圖5。由圖5可知,側(cè)光照射下,芒果圖像表皮紋理、缺陷清晰,是理想的光線環(huán)境;順光照射下芒果表皮會有一定的反光現(xiàn)象,光線強(qiáng)的部分紋理不清晰,易造成漏識別;逆光照射下,芒果背景較暗,表皮紋理不清晰、缺陷邊界模糊,增加了缺陷定位的難度。白天不同光照且果實(shí)稀疏時,DeepLabV3+模型與改進(jìn)模型識別效果相近,但是改進(jìn)模型在類別邊界定位上更加平滑。在夜晚使用LED燈照明時,芒果的表皮紋理較清晰,但背景顏色暗,只能識別光線照射良好的芒果。芒果分布密集時,靠近鏡頭的芒果表皮較清晰,體型較大,模型易識別;遠(yuǎn)離鏡頭的芒果表皮不清晰且體型較小,導(dǎo)致模型難以識別缺陷。在芒果、莖梗密集且相互遮擋時,模型對于細(xì)小的缺陷部位難以定位。
2種模型在不同場景的測試集中進(jìn)行測試(表1),Atrous-ResNet模型對芒果識別的準(zhǔn)確率較DeepLabV3+模型高,CPA上升3.79個百分點(diǎn),MIoU上升4.57個百分點(diǎn)。總體來看,Atrous-ResNet模型在測試集的表現(xiàn)均優(yōu)于DeepLabV3+模型,但在自然復(fù)雜場景下,芒果表皮較小的缺陷難以檢測,模型的性能仍需要提升,特別是針對小目標(biāo)的檢測。
表1 DeepLabV3+與Atrous-ResNet模型的評價指標(biāo)比較Table 1 Comparison of evaluation indexes between DeepLabV3+ and Atrous-ResNet model%
為了進(jìn)一步評價不同模型的優(yōu)劣,探究多種算法對芒果表皮缺陷數(shù)據(jù)集的檢測效果,選擇有代表性的實(shí)時網(wǎng)絡(luò)LinkNet[27]、標(biāo)準(zhǔn)網(wǎng)絡(luò)SegNet[28]與Atrous-ResNet進(jìn)行比較。
由圖6可知,不同光照下,側(cè)光照射下識別效果相對較好;不同密集程度下,果實(shí)稀疏的識別效果優(yōu)于果實(shí)密集;不同時間段下,白天的情況復(fù)雜,識別效果多樣,夜晚只有在光線良好的條件下才能有效識別;果實(shí)遮擋與粘黏條件下的識別效果較差??傮w來說,Atrous-ResNet模型在不同場景下的識別效果均優(yōu)于其他模型。
圖6 LinkNet、SegNet及Atrous-ResNet模型在不同場景下的識別效果對比Fig. 6 Comparison of recognition performance among LinkNe, SegNet and Atrous-ResNet model in multi-scenarios
表2為3種不同的算法對測試集評價指標(biāo)的結(jié)果,Atrous-ResNet模型較LinkNet與SegNet算法有顯著的提升,CPA上均高于LinkNet與SegNet,MPA較LinkNet算法提升13.02個百分點(diǎn),較SegNet算法提升16.19個百分點(diǎn);MIoU較LinkNet算法提升15.28個百分點(diǎn),較SegNet算法提升19.96個百分點(diǎn)。同時發(fā)現(xiàn),實(shí)時語義分割算法LinkNet在識別效果上優(yōu)于SegNet算法。
表2 不同算法的評價指標(biāo)的比較Table 2 Comparison of evaluation indexes of different algorithms%
本研究以芒果為研究對象,采用圖像處理及語義分割相結(jié)合的方法對多場景下芒果表皮缺陷進(jìn)行檢測,主要結(jié)論如下。
1) 改進(jìn) DeepLabV3+模型,主要在 ResNet網(wǎng)絡(luò)中添加Atrous卷積,有利于增大模型的感受野,其次采用JPU模塊替換ASPP模塊,能提取到更多的尺度特征,使模型預(yù)測的邊界更加平滑,對細(xì)小缺陷的識別更準(zhǔn)確。
2) Atrous-ResNet模型較原始 DeepLabV3+模型,類別像素準(zhǔn)確率有所提升,MPA為94.48%,MIoU為94.13%,滿足自然復(fù)雜場景下芒果表皮缺陷識別的要求。
3) Atrous-ResNet模型的 CPA、MPA 及 MIoU均優(yōu)于LinkNet和SegNet模型。