張新良 夏亞飛 夏楠 冷正明
摘要:為實(shí)現(xiàn)對(duì)農(nóng)作物蟲害的實(shí)時(shí)預(yù)警并輔助疾病診斷,實(shí)現(xiàn)無(wú)人值守的病蟲害智能監(jiān)控,設(shè)計(jì)一種嵌入式設(shè)備與工控機(jī)相結(jié)合的農(nóng)作物蟲害監(jiān)測(cè)系統(tǒng)。通過下位機(jī)ARM-Linux嵌入式圖像終端采集農(nóng)作物葉片圖像,利用TCP/IP網(wǎng)絡(luò)發(fā)送數(shù)據(jù);上位機(jī)監(jiān)測(cè)系統(tǒng)利用虛擬儀器接收并解析圖像,完成圖像格式轉(zhuǎn)換、蟲害診斷與實(shí)時(shí)顯示。針對(duì)傳統(tǒng)基于Web技術(shù)的圖像監(jiān)控系統(tǒng)只能通過瀏覽器或?qū)S每蛻舳塑浖g覽圖像,而不能處理數(shù)據(jù)的缺點(diǎn),設(shè)計(jì)網(wǎng)絡(luò)ppm格式圖像數(shù)據(jù)至LabVIEW圖像數(shù)據(jù)的轉(zhuǎn)換函數(shù),實(shí)現(xiàn)農(nóng)作物葉片圖像的自動(dòng)采集、顯示與圖像處理功能。測(cè)試結(jié)果表明,該系統(tǒng)工作穩(wěn)定,在農(nóng)業(yè)病蟲害的圖像采集與診斷防治方面具有重要的應(yīng)用價(jià)值。
關(guān)鍵詞:農(nóng)作物;蟲害監(jiān)測(cè);嵌入式;虛擬儀器;圖像處理
DOI:10.11907/rjdk.173175
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(2018)007-0124-04
Abstract:Inordertodiagnosecroppestsanddiseasesinrealtimeandrealizeunmannedintelligentmonitoringofpestsanddiseases,amonitoringsystemofcroppestsbasedonembeddedequipmentandindustrialcomputerisdesigned.TheARM-LinuxembeddedimageacquisitionterminalcollectsthecropleafimagesandsendsdatatothehostcomputerthroughaTCP/IPnetwork.Theuppercomputerreceivesandparsestheimages.Atthesametime,underthesupportofvirtualinstrumentsoftware,theimageureprocessedtocompletetheformatconversion,preservationanddisplay.ThemonitoringsystemhasprovidedanapplicableapproachtoaccesstheimagedataontheWebthroughthetransformationofppmimagetoLabVIEWimage,whichareavailableforbrowseonlybytheinternetexplorerorthespecialclientsinmostcases.Theexperimentalresultshaveshownitseffectivenessandstability.Thesystemisexpectedtobeofgreatapplicationvalueforthediagnosisofvariousagriculturaldiseasesandpestsimageacquisition.
KeyWords:crops;pestsmonitoring;embedded;virtualinstrument;imageprocessing
0引言
隨著精準(zhǔn)農(nóng)業(yè)的不斷發(fā)展,運(yùn)用信息技術(shù)輔助農(nóng)業(yè)生產(chǎn)為農(nóng)作物病蟲害監(jiān)測(cè)提供了新思路[1]。數(shù)字圖像技術(shù)在農(nóng)作物信息采集方面具有精度高、速度快、信息量豐富等優(yōu)點(diǎn),在圖像處理算法支持下,可有效降低人為判斷病蟲害的主觀性,提高實(shí)時(shí)性且節(jié)約了勞動(dòng)力,在農(nóng)作物生長(zhǎng)狀況監(jiān)測(cè)中應(yīng)用廣泛[2]。
相比于其它視頻監(jiān)控系統(tǒng)對(duì)性能高速率的要求,蟲害監(jiān)測(cè)系統(tǒng)更側(cè)重于圖像終端的便利采集、穩(wěn)定傳輸性能,以及監(jiān)測(cè)上位機(jī)的圖像處理性能[3]。嵌入式圖像采集終端相比于單片機(jī)、DSP處理器等采集設(shè)備[4-8],其操作系統(tǒng)穩(wěn)定性更強(qiáng),并具有更為強(qiáng)大的事務(wù)管理功能,借助于豐富的內(nèi)部資源和多任務(wù)并行機(jī)制,可以實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)采集、控制和通訊任務(wù)[9]。但目前基于Web技術(shù)的圖像監(jiān)控系統(tǒng)只能通過瀏覽器或?qū)S玫目蛻舳塑浖g覽圖像,而無(wú)法處理數(shù)據(jù)?;诖?,本文利用ARM-Linux嵌入式設(shè)備和TCP/IP網(wǎng)絡(luò)設(shè)計(jì)農(nóng)作物圖像采集終端,利用虛擬儀器LabVIEW圖形化編程平臺(tái)進(jìn)行監(jiān)測(cè)上位機(jī)設(shè)計(jì),以解決網(wǎng)絡(luò)圖像數(shù)據(jù)的接收與數(shù)據(jù)處理問題。同時(shí),根據(jù)農(nóng)作物病蟲害的監(jiān)測(cè)需求,使用虛擬儀器軟件對(duì)蟲害葉片進(jìn)行診斷。
1嵌入式圖像采集終端
在ARM-Linux系統(tǒng)中,應(yīng)用程序通過訪問硬件資源的設(shè)備文件實(shí)現(xiàn)對(duì)設(shè)備的控制,其中,V4L2是Linux系統(tǒng)下視頻設(shè)備驅(qū)動(dòng)程序接口規(guī)范,其為上層應(yīng)用程序提供了一系列接口函數(shù),控制視頻設(shè)備完成視頻圖像采集[10],而Socket則提供了網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)木幊探涌?。本系統(tǒng)的圖像采集終端在接收到上位機(jī)采集指令后,完成采集任務(wù),將采集到的圖像數(shù)據(jù)轉(zhuǎn)換為RGB格式發(fā)送至上位機(jī)。
1.1LinuxV4L2圖像采集
在Linux系統(tǒng)中對(duì)圖像采集設(shè)備的操作通過V4L2調(diào)用“intioctl(intfd,intrequest,void*argp)”函數(shù)完成,其中fd為設(shè)備文件描述符,request為系統(tǒng)調(diào)用類型,argp為數(shù)據(jù)傳遞緩沖區(qū)地址。圖像數(shù)據(jù)采集任務(wù)按照“打開設(shè)備”、“申請(qǐng)緩存”、“內(nèi)存映射”、“讀寫緩存”、“關(guān)閉設(shè)備”5個(gè)步驟完成,具體功能實(shí)現(xiàn)代碼如表1所示。
其中,fd=open(dev_name,O_RDWR,0)以阻塞模式打開USB視頻設(shè)備文件,當(dāng)緩沖區(qū)數(shù)據(jù)準(zhǔn)備就緒,將數(shù)據(jù)返回應(yīng)用程序[11];mmmap()指令將內(nèi)核空間緩存映射到用戶空間,以提高應(yīng)用程序讀取/處理視頻數(shù)據(jù)的效率;通過循環(huán)調(diào)用ioctl(fd,VIDIOC_QBUF,&buf;)函數(shù),將申請(qǐng)的S個(gè)幀緩存放入采集隊(duì)列,啟動(dòng)視頻采集;當(dāng)數(shù)據(jù)準(zhǔn)備就緒,使用ioctl(fd,VIDIOC_DQBUF,&buf;)函數(shù)緩存入輸出隊(duì)列,存入用戶緩存buf中;當(dāng)所有幀緩存進(jìn)入輸出隊(duì)列,采集過程停止,等待緩存重新放入采集隊(duì)列,采集任務(wù)完成。
對(duì)于圖像連續(xù)采集過程,系統(tǒng)會(huì)不斷取出緩沖隊(duì)列中的數(shù)據(jù),處理之后將幀緩存重新放入采集隊(duì)列,繼續(xù)獲得圖像數(shù)據(jù)。任務(wù)結(jié)束后清空緩存,停止視頻采集并關(guān)閉設(shè)備。
1.2圖像采集終端TCP/IP通訊
圖像終端作為客戶端,Linux系統(tǒng)通過雙向通信套接字Socket連接遠(yuǎn)程服務(wù)器,接收上位機(jī)控制指令,解釋指令并發(fā)送圖像數(shù)據(jù)給上位機(jī)監(jiān)測(cè)系統(tǒng)。Socket是一個(gè)通信鏈的句柄,描述了通訊雙方的IP地址和服務(wù)端口[12]。圖像終端發(fā)送RGB圖像數(shù)據(jù)的主要代碼如表2所示。
socket()函數(shù)建立套接字描述符,設(shè)置SOCK_STREAMTCP協(xié)議參數(shù)為“使用面向連接的穩(wěn)定數(shù)據(jù)傳輸”;端口通訊協(xié)議組為AF_INETIPV4協(xié)議,即使用網(wǎng)絡(luò)字節(jié)順序在不同體系結(jié)構(gòu)系統(tǒng)間通信。套接字與服務(wù)器地址通過connect()鏈接綁定。基于套接字描述符,使用send()函數(shù)循環(huán)將緩存在rgbbuf中的RGB圖像發(fā)送至上位機(jī)處理,圖像大小為COLS*ROWS*3字節(jié)。
2LabVIEW虛擬儀器監(jiān)測(cè)上位機(jī)
監(jiān)測(cè)上位機(jī)使用LabVIEW軟件設(shè)計(jì),通過TCP/IP網(wǎng)絡(luò)與嵌入式圖像終端進(jìn)行數(shù)據(jù)通訊,發(fā)送控制指令,接收?qǐng)D像數(shù)據(jù)并進(jìn)行數(shù)據(jù)處理。
2.1基于Socket的TCP/IP數(shù)據(jù)接收
虛擬儀器LabVIEW軟件對(duì)TCP/IP網(wǎng)絡(luò)通訊的底層驅(qū)動(dòng)編程進(jìn)行封裝,使用其提供的vi函數(shù),如創(chuàng)建TCP監(jiān)聽端.vi、等待TCP客戶端連接.vi、寫入/讀取TCP數(shù)據(jù).vi、關(guān)閉TCP連接.vi等,便可完成監(jiān)控上位機(jī)與下位機(jī)圖像采集終端的通訊過程,簡(jiǎn)化編程,如圖1所示。在程序?qū)崿F(xiàn)方面,整個(gè)監(jiān)測(cè)系統(tǒng)由數(shù)據(jù)采集線程和主線程構(gòu)成,主線程負(fù)責(zé)圖像數(shù)據(jù)格式的轉(zhuǎn)換和蟲害診斷,數(shù)據(jù)采集線程則監(jiān)聽下位機(jī)的TCP/IP連接并接收網(wǎng)絡(luò)數(shù)據(jù)。
數(shù)據(jù)采集線程與主線程的數(shù)據(jù)同步利用LabVIEW的“用戶事件”實(shí)現(xiàn)。設(shè)置“ppm事件”的產(chǎn)生條件是數(shù)據(jù)采集線程“讀取TCP指定數(shù)目的字節(jié)”,即RGB圖像幀大小的整數(shù)倍,圖像幀大小為COLS*ROWS*3字節(jié)。在主線程的“事件結(jié)構(gòu)”中處理該用戶事件,將接收到的RGB圖像數(shù)據(jù)轉(zhuǎn)換為L(zhǎng)abVIEW圖像數(shù)據(jù),進(jìn)行處理、顯示和保存。
2.2圖像數(shù)據(jù)格式轉(zhuǎn)換與處理
由于LabVIEW寫入/讀取TCP數(shù)據(jù)的數(shù)據(jù)類型只能是字符串,因此上位機(jī)發(fā)送控制指令時(shí),需要使用平化字符串(FlattenToString)函數(shù)。同樣地,在上位機(jī)的圖像數(shù)據(jù)接收端,為進(jìn)一步在LabVIEW中保存圖像數(shù)據(jù)并進(jìn)行蟲害診斷,需要將接收到的圖像幀字符串轉(zhuǎn)換為L(zhǎng)abVIEW圖像數(shù)據(jù)。
LabVIEW圖像數(shù)據(jù)類型如圖2所示,其是一個(gè)由6元素捆綁構(gòu)成的簇,包含圖像類型、圖像深度、圖像數(shù)據(jù)、掩碼、顏色、矩形大小等信息。根據(jù)圖像幀字符串內(nèi)容,提取圖像幀的列寬和行高、像素?cái)?shù)據(jù)流,生成LabVIEW圖像數(shù)據(jù),如圖3所示。其中“從字符串還原”函數(shù)將順序排列的像素?cái)?shù)據(jù)流字符串還原為平鋪像素RGB值一維數(shù)組,“按名稱捆綁”函數(shù)將圖像數(shù)據(jù)數(shù)組、列寬、行高捆綁生成LabVIEW圖像數(shù)據(jù)。
3基于圖像處理的葉片蟲害診斷
基于農(nóng)作物葉片圖像的蟲害診斷是在虛擬儀器LabVIEW監(jiān)測(cè)系統(tǒng)中,利用圖像處理算法對(duì)葉片蟲害特征進(jìn)行識(shí)別,以便當(dāng)蟲害發(fā)生時(shí)采取必要處理措施。對(duì)于農(nóng)作物葉片由蟲害引起的缺刻、孔洞或透明斑等特征[12],可利用邊緣檢測(cè)方法,通過標(biāo)識(shí)圖像中亮度變化明顯的點(diǎn)進(jìn)行識(shí)別。邊緣是指其周圍像素灰度有階躍變化或屋頂變化的像素集合[13],因此兩個(gè)具有不同灰度值的相鄰圖像區(qū)域之間總存在邊緣。
本實(shí)驗(yàn)中采用基于彩色圖像分割[14]的方法識(shí)別農(nóng)作物葉片上的蟲孔特征。首先需要選擇合適的顏色空間,顏色空間的選擇將直接影響圖像分割和目標(biāo)識(shí)別效果,常用的顏色空間有RGB和HSL等[15]。RGB是最常用的顏色空間,但在同一顏色空間不同光照下,其RGB值比較分散,在確定閾值和其在顏色空間中的分布范圍時(shí)存在一定難度;而HSL(H-色調(diào)、S-飽和度、L-亮度)更接近人眼感知色彩的方式,可以從HSL中得到顏色、深淺、明暗信息。因此,本文選取HSL彩色模型,相應(yīng)的蟲害診斷過程如圖4所示。首先對(duì)圖像進(jìn)行二值化處理,去除多余的顏色信息,將圖像分割為背景和目標(biāo)兩部分;然后進(jìn)行中值濾波,濾除圖像中存在的噪聲;最后進(jìn)行圖像反轉(zhuǎn),去除小面積區(qū)域以及圖像背景中的干擾點(diǎn),提取亮對(duì)象完成蟲孔識(shí)別。
4實(shí)驗(yàn)驗(yàn)證
實(shí)驗(yàn)中,下位機(jī)圖像終端設(shè)置圖像大小為COLS*ROWS=320*240,即圖像幀的列寬和行高分別為320和240,連續(xù)采集圖像幀緩存數(shù)目S設(shè)置為1。主線程在接收到圖像數(shù)據(jù)后,完成數(shù)據(jù)轉(zhuǎn)換和蟲害診斷,并將圖片和診斷結(jié)果實(shí)時(shí)顯示在前面板交互界面中,如圖5所示。
針對(duì)葉片圖像的蟲孔特征,蟲害診斷程序中,對(duì)應(yīng)IMAQColorThreshold函數(shù),將HSL圖像閾值分割參數(shù)(Min,Max)分別設(shè)置為(50,200)、(10,100)和(20,85);對(duì)應(yīng)IMAQCountObjects2函數(shù),設(shè)置尋找亮對(duì)象閾值、最小尺寸、最大尺寸分別為128、180和10000。
由實(shí)驗(yàn)結(jié)果可以看出,在上位機(jī)控制指令驅(qū)動(dòng)下,圖像采集終端能夠自動(dòng)完成圖像的采集和網(wǎng)絡(luò)傳輸任務(wù)。上位機(jī)虛擬儀器監(jiān)測(cè)系統(tǒng)在VISION工具包及其vi函數(shù)支持下,能實(shí)時(shí)完成圖像數(shù)據(jù)的接收、轉(zhuǎn)換以及圖像處理工作,有效識(shí)別出農(nóng)作物葉片中的蟲孔特征。系統(tǒng)工作穩(wěn)定,蟲孔識(shí)別算法有效。
5結(jié)語(yǔ)
本文研究了農(nóng)作物病蟲害監(jiān)測(cè)過程中涉及到的圖像采集、傳輸以及虛擬儀器平臺(tái)上的圖像處理技術(shù),設(shè)計(jì)基于ARM-Linux嵌入式圖像采集終端與LabVIEW虛擬儀器的遠(yuǎn)程監(jiān)測(cè)系統(tǒng),有效實(shí)現(xiàn)了農(nóng)作物葉片圖像的自動(dòng)采集、顯示和蟲害檢測(cè)功能。基于獲得的圖像數(shù)據(jù),結(jié)合更先進(jìn)的農(nóng)業(yè)病蟲害診斷算法和專家系統(tǒng),該系統(tǒng)有望擴(kuò)展應(yīng)用于各種農(nóng)業(yè)病蟲害疾病的預(yù)測(cè)和防治中,因而具有重要的應(yīng)用推廣價(jià)值。
參考文獻(xiàn):
[1]汪京京,張武,劉連忠,等.農(nóng)作物病蟲害圖像識(shí)別技術(shù)的研究綜述[J].計(jì)算機(jī)工程與科學(xué),2014,36(7):1363-1370.
[2]方益杭.基于計(jì)算機(jī)視覺的油菜生長(zhǎng)過程自動(dòng)識(shí)別研究[D].武漢:華中農(nóng)業(yè)大學(xué),2015.
[3]戴建國(guó),賴軍臣.基于圖像規(guī)則與Android手機(jī)的棉花病蟲害診斷系統(tǒng)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2015,46(1):35-44.
[4]楊澤,裴海龍.基于ARM與DSP的實(shí)時(shí)視頻傳輸系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(12):4184-4188.
[5]董大波,王湘云,趙柏秦,等.基于單片機(jī)的低成本CMOS圖像采集系統(tǒng)[J].儀表技術(shù)與傳感器,2014(2):45-49.
[6]張磊.基于ARM的CMOS數(shù)字圖像傳感器圖像采集系統(tǒng)的研究與設(shè)計(jì)[D].哈爾濱:哈爾濱工程大學(xué),2008.
[7]LESLIEIM,MCAULEYD,BLACKR,etal.Thedesignandimplementationofanoperatingsystemtosupportdistributedmultimediaapplications[J].SelectedAreasinCommunicationsIEEEJournal,1996,14(7):1280-1297.
[8]KANDADAIV,SRIDHARANM,PARVATHYSM,etal.AcomprehensiveembeddedsolutionfordataacquisitionandcommunicationusingFPGA[J].JournalofAppliedResearch&Technology;,2017,15(1):45-53.
[9]李錦波,石巖,曹治國(guó),等.面向?qū)崟r(shí)圖像處理的嵌入式操作系統(tǒng)研究[J].紅外與激光工程,2004,33(6):651-654.
[10]魯力,張波.基于嵌入式TCP/IP協(xié)議的高速電網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)[J].儀器儀表學(xué)報(bào),2009,30(9):405-409.
[11]羅萬(wàn)明,林闖,閻保平.TCP/IP擁塞控制研究[J].計(jì)算機(jī)學(xué)報(bào),2009,24(1):1-18.
[12]張晴晴.作物病害葉片圖像分割及識(shí)別中的關(guān)鍵問題研究[D].鄭州:鄭州大學(xué),2015.
[13]韓君君.彩色圖像邊緣檢測(cè)算法研究[D].曲阜:曲阜師范大學(xué),2009.
[14]DONYRD,WESOLKOWSKIS.EdgedetectiononcolorimagesusingRGBvectorangles[C].IEEECanadianConferenceonElectricalandComputerEngineering,1999:687-692.
[15]魏寶剛,魯東明,潘云鶴,等.多顏色空間上的交互式圖像分割[J].計(jì)算機(jī)學(xué)報(bào),2001,24(7):770-775.
(責(zé)任編輯:黃健)