?

利用SLAM點云的玉米株數自動識別

2024-04-03 12:15王宏濤張成龍楊福芹
激光技術 2024年1期
關鍵詞:玉米田自動識別株數

王 果,王 成,王宏濤,張成龍,楊福芹

(1.河南工程學院 土木工程學院,鄭州 451191,中國;2.河南理工大學 測繪與國土信息工程學院, 焦作 454000,中國; 3.中國科學院 空天信息創新研究院 數字地球重點實驗室,北京 100094,中國; 4.北京控制工程研究所,北京 100190,中國)

0 引 言

株數計數是特定區域內準確的植株數量[1],作為研究出苗率和產量分析的重要參數,玉米植株計數有助于評估玉米生長狀況和田間管理,對玉米估產和智慧農業具有重要意義[2-3]。人工實地考察法是玉米株數識別最常規的方法,該方法對玉米植株具有一定的損傷性,需要耗費大量的人力和物力,且對現場經驗具有較大的依賴性,尤其對于高密度種植區域,容易出現錯記、漏記現象[4-5]。

激光雷達(light detection and ranging,LiDAR)技術的出現與不斷發展,為農田環境下作物的識別應用提供了新的技術手段。一方面利用激光雷達技術使得玉米株數獲取更加準確,另一方面由于外業數據獲取自動化程度高,大大降低了玉米株數獲取的人力成本,節約了數據采集時間,且由于非接觸的測量方式,避免了對作物的損傷,成為目前作物生長參數獲取和處理的研究熱點[6-9]。國內外學者利用激光雷達技術針對不同作物開展了相關研究,LEI等人[10]利用無人機激光雷達進行玉米數據獲取并研究玉米葉面積密度的提取方法,為玉米發育速度和育種提供合理的種植密度參考。GUAN等人[11]利用機載激光雷達通過局部鄰域特征分割單行大豆植株,利用均值漂移方法對單株大豆進行提取。ZERMAS等人[12]以玉米為例,研究隨機點云的滑動行為,提出隨機截取的節點(randomly intercepted nodes,RAIN)算法,實現玉米莖葉的分離。JIN等人[13]利用地面掃描激光點云,采用快速區域卷積神經網絡(fast region convolutional neural network,Fast R-CNN)對玉米的莖桿進行訓練,結合區域增長方法對單個玉米植株進行分割。LIN等人[14]通過地面掃描儀對玉米進行實驗,在點云配準的基礎上,利用玉米植株的圓柱幾何信息進行玉米莖稈的識別。JIANG等人[15]利用無人機激光雷達點云,借助冠層高度模型(canopy height model,CHM)中包含的植株高度,發展了固定窗口局部最大值算法,實現了玉米成株數的自動檢測。

目前,國內外針對點云分割算法已經具有大量研究,但對于農田尺度非結構對象玉米等作物的點云分割和處理技術較少[16],已有的作物識別方面的研究,對農田尺度作物的生長環境和狀況具有較大的依賴性,而玉米農田通常具有種植密度較高、植株之間遮擋較為嚴重等特征,使得現有的農田作物識別方法針對玉米農田適應性較差[17]。

本文中利用飛馬SLAM100手持掃描儀對農田真實環境下的玉米田塊進行數據采集,利用同時定位與地圖構建(simultaneous localization and mapping,SLAM)點云生成過程中的先驗紋理特征和垂直度特征,對玉米株數自動識別算法進行研究,獲取玉米莖稈數量,為玉米作物3維仿真、田間管理、玉米估產和智慧農業等提供支撐。

1 SLAM點云玉米株數自動識別方法

作為典型的豎直生長作物,玉米植株在空間上具有近似垂直于地面、空間上具有一定間隔的特點,且在利用SLAM進行掃描的過程中,可以得到彩色的玉米田塊點云。在進行玉米田塊掃描時,掃描者在掃描時通常將SLAM設備置于胸前高度或者相當持平的高度,相當于SLAM設備處于側視的角度進行數據采集,雖然由于激光的穿透性可以獲得玉米植株頂部的點云,但卻缺少玉米植株頂部的紋理,因而,獲得的玉米植株頂部點云具有缺少紅綠藍(RGB)紋理信息的特點,為利用SLAM點云進行玉米株數識別提供了依據。本文作者提出的方法主要包括點云垂直度計算與垂直點云提取、全彩色點云灰度化及玉米植株頂部點云提取、密度聚類法玉米株數識別等步驟。

1.1 點云垂直度計算與垂直點云提取

玉米植株具有典型的垂直生長特性,對于玉米植株表面點云,當前查詢點的鄰域點所擬合平面與水平面之間的關系可以用垂直度[18]進行描述,如圖1所示。對當前查詢點q的近鄰點進行平面擬合,將該擬合平面的法向量記為n,同時,將水平平面的法向量記為z,那么這兩個向量之間的夾角θ的余弦值定義為垂直度,用qv表示,可用下式進行計算:

(1)

式中:θ取值范圍為[0°,180°];qv取值范圍為[0,1]。

如圖1所示,對于玉米植株點云,當qv=1時,表明點q的垂直度最大,此時,法向量n和z的夾角為90°;當qv=0時,表明點q的垂直度最小,此時,點q及周圍的緊鄰點和水平面平行。通過設置適當的垂直度閾值qth,便可對原始玉米田塊點云進行垂直度分類,分離出近似垂直于地面的點云數據。

1.2 全彩色點云灰度化及玉米植株頂部點云提取

經過垂直度計算,獲得近似垂直于地面的點云數據之后,由于真實田塊的復雜性,依然包含垂直于地面的雜草和部分地面點。根據SLAM設備處于側視的角度進行數據采集缺少玉米植株頂部紋理這一特征,可采用全彩色點云灰度化方法進行玉米植株頂部點云提取,從而去除垂直度計算過程中的非玉米植株點云。

本文中采用彩色轉灰度的經典加權平均Luninance算法,該算法依據心理學公式進行轉換,根據人眼對亮度感知而調節出的標準化參數,廣泛應用于數字圖像處理軟件,其基本算法如下式所示:

I(x,y)=0.299×R(x,y)+0.587×

G(x,y)+0.114×B(x,y)

(2)

式中,I(x,y)為(x,y)處的灰度值;R(x,y)、G(x,y)和B(x,y)分別代表(x,y)處的紅色、綠色、藍色色彩分量值。將SLAM獲得的真彩色玉米田塊3維點云中的RGB信息,通過Luninance算法將彩色點云轉換為灰度點云,并進行灰度歸一化。通過灰度轉換,得到具有灰度屬性的點云,設定灰度閾值為Ith,便可對經過垂直度分類的點云進行玉米植株頂部提取,得到玉米植株頂部點云。

1.3 密度聚類法玉米株數識別

利用SLAM點云中玉米植株的豎直度特征和掃描過程中植株的先驗紋理特征進行玉米植株頂部的自動提取之后,為了識別單株玉米并統計玉米植株數,將基于密度的聚類算法(density-based spatial clustering of applications with noise,DBSCAN)[19-20]引入農田環境下識別的玉米植株頂部點云進行單株玉米分割,該算法包含兩個參數(ε,Pmin),其中ε表示點集鄰域的距離,Pmin表示在以ε為距離閾值的鄰域內包含的最小點數。該算法的基本原理如圖2所示。

圖2 DBSCAN算法基本原理Fig.2 Basic principle of DBSCAN algorithm

通過DBSCAN算法,可得到單株玉米植株頂部點云,統計聚類數目,即可獲得玉米株數。

2 實驗過程及結果分析

2.1 實驗數據

選擇黃河流域礦區的實際農田進行實驗,實驗區位于河南省洛陽市新安縣,實驗地塊中心地理坐標為34.81161493°N,112.10713860°E,海拔498.73 m。該地區屬暖溫帶大陸性季風氣候,光照充足,四季分明,北鄰黃河流域,適合玉米作物生長和種植。整個實驗田塊地勢平坦,種植密度平均為9株/m2。

采用飛馬SLAM100手持移動式激光雷達進行實驗數據采集,該掃描儀具有360°旋轉云臺,點云覆蓋范圍為270°×360°,具有16個1級激光通道,內置3顆500萬像素的攝像頭,視場角為水平200°、垂直100°,掃描頻率為320000點/s,最大測程達120 m,能夠同步獲取被測對象的紋理信息,生成3維真彩色點云和局部全景影像,將獲取的點云進行手動裁剪,去除田塊周邊的雜亂數據之后,獲得實驗玉米田塊全彩色點云如圖3所示。

圖3 實驗玉米田塊的全彩色點云Fig.3 Color point cloud of experimental corn field

2.2 實驗過程

實驗玉米田塊全彩色點云灰度化后的點云如圖4所示。

圖4 實驗玉米田塊的灰度化點云Fig.4 Gray point cloud of experimental corn field

將實驗田塊的點云進行垂直度計算,設置垂直度閾值qth=0.8,得到提取的垂直點云如圖5所示。

圖5 實驗玉米田塊的垂直點云提取結果Fig.5 Vertical point cloud extraction results of experimental corn field

設定灰度閾值Ith=0.8,得到玉米植株頂部點云的提取結果,如圖6所示。

圖6 實驗玉米田塊的玉米植株頂部提取結果Fig.6 Top of corn plant extraction results of experimental corn field

設置DBSCAN算法中的參數ε=0.2 m,Pmin=5,對玉米植株頂部點云進行分割,得到分割后的單株玉米頂部如圖7所示。圖中,不同顏色代表不同的植株頂部(顏色隨機循環顯示),共識別出359株玉米。

圖7 實驗玉米田塊的玉米植株頂部分割結果Fig.7 Top of corn plant segmentation results of experimental corn field

2.3 實驗結果分析

不同平臺的激光雷達點云由于掃描點云密度、掃描視角、信息豐富程度等存在一定的差別,導致現有針對機載和地面架站式的激光雷達的算法并不適用于SLAM點云。此外,對于點云提取效果的分析,由于缺乏統一準則的實驗測試數據集,因此,研究人員需要獲取特定場景和對象的點云數據開展實驗驗證,不同的算法之間缺乏可對比性,目前常采用目視的方式評定[21]。從圖6、圖7可以看出,采用本文中設計的算法,利用SLAM數據,能夠將田塊的玉米植株頂部進行分割,并實現玉米株數自動識別。

為進一步定量地分析SLAM點云玉米植株自動識別效果,人工現場數實地考察實際株數為388株,與實際株數進行比較計算,完成精度J驗證,如下式所示:

J=(1-|E-F|/F)×100%

(3)

式中:E為經過算法自動識別的玉米株數;F為實驗田塊玉米的真實種植株數。玉米株數自動識別的準確率為92.53%,取得了較好的株數識別效果,進一步驗證了利用SLAM點云和本文中設計方法能夠實現玉米株數的自動識別,且具有參數簡單、自動化程度高等特點。分析原因如下:(a)利用手持移動式激光雷達進行實驗數據采集,獲得了豐富的點云和紋理信息;(b)手持移動式激光雷達機動靈活,獲取的數據信息完整,避免了固定站式激光雷達遷站和不同站間點云配準對玉米植株提取和識別的影響;(c)利用了SLAM點云中玉米植株的豎直度特征和掃描過程中植株的紋理特征等先驗知識;(d)使用了法向量、垂直度、Luninance、DBSCAN等成熟的算法和開源代碼,提高了SLAM點云玉米株數自動識別的整體穩定性。

3 結 論

針對農田環境中玉米株數識別的需求,本文中提出了一種利用SLAM點云的玉米株數自動識別方法,充分利用SLAM點云獲取的豐富紋理信息和點云信息,引入垂直度特征和掃描中植株點云的先驗紋理特征,進而借助DBSCAN算法進行玉米植株的區分與株數自動識別。實際農田的數據結果表明,本文中的方法能夠實現農田玉米株數的自動識別,且參數簡單,具有較高的自動化程度,為農田玉米株數自動識別提供了一種新的方法。

猜你喜歡
玉米田自動識別株數
我院耐碳青霉烯類腸桿菌科細菌感染分布特點及耐藥性分析
優質米水稻品種龍稻18配套栽培技術研究
自動識別系統
金屬垃圾自動識別回收箱
巧解“植樹問題”
基于IEC61850的配網終端自動識別技術
玉米田除草劑的那些事
高溫干旱下的夏播玉米田害蟲防治?
玉米田不同控釋肥料效用研討
玉米田化學除草技術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合