偉利國 馬若飛 周利明 隗立昂 劉陽春 趙 博
(1.中國農業機械化科學研究院集團有限公司,北京 100083; 2.農業裝備技術全國重點實驗室,北京 100083)
棉花作為我國主要大田經濟作物之一,其產業鏈長且涉及多個行業,在國民經濟發展中占據重要地位。2020年我國僅新疆維吾爾自治區皮棉總產量5.161×106t,占全球總量的20%以上。面對日益增長的棉花需求量,實施精準農業,是我國棉花增產增收發展的方向。作物產量監測是精準農業技術的重要組成部分,獲取棉花產量分布圖,可作為精準農業系統信息反饋,也可檢驗精準農業技術的實際實施效果,同時為下一季棉花生產精準控制提供原始數據信息。因此,開展棉花產量動態監測系統的研究,具有實際意義[1-3]。
美國從20世紀90年代末開始研究棉花的產量監測系統。最先由WILKERSON等[4]提出基于光線密度變化的產量檢測方法,用線性關系標定質量流量和傳感器輸出,決定系數0.93,在改進后由Ag Leader公司投向市場。SUI等[5]設計了反射式光電傳感器,降低了安裝難度,在密西西比州進行了3年田間實驗,檢測誤差率5%。MAILANDER等[6]對輸棉管道內壓差和不同含水率的棉花質量流量進行研究,并建立關系模型,實驗顯示測量誤差不大于13%。SANH[7]設計的質量流量計,可以實時檢測加工過程中棉花的質量,其由2個S形應變片組成,經過實驗驗證,其精度可以達到±5%。國外經過多年發展,現在已有較為成熟的棉花質量在線檢測系統,如凱斯(CASE)的精準農業系統(AFS),Ag Leader的PF3000以及Insight系統等,都有較好的表現[8]。
國內學者在棉花測產系統上也有一定的研究成果。何曉峰等[9]利用近紅外方法,提出擬合優度更好的雙指數數學擬合,決定系數R2達到0.99。安光輝[10]以五通道的光電傳感器為基礎,通過回歸分析,確定每個通道在回歸中的權重,臺架實驗絕對誤差平均值5.67%。周利明等[11]設計了一種差分結構的電容質量流量傳感器,建立含水率、質量流量和電容變化率的二元回歸模型,實驗驗證誤差5.16%。王歡[12]設計的光電點陣式測產傳感器,經過處理后建立流經傳感器的棉花團三維模型,換算得到產量,實驗結果相對誤差4.31%。目前檢測棉花質量流量的方法較多,但大多數方法在田間實驗時表現不佳,目前廣泛采用的檢測方法仍為光電對射法。隨著機器學習熱潮的到來,其在棉花測產上也有了一定的應用。任玲等[13]論證了應用神經網絡進行棉花質量建模的分析方法的可行性,并分析了神經網絡建模的過程。岑紅蕾等[14]在光電測產傳感器上,引入BP神經網絡標定質量流量和輻射量,實驗驗證相對誤差7.84%。林昌建等[15]基于現有的光電測產傳感器,引入廣義神經元網絡進行產量標定,并使用改進遺傳算法對網絡進行改進,實驗驗證平均誤差最小7.3%。檢測精度較傳統方法有所上升,說明該方法具有一定的研究潛力。
在訓練機器學習模型時,超參數的選擇對模型預測精度影響較大[16],若在沒有先驗經驗的情況下,能通過尋優算法,高效、準確得到模型超參數,將進一步提高模型檢測精確度以及減少模型運算成本。
本文在現有光電對射式測產傳感器的基礎上,對現有傳感器進行優化和改進,并在標定產量關系時,運用將麻雀優化算法和隨機森林回歸模型融合后的模型來檢測棉花產量。最終利用臺架實驗加以驗證,并對比未經優化的隨機森林回歸模型,分析建立最優模型。
如圖1所示,光電對射式測產傳感器檢測原理是利用棉花通過采棉機輸棉管道時,遮擋安裝在輸棉管道上的傳感器發射器發射的紅外輻射,接收器通過檢測輻射強度的變化,并在完成輻射強度和棉花質量之間的關系標定后,即可在線檢測采棉機作業時的棉花產量。

圖1 檢測原理示意圖
本傳感器通過檢測每個設定的單位時間內棉花產量,依次得到作業軌跡上各個小田塊內棉花產量,最后整合呈現整塊地的產量,檢測原理公式為
m=g(H1,H2,…,H6)
(1)
式中m——單位時間內檢測的棉花質量,g
Hi——單位時間內輻射強度變化向量
本文以中國農業機械化科學研究院集團有限公司機電技術應用研究所團隊研發的采棉機測產傳感器為基礎,針對其在實際作業中存在的問題進行優化改進。
現有的傳感器在獲取發射器準直光路時,均通過普通凸透鏡實現,這種方法需要將光源較為準確地放置在透鏡的焦點處,這對安裝和加工提出了較高的要求。通過查閱資料,全內反射(TIR)透鏡較普通凸透鏡有更好的聚光效果,安裝時不需人為手動尋找透鏡焦點,且形成的光斑也更加自然[17]。因此,本文用TIR透鏡替換凸透鏡,并在透鏡的安裝孔處進行了相應的修改。
周利明[18]調查發現,因脫葉劑噴灑等原因,造成傳感器發射器易被灰塵、葉片以及脫葉劑所形成的黏漿所遮擋,使傳感器不能正常工作。因此,本文在傳感器上,采用透鏡安裝孔內嵌的結構,使其不阻礙棉花通過傳感器。而特弗倫材料對防止黏漿粘黏有較好的表現[19]。故在透鏡外加裝一層特弗倫材質的防護層,保證傳感器檢測光路不被遮擋。
LED紅外發射管會隨著工作時間的增加而發熱,使發射管發射輻射強度發生變化[20],導致檢測結果出現偏差。因此,本文增加一路校驗通道,通過安裝在連接板上的隔板使該通道與其他檢測通道相隔,只檢測空載值。傳感器結構示意圖如圖2所示。

圖2 傳感器結構示意圖
因每個發射管均為同一型號且用相同的供電電源,故其因工作時間導致的溫度變化基本相同。所以只需將同一時刻的檢測通道的數據減去校驗通道的數據,即可修正因溫度改變輻射源強度而導致的檢測偏差,修正原理公式為
Lk=Wk-W0(k=1,2,…,5)
(2)
式中Lk——某時刻通道k補償后的輻射強度
Wk——某時刻通道k輸出的輻射強度
W0——某時刻校驗通道輸出的輻射強度
經過驗證得到使用940 nm紅外輻射源時,棉花品種、含水率對產量檢測結果影響較小,而證明年份、色澤對棉花的紅外光學特性沒有顯著影響[21]。因此,本文的紅外發射器選用臺灣億光公司生產的IR333-A型940 nm紅外發射管,其結構簡單,工作穩定。
環境光傳感芯片選用AMS公司的TSL2540環境光芯片,該芯片有可見光和紅外光2個感應通道,如圖3所示。可單獨打開紅外感應通道,可在一定程度上減小環境光對檢測精度的影響。該芯片通過IIC通信協議和下位機進行通信,向外輸出頻率為2 Hz,輸出的數據結構為高、低8位二進制數。

圖3 光感芯片特性
在安裝時會因連接板上發射器和接收器之間距離有級調節導致初始輻射值發生變化。因此,本文在發射器中加入電流控制模塊,通過接收上位機發送的指令,改變供給發射管的電流,而調節紅外發射器初始輻射強度,調節信號通過CAN通信協議發送至下位機。
使用STM32F103RCT6作為下位機,用于收集各檢測通道檢測結果和接收上位機指令信號,使用CAN通信協議。在向上位機發送數據時,因CAN 數據幀格式要求,需將每個采樣周期內的數據分兩次向上位機發送,傳感器工作原理如圖4所示。

圖4 傳感器工作原理框圖
實驗棉花樣本來源于2021年石河子市采收的新陸早80號,馬克隆值4.7,含水率約為7.3%。實驗臺架由風機、喂棉傳送帶、輸棉管道和集棉網組成。傳送帶選用2臺DGBL60型電動滾筒作為動力源,可實現無級調速;風機選用CF-2A型多翼式離心風機,轉速2 800 r/min,風量1 248~2 258 m3/h,全壓890~1 150 Pa。風機可以通過變頻器調節風速。棉花經過喂棉傳送帶進入喂棉口,通過風機的作用在輸棉管道內飄動,經過測產傳感器,最終被集棉網收集。實驗臺架示意圖如圖5所示。

圖5 實驗臺架示意圖
每次實驗前,用電子秤稱量一定量棉花,將其均勻平鋪在喂棉傳送帶上,平鋪寬度為250 mm,長度為1 000 mm。設置喂棉傳送帶傳送速度為0.2 m/s,設置風機工作頻率為30 Hz。啟動風機,等待上位機穩定顯示檢測數據后,啟動喂棉傳送帶,將其上的棉花經模擬輸棉管道上的喂棉口喂入,在風機作用下,流過光電對射式棉花產量檢測傳感器,最后被鐵絲阻攔網收集。進行多次實驗,每次實驗的風機變頻器頻率、喂棉傳送帶傳送速度、喂棉傳送帶棉花平鋪長度均不變,只定量增加輸棉傳送帶上的棉花質量。
總共進行200次實驗,實驗的棉花質量從125 g 開始,每次實驗增加125 g棉花,每個質量進行5次實驗。圖6、7分別為質量125、1 000 g時的4次實驗各通道的輻射強度變化圖,其中通道6為校驗通道。

圖6 質量125 g時的4次實驗各通道的輻射強度變化曲線
由圖6、7可以明顯看出,隨著喂棉質量的增加,每次實驗中各通道輻射強度的最大、最小值之差有明顯增加,且輻射強度變化曲線和空載值所圍成的面積也呈增加趨勢,因此,可以將實驗中每個通道輻射變化有效值的極差、方差、積分等參數作為代表實驗棉花質量的特征。
首先對所采集到的數據進行整合、進制轉換、空載值修正以及有效值提取等操作,得到有效數據。然后對有效數據提取特征,根據測產傳感器檢測原理和數據特征,綜合上文的分析,最終選擇每個通道的極差(R1,R2,R3,R4,R5)、方差(V1,V2,V3,V4,V5)和5個通道輻射強度的積分(C)作為數據集特征,以每次實驗棉花的喂入質量作為該條數據的標簽。
為增加數據集的抗干擾性,對現有數據集增加偽數據。將得到的200條數據,按照正態分布的方式,以每個數據本身為均值,對每條數據中的每個特征使用相同的種子生成5個隨機數據。擴展后,數據集總共有1 200條數據,并按照5∶1的比例劃分訓練集和驗證集,其中訓練集1 000條,驗證集200條。
前文所述原始傳感器和目前國內的采棉機測產系統普遍采用線性模型進行產量標定,但其抗干擾性和魯棒性較差,在面對田間復雜的工況有時會出現較大的誤差。
而隨機森林回歸模型有著較好降低泛化誤差和抗過擬合的性能[22],且在其它農作物測產中有實際應用[23]。因此本文嘗試使用該種模型進行產量標定,將前文所建立的訓練集數據分別進行線性擬合和隨機森林回歸(RFR)模型訓練,并用驗證集檢測模型效果。表1為2種模型在驗證集上前25個樣本的檢測結果和殘差。圖8為兩種模型的對角誤差圖。

表1 模型檢測值和殘差

圖8 兩種模型對角誤差
通過圖8和表1可以明顯看出,在驗證集上,RFR模型檢測的殘差值普遍小于線性模型的檢測結果,且在線性模型檢測結果在3 500 g附近時有較大誤差;RFR模型的預測值比線性模型得到的預測值更加靠近0誤差對角線,且隨著棉花質量的增大,線性模型的檢測值相距0誤差線的距離更遠,離散程度更高。綜合分析可能是棉花質量的增大,實驗中的干擾信息增加,線性模型不能很好地區分干擾和有效信息,而使檢測值誤差增大。兩種模型綜合評價指標如表2所示。

表2 模型檢測結果
綜上,本文選擇隨機森林回歸模型作為本傳感器的標定模型,并進行后續的研究。
文獻[24]指出隨機森林回歸模型中,決策樹數量和樹木深度對最終的預測精度有重要影響。但決策樹的個數和深度一般為默認參數設置或人為指定,有很強的主觀性,不能在應對不同的應用場景時合理改變。
麻雀優化算法(SSA)[25]是一種基于麻雀覓食和反覓食行為理論啟發式算法,使用該算法優化時,具有調整參數少,從開始就能快速收斂的特性。因此,本文采用SSA優化算法對RFR模型的樹木棵數和深度進行優化。
在一個麻雀種群中,分為發現者和追隨者兩組,發現者擁有較好的適應度,為整個種群尋找更好的覓食區域和方向,追隨者利用發現者尋找食物。且當負責警示的麻雀發現危險,即大于所設定的安全閾值,發現者將整個種群引向安全地帶。
在優化中,麻雀位置表示為
(3)
式中q——種群內麻雀個數
d——需要優化的維數
發現者位置更新式為
(4)


t——當前迭代次數
I——最大迭代次數
a——在(0,1)區間的隨機數
Q——正態分布隨機數
B——1×d矩陣,其中每個元素都是1
G——預警值V——安全閾值
當G 追隨者位置更新式為 (5) 警示者一般占整個種群的10%~20%,其位置更新式為 (6) β——服從N(0,1)分布的隨機值 K1——麻雀種群的移動方向,在[-1,1]內 ε——小值常數,防止分母為0 fi——第i只麻雀的適應度 fb——當前麻雀種群的全局最佳適應度 fw——當前麻雀種群的全局最差適應度 通過每一次迭代所計算得到的適應度函數,不斷改變麻雀種群中發現者和追隨者的位置,最終尋得最優參數。 本文通過應用麻雀優化算法對隨機森林回歸模型的樹木棵數和樹木深度進行優化,并選擇均方誤差為適應度函數 (7) 式中s——驗證集內數據數量 ms——實驗喂入的棉花質量,g 根據前文對麻雀優化算法的敘述,可以設計得到SSA-RFR工作的流程圖,如圖9所示。 圖9 SSA-RFR算法流程圖 在設置優化算法參數時,因麻雀優化算法有收斂速度快的特性,迭代次數取10;優化參數分別為隨機森林回歸的樹木棵數和樹木深度,其范圍(5,50)棵和(2,10)層;預警者比例按照常規取0.2,安全值取為0.6。 SSA進化收斂曲線如圖10所示。可以看到,通過10次尋優迭代,麻雀種群適應度有所下降,且在前5次已經達到最優。經過優化的參數選擇為50棵決策樹,深度為7層。 上述實驗可以看到,通過麻雀算法找到的最優超參數是在提前規定好的上下界范圍內的,有一定局限性。在保持數據集不變的情況下,對2個尋優參數控制變量,不斷改變其上界,使其在保證準確性的前提下,限制運算復雜程度,節省運算成本,選擇最優的參數。 在樹木深度不變的情況下,樹木棵數上限每次增加50棵,進行6次實驗,每次實驗的搜索時間成本和在驗證集的檢測準確率如圖11所示。 圖11 樹木棵數范圍對尋優影響 在樹木棵數不變的情況下,樹木深度上限每次增加5,進行6次實驗,每次實驗的搜索時間成本和驗證集的檢測準確率如圖12所示。 圖12 樹木深度對尋優影響 在保持樹木建模深度不變時,隨著樹木棵數上限的增加,最優樹木棵數和尋優時長都在增加,但真實值和檢測值的平均絕對百分比誤差在減小。在上限到達200棵以后,明顯看出運算成本繼續增加,但平均絕對百分比誤差幾乎不再減小,此時再增大搜索上限收益較低。當保持樹木棵數不變時,增加樹木深度上限,各評價參數只在一定范圍內波動,并無明顯變化趨勢,說明樹木深度的上限選為10層時即滿足最優。 經過上述分析得到,最終選擇樹棵數上限為250棵,深度上限為10層。最終優化參數為206棵決策樹,深度為10層,以此參數訓練后的隨機森林回歸模型,作為最終傳感器的標定模型。優化后對模型驗證,結果的決定系數R2為0.99,平均絕對誤差(MAE)為24.69 g,平均絕對百分比誤差(MAPE)為6.34%,準確率較隨機森林回歸原始模型有提高,且運算成本相差不大。尋優參數范圍優化前后的模型在相同驗證集上的表現如圖13所示。可以看出,參數優化后的模型的檢測值更加集中于y=x的0誤差線上,說明參數優化在一定程度上提升檢測準確性。 圖13 模型優化前后檢測值對比 為驗證本文所改進的傳感器及其模型檢測效果,進行采棉機臺架實驗驗證。實驗臺架仍采用前文所述的臺架,如圖14所示。 圖14 實驗臺架 臺架可以通過變頻器輸出改變輸棉管道內風機風速,通過控制電機改變喂棉速度。為進一步驗證模型檢測精確度,并模擬田間復雜的作業環境,本文通過重復驗證實驗和不同風機風速實驗來對傳感器檢測效果進行測試。 每種工況進行一組實驗,每組120次。各組實驗內的每次實驗棉花質量對應相同,棉花質量在實驗前0~5 500 g的范圍內隨機生成,在每次實驗前使用電子秤稱量所需質量的棉花。完成實驗和數據采集后,使用和2.3節相同的方法對數據進行預處理并提取數據特征,并標注每次實驗的真值。 為驗證改進后的傳感器和檢測模型的性能是否穩定,先在同訓練集相同的實驗條件下進行重復驗證實驗。 共進行2組實驗,設置喂棉速度為0.2 m/s,風機輸入頻率為30 Hz,按照提前確定的質量進行實驗。兩組實驗數據預處理后,將實驗數據輸入前文訓練好的模型后,輸出檢測結果。 計算2組實驗檢測值的相對誤差,并將結果按照每次實驗對應的喂棉質量從低到高進行排列后,得到相對誤差直方圖和相對誤差絕對值趨勢曲線,如圖15所示。在前25次實驗,喂入棉花質量小于1 250 g時,誤差大多數為負值,即檢測結果偏小,對于此現象,可能是由于傳感器的檢測通道之間存在間隔,較小的棉花喂入量使棉花可能從間隔處流經,沒有使輻射減弱,導致丟失產量信息。還可以看到隨著實驗棉花質量的增加,檢測值的相對誤差呈現減小趨勢,且最后穩定在5%附近,符合實際生產的應用。 圖15 檢測值相對誤差 對2組實驗檢測結果進行評價,2組實驗的平均絕對誤差(MAE)分別為24.08、22.24 g,平均絕對百分比誤差(MAPE)為6.52%和6.02%。實驗結果與驗證集數據結果基本吻合,說明該傳感器的性能穩定,可復現檢測結果。 為檢驗采棉機在田間工作時風機風速改變對檢測結果的影響,通過改變變頻器的輸出頻率而調節風機風速,3組實驗分別設置3種不同的變頻器輸出頻率為30、35、40 Hz,每次實驗的喂棉時間5 s保持不變。 不同風速下的檢測值殘差箱線圖如圖16所示。前2種風速下的檢測結果殘差中心線基本在0附近波動。但可以觀察出,隨著風速增加,檢測結果的殘差有向負值變化的趨勢,尤其是風機輸入頻率為40 Hz時,該現象更為明顯。對于該現象,可能是由于傳感器采樣頻率不高,但隨著風速增加,棉花經過測產傳感器時間變短,導致一些棉花信息漏采,而出現檢測值較真實值偏小的現象。 圖16 不同風速下檢測值殘差箱線圖 還可以看出,隨著風速增大,殘差的分布也越來越分散,且風速越大,殘差極大、極小值也越突出,但從誤差絕對值看,最大絕對誤差為96.58 g,基本符合檢測要求。 對3種風速下的檢測結果進行指標評價,結果如表3所示。在喂棉速度不變的情況下,風機輸入頻率為40 Hz時平均檢測誤差最大,為9.21%;3種風速下平均檢測誤差8.33%,檢測結果基本符合預期。 表3 不同風機風速下檢測結果 (1)對現有采棉機測產傳感器存在的問題進行優化,分別對其結構和封裝材料進行改進,并重新選型了光傳感器,增加可變電流控制模塊等。 (2)針對在檢測模型時不能很好地應對田間復雜環境的問題,本文嘗試隨機森林回歸模型,在分析其檢測表現后,提出麻雀算法優化的隨機森林回歸模型。最后通過驗證表明,該模型決定系數R2為0.99,在測試集的平均絕對百分比誤差(MAPE)為6.34%。 (3)臺架實驗表明,改進后的傳感器和檢測算法穩定性較好;且在不同風速下,最大誤差9.21%,平均誤差8.33%,檢測效果良好,說明改進后的傳感器和檢測方法能滿足采棉機田間作業時的監測要求。




3.3 優化模型訓練
3.4 參數調試



4 實驗驗證
4.1 臺架實驗

4.2 重復驗證實驗

4.3 不同風機風速下檢測實驗


5 結論