竇 超,孟立凡,任景平
(中北大學儀器科學與動態(tài)測試教育部重點實驗室,山西太原030051)
Camshift算法作用在于對選定的區(qū)域也就是人臉目標進行特征提取。而相較于傳統(tǒng)跟蹤部分,本方法通過HSV顏色空間,能夠將色度與亮度進行區(qū)分處理,進一步減少光照的影響。而Camshift算法正是在此特點下的最好方法[1],該算法重要的一步就將圖像完成了從RGB顏色空間向HSV顏色空間的轉換,隨后通過對H分量的分離提取進而完成了人臉直方圖的建立,進而成為整個系統(tǒng)的核心。
設運算得到的人臉圖像為f(x,y),w,h分別代表長與寬,j代表的是圖像的最高灰度級數(shù),那么人臉圖像我們可以用以下數(shù)學公式來描述。
在上式中,我們將直方圖中的尺度范圍進行一定變換,從[0,max(q)]到
采集的視頻中的像素我們可以通過直方圖中相應的統(tǒng)計量來代替,在此基礎上,再次量化得到結果。那么顏色概率的分布圖其實就是視頻圖像的反相投影。這個分布圖中包含了各式顏色分量的分布情況,比如當目標的顏色概率如果趨于1的話,那么就代表白色。背景顏色概率如果接近0的話,就代表黑色。
在視頻圖像序列中,我們可以得到人臉目標顏色的概率分布,利用重心的方法[1],可以通過圖像目標的零階矩與一階矩獲得,Camshift可以得到目標的質心坐標,后續(xù)的處理與前面類似,每得到下一幀圖像,Camshift算法能夠自動調節(jié)窗口的大小,并利用當前幀的位置來預測下一幀的參數(shù)即窗口的位置與大小。具體步驟與流程如下。
圖1 Camshift跟蹤算法流程圖
1)通過前期對人臉的識別與檢測,在顏色概率分布圖中,設定初始的搜索窗口s,w,h分別代表窗口的長與寬[3]。
2)其次就可以采用重心的方法來搜索質心。
則窗口質心:(x0,y0)為
f(x,y)是坐標 x,y 的像素值,x?(1,w),y?(1,h)。
3)對搜索窗口長w寬h重新設定為上步驟中搜索窗口的顏色概率分布函數(shù)。
4)將2)與3)步驟不斷反復運算,當質心改變至小于設定的閾值為止。
5)在2)中對零階矩與一階矩進行計算的同時,進行二階矩的計算,進而可以得到目標的長軸,短軸,方向角與尺度參量[4]。
整個運算過程是在intel雙核處理器與4G內存的基礎上運行,該配置足以處理該類視頻的運算。如圖2所示,跟蹤框也將人體面部成功識別出來,并開始識別追蹤。
圖2 實驗結果圖
從分析結果可知,Camshift算法已經成功在人臉追蹤部分運用,取得了良好的效果,具有一定的應用價值。
[1]Babu V,Makur R.A Kernel-Based Spatial-Color Modeling for Fast Moving Object Tracking[G].Proc.of the IEEE International Conference on Acoustics,Speech and Signal Processing,2007:901 -904.
[2]Naoya Oshimal,Takeshi Saitoh1,Ryosuke Konishil.Real Time Mean Shift Tracking using Optical Flow Distribution[G].SICE-ICASE International Joint Conference,2006 Oct.18 -21,in Bexco,Busan,Korea,2006.
[3]Wu M,Peng X,Zhang Q,et al.Patches-based Markov Random Field Model for Multiple Object Tracking Under Occlusion[J].Signal Proeessing,2010,90(5):1518 -1529.
[4]Cheng Chang,Rashid Ansari.Kernel Particle Filter for Visual Tracking[G].IEEE Signal Processing Letters,2005,12(3).