印志本 劉鋒 欒世偉
(塔里木大學(xué)信息工程學(xué)院,新疆 阿拉爾 843300)
新疆的駿棗是從山西[1]的壺瓶棗培訓(xùn)改良的,目前主要分布在新疆阿克蘇、和田、喀什等地區(qū)[2],新疆是中國規(guī)模最大的優(yōu)質(zhì)干棗生產(chǎn)基地。新疆因其優(yōu)越的地理位置和得天獨(dú)厚的自然環(huán)境條件,也成就了品質(zhì)優(yōu)良的駿棗,相對于國內(nèi)其他區(qū)域的同類產(chǎn)品,新疆駿棗被譽(yù)為“中華第一棗”,因果形大、松脆、味甜、皮薄、致密、汁液多[3]。生長出果形飽滿、色澤鮮亮、皮薄肉厚、口感甘甜醇厚而著稱。紅棗不僅能提高人體免疫力,補(bǔ)氣養(yǎng)血,還能抑制癌細(xì)胞,是極佳的滋補(bǔ)食品。近年來,新疆的氣候增溫增濕趨勢明顯[4],駿棗本身引進(jìn)時間短、皮薄、肉質(zhì)疏松、糖分較多,在夜間低溫高濕條件下容易裂口,從而易得黑斑病,嚴(yán)重影響駿棗的產(chǎn)量和品質(zhì)。
2010—2020年黑斑病已成為危害西北棗類最大的病害之一,造成平均產(chǎn)量損失超過30%,嚴(yán)重時超過50%[5]。黑斑病的主要致病菌是鏈格孢霉菌,該病菌能夠產(chǎn)生對人及動物的健康危害的毒素,還具有致畸、致癌、致突變等作用。發(fā)病的駿棗無論是在硬度、質(zhì)量、色差果皮亮度和色澤飽和度顯著降低,顏色偏暗紅色等外觀品質(zhì)上,還是含糖量、蛋白質(zhì)、維生素C等內(nèi)在品質(zhì)上,均有明顯下降。目前檢測識別黑斑病的方法有紅外光譜、卷積神經(jīng)網(wǎng)絡(luò)等,為了提高對駿棗黑斑病的分揀速度和效率,本項目以卷積神經(jīng)網(wǎng)絡(luò)SSD算法為基礎(chǔ)框架,對南疆駿棗黑斑病識別進(jìn)行研究。
國內(nèi)外許多研究學(xué)者對基于計算機(jī)視覺的農(nóng)產(chǎn)品做了大量研究,在我國農(nóng)業(yè)領(lǐng)域?qū)崿F(xiàn)了工程化應(yīng)用。目前對農(nóng)產(chǎn)品品質(zhì)檢測內(nèi)容主要分為2類:基于傳統(tǒng)機(jī)器學(xué)習(xí)方法有高光譜、圖像分類、圖像分割、淺層神經(jīng)網(wǎng)絡(luò)(SVM隨機(jī)深林),以及各種相結(jié)合的方法;基于深度學(xué)習(xí)[6]的目標(biāo)檢測算法,如YOLO、SSD、Fater-RCNN等。
邱光應(yīng)等[7]使用傳統(tǒng)的邊緣檢測算法來提取蘋果提取目標(biāo)區(qū)域的特征值,將提取的特征輸入到SVM進(jìn)行分類來確定是缺陷果還是正常果。孫海霞等[8]在鮮棗上檢測黑斑病,采用高光譜成像技術(shù)采集、圖像處理、BP網(wǎng)絡(luò)神經(jīng)、卷積神經(jīng)網(wǎng)絡(luò)對圖片信息提取處理。孫世鵬等[9]提取更多顏色分量,在黑斑類方面利用單因素方差分析和最小顯著差異檢驗(yàn)得到R顏色分量,建立了Bayes線性分類模型和冬棗病害的分類標(biāo)準(zhǔn)。傳統(tǒng)機(jī)器學(xué)習(xí)需人工提取特征,導(dǎo)致誤差性特別大、相關(guān)特征不夠全面,從而降低識別的準(zhǔn)確率。
石新麗等[10]將圖像處理和模式識別技術(shù)應(yīng)用到害蟲的識別中,使用中值濾波和圖像二值化方式進(jìn)行處理。并建立了圖像害蟲識別系統(tǒng)。程海超[11]以番茄病蟲害為研究對象,采取以YOLO為基礎(chǔ)識別算法。對番茄病蟲害的危害展開研究,對基于YOLO的番茄病蟲害識別算法進(jìn)行分析,推動番茄的增產(chǎn)增收,全面滿足番茄種植戶的相應(yīng)需求。Mahesh等[12]鑒定芙蓉花是決定花是否準(zhǔn)備好授粉識別中,使用SSD MobileNet,結(jié)果證明準(zhǔn)確率都隨著epoch的增加而增加。
可以發(fā)現(xiàn),深度學(xué)習(xí)技術(shù)在常規(guī)的農(nóng)作物上有廣泛的應(yīng)用,并且逐漸取代傳統(tǒng)的農(nóng)作物識別方法,該類算法具有強(qiáng)大的泛化能力和自適應(yīng)性,然而深度學(xué)習(xí)目標(biāo)識別SSD技術(shù)在農(nóng)產(chǎn)品小目標(biāo)檢測上未見聲明。
張錦等[13]在安全帽檢測方面,針對目標(biāo)尺度偏小尺度分布不均勻,提出添加(FPN)特征融合的分支網(wǎng)絡(luò)。耿慶華等[14]在對動車底異常檢測中,針對目標(biāo)尺度較小和異常樣本少提出改進(jìn)SSD算法,Resnet-101作為骨干網(wǎng)絡(luò),引入特征融合策略改進(jìn)細(xì)節(jié)信息和語義信息,最后引入注意力機(jī)制突出相關(guān)特征。以上在改進(jìn)的SSD實(shí)踐中,都取得良好的成績。改進(jìn)的SSD算法在小目標(biāo)精度檢測上,主要從輕量級網(wǎng)絡(luò)融合與層級特征融合2個方面進(jìn)行研究。
綜上所述,研究SSD算法在駿棗黑斑病識別意義重要。在實(shí)際加工過程中,黑斑病駿棗同樣具有目標(biāo)尺寸較小,且流水線速度較快的特點(diǎn),所以本項目采用一系列方法提高SSD算法對小物體的識別精準(zhǔn)率,以適用于南疆黑斑病的識別。同時SSD算法本身是群體檢測,對每一個目標(biāo)都有精確的坐標(biāo),后期方便對硬件下發(fā)最坐標(biāo)指令。
在工廠生產(chǎn)過程中駿棗黑斑病目標(biāo)尺度較小,流水線檢測速度需求較快,在棗的大小不一的背景下,本項目將采用SSD算法作為基礎(chǔ)檢測框架,通過對模型的優(yōu)化和改進(jìn),充分利用非黑斑病的駿棗也作為模型訓(xùn)練數(shù)據(jù),提高黑斑病檢測的準(zhǔn)確率和速度。主要解決以下幾個具體問題。
傳統(tǒng)的缺陷檢測是通過訓(xùn)練大量的圖片,以達(dá)到缺陷識別的泛發(fā)性,但隨著科學(xué)的植物防治,帶有黑斑病的駿棗逐年減少。因此充分利用正常的駿棗數(shù)據(jù)集(約5900顆)進(jìn)行訓(xùn)練,隨后通過算法多少量的缺陷樣本(約1100顆)進(jìn)行訓(xùn)練,通過對比識別,充分認(rèn)識缺陷樣本特征。
擬采用深度學(xué)習(xí)目標(biāo)檢測SSD模型為原理,對駿棗黑斑病進(jìn)行檢測識別,但SSD模型對小物體目標(biāo)檢測效果不佳。所以本項目通過CBAM增強(qiáng)圖像特征提取,F(xiàn)PN用來進(jìn)一步提升小目標(biāo)物體的識別精度,加強(qiáng)對小尺度目標(biāo)的特征提取,提升SSD模型在黑斑病檢測上的準(zhǔn)確率。
雖然SSD算法在速度上占有優(yōu)勢,隨著自動化的不斷提升,工廠對速度的要求也越來越高。本項目期望對速度做出改善(主要使用Mobile網(wǎng)絡(luò)替換源SSD的主干網(wǎng)絡(luò)VGG,輔助設(shè)計損失函數(shù),設(shè)計先驗(yàn)框),滿足流水線對速度上的需求。
在實(shí)際生產(chǎn)加工過程中,駿棗一般為群檢,流水線速度較快,尤其是黑斑病特征的尺度較小,目前檢測駿棗黑斑病識別率和速率上不能很好的平衡。本項目擬采用改進(jìn)SSD算法運(yùn)用在駿棗檢測上。經(jīng)典的SSD算法在一般物體檢測的速率和準(zhǔn)確率上均有較好的平衡性,但是檢測小目標(biāo)不能取得較好檢測結(jié)果。所以本項目采用一系列方法提高SSD對小物體的識別精準(zhǔn)率。本論文主要研究思路總結(jié)如下。
SSD算法中檢測小物體,需要較低層網(wǎng)絡(luò)獲得特征圖,同時也需要高層網(wǎng)絡(luò)的語義信息對檢測目標(biāo)的特征描述。本項目提出改進(jìn)的SSD,將基礎(chǔ)網(wǎng)絡(luò)模型替換為深度殘差網(wǎng)絡(luò)MobileV3,并利用CBAM、FPN將高層特征通過上采樣與低層網(wǎng)絡(luò)提取的特征進(jìn)行融合,充分利用低層網(wǎng)絡(luò)的特征提取和高層網(wǎng)絡(luò)的語義信息,通過改進(jìn)來提高小目標(biāo)檢測精度。
針對漏檢情況,本文采用Soft-NMS來過濾檢測框,從而達(dá)到過濾無效的重疊框。采用先驗(yàn)框設(shè)計和損失函數(shù)設(shè)計2個方面來加速模型收斂。設(shè)計先驗(yàn)框能匹配有效視野,在一定程度上有利于提升目標(biāo)檢測。設(shè)計損失函數(shù),能夠較大程度上的使模型充分訓(xùn)練。借助QFL損失函數(shù)對正負(fù)樣本進(jìn)行平衡??梢酝瑫r兼顧到正負(fù)樣本權(quán)重的平衡,使網(wǎng)絡(luò)得到充分的訓(xùn)練。
為了驗(yàn)證提出的改進(jìn)SSD算法是否取得良好的檢測效果,在上述的方法中對駿棗數(shù)據(jù)進(jìn)行測試。對實(shí)際目標(biāo)物體進(jìn)行檢測以滿足流水線的實(shí)際生產(chǎn)需求。進(jìn)行消融實(shí)驗(yàn),得出驗(yàn)證改進(jìn)算法的各個模塊的性能。對幾個經(jīng)典的目標(biāo)檢測進(jìn)行比較(Faster RCNN,YOLOv3,SSD),驗(yàn)證改進(jìn)SSD算法有明顯精度提升效果。使各個評價指標(biāo)為標(biāo)準(zhǔn),得出結(jié)論。
經(jīng)典的SSD具有優(yōu)秀的網(wǎng)絡(luò)設(shè)計思路,整個網(wǎng)絡(luò)分為backbone層、neck層、head層,但是鑒于當(dāng)時特征提取探索有一定的局限性,經(jīng)典SSD深度學(xué)習(xí)模型中的基礎(chǔ)網(wǎng)絡(luò)VGG-16替換成MobileV3網(wǎng)絡(luò),引入CBAM、FPN網(wǎng)絡(luò)確保小目標(biāo)檢測的效果,見圖1。
圖1 改進(jìn)SSD模型
原SSD為了檢測小目標(biāo),把低層網(wǎng)絡(luò)拿來做預(yù)測對目標(biāo)位置較為精確,但是語義信息較少。MobileV3繼承了v1v2版本的可分離卷積和線性瓶頸的殘差結(jié)構(gòu),并且引入SE通道注意力結(jié)構(gòu);輕量級網(wǎng)絡(luò)MobileV3的特點(diǎn)是參數(shù)少、計算量小、推理時間短等優(yōu)點(diǎn)。更適用于存儲空間和功耗受限的場景,在主干網(wǎng)絡(luò)中,MobileV3更適合駿棗在流水線下識別的效率要求,見圖2。CBAM是輕量級的卷積注意力模塊,其結(jié)合了通道和空間的注意力機(jī)制模塊。分別進(jìn)行通道和空間上的Attention,這樣不僅能夠節(jié)約參數(shù)和計算力,并且保證了其能夠做為深度學(xué)習(xí)的一種即插即用的模塊集成到現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中去,使用通道注意力空間注意力的CBAM增強(qiáng)特征提取,見圖3。FPN可以作為一種深度學(xué)習(xí)中通用的特征提取器,通過網(wǎng)絡(luò)層的不斷堆疊,上采樣和低層網(wǎng)絡(luò)做融合,并且每個網(wǎng)絡(luò)獨(dú)立預(yù)測,得到的特征圖具有尺寸不斷減小的特點(diǎn),是天然的金字塔結(jié)構(gòu),可以以極低的代價來進(jìn)行構(gòu)建特征金字塔結(jié)構(gòu)。這樣很大程度上改進(jìn)對小物體檢測的性能,見圖4。
圖2 MobileV3
圖3 CBAM
圖4 FPN
SSD預(yù)設(shè)置大量先驗(yàn)框,在訓(xùn)練時會產(chǎn)生更多負(fù)樣本。其采用了難例挖掘的策略來保持正負(fù)樣本無法比例為1∶3,但這種方式卻忽視了大量簡單負(fù)樣本對模型訓(xùn)練的影響。無法使模型得到充分的訓(xùn)練。源SSD損失函數(shù)包括類別置信度損失函數(shù)(conf _loss)和預(yù)測框的位置損失函數(shù)(loc_loss)組成,2項函數(shù)需要加權(quán)求和。對于位置誤差本項目采用Smooth_L1損失。
源SSD的6個不同特征圖分辨率也不同,即特征圖上的每個點(diǎn)映射到輸入圖上的大小也不同。所以,先驗(yàn)框大小的設(shè)置也應(yīng)該有所變化。將相對應(yīng)的每個特征圖上的點(diǎn)作為中心,生成一組同長寬比不同且同心的先驗(yàn)框。對于先驗(yàn)框的需要計算出min size和max size的大小。對于先驗(yàn)框的尺度計算需要遵循以下的公式所規(guī)定的線性遞增的規(guī)則。
設(shè)置消融實(shí)驗(yàn),來探究各個改進(jìn)對模型的影響。其中先驗(yàn)框設(shè)計和損失函數(shù)設(shè)計是在訓(xùn)練模型前為保證充分利用圖片效率而設(shè)計。
特征金字塔消融實(shí)驗(yàn):為探究FPN對SSD精度準(zhǔn)度產(chǎn)生影響,本項目分別設(shè)置2組模型對照,一組為源SSD,一組基礎(chǔ)網(wǎng)絡(luò)改為ResNet101的SSD,另一組為添加FPN后的SSD,其余均和本項目相同。最后用AP和mAP作為評價指標(biāo)。
先驗(yàn)證框的消融實(shí)驗(yàn):調(diào)節(jié)先驗(yàn)框大小。本小節(jié)將設(shè)置不同取值的n,探究先驗(yàn)框大小對改進(jìn)SSD檢測模型準(zhǔn)度的影響。改進(jìn)SSD檢測模型首先固定經(jīng)驗(yàn)值最大為0.8,設(shè)置n∈{l,2,4,6},其余訓(xùn)練參數(shù)相同,進(jìn)行訓(xùn)練并測試。最后用AP、mAP、有效感受野匹配度作為評價指標(biāo)。
隨著深度學(xué)習(xí)的不斷深入研究,在模型設(shè)計上,逐漸形成一種以backbone層、neck層、head層3種框架展開工作。在任務(wù)上,逐漸從實(shí)驗(yàn)室單一的環(huán)境走向自然情況下復(fù)雜的背景。在應(yīng)用上,逐漸從常規(guī)物體走向特殊物體研究,并依據(jù)不同的物體衍生出不同的研究思路。
目標(biāo)檢測是機(jī)器視覺近年來研究的熱點(diǎn),學(xué)術(shù)界融入大量的優(yōu)秀算法。SSD算法在無論是在檢測速度上還是在檢測精度上都有一定的優(yōu)勢。雖然在小目標(biāo)上研究現(xiàn)狀比較少,但是未來必然是SSD算法的拓展延伸熱點(diǎn)。希望全面開展SSD算法在南疆駿棗黑斑病識別中應(yīng)用研究,同樣也期望在藍(lán)莓、葡萄等密集、小目標(biāo)的加工檢測上拋磚引玉。