国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于YOLOv3算法與3D視覺的農(nóng)業(yè)采摘機器人目標(biāo)識別與定位研究*

2022-12-02 06:03:58高帥劉永華高菊玲吳丹姬麗雯
中國農(nóng)機化學(xué)報 2022年12期
關(guān)鍵詞:標(biāo)定像素定位

高帥,劉永華,高菊玲,吳丹,姬麗雯

(1. 江蘇農(nóng)林職業(yè)技術(shù)學(xué)院,江蘇鎮(zhèn)江,212400; 2. 江蘇省現(xiàn)代農(nóng)業(yè)裝備工程中心,江蘇鎮(zhèn)江,212400)

0 引言

隨著工業(yè)化和城鎮(zhèn)化的不斷發(fā)展,從事直接農(nóng)業(yè)勞動人口開始不斷減少,此外人口老齡化也已成為不可避免的事實,這一切都導(dǎo)致農(nóng)業(yè)勞動力成本持續(xù)上升,因此后工業(yè)化時期農(nóng)業(yè)機械化逐漸向智能化發(fā)展[1]。而農(nóng)業(yè)采摘是最費勞動力、最難實現(xiàn)智能化作業(yè)的環(huán)節(jié),農(nóng)業(yè)采摘機器運行環(huán)境復(fù)雜,不確定環(huán)境因素較多,對農(nóng)業(yè)采摘目標(biāo)的準(zhǔn)確識別和精準(zhǔn)定位是實現(xiàn)機器人采摘的重要前提[2-4]。隨著3D視覺技術(shù)的發(fā)展,賦予了農(nóng)業(yè)機器類似人眼一樣的視覺功能,研究人員在采摘蘋果[5]、番茄[6]、草莓[7]、櫻桃番茄[8]等果蔬領(lǐng)域展開了一系列的研究,且開發(fā)了相應(yīng)的農(nóng)業(yè)采摘機器人,但目前尚未有成熟應(yīng)用的商業(yè)案例,還需進一步優(yōu)化算法結(jié)構(gòu),提高果實目標(biāo)的識別與定位精度。

基于視覺的目標(biāo)識別方法經(jīng)歷了傳統(tǒng)數(shù)字圖像處理技術(shù)、機器學(xué)習(xí)的圖像分割技術(shù)和分類器以及深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)算法[9]。傳統(tǒng)數(shù)字圖像處理技術(shù)依靠采集圖像的顏色、紋理和形狀或者多個特征的融合。機器學(xué)習(xí)的圖像分割技術(shù)和分類器通過擬定訓(xùn)練方法,對輸入輸出進行評估預(yù)測,如王瑾等[10]提出一將AdaBoost分類器和顏色特征分類器相結(jié)合用于番茄采摘機器人的目標(biāo)識別方法;李寒等[11]提出一種基于RGB-D圖像和K-means優(yōu)化的算法來進行果實的識別與定位,有著較強的準(zhǔn)確性和魯棒性。

由于農(nóng)業(yè)采摘機器人容易受到采摘目標(biāo)形狀不同、大小不同、外界影響環(huán)境復(fù)雜的影響,傳統(tǒng)目標(biāo)識別方法準(zhǔn)確率和定位精度效果并不理想,而深度學(xué)習(xí)具有很強的學(xué)習(xí)能力,受環(huán)境干擾程度比較小,特別是深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)算法已經(jīng)被廣泛應(yīng)用于果實的檢測識別與定位領(lǐng)域。近年來已經(jīng)出現(xiàn)AlexNet網(wǎng)絡(luò)模型[12]、Fast RCNN深度卷積神經(jīng)網(wǎng)絡(luò)[13]、Mask RCNN網(wǎng)絡(luò)模型[14]、SDD網(wǎng)絡(luò)模型[15-16]、YOLO模型[17-18]等算法用于農(nóng)業(yè)機器人的采摘,但各種算法不具備通用性,對每種采摘對象的識別和定位能力也不相同,這也進一步制約了農(nóng)業(yè)機器人的發(fā)展。本文以番茄為研究對象,提出一種改進的YOLOv3卷積神經(jīng)網(wǎng)絡(luò)算法與3D視覺技術(shù)相結(jié)合的方法,實現(xiàn)農(nóng)業(yè)采摘機器人目標(biāo)的準(zhǔn)確識別和精準(zhǔn)定位,并與之前的YOLOv3算法、Fast RCNN算法和Faster RCNN算法進行綜合比較,對于農(nóng)業(yè)采摘機器人的識別定位發(fā)展具有重大意義。

1 目標(biāo)識別算法

基于卷積神經(jīng)網(wǎng)絡(luò)的YOLOv3算法,不同于以往的YOLO算法,YOLOv3算法是YOLO算法的改進版本,它采用了殘差模型,去除了池化層,使用Darknet-53(包含53個卷積層)進行特征圖像的提??;同時YOLOv3算法采用了FPN架構(gòu),使得網(wǎng)絡(luò)架構(gòu)更深,可以實現(xiàn)目標(biāo)的多尺度檢測,檢測精度進一步得到提升[19]。

YOLOv3算法主要由卷積層、Darknet-53結(jié)構(gòu)、Res層和YOLO層組成[20-21],網(wǎng)絡(luò)結(jié)構(gòu)流程如圖1所示,其中Conv代表卷積、Res代表殘差塊、CBL代表Conv與批量正則Leaky ReLU激活函數(shù)的合成。YOLOv3算法的基本流程是通過Darknet-53結(jié)構(gòu)將輸入圖片(416像素×416像素)輸出成最小尺度(13像素×13像素)、中尺度(26像素×26像素)、最大尺度(52像素×52像素)的特征圖,運用Logistic Regression算法將3組9個先驗框進行線性回歸求解,并將置信度最高分作為圖像的最終預(yù)測結(jié)果輸出。

置信度反映了目標(biāo)落在特定框區(qū)域的真實性程度,判斷公式如式(1)所示。

(1)

式中:score——置信度的置信值;

Pr(Object)——預(yù)測框訓(xùn)練樣本的概率;

IOU——候選框與原標(biāo)記框的交疊率。

圖1 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)示意圖

作為對誤檢測樣本懲罰的依據(jù),YOLOv3算法損失函數(shù)對檢測精度的影響至關(guān)重要。YOLOv3算法損失函數(shù)主要包括目標(biāo)坐標(biāo)預(yù)測的損失、預(yù)測框置信度的損失和分類的損失。

Lcoord=λxyδ(x,y)+λwhδ(w,h)

(2)

Lconf=λconfδ(conf)

(3)

Lclass=λclassδ(class)

(4)

Loss=Lcoord+Lconf+Lclass

(5)

式中:Loss——YOLOv3總損失;

Lcoord——目標(biāo)坐標(biāo)預(yù)測的損失;

Lconf——預(yù)測框置信度的損失;

Lclass——分類的損失;

λxy——中心誤差權(quán)重系數(shù);

λwh——寬高誤差權(quán)重系數(shù);

λconf——置信度誤差權(quán)重系數(shù);

λclass——分類誤差權(quán)重系數(shù);

δ(x,y)——預(yù)測邊界框中心坐標(biāo)(x,y)的誤差函數(shù);

δ(w,h)——預(yù)測邊界框?qū)抴和高h(yuǎn)的誤差函數(shù);

δ(conf)——預(yù)測置信度的誤差函數(shù);

δ(class)——目標(biāo)物體類別的誤差函數(shù)。

提出的改進YOLOv3算法是以YOLOv3算法為基本結(jié)構(gòu),在YOLOv3第一級檢測之前加上一個SPP模塊,通過改進模型可以實現(xiàn)小目標(biāo)的精準(zhǔn)識別,降低漏檢率。SPP模塊是由3個不同尺度的最大池化層組成的結(jié)構(gòu),如圖2所示。其中Maxpool代表最大值池化,/1代表步長stride=1。

圖2 SPP模塊示意圖

2 目標(biāo)識別定位

2.1 目標(biāo)識別定位系統(tǒng)

目標(biāo)識別定位系統(tǒng)主要包含3D圖像采集軟件和遠(yuǎn)程動作執(zhí)行軟件,采用3D視覺相機里的深度相機獲取采摘對象的立體信息,同時通過主相機獲取空間顏色信息,通過計算機的圖像識別與3D位置數(shù)據(jù)分析后,可以實現(xiàn)快速立體定位采摘對象。3D圖像采集主要是顯示作業(yè)實時采集圖像,在相機計算機中運行,如圖3(a)所示;遠(yuǎn)程執(zhí)行軟件主要是進行算法的選擇、相機坐標(biāo)標(biāo)定、圖像處理、機械臂手動測試、手動與自動目標(biāo)識別與定位等功能,在客戶端計算機中運行,如圖3(b)所示。

農(nóng)業(yè)采摘機器人3D視覺相機采用MYNTAI 3D雙目視覺相機,位于整機上部,并可在空間范圍內(nèi)實現(xiàn)多角度的無級調(diào)整,利用視覺識別信息指導(dǎo)機器人進行行駛路線規(guī)劃和尋找采摘目標(biāo)的識別與定位功能。3D視覺相機的主要參數(shù)如表1所示。

(a) 3D圖像采集軟件

(b) 遠(yuǎn)程動作執(zhí)行軟件

表1 相機主要參數(shù)Tab. 1 Camera main parameters

2.2 目標(biāo)坐標(biāo)轉(zhuǎn)換

由于3D視覺相機視野中捕獲目標(biāo)物體的坐標(biāo)系與機器人坐標(biāo)系不一致,它們各自的坐標(biāo)沒有聯(lián)系,所以為了使兩者坐標(biāo)系形成關(guān)聯(lián),以便引導(dǎo)機器人進行采摘,故需要將相機的坐標(biāo)系變換到機器人坐標(biāo)系中,即進行標(biāo)定。要完成農(nóng)業(yè)采摘機器人與物體的坐標(biāo)變換標(biāo)定,需要一個4×4的矩陣,這個矩陣包含著一個旋轉(zhuǎn)矩陣(3×3)和一個平移矩陣(1×3),主要步驟如圖4所示。

步驟1:選擇標(biāo)定點:選擇四個差異化的標(biāo)定點,比如遠(yuǎn)近位置各不相同,同時又應(yīng)該在相機的拍攝范圍和機械臂的可采摘范圍之內(nèi)。

步驟2:目標(biāo)圖像采集:確保機器人在采摘初始位置,相機在初始采摘位置拍照。

步驟3:記錄像素坐標(biāo):根據(jù)3D視覺相機拍攝照片,標(biāo)定出目標(biāo)位置的x,y,z的value值。

步驟4:記錄世界坐標(biāo):利用示教器遙控機械臂到當(dāng)前標(biāo)定點所在的果實位置,記錄下示教器的位置X,Y,Z的value值。

步驟5:相機標(biāo)定數(shù)據(jù):重復(fù)步驟3和步驟4,記錄下四個標(biāo)定點的相機像素坐標(biāo)、機器人世界坐標(biāo),得到相機標(biāo)定數(shù)據(jù),將標(biāo)定數(shù)據(jù)填入農(nóng)業(yè)采摘機器人軟件平臺中,點擊生成變換矩陣,至此完成兩個坐標(biāo)系的轉(zhuǎn)換。

(a) 選擇標(biāo)定點 (b) 目標(biāo)圖像采集

(c) 記錄像素坐標(biāo) (d) 記錄世界坐標(biāo)

3 試驗與結(jié)果分析

為驗證基于改進YOLOv3算法與3D視覺的目標(biāo)識別與定位系統(tǒng)的可靠性和優(yōu)越性,本文對其進行了模型訓(xùn)練和測試。所用計算機的CPU型號為Inter Core i7-10700,CPU頻率為2.9 GHz,性能級獨立顯卡,顯卡芯片為AMD Radeon RX 550X,內(nèi)存容量為16 G,操作系統(tǒng)為Windows 10 64位簡體中文版,開發(fā)語言為python。

3.1 模型訓(xùn)練分析

目標(biāo)圖像數(shù)據(jù)采集在江蘇農(nóng)博園番茄溫室進行,為了保證樣本的多樣性,拍攝全天不同時間、不同角度、不同位置、不同品種類型的圖像1 334張。按照訓(xùn)練集和測試集按照3∶1比例進行分配,其中訓(xùn)練集1 000 張、測試集334張,通過Labelimg軟件對數(shù)據(jù)集中的番茄位置和類別信息進行手工標(biāo)注。

然后利用候選框與原標(biāo)記框的交疊率IOU、準(zhǔn)確率P、召回率R來進行模型性能的評估,如式(6)、式(7)所示。

(6)

(7)

式中:TP——IOU大于等于設(shè)定閾值的數(shù)量即預(yù)測框與標(biāo)記框正確匹配的數(shù)量;

FP——IOU小于設(shè)定閾值的數(shù)量即預(yù)測錯誤的數(shù)量;

FN——IOU等于0的數(shù)量即漏檢的數(shù)量。

訓(xùn)練參數(shù)設(shè)置每批量樣本個數(shù)為64,動量因子設(shè)置為0.95,權(quán)值衰減設(shè)置為0.000 5,學(xué)習(xí)率設(shè)為0.001,非極大抑制設(shè)為0.5,最大迭代次數(shù)設(shè)置為30 000。且每次迭代完成后,均保存成對應(yīng)的模型,最后選出具有最高精度的模型,在訓(xùn)練的過程中得到訓(xùn)練損失趨勢曲線如圖5所示。

圖5 訓(xùn)練損失趨勢曲線

由圖5曲線圖可以看出,在模型訓(xùn)練過程中,當(dāng)?shù)螖?shù)小于400次時,損失函數(shù)值迅速降低至4左右;當(dāng)?shù)螖?shù)大于400次時,損失速度變緩,說明模型訓(xùn)練效果較好,隨著迭代次數(shù)的增加,損失函數(shù)值不斷減小,在訓(xùn)練迭代次數(shù)達(dá)到16 000次時,損失函數(shù)值已經(jīng)趨于平穩(wěn),并穩(wěn)定在0.4附近,說明迭代次數(shù)在16 000 次時停止模型訓(xùn)練比較合適。

3.2 識別準(zhǔn)確率、識別召回率和平均識別時間分析

為了驗證改進YOLOv3算法的目標(biāo)識別相比于之前的神經(jīng)網(wǎng)絡(luò)算法的可靠性和優(yōu)越性,隨機抽取600個訓(xùn)練樣本照片,分別利用YOLOv3算法、改進YOLOv3算法、Fast RCNN算法和Faster RCNN算法進行目標(biāo)的識別,目標(biāo)識別效果如圖6所示。并對目標(biāo)的識別準(zhǔn)確率、識別召回率和平均識別時間進行了比較,如表2所示。

圖6 目標(biāo)識別效果

從表2的對比結(jié)果可以看出,所用改進YOLOv3算法和3D視覺的識別準(zhǔn)確率和召回率分別達(dá)到97.2%和95.8%,改進YOLOv3算法要比YOLOv3算法、Fast RCNN算法和Faster RCNN算法的準(zhǔn)確率要高,在同等條件下分別提高5.5%、9%、1.4%;改進YOLOv3算法同時要比YOLOv3算法、Fast RCNN算法和Faster RCNN算法的召回率要高,在同等條件下分別提高1.4%、2%、3%;改進YOLOv3算法的平均識別時間要比YOLOv3算法、Fast RCNN算法和Faster RCNN算法的少,在同等條件下分別降低20.1%、25.6%、52.1%,這表明改進YOLOv3算法完全可以滿足后期農(nóng)業(yè)采摘機器人實際工況下的模型識別檢測要求。

表2 四種算法的準(zhǔn)確率和召回率對比Tab. 2 Four algorithms comparison of accuracy and recall rate

3.3 定位結(jié)果分析

為驗證本文所提方法的定位精度,由于試驗條件所限,采用一個番茄進行定位試驗,其初始位置為(0 mm,0 mm,100 mm),每次向遠(yuǎn)離攝像頭Z方向移動10 mm,農(nóng)業(yè)采摘機器人共進行10次位置定位,分別采用Fast RCNN算法、Faster RCNN算法、YOLOv3算法和改進YOLOv3算法對采摘點進行空間定位試驗,并綜合比較四種算法的定位誤差,計算方法如式(8)所示。

(8)

式中:xli,yli,zli——第i次位置理論坐標(biāo)值;

xci,yci,zci——第i次測量位置坐標(biāo)值;

Elc——定位誤差。

以定位誤差來衡量最終的定位精度,如表3所示。

表3 四種算法的定位誤差對比Tab. 3 Four algorithms comparison of localizing error mm

從表3中可以看出Fast RCNN算法、Faster RCNN算法、YOLOv3算法在10次的定位試驗中最大定位誤差分別是1.67、1.42、1.26 mm,而改進YOLOv3算法的在10次的定位試驗中最大定位誤差只有0.98 mm,分別比Fast RCNN算法、Faster RCNN算法、YOLOv3算法的最大定位誤差降低0.69、0.44、0.28 mm,且改進YOLOv3算法的定位誤差多次在0值附近進行波動,證明了改進YOLOv3算法系統(tǒng)具有一定的準(zhǔn)確性和穩(wěn)定性。

4 結(jié)論

1) 傳統(tǒng)目標(biāo)識別方法準(zhǔn)確率和定位精度效果并不理想,本文采用改進YOLOv3算法進行了模型訓(xùn)練,模型訓(xùn)練效果較好,在訓(xùn)練迭代次數(shù)達(dá)到16 000次時,損失函數(shù)值趨于平穩(wěn),并穩(wěn)定在0.4附近,說明迭代次數(shù)在16 000次時停止模型訓(xùn)練比較合適。

2) 通過試驗對比分析,改進YOLOv3算法要比YOLOv3算法、Fast RCNN算法和Faster RCNN算法的準(zhǔn)確率要高,在同等條件下分別提高5.5%、9%、1.4%;改進YOLOv3算法同時要比YOLOv3算法、Fast RCNN算法和Faster RCNN算法的召回率要高,在同等條件下分別提高1.4%、2%、3%;改進YOLOv3算法的平均識別時間要比YOLOv3算法、Fast RCNN算法和Faster RCNN算法降低20.1%、25.6%、52.1%,可以滿足后期農(nóng)業(yè)采摘機器人實際工況下的模型識別檢測要求。

3) 通過試驗對比分析,改進后的YOLOv3算法的最大定位誤差分別比Fast RCNN算法、Faster RCNN算法、YOLOv3算法降低0.69、0.44、0.28 mm,且改進后的YOLOv3算法定位誤差多次在0值附近進行波動,證明改進后的YOLOv3算法系統(tǒng)具有一定的準(zhǔn)確性和穩(wěn)定性,可以更好地完成采摘工作,同時也為農(nóng)業(yè)采摘機器人目標(biāo)識別與定位方法的改進提供了重要的參考價值。后續(xù)研究可以對匹配算法進行進一步的完善,逐步提高農(nóng)業(yè)采摘機器人識別與定位的性能。

猜你喜歡
標(biāo)定像素定位
趙運哲作品
藝術(shù)家(2023年8期)2023-11-02 02:05:28
像素前線之“幻影”2000
《導(dǎo)航定位與授時》征稿簡則
使用朗仁H6 Pro標(biāo)定北汽紳寶轉(zhuǎn)向角傳感器
Smartrail4.0定位和控制
“像素”仙人掌
找準(zhǔn)定位 砥礪前行
基于勻速率26位置法的iIMU-FSAS光纖陀螺儀標(biāo)定
船載高精度星敏感器安裝角的標(biāo)定
高像素不是全部
CHIP新電腦(2016年3期)2016-03-10 14:22:03
云梦县| 文成县| 永泰县| 桂东县| 伊川县| 兴海县| 武宣县| 乌拉特中旗| 永靖县| 济宁市| 临城县| 广汉市| 临潭县| 四平市| 长兴县| 茌平县| 荣昌县| 高要市| 监利县| 利津县| 沙坪坝区| 湄潭县| 双峰县| 南城县| 延吉市| 图片| 修武县| 高平市| 芷江| 日照市| 贵德县| 新宁县| 稷山县| 孟州市| 吉木乃县| 乌兰察布市| 兴宁市| 广西| 离岛区| 吴旗县| 古丈县|