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