新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Mumford-Shah模型的運(yùn)動(dòng)目標(biāo)檢測(cè)

基于Mumford-Shah模型的運(yùn)動(dòng)目標(biāo)檢測(cè)

作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò) 收藏
摘要:使用Mumford-Shah模型進(jìn)行運(yùn)行目標(biāo)檢測(cè)以克服常規(guī)算法的缺點(diǎn)。利用改進(jìn)的水平集算法,使算法能夠快速收斂。為達(dá)到實(shí)時(shí)性的要求,利用多分辨方法進(jìn)一步提高算法的速度。使用改進(jìn)的區(qū)域生長(zhǎng)算法進(jìn)一步準(zhǔn)確地檢測(cè)出運(yùn)動(dòng)目標(biāo)。關(guān)鍵詞:Mumford-Shah模型 運(yùn)動(dòng)目標(biāo) 水平集 區(qū)域生長(zhǎng) 魯棒性 運(yùn)動(dòng)目標(biāo)檢測(cè)在目標(biāo)跟蹤、視頻監(jiān)控和精確制導(dǎo)等領(lǐng)域有重要的應(yīng)用。傳統(tǒng)的運(yùn)動(dòng)目標(biāo)檢測(cè)算法存在閾值確定困難、對(duì)噪聲較敏感等缺點(diǎn)?;顒?dòng)輪廓模型是解決靜止與運(yùn)動(dòng)圖像分割和目標(biāo)檢測(cè)問(wèn)題的一種有效方法,其主要缺點(diǎn)在于拓?fù)溥m應(yīng)性較弱,即在演化過(guò)程中不能自適應(yīng)地裂開(kāi)或合并。由Osher和Sethian提出的水平集方法解決了此問(wèn)題,將二維的閉合曲線嵌入一個(gè)三維的曲面,借助曲面的演化實(shí)現(xiàn)曲線的演化。基于幾何主動(dòng)輪廓線模型的水平集算法僅利用圖像的邊緣信息,對(duì)邊緣模糊或存在離散狀邊緣的目標(biāo)標(biāo)難以得到理想的分割效果,而Chan-Vese提供的Mumford-Shah模型利用圖像的同質(zhì)區(qū)域的全局信息,可較好地分割出邊界模糊或離散邊界的目標(biāo)。 本文對(duì)含有多個(gè)運(yùn)動(dòng)目標(biāo)的圖像序列相鄰幀圖像差建立Mumford-Shah模型,利用水平集算法求解此模型,利用改進(jìn)的偏微分方程和其數(shù)值解,使方程能夠快速收斂。為達(dá)到實(shí)時(shí)性的要求,利用多尺度方法提高算法的速度。采用改進(jìn)的區(qū)域生長(zhǎng)算法進(jìn)一步提高分割的準(zhǔn)確性。本文圖像的背景相對(duì)固定,即攝像機(jī)相對(duì)固定。 1 水平集(Level set)方法 水平集方法主要是從界面?zhèn)鞑ヮI(lǐng)域逐步發(fā)展起來(lái)的,是處理封閉運(yùn)動(dòng)界面隨時(shí)間演化過(guò)程中幾何拓?fù)渥兓挠行в?jì)算工具。以水平集合函數(shù)φ所表達(dá)的曲線演化的最大特點(diǎn)是:即使隱含在φ中的零水平集曲線C發(fā)生了拓?fù)浣Y(jié)構(gòu)的變化,φ仍然保持一有效函數(shù)。 要使φ的演化與閉合曲線C的演化相關(guān),φ的演化要滿足如下的Hamilton-Jacobi偏微分方程: аφ/аt=F|△φ| (1) 水平集方法中不需要顯式地求水平集函數(shù)φ,而是用圖像域初始閉合曲線C0生成的符號(hào)距離函數(shù)(signed distance function)代替,簡(jiǎn)記了SDF,即: φ(x,t=0)=%26;#177;d (2) x∈R2,d為圖像平面上的點(diǎn)x到曲線C的距離,若x在曲線的內(nèi)部取正,則在曲線的外部取負(fù)。 2 運(yùn)動(dòng)目標(biāo)檢測(cè)算法 2.1 幀差法 定義灰度差分圖像D={d(x,y)}如下: d(x,y)=g(|I(x,y;t+1)-I(x,y;t)|) (3) I(x,y;t+1)和I(x,y;t)為圖像序列中相鄰幀圖像。函數(shù)g(x)定義為: 函數(shù)g的作用是調(diào)整圖像的對(duì)比度和均衡化圖像,ψ為調(diào)整系數(shù)。對(duì)分辨率較低場(chǎng)景中存在多個(gè)運(yùn)動(dòng)目標(biāo),且其運(yùn)動(dòng)速度和方向不相同的條件下,采用簡(jiǎn)單的閾值法分割效果較差。 2.2 基于Mumford-Shah模型的運(yùn)動(dòng)區(qū)域檢測(cè)及水平集解 運(yùn)動(dòng)區(qū)域檢測(cè)需要將灰度差分圖像D中的灰度一致域分離出來(lái),即分割出運(yùn)動(dòng)區(qū)域和靜止背景區(qū)域。傳統(tǒng)的幾何輪廓線模型侵害圖像的方法多采用活動(dòng)輪廓線所在位置的圖像局部信息,難于綜合圖像區(qū)域的全局信息,僅僅依靠進(jìn)化曲線C所在位置邊緣信息控制C的進(jìn)化。這種方法對(duì)邊緣模糊或離散邊緣的圖像分割效果不好。目前大多數(shù)視頻監(jiān)控圖像的分辨率不高,采用傳統(tǒng)的幾何輪廓線的方法不能正確分割出圖像中的同質(zhì)區(qū)域。 Chan-Vese提出了一種簡(jiǎn)化Mumford-Shah的圖像分割模型,圖像I的定義域?yàn)棣?,C為Ω上的一閉合曲線,C將圖像I分割為目標(biāo)和背景兩個(gè)同質(zhì)區(qū)域,定義如下的能量函數(shù): 式(5)中c0、cb分別為圖像I在閉合曲線C內(nèi)部和外部的灰度平均值。μ%26;#183;Length(C)、v%26;#183;Area(inside(C))為正則項(xiàng),控制曲線的進(jìn)化。因此,最優(yōu)化圖像分割問(wèn)題轉(zhuǎn)化為求能量函數(shù)F(c0,cb,C)的最小值問(wèn)題??梢钥闯?,只有C進(jìn)化到目標(biāo)的邊界C0時(shí),F(xiàn)(c1,c2,C)取最小值。 Chan-Vese以歐拉-拉格郎日法推導(dǎo)出水平集函數(shù)φ表達(dá)并滿足式(5)的偏微分方程: 式(6)的Ω為圖像函數(shù)和水平集函數(shù)的定義域。H(z)是Heaviside函數(shù),δ(x)是Direc函數(shù)。此偏微分方程所涉及的圖像函數(shù)I的定義域?yàn)槿珗D數(shù)據(jù),且方程中C0(φ)、cb(φ)也定義在全圖范圍內(nèi),Mumford-Shah的圖像分割模型的最大特點(diǎn)就是全局優(yōu)化。另外閉合曲線可以放置在圖像上任何位置。最后一個(gè)顯著特點(diǎn)就是不依靠圖像的邊緣信息,即使圖像的邊緣模糊或離散,仍能得到較好的分割效果。 實(shí)驗(yàn)表明,由于Dirac函數(shù)狹窄的定義范圍,限制了模型檢測(cè)圖像的全局性。Chan-Vese方法將此進(jìn)行了改進(jìn),采用了正則化的Heaviside函數(shù)和Direc函數(shù),定義為: 該函數(shù)保證了在圖像定義域范圍內(nèi),所有點(diǎn)的δε(z)值都是趨于零的正值。但當(dāng)檢測(cè)曲線遠(yuǎn)離檢測(cè)目標(biāo)時(shí),則δε(z)函數(shù)嚴(yán)重限制了對(duì)遠(yuǎn)離進(jìn)化曲線C的目標(biāo)的檢測(cè),不能穩(wěn)定地檢測(cè)出目標(biāo)。 2.3 對(duì)Chan-Vese分割方法的改進(jìn) 為消除方程(6)中Dirac函數(shù)對(duì)檢測(cè)遠(yuǎn)離進(jìn)化曲線C邊緣的抑制,將δ(φ)替換為|△φ|,使偏方程變?yōu)椋? 而co(φ)、cb(φ)按照方程(6)計(jì)算。Heaviside函數(shù)按照式(7)計(jì)算。由于|△φ|≈1,消除了Dirac函數(shù)對(duì)非零水平集的抑制,因此方程(8)比方程(6)有更好的全局優(yōu)化性能。 為保證式(8)解的穩(wěn)定性,不采用Chan-Vese中的Jacobi方法,而采用有限差分方法: 改進(jìn)后的偏微分方程的求解過(guò)程如下: %26;#183;由φ0初始化φ0,n=0; %26;#183;由式(6)計(jì)算c0(φ)、cb(φ); %26;#183;由式(10)計(jì)算曲率K; %26;#183;由式(9)計(jì)算φn+1; %26;#183;檢查解是否穩(wěn)定,如不穩(wěn)定,n=n+1,重復(fù)計(jì)算。 由于Mumford-Shah模型要計(jì)算整個(gè)圖像定義域的全局最優(yōu)解,不能使用常用的窄帶法求解水平集,需在整個(gè)定義域更新水平集函數(shù),計(jì)算量較大,但由于方程(8)為全局優(yōu)化的偏微分方程,只需很少的幾次迭代,就可以得到理想的分割效果。 為減少算法的運(yùn)行時(shí)間,采用多分辨方法,算法在保證檢測(cè)結(jié)果正確的前提下,可大大減少算法的計(jì)算時(shí)間。具體的計(jì)算時(shí)間比較見(jiàn)表1。表1 水平集算法改進(jìn)前后的計(jì)算代價(jià) 圖像序列等級(jí)(圖像大?。┍疚乃惴–han-Vese算法迭代次數(shù)收斂時(shí)間(s)迭代次數(shù)收斂時(shí)間(s) 0(320%26;#215;240)32.3100400129.3100圖像序列1(160%26;#215;120)30.6020706.8200 2(80%26;#215;60)30.1200100.43102.4 運(yùn)動(dòng)變化分割基礎(chǔ)上的區(qū)域生長(zhǎng) 在圖像背景相對(duì)靜止的條件下,圖像變化區(qū)域C可表為: C(t,t+1)=O(t)∪O(t)∪O(t+1) (11) C(t-1,t)=O(t-1)∪O(t) 其中O(t)為t時(shí)刻屬于運(yùn)動(dòng)目標(biāo)的點(diǎn)集。則 C(t-1,t)∩C(t,t+1)=O(t)∪(O(t+1)∩O(t-1)) (12) 這意味著兩個(gè)連續(xù)幀差圖像的交集更能代表運(yùn)動(dòng)目標(biāo)的準(zhǔn)確位置,因此使用兩連續(xù)幀差圖像的交集作為運(yùn)動(dòng)目標(biāo)的初始位置,在此基礎(chǔ)上進(jìn)行區(qū)域生長(zhǎng)以更完整地檢測(cè)出運(yùn)動(dòng)目標(biāo)。 區(qū)域增長(zhǎng)法的基本思想是將具有相似性質(zhì)的像素集合起來(lái)構(gòu)成區(qū)域。實(shí)驗(yàn)中發(fā)現(xiàn),采用檢測(cè)出的運(yùn)動(dòng)區(qū)域?yàn)榉N子像素進(jìn)行區(qū)域生長(zhǎng),難以確定相應(yīng)的閾值,另外運(yùn)動(dòng)區(qū)域的點(diǎn)可能包括背景像素點(diǎn),這樣很易造成生長(zhǎng)錯(cuò)誤。 本文采用一種基于圖像邊緣信息的區(qū)域生長(zhǎng)算法以克服上面的缺點(diǎn),以兩連續(xù)幀差圖像的交集作為運(yùn)動(dòng)目標(biāo)的種子像素點(diǎn)集,采用Sobel邊緣算子檢測(cè)種子像素周圍的像素點(diǎn),如果為邊緣像素點(diǎn),則標(biāo)記為運(yùn)動(dòng)目標(biāo)點(diǎn),將檢測(cè)到的邊緣像素點(diǎn)與運(yùn)動(dòng)檢測(cè)結(jié)果進(jìn)行融合,能夠準(zhǔn)確地檢測(cè)出運(yùn)動(dòng)目標(biāo)。 基于邊緣信息的區(qū)域生長(zhǎng)算法過(guò)程如下: (1)選擇水平集算法檢測(cè)出的運(yùn)動(dòng)區(qū)域的運(yùn)動(dòng)點(diǎn)為種子像素; (2)以該像素為中心檢測(cè)其8鄰域,采用Sobel算子進(jìn)行檢測(cè),如為邊緣像素,則標(biāo)記; (3)以新確定的像素為中心,反回步驟(2),檢查新像素的鄰域,直至遇到水平集算法確定的運(yùn)動(dòng)點(diǎn)或超出沒(méi)定的區(qū)域范圍,返回(1),直到所有的種子像素都被檢查一遍,結(jié)束整個(gè)生長(zhǎng)過(guò)程。 在使用Sobel算子時(shí)采用各向同性的檢測(cè)模板,不采用固定閾值確定邊緣點(diǎn),而是采用如下的判斷: G(x,y)/V(x,y)>Cof (13) G(x,y)為點(diǎn)(x,y)計(jì)算的邊緣強(qiáng)度,V(x,y)為點(diǎn)(xmy)圖像的灰度值。為檢測(cè)邊緣像素點(diǎn)較多,Cof取較小值。測(cè)試中Cof取0.1~0.3。圖13 實(shí)驗(yàn)結(jié)果分析 采用實(shí)際的圖像序列進(jìn)行測(cè)試,檢測(cè)結(jié)果如圖1所示。利用方程(8)和方程(6)分別進(jìn)行計(jì)算,參數(shù)取值如下:λ0=λb=1,μ=0.2%26;#215;255,v=0,△t=0.1,Cof=0.2,μ取較大值以保證檢測(cè)較大目標(biāo)。為加快SDF函數(shù)的初始化計(jì)算速度,初始化曲線選為圓,以圖像矩形中心為圓心,矩形的短邊的一半為半徑。編制程序列用不同等級(jí)分辨率的圖像進(jìn)行計(jì)算。計(jì)算機(jī)配置為:CPU為1.50GHz主頻率,內(nèi)存為256MB,操作系統(tǒng)為Windows2000。 由表1和圖1的檢測(cè)結(jié)果可以看出,使用本文的算法對(duì)不同等級(jí)分辨率的圖像迭代三次均能正確地檢測(cè)圖像中的運(yùn)動(dòng)車輛和行人。改進(jìn)后的算法與Chan-Vese算法相比大大減少了收斂的次數(shù)。由于改進(jìn)后的算法與Chan-Vese算法每次迭代的耗時(shí)基本相同,但改進(jìn)后的算法迭代數(shù)少,因此提高了算法的速度。改進(jìn)的算法對(duì)不同等級(jí)分辨率的圖像均能正確地檢測(cè)出運(yùn)動(dòng)目標(biāo),這一點(diǎn)也驗(yàn)證了算法的全局性能,圖像序列等級(jí)2的計(jì)算時(shí)間為0.1200s。Chan-Vese算法由于Dirac函數(shù)的影響,對(duì)初始化曲線的位置和曲線的長(zhǎng)度十分敏感,在實(shí)驗(yàn)中也驗(yàn)證了這一點(diǎn)。當(dāng)初始化曲線遠(yuǎn)離目標(biāo)時(shí),收斂次數(shù)大大增加,而改進(jìn)后的算法對(duì)初始化曲線的位置不敏感,算法可快速收斂。圖1(f)與(g)為水平集算法檢測(cè)結(jié)果,圖1(g)為兩者的交集,圖1(i)為采用Sobel邊緣檢測(cè)算子進(jìn)行區(qū)域生長(zhǎng)法的生長(zhǎng)結(jié)果,圖1(j)為融合兩者的分割結(jié)果,較好地檢測(cè)出運(yùn)動(dòng)目標(biāo)。對(duì)檢測(cè)出來(lái)的運(yùn)動(dòng)目標(biāo)的內(nèi)部空洞可以直接填充以完整地檢測(cè)出運(yùn)動(dòng)目標(biāo)。 SDF函數(shù)的構(gòu)造比較耗時(shí),可利用當(dāng)前幀水平集計(jì)算迭代收斂時(shí)的SDF函數(shù),作為下一幀差圖像水平集計(jì)算時(shí)的SDF函數(shù),避免了SDF函數(shù)的構(gòu)造。由于連續(xù)幀間的目標(biāo)運(yùn)動(dòng)變化不大,因此在下一幀差圖像水平集計(jì)算的迭代次數(shù)更少,進(jìn)一步提高了算法的速度。在連續(xù)幀的測(cè)試中,迭代一到兩次均能檢測(cè)出運(yùn)動(dòng)目標(biāo)。 采用基于能量極小化的框架對(duì)含有多個(gè)運(yùn)動(dòng)目標(biāo)的圖像序列相鄰幀圖像差建立Mumford-Shah模型,為求解此模型,提出利用改進(jìn)的偏微分方程和水平集數(shù)值解法,使算法能夠快速收斂。為達(dá)到實(shí)時(shí)性的要求,利用多尺度方法進(jìn)一步提高算法的速度。使用改進(jìn)的區(qū)域生長(zhǎng)算法進(jìn)一步準(zhǔn)確檢測(cè)出運(yùn)動(dòng)目標(biāo)。試驗(yàn)結(jié)果表明,本文的算法能從較復(fù)雜的圖像序列中有效地檢測(cè)和提取出運(yùn)動(dòng)目標(biāo)并有較強(qiáng)的魯棒性。進(jìn)一步提高算法的魯棒性是今后的研究重點(diǎn)。

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉