一種基于形狀的無色標機器魚位姿識別算法
【技術領域】
[0001] 本發明設及計算機視覺檢測技術領域,尤其設及一種基于形狀的無色標機器魚的 位姿識別。
【背景技術】
[0002] 中國機器人大賽的機器魚全局視覺組比賽是一種具有觀賞性、挑戰性的項目,對 它的研究很有理論價值和實踐意義。機器魚全局視覺組是中國機器人大賽的一個分支,控 制方式為集控式。近幾年比較熱口的子項目有1VS1水球,2VS2水球,傳球接力,帶球接力, 帶球環周,帶球避障等,是水中機器人競賽項目中發展較快的項目之一。
[0003] 目前,機器魚全局視覺組采用的機器魚已由有色標發展為無色標,因為無色標機 器魚無安神全身黑色,不能借助主色標、方向色標來計算位置、方向,所W無色標機器魚的 識別相對于有色標機器魚的識別難度比較高,識別算法比較復雜,計算量較大。
[0004] 因此,為了實現對無色標機器魚進行有效識別,本發明采用一種基于形狀的位姿 識別算法對無色標機器魚進行識別。
【發明內容】
[0005] 本發明的目的是提供一種無色標機器魚位姿識別算法,W實現在視覺系統中對無 色標機器魚位置和方向的確定。
[0006] 為了解決上述技術問題,本發明提供了一種無色標機器魚位姿識別算法,包括如 下步驟:步驟S1,對采集到一幅圖像進行圖像處理W顯示機器魚;步驟S2,將魚頭部分作為 模板,W獲取各幅圖像中魚頭所在位置,并得到機器魚的位姿。
[0007] 進一步,所述步驟S1中對采集到一幅圖像進行圖像處理W顯示機器魚的方法包 括;步驟S11,對圖像進行灰度化處理;步驟S12,對灰度化后的圖像進行二值化分割;W及 步驟S13,對二值化分割后的圖像進行先腐蝕后膨脹的形態學處理,W顯示機器魚。
[000引進一步,所述步驟S11中對圖像進行灰度化處理,即對圖像采用藍色分量進行灰 度化。
[0009] 進一步,所述步驟S2中將魚頭部分作為模板W獲取各幅圖像中魚頭所在位置的 步驟包括;步驟S21,選取魚頭作為模板,即記錄魚頭的形狀特征,作為模板特征;步驟S22, 通過HOG描述子描述模板特征,再對每幅圖像做模板匹配,捜索到每幅圖像里的魚頭所在 位置。
[0010] 進一步,所述步驟S22中通過HOG描述子描述模板特征的方法包括;步驟221,確 定模板像素點構成的區域形狀;即在求解模板HOG特征向量時,確定模板像素點構成的區 域形狀,并將該區域形狀定義為圓形HOG塊;步驟S222,利用一階微分計算圖像梯度求解像 素點梯度的模和方向;步驟S223,選取梯度模值本身的投影對梯度方向的加權投影進行統 計;即對圓形冊G塊的劃分,其中,任一圓形冊G塊由若干單元組成,且任何一個單元都由若 干個像素點組成;在捜索區域內統計目標區域所有像素點梯度在特定梯度方向上的投影, 對每個圓形HOG塊里的單元個數進行單獨統計,繪制W梯度方向為橫軸的直方圖,然后將 該個梯度分布平均分成多個方向角度,個數為bin,每個方向角度范圍對應一個直方柱,若 看成向量,則其維數為bin*cellnum*blocknum,其中,cellnum為單元個數,blocknum為圓 形HOG塊個數;并選取梯度模值本身的投影對梯度方向的加權投影進行統計。
[0011] 進一步,所述步驟S22中對每幅圖像做模板匹配W捜索到每幅圖像里的魚頭所在 位置的方法,即采用區域增長算法進行特定區域的目標捜索W快速鎖定機器魚所在的位 置。
[0012] 進一步,所述采用區域增長算法進行特定區域的目標捜索W快速鎖定機器魚所在 的位置的方法包括;步驟S224,在開始捜索之前,初步確定一個矩形范圍作為捜索區域;該 矩形中點是上一帖圖像中機器魚的位置點,左上角和右下角沿x、y軸方向分別相對中點延 伸若干個像素點,然后在該個捜索區域內進行基于區域增長的圖像分割;步驟S225,通過 二值化分割,得到黑色塊的左右、上下邊界坐標,再W此邊界值構成一個矩形區域,最后在 此矩形區域內進行圓形滾動圈取捜索與匹配的遍歷,即該區域內的每一點都作為一個捜索 圓形的圓屯、位置,求取每個圓形位置下,圓圈內的黑色像素點所構成的形狀的方向角,將圓 形整體旋轉該方向角,然后求取其所對應的HOG特征向量并求解其與模板的相似度;步驟 S226,選出相似度最高的圓形所在位置作為捜索的結果,即鎖定機器魚所在的位置。
[0013] 進一步,所述步驟S224中區域增長的方法包括;步驟S2241,對要處理的整幅圖像 進行灰度值求解,其值域為0-255 ;步驟S2242,求解目標顏色灰度闊值,W該灰度闊值范圍 更新顏色庫,作為后續增長判據;步驟S2243,W-定的步長對目標圖像進行逐行逐列的種 子點掃描捜索(W顏色庫為準);若捜到種子點,進入步驟S2244 ;反之,進入步驟S2246 ;步 驟S2244,判斷捜到的種子點4鄰域內的像素點是否符合增長判據;若符合,合并該點且對 該點灰度值賦予新值;反之,繼續對其他鄰域的像素點判斷,直到4鄰域都不符合增長判據 為止,進入步驟S2246 ;步驟S2245,用新合并點更新種子點,進入步驟S2244 ;步驟S2246, 最后得到被合并點構成的目標區域或捜索結束。
[0014] 進一步,所述步驟S2中得到機器魚的位姿的方法包括;步驟S23,利用重屯、法求解 機器魚在圖像坐標系中的位置;W及步驟S24,利用基于最小慣性矩的對稱軸擬合的方法 獲得機器魚在圖像坐標系中的方向。
[0015] 進一步,所述步驟S24中利用基于最小慣性矩的對稱軸擬合的方法獲得機器魚的 方向的方法包括;步驟S241,求解出對稱軸的直線方向角正切值,形成一個主方向軸,另一 個次方向軸;步驟S242,結合機器魚頭部的形狀,采用方向軸延伸法,即在兩個方向軸上分 別進行黑色像素的跨度值計算,比較兩個跨度值,較大的一個所對應的方向軸即為主方向 軸;步驟S243,所述主方向軸作為魚頭方向軸,且上在跨度的中點開始劃分,且根據魚胸罐 在中點處的上、下兩個區域的黑色像素數量得出機器魚在圖像坐標系中的方向。
[0016] 本發明的有益效果是,本發明通過通過提取機器魚圖像的藍參量進行灰度化,魚 身和泳池灰度色差明顯,灰度化效果好;將魚頭部分作為模板,利用HOG描述子描述模板的 特征,描述效果準確;利用區域生長法進行特征匹配,提前縮小捜索區域,提高算法的速度, 快速找到了捜索位置,并且利用基于最小慣性矩的對稱軸擬合的方法獲取姿態角。
【附圖說明】
[0017] 下面結合附圖和實施例對本發明進一步說明。
[0018] 圖1是本發明的無色標機器魚位姿識別算法的總流程圖;
[0019] 圖2是圖像處理后顯示的機器魚;
[0020] 圖3是圓形區域block的劃分示意圖;
[0021] 圖4是機器魚方向角示意圖;
[0022] 圖5是機器魚的兩個方向軸示意圖;
[0023] 圖6是同一主方向軸對應的兩種位姿示意圖;
[0024] 圖7是方向軸對應的正向朝向示意圖;
[0025] 圖8是機器魚識別后的仿真效果圖;
[0026] 圖9是本發明的機器魚位姿識別算法的實施流程圖。
【具體實施方式】
[0027] 現在結合附圖對本發明作進一步詳細的說明。該些附圖均為簡化的示意圖,僅W 示意方式說明本發明的基本結構,因此其僅顯示與本發明有關的構成。
[002引本發明的無色標機器魚位姿識別算法的思路是;首先對攝像頭采集機器魚的若干 圖像中的一幅圖像進行圖像處理,W識別出機器魚影像;然后再進行機器魚的定位與定向; 由于機器魚的運動是靠魚尾的不停擺動完成的,魚頭部分是保持直立狀態。因此可W將魚 頭部分作為模板,然后記錄其形狀特征,作為模板特征。本發明選用HOG描述子來描述模板 的特征,然后在實際的系統運行過程中對每幅圖像做模板匹配,捜索到每幅圖像里的魚頭 所在位置,再通過一系列的判別運算,得到魚頭的位置和方向。
[0029] 具體方法詳見實施例中相關內容。
[0030] 實施例1
[0031] 如圖1所示,本實施例提供了一種無色標機器魚位姿識別算法,包括如下步驟:
[0032] 步驟S1,對采集到一幅圖像進行圖像處理W顯示機器魚(具體為該機器魚的二值 化圖像)。
[0033] 步驟S2,將魚頭部分作為模板,W獲取各幅圖像中魚頭所