李亞碩, 伏偉浩, 賈曉峰, 趙 博, 蘇仁忠, 徐名漢, 龐在溪, 張悅如
(1. 中國農業機械化科學研究院集團有限公司,北京 100083; 2. 土壤植物機器系統技術國家重點實驗室,北京 100083;3. 中機建工有限公司,北京 100083; 4. 湖北省農業機械化技術推廣總站,湖北 武漢 430017)
隨著農業機械化作業水平提升,深松、植保、播種、收獲等農業全過程已經基本實現機械化,但由于農機種類多、作業范圍廣而帶來的作業質量難以監管、作業效率難以評估等問題日益突出。目前,農機信息化技術系統已經能夠實現農機作業的定位、追蹤與遠程監控,可以利用農機位置信息提取行駛軌跡,并根據物聯網信息進行任務分配、作業評估和補貼結算等[1-4]。農機行駛軌跡分為道路行駛軌跡和田間作業軌跡,由于農機手作業不規范或傳感器自身問題,在平臺上不能有效區分農機行駛過程中的道路轉移軌跡和田間作業軌跡,從而影響作業效率評估。目前,軌跡點數據處理多采用聚類算法,可利用田間作業軌跡點密集,道路行駛軌跡點稀疏的特點,通過DBSCAN 聚類的方法區分田間作業和道路行駛軌跡,能夠達到較好的識別效果[5-6]。由于不同農機、不同地形作業軌跡相差較大,聚類方法依賴的鄰域半徑和鄰域點數不好確定,并且聚類方法時間復雜度高。有研究人員利用時空信息對軌跡進行密度聚類,由于軌跡點具有時序性,將時間作為聚類信息對準確率的提升幫助不大[7-8]。利用空間索引和網格密度聚類,可有效提升運行速度,但網格大小和密度閾值參數敏感[9-10]。盡管聚類方法對農機田間作業軌跡識別效果較好,但對道路轉移行駛軌跡容易誤識別,單純依靠聚類方法,很難提升農機軌跡點識別準確率。
本研究結合農機空間運行軌跡的特點,采集農機行駛軌跡點經緯度、速度、近鄰點相互關系等作為特征,利用BP_Adaboost 方法對軌跡點進行訓練和識別。通過大量數據分析發現,道路和田間交界處的軌跡點容易將道路行駛軌跡誤識別為田間作業軌跡,因此在BP_Adaboost做出識別后,將田間與道路交界處附近軌跡點標記為道路行駛軌跡并添加到訓練樣本中重復訓練,直至訓練樣本無新增。此方法可有效解決不同地塊軌跡差異大、田間道路交界處軌跡點易誤識別等問題。
農機行駛軌跡狀態主要分為田間作業狀態、道路行駛狀態、停車狀態(農機故障、休息)等,一般通過安裝在農機上的北斗定位接收裝置自動記錄農機運行全過程軌跡,獲取農機經緯度位置信息、速度信息等。田間作業時通常采用直線往復作業方式,運動速度慢,運行軌跡點相對密集;道路行駛時移動速度偏快,運動軌跡呈單向的線性分布;當農機處于停車狀態時,農機軌跡的特征表現為一個簇點,簇點的分布范圍很小,且比較散亂。利用這些特點,挖掘農機軌跡點之間的相互關系,對農機運行狀態進行有效識別。
農機坐標和速度是軌跡點的主要特征。當農機停車時,車載北斗定位接收裝置繼續接收信息,由于定位精度原因,軌跡點位置與農機位置有小幅偏差,散落在農機位置小范圍內,稱為農機停車散點。特殊情況下,由于定位偏差過大,會造成連續兩點之間間隔很遠,稱為軌跡點漂移。農機停車散點及漂移點如圖1 所示。
有效軌跡點是正常行駛過程中的連續點,農機停車散點和行駛過程中的漂移點屬于無效軌跡點,而無效軌跡點會影響平均速度和軌跡間距的計算,在數據處理前應該去除。本研究中,為保持軌跡連續性和完整性,停車散點和漂移點依然保留,歸為道路行駛點,但數據處理時不在計算之內。
由于軌跡點采集的誤差,農機停車時軌跡點會集中在一個小的范圍內,因此速度為零或一個很小值。為防止將田間作業過程中臨時停車軌跡點誤刪除,判斷條件設置為連續多點的速度小于某一閾值。
由于北斗定位接收裝置故障、斷電或者定位偏差,會造成連續兩點之間間隔很遠。當某一點與前一點距離比較大,而與下一點間隔正常時,認為兩點之間存在斷點,將上一點作為前段軌跡終點,該點作為下段軌跡起點;若某一點與前后兩點距離都較大,認為該點為漂移點,將該點去除,上一點作為前段軌跡終點,下一點作為下段軌跡起點。
農機軌跡點包含時間、經緯度、速度等信息,農機田間作業軌跡和道路行駛軌跡交叉,用聚類和分類的方法根據軌跡點信息對軌跡點狀態進行識別,可以得到一定的效果。以速度為特征和以軌跡點到近鄰20 個點距離均值為特征的軌跡識別結果如圖2 所示。
圖2 中,往復行駛且密集的點代表田間作業軌跡,單行行駛點代表道路行駛軌跡,選用兩種特征分別作為判斷依據都具有一定的效果。利用速度判斷農機軌跡狀態時,閾值為平均速度,但由于不同速度采集到的田間作業點數和道路行駛軌跡點數差別比較大,而且在實際行駛過程中由于農機速度不均勻,尤其是道路中減速情況,田間突然加速導致采集數據不穩定,因此單純依靠速度區分軌跡點狀態效果不太好。利用軌跡點與近鄰點的距離關系時,田間軌跡點與近鄰點間距小且緊湊,道路軌跡點與近鄰點距離遠;且隨著近鄰點選取數量的增加,道路軌跡點與近鄰點的距離增加更多;但由于道路行駛過程中可能出現減速和往返,田間作業軌跡也可能出現跨壟作業等導致軌跡間距變大,都會導致田間有誤識別成道路的軌跡點,道路中也有誤識別成田間的軌跡點。

圖2 以不同特征分別識別軌跡效果Fig. 2 Track effects recognized by different features
應盡量豐富農機軌跡點的有用信息,農機田間作業是往返作業,田間作業軌跡點密度大于路上軌跡點的密度。可用信息包括速度V、一定半徑內近鄰點數量m、與近鄰點的平均距離Aved等。農機軌跡點在由上述3 個特征組成三維空間中的分布效果如圖3 所示。

圖3 在三維空間V、m、Aved 中農機軌跡點分布效果Fig. 3 Effect drawing of track point distribution of agricultural machinery in three-dimensional space V, m and Aved
圖3 中,“*”代表田間作業軌跡點,“?”代表道路行駛軌跡點。其中近鄰點的選取范圍為每日軌跡點平均距離的3 倍。從圖3 可以看出,兩類軌跡點在三維特征空間雖然有區分性,但是也有重疊難以區分的部分。因此,利用以上特征,軌跡點有一定的區分性,說明選取的特征有效,但只依靠這幾個特征閾值不能完全區分軌跡點。綜上所述,本文選取的特征包括經緯度、速度、近鄰點數量、近鄰點平均距離、n個近鄰點距離等。
將特征矩陣輸入基于AdaBoost 的BP 分類算法中進行訓練。AdaBoost 算法的思想是對給定的特征集通過訓練一定數量的弱分類器組成一個強分類器,而在BP_Adaboost 中弱分類器即BP 神經網絡[11-12]。
BP 神經網絡由輸入層、隱含層和輸出層構成,是一種從輸入到輸出的映射,通過用已知的模式對網絡進行訓練,得到一個能反映輸入到輸出之間精確映射關系的網絡,特點是信號前向傳播,誤差反向傳播[13-15]。根據映射網絡存在定理:一個3 層前饋網絡能以任意精度逼近任意的連續函數。建模過程中,初始學習率設置為0.000 1,既可以保證快速順利找到損失函數的最小值,又不至于過大反復振蕩。
輸入層為軌跡點特征,包括軌跡點經緯度、速度、半徑r內鄰近軌跡點個數、與鄰近點平均距離和到鄰近點的距離。由于各輸入變量的單位不一致且數值范圍相差較大,提前依據最大最小原則進行歸一化[16]。

式中 ξi,j?輸入變量i的第j個值
ξi,min?輸入變量i的最小值
ξi,max?輸入變量i的最大值
輸出層包含2 個神經元,分別對應軌跡點狀態。輸出層中某神經元輸出為1 時,代表農機在田間作業,輸出為?1 時代表農機在道路行駛。
隱含層神經元個數可由式(2)確定為8 個。

式中h?隱含層神經元個數
n1?輸入層神經元個數
n2?神經元個數
a?可變系數
輸入層和隱含層中,每個神經元的激活函數均采用tanh 函數

具體步驟:首先對各弱分類器設定一個初始權值,然后根據各弱分類器對特征集的誤差更新權值,誤差大的分類器權值提高,誤差小的分類器權值降低,循環多次后將最后得到的權值和對應的弱分類器組合起來,得到強分類器。BP_Adaboost 算法由n個BP 神經網絡組成,每個BP 神經網絡為一個弱分類器,n個BP 網絡組成一個強分類器,處理流程如圖4 所示。

圖4 基于 BP_Adaboost 模型的分類算法流程Fig. 4 Flow chart of classification algorithm based on BP_AdaBoost model
試驗采用50 臺農機2020 年10 月15?26 日的作業數據作為數據集。在農機上安裝北斗定位接收裝置,每5 s 采集一次作業點數據,總軌跡點數為5 196 782,通過無線發送至后端服務器。每個軌跡點包含農機作業點經緯度、車輛行駛速度等信息。試驗選用經緯度、速度、3 倍平均距離內近鄰點數量、軌跡點周圍20 個點距離及平均距離作為特征,利用BP_Adaboost 算法訓練模型,識別農機軌跡點狀態。由于道路行駛軌跡點和田間作業軌跡點交界處容易識別錯,且常將道路行駛軌跡點識別為田間作業軌跡點,因此將這部分點標記為道路行駛軌跡點標記并放入訓練樣本重新訓練,直至訓練樣本無新增。
(1)將采集的數據點做預處理,不計算停車散點和異常漂移點。
(2)標記田間作業軌跡點為1,道路行駛軌跡點為?1,選取每天軌跡點80%為訓練樣本,當日所有軌跡點為測試樣本。
(3)利用BP_Adaboost 訓練數據集,并對測試樣本進行運行狀態識別。
(4)將標記發生變化的軌跡點及前后n個軌跡點標記為?1,并將這n+1 個軌跡點放入訓練樣本中。
(5)重復步驟3、4,直至訓練樣本數量不發生變化。
根據上述試驗步驟對農機軌跡點狀態進行識別,其中一臺農機一天的軌跡點狀態識別效果如圖5 所示。

圖5 各方法識別效果Fig. 5 Identification effect of each method
圖5 中利用DBSCAN 對農機軌跡點進行聚類,核心點周圍點數為6,半徑為平均距離的3 倍。圖5a 左下角處由于道路中有往返行駛和轉向的區段,導致該處區域軌跡點密集被誤識為田間作業軌跡。利用單BP神經網絡訓練,錯誤率較高,多處道路行駛軌跡識別為田間作業軌跡。本文方法選20 個BP 神經網絡,利用BP_Adaboost 方法訓練,將標記發生改變的軌跡點及附近點標記為道路軌跡點,放入訓練樣本重新訓練,能夠解決部分道路軌跡往返和田間道路交界處識別錯誤的問題,但仍有部分區域識別錯誤。3 種方法對所有軌跡點進行狀態識別,準確率如表1 所示。

表1 各方法識別準確率Tab. 1 Recognition accuracy of each method
軌跡點特征中近鄰點數量記為ft_n,軌跡點標記變化點及前后選取點數記為fg_n。ft_n選取范圍3~18,fg_n選取范圍7~25,分別進行試驗,結果如圖6 所示。

圖6 ft_n 與fg_n 不同取值識別效果Fig. 6 Identification effect drawing of different values of ft_n and fg_n
試驗結果表明,總體趨勢上隨著軌跡點特征中選取近鄰點數量ft_n的增加,分類準確率也會提升,當ft_n超過7 后準確率反而開始下降。BP_Adaboost 進行測試時,隨著重新訓練的標記變化軌跡點前后數量fg_n的增加,分類準確率也會提升,當fg_n超過17 時,準確率反而下降。主要原因如下。
(1)農機田間作業軌跡點較聚集,道路行駛軌跡點一般是單行,比較離散。以軌跡點附近點的緊密程度作為特征訓練,當鄰近點數量ft_n增加時,樣本信息更豐富,訓練效果更好,當ft_n增加過多時,道路行駛點附近點數量也隨著增加,與田間作業軌跡點的差異性反而減小,進而導致分類準確率開始下降。
(2)BP- adaboost 對測試樣本進行識別時,錯誤多出現在行駛軌跡點標記發生變化的地方,道路行駛點被識別為田間作業軌跡點。將標記發生變化的軌跡點前后鄰近點標記為道路行駛點,放入訓練樣本中重新訓練,并再次對測試樣本進行分類,既可以豐富訓練樣本,也可以對容易分錯的軌跡點重點訓練。因此隨著反復訓練測試,分類準確率會有提升。當前后近鄰點數量fg_n增加時,訓練速度更快,樣本數量更多,準確率也相應提升。若fg_n過大,容易將田間作業軌跡點錯標為道路行駛軌跡點,增加的錯誤訓練樣本會影響訓練模型,進而影響識別準確度。在個別農機作業中,fg_n選取過大,甚至會使識別準確率降到70%以下。
農機運行軌跡狀態識別可以有效評估農機作業效率,本文選取農機軌跡點經緯度、速度、鄰近點關系等作為特征,利用BP_Adaboost 方法建立訓練模型對農機軌跡點進行識別。通過分析結果,將容易誤識的道路和田間交界處附近軌跡點標記為道路行駛軌跡,并添加到訓練樣本中重復訓練,直至訓練樣本不再增加。該方法識別準確率達到96.89%,有效區分田間作業軌跡和道路行駛軌跡后,可以對田間作業軌跡更好的按地塊劃分,進而評估每個地塊的作業效率。特別是一些按地塊補貼的農機作業,地塊的劃分和有效的作業質量評估,可使作業監管更加高效精準。雖然準確率較DBSCAN 聚類算法和單獨BP 神經網絡方法有提升,但特征中鄰近點數量和標記變化前后點數選取會影響結果,并且對樣本標記耗時耗力。因此尋找穩定的分類方法和減少標記工作量是今后研究的重點。