常黎玫,丁學(xué)文,3,楊 旭,孫盼盼,蔡鑫楠,董國軍
(1 天津職業(yè)技術(shù)師范大學(xué) 電子工程學(xué)院,天津 300222;2 天津市高速鐵路無線通信企業(yè)重點實驗室,天津 300450;3 天津云智通科技有限公司,天津 300350)
植物是大自然基本資源,是食物、藥物的主要來源。植物作為大自然中的初級生產(chǎn)者,可以各種形式儲存能量,供生物界的能量需求,其在維持地球上的生物和物質(zhì)循環(huán)平衡中,起著不可代替的作用。如:植物為地球上的生物提供棲息地和生活場所;植物在水土保持和凈化生物圈的無機環(huán)境中起著不可或缺的作用;植物對于人類生產(chǎn)生活有著重要的經(jīng)濟地位,主要表現(xiàn)在藥用和食品方面,是人類生存的基本而又無法替代的部分。作為農(nóng)業(yè)大國,提高植物業(yè)和農(nóng)業(yè)生產(chǎn)需要大量植物的精細數(shù)據(jù)。因此,植物分類識別對于人類生產(chǎn)生活具有重要意義和作用。
隨著20 世紀(jì)計算機與人工智能技術(shù)的興起與發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測算法已逐漸代替?zhèn)鹘y(tǒng)的識別方法。深度學(xué)習(xí)的目標(biāo)檢測算法分為一階段(one-stage)目標(biāo)檢測算法和二階段(two-stage)目標(biāo)檢測算法。二階段目標(biāo)檢測算法以R-CNN[1]系列為代表,先使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)從圖像中提取出一些候選框,然后再對這些候選框進行逐一甄別,篩選出置信度高的候選框。該算法相當(dāng)于進行了兩次篩選,因此檢測的準(zhǔn)確率較高、計算量低,但檢測的速度較慢。一階段目標(biāo)檢測算法以YOLO 系列[2-5]和SSD[6]為代表,這種方法直接將圖像數(shù)據(jù)送入網(wǎng)絡(luò),提取一次特征,然后使用卷積神經(jīng)網(wǎng)絡(luò)將特征直接提取候選框,整個過程只要一步就可完成。因此,單階段目標(biāo)檢測的優(yōu)勢是檢測速度快。
近年來,國內(nèi)外研究者基于圖像處理和機器學(xué)習(xí)的植物識別進行了多方位的研究。如:文獻[7]中提出,將葉片形狀特征和紋理特征相結(jié)合,共提取了2 182 維特征,再使用線性評判分析與主成分分析相結(jié)合的方式,將葉片進行特征降維,降維后的訓(xùn)練集取得了不錯的識別結(jié)果。文獻[8]構(gòu)建了一種基于殘差連接的Alexnet 卷積神經(jīng)網(wǎng)絡(luò),對于多種植物葉片識別不準(zhǔn)、計算效率低等問題得到了明顯的改善和提升。文獻[9]在P1antCLEF 2016 比賽中發(fā)現(xiàn)使用微調(diào)的AlexNet、VGGNet 和GoogLeNet 模型來識別植物種類的方法優(yōu)于其它方法。文獻[10]將LBP、SURF 和HOG 3 種紋理特征單獨輸入到支持向量機分類器中對自建的草本植物數(shù)據(jù)集進行分類識別,結(jié)果表明HOG 和LBP 的識別性能優(yōu)于SURF[10]。
目前,葉片識別使用的很多模型都需消耗大量的計算資源,只能部署在服務(wù)器端,導(dǎo)致其普及性和實時性較差,所以對于葉片識別具有一定的局限性。而YOLO 神經(jīng)網(wǎng)絡(luò)模型由于其算法的改進性和遷移性強,在快速識別植物葉片和移動端部署上有著更好的表現(xiàn)和應(yīng)用前景。本文利用基于pytorch 框架的YOLOv5 中v5s 模型來訓(xùn)練植物葉片數(shù)據(jù),以滿足植物葉片識別的準(zhǔn)確性和高效性。
YOLOv5 是YOLO 系列不斷創(chuàng)新的一階段目標(biāo)檢測網(wǎng)絡(luò)。在YOLOv5 模型的代碼中,4 個版本的檢測網(wǎng)絡(luò)分別為:YOLOv5x、YOLOv5l、YOLOv5m、YOLOv5s,可以滿足不同量級的設(shè)備使用。其中,YOLOv5s 是該系列中深度最小,并且特征圖的寬度也是最小的網(wǎng)絡(luò)。YOLOv5 沿用了YOLOv4 的部分方法。例如:利用Mosaic 方法進行數(shù)據(jù)增強;針對不同數(shù)據(jù)集計算不同的初始先驗框(anchor)長寬比;在測試時,對原始圖片添加最少的邊框,以提高推理速度;改進損失函數(shù)Generalized Intersection over Union(GIOU)Loss 和預(yù)測框篩選的Distance-IoU(DIOU)_NMS 等等。
YOLOv5 網(wǎng)絡(luò)結(jié)構(gòu)由輸入端(Input)、Backbone、Neck、Prediction 組件組成,各部分完成的主要功能所述如下:
(1)Input:YOLOv5 沿用YOLOv4 中Mosaic 數(shù)據(jù)增強方式來豐富數(shù)據(jù)集,降低硬件需求,減少GPU 的使用。自適應(yīng)錨框計算功能被嵌入到整個訓(xùn)練代碼中,可自行調(diào)節(jié)開關(guān),自適應(yīng)圖片縮放,提高了推理階段目標(biāo)檢測的速度。
(2)Backbone:Focus 模塊是YOLOv5 特有結(jié)構(gòu),其中的關(guān)鍵是將特征圖進行分塊切片操作,之后經(jīng)過多層卷積池化、跨階段局部網(wǎng)絡(luò)(Cross Stage Partial Network,CSPNet)[11]和特征金字塔池化(Spatial Pyramid Pooling,SPP)[12]結(jié)構(gòu),將圖像特征傳遞到下一組塊。
(3)Neck:沿用了YOLOv4 的特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[13]和路徑聚合網(wǎng)絡(luò)(Perceptual Adversarial Network,PAN)[14]結(jié)構(gòu)。但不同的是,在YOLOv5 的Neck 結(jié)構(gòu)中,采用了借鑒CSPnet 設(shè)計的CSP2 結(jié)構(gòu),加強了信息傳播,具有準(zhǔn)確保留空間信息能力。
(4)Prediction:改進損失函數(shù)GIOU-Loss,可以將一些遮擋重疊的目標(biāo)準(zhǔn)確識別出來,進而能夠解決傳統(tǒng)IOU 存在的缺陷。
YOLOv5s 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。

圖1 YOLOv5s 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 YOLOv5s Network Structure Diagram
在YOLOv5 網(wǎng)絡(luò)中使用IoU系列損失函數(shù)中的CIoU loss來計算目標(biāo)框和預(yù)測框的邊界框損失(Box)。其中標(biāo)框和預(yù)測框的置信度損失(Objectness)與分類損失(Classification)則是使用二元交叉熵損失函數(shù)(Binary Cross Entropy loss,BCE loss)來計算。
(1)邊界框損失:

其中,IoU是預(yù)測框和目標(biāo)框兩個方框重疊面積與相并部分面積的比值;ρ為預(yù)測框和目標(biāo)框的中心點距離;v用來表示長寬比的相似度;α為v的影響系數(shù)。
(2)置信度損失與分類損失:

其中,y為真實標(biāo)簽,p(x)為模型輸出。
實驗選用10 種植物類別的葉片作為數(shù)據(jù)集,將實驗選用的樣本圖片按照3 ∶1 比例劃分訓(xùn)練集和測試集,其中部分植物葉片數(shù)據(jù)集如圖2 所示。樣本圖片尺寸均為416×416 分辨率,圖像背景純白無陰影。

圖2 部分植物葉片數(shù)據(jù)集Fig.2 Partial plant leaf dataset
由于訓(xùn)練數(shù)據(jù)集數(shù)量較小,網(wǎng)絡(luò)中使用了Mosaic 數(shù)據(jù)增強。隨機從葉片數(shù)據(jù)集中找出4 張圖片,通過隨機縮放、隨機裁剪、隨機分布的方式進行拼接,可以豐富葉片背景,也增加了很多小目標(biāo),如圖3 所示。送入網(wǎng)絡(luò)中訓(xùn)練,使得新圖片中可識別信息更加豐富,同時增強了網(wǎng)絡(luò)的魯棒性。

圖3 Mosaic 數(shù)據(jù)增強后葉片數(shù)據(jù)集Fig.3 Mosaic data enhanced with leaf dataset
本實驗軟件環(huán)境配置見表1,訓(xùn)練網(wǎng)絡(luò)為YOLOv5s 網(wǎng)絡(luò)。批尺寸(batch size)設(shè)置為8,迭代次數(shù)為300,初始學(xué)習(xí)率為0.01。

表1 實驗環(huán)境參數(shù)Tab.1 Experimental environmental parameters
訓(xùn)練時記錄下邊界框損失(Box)、置信度損失(Objectness)和分類損失(Classification),可以檢查是否存在過擬合現(xiàn)象;也可以通過對方框、目標(biāo)檢測以及分類效果進行觀測,來設(shè)置合適的參數(shù)閾值。上述3 種損失均值越小,訓(xùn)練越精準(zhǔn),識別越準(zhǔn)確,訓(xùn)練效果越好。
評價一個模型性能的好壞在于評估指標(biāo)的真實性,本文選取精準(zhǔn)率(Precision)、召回率(Recall),以及目標(biāo)檢測算法中衡量算法效果的指標(biāo)全類平均準(zhǔn)確率(Mean Average Precision,mAP)作為評估指標(biāo)。其中,Precision和Recall可以清晰反映出網(wǎng)絡(luò)對識別對象的錯誤識別和沒有識別到的情況。其計算公式如下:

式中,TP是樣本的真實類和預(yù)測結(jié)果一樣是正例數(shù)量;FP是樣本的真實類別是負例,但預(yù)測結(jié)果是正例的數(shù)量;FN是樣本的真實類別是正例,但預(yù)測結(jié)果是負例的數(shù)量。
全類平均精度mAP,是將所有類別檢測的平均正確率(AP)進行綜合加權(quán)平均而得到,其值也可用Precision和Recall作為兩軸作圖后所圍的面積來表示。
使用YOLOv5s 網(wǎng)絡(luò)的訓(xùn)練損失率和驗證損失率都較為平滑,模型擬合效果較好。如圖4 所示。

圖4 葉片訓(xùn)練集損失Fig.4 Leaf training set loss
訓(xùn)練后模型的Precision、Recall、mAP@0.5 的結(jié)果如圖5 所示。

圖5 模型性能評估指標(biāo)Fig.5 Model Performance Evaluation Metrics
由圖中指標(biāo)可以看出,Precision和Recall在epoch200 次以后波動幅度不大,mAP@0.5 基本穩(wěn)定在93%,說明訓(xùn)練效果較好。
基于YOLOv5 網(wǎng)絡(luò)訓(xùn)練后生成的best 模型,使用本實驗訓(xùn)練集進行識別測試,部分結(jié)果如圖6 所示。對于目標(biāo)葉片類別能夠準(zhǔn)確的進行分類,且有較高的識別率。

圖6 YOLOv5 部分識別結(jié)果Fig.6 Partial recognition results of YOLOv5
本論文針對植物葉片識別檢測任務(wù),構(gòu)建10 種植物類型數(shù)據(jù)集,通過將原始葉片圖像數(shù)據(jù)集隨機縮放、隨機裁剪、隨機分布進行拼接,再進行鏡像反轉(zhuǎn)操作,來增強數(shù)據(jù)集并提高網(wǎng)絡(luò)魯棒性;使用基于Pytorch 框架的YOLOv5 網(wǎng)絡(luò)模型,對葉片識別精度有較高提升,與傳統(tǒng)人工植物葉片識別方法相比工作量大大縮減,葉片識別效率和準(zhǔn)確率較高,網(wǎng)絡(luò)模型可部署性強,可以滿足植物學(xué)相關(guān)人員實時識別植物的要求,并減少在葉片識別中所需要的各方面成本。