陸澤楠 孫松麗 朱文旭
摘要:隨著農業機械化水平的不斷提高,分類機器人逐漸步入農業生產中。本文以深度學習理論為基礎,將神經網絡與機器視覺相結合,提出了基于yolov3模型的梨實時分類方法,分類平均準確率達到98.7%,并準確得出相對坐標位置,為分類機器人提供良好抓取點。該分類方法具有良好的泛化能力和實時性,農業生產自動化提供良好平臺。
Abstract: With the continuous improvement of the level of agricultural mechanization, classification robots have gradually entered agricultural production. Based on deep learning theory, this paper combines neural network and machine vision, and proposes a real-time pear classification method based on yolov3 model. The average classification accuracy rate reaches 98.7%, and the relative coordinate position is accurately obtained, which provides a good grasp for the classification robot grab points. The classification method has good generalization ability and real-time performance, and provides a good platform for agricultural production automation.
關鍵詞:梨;分類識別;深度學習;yolov3;自動化
Key words: pear;classification recognition;deep learning;yolov3;automation
中圖分類號:TP24? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2020)14-0280-03
0? 引言
隨著農業機械化水平的不斷提高,分類機器人逐漸步入農業生產中。梨實時識別技術是分類機器人的重要組成部分,主要依靠計算機視覺完成。由于自然環境下光照、相簇梨等干擾因素的差異,傳統識別方法難以滿足該條件下的識別泛化性和實時性。近年來,深度學習作為人工智能的重要算法,在計算機視覺領域引起了突破性的變革。在深度學習模型下進行梨的分類識別,不僅準確率得以大幅提升,而且單次識別時間能達到0.01ms以下,滿足生產需求。
1? 數據集的準備與制作
1.1 原始圖片的采集
本文針對不同環境下的成熟梨果實進行實時識別研究,圖像樣本采集自果園及部分網站,采集環境基于不同天氣條件、不同光照條件等,對不同果實狀態和不同果實大小的梨果實進行圖像采集,結合爬蟲得到的部分圖片,共采集原始圖片1630張,并從中隨機選擇1300張作為原始訓練集,230張作為原始測試集,100張作為驗證集。
1.2 數據集的制作
首先,對實地采集的樣本進行圖像預處理,其中,為了降低卷積操作帶來的巨大運算量,提高訓練速度,通過opencv雙線性插值法將所有樣本的分辨率降低為416×416,為了提高對逆光等極端光照條件下的柑橘特征學習能力,對該環境下的原始訓練樣本采用自適應直方圖均衡化處理,部分低質量圖像進行舍棄。其次,數據擴增可以提高識別模型的魯棒性與泛化性,本文對隨機抽取的部分原始訓練樣本和原始測試樣本進行水平、垂直和對角鏡像,以及±45°旋轉操作。最后,對擴增后的訓練集和測試集中的柑橘果實進行特征框標注,標注軟件為Colabeler,其中,對于像素面積低于20×20、被遮擋重疊區域面積大于40%的梨果實不做標注,對存在多個果實的圖像進行依次標注,驗證樣本不做標注。圖片處理流程如圖1所示。
經過圖像預處理、數據擴增和樣本標注等操作,獲得試驗所需的訓練集、測試集和驗證集,具體信息如表1所示。
1.3 分類識別模型
目前目標檢測領域的深度學習方法主要分為兩類:two stage的目標檢測算法;one stage的目標檢測算法。two stage是先由算法生成一系列作為樣本的候選框,再通過卷積神經網絡進行樣本分類,此類典型算法有R-CNN系列(R-CNN、Fast R-CNN、Faster R-CNN)。one stage則不用產生候選框,直接將目標邊框定位的問題轉化為回歸問題處理,這種端對端的算法結構的檢測速度大于前者,此類典型算法有YOLO系列和SSD系列。正是由于兩種方法的差異,在性能上也有不同,前者在檢測準確率和定位精度上占優,后者在算法速度上占優。
考慮目標檢測的實時性及分類精度的需求,本文選用yolov3模型作為梨實時識別的基礎模型,并對其改進。
2? 試驗與分析
2.1 試驗平臺
本試驗平臺主要配置為:Nvidia Geforce RTX2060 6G GPU,Intel corei7-9700k CPU,16GB RAM,Ubuntu16.04操作系統,Python3.6.0語言,CUDA10.0并行計算架構,Cudnn9.1深度神經網絡加速庫,Darknet深度學習框架。
2.2 模型參數配置
通過在性能與速度兩方面對比tiny darknet與Darknet-53,本文采用Darknet-53作為整體模型的backbone網絡。遷移學習可以降低模型訓練時的過擬合問題和計算量,因此,為加快梯度的收斂速度,獲得低泛化誤差的初始模型,本文采用darknet53.conv.74預訓練模型作為本試驗的初始權重模型。Darknet-53框架下yolov3識別模型如圖2所示。
yolov3識別模型的總損失函數包括定位損失(bbox預測)、置信度損失(confidence_loss)以及類別預測損失三部分。可表示為:
xy_loss = K.sum(xy_loss)/mf
wh_loss = K.sum(wh_loss)/mf
confidence_loss = K.sum(confidence_loss)/mf
class_loss = K.sum(class_loss)/mf
loss += xy_loss + wh_loss + confidence_loss + class_loss
本文采用修改后的yolov3-pear.cfg訓練優化算法:初始學習率為0.08,權重衰減正則系數為0.0005,學習率策略為steps,學習率變動步長為30000,學習率變動因子0.1。批處理大小為32,動量項為0.9,最大迭代步數為50000,每迭代10000次保存一次訓練模型。訓練過程的損失圖如圖3所示,采用遷移學習方法,損失值快速收斂于0.1~0.2之間。
2.3 試驗評價指標
通過采集訓練過程中的輸出參數:Region Avg IOU、Class、Obj、No Obj、.5R、.75R、count等,對其進行可視化分析,作為試驗試驗評價指標。其中交并集之比IOU(Intersection over Union)一個衡量模型檢測特定的目標好壞的重要指標,其定義為:IOU = Area of Overlap/Area of Union。本試驗IOU結果如圖4所示,最終趨于0.9~0.95之間,說明矩形框跟目標重合度較高,符合要求。
通過試驗分析,選擇輸出模型yolov3-pear_30000.weights作為最終模型,將驗證集輸入到模型中,驗證識別性能。以下是部分識別結果,其分類精準度高,并準確輸出坐標信息。
[('circle',0.9996659755706787,(248.02967834472656,
241.03109741210938,303.18804931640625, 275.822021484
375))];
[('long',0.9999970197677612,(433.10748291015625,414.2
956848144531,816.3567504882812, 724.862060546875))]
2.4 結果分析
將驗證集的圖像樣本輸入到訓練所得的yolov3-pear_30000.weights模型中,定性分析模型的分類識別性能。針對不同果實狀態、不同大小果實、不同光源條件等環境下的果實識別結果如圖5所示,取得了較好的效果,但也呈現出該模型對小目標識別的不足,可能有以下原因造成:①針對小目標學習的樣本量不足;②本試驗將被遮擋重疊面積超過40%的果實目標放棄標注。
3? 結論
本文采用深度學習理論對梨果實分類識別展開了研究,通過修改后yolov3模型進行訓練試驗,并進行驗證,結果表明:在Darknet-53網絡下,使用yolov3-pear.cfg訓練優化算法能得到分類能力較高的模型yolov3-pear_30000.weights,并在最終分類使用中擁有較好的實時性和準確性,為分類機器人的分類抓取提供了良好的前提。
參考文獻:
[1]徐東云.耕種規模與農機具的使用狀況探析[J].價值工程,2012,31(30):313-315.
[2]陳林求忠.論如何加強農機的安全管理[J].農業開發與裝備,2020(03):43.
[3]朱雪慧.機械化助推藜麥產業發展探討——以天祝藏族自治縣為例[J].南方農機,2020,51(05):4,6.