趙華民,LAWAL Olarewaju,許德芳
(1.山西農(nóng)業(yè)大學(xué)農(nóng)業(yè)工程學(xué)院,山西 太谷 030801;2.呂梁學(xué)院經(jīng)濟(jì)管理系,山西 呂梁 033001)
【研究意義】甜瓜(Cucumis meloL.)在我國(guó)種植廣泛,是一種深受大眾喜愛(ài)的夏季水果[1]。目前甜瓜以溫室種植較多,其成熟期溫室內(nèi)溫濕度較高,且藤蔓及果實(shí)上遍布絨毛,人工采摘環(huán)境較差[2]。隨著智能農(nóng)機(jī)迅速發(fā)展,采摘機(jī)器人成為研究熱點(diǎn)。采摘機(jī)器人作業(yè)的首要步驟是快速準(zhǔn)確地對(duì)目標(biāo)進(jìn)行識(shí)別和定位。甜瓜采收期枝葉繁茂,目標(biāo)果實(shí)大多被葉片和藤蔓遮擋,溫室內(nèi)光照變化等對(duì)甜瓜 的自動(dòng)化采摘目標(biāo)識(shí)別帶來(lái)很大挑戰(zhàn)。建立YOLOResNet70 模型,使甜瓜在光照變化和葉片藤蔓遮擋嚴(yán)重情況下自動(dòng)采摘快速識(shí)別,并結(jié)合RGB-D 視覺(jué)傳感器實(shí)現(xiàn)目標(biāo)的空間定位具有重要意義。
【前人研究進(jìn)展】基于機(jī)器視覺(jué)的目標(biāo)檢測(cè)和識(shí)別技術(shù)近年來(lái)發(fā)展迅速,深度學(xué)習(xí)的突破性進(jìn)展為計(jì)算機(jī)視覺(jué)技術(shù)在農(nóng)業(yè)視覺(jué)任務(wù)中的應(yīng)用鋪平道路[3-5],如卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以自動(dòng)直接從輸入圖像中提取復(fù)雜特征[6]。目前常用的目標(biāo)檢測(cè)網(wǎng)絡(luò)分為以Faster R-CNN 為代表的Two-stage 檢測(cè)網(wǎng)絡(luò)和以YOLO 為代表的Onestage 兩 種。Inkyu 等[7]采 用Faster R-CNN 對(duì) 哈密瓜等水果的RGB 圖像和近紅外信號(hào)進(jìn)行混合檢測(cè),取得良好的檢測(cè)效果,F(xiàn)1值達(dá)到84.8%,但是對(duì)于小目標(biāo)的檢測(cè)速度需要提升。Bargoti等[8]同樣基于Faster R-CNN 方法研究果園水果檢測(cè),F(xiàn)1值超過(guò)90%,但對(duì)密集型水果的檢測(cè)有遺漏。雖然Two-stage 檢測(cè)方法效果較好,但是相比One-stage 檢測(cè)方法,其速度遠(yuǎn)不能滿(mǎn)足移動(dòng)設(shè)備的需求。YOLOv3 是最流行的One-stage 目標(biāo)檢測(cè)方法之一,與Two-stage 的目標(biāo)檢測(cè)方法相比,其可在一個(gè)網(wǎng)絡(luò)中直接預(yù)測(cè)目標(biāo)的邊界及其相應(yīng)類(lèi)別,速度大幅提升[9]。YOLOv3 使用DarkNet53(1,2,8,8,4殘差塊排列方式)為主干網(wǎng)絡(luò),并在3 個(gè)不同尺度上預(yù)測(cè)對(duì)象〔類(lèi)似于特征金字塔網(wǎng)絡(luò)(FPN)[10]〕,其改進(jìn)版為YOLOv4。YOLOv4 的AP 比YOLOv3 和檢測(cè)速度(FPS,幀/s)分別提高10%和12%,由CSPDarknet53 主干網(wǎng)、空間金字塔池化(SPP)[11]、作為Neck的路徑聚合網(wǎng)絡(luò)(PANet)和YOLOv3 頭部組成。CSPDarknet53 主干網(wǎng)通過(guò)Mish 增強(qiáng)CNN 的學(xué)習(xí)能力[12]。在不降低網(wǎng)絡(luò)運(yùn)行速度的前提下,加入SPP 可以顯著增加接收野,分離出最重要的上下文特征。在YOLOv4 中,PANet 代替YOLOv3中使用的FPN來(lái)收集不同比例的特征。Jocher等[13]提出的YOLOv5 采用CSPNet 主干進(jìn)行特征提取,PANet 得到特征金字塔,YOLOv3 頭部進(jìn)行最終檢測(cè),比YOLOv4訓(xùn)練時(shí)間短,檢測(cè)速度大幅提升,但其精度較YOLOv4 稍差。目前部分學(xué)者已將YOLO 模型應(yīng)用于水果采摘目標(biāo)檢測(cè),如Koirala等[14]采用改進(jìn)的YOLOv3進(jìn)行芒果實(shí)時(shí)檢測(cè)研究,F(xiàn)1值達(dá)到96.8%,AP 達(dá)98.3%,但其速度只有14 FPS;Zheng 等[15]應(yīng)用深度學(xué)習(xí)在大量水果數(shù)據(jù)集上進(jìn)行分類(lèi)和目標(biāo)檢測(cè)研究,分類(lèi)準(zhǔn)確率達(dá)99%以上,檢測(cè)準(zhǔn)確率達(dá)92%以上,并且針對(duì)溫室端到端的檢測(cè)任務(wù),從速度、準(zhǔn)確性和魯棒性3 個(gè)方面對(duì)YOLOv3 網(wǎng)絡(luò)進(jìn)行了改進(jìn),其中針對(duì)甜瓜的檢測(cè)在速度為40 FPS 時(shí)AP 達(dá)到87.36%,但是其數(shù)據(jù)集針對(duì)的是沒(méi)有遮擋的甜瓜的檢測(cè)。Rahnemoonfar 等[16]提出一種改進(jìn)的inception-ResNet 網(wǎng)絡(luò)用于水果計(jì)數(shù),該方法對(duì)圖像的精度可以達(dá)到91%。另外,Liu 等[17]提出一種采用圓形邊界框代替矩形邊界框的YOLO-tomato 模型,該模型以YOLOv3 為主框架,采用DenseNet為主干網(wǎng)絡(luò),AP 達(dá)到93.91%,但由于其權(quán)重文件太大導(dǎo)致檢測(cè)速度過(guò)慢。Lawal 等[18]同樣提出基于YOLOv3 的西紅柿檢測(cè)模型,AP 可以達(dá)到99.3%。武星等[19]研究基于輕量化YOLOv3的蘋(píng)果檢測(cè)方法。在目標(biāo)空間定位研究方面,孫力等[20]研究了基于TOF 成像技術(shù)的柑橘實(shí)時(shí)識(shí)別與定位,自然生長(zhǎng)狀態(tài)下柑橘的識(shí)別正確率達(dá)86.7%。王玲等[21]研究了基于結(jié)構(gòu)光SR300 深度相機(jī)的褐蘑菇原位測(cè)量技術(shù)。馮青青等[22]、程偉[23]分別研究了采用結(jié)構(gòu)光視覺(jué)傳感器的果實(shí)定位技術(shù)。【本研究切入點(diǎn)】從以上研究可以發(fā)現(xiàn),對(duì)YOLO 模型的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行針對(duì)特定檢測(cè)目標(biāo)的優(yōu)化可以大幅度提高檢測(cè)精度,并且采用基于結(jié)構(gòu)光的深度攝像頭能夠?qū)崿F(xiàn)采摘目標(biāo)的空間定位。截至目前,很少學(xué)者對(duì)甜瓜的檢測(cè)進(jìn)行研究,特別是在葉片藤蔓遮擋嚴(yán)重情況下的檢測(cè)模型未見(jiàn)報(bào)道?!緮M解決的關(guān)鍵問(wèn)題】本研究基于改進(jìn)的YOLOv3 模型,提出一種魯棒性好、精度高、速度快的YOLOResNet70 模型用于溫室復(fù)雜光照和枝葉遮擋情況下的甜瓜檢測(cè),并且研究將模型與結(jié)構(gòu)光傳感器融合實(shí)現(xiàn)甜瓜空間定位的算法,為甜瓜采摘機(jī)器人的研究提供理論和技術(shù)支持。
數(shù)據(jù)集圖像采自山西省太谷縣侯城鄉(xiāng)侯城村甜瓜種植溫室。采用華為Mate10pro 拍攝,分辨率為3 968×2 976。選擇不同光照強(qiáng)度、不同時(shí)段進(jìn)行拍照,以保證數(shù)據(jù)集更具有隨機(jī)性,訓(xùn)練模型對(duì)光照魯棒性更好。圖1 展示了不同情況下的數(shù)據(jù)集圖像,共810 張,分別按照75%、15%、10%劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。采用labelImg 標(biāo)注成YOLO 格式的數(shù)據(jù)集[24],類(lèi)別為一個(gè)甜瓜類(lèi),共得到2 562 個(gè)目標(biāo)邊界框,標(biāo)注后的數(shù)據(jù)集圖像如圖2 所示。模型訓(xùn)練和測(cè)試采用的計(jì)算機(jī)配置如下:AMD Ryzen 5 3600x CPU,32 GB RAM,NVIDIA GeForce GTX 1080Ti GPU,CUDA v10.2,cuDNN v7.6.5,OpenCV v4.2.0。YOLOv5 采用PyTorch 平臺(tái),其他模型在DarkNet 平臺(tái)上實(shí)現(xiàn)。
圖1 不同光照和遮擋環(huán)境下的甜瓜Fig.1 Muskmelons under different illumination and occlusion
圖2 LabelImg 標(biāo)注后的甜瓜數(shù)據(jù)集圖像Fig.2 Image of muskmelon data set after LabelImg annotation
One-stage 檢測(cè)模型一般由主干網(wǎng)絡(luò)(Backbone)、頸部(Neck)和頭部(Head)3部分網(wǎng)絡(luò)組成。主干網(wǎng)絡(luò)從輸入圖片中提取重要特征,頸部網(wǎng)絡(luò)生成特征金字塔來(lái)識(shí)別不同大小和尺度的同一目標(biāo),頭部網(wǎng)絡(luò)完成最終檢測(cè)。常用的主干網(wǎng)絡(luò)有VGG、ResNet、SqueezeNet、DenseNet 等,其中ResNet 是由He 等[25]提出。ResNet 引入如圖3 所示的快捷連接(Short cut),以解決CNN 層數(shù)增加時(shí)的網(wǎng)絡(luò)退化問(wèn)題,將1×1 卷積層添加到網(wǎng)絡(luò)的開(kāi)始和結(jié)束,從而減少網(wǎng)絡(luò)參數(shù),而不會(huì)降低網(wǎng)絡(luò)性能,其優(yōu)秀的性能使ResNet50 和ResNet101 等網(wǎng)絡(luò)在目標(biāo)檢測(cè)模型中得到廣泛應(yīng)用,本檢測(cè)網(wǎng)絡(luò)同樣采用ResNet的網(wǎng)絡(luò)結(jié)構(gòu)。頸部網(wǎng)絡(luò)FPN、BiFPN[26](Bidirectional feature pyramid network)、PANet 等 是不同類(lèi)型的特征金字塔技術(shù)。FPN 是一種簡(jiǎn)單有效、自頂向下的通道,PANet 提供自底向上的路徑,BiFPN 允許自頂向下和自底向上連接。研究表明,不同的主干網(wǎng)絡(luò)與頸部網(wǎng)絡(luò)搭配對(duì)檢測(cè)網(wǎng)絡(luò)的準(zhǔn)確率有很大影響[26],因此研究不同主干網(wǎng)絡(luò)和頸部網(wǎng)絡(luò)的結(jié)合對(duì)探測(cè)器具有重要意義。不同的激活函數(shù)對(duì)網(wǎng)絡(luò)性能也有影響,目前最先進(jìn)的激活函數(shù)是Leaky ReLU 和Mish,同樣需要根據(jù)網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化。根據(jù)Huang 等[27]研究,SPP 是一個(gè)特征增強(qiáng)模塊,提取特征圖的主要信息并進(jìn)行拼接,該SPP 網(wǎng)絡(luò)有助于提取同一檢測(cè)階段的多尺度全局特征和局部特征,如果提取的特征圖形狀被模糊,目標(biāo)甜瓜的位置信息將變得不準(zhǔn)確甚至丟失。為避免漏檢和降低檢測(cè)精度,采用SPP 網(wǎng)絡(luò)。數(shù)據(jù)集中的甜瓜存在多個(gè)重合的情況,需要采用GreedyNMS 進(jìn)行候選框合并,從多個(gè)重疊候選框中選擇一個(gè)最佳候選框,因此將GreedyNMS 應(yīng)用到檢測(cè)網(wǎng)絡(luò)中。
圖3 ResNet 網(wǎng)絡(luò)的Shortcut 鏈接結(jié)構(gòu)Fig.3 Shortcut link structure of the ResNet network
主干網(wǎng)絡(luò)的選擇方面,首先根據(jù)DarkNet53殘差塊排列形式,結(jié)合ResNet 網(wǎng)絡(luò)結(jié)構(gòu),提出ResNet70 代替YOLOv3網(wǎng)絡(luò)的DarkNet53,網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示。ResNet70 網(wǎng)絡(luò)的殘差塊的排列采用與DarkNet53 相同的1,2,8,8,4 布置形式,加上最后的全連接層共70 層。通過(guò)將ResNet 架構(gòu)引入檢測(cè)模型能夠訓(xùn)練更深入的網(wǎng)絡(luò),解決網(wǎng)絡(luò)退化問(wèn)題,加快網(wǎng)絡(luò)收斂速度,實(shí)現(xiàn)更深層次的網(wǎng)絡(luò)和豐富的信息特征提取。因?yàn)橹鞲删W(wǎng)絡(luò)為ResNet70,基于YOLOV3 進(jìn)行優(yōu)化,所以命名為YOLOResNet70。為提高檢測(cè)速度,YOLOResNet70 模型將YOLOv3 原有的6 個(gè)檢測(cè)層裁剪為4 層,并通過(guò)13×13、26×26、52×52 特征向量對(duì)3 個(gè)檢測(cè)尺度進(jìn)行反饋。在YOLOResNet70 中,使用FPN 作為Neck來(lái)獲得特征金字塔模型,Neck 接收了主干網(wǎng)絡(luò)生成的特征向量,使模型能更好地進(jìn)行對(duì)象縮放。為優(yōu)化網(wǎng)絡(luò)檢測(cè)性能,通過(guò)對(duì)比檢測(cè)模型的主干網(wǎng)絡(luò)、激活函數(shù)、SPP、頸部網(wǎng)絡(luò)結(jié)構(gòu)、損失函數(shù)來(lái)優(yōu)化最佳網(wǎng)絡(luò)結(jié)構(gòu),并與YOLOv3、YOLOv4、YOLOv5 進(jìn)行比較,訓(xùn)練和測(cè)試結(jié)果如表1 所示。
圖4 YOLOResNet70 網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 YOLOResNet70 network structure
表1 不同檢測(cè)模型的網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Network structure of different detection models
模型錨框(Anchor)的大小是在模型訓(xùn)練前通過(guò)甜瓜數(shù)據(jù)集中計(jì)算得出。采用k 均值聚類(lèi)算法生成9個(gè)錨框,并根據(jù)檢測(cè)層的3 個(gè)尺度嵌入模型中。為改進(jìn)甜瓜檢測(cè)模型,將9 個(gè)錨框按第1 個(gè)尺度到第3 個(gè)尺度的降序分別分配到其他模型配置文件中。模型接收416×416 像素的輸入圖像,學(xué)習(xí)率為0.001,迭代數(shù)設(shè)置為4000;batch 和subdivision 分別設(shè)置為64 和32,以減少內(nèi)存使用;動(dòng)量和衰減分別設(shè)為0.9 和0.0005。YOLOv5使用auto-anchor 生成,訓(xùn)練300 個(gè)epoch,初始學(xué)習(xí)率為0.01,動(dòng)量為0.937,權(quán)重衰減為0.0005。同時(shí),使用隨機(jī)初始化方法初始化訓(xùn)練YOLOResNet70 和YOLOResNet50(主干網(wǎng)絡(luò)為ResNet50)模型的權(quán)值,使用官方預(yù)訓(xùn)練權(quán)值訓(xùn)練YOLOv3、YOLOv4 和YOLOv5 模型。
模型性能采用精確率(Precision)、召回率(Recall)、F1分?jǐn)?shù)和AP(Average Precision)進(jìn)行評(píng)估。精確率是正確檢測(cè)到的甜瓜數(shù)量與檢測(cè)到的甜瓜總數(shù)量之比,召回率是正確檢測(cè)到的甜瓜數(shù)量與數(shù)據(jù)集中甜瓜總數(shù)量之比,F(xiàn)1分?jǐn)?shù)同時(shí)兼顧精確率和召回率,能顯示訓(xùn)練模型的綜合性能。各參數(shù)計(jì)算公式如下:
式中,TP 為正確檢測(cè)甜瓜數(shù),F(xiàn)N 為漏檢甜瓜數(shù),F(xiàn)P 為錯(cuò)誤檢測(cè)甜瓜數(shù)。平均精度AP 描述了模型在不同置信閾值下的整體性能,定義如下式所示:
不同網(wǎng)絡(luò)結(jié)構(gòu)的YOLOResNet70 模型性能如表2 所示。通過(guò)更換模型的主干網(wǎng)絡(luò),SPP 等部分對(duì)比得出最佳的模型網(wǎng)絡(luò)結(jié)構(gòu)。由表2 可知,SPP 和PANet 兩部分網(wǎng)絡(luò)對(duì)模型的權(quán)重大小影響明顯,未添加SPP 的YOLOResNetA 和YOLOResNetC 的模型大小為164 MB,添加SPP的YOLOResNetB 和YOLOResNetD 的模型大小為188 MB;加 入PANet 的YOLOResNetE 和 加入BiFPN 的YOLOResNetF,其模型大小分別增加到227 MB 和223 MB,表明PANet 對(duì)模型尺寸的貢獻(xiàn)大于FPN 和BiFPN。表2 中幾種優(yōu)化下的模型交并比(IOU)均大于50%,表明模型預(yù)測(cè)結(jié)果較好,然而它們之間性能也有差異,使用SPP 的YOLOResNetB 和YOLOResNetC 模型相比較A 和D,其F1分?jǐn)?shù)分別從79%和84%上升到85%,說(shuō)明SPP[11]對(duì)模型性能提升作用明顯。SPP 網(wǎng)絡(luò)從ResNet70 骨干網(wǎng)中分離出最重要的特性。與YOLOResNetB 和YOLOResNetD 相比,YOLOResNetE 和YOLOResNetF 的F1評(píng)分最低,表明本模型FPN 比PANet 和BiFPN 對(duì)模型性能提升更有效。
表2 不同網(wǎng)絡(luò)結(jié)構(gòu)的YOLOResNet70 性能Table 2 YOLOResNet70 performance of different network structures
由表2 可知,對(duì)比F1分?jǐn)?shù),YOLOResNetC和YOLOResNetD 的Mish 激活函數(shù)優(yōu)于YOLOResNetA 和YOLOResNetB 的Leaky 激活函數(shù),但在AP 指標(biāo)下Leaky 優(yōu)于Mish 激活函數(shù)。AP 被認(rèn)為比F1分?jǐn)?shù)更準(zhǔn)確,因?yàn)槠鋸娜诛@示精確率和召回率(P-R)關(guān)系。圖5 為6 個(gè)網(wǎng)絡(luò)將IOU 閾值設(shè)置為50%時(shí)的P-R 曲線,性能較好的模型其P-R 曲線應(yīng)具有較大的曲線下面積(AUC),因此YOLOResNetB 的性能優(yōu)于其他模型。
圖5 不同網(wǎng)絡(luò)結(jié)構(gòu)的YOLOResNet70 網(wǎng)絡(luò)P-R 曲線Fig.5 P-R curves of YOLOResNet70 networks of different network structures
模型的檢測(cè)速度以FPS 衡量,與權(quán)重文件的大小成反比,權(quán)重文件越大,檢測(cè)深度越慢。在沒(méi)有SPP 的情況下,YOLOResNetA 的64.9 FPS 和YOLOResNetC 的66.6 FPS 均比YOLOResNetB(61.8 FPS)、YOLOResNetD(62.1 FPS)、YoloResnetE(54.7 FPS) 和YOLOResNetF(49.3 FPS) 快,且?guī)в蠵ANet 的YOLOResNetE 的檢測(cè)速度比嵌入BiFPN 的YOLOResNetF 快。以速度指標(biāo)衡量時(shí),采用Mish 激活函數(shù)的模型比Leaky 激活的模型表現(xiàn)更好,表明在本模型中Leaky 激活對(duì)檢測(cè)精度有較好效果,Mish 激活函數(shù)對(duì)檢測(cè)速度有較好效果。此外,與文獻(xiàn)中FPN、PANet 和BiFPN 影響模型檢測(cè)性能[26]的結(jié)論不同,應(yīng)用FPN 的YOLOResNet70 模型其檢測(cè)性能優(yōu)于PANet 和BiFPN。綜合考慮AP 和檢測(cè)速度,由于YOLOResNetB 和YOLOResNetD 的AP 和FPS 差異分別為1.2%和-0.4%,因此得出YOLOResNetB模型為最佳模型,命名為YOLOResNet70,由Leaky 激活函數(shù)、SPP 網(wǎng)絡(luò)和FPN 組成。
YOLOResNet70 與現(xiàn)有模型對(duì)甜瓜的檢測(cè)性能比較結(jié)果(表3、圖6)顯示,YOLOv5 權(quán)重文件最小、檢測(cè)速度最快,但其準(zhǔn)確性較低;YOLOv4 的AP 性能優(yōu)于YOLOv3、YOLOResNet70和YOLOv5,主要是由于CSPDarknet53 骨干網(wǎng)絡(luò)深度更深,但其檢測(cè)速度不如YOLOResNet70和YOLOv5。由表3 可知,在檢測(cè)速度方面,YOLOv5 系列中以YOLOv5s 最快,YOLOResNet50次 之,隨后是YOLOResNet70,YOLOResNet70比YOLOv3 和YOLOv4 約快14%。雖然YOLOv4在AP 方面大于YOLOResNet70,但兩者差異(1.6%)非常?。籝OLOResNet50 檢測(cè)速度較快,但AP 較YOLOv4 低5.1%。綜合檢測(cè)速度和AP,YOLOResNet70 檢測(cè)速度比YOLOv4 快14%,AP比YOLOv5 提升7.4%,擁有較好的檢測(cè)性能。從圖6 可以看出,YOLOv4 的P-R 曲線略?xún)?yōu)于YOLOResNet70,而YOLOResNet70 的P-R 曲 線優(yōu)于YOLOv3 和YOLOv5。
表3 YOLOResNet70 及現(xiàn)有網(wǎng)絡(luò)的性能比較Table 3 Performance comparison between YOLOResNet70 and existing networks
圖6 YOLOResNet70、YOLOv3、YOLOv4 和YOLOv5s 的P-R 曲線Fig.6 P-R curves of YOLOResNet70,YOLOv3,YOLOv4 and YOLOv5s
甜瓜檢測(cè)過(guò)程中葉片和藤蔓遮擋、光照變化會(huì)影響檢測(cè)結(jié)果的準(zhǔn)確性[18]。為驗(yàn)證YOLOResNet70 模型魯棒性,本研究從測(cè)試集中選取29 張?zhí)鸸蠄D片,其中包含葉片遮擋和藤蔓遮擋等情況的甜瓜共100 個(gè),并采用曝光增強(qiáng)和曝光減弱的方法進(jìn)行圖像增強(qiáng)[28],然后進(jìn)行測(cè)試,并與YOLOv3、YOLOv4 和YOLOv5s 檢測(cè)結(jié)果進(jìn)行對(duì)比,采用精度(Precision)、Rcall 和F1分?jǐn)?shù)進(jìn)行評(píng)價(jià)。
由表4 可知,YOLOv3 漏檢個(gè)數(shù)為15 個(gè),而YOLOResNet70 是6 個(gè)、YOLOv4 為5 個(gè)、YOLOv5s 為8 個(gè),這是由于YOLOv3 模型中沒(méi)有SPP 網(wǎng)絡(luò),其F1分?jǐn)?shù)的排序也與前文相同。本節(jié)中測(cè)試圖片中的甜瓜大部分被葉片和藤蔓嚴(yán)重遮擋,因此對(duì)模型的檢測(cè)能力要求更高。圖7 中紅色橢圓標(biāo)出的甜瓜為YOLOResNet70 和YOLOv4漏檢的甜瓜,其被遮擋面積超過(guò)50%;藍(lán)色橢圓標(biāo)出的甜瓜被YOLOResNet70 檢測(cè)到,其他模型都未檢測(cè)到。
圖7 YOLOResNet 70(A)和YOLOv4(B)模型漏檢甜瓜Fig.7 Muskmelon missed detection in YOLOResNet 70 and YOLOv4 models
表4 未進(jìn)行圖像增強(qiáng)數(shù)據(jù)集檢測(cè)結(jié)果Table 4 Detection results of data sets without image enhancement
經(jīng)數(shù)據(jù)增強(qiáng)后圖像的檢測(cè)結(jié)果見(jiàn)表5、表6。對(duì)比表5 結(jié)果,YOLOResNet70 的F1分?jǐn)?shù)在兩種情況下僅分別降低0.8、1.8 個(gè)百分點(diǎn),且F1值比YOLOv4 高0.5 個(gè)百分點(diǎn),表明其魯棒性良好;YOLOv3、YOLOv5 模型正確檢測(cè)個(gè)數(shù)下降明顯,表明其魯棒性稍差。圖8 為YOLOResNet70 模型檢測(cè)結(jié)果。YOLOResNet70 對(duì)數(shù)據(jù)增強(qiáng)后的部分圖像檢測(cè)結(jié)果如圖9 所示。
表6 曝光降低后數(shù)據(jù)集檢測(cè)結(jié)果Table 6 Data set detection results after exposure reduction
圖8 未增強(qiáng)數(shù)據(jù)集YOLOResNet70 檢測(cè)結(jié)果Fig.8 Detection results of YOLOResNet70 without enhanced data set
圖9 曝光增強(qiáng)和降低后數(shù)據(jù)集YOLOResNet70 檢測(cè)結(jié)果Fig.9 Detection results of YOLOResNet70 with enhanced data set and reducted data set
表5 曝光增強(qiáng)后數(shù)據(jù)集檢測(cè)結(jié)果Table 5 Data set detection results after exposure enhancement
通過(guò)采用YOLOResNet70 模型,得到甜瓜在圖像中的X 和Y 坐標(biāo),但如果需要機(jī)械手進(jìn)行采摘,還需獲取甜瓜的實(shí)際坐標(biāo),因此需要采用深度攝像頭與YOLO 算法進(jìn)行融合,將圖中的像素坐標(biāo)轉(zhuǎn)換為實(shí)際坐標(biāo),并且通過(guò)深度攝像頭的深度測(cè)量得到甜瓜距離攝像頭的實(shí)際距離(即Z 坐標(biāo))。本研究選擇基于結(jié)構(gòu)光原理的Intel RealSense D435i 作為測(cè)距攝像頭。Intel RealSense D435i 可以通過(guò)識(shí)別目標(biāo)的像素坐標(biāo)和深度值獲取目標(biāo)點(diǎn)的真實(shí)坐標(biāo),其具體原理如圖10 所示,其 中Target_xy_pixe l[x]、Target_xy_pixel[y]表示檢測(cè)物體在圖中的像素坐標(biāo),Target_xy_true[x]、Target_xy_true[y]表示被測(cè)物體的實(shí)際坐標(biāo),ppx、ppy 為相 機(jī)的基本內(nèi)部參數(shù),可以通過(guò)cvsprofile.get_intrinsics()命令獲取。坐標(biāo)計(jì)算公式如下:
圖10 物體實(shí)際深度和實(shí)際坐標(biāo)計(jì)算示意圖Fig.10 Schematic diagram of actual depth and coordinate calculation
式中,Target_xy_pixel[x]、Target_xy_pixel[y]可通過(guò)目標(biāo)檢測(cè)模型獲取,相機(jī)可以采用 get_distance(Target_xy_pixel[0]、Target_xy_pixel[y])計(jì)算得到物體的Target_depth,最后計(jì) 算Target_xy_true[x]、Target_xy_true[y],即可求出物體的實(shí)際X、Y、Z 坐標(biāo),以便后期通過(guò)機(jī)械臂進(jìn)行采摘。
2.4.1 Intel RealSense D435i 距離檢測(cè)實(shí)驗(yàn) 根據(jù)前文原理分析,本研究通過(guò)將英特爾RealSense SDK2.0 的Python 包裝程序pyRealsense2 集成進(jìn)YOLO 測(cè)試程序,采用YOLOResNet70 模型進(jìn)行甜瓜實(shí)際距離檢測(cè)實(shí)驗(yàn),研究算法的可靠性。實(shí)驗(yàn)設(shè)備圖如圖11 所示,通過(guò)檢測(cè)程序控制深度攝像頭檢測(cè)掛在對(duì)面的仿真甜瓜及藤蔓,根據(jù)實(shí)際采摘機(jī)械臂長(zhǎng)度設(shè)置藤蔓距離攝像頭的距離500 mm 和700 mm。由于甜瓜藤蔓吊掛后,上面的甜瓜錯(cuò)落排列在不同平面上,因此通過(guò)移動(dòng)掛甜瓜藤的不銹鋼架來(lái)改變距離,測(cè)試兩種距離下攝像頭及算法的檢測(cè)準(zhǔn)確性和檢測(cè)能力。
圖11 甜瓜深度距離測(cè)試實(shí)驗(yàn)設(shè)備Fig.11 Experimental equipment for measurement of muskmelon depth distance
實(shí)驗(yàn)中首先將攝像頭紅外光線發(fā)射面與不銹鋼架距離500 mm,然后開(kāi)啟檢測(cè)程序,運(yùn)行后檢測(cè)截圖如圖12 所示。從圖12 可以看出,由于距離較近,攝像頭視野較小,只有3 個(gè)甜瓜在攝像頭視野內(nèi)并被成功識(shí)別;在檢測(cè)界面右下角,不斷輸出3 個(gè)檢測(cè)框中心像素的實(shí)際坐標(biāo)和實(shí)際距離。實(shí)際距離測(cè)量方式如圖13 所示,每個(gè)瓜的測(cè)量距離量距離為甜瓜預(yù)測(cè)框中心點(diǎn)到攝像頭紅外光發(fā)射面的垂直距離。
圖12 仿真距離500 mm 時(shí)檢測(cè)截圖Fig.12 Detection screenshot at 500 mm of simulation distance
圖13 實(shí)際距離測(cè)量示意圖Fig.13 Diagram of actual distance measurement
從攝像頭距離支架500 mm 時(shí)的甜瓜檢測(cè)和距離測(cè)試結(jié)果(表7)可以看出,手動(dòng)測(cè)量距離與攝像頭測(cè)量的距離差距很小。表8 和圖14 為支架距離攝像頭700 mm 時(shí)檢測(cè)結(jié)果,由于甜瓜和藤蔓相對(duì)架子的平面凸出,因此檢測(cè)到的甜瓜距離比架子距離小。由表8、表9 可知,程序控制深度攝像頭測(cè)定距離準(zhǔn)確,能夠達(dá)到實(shí)際應(yīng)用的要求。
表7 仿真距離500 mm 時(shí)檢測(cè)目標(biāo)實(shí)際距離和實(shí)際坐標(biāo)Table 7 Actual distances and coordinates of the targets detected at 500 mm of simulation distance
表8 仿真距離700 mm 時(shí)檢測(cè)目標(biāo)實(shí)際距離和實(shí)際坐標(biāo)Table 8 Actual distances and coordinates of the targets detected at 700 mm of simulation distance
圖14 仿真距離700 mm 時(shí)檢測(cè)截圖Fig.14 Detection screenshot at 700 mm of simulation distance
2.4.2 遮擋目標(biāo)距離檢測(cè) 甜瓜采摘時(shí)葉片遮擋嚴(yán)重,為研究甜瓜被葉片遮擋時(shí)的距離測(cè)量問(wèn)題,設(shè)計(jì)甜瓜被葉片遮擋時(shí)的距離測(cè)量實(shí)驗(yàn)。如圖15所示,實(shí)驗(yàn)設(shè)計(jì)3 個(gè)被葉片遮擋的甜瓜,從左起第2、3、6 號(hào)甜瓜,其中2、3 號(hào)檢測(cè)卡中心點(diǎn)在甜瓜上,而6 號(hào)甜瓜其檢測(cè)框中心點(diǎn)在葉片上。檢測(cè)結(jié)果(表9)顯示,2 號(hào)和3 號(hào)甜瓜雖然被遮擋,但是其目標(biāo)框中心點(diǎn)仍在甜瓜上,因此深度攝像頭測(cè)量的距離為到甜瓜的距離,而6 號(hào)甜瓜其遮擋葉片正好在目標(biāo)識(shí)別框的中心點(diǎn)上,因此深度攝像頭測(cè)量的距離為到此葉片的距離,與到甜瓜的距離有一定差距,需要繼續(xù)改進(jìn)檢測(cè)程序。
圖15 葉片遮擋時(shí)測(cè)距實(shí)驗(yàn)截圖Fig.15 Screenshot of distance measurement experiment with leaves block muskmelons
表9 目標(biāo)遮擋實(shí)驗(yàn)檢測(cè)數(shù)據(jù)Table 9 Detection data of object occlusion experiment
采摘目標(biāo)的精確快速識(shí)別和定位是自動(dòng)采摘機(jī)器人采摘成功的基礎(chǔ)。本研究基于YOLOv3 模型,在對(duì)比采用不同主干網(wǎng)絡(luò)、FPN、激活函數(shù)和是否采用SPP 等不同組成結(jié)構(gòu)的基礎(chǔ)上,得出最佳YOLOResNet70 網(wǎng)絡(luò)模型結(jié)構(gòu)。該模型采用ResNet70 網(wǎng)絡(luò)作為主干,以Leaky ReLU 作為激活函數(shù),用SPP 避免漏檢和減少誤差,以FPN 作為頸部網(wǎng)絡(luò)用于獲取特征金字塔,GreedyNMS 用來(lái)提升檢測(cè)效率和準(zhǔn)確度,采用CIoU 損失函數(shù)時(shí)為最佳的檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)。表明通過(guò)對(duì)檢測(cè)模型的不同部分進(jìn)行調(diào)整、組合可以實(shí)現(xiàn)更好的目標(biāo)檢測(cè)結(jié)果,這也是目前基于深度學(xué)習(xí)的目標(biāo)檢測(cè)網(wǎng)絡(luò)的重要優(yōu)化措施,本研究的優(yōu)化措施可為其他果實(shí)采摘目標(biāo)檢測(cè)網(wǎng)絡(luò)的優(yōu)化提供重要借鑒。
本研究得出的檢測(cè)模型專(zhuān)門(mén)針對(duì)不同光照強(qiáng)度和不同遮擋情況采集數(shù)據(jù)集進(jìn)行訓(xùn)練優(yōu)化,通過(guò)不同模型的魯棒性檢測(cè)對(duì)比,發(fā)現(xiàn)該模型在不同光照環(huán)境下對(duì)嚴(yán)重遮擋的甜瓜檢測(cè)F1分?jǐn)?shù)優(yōu)于YOLOv3 和YOLOv5 模型,與YOLOv4模型相似,表明本研究提出的模型在不同情況下對(duì)溫室甜瓜檢測(cè)都具有良好的穩(wěn)定性。與其他已發(fā)表的研究結(jié)果相比,盡管數(shù)據(jù)集甜瓜遮擋較嚴(yán)重,但YOLOResNet70 模型的性能相比YOLOv3-DarkNet53(AP 為88.93%,40 FPS)在CropDeep[15]數(shù)據(jù)集和RetNet-ResNet50(AP 為87.36%,13 FPS)在Deepfruits[7]數(shù)據(jù)集上對(duì)哈密瓜的檢測(cè)性能分別提升0.47%和2.04%。
通過(guò)將YOLOResNet70 模型與RealSense D435i深度視覺(jué)傳感器融合實(shí)現(xiàn)對(duì)目標(biāo)真實(shí)坐標(biāo)的準(zhǔn)確定位。但是對(duì)葉片遮擋甜瓜的定位會(huì)產(chǎn)生一定誤差,需要提高檢測(cè)精度,可采用雙攝像頭從不同角度檢測(cè),以彌補(bǔ)單攝像頭的不足,這是本課題需要繼續(xù)研究的一個(gè)關(guān)鍵問(wèn)題。
本研究?jī)H針對(duì)眾多甜瓜中一種薄皮甜瓜的目標(biāo)檢測(cè)模型進(jìn)行了參數(shù)優(yōu)化,對(duì)其他品種甜瓜的檢測(cè)結(jié)果還有待驗(yàn)證和繼續(xù)研究,未來(lái)研究中可以繼續(xù)采集不同品種的甜瓜圖像,并針對(duì)多個(gè)甜瓜品種優(yōu)化得出更具有通用性的目標(biāo)檢測(cè)模型,以適應(yīng)所有甜瓜的采摘目標(biāo)檢測(cè)需求。采集全部品種的甜瓜圖像形成完整的甜瓜數(shù)據(jù)集也是另一項(xiàng)需要繼續(xù)深入的工作,能為未來(lái)其他學(xué)者的研究提供數(shù)據(jù)集支持,為甜瓜自動(dòng)采摘設(shè)備早日成型、減輕農(nóng)民的勞動(dòng)強(qiáng)度提供支持。
本研究針對(duì)甜瓜溫室復(fù)雜光影和遮擋生長(zhǎng)條件下甜瓜果實(shí)檢測(cè)困難的問(wèn)題,優(yōu)化得出一種YOLOResNet70 模型。與目前主流網(wǎng)絡(luò)結(jié)構(gòu)相比,YOLOResNet70 網(wǎng)絡(luò)比Faster R-CNN、YOLOv3、YOLOv4 和YOLOv5 網(wǎng)絡(luò)具有明顯的速度優(yōu)勢(shì),檢測(cè)速度比YOLOv4 提升14%,精度比YOLOv5提升7.4%,更加利于在低功率移動(dòng)設(shè)備上使用。模型具有較好的魯棒性,在不同光照強(qiáng)度下都具有良好的檢測(cè)穩(wěn)定性。對(duì)曝光增強(qiáng)和曝光降低的圖像,其檢測(cè)F1分?jǐn)?shù)值分別達(dá)95.8%和94.8%,表明模型能適應(yīng)溫室復(fù)雜的光照環(huán)境。優(yōu)化得到的模型與Intel RealSense D435i 攝像頭結(jié)合能夠?qū)崿F(xiàn)檢測(cè)目標(biāo)的空間定位,且距離定位準(zhǔn)確、誤差小,能夠達(dá)到實(shí)際使用需求。