曹 婷,來智勇,黃鋁文
(西北農(nóng)林科技大學(xué) 信息工程學(xué)院,陜西 楊凌 712100)
近年來,隨著農(nóng)業(yè)現(xiàn)代化發(fā)展和計算機視覺技術(shù)在農(nóng)業(yè)上的廣泛應(yīng)用,作物圖像在農(nóng)業(yè)生產(chǎn)中的作用愈發(fā)重要,可用于作物生長狀態(tài)分析,病蟲害診斷、作物營養(yǎng)狀態(tài)監(jiān)測等[1],進而精確地監(jiān)測作物生長狀況,以提高農(nóng)業(yè)生產(chǎn)管理自動化水平[2]。
目前,作物圖像獲取方式有固定安裝、移動車載及便攜式等形式[3]。Klassen[4]等采用固定安裝攝像機的形式獲取生菜圖像來計算葉片對土地的覆蓋率。馬蓉[5]等采用基于圖像識別的車載式測算系統(tǒng)對作物面積進行抽樣調(diào)查,以減輕野外工作負擔(dān)。姚青[6]等設(shè)計了一種基于智能手機的便攜式作物病蟲害圖像采集與診斷系統(tǒng)。
韓文霆[7-8]等選擇導(dǎo)軌、千斤頂及云臺的綜合安裝方式,研發(fā)了一種固定桁架式空間移動作物圖像采集系統(tǒng),通過有線網(wǎng)絡(luò)實現(xiàn)遠程控制圖像采集設(shè)備運動來獲取所需作物圖像;但其布線繁瑣、成本較高,且適用范圍有限。本文針對該作物圖像遠程采集系統(tǒng)的缺點,使用圖像采集設(shè)備自帶的RS485接口實現(xiàn)對其運動的遠程控制,并用VC++及圖像采集設(shè)備的SDK等開發(fā)出作物生長數(shù)據(jù)中心和網(wǎng)絡(luò)專家端口兩個客戶端軟件。其中,數(shù)據(jù)中心實現(xiàn)作物圖像的定時采集、展示和存儲;專家端口實現(xiàn)作物的生長狀況和生長環(huán)境的實時遠程觀察,供專家進行施肥決策和病蟲害診斷。
作物生長圖像遠程采集系統(tǒng)主要由圖像采集站點、服務(wù)器,以及作物生長數(shù)據(jù)中心和網(wǎng)絡(luò)專家端口組成,如圖1所示。
圖像采集站點是圖像信息的來源,包括圖像采集設(shè)備、T型桁架、步進電機、步進電機驅(qū)動器、電機控制器和云臺。采用4G網(wǎng)絡(luò)相機作為圖像采集設(shè)備,水平和垂直移動模塊由搭載在T型桁架的兩套步進電機實現(xiàn),空間轉(zhuǎn)動模塊由智能解碼云臺實現(xiàn)。
服務(wù)器的硬件為連接公網(wǎng)寬帶的計算機,安裝有4G網(wǎng)絡(luò)相機配套的流媒體平臺服務(wù)器,用于接收、處理和轉(zhuǎn)發(fā)圖像采集站點傳來的流媒體數(shù)據(jù)以及客戶端發(fā)送的控制圖像采集設(shè)備的運動命令,實現(xiàn)遠程通訊。
作物生長數(shù)據(jù)中心和網(wǎng)絡(luò)專家端口通過有線網(wǎng)絡(luò)或WIFI接入互聯(lián)網(wǎng),通過服務(wù)器遠程控制圖像采集設(shè)備運動來采集所需圖像。數(shù)據(jù)中心主要實現(xiàn)監(jiān)測區(qū)域內(nèi)作物全景圖像的定時采集。人工通過界面先設(shè)定采集時間,到達指定時間軟件將自動向圖像采集設(shè)備發(fā)送控制水平電機運動和停止的脈沖信號及采集圖像命令,獲取一批通過水平移動采集的圖像;并將采集的圖像拼接成全景圖進行存儲和展示。網(wǎng)絡(luò)專家端口通過操作界面遠程控制步進電機控制器實現(xiàn)圖像采集設(shè)備水平移動及垂直移動。遠程傳輸操控云臺運動的信息來實現(xiàn)圖像采集設(shè)備的水平旋轉(zhuǎn)運動,完成移動到預(yù)定位置的圖像采集。

圖1 系統(tǒng)結(jié)構(gòu)組成圖Fig.1 Composition diagram of system structure
為滿足廣泛的適用性及圖像信息和控制信息的遠距離傳輸要求,選擇福州臺英網(wǎng)絡(luò)技術(shù)公司生產(chǎn)的型號為EIC4631HC的4G無線網(wǎng)絡(luò)高清攝像機作為圖像采集設(shè)備。該相機最高分辨率為1 920×1 080像素,支持移動、電信、聯(lián)通4G網(wǎng)絡(luò),在沒有4G網(wǎng)絡(luò)時,移動和聯(lián)通可自動切換3G信號。相機還帶有RJ45網(wǎng)絡(luò)接口和RS-485串行接口,滿足各種通訊場景需求。
桁架作為圖像采集設(shè)備的載體,在運動過程中應(yīng)盡量保持穩(wěn)定。因此,采用T型桁架結(jié)構(gòu)來增強圖像采集設(shè)備的運動穩(wěn)定性。桁架的長度約為6m,高度約為2.05m,垂直方向圖像采集設(shè)備可活動的高度范圍為1.5~2m。水平運動機構(gòu)采用滾動導(dǎo)軌加同步帶的結(jié)構(gòu),垂直運動機構(gòu)采用滾珠絲杠的結(jié)構(gòu)。為更好滿足客戶端需求及系統(tǒng)安全運行,在水平導(dǎo)軌左側(cè)及垂直導(dǎo)軌上側(cè)安裝了紅外傳感器模塊,當(dāng)電機到達距離傳感器15cm左右的位置時,將自動停止運動。
2.3.1 步進電機選型
垂直方向是由步進電機驅(qū)動圖像采集設(shè)備、云臺、支架進行移動, 負載質(zhì)量約為3.5kg。系統(tǒng)總慣量為負載慣量、滾珠絲杠轉(zhuǎn)動慣量、聯(lián)軸器轉(zhuǎn)動慣量3部分的總和。由于負載較小,負載慣量和聯(lián)軸器轉(zhuǎn)動慣量可忽略。滾珠絲杠轉(zhuǎn)動慣量計算公式為
(1)
其中,l為絲杠長度(m),取l=0.5m;d為絲杠直徑(m),取d=0.01m;ρ為絲杠密度(kg/m),取ρ=7.85×103kg/m3。由于負載較小,系統(tǒng)運行所必須的總轉(zhuǎn)矩即為負荷轉(zhuǎn)矩Ta,計算公式為
(2)
其中,Fa為軸向負載重力(N),取Fa=3.43N;I為絲杠導(dǎo)程(m),取I=0.002m;η為機械效率,取η=0.5。
水平方向電機驅(qū)動的負載有滑塊、圖像采集設(shè)備、云臺、支架、驅(qū)動垂直運動的電機及支撐機構(gòu),質(zhì)量約為7kg。移動負載所需轉(zhuǎn)矩計算公式為
(3)
其中,μ為滑塊與導(dǎo)軌的摩擦因數(shù),取μ=0.01;r為帶輪半徑(mm),取r=0.028mm;w為載重量(N),取w=6.86N。將其折算到步進電機軸的轉(zhuǎn)矩公式為
(4)
其中,i為步進電機的傳動比,η為步進電機工作效率,取i=1,η=0.98。
選用深圳新力川電氣有限公司生產(chǎn)的型號為LC60H286的兩相步進電機作為垂直導(dǎo)軌搭載的電機,保持轉(zhuǎn)矩為2N·m。型號為LC86H298的步進電機作為水平導(dǎo)軌的搭載電機,其保持轉(zhuǎn)矩為3N·m。這兩個步進電機的保持轉(zhuǎn)矩均大于所需轉(zhuǎn)矩,滿足系統(tǒng)要求。
2.3.2 電機驅(qū)動器及控制器處理器選型
兩個步進電機使用的電機驅(qū)動器的型號均為LCDA86H,其驅(qū)動電流為自動整定。該驅(qū)動器有6個撥碼開關(guān)(SW1-SW6),前4個開關(guān)用于設(shè)定驅(qū)動器細分,SW5設(shè)置電機方向,SW6設(shè)置控制方式。
選用STM32F103作為步進電機控制器處理器。通過對其編程實現(xiàn)控制電機在桁架上的水平和垂直移動。STM32是集成了ARM Cortex-M3內(nèi)核的32位微控制器,工作效率高,既可以輸出精準(zhǔn)的PWM脈沖信號來精確控制步進電機運動,又提供了多種標(biāo)準(zhǔn)接口,可,更好地與外圍設(shè)備進行信息交互[9]。
2.3.3 步進電機控制器程序設(shè)計
電機控制器主要有3方面的工作:一是接收客戶端發(fā)送的命令;二是對接收的命令進行解析;三是將解析后的命令轉(zhuǎn)化為控制電機運動的脈沖信號。其具體工作流程圖如圖2所示。
因為客戶端到圖像采集設(shè)備的命令傳輸可根據(jù)4G網(wǎng)絡(luò)相機的SDK實現(xiàn),所以電機控制器的編程是基于RS485接口的,因此需進行串口配置來完成通信。制定的接收命令格式:“#”為開始標(biāo)志,“!”為結(jié)束標(biāo)志,數(shù)據(jù)位由4位十進制數(shù)組成。第1位為所要控制的電機號,定義1號為水平方向電機,2號為垂直方向電機;第2位為電機轉(zhuǎn)動方向,定義1為正轉(zhuǎn),0為反轉(zhuǎn);第3和第4位為輸出脈沖頻率(kHz)。采用定時器中斷的方法產(chǎn)生脈沖信號:首先用STM32中的普通定時器TIM3的通道2和TIM4的通道1來產(chǎn)生PWM輸出,然后用定時器中斷將脈沖按一定頻率從STM32的IO口輸入到電機驅(qū)動中,分別控制水平方向和垂直方向的電機運動,實現(xiàn)圖像采集設(shè)備的水平和垂直方向的移動。
為實現(xiàn)多角度采集圖像,采用普天視生產(chǎn)的PTS-326智能解碼云臺實現(xiàn)圖像采集設(shè)備的水平旋轉(zhuǎn)運動。
云臺的主要參數(shù):輸入電壓DC12V,質(zhì)量1.6kg,可承受負載8kg,旋轉(zhuǎn)角度為0°~355°。工作溫度為-10~+55°C。旋轉(zhuǎn)速度為0~4.8(°)/s。
計算機與步進電機控制器建立通訊連接后,由計算機通過VC++編寫客戶端程序向步進電機控制器發(fā)送一串格式為“#xxxx!”的代碼指令,控制步進電機的運動。例如,“#2010!”表示控制垂直方向的步進電機電機以脈沖頻率10kHz進行反向轉(zhuǎn)動,實現(xiàn)圖像采集設(shè)備的垂直向下移動。
云臺通過RS485接口與圖像采集設(shè)備連接,采用的控制協(xié)議為PELCO-D協(xié)議。其控制命令由7個字節(jié)的16進制數(shù)組成,同步字節(jié)始終為FFH;地址碼為云臺的邏輯地址,地址范圍為00H-FFH;指令碼1、2表示不同的動作;數(shù)據(jù)碼1、2分別表示水平、垂直方向的旋轉(zhuǎn)速度,取值范圍為00-3FH;校驗碼=MOD[(字節(jié)2+字節(jié)3+字節(jié)4+字節(jié)5+字節(jié)6)/100H]。
本系統(tǒng)選用地址碼為0X01,水平方向旋轉(zhuǎn)速度為0X1f,在客戶端根據(jù)PELCO-D協(xié)議制定好命令規(guī)范,即可完成遠程控制云臺旋轉(zhuǎn),實現(xiàn)圖像采集設(shè)備的空間轉(zhuǎn)動。
作物生長數(shù)據(jù)中心系統(tǒng)架構(gòu)如圖3所示。數(shù)據(jù)中心需實現(xiàn)監(jiān)測區(qū)域作物整體圖像的采集,而定點采集不能實現(xiàn)該目標(biāo),因此需多點移動進行采集多個圖像,再將其拼接成全景圖。具體工作流程如下:數(shù)據(jù)中心設(shè)定采集圖像的時間后,向作物圖像采集設(shè)備發(fā)送采集圖像的命令,到達設(shè)定的采集時間后,水平方向電機首先檢查其位置是否在桁架的左側(cè),如未處于該位置,則自動運動至正確位置;然后,圖像采集設(shè)備通過在桁架水平導(dǎo)軌上的6個不同位置停止運動來進行圖像采集,具體停止位置通過控制脈沖數(shù)來實現(xiàn)精確定位。采集到圖像后將圖像傳送給數(shù)據(jù)中心,數(shù)據(jù)中心對接收的作物圖像進行拼接,將拼接后的全景圖像存儲在數(shù)據(jù)庫中,并將拼接后的圖像展示在數(shù)據(jù)中心大屏幕上。當(dāng)需要采集多個作物圖像采集站點的全景圖像時,各個站點依次循環(huán)完成采集。

圖3 作物生長數(shù)據(jù)中心架構(gòu)圖Fig.3 Architecture diagram of crop growth data center
網(wǎng)絡(luò)專家端口的控制界面如圖4所示。
圖4中,左側(cè)界面用于顯示正在監(jiān)測的作物視頻畫面,右側(cè)為電機和云臺的控制界面。每次控制前,需先登錄所要查看的站點,然后點擊打開RS485按鈕,通過點擊控制云臺和電機的按鈕來實現(xiàn)圖像采集設(shè)備的水平旋轉(zhuǎn)、水平移動及豎直移動。當(dāng)發(fā)現(xiàn)需要進一步觀察的圖像時,點擊“抓圖”按鈕即可采集圖像。為方便使用,每次點擊打開RS485按鈕時,圖像采集設(shè)備都會自動移動到桁架的左上角位置,當(dāng)專家控制電機運動時,水平位置和垂直位置的進度條均會根據(jù)其操作相應(yīng)變化,使其明確電機所處位置;采集到圖像后,專家可通過對其進行放縮、旋轉(zhuǎn)等操作來仔細查看,進行灌溉施肥等決策;且此圖像自動存儲在專家數(shù)據(jù)庫中,可備專家以后查詢和分析對比。
測試地點為西北農(nóng)林科技大學(xué)工程訓(xùn)練中心,測試時間為2018年6-7月。客戶端計算機分別通過RJ45接口和無線WIFI連入網(wǎng)絡(luò),相機插入移動4G卡進行測試。圖5為測試現(xiàn)場。
精度控制測試主要測試云臺和電機的響應(yīng)速度。為測試不同網(wǎng)絡(luò)環(huán)境和不同時間段的控制性能,客戶端分別采取有線和無線的方式連入網(wǎng)絡(luò),選取不同時間點進行測試。測試方法:右手控制鼠標(biāo)點擊電機或云臺的控制按鈕,左手控制秒表,點擊按鈕時開始計時,觀察到相機運動狀態(tài)發(fā)生變化時停止計時。每組取10次測試的平均值作為測試結(jié)果,測試結(jié)果如表1所示。由表1可知:響應(yīng)時間均在系統(tǒng)可接受范圍。

表1 系統(tǒng)控制精度測試Table 1 System control precision test experiment
系統(tǒng)可接受的圖像接收延時在10s以內(nèi),相機可采集640×480像素和1 920×1 080像素大小的圖像。在不同時間點對這兩種分辨率圖像進行接收延時測試,結(jié)果如表2所示。由表2可知:高分辨率圖像傳輸?shù)难訒r最大也在3s以內(nèi),滿足系統(tǒng)需求,因此選擇采集高分辨率圖像。
作物生長數(shù)據(jù)中心要求定時采集的相鄰圖像重疊率為30%以上,經(jīng)過多次測試,采集的圖像均滿足拼接需求。對數(shù)據(jù)中心和專家端口軟件進行操作,無明顯卡頓,可正常查看和管理存儲在各自數(shù)據(jù)庫的圖像。

表2 圖像傳輸延時測試Table 2 Image transmission time test
綜合采用遠程通信、步進電機控制、圖像采集、圖像處理及數(shù)據(jù)庫管理等技術(shù),開發(fā)了作物圖像遠程采集系統(tǒng),實現(xiàn)了遠程獲取和管理監(jiān)測區(qū)域內(nèi)植株各個部位的詳細圖像信息及所有植株的整體長勢圖像。采用圖像采集設(shè)備自帶的RS485接口實現(xiàn)對云臺和電機運動的遠程控制,免除了布線和管理復(fù)雜的困擾,擴大了系統(tǒng)的適用范圍。以圖像方式記錄了作物生長信息,為以后的農(nóng)業(yè)科研收集了數(shù)據(jù)。