王偉,李修華*,2,史紅栩,李民贊,溫標(biāo)堂
(1.廣西大學(xué) 電氣工程學(xué)院,廣西 南寧 530004;2.廣西甘蔗生物學(xué)重點實驗室,廣西 南寧 530004;3.中國農(nóng)業(yè)大學(xué) 現(xiàn)代精細(xì)農(nóng)業(yè)系統(tǒng)集成研究教育部重點實驗室,北京 100083;4.廣西捷佳潤科技有限公司,廣西 南寧 530001)
廣西是我國重要的香蕉主產(chǎn)地,目前廣西香蕉種植面積和鮮果產(chǎn)量均位居全國第二位,香蕉產(chǎn)量約占全國總產(chǎn)量的22.0 %[1]。成年香蕉植株由根球莖、假莖、葉、果穗等組成,香蕉植株假莖的莖寬是評價香蕉植株健康和預(yù)測香蕉產(chǎn)量的一項重要指標(biāo)[2]。準(zhǔn)確快速地獲取香蕉的莖寬對評價香蕉長勢、科學(xué)指導(dǎo)田間管理具有重要意義。
雙目視覺技術(shù)從20世紀(jì)90年代開始逐漸應(yīng)用到農(nóng)業(yè)領(lǐng)域,尤其是在果實采摘、輔助導(dǎo)航等方面。LING等[3]研制出一種基于雙目視覺傳感器的雙臂協(xié)作番茄收獲機(jī)器人。GE等[4]提出了一種基于雙目立體視覺和高斯混合模型的自然環(huán)境中西蘭花幼苗識別方法。XIONG等[5]組裝了一組微型雙目照相機(jī)和一個獨立設(shè)計的光譜儀,實現(xiàn)了自動測量光譜儀到小麥冠層的距離。WANG等[6]利用雙目電荷耦合器件(charge coupled device, CCD)彩色相機(jī)獲取的荔枝彩色圖像提出了一種識別和匹配成熟的荔枝果實的方法。JI等[7]針對收割機(jī)器人機(jī)械手采摘過程中蘋果分支障礙物定位的問題,為獲取蘋果分支障礙物的三維信息,提出了蘋果分支障礙物的雙目立體視覺定位方法。羅陸鋒等[8-9]提出了一種基于雙目立體視覺的葡萄采摘防碰空間包圍體求解與定位的方法。陳燕等[10]利用雙目相機(jī)獲取荔枝串的空間位置信息,實現(xiàn)采摘機(jī)器人對荔枝串的精準(zhǔn)定位。沈曉晨等[11]基于雙目立體視覺對棉株上的成熟棉花進(jìn)行三維空間上的識別定位是可行的。何東健等[12]設(shè)計了一種基于雙目視覺的自動菠蘿采收機(jī)。
目前雙目視覺傳感器的成本非常低廉,硬件技術(shù)穩(wěn)定成熟,香蕉植株高大、假莖莖干直徑較大,很適合結(jié)合雙目視覺技術(shù)來進(jìn)行高效低成本的自動測量。因此,本研究采用低成本雙目視覺傳感器對香蕉假莖進(jìn)行RGB圖像的獲取,并通過級聯(lián)分類器對視差圖中的香蕉植株假莖進(jìn)行識別,從而實現(xiàn)香蕉植株假莖的自動檢測。
香蕉假莖雙目圖像的采集地點位于廣西扶綏縣的廣西大學(xué)亞熱帶農(nóng)科新城內(nèi)的一處香蕉種植園。實驗日期為2019年6月23日和6月27日,香蕉正處于孕蕾期。實驗設(shè)備主要包括雙目相機(jī)(LenaCV雙目視覺相機(jī),武漢萊娜機(jī)器視覺科技有限公司)、移動簡易平臺及Lenovo 80WB筆記本電腦(Intel-i5CPU、8GB內(nèi)存、NVIDIA GeForce GTX 10500顯卡)。
實驗隨機(jī)選取了100株香蕉植株進(jìn)行不同距離下的雙目圖像獲取,拍攝時間為8:00 am到6:00 pm,天氣狀況包含陰、多云、晴朗。拍攝時,傳感器被固定放置在一可移動平臺上,并通過USB口與筆記本電腦相連來獲取及存儲圖像。傳感器在拍攝時保持光軸水平,拍攝高度為垂直距離地面1.0 m處,對每株香蕉植株均選取了4個不同的距離(0.9、1.2、1.6、1.9 m)來采集圖像,共得到400對視差圖。另外,通過數(shù)顯游標(biāo)卡尺對每株被測香蕉假莖1.0 m高度處的莖寬進(jìn)行了手動測量。實驗場景如圖1所示,雙目相機(jī)拍攝香蕉植株假莖的左右圖像如圖2所示。
圖1 實驗場景示意圖
(a)左視圖
1.2.1 雙目視覺原理
本文的測距原理基于平行雙目視覺模型,其示意圖如圖3所示。圖3為光心所在的平面,Cl和Cr分別為左右相機(jī)的光心且相距為B,焦距為f;P點為需要測量的目標(biāo)點;Pl和Pr是P點在左右圖像上的成像點,其在圖像上的坐標(biāo)分別用(Xl,Yl)、(Xr,Yr)表示。通過三角形PlPrP和三角形ClCrP相似的原理可以得到P點與攝像機(jī)之間的距離Z的值[13]。
圖3 平行雙目視覺原理圖
(1)
根據(jù)小孔成像原理,當(dāng)攝像機(jī)坐標(biāo)系與實際坐標(biāo)系相重合時,有
(2)
(3)
通過式(1)至式(3)就可確定P點的三維坐標(biāo)。本研究采用的LenaCV雙目視覺相機(jī)的中心距B為100 mm。
1.2.2 視差圖的生成
1)需要進(jìn)一步增加農(nóng)民收入,將休閑農(nóng)業(yè)發(fā)展成鄉(xiāng)村旅游,從而促使鄉(xiāng)村文化產(chǎn)業(yè)形成一個相對成熟的產(chǎn)業(yè)鏈。促使農(nóng)村經(jīng)濟(jì)發(fā)展速度加快,為農(nóng)民增加就業(yè)渠道,將農(nóng)村閑散的勞動力進(jìn)行聚集,從而有效提高經(jīng)濟(jì)效益。當(dāng)下,不同地區(qū)的農(nóng)業(yè)生產(chǎn)園均按照“產(chǎn)加銷、游購?qiáng)省钡男问桨l(fā)展,創(chuàng)立科技種植、生態(tài)養(yǎng)殖、農(nóng)產(chǎn)品加工銷售、田園旅游觀光餐飲服務(wù)為一體的旅游形式,促使整個農(nóng)村經(jīng)濟(jì)文化得到發(fā)展,提高農(nóng)民經(jīng)濟(jì)收入,為農(nóng)民增加更多的就業(yè)機(jī)會。
要計算香蕉假莖寬度,必須先匹配得到對象的視差圖。視差圖的生成主要包括雙目標(biāo)定、立體校正、立體匹配這三個步驟。
① 雙目標(biāo)定采用了基于MATLAB工具箱的標(biāo)定方法[14]。首先需要通過自制標(biāo)定板、圖像采集、配置MATLAB標(biāo)定箱、單目標(biāo)定等步驟分別得到左右兩個相機(jī)的內(nèi)部參數(shù)(焦距、圖像中心、畸變系數(shù)等),然后再利用其標(biāo)定結(jié)果對兩個相機(jī)同時進(jìn)行雙目標(biāo)定,得到雙目相機(jī)的外部參數(shù)(旋轉(zhuǎn)矩陣和平移矩陣),最后將得到的標(biāo)定參數(shù)導(dǎo)入到OpenCV中供后續(xù)使用。
② 立體校正的目的是把實際中非共面行對準(zhǔn)的兩幅圖像校正成共面行對準(zhǔn),將實際的雙目系統(tǒng)校正為理想的雙目系統(tǒng),從而降低立體匹配的復(fù)雜度,提高立體匹配的準(zhǔn)確度[15]。本文采用了OpenCV平臺的stereoRectify()函數(shù)進(jìn)行立體校正得到旋轉(zhuǎn)矩陣R、投影矩陣P及重投影矩陣Q,再使用initUndistortRectifyMap()函數(shù)得出校準(zhǔn)映射參數(shù),最后使用remap()來校準(zhǔn)輸入的左右圖像[16]。
③ 采用雙目視覺的核心就是匹配出兩臺相機(jī)拍攝的兩幅圖片中的同一特征點,立體匹配的過程就好比人的兩個眼睛對物體進(jìn)行觀察,在視網(wǎng)膜形成物體空間信息的過程。利用拍攝的兩幅二維圖像,找到兩幅圖像的對應(yīng)像素點,進(jìn)而較為準(zhǔn)確推斷出這點的三維坐標(biāo),這就是立體匹配的過程[17]。本文采用了BM(Berlekamp_Massey)立體匹配算法實現(xiàn)立體匹配,該方法常用來計算局部范圍內(nèi)的視差值,計算復(fù)雜程度低,運(yùn)行速度快[18]。匹配得到的視差圖將以像素點與相機(jī)的遠(yuǎn)近為尺度進(jìn)行彩色顯示,即視差圖中的相同顏色代表距離相機(jī)的距離近似。
將400幅視差圖樣本隨機(jī)分為訓(xùn)練集與測試集,訓(xùn)練集樣本170個,測試集樣本230個。本文利用級聯(lián)分類器來訓(xùn)練識別香蕉植株假莖莖干的模型。訓(xùn)練樣本包括170個正樣本和500個負(fù)樣本,正樣本為對訓(xùn)練集樣本通過裁剪得到的主體為香蕉假莖的視差圖,負(fù)樣本為隨機(jī)裁剪得到的主體為背景的視差圖。由于香蕉作物的假莖由葉鞘層層緊抱形成圓柱形,韌性較差,通常形態(tài)為筆直狀,雖易發(fā)生輕微傾斜,但極少發(fā)生明顯彎曲,因此可采用矩形來近似表征假莖主體;正負(fù)樣本均采取了長寬比均為2∶1的矩形來截取。然后調(diào)用OpenCV中的OpenCVTrainCascade對正負(fù)樣本進(jìn)行訓(xùn)練。
訓(xùn)練的過程中,分類器將首先提取訓(xùn)練樣本視差圖的LBP特征。LBP是一種描述圖像局部紋理的特征,具有旋轉(zhuǎn)不變性和灰度不變性等優(yōu)點[19]。LBP算子定義在3×3的窗口內(nèi),將中心像素和周圍8個像素點進(jìn)行比較,像素值大于中心像素點的賦值為1,像素值小于中心像素點的賦值為0,從而生成新的8位二進(jìn)制數(shù),然后將其轉(zhuǎn)化為十進(jìn)制數(shù)來代替中心像素值。強(qiáng)分類器的訓(xùn)練過程如圖4所示。首先利用數(shù)據(jù)和數(shù)據(jù)權(quán)重Wi訓(xùn)練弱分類器,每次迭代就訓(xùn)練得到1個弱分類器,訓(xùn)練好的弱分類器繼續(xù)參與下一次的迭代。弱分類器可以看做LBP的特征訓(xùn)練器,每個簡單的特征對應(yīng)一個弱分類器,得到n個弱分類器后,通過公式(4)進(jìn)行線性組合后取sign就可得到一個強(qiáng)分類器[20]。
圖4 強(qiáng)分類器訓(xùn)練過程
(4)
式中,t是弱分類器的序號;x是LBP特征。
進(jìn)一步將若干個強(qiáng)分類器進(jìn)行串聯(lián)就得到了最終的級聯(lián)分類器模型。本研究訓(xùn)練得到的級聯(lián)分類器包含了9個強(qiáng)分類器,其模型結(jié)構(gòu)如圖5所示。待測圖片必須全部依次滿足9個強(qiáng)分類器的特征才會被認(rèn)定為香蕉植株。
圖5 級聯(lián)分類器流程圖
圖6 香蕉植株假莖寬度測量示意圖
① 通過雙目標(biāo)定、立體校正、立體匹配得到視差圖,然后通過訓(xùn)練好的級聯(lián)分類器對待測香蕉植株視差圖進(jìn)行識別,并將目標(biāo)假莖莖干用矩形框ABCD標(biāo)出,存儲其平面坐標(biāo)系下的坐標(biāo)。
② 為了降低后續(xù)尋找實際邊界點時受到噪聲及邊界線不平滑帶來的影響,本研究將采取分段求平均的策略,將識別的矩形框沿Y軸方向自上而下分割為10等份。
③ 尋找所有水平等分線與假莖邊界的實際交點。
以水平等分線上的A點為例,先計算AB到CD的中點相機(jī)坐標(biāo)系下的Z值,求出其平均值記為Zmid,然后根據(jù)A點Z值是否滿足式(5)就可以判斷A點是否在假莖上:若不在,則將A點逐步向右平移兩個像素,直到到達(dá)假莖邊界處引起狀態(tài)改變;若在,則將A點逐步向左平移兩個像素,直到到達(dá)假莖邊界處引起狀態(tài)改變;記該邊界點處的點為A1。
采用同樣的方法尋找離B點最近的假莖邊界點,并記為B1。
繼續(xù)向下尋找其他10條等分線與假莖的交點(邊界點)得到水平線段A2B2,A3B3,…,A11B11。
④ 計算每條水平邊界線段的中點M1,M2,…,M11,并通過線性擬合得到假莖的近似中心線MN,MN的斜率即可代表假莖的傾斜度θ。
⑤ 計算所有水平邊界線段的實際長度dn。以求取A1B1的長度d1為例,先計算A1和B1在相機(jī)坐標(biāo)系下的坐標(biāo)(X1,Y1,Z1)、(X2,Y2,Z2),根據(jù)兩點間的距離公式(6)就可計算得到d1。求d1,d2,…,d11的平均值d作為香蕉假莖的平均水平跨度。
⑥ 利用④求取的假莖傾斜度θ,根據(jù)式(7)對假莖的水平跨度d進(jìn)行校正得到假莖的實際寬度d′。
|Z-Zmid|≤δ,
(5)
(6)
d′=dcosθ。
(7)
通過訓(xùn)練好的級聯(lián)分類器對測試集中的230幅視差圖進(jìn)行測試,有218幅視差圖中的假莖莖干被正確識別,識別率為94.8 %,平均用時約為0.8 s,視差圖識別假莖的結(jié)果如圖7所示。
圖7 視差圖的假莖識別結(jié)果
在不考慮測量距離的情況下,首先對所有測試集的測量結(jié)果進(jìn)行了總體分析,結(jié)果如圖8所示,系統(tǒng)的測試值與人工測量值的決定系數(shù)R2為0.604 0,其絕對誤差均值為12.3 mm,相對誤差均值為4.6 %。進(jìn)一步分析了不同距離下的測量精度,結(jié)果見表1及圖9所示。從結(jié)果可以看出,固定距離下的系統(tǒng)的測量值與人工測量值的決定系數(shù)R2均明顯提高,1.2 m處的R2最高,達(dá)到了0.853 8,相對誤差僅為2.0 %;但不同距離下的測量值存在一定波動。究其原因,其一可能為系統(tǒng)本身的原因?qū)е虏煌嚯x下的測量精度有所差異;其二則可能為測量時雙目相機(jī)的光軸平面無法嚴(yán)格保持水平而引入測量差異,后續(xù)可通過增加云臺等方式減小此類干擾。除此之外,香蕉假莖上退化的葉片、葉柄等物體的存在使得視差圖中的假莖邊緣噪聲較大,是引起總體測量誤差的主要原因。
圖8 假莖寬度總體測量結(jié)果
表1 不同距離下的測量結(jié)果
(a)測量距離=0.9 m
① 采用雙目視覺傳感器可以對香蕉假莖進(jìn)行快速的識別,識別率達(dá)到94.8 %。
② 雙目視覺傳感器不僅可以識別假莖,還可以快速對其寬度進(jìn)行自動檢測。試驗結(jié)果發(fā)現(xiàn)不同的測量距離會影響檢測精度,1.2 m距離處的測量精度最高,此距離下的自動檢測值與人工測量值的R2為0.853 8,相對誤差僅為2.0 %。
③ 綜合實驗表明本文提出的雙目視覺自動檢測香蕉植株假莖系統(tǒng)對香蕉植株具有較好的檢測精度,可以實現(xiàn)快速檢測香蕉假莖莖寬的目的。