張三林,張立萍,鄭威強,郭壯,付子強
(新疆大學機械工程學院,烏魯木齊市,830047)
新疆南疆地區日照時間長、積溫高,有利于核桃的生長,是我國重要的核桃生產地。當地的核桃以農戶小規模零散種植為主,造成核桃品種混亂的局面[1]。不同品種的核桃混在一起,不僅會決定核桃加工的方式,更重要的是會影響核桃品質和核桃利用價值,所以在加工之前對核桃的分揀成為了一項必不可少的工作。目前,南疆地區核桃的分揀工作仍然以傳統的人工方式為主,勞動強度大、生產效率較低,耗費了大量的財力和人力,不利于當地核桃產業的發展。
隨著人工智能技術的快速發展,用機器代替人工作成為一種趨勢。采用機器人自主分揀可大大減輕勞動壓力,提高工作效率,有利于推動當地核桃產業的機械化發展。核桃品種的準確識別和精準定位是機器人完成自主分揀的基礎和前提,目前國內外已有眾多學者對果實的檢測研究取得了很大的進展。如Ji等[2]利用SVM分類器對蘋果種類進行識別,可以達到89%的準確率;Hussin等[3]利用Hough變換對柑橘進行檢測;馬翠花等[4]通過改進Hough變換對未成熟的番茄進行識別,檢測精度為77.6%。以上方法都需要基于其顏色、紋理、形狀等特征人為地構建特征提取器來提取特征,需要耗費人們大量的精力與時間,對專業領域知識要求極高,并且時常出現檢測效果不佳、泛化能力差、檢測效率難以達到實時檢測水平等問題。
自2012年AlexNet奪得ImageNet競賽冠軍以后,以多層卷積網絡為特征提取器的深度學習模型在計算機視覺領域大放異彩。此類方法不再需要人為構造特征提取器,且提取效率高,泛化能力強,在果實檢測方面得到廣泛應用。如Sa等[5]借助Faster-RCNN 檢測算法構建甜椒檢測系統;薛月菊等[6]采用YOLOv2方法在復雜背景下對未成熟的芒果進行識別;趙德安等[7]將YOLOv3算法應用于對蘋果的采摘;李善軍等[8]基于SSD檢測算法對柑橘進行實時分類檢測;成偉等[9]基于改進的YOLOv3對溫室番茄進行識別。基于深度學習的目標檢測算法在果實檢測方面應用廣泛,但是還沒有將此類算法用于核桃品種與定位的相關研究。不同品種核桃之間外觀相似、顏色相近,對核桃的檢測造成巨大挑戰。為實現對傳送帶上不同品種的核桃進行快速識別與精準定位,提出一種基于YOLOv5的核桃檢測方法。研究結果可為機器人自主分揀核桃提供研究基礎。
本試驗以南疆主要生產的3種核桃為樣本,自制了一個核桃數據集。三種核桃依次是新2核桃、新光核桃和溫185核桃。為模擬真實工廠環境,以黑色傳送帶為背景,考慮了相互遮擋、不同光照、不同角度以及不同密集度等情況,進行多角度拍攝,拍攝圖像尺寸為4 032像素×3 024像素,獲得符合試驗條件的圖像共500張,保存格式為JPG。
基于深度學習的目標檢測算法需要大量的標注樣本才能獲得良好的性能。試驗利用Labelme標注工具對樣本進行標注,為了增加數據集的大小和樣本的多樣性,減少模型訓練的過擬合現象,對樣本依次進行有監督的模糊處理、隨機裁剪、添加噪聲、隨機擦除、翻轉、亮度變換和銳化處理等操作將數據集擴充到4 000張,按照8∶1∶1的比例劃分,最終得到訓練集3 200張、驗證集400張,測試集400張。
YOLOv5目標檢測算法是YOLO[10]的第5個版本,其核心思想是將整張圖作為網絡的輸入,在輸出層直接回歸出目標的位置坐標和類別,其特點是檢測精度高、檢測速度快,滿足實時監測的需求。
YOLOv5網絡有4個版本,依次是YOLOv5s、YOLOv5 m、YOLOv5l和YOLOv5x,其網絡結構相似,網絡深度和特征圖的寬度在YOLOv5s的基礎上依次增加,其精度和推理速度隨之變化,本文以基礎的YOLOv5s網絡為主,其結構圖如圖1所示,介紹YOLOv5目標檢測算法。
YOLOv5s網絡模型在輸入端共進行三個主要操作,分別是Mosaic數據增強、自適應錨框計算和自適應圖片縮放。其中Mosaic數據增強有利于檢測小目標,適用于本文對核桃這種小目標的檢測。自適應圖片縮放操作將不同尺寸的圖片固定為640像素×640像素作為輸入。YOLOv5s模型在訓練不同數據集時,可自適應計算出所用數據集的初始錨框,所計算出的本文數據集的初始錨框為[74,77,86,79,96,86]、[84,92,95,96,99,107]、[106,95,111,111,124,125],這極大地簡化了網絡的訓練過程。
在主干網絡中,YOLOv5s主要采用了Focus結構和CSP結構。其中Focus結構是YOLOv5s網絡提出來的,其目的是在下采樣的時候防止信息的丟失。在本文中,Focus結構將輸入的640像素×640像素×3通道的圖像變為320像素×320像素×32通道的特征圖。CSP結構是借鑒了CSP網絡[11]的思想,其目的是通過局部跨層融合來獲取更豐富的特征圖且減少了計算量,在YOLOv5s網絡中設計了兩種CSP結構,如圖1所示,依次是CSP1_X和CSP2_X。

圖1 YOLOv5s網絡結構
特征融合階段主要借鑒了PANet[12]的思想,采用FPN+PAN結構。FPN結構是采用上采樣的方式,由上而下的方式進行特征信息融合,而PAN結構采用自底向上的金字塔結構,利用下采樣的方式進行特征信息融合,具體結構如圖2所示。

圖2 FPN+PAN結構
預測輸出端延續了YOLO之前的思想,同時輸出三個尺度的預測圖,分別適用于檢測小、中、大目標。YOLOv5s在預測時最大的改變是將GIOU_Loss[13]作為損失函數,替換了YOLOv3中的IOU_Loss,解決了后者不能優化兩個邊界框不相交的情況。
本次試驗運行環境的CPU為英特爾?酷睿TMi7-10700K,3.8 GHz,GPU為英偉達RTX2080TI,顯存為11 G,運行內存為64 G,操作系統為Ubuntu18.4,加速環境為CUDA10.1,編程語言為Python3.7,深度學習框架為Pytorch1.7。
本文采用目標檢測算法中的多項指標對YOLOv5s算法的性能進行評估,其具體評估指標包括精確度(P)、召回率(R)、平均精度均值(mAP)、調和平均值(F1)以及單幅圖像檢測耗時,其中mAP值和單幅圖像檢測耗時是目標檢測算法中最重要的評估指標,衡量了檢測算法的精度與速度。精確度P、召回率R、平均精度均值mAP以及調和平均值F1的計算表達式如式(1)~式(4)所示。
(1)
(2)
(3)
(4)
式中:TP——真正樣本數量;
FP——假正樣本數量;
FN——假負樣本數量;
N——樣本中種類數量。
網絡模型訓練階段,將總迭代周期設置為300,迭代批次大小值設置為8。動量因子是影響梯度下降的重要參數,本試驗設置為0.9。學習速率過大,可能會造成網絡無法收斂,學習率過小,會造成網絡收斂速度過慢,因此本試驗將學習速率設為0.001。為防止過擬合,本試驗將權值衰減系數設為0.000 5,將置信度閾值設為0.5,非極大抑制閾值設為0.3,如表1所示。訓練過程中,損失值和平均精度值隨迭代周期變化情況如圖3所示。

表1 訓練參數

(a) 損失函數值變化曲線
模型在前50個迭代周期中,損失值迅速下降至0.03左右,同時mAP值急速上升,快速升至80%左右,在第50至250個迭代周期之間,損失值下降逐漸平緩,逐漸接近于0.02,mAP值上升緩慢,逐漸接近于99%,在第250個迭代周期之后,損失值趨于穩定,保持在0.02左右,同時mAP值也趨于穩定,保持在99%左右,因此認為模型達到穩定收斂。
將訓練好的模型在測試集上測試,結果如表2所示。

表2 模型檢測結果
由模型測試結果可知,該模型對新2核桃的檢測精確度高達99.1%,且召回率高達96.5%,因此該模型對新2核桃檢測的平均精度值(AP)高達99.5%,調和平均值為97.8%,而該模型對新光和溫185核桃檢測的AP值分別為98.4%和97.1%,調和平均值分別為94.2%和92.2%。由結果可知,該模型對新2核桃的檢測效果是最佳的。這是由于新2核桃的外形相較于新光核桃和溫185核桃呈明顯的長橢圓狀,表面更光滑,因此更容易識別,而新光核桃和溫185核桃外觀均呈圓球狀,表面紋理特征相近,因此對識別造成干擾,造成檢測效果相對較低的結果。但是該模型對三種核桃檢測的平均精度均值(mAP)高達98.3%,且單幅圖檢測僅耗時7 ms,在快速檢測的同時保持了高精度水平。
為了進一步驗證本研究所提出方法的性能,用該模型與其他基于深度學習的主流目標檢測算法進行對比試驗,其中包括屬于單階段目標檢測算法的YOLOv3[14]和YOLOv4[15],也包括屬于雙階段目標檢測算法的Faster RCNN[16],在相同的數據集和實驗環境下,各算法的試驗結果如表3所示。

表3 算法性能對比
由試驗結果可知,YOLOv5算法的單幅圖檢測耗時僅為7 ms,比Faster RCNN算法快了7倍,且模型大小僅為14.4 MB,為YOLOv4算法的1/14,在本研究制作的數據集上訓練時間僅為14.67 h,是所有對比算法中用時最短的,且YOLOv5算法的平均精度均值為98.3%,是所有對比算法中最高的。
本文選擇的YOLOv5算法與所有對比算法中mAP值最高的YOLOv4算法在不同條件下的檢測效果圖如圖4~圖7所示(圖上的數值為置信度)。通過對比可以看出,在不同條件下,YOLOv5算法的整體置信度是高于YOLOv4的。在相互遮擋情況下,YOLOv4不僅置信度偏低,甚至出現了漏檢的情況,雖然 YOLOv5檢測結果的置信度有所降低,但是沒有出現漏檢、誤檢的情況。在不同尺度和不同視角下,YOLOv4均出現了誤檢的情況,如圖7、圖8所示,而YOLOv5不僅沒有出現漏檢、誤檢的情況,且保持了較高的置信度。

(a) YOLOv4

(a) YOLOv4

(a) YOLOv4
綜上所述,無論是平均精度均值還是檢測速度,本文選擇的YOLOv5目標檢測算法在所有對比算法中都是最優的,可以對不同品種的核桃進行準確的識別與定位,且模型占用內存最小,訓練時間較短,更適合本研究對核桃進行實時性檢測的需求。
1) 針對機器人自主分揀核桃工作中對核桃實時檢測的需求,本文研究了基于YOLOv5目標檢測算法對不同品種核桃檢測的方法。通過建立以南疆主產的新2、新光及溫185核桃的數據集對YOLOv5s模型進行訓練與測試。該模型對新2、新光及溫185核桃檢測的mAP值分別為99.5%、98.4%和97.1%,單幅圖像的檢測時間為7 ms,可以達到對核桃實時檢測的需求。
2) 為驗證本文選擇模型的性能,本文與其他主流的目標檢測算法進行了對比試驗,結果表明,本文選擇的YOLOv5s算法的檢測精度最高、檢測速度最快、訓練時間較短且模型的占用內存最小,更適合本研究的檢測需求。
3) 綜上所述,本文選擇的YOLOv5目標檢測算法滿足對核桃的實時性檢測需求,該研究可為對動態核桃自主分揀研究提供研究基礎,為機器人實現自主分揀核桃以及核桃產業的自動化發展具有推動意義。