竇 超,孟立凡,任景平
(中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點實驗室,山西太原030051)
在人類認識世界的進程中,眼部器官起到了至關(guān)重要的作用[1],但是隨著信息時代的發(fā)展,人類已經(jīng)不止步于“眼界”,而向著計算機視覺的方向大步而行,因為在人類感知世界的過程中,視覺信息占著舉足輕重的作用,并且也是人類認識、獲取、理解,并與整個世界及時溝通的最有效率的辦法之一。在此背景下,機器視覺應(yīng)運而生,將機器與視覺聯(lián)系起來,并不是簡單的攝像,而是讓機器有了人類處理圖像的能力,使機器捕捉到圖像或視頻后,能夠通過自身的分析判斷,對所遇到的情況進行自動處理。
用于目標跟蹤的mean shift算法,并不是完全智能的算法,因為在跟蹤初始幀的時候,需要將被跟蹤的區(qū)域使用鼠標進行劃分,自己不能獨立運作,起始的時候需要手動參與,通過鼠標劃分好區(qū)域后,也就確定了核函數(shù)所作用的區(qū)域,鼠標劃分出來區(qū)域的半徑就是核函數(shù)的帶寬,即跟蹤窗口的半徑[1]。
在被跟蹤區(qū)域的所有像素點,首先要對被跟蹤的目標進行描述,可以通過計算特征空間中每個特征值的概率來得到,然后通過Bhattacharyya(巴特查理亞)系數(shù),來檢查差異性,因為初始幀的目標模型是在跟蹤前就選定的確定量[2],而每一幀中的候選模型不同,所以我們要引入Bhattacharyya巴氏系數(shù),求其最大值。因為巴氏系數(shù)的主要作用就是用來描述兩個樣本之間相似的程度,并用一個確定的值來做結(jié)論,在跟蹤領(lǐng)域,求其最大值,就是來計算下一幀中可能的目標中,與上一幀目標最相似的目標,也就是真實的目標。進而就可以得到每一幀中候選模型與初始幀的目標模型相似度最高的時候,當相似性最高這個條件滿足時,就可以得到mean shift向量,整個原理就是mean shift向量從初始幀目標區(qū)域的位置,在收斂的前提下,經(jīng)過一定程度的迭代,當?shù)Y(jié)束后,最終指向正確的位置,也就是選定區(qū)域中密度最高處。如圖1所示為迭代過程圖。
圖1 迭代過程圖
圖2 mean shift算法流程圖
本實驗的實驗環(huán)境在windows7操作系統(tǒng)下運行,該計算機配置為雙核intel i3處理器,其主頻為2.53 GHz,4 GB內(nèi)存,并且配備顯存為512 M的獨立顯卡,該型配置足以順利運行Matlab R2008a。首先我們選用Matlab數(shù)據(jù)庫自帶的范例視頻做一次測試,該視頻容量很小,不到1 M,背景幾乎無光線變化,且目標與背景相差較大,無遮擋,計算機足以處理,本次試驗的目的就是測試mean shift算法是否能成功跟蹤到目標,實驗結(jié)果如圖3所示。
圖3 測試效果圖
由跟蹤結(jié)果可以看出來,mean shift算法在背景簡單的情況下成功了跟蹤了目標。
[1]Simon Denman Vinod Chandran Sridha Sridharan.An A-daptive Optical Flow Technique for Person Tracking Systems[J].Pattern Recognition Letters,2007,28(10):1232-1239.
[2]Dorin Comaniciu Visvanathan Ramesh,Peter Meer.Realtime Tracking of Non-Rigid Objects Using Mean Shift[G].In Proc.of IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR2000),2000,2,2142 -2149.
[3]Aldo Maalouf.Robust Foveal Wavelet- Based Object Tracking[G].Member IEEE,Mohamed-Chaker Larabi,Senior Member IEEE,2012ICASSP.