江漢大學(xué)物理與信息工程學(xué)院 謝光福 王中明 高文帥 史珮穎
引言:在人工智能領(lǐng)域,將圖像處理技術(shù)應(yīng)用于顏色識別和定位跟蹤具有很強的優(yōu)勢,應(yīng)用很廣,其算法的研究越來越多。本文采用CamShift算法對顏色以及定位跟蹤算法進行整合,抗干擾性強,捕捉顏色目標(biāo)快速、準(zhǔn)確,在使用過程中取得較好的效果。
相較于COMS傳感器的攝像頭,CCD攝像頭在靈敏度、分辨率以及噪聲方面有比較大的優(yōu)越性,再對采集到的圖像進行進一步的算法優(yōu)化:
利用普通 CCD 攝像頭獲取周圍環(huán)境圖像,對獲取的圖像進行平滑濾波處理:
1.1.1 高斯算法處理。高斯濾波器是一種線性濾波器,能夠有效對攝像頭得到的圖像進行噪聲處理。其原理是取濾波器窗口內(nèi)的像素的均值作為輸出,相比于均值濾波器對圖像模糊程度較小。
1.1.2 中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中一點的值用該點的一個鄰域中各點值的中值取代,讓四周的像素值靠近的真實值,從而孤立的噪聲點。在圖像處理中,常用于保護圖像邊緣信息,是平滑噪聲的經(jīng)典方法
基于兩種濾波器各自的特性,故在程序中同時用兩種濾波器對圖像進行處理達到互補的目的,在減少噪聲方面具有更好的效果。
由于 HSV 顏色空間具有較好的穩(wěn)定性,將RGB顏色模型轉(zhuǎn)換為HSV顏色模型,排除光線等因素影響。RGB顏色空間到 HSV顏色空間的數(shù)學(xué)轉(zhuǎn)換公式:
其中此中R、G、B、為RGB色彩空間的赤色、綠色和藍色3個分量的值,H、S、V為HSV即色相(Hue)、飽和度(Saturation)、明度(Value)。通過采用這種函數(shù)轉(zhuǎn)換的方法得到相應(yīng)的HSV顏色參數(shù),接下來就是對得到的HSV圖像進行通道分離,分別為 H(色度通道圖像)、S(飽和度通道圖像)及 V(亮度通道圖像)。本系統(tǒng)中對目標(biāo)進行顏色選取,通過創(chuàng)建滑動條返回想要顏色參數(shù)的閾值,這樣做的目的是能在目標(biāo)顏色不均勻時候手動選取相應(yīng)的顏色范圍。
CamShift算法由MeanShift算法通過迭代算法的方式進行運算,在搜索跟蹤過程中對于視頻序列中的每一幀采用MeanShift來尋找最優(yōu)迭代結(jié)果,加上對圖像灰度相似度的度量,兩者協(xié)同作用,實現(xiàn)目標(biāo)跟蹤。
CamShift算法是對MeanShift迭代算法的改良,將目標(biāo)的顏色直方圖模型將圖像轉(zhuǎn)換為顏色概率分布圖,初始化一個搜索窗口的位置和大小。調(diào)整目標(biāo)形態(tài),根據(jù)上一幀得到的圖像處理結(jié)果自適應(yīng)調(diào)整搜索窗口的位置和大小、定位出當(dāng)前圖像中的目標(biāo)靶中心。具體步驟可以理解為三步:
①反向投影。RGB顏色空間對于光照變換比HSV空間敏感,為了將運動中光線影響程度降低,就需要將RBG顏色空間轉(zhuǎn)換為HSV顏色空間,并且提取所需的H(色相)通道。對H通道分量做直方圖,在直方圖中代表不同的H分量值的像素和概率密度,即可以得到顏色概率密度表。再用顏色密度概率對應(yīng)的值替換到相應(yīng)的顏色像素,得到顏色密度概率分布圖,此過程即為反向投影,也是CamShift算法的基礎(chǔ)。
②MeanShift迭代算法。通過調(diào)整搜索窗的大小,移動搜索窗尋找目標(biāo)位置質(zhì)心,如果運動目標(biāo)距離大于預(yù)設(shè)的固定閾值,則重復(fù)尋找目標(biāo)質(zhì)心,直到搜索窗口的中心與質(zhì)心之間的距離小于預(yù)設(shè)定的閾值,反復(fù)迭代計算出目標(biāo)在新一幀圖像中的位置。
③調(diào)整目標(biāo)形態(tài)。該算法的核心就體現(xiàn)在這一步驟。以搜尋到的目標(biāo)為中心,通過膨脹腐蝕算法,適量擴大統(tǒng)計范圍,通過計算膨脹范圍內(nèi)的顏色概率信息,判斷目標(biāo)大小、運動旋轉(zhuǎn)角度等信息并重新計算出中心點。并且不斷調(diào)整搜索窗口,將位置信息及時反饋,保持算法能夠從上一幀計算結(jié)果得到迭代所需數(shù)據(jù),保持了算法處理的連續(xù)性。
計算過程具體如下:
假設(shè)Carray(x,y)為對應(yīng)坐標(biāo)(x,y)點的H(色相)值;mij分別為統(tǒng)計范圍內(nèi)x方向i階、y方向j階顏色的矩值。
則調(diào)整后的目標(biāo)運動旋轉(zhuǎn)角度量(θ)、長度(L)、寬度(W)為:
經(jīng)由過程MeanShift迭代算法搜刮窗口標(biāo)定方針中間,在搜索窗口中盡量大的捕捉目標(biāo)。采用腐蝕膨脹算法,對目標(biāo)中心進行膨脹處理,給目標(biāo)的邊界添加像素,添加像素的大小將由參數(shù)設(shè)定決定。腐蝕算法將對目標(biāo)周圍出現(xiàn)的噪點進行識別,并且配合膨脹算法對目標(biāo)邊界上的噪點進行清除。在腐蝕膨脹算法的處理完成后,根據(jù)求得的θ、L、W,重新確定目標(biāo)小球的位置信息,提取下一幀目標(biāo)中心點進行MeanShift迭代。
CamShift 采用顏色密度概率信息作為判斷依據(jù),利用膨脹腐蝕算法對目標(biāo)中心進一步擴大,使在搜尋目標(biāo)的難度大大降低。在背景顏色與目標(biāo)顏色相似的情況下,通過期做的空間圖像轉(zhuǎn)換所得到的閾值會很快區(qū)分背景顏色和目標(biāo)顏色,從而對跟蹤、識別準(zhǔn)確度產(chǎn)生較好的效果,從而對CamShift算法的處理提高非常大的識別度。
在Camshift算法的基礎(chǔ)上,結(jié)合顏色空間轉(zhuǎn)換的思路,能夠在背景顏色相近的情況下靈敏度有了較大的改善。通過空間圖像的轉(zhuǎn)換、閾值的設(shè)定、腐蝕算法等方法,極大限度的統(tǒng)計出一定范圍內(nèi)像素點的變化情況,并且通過腐蝕膨脹算法將目標(biāo)前景里面的凸點填補和噪點的清除,在目標(biāo)運動的過程中,動態(tài)判斷該范圍前景目標(biāo)周圍的背景環(huán)境區(qū)分,極大的減小了環(huán)境波動造成的誤差漂移,抗干擾能力更強,而且在這個過程中對CamShift算法本身沒有產(chǎn)生過多的計算量,使之適應(yīng)力更強,該系統(tǒng)的算法流程圖如圖1所示。
圖1 跟蹤算法流程圖
本文通過對顏色的空間轉(zhuǎn)換、膨脹腐蝕算法和確立背景模型的方法,結(jié)合經(jīng)典的CamShift跟蹤定位算法。實驗結(jié)果表明,此方法能對快速運動的物體進行快速、精確的定位以及跟蹤。經(jīng)驗證表明,該算法運用于色彩鮮明的尋跡定位的圖像識別具有良好的效果。