蔡舒平 潘文浩 劉 慧 曾 瀟 孫仲鳴
(江蘇大學(xué)電氣信息工程學(xué)院,鎮(zhèn)江 212013)
隨著人們對果品類的消費需求日益增加,國內(nèi)外果園種植面積不斷擴大[1]。傳統(tǒng)的果園種植模式耗時、費力、成本高。近些年,由于人工智能技術(shù)的高速發(fā)展,農(nóng)業(yè)機器人[2-3]越來越多地應(yīng)用于果園種植[4],如修剪、采摘和噴灑農(nóng)藥等。智能農(nóng)業(yè)機器人的自動導(dǎo)航技術(shù)受到了科研人員的廣泛關(guān)注[5-7]。果園環(huán)境是一個復(fù)雜的非結(jié)構(gòu)化環(huán)境,智能農(nóng)業(yè)機器人在園內(nèi)道路上作業(yè)時,難免會遇到各類障礙物[8],包括人、樹、燈桿等,如果不及時發(fā)現(xiàn)和規(guī)避,將會造成嚴重的安全問題。為了保證農(nóng)業(yè)機器人在果園自主作業(yè)時的安全性和準確性,能夠快速準確地檢測周圍的障礙物非常重要。
果園障礙物檢測屬于深度學(xué)習(xí)[9-10]中目標檢測[11]的范疇,目標檢測算法主要分為兩類:一類是基于Region Proposal的目標檢測算法,代表模型包括R-CNN系列,它們屬于兩階段目標檢測算法,即讓算法先生成目標候選框,對候選框區(qū)域的圖像進行特征提取,再對提取到的特征進行分類與回歸;另一類是使用端到端思想的一階段目標檢測算法,代表模型包括SSD[12](Single shot multiBox detector)、YOLO[13-15](You only look once)系列等,此類算法僅使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)直接提取圖像特征后對特征進行分類和檢測框坐標的回歸。隨著一階段目標檢測算法的不斷更新,無論是檢測速度還是檢測精度都比兩階段目標檢測算法更具優(yōu)勢。
基于穩(wěn)定、高質(zhì)量圖像采集的目標檢測技術(shù)日趨成熟[16]。然而,農(nóng)用機器人在果園作業(yè)時,行駛經(jīng)過的地面凹凸不平,車體容易出現(xiàn)劇烈顛簸,導(dǎo)致攝像頭大幅不規(guī)則抖動,采集的圖像模糊不清,這種模糊嚴重降低了圖像質(zhì)量,從而對后續(xù)基于圖像的目標檢測、語義分割等高級視覺任務(wù)產(chǎn)生負面影響,在實際應(yīng)用中,會降低農(nóng)業(yè)機器人在作業(yè)過程中的檢測精度,導(dǎo)致漏檢或誤檢,作業(yè)效率低。
目前,林開顏等[17]提出了基于模糊邏輯的植物葉片邊緣檢測方法,該方法克服了常規(guī)算法未考慮葉片像素和背景像素的顏色差異,從而導(dǎo)致產(chǎn)生大量偽邊緣的問題,但由于是基于傳統(tǒng)的圖像去模糊算法,過程較為復(fù)雜。馬曉丹等[18]提出了一種將量子遺傳算法的全局搜索能力和模糊推理神經(jīng)網(wǎng)絡(luò)的自適應(yīng)性相結(jié)合的算法來識別蘋果果實,該算法有效解決了圖像邊界像素的模糊性和不確定性,但耗時較長。FAN等[19]提出一種基于深度學(xué)習(xí)的局部模糊圖像去模糊方法,用于作物病蟲害分類。陳斌等[20]提出一種改進YOLO v3-tiny的全景圖像農(nóng)田障礙物檢測,該算法在YOLO v3-tiny的基礎(chǔ)上增加一層52×52的預(yù)測層來提升對小目標的檢測能力,另外還在主干網(wǎng)絡(luò)引入了殘差模塊提高網(wǎng)絡(luò)的檢測能力,但是該算法依舊存在著模型參數(shù)量較大且針對輸入模糊圖像檢測能力不足的問題。薛金林等[21]提出了一種基于改進Faster R-CNN和SSRN-DeblurNet的兩階段檢測方法,有效解決了農(nóng)田中由于模糊障礙物產(chǎn)生的問題,但該算法在訓(xùn)練階段,F(xiàn)aster R-CNN和SSRN-DeblurNet相互獨立進行訓(xùn)練,過程較為復(fù)雜且耗時。目前針對果園環(huán)境下,解決農(nóng)業(yè)機器人在行進間作業(yè)時產(chǎn)生運動模糊圖像的一階段去模糊檢測算法研究依舊不充分。
為了解決上述問題,本研究提出將改進的DeblurGAN-v2去模糊網(wǎng)絡(luò)和YOLOv5s目標檢測網(wǎng)絡(luò)相融合,得到D2-YOLO一階段去模糊識別網(wǎng)絡(luò)。將模糊圖像轉(zhuǎn)換為相對清晰的圖像再進行檢測,以提高實際目標檢測過程精度。
圖1為DeblurGAN-v2的網(wǎng)絡(luò)結(jié)構(gòu)圖,該網(wǎng)絡(luò)由生成器和鑒別器組成[22-23]。生成器接收噪聲作為輸入并生成樣本,鑒別器接收真實樣本和生成樣本并嘗試將兩者進行區(qū)分。生成器的目標是通過生成無法與真實樣本區(qū)分開來的感知說服樣本來迷惑判別器。兩者始終處于最大最小博弈狀態(tài),直到判別器無法區(qū)分生成樣本和真實樣本,達到納什平衡。其中,生成器使用的骨干網(wǎng)絡(luò)為Inception-ResNet-v2或MobileNet及其變形。DeblurGAN-v2首次將特征金字塔網(wǎng)絡(luò)(FPN)[24]的思想引入到圖像去模糊中。FPN可以提高網(wǎng)絡(luò)的多尺度特征融合能力,實現(xiàn)準確率和速度的平衡,其結(jié)構(gòu)如圖2所示。

圖1 DeblurGAN-v2結(jié)構(gòu)圖

圖2 特征金字塔網(wǎng)絡(luò)(FPN)框架
YOLOv5s網(wǎng)絡(luò)參數(shù)量較少、部署成本低,有利于快速部署至農(nóng)業(yè)機器人,適用于中大型目標障礙物檢測。YOLOv5s的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖3所示,圖中,Conv表示卷積層(Convolution),CBL綜合模塊由卷積層、批量歸一化層(Batch norm)和激活函數(shù)(Leaky ReLU)組成,CSP(Cross stage partial)表示跨階段部分的結(jié)構(gòu),Residual unit表示殘差模組件,Concat表示通道數(shù)的特征融合。

圖3 YOLOv5s結(jié)構(gòu)圖
該網(wǎng)絡(luò)工作流程為:首先對輸入圖像進行自適應(yīng)圖像縮放,其次通過骨干網(wǎng)絡(luò)(Backbone)對輸入圖像進行特征提取,然后經(jīng)過頸部網(wǎng)絡(luò)(Neck)對這些大小不同的特征圖進行分層特征融合,最后在預(yù)測層(Prediction)上對多個特征圖進行同時分類和位置回歸。
YOLOv5s使用CSPDarknet作為骨干網(wǎng)絡(luò),其優(yōu)點是不僅增強了卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,還降低了計算瓶頸和內(nèi)存成本,同時保持了準確性和輕量級。但是,CSPDarknet參數(shù)量依舊存在可優(yōu)化空間,本研究將CSPDarknet中的標準卷積替換為深度可分離卷積,并將其用作融合網(wǎng)絡(luò)。
如圖4所示,標準卷積過程是對每個通道的輸入特征圖和對應(yīng)的卷積核進行卷積運算,然后將它們相加輸出特征。計算量Q1為

圖4 標準卷積和深度可分離卷積
(1)
式中Dk——卷積核大小
M、N——輸入、輸出數(shù)據(jù)通道數(shù)
Dw、Dh——輸出數(shù)據(jù)長度和寬度
深度可分離卷積將標準卷積中的一步運算改為3×3深度卷積和1×1逐點卷積,計算量Q2為

(2)
因此,深度可分離卷積與標準卷積的計算量比為
(3)
通常Dk設(shè)為3,改進后網(wǎng)絡(luò)計算量和參數(shù)實際減少約1/3。
YOLOv5s的輸出預(yù)測端使用GIoU_Loss作為邊界框回歸損失函數(shù),得到
(4)
式中AC——邊界框和真實框的最小外接矩陣面積
u——邊界框和真實框的并集
當真實框包含邊界框時,兩者的最小外接矩陣面積和并集相等,此時GIoU退化為IoU,無法區(qū)分兩者的相對位置。
本文使用CIoU_Loss代替GIoU_Loss,CIoU_Loss取邊界框和真實框的中心,求兩者的歐氏距離,并引入權(quán)重α來確定邊界框和真實框的縱橫比,計算式為
(5)

(6)
式中ρ——邊界框與真實框中心點歐氏距離
c——邊界框與真實框的最外接矩陣對角線長度
wgt、hgt——真實框?qū)?、?/p>
w、h——邊界框?qū)挕⒏?/p>
v——衡量邊界框和真實框之間縱橫比一致性參數(shù)
采用CIoU_Loss作為邊界框回歸損失函數(shù)后,一定程度上提高了預(yù)測速度和準確率。
為了解決模糊圖像給果園障礙物檢測帶來的影響,本研究將DeblurGAN-v2去模糊網(wǎng)絡(luò)與YOLOv5s目標檢測網(wǎng)絡(luò)相融合。與圖像去模糊和目標檢測兩步走的方法不同,本研究提出的D2-YOLO去模糊檢測網(wǎng)絡(luò)屬于一階段檢測網(wǎng)絡(luò)。D2-YOLO僅使用改進的CSPDarknet作為骨干網(wǎng)絡(luò)進行特征提取,采用特征金字塔思想將多個不同的特征圖進行層級特征融合,充分利用去模糊后的清晰圖像進行預(yù)測,提高了圖像恢復(fù)質(zhì)量和利用率。圖5為D2-YOLO去模糊識別網(wǎng)絡(luò)結(jié)構(gòu)。

圖5 D2-YOLO去模糊識別網(wǎng)絡(luò)結(jié)構(gòu)圖
整個網(wǎng)絡(luò)分為前端、中部和末端3部分。當網(wǎng)絡(luò)前端接收到輸入圖像經(jīng)過自適應(yīng)圖像縮放生成416像素×416像素的幀圖像后,通過卷積和多個殘差塊進行下采樣操作,最終得到13像素×13像素的幀圖像,此部分在YOLOv5s中將采用多尺度特征融合并進行預(yù)測。但在本文中為了恢復(fù)圖像自然信息,會在網(wǎng)絡(luò)的中間階段進行反卷積及上采樣操作,將圖像尺寸重新恢復(fù)成416像素×416像素并得到清晰的RGB三通道圖像,完成去模糊操作。在網(wǎng)絡(luò)末端,首先采用Focus切片操作將恢復(fù)過后的清晰圖像進行處理,再次通過卷積和多個殘差塊進行下采樣操作,將3個階段的相同尺寸幀圖像進行特征融合,極大增強了圖像自然信息的特征。
首先將采集的圖像進行運動模糊處理。假設(shè)原始圖像為σ(x,y),模糊圖像為φ(x,y),則生成圖像為

(7)
式中Crandx——隨機方向x上的投影
Crandy——隨機方向y上的投影
T——模糊時間n——隨機噪聲
網(wǎng)絡(luò)分3個階段進行訓(xùn)練。第1階段,單獨對去模糊過程進行訓(xùn)練,即只用網(wǎng)絡(luò)的前端和中部,價值函數(shù)V(G,D)為
(8)
式中D(x)——取判別器均方根誤差
第2階段,固定網(wǎng)絡(luò)前端和中部的參數(shù),不再進行去模糊,只訓(xùn)練網(wǎng)絡(luò)的末端部分,即目標檢測階段。目標檢測階段總損失函數(shù)為
Lobjdet=Lcen+Lwh+Lcat+Lcon
(9)
其中
(10)
(11)
(12)
(13)
式中Lcen——預(yù)測中心坐標損失值
Lwh——預(yù)測邊界框?qū)捄透邠p失值
Lcat——預(yù)測類別損失值
Lcon——預(yù)測置信度損失值
λcoord——位置損失系數(shù)
pi(c)——目標類別概率
Ci——第1個網(wǎng)格中邊界框置信度

第3階段,總體訓(xùn)練。在前面2個階段完成之后,對整個網(wǎng)絡(luò)再進行訓(xùn)練。總體損失函數(shù)為
Ltotal=Lobjdet+D(x)
(14)
訓(xùn)練好的網(wǎng)絡(luò)經(jīng)過圖像計算會產(chǎn)生4種結(jié)果,分別對應(yīng)去模糊后416×416的清晰圖像,以及預(yù)測階段為13×13、26×26、52×52的目標檢測結(jié)果。如果不需要中間去模糊結(jié)果,可以對中間圖像的輸出進行屏蔽,只使用最終的檢測結(jié)果。
圖像數(shù)據(jù)采集場景由兩部分構(gòu)成,一部分是距離江蘇大學(xué)5 km處的果園,另一部分是江蘇大學(xué)校內(nèi)梅園。在2處場景中共拍攝了2 600幅原始圖像,其中清晰圖像1 500幅,模糊圖像1 100幅,自制模糊圖像1 500幅,共計4 100幅。圖像由7種果園典型障礙物組成:樹木、行人、電線桿、指示牌、支撐架、垃圾桶和圍欄,其中,樹木種類由桂花樹、臘梅樹、紫薇樹、紅楓樹、櫻花樹和桑樹等喬木以及金森女貞球等灌木組成。
本試驗訓(xùn)練處理平臺所使用的計算機GPU為NVIDIA RTX 4000,CPU為Intel i9 10900K,內(nèi)存為64 GB。計算機操作系統(tǒng)為Ubuntu 20.04,搭載CUDA 11.1.1并行計算框架和CUDNN 8.2.1深度學(xué)習(xí)加速庫。采用Python 3.7編程語言在Pytorch深度學(xué)習(xí)框架上進行試驗。果園移動機器人搭載ZED相機作為果園場景圖像采集設(shè)備,同時配套軟件工具SDK和OpenCV庫。
以BUNKER型履帶式移動機器人底盤為基礎(chǔ),配備本試驗使用的便攜式計算機、攝像頭等設(shè)備,形成圖像采集移動平臺。圖像采集平臺和采集場景如圖6所示。

圖6 圖像采集平臺及采集場景
訓(xùn)練模型采用YOLO數(shù)據(jù)集格式,其中訓(xùn)練數(shù)據(jù)集、驗證數(shù)據(jù)集和測試數(shù)據(jù)集比例為8∶1∶1。使用LabelImg軟件對7類目標的最終訓(xùn)練集進行標注。訓(xùn)練時,采集的圖像尺寸先進行padding操作,然后尺寸調(diào)整為416像素×416像素作為輸入圖像,較小的輸入尺寸可以加快網(wǎng)絡(luò)的計算速度,將圖像順時針旋轉(zhuǎn)90°、180°,然后裁剪、翻轉(zhuǎn)、隨機拉伸、隨機扭曲、添加馬賽克干擾等方法達到數(shù)據(jù)增強的目的。訓(xùn)練參數(shù)為:批量大小32、動量0.97、初始學(xué)習(xí)率0.005、衰減系數(shù)0.9。
表1和圖7為不同去模糊算法性能和結(jié)果對比,去模糊評估指標包括峰值信噪比(PSNR)和結(jié)構(gòu)相似度(SSIM)[25]。
從表1可以看出,D2-YOLO的去模糊用時約為SRN-Deblur的1/10,約為SSRN-DeblurNet的1/3。在去模糊時間相近的情況下,整體性能優(yōu)于DeblurGAN和DeblurGAN-v2。從圖7可以看出,與模糊圖像相比,D2-YOLO在一定程度上還原了圖像原有的自然信息,使圖像更加清晰。在比較模型中,去模糊結(jié)果優(yōu)于DeblurGAN和DeblurGAN-v2,雖與SRN-Deblur結(jié)果相似,但速度快了將近10倍。

表1 不同去模糊算法性能對比

圖7 不同去模糊算法去模糊結(jié)果對比
本文所提出的D2-YOLO網(wǎng)絡(luò)不僅可以去除圖像模糊,而且可以同時對障礙物進行識別,為驗證D2-YOLO去模糊識別網(wǎng)絡(luò)檢測效果,分別與分步訓(xùn)練的DeblurGAN-v2+YOLOv5s、DeblurGAN-v2+Faster-RCNN以及YOLOv5s檢測網(wǎng)絡(luò)用同樣的數(shù)據(jù)和訓(xùn)練參數(shù)進行訓(xùn)練,為防止過擬合,在代碼中設(shè)置30 Epoch收斂停止訓(xùn)練。評價指標包括準確率、召回率、F1值[26]。
訓(xùn)練完成后,使用果園障礙物數(shù)據(jù)集中的測試集圖像測試各個模型的性能,結(jié)果如表2所示。從表2可以看出,D2-YOLO一階段去模糊識別網(wǎng)絡(luò)對果園障礙物進行檢測時,準確率比DeblurGAN-v2+YOLOv5s、DeblurGAN-v2+Faster-RCNN以及YOLOv5s分別提高1.36、6.82、9.54個百分點,召回率分別提高2.7、5.65、9.99個百分點。同時,D2-YOLO去模糊識別網(wǎng)絡(luò)參數(shù)量比DeblurGAN-v2+YOLOv5s小29.5%,比DeblurGAN-v2+Faster-RCNN小92.91%。在檢測速度方面,D2-YOLO去模糊識別網(wǎng)絡(luò)比DeblurGAN-v2+YOLOv5s快22.05%,比DeblurGAN-v2+Faster-RCNN快183.55%。雖然D2-YOLO在參數(shù)量以及檢測速度方面遜色于YOLOv5s,但其準確率、召回率、F1值均高于YOLOv5s,在兼顧去模糊功能的前提下,模型的參數(shù)量相較于文獻[27]方法縮小77.97%,很大程度上解決了針對模糊圖像檢測精度較差的問題,表明D2-YOLO去模糊識別網(wǎng)絡(luò)具有更優(yōu)秀的性能。圖8為不同模型平均精度均值(mAP)變化曲線。

圖8 不同模型平均精度均值(mAP)變化曲線

表2 不同模型檢測結(jié)果對比
為進一步驗證本文所提方法的優(yōu)越性,于真實果園和江蘇大學(xué)校內(nèi)共選取12處不同場景進行檢測試驗。將試驗分為2個類別:
第1類,在江蘇大學(xué)校內(nèi)選取3處場景用以模擬真實果園場景檢測,如圖9a~9c所示。從圖中可以看出,YOLOv5s在接收到模糊圖像后,對被遮擋住的行人和部分樹木以及電線桿出現(xiàn)漏檢和誤檢現(xiàn)象,但使用D2-YOLO進行去模糊后的目標檢測,有效解決了這一問題。

圖9 不同場景下不同模型的檢測結(jié)果對比
第2類,真實果園中選取9處不同場景進行試驗,其中3處場景中的樹種為金森女貞球等灌木,如圖9d~9f所示,6處場景中的樹種為桂花樹、臘梅樹、紫薇樹、紅楓樹、桑樹等喬木,如圖9g~9l所示,可以看出,無論是喬木還是灌木,YOLOv5s在接收到模糊圖像后,對支撐桿和部分樹木均出現(xiàn)誤檢和漏檢現(xiàn)象,對圍欄位置檢測也不夠準確,但是,同樣使用D2-YOLO進行去模糊后的目標檢測,極大程度上解決了輸入模糊圖像造成的漏檢和誤檢問題,與模擬場景下的檢測結(jié)果一致,充分驗證了本文所提方法的優(yōu)越性。
(1)提出了一種D2-YOLO一階段去模糊識別網(wǎng)絡(luò)。為了減少融合網(wǎng)絡(luò)的參數(shù)量并提高檢測速度,首先將YOLOv5s骨干中使用的標準卷積替換為深度可分離卷積,并使用CIoU_Loss作為邊界框回歸損失函數(shù)。融合網(wǎng)絡(luò)使用改進的CSPDarknet進行特征提取,將模糊圖像恢復(fù)圖像原始自然信息后,結(jié)合多尺度特征進行模型預(yù)測。
(2)將D2-YOLO一階段去模糊識別網(wǎng)絡(luò)與DeblurGAN-v2+YOLOv5s、DeblurGAN-v2+Faster-RCNN、YOLOv5s模型進行對比試驗,結(jié)果表明D2-YOLO具有更好的檢測性能,準確率和召回率分別達到91.33%和89.12%,且網(wǎng)絡(luò)參數(shù)量更少,極大程度上解決了相機抖動和物體相對運動等原因所導(dǎo)致的圖像模糊給障礙物檢測帶來干擾的問題,能夠滿足果園環(huán)境下作業(yè)要求。