高斯混合模型GMM

來源:互聯網
上載者:User

標籤:blog   http   ar   os   使用   sp   for   on   資料   

高斯模型就是用高斯機率密度函數(常態分佈曲線)精確地量化事物,將一個事物分解為若干的基於高斯機率密度函數(常態分佈曲線)形成的模型。 對映像背景建立高斯模型的原理及過程:映像灰階長條圖反映的是映像中某個灰階值出現的頻次,也可以以為是映像灰階機率密度的估計。如果映像所包含的目的地區域和背景地區相差比較大,且背景地區和目的地區域在灰階上有一定的差異,那麼該映像的灰階長條圖呈現雙峰-穀形狀,其中一個峰對應於目標,另一個峰對應於背景的中心灰階。對於複雜的映像,尤其是醫學映像,一般是多峰的。通過將長條圖的多峰特性看作是多個高斯分布的疊加,可以解決映像的分割問題。 在智能監控系統中,對於運動目標的檢測是中心內容,而在運動目標檢測提取中,背景目標對於目標的識別和跟蹤至關重要。而建模正是背景目標提取的一個重要環節。我們首先要提起背景和前景的概念,前景是指在假設背景為靜止的情況下,任何有意義的運動物體即為前景。建模的基本思想是從當前幀中提取前景,其目的是使背景更接近當前視訊框架的背景。即利用當前幀和視頻序列中的當前背景幀進行加權平均來更新背景,但是由於光照突變以及其他外界環境的影響,一般的建模後的背景並非十分乾淨清晰,而高斯混合模型(GMM,Gaussian mixture model)是建模最為成功的方法之一,同時GMM可以用在監控視頻索引與檢索。混合高斯模型使用K(基本為3到5個) 個高斯模型來表徵映像中各個像素點的特徵,在新一幀映像獲得後更新混合高斯模型,用當前映像中的每個像素點與混合高斯模型匹配,如果成功則判定該點為背景點, 否則為前景點。通觀整個高斯模型,他主要是有方差和均值兩個參數決定,,對均值和方差的學習,採取不同的學習機制,將直接影響到模型的穩定性、精確性和收斂性。由於我們是對運動目標的背景提取建模,因此需要對高斯模型中方差和均值兩個參數即時更新。為提高模型的學習能力,改進方法對均值和方差的更新採用不同的學習率;為提高在繁忙的情境下,大而慢的運動目標的檢測效果,引入權值均值的概念,建立背景映像並即時更新,然後結合權值、權值均值和背景映像對像素點進行前景和背景的分類。具體更新公式如下:μt= (1 - ρ)μt- 1 +ρxt (1)σ2t = (1 - ρ)σ2t- 1 +ρ( xt -μt ) T ( xt -μt ) (2)ρ =αη( xt | μκ,σκ ) (3)| xt -μt - 1 | ≤ 2. 5σt- 1 (4)w k , t = (1 - α) w k , t - 1 +αMk , t (5)式中ρ為學習率,即反映當前映像融入背景的速率。建模過程中,我們需要對混合高斯模型中的方差、均值、權值等一些參數初始化,並通過這些參數求出建模所需的資料,如馬茲距離。在初始化過程中,一般我們將方差設定的盡量大些(如15),而權值則盡量小些(如0.001)。 這樣設定是由於初始化的高斯模型是一個並不準確,可能的模型,我們需要不停的縮小他的範圍,更新他的參數值,從而得到最可能的高斯模型,將方差設定大些,就是為了將儘可能多的像素包含到一個模型裡面,從而獲得最有可能的模型。部分代碼如下:for(i=0; i<K_MODELS; i++) //K_MODELS為預先定義的模型數{// calculate the vector, v = (X - u)for(j=0; j<3; j++)v[j] = pixel[j] - model[i]->mean[j];// calculate the squared distance, d = |v|^2model[i]->dist2 = v[0]*v[0] + v[1]*v[1] + v[2]*v[2];// zot: this is only equal to mahalanobis distance// when covariance matrix = vI// (v = scalar variance for all channels)model[i]->mah2 = model[i]->dist2 / model[i]->var;//即為馬茲距離// see if X is close enough to this modelif (model[i]->mah2 < SFSquared)break;// the current pixel matches one of the K models//SFSquared是預定義的值}同時這時又產生了一個疑問,那麼如何得知我們的模型是否超過預定義的模型數了呢?這便是我們設定權值的其中一個原因了。根據大量的實驗,我們得出當前面幾個模型數的權值之和在T值(一般設為0.75)之內時,效果最好,因此當我們將前面的模型權值相加,當超過0.75時便捨去後面的模型。當然其中還有一個重要的問題,我們是如何得知前面的模型是相對來說最有可能的模型,而非被捨去的模型呢?在這裡我們首先要對各個模型的權值進行排序,按照權值與方差的比率的從大到小,對模型進行排序。由於一開始建立的模型肯定是不可靠的,在最後基本會被捨棄,因此我們在初始化的時候將初始模型的方差盡量大,而權值盡量小,從而使最不可能的模型排在比較後面。 到這裡為止,混合高斯模型的建模基本完成,我在歸納一下其中的流程,首先初始化預先定義的幾個高斯模型,對高斯模型中的參數進行初始化,並求出之後將要用到的參數。其次,對於每一幀中的每一個像素進行處理,看其是否匹配某個模型,若匹配,則將其歸入該模型中,並對該模型根據新的像素值進行更新,若不匹配,則以該像素建立一個高斯模型,初始化參數,代理原有模型中最不可能的模型。最後選擇前面幾個最有可能的模型作為背景模型,為背景目標提取做鋪墊。   EM演算法形式上類似於半隱半顯解擬線性方程. 
GMM (Gaussian mixture model) 做映像分割時對所分地區邊界沒有任何約束, 如果不估共變數陣,其退化為kmeans. 利用地區特徵函數的全變差等於邊界長這一性質,帶上邊緣約束,利用水平集作計算,就成偏微的levelset 方法。
GMM最好用graphcut解。速度快

高斯混合模型GMM

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.