基于圖像分析的漏割草坪識別方法
【專利摘要】本發(fā)明公開了一種基于圖像分析的漏割草坪識別方法:通過單片機對攝像頭捕獲的圖像進行如下處理;確定草的HSI值的閾值范圍,將顏色與草明顯有差異的背景去除;利用邊緣檢測算子將檢測圖像中目標的邊緣提取出,形成灰度圖;利用Otsu算法選擇最佳閾值,將灰度圖變成二值圖;對二值圖進行腐蝕運算,消除噪聲及背景;選用Freeman碼對二值圖中較大的目標進行輪廓提取;再次利用Freeman碼對提取出來的輪廓用填充色進行填充;對填充后的目標進行骨架提取,再對骨架剪枝,去除多余的毛刺;對目標骨架進行長度計算,若長度在草的閾值范圍之內,就暫定為草;對暫定為草的目標進行長寬比的計算,若長寬比在草的閾值范圍內,就認定目標是草,圖像中存在漏割草坪。
【專利說明】基于圖像分析的漏割草坪識別方法
【技術領域】
[0001]本發(fā)明涉及圖像處理與模式識別領域,尤其是一種基于圖像分析的漏割草坪識別方法。
【背景技術】
[0002]現(xiàn)今的智能割草機器人在進行草坪修剪時只能根據(jù)顏色特征,紋理特征模糊的判斷該區(qū)域是否是草坪,而無法真正的根據(jù)草的特征識別出草坪。所以有些顏色與草坪的相近的地衣,苔蘚等也會誤認為是草坪。而后當割草機器人根據(jù)預定路徑規(guī)劃進行草坪修剪時,由于草坪環(huán)境的復雜性,割草機器人會因為障礙物等因素出現(xiàn)對草坪漏割的現(xiàn)象。為了消除或者減少漏割草坪,割草機器人在沒有草坪狀態(tài)反饋的條件下,只能采取隨機路徑的規(guī)劃方式,再以長時間甚至持續(xù)不斷的工作方式來配合,保證對整片草坪的完全覆蓋。于是會對同一塊草地進行多次不同方向的往復前進,降低了割草效率。如果能夠準確識別出漏割草坪,完全可以指導割草機器人的路徑規(guī)劃偏重于漏割區(qū)域,這樣可以大大提高割草機器人的效率。因此,對于漏割草坪的識別,具有顯著的實際應用意義。
【發(fā)明內容】
[0003]本發(fā)明要解決的技術問題是提供一種簡單的基于圖像分析的漏割草坪識別方法。
[0004]為了解決上述技術問題,本發(fā)明提供一種基于圖像分析的漏割草坪識別方法,包括智能割草機器人,所述的智能割草機器人內部設置進行集中控制的微處理器,所述的智能割草機器人前端設置進行圖像采集的攝像頭;所述的微處理器分別與攝像頭和智能割草機器人的運動控制系統(tǒng)信號連接;其特征是:所述攝像頭將實時采集的圖像信息I (X,y)傳輸?shù)轿⑻幚砥?,所述微處理器通過內置的漏割草坪識別算法對圖像信息I(x,y)進行識別處理;
[0005]所述的漏割草坪識別算包括以下步驟:
[0006]①對圖像信息I(x,y)采用顏色識別算法,去除與草的顏色有差異的背景,獲得圖像息 I1 (χ, y);
[0007]②通過邊緣檢測算子檢測圖像信息I1Uy)的邊緣,并提取出來形成一幅灰度圖12 (χ, y);
[0008]③利用Otsu算法選擇最佳閾值t,將灰度圖12 (χ, y)處理成二值圖13 (x, y);
[0009]④對二值圖13(x,y)進行腐蝕運算,消除噪聲及背景后得到腐蝕圖14(x,y);
[0010]⑤選用Freeman碼對腐蝕圖14(x,y)中的目標進行輪廓提取,得到輪廓圖15 U,y);
[0011]⑥再次利用Freeman碼對提取出來的輪廓用填充色進行填充,得到填充圖15 (X,y);
[0012]⑦對填充后的目標進行骨架提取,得到骨架圖16(x,y);
[0013]⑧對目標的骨架進行長度計算,若長度在草的閾值范圍之內,就將目標暫定為草;
[0014]⑨對暫定為草的目標骨架進行寬度計算,根據(jù)計算的結果再進行長寬比的計算;若長寬比在草的閾值范圍內,就認定目標是漏割的草。
[0015]作為對本發(fā)明所述的基于圖像分析的漏割草坪識別方法的改進:在步驟①中,所述的顏色識別算法通過如下步驟實現(xiàn):構建草的HSI彩色模型,確定色調和飽和度值的取值范圍分別為P〈H(x,y)〈a和S(x,y)>Y ;對于像素點(x, y)的H(x, y)和S(x, y),如果β<Η(χ, y)<a并且S(x,y)>Y,則判斷像素點(x,y)為草,否則非草;所述色調和飽和度值的取值范圍通過草的顏色進行確定。
[0016]作為對本發(fā)明所述的基于圖像分析的漏割草坪識別方法的進一步改進:在步驟②中,所述的邊緣檢測算子采用Sobel邊緣檢測算子。
[0017]作為對本發(fā)明所述的基于圖像分析的漏割草坪識別方法的進一步改進:在步驟③中,Otsu算法獲得最佳閾值t的步驟如下:通過灰度圖12(x,y)的R分量圖提取背景比例wO、背景均值uO、前景比例wl、前景均值ul以及灰度圖13(x,y)的均值u ;再通過t=Max[wO(t) * (uO (t) -u) 2+wl (t) * (ul (t) -u)2]計算后獲得最佳閾值 t。
[0018]作為對本發(fā)明所述的基于圖像分析的漏割草坪識別方法的進一步改進:在步驟④中,所述的腐蝕運算選用一個3*3的方形結構元素S對二值圖13 (X,y)進行腐蝕。
[0019]作為對本發(fā)明所述的基于圖像分析的漏割草坪識別方法的進一步改進:在步驟⑤中,首先提取輪廓的頂點鏈碼,再由輪廓的頂點鏈碼轉換成輪廓的Freeman碼。
[0020]作為對本發(fā)明所述的基于圖像分析的漏割草坪識別方法的進一步改進:在步驟⑥中,將輪廓的Freeman碼標記為左右端點,將每行的左端點作為種子點逐行填充,直到遇到右端點,則該行填充完畢,繼續(xù)下一行填充。
[0021]作為對本發(fā)明所述的基于圖像分析的漏割草坪識別方法的進一步改進:在步驟⑦中,填充圖15(x,y)通過細化算法進行細化,并提取出目標的骨架;所述骨架再用毛刺去除算法去除毛刺。
[0022]作為對本發(fā)明所述的基于圖像分析的漏割草坪識別方法的進一步改進:在步驟⑧中,骨架長度通過骨架的像素值獲?。辉诓襟E⑨中,骨架寬度通過骨架的像素值獲取。
[0023]本發(fā)明的基于圖像分析的漏割草坪識別方法中,在顏色特征的基礎上直接采用草的形狀特征對漏割草坪進行識別。在進行漏割草坪識別的過程中,只需要識別出漏割草坪上的其中幾根草,不需要進行全部識別,就可以判斷該區(qū)域是否是漏割草坪。
[0024]再一個,由于本發(fā)明中的基于圖像分析的漏割草坪識別方法對于漏割草坪有較好的識別效果,可以將該算法用于實際智能割草機上,用來對于漏割草坪的識別,割草機直接根據(jù)草坪的方位進行漏割區(qū)域的修剪,直接提高了割草機的割草效率。
【專利附圖】
【附圖說明】
[0025]下面結合附圖對本發(fā)明的【具體實施方式】作進一步詳細說明。
[0026]圖1是智能割草機器人的結構示意圖;
[0027]圖2是漏割草坪識別算法的流程圖。
[0028]圖3是腐蝕運算的結構元素圖?!揪唧w實施方式】
[0029]實施例1、圖1~圖3給出了一種基于圖像分析的漏割草坪識別方法,包括智能割草機器人1、單片機2以及攝像頭3 ;智能割草機器人I的內部設置單片機2,智能割草機器人I的前端設置攝像頭3 ;單片機2分別與攝像頭3和智能割草機器人I的運動控制系統(tǒng)信號連接;在使用的過程中,通過攝像頭3實時采集智能割草機器人I周圍環(huán)境的圖像信息,并將采集到的圖像信息傳輸給割草機內部的單片機2 ;每隔固定周期Λ t,單片機2通過內置的基于圖像分析的漏割草坪識別方法對最新獲取的圖像信息進行分析,并確認出未被智能割草機器人I切割過的草,再通過單片機2經運動控制系統(tǒng)進行智能割草機器人I的行動軌跡控制。
[0030]本發(fā)明的基于圖像分析的漏割草坪識別方法的主要實現(xiàn)步驟主要包括為圖像的采集、圖像數(shù)據(jù)的計算以及草的識別(分為初步識別和精確識別)三方面,具體如下:
[0031]一、圖像的采集:
[0032]1、攝像頭3實時采集智能割草機器人I周圍環(huán)境的圖像信息I (X,y),并將圖像信息I (X,y)實時的傳輸?shù)絾纹瑱C2 ;單片機2每隔固定周期Λ t讀取攝像頭3采集的最新圖像息 I (χ, y);
[0033]固定周期Λ t通過該智能割草機器人I的使用環(huán)境進行設置;
[0034]二、對草的識別一(初步識別):
[0035]2、單片機2根據(jù)固定周期Λ t讀取最新的圖像信息I (X,y)后,根據(jù)HSI (色調,飽和度,強度)彩色模型對該圖像信息I (χ,y)進行顏色特征的識別;確定色調和飽和度值的取值范圍分別為P〈H(x,y)〈a和S(x,y)>Y ;對于像素點(x, y)的H(x,y)和S(x,y),如果β<Η(χ, y)<a并且S(x,y)>Y,則判斷像素點(x,y)為草,否則非草,β和a的取值需要根據(jù)草的顏色和使用情景進行相應的制定;本實施例中,根據(jù)草的常規(guī)情形,將色調和飽和度值的取值范圍分別設定為80≤H≤180并且S≥10 ;即,在圖像信息I(x,y)的HSI彩色模型中,80 < H < 180并且S > 10時的圖像暫定為草,將不是草的背景(H值跟S值的取值區(qū)間并不能滿足以上所述的圖像)濾除,獲得圖像信息I1U, y);
[0036]三、圖像數(shù)據(jù)的計算:
[0037]3、灰度圖的提取:
[0038]根據(jù)Sobel邊緣檢測算子對步驟2所述的圖像信息I1U, y)進行邊緣檢測:彩色圖像由R、G以及B三個分量圖組成,用Sobel邊緣檢測算子分別檢測R、G以及B三個分量圖的梯度值,提取出分別為R、G以及B三個分量圖在(X,y)位置上的χ軸方向與y軸方向上梯度值較大的MaxR(χ, y)、MaxG (x, y)以及MaxB (x, y),然后根據(jù)公式grads= (MaxR(x, y)+MaxG (χ, y)+MaxB (χ, y))/3進行計算后得出R、G以及B三幅分量圖上坐標為(x, y)的灰度值;
[0039]通過上述的公式grads= (MaxR (χ, y) +MaxG (x, y) +MaxB (x, y))/3 進行計算后,由于每個像素點的R、G以及B值都相等,所以可以得到一幅灰度圖12(x,y);
[0040]4、二值圖的提取:
[0041]根據(jù)Otsu算法對步驟3所獲得的灰度圖12(x,y)進行二值化,即得出得出二值圖13(χ, y);其中最佳閾值t的計算方法如下:
[0042]通過灰度圖12 (X,y)的R分量圖提取灰度圖12 (X,y)的背景比例wO、背景均值uO、前景比例wl、前景均值ul以及整幅圖像的均值u,再通過公式t=Max[wO (t) * (uO (t)-u) 2+wl(t)*(ul(t)-u)2]計算出最佳閾值t;
[0043]5、腐蝕圖的提取:
[0044]根據(jù)圖像的腐蝕運算對二值圖13(x,y)進行腐蝕,腐蝕運算中,選用一個3*3的方形結構元素S,S如圖3所示,經腐蝕運算后,可以消除一些圖像中不相關的小的細節(jié),并得到腐蝕圖14(x,y);
[0045]6、目標輪廓的提取:
[0046]根據(jù)輪廓的提取算法對腐蝕圖14(X,y)中較大的目標進行輪廓提??;
[0047]進行輪廓提取時,先提取輪廓的頂點鏈碼,再將頂點鏈碼轉換為Freeman碼來提取目標輪廓,得到輪廓圖15(x,y);
[0048]7、對目標輪廓的填充;
[0049]將輪廓的Freeman碼標記為左右端點,將每行的左端點作為種子點逐行填充,直到遇到右端點,則該行填充完畢,繼續(xù)下一行填充,最終獲得填充圖15(x,y);
[0050]8、目標骨架的提取:
[0051]根據(jù)細化算法將步驟7填充的目標填充圖15(x,y)進行細化,即將目標的骨架提取出來,由于骨架對于目標輪廓形變的敏感性,在骨架提取中會出現(xiàn)一些毛刺,再用毛刺去除算法將骨架上的毛刺去除,最終獲得骨架圖16(x,y);
[0052]四、對草的識別二 (精確識別):
[0053]9、根據(jù)草的長度對目標進行識別,長度的計算根據(jù)骨架的像素值來近似的作為目標的長度,再根據(jù)草的長度閾值將不符合長度閾值的骨架消除,保留符合閾值要求的骨架;
[0054]上述骨架即是指骨架圖16 (X,y)中的骨架;
[0055]10、根據(jù)長度判斷后,對骨架圖16(x,y)中有骨架保留的目標進行寬度計算,寬度的計算是根據(jù)骨架的像素值來近似的作為目標的寬度;再通過長度和寬度計算長寬比,根據(jù)草的長寬比的閾值,將符合閾值條件的骨架進行保留,其余的去除;最終保留的骨架同時符合長度和長寬比,就可以最終判定為草(漏割的草或者沒有切割的草)。
[0056]以上所述的草的長度閾值和長寬比的閾值均根據(jù)對即將收割的草進行實際檢測后獲得。
[0057]以上所述中,根據(jù)漏割草坪識別算法可以直接判斷出攝像頭3捕獲的圖像中是否存在漏割草坪,根據(jù)判斷的結果,單片機2通過運動控制系統(tǒng)直接控制智能割草機器人I的移動方向。
[0058]最后,還需要注意的是,以上列舉的僅是本發(fā)明的一個具體實施例。顯然,本發(fā)明不限于以上實施例,還可以有許多變形。本領域的普通技術人員能從本發(fā)明公開的內容直接導出或聯(lián)想到的所有變形,均應認為是本發(fā)明的保護范圍。
【權利要求】
1.一種基于圖像分析的漏割草坪識別方法,包括微處理器(2),所述微處理器(2)上連接有攝像頭(3);其特征是:所述攝像頭(3)將實時采集的圖像信息I (x,y)傳輸?shù)轿⑻幚砥?2),所述微處理器(2)對圖像信息I (X,y)進行如下的識別步驟: ①對圖像信息I(x,y)采用顏色識別算法,去除與草的顏色有差異的背景,獲得圖像信息 I1(X, y); ②通過邊緣檢測算子檢測圖像信息I1Uy)的邊緣,并提取出來形成一幅灰度圖12 (χ, y); ③利用Otsu算法選擇最佳閾值t,將灰度圖12(x,y)處理成二值圖13(x,y); ④對二值圖13(x,y)進行腐蝕運算,消除噪聲及背景后得到腐蝕圖14(x,y); ⑤選用Freeman碼對腐蝕圖14(x,y)中的目標進行輪廓提取,得到輪廓圖15(x,y); ⑥再次利用Freeman碼對提取出來的輪廓用填充色進行填充,得到填充圖15(x,y); ⑦對填充后的目標進行骨架提取,得到骨架圖16(x,y); ⑧對目標的骨架進行長度計算,若長度在草的閾值范圍之內,就將目標暫定為草; ⑨對暫定為草的目標骨架進行寬度計算,根據(jù)計算的結果再進行長寬比的計算;若長寬比在草的閾值范圍內,就認定目標是漏割的草。
2.根據(jù)權利要求1所述的基于圖像分析的漏割草坪識別方法,其特征是:在步驟①中,所述的顏色識別算法通過如下步驟實現(xiàn): 構建草的HSI彩色模型,確定色調和飽和度值的取值范圍分別為i3〈H(x,y)〈a和S (x, y) > Y ; 對于像素點(X,y)的H(x, y)和S (X,y),如果β <H(x, y)〈 a并且S (x, y) > Y ,則判斷像素點(x,y)為草,否則非草; 所述色調和飽和度值的取值范圍通過草的顏色進行確定。
3.根據(jù)權利要求2所述的基于圖像分析的漏割草坪識別方法,其特征是:在步驟②中,所述的邊緣檢測算子采用Sobel邊緣檢測算子。
4.根據(jù)權利要求3所述的基于圖像分析的漏割草坪識別方法,其特征是:在步驟③中,Otsu算法獲得最佳閾值t的步驟如下: 通過灰度圖12(x,y)的R分量圖提取背景比例wO、背景均值uO、前景比例《1、前景均值ul以及灰度圖13(x,y)的均值u ; 再通過 t=Max[wO(t)*(uO(t)-u)2+wl (t)*(ul (t)_u)2]計算后獲得最佳閾值 t。
5.根據(jù)權利要求4所述的基于圖像分析的漏割草坪識別方法,其特征是:在步驟④中,所述的腐蝕運算選用一個3*3的方形結構元素S對二值圖13(X,y)進行腐蝕。
6.根據(jù)權利要求5所述的基于圖像分析的漏割草坪識別方法,其特征是:在步驟⑤中,首先提取輪廓的頂點鏈碼,再由輪廓的頂點鏈碼轉換成輪廓的Freeman碼。
7.根據(jù)權利要求6所述的基于圖像分析的漏割草坪識別方法,其特征是:在步驟⑥中,將輪廓的Freeman碼標記為左右端點,將每行的左端點作為種子點逐行填充,直到遇到右端點,則該行填充完畢,繼續(xù)下一行填充。
8.根據(jù)權利要求7所述的基于圖像分析的漏割草坪識別方法,其特征是:在步驟⑦中,填充圖15 (x, y)通過細化算法進行細化,并提取出目標的骨架; 所述骨架再用毛刺去除算法去除毛刺。
9.根據(jù)權利要求8所述的基于圖像分析的漏割草坪識別方法,其特征是:在步驟⑧中,骨架長度通過骨架的像素值獲??; 在步驟⑨中,骨 架寬度通過骨架的像素值獲取。
【文檔編號】G06K9/60GK103839069SQ201410087463
【公開日】2014年6月4日 申請日期:2014年3月11日 優(yōu)先權日:2014年3月11日
【發(fā)明者】陸溪, 杜慧江, 劉瑜, 肖雄, 童逸舟, 邢明 申請人:浙江理工大學