曲 鵬,龔麗農(nóng),高鴻雁,張惠莉,趙澤民,付全青
(1.青島農(nóng)業(yè)大學(xué) 機(jī)電工程學(xué)院,山東 青島 266109;2.北京中宸泓昌科技有限公司,北京 100083;3.山東中煙工業(yè)有限公司青島卷煙廠,山東 青島 266101)
田間異物指農(nóng)田中非作物性目標(biāo),如機(jī)井、土墳、大型石塊或在農(nóng)機(jī)作業(yè)前方的人等。農(nóng)機(jī)作業(yè)時(shí),尤其是大田作業(yè),長(zhǎng)時(shí)間在同一視覺背景下工作,農(nóng)機(jī)手由于慣性等原因會(huì)對(duì)突然出現(xiàn)的田間異物反映速度下降,從而可能引發(fā)人機(jī)安全事故。為此,針對(duì)田間機(jī)井、石塊、土堆等體積較大異物的識(shí)別進(jìn)行了算法的研究,以研究快速、低成本且能夠廣泛應(yīng)用在普通農(nóng)機(jī)上的田間異物識(shí)別報(bào)警系統(tǒng)。
農(nóng)機(jī)在正常情況下作業(yè),農(nóng)機(jī)手工作前方的背景是大片相同景觀,以視覺觀察,大致沒有色差,如圖1所示。圖像像素為2 048×1 536,可分別獲取到2 048×1 536個(gè)點(diǎn)的R、G、B值[1]。
分別對(duì)兩張圖片找出各像素點(diǎn)的R、G、B及R+G+B值中的最大值、最小值,以及整張圖片的每個(gè)像素點(diǎn)所對(duì)應(yīng)的R、G、B值,相加后求平均值。將圖片分成16行12列共192個(gè)區(qū)域,分別計(jì)算各個(gè)區(qū)域的R、G、B的R+G+B值的平均值,并找出其中的最大值、最小值,數(shù)據(jù)如表1所示。
(a) 麥田背景 (b) 綠植被背景
由表1可知:在麥田背景下按像素計(jì)算,最小的差值達(dá)到229。按區(qū)域均值計(jì)算法,每個(gè)區(qū)域與整張圖片的均值差值的最大差值為23,明顯小于像素計(jì)算方法。這種計(jì)算方法,符合農(nóng)機(jī)手在觀測(cè)大田時(shí),“大致觀察”而忽略極小差別的習(xí)慣,而按R+G+B進(jìn)行分析也有相同的結(jié)論[2]。
設(shè)圖像的像素為m×n,則圖像數(shù)據(jù)可為m×n×3的三維像素矩陣,分別代表3種色系R*(b,c)、G*(b,c)、B*(b,c),設(shè)定區(qū)域分塊參數(shù)為a,則有
(1)
在計(jì)算中,為確保m、n被整除,取a為m、n的公約數(shù)。
將矩陣R*(b,c)、G*(b,c)、B*(b,c)的行值m、列值n分別除以a,則矩陣被分成b×c塊區(qū)域,每塊區(qū)域中所含的像素點(diǎn)數(shù)為a2;對(duì)每個(gè)區(qū)域的像素點(diǎn)求平均值,將所有區(qū)域的像素平均值列入矩陣中,得到行c列的矩陣R(b,c)、G(b,c)、B(b,c)[3]。
則區(qū)域均值矩陣R(b,c)中的元素計(jì)算公式為
(2)
對(duì)于矩陣G(b,c)、B(b,c)中的元素也是采用式(2)的方法計(jì)算。
表1 無(wú)異物背景圖片主要參數(shù)計(jì)算表
大田內(nèi)有墳包的圖片,拍攝所得圖像像素為2 048×1 536,如圖2所示。
(a) 無(wú)異物背景 (b) 墳包異物原圖 (c) 區(qū)域均值處理圖
計(jì)算無(wú)異物背景圖像下大田的均值為R1=60、G1=124、B1=27。根據(jù)區(qū)域均值計(jì)算模型,按照a=128分區(qū)進(jìn)行計(jì)算。獲取區(qū)域均值矩陣R、G、B。
將矩陣R中的所有元素與R1進(jìn)行對(duì)比,畫出矩陣中與R1差值的絕對(duì)值大于50的區(qū)域。用相同方法對(duì)比G中的元素與G1的差值和B中的元素與B1的差值,畫出差值絕對(duì)值大于50的區(qū)域??梢钥闯觯撼霈F(xiàn)明顯數(shù)據(jù)差值的位置與異物存在的位置大致相同。利用MatLab圖像生成函數(shù)將經(jīng)區(qū)域均值計(jì)算后的數(shù)據(jù)顯示成圖像[見圖2(c)]可看到相同的結(jié)果。則有
值得注意的是模擬矩陣G的左下被畫出的部分與G1差值的絕對(duì)值也大于50,但是綜合看3個(gè)模擬矩陣中R和B中對(duì)應(yīng)部分并不滿足絕對(duì)條件且此區(qū)域與其他區(qū)域相比過(guò)小,所以忽略不計(jì)。
將以上3個(gè)矩陣進(jìn)行相加,得到圖像的R+G+B數(shù)據(jù),利用同樣的算法進(jìn)行計(jì)算得到R+G+B均值數(shù)據(jù),畫出與均值差值的絕對(duì)值大于50的區(qū)域,與異物存在位置有相同的結(jié)果。這個(gè)結(jié)論對(duì)于將這種算法應(yīng)用到機(jī)具上有很重要的意義。由于大部分車載攝像頭的數(shù)據(jù)傳輸格式為RGB連續(xù)型,應(yīng)用R+G+B數(shù)據(jù)可大大減少運(yùn)算時(shí)間,即
圖3為綠色植被內(nèi)有基井的圖片,拍攝所得圖像像素為2 048×1 536,R+G+B矩陣的均值為320。該圖的特點(diǎn)是背景圖片不太均勻,且異物與背景的反差沒有圖2大。用同樣的方法進(jìn)行區(qū)域均值計(jì)算,分別取a=128和a=256,獲得矩陣R+G+B。
(a) 無(wú)異物背景圖 (b) 基井異物背景圖
(c) a=128均值模擬圖 (d) a=256均值模擬圖
當(dāng)a=128時(shí),R+G+B為
增大a的取值,可以減少計(jì)算時(shí)間,當(dāng)a=256時(shí),R+G+B為
分析當(dāng)a分別為128和256時(shí)的矩陣R+G+B,并畫出與均值差的絕對(duì)值大于150的元素,可知:在圖片像素不太均勻、且異物與背景的反差沒有圖2大的情況下,a取不同的值都能得出與圖2相同的結(jié)論,可以說(shuō)明本算法具有比較好的兼容性。
不同的是,當(dāng)a=128時(shí),被畫出的區(qū)域中有個(gè)別數(shù)據(jù)并不滿足判別條件,分析原圖可知主要原因是:基井中井蓋部分與背景的色差很小使像素差值未能達(dá)到要求。
對(duì)比圖3(c)和圖3(d)可以發(fā)現(xiàn):當(dāng)a=256時(shí)圖像中的異物失真比較嚴(yán)重,并不能判斷出異物的大小和輪廓,結(jié)果不理想;但是,與a=128相比此時(shí)處理的數(shù)據(jù)要更少,計(jì)算更為快捷。所以,如果圖像中異物的比例較大且于背景顏色差別較大時(shí),適當(dāng)增大a的取值,可以在不影響結(jié)果的前提下減少計(jì)算時(shí)間。
攝像頭位置、拍攝角度與農(nóng)機(jī)的關(guān)系。如圖4(a)所示,攝像頭安裝在A點(diǎn),設(shè)安裝高度為hAD,相機(jī)的傾斜角為α。圖4(b)為拍攝圖像所對(duì)應(yīng)的實(shí)際區(qū)域,相當(dāng)于一個(gè)梯形。
(a) 攝像頭安裝示意圖 (b) 實(shí)際拍攝區(qū)域示意圖
由圖4(a)可知lDC=hAE·tanα,設(shè)農(nóng)機(jī)最快的速度為vM,處理器處理完一張圖片所需的時(shí)間為tM,從緊急制動(dòng)到剎停所需的距離記為lZD,則當(dāng)lDC≥3lZD+vMtM時(shí)認(rèn)為農(nóng)機(jī)有足夠安全的剎車距離。其中,lDC為農(nóng)機(jī)最前端D點(diǎn)到攝像頭所拍攝實(shí)際區(qū)域距離農(nóng)機(jī)最近的C點(diǎn)的距離。為滿足安全的剎車距離lDC通過(guò)調(diào)節(jié)安裝高度hAD,相機(jī)的傾斜角α來(lái)實(shí)現(xiàn)。在滿足剎車距離的同時(shí)還需要w1大于農(nóng)機(jī)的作業(yè)寬度,此時(shí)認(rèn)為攝像頭的安裝滿足要求。
設(shè)通過(guò)區(qū)域均值計(jì)算模型得到的R(b,c)矩陣中每個(gè)區(qū)域小塊的面積為sK,高為Δh。其中,sK的大小根據(jù)區(qū)域小塊的坐標(biāo)變化而不斷變化,攝像頭與垂直方向的夾角為α,攝像機(jī)的橫向視角為θ,縱向視角為θ′,攝像機(jī)傳感器橫向分辨率是m、縱向分辨率是n。
根據(jù)圖4計(jì)算得出,sK與區(qū)域小塊坐標(biāo)之間的關(guān)系,即
(3)
設(shè)當(dāng)背景圖像無(wú)異物時(shí),大田背景圖像R+G+B矩陣的均值為M,并根據(jù)均值計(jì)算模型計(jì)算出RGB相加的均值矩陣RGBaver(i,j),令辨識(shí)參數(shù)為t,則有
(4)
其中,若x(i,j)與均值M的差值大于t則對(duì)RGBaver(i,j)的對(duì)應(yīng)位置1,其余位置置0,這樣處理后得到的矩陣RGB01(b,c)為二值矩陣。
此時(shí),若要判斷圖像中是否存在異物,只需判斷矩陣RGB01(b,c)中連片1的個(gè)數(shù)是否達(dá)到一定數(shù)值ZL(ZL為正整數(shù)),若達(dá)到則說(shuō)明存在異物;反之,則說(shuō)明圖像中不存在異物。ZL的設(shè)置應(yīng)與機(jī)具的規(guī)模和a值相關(guān)。
將RGB01(b,c)矩陣從最靠近機(jī)具側(cè)的b行開始,按行將每個(gè)元素相加,設(shè)第x行的元素相加的和為
(5)
其中,x矩陣的行索引x=b,b-1,…,1;sx為第x各元素相加之合。
若sx=0,令x=x-1繼續(xù)計(jì)算sx-1的值;若sx≠0,則Zi=1。此時(shí)若ZL=1,證明圖像中存在異物,第x行中第一個(gè)值為1的元素的位置,即為異物所在的位置;若ZL>1,將第x行中第一個(gè)不為0的元素記為K(i,j),一旦找到K(i,j)則進(jìn)行如下計(jì)算,即
(6)
其中,Zi是以K(i,j)為起始點(diǎn)連片1的個(gè)數(shù);fi表示K(i,j)周圍元素值為1的個(gè)數(shù)。
當(dāng)fi=0在K(i,j)周圍與之相連的元素值都為0,不存在連片的1,則證明該點(diǎn)不存在異物,此時(shí)將Zi′的值清0。
當(dāng)fi≠0時(shí),判斷Zi與ZL的大小關(guān)系,若Zi′≥ZL,說(shuō)明圖片中存在異物,K(i,j)的位置即為異物所在的位置;若Zi′ 當(dāng)點(diǎn)K(i,j)不存在異物時(shí),繼續(xù)尋找下一個(gè)不為0的元素,循環(huán)進(jìn)行上述計(jì)算。 因?qū)D像的處理是從最靠近機(jī)具側(cè)的b行開始,故判斷出的第一個(gè)異物距離農(nóng)機(jī)最近,此時(shí)認(rèn)為本張圖片處理完畢。 本系統(tǒng)硬件主要由電源供電模塊、STM32主控模塊、液晶屏顯示模塊、圖像數(shù)據(jù)處理模塊、異物識(shí)別模塊、聲光報(bào)警模塊,以及攝像頭組成,如圖5所示。 單片機(jī)選用了意法半導(dǎo)體公司的STM32407芯片,時(shí)鐘控制運(yùn)用晶體振蕩器模式,外部晶振使用12MHz的無(wú)源晶振為系統(tǒng)提供精確的主時(shí)鐘,負(fù)載電容值根據(jù)振蕩器調(diào)整為20pF[4]。采用OV2640攝像頭,分辨率為1 600×1 200??刂葡到y(tǒng)采用TFTLCD電容觸摸液晶屏作為顯示模塊,具有功耗低、亮度均勻及穩(wěn)定性好等優(yōu)點(diǎn)[5]。數(shù)據(jù)處理模塊對(duì)攝像頭所采集的圖像數(shù)據(jù)進(jìn)行讀取與處理,通過(guò)異物識(shí)別模塊來(lái)判斷圖像中是否存在異物,如存在異物則通過(guò)單片機(jī)驅(qū)動(dòng)聲光報(bào)警電路實(shí)現(xiàn)報(bào)警。 圖5 系統(tǒng)硬件結(jié)構(gòu)圖 系統(tǒng)軟件部分主要包括主程序、攝像頭數(shù)據(jù)讀取程序、圖像數(shù)據(jù)處理程序、異物識(shí)別程序、液晶顯示屏圖像顯示和串口發(fā)送數(shù)據(jù)程序,以及系統(tǒng)報(bào)警的程序設(shè)計(jì)等。當(dāng)單片機(jī)讀取到攝像頭拍攝的圖像數(shù)據(jù)時(shí),對(duì)數(shù)據(jù)做相應(yīng)的處理,通過(guò)異物識(shí)別模塊進(jìn)行異物的判別,根據(jù)判別結(jié)果決定是否進(jìn)行報(bào)警。初始化程序包括定時(shí)器中斷及串口中斷等必要的寄存器和工作模式的配置,主程序流程圖如圖6所示。 圖6 系統(tǒng)軟件主程序流程圖 1)試驗(yàn)方法及過(guò)程:將攝像頭安裝于五證TA354型拖拉機(jī)上,進(jìn)行實(shí)地的田間圖像采集。拍攝時(shí)攝像頭距離地面的垂直高度為3m,將攝像頭與水平方向的夾角α分別調(diào)至45°與55°進(jìn)行拍攝,拍攝圖像的像素為1 600×1 200。已知攝像頭的橫向視角θ=40°,所以縱向視角θ′=30°。 當(dāng)α=45°時(shí),農(nóng)機(jī)最前端到攝像頭所拍攝實(shí)際區(qū)域的距離為3m,系統(tǒng)處理一張圖像所需要的時(shí)間約為0.97s。農(nóng)機(jī)在田間作業(yè)期間速度不會(huì)超過(guò)4.5km/h,經(jīng)測(cè)量拖拉機(jī)從最大作業(yè)速度緊急制動(dòng)到靜止所需要的制動(dòng)距離小于0.5m,則有3m≥3lZD+vMtM,且圖像所對(duì)應(yīng)的實(shí)際區(qū)域的最小寬度為2.18m,大于拖拉機(jī)的作業(yè)寬度。當(dāng)α=55°時(shí),攝像頭的安裝依然符合要求。 改變安裝角度α與分塊參數(shù)a的取值,對(duì)區(qū)域小塊所對(duì)應(yīng)面積的最大值與最小值之間的關(guān)系,如表2 所示。 表2 α與a取值對(duì)區(qū)域小塊面積影響 由表2可以看出:當(dāng)α一定時(shí),a的取值越大,每個(gè)區(qū)域小塊所對(duì)應(yīng)的實(shí)際面積增大。當(dāng)a的取值一定時(shí),隨著α的增加,每個(gè)區(qū)域小塊所對(duì)應(yīng)的實(shí)際面積增大且面積的最大值與最小值的比例增加。 2)試驗(yàn)結(jié)果分析:以α=45°時(shí)采集的圖像為例,如圖7所示。 (a) (b) (c) (d) 當(dāng)a=128時(shí),得到圖7所對(duì)應(yīng)的二值矩陣RGB01(16,12)此時(shí)將二值矩陣根據(jù)距離農(nóng)機(jī)側(cè)的遠(yuǎn)近劃分為近、中、遠(yuǎn)3個(gè)區(qū)域:橫坐標(biāo)在11~16之間的為近區(qū)域;橫坐標(biāo)在5~10之間的為中間區(qū)域;橫坐標(biāo)在1~6之間的為遠(yuǎn)區(qū)域。矩陣中相鄰區(qū)域小塊的實(shí)際面積相差較小,為方便計(jì)算可用0.06、0.14、0.36m2分別代替近、中、遠(yuǎn)3個(gè)區(qū)域中每個(gè)區(qū)域小塊所對(duì)應(yīng)的實(shí)際面積。 設(shè)所求的異物的面積要大于0.5m2,此時(shí)近、中、遠(yuǎn)3個(gè)區(qū)域的ZL值分別為9、4、2,即3個(gè)區(qū)域中連片1的數(shù)個(gè)分別大于對(duì)應(yīng)的ZL值時(shí)證明存在異物。 1)以田間體積較大的異物包括土堆、石塊和機(jī)井等為研究對(duì)象,以實(shí)現(xiàn)快速識(shí)別田間異物為目的,建立田間異物識(shí)別數(shù)學(xué)模型。將區(qū)域均值計(jì)算模型作為圖像數(shù)據(jù)處理的基礎(chǔ),并且采用將R、G、B矩陣的對(duì)應(yīng)區(qū)域均值相加及閾值法求二值矩陣等方法,實(shí)現(xiàn)了異物的快速定位法。 2)試驗(yàn)表明:田間異物識(shí)別算法能夠快速地識(shí)別出圖像中的異物,且可以對(duì)異物的位置進(jìn)行較為準(zhǔn)確的定位,具有較高的實(shí)用性和研究?jī)r(jià)值。本設(shè)計(jì)適用于田間體積比較大的異物,但并不適應(yīng)于雜草、農(nóng)作物的識(shí)別。 參考文獻(xiàn): [1] 何希平,張瓊?cè)A.基于MATLAB的圖像處理與分析[J].重慶工商大學(xué)學(xué)報(bào),2003,20(2):22-26. [2] 張瑾,楊常清.基于矩陣分析的數(shù)字圖像處理方法[J].微機(jī)發(fā)展,2003,13(5):37-38. [3] 馬永慧.基于MatLab的圖像分割的技術(shù)研究[J].陜西電子技術(shù),2012,91(4):2. [4] 唐雪松.基于STM32F407的IEEE1588從時(shí)鐘設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2014. [5] 熊雪艷,梁光勝,賴程鵬,等.基于OV2640模塊的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015(12):23-26.3 系統(tǒng)實(shí)現(xiàn)
4 試驗(yàn)與分析
5 結(jié)論