《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM的農(nóng)藥噴霧飛行器越界控制系統(tǒng)設(shè)計(jì)
基于ARM的農(nóng)藥噴霧飛行器越界控制系統(tǒng)設(shè)計(jì)
2015年電子技術(shù)應(yīng)用第4期
王曉龍,穆春陽,張盼盼,馬 行
北方民族大學(xué) 信息與通信技術(shù)研究所,寧夏 銀川750021
摘要: 針對(duì)當(dāng)前的農(nóng)藥噴霧飛行器需要人時(shí)刻觀察是否飛出農(nóng)田邊界這一情況,從機(jī)器視覺的角度出發(fā),綜合嵌入式、圖像處理和測(cè)控等技術(shù),設(shè)計(jì)了一種以ARM Contex-A8平臺(tái)為核心的農(nóng)藥噴霧飛行器越界控制系統(tǒng)。首先,采用混合高斯模型算法進(jìn)行目標(biāo)檢測(cè),通過計(jì)算目標(biāo)的形狀描述符來獲得形狀特征并進(jìn)行目標(biāo)定位。然后,計(jì)算目標(biāo)的質(zhì)心位置同時(shí)結(jié)合運(yùn)動(dòng)方向來判斷飛行器是否出界。最后,根據(jù)綜合判斷的結(jié)果,用無線模塊控制農(nóng)藥噴霧飛行器的飛行方向。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能夠很好地識(shí)別到農(nóng)藥噴霧飛行器,并能精準(zhǔn)定位和越界判斷,實(shí)現(xiàn)了無人操控,提高了工作效率。
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)04-0036-04
The design of pesticide-spraying aircraft cross-border control system based on ARM
Wang Xiaolong,Mu Chunyang,Zhang Panpan,Ma Xing
Institute of Information and Communication Technology, Beifang University of Nationalities, Yinchuan 750021,China
Abstract: In view of the ordinary pesticide-spraying aircraft need people to judge whether the aircraft flied out the farmland boundaries all the time, this paper proposes an automatic checkout and control system which is based on ARM Contex-A8 platform and combined with embedded technology, image processing technology and control technology. First, the gaussian mixture model algorithm is used to detect the targets and get its features of shape by calculating the shape descriptor for the target localization. Second, the centroid position of the targe is calculated and analyzed together with its flight paths for estimating whether the aircraft is out of the boundary. At last, the aircraft paths are controlled intelligently according to the results of the computations through the wireless module. The experimental results show that the system is able to control the pesticide-spraying aircraft flying accurately, achieve unmanned-control and improve the working efficiency.
Key words : pesticide-spraying aircraft;ARM;cross-border detection;Gaussian mixture model

  

0 引言

  精準(zhǔn)農(nóng)業(yè)(Precision Agriculture)作為當(dāng)今世界農(nóng)業(yè)發(fā)展的新潮流,通過信息技術(shù)支持,可以實(shí)現(xiàn)定位、定時(shí)、定量的現(xiàn)代化農(nóng)事操作技術(shù)實(shí)施與管理,以最節(jié)省的投入得到更高的收入,并高效地利用各類農(nóng)業(yè)資源為目的[1]。在這一應(yīng)用背景下,一種可超低空作業(yè),具有重量輕、折疊尺寸小、操作距離遠(yuǎn)等優(yōu)點(diǎn)的新型多旋翼飛行器——“農(nóng)藥噴霧飛行器”應(yīng)運(yùn)而生。它特別適合于山地丘陵、地塊小、間作套種地塊多的農(nóng)作物病蟲害防治。但是這種飛行器一般采用人工遙控控制,這就需要技術(shù)人員時(shí)刻觀察并判斷飛行器是否飛出農(nóng)田邊界,這不僅造成人力資源的浪費(fèi),而且效率相對(duì)較低,易出現(xiàn)誤判[2],尤其當(dāng)農(nóng)作物過高,飛行器超低空飛行時(shí),工作人員的視角容易受到限制,這個(gè)問題就表現(xiàn)得更加突出。

  針對(duì)上述問題,本文設(shè)計(jì)了一個(gè)能夠自動(dòng)檢測(cè)農(nóng)藥噴霧飛行器是否越界的智能控制系統(tǒng)。本系統(tǒng)融入了嵌入式技術(shù)、圖像處理技術(shù)和測(cè)控等技術(shù),并以Contex-A8為內(nèi)核的S5PV210作為核心平臺(tái), 在第三方庫OpenCV、Qt的基礎(chǔ)上通過混合高斯模型、形狀特征提取等算法實(shí)現(xiàn)了運(yùn)動(dòng)目標(biāo)的檢測(cè)、識(shí)別和定位,最終實(shí)現(xiàn)了農(nóng)藥噴霧飛行器越界檢測(cè),并通過無線模塊控制農(nóng)藥噴霧飛行器智能飛行,無人操控。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能夠很好地識(shí)別到飛行器并準(zhǔn)確地控制農(nóng)藥噴霧飛行器飛行,減輕了工作人員的體力勞動(dòng),同時(shí)提高了工作效率。

1 飛行器越界控制系統(tǒng)農(nóng)田作業(yè)分析


001.jpg


009.jpg

  假設(shè)矩形ABCD為一塊農(nóng)田的模擬圖,如圖1所示,表1為設(shè)置的農(nóng)藥噴霧飛行器飛行參數(shù)。農(nóng)藥噴霧飛行器的運(yùn)動(dòng)方向越界判定分析如下:

  假設(shè)農(nóng)藥噴霧飛行器的飛行軌跡為從農(nóng)田的BC邊界飛入,垂直飛到AD邊界再折返,以此類推。由表1的參數(shù)可知攝像頭標(biāo)定的邊界應(yīng)在農(nóng)田ABCD的內(nèi)部(至少距邊界1 m內(nèi)),如直線fg和eh所示。

002.jpg

  當(dāng)農(nóng)藥噴霧飛行器從攝像頭2前飛過,系統(tǒng)根據(jù)越界檢測(cè)算法可以檢測(cè)到農(nóng)藥噴霧飛行運(yùn)動(dòng)軌跡,并判斷飛行方向?yàn)閺挠蚁蜃螅ㄈ鐖D2所示),即進(jìn)入農(nóng)田,此時(shí)不發(fā)出控制信號(hào);當(dāng)飛行器飛至攝像頭1前,即eh線時(shí),根據(jù)運(yùn)動(dòng)軌跡判斷飛行方向向左,即要飛出邊界,此時(shí)發(fā)出控制信號(hào),使飛行器沿eh向下平移并折返;當(dāng)飛行器折返后再次飛至線fg時(shí),運(yùn)動(dòng)軌跡判斷飛行方向向右,即要飛出邊界,此時(shí)發(fā)出控制信號(hào)。以此類推,直至控制農(nóng)藥噴霧飛行器完成整個(gè)農(nóng)田噴藥作業(yè)。

2 越界控制系統(tǒng)方案設(shè)計(jì)

  2.1 總體結(jié)構(gòu)設(shè)計(jì)

  系統(tǒng)的核心平臺(tái)是以Contex-A8為內(nèi)核的S5PV210主板,利用USB高清攝像頭實(shí)時(shí)捕獲農(nóng)田邊界的視頻信號(hào),然后視頻信號(hào)經(jīng)Contex-A8分析和處理后實(shí)現(xiàn)農(nóng)藥噴霧飛行器這個(gè)運(yùn)動(dòng)目標(biāo)的檢測(cè)、識(shí)別和定位,進(jìn)而判斷其是否越過農(nóng)田邊界,最終系統(tǒng)通過無線模塊nRF24L01實(shí)現(xiàn)對(duì)農(nóng)藥噴霧飛行器智能控制。系統(tǒng)整體結(jié)構(gòu)圖如圖3所示。

003.jpg

  2.2 USB高清攝像頭

  USB高清攝像頭采用的是TTQ甜甜圈的USB2.0高速?gòu)V角超高清監(jiān)控?cái)z像頭,其采用CMOS傳感器,CS標(biāo)準(zhǔn)卡口,最大分別率為1 024×768,像素為1 200萬,每秒可以采集30幀圖像,視頻幀的格式是YUV422或者M(jìn)JPG。鏡頭采用的是焦距為2.8~12 mm,通光口徑為1.4 mm,視場(chǎng)角為25°~103°的廣角攝像頭,清晰成像距離可達(dá)到800 m。

  2.3 無線收發(fā)模塊

  nRF24L01是一款工作在2.4~2.5 GHz世界通用ISM頻段的單片無線收發(fā)器芯片,具有125個(gè)可選工作頻道,數(shù)據(jù)傳輸率為1(或2) Mb/s,SPI接口數(shù)據(jù)速率為0~8 Mb/s,工作電壓為1.9~3.6 V,擁有自動(dòng)應(yīng)答及自動(dòng)重發(fā)功能[3]。

3 越界檢測(cè)控制程序設(shè)計(jì)

  農(nóng)藥噴霧飛行器越界檢測(cè)控制程序是基于QT和OpenCV開發(fā),運(yùn)行環(huán)境為ARM-Linux嵌入式操作系統(tǒng),核心算法主要包括對(duì)圖像的預(yù)處理、基于混合高斯模型的運(yùn)動(dòng)目標(biāo)檢測(cè)、基于形狀特征的目標(biāo)識(shí)別定位、基于質(zhì)心位置和運(yùn)動(dòng)方向的目標(biāo)越界檢測(cè)等,最終實(shí)現(xiàn)對(duì)農(nóng)藥噴霧飛行器的越界判斷和通過無線模塊對(duì)其的控制。農(nóng)藥噴霧飛行器越界檢測(cè)控制程序設(shè)計(jì)框圖如圖4所示。

004.jpg

  3.1 第三方計(jì)算機(jī)視覺庫OpenCV的移植

  OpenCV是由Intel公司發(fā)起并參與開發(fā)且在近年來迅速普及的計(jì)算機(jī)視覺研究工具,是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺庫[4]。它源代碼開放,輕量高效,并提供了非常豐富的幀提取函數(shù)和視覺處理算法,使開發(fā)者可以在其視頻開發(fā)或圖像處理項(xiàng)目中直接進(jìn)行算法移植或?qū)⑵涮砑幼约壕帉懙某绦蛑校_(dá)到事半功倍的效果[5]。移植過程為,首先從官網(wǎng)上下載源碼包,然后根據(jù)嵌入式ARM系統(tǒng)安裝步驟安裝交叉編譯器、參數(shù)配置和編譯,經(jīng)測(cè)試最終使用的版本為OpenCV2.4.2。

  3.2 圖像預(yù)處理

  考慮到圖像處理涉及到大量的矩陣操作和S5PV210的性能以及監(jiān)控區(qū)域的復(fù)雜性,預(yù)處理線程首先采用人工標(biāo)定的方法對(duì)視頻的每一幀進(jìn)行ROI(感興趣區(qū)域)提取,然后使用OpenCV的blur()和GaussianBlur()等庫函數(shù)對(duì)圖像進(jìn)行去噪、消除模糊和增強(qiáng)對(duì)比度等處理,最終得到一個(gè)有利于后期處理的圖片。整個(gè)過程如圖5所示,其圖像中的豎直黑線表示界線。

005.jpg

  3.3 混合高斯模型[6]目標(biāo)檢測(cè)算法實(shí)現(xiàn)

  高斯模型是一種用高斯概率密度函數(shù)來量化對(duì)象并將其分解為由若干個(gè)高斯概率密度函數(shù)所組成的模型?;诟咚鼓P偷谋尘疤崛〗⒃谙袼丶?jí),不同于單高斯模型的是,混合高斯模型將圖像的每個(gè)像素設(shè)計(jì)成由若干個(gè)(一般為3~5個(gè))高斯模型根據(jù)各自的權(quán)值加和共同產(chǎn)生的[7]。然后將采集到的圖像像素與這幾個(gè)高斯分布分別進(jìn)行匹配,以確定哪些像素屬于背景。又因?yàn)楸O(jiān)控區(qū)域時(shí)刻都會(huì)有變化,比如風(fēng)吹樹動(dòng)、人員流動(dòng)或物體的進(jìn)入等,使最初得到的背景不再具有可信度,因此還需要不斷地對(duì)各個(gè)高斯分布的權(quán)值、均值和方差進(jìn)行實(shí)時(shí)更新,這樣處理有助于抗噪,比如光照變化、樹葉晃動(dòng)等,以達(dá)到背景模型的更準(zhǔn)確表達(dá)。其中混合高斯像素點(diǎn)判為背景的概率計(jì)算公式如下:

  1.png

  其中Xt的概率p(Xt)是該像素分別屬于K個(gè)高斯分布的概率加權(quán)和;K為高斯模型的數(shù)量(3~5個(gè));(k,t)分別表示t時(shí)刻第k個(gè)高斯模型的權(quán)重、均值和方差,RA[RA2V{EVBJPXE9Q61N$Z0.png表示t時(shí)刻第k個(gè)高斯模型的概率密度函數(shù)。

  混合高斯參數(shù)更新函數(shù)為:

  2.png

  其中,M(k,t)=1,匹配成功

  0,匹配不成功,a(取值0~1之間)為各個(gè)高斯分布權(quán)重的更新率;?籽為參數(shù)的更新率,?籽越大,參數(shù)調(diào)整越快。

  混合高斯背景更新函數(shù)為:

  3.png

  其中H表示經(jīng)過以上步驟的調(diào)整得到的K個(gè)高斯分布并取前H個(gè)高斯分布作為新的背景;T表示屬于背景高斯分布的權(quán)值和占總權(quán)值的最小比例;b是滿足T的最合適的高斯分布數(shù)。

  根據(jù)以上理論,基于OpenCV實(shí)現(xiàn)混合高斯模型目標(biāo)檢測(cè)算法的關(guān)鍵代碼為:

  BackgroundSubtractorMOG mog;//定義混合高斯

  mog(frame, foreground, 0.02); //更新背景圖片并且輸出前景

  threshold(foreground, foreground, 128, 255,

  THRESH_BINARY_INV);

  3.4 目標(biāo)的識(shí)別定位算法

006.jpg

  運(yùn)動(dòng)目標(biāo)識(shí)別定位算法如圖6所示,其中形態(tài)學(xué)濾波是為消除細(xì)小的噪聲干擾又能填充物體內(nèi)細(xì)小的空洞,有利于目標(biāo)輪廓提取,質(zhì)心坐標(biāo)是根據(jù)連通域的幾何距求出。一幅數(shù)字圖像的階2-D距定義為:

  4.png

  其中M和N分別是圖像的高和寬,p和q是非零正整數(shù),mpq為(p+q)矩。根據(jù)式(4)的mpq可求出連通域質(zhì)心坐標(biāo),質(zhì)心的計(jì)算公式為:

  5.png

  其中x表示質(zhì)心的橫坐標(biāo),y表示質(zhì)心的縱坐標(biāo)。最后將質(zhì)心(x,y)坐標(biāo)輸出,為目標(biāo)越界判斷和控制提供依據(jù)。

  運(yùn)動(dòng)目標(biāo)識(shí)別定位算法的實(shí)現(xiàn)代碼如下:

  (1)調(diào)用OpenCV的庫函數(shù)dilate()和erode()函數(shù),實(shí)現(xiàn)二值形態(tài)學(xué)閉運(yùn)算。具體實(shí)現(xiàn)代碼為:

  dilate( foreground, foreground, element);//膨脹

  erode( foreground, foreground, element); //腐蝕

  其中每一個(gè)函數(shù)中第一個(gè)foreground表示輸入圖像,第二個(gè)表示經(jīng)函數(shù)處理后輸出圖像,element表示用于腐蝕和膨脹處理的模板。

  (2)調(diào)用函數(shù):find_Contours(foreground, outgroud, con-

  tours, point_num, MAX_CON) 提取二值圖像中有效輪廓存于contours中。其中foreground表示輸入待提取輪廓的圖像;outgroud表示輸出圖像;contours是一個(gè)容器變量,用以存放輪廓的數(shù)量、長(zhǎng)度和每個(gè)輪廓的坐標(biāo);point_num和MAX_CON分別表示有效輪廓的下限和上限,濾除無效輪廓。

  (3)調(diào)用函數(shù):get_barycenter(contours,barycenter)實(shí)現(xiàn)從有效輪廓變量contours中計(jì)算形狀描述符和識(shí)別有效的輪廓,并將最終質(zhì)心的坐標(biāo)存儲(chǔ)到barycenter中,其類型是cv::Point,表示一個(gè)坐標(biāo)為整數(shù)的二維點(diǎn)。

  3.5 目標(biāo)越界判斷及控制

  目標(biāo)越界判斷的兩個(gè)條件是運(yùn)動(dòng)目標(biāo)質(zhì)心位置和運(yùn)動(dòng)方向,且運(yùn)動(dòng)方向由質(zhì)心的運(yùn)動(dòng)軌跡可求出。因此,判斷農(nóng)藥噴霧飛行器是否在右邊界越界的條件表達(dá)式如下:

  6.jpg

  其中crossAlarm越界標(biāo)記,1為越界;flag表示運(yùn)動(dòng)方向標(biāo)號(hào),規(guī)定從左向右為0,從右向左為1;是質(zhì)心坐標(biāo),g(k,y)表示界線函數(shù)(k為常數(shù))。通過異或(0^flag,1^flag)可有效地解決雙向越界報(bào)警,實(shí)現(xiàn)單方向越界報(bào)警。左邊界越檢測(cè)算法和右側(cè)的類似。程序中的主要函數(shù)為judge_barycenter(barycenter,B_left,B_right),其中bary-

  center為質(zhì)心坐標(biāo),B_left 和B_right分別表示左、右邊界函數(shù)常數(shù)k,返回值為0或1,存于crossAlarm。

  當(dāng)檢測(cè)到農(nóng)藥噴霧飛行器越界crossAlarm=1,程序馬上通過軟中斷控制無線模塊nRF24L01發(fā)送控制命令給農(nóng)藥噴霧飛行器。為了保證控制的正確率,控制命令采用包含校驗(yàn)和的數(shù)據(jù)包發(fā)送,并且農(nóng)藥噴霧飛行器解碼后要做出答復(fù),數(shù)據(jù)包的格式為:包頭+包長(zhǎng)度+命令+校驗(yàn)位,校驗(yàn)方式為和校驗(yàn)。

4 系統(tǒng)的測(cè)試

  本文設(shè)計(jì)的基于ARM的農(nóng)藥噴霧飛行器越界控制系統(tǒng)主要由Contex-A8圖像檢測(cè)控制系統(tǒng)、nRF2401無線控制模塊、高清攝像頭捕獲終端和三腳架等部分組成,且最終在農(nóng)田進(jìn)行測(cè)試。首先用三腳架將攝像頭抬升到一定高度使攝像頭前無遮擋物,然后啟動(dòng)農(nóng)藥噴霧飛行器飛躍農(nóng)田的邊界,經(jīng)混合高斯和目標(biāo)的識(shí)別定位算法處理過程產(chǎn)生的效果如圖7~10所示,其中圖7是由圖5(c)經(jīng)混合高斯模型算法處理得到的。

007.jpg

  為了驗(yàn)證系統(tǒng)的可靠性,根據(jù)農(nóng)藥噴霧飛行器工作的天氣條件,系統(tǒng)分別在晴朗微風(fēng)、晴朗中風(fēng)、陰天微風(fēng)3種條件下進(jìn)行測(cè)試,測(cè)試的數(shù)據(jù)如表2所示。

010.jpg

  現(xiàn)場(chǎng)測(cè)試的實(shí)驗(yàn)結(jié)果表明,基于ARM的農(nóng)藥噴霧飛行器越界控制系統(tǒng)能夠正確檢測(cè)、識(shí)別定位和判斷農(nóng)藥噴霧飛行器是否越界,并控制其正確飛行完成農(nóng)田作業(yè)。同時(shí)分析得:雖然光線的強(qiáng)弱和風(fēng)速對(duì)系統(tǒng)有一定的影響,但在不同的天氣環(huán)境測(cè)試該系統(tǒng)時(shí)正確率也可達(dá)到92.85%。因此本系統(tǒng)可以滿足客戶需求,實(shí)現(xiàn)對(duì)農(nóng)藥噴霧飛行器農(nóng)田作業(yè)的智能控制,在精準(zhǔn)、智能農(nóng)業(yè)中具有一定的推廣價(jià)值。

  參考文獻(xiàn)

  [1] 胡承鍵.加速寧夏農(nóng)用無人機(jī)開發(fā)應(yīng)用促進(jìn)精準(zhǔn)農(nóng)業(yè)發(fā)展[J].寧夏農(nóng)林科技,2014,55(5):8-10.

  [2] 林蔚紅,孫雪鋼,劉飛,等.我國(guó)農(nóng)用航空植保發(fā)展現(xiàn)狀和趨勢(shì)[J].農(nóng)業(yè)裝備技術(shù),2014,40(1):6-10.

  [3] 樊冬雪,成怡,海林,等.四軸飛行器視覺導(dǎo)航系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2014,40(8):142-146.

  [4] 尹俊超,劉直芳.基于OpenCV的運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(8):2817-2820.

  [5] 劉瑞幀,于士琪.OpenCV教程基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2007.

  [6] Gan Xinsheng,Zhao Shubin.Comparison on background subtraction algorithms for moving target detection[J].Command Control & Simulation,2008,30(3):45-50.

  [7] 李娟,邵春福,楊勵(lì)雅.基于混合高斯模型的行人檢測(cè)方法[J].吉林大學(xué)學(xué)報(bào)(工學(xué)版),2011,41(1):41-45.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。