林承達(dá),謝良毅,韓 晶,胡方正
(華中農(nóng)業(yè)大學(xué) 資源與環(huán)境學(xué)院,武漢 430070)
農(nóng)田環(huán)境中的玉米株數(shù)信息不僅是研究玉米出苗率的重要基礎(chǔ),也對(duì)作物產(chǎn)量分析有意義。傳統(tǒng)的玉米株數(shù)識(shí)別采用人工實(shí)地考察的方法耗時(shí)費(fèi)力,識(shí)別精度依賴于人工經(jīng)驗(yàn),且對(duì)植株具有一定損傷性。隨著農(nóng)業(yè)智能化及精細(xì)化的發(fā)展,激光測(cè)量方法的進(jìn)步及其在農(nóng)業(yè)領(lǐng)域中的應(yīng)用[1-5],作物信息的獲取具有更大的靈活性。
激光測(cè)量技術(shù)在農(nóng)田環(huán)境下作物的分類識(shí)別應(yīng)用中,和傳統(tǒng)方法相比,極大地降低了時(shí)間和人力成本,且非接觸式的掃描能彌補(bǔ)作物易損的缺陷?;诖?,目前已有很多學(xué)者針對(duì)不同作物的特點(diǎn)提出了可行的方法。GUAN等人[1]針對(duì)大田大豆的種植模式特點(diǎn),使用局部鄰域特征分割方法提取單行植株,然后通過均值漂移算法實(shí)現(xiàn)了單株大豆的提取。YANG等人[3]基于黃瓜幼苗的顏色信息結(jié)合條件濾波去除土壤背景,然后利用距離分割算法有效分割出單株黃瓜點(diǎn)集。LIAO等人[5]通過基于法向量的區(qū)域生長分割算法在油菜田塊點(diǎn)云數(shù)據(jù)中分割出了單株油菜的點(diǎn)云簇,結(jié)合視覺坐標(biāo)系,對(duì)作物進(jìn)行了準(zhǔn)確定位。目前基于激光3維點(diǎn)云的大田作物研究內(nèi)容相對(duì)較少,已有的大田作物分類和識(shí)別研究中大多過于依賴作物生長狀況以及生長環(huán)境,識(shí)別效率在較大程度上決定于作物之間的遮擋情況,對(duì)于種植間距較小且遮擋嚴(yán)重的情況不具有很強(qiáng)的適應(yīng)性。
基于上述情況,作者以農(nóng)田環(huán)境下的玉米植株作為研究對(duì)象,通過地面激光掃描儀、采用四站式掃描法獲取完整的玉米點(diǎn)云數(shù)據(jù),提出一種基于標(biāo)靶球自動(dòng)提取的點(diǎn)云配準(zhǔn)方法,并對(duì)配準(zhǔn)后的點(diǎn)云數(shù)據(jù)進(jìn)行定量分析,利用圓柱體幾何信息設(shè)計(jì)莖稈識(shí)別算法,獲取莖稈點(diǎn)云數(shù)據(jù)并統(tǒng)計(jì)莖稈數(shù)量,與實(shí)際株數(shù)進(jìn)行對(duì)比分析。研究方法為農(nóng)作物3維虛擬仿真、作物識(shí)別、產(chǎn)量估算、農(nóng)田管理等提供依據(jù)。
研究區(qū)域位于武漢市洪山區(qū)華中農(nóng)業(yè)大學(xué)校內(nèi)試驗(yàn)基地,中心地理坐標(biāo)為30°28′47″N,114°21′6″E,海拔高度約為50m。該地區(qū)氣候濕潤,屬于北亞熱帶季風(fēng)性氣候,雨水和日照充足,適合玉米種植。整個(gè)試驗(yàn)田區(qū)域地勢(shì)較為平緩,玉米進(jìn)行分塊種植,不同田塊的玉米種植密度不同,總體密度在6株/m2~9株/m2。
3維點(diǎn)云數(shù)據(jù)采用FARO公司focus s70型號(hào)的激光掃描儀獲取,該掃描儀的尺寸為30mm×183mm×103mm,掃描范圍為0.6m~70m,掃描視野在水平方向?yàn)?°~360°,垂直方向?yàn)?60°~90°,測(cè)量誤差在0.1mm~1.3mm,所能承受的環(huán)境溫度在5°~40°??紤]田間玉米的種植間距較小且玉米葉片較長,被掃描目標(biāo)之間會(huì)造成較為嚴(yán)重的遮擋,需要通過圍繞玉米田塊架設(shè)多個(gè)站點(diǎn)進(jìn)行掃描,獲取不同視角的點(diǎn)云數(shù)據(jù),同時(shí),由于玉米植株較高,為獲取玉米完整的3維信息,需要在每個(gè)站點(diǎn)進(jìn)行不同高度的掃描。
圖1描述了田間玉米植株3維點(diǎn)云數(shù)據(jù)的采集方法。如圖1a(俯視圖)所示,數(shù)據(jù)采集過程采用四站式掃描,將站點(diǎn)布置在玉米田塊的4個(gè)角點(diǎn)處。如圖1b(側(cè)視圖)所示,高點(diǎn)掃描位置平行于冠層最高點(diǎn),低點(diǎn)掃描位置平行于莖稈最高點(diǎn)。針對(duì)農(nóng)田環(huán)境較為復(fù)雜,且玉米具有非剛性的特點(diǎn),為了將各站點(diǎn)云數(shù)據(jù)配準(zhǔn)在同一個(gè)坐標(biāo)系下,采用直徑15cm的標(biāo)靶球作為配準(zhǔn)的基準(zhǔn),如圖1a中所示,將標(biāo)靶球放置在田塊任意一條邊的外側(cè),滿足同一側(cè)不能放置兩個(gè)及以上的標(biāo)靶球,且任意兩個(gè)標(biāo)靶球的連線不與田塊平行??紤]配準(zhǔn)精度以及多站點(diǎn)云數(shù)據(jù)配準(zhǔn)產(chǎn)生誤差疊加等問題,同時(shí)放置3個(gè)標(biāo)靶球且保證在每一站掃描中標(biāo)靶球都被掃描到。為分析本文中方法的適用性,實(shí)驗(yàn)過程中采集多組數(shù)據(jù)進(jìn)行分析對(duì)比。選取兩個(gè)長勢(shì)較為完整的拔節(jié)期玉米田塊進(jìn)行數(shù)據(jù)采集,分別標(biāo)記為f1和f2,并在16d后對(duì)f2進(jìn)行第2次數(shù)據(jù)采集,獲取不同生長時(shí)期的玉米點(diǎn)云數(shù)據(jù),標(biāo)記為f3。圖1c為完整的數(shù)據(jù)獲取方法,A,B,C,D是布置的4個(gè)掃描站點(diǎn),其中,Ah是A站點(diǎn)中的高點(diǎn)掃描位置,Al是A站點(diǎn)中的低點(diǎn)掃描位置,其它站點(diǎn)以此類推,a,b,c是標(biāo)靶球位置,中間區(qū)域?yàn)槟繕?biāo)田塊。按照?qǐng)D1中的數(shù)據(jù)采集方法,每個(gè)田塊獲取8組原始點(diǎn)云,每組原始點(diǎn)云包含3個(gè)標(biāo)靶球點(diǎn)集,共有24個(gè)標(biāo)靶球點(diǎn)集,對(duì)每個(gè)標(biāo)靶球點(diǎn)集進(jìn)行編號(hào),編號(hào)順序遵循掃描順序(Ah-Al-Bh-Bl-Ch-Cl-Dh-Dl),其中,每組原始點(diǎn)云中的標(biāo)靶球點(diǎn)集按照a-b-c順序進(jìn)行排序,以圖中的A站點(diǎn)為起始站,編號(hào)從1開始,依次遞增,最終完成24個(gè)標(biāo)靶球點(diǎn)集的編號(hào)。采用基于標(biāo)靶球自動(dòng)提取的點(diǎn)云配準(zhǔn)方法對(duì)每組點(diǎn)云數(shù)據(jù)進(jìn)行配準(zhǔn),并利用隨機(jī)采樣一致性(random sample consensus,RANSAC)算法[6]以圓柱體特征提取玉米莖稈點(diǎn)云數(shù)據(jù)進(jìn)行玉米植株株數(shù)統(tǒng)計(jì),將統(tǒng)計(jì)結(jié)果與實(shí)際種植數(shù)量進(jìn)行對(duì)比,完成精度驗(yàn)證。
Fig.1 Point cloud data collection process of corn fielda—top view b—side view c—point cloud collection method
把不同視角獲取的3維點(diǎn)云數(shù)據(jù)轉(zhuǎn)換到同一個(gè)空間坐標(biāo)系下即為3維點(diǎn)云的配準(zhǔn)。目前,點(diǎn)云配準(zhǔn)方法的研究大多是基于迭代最近鄰配準(zhǔn)(iterated closest points,ICP)算法的改進(jìn)[7-9],但該類算法需要不斷迭代,時(shí)間成本較高,不適用于大場(chǎng)景下的點(diǎn)云數(shù)據(jù),且局限于剛性物體的配準(zhǔn)。在農(nóng)田環(huán)境下掃描時(shí),玉米容易發(fā)生形變,尤其是葉片部分較為柔軟,不具有剛性特征,本文中提出一種基于標(biāo)靶球自動(dòng)提取的點(diǎn)云配準(zhǔn)方法[10],該方法忽略掃描過程中玉米發(fā)生的形變,以標(biāo)靶球?yàn)榛鶞?zhǔn),實(shí)現(xiàn)多站點(diǎn)云數(shù)據(jù)的配準(zhǔn)。圖2為算法流程圖。
考慮到農(nóng)田環(huán)境復(fù)雜,飛蟲以及灰塵等使獲取的標(biāo)靶球點(diǎn)云數(shù)據(jù)具有較多噪聲點(diǎn),且玉米植株較高,會(huì)對(duì)標(biāo)靶球造成一定程度的遮擋,為提高標(biāo)靶球擬合精度,以球體幾何特征對(duì)原始點(diǎn)云數(shù)據(jù)中的標(biāo)靶球點(diǎn)云數(shù)據(jù)進(jìn)行自動(dòng)提取[11-12]。對(duì)于給定的原始點(diǎn)云,隨機(jī)選取標(biāo)靶球上的4個(gè)點(diǎn)S1(x1,y1,z1),S2(x2,y2,z2),S3(x3,y3,z3),S4(x4,y4,z4),則球體擬合方程為:
式中,(x0,y0,z0)是球心坐標(biāo)。再加上球體半徑,根據(jù)這4個(gè)參量就可以確定一個(gè)球體。對(duì)于兩片待配準(zhǔn)的點(diǎn)云數(shù)據(jù)(例如Ah,Al),任選一片點(diǎn)云(如Ah)作為參考點(diǎn)云,分別提取Ah和Al中的標(biāo)靶球點(diǎn)云并進(jìn)行強(qiáng)制對(duì)應(yīng),則Ah中的標(biāo)靶球球心Pi(x1i,y1i,z1i)與Al中對(duì)應(yīng)的標(biāo)靶球球心Qi(x2i,y2i,z2i)滿足:
Fig.2 Point cloud registration algorithm flow chart
式中,α,β,θ,分別代表x,y,z方向的旋轉(zhuǎn)角度,R是旋轉(zhuǎn)矩陣,T是平移矩陣,Δx、Δy、Δz分別代表x,y,z軸方向上的平移量。
以Ah,Al兩組點(diǎn)云中對(duì)應(yīng)標(biāo)靶球球心坐標(biāo)作為對(duì)應(yīng)點(diǎn),利用(3)式計(jì)算旋轉(zhuǎn)和平移矩,陣將兩片點(diǎn)云數(shù)據(jù)配準(zhǔn)在同一坐標(biāo)系下。為了降低多站配準(zhǔn)時(shí)的疊加誤差,首先對(duì)每個(gè)站點(diǎn)不同高度獲取的點(diǎn)云數(shù)據(jù)進(jìn)行配準(zhǔn),然后再逐站依次配準(zhǔn)。即Ah和Al,Bh和Bl,Ch和Cl,Dh和Dl獲取的原始點(diǎn)云數(shù)據(jù)分別配準(zhǔn),得到A0,B0,C0,D0共4組點(diǎn)云數(shù)據(jù),然后A0和B0進(jìn)行配準(zhǔn),得到AB0,再和C0進(jìn)行配準(zhǔn),得到ABC0,以此類推,直到四站點(diǎn)云全部配準(zhǔn)完成。
玉米莖稈整體上呈現(xiàn)出圓柱體幾何特征,為從玉米田中識(shí)別單顆作物,完整的計(jì)算出玉米植株數(shù)目,利用3維點(diǎn)云精確分離出每顆玉米的莖稈是最有效辦法。本文中根據(jù)玉米莖稈的圓柱體幾何特征利用隨機(jī)采樣一致性算法以圓柱體模型參量迭代尋找符合模型的最優(yōu)點(diǎn)集[13-18],完成莖稈點(diǎn)云提取。玉米莖稈空間柱面模型如圖3所示。圖中,M(a,b,c)是圓柱體軸線Ax上的一點(diǎn),(p,q,l)是Ax的方向向量,r是圓柱體的半徑,N(x,y,z)是柱面上任意一點(diǎn),根據(jù)這7個(gè)參量就可以確定一個(gè)圓柱體。圓柱體的計(jì)算公式為:
(x-a)2+(y-b)2+(z-c)2=r2+
[p(x-a)+q(y-b)+
l(z-c)]2/(p2+q2+l2)
(5)
Fig.3 Space cylinder model
算法具體步驟為:(1)對(duì)于給定的初始玉米田塊原始點(diǎn)云,任意選取一些點(diǎn)計(jì)算以上參量擬合圓柱體;(2)遍歷剩余所有點(diǎn)并計(jì)算其到圓柱表面的距離,對(duì)任意一點(diǎn)i,距離di的計(jì)算公式為:
(3)把距離小于閾值ε的點(diǎn)當(dāng)作內(nèi)點(diǎn)保存,否則將其作為外點(diǎn)并刪除,最后得到模型點(diǎn)集S;(4)重復(fù)該過程,直到達(dá)到預(yù)設(shè)迭代次數(shù)k,將模型最多點(diǎn)集數(shù)S與預(yù)設(shè)最小點(diǎn)集數(shù)σ比較,當(dāng)S>σ時(shí),將該點(diǎn)集作為玉米莖稈點(diǎn)云,否則認(rèn)為莖稈不存在;(5)重復(fù)步驟(1)~(4)直到原始點(diǎn)云中不能再找到莖稈,算法終止。
Fig.4 Cloud extraction of corn stalk point
基于玉米實(shí)際生長狀況,經(jīng)過反復(fù)試驗(yàn),本文中設(shè)置最大迭代次數(shù)k=10000,內(nèi)點(diǎn)到模型的最大距離ε=0.005m,圓柱體模型半徑的估計(jì)范圍為0m~0.01m,最小點(diǎn)集數(shù)σ=4000,此時(shí)莖稈識(shí)別效果最好,圖4為玉米莖稈提取結(jié)果。紅色部分為莖稈部分,可以看出,即使獲取的莖稈點(diǎn)云有部分遮擋或者殘缺,仍然能取得較好的擬合效果。
圖5是配準(zhǔn)后的玉米3維點(diǎn)云數(shù)據(jù)。由于地面3維激光掃描儀水平掃描范圍為0°~360°,垂直掃描范圍為-60°~90°,因此需要對(duì)配準(zhǔn)后的點(diǎn)云數(shù)據(jù)進(jìn)行裁剪,獲取實(shí)驗(yàn)區(qū)域的點(diǎn)云數(shù)據(jù)。圖5中的虛線框表示裁剪完的點(diǎn)云數(shù)據(jù)。
Fig.5 Result map of 3-D point cloud data registration
在農(nóng)田環(huán)境下進(jìn)行激光掃描時(shí),玉米葉片會(huì)產(chǎn)生瞬間的形變,導(dǎo)致配準(zhǔn)后的葉片點(diǎn)云數(shù)據(jù)出現(xiàn)不同程度的失真,稱之為葉片的分層現(xiàn)象?;诖?,本文中采用標(biāo)靶球的擬合誤差來分析點(diǎn)云數(shù)據(jù)的配準(zhǔn)質(zhì)量,以A站點(diǎn)高點(diǎn)掃描位置Ah獲取的的點(diǎn)云數(shù)據(jù)為例,圖6所示為標(biāo)靶球擬合過程??梢钥闯?,標(biāo)靶球擬合較為均勻,每個(gè)標(biāo)靶球之間沒有明顯的大小差異。圖7a表示4個(gè)站點(diǎn)掃描所獲得的8組點(diǎn)云數(shù)據(jù)中所有標(biāo)靶球的擬合誤差。大部分的誤差波動(dòng)在3mm~5mm,只有10號(hào)標(biāo)靶球和16號(hào)標(biāo)靶球的擬合誤差大于5mm,這是因?yàn)?0號(hào)標(biāo)靶球和16號(hào)標(biāo)靶球?qū)?yīng)的掃描位置為Bl和Cl,低點(diǎn)位置掃描時(shí)標(biāo)靶球遮擋較為嚴(yán)重,掃描獲取的球面點(diǎn)云數(shù)據(jù)太少造成誤差較大。同時(shí),標(biāo)靶球自動(dòng)提取的精度也是影響擬合誤差的重要因素,采用標(biāo)靶球擬合的標(biāo)準(zhǔn)偏差來度量標(biāo)靶球自動(dòng)提取的誤差,如圖7b所示。大部分標(biāo)靶球擬合的標(biāo)準(zhǔn)偏差都在0.1mm~0.5mm,個(gè)別偏差在0.5mm~0.7mm之間,并且16號(hào)標(biāo)靶球的擬合誤差和標(biāo)準(zhǔn)偏差均為最大,表示遮擋過于嚴(yán)重時(shí),標(biāo)靶球自動(dòng)提取會(huì)混入一定噪聲點(diǎn)。在該方法下,標(biāo)靶球擬合的標(biāo)準(zhǔn)偏差均在掃描儀允許的測(cè)量誤差范圍內(nèi)(0.1mm~1.1mm),總體配準(zhǔn)誤差小于大場(chǎng)景配準(zhǔn)誤差標(biāo)準(zhǔn)(5mm)[19],證明本文中提出的配準(zhǔn)方法在農(nóng)田環(huán)境中具有較好的適應(yīng)能力,解決目標(biāo)遮擋等問題,能夠滿足實(shí)驗(yàn)需求。
Fig.6 Target ball fitting
Fig.7 Target ball fitting error and standard deviation
玉米種植情況以及玉米的生長狀態(tài)均會(huì)影響數(shù)據(jù)采集的精度,對(duì)采集的3組數(shù)據(jù)進(jìn)行對(duì)比分析。采用本文中數(shù)據(jù)采集方法和配準(zhǔn)算法獲取實(shí)驗(yàn)區(qū)域完整的玉米3維點(diǎn)云數(shù)據(jù),通過基于圓柱體模型提取的方法對(duì)獲取的點(diǎn)云數(shù)據(jù)進(jìn)行迭代處理分別提取莖稈進(jìn)行株數(shù)統(tǒng)計(jì),與實(shí)際株數(shù)進(jìn)行對(duì)比,完成精度R驗(yàn)證。驗(yàn)證方法如下:
R=(1-|E-F|/F)×100%
(7)
式中,E為識(shí)別的株數(shù),F(xiàn)為真實(shí)種植株數(shù)。玉米莖稈的提取效果如圖8所示。圖中直線條部分代表莖稈。表1為株數(shù)識(shí)別精度分析。結(jié)果顯示,f1和f2的莖稈提取精度分別為92.1%和86.1%,種植密度分別為7株/m2和8株/m2,表明在生長時(shí)期相同的情況下,種植密度越小,莖稈提取的成功率越高,精度差異產(chǎn)生的原因主要是不同的種植密度造成各植株之間不同程度的遮擋對(duì)數(shù)據(jù)采集精度的影響。經(jīng)過實(shí)地考察對(duì)比,f3的冠層密集程度明顯大于f2,但玉米的平均高度分別為1.61m和1.78m;根據(jù)精度驗(yàn)證結(jié)果顯示,f2和f3的莖稈提取精度分別為86.1%和88.9%,說明相比于f3,雖然f2的冠層部分遮擋更為嚴(yán)重,但考慮株高因素,f3莖稈部分較長,能有效降低葉片的遮擋影響,提高莖稈識(shí)別率。
Fig.8 Point cloud extraction of tubers in corn fields
圖9是玉米田塊行和列之間的株數(shù)識(shí)別分析。從圖中可以看出,靠近田塊邊界的行和列識(shí)別的莖稈數(shù)量較為準(zhǔn)確,而處于中間區(qū)域的行和列依然存在一定誤差,主要是因?yàn)橹虚g區(qū)域植株獲取的莖稈點(diǎn)云數(shù)據(jù)較為殘缺,但是采用本文中的研究方法,不同高度的四站式掃描結(jié)合圓柱體莖稈特征提取,能最大程度上有效地解決農(nóng)田作物遮擋難題,為高精度田間場(chǎng)景重建提供了技術(shù)方案。
Table 1 Comparative analysis of plant number extraction accuracy
Fig.9 Identification and analysis of plant numbers between rows and columns
本文中提出了1種基于激光點(diǎn)云的農(nóng)田玉米種植株數(shù)識(shí)別的方法,首先根據(jù)玉米作物的特征采用不同高度掃描位置的四站式掃描獲取完整的玉米3維點(diǎn)云數(shù)據(jù),提出了基于標(biāo)靶球的點(diǎn)云自動(dòng)配準(zhǔn)算法,該算法基于球體特征自動(dòng)提取標(biāo)靶球的球面點(diǎn)云數(shù)據(jù),以標(biāo)靶球作為配準(zhǔn)基準(zhǔn),忽略玉米形變實(shí)現(xiàn)點(diǎn)云配準(zhǔn)。對(duì)于配準(zhǔn)好的3維點(diǎn)云數(shù)據(jù),利用采樣一致性算法基于圓柱體特征從完整的玉米田塊點(diǎn)云中精確分離出莖稈點(diǎn)云,統(tǒng)計(jì)玉米種植株數(shù),實(shí)驗(yàn)結(jié)果表明,該方法能有效識(shí)別出玉米田塊的種植株數(shù),在不同生長時(shí)期和生長環(huán)境下都有較高的識(shí)別效率。