劉現(xiàn)悅,劉卉,王僑,高娜娜,梅鶴波,王培
(1. 首都師范大學(xué)信息工程學(xué)院,北京市,100048; 2. 北京農(nóng)業(yè)智能裝備工程技術(shù)研究中心,北京市,100097; 3. 北京農(nóng)業(yè)信息技術(shù)研究中心,北京市,100097)
秸稈覆蓋還田是世界公認(rèn)的經(jīng)濟(jì)且可持續(xù)化的秸稈資源利用方式[1],它可以減少地表徑流,增加雨水滲入,抑制水分蒸發(fā);同時秸稈腐爛后,還可以增加土壤中的生物活性,有機質(zhì)和腐蝕質(zhì),培肥地力,對改善土壤的結(jié)構(gòu)、增加土壤中的有益微生物群有著重要的作用,對土壤改良和大氣環(huán)境保護(hù)均具有積極意義[2-4]。因此,秸稈覆蓋率是衡量保護(hù)性耕作技術(shù)的重要指標(biāo)。近年來,國家大力倡導(dǎo)田間秸稈還田[5-6]。計算機視覺識別法主要是通過處理田間秸稈覆蓋圖像計算圖像中秸稈比例。相比傳統(tǒng)的人工估量法,圖像法的準(zhǔn)確率和檢測效率更高。
目前,一些學(xué)者在利用計算機視覺識別田間秸稈覆蓋率方面取得了一定的研究進(jìn)展。李洪文等[7]采用人工神經(jīng)網(wǎng)絡(luò)與紋理特征相結(jié)合的方法進(jìn)行田間秸稈覆蓋率的檢測,檢測識別率達(dá)90%,但該方法對硬件的要求較高;于國慶等[8]提出了一種基于向量機算法的秸稈覆蓋率圖像識別方法;劉媛媛等[9]提出一種多閾值分割方法進(jìn)行田間秸稈覆蓋率檢測,但對圖像質(zhì)量要求較高;蘇艷波等采用了自動閾值分割算法,通過對灰度圖像對數(shù)變換后采用迭代法進(jìn)行自動閾值選取,實現(xiàn)對地表秸稈覆蓋率的檢測,但該方法不能很好處理無秸稈覆蓋圖片且計算結(jié)果容易受光照影響。王麗麗等[10]采用Sauvola算法提取秸稈區(qū)域細(xì)節(jié),與OTSU(最大類間方差法)閾值分割法相結(jié)合來檢測秸稈覆蓋率,但是該方法存在一定的秸稈中空現(xiàn)象。綜上所述,一般閾值分割算法在秸稈極少或無秸稈覆蓋的情況下測算結(jié)果較差,OTSU算法雖然在有秸稈覆蓋的情況下具有較好的檢測精度,但易受光照影響。
本文提出依據(jù)圖像的行平均灰度標(biāo)準(zhǔn)差將秸稈圖片劃分為有秸稈和無秸稈兩類;針對有秸稈圖片,對其進(jìn)行分塊,分別對每一個子塊進(jìn)行OTSU閾值分割,對分割后的圖像進(jìn)行面積測算,最終獲得秸稈覆蓋率。
為了保證對無秸稈圖像的正確識別,同時減少光照對測量結(jié)果的影響,本文提出如下秸稈覆蓋率檢測算法:首先計算目標(biāo)圖像的行平均灰度標(biāo)準(zhǔn)差,并依據(jù)有、無秸稈圖像的行平均灰度標(biāo)準(zhǔn)差分布范圍的差異性來設(shè)定分類閾值,從而區(qū)分有秸稈和無秸稈圖像;然后針對有秸稈的圖像,采取基于圖像分塊的OTSU閾值分割方法來完成秸稈覆蓋率的檢測。算法設(shè)計流程如圖1所示。
圖1 檢測算法流程圖Fig. 1 Flow chart of detection algorithm
由于農(nóng)田環(huán)境下圖像中秸稈與土壤的灰度有區(qū)別,因此圖像的行平均灰度標(biāo)準(zhǔn)偏差可以反映圖像行包含的信息量。當(dāng)圖像為純色圖時,圖像只包含一個灰度值,此時行灰度平均標(biāo)準(zhǔn)差最小,圖像的信息量為0;當(dāng)圖像的縱向灰度值像素分布不均勻且灰度范圍越大時,圖像的行灰度平均標(biāo)準(zhǔn)差越大。本文針對被檢測的目標(biāo)圖像,首先基于行平均灰度標(biāo)準(zhǔn)差判斷圖像有無秸稈。
對于灰度圖像I,計算每一行的平均灰度標(biāo)準(zhǔn)差,計算公式如式(1)~式(3)所示。
(1)
(2)
(3)
式中:I[i,j]——圖像I在(i,j)點的灰度值;
D——圖片行平均灰度Ai的標(biāo)準(zhǔn)偏差;
W——圖像寬度;
H——圖像高度。
圖像的秸稈目標(biāo)越多,圖像縱向包含的像素灰度越豐富,圖像的行平均灰度標(biāo)準(zhǔn)差值D越大。在實際田間圖像中,由于光照或秸稈復(fù)雜度等原因,平均灰度標(biāo)準(zhǔn)差值D是變化的,可通過設(shè)定閾值方式適應(yīng)圖像差異,實現(xiàn)對圖像中是否含有秸稈進(jìn)行判斷。
1.3.1 OTSU閾值分割算法
在數(shù)字處理中,圖像分割是關(guān)鍵的一步。當(dāng)圖像質(zhì)量較好,光照均勻的時候只需用全局閾值的方法就能很完美地完成圖像分割任務(wù);當(dāng)整個圖像的物體和背景的灰度分布十分明顯時,可以使用單個閾值進(jìn)行分割[11-13]。灰度閾值的處理效果與分割直方圖模式的谷峰寬度和深度直接相關(guān)。影響峰谷性質(zhì)的關(guān)鍵因素[14]包括峰間的可分性、圖像噪聲、目標(biāo)和背景的相對大小、以及光源。
OTSU算法使用的聚類思想,按照圖像的灰度特征將圖像分為背景和前景兩個部分,使得兩個部分之間的灰度值差異最大,同一部分的灰度差異最小。通過計算方差來尋找一個合適的灰度級別η*來劃分。OTSU算法步驟如下。
1) 輸入包含L個不同灰度級的子塊圖像I(M,N)。使用Pi,i=0,1,2,…L-1,表示該直方圖的各個分量,并計算累計分布P1(k)。
(4)
(5)
式中:P1——灰度值在[0,k]范圍內(nèi)的概率;
P2——灰度值在[k+1,L-1]范圍的概率。
(6)
(7)
式中:m1——灰度值在[0,k]范圍內(nèi)的平均灰度值;
mG——全局灰度均值。
(8)
(9)
當(dāng)閾值為k時,η*取得最大值,使前景與背景的類間方差最大,能夠準(zhǔn)確區(qū)分出圖像中的土壤與秸稈。
1.3.2 基于圖像分塊的可變閾值分割檢測算法
OTSU方法在類間方差最大的情況下是最佳的,但容易受噪聲和光照的影響。在田間采集圖像時經(jīng)常遇到光照不均勻的現(xiàn)象或秸稈與土壤的顏色相近的情況,如果用全局閾值的方法進(jìn)行秸稈覆蓋率的測量會出現(xiàn)較大的誤差。
本文提出了采用圖像分塊方法,在圖像分塊基礎(chǔ)上采用可變閾值來補償光照和反射的不均勻性,在高灰度區(qū)域用高閾值分割,在低灰度區(qū)域用低閾值進(jìn)行分割。圖像分塊步驟如下。
1) 將秸稈圖片Im進(jìn)行灰度處理得到灰度圖像Im_gray。
2) 將大小為800像素×600像素大小的灰度圖像Im_gray分割為25個160像素×120像素大小的子塊I_grayi,其中i表示子塊的序號。
3) 分別對每個子塊I_grayi進(jìn)行OTSU閾值分割并進(jìn)行去噪處理和孔洞填充,得到分塊后的閾值分割圖像。
4) 將分塊后的子塊重新拼接組成完整的目標(biāo)二值圖像I_tag。
5) 通過統(tǒng)計二值圖像I_tag中白色像素(黑色部分為土壤,白色部分為秸稈)所占比例計算秸稈覆蓋率。
將圖像分塊處理后能夠有效減少OTSU算法因光照不均勻造成的土壤和秸稈錯分現(xiàn)象。
本文田間試驗場地為北京市小湯山國家精準(zhǔn)農(nóng)業(yè)示范基地。在收割機完成小麥和玉米收獲后,進(jìn)行秸稈圖像采集。圖像采集設(shè)備選用了CMOS傳感器類型高清紅外夜視相機,型號為1080P的星緣數(shù)碼攝像機,最低光照為0.051 lux,圖像采集分辨率為800像素×600像素。該攝像機安裝在拖拉機的前側(cè),拍攝農(nóng)田收割后的地面秸稈圖像,安裝方式如圖2所示。
圖2 相機安裝位置圖Fig. 2 Camera installation location
試驗中共采集三組圖像,共計500張。第一組圖像:小麥和玉米秸稈均勻分布圖像, 采用固定閾值分割方法, 通過選取最適合的分割值計算秸稈覆蓋率。第二組圖像:60 cm×80 cm試驗小區(qū)秸稈覆蓋圖像,將秸稈長度和寬度易于測量的玉米秸稈擺放在小區(qū)內(nèi),并在自然光照的條件下采集圖像;通過測量小區(qū)中秸稈長度和寬度,人工計算覆蓋率。第三組圖像:采集無秸稈或秸稈覆蓋極少的圖像, 采用目測法估算覆蓋率。
根據(jù)1.3小節(jié)秸稈覆蓋率檢測算法流程,首先將田間試驗的圖像進(jìn)行灰度化,然后分別計算每張圖像的行平均灰度標(biāo)準(zhǔn)差,以檢測圖像中是否含有秸稈。接下來再采用圖像分塊算法計算秸稈覆蓋率。
2.2.1 計算行平均灰度標(biāo)準(zhǔn)差
為了區(qū)分圖像中有無秸稈,分別計算每張圖像的行平均灰度標(biāo)準(zhǔn)差。
如圖3和圖4所示,無秸稈圖的行平均灰度值分布在107~125之間,行平均灰度標(biāo)準(zhǔn)差為2.69,有秸稈圖的行平均灰度值范圍為90~165,行平均灰度標(biāo)準(zhǔn)差為17.91。
(a) 無秸稈圖D=2.69
(b) 無秸稈行平均灰度直方圖
將人工檢測法得到的秸稈覆蓋率與圖像的行平均灰度標(biāo)準(zhǔn)差值進(jìn)行對比,得到判斷是否存在秸稈的最佳閾值Dthresh。如圖5所示,根據(jù)數(shù)據(jù)分析,本次試驗設(shè)置行平均灰度標(biāo)準(zhǔn)差閾值Dthresh=10,可以區(qū)分出圖像是否存在秸稈。當(dāng)D>Dthresh時,圖中存在秸稈,此時可以進(jìn)行下一步的秸稈覆蓋率檢測;當(dāng)D≤Dthresh時,圖中不存在秸稈,秸稈覆蓋率視為0。
(a) 有秸稈圖D=17.91
(b) 有秸稈行平均灰度直方圖
圖5 秸稈覆蓋率與行平均灰度標(biāo)準(zhǔn)差圖Fig. 5 Straw coverage and row average gray standard deviation
2.2.2 圖像分塊處理
根據(jù)前述的基于圖像分塊的可變閾值分割檢測算法步驟,對試驗中采集的圖像數(shù)據(jù)進(jìn)行處理。如圖6所示,將采集到的分辨率為600像素×800像素的圖像均勻分割為25個子塊。土壤與秸稈的類間方差越大說明構(gòu)成圖像的土壤與秸稈兩部分的差別越大。分別計算25個子塊的最大類間方差,對子塊進(jìn)行閾值分割,最后將閾值分割后的子塊進(jìn)行拼接,圖中白色部分為秸稈。
將分塊圖像與未分塊的OTSU閾值分割圖像比較,未分塊圖像的中心區(qū)域亮度更高,對整幅圖像進(jìn)行閾值分割時閾值較大,分割后的圖像中心部分的誤差較大;而分塊圖像的每個子塊的光照均勻,能夠減少因圖像光照不均勻造成的誤差。
(a) 原圖(b) 分塊后
(c) 不分塊的OTSU閾值分割
(d) 分塊后OTSU閾值分割
2.2.3 試驗結(jié)果分析
對采集到的三組均勻分布、集中分布和無秸稈圖像分別采用分塊可變閾值測量法、不分塊的OTSU法和對數(shù)變換自動取閾算法[11]進(jìn)行秸稈覆蓋率檢測,處理結(jié)果如圖7所示,表1為三種方法檢測結(jié)果的誤差對比。
(a) 第一組原圖
(b) 第二組原圖
(c) 第三組原圖
(d) 第一組對數(shù)取閾法
(e) 第二組對數(shù)取閾法
(f) 第三組對數(shù)取閾法
(g) 第一組OTSU法
(h) 第二組OTSU法
(i) 第三組OTSU法
(j) 第一組分塊法
(k) 第二組分塊法
(l) 第三組分塊法
從圖7和表1可以觀察到,對于第一組的秸稈均勻分布的情況,OTSU算法與對數(shù)變換自動取閾的方法受光照影響,易將凸起的土塊識別為秸稈產(chǎn)生誤差,而本文的分塊可變閾值法能夠減少背景區(qū)域的干擾,有效提取細(xì)碎秸稈,誤差為5.51%。
表1 分類前三種不同檢測方法結(jié)果對比Tab. 1 Comparison of the results of three different detection methods before classification
對于第二組的秸稈集中分布的情況,對數(shù)變換自動取閾法和分塊法雖然可以將秸稈提取出來,但同時也將一部分亮度較高的土壤識別為秸稈,OTSU算法在集中分布的情況下誤差最小。
對于第三組無秸稈或秸稈極少的情況,三種方法均易將高亮度土壤部分識別為秸稈,產(chǎn)生較大誤差。
為了減少無秸稈圖檢測產(chǎn)生的誤差,本文通過計算圖像的行平均灰度標(biāo)準(zhǔn)差,將圖像分為有秸稈覆蓋和無秸稈覆蓋兩類,并將無秸稈或秸稈極少的圖像的覆蓋率視為0。
表2為采用行平均灰度標(biāo)準(zhǔn)差進(jìn)行分類后的檢測結(jié)果。由檢測結(jié)果可知,進(jìn)行圖像分類能夠很好地檢測出不存在秸稈的情況,大大提高秸稈覆蓋率檢測的準(zhǔn)確度。進(jìn)行分類處理后,對于無秸稈或秸稈極少的情況,OTSU法的誤差由原來的45.03%降低至1.41%, 分塊法的誤差由原來的36.45%降低至0.45%。
表2 分類后檢測結(jié)果對比Tab. 2 Comparison of test results after classification
本文提出了一種基于圖像處理的農(nóng)田秸稈覆蓋率計算方法。首先通過計算行平均灰度標(biāo)準(zhǔn)差來判斷圖像中是否存在秸稈,以減少無秸稈時的覆蓋率檢測誤差。然后采用圖像分塊法與OTSU閾值分割法相結(jié)合的分塊可變閾值秸稈覆蓋率檢測方法,在一定程度上減少由于光照強度不均勻而產(chǎn)生檢測誤差。
針對秸稈均勻分布、秸稈集中分布、無秸稈覆蓋三組圖像,分布采用OTSU算法、對數(shù)變換自動取閾算法、分塊可變閾值測量法(本文方法)三種方法進(jìn)行秸稈覆蓋率檢測試驗。試驗結(jié)果表明,本文提出的檢測算法在田間秸稈均勻分布時覆蓋率檢測誤差為2.87%;在無秸稈或少秸稈存在時檢測誤差為0.45%;對于秸稈集中時,檢測誤差低于不分塊的OTSU算法。在真實的農(nóng)田環(huán)境下,田間所采集的秸稈分布圖像大多為第一組圖像所示的均勻分布情況,因此本文提出的基于圖像行平均灰度標(biāo)準(zhǔn)差分類及圖像分塊可變閾值檢測算法具有可行性,為田間秸稈覆蓋率檢測方法提供了優(yōu)化的解決方案。