前言
視覺系統中顏色識別的魯棒性在視覺系統中經常遇到,怎樣提高它的魯棒性是乙個有一定的理論意義和實用價值。本文就此提出一實用方案,就足球機械人視覺子系統中的顏色識別例項進行介紹。
在實現足球機械人視覺子系統時存在的一大難點就是影象顏色的魯棒性,影象顏色的魯棒性形成的主要原因是光照,還有影象採集時所形成的雜訊,這些因素使所採集的影象上的顏色呈現不穩定性,而顏色訓練演算法就是為解決這個難點而設計的。顏色訓練演算法主要的目的就是製作乙個顏色修正列表,當進行影象識別時,用列表進行判斷每乙個畫素的顏色所代表的實際意義,這樣就可以準確的識別出機械人上的色標,準確地識別出賽場上活動物體的座標、方向等資料。
一、顏色模型的選取
在影象處理中最常用的兩種顏色模型是yuv模型和rgb模型。這兩種顏色模型是可以相互轉換的。對應關係如下:
yuv中的y表示亮度,u和v表示色調,可以表示所有的顏色。從理論上講用這種顏色模型就可以由u和v來判斷是某種顏色,但是由於影象採集卡產生的雜訊, u和v的值也不是很準確。
rgb中的r表示紅色,g表示綠色,b表示藍色,每種顏色都是由三元色組成的可表示顏色高達256*256*256=16777216種顏色所以基本上可以表示所有的顏色。由於光照和影象採集卡產生的雜訊,使影象中顏色的rgb值變化比較大。
如果影象採集卡輸出的影象是rgb組成的顏色陣列,選用rgb顏色模型。本文提出的顏色訓練演算法是為解決使用rgb顏色模型所出現的顏色的魯棒性這個問題而設計的。很明顯,經過適當的轉換,此法也可用於yuv顏色模型為基礎的顏色識別。
二、方案的設計思想
足球機械人比賽中,足球機械人在場地內對抗比賽,必須時刻知道足球機械人在場地內的座標、方位角及球的位置,以便決策系統給出足球機械人動作控制。在
r0b0tcup-180
足球機械人比賽中,每隊五個隊員,每隊有乙個直徑
40的色標,或是藍色或是黃色的,球是直徑
38橙色高爾夫球。針對此種狀況,要求足球機械人系統的視覺系統應具備: 1
、能正確識別出敵我雙方每個隊員的座標、方位角,球的座標; 2
、一定的實時性要求,例如一秒鐘能十次處理攝像頭送來的影象資料,並發出相應座標等資料; 3
、在有限的
pc資源下完成所需工作。一般每隊配一台
pc,它除了完成視覺系統的工作,還需完成決策系統及與上下位機的通訊工作。
人識別物體是通過對物體的特徵,如形狀、圖案、顏色或是特徵的綜合體進行比較而識別。人識別物體首先由視覺系統接收欲識別物體的資訊,再與記憶中的物體相比較,繼而作出決斷。
模擬人對物體識別的方式,針對足球機械人的識別要求及條件,提出如下方案:
1、優化設計足球機械人頭標的圖案和顏色;
3、針對實物顏色庫的快速查詢演算法。
三、優化設計足球機械人頭標的圖案和顏色
足球機械人每人都有乙個頭標,讓安裝在場地上部3公尺的攝像頭攝入。這裡有一些限制條件:場地較大,似桌球臺;足球機械人每人占地(以投影面積計算)不得超過180平方厘公尺;攝像頭的分辨力是有限的(一般採用1024 *1024)。對應這些條件,乙個畫素對應3 *3平方厘公尺,也即乙個足球機械人對應的畫素個數是很有限的,即在這有限的畫素基礎上進行識別。當然改善硬裝置效能可以提供更寬鬆的識別處理。如果能在有限個畫素的舞台上演出予定要求的戲劇來不是更好嗎?
足球機械人的頭標識別是個二維影象的識別,問題是怎樣設計頭標圖案和顏色使之頭標影象的特徵簡單明瞭、處理的硬軟體資源及開銷最少。
實驗中設計了幾種圖案與顏色作了對比試驗,模索出簡單而容易計算處理的圖案。同時,考慮到顏色的搭配,讓圖案各區的顏色反差大,也即rgb三基色之間的差值大,便於區別。圖一是其中二例。
圖一頭標圖例
四、
足球機械人頭標的顏色在不同的光照下,其rgb值是不同的,它們之間的比值也是不同的;由於某隊可以是藍色的或是黃色的,因此要有二套影象的頭標以適應之;比賽的對方在不同場次是不同的,因此它們的圖案和顏色是不同的。從以上的敘述中看出,需識別的圖案和顏色是變化的。
如果建立乙個顏色庫,在經過快速訓練後,記憶它們的顏色特徵,然後再在實際環境中去應用,這是乙個順理成章的做法。
顏色庫中儲存著顏色的rgb值和它所表示的色標,當識別影象時把影象中每個畫素的rgb值與顏色庫中的值進行比較,找到與它相等的或相近的,把顏色庫中的這個顏色所代表的色標作為這個畫素的色標,並把這個畫素的rgb值新增到顏色庫中。這樣就準確的建立了顏色與色標之間的關係。過程見圖二。
圖二
五、實物顏色庫的快速查詢演算法
顏色庫中的顏色可能有很多很多種,如果在查詢的時候跟所有的顏色進行比較這樣就太浪費時間了,不可能這樣應用,所以必須設計一種優化的顏色查詢演算法,使查詢顏色的時間盡可能的短。
如果把顏色庫建成類似哈西表的結構,見圖三,這樣就可以使查詢演算法的時間複雜度達到常量級,花很短的時間就可以找到要找的顏色在庫里有沒有。
儲存色標狀態
r紅色分量
g
綠色分量
b藍色分量
指向g分量儲存的位
置
指向b分量儲存的位置
圖
三、顏色庫的結構圖
例如,查詢某畫素的顏色rgb(3,253,3)。
先通過查詢r紅色分量3號區域,發現有g綠色分量存在,就繼續查詢綠色分量的253號位置,發現有b藍色分量存在,就繼續查詢藍色分量的3號位置,這裡存的就是顏色rgb(3,3,3)所指定的色標狀態。這樣只需很少的計算量就可以找到顏色庫中所指的色標狀態,如果有對應的顏色就返回顏色對應的色標狀態,如果沒有就呼叫模糊查詢演算法。
模糊查詢演算法的思路就是在庫中分別以要查詢的顏色的r、g、b分量向它們的兩邊進行搜尋,在一定範圍內找與這個顏色最接近的顏色,這個範圍是根據需要確定的,把它稱為模糊係數。如果在這個範圍內存在乙個最接近的顏色,就把這個要查詢的顏色新增到庫中,並使它所代表的色標等於最接近的顏色所代表的色標,見圖四。
例如,要查詢顏色rgb(4,255,2),模糊係數為3。
先從r紅色分量的4號查詢,發現庫中沒有指定g綠色分量,就向兩邊查詢,範圍為3個單元格,當查詢到3時發現有g綠色分量,就順著3號的g綠色分量入口查詢255號單元格,發現沒有指定b藍色分量,就往一邊查詢,當查詢到253號時發現有藍色分量,就順著253號的b藍色分量查詢2號單元格,發現沒有指定色標狀態,就向兩邊查詢,找到3號指定了色標狀態,返回這個色標狀態。這樣模糊查詢就結束了。
255沒
有
向
一
邊
尋
找
儲存色標狀態
r紅色分量
g
綠色分量
b藍色分量
指向g分量儲存的位
置
指向b分量儲存的位置
4號沒有向兩邊尋找
2號沒有向兩邊尋找
圖
四、模糊識別過程**
六、結論
這個演算法實際上就是為影象上不規則的顏色製作乙個修正列表,採用優化的查詢演算法來識別顏色,並為適應場上顏色的變化具有一定的學習能力。識別顏色的準確度跟顏色庫製作的好壞息息相關,如果經過一定實踐人來控制顏色訓練的尺度,將能訓練出非常準確的顏色庫。從部分實驗結果看,命中率達到90%以上,基本滿足需要,當然還需做一定的工作,提高命中率。
開發工具是visual c++6.0, 用物件導向的方法把顏色庫和對它的各種操作封裝成乙個叫顏色管理器的類,這樣影象識別演算法就可以很容易的對顏色庫進行操作了。
此方法還可以推廣延伸,應用到更多的場合。
參考文獻
1何斌等,visual c++影象處理,北京,人民郵電出版社,2001
運動視覺系統
運動視覺系統,是基礎運動控制,io控制,視覺控制,通過編寫邏輯來實現對軸,視覺控制。支援離線功能,運動軌跡功能,自修復檢查功能,cnc功能,指令碼編輯。手動控制,軌跡示教。你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了...
什麼是機器視覺系統
機器視覺技術是計算機學科的乙個重要分支,它綜合了光學 機械 電子 計算機軟硬體等方面的技術,涉及到計算機 影象處理 模式識別 人工智慧 訊號處理 光機電一體化等多個領域。自起步發展至今,已經有20多年的歷史,其功能以及應用範圍隨著工業自動化的發展逐漸完善和推廣,其中特別是目前的數字影象感測器 cmo...
機器視覺系統硬體部分
1光源部分 目前用的比較多的就是這幾種 螢光燈 放電現象將電能轉換為光。發光顏色以白色為主,其中三波長螢光燈比較接近自然光。鹵素燈 將惰性氣體和鹵素氣體密封在玻璃球內部,發光原理與白熾燈一樣,但是比白熾燈更亮,壽命更長。白熾燈 通過燈絲的電流產生光的。老化快,隨著時間推移,亮度迅速下降。led 壽命...