車輛前景檢測演算法——GMM(高斯混合背景建模)
GMM(高斯混合背景建模)
在運動目標的前景檢測中,GMM的目標是實現對視訊幀中的畫素進行前景/背景的二分類。通過統計視訊影象中各個點的畫素值獲取背景模型,最後利用背景減除的思想提取出運動目標。
GMM假設在攝像機固定的場景下,在一段足夠長的時間區間內,背景目標出現的概率要遠高於前景目標。利用監控視訊的這一特點,對視訊幀上的任意座標的畫素值進行時間方向的統計,為每個座標分配若干個高斯概率密度函式作為該位置的畫素值概率分佈模型。
以圖 中用紅色標記的點p(x, y)為例,對該點在時間軸上進行畫素值的統計,用K個高斯分佈描述該位置上的畫素值分佈Mp。
混合高斯模型使用K(基本為3到5個)模型來表徵影象中各個畫素點的特徵,在新一幀影象獲得後更新混合高斯模型,用當前影象中的每個畫素點與混合高斯模型匹配,如果成功則判定該點為背景點, 否則為前景點。通觀整個高斯模型,他主要是由方差和均值兩個引數決定,,對均值和方差的學習,採取不同的學習機制,將直接影響到模型的穩定性、精確性和收斂性。
建模過程中,我們需要對混合高斯模型中的方差、均值、權值等一些引數初始化,並通過這些引數求出建模所需的資料,如馬茲距離。在初始化過程中,一般我們將方差設定的儘量大些(如15),而權值則儘量小些(如0.001)。 這樣設定是由於初始化的高斯模型是一個並不準確,可能的模型,我們需要不停的縮小他的範圍,更新他的引數值,從而得到最可能的高斯模型,將方差設定大些,就是為了將盡可能多的畫素包含到一個模型裡面,從而獲得最有可能的模型。
對於Mp中的K個高斯概率密度函式來說,其中不僅包含著背景畫素值的分佈,也包含對前景畫素值的分佈情況。對K個高斯分佈以權重的大小進行降序排序並篩選出前B個高斯分佈作為點p的背景畫素值的分佈模型Mbk:
對於點p(x, y),其畫素值記為vp,當前的畫素值分佈模型以及背景模型分別為Mp,Mbk。GMM的模型更新步驟如下:
Step1:計算vp與Mp中任意高斯分佈Gi的均值μi的距離,記作di。若di≤Td則轉入Step2,否則轉入Step3;
Step2:判定畫素值vp與高斯分佈Gi匹配成功,提升Gi的權值並轉入Step4;
Step3:判定畫素值vp與高斯分佈Gi匹配失敗,降低Gi的權值並返回Step1直到所有分佈都完成了與vp的匹配轉入Step5;
Step4:更新Gi的均值和方差並將Mp中的分佈按權重降序排序;
Step5:統計Mp中K個高斯分佈的權重之和並歸一化所有權值;
Step6:若此時vp的匹配成功數為0,則新增一個高斯分佈Gnew,替換掉Mp中權值最小的分佈並重新降序排列;
Step7:選出前B個高斯分佈作為畫素p下一幀的背景模型Mbk。
由上述步驟可以發現,隨著時間的流動,在點p處出現頻率較高的高斯分佈的權值會逐漸提升;反之,權值會相應的降低,最後被新的分佈替代。而利用每一幀點p處的畫素值不斷地對該點的B個背景分佈函式進行動態更新,最終得到隨場景光照變化而變化的背景模型。
缺點:
GMM演算法的缺點來自於其“背景的出現概率遠高於前景”,因此當場景發生顯著變化(如光照突變、相機抖動),演算法將產生大量的前景誤檢。當GMM的模型學習速率α無法適應運動目標的速度時,參考背景影象中有可能出現目標的鬼影,因此學習速率α的選取及自適應是GMM演算法的一個研究難點。再加上是以畫素為單位進行處理,所以會出現些許噪聲,當部分車體的顏色與背景接近時(如車窗),前景掩膜對應的區域會出現“空洞”。