1. 程式人生 > >基於BP演算法的3維馬爾可夫隨機場運動目標檢測

基於BP演算法的3維馬爾可夫隨機場運動目標檢測

介紹

這篇論文主要介紹一種基於BP(Beilef propagation)演算法在3維空間-時間馬爾可夫隨機場的運用來進行運動目標檢測。 對於目標檢測,有兩種主要的方法即提取背景和幀差法,提取背景的方法顧名思義就是需要將前景與背景分開來達到檢測運動目標的目的, 但是需要大量移動相機位置來提取不同的背景;幀差法即通過前後幀的作差來檢測運動目標,這個方法由於作差將前後幀不變的資訊包括背景資訊也刪除了,因此不能定位目標的位置以及判斷物體的在形狀。本文提出的基於BP的3D MRF方法主要用於解決有著統一顏色的目標間難以準備檢測和與背景由相似外觀下的目標難以被檢測跟蹤的問題。

圖1 在3維馬爾可夫隨機場模型中基於置信傳播方法來檢測和跟蹤目標

模型構建

既然用來MRF來構建模型,由於MRF是一種無向有環的概率圖模型,這裡肯定是用概率的方法來求解運動目標檢測的問題。視訊是由一幀一幀的影象組成,而影象由畫素點組成。這裡的問題就成了怎麼把畫素點和這概率來聯絡上,從而才能利用MRF來解決運動目標檢測的問題,當然,由於視訊中涉及時間資訊,也就是前一幀,後一幀之間的時間順序關係,所以肯定是在一個(x,y,t)的空間中,所以利用3D中MRF模型。 在3D MRF中每個畫素有一個隱藏狀態點sj(代表一個畫素的運動似然),(正是通過估計圖片中這些隱藏狀態點來對應到檢測運動目標的工作上)和一個觀測到的資料點dj(由幀間差分法計算得到的二值運動檢測結果1表示有運動,0表示無運動),這樣建模後,這個3維空間的聯合概率為:
這裡寫圖片描述


聯合概率表示所有節點共同發生的概率,即將所有條件概率相乘。
這裡的si和di分別代表狀態點和資料點,ψ是一對不同的隱藏狀態點之間的狀態轉移函式,ϕ是隱藏狀態點和觀測資料點之間的測量函式,N代表在3維空間中隱藏狀態點或者觀測資料點的總數。在平方損失函式下,對狀態點sj最好的估計方法是後驗邊緣概率的平均(最小均方誤差估計,MMSE估計)。
這裡寫圖片描述
內部的加和表示sj的邊緣概率:各種狀態下所有其他節點對本結點影響的概率的和。
邊緣概率:即某個事件發生的概率,而與其他實踐無關;邊緣概率是這樣計算的:在聯合概率中把最終結果中不需要的那些事件合併成事件的全概率而消失(在兩個離散隨機變數的條件下,對其中任一行或者任一列求和,得到的概率就是邊緣概率)
由於聯合概率包含了在3維空間中所有的狀態點和資料點,所以基於內在的多變數概率分佈的最小均方誤差估計的計算非常困難。
所以就要利用一維馬爾可夫的特徵啦!!!即一個狀態點只與相鄰的點互相影響
,這裡相鄰的點作者設定為6個隱藏狀態點(包含時間上的2個點(前一幀以及後一幀對應位置的隱藏狀態點)和空間上的4個點(也就是此狀態點上下左右四個點,都在同一幀中)),如下圖所示,
這裡寫圖片描述

圖2 定義一個畫素鄰域的3維格子框架
所以BP演算法也就派上用場啦!BP利用了局部分訊息傳遞,把計算全域性的求和或者積分,轉換成了區域性的訊息傳遞,每個節點都能都過自身的狀態以及鄰近節點的狀態做出評價,得到自身的下一狀態,不斷地更新最終使系統達到穩定。
首先將狀態點的邊緣分佈計算用一個置信度來代替邊緣概率(作用:某個事件發生的概率,而與其他事件無關),每個隱藏狀態點都有一個置信度。

這個置信度定義了點的運動似然的一個概率分佈。
這裡寫圖片描述
其中b(sj)即隱藏狀態點sj的置信度,
這裡寫圖片描述
其中k代表某個瞬時(時刻),即在點s j上的置信度且在瞬時k執行在點s j的所有鄰域的隱藏狀態點上。在點s j上的置信度是所有傳入資訊(M kj)的乘積和區域性觀測到的資料點資訊(ϕj(sj,dj))如下圖3,傳遞的資訊具體說明了每個點認定它的鄰域應該有什麼樣的分佈,從點sk到sj計算資訊:
這裡寫圖片描述
這裡寫圖片描述

圖3 (a)計算置信度 (b)計算資訊

將(4)帶入(5)有,
這裡寫圖片描述
I ∈鄰域(k)/j代表除了j以外的所有鄰域點,再乘上來自鄰域點除了(s j)所有傳入資訊(Mk j)以及觀測資料資訊(ϕj(s j,d j)),這個乘積是由資訊傳送者通過傳遞函式ψj k(s j,s k)到資訊接受者演化而來。
總的來說BP演算法也就是
(1)通過加權乘積計算所有的區域性訊息
(2)節點之間的概率訊息在隨機場中的傳遞
演算法過程:

  1. 隨機選擇相鄰的隱藏狀態點si,sj
  2. 從si向sj傳送訊息Mij
  3. 更新隱藏狀態點sj的置信度
  4. 計算隱藏狀態點sj的最小均方誤差(MMSE)估計
  5. 判斷是否所有隱藏狀態點置信度被計算,否則跳到(1),直至演算法收斂

在計算過程中那ψϕ究竟怎麼計算呢?別慌!!!
從前面已經知道了置信度是用來定義此點是否是運動的,首先將這個置信度量化到[1,C]上(可以想象成畫素點量化到[0,255])。
前面說過ϕ是用來描述隱藏狀態點和觀測資料點之間的測量關係的,而且當觀測資料點dj為0時,通過幀間差分法計算表明此點不運動,並且給一個均勻分佈來表示,而為1時通過幀間差分法計算表明運動,同樣給定一個脈衝分佈(spike:尖峰)來表示,兩幀間畫素強度差越大越表明此點運動的可能性。
令spj代表在點sj(p∈[1,C])上的第p個狀態候補點,在觀測點和狀態點之間的相容性函式ϕ
這裡寫圖片描述
ψ是經過波特模型在相鄰隱藏狀態點之間定義的一個狀態轉移函式,
這裡寫圖片描述
其中,0<θ<1,ε=(1-θ)/(C-1),並且θε,這個ψ函式鼓勵相鄰的點有相同的狀態,也作為一個延時函式在缺失當前強度差時減少運動似然性。由於波特模型介紹了一個延遲項θ,因此一個畫素不一定會像相鄰的畫素一樣運動。空間集合點和時間集合點可能有不同的θ,但在測試時使用的相同的相容性函式。
下面通過一個例子來說明整個過程。
首先隨機初始化找到一個觀測資料點d2,其有隱藏狀態點s2,基於(7)有,
這裡寫圖片描述
並且根據(8)定義一個狀態轉移矩陣ψ
這裡寫圖片描述
然後由(4)來計算此點的置信度
這裡寫圖片描述
其中‘·’代表兩個向量矩陣的點乘(對應元素相乘)
然後計算資訊Mi j,即從s 2到s 3的資訊由(6)計算(矩陣乘法即求邊緣分佈)
這裡寫圖片描述
然後重複上述操作來進行迭代直到所有隱藏狀態點都被計算出置信度。
也就是下圖4的過程:
這裡寫圖片描述

圖4 C=2的1維資訊計算
不同的BP演算法從下圖就能看懂啦,過程都和上述一樣,只是用那些點來進行計算的差別。
這裡寫圖片描述
圖5 合成視訊序列上的測試
這裡寫圖片描述
圖6 θ=0.7,C=10時,運用不同的BP演算法來對隨機塊進行MMSE估計
對於每一幀都用非同步加速資訊來進行更新,四個一維的BP掃描子(從左向右,從上向下,從右向左,從下向上),都單獨被執行,如下圖7
這裡寫圖片描述
圖7 2維空間網格圖中的BP演算法
這裡1維BP意味著BP演算法同時一行接著一行,一列接著一列在空間網格中被執行,四個一位BP掃描置信度被‘·’操作融合在一起。即圖6(a)效果。
與此相反,如果只執行時間點上的BP演算法,在前向方向(HMM的前向),結果如圖6(b),只聚集了一個過去的運動資訊,在外觀上與前向運動歷史影象MHI有點類似。前向和後向的時間上的BP演算法唯一的不同在於後向維持一個長度為L的滑動時間視窗,L未來幀(固定延遲)在後向時間BP中被用到,在圖4中L=2。
對於每一幀,2維空間BP演算法通過非同步加速資訊來更新,使得每個畫素在某個時刻有一個置信度(運動似然分佈),這個置信度隨後通過時間BP演算法被進化為它的時間鄰域(前向或者後向)。
這裡寫圖片描述
圖8 θ=0.7,C=10時,運用不同的BP演算法來對均勻矩形進行MMSE估計
上圖8說明了另一個運動檢測的挑戰:幀間差分法只能檢測帶有均勻顏色的運動目標的碎片如圖8(b),然而前向/後向的空時BP演算法在找到整個運動目標上卻有很好的效果,那是因為每個畫素在空時上傳播區域性的幀差資訊到它的鄰域。如果在一個畫素上檢測到了改變,就指定此狀態點一個最大置信度狀態值作為其一個脈衝分佈。如果沒有檢測到運動,則其所有的鄰域點收到一個均勻分佈置信度,中心點即此點的脈衝分佈會逐漸通過轉移矩陣ψ下降到均勻分佈置信度,如下圖9
這裡寫圖片描述
圖9 θ=0.7,C=10時,在k時刻的置信度,‘*’代表MMSE估計
檢測效果圖:
這裡寫圖片描述
圖10 兩個攝像機上的實驗結果

相關推薦

基於BP演算法3隨機運動目標檢測

介紹 這篇論文主要介紹一種基於BP(Beilef propagation)演算法在3維空間-時間馬爾可夫隨機場的運用來進行運動目標檢測。 對於目標檢測,有兩種主要的方法即提取背景和幀差法,提取背景的方法顧名思義就是需要將前景與背景分開來達到檢測運動目標的目的,

機器學習之---隨機的應用

本節主要介紹馬爾科夫的隨機場模型以及其用於影象的分割演算法中。基於馬爾科夫的隨機場(MRF)的影象分割是一種基於統計的影象分割演算法,其模型引數少,空間約束性強,使用較為廣泛。 首先了解一下馬爾科夫模型,純粹的馬爾科夫模型就是指一件事物的當前狀態只與它之前的1個或者n個狀態有關,而與再之前的狀態

機器學習之---隨機例項

本節主要介紹馬爾科夫的隨機場模型以及其用於影象的分割演算法中。基於馬爾科夫的隨機場(MRF)的影象分割是一種基於統計的影象分割演算法,其模型引數少,空間約束性強,使用較為廣泛。 首先了解一下馬爾科夫模型,純粹的馬爾科夫模型就是指一件事物的當前狀態只與它之前的1個或者n個狀態有關,而與再之前的狀態

隨機與條件隨機場

文章目錄 馬爾可夫隨機場 1. 引言 2. 團與極大團 3. MRF聯合概率 4. MRF的條件獨立性(有向分離) 條件隨機場 馬爾可夫隨

演算法】 隱模型 HMM

隱馬爾可夫模型 (Hidden Markov Model,HMM) 以下來源於_作者 :skyme 地址:http://www.cnblogs.com/skyme/p/4651331.html 隱馬爾可夫模型(Hidden Markov Model,HMM)是統計模型,它用來描述一

強化學習導論(3)有限決策過程

本章我們介紹有限馬爾可夫決策過程(Finite MDPs),這個問題和賭博機一樣涉及到評估的反饋,但這裡還多了一個方面--在不同的情況作出不同的選擇。MDPs是經典的序列判定決策模型,就是說,你不是作

隨機模型(MRF-Markov Random Field)

原文: http://blog.sina.com.cn/s/blog_92c398b00102vs3q.html 馬爾科夫過程​ 隱馬爾科夫過程​​ 與馬爾科夫相比,隱馬爾可夫模型則是雙重隨機過程,不僅狀態轉移之間是個隨機事件,狀態和輸出之間也是一個隨機過程。 領域系統 分階領

隨機之影象分割【二】

參考:http://blog.csdn.net/on2way/article/details/47307927從貝葉斯理論到影象馬爾科夫隨機場  劉偉強等;基於馬爾科夫隨機場的遙感影象分割和描述;東南大學學報;(29):11-15,1999 version:2017.1.

隨機原理及影象去噪matlab實現

馬爾科夫隨機場,本質上是一種概率無向圖模型。分類:概率圖模型大致上分為兩種,一種是有向圖,又叫貝葉斯網路,連結節點之間的邊是有方向的,用來描述變數之間的因果關係(下圖左側);另一種是無向圖,又叫馬爾科夫隨機場,邊是沒有方向的,用來描述變數之間的軟約束(下圖右側)。 1.

模型(五)——隱模型的解碼問題(特比演算法

#include <stdio.h> #include <stdlib.h> #include <string.h> int main() {         float trans_p[3][3] = {{0.5,0.2,0.3},{0.3,0.5,0.2},{0

動態規劃之隱含模型(HMM)和特比演算法(Viterbi Algorithm)

動態規劃之(HMM)和(Viterbi Algorithm) 1. 實際問題 HMM-韋小寶的骰子 • 兩種骰子,開始以2/5的概率出千。 – 正常A:以1/6的概率出現每個點 – 不正常B: 5,6出現概率為3/10,其它為1/10 • 出千的

詳解隱模型(HMM)中的特比演算法

筆記轉載於GitHub專案:https://github.com/NLP-LOVE/Introduction-NLP 4. 隱馬爾可夫模型與序列標註 第3章的n元語法模型從詞語接續的流暢度出發,為全切分詞網中的二元接續打分,進而利用維特比演算法求解似然概率最大的路徑。這種詞語級別的模型無法應對 OOV(Out

轉:從頭開始編寫基於隱含模型HMM的中文分詞器

lan reverse single trim 地址 note str rip resources http://blog.csdn.net/guixunlong/article/details/8925990 從頭開始編寫基於隱含馬爾可夫模型HMM的中文分詞器之一 - 資

機器學習_5.隱模型的典型問題和演算法

三個典型問題 1.已知模型引數,計算某一給定可觀察狀態序列的概率 已經有一個特定的隱馬爾科夫模型 λ 和一個可觀察狀態序列集。我們也許想知道在所有可能的隱藏狀態序列下,給定的可觀察狀態序列的概率。當給定如下一個隱藏狀態序列:   那麼在 HMM 和這個

模型(HMM)及Viterbi演算法

HMM簡介   對於演算法愛好者來說,隱馬爾可夫模型的大名那是如雷貫耳。那麼,這個模型到底長什麼樣?具體的原理又是什麼呢?有什麼具體的應用場景呢?本文將會解答這些疑惑。   本文將通過具體形象的例子來引入該模型,並深入探究隱馬爾可夫模型及Viterbi演算法,希望能對大家有所啟發。

NLP --- 隱HMM(EM演算法(期望最大化演算法))

期望最大化 (Expectation Maximization) 演算法最初是由 Ceppellini[2] 等人 1950 年在討論基因頻率的估計的時候提出的。後來又被 Hartley[3] 和Baum[4] 等人發展的更加廣泛。目前引用的較多的是 1977 年 Dempster[5]等人的工

毯式遺傳演算法在基因選擇中的應用

#引用 ##LaTex @article{ZHU20073236, title = “Markov blanket-embedded genetic algorithm for gene selection”, journal = “Pattern Recogn

模型(HMM)和Viterbi演算法

1. 隱馬爾可夫模型(HMM) 在說隱馬爾可夫模型前還有一個概念叫做“馬爾科夫鏈”,既是在給定當前知識或資訊的情況下,觀察物件過去的歷史狀態對於預測將來是無關的。也可以說在觀察一個系統變化的時候,他的下一個狀態如何的概率只需要觀察和統計當前的狀態即可正確得出。隱馬爾可夫鏈和貝葉

模型學習筆記(一):前後向演算法介紹與推導

學習隱馬爾可夫模型(HMM),主要就是學習三個問題:概率計算問題,學習問題和預測問題。概率計算問題主要是講前向演算法和後向演算法,這兩個演算法可以說是隱馬爾可夫的重中之重,接下來會依次介紹以下內容。 隱馬爾可夫模型介紹 模型的假設 直接計演算法,前向演算法,後向演

【彩票】彩票預測演算法(一):離散型鏈模型C#實現

前言:彩票是一個坑,千萬不要往裡面跳。任何預測彩票的方法都不可能100%,都只能說比你盲目去買要多那麼一些機會而已。   已經3個月沒寫部落格了,因為業餘時間一直在研究彩票,發現還是有很多樂趣,偶爾買買,娛樂一下。本文的目的是向大家分享一個經典的數學預測演算法的思路以及程式碼。對於這個馬爾可夫鏈模型,我本人