曾宏偉 雷軍波 陶建峰 劉成良
(上海交通大學機械系統(tǒng)與振動國家重點實驗室, 上海 200240)
智能農業(yè)裝備是未來農業(yè)機械發(fā)展的重要方向,先進的感知技術是實現(xiàn)農業(yè)裝備智能化的基礎[1]。在收獲機械中,農田中作物產量分布信息的準確獲取能夠為農田精細化管理提供決策依據(jù),具有重要意義[2]。因此,高精度的測產系統(tǒng)是提高收獲機械智能化水平的關鍵技術之一,能夠在未來農業(yè)智能化生產作業(yè)中發(fā)揮重要作用。
谷物產量測量傳感器是谷物測產系統(tǒng)中最重要的組成部分。按測量原理分類,谷物測產傳感器主要包括質量流式和體積流式2類[3-4]。質量流式傳感器直接測量單位時間內進入糧倉的谷物質量,常見的有沖量式[5-8]、稱量式[9-10]和輻射式[11-12]。其中,沖量式傳感器由于結構簡單、成本低、安裝方便而得到廣泛應用,但其校準過程繁瑣,且精度易受機器振動、車輛傾角等影響,在真實田間環(huán)境下測量精度不穩(wěn)定。稱量式傳感器結構較為復雜,且易受到機身振動和谷物流量變化引起的沖擊干擾。輻射式傳感器通過測量伽馬射線或X射線的衰減系數(shù)獲得谷物的質量流,具有較高精度,但由于具有放射性,易對人體造成傷害,其發(fā)展和應用受阻。
體積流式傳感器通過測量谷物的體積流量,間接獲得谷物的質量流量。目前較普遍的方法是采用光電傳感器測量谷物的體積,包括對射式和反射式等。此類方法均需提前抽象出谷堆的幾何形狀,然后通過測量谷堆的厚度再計算出體積流量[13-15]。然而,由于收獲機作業(yè)過程中升運器內部會存在較嚴重的谷物掉落,此類通過光路通斷測量刮板上谷物厚度的方法均存在誤觸發(fā)問題,且谷物的掉落具有隨機性,誤差難以矯正和消除。
相比于紅外光電傳感器,視覺信息更為豐富,被逐漸用于收獲機的產量測量中[16-19]。ZHAO等[17]基于水稻穗部二維圖像構建了水稻產量快速預測模型,該方法能夠初步估計水稻的田間產量,但前提是假設稻田中麥穗長勢是均勻的,且無法獲得區(qū)域產量分布信息。尹文慶等[18]在實驗室采用普通滑槽作為輸送器,利用線結構光視覺測量流經滑槽的谷粒截面輪廓,采用梯形微元求和法計算谷物的體積流量。楊剛等[19]基于線結構光三維視覺測量技術開展了谷物測產系統(tǒng)研究,事先將刮板上谷堆形貌近似簡化成規(guī)則的幾何模型,然后通過結構光視覺測量技術得到谷堆的厚度,進而計算出谷物的體積流量。然而,在構建刮板上谷堆幾何模型時,谷堆上表面被近似為一個平面,而實際上升運器運動過程中谷堆上表面并非嚴格的平面,這給谷物體積流量的測量帶來了誤差。
視覺測量是機器視覺最廣泛的應用之一,常用于物體的三維重構以及尺寸檢測等[20-21]。根據(jù)攝像頭數(shù)量不同,視覺測量又分為單目視覺測量和雙目視覺測量。單目視覺測量方法快速、簡單,但應用場景受限,需滿足一定條件才能保證準確度。雙目視覺通過圖像變換和特征匹配獲取圖像的深度信息,適用范圍廣、精度較高,但計算過程復雜、耗時長。在聯(lián)合收獲機中,升運器轉速較高,要求圖像處理算法具有高時效性。此外,升運器內部圖像較為單一,單目視覺測量精度能夠得以保證。
基于上述分析,為減小刮板上谷堆形貌近似過程中造成的誤差,更加準確地反映谷堆的真實幾何形貌,本文提出一種基于單目視覺的谷物體積流量測量方法。首先通過工業(yè)相機獲取升運器內刮板和谷堆的側面圖像,采用鄰域微分法提取谷堆圖像區(qū)域,再利用Otsu法對圖像進行分割并得到谷堆側面的像素面積,然后通過相機成像模型得到谷堆在世界坐標系中的真實側面積,最后通過體積模型計算得出谷物的體積流量,進而獲得谷物產量。
谷物聯(lián)合收獲機作業(yè)過程中,作物從田間收割到進入糧倉需要進行脫粒、清選、輸送等一系列工序。谷物產量的測量通常在將谷物輸送糧倉的裝置中進行。目前,糧倉內廣泛采用的輸送裝置主要包括刮板式運輸器、螺旋式運輸器和拋揚器等。本文針對刮板式輸送裝置,開展了谷物體積流式測產研究。首先建立刮板上谷堆體積計量模型,然后利用機器視覺和圖像處理技術獲取刮板谷堆的截面積,再結合建立的谷堆體積模型計算出每個刮板上的谷堆體積,最終得到谷物體積流量以及產量。
刮板式升運器內部構造如圖1所示,其由鏈輪、套筒鏈條以及刮板組成。橡膠刮板安裝在鏈條上隨鏈條一起轉動,將谷物從升運器底部運送到上端,然后拋撒至糧倉中。通過測量單個刮板上的谷物體積,即可獲得升運器內谷物的體積流量,再根據(jù)谷物的容重就能求得谷物質量流量,收獲機的總產量即為每次經過刮板上的谷物質量累加和。由此可見,刮板上谷堆體積模型的準確度直接決定了最終產量的測量精度。
在文獻[13-14,19]中,通常將谷堆的形狀近似為一個棱柱,假設谷堆的上表面為一個平面,然后通過測量谷堆側面某一位置的厚度對谷堆的體積進行計算。然而在實際作業(yè)過程中,刮板谷堆上表面并非標準的平面。由于升運器運轉過程中存在振動,谷物會從刮板四周的間隙掉落,使得谷堆上表面成為一個中間高、四周低的曲面,如圖2a所示。為更準確地描繪谷堆形貌、提高測產精度,建立如圖2b所示的谷堆幾何模型,忽略刮板谷堆短邊兩側的塌陷,近似為一個以側面進行拉伸的幾何體。
在圖2b中,l、c、d分別為刮板長度、寬度和厚度,a、b、h分別是鏈條所占的區(qū)域長、寬和高,在同型號的收獲機上均為常量。記Vgrain為谷堆實際體積,Vtotal表示包含刮板在內的規(guī)則幾何體的體積,Vscrapper為刮板體積,Vchain代表鏈條所占的體積,則谷堆體積Vgrain計算式為
Vgrain=Vtotal-Vscrapper-Vchain
(1)
其中
Vscrapper=lcd
(2)
假設谷堆和刮板的截面面積為S,規(guī)則幾何體的體積Vtotal計算式為
Vtotal=lS
(3)
為簡化計算,鏈條所占的體積Vchain通過將其近似為長方體進行計算,即
Vchain=ab(d+h)
(4)
綜合式(1)~(4),則實際體積Vgrain可以表示為
Vgrain=l(S-dc)-ab(d+h)
(5)
可以看出,式(5)中只存在2個變量:S和h。利用機器視覺技術測量S和h,并提前標定待收割谷物的容重γ,則單個刮板上的谷物質量mi為
mi=γVgrain
(6)
將經過的n個刮板上谷物質量相加,即可得到收獲的谷物總質量M為
(7)
在聯(lián)合收獲機中,糧倉升運器內部鏈輪轉速最高可達500 r/min以上,此時相鄰刮板經過相同位置的時間差約50 ms。換而言之,單個刮板上谷物質量的測量和計算要在50 ms內完成,在部分收獲機中鏈輪轉速更高,這對圖像處理算法的速度提出了較高的要求。同時,在谷物流量測量中相機與被測物體相對位置是固定的,且距離較近,在此條件下,單目視覺測量的精度得到了保證。綜上考慮,本文采用單目相機拍攝刮板上谷堆側面圖像,進行谷堆的側面積測量。
單目相機尺寸測量原理主要是相機的成像模型[22],本文主要測量圖像中谷堆的尺寸信息,不需要測量谷堆相對世界坐標系的具體位置,因此無需考慮世界坐標系,相機成像示意圖如圖3所示。
在圖3中,OCXCYCZC為相機坐標系,XOY為圖像坐標系,UO′V為像素坐標系,OCZC為相機的光軸,f為鏡頭焦距。對于相機坐標系中的點P(x,y,z),其通過透鏡成像后在像素坐標系的坐標記為P′(u,v),像點P′和物點P之間的變換關系可表示為
(8)
式中fx、fy——水平、豎直方向的像素焦距
u0、v0——主點水平、豎直方向的像素偏移量
當物平面與像平面平行時,z為固定值,物平面內兩點間的實際距離和其在像平面內的像素距離成比例,可表示為
(9)
式中 Δx、Δy——水平、豎直方向的實際距離
Δu、Δv——水平、豎直方向的像素距離
根據(jù)式(9)可知,當被測平面與相機平行時,可以通過標定獲得物體實際尺寸與像素尺寸比例,從而實現(xiàn)單目相機的尺寸測量。在本文所提方法中,相機平行于升運器外殼安裝在升運器側面。在整個測量過程中,相機位置固定不動,其與刮板側面為固定值。因此,根據(jù)上述原理可以測量出刮板谷堆側面的面積。需要注意的是,安裝會存在誤差,理論上很難保證相機與刮板的側面嚴格平行,但相機與刮板實際距離較小,輕微角度偏差對測量結果影響較小。
在升運器高速運轉的情況下,圖像處理的時效性顯得至關重要。為減少算法處理的數(shù)據(jù)量,提高計算速度,采用灰度相機進行升運器內部刮板上谷堆圖像的采集。在正式采集圖像前,需對相機進行標定以獲取相機內部參數(shù),然后采用一系列圖像處理方法得到谷堆的側面積,最終利用谷堆體積模型計算出谷物的體積流量。
根據(jù)相機成像模型可知,當從二維圖像中獲取三維信息時,需要先獲取相機的內部參數(shù),求解相機內部參數(shù)的過程即為相機的標定。同時,由于透鏡不可避免地存在制造和裝配誤差,會使圖像產生橫向畸變和切向畸變,給測量帶來誤差。圖像的畸變可通過相機標定獲取畸變參數(shù)然后對原圖像進行去畸變處理來矯正消除。本文采用ZHANG[23]提出的平面棋盤格法進行相機標定,從不同角度采集了20幅平面棋盤格靶標圖像進行標定。標定結果如表1所示,包括相機內部參數(shù)以及畸變參數(shù)。
表1 相機標定結果Tab.1 Result of camera calibration
灰度相機在減少數(shù)據(jù)量的同時也減少了圖像所包含的信息,如何從灰度圖像中正確分離出谷堆區(qū)域成為單目視覺谷物流量測量的關鍵。在相機拍攝的圖像中,除了谷堆和刮板,還會出現(xiàn)鏈條、升運器內壁等背景,且部分背景的灰度和谷堆的灰度極其相近。如果直接對圖像進行二值化處理,很難將背景和谷堆區(qū)分開來。圖4a所示為升運器在240 r/min轉速下相機采集的圖像,對其直接進行二值化處理的結果如圖4b所示。
從圖4中看出,直接將刮板圖像二值化后無法分辨出谷堆和背景,難以準確計算谷堆的側面積。仔細觀察圖4a可以發(fā)現(xiàn),在空間分布上,谷堆是一個完整的連通區(qū)域,總體上近似為一個梯形。因此,將圖像中灰度按行累加,結果如圖5所示,圖中綠色實線為灰度按行累加后的趨勢曲線。為方便觀察,各行的灰度累加值已進行等比縮小處理。
從圖5中可以看出,在谷堆與背景的分界處灰度累加曲線有明顯的階躍,這是因為在輔助光源的照射下,背景區(qū)域整體偏白色,而谷堆區(qū)域呈黑色。由于谷物水平堆積在刮板上,將圖像灰度按行累加后,谷堆區(qū)域所在行的灰度總值明顯低于背景區(qū)域。據(jù)此,可以分析灰度累加曲線的梯度變化來確定谷堆的真實區(qū)域。
傳統(tǒng)方法通常采用一階后向差分計算一維離散曲線的梯度變化,但容易受噪聲干擾。為減少圖像中正掉落谷物等噪聲的影響,準確提取出谷堆實際區(qū)域作為圖像處理的感興趣區(qū)域 (Region of interest, ROI),基于鄰域均值的差分算法[24]計算灰度累加曲線的梯度。對于離散數(shù)列中第i個數(shù)據(jù)點xi,其梯度dxi為目標點左側相鄰L個數(shù)據(jù)點的均值與右側相鄰L個數(shù)據(jù)點均值的差值,計算公式為
(10)
式中N——離散數(shù)列長度
L——鄰域長度
相比于一階差分算法,該方法考慮了目標像素行兩側相鄰區(qū)域的灰度情況,能夠有效過濾高頻噪聲。取L=12,對圖5中灰度累加曲線進行鄰域均值差分計算,結果如圖6所示。
由圖6可以看出,鄰域均值差分曲線較平滑。由于升運器安裝時存在傾角,谷堆上表面通常與刮板不平行,在尋找谷堆上邊界時應定位谷堆表面的最高位置處,以包含整個谷堆區(qū)域。而如果直接選擇灰度下降最大的位置作為谷堆區(qū)域上界,通常會定位為谷堆表面的最低處。觀察圖5可以發(fā)現(xiàn),從谷堆表面的最高點開始,圖像中每一行小麥占的比重逐漸增加,累計灰度逐漸減小。因此,可以選擇鄰域微分值從正變?yōu)樨摰牧泓c處作為谷堆上邊界。由于存在谷物掉落,鄰域差分曲線中會存在多處滿足要求的零點,但自谷堆上表面最高點往下,每一行灰度之和會逐漸減小,灰度均值差分值會在較大范圍內保持為負值。因此,可以選擇鄰域均值差分曲線中最長連續(xù)負區(qū)間中的左端點作為ROI上邊界,如圖6中圓圈位置。對于谷堆區(qū)域下邊界,圖像從暗變亮,灰度通常會增加,因此選擇上邊界之后序列中鄰域均值微分最大點作為下邊界點,如圖6中三角形所在位置。綜上所述,提取圖像中谷堆區(qū)域的算法流程為:①對圖像的灰度值按行累加,獲得灰度累加曲線。②對灰度累加曲線進行鄰域均值差分計算。③尋找鄰域均值差分序列中最長連續(xù)負區(qū)間,選擇該區(qū)間左端點作為ROI區(qū)域上邊界。④從上邊界點往后搜索鄰域均值差分最大值,選擇其位置作為區(qū)域下邊界。
對于圖4所示圖像,通過上述算法提取的谷堆區(qū)域如圖7所示,其完整地包含了谷堆和刮板。
在準確獲取刮板和谷堆的區(qū)域后,可直接對提取的ROI進行二值化處理,將圖像中深色的谷堆從淺色背景中分割出來。Otsu法是最常用的二值化方法之一,其利用最大類間方差自動確定最佳閾值,對于前景和背景區(qū)別較大的圖像具有良好的分割效果。本文采用Otsu法對ROI圖像二值化,結果如圖8a所示。
從圖8a中可以看出,Otsu法分割效果良好,能準確地分割出谷堆和刮板。然而,掉落的谷粒也被劃分為前景,而谷堆中部分過曝的區(qū)域成為封閉的孔洞。為此采用floodfill算法對二值圖進行處理,消除二值圖中掉落的谷粒和谷堆內過曝光區(qū)域,結果如圖8b所示。為展示上述算法提取的谷堆區(qū)域的準確性,將圖8b中谷堆邊界繪制在原始圖像中,如圖9所示。可以看出,通過上述算法最終分割得到的谷堆區(qū)域與真實的谷堆高度吻合,準確地勾勒出了谷堆的邊界,為后續(xù)谷物體積的高精度計算奠定了基礎。
通過相機標定,得到了相機內部參數(shù)fx、fy。同時,利用圖像處理方法精確地提取了谷堆圖像區(qū)域。結合式(9),則谷堆真實截面積為
(11)
式中Q——谷堆二值圖前景像素總數(shù)
Dz——相機與刮板側面的距離
取谷堆第1列高度作為鏈輪占據(jù)的高度,其計算公式為
(12)
式中C1——谷堆二值圖中第1列像素數(shù)
由式(5)~(7)即可獲得谷物產量。
為采集升運器內部刮板及谷堆圖像,搭建了如圖10所示的谷物測產系統(tǒng),其主要包括工業(yè)相機、 輔助光源、接近開關、圖像處理設備以及CAN通信模塊等。工業(yè)相機用于采集刮板上谷堆原始圖像,接近開關則作為工業(yè)相機采集圖像的外部觸發(fā)源。當接近開關檢測到刮板經過時,觸發(fā)工業(yè)相機采集當前刮板圖像。由于升運器是封閉的,需要安裝輔助光源提供必要的光線,保證成像質量。采集的圖像在圖像處理設備中處理和分析,得到當前刮板上谷堆的側面積,然后根據(jù)體積模型計算谷堆質量。由于處理設備本身沒有CAN控制器和收發(fā)器,因此測得的傳感信息通過USB轉CAN模塊發(fā)送到收獲機CAN總線上,最終在車載終端上顯示和保存。
工業(yè)相機型號為大恒MER-131-210U3M,采用CMOS 傳感器,分辨率為1 280像素×1 024像素,幀率為210 f/s,使用USB 3.0接口,可外觸發(fā)采集。考慮到工業(yè)相機的視角,為保證相機能夠拍攝到完整的刮板谷堆圖像,經調整發(fā)現(xiàn)鏡頭與刮板距離為45 cm時拍攝效果最佳。測量過程中,由于刮板快速運動,曝光時間過長會導致圖像模糊和產生拖影。因此,在增大進光量保證圖像亮度的基礎上,應當盡量縮短曝光時間。
工業(yè)相機采用硬件觸發(fā)模式,當刮板經過時接近開關觸發(fā)相機采集圖像,這保證了每個刮板上的谷堆均能被檢測到,且不受升運器轉速影響。由于刮板通過金屬壓片和鏈條固定,采用電感式接近開關檢測刮板位置,能夠有效避免掉落的谷物或者秸稈等非金屬物體誤觸發(fā)相機拍攝。接近開關型號為中滬電氣LM18-3020系列,檢測距離為20 mm,響應頻率為0.5 kHz。為便于調整接近開關安裝位置,固定支架設計成可調節(jié)式結構。
圖像處理設備采用英特爾微型計算機,型號為NUC7i5BNK,處理器為i5-7260U,主頻3.4 GHz,內存8 GB。該設備接口豐富,擁有4個USB 3.0接口和2個USB 2.0接口,能夠給外接相機模塊、CAN模塊以及相關器件供電。
參考雷沃谷神GK100型稻麥聯(lián)合收獲機糧倉內糧食運送裝置,搭建了室內谷物測產試驗臺,升運器采用刮板式結構,利用伺服電機驅動。整體組成如圖11所示,主要包括下料斗、導料槽、伺服電機、水平螺旋輸送器、升運器以及出料口等部分。
谷物裝在下料斗內,調整下料斗底板開口尺寸可以控制谷物喂入速度,谷物在重力作用下通過導料槽滑落至底部水平螺旋輸送器,螺旋輸送器在伺服電機的驅動下將谷物輸送到升運器的底端。通過鏈條帶動刮板將谷物從底端運送到頂部,然后從出料口排出。伺服電機下位機控制器采用STM32控制板,通過PWM波調速。上位機采用Intel NCU微型計算機,通過串口向下位機發(fā)送電機控制信號。在升運器中部,開有谷物流量傳感器安裝槽,用于安裝工業(yè)相機模組、接近開關以及輔助光源。接近開關和工業(yè)相機安裝在兩側,正面視窗用于安裝輔助光源。
在刮板谷堆計量模型中,谷堆幾何形狀的理論模型與實際情況會存在差異,給測量帶來誤差。在運動過程中,由于機器振動,不同轉速下谷堆的容重、谷物的掉落程度也會存在差異。此外,由于工業(yè)相機使用逐行曝光,拍攝運行中的物體時圖像會沿運動方向拉長畸變,運動速度越快圖像拉伸越嚴重。上述誤差因素均和升運器轉速有關,且屬于系統(tǒng)誤差。因此,可以通過試驗標定的方法對其進行減小或消除。
由于升運器轉速是影響系統(tǒng)誤差的重要因素,開展了不同轉速下的測產試驗,轉速范圍為100~600 r/min。同一轉速下進行多次試驗,將測量值和實際值對比,通過線性擬合對測量值進行修正。最終得谷物產量測量的修正模型為
Md=(0.002 5ns+0.63)M
(13)
式中ns——升運器轉速,r/min
Md——修正后的測量結果,kg
為驗證所提方法有效性,在室內試驗臺上開展了測產驗證試驗,試驗現(xiàn)場如圖12所示。試驗流程為:將谷物裝入下料斗,啟動試驗臺,運行測產程序,然后逐漸打開下料斗開口,使用容器接住出料口谷物,待出口無谷物排出時,停止試驗臺,單次測產試驗結束。需要注意的是,谷物測產系統(tǒng)測量的是經過升運器的谷物質量,而電子秤測量的是經出口排出的谷物,電子秤測量值相對于谷物測產系統(tǒng)會存在一定時間遲滯。因此,應將單次試驗結束后出口谷物質量作為產量測量的標準值。
在實際收獲過程中,為防谷物堵塞運糧通道,升運器轉速通常較高,不低于100 r/min。同時,考慮到不同喂入量的收獲機升運器轉速存在差異,為驗證所提方法在不同工況下的測量精度,選取了120、180、240、360 r/min 4個不同的轉速工況進行了測產試驗。在每個工況下,重復進行3組試驗。測量對象為小麥,容重約為0.85 g/cm3。試驗結果如表2所示。
表2 測產試驗結果Tab.2 Experimental result of grain yield monitoring
由表2可知,在試驗臺測試中,測產系統(tǒng)測得的谷物質量與實際值十分接近,總體誤差為-4.08%~3.41%,具有較高的測量精度,能夠滿足聯(lián)合收獲機的實際測產需求。通過標定和修正后,所提方法在不同轉速工況下都能取得良好的檢測效果,具有較好的適應性。
在升運器運轉過程中,機身不可避免地存在振動,會對圖像采集效果造成影響。這是因為,當物體和相機之間存在相對運動時,在單次曝光時間內,感光元件中特定像素視場范圍內所對應的目標偏離原始位置,對其相鄰像素曝光,導致圖像模糊。因此,在采集圖像時,縮短曝光時間能夠減小振動對圖像品質的影響。同時,也可采用銳化等處理方法對圖像進行處理,提高圖像品質。此外,振動也會使得谷物的實際容重小于靜置狀態(tài)下的容重,并加劇谷物從刮板四周縫隙處掉落。但由于升運器工作過程中通常保持相對恒定的轉速,這類誤差可以通過開展標定試驗,對測量結果進行修正來消除。
(1)為減小傳統(tǒng)刮板谷堆體積模型的近似誤差,提高谷物產量測量精度,設計了一套基于單目視覺的谷物聯(lián)合收獲機測產系統(tǒng)。
(2)提出了一種測量谷堆體積的圖像處理方法。采用鄰域微分算法提取谷堆圖像區(qū)域,對谷堆區(qū)域圖像利用Otsu法進行二值化,并使用形態(tài)學處理精確地將谷堆截面與背景分割。利用標定的相機模型,根據(jù)圖像像素面積計算出谷堆實際側面積。通過谷堆體積模型計算得出刮板上谷堆的體積。
(3)通過對測產模型進行試驗標定,減小了系統(tǒng)誤差。利用標定后的測量模型開展的驗證試驗結果表明,所提方法能夠準確測量谷物產量。在不同的升運器轉速工況下,測量相對誤差介于-4.08%~3.41%之間,能夠滿足聯(lián)合收獲機產量測量精度要求。