本發(fā)明屬于計(jì)算機(jī)視覺領(lǐng)域的目標(biāo)跟蹤技術(shù),具體涉及一種結(jié)合有效異常點(diǎn)檢測(cè)的粒子濾波目標(biāo)跟蹤算法。
背景技術(shù):
隨著現(xiàn)代科技的快速發(fā)展,視頻監(jiān)控系統(tǒng)的應(yīng)用已經(jīng)融入到很多住宅小區(qū)停車場(chǎng)以及街道,特別是在銀行、機(jī)場(chǎng)安檢等與人們生命財(cái)產(chǎn)安全相關(guān)的特殊場(chǎng)合。因此視頻監(jiān)控技術(shù)的研究成為了國(guó)內(nèi)外研究的熱點(diǎn)。其中目標(biāo)跟蹤是被廣泛關(guān)注的一種技術(shù)。雖然目前人們已經(jīng)研究了很多的跟蹤算法,但是目標(biāo)跟蹤技術(shù)依舊面對(duì)很多挑戰(zhàn),例如因?yàn)楣庹?、視角、遮擋等原因引起目?biāo)外觀發(fā)生變化時(shí),如何及時(shí)地更新外觀模型,并且準(zhǔn)確高效地估計(jì)出目標(biāo)的位置是目標(biāo)研究的一個(gè)難題。
常用的目標(biāo)跟蹤框架包含兩個(gè)模塊,一個(gè)是目標(biāo)狀態(tài)估計(jì)模塊,一個(gè)是目標(biāo)外觀模型模塊。目標(biāo)狀態(tài)估計(jì)主要是根據(jù)當(dāng)前幀來估計(jì)下一幀目標(biāo)的位置,常用的算法是光流法、mean-shift、粒子濾波等,粒子濾波因其非線性、非高斯、非參數(shù)的特點(diǎn)被廣泛應(yīng)用。
目標(biāo)外觀模型的建立中,主成分分析法(principalcomponentanalysis,以下簡(jiǎn)稱為pca)作為數(shù)據(jù)分析工具的一種,常常被用來分析灰度特征各個(gè)維度之間的相關(guān)性,通過去相關(guān)的技術(shù)降低其維度,從而建立目標(biāo)外觀模型。在粒子濾波的框架下,pca首先對(duì)目標(biāo)模板進(jìn)行特征空間的建模,然后將粒子投影到該特征空間進(jìn)行重建,通過計(jì)算粒子的重建誤差,來判斷粒子與目標(biāo)的相似度,最后通過粒子的概率加權(quán)來估計(jì)目標(biāo)的位置。pca建立的特征空間在跟蹤的過程中,計(jì)算簡(jiǎn)單,速度快,不受光照和噪聲的影響。但是對(duì)目標(biāo)外觀變化很敏感,因此需要在跟蹤的過程中對(duì)pca特征空間進(jìn)行更新。目前大部分基于pca的算法中,都有更新的模塊,但是更新的頻率太高,降低了跟蹤的效率。例如,在j.lim2004年提出的ilv(incrementallearningforvisual)算法以及2013年wangd中osp(onlineobjecttrackingwithsparseprototypes)中都使用pca進(jìn)行外觀建模,并且使用增量pca對(duì)之前的特征空間進(jìn)行更新,這兩個(gè)算法中,直接按照每5幀一次的更新頻率進(jìn)行,這樣的更新頻率不僅引起不必要的更新,更是極大地增加了計(jì)算的復(fù)雜度。若減小更新頻率,就會(huì)導(dǎo)致更新的不夠及時(shí),致使錯(cuò)誤的跟蹤結(jié)果。因此,如何實(shí)現(xiàn)最佳的更新頻率,避免增加不必要的復(fù)雜度,同時(shí)又避免因?yàn)楦碌牟粔蚣皶r(shí)導(dǎo)致的錯(cuò)誤跟蹤結(jié)果是一個(gè)迫切需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)的技術(shù)問題是在目標(biāo)跟蹤中對(duì)pca建立的特征空間進(jìn)行更新時(shí),頻繁地更新會(huì)引起不必要的計(jì)算,但是若減少更新頻率,又會(huì)因更新的不及時(shí)導(dǎo)致目標(biāo)跟丟的現(xiàn)象。
為解決上述問題,本發(fā)明提出了一種結(jié)合有效異常點(diǎn)檢測(cè)的粒子濾波目標(biāo)跟蹤算法,在更新之前,增加判斷準(zhǔn)則,對(duì)跟蹤結(jié)果進(jìn)行異常點(diǎn)檢測(cè),并且統(tǒng)計(jì)異常像素的個(gè)數(shù),通過實(shí)驗(yàn)設(shè)置閾值,判斷異常個(gè)數(shù)是否到達(dá)更新要求。一旦異常點(diǎn)個(gè)數(shù)超過閾值,則進(jìn)行特征空間更新。
本發(fā)明的技術(shù)方案具體包括以下步驟:
(1)在粒子濾波的框架中,使用pca法對(duì)目標(biāo)模板進(jìn)行特征空間的建模;
(2)在后續(xù)的跟蹤中,使用該特征空間計(jì)算粒子的權(quán)值,通過計(jì)算粒子的概率加權(quán)和來估計(jì)目標(biāo)的位置,完成第一階段的pca;
(3)使用洛倫茲估計(jì)器對(duì)第一階段pca的追蹤結(jié)果進(jìn)行異常值檢測(cè),并計(jì)算異常值個(gè)數(shù),通過設(shè)置閾值,判斷異常值個(gè)數(shù)是否達(dá)到更新的標(biāo)準(zhǔn);
(4)對(duì)達(dá)到更新標(biāo)準(zhǔn)的追蹤結(jié)果,進(jìn)行二次pca分解。
進(jìn)一步,上述步驟1具體包括以下步驟:
(1)
(2)計(jì)算x的協(xié)方差矩陣r=xtx;
(3)計(jì)算協(xié)方差矩陣r的特征值和特征向量;
(4)取對(duì)應(yīng)特征值大的特征向量為目標(biāo)模板的特征向量空間。
上述步驟2又包括以下步驟:
(1)進(jìn)行目標(biāo)跟蹤時(shí),將粒子投影到目標(biāo)特征空間中,使用該特征空間的向量來表示粒子,并計(jì)算粒子重建誤差
(2)使用最小二乘估計(jì)法計(jì)算系數(shù)c,即c=uty;
(3)最后通過計(jì)算粒子的概率加權(quán)和來估計(jì)目標(biāo)在當(dāng)前幀的位置。
上述步驟3包括以下步驟:
(1)使用的洛倫茲估計(jì)器為
(2)使用梯度下降法求解該最小化問題,在迭代的過程中,系數(shù)c按照
(3)迭代結(jié)束后,使用該系數(shù)計(jì)算追蹤目標(biāo)重建誤差,該誤差中大于
(4)最后計(jì)算異常點(diǎn)的所有個(gè)數(shù),設(shè)置閾值,該值可以通過實(shí)驗(yàn)獲得,若異常點(diǎn)的個(gè)數(shù)大于該閾值,則說明該追蹤結(jié)果需要更新。
上述步驟4所述的進(jìn)行二次pca分解具體包括:
(1)收集需要更新的追蹤結(jié)果,達(dá)到一定幀數(shù)時(shí),將這些追蹤結(jié)果再次投影到特征空間中;
(2)使用最小二乘法來計(jì)算追蹤結(jié)果的重建誤差,并且對(duì)該誤差進(jìn)行二次pca分解;
(3)分解得到的特征向量中,將具有最大特征值的特征向量增加到之前的特征空間中,完成一次更新。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:
1,本發(fā)明在該目標(biāo)跟蹤算法中使用洛倫茲估計(jì)器對(duì)跟蹤結(jié)果進(jìn)行異常值檢測(cè),通過統(tǒng)計(jì)異常點(diǎn)的個(gè)數(shù)來判斷是否需要更新。首先增加判斷條件,一方面可以大大減少更新的頻率,另一方面可以準(zhǔn)確地檢測(cè)到是否需要更新,。
2,本發(fā)明通過計(jì)算異常點(diǎn)來判斷更新的方法,比直接計(jì)算所有像素重建誤差平方和更加準(zhǔn)確,因?yàn)樗邢袼刂校幸徊糠质莵碜员尘?,如果背景發(fā)生變化,也會(huì)使整個(gè)重建誤差和增大,從而增加不必要的更新,而洛倫茲估計(jì)器只關(guān)心異常值,這樣在一定程度上減小了背景對(duì)更新的影響。
附圖說明
圖1為粒子在pca建立的特征空間u中投影的幾何表示示意圖。
圖2為洛倫茲估計(jì)器函數(shù)以及其影響函數(shù)示意圖。
圖3為本發(fā)明整個(gè)算法流程圖。
圖4為使用pca建立的目標(biāo)特征空間。
圖5為目標(biāo)外觀變化不大的時(shí),異常點(diǎn)的檢測(cè)示意圖。
圖6為目標(biāo)外觀變化較大時(shí),異常點(diǎn)的檢測(cè)示意圖。
圖7為目標(biāo)在遮擋的時(shí)候,異常點(diǎn)的檢測(cè)示意圖。
圖8為序列每一幀異常點(diǎn)的統(tǒng)計(jì)曲線的顯示圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式做進(jìn)一步詳盡的說明。
本發(fā)明提出的一種結(jié)合有效異常點(diǎn)檢測(cè)的粒子濾波目標(biāo)跟蹤算法主要分為以下4個(gè)步驟:
1、在粒子濾波的框架中,使用pca技術(shù)對(duì)目標(biāo)模板進(jìn)行特征空間的建模。
首先讀入視頻序列的第一幀,手動(dòng)框出目標(biāo),對(duì)目標(biāo)進(jìn)行簡(jiǎn)單的顏色直方圖建模;然后在該目標(biāo)周圍,按照均值為0,方差為5的高斯分布開始設(shè)置粒子分布,通過計(jì)算每個(gè)粒子和目標(biāo)顏色直方圖之間的歐式距離,判斷粒子與目標(biāo)的相似度,并給予相應(yīng)的權(quán)值;最后計(jì)算粒子的概率加權(quán)和,來估計(jì)下一幀的粒子。每次都把跟蹤結(jié)果保存下來連續(xù)跟蹤5幀之后,將跟蹤結(jié)果使用pca分解出5個(gè)互相垂直的特征向量,這5個(gè)特征向量共同組成了目標(biāo)模板的特征空間u,將垂直于u的空間表示為
2、在后續(xù)的跟蹤中,使用該特征空間計(jì)算粒子的權(quán)值,通過計(jì)算粒子的概率加權(quán)和來估計(jì)目標(biāo)的位置,此為第一階段的pca;
在后續(xù)的跟蹤中,將該粒子投影到此特征空間中,然后計(jì)算粒子的重建誤差。如圖1所示,向量
3、使用洛倫茲估計(jì)器對(duì)第一階段pca的追蹤結(jié)果進(jìn)行異常點(diǎn)檢測(cè),并計(jì)算異常點(diǎn)個(gè)數(shù),通過設(shè)置閾值,判斷異常值個(gè)數(shù)是否達(dá)到更新的標(biāo)準(zhǔn);
用y來表示步驟2中的追蹤結(jié)果,使用洛倫茲估計(jì)器來計(jì)算y中的異常點(diǎn),其計(jì)算公式為:
使用梯度下降法來估計(jì)該參數(shù),迭代公式是:
其中c是特征向量的系數(shù),σ指的是異常點(diǎn)和正常點(diǎn)判斷的界限,兩個(gè)參數(shù)都要在迭代中收斂。參數(shù)初始化為:c0=[1,1,1,1,1]t,σ0=1,參數(shù)上標(biāo)表明迭代的次數(shù),0即還沒有開始迭代時(shí)的參數(shù)值。梯度下降的步長(zhǎng)step=0.01;若步長(zhǎng)太大,梯度下降法容易發(fā)生震蕩,若步長(zhǎng)太小,下降速度太慢,需要比較多的迭代次數(shù)才能收斂,本實(shí)驗(yàn)中的步長(zhǎng)設(shè)計(jì)是通過實(shí)驗(yàn)獲得,并且只需要15次左右的迭代便可以收斂,另外
除了參數(shù)c每次迭代時(shí)需要更新,參數(shù)σ每次迭代也要更新,其更新公式是:
通過迭代算法獲得參數(shù)c和σ后,計(jì)算重建誤差
4、對(duì)達(dá)到更新標(biāo)準(zhǔn)的追蹤結(jié)果,進(jìn)行二次pca分解。
將達(dá)到更新標(biāo)準(zhǔn)的追蹤結(jié)果,收集起來,達(dá)到5幀時(shí),再進(jìn)行更新,更新方法是把這5幀再次使用最小二乘的方法投影到舊的特征空間中,然后計(jì)算重建誤差,將重建誤差進(jìn)行二次pca的分解,將分解的特征向量中最大特征值對(duì)應(yīng)的特征向量添加到原有的特征空間中,完成更新。
實(shí)驗(yàn)結(jié)果如下圖,圖4是使用pca對(duì)目標(biāo)模板建立的特征空間,后續(xù)的跟蹤都使用這個(gè)特征空間;圖5是目標(biāo)外觀變化不大時(shí)檢測(cè)到的異常點(diǎn)的顯示,異常點(diǎn)個(gè)數(shù)是462,σ=0.194975;圖6是外觀變化較大時(shí)異常點(diǎn)的個(gè)數(shù)是892,σ=0.236287;圖7是遮擋的時(shí)候的異常點(diǎn)顯示,異常點(diǎn)個(gè)數(shù)是1627,σ=0.317551;圖8是該序列每一幀異常點(diǎn)的統(tǒng)計(jì)的曲線顯示。兩個(gè)比較大的峰值,是目標(biāo)被遮擋的時(shí)候。把遮擋也看作是目標(biāo)外觀發(fā)生變化的一種,也進(jìn)行更新,可以處理目標(biāo)遮擋時(shí)候的追蹤。
需要說明的是,以上所述僅為本發(fā)明的一個(gè)具體實(shí)施例,并不用以限制本發(fā)明,本實(shí)施例中所用數(shù)據(jù)集和攻擊模式僅限于本實(shí)施例,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。