本發(fā)明屬于視頻圖像處理技術領域,尤其涉及一種基于三維空間表層的背景建模方法。
背景技術:
從一段視頻序列中檢測運動目標是視頻監(jiān)控的首要而基本的任務之一,也是計算機視覺領域的一個重要研究內(nèi)容。它通過圖像處理的方法對圖像序列中的運動目標信息進行解析,具有一定的智能性。運動目標檢測的最好結(jié)果是每一個運動目標能夠被完整單獨的檢測出來,有效的檢測結(jié)果對后期視頻處理中運動目標的分類、跟蹤、識別是非常重要的。背景建模對于固定背景下的運動目標檢測通常是不可缺少的步驟,首先需要“學習”背景模型,然后將背景模型和當前圖像進行比較,從而得到監(jiān)控場景中前景運動目標。背景建模方法通過構建不同的背景模型,且隨著背景模型更新不斷適應場景中的變化,最終能夠?qū)崿F(xiàn)場景中運動目標的實時檢測,因此基于背景建模的目標檢測算法成為該領域的重要研究方向之一。經(jīng)典的背景建模方法如混合高斯模型是一種直觀的概率密度模型,能夠適應光照變化以及多模態(tài)場景,但這種方法在場景中運動目標體積大且運動緩慢的時候,檢測效果會顯著下降;近年來應用較多的vibe背景建模算法可以處理背景突然變化的情況,但是由于采用了運動物體的像素初始化樣本集,很容易引入拖影(ghost)區(qū)域。背景建模會遇到很多困難,常見的有光照變化如室外陽光被云層遮擋、動態(tài)背景如晃動的樹葉、密集人流、處理速度等。以上經(jīng)典的背景建模算法一般都是二維空間下的背景建模,對于擁擠場景下運動目標前后遮擋的問題難以解決,在前景檢測時很可能將不同的運動目標檢測成為一個目標,使得運動目標的檢測效果并不理想。
綜上所述,現(xiàn)有技術存在的問題是:對于環(huán)境光照、動態(tài)背景的變化,前景檢測時容易出現(xiàn)虛景;前景與背景圖像像素值很相近時,導致前景與背景不能夠分清;擁擠場景下運動目標存在前后遮擋時,導致前景檢測時前后目標連在一塊。
技術實現(xiàn)要素:
針對現(xiàn)有技術存在的問題,本發(fā)明提供了一種基于三維空間表層的背景建模方法。
本發(fā)明是這樣實現(xiàn)的,一種基于三維空間表層的背景建模方法,所述基于三維空間表層的背景建模方法包括以下步驟:
步驟一,利用雙目相機獲取場景中的深度圖,得到相機視場范圍內(nèi)的三維空間點,通過關注三維空間中最高點組成的表層,構建出場景三維空間表層模型;三維空間表層模型表示為:
zmax(w,h)=g′=max(g|p′(w,h,g));
w∈(0,w-1),h∈(0,h-1),g∈(0,255);
其中三維空間坐標x,y,z的單位是mm,min(z)與max(z)表示范圍內(nèi)所有點的最低點高度值與最高點高度值;m*n為選擇的監(jiān)控范圍大小,單位為mm,w*h*255為量化的三維空間的大小,(w,h,g)為像素點三維空間坐標(x,y,z)在量化的三維空間內(nèi)的坐標值,g’則表示在量化的三維空間內(nèi)(w,h)處最高點的高度,zmax(w,h)即為三維空間的表層模型。
步驟二,然后對其進行背景模型的初始化,背景模型的更新,以及對每一幀圖像進行前景運動目標的提??;圖像像素點(u,v)對應的三維空間表層模型處的zmax(w,h),則:
其中sr(zmax(w,h))表示以像素點(w,h)為中心r為半徑的區(qū)域,r取20,min為設定的閾值,取2,m(w,h)={v1,v2,…,vn}為(w,h)處的背景樣本集(樣本集大小為n),n一般取20,v1,v2,…,vn表示(w,h)處隨機選擇n個鄰居點的灰度值。bk(u,v)等于1時,表示(u,v)像素點為背景點,為0時表示(u,v)像素點為前景點。
進一步,所述步驟一中:利用雙目相機中獲取到的左右原圖計算出視差圖:首先對雙目立體相機進行內(nèi)參標定,然后對原圖矯正得到透視變換矩陣q,選擇bm算法進行立體匹配計算視差值。
進一步,所述步驟一中:將圖像上所有像素點坐標(u,v)映射到三維空間(x,y,z)中:利用相機視差值與透視矩陣q將圖像像素點坐標(u,v)轉(zhuǎn)化到相機坐標系下坐標(x,y,z),然后尋找合適的繞三個坐標軸的旋轉(zhuǎn)角度α,β,θ,通過旋轉(zhuǎn)相機坐標系將這些點坐標轉(zhuǎn)化到大地坐標系下坐標(x,y,z),使得運動目標在三維空間中到地面的投影盡可能小的聚在一起:
disparity(u,v)為(u,v)像素點處的視差值,θ為繞z軸旋轉(zhuǎn)的角度,β為繞x軸旋轉(zhuǎn)的角度,α為繞y軸旋轉(zhuǎn)的角度,d為一個常數(shù)值。
進一步,所述步驟一中三維空間表層模型的構建方法包括:根據(jù)相機監(jiān)控范圍選擇將一定大小m*n的三維空間量化到大小為w*h*255的三維空間內(nèi);將三維空間中范圍內(nèi)所有有效點p(x,y,z)的x歸一化為0~w-1之間的整數(shù)w,y歸一化為0~h-1之間的整數(shù)h,將高度z歸一化為0~255之間的整數(shù)g,即一個三維點p(x,y,z)對應一個三維點p’(w,h,g),得到一張w*h的灰度圖zmax,其像素點p’(w,h)處的灰度值為所有歸一化到(w,h)處最高點的歸一化高度g′,即構建出三維空間表層模型。
進一步,所述步驟二中對三維空間表層模型進行背景模型的初始化包括:對于zmax圖像上每一個像素點,隨機的選擇它的鄰居點的像素值作為模型樣本值:
m0(w,h)={v0(y|y∈ng(w,h))}
其中m0(w,h)表示t=0的初始時刻(w,h)處的背景樣本集,ng(w,h)為(w,h)處的鄰居點。v0(y)表示t=0的初始時刻y像素點處的灰度值。
進一步,所述步驟二中對視頻新的一幀圖像進行背景模型的更新包括:圖像像素點(u,v)對應的三維空間表層模型處的zmax(w,h),n值可以自己設定改變更新速率,則:
本發(fā)明的另一目的在于提供一種應用所述基于三維空間表層的背景建模方法的計算機。
本發(fā)明的另一目的在于提供一種應用所述基于三維空間表層的背景建模方法的服務器。
本發(fā)明的另一目的在于提供一種應用所述基于三維空間表層的背景建模方法的視頻監(jiān)控系統(tǒng)。
本發(fā)明的優(yōu)點及積極效果為:通過雙目立體相機獲得場景三維空間信息,然后進行背景建模,實現(xiàn)擁擠場景實時監(jiān)控下運動目標檢測。本發(fā)明既克服了擁擠環(huán)境中目標檢測的部分遮擋問題,也在一定程度上減少了檢測結(jié)果中鬼影的出現(xiàn)。同時,通過對三維空間的表層進行背景建模,相比于直接進行三維空間背景建模,此算法計算復雜度大大減少,在測試本發(fā)明的實驗中,硬件裝備為具有inteli7-6700cpu和8gbram的筆記本電腦,在此硬件上無gpu加速時本算法可以實現(xiàn)一秒20幀的計算速度,能夠滿足實時監(jiān)控系統(tǒng)中運動目標檢測需求。
本發(fā)明對三維空間的表層進行的背景建模,計算復雜度大大減少,能夠使用在實時監(jiān)控系統(tǒng)中。經(jīng)典的背景建模方法由于只使用圖像信息在二維空間進行建模,在擁擠場景中,前后兩個運動目標由于遮擋在平面圖像上會有重疊的部分,這樣的兩個目標一般很難被分割開來。而本發(fā)明利用雙目立體相機獲取到了場景中三維空間點云信息,實現(xiàn)了在三維空間中的簡化背景建模,由于前后兩個發(fā)生遮擋的運動目標在三維空間中相隔距離不會很小,因此可以較為容易的將兩個目標分割開,這給后期前景運動目標的進一步研究帶來了很大的便利,比如場景中運動目標的跟蹤、識別等研究。只有把運動目標準確的檢測并分割出來,才可以準確的獲得每一個運動目標的位置信息與圖像信息,這些信息對跟蹤與識別研究有很大的幫助。
本發(fā)明實現(xiàn)了復雜背景下的背景建模,具有良好的魯棒性,突破了單相機背景建模中的常見的遮擋和鬼影問題,在稠密場景中對運動目標進行有效分割。在測試本發(fā)明的實驗中,還將本發(fā)明與目前比較受歡迎的vibe算法進行了比較,總共選擇了4個存在遮擋的場景,每個場景230幀圖像,有597個前景運動目標,通過兩種算法的前景檢測結(jié)果發(fā)現(xiàn),本發(fā)明準確率為96.39%,查全率是89.45%,vibe準確率為22.2%,查全率是80.40%,因此無論從準確率還是查全率上本發(fā)明都更加有效魯棒。
附圖說明
圖1是本發(fā)明實施例提供的基于三維空間表層的背景建模方法流程圖。
圖2是本發(fā)明實施例提供的基于三維空間表層的背景建模方法實現(xiàn)流程圖。
圖3是本發(fā)明實施例提供的三維空間表層模型示意圖及前景目標檢測結(jié)果圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結(jié)合附圖對本發(fā)明的應用原理作詳細的描述。
如圖1所示,本發(fā)明實施例提供的基于三維空間表層的背景建模方法包括以下步驟:
s101:利用雙目相機獲取場景中的深度圖,得到相機視場范圍內(nèi)的三維空間點,通過關注三維空間中最高點組成的表層,進而構建出場景三維空間表層模型;
s102:然后對其進行背景模型的初始化,背景模型的更新,以及對每一幀圖像進行前景運動目標的提取。
下面結(jié)合附圖對本發(fā)明的應用原理作進一步的描述。
如圖2所示,本發(fā)明實施例提供的基于三維空間表層的背景建模方法具體包括如下步驟:
步驟1,利用雙目相機中獲取到的左右原圖計算出視差圖:首先對雙目立體相機進行內(nèi)參標定,然后對原圖矯正得到透視變換矩陣q,進而選擇bm算法進行立體匹配計算視差值。
步驟2,將圖像上所有像素點坐標(u,v)映射到三維空間(x,y,z)中:利用相機視差值與透視矩陣q將圖像像素點坐標(u,v)轉(zhuǎn)化到相機坐標系下坐標(x,y,z),然后尋找合適的繞三個坐標軸的旋轉(zhuǎn)角度α,β,θ,通過旋轉(zhuǎn)相機坐標系將這些點坐標轉(zhuǎn)化到大地坐標系下坐標(x,y,z),使得運動目標在三維空間中到地面的投影盡可能小的聚在一起:
disparity(u,v)為(u,v)像素點處的視差值,θ為繞z軸旋轉(zhuǎn)的角度,β為繞x軸旋轉(zhuǎn)的角度,α為繞y軸旋轉(zhuǎn)的角度,d為一個常數(shù)值。
步驟3,構建三維空間表層模型:根據(jù)相機監(jiān)控范圍選擇將一定大小m*n(單位:mm)的三維空間量化到大小為w*h*255的三維空間內(nèi),w與h的值越大,計算量就越大,計算速度就會越慢,而m/w,n/h的值一般不超過30,值越小表示投影精度越大。這樣的量化過程是將三維空間中范圍內(nèi)所有有效點p(x,y,z)的x歸一化為0~w-1之間的整數(shù)w,y歸一化為0~h-1之間的整數(shù)h,將高度z歸一化為0~255之間的整數(shù)g,即一個三維點p(x,y,z)對應一個三維點p’(w,h,g)。由此可以得到一張w*h的灰度圖zmax,其像素點p’(w,h)處的灰度值為所有歸一化到(w,h)處最高點的歸一化高度g′,即構建出了三維空間表層模型:
zmax(w,h)=g′=max(g|p′(w,h,g)),;
w∈(0,w-1),h∈(0,h-1),g∈(0,255);
其中三維空間坐標x,y,z的單位是mm,min(z)與max(z)表示范圍內(nèi)所有點的最低點高度值與最高點高度值。m*n為選擇的監(jiān)控范圍大小,單位為mm,w*h*255為量化的三維空間的大小,(w,h,g)為像素點三維空間坐標(x,y,z)在量化的三維空間內(nèi)的坐標值,g’則表示在量化的三維空間內(nèi)(w,h)處最高點的高度,zmax(w,h)即為三維空間的表層模型。
步驟4,對三維空間表層模型進行背景模型的初始化:由于現(xiàn)在已經(jīng)將模型簡化為一張灰度圖,所以初始化的方法可以選擇很多種,這里選取vibe的單幀初始化方法。背景模型為每個背景點存儲了一個樣本集,對于zmax圖像上每一個像素點(w,h),隨機的選擇它的鄰居點的像素值作為它的模型樣本值:
m0(w,h)={v0(y|y∈ng(w,h))}
其中m0(w,h)表示t=0的初始時刻(w,h)處的背景樣本集,ng(w,h)為(w,h)處的鄰居點。v0(y)表示t=0的初始時刻y像素點處的灰度值。
步驟5,對視頻新的一幀圖像進行運動前景提取:前景分割時選擇與vibe一樣的方法,所以這種三維空間表層背景建模方法的前景分割策略為vibe的前景分割策略加上在三維空間中一種特殊的分割策略:設圖像像素點(u,v)對應的三維空間表層模型處的zmax(w,h),則:
其中sr(zmax(w,h))表示以像素點(w,h)為中心r為半徑的區(qū)域,r一般取20,min為設定的閾值,一般取2,m(w,h)={v1,v2,…,vn}為(w,h)處的背景樣本集(樣本集大小為n),n一般取20,v1,v2,…,vn表示(w,h)處隨機選擇n個鄰居點的灰度值。bk(u,v)等于1時,表示(u,v)像素點為背景點,為0時表示(u,v)像素點為前景點。
步驟6,對視頻新的一幀圖像進行背景模型的更新:背景模型更新方法選擇vibe的背景更新方法再加上在三維空間由于陰影存在提出的特殊的更新策略。設圖像像素點(u,v)對應的三維空間表層模型處的zmax(w,h),n值可以自己設定改變更新速率,則:
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。