劉洋,冀杰,趙立軍,2,馮偉,賀慶,王小康
1. 西南大學(xué) 工程技術(shù)學(xué)院,重慶 400715;2. 重慶文理學(xué)院 智能制造工程學(xué)院,重慶 永川 402160; 3. 重慶市農(nóng)業(yè)科學(xué)院 農(nóng)業(yè)機(jī)械研究所,重慶 404100
近年來(lái),隨著我國(guó)農(nóng)業(yè)技術(shù)水平的不斷提高,農(nóng)業(yè)管理的智能化水平得到了快速發(fā)展.其中,樹干檢測(cè)是農(nóng)業(yè)智能化管理中的重要內(nèi)容之一,能夠?yàn)橹悄苻r(nóng)機(jī)、果園機(jī)器人進(jìn)行果樹噴霧[1]、果樹施肥[2]、果實(shí)采摘、樹木定位[3,4]、樹干直徑測(cè)量[5]、病蟲害檢測(cè)[6]、自主導(dǎo)航[7]等工作提供前期環(huán)境信息.因此,可靠的樹干檢測(cè)方法是推進(jìn)農(nóng)業(yè)智能化管理的關(guān)鍵技術(shù).
目前,樹干檢測(cè)使用的傳感器主要為相機(jī)和激光雷達(dá).相機(jī)的圖像數(shù)據(jù)具有紋理豐富、分辨率高且色彩多樣等特點(diǎn); 相比圖像信息,激光雷達(dá)獲得的點(diǎn)云數(shù)據(jù)探測(cè)距離遠(yuǎn)且具有空間信息.國(guó)內(nèi)外學(xué)者針對(duì)兩者的檢測(cè)特點(diǎn)開展了大量研究.Zhao等[8]通過(guò)對(duì)相機(jī)圖像數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)以及K均值聚類等操作,結(jié)合YOLOv3-SPP模型進(jìn)行樹木識(shí)別,達(dá)到了93.7%的召回率; 劉慧等[9]采用RGB-D相機(jī)進(jìn)行樹干檢測(cè),通過(guò)融合深度信息與紋理特征,提高了檢測(cè)速度與識(shí)別精度,但該算法受光照影響較大,仍需進(jìn)一步改進(jìn).激光雷達(dá)通過(guò)發(fā)射脈沖激光并探測(cè)目標(biāo)的散射光特性,從而精準(zhǔn)獲取物體的三維深度信息,且受光線變化影響較小.張瑩瑩等[10]設(shè)計(jì)了一種基于二維激光雷達(dá)的樹干檢測(cè)算法,提出了自適應(yīng)DBSCAN算法,在無(wú)干擾情況下平均誤檢為0.13棵; 牛潤(rùn)新等[11]同樣基于二維激光雷達(dá)并進(jìn)行二次直線擬合等操作去除了地面與雜草的干擾,平均樹干檢測(cè)精度為95.5%.然而,二維激光雷達(dá)獲取信息仍然較少,在農(nóng)業(yè)上的使用受到許多限制.因此,劉偉洪等[12]采用三維激光雷達(dá)進(jìn)行果園果樹的檢測(cè)與定位,通過(guò)傳統(tǒng)歐式聚類進(jìn)行果樹檢測(cè),但該方法在檢測(cè)精度上存在問(wèn)題,在復(fù)雜場(chǎng)景下無(wú)法區(qū)別果樹與其他聚類結(jié)果.
雖然相機(jī)與激光雷達(dá)均可獨(dú)立進(jìn)行樹干檢測(cè),但都存在一定的局限性,對(duì)于一些復(fù)雜農(nóng)業(yè)場(chǎng)景,單一傳感器依然難以滿足實(shí)際工作需求.對(duì)此,國(guó)內(nèi)外學(xué)者嘗試將相機(jī)與激光雷達(dá)獲取的數(shù)據(jù)進(jìn)行融合,以期實(shí)現(xiàn)更加可靠的樹干檢測(cè).目前,在農(nóng)業(yè)領(lǐng)域應(yīng)用的相機(jī)與激光雷達(dá)融合檢測(cè)算法,主要針對(duì)二維激光雷達(dá)和單目相機(jī).在這些算法中,相機(jī)主要起檢測(cè)作用,二維激光雷達(dá)用于返回寬度、距離等信息,進(jìn)一步可對(duì)激光雷達(dá)信息進(jìn)行簡(jiǎn)單聚類,然后與相機(jī)信息進(jìn)行融合和檢測(cè)[13-18].這些方法的缺陷在于,二維激光雷達(dá)獲取信息較少,檢測(cè)精度不夠,系統(tǒng)無(wú)法直接獲得樹干的三維信息,從而導(dǎo)致雷達(dá)點(diǎn)云難以進(jìn)行精確聚類,使得檢測(cè)結(jié)果準(zhǔn)確性過(guò)于依賴相機(jī).當(dāng)相機(jī)受到較大光照影響時(shí),會(huì)顯著影響檢測(cè)精度.孫科等[19]將三維激光雷達(dá)與相機(jī)進(jìn)行融合,通過(guò)聯(lián)合激光雷達(dá)與相機(jī)的檢測(cè)結(jié)果進(jìn)行檢測(cè)與定位,彌補(bǔ)了二維激光雷達(dá)點(diǎn)云信息較少的缺陷,但使用的DBSCAN聚類算法對(duì)距離較為敏感,無(wú)法對(duì)較遠(yuǎn)物體準(zhǔn)確地聚類.
綜上所述,為提高樹干檢測(cè)的準(zhǔn)確率和可靠性并獲得更多三維信息,本文提出一種基于相機(jī)與三維激光雷達(dá)融合的樹干檢測(cè)方法,基于深度圖對(duì)激光雷達(dá)采集到的三維點(diǎn)云進(jìn)行聚類處理,同時(shí)采用深度學(xué)習(xí)算法YOLOv3對(duì)相機(jī)獲取的圖像進(jìn)行準(zhǔn)確識(shí)別,并基于交并比方法(Intersection over Union,IoU)對(duì)2種信息進(jìn)行融合,最終輸出穩(wěn)定可靠的樹干檢測(cè)結(jié)果.
圖1 硬件系統(tǒng)框架
本研究以自主研發(fā)的智能無(wú)人除草機(jī)器人作為測(cè)試平臺(tái),整體結(jié)構(gòu)及傳感器布置如圖1所示.使用的相機(jī)為STEREOLABS公司生產(chǎn)的ZED2雙目相機(jī),采樣頻率為60 Hz,分辨率為1 280×720,該采樣頻率和分辨率能夠同時(shí)滿足圖像處理速度和圖像信息豐富性的要求.激光雷達(dá)采用Velodyne公司生產(chǎn)的16線激光雷達(dá)VLP-16,采樣頻率為5~20 Hz,具有±15°的垂直視場(chǎng)以及360°的水平視場(chǎng).運(yùn)算平臺(tái)選用NVIDIA Jetson AGX Xavier,用于相機(jī)與激光雷達(dá)的實(shí)時(shí)數(shù)據(jù)處理和融合檢測(cè).考慮到三維激光雷達(dá)獲取數(shù)據(jù)與安裝高度有關(guān),將其安裝于移動(dòng)除草機(jī)器人頂部,相機(jī)位于其下方偏后并保持水平.
軟件系統(tǒng)以運(yùn)行在Ubuntu 18.04環(huán)境下的機(jī)器人操作系統(tǒng)(Robot Operating System,ROS)作為基礎(chǔ),采用C++作為編程語(yǔ)言.VLP-16激光雷達(dá)用于采集作業(yè)環(huán)境的360°點(diǎn)云數(shù)據(jù),而ZED2雙目相機(jī)用于采集前方圖像信息,將上述信息發(fā)送到NVIDIA Jetson AGX Xavier模塊進(jìn)行數(shù)據(jù)處理: 1) 使用深度圖點(diǎn)云處理方法對(duì)激光雷達(dá)點(diǎn)云信息進(jìn)行數(shù)據(jù)處理,實(shí)現(xiàn)地面去除以及點(diǎn)云聚類,并投影到圖像上獲得點(diǎn)云二維檢測(cè)框; 2) 使用訓(xùn)練好的YOLOv3模型對(duì)圖像信息進(jìn)行識(shí)別,獲得圖像檢測(cè)框、類別信息以及置信度; 3) 基于IoU對(duì)2種檢測(cè)框進(jìn)行信息融合并完成樹干檢測(cè).
基于激光雷達(dá)與相機(jī)的樹干檢測(cè)系統(tǒng)的總體框架如圖2所示.
圖2 軟件系統(tǒng)框架
不同傳感器采集到的數(shù)據(jù)在時(shí)間和空間上存在一定差異性,而信息融合需要確保所檢測(cè)到的物體處于同一時(shí)空下.因此,需要對(duì)相機(jī)與激光雷達(dá)進(jìn)行時(shí)間標(biāo)定與空間標(biāo)定.2個(gè)傳感器的安裝位置及坐標(biāo)系如圖3所示,OCXCYCZC為相機(jī)坐標(biāo)系,OLXLYLZL為激光雷達(dá)坐標(biāo)系.
圖3 激光雷達(dá)與相機(jī)安裝示意圖
圖4 各傳感器坐標(biāo)系關(guān)系
不同傳感器的數(shù)據(jù)采樣頻率不一致,其中,ZED2相機(jī)的采樣頻率為60 Hz,而VLP-16激光雷達(dá)的采樣頻率為5~20 Hz.為了確保各傳感器采集的信息位于同一時(shí)刻,需要進(jìn)行時(shí)間同步.由于2種傳感器工作時(shí)有同步的時(shí)間戳,本研究將使用時(shí)間最近鄰匹配方法,以采樣頻率較低的激光雷達(dá)為基礎(chǔ),采集到點(diǎn)云數(shù)據(jù)之后,讀取對(duì)應(yīng)的時(shí)間戳信息,找到時(shí)間戳間隔最小的圖像數(shù)據(jù)進(jìn)行匹配,實(shí)現(xiàn)激光雷達(dá)與相機(jī)信息在時(shí)間上的統(tǒng)一.
由于不同傳感器的安裝位置不同,為了確保檢測(cè)的物體處于同一坐標(biāo)系下,還需要進(jìn)行空間配準(zhǔn).激光雷達(dá)與相機(jī)的坐標(biāo)系之間存在如圖4所示的關(guān)系.其中,OLXLYLZL為激光雷達(dá)坐標(biāo)系,OCXCYCZC為相機(jī)坐標(biāo)系,xOfy為圖像坐標(biāo)系,uOpv為像素坐標(biāo)系.
由激光雷達(dá)坐標(biāo)系OLXLYLZL轉(zhuǎn)換到像素坐標(biāo)系uOpv的過(guò)程可表示為:
(1)
(2)
式中:ZC代表物體在相機(jī)坐標(biāo)系下的Z軸坐標(biāo);K代表相機(jī)內(nèi)部參數(shù)矩陣,矩陣的各項(xiàng)參數(shù)在相機(jī)設(shè)計(jì)生產(chǎn)時(shí)確定;R3×3、T3×1分別表示激光雷達(dá)坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)與平移變換矩陣.只要求得公式(1)中R3×3、T3×1詳細(xì)參數(shù),即可獲得激光雷達(dá)到相機(jī)的投影矩陣(R|T),從而將激光雷達(dá)點(diǎn)云投影到圖像中,實(shí)現(xiàn)后續(xù)的信息融合.通過(guò)激光雷達(dá)和相機(jī)聯(lián)合標(biāo)定實(shí)驗(yàn),得到標(biāo)定參數(shù)如表1所示,標(biāo)定結(jié)果如圖5所示.從圖片右側(cè)可以看出激光雷達(dá)點(diǎn)云能夠準(zhǔn)確地投影到對(duì)應(yīng)圖像中,與圖像中的物體實(shí)現(xiàn)空間上的對(duì)齊.
表1 傳感器參數(shù)
圖5 激光雷達(dá)與相機(jī)標(biāo)定結(jié)果
激光雷達(dá)通過(guò)檢測(cè)周圍物體反射回來(lái)的光脈沖或調(diào)制信號(hào),獲得自身與物體之間的距離[20].運(yùn)算平臺(tái)對(duì)激光雷達(dá)輸入的原始激光點(diǎn)云進(jìn)行數(shù)據(jù)處理,通過(guò)點(diǎn)云聚類方法,從周圍復(fù)雜的點(diǎn)云環(huán)境中提取出樹干點(diǎn)云,并用于后續(xù)信息融合.激光雷達(dá)點(diǎn)云的聚類流程如圖6所示.
圖6 激光雷達(dá)點(diǎn)云聚類流程圖
激光雷達(dá)原始點(diǎn)云數(shù)據(jù)量大,直接對(duì)其進(jìn)行數(shù)據(jù)處理會(huì)占用計(jì)算單元的較大算力并增加計(jì)算時(shí)間,不利于后續(xù)點(diǎn)云聚類.本文采用深度圖的方式將三維點(diǎn)云數(shù)據(jù)換算為距離數(shù)據(jù)并進(jìn)行保存.具體流程為:
1) 根據(jù)激光雷達(dá)數(shù)據(jù)采集范圍設(shè)置二維圖大小,圖像縱向坐標(biāo)為激光雷達(dá)線數(shù),橫向坐標(biāo)為激光雷達(dá)單線掃描點(diǎn)數(shù).
2) 遍歷點(diǎn)云數(shù)據(jù),計(jì)算各激光點(diǎn)到激光雷達(dá)的距離.
3) 將得到的距離信息按點(diǎn)云掃描排列順序填入圖像,得到如圖7所示的數(shù)據(jù)結(jié)構(gòu).
圖7 VLP-16激光雷達(dá)深度圖示意圖
使用深度圖進(jìn)行點(diǎn)云處理主要有2個(gè)優(yōu)點(diǎn): 1) 可以直接利用鄰域關(guān)系處理二維圖像,簡(jiǎn)化聚類中的搜索問(wèn)題.2) 降低了待處理三維點(diǎn)云的維度,使整體計(jì)算速度增快.
圖8 激光雷達(dá)相鄰線束地面激光點(diǎn)
在點(diǎn)云聚類中,地面點(diǎn)云會(huì)影響聚類精度,增大運(yùn)算量,故需要先去除地面點(diǎn)云數(shù)據(jù).對(duì)此,本文采用基于角度閾值的方法去除地面點(diǎn)云.由于深度圖的排列順序與激光雷達(dá)掃描順序相同,則深度圖中的一列數(shù)據(jù),可以用來(lái)表示激光雷達(dá)在某個(gè)方向上所采集的所有縱向點(diǎn).
假設(shè)激光雷達(dá)縱向相鄰的兩條掃描線打在地面上的點(diǎn)分別為A點(diǎn)與B點(diǎn),其坐標(biāo)分別為A(x0,y0,z0),B(x1,y1,z1),如圖8所示.
則A點(diǎn)與B點(diǎn)的垂直高度差hz可表示為:
hz=|z0-z1|
(3)
同理,A點(diǎn)與B點(diǎn)的水平距離差dAB可表示為:
(4)
根據(jù)A、B兩點(diǎn)水平距離差dAB和垂直高度差hz,計(jì)算A、B兩點(diǎn)連線的夾角θ:
θ=arctan (hz/dAB)
(5)
如果激光雷達(dá)完全水平安裝且地面平坦,理論上角度θ應(yīng)為0°,考慮到實(shí)際安裝中的工藝誤差以及運(yùn)動(dòng)中的振動(dòng)等因素,設(shè)置地面角度閾值10°,即當(dāng)|θ|<10°時(shí),認(rèn)為A點(diǎn)與B點(diǎn)屬于地面點(diǎn).對(duì)整個(gè)深度圖進(jìn)行遍歷后,即可完全分割出地面點(diǎn)云,最終結(jié)果如圖9所示.
圖9 地面點(diǎn)云去除前后對(duì)比
在激光雷達(dá)的點(diǎn)云聚類中,本文選擇由Bogoslavskyi等提出的一種基于深度圖的聚類算法[21],主要根據(jù)相鄰點(diǎn)之間的角度關(guān)系來(lái)判斷是否屬于同一類.相比傳統(tǒng)的歐式聚類算法與DBSCAN算法,該算法能夠更加有效地覆蓋周圍點(diǎn),并且對(duì)深度信息更加敏感,而樹干在豎直方向上近似于垂直地面,具有明顯的角度特征與深度特征,故該算法對(duì)樹干具有良好的聚類效果.
該算法的聚類原理如圖10所示.圖中A點(diǎn)與B點(diǎn)為任意兩相鄰點(diǎn),O點(diǎn)為激光雷達(dá)坐標(biāo)原點(diǎn),連接OA、OB與AB,設(shè)OA為較長(zhǎng)邊,過(guò)B點(diǎn)作OA垂線,垂足為C點(diǎn),β為OA與AB夾角.其中,α為激光雷達(dá)水平分辨率或垂直分辨率對(duì)應(yīng)角度.由此可以得出β的表達(dá)式為:
(6)
圖10 基于深度圖的點(diǎn)云聚類
設(shè)置β角的一個(gè)閾值為θ,當(dāng)β>θ時(shí),認(rèn)為A點(diǎn)與B點(diǎn)相對(duì)平坦,存在同一深度; 當(dāng)β<θ時(shí),認(rèn)為A點(diǎn)與B點(diǎn)之間的深度過(guò)大,可以認(rèn)為兩者不屬于同一類.同時(shí),采用廣度優(yōu)先搜索(Breadth First Search,BFS)作為該算法的搜索方式.廣度優(yōu)先搜索是圖搜索中的一種,根據(jù)起始點(diǎn)逐層展開深度圖中的相鄰節(jié)點(diǎn),直到找到終點(diǎn)為止.基于這種搜索方式可以盡可能地遍歷起始點(diǎn)周圍所有滿足條件的點(diǎn),實(shí)現(xiàn)更加準(zhǔn)確的點(diǎn)云聚類.
具體算法流程如下:
1) 遍歷當(dāng)前激光雷達(dá)點(diǎn)云對(duì)應(yīng)的深度圖,選擇未被標(biāo)記的一點(diǎn),視為起始點(diǎn).
2) 利用廣度優(yōu)先搜索對(duì)深度圖中該點(diǎn)的上、下、左、右4個(gè)點(diǎn)進(jìn)行搜索,選擇未被標(biāo)記的點(diǎn),根據(jù)公式(6)進(jìn)行角度計(jì)算,判斷其周圍點(diǎn)是否與其具有類似深度,如果具有類似深度則打上同一標(biāo)記,返回該點(diǎn)并存儲(chǔ); 如果深度差距過(guò)大則略過(guò)該點(diǎn)不進(jìn)行存儲(chǔ).
3) 對(duì)存儲(chǔ)的點(diǎn)繼續(xù)進(jìn)行廣度優(yōu)先搜索,重復(fù)2)中的步驟,直到存儲(chǔ)的點(diǎn)遍歷完畢.
4) 繼續(xù)尋找下一個(gè)類,重復(fù)步驟1),2),3),直到深度圖中所有點(diǎn)均已被標(biāo)記.
5) 對(duì)擁有同一標(biāo)記的點(diǎn)的集合進(jìn)行判斷,如果其總點(diǎn)數(shù)或縱向點(diǎn)數(shù)大于設(shè)定的最小閾值,則滿足聚類條件并將這些點(diǎn)視為同一類,否則將其視為噪聲點(diǎn).
由于樹干具有近似垂直于地面的特點(diǎn),因此,該算法不僅能夠區(qū)分不同深度的點(diǎn)云,而且能夠?qū)涓蛇M(jìn)行準(zhǔn)確聚類.但是,對(duì)于墻體、雜草、樹葉等與樹干類似的物體,也存在一定的誤識(shí)別,如圖11所示.故本文采用一種自適應(yīng)閾值的方法,對(duì)聚類算法進(jìn)行了優(yōu)化,減少了其他物體對(duì)于聚類結(jié)果的影響.
圖11 傳統(tǒng)深度圖點(diǎn)云聚類結(jié)果
對(duì)于水平方向的激光雷達(dá)點(diǎn)云,由于激光雷達(dá)的水平分辨率較小,2個(gè)相鄰點(diǎn)到激光雷達(dá)的直線距離可以看作近似相等.那么,理想情況下2個(gè)相鄰點(diǎn)之間的距離s、激光雷達(dá)水平分辨率α、點(diǎn)到激光雷達(dá)的直線距離d之間滿足關(guān)系:
s=dtanα
(7)
對(duì)于直徑為D的樹干,其水平方向上的點(diǎn)云數(shù)量N,理論上應(yīng)該為:
N=D/s
(8)
取樹干直徑最大、最小值分別為Dmax和Dmin,理論上接收的聚類點(diǎn)的最大和最小數(shù)量應(yīng)為Nmax=Dmax/s和Nmin=Dmin/s.而在實(shí)際使用時(shí),考慮到樹干橫截面為圓形,則水平方向上的聚類點(diǎn)數(shù)量Nleng存在一定變化,根據(jù)實(shí)際情況設(shè)置Nleng應(yīng)滿足:
(Nmin-3) (9) 設(shè)置該條件為橫向點(diǎn)云的判斷閾值,根據(jù)距離遠(yuǎn)近可自適應(yīng)調(diào)節(jié)閾值大小,保證在不同距離下都能對(duì)點(diǎn)云進(jìn)行限制.同理,也可以在縱向上對(duì)點(diǎn)云的數(shù)量進(jìn)行限制.如圖12所示,以本研究采用的VLP-16激光雷達(dá)為例,其線束分布為水平線上方8條線束,下方8條線束,相鄰線束間隔為2°,縱向上形成±15°的測(cè)量范圍. 圖12 激光雷達(dá)線束分布 若已知激光雷達(dá)的安裝高度為h,則可以計(jì)算激光雷達(dá)最下方線束打到地面的水平距離為d0: (10) 同理,得到水平線下方所有線束打到地面的水平距離di.根據(jù)樹干與激光雷達(dá)的距離d,比較判斷di與d的大小,能夠確定水平線下方激光雷達(dá)打在樹干上的縱向總點(diǎn)數(shù)N1.設(shè)樹干的高度為H,樹干最高點(diǎn)到激光雷達(dá)中心點(diǎn)連線與水平線夾角為γ,則建立關(guān)于γ的公式為: (11) 水平線上方第一條線束與水平線夾角為1°,相鄰雷達(dá)線束間隔為2°,統(tǒng)計(jì)水平線上方各激光雷達(dá)線束與水平線之間的夾角,將這些夾角與計(jì)算得到的γ角進(jìn)行比較,能夠確定水平線上方激光雷達(dá)打在樹干上的縱向總點(diǎn)數(shù)N2.那么,理論上高度為H的樹干在縱向上的總點(diǎn)數(shù)Nline應(yīng)為: Nline=N1+N2 (12) 取樹干高度的最大、最小值分別為Hmax、Hmin,則可以限制樹干縱向上的總點(diǎn)數(shù)Nline應(yīng)在對(duì)應(yīng)的Nmax、Nmin之間.通過(guò)檢測(cè)樹干到激光雷達(dá)的距離,便可以在縱向上對(duì)樹干進(jìn)行聚類點(diǎn)數(shù)的限制. 增加橫向和縱向上的自適應(yīng)閾值,可以限制點(diǎn)云的聚類,從而去除許多與樹干擁有類似特征,但在橫、縱向上差異明顯的物體.圖13為2種聚類方法的對(duì)比,相比圖(a),圖(b)中的大面積墻體、樹葉、雜草等大部分無(wú)關(guān)數(shù)據(jù)都已去除.另外,完成聚類后,可以根據(jù)邊緣點(diǎn)云對(duì)應(yīng)的三維坐標(biāo)計(jì)算出三維框,再結(jié)合空間標(biāo)定得到的投影矩陣,即可獲得樹干點(diǎn)云到圖像的二維框,如圖14所示. 圖13 聚類算法改進(jìn)前后對(duì)比 圖14 樹干的三維框圖與二維投影圖 本文采用YOLOv3算法對(duì)相機(jī)圖像中的樹干信息進(jìn)行檢測(cè).YOLOv3[22]是目前應(yīng)用較為廣泛的目標(biāo)檢測(cè)算法之一,與其他YOLO算法相比較,其網(wǎng)絡(luò)結(jié)構(gòu)(Darknet-53)得到了改進(jìn),在尺度預(yù)測(cè)和多標(biāo)簽分類方面效果更加明顯.在該網(wǎng)絡(luò)結(jié)構(gòu)下,通過(guò)對(duì)輸入的圖像進(jìn)行特征提取以及訓(xùn)練,可以在短時(shí)間內(nèi)實(shí)現(xiàn)對(duì)目標(biāo)的精確識(shí)別.同時(shí),Darknet-53引入了殘差網(wǎng)絡(luò)結(jié)構(gòu)[23],可以控制梯度傳播,這種結(jié)構(gòu)的引入可以顯著提高訓(xùn)練精度,使訓(xùn)練的權(quán)重更加可靠. 本研究的圖像檢測(cè)部分采用公開的KITTI圖像數(shù)據(jù)集,從中挑選1 000張帶有樹木的圖像制作數(shù)據(jù)集,并用于YOLOv3的網(wǎng)絡(luò)訓(xùn)練.其中,訓(xùn)練集800張,測(cè)試集200張.其中實(shí)驗(yàn)系統(tǒng)平臺(tái)采用Ubuntu 18.04,深度學(xué)習(xí)框架為PyTorch 1.2.0,CPU為八核ARM64 v8.2,GPU為NVIDIA Volta,內(nèi)存為32GB LPDDR4x.通過(guò)圖15(a)中的損失變化曲線可以看出神經(jīng)網(wǎng)絡(luò)模型對(duì)于數(shù)據(jù)的學(xué)習(xí)情況.由于類別較少,曲線在訓(xùn)練開始后不久趨于平穩(wěn),經(jīng)過(guò)多次訓(xùn)練后收斂.經(jīng)過(guò)測(cè)試后,其平均幀率約為31,對(duì)于20 m以內(nèi)樹干檢測(cè)的平均精度為93.3%.由于該算法較為成熟且應(yīng)用廣泛,本文不再詳細(xì)闡述該算法.在本地實(shí)驗(yàn)場(chǎng)景下,利用YOLOv3檢測(cè)樹干的結(jié)果圖如圖15(b)所示. 圖15 基于YOLOv3的樹干檢測(cè) 利用前兩節(jié)提出的方法對(duì)激光雷達(dá)和相機(jī)數(shù)據(jù)進(jìn)行處理,分別獲得了樹干的點(diǎn)云聚類結(jié)果和圖像檢測(cè)結(jié)果.點(diǎn)云聚類結(jié)果主要包含樹干的三維信息以及位置信息,而圖像檢測(cè)結(jié)果主要包含樹干的類別信息以及置信度.對(duì)2種傳感器的數(shù)據(jù)進(jìn)行時(shí)間與空間同步后,可以得到點(diǎn)云三維框在圖像上投影的二維檢測(cè)框.然而,線束較少的激光雷達(dá)能提供的數(shù)據(jù)特征信息較少,在識(shí)別過(guò)程中,單獨(dú)使用激光雷達(dá)仍有可能將部分類似樹干的對(duì)象進(jìn)行聚類并產(chǎn)生多余的檢測(cè)框.另外,相機(jī)雖然缺少深度方面的信息,但獲得的紋理信息更加豐富,能更準(zhǔn)確地對(duì)樹干進(jìn)行識(shí)別.因此,為了克服單一傳感器的不足和缺陷,本文通過(guò)計(jì)算2種檢測(cè)框的IoU實(shí)現(xiàn)2種傳感器的信息融合,進(jìn)而準(zhǔn)確識(shí)別樹干并獲取其三維信息. IoU表示2種檢測(cè)框的交集與并集的比值,是目標(biāo)檢測(cè)中的常用概念,反映了2種檢測(cè)框的重疊關(guān)系,如圖16所示.本文采用該方法量化激光雷達(dá)聚類框與相機(jī)檢測(cè)框的重疊程度.設(shè)定一個(gè)重疊閾值,當(dāng)2種框的IoU大于該閾值時(shí)認(rèn)為融合檢測(cè)為同一物體,將相機(jī)檢測(cè)到的類別信息、置信度與激光雷達(dá)獲得的三維信息、位置信息相融合,輸出準(zhǔn)確、豐富的檢測(cè)信息. 基于IoU的激光雷達(dá)和相機(jī)融合算法流程如下: 1) 從當(dāng)前幀提取激光雷達(dá)點(diǎn)云聚類結(jié)果,通過(guò)時(shí)間同步找到匹配的圖像檢測(cè)結(jié)果. 2) 從圖像二維檢測(cè)框集合中選取1個(gè)檢測(cè)框,并與所有點(diǎn)云二維框進(jìn)行IoU計(jì)算,當(dāng)大于設(shè)定閾值時(shí),認(rèn)為相互匹配,融合兩者信息并輸出; 否則認(rèn)為不匹配. 3) 遍歷完所有點(diǎn)云二維檢測(cè)框后,選取下一個(gè)圖像二維檢測(cè)框并重復(fù)2)中的步驟.直到當(dāng)前幀所有圖像二維檢測(cè)框計(jì)算完畢.具體流程如圖17所示.圖18為2種檢測(cè)框基于IoU融合的結(jié)果圖,其中紅色框?yàn)閅OLOv3檢測(cè)框,藍(lán)色框?yàn)榧す饫走_(dá)聚類框,通過(guò)IoU融合后輸出綠色的融合框. 圖16 IoU計(jì)算圖 圖17 基于IoU的融合算法流程圖 圖18 IoU融合圖 為驗(yàn)證融合算法的穩(wěn)定性和可靠性,在某市農(nóng)業(yè)機(jī)械研究所進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)場(chǎng)景中樹高為2~5 m,間距約為1~2 m,場(chǎng)景中樹木枝葉茂密,樹干高度、粗細(xì)存在一定差異.實(shí)驗(yàn)中設(shè)置移動(dòng)除草機(jī)器人的平均速度為0.8 m/s,在該場(chǎng)景下不同地點(diǎn)采集數(shù)據(jù),進(jìn)行了多組實(shí)驗(yàn)來(lái)評(píng)估和對(duì)比算法性能. 本文選取了實(shí)驗(yàn)過(guò)程中的3個(gè)場(chǎng)景進(jìn)行分析比較,其中藍(lán)色框代表激光雷達(dá)聚類后投影的二維框,紅色框代表YOLOv3對(duì)樹干的檢測(cè)框,綠色框代表2種框融合后的檢測(cè)框.具體檢測(cè)結(jié)果如圖19-圖22所示. 從圖19可以看出,激光雷達(dá)的點(diǎn)云聚類結(jié)果中已經(jīng)消除了墻體、雜草等影響因素,不會(huì)產(chǎn)生多余的聚類框.在進(jìn)行激光雷達(dá)聚類結(jié)果與相機(jī)檢測(cè)結(jié)果融合時(shí),可以有效降低計(jì)算量,減少異???qū)θ诤系挠绊懖⑻岣邷?zhǔn)確度. 圖19 激光雷達(dá)聚類結(jié)果 圖20為激光雷達(dá)的聚類結(jié)果在圖像上投影形成的二維框,該二維框表征了激光雷達(dá)聚類結(jié)果在圖像中的位置.在去除了左側(cè)墻體、右側(cè)雜草等多余點(diǎn)云聚類二維框后,可以得到更加精簡(jiǎn)的樹干聚類二維框. 從圖21可以看出,YOLOv3算法能夠?qū)崟r(shí)、準(zhǔn)確地檢測(cè)到圖像范圍內(nèi)的大部分樹干,滿足算法的實(shí)時(shí)性和準(zhǔn)確性要求.但是,由于部分樹干形狀復(fù)雜且有些樹枝存在較明顯的分叉,檢測(cè)時(shí)會(huì)出現(xiàn)對(duì)同一棵樹干進(jìn)行重復(fù)檢測(cè)的現(xiàn)象,出現(xiàn)了多個(gè)檢測(cè)框.該問(wèn)題需要在信息融合時(shí)借助激光雷達(dá)二維框消除該現(xiàn)象. 圖22中的綠色框代表了融合檢測(cè)結(jié)果,紅色字體表示該框?qū)?yīng)的類別以及在圖像坐標(biāo)系上的位置信息.借助融合檢測(cè)算法,能夠有效檢測(cè)出樹干部分并返回其位置坐標(biāo),消除了激光雷達(dá)與相機(jī)可能存在的誤檢,提高了檢測(cè)的準(zhǔn)確性,同時(shí)實(shí)現(xiàn)了對(duì)樹干的檢測(cè)與位置的估計(jì). 圖20 激光雷達(dá)投影結(jié)果 圖21 YOLOv3檢測(cè)結(jié)果 圖22 融合檢測(cè)結(jié)果 選擇實(shí)驗(yàn)中比較有代表性的10個(gè)關(guān)鍵位置,對(duì)比融合算法檢測(cè)出的坐標(biāo)位置與實(shí)際測(cè)量得到的坐標(biāo)位置,得到激光雷達(dá)坐標(biāo)系下樹干x方向與y方向的誤差并進(jìn)行分析,如表2所示. 表2 樹干坐標(biāo)誤差分析 由表2可計(jì)算x方向上的平均誤差ex為: (13) 同理,可以得出y方向上的平均誤差ey為: (14) 由表中數(shù)據(jù)以及x,y方向上的平均誤差可知,融合檢測(cè)的精度會(huì)隨著距離的增加逐漸下降,但平均誤差控制在0.08 m左右.對(duì)本實(shí)驗(yàn)而言,提出的融合算法能夠滿足無(wú)人割草機(jī)對(duì)樹木位置的定位要求.通過(guò)計(jì)算正確目標(biāo)數(shù)與總目標(biāo)數(shù)的比值,得到該算法的準(zhǔn)確率并用于定量分析目標(biāo)檢測(cè)結(jié)果,得到表3所示的準(zhǔn)確率統(tǒng)計(jì)結(jié)果. 表3 目標(biāo)檢測(cè)準(zhǔn)確率 由表3可知,激光雷達(dá)聚類檢測(cè)算法的準(zhǔn)確率相對(duì)較低,這是由于存在一些與樹干相似的物體,例如細(xì)長(zhǎng)的墻體等,造成激光雷達(dá)的誤判.另外,盡管YOLOv3算法的目標(biāo)檢測(cè)結(jié)果與融合檢測(cè)結(jié)果的準(zhǔn)確率大致相同,但該算法難以獲取準(zhǔn)確的樹干位置.而基于兩者的融合檢測(cè)算法,不僅能夠盡可能去除干擾信息,保持較高準(zhǔn)確率,同時(shí)還能返回樹干的三維信息與準(zhǔn)確位置估計(jì),獲得更豐富的檢測(cè)信息. 1) 在傳統(tǒng)基于深度圖的點(diǎn)云聚類算法上,提出了橫向與縱向的自適應(yīng)閾值,提高了樹干點(diǎn)云聚類的準(zhǔn)確度,在實(shí)際使用中能夠滿足樹干檢測(cè)的實(shí)時(shí)性與準(zhǔn)確性要求. 2) 激光雷達(dá)與相機(jī)融合算法增加了目標(biāo)檢測(cè)的空間信息,能夠同時(shí)輸出檢測(cè)目標(biāo)的類別與三維空間信息.在除草機(jī)器人實(shí)驗(yàn)中,樹干定位橫向平均位置誤差為0.075 m,縱向平均誤差為0.078 m,融合檢測(cè)準(zhǔn)確率為93.1%,該算法可用于樹干檢測(cè)與位置估計(jì). 3) 改進(jìn)的激光雷達(dá)檢測(cè)算法能夠消除大面積墻體等物體對(duì)結(jié)果的影響,但對(duì)某些細(xì)長(zhǎng)柱體的檢測(cè)仍存在一定的不足.在后續(xù)的研究中,將繼續(xù)優(yōu)化激光雷達(dá)聚類算法并改進(jìn)圖像處理算法,進(jìn)一步提高果園樹干檢測(cè)的精度和可靠性.4 基于圖像的樹干檢測(cè)
5 激光雷達(dá)與相機(jī)融合算法
6 實(shí)驗(yàn)驗(yàn)證
6.1 實(shí)驗(yàn)檢測(cè)結(jié)果
6.2 算法準(zhǔn)確性分析
7 結(jié)論
西南大學(xué)學(xué)報(bào)(自然科學(xué)版)2024年2期