劉岳開 高宏力 張潔


摘要:以機器人操作系統(robot operating system,ROS)為框架,以開源項目樹莓派微型硬件作為圖像處理模塊,Arduino作為機械臂運動控制模塊;基于自適應參數輸入的霍夫圓檢測算法,實現一種USB攝像頭的雙目視覺蘋果采摘系統,保證算法實時性高的前提下識別率較高。以輪廓完整、小色塊去除為優化策略,最大、最小圓面積自動估算,實現對霍夫圓檢測輸入參數的自適應控制。對于采摘順序規劃,通過競爭策略,每次篩選出最優果實,從而實現多目標的采摘順序確定。結果表明,基于本策略的自適應霍夫圓檢測試驗算法對遮擋狀況下的小規模成簇果實具有較高識別率。此外,借助眾靈科技有限公司的開源ROS五自由度機械臂通過簡易抓取試驗完成了算法可實施性驗證。
關鍵詞:開源系統設計;機器視覺;顏色空間;自適應霍夫圓檢測
中圖分類號: S225.93? 文獻標志碼: A? 文章編號:1002-1302(2019)04-0187-05
在采摘算法上,對目標果實識別的準確性和效率是決定采摘質量的關鍵。經典的采摘算法包括圖像預處理(去除噪聲、提高對比度)、圖像分割獲取果實部分圖像、輪廓精準識別獲取三維坐標信息。Lab顏色空間下的K-means聚類算法的圖像分割[1-2]和基于最大類間方差的動態閾值OTSU法[3-5]是典型的基于區域的分割算法。未對輸入圖像做出適應性修正的算法在復雜光照及背景采摘環境下,提取蘋果輪廓易出現不完整、目標區域產生空洞的情況。而現有算法中對預處理過程中的參數優化較弱[6-11]。K-means和GA-RBF-LMS神經網絡識別相結合的算法[1],雖然提高了識別率,但神經網絡算法訓練數據量本大,數據處理實時性較弱。目前多數算法研究者的研究過程[6-11]往往只專注于圖像識別過程,林冰心等對采摘順序規劃進行了研究[12],而算法與機械臂控制結合的開發試驗鮮有研究。
在軟硬件平臺上,ROS和樹莓派、Arduino是目前發展較為成熟的開源軟硬件項目平臺。國外研究者已有基于ROS系統構建服務機器人方案的研究[13-16],但國內關于此方面的研究較少,ROS跨平臺以及其類似模塊化編程的優越性正在逐步顯現。本研究專注于如何利用OSHW項目高效地設計機器視覺系統,以ROS操作系統為框架,構建了一種基于Arduino和Raspberry Pi等OSHW項目的蘋果采摘機器視覺系統。ROS環境下的視覺算法實現,借助于OSHW項目以及ROS代碼的強復用性,二次開發過程得到簡化。Raspberry Pi微型計算機相比于傳統的嵌入式或者基于工業PC臺式機電腦的視覺系統,計算性能得到保證的同時便攜性顯著提高。
本研究基于一種自適應參數修正的霍夫圓檢測算法,保證識別算法實時性高的前提下輪廓擬合精度較高,通過引入競爭機制后能夠單次采摘具有最優圖像信息的果實,實現順序采摘過程,最后基于OSHW軟硬件平臺構建并完成了抓取試驗測試。
1 視覺系統總體設計
基于視覺的蘋果采摘系統是一種通過圖像處理手段對標定后相機圖像進行處理,提取目標果實三維坐標信息的系統。本系統是以ROS系統為框架開發的一套雙目視覺系統,并在實體機械臂上完成算法采摘可實施性驗證。系統主要包括圖像采集設備、圖像處理模塊、相關通信線纜等。圖像采集、圖像處理硬件選型根據視覺算法需要,以安裝Ubuntu 14.04系統的樹莓派3為載體,2臺西安維氏的工業相機組成雙目立體視覺系統,相機通過USB 2.0接口與樹莓派連接。調用基于ROS的張氏標定法完成鏡頭畸變校正,并解決相機安裝偏差的極線校正過程。系統內部通信基于ROS的信息傳輸機制,信號從主題發布節點傳向訂閱主題的節點。另外,樹莓派3通過USB 2.0接口或RS232接口與機器人運動控制芯片(如Arduino等)通信(圖1)。
2 采摘識別算法優化
對現有的霍夫梯度圓檢測過程的參數輸入以及果實識別采摘順序規劃過程做了相關算法改良設計(圖2)。
2.1 顏色空間轉換及圖像分割
將原始圖片從顏色分量關聯性強的RGB顏色空間轉化到關聯性低的HSV顏色空間,方便顏色提取過程。HSV空間中H代表色調,決定色彩的基本種類。計算公式由立方體模型到六棱錐模型的變換公式導出。公式中相關符號R、G、B分別代表RGB空間中的紅色、綠色、藍色分量。max(R,G,B)表示RGB三通道矩陣最大值,min(R,G,B)表示RGB三通道矩陣最小值。公式(1)、(2)、(3)、(4)為HSV空間各分量的計算公式。
2.2 圖像預處理
圖像預處理是實現高精度尺寸、距離測量以及圖像識別過程的基礎。為更好地保留果實信息,在轉化為HSV顏色空間后,再進行直方圖均衡化增強圖像對比度。通過自適應閾值法對圖像做二值化處理,消除其他噪聲,保留果實圖像信息。
當色調H的計算結果小于0時,采用公式(2)計算。
為更好地區分采摘圖像中的背景色彩和果實色彩,測試了果實與背景顏色H分量構成。圖3展示了果實圖像目標與背景中色調分量的直方圖,即各顏色的比重,得出背景色彩多為藍色、棕色,如天空、樹枝,目標果實主要為紅色和部分黃色分量,從而以直方圖色度信息為判據提取對應取值的顏色分量。圖4所示分別為K均值、HSV空間紅黃分量提取以及本研究算法圖像分割結果對比,本研究算法能夠更加完整地識別果實顏色分量,在圖像分割質量上具有一定優越性。
2.3 果實圖像的霍夫梯度圓檢測
霍夫圓檢測是目前應用較為廣泛的一種圓檢測方法[17-21]。圓檢測由于其特征較少,傳統的多邊形檢測方法難以檢測,目前提出的圓檢測方法包括環路積分微分法,基于最小二乘的圓擬合法,而霍夫圓檢測算法是目前應用最為廣泛的算法。霍夫圓檢測的基本原理可簡述為利用點與線的對偶性,將圖像空間的線條變為參數空間的點,即將過點[a(i),b(i)]的圓簇表示為[a(i),b(i),r(i)]參數形式;圖像空間中的過點(a,b)的圓在參數空間中表示為一個圓錐面。最后問題轉化為求解參數空間的峰值問題。引入消除粒子群優化(eliminating particle swarm optimization,EPSO)方法[17]的霍夫圓檢測算法優化了計算速度,以及基于輪廓點處梯度方向交點投票機制算法[18]也較顯著加速了Hough圓檢測算法的效率及抗干擾能力。然而在蘋果采摘環境下,受環境噪聲(樹枝、樹葉遮擋)以及自身梯度方向的計算誤差的影響,目標果實的擬合結果仍然易出現輸出擬合圓過多且不準確的狀況。通過提前估算果實圖像區域大小以及個數等特征作為參數輸入,則能較好地解決Hough圓檢測算法對輸入參數敏感的問題。基于梯度的快速霍夫圓檢測,利用梯度信息,對圓檢測過程中隨機點的選取作初步篩選。
(1)OTSU大津法通過公式(5)選擇在最佳狀態空間點(w0,w1,u0,u1)處對應的閾值,然后根據閾值對圖像進行二值化處理。公式(5)中w0為背景像素占總像素數的比值,w1為前景像素的占比值,u0為背景像素點的灰度平均值,u1為前景像素點的灰度平均值,S為最大類間方差。
2.4 霍夫圓檢測的自適應參數輸入
Hough圓檢測的輸入參數包括最大圓半徑、最小圓半徑r、R,圓心距最小值d。本研究使用Python的Scipy庫的ndimage中的measurements模塊實現了果實圖像的形態學度量,完成圖像中果實的面積大小及數量的估算,從而對霍夫梯度檢測的輸入參數進行控制。該方法能夠有效提高Hough圓檢測算法輸入參數的準確性,從而提高識別精度。具體算法的驗證代碼已經上傳到GitHub軟件項目托管平臺。算法流程如下所示。
比較圖5所示算法效果可以看出,自適應參數的Hough圓檢測能夠在圖像輸入前有效去除影響噪聲,以及消除果實粘接等產生的目標形狀畸變等問題。
2.5 ROS環境下雙目視覺深度計算
程序采用ROS的標準節點格式,左、右相機通過節點的圖像處理程序將果實的二維坐標計算結果發布到/tf主題,機械臂狀態節點訂閱該消息,并將左、右相機處理的二維結果通
過公式轉化為三維坐標信息,通過相關ROS自帶的相關逆運動學求解包得到機械臂各個關節的轉角參數,實現機械臂的簡單控制過程。
2.6 競爭策略與順序采摘
王冰心等實現了一種基于生物選擇性注意機制及贏者取全的仿生學算法[12],而本研究基于競爭機制淘汰篩選得到最佳待采摘果實的方法,實現了果實簇的順序采摘過程。圖6為K均值算法、基于霍夫梯度檢測、基于開源項目算法檢測的結果比較。其算法步驟如下。
Step1:計算雙目鏡頭的Hough圓檢測擬合結果,得到二維圓心坐標,雙目算法求取三維視野距離Dz。
Step2:求輪廓完整度判據。以圖像目標實際面積與對應擬合圓面積比值Kz為判斷依據。
Step3:以視野距離、輪廓完整度為指標,篩選確定出最佳可摘果實。
Step4:返回Step1,對采摘后圖像繼續判斷最佳果實,循環執行,直到采摘完畢。
由圖6所示試驗結果可知,自適應參數的霍夫圓檢測方法準確率在無遮擋、樹枝樹葉遮擋2種情況下相比于一般的果實識別算法具有優越性,相比于神經網絡模型下的算法略低,如基于DSP和μC/OS-Ⅱ的采摘機器人視覺系統設計[9]達到97%的識別率,但省去了訓練時間且不存在泛化性問題。
3 基于ROS系統的雙目視覺測試與結果分析
ROS支持的Python和C+ +語言由于OpenCV以及其他開源視覺算法庫的引入,使得多種基本的算法處理實現得到簡化,研究更為便捷。圖像預處理是實現高精度尺寸、距離測量以及圖像識別過程的基礎。通過圖像對比度增強、降噪等軟手段減小噪聲信息的影響。預處理的效果直接影響到后續的尺寸、距離、識別過程的精度。對K均值、HSV空間紅黃分量提取以及本研究算法圖像分割結果進行了試驗與對比,結果表明,本研究提出的算法能夠更加完整地識別并完成目標果實圖像的分割,從而提升后續的識別精度。在目標提取上,基于一種改良參數的自適應霍夫圓檢測算法獲取果實的二維坐標,可避免圖像分割后的輪廓不完整以及空洞,影響果實精確位置判斷。基于梯度的快速霍夫圓檢測,利用梯度信息,對圓檢測過程中隨機點作初步篩選,從而減小計算量,提升計算速度。
引入競爭機制實現果實采摘的順序規劃,從而完成對成簇狀果實群的順序采摘。ROS系統的引入方便了機器人運動學以及動力學控制過程。無論是對于底層的關節速度、力反饋控制,還是對于進一步的機械臂軌跡規劃、運動規劃,ROS系統提供了Move_base、MoveIt、Gmaping等運動控制包,幫助實現機器人的運動控制過程。圖7是ubuntu系統中,ROS環境下雙目視覺rqt_graph包生成的計算圖。圖8是本研究設計的雙目視覺系統與眾靈科技有限公司的開源Arduino機器人組成的雙目視覺采摘試驗測試的計算圖(由rqt_graph包生成)。圖9是基于樹莓派的ROS視覺采摘系統現場測試過程。
樹莓派3代B作為圖像處理模塊以及機械臂定位信號發送端。顯示器通過樹莓派的HDMI接口接入并實時顯示ROS圖像處理過程,可以通過樹莓派的相關外圍設備鼠標、鍵盤調用ROS的Rqt_graph包查看ROS節點計算圖;攝像頭設備通過樹莓派的USB端口輸入采集到的原始圖像。Arduino接收樹莓派的定位信號并作為機械臂的底層控制部分完成最終機械臂的運動控制過程。圖9所示的模擬測試過程為攝像頭采集到原始圖像后,經過樹莓派圖像處理獲取最終的三維坐標信息并發送給Arduino,機械臂在Arduino控制下完成對蘋果的抓取動作。
4 結論
經試驗測試驗證, 本研究算法的識別率在一般識別算法中準確率較高。本研究使用眾靈科技公司開發的開源ROS機械臂對雙目視覺采摘系統做場地測試,驗證了該算法的可實施性。經測試統計,在無遮擋和樹枝、樹葉遮擋2種情況下該算法識別率均較高,在果實重疊情況下效果仍需提高。
ROS類似于模塊化的基于獨立節點通信機制的信息傳輸方式讓基于ROS的視覺系統設計研究者可以快速熟悉并快速用于二次開發。代碼的分類管理能有效提高開發效率。GitHub能以版本控制方式進行更好的管理并方便軟件的Bug修復、意見征集以及基于源碼的二次開發過程。
ROS wiki網頁上提供的眾多接口以及開源算法,為視覺機器人的開發提供了便利。由于項目時間匆促,后期可以與其他視覺識別定位的橫向智能學習算法做對比,從而對采摘算法做進一步優化。
參考文獻:
[1]賈偉寬,趙德安,劉曉洋,等. 機器人采摘蘋果果實的K-means和GA-RBF-LMS神經網絡識別[J]. 農業工程學報,2015,31(18):175-183.
[2]Malinen M I,Mariescu-Istodor R,Franti P. K-means{*}:clustering by gradual data transformation[J]. Pattern Recognition,2014,47(10):3376-3386.
[3]郭翰林,林 建,張 翔. 基于HSV空間再生稻植株與土壤背景圖像分割[J]. 農機化研究,2017(7):169-174.
[4]李碧青,朱 強,鄭仕勇,等. 雜草自動識別除草機器人設計——基于嵌入式Web和ZigBee網關[J]. 農機化研究,2017(1):217-226.
[5]李運志,Zhang Q,陳弘毅,等. 基于機器視覺的半干棗病害和裂紋識別研究[J]. 農機化研究,2016(8):120-125.
[6]趙德安,沈 甜,陳 玉,等. 蘋果采摘機器人快速跟蹤識別重疊果實[J]. 農業工程學報,2015,31(2):22-28.
[7]熊俊濤,鄒湘軍,彭紅星,等. 荔枝采摘機械手視覺定位系統設計[J]. 農業機械學報,2012(增刊1):250-255.
[8]王 政,張微微,張 賓,等. 基于聚類算法對象提取的快速定位采摘機器人設計[J]. 農機化研究,2016(7):45-49.
[9]申一歌,靳 果. 基于DSP和μC/OS-Ⅱ的采摘機器人視覺系統設計[J]. 農機化研究,2017(6):223-227.
[10]顧蘇杭,馬正華,呂繼東. 基于顯著性輪廓的蘋果目標識別方法[J]. 計算機應用研究,2017,34(8):2551-2556.
[11]楊信廷,孫文娟,李 明,等. 基于K均值聚類和開閉交替濾波的黃瓜葉片水滴熒光圖像分割[J]. 農業工程學報,2016,32(17):136-143.
[12]王冰心,王孫安,于德弘. 基于選擇性注意機制的果實簇識別與采摘順序規劃[J]. 農業機械學報,2016,47(11):1-7.
[13]Wang Z Y,Gong L,Chen Q L,et al. Rapid developing the simulation and control systems for a multifunctional autonomous agricultural robot with ROS[C]//Intelligent robotics and applications. Springer,2016:26-39.
[14]Seib V,Memmesheimer R,Paulus D. A ROS-Based system for an autonomous service robot[M]//Robot operating system (ROS). Springer,2016:215-252.
[15]Araújo A,Portugal D,Couceiro M S,et al. Integrating arduino-based educational mobile robots in ROS[J]. Journal of Intelligent & Robotic Systems,2015,77(2):281-298.
[16]Hu T J,Zhang B X,T ang D Q,et al. ROS-based ground stereo vision detection:implementation and experiments[J]. Robotics and Biomimetics,2016(3):1-9.
[17]Cheng H D,Guo Y H,Zhang Y T. A novel Hough transform based on eliminating particle swarm optimization and its applications[J]. Pattern Recognition,2009,42(9):1959-1969.
[18]Galambos C,Kittler J,Matas J. Gradient based progressive probabilistic Hough transform[J]. Image and Signal Processing,2001,148(3):158-165.
[19]楊博文,孫永榮,黃 斌,等. 加油錐套遠距圖像的Hough-LS快速檢測[J]. 光電工程,2015,42(4):44-48,55.
[20]毛順兵. Hough變換和輪廓匹配相結合的瞳孔精確檢測算法[J]. 計算機應用,2016,36(5):1415-1420.
[21]葉 峰,陳燦杰,賴乙宗,等. 基于有序Hough變換的快速圓檢測算法[J]. 光學精密工程,2014,22(4):1105-1111.許 健,蔡宗壽,張國帥,等. 基于離散元的傾斜圓盤勺式大豆排種器取種勺優化研究[J]. 江蘇農業科學,2019,47(4):192-196.