Vibe 演算法改進

2021-07-25 05:33:41 字數 2840 閱讀 6567

一、概述

針對鬼影問題,提出一種了基於前景區域與鄰域背景區域直方圖相似性度量的判別方法,檢測並消除鬼影;針對靜止目標問題,改進了vibe背景模型的更新策略,有效抑制靜止目標被吸收為背景;針對陰影前景問題,在vibe演算法中增加乙個陰影檢測器模型,檢測並消除陰影。針對目標不完整問題引入摳圖技術。

二、鬼影檢測

針對鬼影問題,本文提出了一種基於前景區域與鄰域背景區域直方圖相似性度量的判別方法,可從vibe檢測到的運動目標區域中檢測出鬼影區域。目前有多篇文獻給出了鬼影檢測方法,梁華提出了基於內外邊緣直方圖匹配的鬼影檢測方法,金標提出了基於邊緣相似性函式的鬼影檢測方法,dedeoglu y提出了基於前景平均亮度和背景平均亮度差異性的鬼影檢測方法。受到上述三種鬼影檢測方法的啟發,本文提出了一種基於前景和鄰近背景區域直方圖相似性度量的鬼影檢測方法。

基本思想如下:如3.8所示,用r表示包含該運動目標區域的最小外接矩形區域(如圖(f)的藍色矩形框),用rf表示vibe檢測到的運動目標區域(如圖(f)的黃色區域),用rb表示矩形框內的背景區域(如圖(f)藍色矩形框內的黑色區域),rb=r-rf,計算運動目標區域rf對應的直方圖hf和鄰近背景區域rb對應的直方圖hb,比較hf和hb兩個直方圖的匹配程度,如果是鬼影,rf和rb的顏色分布相近,hf和hb相匹配,如果是運動目標,rf和rb的顏色分布相差較大,hf和hb不相匹配。則鬼影判別準則如下:

dist(hf,hb) 表示前景與鄰近背景區域直方圖的匹配程度,採用直方圖互相關係數計算得到,t表示閾值。

圖3.9對應的是3.8圖(f)中標註的鬼影1、鬼影2和運動目標的前景與鄰域背景的直方圖。如圖3.9所示,鬼影1和鬼影2的前景和鄰域背景的直方圖分布相似,如圖(a)、(b)所示,而運動目標的前景和鄰域背景的直方圖分布相差較大, 如圖(c)所示,據此,可區別鬼影和運動目標。採用本文提出的鬼影檢測方法之後,其實驗結果如圖3.10所示。

三、靜止目標檢測

mi(x)表示第i幀畫素x的vibe背景模型,pi(x)表示第i幀畫素x的顏色值,當畫素x被判斷為前景時,不更新畫素x的背景模型,當畫素x被判斷為背景時,更新x的背景模型。當運動目標長時間靜止時,該運動目標區域的背景模型不更新,背景差分後,能檢測出靜止運動目標。改進更新策略能有效抑制靜止的目標前景被背景吸收,其實驗結果如圖3.11所示:

四、陰影檢測

針對陰影前景問題,本文在vibe演算法中增加乙個陰影檢測器模型,檢測並消除陰影。目前有基於hsv顏色空間和rgb顏色空間這兩種常見的陰影消除法。雖然hsv顏色空間能分離出亮度和色度,但是顏色空間之間的轉換非常耗時,因此,本文引用基於rgb顏色空間的陰影檢測器。

本文引用的是基於無監督的投射陰影檢測器模型。根據前景的亮度高於背景與背景的亮度和背景一致這個特點,丟棄不屬於陰影的背景和前景樣本,選擇可能的陰影樣本建立乙個陰影檢測器模型。如圖3.12所示,其中bg表示背景值,sd表示可能的陰影,用向量vt(p)表示背景bg到其對應陰影sd的值,由於陰影的亮度比相對應的背景暗,所以向量vt(p)應落在如圖3.12所示的圓錐體內。如果畫素的顏色值在灰色圓錐區域內,被認為是可能的陰影樣本,利用這些可能的陰影樣本建立全域性場景的陰影模型和區域性畫素的陰影模型,從而檢測出陰影。

其具體實現過程如下:如圖3.13所示,圖(b)是用vibe演算法對圖(a)檢測到運動目標區域,根據圖(b),找出背景幀中相應的運動目標區域(如圖(c)紅框標註區域)和當前幀中相應的運動目標區域(如圖(d)紅色標註區域),其中,圖(d)紅色區域內的黃線以下為陰影區域,黃線以上主要是運動目標前景區域,本文引入乙個陰影檢測圓錐模型來區分運動目標區域中的陰影區域和運動目標前景區域。如圖3.12所示,向量bg表示運動目標區域中某一畫素p在背景幀中的值,向量sd表示運動目標區域中某一畫素p在當前幀中的值,向量vt(p)表示p從bg到sd的值,通過計算向量vt(p)的值是否落在灰色圓錐區域內來判斷畫素p是否是陰影。加入陰影檢測模型之後,檢測出陰影區域並去除陰影,其實

驗結果如圖3.14所示。

五、目標不完整

將vibe演算法的檢測結果作為trimap圖給摳圖演算法提供初始化資訊,然後,利用摳圖技術不完全標號和高精度分割的優點提取出完整的運動目標前景,基於此思路,本文提出了一種將改進的vibe演算法和摳圖技術相結合的新策略來解決運動目標不完整問題,基於這種新穎的結合策略提出了兩種新運動目標檢測演算法:gvibe演算法和cvibe演算法。其中,gvibe演算法是改進的vibe演算法和grabcut演算法相結合的運動目標檢測演算法的簡稱,cvibe演算法是改進的vibe演算法和closed-form演算法相結合的運動目標檢測演算法的簡稱。這兩種演算法都是基於改進的vibe目標檢測演算法之上的,用改進vibe演算法先過濾掉無效背景,鎖定包含運動目標前景的有效前景區域,然後再分別對每個前景區域進行摳圖操作,提取出完整的運動目標前景。

我們利用改進的vibe演算法快速檢測到運動目標區域,找到該運動目標區域的最小外接矩形框,將該矩形框設定為可能前景,再根據垂直投影直方圖設定部分背景資訊,剩餘部分設定為未知區域,根據這些初始化資訊,grabcut就能準確地從影象中分割出完整的前景目標。因此,將改進的vibe演算法和grabcut演算法相結合使用提取完整運動目標是可行的。

其中grabcut演算法主要為初始化、迭代學習和訓練高斯引數,得到收斂的背景、前景高斯引數之後,再對原影象進行目標提取,即進行最後一次的切割提取操作。

VIBE檢測演算法

一 vibe 獲取目標 其他演算法處理 最終目標 優點 記憶體占用少,處理速度快,計算量小,檢測效果好 無引數法 可直接應用在產品中,軟硬體相容性好 效能優於混合高斯,引數化方法,sacon等 背景模型及時初始化 具有較好的抗噪能力。缺點 ghost區域 挑戰 必須適應環境的變化 比如光照的變化造成...

背景建模 Vibe 演算法優缺點分析

一 vibe 演算法的優點 vibe背景建模為運動目標檢測研究鄰域開拓了新思路,是一種新穎 快速及有效的運動目標檢測演算法。其優點有以下兩點 1 思想簡單,易於實現。vibe通常隨機選取鄰域20個樣本為每個畫素點建立乙個基於樣本的背景模型,具有初始化速度快 記憶體消耗少和占用資源少等優點,隨後,利用...

運動檢測ViBe演算法python實現

由於最近在做一些跟蹤檢查的研究,就用到了vibe演算法,根據網上的c 版本編寫了這個python版的演算法,在這分享給大家。class vibe classdocs defaultnbsamples 20 每個畫素點的樣本個數 defaultreqmatches 2 min指數 defaultrad...