專利名稱:用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及運(yùn)動檢測方法,特別設(shè)計(jì)一種用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法,能夠從獲取的視頻中實(shí)時(shí)地檢測出運(yùn)動區(qū)域。
背景技術(shù):
運(yùn)動檢測是指在視頻圖像序列中判斷是否有運(yùn)動物體的檢測過程。運(yùn)動目標(biāo)檢測是實(shí)現(xiàn)目標(biāo)識別跟蹤的基礎(chǔ)。由于視頻序列是由在時(shí)間上具有一定連續(xù)性的圖像幀序列構(gòu)成的,因此對于視頻中運(yùn)動目標(biāo)的檢測是按照一定的周期從視頻序列中提取出圖像幀序列來實(shí)現(xiàn)檢測的。
目前已經(jīng)提出了很多關(guān)于運(yùn)動檢測和分析的方法1.基于光流的方法光流是圖像亮度的運(yùn)動信息描述。光流技術(shù)基于圖像中相鄰點(diǎn)的亮度是相似的這一前提,即圖像中亮度變化平穩(wěn)。在該前提下光流法將三維空間的圖像表面亮度點(diǎn)的速率信息映射為近似的二維運(yùn)動場來進(jìn)行計(jì)算。大多數(shù)光流法要遍歷所有幀中所有像素點(diǎn),所以計(jì)算量大,算法復(fù)雜耗時(shí)。
2.基于相鄰幀差的方法相鄰幀差法是通過遞歸方程式從日常規(guī)則中得到訓(xùn)練規(guī)則,并利用訓(xùn)練規(guī)則來實(shí)現(xiàn)目標(biāo)檢測的算法。運(yùn)動目標(biāo)檢測的過程中,該類方法主要利用時(shí)間信息,通過比較圖像序列中連續(xù)2、3幀中所有的對應(yīng)位置像素點(diǎn),并根據(jù)規(guī)則計(jì)算對應(yīng)像素點(diǎn)的差值,如果差值大于一定的閾值,就認(rèn)為該點(diǎn)對應(yīng)位置有運(yùn)動目標(biāo)存在并提取該運(yùn)動目標(biāo)。這種算法簡單,相對來說計(jì)算量和空間耗用率都比較低,同時(shí)對動態(tài)變化環(huán)境中的運(yùn)動目標(biāo)檢測有較強(qiáng)的自適應(yīng)性。但得到的檢測結(jié)果并不十分精確,在運(yùn)動實(shí)體內(nèi)部易產(chǎn)生空洞現(xiàn)象3.背景減除法背景減除法是對固定攝像機(jī)捕獲視頻的運(yùn)動檢測中最常用的一種方法,主要思想是經(jīng)過一定時(shí)間的學(xué)習(xí)獲得一個(gè)參考幀,成為“背景幀”或者“背景模型”,然后將新獲得的當(dāng)前幀和背景幀進(jìn)行求差,差值超過一定閾值的像素點(diǎn)即認(rèn)為是前景點(diǎn)或者運(yùn)動目標(biāo)。背景建模是整個(gè)方法的基礎(chǔ)。背景模型必須能夠代表沒有運(yùn)動物體的靜止場景,同時(shí)不斷更新,和視頻中的背景保持一致。
4.基于統(tǒng)計(jì)、學(xué)習(xí)的方法這類方法通常主要利用單個(gè)或者成組的像素特征來構(gòu)建和更新背景模型,采用學(xué)習(xí)概率來抑制誤檢測。這類算法對于噪聲、陰影、光線等外部環(huán)境變化比較魯棒,檢測到的運(yùn)動目標(biāo)比較準(zhǔn)確,抗干擾能力較強(qiáng)。但由于運(yùn)動的復(fù)雜性,致使該方法很難采用一種統(tǒng)一的概率分配模型來描述。學(xué)習(xí)過程中要遍歷圖像的所有位置,故訓(xùn)練樣本大,計(jì)算復(fù)雜,計(jì)算量大,一般不適于實(shí)時(shí)處理。
本方面的目的在于提供一種能夠用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法,其可以對實(shí)時(shí)視頻數(shù)據(jù)進(jìn)行運(yùn)動檢測和分析,檢測出視頻中的運(yùn)動區(qū)域,并將前景區(qū)域用指定顏色進(jìn)行標(biāo)記,標(biāo)記會隨著運(yùn)動區(qū)域的移動而移動。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法。
用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法包括如下步驟(1)視頻圖像分塊及分類將每幀視頻圖像分成N×N像素的小方塊,按照x方向從左到右,y方向從上到下的順序逐個(gè)對當(dāng)前圖像中的每個(gè)小方塊進(jìn)行分類,從小方塊中隨機(jī)選取一個(gè)像素,判斷其是前景還是背景,如果該像素是背景,則結(jié)束處理這個(gè)小方塊,進(jìn)行下個(gè)方塊的處理,如果該像素是前景,則按順序逐個(gè)判斷當(dāng)前小方塊中的每個(gè)像素,如果是前景,則用指定的顏色對該像素進(jìn)行著色;凡是處理過的像素,都要更新其對應(yīng)的高斯模型隊(duì)列;(2)判斷一個(gè)像素是前景還是背景為每個(gè)像素建立一系列高斯模型,這些高斯模型反映了當(dāng)前像素位置出現(xiàn)的分布情況,其中高斯模型的權(quán)重,在0.0~1.0之間表示這個(gè)模型在背景中所占的比重。當(dāng)前像素屬于前景還是背景,用它被當(dāng)前位置的高斯模型接收的概率和,即接受當(dāng)前像素值的高斯模型的權(quán)重和來表示P(xt)=Σi=1Kωi,tη(xt-μi,t,Σi,t)---1]]>其中,K是當(dāng)前像素位置上的高斯模型個(gè)數(shù),xt是當(dāng)前像素的顏色值,μi,t,∑i,t是第i個(gè)高斯模型的均值和方差,η(xt-μi,t,∑i,t)表示xt是否被第i個(gè)高斯模型接受,ωi,t是第i個(gè)高斯模型的權(quán)重;P(xt)是該接受當(dāng)前像素的高斯模型的權(quán)重之和,表示了該像素成為背景的可能性;如果這個(gè)權(quán)重和滿足P(xt)≥TBG2則該像素為背景點(diǎn),否則為前景點(diǎn)。
(3)判斷當(dāng)前像素值xt是否被第i個(gè)高斯模型η(xt-μi,t,∑i,t)接受對于當(dāng)前像素的顏色值xt,如果其滿足|xt-μi,t|<Tσ3
其中Tσ是高斯模型屬于背景的權(quán)重閾值,經(jīng)過大量實(shí)驗(yàn)和統(tǒng)計(jì)所得。
(4)高斯模型隊(duì)列的更新a>如果當(dāng)前像素被第i個(gè)高斯模型接受,則更新第i個(gè)高斯模型如下μi,t+1=(1-α)μi,t+αxtωi,t+1=(1-α)ωi,t+α---4]]>其中,μi,t,ωi,t分別是當(dāng)前的第i個(gè)高斯模型的均值和權(quán)重,μi,t+1、ωi,t+1分別是更新的第i個(gè)高斯模型的均值和權(quán)重,α是更新速度,在本方法中取0.01;b>如果當(dāng)前像素不能被該像素對應(yīng)的高斯隊(duì)列中任何一個(gè)高斯模型接受,則按照均值為當(dāng)前像素值xt,權(quán)重為α建立一個(gè)新的高斯模型如下μK+1=xtωK+1=α---5]]>c>前像素的高斯隊(duì)列中第j個(gè)高斯模型滿足ωj<Tω6其中Tω是高斯模型存在的權(quán)重閾值;則把該高斯模型從高斯隊(duì)列中刪除;4)如果當(dāng)前像素的高斯隊(duì)列中有兩個(gè)高斯模型a和b的均值相差很小,滿足|μa-μb|<Tdist7其中,Tdist是高斯模型發(fā)生合并的均值距離的閾值;則將模型a和b進(jìn)行合并如下ωc,t=ωa,t+ωb,tμc,t=ωa,t*μa,t+ωb,t*μb,tωa,t+ωb,t]]>所述的從小方塊中隨機(jī)選取一個(gè)像素將方塊中的所有像素按照先從左到右,再從上到下標(biāo)記為0,1,2...,N×N-1;根據(jù)當(dāng)前時(shí)間生成一個(gè)隨機(jī)數(shù),用這個(gè)數(shù)對N×N進(jìn)行除法運(yùn)算,得到的余數(shù)就是要選取的像素的標(biāo)號。
所述的判斷一個(gè)像素屬于前景還是背景將該像素屬于背景的可能性表示成P(xt)=Σi=1Kωi,tη(xt-μi,t,Σi,t)---1]]>
其中,K是當(dāng)前像素位置上的高斯模型個(gè)數(shù),xt是當(dāng)前像素的顏色值,μi,t,∑i,t是第i個(gè)高斯模型的均值和方差,η(xt-μi,t,∑i,t)表示xt是否被第i個(gè)高斯模型接受,ωi,t是第i個(gè)高斯模型的權(quán)重;P(xt)是該接受當(dāng)前像素的高斯模型的權(quán)重之和,表示了該像素成為背景的可能性;如果這個(gè)權(quán)重和滿足P(xt)≥TBG2則該像素為背景點(diǎn),否則為前景點(diǎn)。
所述的判斷當(dāng)前像素值xt是否被第i個(gè)高斯模型接受的η(xt-μi,t,∑i,t)的計(jì)算采用了這樣的方法對于當(dāng)前像素的顏色值xt,如果其滿足|xt-μi,t|<Tσ3其中Tσ是高斯模型屬于背景的權(quán)重閾值,經(jīng)過大量實(shí)驗(yàn)和統(tǒng)計(jì)所得。
所述的對每個(gè)像素的的高斯模型隊(duì)列的更新的方法1)如果當(dāng)前像素被第i個(gè)高斯模型接受,則更新第i個(gè)高斯模型如下μi,t+1=(1-α)μi,t+αxtωi,t+1=(1-α)ωi,t+α---4]]>其中,μi,t,ωi,t分別是當(dāng)前的第i個(gè)高斯模型的均值和權(quán)重,μi,,t+1、ωi,t+1分別是更新的第i個(gè)高斯模型的均值和權(quán)重,α是更新速度,在本方法中取0.01;2)如果當(dāng)前像素不能被該像素對應(yīng)的高斯隊(duì)列中任何一個(gè)高斯模型接受,則按照均值為當(dāng)前像素值xt,權(quán)重為α建立一個(gè)新的高斯模型如下μK+1=xtωK+1=α---5]]>3)如果當(dāng)前像素的高斯隊(duì)列中第j個(gè)高斯模型滿足ωj<Tω6其中Tω是高斯模型存在的權(quán)重閾值;則把該高斯模型從高斯隊(duì)列中刪除;4)如果當(dāng)前像素的高斯隊(duì)列中有兩個(gè)高斯模型a和b的均值相差很小,滿足|μa-μb|<Tdist7其中,Tdist是高斯模型發(fā)生合并的均值距離的閾值;
則將模型a和b進(jìn)行合并如下ωc,t=ωa,t+ωb,tμc,t=ωa,t*μa,t+ωb,t*μb,tωa,t+ωb,t---8]]>與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于1、本發(fā)明直接通過微機(jī)對實(shí)時(shí)的視頻進(jìn)行運(yùn)動檢測和分析,不需要任何離線處理過程;2、本發(fā)明可以準(zhǔn)確地檢測出視頻中的運(yùn)動區(qū)域,并將運(yùn)動部分用指定的顏色進(jìn)行標(biāo)記,檢測結(jié)果直觀明了;3、本發(fā)明將運(yùn)動檢測在軟件中進(jìn)行實(shí)現(xiàn),可移植性強(qiáng)。對任何手段獲取的實(shí)時(shí)視頻都能進(jìn)行實(shí)時(shí)處理。本程序是一個(gè)很基本的程序模塊,可以廣泛應(yīng)用于各種實(shí)時(shí)監(jiān)控中。
4、本發(fā)明是一種優(yōu)化的運(yùn)動檢測算法,運(yùn)算量小,實(shí)時(shí)性好,可以同時(shí)對多路視頻進(jìn)行實(shí)時(shí)監(jiān)控。
圖1(a)是視頻序列中第512幀的原視頻圖像;圖1(b)是更新速度α=0.005時(shí)視頻序列中第512幀的運(yùn)動檢測結(jié)果;圖2(a)是視頻序列中第1053幀的原視頻圖像;圖2(b)是視頻序列中第1413幀的原視頻圖像;圖2(c)是視頻序列中第1676幀的原視頻圖像;圖2(d)是更新速度α=0.005時(shí)第1053幀的運(yùn)動檢測結(jié)果;圖2(e)是更新速度α=0.005時(shí)第1413幀的運(yùn)動檢測結(jié)果;圖2(f)是更新速度α=0.005時(shí)1676幀的運(yùn)動檢測結(jié)果;圖3(a)是該場景中第456幀時(shí)的原視頻圖像;圖3(b)是該場景中第480幀時(shí)的原視頻圖像;圖3(c)是更新速度α=0.2時(shí)第456幀檢測出來的運(yùn)動目標(biāo);圖3(d)是更新速度α=0.2時(shí)第480幀檢測出來的運(yùn)動目標(biāo);圖4(a)是視頻序列中第1053幀的原視頻圖像;圖4(b)是視頻序列中第1413幀的原視頻圖像;圖4(c)是視頻序列中第1676幀的原視頻圖像;圖4(d)是更新速度α=0.01時(shí)第1053幀的運(yùn)動檢測結(jié)果;
圖4(e)是更新速度α=0.01時(shí)第1413幀的運(yùn)動檢測結(jié)果;圖4(f)是第1676幀的運(yùn)動檢測結(jié)果;圖4(g)是視頻序列中第480幀的原視頻圖像;圖4(h)是更新速度α=0.01時(shí)第480幀的運(yùn)動檢測結(jié)果;圖5運(yùn)動檢測方法的流程圖。
具體實(shí)施例方式
本方法的運(yùn)動檢測和分析步驟為1、視頻圖像分塊及分類將每幀視頻圖像分成4×4(像素)的小方塊,按照x方向從左到右,y方向從上到下的順序逐個(gè)處理當(dāng)前圖像中的每個(gè)小方塊。其中小方塊的處理采用了這樣的方法將方塊中的所有像素按照先從左到右,再從上到下標(biāo)記為0,1,2...,15;根據(jù)當(dāng)前時(shí)間生成一個(gè)隨機(jī)數(shù),用這個(gè)數(shù)對4×4進(jìn)行除法運(yùn)算,根據(jù)得到的余數(shù)從方塊中隨機(jī)選取一個(gè)像素,判斷其是前景還是背景;如果該像素是背景,則結(jié)束處理這個(gè)小方塊,進(jìn)行下個(gè)方塊的處理;如果該像素是前景,則按順序逐個(gè)判斷當(dāng)前小方塊中的每個(gè)像素,如果是前景,則用指定的顏色對該像素進(jìn)行著色;凡是處理過的像素,都要更新其對應(yīng)的高斯模型隊(duì)列。
2、判斷一個(gè)像素是前景還是背景為每個(gè)像素建立一系列高斯模型,這些高斯模型反映了當(dāng)前像素位置出現(xiàn)的分布情況,其中高斯模型的權(quán)重,在0.0~1.0之間表示這個(gè)模型在背景中所占的比重。當(dāng)前像素屬于前景還是背景,用它被當(dāng)前位置的高斯模型接收的概率和,即接受當(dāng)前像素值的高斯模型的權(quán)重和來表示P(xt)=Σi=1Kωi,tη(xt-μi,t,Σi,t)---1]]>其中,K是當(dāng)前像素位置上的高斯模型個(gè)數(shù),xt是當(dāng)前像素的顏色值,μi,t,∑i,t是第i個(gè)高斯模型的均值和方差,η(xt-μi,t,∑i,t)表示xt是否被第i個(gè)高斯模型接受,ωi,t是第i個(gè)高斯模型的權(quán)重;P(xt)是該接受當(dāng)前像素的高斯模型的權(quán)重之和,表示了該像素成為背景的可能性;如果這個(gè)權(quán)重和滿足P(xt)≥TBG2則該像素為背景點(diǎn),否則為前景點(diǎn),在本發(fā)明中TBG取0.8。
3、判斷當(dāng)前像素值xt是否被第i個(gè)高斯模型η(xt-μi,t,∑i,t)接受對于當(dāng)前像素的顏色值xt,如果其滿足|xt-μi,t|<Tσ3
其中Tσ是高斯模型屬于背景的權(quán)重閾值,經(jīng)過大量實(shí)驗(yàn)和統(tǒng)計(jì)所得,在本發(fā)明中取10-15。
4、高斯模型隊(duì)列的更新(1)如果當(dāng)前像素被第i個(gè)高斯模型接受,則更新第i個(gè)高斯模型如下μi,t+1=(1-α)μi,t+αxtωi,t+1=(1-α)ωi,t+α---4]]>其中,μi,t,ωi,t分別是當(dāng)前的第i個(gè)高斯模型的均值和權(quán)重,μi,t+1、ωi,t+1分別是更新的第i個(gè)高斯模型的均值和權(quán)重,α是更新速度,在本方法中取0.01;(2)如果當(dāng)前像素不能被該像素對應(yīng)的高斯隊(duì)列中任何一個(gè)高斯模型接受,則按照均值為當(dāng)前像素值xt,權(quán)重為α建立一個(gè)新的高斯模型如下μK+1=xtωK+1=α---5]]>(3)當(dāng)前像素的高斯隊(duì)列中第j個(gè)高斯模型滿足ωj<Tω6則把該高斯模型從高斯隊(duì)列中刪除;其中Tω是高斯模型存在的權(quán)重閾值,本發(fā)明中取0.01;(4)如果當(dāng)前像素的高斯隊(duì)列中有兩個(gè)高斯模型a和b的均值相差很小,滿足|μa-μb|<Tdist7其中,Tdist是高斯模型發(fā)生合并的均值距離的閾值;則將模型a和b進(jìn)行合并如下ωc,t=ωa,t+ωb,tμc,t=ωa,t*μa,t+ωb,t*μb,tωa,t+ωb,t---8]]>5、對于檢測出來的前景點(diǎn),根據(jù)需要,用指定的顏色對于前景點(diǎn)進(jìn)行著色,將前景點(diǎn)進(jìn)行凸顯。
這里以一段室外場景的視頻錄像為例,說明本方法的運(yùn)動檢測和分析的詳細(xì)步驟,圖5給出了本發(fā)明的詳細(xì)流程圖,其中視頻尺寸為352×288像素。具體步驟如下
1、讀入一幀視頻圖像currFrame2、將視頻圖像分成4×4像素的小方塊。在x方向有352/4=88,y方向有288/4=72,總共88×72共計(jì)6336個(gè)小方塊。
3、BlockX從0到87,Blocky從0到71,按順序依次取一個(gè)小方塊進(jìn)行處理(1)小方塊中的像素按照x從0到3,y從0到3進(jìn)行編號0,1,2,...,15;(2)產(chǎn)生一個(gè)0~15的隨機(jī)數(shù)idxInBlock,計(jì)算出這個(gè)像素位置的x坐標(biāo)和y坐標(biāo),其中x=BlockX*BlockW+idxInBlock%BlockW,y=BlockY*BlockW+idxInBlock/BlockW(3)獲取(x,y)位置像素的灰度值currGray,進(jìn)行如下處理<1>如果當(dāng)前像素位置的高斯隊(duì)列為空,則在當(dāng)前高斯隊(duì)列中加入一個(gè)高斯模型currModel如下currModel.u=currGray,currModel.w=ALPHA;<2>如果當(dāng)前像素的高斯隊(duì)列不為空,則首先將當(dāng)前的權(quán)重之和weightSum設(shè)置為0,然后逐個(gè)取出高斯隊(duì)列中的高斯模型currModel。如果當(dāng)前灰度值currGray和當(dāng)前模型的均值之間的距離小于閾值(|currGray-currModel.u|<THRESH_DIFF),則認(rèn)為該模型接受當(dāng)前灰度值,權(quán)重之和增加weightSum=weightSum+currModel.w;否則,認(rèn)為該高斯模型不接受當(dāng)前灰度值;<3>處理完當(dāng)前位置(x,y)位置的所有高斯隊(duì)列后,判斷當(dāng)前像素是前景還是背景如果接受當(dāng)前灰度值的所有模型的權(quán)重之和大于閾值weightSum>TH_WEIGHT_SUM,則認(rèn)為是背景,否則認(rèn)為是前景;<4>如果當(dāng)前像素是背景,轉(zhuǎn)更新那些接受當(dāng)前灰度值的高斯模型currModel如下currModel.u=(1.0-ALPHA)*currModel.u+ALPHA*currGaycurrModel.w=(1.0-ALPHA)*currModel.w+ALPHA<5>如果當(dāng)前像素是前景,則更新那些不接受當(dāng)前灰度值的高斯模型currModel如下currModel.w=(1.0-ALPHA)*currModel.w,同時(shí)加入前景點(diǎn)集合fgPoints.
<6>如果當(dāng)前的高斯隊(duì)列中的高斯模型均不接受當(dāng)前灰度值,則在當(dāng)前高斯隊(duì)列中加入一個(gè)高斯模型currModel如下currModel.u=currGray,currModel.w=ALPHA;<7>調(diào)整高斯隊(duì)列如果某個(gè)高斯模型currModel的權(quán)重太小,即currModel.w<TH_WEIGHT_BELOW,則從高斯隊(duì)列中刪除;如果某兩個(gè)高斯模型ModelA、ModelB之間的距離太近,即|ModelA.u-ModelB.u|<TH_MODEL_DIFF,則將高斯模型A和B合并成新的高斯模型CModelC.w=ModelA.w+ModelB.w;ModelC.u=(ModelA.u*ModelA.w+ModelB.u*ModelB.w)/ModelC.w并將原來的高斯模型A和B從高斯隊(duì)列中刪除(4)如果當(dāng)前像素判定為背景,則結(jié)束處理當(dāng)前小方塊(5)如果當(dāng)前現(xiàn)速判定為背景,則按照0,1,2,...,15的順序取像素,計(jì)算新的像素位置(x,y),轉(zhuǎn)(3)。
4、結(jié)束處理當(dāng)前小方塊。
5、結(jié)束處理當(dāng)前視頻幀currFrame,用fgColor對前景點(diǎn)集合fgPoints中的所有點(diǎn)進(jìn)行著色,凸顯前景點(diǎn)。
表1主要數(shù)據(jù)結(jié)構(gòu)和變量所述的更新速度α對運(yùn)動檢測結(jié)果有及其重要的影響,α的選取是一個(gè)技巧性很強(qiáng)的問題。第一,背景模型對背景變化的相應(yīng)速度要足夠快。背景的變化可能由光照變化等因素引起的背景本身顏色的變化,也可能是背景區(qū)域的變化,如前景和背景的相互轉(zhuǎn)化。如果背景模型不能迅速跟上實(shí)際背景的變化,則對于動態(tài)性較強(qiáng)的場景就往往發(fā)生誤檢,檢測結(jié)果中就會出現(xiàn)大范圍的噪聲。圖1給出了α=0.005時(shí)的檢測效果圖1(a)是視頻序列中的第512幀的原視頻圖像,圖1(b)是對應(yīng)的運(yùn)動檢測結(jié)果,黑色部分是檢測出來的前景,紅色框部分是誤檢測部分。由于更新速度較慢,在風(fēng)吹動樹木時(shí),不能及時(shí)將背景(樹葉、公路)同時(shí)融入模型中,吹動的樹的邊緣被當(dāng)成前景檢測出來。
另外,前景目標(biāo)靜止足夠長時(shí)間同樣也會融入背景(前景高斯模型的權(quán)重增加足夠大)同時(shí)真正的背景模型權(quán)重則會降低,而當(dāng)前景物體離開時(shí),由于更新速度不夠快而在該處誤檢,呈現(xiàn)前景物體的“尾巴”,圖2給出了α=0.005時(shí)的另一個(gè)檢測效果圖圖2(a)、2(b)、2(c)分別是視頻序列中第1053幀、1413幀和1676幀的原視頻圖像,圖2(d)、2(e)、2(f)分別是對應(yīng)時(shí)刻的運(yùn)動檢測結(jié)果;黑色部分是前景出來的前景,紅色方框內(nèi)部是檢測出來的白色汽車的前景點(diǎn)集合。在1053幀時(shí),方框部分是以路面的灰色被主要的高斯模型,當(dāng)白色汽車行駛過來,白色部分不能被灰色高斯模型所接受,因此判定為前景;白色汽車在該位置停留了足夠長的時(shí)間后,白色的高斯模型權(quán)重不斷增加,成為主要的背景高斯模型,1413幀時(shí)白色汽車不再作為前景被檢測出來;在1676幀,當(dāng)白色汽車駛離原區(qū)域時(shí),被遮擋住的灰色路面重新顯現(xiàn)出來,由于更新速度很慢,此時(shí)的灰色路面不能迅速成為背景模型而被當(dāng)作前景,出現(xiàn)了白色汽車的尾巴。
第二,背景模型對運(yùn)動目標(biāo)要有較強(qiáng)的抗干擾能力。因?yàn)樵诒尘澳P偷母逻^程中,背景模型的每個(gè)點(diǎn)都受到了一個(gè)顏色序列的“訓(xùn)練”,不論實(shí)際場景中該點(diǎn)是處于靜止背景上還是運(yùn)動目標(biāo)上。靜止的背景或目標(biāo)的這種“訓(xùn)練”是我們所希望的,而運(yùn)動目標(biāo)的“訓(xùn)練”是我們不希望看到。尤其,當(dāng)更新速度較快時(shí),會使得高斯模型對于前景物體的學(xué)習(xí)同樣變快,對于運(yùn)動較慢的運(yùn)動物體或者運(yùn)動物體的尺寸比較大且顏色分布接近的情況下,如果此時(shí)的更新速度太快,則運(yùn)動物體的顏色值很快融入背景模型,而發(fā)生漏檢或者在前景目標(biāo)的后面部分出現(xiàn)“空洞”,圖3給出了α=0.02時(shí)的3個(gè)檢測效果圖圖3(a)、3(b)分別是該場景中第456幀和480幀時(shí)的原視頻圖像;圖3(c)、3(d)分別是檢測出來的運(yùn)動目標(biāo)(黑色部分表示前景目標(biāo),包括噪聲)。可以看到,在(c)中檢測出來的汽車比較準(zhǔn)確,而在(d)中檢測出來的汽車出現(xiàn)了一個(gè)很大的“空洞”(紅色圓圈表示)。這是因?yàn)?,圖3(a)之前場景的右下角部分的點(diǎn)是公路的高斯模型,當(dāng)進(jìn)入了汽車的顏色值時(shí)能夠敏銳地檢測出來;由于更新速度很快并且汽車目標(biāo)區(qū)域較大,在紅色圓圈部分的像素點(diǎn)很快地把汽車的顏色值融入背景高斯模型(權(quán)重迅速增加),在后續(xù)幀中再次出現(xiàn)汽車顏色值的時(shí)候就被該模型接受而作為背景(出現(xiàn)“空洞”)。
本發(fā)明經(jīng)過大量實(shí)驗(yàn),不斷調(diào)整α的值來測試不同的檢測效果,最后以α=0.01得到的運(yùn)動檢測結(jié)果最準(zhǔn)確。圖4給出了α=0.01時(shí)的一系列檢測效果圖4(a)、4(b)、4(c)、4(g)分別是視頻序列中第1053幀、1413幀、1676幀和480幀的原視頻圖像,圖4(d)、4(e)、4(f)、4(h)分別是對應(yīng)時(shí)刻的運(yùn)動檢測結(jié)果,黑色部分表示檢測出來的前景。從圖4(d)、4(e)、4(f)可以看到,不管白色汽車停留了多少時(shí)間,在其離開的時(shí)候都沒有出現(xiàn)圖2(f)紅色方框那樣的“尾巴”;從圖4(h)可以看到,即使藍(lán)色汽車行駛很慢,也不會出現(xiàn)圖3(d)紅色圓圈部分那樣的“空洞”。
權(quán)利要求
1.一種用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法,其特征在于包括如下步驟(1)視頻圖像分塊及分類將每幀視頻圖像分成N×N像素的小方塊,按照x方向從左到右,y方向從上到下的順序逐個(gè)對當(dāng)前圖像中的每個(gè)小方塊進(jìn)行分類,從小方塊中隨機(jī)選取一個(gè)像素,判斷其是前景還是背景,如果該像素是背景,則結(jié)束處理這個(gè)小方塊,進(jìn)行下個(gè)方塊的處理,如果該像素是前景,則按順序逐個(gè)判斷當(dāng)前小方塊中的每個(gè)像素,如果是前景,則用指定的顏色對該像素進(jìn)行著色;凡是處理過的像素,都要更新其對應(yīng)的高斯模型隊(duì)列;(2)判斷一個(gè)像素是前景還是背景為每個(gè)像素建立一系列高斯模型,這些高斯模型反映了當(dāng)前像素位置出現(xiàn)的分布情況,其中高斯模型的權(quán)重,在0.0~1.0之間表示這個(gè)模型在背景中所占的比重。當(dāng)前像素屬于前景還是背景,用它被當(dāng)前位置的高斯模型接收的概率和,即接受當(dāng)前像素值的高斯模型的權(quán)重和來表示P(xt)=Σi=1Kωi,tη(xt-μi,t,Σi,t)---1]]>其中,K是當(dāng)前像素位置上的高斯模型個(gè)數(shù),xt是當(dāng)前像素的顏色值,μi,t,∑i,t是第i個(gè)高斯模型的均值和方差,η(xt-μi,t,∑i,t)表示xt是否被第i個(gè)高斯模型接受,ωi,t是第i個(gè)高斯模型的權(quán)重;P(xt)是該接受當(dāng)前像素的高斯模型的權(quán)重之和,表示了該像素成為背景的可能性;如果這個(gè)權(quán)重和滿足P(xt)≥TBG2則該像素為背景點(diǎn),否則為前景點(diǎn)。(3)判斷當(dāng)前像素值xt是否被第i個(gè)高斯模型η(xt-μi,t,∑i,t)接受對于當(dāng)前像素的顏色值xt,如果其滿足|xt-μi,t|<Tσ3其中Tσ是高斯模型屬于背景的權(quán)重閾值,經(jīng)過大量實(shí)驗(yàn)和統(tǒng)計(jì)所得。(4)高斯模型隊(duì)列的更新a>如果當(dāng)前像素被第i個(gè)高斯模型接受,則更新第i個(gè)高斯模型如下μi,t+1=(1-α)μi,t+αxtωi,t+1=(1-α)ωi,t+α---4]]>其中,μi,t,ωi,t分別是當(dāng)前的第i個(gè)高斯模型的均值和權(quán)重,μi,t+1、ωi,t+1分別是更新的第i個(gè)高斯模型的均值和權(quán)重,α是更新速度,在本方法中取0.01;b>如果當(dāng)前像素不能被該像素對應(yīng)的高斯隊(duì)列中任何一個(gè)高斯模型接受,則按照均值為當(dāng)前像素值xt,權(quán)重為α建立一個(gè)新的高斯模型如下μK+1=xtωK+1=α---5]]>c>前像素的高斯隊(duì)列中第j個(gè)高斯模型滿足ωj<Tω6其中Tω是高斯模型存在的權(quán)重閾值;則把該高斯模型從高斯隊(duì)列中刪除;4)如果當(dāng)前像素的高斯隊(duì)列中有兩個(gè)高斯模型a和b的均值相差很小,滿足|μa-μb|<Tdist7其中,Tdist是高斯模型發(fā)生合并的均值距離的閾值;則將模型a和b進(jìn)行合并如下ωc,t=ωa,t+ωb,tμc,t=ωa,t*μa,t+ωb,t*μb,tωa,t+ωb,t.]]>
2.根據(jù)權(quán)利要求1所述的用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法,其特征在于,所述的從小方塊中隨機(jī)選取一個(gè)像素將方塊中的所有像素按照先從左到右,再從上到下標(biāo)記為0,1,2…,N×N-1;根據(jù)當(dāng)前時(shí)間生成一個(gè)隨機(jī)數(shù),用這個(gè)數(shù)對N×N進(jìn)行除法運(yùn)算,得到的余數(shù)就是要選取的像素的標(biāo)號。
3.根據(jù)權(quán)利要求1所述的用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法,其特征在于所述的判斷一個(gè)像素屬于前景還是背景將該像素屬于背景的可能性表示成P(xt)=Σi=1Kωi,tη(xt-μi,t,Σi,t)---1]]>其中,K是當(dāng)前像素位置上的高斯模型個(gè)數(shù),xt是當(dāng)前像素的顏色值,μi,t,∑i,t是第i個(gè)高斯模型的均值和方差,η(xt-μi,t,∑i,t)表示xt是否被第i個(gè)高斯模型接受,ωi,t是第i個(gè)高斯模型的權(quán)重;P(xt)是該接受當(dāng)前像素的高斯模型的權(quán)重之和,表示了該像素成為背景的可能性;如果這個(gè)權(quán)重和滿足P(xt)≥TBG2則該像素為背景點(diǎn),否則為前景點(diǎn)。
4.根據(jù)權(quán)利要求3所述的用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法,其特征在于所述的判斷當(dāng)前像素值xt是否被第i個(gè)高斯模型接受的η(xt-μi,t,∑i,t)的計(jì)算采用了這樣的方法對于當(dāng)前像素的顏色值xt,如果其滿足|xt-μi,t|<Tσ3其中Tσ是高斯模型屬于背景的權(quán)重閾值,經(jīng)過大量實(shí)驗(yàn)和統(tǒng)計(jì)所得。
5.根據(jù)權(quán)利要求1所述的用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測方法,其特征在于所述的對每個(gè)像素的的高斯模型隊(duì)列的更新的方法1)如果當(dāng)前像素被第i個(gè)高斯模型接受,則更新第i個(gè)高斯模型如下μi,t+1=(1-α)μi,t+αxtωi,t+1=(1-α)ωi,t+α---4]]>其中,μi,t,ωi,t分別是當(dāng)前的第i個(gè)高斯模型的均值和權(quán)重,μi,t+1、ωi,t+1分別是更新的第i個(gè)高斯模型的均值和權(quán)重,α是更新速度,在本方法中取0.01;2)如果當(dāng)前像素不能被該像素對應(yīng)的高斯隊(duì)列中任何一個(gè)高斯模型接受,則按照均值為當(dāng)前像素值xt,權(quán)重為α建立一個(gè)新的高斯模型如下μK+1=xtωK+1=α---5]]>3)如果當(dāng)前像素的高斯隊(duì)列中第j個(gè)高斯模型滿足ωj<Tω6其中Tω是高斯模型存在的權(quán)重閾值;則把該高斯模型從高斯隊(duì)列中刪除;4)如果當(dāng)前像素的高斯隊(duì)列中有兩個(gè)高斯模型a和b的均值相差很小,滿足|μa-μb|<Tdist7其中,Tdist是高斯模型發(fā)生合并的均值距離的閾值;則將模型a和b進(jìn)行合并如下ωc,t=ωa,t+ωb,tμc,t=ωa,t*μa,t+ωb,t*μb,tωa,t+ωb,t.---8]]>
全文摘要
本發(fā)明公開了一種用于視頻監(jiān)控的實(shí)時(shí)運(yùn)動檢測算法,其對于實(shí)時(shí)視頻數(shù)據(jù)進(jìn)行運(yùn)動檢測和分析,檢測出視頻中的運(yùn)動區(qū)域程序?yàn)橐曨l幀中的每個(gè)像素位置建立若干個(gè)高斯模型,為視頻幀中的每個(gè)像素位置建立若干個(gè)隨時(shí)間變化的高斯模型,根據(jù)當(dāng)前幀中該像素位置接受當(dāng)前像素值的高斯模型的權(quán)重之和來區(qū)分該像素(前景和背景),實(shí)時(shí)更新高斯模型和調(diào)整高斯模型的個(gè)數(shù),并將前景區(qū)域用指定顏色進(jìn)行標(biāo)記,標(biāo)記會隨著運(yùn)動區(qū)域的移動而移動。本發(fā)明的優(yōu)點(diǎn)在于本發(fā)明直接對實(shí)時(shí)視頻進(jìn)行運(yùn)動檢測和分析,不需要人工交互,不需要離線處理,完全達(dá)到實(shí)時(shí)檢測;檢測出來的運(yùn)動區(qū)域準(zhǔn)確,能使用監(jiān)控場景的動態(tài)變化,在視頻監(jiān)控領(lǐng)域具有重要的實(shí)用價(jià)值。
文檔編號G06T7/20GK101094413SQ20071006992
公開日2007年12月26日 申請日期2007年7月6日 優(yōu)先權(quán)日2007年7月6日
發(fā)明者張明敏, 洪晶 申請人:浙江大學(xué)