王 僑 孟志軍 付衛(wèi)強 劉 卉 張振國
(1.國家農(nóng)業(yè)智能裝備工程技術研究中心, 北京 100097; 2.首都師范大學信息工程學院, 北京 100048;3.新疆農(nóng)業(yè)大學機電工程學院, 烏魯木齊 830052)
大力促進農(nóng)業(yè)機械精準化和智能化,即推動農(nóng)業(yè)生產(chǎn)機器人化,在取代人本身參與農(nóng)業(yè)生產(chǎn)勞動的同時,可有效降低生產(chǎn)成本、提高農(nóng)田作業(yè)效率和精度,對推動精準農(nóng)業(yè)的進一步發(fā)展、提高農(nóng)業(yè)生產(chǎn)經(jīng)濟效益和社會價值具有重要意義。
農(nóng)田作業(yè)機器人化是農(nóng)業(yè)生產(chǎn)機器人化的重要組成部分,目前正處于農(nóng)業(yè)機械由自動化向無人化(即機器人化)的過渡階段。農(nóng)田作業(yè)實現(xiàn)機器人化的關鍵是實現(xiàn)機器人在田間作業(yè)過程中的自主導航行走。目前主要采取兩種模式獲取自主導航基準線:①以作業(yè)前預先規(guī)劃的直線作業(yè)路徑作為導航跟蹤基準線,該模式主要應用于耕整地、播種、收獲等不怕壓苗的生產(chǎn)環(huán)節(jié),如基于全球導航衛(wèi)星系統(tǒng)(Global navigation satellite system,GNSS)[1]的相關農(nóng)田導航產(chǎn)品。②以作業(yè)時實時識別的壟行或作物行線[2-11]、已作業(yè)與未作業(yè)區(qū)分界線[12-15]、田塊兩側邊界線[16-19]等田內(nèi)天然的線特征作為導航基準線,該模式既可應用于耕整地、播種、收獲等不怕壓苗的生產(chǎn)環(huán)節(jié),同時也適用于中耕、植保等需實時獲知田間作物分布位置、以避免壓苗的生產(chǎn)環(huán)節(jié)。在第2種模式下,實時獲取的導航基準線既可直接用作田間導航作業(yè)的跟蹤線,又可用于及時修正在耕播環(huán)節(jié)基于GNSS規(guī)劃的導航跟蹤直線。如果前期在耕整、播種等作業(yè)環(huán)節(jié)采取預先規(guī)劃的直線行走路徑作為導航基準線,那么在后續(xù)中耕、植保等作業(yè)環(huán)節(jié)中,當實時識別的某段作物行走向與前期規(guī)劃作業(yè)的導航基準線朝向之間存在較大偏差時,則根據(jù)實際走向調(diào)整當前位置處原導航基準線的朝向,以提高當前導航作業(yè)的精準性。
本文主要探討第2種導航基準線獲取模式,針對玉米苗期中耕、追肥等田間管理作業(yè)環(huán)節(jié)中的自主導航行走需求,在白地、茬地2種播種模式的玉米苗期農(nóng)田場景下,基于機器視覺技術研究抗多種干擾因素的多條作物行線視覺檢測算法,著重探討并解決自然光照變化、陰影、降水/積水、缺株/斷行、雜草、冠層交疊等干擾因素對檢測效果的影響。
選用USB接口的TXY_616_1080P型高清彩色數(shù)碼攝像機,輸出分辨率選取800像素×600像素,于2018年5—7月在北京市昌平區(qū)小湯山精準農(nóng)業(yè)示范基地進行了玉米苗期作物行圖像樣本采集。主要面向白地、茬地2種播種模式下的玉米苗期農(nóng)田場景,同時考慮到自然光照變化、陰影、降水/積水、缺株/斷行、雜草、冠層交疊等不同干擾因素對檢測的影響,重點采集了圖1所示的10類圖像樣本。
基于Microsoft Visual Studio 2010軟件開發(fā)平臺進行檢測算法的設計,總體檢測流程如圖2所示。
2.1.1基于綠色分量增強法的彩色圖像灰度化
將彩色圖像轉換為R、G、B3幀灰度圖像,基于2G-R-B法,對彩色圖像中各像素點進行灰度化處理,獲取綠色分量增強后的灰度圖像,公式為
f(i,j)=2G(i,j)-R(i,j)-B(i,j)
(1)
式中R(i,j)、G(i,j)、B(i,j)——原彩色圖像中第i行、j列像素的R、G、B分量
f(i,j)——綠色分量增強后的第i行、j列像素的灰度
若f(i,j)>255,則令f(i,j)=255;若f(i,j)<0,則令f(i,j)=0。
2.1.2基于分割閾值優(yōu)化法的灰度圖像二值化
考慮到行間雜草較多或冠層交疊時,對作物行區(qū)域分割提取的影響較大[20],為此,提出改進的最大類間方差法,即基于綠色區(qū)域的面積比例來優(yōu)化分割閾值,以此削弱行間雜草和冠層交疊的影響,使作物行間的分界間隙清晰可見。具體處理步驟如下:
(1)利用最大類間方差法獲取二值化閾值(記為Tth),基于閾值Tth對上述灰度圖像進行二值化分割。其中,灰度大于Tth的像素點區(qū)域即為綠色區(qū)域,計算綠色區(qū)域的面積(記為Sg)。
(2)設整幅圖像區(qū)域的面積為S,則綠色區(qū)域的面積比例為W=Sg/S。設置二值化分割閾值T,對灰度圖像進行二值化分割,獲取作物行目標區(qū)域。T計算式為
T=(1+W)Tth
(2)
2.1.3基于形態(tài)特征分析法的二值圖像去噪處理
基于綠色區(qū)域的尺寸特征(主要利用前述的面積比例W)以及二值圖像中各連通區(qū)域的形態(tài)尺寸特征(主要包括面積、周長、圓形度、等價圓直徑、水平投影徑及其起止點坐標、垂直投影徑及其起止點坐標、長徑和短徑,共計8類特征參數(shù)),進行去噪、濾波等處理,具體處理步驟如下:
(1)首先對二值圖像進行去噪預處理,為了使之既能適用于稀疏的幼苗期,也能適用于冠層交疊的生長期,基于前述W,設置去噪像素閾值Tdn。若W≤0.3,令Tdn=WBdn,否則令Tdn=(W-0.1)Bdn,其中,Bdn為噪聲基數(shù)。針對二值圖像,進行如下變閾值去噪處理:當W≤0.1時,執(zhí)行Tdn像素去噪、補洞。當0.1
(2)對二值圖像中每個連通區(qū)域進行區(qū)域標記后,首先建立并測量各標記區(qū)域的以下4類特征參數(shù):面積Sp(當前標記區(qū)域內(nèi)像素數(shù))、等價圓直徑Dec(與當前標記區(qū)域面積相等的圓的直徑)、水平投影徑Hf(當前標記區(qū)域投影至圖像水平坐標軸上的長度,記其起點、終點坐標分別為Sx、Ex)、垂直投影徑Vf(當前標記區(qū)域投影至圖像垂直坐標軸上的長度,記其起點、終點坐標分別為Sy、Ey)。然后尋找滿足以下不等式中所有條件的標記區(qū)域,本研究稱之為噪聲候選區(qū)。
(3)
式中xsize——圖像寬度ysize——圖像高度
Dth、Hth、Vth——噪聲判斷閾值
借助以上3個閾值,將大部分分散的雜草小噪聲區(qū)域囊括在噪聲候選區(qū)中。另外,通過設置Sx、Ex、Sy、Ey的取值范圍來限定噪聲候選區(qū)的尋找范圍,本研究設置為整幅圖像范圍。
(3)針對各噪聲候選區(qū),進一步建立并測量以下4類特征參數(shù):周長L(當前噪聲候選區(qū)的邊緣輪廓上的像素數(shù))、圓形度Dc(4πSp/L2)、長徑Lb和短徑Sb(當前噪聲候選區(qū)的最小外接矩形的長邊和短邊長度)。然后,尋找滿足不等式組(4)~(9)中任一組中所有條件的噪聲候選區(qū),即為本研究進一步所需清理的噪聲區(qū)域,隨即在二值圖像中對其予以清除。
(4)
Lb/Sb (5) 式中,Cth、R1、Tls1為圓形形態(tài)判斷閾值,用于從噪聲候選區(qū)中選取形態(tài)偏圓形的區(qū)域,適用于尋找并清除行間零散分布的圓形葉片類雜草噪聲。 (6) 式中,R2、R3、Tls2為群體形態(tài)判斷閾值。 考慮到田間玉米植株逐株向上延續(xù)形成作物行,其主稈部分所構成的區(qū)域,通常呈“立挺的瘦高狀”,而兩側伸展的葉片通常呈“細長的倒伏狀”,故對于在前述二值圖像中呈“矮胖的倒伏狀”的噪聲候選區(qū),極大可能是呈橫向生長狀或聚集狀的雜草噪聲區(qū)域,為此借助以上3個形態(tài)閾值,可完成判斷和剔除。 (7) (8) (9) 式中Lth、Dth1——尺寸判斷閾值 R4——形態(tài)限定閾值 Dth2——位置限定閾值 借助于Lth、Dth1和R1、R4,從呈“倒伏狀”的噪聲候選區(qū)中選取并清除尺寸較小的區(qū)域。借助于Dth1和Dth2,清除圖像底端位置處的較小尺寸區(qū)域。以上小尺寸區(qū)域,若為目標區(qū)域,通常對最終作物行線檢測的貢獻較小,但若為雜草小噪聲區(qū)域,則對后續(xù)檢測步驟的干擾性較大,故本研究直接將其清除出去。 基于行內(nèi)、行間目標區(qū)域的分布特征,進行作物行間的聚類分割。 2.2.1水平條劃分 將上述去噪、濾波后的二值圖像沿圖像縱坐標方向平均分成20個水平條,第m個水平條縱向區(qū)間范圍為 [ysm,yem]=[(m-1)ws,mws] (10) 2.2.2水平條內(nèi)部目標區(qū)域的分割處理 基于行內(nèi)、行間目標區(qū)域的水平間距、水平跨度特征,在各水平條內(nèi)部實現(xiàn)隸屬于不同作物行的目標區(qū)域的分割處理: (1)針對當前水平條,求取其垂直累計像素值分布曲線。其中,縱坐標(記為y)為垂直累計像素值,橫坐標(記為x)為其對應的列數(shù)。然后,基于移動平均法進行平滑處理,設置平滑窗口寬度為50像素。 (2)求取上述平滑曲線縱坐標的平均值,記為av。從左往右依次訪問平滑曲線上數(shù)據(jù)點,尋找所有正向和反向穿越基線y=av的數(shù)據(jù)點,并分別將兩組數(shù)據(jù)點的x按序存儲于數(shù)組Lp、Rn中,記正向和反向穿越的數(shù)據(jù)點數(shù)分別為nl、nr。其中,若當前數(shù)據(jù)點的y滿足y≤av(或y>av),且與之相鄰的后一個數(shù)據(jù)點的y滿足y>av(或y≤av)時,則記當前數(shù)據(jù)點為正向(或反向)穿越基線的數(shù)據(jù)點。 (3)定義變量n,取n=max(nl,nr)?;跀?shù)組Lp、Rn中數(shù)據(jù)可確定平滑曲線上的n個較明顯的波峰區(qū)間。定義數(shù)組Pl和Pr,分別用于存儲這n個波峰區(qū)間的左、右分界值。具體確定方法如下: 若Lp[0] (11) 若Lp[0] (12) (13) 若Lp[0]>Rn[0]且nl (14) (15) 若Lp[0]>Rn[0]且nl=nr,即首尾2個穿越點分別為反向和正向穿越點,則各波峰區(qū)間的左、右分界值為 (16) (17) (18) (4)依據(jù)Pl和Pr所確定的n個波峰區(qū)間,可將當前水平條劃分為n個目標區(qū)域。但是,這n個目標區(qū)域,既可能有多個目標區(qū)域來源于同一作物行,也可能有極少數(shù)來源于行間未被清理的大塊雜草噪聲。為此,在設計劃分規(guī)則時,需警惕以下非正常劃分情況的出現(xiàn): 過度劃分:植株葉片左右分叉式生長,分叉處的凹陷易造成隸屬于同一作物行的目標區(qū)域在前述平滑曲線中呈明顯的多峰態(tài)勢,最終導致隸屬于同一作物行的目標區(qū)域被劃分開來??紤]到該種情況所形成的波峰與波峰之間的間距(后文簡稱為峰-峰間距)通常較小,小于不同作物行目標區(qū)域間的峰-峰間距,故可據(jù)此對過度劃分的目標區(qū)域實施合并。 過度合并:當植株冠層交疊,或行間雜草較多,或行間雜草呈縱向生長狀或聚集狀時,雖然前期的預處理使作物行間的分界間隙清晰化了,但并不能確保行間雜草噪聲都被清理干凈,也無法確保該分界間隙的寬窄程度,尤其是圖像遠端位置處作物行間的分界間隙原本相對較窄,由此極易造成隸屬于不同作物行的目標區(qū)域在前述平滑曲線中呈峰-峰間距較小的多峰態(tài)勢,被誤判為過度劃分的情況,最終導致過度合并的結果??紤]到過度合并形成的行區(qū)域其水平跨度通常會較寬,寬于單條作物行區(qū)域的水平跨度,故可據(jù)此避免過度合并。 建立特征參數(shù)Di(1≤i Di=Pl[i]-Pr[i-1] (19) Dit=Pr[i+t-2]-Pl[i-1] (20) (21) 式中Di——第i、i+1個目標區(qū)域的水平間距 Dit1——第i至i+t1-1個(共計t1個)目標區(qū)域的水平跨度 Dth3、Dth4——水平間距判斷閾值和水平跨度判斷閾值 從左往右依次訪問上述n個目標區(qū)域,當相鄰的t1個目標區(qū)域同時滿足不等式組(21)中所有條件時,視當前t1個目標區(qū)域隸屬于同一作物行,合并為單個目標區(qū)域,合并區(qū)域的左右分界值分別為Pl[i-1]、Pr[i+t1-2],目標區(qū)域總個數(shù)調(diào)整為n-t1+1。否則,不進行合并,保留原目標區(qū)域。 (5)完成上述合并操作后,若以各目標區(qū)域所對應的左、右分界值為行坐標,在當前水平條中作平行于圖像列方向的垂直線,則這些垂直線便將當前水平條中隸屬于不同作物行的目標區(qū)域分割開來。 2.2.3跨水平條目標區(qū)域的行間聚類 基于行內(nèi)、行間目標區(qū)域的垂直間距、趨勢角、覆蓋寬度等特征,跨水平條實施不同水平條中隸屬于同一行的目標區(qū)域的聚類。從上往下依次掃描各水平條,從左往右逐一判斷當前水平條中被分割開來的各段目標區(qū)域所隸屬的作物行號。 (1)定義全局變量。定義二維結構體數(shù)組P,用于保存中間結果、輔助后續(xù)判斷。其中,P[i]存儲編號為i的作物行號下的目標區(qū)域的特征參數(shù),包括2組共8個特征描述參數(shù)。 第1組:P[i].xw、P[i].yw存儲當前已歸屬于作物行號i下的所有目標區(qū)域的整體的形心(簡稱整體形心)坐標,P[i].θ存儲這些目標區(qū)域所呈現(xiàn)的行向傾角的估計值(簡稱趨勢角,(°)),該值為相對量,表示偏移垂直方向的夾角,向左偏移取正值,向右偏移取負值,P[i].nsec存儲當前已歸屬于作物行號i下的目標區(qū)域段數(shù)。 第2組:P[i].xsec、P[i].ysec存儲最近一次歸屬于作物行號i下的目標區(qū)域(簡稱最近歸屬區(qū))的形心(簡稱最近形心)坐標,P[i].xl、P[i].xr存儲該最近歸屬區(qū)的左右分界值。 定義初始訪問編號變量為Sn,初始化為0。 定義二維結構體數(shù)組Pw,Pw[i][j]存儲第j條水平掃描線上隸屬于作物行號i下的目標區(qū)域的中心點坐標Pw[i][j].xline、Pw[i][j].yline。 定義變量N,存儲作物行數(shù)。 (2)從上往下逐條掃描并尋找首個非空水平條(假定為第k個水平條),將其中的各目標區(qū)域從左往右依次編號為0,1,2,…,nk-1。其中,nk表示第k個水平條中的目標區(qū)域個數(shù)。首個非空水平條中的目標區(qū)域編號視為初始作物行號,故初始作物行數(shù)為N=nk。 計算上述nk個目標區(qū)域的形心坐標,并將其形心坐標和左右分界值,按編號順序依次存儲于P[i].xsec、P[i].ysec、P[i].xl、P[i].xr中,同時將各編號下的整體形心坐標、趨勢角分別初始化為P[i].xw=P[i].xsec,P[i].yw=P[i].ysec,P[i].θ=0°,P[i].nsec=1,0≤i (3)從上往下繼續(xù)訪問后續(xù)非空水平條。針對各非空水平條,從左往右逐一判斷其內(nèi)部每個目標區(qū)域的隸屬行號,并求取和保存各作物行號下的目標區(qū)域在逐行水平掃描線上的中心點坐標,具體方法如下: 假設當前訪問至第m個水平條中的第q個目標區(qū)域,當前水平條中目標區(qū)域個數(shù)為nm,k 從編號Sn開始,基于數(shù)組P中特征參數(shù)值,按序逐一訪問各作物行號下的最近歸屬區(qū),求取當前目標區(qū)域與這些最近歸屬區(qū)之間的垂直距離Dvi、覆蓋寬度Wci,i表示當前所訪問的作物行號,Sn≤i Dvi=|P[i].ysec-y0| (22) Wci=Wbi+Wsi (23) 其中 Wbi= (24) (25) 式中Woff1——排除偏移量 Woff2——優(yōu)選偏移量 當滿足P[i].xsec 尋找上述Wci中的最大值,記為Wch,即隸屬行號為h的最近歸屬區(qū)與當前目標區(qū)域之間的覆蓋寬度最大。 定義隸屬行號標記變量fi,用以表示當前水平條中第i個目標區(qū)域的隸屬行號標記值,同時定義隸屬行號變量Ni,用以表示當前水平條中第i個目標區(qū)域的隸屬行號,1≤i≤nm。 若Wch>0,則記當前水平條中第q個目標區(qū)域的隸屬行號標記值fq=h。否則,認為該目標區(qū)域隸屬于新行,若同時滿足x>P[h].xl,則認為該新行出現(xiàn)在h號作物行的右側,新行行號標記值記為fq=h+。若x 根據(jù)下述條件,確定當前水平條中第q個目標區(qū)域的隸屬行號Nq,并對P、Pw、N、Sn進行數(shù)據(jù)更新: ①若q=1且nm=1,即當前水平條中只有單個目標區(qū)域時,則依據(jù)fq確定第q個目標區(qū)域的隸屬行號Nq,并進行數(shù)據(jù)更新。 當fq=h時,Nq=h。定義中間變量β、xw、yw為 (26) xw=(P[h].xwP[h].nsec+x0)/(P[h].nsec+1) (27) yw=(P[h].ywP[h].nsec+y0)/(P[h].nsec+1) (28) 此時,數(shù)據(jù)更新如下:N、Sn取值不變,P[h].xsec=x0,P[h].ysec=y0,P[h].xl=xl,P[h].xr=xr,P[h].θ=β,P[h].xw=xw,P[h].yw=yw,P[h].nsec增1。 當fq=h+時,Nq=h+1。此時,數(shù)據(jù)更新如下:Sn取值不變,N=N+1,將數(shù)組P以及Pw中隸屬行號大于h的元素均往右平移1位行號,然后令P[h+1].xsec=x0,P[h+1].ysec=y0,P[h+1].xl=xl,P[h+1].xr=xr,P[h+1].θ=β,P[h+1].xw=xw,P[h+1].yw=yw,P[h+1].nsec=1。 當fq=h-且h>0時,Nq=h,而當fq=h-且h=0時,Nq=0。此時,數(shù)據(jù)更新如下:Sn取值不變,N=N+1,將數(shù)組P以及Pw中隸屬行號大于h-1的元素均往右平移1位行號,然后令P[h].xsec=x0,P[h].ysec=y0,P[h].xl=xl,P[h].xr=xr,P[h].θ=β,P[h].xw=xw,P[h].yw=yw,P[h].nsec=1。 最后,逐行水平掃描,求取當前目標區(qū)域在每條水平掃描線上的中心點坐標,按序依次存儲于Pw[Nq][j].xline、Pw[Nq][j].yline中,(m-1)ws≤j ②若q=1且nm≠1,或者若q≠1且q≠nm且fq=fq-1,保存當前目標區(qū)域的隸屬行號標記值fq,此時暫不進行數(shù)據(jù)更新。 ③若q≠1且q≠nm且fq≠fq-1,則對當前目標區(qū)域左側鄰近的具有同一隸屬行號標記值的目標區(qū)域(假定共有t2個目標區(qū)域)進行隸屬行號的確定,并進行相應的數(shù)據(jù)更新。 逐行水平掃描,求取當前目標群域在每條水平掃描線上的中心點坐標,按序依次存儲于Pw[NL][j].xline、Pw[NL][j].yline中,(m-1)ws≤j ④若q≠1且q=nm且fq=fq-1,則對當前目標區(qū)域以及其左側鄰近的具有同一隸屬行號標記值的目標區(qū)域進行隸屬行號的確定,并進行相應的數(shù)據(jù)更新。同上述條件③中方法,不同的是,t2個目標區(qū)域中包括當前目標區(qū)域。 ⑤若q≠1且q=nm且fq≠fq-1,則對當前目標區(qū)域及其左側鄰近的具有同一隸屬行號標記值的目標區(qū)域分別進行隸屬行號的確定,并分別進行相應的數(shù)據(jù)更新。對于當前目標區(qū)域,其隸屬行號的確定以及相應的數(shù)據(jù)更新方法同條件①,對于其左側臨近的具有同一隸屬行號標記值的目標區(qū)域,它們隸屬行號的確定以及相應的數(shù)據(jù)更新方法同條件③。 2.3.1獲取各條作物行區(qū)域上的特征點 上述二維數(shù)組Pw中所保存的數(shù)據(jù),即為劃分在各作物行號下的目標區(qū)域在逐行水平掃描線上的中心點坐標,本研究將其直接視為對應作物行號下的特征點位置坐標。 2.3.2獲取作物行中心線 首先進行離群特征點剔除,然后針對各作物行號下的有效特征點,基于最小二乘法線性擬合,最終獲取各作物行號下的作物行中心線。其中,對于編號為i的作物行,0≤i (1)根據(jù)前述完成數(shù)據(jù)更新后的數(shù)組P可知,對于編號為i的作物行,其趨勢角為P[i].θ,其整體形心橫坐標為P[i].xw,其目標區(qū)域段數(shù)為P[i].nsec,0≤i 當P[i].nsec≥5時,將作物行號i下的特征點,向右平移距離Ds,并以(xsize/2,ysize/2)為中心逆時針旋轉θr。其中,當Ds為負值時,表示向左平移|Ds|距離。Ds和θr的計算式為 Ds=xsize/2-P[i].xw (29) θr=90°-P[i].θ (30) (2)針對上述平移和旋轉處理后的特征點,求取其縱坐標的平均值和標準差,分別記為vav、vsd?;趘av和vsd取值逐一判斷當前作物行號下的所有特征點,若當前特征點的縱坐標(記為yf)滿足yf>vav+1.5vsd或者yf (3)針對離群特征點去除后的有效特征點,基于最小二乘法[9-10,20]線性擬合,獲取擬合直線段。 (4)將上述擬合直線段進行與前述相反的旋轉和平移操作。先以(xsize/2,ysize/2)為中心順時針旋轉θr,然后向左平移距離Ds。完成旋轉和平移后的擬合直線段,即為當前作物行號下的作物行中心線。 針對圖1中10類圖像樣本進行灰度化,灰度化結果如圖3所示。由圖3可知,不受自然光照變化、陰影、降水/積水等的影響,原彩色圖像中的綠色區(qū)域均獲得了增強,且與播種模式無關。 基于最大類間方差法,獲取上述灰度圖像的二值化分割閾值Tth、綠色區(qū)域面積Sg、綠色區(qū)域的面積比例W、優(yōu)化后的分割閾值T依次為:43、64 394、0.134 2、49;57、150 140、0.312 8、75;57、158 112、0.329 4、76;34、51 675、0.107 7、38;34、109 342、0.227 8、42;35、22 575、0.047 0、37;46、104 174、0.217 0、56;34、46 179、0.096 2、37;48、166 152、0.346 2、65;48、191 107、0.398 1、67。對比優(yōu)化前后的分割閾值數(shù)據(jù)可知,茬地晴天、陰天、雜草(細密狀)、冠層交疊這4種條件下,分割閾值的變化較明顯。采用分割閾值優(yōu)化的最大類間方差法獲取的二值圖像如圖4所示,基于最大類間方差法獲取的上述4種條件下的二值圖像如圖5所示。 對比可知,采用閾值優(yōu)化的方法所獲取的二值圖像,作物行間的分界間隙更加清晰可見,尤其在細密狀雜草干擾或植株冠層交疊條件下,處理結果滿足預期要求。 3.3.1變閾值去噪處理結果 經(jīng)測試和試驗驗證,當本研究中相機安裝高度為1.5 m左右、安裝俯角為40°~50°(后續(xù)判斷閾值的設置均以此為前提)時,設置噪聲基數(shù)Bdn=2 000。實際應用中,可根據(jù)需求對該值適當調(diào)整。由此獲得不同環(huán)境條件下的二值化圖像去噪的像素閾值Tdn依次為268、626、659、215、456、94、434、192、692、596?;谝陨舷袼亻撝?,對圖4中的各二值化圖像進行去噪預處理,結果如圖6所示,由圖可知,通過變閾值去噪處理,除了稀疏幼苗時期作物行間的少數(shù)零散狀雜草未被清理,如圖6h所示,其他環(huán)境條件下行間的大部分噪聲都被清除干凈,行間分界間隙更加明晰可見。 3.3.2基于形態(tài)尺寸特征的去噪結果 經(jīng)測試和試驗驗證,本研究設置尺寸判斷閾值依次為Dth=55,Hth=100,Vth=55,Lth=60,Dth1=25,設置形態(tài)判斷閾值依次為Cth=0.2,R1=0.75,Tls1=1.5,R2=1.5,R3=3,Tls1=2,R4=4,設置位置限定閾值為Dth1=3,去噪效果較好,處理結果如圖7所示,圖中白色區(qū)域為去噪處理后的目標區(qū)域。 對比圖6h和圖7h可知,稀疏幼苗時期作物行間的少數(shù)零散狀雜草噪聲均被清理干凈,行間整潔、無干擾。 3.4.1水平條劃分及水平條內(nèi)部目標區(qū)域的分割處理結果 將各幅圖像均分為20個水平條,如圖7所示,圖中紅色細線為水平條之間的劃分邊界。圖7a中首個水平條的垂直累計像素值平滑曲線如圖8a所示,該平滑曲線的縱坐標平均值為av=1 486,其中,正向穿越基線y=1 486的數(shù)據(jù)點(如圖中綠色圓點所示)坐標依次為(169,1 486)、(373,1 486)、(561,1 486)、(749,1 486),反向穿越基線的數(shù)據(jù)點(如圖中棕色圓點所示)坐標依次為(66,1 486)、(235,1 486)、(453,1 486)、(626,1 486)。根據(jù)以上穿越點坐標,可從該水平條中分割出5個目標區(qū)域,各個目標區(qū)域的左、右分界值(即橫坐標分界值)依次為:0、66;169、235;373、453;561、626;749、799。而對于圖7a中的第19個水平條,同理,根據(jù)穿越點坐標(圖8b),可從該水平條中分割出3個目標區(qū)域,各個目標區(qū)域的左、右分界值(即橫坐標分界值)依次為:101、189;481、559;595、663。 考慮到目標區(qū)域是位于圖像底端還是圖像頂端,會直接影響目標區(qū)域之間的水平間距和水平跨度,為此,經(jīng)測試和試驗驗證,本研究依據(jù)目標區(qū)域所處的水平條位置不同,設置不同的水平間距判斷閾值Dth3和水平跨度判斷閾值Dth4:若13≤m≤20,取Dth3=90,Dth4=200;若8≤m≤12,取Dth3=45,Dth4=180;若1≤m≤7,取Dth3=20,Dth4=160。 基于以上判斷閾值,分析圖7a中首個水平條內(nèi)部的5個目標區(qū)域可知,各目標區(qū)域的水平跨度及其之間的水平間距均小于判斷閾值,即無需進行合并操作。為此,以上述5對左右分界值為橫坐標在該水平條中作垂線(如圖7a中首個水平條內(nèi)部的白色垂直線段所示),則這些垂直線段便將該水平條中隸屬于不同作物行的目標區(qū)域分割開來。 同樣,分析圖7a中第19個水平條內(nèi)部的3個目標區(qū)域可知,第2、3個目標區(qū)域之間的水平間距為D2=36,水平跨度為D22=182,滿足D2 同理,完成其他水平條以及其他圖像中各水平條內(nèi)部目標區(qū)域的分割,分割結果如圖7中白色垂直線段所示。由圖可知,除了少數(shù)水平條中,隸屬于同一作物行乃至同一植株的跨度較大的分叉葉片被過度劃分(圖7a中第14、18個水平條),分割結果整體上達到預期效果。 3.4.2跨水平條目標區(qū)域的行間聚類結果 經(jīng)測試和試驗驗證,本研究設置用于排除的偏移量Woff1=-150,設置用于優(yōu)選的偏移增量Woff2=55??缢綏l實施不同水平條中隸屬于同一行的目標區(qū)域的聚類,結果如圖9所示。圖中非白色的彩色散點表示目標區(qū)域的逐行中心點,散點顏色相同表示所對應的目標區(qū)域隸屬于同一作物行。 由圖9可知,只有極少數(shù)目標區(qū)域(由于偏離其原本所隸屬的作物行較遠)未被正確聚類在其所隸屬的作物行下,如圖9c、9g、9i中白色圓圈內(nèi)的散點所對應的目標區(qū)域。整體來說,絕大部分的目標區(qū)域均有效實現(xiàn)了跨水平條之間的行間聚類。 圖9中同一顏色的散點群,即為隸屬于同一作物行的目標區(qū)域上的特征點群。以圖9f中右側紅色特征點群為例,針對其所對應的目標區(qū)域,計算獲得整體形心橫坐標為Pr[3].xw=589,最終的趨勢角為Pr[3].θ=-4.53°,據(jù)此將所有特征點向左平移189個像素,以(400,300)為中心逆時針旋轉94.53°。并計算獲得平移和旋轉后的特征點的縱坐標平均值和標準差分別為vav=298,vsd=28,由此確定劃分離群和有效特征點的兩條分界線分別為y=256和y=340。 如圖10所示,平移和旋轉處理后的特征點如圖中黃色和紅色散點所示,兩條藍色直線為劃分離群和有效特征點的分界線。其中,藍色直線之外的紅色散點為離群特征點,藍色直線以內(nèi)的黃色散點為有效特征點。 針對有效特征點,基于最小二乘法線性擬合,擬合結果如圖10中粉色直線所示。針對該擬合直線,進行反向旋轉和平移操作,最終獲得當前作物行中心線的位置,如圖9f中最右側的白色直線所示。 同理,針對各圖像,獲取目標區(qū)域段數(shù)不小于5的各作物行的中心線,結果如圖9中各白色直線所示,擬合直線標注在原圖中的效果如圖11中紅色直線所示。由圖11可知,雖然前述檢測步驟中存在少數(shù)水平條內(nèi)部的目標區(qū)域被過度劃分、少數(shù)目標區(qū)域未被正確行間聚類的情況,但是對最終線性擬合的結果影響很小,所獲取的作物行中心線都較好地擬合了作物行的實際方位。檢測過程及結果表明,本算法不受播種模式的影響。 面向前述晴天、陰天、陰影、降水/積水、缺株/斷行、雜草、冠層交疊等不同環(huán)境條件下的玉米苗期農(nóng)田場景,采集獲取作物行視頻圖像。視頻圖像采集時,設置相機離地高度為1.5 m左右,俯角保持在30°~60°之間,移動速度為0.5 m/s,采集幀率為20 f/s。針對每種環(huán)境條件,從視頻圖像中任意截取1 000幀的連續(xù)圖像幀,基于本研究中算法逐幀檢測獲取作物行中心線。 當檢測獲取的作物行線落在當前作物行的中心位置處、有效地展示了其實際走向時,視當前作物行線檢測準確,當圖像中的各條作物行線(目標區(qū)域段數(shù)大于4的所有作物行)均檢測準確時,才視當前幀圖像檢測準確,檢測結果如表1所示,整體檢測準確率不低于91.2%,單幀圖像處理時間不超過368 ms,可快速實現(xiàn)不同環(huán)境因素干擾下的多條作物行線(如2~6條)的同步檢測。 部分圖像幀檢測出現(xiàn)問題的主要原因及相應的解決方案如下: (1)相機側向偏斜角過大,或安裝高度過高,或安裝俯角偏小,造成圖像中多條作物行緊密聚攏、間隙模糊,尤其是圖像側邊邊緣位置處或圖像遠端(即圖像頂端)位置處,行間分割較困難,最終導致作物行線檢測失敗。 實際應用中,需結合實際作業(yè)需求,設置合適的相機安裝高度和安裝角,盡量保證在圖像視野范圍內(nèi)作物行間的分界間隙清晰易辨,尤其是感興趣作物行間的分界間隙。 (2)圖像兩側邊緣處的作物行中,部分植株生長較旺盛,其側向伸展的葉片遮蓋住了鄰近的行間間隙,造成該位置處的行間分割失敗,并進一步影響到后續(xù)的行間聚類,導致作物行線檢測失敗。 從算法改進層面來說,可考慮在行間聚類時,針對水平跨度較大的單個目標區(qū)域,先確定其可能隸屬的作物行,再依據(jù)這些作物行的方位和數(shù)量,對該目標區(qū)域實施分割,再確定各分割區(qū)域的隸屬行。 (3)缺株/斷行較嚴重時,尤其是植株幼苗時期,易將靠近圖像內(nèi)側底端的目標區(qū)域聚類在圖像側邊邊緣處的鄰近作物行上,造成行間聚類失敗,并最終導致作物行線檢測失敗。 表1 檢測結果Tab.1 Test results 從應用層面來說,建議前期盡量采取精密栽播模式,以減少嚴重缺株/斷行情況的出現(xiàn),同時建議盡量避開在稀疏幼苗時期開展基于作物行線的田間導航作業(yè)。從技術層面來說,可考慮結合連續(xù)圖像幀中作物行線的方位以及相機載體的方位、轉角信息,來估測或糾正當前幀圖像中的作物行線方位。 (4)被圖像視野邊緣所截斷的位于圖像兩側邊緣處的作物行段,其長度較短,當出現(xiàn)局部行線彎曲或植株葉片在圖像中顯示不完整時,極易導致檢測獲取的作物行線雖然落在了圖像中對應區(qū)域的中心位置處,但卻不能有效展示當前作物行的實際走向。 實際應用中,建議盡量選取位于圖像中心位置處的作物行線作為導航基準線,將其他作物行線用作輔助線,依據(jù)它們相互之間的方位關系,來對所選取的導航基準線進行校驗。在條件允許的情況下,建議盡量設置相機光軸垂直地面的安裝方式。 (5)局部簇生狀雜草緊鄰作物行生長,草苗難分,導致這部分雜草區(qū)域被視為該作物行下的目標區(qū)域,當其分布方位與該作物行的生長方位相差很大時,極易導致檢測獲取的擬合直線與該作物行的實際走向相差很大,造成檢測失敗。 從算法改進層面來說,可考慮在進行行間聚類時,針對水平跨度較大的單個目標區(qū)域,先確定其可能隸屬的作物行,再依據(jù)當前已隸屬于這些作物行下的目標區(qū)域的趨勢角、水平跨度等特征,確定該目標區(qū)域的有效范圍,對于有效范圍之外的區(qū)域實時分割和剔除。在算法改進過程中,可考慮結合原因(2)中的情況,設計綜合改進算法。 (6)行間出現(xiàn)呈縱向生長狀或分布狀的雜草族群,且其目標區(qū)域段數(shù)大于4,造成該部分雜草區(qū)域被視為行間新出現(xiàn)的作物行,導致檢測結果中出現(xiàn)“贅余”的假行線。 實際應用中,建議首先結合連續(xù)圖像幀中各作物行線的方位分布關系,對當前幀中方位異常的假行線實施剔除,然后再選取方位正常的、靠近圖像中心位置處的作物行線作為導航基準線。 (1)基于綠色分量增強法進行彩色圖像灰度化預處理,其效果不受自然光照變化、陰影、降水/積水、播種模式等影響,原彩色圖像中的綠色區(qū)域均得到增強。基于綠色區(qū)域面積比例優(yōu)化分割閾值的最大類間方差法進行灰度圖像二值化預處理,可有效提高作物行間分界間隙的清晰度,尤其在細密狀雜草干擾或植株冠層交疊的情況下。針對上述二值圖像,在變閾值去噪的基礎上,基于8類形態(tài)尺寸特征,進一步完成了較小尺寸噪聲、行間零散分布的圓形葉片類雜草噪聲以及呈橫向生長狀或聚集狀的雜草噪聲的清除。 (2)將二值圖像沿縱坐標均分為20個水平條,針對各水平條,求取其垂直累計像素值分布圖,采用移動平均法進行平滑處理,基于平滑曲線上正向和反向穿越平均值基線的數(shù)據(jù)點,確定平滑曲線的波峰區(qū)間。根據(jù)行內(nèi)、行間目標區(qū)域的水平間距、水平跨度的分布特征及差異性,對隸屬于同一作物行的波峰區(qū)間實施合并,基于合并后波峰區(qū)間的左、右分界值完成當前水平條中隸屬于不同作物行的目標區(qū)域的定位和分割處理。結果表明,目標區(qū)域定位準確、分割效果良好。 (3)從上往下依次掃描各水平條,從左往右逐一判斷當前水平條中各目標區(qū)域所隸屬的作物行號。基于各目標區(qū)域的形心、左右分界值,跨水平條建立目標區(qū)域的垂直間距、趨勢角、覆蓋寬度等特征參數(shù),并根據(jù)行內(nèi)目標區(qū)域垂直間距小、趨勢角一致、覆蓋寬度大的特征,跨水平條實施不同水平條中隸屬于同一作物行的目標區(qū)域的聚類。結果表明,本算法可快速完成多條作物行的同步聚類,聚類效果良好。 (4)針對聚類在各隸屬行號下的目標區(qū)域,進行逐行水平掃描,求取水平掃描線上目標點的中心,并視為對應作物行號下的特征點。基于當前作物行號下所有目標區(qū)域的整體形心及趨勢角確定中心線,將距離中心線較遠的特征點視為離群點。針對離群點去除后的有效特征點,基于最小二乘法進行線性擬合并獲取當前作物行的中心線。結果表明,在不同環(huán)境條件的玉米苗期農(nóng)田場景下,整體檢測準確率不低于91.2%,單幀圖像處理時間不超過368 ms,本文算法簡單、易于實施,可快速實現(xiàn)不同環(huán)境因素干擾下的多條作物行線的同步檢測。2.2 行間聚類分割
2.3 特征點確定及線性擬合
3 試驗與結果分析
3.1 基于綠色分量增強的彩色圖像灰度化結果
3.2 基于分割閾值優(yōu)化的灰度圖像二值化結果
3.3 基于形態(tài)特征的二值圖像去噪結果
3.4 行間聚類分割及特征點獲取結果
3.5 離群特征點去除及線性擬合結果
3.6 總體檢測結果與分析
4 結論