程艷云 朱松豪 代心靈
1.南京郵電大學;2.南京華蘇科技股份有限公司
傳統的視頻監控系統,主要用于記錄,對異常行為事件的實時檢測和事后的事故原因分析仍需人的參與。智能視頻監控系統具有自主判斷監控場所行為的能力,即當監控視頻中發生異常行為時,智能監控系統能較快地做出反應,并向視頻監視人員發出警報。因此,智能監控系統中的目標檢測、目標跟蹤、異常行為檢測,日益成為近年來計算機視覺領域研究的一個熱點。
運動目標檢測技術作為智能監控技術中的核心部分,常用的方法有背景減除法、幀差法和光流法等。傳統目標減除方法各有優缺點,國內外許多學者采用背景模型和幀差法相結合的目標檢測方法,這在一定程度上改進了檢測性能,但在檢測長時間停滯的目標時,由于背景建模無法有效建立,導致檢測效果不是十分令人滿意。
背景建模雖然計算簡單,但受光照突變、目標遮擋等因素影響,容易將背景像素錯判為前景目標,引起檢測誤差。此外,運動目標的陰影也會導致誤判。因此,本文依然沿用三維自組織背景減除算法中HSV顏色空間歐式距離的計算方法。
本文提出結合超像素算法與三維自組織背景減除算法結合的框架,實現運動目標檢測。該框架的主要思想如圖1所示,描述如下:首先,利用超像素算法,對圖像幀進行區域分割;然后,通過三維自組織背景減除算法,對每個分割區域進行背景建模;最后,使用最佳權重策略,準確提取前景目標。相比三維自組織背景減除算法,本文提出的融合超像素分割的三維自組織背景減除算法,在一定程度上提高了檢測精度和處理速度。
圖1 本文所提方法的框架
創新與發展——大數據、云計算、網信安全及其他新技術
前景提取的目的是從圖像中得到較為完整的前景目標運動區域,本文采用融合超像素分割的自組織背景減除算法(Self-Organizing Background Subtraction algorithm,SOBS),能很好地構建背景模型。
3DSOBS算法是一個基于自組織方法,自動生成神經網絡模型的運動目標檢測方法,能在提取運動目標時去除陰影區域。該算法采用神經網絡模型:首先,構建一個n層神經網絡模型;然后,計算當前幀與背景模型的最佳權重,從而判斷每個像素是否為背景像素。該算法主要包括以下三個主要步驟:模型初始化、前景檢測、模型更新。
在3DSOBS算法中,背景初始模型的構建過程就是將第一幀圖像的所有像素x擴展為n層的神經網絡模型Bt的過程:
初始背景模型B0中每個像素x的權重,為每個像素的亮度值:
背景模型的更新是通過將t時刻圖像It的像素x與背景模型Mt-1(x)的像素x進行比較,以確定是否存在一個最佳的權重mbt-1(x):如果存在一個可接受的匹配權重,則將圖像It的像素x視為背景像素;如果不存在一個可接受的匹配權重,則可將圖像It的像素x視為前景像素。
1.3.1 背景模型的更新
在t時刻,通過背景模型的像素Mt-1(x)={m1t-1(x),m2t-1(x),…,mnt-1(x)}與當前圖像It的像素比較,以確定最佳的背景模型:
上式中的第i個背景圖像像素的權重mit-1(x)與圖像像素值It(x)之間的距離公式如下:
上式中的(mH,mS, mV)和(IH,IS,IV)分別表示mit-1(x)和It(x)的色調、色度和強度分量。
1.3.2 背景模型的權重更新
為使神經網絡背景模型更好地適應場景的微小變化,對t時刻的背景模型Mt-1(x)進行更新:
上式中的Nx是像素x的w2D鄰域。
式(5)中的α(x,y)表示像素x與其鄰近像素y∈Nx間的關系權重:
上式中的γ表示學習因子,G2D(?)=N(?;0, σ2)表示均值為0、方差為σ2的二維高斯低通濾波器,Dt(x)表示包含像素x在內的背景區域的占有率,St(x)表示運動目標陰影的掩碼值。
式(6)中學習因子的大小取決于場景變化的強度:較大的值,能確保背景模型的學習速度與背景變化的強度保持一致,但同時也會將背景模型像素誤判為前景目標像素;相反,較小的值,有利于適應緩慢變化的背景模型,且能依據自組織避免過多的誤判。
由于式(5)僅能更新當前背景模型以選擇最佳背景圖像模型,所以,本文利用下式對最佳背景圖像的相鄰背景圖像進行更新:
上式中的i表示最佳背景圖像的鄰域。
式(7)中的δ (x)表示像素x與其鄰近像素y∈Nx間的關系權重:
上式中的v為學習因子,與式(6)中的學習因子γ具有相同的性質。G1D(?)= N(?;0, σ21D)是在鄰近區域的一個均值為0、方差為σ2的一維高斯低通濾波器,Dt(x)和St(x)與式(6)中Dt(x)和St(x)的意義相同。
1.3.3 背景區域的占有率更新
利用連續像素間像素值的差異,可有助于實現連續區域的判斷:來自同一前景目標的鄰近像素間像素值的差異強度是一致的,而自不同前景目標的鄰近像素間像素值的差異強度是不連貫的。因此,利用場景目標與場景背景的空間一致性,可計算背景區域的占有率:
上式中的NCFt(x)表示像素的鄰域一致性:
上式中的Hx={y:|x-y|≤h}表示像素x的(2h+1)×(2h+1)的二維鄰域,Ωx表示Hx集合最佳的匹配像素:
上式中的∈表示區分前景像素與背景像素的閾值:較大的閾值,會導致將前景目標像素誤判為背景像素;而較小的閾值,則有利于避免將前景像素誤判為背景像素。
式(9)中的Dt(x)用于確保選擇性地更新背景模型,以適應不同場景:當NCFt(x)>0.5時,表示像素x及其鄰近像素能很好地代表背景模型,此時可將像素x視為背景像素,則Dt(x)=0;當NCFt(x)≤0.5,表示像素x及其鄰近像素不能很好地代表背景模型,可將像素x視為前景像素,則Dt(x)=1。
1.3.4 前景目標陰影區域識別
相對于前景目標像素,前景目標陰影像素的色度和強度會明顯降低很多。因此,在t時刻,當前圖像幀It的前景目標陰影的掩碼值St(x)可表示為:
上式中的(mH,mS,mV)和(IH,IS,IV)分別表示m i t-1(x)和It(x)的色調、色度和強度分量,閾值τVl,τVu,τS及τH需根據實際情況動態設置。
由上述可知,3DSOBS的學習因子是恒定不變的,且運動區域的權重也是恒定不變的。因此,當如式(13)所示的前景像素發生較小更新時,式(14)所示的背景模型則會發生較大的更新。
由于背景模型較為復雜,所以使用如式(15)所示的自適應學習因子更新背景模型:
上式中的Tinc和Tdec為預先設置常量,且:
由于自組織背景減除算法中的權重計算較為復雜,所以需對圖像進行超像素分割,從而降低算法復雜度。
超像素對圖像進行分割時,在既定的區域周圍,將同質像素歸為一類,即為一超像素。簡單線性迭代聚類 (simple linear iterative clustering,SILC)算法是依據顏色、位置信息,實現聚類的超像素分割。本文利用Lab空間信息及像素的x、y坐標信息構造相似性度量,實現圖像局部聚類,形成超像素區域;然后,利用GPU、NVIDIA、CUDA等硬件加快處理速度,將簡單線性迭代聚類算法速度提高10~20倍,促使簡單線性迭代聚類算法應用到實時性要求比較高的系統中。
簡單線性迭代聚類算法的具體實現步驟包括:
(1)初始化種子點。假設將含有N×N個像素點的圖像分割為K×K個超像素,則每個超像素大小接近N2/K2,且每個種子點的間距近似為S=N/K。為避免種子點位于圖像邊緣,以致對后續聚類處理造成干擾,需將種子點從以它為中心的3×3窗口內,移到如公式(18)所示的梯度值最小的位置,同時為每個種子分配一個標簽。
上式中的l(x, y)是LAB顏色空間中的像素值。由此得到初始種子點pi(i=1, 2, ……, K2)。
(2)相似度度量。 SLIC算法的相似度度量公式為:
上式中的dlab表示像素點間的色差,dxy表示像素點間的空間距離,S表示像素個數與設置的超像素個數間的比值。d(i,k)為第i個像素點與第k個聚類中心間的相似度,取值越小,兩者越相似。m為平衡參數,用以平衡顏色值與空間信息在相似性度度量中的比重,本文取經驗值m=10。通過計算像素點與聚類中心的距離,可將距離較近的像素點聚為一類,實現預分割,得到超像素。
(3)快速K均值聚類方法更迭種子點。假定在X-Y平面上聚類中心的像素點位于2S×2S區域內,所有像素點關聯到最近的種子點后,將新種子點更新為同類別中所有像素點特征的平均值。反復此過程,直到收斂,停止迭代。
(4)形成超像素。將最相似的聚類中心標簽賦給像素點,形成K×K個超像素。
從上述算法實現過程中可看出,簡單線性迭代聚類算法存在分割數目固定的缺點:分割數目K由研究者自行確定,且K值確定之后將不再變化;若指定分割數目欠妥,則容易出現欠分割或者過度分割的現象,不能達到滿意的分割效果。所以,本文采用自適應的K值調整方法:
為了更好地降低算法的復雜度,對式(19)中的色差和空間距離進行簡化,使用絕對值的方法進行計算,雖然在一定程度上引入了誤差,但是這種誤差是在允許范圍內的:
由于3DSOBS算法中權重向量的計算復雜度較高,且需計算每個像素對應的權重向量,所以在實時性要求比較高的系統中無法使用。本文使用SLIC算法對整幅圖像進行超像素分割,得到K個超像素,從而減小算法復雜度,提高算法效率。
(1)首先使用SLIC算法對圖像幀進行處理,得到K×K個超像素的標簽。(2)然后使用3DSOBS對處理之后的圖像進行前景檢測。計算式(3)中像素x的最佳權重時,利用超像素內若干像素點的平均特征表示這個超像素的特征,從而減小計算量:
更新權重向量時,依然使用原方法。
計算背景區域的占有率時,同樣利用超像素內若干像素點的平均特征表示這個超像素的特征,從而簡化計算。對式(10)的改進如下:
上式中的Hx={yj:|x-yj|≤h, yj∈Li}表示像素x的(2h+1)×(2h+1)二維鄰域,Ωx表示Hx集合中找最佳的匹配像素:
上式中的yj表示超像素Li中的像素。
融合SLIC與3DSOBS算法的圖像分割過程如下表所示。
本次的操作系統設置為:Windows 7x64,酷睿i7 4790 3.6GHz,GTX960 4G,8G內存。
本次的實驗平臺設置為:基于OpenCV計算機開源視覺庫搭建的VS2013開發實驗平臺。本次的實驗數據為:MSA、PETS2009數據庫。
本次的對比算法有:傳統的高斯混合模型算法、ViBe背景減除算法、3DSOBS算法。實驗結果如圖2-圖5所示。
圖2 MSA數據庫第158幀的運動目標檢測結果
圖3 PETS2009數據庫S0中Background場景中第118幀的檢測結果
圖4 PETS2009數據庫S0的City_Center場景中第48幀的檢測結果
圖5 PETS2009數據庫S2L1場景中第56幀的檢測結果
從圖2-圖5的檢測實驗結果可以看出,基于本文算法的檢測效果要明顯好于其它三種算法。對于3DSOBS算法,本文使用GPU進行加速且融合超像素分割算法,有效地提取速度有所提升。從圖2-圖5的目標檢測試驗中,傳統的混合高斯模型和ViBe模型對于進入場景之后靜止的物體無法進行提取,從而對后續的丟棄物等異常無法進行識別。
雖然已經在前景檢測鄰域取得了豐碩的成功,但是依然存在很多實際應用中的問題需要解決,以便更好地實現后續的跟蹤、識別等一系列的處理。后續處理均需要從前景檢測中提取信息,所以前景檢測作為智能監控領域一個較為重要的研究方向,提高前景檢測的效率和準確率能夠有效改善后續對圖像的處理?;谌诤蟂LIC的3DSOBS算法在實驗中表現出較好的性能。
本文圍繞前景檢測的關鍵技術進行研究,研究內容涉及運動目標的檢測和運動目標進入場景靜止之后再運動。具有一定的理論研究價值和現實的應用意義。