江漢大學物理與信息工程學院 謝光福 王中明 高文帥 史珮穎
引言:在人工智能領域,將圖像處理技術應用于顏色識別和定位跟蹤具有很強的優勢,應用很廣,其算法的研究越來越多。本文采用CamShift算法對顏色以及定位跟蹤算法進行整合,抗干擾性強,捕捉顏色目標快速、準確,在使用過程中取得較好的效果。
相較于COMS傳感器的攝像頭,CCD攝像頭在靈敏度、分辨率以及噪聲方面有比較大的優越性,再對采集到的圖像進行進一步的算法優化:
利用普通 CCD 攝像頭獲取周圍環境圖像,對獲取的圖像進行平滑濾波處理:
1.1.1 高斯算法處理。高斯濾波器是一種線性濾波器,能夠有效對攝像頭得到的圖像進行噪聲處理。其原理是取濾波器窗口內的像素的均值作為輸出,相比于均值濾波器對圖像模糊程度較小。
1.1.2 中值濾波的基本原理是把數字圖像或數字序列中一點的值用該點的一個鄰域中各點值的中值取代,讓四周的像素值靠近的真實值,從而孤立的噪聲點。在圖像處理中,常用于保護圖像邊緣信息,是平滑噪聲的經典方法
基于兩種濾波器各自的特性,故在程序中同時用兩種濾波器對圖像進行處理達到互補的目的,在減少噪聲方面具有更好的效果。
由于 HSV 顏色空間具有較好的穩定性,將RGB顏色模型轉換為HSV顏色模型,排除光線等因素影響。RGB顏色空間到 HSV顏色空間的數學轉換公式:

其中此中R、G、B、為RGB色彩空間的赤色、綠色和藍色3個分量的值,H、S、V為HSV即色相(Hue)、飽和度(Saturation)、明度(Value)。通過采用這種函數轉換的方法得到相應的HSV顏色參數,接下來就是對得到的HSV圖像進行通道分離,分別為 H(色度通道圖像)、S(飽和度通道圖像)及 V(亮度通道圖像)。本系統中對目標進行顏色選取,通過創建滑動條返回想要顏色參數的閾值,這樣做的目的是能在目標顏色不均勻時候手動選取相應的顏色范圍。
CamShift算法由MeanShift算法通過迭代算法的方式進行運算,在搜索跟蹤過程中對于視頻序列中的每一幀采用MeanShift來尋找最優迭代結果,加上對圖像灰度相似度的度量,兩者協同作用,實現目標跟蹤。
CamShift算法是對MeanShift迭代算法的改良,將目標的顏色直方圖模型將圖像轉換為顏色概率分布圖,初始化一個搜索窗口的位置和大小。調整目標形態,根據上一幀得到的圖像處理結果自適應調整搜索窗口的位置和大小、定位出當前圖像中的目標靶中心。具體步驟可以理解為三步:
①反向投影。RGB顏色空間對于光照變換比HSV空間敏感,為了將運動中光線影響程度降低,就需要將RBG顏色空間轉換為HSV顏色空間,并且提取所需的H(色相)通道。對H通道分量做直方圖,在直方圖中代表不同的H分量值的像素和概率密度,即可以得到顏色概率密度表。再用顏色密度概率對應的值替換到相應的顏色像素,得到顏色密度概率分布圖,此過程即為反向投影,也是CamShift算法的基礎。
②MeanShift迭代算法。通過調整搜索窗的大小,移動搜索窗尋找目標位置質心,如果運動目標距離大于預設的固定閾值,則重復尋找目標質心,直到搜索窗口的中心與質心之間的距離小于預設定的閾值,反復迭代計算出目標在新一幀圖像中的位置。
③調整目標形態。該算法的核心就體現在這一步驟。以搜尋到的目標為中心,通過膨脹腐蝕算法,適量擴大統計范圍,通過計算膨脹范圍內的顏色概率信息,判斷目標大小、運動旋轉角度等信息并重新計算出中心點。并且不斷調整搜索窗口,將位置信息及時反饋,保持算法能夠從上一幀計算結果得到迭代所需數據,保持了算法處理的連續性。
計算過程具體如下:

假設Carray(x,y)為對應坐標(x,y)點的H(色相)值;mij分別為統計范圍內x方向i階、y方向j階顏色的矩值。
則調整后的目標運動旋轉角度量(θ)、長度(L)、寬度(W)為:

經由過程MeanShift迭代算法搜刮窗口標定方針中間,在搜索窗口中盡量大的捕捉目標。采用腐蝕膨脹算法,對目標中心進行膨脹處理,給目標的邊界添加像素,添加像素的大小將由參數設定決定。腐蝕算法將對目標周圍出現的噪點進行識別,并且配合膨脹算法對目標邊界上的噪點進行清除。在腐蝕膨脹算法的處理完成后,根據求得的θ、L、W,重新確定目標小球的位置信息,提取下一幀目標中心點進行MeanShift迭代。
CamShift 采用顏色密度概率信息作為判斷依據,利用膨脹腐蝕算法對目標中心進一步擴大,使在搜尋目標的難度大大降低。在背景顏色與目標顏色相似的情況下,通過期做的空間圖像轉換所得到的閾值會很快區分背景顏色和目標顏色,從而對跟蹤、識別準確度產生較好的效果,從而對CamShift算法的處理提高非常大的識別度。
在Camshift算法的基礎上,結合顏色空間轉換的思路,能夠在背景顏色相近的情況下靈敏度有了較大的改善。通過空間圖像的轉換、閾值的設定、腐蝕算法等方法,極大限度的統計出一定范圍內像素點的變化情況,并且通過腐蝕膨脹算法將目標前景里面的凸點填補和噪點的清除,在目標運動的過程中,動態判斷該范圍前景目標周圍的背景環境區分,極大的減小了環境波動造成的誤差漂移,抗干擾能力更強,而且在這個過程中對CamShift算法本身沒有產生過多的計算量,使之適應力更強,該系統的算法流程圖如圖1所示。

圖1 跟蹤算法流程圖
本文通過對顏色的空間轉換、膨脹腐蝕算法和確立背景模型的方法,結合經典的CamShift跟蹤定位算法。實驗結果表明,此方法能對快速運動的物體進行快速、精確的定位以及跟蹤。經驗證表明,該算法運用于色彩鮮明的尋跡定位的圖像識別具有良好的效果。