茍 琴,耿 楠,張志毅
(西北農林科技大學信息工程學院,陜西楊凌712100)
障礙物檢測是智能農業機械導航的關鍵。由于立體視覺技術具有信息量豐富、被動式測量、速度快等特點,因此在智能農業機器人環境感知中得到了廣泛應用[1-3]。張磊等人[1]在分析農田障礙物圖像信息特點的基礎上,采用基于掃描線上區域分割與特征匹配相結合的障礙物檢測算法,得到目標區域的空間信息,進行障礙物檢測。在聯合收獲視覺導航系統中,丁幼春等人[4]提出基于單目彩色圖像分割與立體視覺特征匹配相結合的測障方式,利用H、S顏色分量對單目圖像實施固定閾值分割并二值化,獲得潛在障礙物的位置及區域。楊慶華等人[5]對于矮小作物規則分布的農田場景,在標準Hough變換的基礎上,預先檢測共線點峰值的限定偏角閾值,從而迅速檢測關鍵信息,最后尋找樹干與地面的交點,形成機器人行走的左右邊界。這些方法都要求對前進過程中的障礙物和背景有先驗知識,但在農業機器視覺導航應用中,由于障礙物不規則和背景多變等復雜因素[6],無法有效地將障礙物與背景分割開。
針對上述問題,本文提出一種基于視差圖的未知環境下障礙物檢測方法,通過對視差圖進行區域連通和閾值過濾檢測出障礙物,此方法不需要障礙物和背景的先驗知識。
標準雙目立體視覺系統是由兩臺光軸嚴格平行的攝像機組成,如圖1所示,并且這兩臺攝像機的像平面精確位于同一平面,基距T一定,焦距f相同。

圖1 立體視覺系統
假設物理世界中任一點P在左右圖像上的成像點為P1和P2,相應的橫坐標分別為x1和x2,d=x1-x2定義為視差,則P到攝像機中心連線的距離Z為

本實驗采用固定焦距的羅技系列普通CMOS網絡攝像頭,以基距237mm平行放置,通過USB接口與計算機相連,同步獲取大小為640*480像素的場景圖片。
攝像機標定是立體視覺的先決條件[7],本文采用的是Heikkila和Silven提出的傳統標定方法[8],獲取攝像機的內外參數。利用攝像機的內外參數,對攝像機進行畸變矯正和極線校準后,從不同視點圖像中找到匹配的對應點即可完成立體匹配[9]。
塊匹配立體算法是常用的立體匹配算法[10],該算法計算每個小窗口的絕對累計誤差 (SAD),找到一定搜索范圍內匹配代價最小的SAD窗口,即找到了左邊圖像的最佳匹配的像素塊,從而找到左右兩幅立體矯正圖像之間的匹配點。考慮到障礙物與背景相比較具有較強的紋理特性,本文采用了改進的立體匹配算法[11],此算法主要通過預處理、匹配搜索、匹配提純3個步驟查找兩幅圖像之間的強紋理點的匹配。根據不同的農田場景,通過調整參數winSize、numDisp和 filterThresh可得到較滿意的視差圖。winSize指搜索窗口的大小,如果太小,生成的視差圖紋理太細,導致單個物體的不完整;如果太大,造成部分物體丟失。numDisp指搜索視差范圍,當物體距離較遠時,可以適當縮小。filterThresh用于濾掉誤匹配,當誤匹配點過多時,可以相應調整filterThresh的值。
圖2是利用雙目視覺系統對西北農林科技大學試驗田一麥地進行拍攝的立體圖像對,麥地中的石塊為待檢測的障礙物。根據上述方法獲取視差圖,如圖3所示。近處的石頭色度較亮,遠處的建筑物色度較暗,而麥地大部分面積紋理比較低,不參與立體匹配,因此只有很少的視差信息。

給定屏幕坐標和攝像機內外參數矩陣,二維點可以重投影到三維中[12],重投影矩陣如式 (2)

這里,除c'x外的所有參數都來自于左圖像,c'x是右圖像中心在右圖像上的x坐標。(cx,cy)和f分別為左相機中心坐標和焦距,Tx為旋轉矩陣的x軸分量。給定一個二維齊次點和其關聯的視差d,我們可以將此點投影到三維中

根據式 (1),目標物離攝像機越近,視差越大,目標物離攝像機越遠,視差越小,由此可見,視差圖包含了環境中事物的深度信息,并且通過視差圖中的連通域可以判斷障礙物的尺寸范圍,從而提取障礙物的三維信息。具體算法描述如下:
(1)設定視差閾值。根據智能農業機器人作業要求,只需判斷一定距離內的障礙物,所以當視差小于某個閾值時,即目標物在判斷距離外,將其視差值置零。
(2)區域連通。考慮到四連通具有更強的連通性[13],因此本文采用四連通區域搜索算法進行區域連通,保留面積大于給定閾值的區域并標記。
(3)結合2.2中獲得的三維點云坐標,通過查找一定距離內物體的高度信息,當高度大于預先設定的值時,判斷為障礙物,并計算出障礙物的距離和尺寸。考慮到麥苗的高度和農業機器人的行走特性,設置高度閾值為150mm。
基于2.1獲取的視差圖,進行以上操作后,遠處的景物,近處的麥地以及道路就被過濾了。通過多次試驗,視差閾值和連通區域面積閾值分別為30和1000時能得到較好的效果。檢測到的障礙物的視差圖和灰度左圖像如4所示。

圖4 障礙物檢測結果
由于匹配窗口大小的選擇對雙目匹配的開銷有很大的影響[14],因此本文設置了兩組不同匹配窗口大小的試驗對測障的實時性進行研究,每組實驗分別從不同距離對圖2中的障礙物進行了十次測量,待測障礙物的實際測量寬度和高度分別為370mm和520mm。本實驗于2011.03.07下午對西北農林科技大學試驗田進行取景,天氣陰。表1列出了障礙物距離測量和計算結果,表2列出了障礙物尺寸測量和計算結果,其中winSize為匹配窗口的大小。
由障礙物距離測量和計算結果可知,當障礙物在攝像機5m視野內時,winSize為31和21的相對偏差的絕對值分別在1.58%~4.53%,1.40%~4.37%范圍內,而且大部分情況下是負偏差,只有在1.5m和4.4m時是正偏差。由障礙物尺寸測量和計算結果可知,winSize為31和21的相對偏差的絕對值分別在0.44% ~3.17%,0.29% ~3.81%范圍內,同時正負偏差的情況比較均勻。
測障結果表明,兩種不同匹配窗口大小的情況下,計算得到的障礙物距離和尺寸的相對偏差變化不大,且都能滿足農業智能機器人障礙物檢測對尺寸精度的要求,但匹配的開銷卻有很大的差異。當匹配窗口的大小為31,圖像大小為640*480像素時,匹配耗時1132ms,不能滿足測障的實時性;當匹配窗口的大小為21,圖像大小為640*480像素時,匹配耗時240ms,再加上后面的時間開銷,包括三維點云計算所用的31ms和目標障礙物識別所用的33ms,總共304ms,能夠滿足農業機器人實時測障的要求[15]。

表1 障礙物距離測量和計算結果

表2 障礙物尺寸測量和計算結果

圖5 多障礙物檢測結果
為了進一步說明該試驗的實用性,本文對麥田多障礙物進行了檢測試驗,試驗結果如圖5所示。試驗結果表明,作為障礙物的兩個人均被成功檢測出。
本文提出了一種基于視差圖的未知環境下障礙物檢測方法,該方法不依賴于障礙物和背景的先驗知識。在獲取左右場景視差圖的基礎上,經過視差閾值和區域連通的過濾,可以較準確地檢測到潛在障礙物;然后由面積閾值和高度閾值進行進一步過濾,檢測出障礙物并定位。實驗表明,在5m視野內,障礙物距離和尺寸測量的相對偏差絕對值分別控制在4.37%和3.81%以內,共總耗時不超過310ms,能夠滿足農業智能機器人在大多數情況下的作業要求。
[1]ZHANG Lei,WANGShumao,CHEN Qibin,et al.Detection of obstacles in farmland based on binocular vision[J].Journal of China Agricultural University,2007,12(4):70-74(in Chinese).[張磊,王書茂,陳兵旗,等.基于雙目視覺的農田障礙物檢測[J].中國農業大學學報,2007,12(4):70-74.]
[2]ZHOU Jun,CHEN Jiayu.Moving obstacle detection based on machion vision for agricultural moblie robot[J].Transactions of the Chinese Society for Agricultural Machinery,2011,42(8):154-158(in Chinese).[周俊,程嘉煜.基于機器視覺的農業機器人運動障礙目標檢測 [J].農業機械學報,2011,42(8):154-158.]
[3]WANG Hui,ZOU Wei,ZHENGRui.Vision based real time obstacle detection for moblie robots [J].Computer Engineering and Application,2006,41(25):46-48(in Chinese).[王輝,鄒偉,鄭睿.基于視覺的移動機器人實時障礙檢測研究 [J].計算機工程與應用,2006,41(25):46-48.]
[4]DING Youchun,WANG Shumao,CHEN Hong.Obstacle detection in the working area of agricultural vehicle based on machine vision[J].Transactions of the Chinese Society for Agricultural Machinery,2009,40(z1)(in Chinese).[丁幼春,王書茂,陳紅.農用車輛作業環境障礙物檢測方法 [J].農業機械學報,2009,40(z1)]
[5]YANG Qinghua,WU Jiayi,BAO Guanjun,et al.Algorithms of path guidance line based on computer vision and their applications in agriculture and forestry environment[J].Transactions of the Chinese Society for Agricultural Machinery,2009,40(3):147-151(in Chinese).[楊慶華,吳佳藝,鮑官軍,等.農林環境機器視覺導航路徑生成算法及應用[J].農業機械學報,2009,40(3):147-151.]
[6]ZHAO Xin.The main application of intelligent robot in the field of agriculture automation [J].Chinese Agricultural Science Bulletin,2010,26(10):360-364(in Chinese).[趙欣.智能機器人在農業自動化領域的主要應用 [J].中國農學通報,2010,26(10):360-364.]
[7]LOU Xiaoping,GUO Meiping.Methods of calibration improvement in the binocular vision system [J].Journal of Beijing Information Science and Technology University,2010,25(1):16-20(in Chinese).[婁小平,郭美萍.雙目視覺測量系統標定精度提高方法研究[J].北京信息科技大學學報 (自然科學版),2010,25(1):16-20.]
[8]Heikkila J,Silven O.A four-step camera calibration procedure with implicit image correction[C]//IEEE,1997.
[9]LUO Dan,LIAO Zhixian.Binocular distance measuring based on OpenCV [J].Popular Science News,2011(4):52-53(in Chinese).[羅丹,廖志賢.基于 OpenCV的雙目立體視覺測距[J].大眾科技,2011(4):52-53.]
[10]BAI Ming,ZHUANG Yan,WANG Wei.Progress in binocular stereo matching algorithms[J].Control and Decision,2008,23(7):721-729(in Chinese).[白明,莊嚴,王偉.雙目立體匹配算法的研究與進展 [J].控制與決策,2008,23(7):721-729.]
[11]Bradsk G,Kaehler A.Learning OpenCV:Computer vision with the OpenCV library[M].Sebastopol:O'Reilly Media,2008.
[12]LI Jian,CHEN Changming,LIAO Qiujun.A new stereo vision 3D measurement method based on OpenCV [J].Computer Measurement& Control,2009,17(12)(in Chinese).[李健,陳長明,廖秋筠.一種新的基于 OpenCV的立體視覺三維測量方法 [J].計算機測量與控制,2009,17(12).]
[13]CAO Leping.Machine recognition of citrus variety based on the fractal dimensions of perimeter-area[J].Transactions of the CSAE,2010,26(2):351-355(in Chinese).[曹樂平.基于周長面積分形維數的柑橘品種機器識別[J].農業工程學報,2010,26(2):351-355.]
[14]SHU Xiao,YANG Chenhui,LIU Hui.Stereo matching method based on coupled neural network [J].Modern Computer,2009(12):4-7(in Chinese).[舒驍,楊晨暉,劉輝.基于耦合神經網絡的立體匹配法 [J].現代計算機 (下半月版),2009(12):4-7.]
[15]Bochtis D,Soerensen C,N rremark M,et al.Agricultural field monitoring using a small robot[C]//CIGR Proceedings,Rosario,2009.