劉小虎 彭天亮 邢 靜
(1.西安培華學(xué)院 西安 710125)(2.南昌工程學(xué)院江西省水信息協(xié)同感知與智能處理重點實驗室 南昌 330099)
隨著城市經(jīng)濟的高速發(fā)展,“智能監(jiān)控分析系統(tǒng)”迅猛發(fā)展[1],針對遺留物的檢測,國內(nèi)外學(xué)者給出了一些有效的方法,文獻[2]將隱馬爾科夫模型用于遺留包裹的檢測中,并將手提包裹、放下包裹、撿起包裹等一系列人的行為特征進行分類,該方法對運動目標(biāo)的檢測分割部分精度要求較高,當(dāng)包裹緊貼人身的時候就有可能不能準(zhǔn)確地分割出包裹和人。
由于運動目標(biāo)的交互行為造成目標(biāo)和觀測間的對應(yīng)關(guān)系難以確定,多目標(biāo)跟蹤常結(jié)合貝葉斯概率推理框架來實現(xiàn),粒子濾波是常用的貝葉斯推理逼近方法,文獻[3]提出基于BPF濾波的多目標(biāo)跟蹤,使用ADaboot檢測目標(biāo),結(jié)合粒子濾波實現(xiàn)跟蹤,取得了較好的結(jié)果;蒙特卡洛方法是一種采用隨機模擬采樣的方法來實現(xiàn)后驗的近似估計,文獻[4]采用RJMCMC采樣的方法實現(xiàn)了維數(shù)可變的近似推理過程,進而實現(xiàn)對不定目標(biāo)的跟蹤。而上述方法容易受到光照、形變及遮擋等的影響,本文基于深度神經(jīng)網(wǎng)絡(luò)和RJMCMC提出了一種遺留箱體檢測方法:采用DeepMask[5]的深度神經(jīng)網(wǎng)絡(luò)架構(gòu),實現(xiàn)對場景中物體的分割及檢測,并用于計算給定狀態(tài)下的觀測概率,以改進跟蹤狀態(tài),同時采用基于RJMCMC的可變多目標(biāo)跟蹤算法,實現(xiàn)對物體狀態(tài)的跟蹤建模;遺留檢測部分,首先根據(jù)DeepMask的檢測結(jié)果和跟蹤狀態(tài),初步確定遺留箱體的候選集,然后結(jié)合RJMCMC中的“新生”行為和跟蹤狀態(tài),最終確定是否為遺留箱體。
遺留箱體檢測包含箱體分割識別及多目標(biāo)追蹤兩個部分,整體過程采用動態(tài)貝葉斯網(wǎng)絡(luò)模型,其主要包含兩種類型的變量,第一種為隱變量,用以表征追蹤過程中的狀態(tài)空間,也即追蹤目標(biāo)的配置,記為 Xt={Xi,t,i∈It} ,i為目標(biāo)索引,t={1∶T}為時間索引,其主要描述了目標(biāo)的索引、類別、位置及大小等參數(shù)信息;第二種為觀測變量,記為Zt,主要描述了當(dāng)前幀中物體的特征等相關(guān)信息。
在建模過程引入一階馬爾科夫假設(shè),即當(dāng)前時刻t的狀態(tài) Xt只依賴于前一時刻的狀態(tài) Xt-1,同時假設(shè)在給定 Xt的情況下,到當(dāng)前時刻t為止的所有觀測變量 Z1∶t={Z1,…,Zt}之間相互獨立,那么追蹤問題就轉(zhuǎn)變?yōu)樵诮o定觀測量情況下,求解當(dāng)前時刻所對應(yīng)狀態(tài)的后驗分布 p(Xt|Z1∶t)[6],結(jié)合貝葉斯理論,后驗概率可用式(1)進行計算:
其中,p(Xt|Z1∶t-1)可用Chapman-Kolmogorov等式[15]表示為式(2)的形式:
其中,p(Xt-1|Z1∶t-1)為前一時刻的后驗概率,p(Xt|Xt-1)為狀態(tài)轉(zhuǎn)移概率,也稱為預(yù)測步或動態(tài)模型。將式(2)帶入式(1),同時用常量C來表示p(Zt|Z1∶t-1),則可得到式(3)遞歸貝葉斯濾波方程:
式(3)主要包含兩個步驟:預(yù)測和更新。預(yù)測階段,將當(dāng)前時刻和前一時刻之間的狀態(tài)轉(zhuǎn)移概率p(Xt|Xt-1)和前一時刻的后驗分布 p(Xt-1|Z1∶t-1) 相結(jié)合,來預(yù)測當(dāng)前時刻的狀態(tài) p(Xt|Zt-1);更新階段,當(dāng)前時刻的觀測量Zt已知,使用似然概率p(Zt|Xt)來度量觀測量和預(yù)測狀態(tài)間的吻合程度,進而更新當(dāng)前狀態(tài)。
可變目標(biāo)的動態(tài)模型對應(yīng)于預(yù)測階段中的p(Xt|Xt-1),可表示為
其中,pV(Xt|Xt-1)為多目標(biāo)動態(tài)模型,定義為
k為常數(shù),?表示空集,p( )Xi,t|Xt-1為單個目標(biāo)的轉(zhuǎn)移概率,定義為
p0(Xt)為當(dāng)前時刻中各目標(biāo)間的交互關(guān)系,用于限制目標(biāo)間的互相覆蓋,可定義為
其中,?(Xi,t,Xj,t)∝ exp(-g(Xi,t,Xj,t)),即基于目標(biāo)緊鄰間的關(guān)系來建模。
多目標(biāo)聯(lián)合似然模型對應(yīng)于更新階段中的p(Zt|Xt),對其采用 DeepMask[5]神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進行建模,其整體框架如圖1所示。
圖1 DeepMask神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
其主要包含兩個部分:一是獲取目標(biāo)候選區(qū)域,并實現(xiàn)對目標(biāo)的分割;二是對候選區(qū)域進行目標(biāo)的檢測;兩者之間在前期特征部分采用共享的方式實現(xiàn),使得網(wǎng)絡(luò)結(jié)構(gòu)精簡且效率較高,在減少候選區(qū)的同時,能夠保證較高的召回率和檢測精度。
該神經(jīng)網(wǎng)絡(luò)的損失函數(shù)為
因此,在給定當(dāng)前圖像幀的情況下,定義多目標(biāo)的聯(lián)合似然函數(shù)為
其中,p(Zi,t|Xi,t) 為在給定當(dāng)前時刻狀態(tài)時,觀測量的似然概率值,定義為
當(dāng)模型狀態(tài)和觀測量不一致時,所得似然概率值較小,從而需要對狀態(tài)進行更新以符合觀測,進而實現(xiàn)目標(biāo)的跟蹤。
在實際場景中,由于目標(biāo)間的交互,使得觀測量和狀態(tài)之間存在多種對應(yīng)關(guān)系,本文采用可逆跳轉(zhuǎn)馬爾科夫鏈蒙特卡洛(RJMCMC)[7]方法來近似求解狀態(tài)的后驗概率。
在RJMCMC中,任何造成維度變化的轉(zhuǎn)換都必須是可逆的,一個可逆的變換定義了從當(dāng)前狀態(tài)X到另一提議狀態(tài) X*的轉(zhuǎn)換函數(shù)hv,且hv是可微同構(gòu)的,為了配置狀態(tài)間的維度變化,通常需要引入附加變量U[8],則狀態(tài) X轉(zhuǎn)移到狀態(tài) X*的接受率可定義為
其中 p(Xt|Z1∶t)為模型的似然概率,p(v)為轉(zhuǎn)換類為維度變化時的雅克比矩陣。因此,為了使得雅克比矩陣為1,設(shè)計以下三種轉(zhuǎn)換方式:
此時,其提議分布為
其中:qbirth(i)為新增加目標(biāo)的概率,i*為可選的目標(biāo)索引,Dt為當(dāng)前時刻“消失”的目標(biāo),新增目標(biāo)的提議分布定義為
此時,采樣的接受率為
其中,p(Zt|Xt)為似然概率,p(v)為轉(zhuǎn)換類型的概率,qbirth為新生概率。
2)“消失”:即從當(dāng)前狀態(tài)中去除一個目標(biāo),以回到之前的跟蹤狀態(tài),其和“新生”轉(zhuǎn)換之間是可逆
此時,其提議分布為
其中:qdeath(i)為選擇的目標(biāo)概率,i*為目標(biāo)索引,其會加入到消失目標(biāo)的集合Dt中,消失目標(biāo)的提議分布定義為
此時,采樣的接受率為
3)“更新”:即在保持其他目標(biāo)狀態(tài)不變的情況下,對當(dāng)前選中目標(biāo)的狀態(tài)進行更新,而且其本身是可逆的,定義為:
此時,其提議分布為
其中,qupdate(i)為選擇更新目標(biāo)的概率,且選擇目標(biāo)的提議分布定義為
此時,采樣的接受率為
在完成對可變多目標(biāo)的檢測追蹤建模后,可以獲得當(dāng)前幀中箱體和人員的檢測,及總體的目標(biāo)數(shù)量、索引、類別、位置及范圍的信息,進而可以依據(jù)箱體的移動速度及人員和箱體之間的交互關(guān)系判別箱體是否為遺留,主要包含箱體移動的判斷及人員和箱體間關(guān)系的判斷兩部分。
箱體移動的判斷部分,采用差幀的方式進行判斷,定義為
其中,td為超前當(dāng)前時刻d幀,blobi,t為目標(biāo)i的中心位置,當(dāng)速度基本處于零附近,則認(rèn)為箱體沒有移動。
箱體遺留判斷部分,當(dāng)檢測箱體移動速度為零后,需要結(jié)合箱體的活動周期,來進一步確定是否為遺留,具體結(jié)合3部分中轉(zhuǎn)換類型中的“新生”來進行判斷,即當(dāng)箱體被遺留前,人員和箱體之間應(yīng)該是融為一體的,表現(xiàn)為跟蹤過程中的同一狀態(tài),而當(dāng)箱體被遺留后,箱體和人員應(yīng)拆分為兩個目標(biāo),表現(xiàn)為跟蹤過程中出現(xiàn)新的人員或箱體。
整體算法流程如下:
算法初始化:
RJMCMC采樣:
依據(jù)v~p(v)選取一種轉(zhuǎn)換類型,其中類型包括“新生”、“消失”和“更新”;
依據(jù)qv(i)從選取的轉(zhuǎn)換類型中選取目標(biāo)i*;
依據(jù)提議概率從選擇的轉(zhuǎn)換類型中對目標(biāo)i*采樣狀態(tài),具體如下:
基于選擇轉(zhuǎn)換類型計算接受率αv(“新生”采用式(15),“消失”采用式(19),“更新”采用式(22));
結(jié)合式(10)的似然概率及采樣樣本計算狀態(tài)的后驗估計;
結(jié)合式(22)及對應(yīng)人員和箱體間的“新生”轉(zhuǎn)換,判斷箱體是否遺留。
采用PETS2006數(shù)據(jù)源進行算法性能的驗證,原數(shù)據(jù)源中提供多攝像頭的序列,在實際實驗中只使用其中一個視角進行測試,由于RJMCMC的隨機性,對每個序列數(shù)據(jù)進行7次建模,并取均值作為計算結(jié)果。
對序列S1,S2,S3,S4,S5,S6,S7視頻序列進行箱體遺留物檢測,檢測結(jié)果如圖2所示。
圖2 箱體遺留檢測
其中,深色表示真實遺留箱體的事件數(shù),淺色為檢測的遺留箱體的事件數(shù),從中可以看出,除了S4,所提模型成功地檢測出了箱體遺留事件,在序列S2中出現(xiàn)誤報的情況,而對于S3沒有事件發(fā)生的情況,也可以進行處理,對于序列S4,在該序列中箱體的所有者坐在了箱體上,同時出現(xiàn)了另外一個人距離形體很近,而箱體所有者又離開,在這種情況下,模型錯誤地檢測箱體和人員沒有分開。
圖3為S5中遺留物檢測結(jié)果,檢測出的目標(biāo)使用不同的輪廓進行標(biāo)記,當(dāng)檢測到遺留箱體時,高亮顯示箱體。
通過基于跟蹤率和檢測率的方法并對比BPF算法[18]對本文所提算法進行性能分析,如圖4所示。BPH算法采用粒子濾波算法分別和GMM檢測法、Adaboost算法相結(jié)合的方法進行測試,其中箱體識別部分結(jié)合檢測物的大小和區(qū)域特征來實現(xiàn)。
圖3 S5中遺留物檢測結(jié)果
圖4 召回率
本文基于深度神經(jīng)網(wǎng)絡(luò)和RJMCMC提出了一種遺留箱體檢測方法,將跟蹤、分割和檢測融入到貝葉斯推理框架下,其中分割和檢測部分采用深度神經(jīng)網(wǎng)絡(luò)Deepmask實現(xiàn),并用來計算模型的似然概率,模型求解部分采用RJMCMC抽樣實現(xiàn)后驗概率的進行估計,然后,結(jié)合箱體的移動速度及人員和箱體的交互關(guān)系來判定是否出現(xiàn)遺留箱體,定量結(jié)果表明本算法具有較好的性能。實驗中RJMCMC求解部分較為耗時,下步工作采用神經(jīng)網(wǎng)絡(luò)來近似求解狀態(tài)的后驗概率,以改進檢測速度。