?

基于骨架提取算法的作物莖稈識別與定位方法

2023-01-05 03:56吳艷娟王云亮
農業機械學報 2022年11期
關鍵詞:禾苗莖稈骨架

吳艷娟 王 健 王云亮

(1.天津理工大學電氣工程與自動化學院,天津 300384;2.天津理工大學天津市復雜系統控制理論及應用重點實驗室,天津 300384)

0 引言

在農作物幼苗時期,雜草會極大地影響其生長,使其得不到充足的光照和養分。全球已發現的雜草中超過60%會影響農作物的產量[1]。所以,除草作業對農業生產有重要意義?;瘜W除草和人工除草是當前農業生產中應用最多的兩種除草方式,長期大量使用化學除草劑存在引起環境污染、破壞土壤生態平衡、從源頭影響食品安全等問題。而人工除草雖然能有效識別并清除雜草,但由于勞動力短缺和成本上升,會提高農作物種植成本,并且人工除草效率低,難以實現大規模種植。

由此,機械除草成為最理想的除草方式,在減少人工成本的同時,除草效率大幅提高。然而大多數除草機只能鏟除壟間雜草,株間雜草只能通過人工除草等方式進行處理,隨著計算機、機器視覺和自動化等技術的持續發展,農業機械自動化水平發展迅速,除草機也逐漸向智能化方向發展,研究能真正取代人工作業的智能型除草機是發展趨勢。

而智能型除草機具技術關鍵是雜草和農作物禾苗精確辨識與定位。通過對雜草禾苗顏色、位置、形狀和紋理特征展開研究[2-9],可以對田間禾苗和雜草進行有效辨識,若不能保證除草時對幼苗的具體位置進行精準判斷,作業時會對幼苗造成傷害。

本文提出基于HSV和Zhang-Suen細化算法的骨架提取方法進行禾苗辨識,并進一步實現對農作物禾苗莖稈中心的識別與定位。首先對采集圖像進行處理,將采集到的RGB圖像轉換到HSV顏色空間,通過對H通道閾值的設定,分割掉土壤背景,而后轉回到RGB空間進行二值化處理;再通過腐蝕算法對雜草進行腐蝕操作并得到只包含農作物禾苗信息的圖像;然后用Zhang-Suen細化算法進行骨架提??;最后通過對骨架交叉點的計算與篩選完成對農作物禾苗莖稈中心的識別與定位。

1 算法整體結構模型

本文算法采用背景分割、腐蝕和Zhang-Suen細化骨架提取的多級混合方法對攝像頭采集的彩色圖像進行分級遞進式處理,實現農作物禾苗的識別和定位,算法整體結構模型如圖1所示,首先把原始彩色圖像的RGB圖像轉換到HSV顏色空間,通過對HSV顏色空間中H通道閾值的設置,清除掉土壤背景,再轉換到RGB顏色空間完成圖像的背景分割。為了方便后續操作,對背景分割后的圖像進行二值化處理,然后用腐蝕算法腐蝕掉大部分雜草,并使雜草與作物分離,選取連通區域面積最大的部分就是作物圖像。最后對作物圖像進行骨架提取,通過對交叉點的檢測和計算,對作物莖稈中心進行識別和定位。

圖1 算法整體結構模型

2 算法分級遞進式處理方法

2.1 原始圖像作物背景分割

第1級處理方法是對攝像頭采集的原始彩色圖像進行農作物圖像信息與背景圖像信息分割,即對原始彩色圖像采用RGB到HSV色彩空間轉換方法,將與農作物色彩相差較大的土壤等背景分割出來[10-11]。

由于雜草與作物顏色相近,而土壤背景顏色與作物顏色相差較大,因此在該級處理中主要是通過對HSV顏色空間[12-14]中H通道閾值的設定分割掉土壤背景。

將圖像轉換到HSV顏色空間后,對H通道的閾值進行設定,將閾值以外的像素透明度V設置為0,完成對圖像的背景分割。

2.2 農作物禾苗圖像提取

經過第1級的圖像處理后,提取出的是農作物和雜草等顏色相近的圖像。第2級圖像處理即采用腐蝕算法進行雜草和農作物禾苗的辨識,剔除雜草圖像,提取農作物禾苗圖像。

經過第1級圖像的背景分割之后,可提取出包含作物與雜草的二值圖像,由于雜草與作物的形態差異,可把雜草視為作物圖像中的噪點,利用膨脹腐蝕算法可以有效減少噪聲干擾[15-17],減少雜草同時分離作物與雜草。

本文腐蝕算法和膨脹算法結構元素尺寸為3×3的正方形,結構元素中各點分布如圖2所示。

圖2 腐蝕膨脹算法結構元素

2.3 農作物禾苗骨架提取

經過前2級的處理完成雜草和禾苗的辨識,但為了獲得精準的禾苗位置信息,還需要對禾苗圖像進行骨架提取和禾苗定位,即進行第3級處理的農作物禾苗骨架提取和第4級處理的農作物禾苗莖稈中心定位,該2級處理也是苗間除草機能真正實現機器視覺感知的最關鍵環節之一,也可稱為農業機械具有機器視覺感知的軟接口。

經過第2級圖像處理的膨脹腐蝕操作后,得到的二值圖像中僅含有農作物禾苗圖像,而要精準獲得作物的中心位置,就要先對作物整體進行細化,得到作物的骨架。骨架提取算法能有效對骨架進行提取[18-23]。本文采用Zhang-Suen細化算法進行骨架提取[24-27]。該算法每一次迭代標記符合特定條件的目標像素,在遍歷完所有圖像之后,再對標記點進行統一刪除,直到某一次迭代中沒有任何一個像素被標記,則迭代結束,得到的圖像則為細化后的骨架圖像。為了方便描述,先定義幾個基本概念。

算法中黑像素為1,白像素為0,輸入圖像是由1和0組成的n×m序列。算法對有8個鄰域的所有黑色像素P1進行操作。鄰域中各像素標號按照圖3所示的8鄰域像素次序圖依次排列。

圖3 8鄰域像素次序圖

對圖3中的8鄰域像素做出如下定義:

定義1:A(P1)=P2→P3→P4→P5→P6→P7→P8→P9→P2序列中從白到黑的轉換次數。

定義2:B(P1)=P1鄰域像素為黑色的個數。

骨架提取算法共分為2個步驟:

(1)若同時滿足以下4個條件,則標記P1為可刪除的點。① 2≤B(P1)≤6。②A(P1)=1。③ P2、P4、P6中至少有1個為白色。④ P4、P6和P8中至少有1個為白色。

(2)若同時滿足以下4個條件,則標記P1也為可刪除的點。① 2≤B(P1)≤6。②A(P1)=1。③ P2、P4、P8中至少有1個為白色。④ P2、P6、P8中至少有1個為白色。

在上述過程中,2個步驟的條件①和條件②相同。條件①判斷P1是否為端點,如果P1的鄰域只有1個像素為黑色,則為端點,不能被標記;如果P1的鄰域有7個像素為黑色,為保證骨架的連通性,也不能被標記。條件②檢測P1的鄰域順時針方向是否有從0到1之間的變化,以保證骨架像素點不被標記。

步驟(1)的條件③和條件④同時成立的條件是P4為白色或P6為白色或P2和P8同時為白色,以此來標記東邊或南邊或西北邊的邊界點;步驟(2)的條件③和條件④同時成立的條件是P2為白色或P8為白色或P4和P6同時為白色,以此來標記西邊或北邊或東南邊的邊界點。

Zhang-Suen骨架提取算法流程如圖4所示。

圖4 骨架提取流程圖

最初,原始圖像存儲在矩陣IT中,計數器C設為0。處理后的圖像結果覆蓋原圖像并存儲在矩陣IT中。為了節省內存空間,在計算中只使用了矩陣IT和M。其中M為步驟(1)和步驟(2)中所標記的點的集合。

2.4 農作物禾苗莖稈中心定位

為了精準定位農作物禾苗莖稈中心,對第3級圖像處理后提取的農作物禾苗骨架圖像,繼續采用模板匹配的方法搜尋莖稈中心,對農作物禾苗進行精準定位。

模板匹配[28-29]是最基礎、最常用的模式識別方法,主要用于尋找某一關鍵部分位于圖像的位置,從而對目標進行特征識別,這就是一個匹配問題。本文中,根據骨架交叉點的特征,共定義12個模板,其結構如圖5所示。

圖5 交叉點匹配模板

2.5 莖稈中心實際位置轉換

得到莖稈的像素坐標之后,計算出行列像素偏差,代表直線距離。通過對空間坐標的轉換,由小孔成像原理[30-31]計算出農作物的莖稈位置與實際位置偏差。

3 算例實驗

3.1 實驗圖像采集

于自然光照環境采集圖像,圖像尺寸為640像素×480像素,算法實現環境為Matlab仿真平臺。于2019年4月,在實驗玉米田地采集圖像,玉米幼苗播種14 d后,葉片為5~6葉,葉片長度約為 8 cm,幼苗間距約為30 cm,相機距離地面40 cm,共選取100幅圖像進行實驗檢測,示例如圖6所示。

圖6 相機采集的部分作物幼苗圖像

3.2 作物提取

由圖6可以看出,圖中雜草與作物顏色相近,而土壤背景顏色與作物顏色相差較大,因此通過對HSV顏色空間中H通道閾值的設定分割掉土壤背景,閾值設置的范圍為0.17~0.5。

將分割掉土壤背景后的圖像再轉換到RGB空間進行二值化,圖7為背景分割后轉回RGB空間的圖像,圖8為二值化后的圖像。

圖7 背景分割后的RGB圖像

圖8 背景分割后的二值化圖像

在用膨脹腐蝕算法進行處理時,出現由于拍攝時的角度與光照問題,導致部分圖像的莖稈中心位置處為黑色,影響禾苗骨架提取的準確度,因此再運用閉運算,把圖像中的黑色部分填充為白色,得到的結果如圖9所示。

圖9 膨脹腐蝕后的二值化圖像

由圖9可以看出,利用膨脹腐蝕算法可以有效消除大部分雜草噪點,還有一小部分無法去除,但是剩下的雜草噪點已經與作物分離,因此,選取圖中連通區域最大的部分進行提取,就可得到只含有作物的二值圖像。提取后的作物圖如圖10所示。

圖10 作物提取圖像

3.3 莖稈定位

在得到作物圖像之后,為了獲得作物的莖稈信息,先對作物進行骨架提取,在提取過程中,重復迭代Zhang-Suen骨架提取算法的2個步驟,每次迭代后對作物圖像中的非骨架點進行標注。在迭代過程中,每次迭代完檢測是否有被標記的點,如果有則刪除本次迭代中所有被標記的點,然后進行下一次迭代;如果沒有任何點被標記,則迭代結束,剩下的點所構成的區域即為骨架。采用Zhang-Suen細化算法處理后的作物骨架如圖11所示。

圖11 作物骨架圖像

在運用Zhang-Suen細化算法對作物骨架進行提取后,以圖5交叉點匹配模板對圖11的作物骨架進行模板匹配,所得到的骨架交叉點如圖12所示,根據作物的形態特征對其進行最大外接矩形的對角線交點計算,所有交叉點中,距離對角線交點最近的點即判定為作物的中心點,得到作物中心點如圖13所示。

圖12 骨架交叉點

圖13 作物中心點

作物原圖莖稈中心和實驗莖稈定位結果如表1所示。

表1 莖稈定位結果

依據小孔成像原理,計算原圖莖稈中心點坐標與定位結果圖的中心點坐標的像素距離偏差,部分實驗數據見表1,然后再將像素距離偏差轉換為實際距離偏差,結果表明實際位置偏差小于12 mm的準確率為95%,滿足除草機對莖稈位置的定位精度要求。并且,在該實驗中識別不準確的都是禾苗和雜草距離太近的情況,而距離禾苗太近的雜草也不能用除草機鏟除,會誤傷作物幼苗,不考慮這些與禾苗太近的情況,定位準確率會更高。

為進一步驗證本文方法的優越性,與文獻[32]采用的K3M算法進行了實驗對比,該文方法對誤差10 mm以內準確率為85.9%。而本文所采用的Zhang-Suen骨架提取和模板匹配算法對誤差 10 mm 內準確率為88%,并且誤差12 mm內準確率達到95%。

4 結束語

提出了一種基于顏色空間轉換、腐蝕膨脹算法、Zhang-Suen細化骨架提取算法以及模板匹配等多算法混合分級圖像處理的方法,實現雜草和農作物禾苗辨識,并且該方法利用作物骨架的交叉點來篩選出作物中心點,實現通過農作物禾苗骨架莖稈中心精確定位禾苗位置的方法。首先在HSV色彩空間中,通過對H通道閾值的設定完成背景分割,根據作物與雜草的分布特點,對圖像進行多次腐蝕操作后,通過對最大連通區域的提取,得到作物圖像。然后用Zhang-Suen細化算法提取作物骨架,通過對交叉點的模板匹配得到骨架交叉點。最后利用骨架的外接矩形計算出作物的莖稈中心。通過對100幅圖像進行實驗測試,完成了對苗期作物莖稈中心的精準識別和定位,定位誤差小于12 mm。該方法能對作物進行精準識別并精確定位苗期作物的莖稈中心位置,為進一步使用機械除草奠定了基礎。

猜你喜歡
禾苗莖稈骨架
水稻莖稈接觸物理參數測定與離散元仿真標定
淺談管狀骨架噴涂方法
揠苗助長
揠苗助長
基于離散元的柔性作物莖稈振動響應仿真
骨架密度對炭/炭多孔骨架壓力浸滲銅的影響
禾苗上的露珠
谷子莖稈切割力學特性試驗與分析
周博士考察拾零(六十六)日光溫室前屋面開機具作業門處骨架的處理方法
博澤引領座椅骨架技術發展
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合