彭書博 ,陳兵旗 ※,李景彬 ,范鵬宣 ,劉翔業(yè) ,房 鑫 ,鄧紅濤 ,張雄楚
(1. 中國農(nóng)業(yè)大學(xué)工學(xué)院,北京 100083;2. 石河子大學(xué)機(jī)械電氣工程學(xué)院,石河子 832003)
在農(nóng)田作業(yè)中,自動導(dǎo)航技術(shù)的發(fā)展給工作人員帶來了便利,作業(yè)效率相對提升,農(nóng)作物產(chǎn)量也隨之增加[1]。20 世紀(jì)90 年代以來,國內(nèi)外學(xué)術(shù)刊物上有較多的科研成果,主要集中在機(jī)器視覺導(dǎo)航方面;20 世紀(jì)90 年代中后期,國內(nèi)外對農(nóng)田導(dǎo)航的研究多集中在GPS(global positioning system)導(dǎo)航系統(tǒng);經(jīng)過20 多年的發(fā)展,全球高精度GNSS(global navigation satellite system)農(nóng)田導(dǎo)航技術(shù)已日趨成熟,但其主要應(yīng)用于無作物耕地的導(dǎo)航[2],而對于果樹等被葉片嚴(yán)重遮蓋的農(nóng)田,由于衛(wèi)星信號的丟失而造成定位精度下降。隨著數(shù)字照相技術(shù)和計(jì)算機(jī)技術(shù)的快速發(fā)展,當(dāng)前的視覺導(dǎo)航不僅具有更低的硬件成本,而且能夠應(yīng)用于耕作、播種、插秧、植保等農(nóng)事活動,是農(nóng)田作業(yè)機(jī)械實(shí)現(xiàn)自動導(dǎo)航的一個重要研究方向[3-5]。
本課題組前期對不同農(nóng)田作業(yè)條件下的導(dǎo)航路徑識別方法的研究,為本課題的實(shí)施提供了理論基礎(chǔ)、技術(shù)儲備與應(yīng)用經(jīng)驗(yàn)。CHEN 等[6]開發(fā)了一種水稻自動插秧機(jī)引導(dǎo)系統(tǒng),對田端田埂和幼苗行列進(jìn)行提取,并且可以檢測出行列和田間的末端。趙穎等[7]提出了一種改進(jìn)的哈夫變換(Hough transformation)方法,求得所有方向上的候補(bǔ)點(diǎn)連接已知點(diǎn)斜率的最大值,經(jīng)過轉(zhuǎn)化得到導(dǎo)航線斜率。張紅霞等[8]根據(jù)農(nóng)田圖像特點(diǎn),采用K均值聚類算法(K-means)實(shí)現(xiàn)農(nóng)作物與背景的分離,并通過定位點(diǎn)的位置信息對定位線進(jìn)行提取。李景彬等[9]先對圖像進(jìn)行濾波處理,再對第一幀圖像尋找候補(bǔ)點(diǎn)群、非第一幀圖像與前幀關(guān)聯(lián)尋找候補(bǔ)點(diǎn)群,最后通過已知點(diǎn)Hough 變換完成棉花種植生產(chǎn)過程中的導(dǎo)航路線自動提取。彭順正等[10]針對矮化密植棗園環(huán)境,提出“行閾值分割”和“行間區(qū)域”方法,將目標(biāo)和背景分離,并對行間噪聲進(jìn)行消除,準(zhǔn)確定位了主干與地面的交點(diǎn)。張雄楚等[11]提出在灰棗棗園中將像素值為0 的像素坐標(biāo)平均值作為Hough 變換的已知點(diǎn)坐標(biāo)進(jìn)行導(dǎo)航,在駿棗棗園中將每行像素上R(red,R)分量值最小的像素點(diǎn)平均值作為Hough 變換的已知點(diǎn)坐標(biāo)進(jìn)行導(dǎo)航。以上研究都是基于色彩變換的傳統(tǒng)圖像處理技術(shù),在特定的農(nóng)田環(huán)境有適用性,但對果園的適應(yīng)性較弱。
神經(jīng)網(wǎng)絡(luò)是一種非常有效的學(xué)習(xí)方法。該算法能夠充分考慮不同場景下的真實(shí)農(nóng)業(yè)場景,具有較強(qiáng)的抗干擾能力,能夠很好地應(yīng)對光照、陰影等干擾,如今被廣泛地應(yīng)用到各個領(lǐng)域。吳偉斌等[12]在金字塔場景解析網(wǎng)絡(luò)(pyramid scene parsing network,PSPNet)的基礎(chǔ)上構(gòu)建了MS-PSPNet 語義分割模型,對山地果茶園道路進(jìn)行分割識別。韓振浩等[13]使用U-Net 語義分割算法獲取到路徑擬合點(diǎn),接著對擬合點(diǎn)進(jìn)行多段擬合,最終形成導(dǎo)航路徑。YU 等[14]研究了5 種基于深度學(xué)習(xí)的機(jī)器視覺方法在不同野外場景下用于導(dǎo)航線的提取,并成功部署在系統(tǒng)上。LIU 等[15]將基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)的Faster R-CNN(faster region convolutional neural networks,F(xiàn)aster R-CNN)和SSD(single shot multiBox detector,SSD)目標(biāo)檢測模型應(yīng)用于稻田幼苗的識別和定位,以定位點(diǎn)進(jìn)行擬合提取導(dǎo)航線,結(jié)果表明,F(xiàn)aster R-CNN 精度更高但SSD 速度更快。張勤等[16]介紹了一種利用 YOLOv3 對水稻幼苗進(jìn)行目標(biāo)提取的方法,通過對幼苗圖像進(jìn)行灰度化、濾波,提取到幼苗的特征點(diǎn),對特征點(diǎn)進(jìn)行最小二乘法進(jìn)行苗列中間線的擬合。以上所研究的深度學(xué)習(xí)算法能夠有效地解決一些應(yīng)用場景中傳統(tǒng)圖像處理算法難以處理的問題。
蘋果一般采用寬行距、窄株距的種植模式[17],果園環(huán)境復(fù)雜多變,導(dǎo)致果園內(nèi)的光照和陰影呈現(xiàn)出非均勻分布的特點(diǎn),傳統(tǒng)圖像處理技術(shù)普適性較差。視覺導(dǎo)航參照點(diǎn)的選擇是獲得正確導(dǎo)航線的關(guān)鍵[18],果樹樹干根部中點(diǎn)位置是一個重要的特征點(diǎn)。在蘋果樹生長期間,果樹根部易被雜草等遮擋,造成果樹根點(diǎn)提取不準(zhǔn)確。
本文提出一種基于 YOLOv7 改進(jìn)的果樹樹干檢測算法,利用該模型獲得矩形邊框的底部中心坐標(biāo),并將其作為定位參照點(diǎn),通過最小二乘法對兩側(cè)果樹行線和導(dǎo)航線進(jìn)行擬合,以實(shí)現(xiàn)導(dǎo)航路徑的精準(zhǔn)規(guī)劃。
YOLOv7 網(wǎng)絡(luò)結(jié)構(gòu)主要由3 個部分組成,即輸入端(Input)、主干網(wǎng)絡(luò)(Backbone)、檢測頭網(wǎng)絡(luò)(Head),在檢測速率5~160 幀/s 范圍內(nèi),該模型在速度和精度上有較大的優(yōu)勢[19]。輸入部分通常為640×640×3 尺寸的圖像,經(jīng)過預(yù)處理輸入到主干網(wǎng)絡(luò)中。主干網(wǎng)絡(luò)在YOLOv5 的基礎(chǔ)上引入 ELAN(efficient layer aggregation networks)結(jié)構(gòu)和MP1(max pooling,MP1)結(jié)構(gòu),結(jié)合CBS 模塊對輸入的圖像進(jìn)行特征提取。其中,CBS 模塊由卷積(convolution)、標(biāo)準(zhǔn)化(batch normalization)、激活函數(shù)(SiLU)組成,ELAN 結(jié)構(gòu)由多個CBS 模塊進(jìn)行堆疊,MP1 結(jié)構(gòu)則通過最大池化層和卷積塊雙路徑分別對特征圖進(jìn)行壓縮。檢測頭網(wǎng)絡(luò)由SPPCSPC(spatial pyramid pooling,cross stage partial channel)結(jié)構(gòu)、引入ELAN-H 和MP2 結(jié)構(gòu)的特征提取網(wǎng)絡(luò)以及RepConv 結(jié)構(gòu)組成。由主干網(wǎng)絡(luò)輸出的3 個特征層在檢測頭網(wǎng)絡(luò)得到進(jìn)一步訓(xùn)練,經(jīng)過整合輸出3 個不同尺寸的預(yù)測結(jié)果,實(shí)現(xiàn)對目標(biāo)的多尺度檢測。
YOLOv7 模型對尺度較小或低分辨率的目標(biāo)信息識別能力不足,容易出現(xiàn)漏檢和誤檢的情況。而在果園圖像中,靠近相機(jī)的物體會占據(jù)更多的圖像空間,離相機(jī)較遠(yuǎn)的物體圖像空間占據(jù)少,看起來更小,這種“透視效果”對于果樹行遠(yuǎn)處的目標(biāo)樹干檢測提出了更高要求。另外,本文以矩形框的底邊中點(diǎn)坐標(biāo)作為果樹定位參照點(diǎn),矩形框的準(zhǔn)確性對導(dǎo)航線的提取至關(guān)重要,因此提升矩形框的置信度以及準(zhǔn)確度,可以有效提高導(dǎo)航線的精度。
改進(jìn)YOLOv7 結(jié)構(gòu)如圖1 所示。本文首先在YOLOv7檢測頭網(wǎng)絡(luò)中引入CBAM 注意力機(jī)制,以提取蘋果樹干的關(guān)鍵特征信息,同時抑制樹干背景噪聲對檢測目標(biāo)的干擾,增強(qiáng)模型對目標(biāo)的識別能力,然后在ELAN-H 模塊和Repconv 模塊間增加一個針對低分辨率圖像和小目標(biāo)的 CNN 模塊SPD-Conv,以替代甚至消除卷積步長和池化層帶來的負(fù)面影響,提高模型對低分辨率和小目標(biāo)的檢測能力。
為有效降低果園復(fù)雜環(huán)境的干擾,提升樹干識別檢測模型的魯棒性,本文在YOLOv7 的檢測頭網(wǎng)絡(luò)中引入CBAM 注意力機(jī)制,和SENet(squeeze-and-excitation networks)[20]只關(guān)注通道的注意力機(jī)制不同,它包括通道注意力模塊(channel attention module)和空間注意力模塊(spatial attention module)兩個部分。
通道注意力模塊用于計(jì)算每個通道的重要性。通過最大池化和平均池化對特征圖空間向量進(jìn)行池化操作,將池化結(jié)果輸入到多層感知機(jī)(shared multi-layer perception,Shared MLP)模型中,通過Sigmoid 函數(shù)生成通道注意力權(quán)重向量,從而更好地區(qū)分不同通道之間的特征。
空間注意力模塊用于計(jì)算每個像素在空間上的重要性,更好地捕捉圖像的空間結(jié)構(gòu)。空間注意力機(jī)制將通道注意力模塊得到的特征圖作為輸入,對其在空間維度上進(jìn)行最大池化和平均池化操作,然后進(jìn)行卷積操作,并通過Sigmoid 函數(shù)將其歸一化到[0,1]的范圍內(nèi),最后與通道注意力模塊得到的特征圖進(jìn)行內(nèi)積運(yùn)算,得到最終的特征圖。
通道注意力和空間注意力的組合,使得網(wǎng)絡(luò)能夠更加準(zhǔn)確地捕捉到目標(biāo)的重要特征,提高網(wǎng)絡(luò)的表示能力和泛化能力[21],從而實(shí)現(xiàn)對樹干關(guān)鍵特征的高效提取和特征增強(qiáng),削弱環(huán)境背景干擾。
在蘋果樹干圖像中存在著一些小目標(biāo),這些小目標(biāo)分辨率較低,特征學(xué)習(xí)受限;同時大目標(biāo)通常主導(dǎo)特征學(xué)習(xí)過程,致使小目標(biāo)無法檢測到。傳統(tǒng)CNN 架構(gòu)使用跨步卷積和池化層跳過具有大量冗余像素的信息,但在圖像分辨率低和小目標(biāo)識別任務(wù)中存在細(xì)粒度特征損失從而導(dǎo)致學(xué)習(xí)特征困難[22]。如圖1 所示,在YOLOv7 目標(biāo)檢測模型檢測頭網(wǎng)絡(luò)的ELAN-H 模塊后引入SPDConv 模塊可有效提升對低分辨率小目標(biāo)的檢測能力,減少漏檢、誤檢現(xiàn)象。
SPD-Conv 主要由一個SPD 層和一個非跨步卷積構(gòu)成。當(dāng)比例因子為2 時,在SPD 層部分,給定原始特征圖X尺寸為s×s×c1(s代表特征圖的長和寬,c1為特征圖的通道數(shù)),通過切片得到4 個子映射,它們的尺寸均為(s/2,s/2,c1),沿著通道維度將這些子特征映射連接起來,從而得到一個特征映射X′,它的空間維度減少了一個比例因子,通道維度增加了一個比例因子,尺寸為(s/2,s/2,4c1)。在SPD 特征轉(zhuǎn)換層之后,為了盡可能地保留所有的判別特征信息,添加一個具有c2通道數(shù)的無卷積步長層,其中c2<4c1,特征圖尺寸變?yōu)椋╯/2,s/2,c2)。
數(shù)據(jù)集采集于北京市昌平區(qū)的北京興壽農(nóng)業(yè)專業(yè)合作社,果園內(nèi)果樹樹形為紡錘形,種植行距約3.5 m,株距約2.5 m。數(shù)據(jù)集由PCBA-P1080P 工業(yè)攝像頭進(jìn)行采集,拍攝時水平手持?jǐn)z像頭,置于兩行果樹中央,距離地面1.5 m 左右,緩慢向前移動,并采集攝像頭正前方的圖像,包括不同光照亮度下的蘋果樹行間信息。共采集視頻28 條,平均時長在30 s 以上,對視頻進(jìn)行抽幀處理,得到數(shù)據(jù)集共1 588 張。將數(shù)據(jù)集進(jìn)行劃分,得到訓(xùn)練集1 264 張、驗(yàn)證集158 張、測試集158 張,使用LabelImg 進(jìn)行標(biāo)注,標(biāo)簽設(shè)置為tree。將完整的樹干標(biāo)定在矩形邊框內(nèi),1 588 張圖像所標(biāo)記的蘋果樹干為11 043 個。圖像標(biāo)定完成后,所生成的標(biāo)簽以xml 文件保存,文件中包含了標(biāo)簽類別和矩形邊框的左上角和右下角坐標(biāo)。
試驗(yàn)采用臺式計(jì)算機(jī),處理器為Intel(R)Core(TM)i5-12 400 2.50 GHz,內(nèi)存為16 GB,GPU 為NVIDIA GeForce RTX 3 070,運(yùn)行環(huán)境為Windows10(64 位)操作系統(tǒng),配置深度學(xué)習(xí)環(huán)境為Python=3.7.12+torch=1.7.1+torchvision=0.8.2,CUDA 版本為11.0。在訓(xùn)練過程中,對網(wǎng)絡(luò)模型使用隨機(jī)梯度下降法(stochastic gradient denset,SGD)進(jìn)行學(xué)習(xí)和更新網(wǎng)絡(luò)參數(shù)[23],并采用余弦退火的學(xué)習(xí)率衰減方式,設(shè)定的部分超參數(shù)如表1 所示。
表1 網(wǎng)絡(luò)訓(xùn)練超參數(shù)Table 1 Network training hyperparameters
本文采用準(zhǔn)確率(precision,P)、召回率(recall,R)、精度均值(average precision,AP)參數(shù)量(parameters,Params)和畫面每秒傳輸幀數(shù)(frames per second,F(xiàn)PS)來共同對改進(jìn)模型進(jìn)行評價[24]。其中準(zhǔn)確率指模型正確預(yù)測為正的占全部預(yù)測為正的比例,召回率指正確預(yù)測為正的占全部實(shí)際為正的比例,參數(shù)量代表模型的空間復(fù)雜程度,每秒傳輸幀數(shù)評價模型的識別速度。相關(guān)計(jì)算式如下:
式中TP 為準(zhǔn)確識別出樹干的數(shù)量,F(xiàn)P 為非樹干被檢測為樹干的數(shù)量,F(xiàn)N 為未檢測出樹干的數(shù)量。
為驗(yàn)證本文改進(jìn)YOLOv7 模型的優(yōu)勢,將其與Faster R-CNN、YOLOv7、YOLOv5、YOLOv4 進(jìn)行對比。在相同的硬件條件、數(shù)據(jù)集和試驗(yàn)參數(shù)下,試驗(yàn)結(jié)果如表2 所示??梢钥闯觯倪M(jìn)后的模型檢測精度比Faster R-CNN、YOLOv7、YOLOv5、YOLOv4 分別高11.5、2.31、4.02、13.87 個百分點(diǎn);檢測速度相對于YOLOv5、YOLOv4 較低,但高于Faster R-CNN 和原始YOLOv7 模型,滿足實(shí)時檢測的需要;在參數(shù)量方面,改進(jìn)YOLOv7 模型相比較原始YOLOv7 模型有一定增加,但遠(yuǎn)低于Faster R-CNN、YOLOv5、YOLOv4 模型。綜合比較,改進(jìn)后模型在蘋果樹干識別方面有較大的優(yōu)勢。
表2 不同模型試驗(yàn)結(jié)果對比Table 2 Comparison of different models test results
為進(jìn)一步驗(yàn)證本文改進(jìn)YOLOv7 模型中各改進(jìn)方法的有效性,對同一數(shù)據(jù)集以原始YOLOv7 模型為基礎(chǔ)進(jìn)行消融試驗(yàn),試驗(yàn)設(shè)置參數(shù)與表1 相同,試驗(yàn)結(jié)果如表3 所示。在檢測頭網(wǎng)絡(luò)引入CBAM 注意力機(jī)制模塊,優(yōu)化了網(wǎng)絡(luò)結(jié)構(gòu)的特征融合能力,減小了圖像中背景的干擾,增強(qiáng)目標(biāo)果樹的關(guān)鍵特征;同時引入SPD-Conv模塊,提高對低分辨率圖像和小物體的識別效果,降低模型錯檢、漏檢率。如表3 所示,原始YOLOv7 模型精度為92.9%,引入CBAM 注意力機(jī)制模塊后模型精度為93.97%,比原始YOLOv7 模型提升了1.07 個百分點(diǎn),本文算法精度達(dá)到了 95.21%,比引入 CBAM 注意力機(jī)制模型提升了1.24 個百分點(diǎn),檢測速度提升了4.85 幀/s。
表3 消融試驗(yàn)結(jié)果Table 3 Ablation experiment results
為驗(yàn)證本文改進(jìn)算法對樹干識別的有效性和通用性,對原YOLOv7 模型和改進(jìn)YOLOv7 模型的檢測效果進(jìn)行比較,如圖2 所示。可以看出,對于場景1,原YOLOv7模型漏檢了右前方的一棵蘋果樹,且圖像左下角這棵樹的目標(biāo)框標(biāo)記不太準(zhǔn)確,改進(jìn)YOLOv7 模型則沒有出現(xiàn)這些問題;對于場景2,原YOLOv7 模型漏檢了遠(yuǎn)處特征不明顯的一顆小樹,改進(jìn)YOLOv7 模型則檢測成功且更為準(zhǔn)確;場景3 中棗樹較密,原YOLOv7 模型識別數(shù)量少,改進(jìn)YOLOv7 模型識別出大多數(shù)樹干。試驗(yàn)結(jié)果表明,改進(jìn)后的算法在蘋果園以及棗園環(huán)境中能夠更有效更準(zhǔn)確地檢測出目標(biāo)。此外,改進(jìn)YOLOv7 模型輸出的置信度值通常更高,這說明改進(jìn)后的網(wǎng)絡(luò)檢測能力更強(qiáng),更能關(guān)注目標(biāo)的特征信息。
圖2 果樹樹干檢測效果對比Fig.2 Comparison of fruit tree trunk detection results
定位參照點(diǎn)的正確提取對于獲得果園內(nèi)導(dǎo)航線至關(guān)重要[25]。蘋果樹干與樹冠在橫向面積上相差較大,且樹枝向外部延伸長短不一,導(dǎo)致樹干中心點(diǎn)橫坐標(biāo)與樹冠不同,另外果樹在種植時一般以樹干根點(diǎn)作為定位成行的基點(diǎn),若以整棵樹的中心作為定位參照點(diǎn),導(dǎo)航線誤差較大,因此選擇以蘋果樹干根部中心作為定位參照點(diǎn)。
通過YOLOv7 訓(xùn)練可得到目標(biāo)樹干的矩形邊框坐標(biāo),進(jìn)而得到蘋果樹干的中心坐標(biāo)。設(shè)矩形邊框的左上角坐標(biāo)為(x1,y1),右下角的坐標(biāo)為(x2,y2),蘋果樹干根部中心坐標(biāo)(x,y)可以表示為
對圖2 中3 個場景進(jìn)行定位參照點(diǎn)提取,結(jié)果如圖3 所示,提取到的定位參照點(diǎn)用黃色標(biāo)記點(diǎn)表示,紅色標(biāo)記點(diǎn)為人工標(biāo)記樹干中點(diǎn)。
圖3 人工標(biāo)記樹干中點(diǎn)與定位參照點(diǎn)提取結(jié)果Fig.3 Extraction results of manual marking of trunk midpoints and locating reference points
在測試集中隨機(jī)抽取100 張圖像共計(jì)769 棵蘋果樹干進(jìn)行定位參照點(diǎn)的誤差分析,以驗(yàn)證本文選擇定位參照點(diǎn)的效果。如圖4 所示,可以看出橫向誤差和縱向誤差大都集中在10 像素以內(nèi),橫向誤差在10 像素以內(nèi)的有750 棵,占比97.5%,縱向誤差在10 像素以內(nèi)的有758 棵,占比98.5%,平均直線誤差為4.43 像素。
圖4 人工標(biāo)記樹干中點(diǎn)與定位參照點(diǎn)像素誤差Fig.4 Pixel error between manual marking of trunk midpoints and locating reference points
對相機(jī)進(jìn)行標(biāo)定,使用Matlab 軟件得到相機(jī)的內(nèi)參矩陣,通過計(jì)算將像素坐標(biāo)轉(zhuǎn)換成相機(jī)坐標(biāo)[26]繼而求出定位參照點(diǎn)與人工標(biāo)記樹干中點(diǎn)的實(shí)際平均誤差為8.85 cm,證明本文以矩形邊框底部中點(diǎn)代替樹干根部中點(diǎn)作為導(dǎo)航線定位參照點(diǎn)的有效性。
導(dǎo)航線擬合算法常用的有三次樣條插值[27]、Hough變換[28]和最小二乘法[29]等。三次樣條插值曲線每兩個坐標(biāo)點(diǎn)之間都需要擬合一組參數(shù),復(fù)雜度較高;Hough變換和最小二乘法都可以用于本研究導(dǎo)航線的擬合,但是由于目標(biāo)點(diǎn)較少,最小二乘法相對簡單快速,因此本研究選擇以最小二乘法進(jìn)行導(dǎo)航線的擬合。
最小二乘法的擬合原理是:給定一系列(xi,yi),(i=1,2,3…N),假定x和y具有線性關(guān)系,即可以用y=Kx+B的方式進(jìn)行擬合。定義一個優(yōu)化函數(shù),為了避免正負(fù)相消,使用實(shí)際觀察值與擬合值之間的差的平方和來定義:
當(dāng)f最小時,擬合效果最好,此時的K和B值為最優(yōu)參數(shù)。
在獲得左右兩列蘋果樹干的定位參照點(diǎn)坐標(biāo)后,進(jìn)行果樹行線的擬合。設(shè)單側(cè)樹干生成的20 個定位參照點(diǎn)坐標(biāo)為 (Xi,Yi),i=1,2,3,···m(Xi,Yi),i=1,2,3···20,通過最小二乘法對其進(jìn)行擬合,得到兩側(cè)果樹行線如圖5所示。在得到的兩側(cè)果樹行線上分別在垂直方向上等間隔取20 個點(diǎn),坐標(biāo)記為(Xl,Yl),l=1,2,3…20;(Xr,Yr),r=1,2,3…20;將這左右各20 個點(diǎn)的x、y坐標(biāo)分別對應(yīng)求取平均值,可以得到位于兩側(cè)果樹行線中間的導(dǎo)航擬合線的20 個定位點(diǎn),其坐標(biāo)為(Xp,Yp),p=1,2,3…20,表達(dá)式為
對定位點(diǎn)進(jìn)行最小二乘法計(jì)算,得到擬合導(dǎo)航線如圖6 中的黃色線段所示。圖中紅色線段為人工觀測導(dǎo)航線,是對兩側(cè)果樹人工標(biāo)記樹干中點(diǎn)進(jìn)行對應(yīng)求取平均值,再通過最小二乘法得到的。
圖6 擬合導(dǎo)航線和人工觀測導(dǎo)航線Fig.6 Fitting navigation line and manual observation navigation line
為分析擬合導(dǎo)航線與人工觀測導(dǎo)航線的誤差,引入偏差Xo,指人工觀測導(dǎo)航線的中點(diǎn)與擬合導(dǎo)航線中點(diǎn)的橫向像素距離。
對測試集中隨機(jī)抽取的100 張圖像進(jìn)行分析,得到Xo的統(tǒng)計(jì)結(jié)果,如圖7 所示。結(jié)果顯示,偏差均小于7.88 像素,平均偏差為2.45 像素,實(shí)際平均偏差為4.90 cm,滿足蘋果園內(nèi)導(dǎo)航的精確度要求。
圖7 導(dǎo)航線偏差分析Fig.7 Navigation line deviation analysis
對導(dǎo)航線檢測速度進(jìn)行分析,讀入在不同光照條件下拍攝的3 條視頻,并記錄視頻幀數(shù)。在處理程序中設(shè)置計(jì)時器,對程序開始和程序結(jié)束時間進(jìn)行記錄。完成對讀入視頻的導(dǎo)航線檢測之后,用程序結(jié)束的時刻減去程序開始的時刻,即為視頻處理時長。將視頻處理時長除以視頻幀數(shù),得到處理1 幀圖像的平均耗時。如表4 所示,3 段視頻平均耗時分別為0.047、0.040 和0.044 s/幀,總平均耗時為0.044 s/幀,滿足蘋果園內(nèi)導(dǎo)航的實(shí)時性需要。
表4 導(dǎo)航線提取速度分析Table 4 Navigation line extraction speed analysis
本文提出一種改進(jìn)YOLOv7 模型,在模型的檢測頭網(wǎng)絡(luò)加入CBAM 注意力機(jī)制模塊,使卷積神經(jīng)網(wǎng)絡(luò)能夠去注意圖像中的特殊的和重要的信息;同時引入了SPD-Conv 模塊,使模型更適合處理低分辨率圖像。使用改進(jìn)YOLOv7 模型,可以更精確地獲得果樹樹干的坐標(biāo)信息,進(jìn)而通過最小二乘法擬合導(dǎo)航線。結(jié)果表明本文所研究方法檢測出的擬合導(dǎo)航線和人工觀測導(dǎo)航線誤差較小,可以滿足導(dǎo)航的需要。本文獲得了以下主要結(jié)論:
1)改進(jìn)模型在兼顧檢測速度的同時有效提升了檢測精度,且在蘋果園和樹干密集的棗園中都適用。原始YOLOv7 算法精度為92.9%,改進(jìn)后的YOLOv7 算法精度為95.21%,減少了在檢測過程中出現(xiàn)的誤檢、漏檢等情況。
2)采用矩形邊框的中點(diǎn)代替樹干根點(diǎn)作為定位參照點(diǎn),對測試集中抽取的100 張圖像中的769 棵樹干進(jìn)行誤差分析,結(jié)果顯示橫向誤差在10 像素以內(nèi)的占比為97.5%;縱向誤差在10 像素以內(nèi)的占比為98.5%,證明了矩形邊框的中點(diǎn)代替樹干根點(diǎn)的可行性。
3)通過對定位參照點(diǎn)進(jìn)行最小二乘法計(jì)算得到擬合后的導(dǎo)航線。對測試集中抽取的100 張圖像進(jìn)行導(dǎo)航線誤差和速度分析,以擬合導(dǎo)航線的中點(diǎn)和人工觀測導(dǎo)航線中點(diǎn)的橫向像素距離作為依據(jù),結(jié)果顯示偏差在7.88個像素以內(nèi),平均偏差為2.45 像素,實(shí)際平均偏差為4.90 cm,處理1 幀圖像平均耗時為0.044 s,證明本文所采用提取導(dǎo)航線的方法具有較高的精確度。