鄭義姚,鄭力新
(福建華僑大學(xué)工學(xué)院,泉州362000)
中國(guó)是一個(gè)人口大國(guó),在這樣一個(gè)人口眾多的國(guó)家,糧食問(wèn)題已經(jīng)成為一個(gè)更值得關(guān)注的問(wèn)題,因此中國(guó)特別重視農(nóng)業(yè)生產(chǎn)。金針菇是現(xiàn)在最常見(jiàn)的一種菌類食品,好吃又有營(yíng)養(yǎng)。此外,金針菇具有寒性、咸味,有益肝、益胃腸、增智、抗癌、抗癌的作用。因此,我國(guó)對(duì)金針菇的需求量在不斷增加,但據(jù)中國(guó)食用菌協(xié)會(huì)統(tǒng)計(jì)[1]:2017 年食用菌總產(chǎn)量3712 萬(wàn)噸,2016 年超過(guò)3596.66 萬(wàn)噸,增長(zhǎng)3.21%。通過(guò)統(tǒng)計(jì)得出,前7 種菌類分別為:香菇(986.51 萬(wàn)噸)、黑木耳(751.85 萬(wàn)噸)、蠔菇(546.39 萬(wàn)噸)、雙孢蘑菇(289.52 萬(wàn)噸)、金針菇(247.92 萬(wàn)噸),2017 年毛霉菌(168.64 萬(wàn)噸)、杏菇(159.71 萬(wàn)噸)產(chǎn)量較2016 年下降7.12%。可以看出,在上述蘑菇分類中,金針菇的總產(chǎn)量排在第五位,并且有下降的趨勢(shì)。造成這種情況的緣由有兩個(gè):一是栽培的產(chǎn)出率,二是人工分類效率低。在金針菇分類中,工人首先要根據(jù)工人自身的經(jīng)驗(yàn)分析頭部和根部是否符合工廠的標(biāo)準(zhǔn),然后進(jìn)行分類,這需要處理大量的數(shù)據(jù)。因此,在分級(jí)階段,用機(jī)械操作代替人工分級(jí)將是金針菇生產(chǎn)的一大進(jìn)步。
在對(duì)金針菇進(jìn)行分類的過(guò)程中,工作人員首先分析金針菇的特性,然后判斷其是否符合要求。這樣的工作流程恰巧類似于當(dāng)今發(fā)展迅速的深度學(xué)習(xí)。深度學(xué)習(xí)不同于傳統(tǒng)的方法,通過(guò)自動(dòng)獲取大數(shù)據(jù)來(lái)反映數(shù)據(jù)差異的特點(diǎn),其分層處理方法類似于人類的視覺(jué)機(jī)制。卷積神經(jīng)網(wǎng)絡(luò)是模擬人腦的工作機(jī)制[2]。2012 年,Hinton 團(tuán)隊(duì)通過(guò)構(gòu)建CNN 網(wǎng)絡(luò)AlexNet 獲得ImageNet冠軍,該網(wǎng)絡(luò)結(jié)構(gòu)相對(duì)簡(jiǎn)單,擅長(zhǎng)小數(shù)據(jù)集[3]。然后,經(jīng)過(guò)幾代人的改進(jìn)和創(chuàng)新,出現(xiàn)了ZFNet、VGGNet、GoogleNet 和ResNet 等優(yōu)秀的神經(jīng)網(wǎng)絡(luò),VGG-16[4]率先證明了神經(jīng)網(wǎng)絡(luò)的深度對(duì)大規(guī)模數(shù)據(jù)精度的影響,而后續(xù)的神經(jīng)網(wǎng)絡(luò)大多是基于VGG-16 來(lái)去除或添加其他層。ResNet 提出了一個(gè)新的模塊,稱為“殘差塊”[5],它將網(wǎng)絡(luò)的深度提升到了一個(gè)新的高度,并且在網(wǎng)絡(luò)層數(shù)的加深上沒(méi)有過(guò)度擬合。接著,出現(xiàn)了許多目標(biāo)檢測(cè)模型,從R-CNN、Faster R-CNN、SSD、直到Y(jié)OLOv3、YOLOv4。
通過(guò)查詢發(fā)現(xiàn),Andreas Kamilaris 在《農(nóng)業(yè)的深度學(xué)習(xí):一項(xiàng)調(diào)查》中發(fā)現(xiàn),深度學(xué)習(xí)在農(nóng)業(yè)中的研究中有40 多種,并取得了良好的效果。如Jihen Amara 等人用CNN[6]對(duì)香蕉葉實(shí)行分類,準(zhǔn)確率達(dá)98.67%。Josef Haupt 使用ResNet-50 和2 個(gè)DenseNet201 網(wǎng)絡(luò)對(duì)大型植物進(jìn)行分類[7],Inkyu Sa 通過(guò)深度神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了對(duì)水果的測(cè)試[8]。雖然CNN 在很多方面都做得很好,但本文對(duì)金針菇的研究還存在幾個(gè)難點(diǎn):①金針菇屬于自然生長(zhǎng),形式多樣。一張金針菇圖像上可能存在幾十個(gè)金針菇頭,需要對(duì)金針菇頭部圖像進(jìn)行合適的特征提取。②數(shù)據(jù)集的收集。數(shù)據(jù)集對(duì)最終結(jié)果至關(guān)重要,需要收集數(shù)據(jù)集,但沒(méi)有公開(kāi)的金針菇數(shù)據(jù)集。本文基于深度學(xué)習(xí)的方法上,采用數(shù)據(jù)增強(qiáng)和遷移學(xué)習(xí)的方法來(lái)防止小數(shù)據(jù)集中可能出現(xiàn)過(guò)擬合的情況。在對(duì)圖像進(jìn)行預(yù)處理時(shí),對(duì)所有數(shù)據(jù)進(jìn)行歸一化處理,以防止仿射變換的影響,減小幾何變換的影響,同時(shí)加快梯度下降來(lái)求解最優(yōu)解。
圖1 金針菇菇頭示意圖
金針菇工廠采用4096×2160 像素的工業(yè)相機(jī)拍攝金針菇的頭部,并在背景上添加一張黑色的卡紙以消除其他背景因素的影響,省去了后期圖像處理部分對(duì)背景影響的考慮。將采集好的數(shù)據(jù)集按8:2 的比例分成訓(xùn)練集和測(cè)試集。如圖1 所示,金針菇菇頭大小差別較大,且水菇較多。
收集到的圖像尺寸為4096×2160,像素在0~255之間。對(duì)這些圖像進(jìn)行歸一化處理,將像素范圍轉(zhuǎn)換為0-1 之間。采用max 和min 值的方法對(duì)圖像實(shí)現(xiàn)規(guī)范化,轉(zhuǎn)化的公式如(1)所示:
在公式中,像素Y 代表經(jīng)過(guò)變換后的像素,像素X代表原始像素值,像素M 和L 分別是樣本像素的最大值和最小值。這種分配的目的是將多維表達(dá)式轉(zhuǎn)換成無(wú)量綱,以避免不同物理意義和維數(shù)的輸入變量的不平等使用和大數(shù)據(jù)對(duì)小數(shù)據(jù)的覆蓋。
為了得到更好的模型,需要進(jìn)行大量的訓(xùn)練以獲得足夠的訓(xùn)練參數(shù),從而提高模型的規(guī)范化程度。為此,本文采用數(shù)據(jù)增強(qiáng)[9],通過(guò)對(duì)訓(xùn)練圖像進(jìn)行隨機(jī)剪裁,得到4134 幅訓(xùn)練圖像,并將其像素放大到256×256,以解決數(shù)據(jù)集不足導(dǎo)致的過(guò)擬合問(wèn)題。
進(jìn)行預(yù)處理并且打好標(biāo)簽的數(shù)據(jù)集,分別放入YOLOv3[10]和YOLOv4[11]進(jìn)行訓(xùn)練,得到訓(xùn)練好的模型,使用測(cè)試集在模型上進(jìn)行測(cè)試,得到如表所示指標(biāo),可以看出YOLOv4 的準(zhǔn)確率比YOLOv3 的準(zhǔn)確率高2.1%,在檢測(cè)速度上快了0.3s,更適用于工業(yè)使用。YOLOv4 檢測(cè)的效果圖如圖2 所示,將大部分菇頭的都檢測(cè)出來(lái),效果明顯。
表1 四個(gè)評(píng)價(jià)指標(biāo)對(duì)比
圖2 檢測(cè)效果圖
如圖3 所示是根據(jù)檢測(cè)結(jié)果繪制的PR 圖,可以看出YOLOv4 在本數(shù)據(jù)集之下的檢測(cè)穩(wěn)定性和準(zhǔn)確性要高于YOLOv4,也進(jìn)一步證明了,YOLOv4 在金針菇頭部的檢測(cè)中的實(shí)用性。
圖3 YOLOv3和YOLOv4網(wǎng)絡(luò)Precision-Recall曲線
目前,將深度學(xué)習(xí)在應(yīng)用到農(nóng)產(chǎn)品中的實(shí)例較少,原因之一是大部分農(nóng)產(chǎn)品是在多種自然條件下生長(zhǎng)的,因此很難提取出有效的特征。另一個(gè)原因是數(shù)據(jù)集很難去收集,目前可用于農(nóng)產(chǎn)品的數(shù)據(jù)集較少,大部分需要根據(jù)具體要求進(jìn)行收集。本文根據(jù)對(duì)金針菇頭部的標(biāo)定,發(fā)現(xiàn)在YOLOv3 網(wǎng)絡(luò)上檢測(cè)的精度和速度優(yōu)秀一些,通過(guò)這樣的方法,可以實(shí)現(xiàn)金針菇頭部的檢測(cè),但由于對(duì)其他優(yōu)化算法的研究還不多,因此結(jié)果仍有很大的改進(jìn)空間。