天天看點

背景差分算法

背景差分法亦稱背景減法,常用于檢測視訊圖像中的運動目标,是目前運動目标檢測的主流方法之一。其基本原理就是将圖像序列中的目前幀和已經确定好或實時擷取的背景參考模型(背景圖像)做減法,找不同,計算出與背景圖像像素差異超過一定閥值的區域作為運動區域,進而來确定運動物體位置、輪廓、大小等特征,非常适用于錄影機靜止的場景。

背景差分算法

既然需要與背景參考模型作比較,那麼背景差分法的性能好壞很大程度上取決于背景模型的模組化、擷取和更新方法,背景圖像的模組化和模拟的準确程度,将直接影響到檢測的效果。那麼何為“背景”呢?對于一個穩定的監控場景而言,在沒有運動目标,光照沒有變化的情況下,視訊圖像中各個像素點的灰階值是符合随機機率分布的。由于錄影機在采集圖像的過程中,會不可避免地引入噪聲,這些灰階值以某一個均值為基準線,在附近做一定範圍内的随機振蕩,這種場景就是所謂的“背景”。

背景差分算法

如果有現成的、不變的背景圖像當然最好,但是由于場景的複雜性、不可預知性、以及各種環境幹擾和噪聲的存在,如光照的突然變化、實際背景圖像中有些物體的波動、錄影機的抖動、運動物體進出場景對原場景的影響等,背景模組化算法通常要求在場景中存在運動目标的情況下擷取背景圖像,這成為背景模組化的難點之一。同時,由于背景圖像的動态變化,需要通過視訊序列的幀間資訊來估計和恢複背景,即背景重建,選擇性的更新背景是背景模組化的另一難點。

背景差分算法

傳統的背景模組化方法包括中值法背景模組化、均值法背景模組化、單高斯分布模型、混合高斯分布模型、卡爾曼濾波器模型以及進階背景模型等等,這些方法都是基于像素的亮度值進行數學計算處理,是以我們說運動目标檢測是基于統計學原理。

用一個以混合高斯模型為基礎的背景分割算法BackgroundSubtractorMOG為例,它使用K(K=3或5)個高斯分布混合對背景像素進行模組化。基于時間序列,每一個像素點所在的位置在整個時間序列中會有很多值,進而構成一個分布。使用這些顔色(在整個視訊中)存在時間的長短作為混合的權重。背景的顔色一般持續的時間最長,而且更加靜止。舉一反三的話,我們可以為每一個像素選擇一個合适數目的高斯分布進行模組化。

背景差分算法

混合高斯背景模組化法不僅對複雜場景的适應強,而且能通過自動計算的模型參數來對背景模型調整,雖然增加了高斯分布的個數,造成計算量增大,但檢測速度很快,且檢測準确,容易實作,同時根據新擷取的圖像,對背景圖像參數進行自适應更新。該方法能夠可靠處理光照變化、背景混亂運動的幹擾以及長時間的場景變化等。是以基于混合高斯模型模組化的背景減法已是運動檢測的主流之一。

擷取到背景圖像幀B以後,記目前視訊圖像幀為fn,背景幀和目前幀對應像素點的灰階值分别記為B(x,y)和fn(x,y),将兩幀圖像對應像素點的灰階值進行相減,并取其絕對值,得到差分圖像Dn:

背景差分算法

設定門檻值T,逐個對像素點進行二值化處理,得到二值化圖像Rn' 。其中,灰階值為255的點即為前景(運動目标)點,灰階值為0的點即為背景點;對圖像 Rn'進行連通性分析,最終可得到含有完整運動目标的圖像Rn。

背景差分算法

背景差分法計算十分簡單,此外該方法還在一定程度上克服了環境光線的影響。其缺點是不能用于運動的攝像頭,同時背景圖像的實時更新也并非易事。背景差分法實作目标檢測的四個環節(背景模組化,背景更新,目标檢測,後期處理)中,背景模組化和背景更新是背景差分法中的核心問題,畢竟在實際情況中,由于光照變化、雨雪天氣、目标運動等諸多因素的影響,想擷取一張“純淨”的背景圖檔是很難的。

背景差分算法

繼續閱讀