基于TMS320DM642的農(nóng)藥噴灑系統(tǒng)
摘要:介紹了基于TMS320DM642的農(nóng)藥噴灑系統(tǒng)的工作原理,闡述了機(jī)器視覺硬件系統(tǒng)原理,分析了圖像識別算法和基于RF5參考架構(gòu)的軟件框架設(shè)計方案。經(jīng)論證,該識別算法可靠、穩(wěn)定、實(shí)時性好,系統(tǒng)能實(shí)時對旱田作物(棉花、小麥、玉米等)及果樹(或道路兩旁林木)進(jìn)行實(shí)時噴藥。
目前使用的絕大多數(shù)噴藥機(jī)械,其農(nóng)藥的噴灑過程是通過人工操作,由噴藥員根據(jù)經(jīng)驗(yàn)來決定化學(xué)藥劑的使用時間、地點(diǎn)和劑量,而成熟經(jīng)驗(yàn)的獲得、傳播、掌握受到積累年限、文化水平、傳播媒介等因素的制約而難以得到普遍應(yīng)用,造成農(nóng)用化學(xué)劑的濫用。另外在整個農(nóng)藥噴灑作業(yè)中,操作人員勞動強(qiáng)度大,而且操作人員直接接觸農(nóng)藥,人身極易受到農(nóng)藥的傷害。同時由于人工操作,整個農(nóng)藥噴灑作業(yè)效率不高。研究智能農(nóng)藥噴灑系統(tǒng)的目的是以旱田作物(棉花、小麥、玉米)、果樹(或
圖1 農(nóng)藥噴灑系統(tǒng)結(jié)構(gòu)圖
圖2系統(tǒng)硬件框圖
道路兩旁林木)為施藥目標(biāo),實(shí)時采集目標(biāo)狀態(tài)圖像,利用圖像處理技術(shù)對圖像進(jìn)行處理與分析,對何時、何處施藥做出科學(xué)決策并自動控制完成施藥作業(yè)。
農(nóng)藥噴灑系統(tǒng)工作原理
智能農(nóng)藥噴灑系統(tǒng)由數(shù)據(jù)采集系統(tǒng)、控制系統(tǒng)和機(jī)器視覺系統(tǒng)組成。數(shù)據(jù)采集系統(tǒng)和控制系統(tǒng)主要包括數(shù)據(jù)采集卡、調(diào)理電路、儲液槽、液體泵、流量傳感器、壓力傳感器、速度傳感器、溢流閥、比例減壓閥、噴桿、噴頭等。系統(tǒng)如圖1所示。儲液槽內(nèi)裝有藥液,當(dāng)泵啟動后,液體通過溢流調(diào)壓閥、壓力傳感器、比例減壓閥和流量傳感器由噴頭噴出。流量傳感器和速度傳感器經(jīng)數(shù)據(jù)采集卡將藥液流量、拖拉機(jī)行駛速度傳送給計算機(jī),然后由計算機(jī)調(diào)節(jié)比例減壓閥,確定合適的壓力值。計算機(jī)根據(jù)壓力傳感器的輸入調(diào)節(jié)溢流調(diào)壓閥保證管路中壓力保持恒定。
機(jī)器視覺系統(tǒng)采用兩路CCD視頻輸入,從兩個角度采集作物圖像,DM642實(shí)時處理圖像數(shù)據(jù),根據(jù)處理的結(jié)果向CPLD的擴(kuò)展IO發(fā)出控制信號,判斷是否噴灑農(nóng)藥。
機(jī)器視覺硬件系統(tǒng)原理
系統(tǒng)采用TI公司的TMS320DM642芯片作為主處理器。TMS320DM642是專用于數(shù)字媒體應(yīng)用的高性能32位定點(diǎn)DSP,工作主頻最高達(dá)720MHz,處理性能可達(dá)5760MIPS,強(qiáng)大的圖像處理能力為系統(tǒng)的實(shí)時性和可靠性提供了有力的保證。
硬件組成
硬件基本框圖如圖2所示,這里簡單介紹視頻輸入和視頻輸出部分。
視頻輸入部分
為準(zhǔn)確、全面的辨別作物,本系統(tǒng)分別從兩個不同角度采集棉籽的圖像以進(jìn)行識別。DM642有三個視頻口,每個端口可以接兩路視頻,本系統(tǒng)采用VP2口作為視頻輸入端口,視頻輸入端將從攝像頭采集的模擬信號由TVP5150轉(zhuǎn)化為CIF(352×288),YUV (4:2:2),ITU-R BT.65格式,內(nèi)嵌同步信號發(fā)送到DM642的VP2口。圖3為TMS320DM642和TVP5150的硬件連接示意圖[2]。
系統(tǒng)采用最為簡化的連接線路,將雙方的IIC總線接口SCL和SDA互連,TVP5150的視頻輸出端口D[0~7]和DM642的VP口相連。由于視頻流采用ITU-R BT.65格式,圖像的行同步、場同步信號均內(nèi)嵌在視頻數(shù)據(jù)流中的EAV和SAV時基信號中,視頻口只需要視頻采樣時鐘和采樣使能信號(控制采樣開始)即可,TVP5150用系統(tǒng)時鐘SCLK提供采樣時鐘,用可編程輸出引腳GPCL提供采樣使能。
視頻輸出部分
本系統(tǒng)擴(kuò)展了視頻輸出,用于本地回放,當(dāng)系統(tǒng)調(diào)試完畢后此部分功能可以不用。視頻輸出由Philips公司的SAA7121實(shí)現(xiàn)。SAA7121將DM642端傳送過來的PC信號轉(zhuǎn)化為PAL(50Hz)制式或者NTSC(60Hz)送外部TV端輸出。原理如圖3所示,本系統(tǒng)用VP0口作為視頻輸出口,時鐘由VP0CLK0為輸入時鐘,由TVP5150產(chǎn)生,VPOCLK1為輸出時鐘,用于給SAA7121提供。作為視頻輸出口時,視頻口要為SAA7121提供視頻時鐘行/場同步信號,如圖3所示,由VP0口預(yù)留的三個用以產(chǎn)生同步信號的VP0CTL0、VP0CTL1產(chǎn)生。
軟件設(shè)計
綠色分割算法
在自然光條件下對綠色植物的實(shí)時識別,既需要減少亮度對圖像的影響,也需要處理過程簡單,減少處理時間。為此,采用改進(jìn)的綠色識別方法對圖像進(jìn)行處理。其原理是根據(jù)綠色分量值在亮度值所占的比例數(shù)值是否達(dá)到閾值進(jìn)行判定。運(yùn)算方法如下:
(1)由于采集進(jìn)來的是YCbCr信號,根據(jù)象素的Y、Cb、Cr的值,求出RGB色彩空間中的綠色信號G:
G=Y-0.34414*(Cb-128)-0.71414*(Cr-128)
(2)按照下式求出綠色分量與亮度的比值:
E=G/(Y+0.1)
(加0.1的目的是防止當(dāng)像素為黑色(0,0,0)時Y為0,結(jié)果溢出)
判別E是否大于閾值,大于閾值則判別為綠色,否則為非綠。閾值的確定主要是通過試驗(yàn)。在實(shí)驗(yàn)中,選擇多幅不同光線下不同深淺的綠色植物照片,并在照片上植物的不同位置選擇十字形模板測其E值。十字形模板是指選擇一個像素,并在它的上、下、左、右各取一點(diǎn),共5個點(diǎn)組成一個十字形模板,然后取這五個像素的平均值作為試驗(yàn)數(shù)據(jù)。所測的100個數(shù)據(jù)構(gòu)成I-E分布圖,見圖4可看出不同亮度下,不論是深綠還是淺綠,其E值97%大于1.05,因此我們確定閾值為1.05,此時二值化處理結(jié)果見圖5。接著對得到的二值圖像進(jìn)行中值濾波和數(shù)學(xué)形態(tài)學(xué)中的開運(yùn)算處理,去除圖像中的斑點(diǎn)噪聲,填充處理過程中產(chǎn)生的小孔[6]。最后計算圖像中的植物區(qū)域與整個采樣圖像面積的比值,并將其與閾值K比較,確定是否噴藥。
基于DSP/BIOS的軟件框架
系統(tǒng)采用了CCS和DSP/BIOS,以及TI倡導(dǎo)的DSP軟件架構(gòu)RF5。軟件系統(tǒng)分為輸入、處理、輸出等模塊,流程如圖3所示。
圖3 視頻輸入輸出原理圖
輸入模塊將VP口采集到的圖像寫入指定內(nèi)存,發(fā)送消息給處理模塊,消息結(jié)構(gòu)存儲了圖像數(shù)據(jù)所在的內(nèi)存空間首地址。隨后輸入模塊等待輸出模塊的回復(fù),以繼續(xù)采集下一幀圖像;處理模塊負(fù)責(zé)執(zhí)行識別算法。從輸入模塊發(fā)送的消息結(jié)構(gòu)中提取圖像數(shù)據(jù)地址,以進(jìn)行圖像算法處理,最后發(fā)送消息給輸出模塊,同時根據(jù)圖像處理結(jié)果發(fā)出信號給PLC控制器并繼續(xù)等待輸入模塊的消息;輸出模塊將原始圖像輸出到LCD進(jìn)行顯示,隨后發(fā)送消息給輸入模塊使其繼續(xù)采集下一幀圖像。此時輸出模塊將等待處理模塊發(fā)送消息,線程處于掛起狀態(tài)。
圖4 I-E分布圖
(a) 原圖像之一 (b)二值化圖像
圖5 改進(jìn)的綠色分割法處理結(jié)果
代碼優(yōu)化
程序主要用C編寫,因此C語言優(yōu)化的好壞直接影響程序效率。程序中廣泛運(yùn)用以空間換取時間的方法來提高代碼運(yùn)行效率,如將多重循環(huán)拆成單重循環(huán),雖增加了代碼量,但實(shí)現(xiàn)了軟件流水;對常用的或者一些簡單的函數(shù)盡可能的使用靜態(tài)內(nèi)聯(lián)函數(shù),或者在對程序進(jìn)行編譯時采用-pm -oe選項(xiàng)。內(nèi)聯(lián)函數(shù)被調(diào)用時不需進(jìn)行入棧出棧操作,而是直接插入展開代碼,從而提高運(yùn)行速度。除以上幾個方面,程序還盡可能用移位代替乘除法,查表法代替浮點(diǎn)運(yùn)算等。
圖6 軟件框架圖
實(shí)驗(yàn)與總結(jié)
為驗(yàn)證系統(tǒng)圖像識別算法的可行性,在SEED-VPM642開發(fā)板上進(jìn)行了試驗(yàn)。圖7a~c是自然環(huán)境下采集到的一組植物圖像,大小為400x320。圖8a~c分別是圖7中對應(yīng)圖像采用綠色分割算法二值化并加工處理后的最終圖像。
圖7 實(shí)際采集的植物圖像
圖8 最終識別結(jié)果示意圖
從表1中得知,在拖拉機(jī)以每秒0.5米速度行進(jìn)時,系統(tǒng)識別準(zhǔn)確率幾乎100%。以1m/s速度行進(jìn)時,其準(zhǔn)確率只有60%左右。單次檢測最長時間為37ms,基本達(dá)到實(shí)時性的要求。
表1 識別結(jié)果比較
實(shí)驗(yàn)結(jié)果表明,基于機(jī)器視覺的智能噴霧機(jī)系統(tǒng)運(yùn)用綠色分量分割法能完成對噴藥期植物的正確識別及噴藥,處理方法簡單,滿足系統(tǒng)對實(shí)時性的要求?!?/P>
參考文獻(xiàn):
1. 圖像處理與自動控制技術(shù)在農(nóng)藥噴灑機(jī)中的研究 安永生著 2004.3
2. TMS320C6000系列DSPs原理與應(yīng)用(第2版) 李芳惠著 電子工業(yè)出版社 2003.1
3. SEED-VPM642用戶指南 (Rev. B) 合眾達(dá) 2005.4
4. TMS320C64x Image/Video Processing Library Programmer's Reference (Rev. B) TI 2003.10
5. TMS320C6000 DSP/BIOS Application Programming Interface(API) Reference Guide TI 2001.12
6. 圖像處理與分析--數(shù)學(xué)形態(tài)學(xué)方法及應(yīng)用 崔屹著 科學(xué)出版社 2000