基本了解GMM的基本作業原理,下面我們介紹利用MATLAB來實作GMM的基本作業原理,通過介紹程式來逐步實作GMM的作業原理,

代碼段一:通過sprintf函式來讀取所存在的圖片,然后再通過imread來讀取圖片的數值,這個代碼段比較簡單,主要用于讀取圖片的數值,

代碼段二:主要引數的初始化,

代碼段三,主要用于計算每張圖片的灰度值,下面就簡單介紹一下影像平均灰度值的計算方法,灰度值是亮度的概念,0~為黑色,255~白色,依據顏色深淺范圍為0~255.(一定介于0-255之間),計算影像的平均灰度值有利于簡化靜態影像和動態影像的區分,我們通過計算圖片的平均灰度值,使靜態的物體變為黑色,而使動態的物體變為白色,從而簡化了動態物體的識別,

代碼段四:這里就是我們所得到多維高斯函式的疊加功能,

這兩組公式就是對應的這段代碼,通過代碼我們可以實作多維高斯函式的疊加運算,

代碼段五:影像像素的更新,將處理后的影像做更新,然后得到跟蹤的影像,
4.2 仿真結果以及分析
以上我們基本了解了GMM的基本作業流程,下面我們將GMM的仿真結果做具體的分析,所謂的動態影像跟蹤,就是將圖片變成黑白像素的影像,然后動態的物體做為白色物體而靜態的物體作為黑色影像,從而實作了物體的動態跟蹤程序,
·動態樹葉的分辨
|
圖4-1 |
圖4-2 |
|
圖4-3 |
圖4-4 |
事實上,動態樹葉的變動范圍是非常小的,而對于系統的檢測,樹葉不應該被檢測出來,這可能就是該系統的不足之處,
·汽車的跟蹤
視屏中出現多次的汽車,我們以其中一個汽車做為例子來說明,
|
圖4-5 |
圖4-6 |
|
圖4-7 |
圖4-8 |
|
圖4-9 |
圖4-10 |
|
圖4-11 |
圖4-12 |
從圖中我們可以看到右端一個白色的物體移動過來,這個白色的物體就是所謂的汽車了,只是由于GMM系統自身的不穩定性,導致略微運動的樹葉也被檢測出來了,但是總體可以看到汽車已經被檢測出來了,
·行人的跟蹤
|
圖4-13 |
圖4-14 |
|
圖4-15 |
圖4-16 |
|
圖4-17 |
圖4-18 |
通過觀察這幾張圖片,我們可以看到中間有一個行人走了過來,說明對于行人,我們也檢測成功了,可見GMM演算法的正確性,
- 利用MATLAB實作KDE
5.1 基于MATLAB的KDE實作
通過以上的理論分析,我們基本可以得到KDE演算法的基本實作程序,

代碼段一:這個代碼段主要通過計算影像的KDE像素點來完成影像的檢測作業,然后對通過演算法后的點利用reshape函式進行重構影像,得到我們所要的像素值,

代碼段二:通過這個代碼,我們將得到滿足條件要求的影像型別值,
![]()
代碼段三:權重的計算
![]()
代碼段四:最后我們得到了影像的最后需要的像素值來達到動態物體的跟蹤效果,
5.2 仿真結果以及分析
通過上面的代碼分析,我們得到了所要的效果,
|
圖5-1 |
圖5-2 |
通過這個程式,我們可以看到,只有動的人物被檢測出來了,但是背景的樹葉沒有被檢測出來,完好的解決了GMM演算法中存在的問題,
|
圖5-3 |
圖5-4 |
通過這個程式,我們可以看到,只有動的汽車被檢測出來了,但是背景的樹葉沒有被檢測出來,完好的解決了GMM演算法中存在的問題,
|
圖5-5 |
圖5-6 |
通過這個程式,我們可以看到,只有動的人物被檢測出來了,但是背景環境物體沒有被檢測出來,完好的解決了GMM演算法中存在的問題,
通過以上的對比,很顯然KDE的效果比GMM效果更加理想,所以在大多數的情況下,我們一般采用KDE演算法作為移動物體的動態檢測演算法,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/155928.html
標籤:其他
下一篇:關于jupyter notebook 使用tensorflow-gpu 2.0版本 安裝及測驗 關于cuda以及chdnn的pip安裝

















