孫金風 申言鑫 楊智勇 陳龍



[收稿日期]20211019
[基金項目]國家自然科學基金(51907055); 湖北省教育廳中青年人才項目(Q20191404)
[第一作者]孫金風(1979-),男,湖北鄂州人,湖北工業大學教授,研究方向為機械設計及理論
[通信作者]楊智勇(1987-),男,湖北漢川人,工學博士,湖北工業大學講師,研究方向為機器人技術和自動化技術
[文章編號]1003-4684(2023)02-0022-05
[摘要]針對網球收集機器人工作中識別準確率低下問題,提出一種基于網球顏色和輪廓特征的識別算法。通過分析網球圖像的顏色空間,得到網球與背景的二值圖像,結合網球區域特征做進一步精準識別。在重疊網球識別上,提出區域分割和輪廓擬合的算法,對重疊區域提取分割、擬合還原網球輪廓。通過實驗驗證算法可行性,結果表明該算法可在不同環境下精確識別網球。
[關鍵詞]網球識別;? 二值圖像;? 形態學;? 區域分割
[中圖分類號]TP242? [文獻標識碼]A
拾取散落在場地上的網球以人工為主,不僅勞動強度大,而且效率低下。本文通過視覺技術對機器人目標識別進行研究,提出一種基于網球顏色與輪廓的識別算法。該算法可顯著提升網球識別準確率,進而提升網球愛好者的練球效率。
1??? 網球收集機器人總體方案設計
網球收集機器人將拾取機構及運輸機構合為一體,滿足了結構簡單、易于加工等要求。其整體結構包括拾取機構、運輸機構、行走機構等(圖1)。
網球收集機器人總體設計方案包括網球識別、定位、運動控制、網球拾取等4個方面。工作時使用雙目相機采集圖像傳輸到計算機處理器,再通過識別算法對圖像進行分析處理,實現網球目標的識別和定位。將定位信息傳遞給下位機,下位機得到信息后便驅動行走,使機器人到達指定位置進行網球收集工作。
2??? 網球圖像分割與識別
通過雙目相機采集圖像傳輸給計算機進行處理,通過顏色分析來識別網球。對圖片中的網球目標區域進行分割、提取、擬合,并設置輪廓特征參數進行篩選,提高了網球識別效率。
2.1??? 顏色空間
顏色空間的用途是在某些標準下用平常可以接受的方式對彩色加以描述[1]。HSI顏色空間是從人的視覺系統出發,由色度、飽和度和亮度來描述色彩[2],其中:H為色調,S為飽和度,I表示亮度。在此顏色模型中,主要因素是H分量,色調值在H發生變化時也隨之變化。S分量越小,顏色越接近純灰色;S分量越大,則顏色越純[3]。HSI顏色空間模型見圖2。
人類視覺對亮度的敏感程度遠強于對顏色濃淡的敏感程度[4]。相比RGB色彩空間,HSI色彩空間更符合人類視覺特點,因此被廣泛用于圖像表示和處理系統中。
2.2??? 基于HSI顏色特征的目標提取
在HSI空間下識別顏色具有調試簡單、識別精度高等特點。HSI空間下的三通道值之間相互關聯,更容易分級調試閾值、修正環境影響產生的閾值偏移問題。
Halcon是一款由德國MVTec公司研發的圖像處理算法軟件,有著豐富的圖像處理算子和交互開發工具。在網球場上用攝像頭隨機捕獲一張照片,采用Halcon中decompose3(Image,ImageR,ImageG,ImageB)算子將圖片轉化為RGB色彩空間的三個通道圖像,再利用trans_from_rgb(ImageR,ImageG,ImageB,ImageH,ImageS,ImageI,'hsi')算子將RGB三通道圖像轉化為所需要的HSI三通道圖像(圖3)。
確定網球在HSI顏色空間下的顏色范圍。首先從拍攝的圖像中截取網球部分進行顏色分析,可以調用gen_circle()函數和reduce_domain()函數得到網球特定區域。
運用equ_histo_image()算子對截取出的網球特定區域圖像進行顏色分析,得出HSI顏色分量統計直方圖(圖4)。
從直方圖中可以觀察出三通道上各顏色分量的大致分布區間,參照得到顏色分布區間,設置合理的閾值區間,對圖像進行預切割。預切割的目的是要精確提取出網球,因此要利用與原圖大小相同的圖像矩陣,減小誤差,滿足閾值區域的像素點將被置彩色。對圖像進行預切割效果如圖5所示。
從預切割效果圖中可以看出,通過對三顏色通道的初步閾值處理,可以將網球提取出來,但圖像存在網球影子和其他噪聲,因此還需要進一步調整。通過threshold()算子分別調整H、S、I三個通道的閾值大小,直到能夠去除網球影子的干擾,分割出網球目標的基本區域為止,并去除高斯噪聲。其大體效果如圖6所示。
從圖6來看,精調到合適的閾值進行圖像處理以及簡單的濾波,基本可以除去網球影子噪音干擾。但是提取的網球目標區域存在局部損失等缺陷,不利于識別定位,故需要進一步形態學處理來增強圖像質量提高識別精準度。
2.3??? 基于形態學處理和網球輪廓的識別算法
2.3.1??? 形態學處理數學形態學處理中的開運算與閉運算可有效解決圖像中存在的微小空隙與噪聲現象。由于噪聲區域與網球目標區域在形狀和面積上存在明顯差異,可以利用面積和形狀特征進行篩選,除去噪聲區域,將網球目標區域分割出來。
經閉運算closing()算子處理后,網球輪廓內部微小的空洞雖得到填充,并且外輪廓變得平滑,但未達到理想效果(圖7)。
在閉運算處理時,選擇模板尺寸較小,空洞修復效果不理想,而模板尺寸過大,輪廓會產生較大形變。單獨的閉運算解決不了網球圖像內部的較大空洞問題,因此,需要用到空洞填充算法,即建立種子點的八鄰域,向鄰域內各個方向上搜索,對每一個像素進行修改,將輪廓范圍內所有像素點修改為目標顏色,直到遇到輪廓邊界。空洞填充fill_up( )算子處理后,內部空洞完全得到填充,外輪廓變得更加平滑(圖8)。
噪聲區域的面積與網球區域面積存在明顯差異,經過調試發現單個網球目標區域面積范圍大約為17 000~25 000 像素。設計以面積[15 000,30 000]為閾值,對二值圖像進行面積特征閾值處理。當區域面積低于15 000或高于30 000,則認為該區域為噪聲。處理過后可明顯看出噪聲被完全去除,效果如圖9所示。
考慮到有時噪聲區域會與網球目標區域面積大小相當,簡單的面積濾波則會失效。由于目標區域和噪聲區域形狀上也存在一些差異,利用區域圓度特征參數進行篩選,進一步提高網球識別算法的魯棒性和準確性。
區域圓度C是區域面積與外接圓面積的比值,且
C=FπRmax2
式中:F為區域面積;Rmax為外接圓的半徑。其中,0 如圖10c所示,經過簡單面積濾波處理后,網球輪廓雖被清晰提取,但旁邊噪聲區域面積較大,則需利用面積和圓度兩個區域特征進行網球區域提取,其中圓度閾值設置為0.5。最終效果如圖10d所示。 2.3.2??? 網球輪廓的識別算法對形態學處理后的灰度圖像。首先使用Canny濾波器進行邊緣檢測,邊緣檢測具體步驟:1)利用高斯濾波器平滑圖像,過濾噪聲;2)利用sobel算子計算圖像中像素點的大小方向;3)使用非極大值抑制,消除邊緣檢測帶來的不利影響;4)雙閾值檢測確定真實邊緣與潛在邊緣;5)利用抑制孤立弱邊緣完成邊緣檢測。然后運用gen-contour-region-xld()算子提取目標的初始輪廓(圖11a)。最后使用fit-circle-contour-xld()算子和 gen-circle-contour-xld()算子進行輪廓擬合生成擬合圓形輪廓(圖11b)。 通過特征提取算子,得到每個網球的擬合圓形輪廓的半徑和圓心位置,再通過函數設置一個網球的半徑范圍。將半徑比較大和比較小的輪廓圓視為錯誤進行剔除,將在半徑范圍內的網球視為正確的網球,在得到的擬合圓圖形上進行填充操作并繪制在原圖上,得到網球區域識別效果圖(圖13b)。最后使用smallest_rectangle2()算子和gen_rectangle_ccontour_xld()算子對擬合圓區域獲取最小外包矩形框圖和幾何中點的像素坐標,從而實現網球目標的識別。識別過程如圖12所示。 2.4??? 重疊網球目標的識別 用簡單的形態學處理和輪廓篩選,只能識別出單個網球,而不會識別重疊網球。 網球從各個角度看都是一個近似于圓的橢圓。重疊網球區域的外輪廓都是由各網球未遮擋部分的外輪廓圓弧組成,只要分割出各段圓弧,就得到了每個網球的部分外輪廓,再根據該部分圓弧來擬合整個網球輪廓,即可在圖像中識別重疊部分的網球。所以,對于重疊網球的識別,提出一種輪廓分割與擬合的識別算法。 2.4.1??? 提取重疊網球區域重疊區域的提取同單個網球的識別過程相似。首先對網球顏色空間三通道進行閾值分割,提取出初步的重疊區域,再利用形態學開運算與填充算法解決內部空洞現象,提高外輪廓平滑度,最后采用面積濾波去除多余噪聲。 經過上述步驟提取出來的重疊網球區域和真實圖像的網球區域基本重合。后續算法將針對重疊網球區域圖像進一步處理,以完成對重疊網球的識別。 2.4.2??? 區域分割和擬合經過上述對重疊網球區域的提取,接下來通過區域分割和擬合的方法對重疊區域進行輪廓提取分割,并對分割后輪廓進行擬合,生成完整的網球輪廓,利用該輪廓確定其重心,重心作為網球的中心,即可完成重疊網球識別。 重疊區域中的最大內接圓一定包含無遮擋網球輪廓,對重疊網球區域進行最大內接圓操作,可得到無遮擋網球區域。對無遮擋網球區域進行重心計算得到網球中心,即可完成無遮擋網球目標的識別(圖14)。 得到無遮擋網球區域后,利用區域相減得到重疊網球區域(圖15a),接著提取重疊網球區域外輪廓(圖15b),并對其輪廓進行擬合圓操作,再提取擬合圓區域,可得到重疊網球的擬合區域(圖15d),計算出擬合圓中心點,完成重疊網球識別。 3??? 實驗結果與分析 分別在室內外兩種環境下進行實驗驗證。圖16為室內實驗效果。由于室內光照穩定,通過HSI各通道閾值調試、形態學分析處理和區域提取等操作,便可精確識別網球。 圖17為室外重疊網球識別效果。利用顏色特征和形態學處理得到的網球區域,再通過面積特征提取重疊網球區域作為感興趣區域ROI,然后單獨對 ROI區域進行輪廓分割和擬合,還原每個被遮擋網球的外輪廓,計算其中心點坐標,完成網球目標的識別。其算法平均運行時間為0.14 s,網球識別速度大約為7幀/s。 從室內外場地的測試可以看出,基于顏色和網球區域特征的識別算法在不同場景較為精準地實現網球目標識別。 在光照和角度等不同的環境下進行多次網球識別實驗,并對實驗數據進行分析(表1),圖18為部分識別效果。 4??? 結論 為提高網球收集機器人目標識別效率,設計了基于網球顏色和輪廓特征的識別算法。該算法通過網球的顏色特征、輪廓特征對圖像進行處理,篩選出網球區域輪廓,進而完成對網球的識別。通過多次識別實驗,網球整體識別正確率達到88.9%,表明基于顏色和網球區域特征的識別算法可以在不同場景較為精準地實現網球識別。 [參考文獻] [1]侯賓,張文志,戴源成,等.基于OpenCV的目標物體顏色及輪廓的識別方法[J].現代電子技術,2014,37(24):76-79. [2]張志寶,孫微濤,羅文峰.基于HSI空間改進的彩色圖像邊緣檢測方法[J].計算機與數字工程,2016,44(11):2257-2262. [3]席小剛,孫浩,鐘方偉,等.基于HSI模型和最大隸屬度圖像分割算法的研究[J].電視技術,2018,42(10):12-16. [4]湯慧.多顏色空間融合的顏色特征提取方法及應用[D].長沙:中南大學,2011. Research on Recognition Algorithm of Tennis CollectingRobot Based on Color Contour SUN Jinfeng, SHEN Yanxin, YANG Zhiyong, CHEN Long (School of Mechanical Engineering, Hubei Univ. of Tech., Wuhan 430068,China) Abstract:Aiming at the low recognition accuracy of tennis collection robot, a tennis recognition algorithm based on tennis color and contour features is proposed. By analyzing the color space of tennis image, the binary image of tennis and background is obtained. The binary image is optimized by morphological processing, and the tennis area features are combined for further accurate tennis recognition. In the recognition of overlapping tennis balls, an algorithm of region segmentation and contour fitting is proposed to extract, segment, fit and restore the contour of tennis balls. Realize the recognition of overlapping tennis balls. Finally, the feasibility of the algorithm is verified by experiments. The results show that the recognition algorithm can accurately recognize tennis indoors and outdoors. Keywords:tennis recognition;?? binary image; morphology; region segmentation [責任編校: 張眾]