張 穎,連 旭
(遼寧科技大學(xué) 電信學(xué)院,遼寧 鞍山 114051)
運動人體輪廓檢測算法的分析與改進(jìn)
張 穎,連 旭
(遼寧科技大學(xué) 電信學(xué)院,遼寧 鞍山 114051)
在視頻序列的人體運動分析中,實時分割出運動的人體,是研究的關(guān)鍵步驟。為了克服不均勻光照、前景運動緩慢、背景中存在搖擺的樹葉等因素對檢測帶來的影響,提出了一種背景減除法與幀間差分相結(jié)合的運動目標(biāo)檢測方法。該方法首先通過基于幀差法的背景模型建立方法建立背景圖像,再結(jié)合背景減除與帶有權(quán)值的幀間差分檢測運動目標(biāo),降低目標(biāo)物體對速度和環(huán)境干擾的敏感性。最后通過形態(tài)學(xué)梯度運算操作消除外界噪聲的影響。實驗結(jié)果表明,本文提出的算法計算簡單,對環(huán)境適應(yīng)能力較強,是一種有效的運動人體檢測方法。
運動目標(biāo)檢測;背景模型建立;權(quán)值多重幀間差分;形態(tài)學(xué)梯度
人體運動分析是目前圖像識別領(lǐng)域研究的一個熱點,它在步態(tài)識別領(lǐng)域、體育運動分析、智能安全領(lǐng)域、醫(yī)療診斷等方面都有著非常廣闊的應(yīng)用前景。它涉及到計算機視覺、模式識別、圖像處理、圖像理解、人工智能等多個領(lǐng)域,是跨學(xué)科研究課題。人體目標(biāo)輪廓的提取效果直接影響到后期的計算機理解與行為的識別,因此,運動人體的檢測與輪廓的提取是計算機視頻圖像中最基礎(chǔ)最關(guān)鍵的技術(shù),對步態(tài)識別、智能安全等具有至關(guān)重要的作用。
人體運動檢測是指在輸入視頻圖像中確定運動人體的位置,尺度大小和姿態(tài)的過程[1]。目前采用較多的、比較經(jīng)典的人體運動檢測算法主要有幀間差分法、背景減除法、光流法等[2-3],每種方法都有其各自的適用范圍及約束條件。幀間差分法具有運算簡單,但是對于緩慢運動的前景目標(biāo)容易產(chǎn)生空洞現(xiàn)象。背景減除法簡單易行,但是對于背景中光照比較敏感,光流法優(yōu)點是對目標(biāo)的幀間運動限制較少,缺點是運算復(fù)雜,對硬件要求較高,不方便使用。
針對運動人體始終出現(xiàn)在背景中的情況,文中提出了一種新的背景提取方法:基于幀間差分法的背景估計算法,首先采用幀間差分的思想,對連續(xù)的幾幀圖像進(jìn)行單個像素的運算,根據(jù)單個像素運算后所呈現(xiàn)的結(jié)果構(gòu)建背景模型,然后應(yīng)用此背景圖像對相應(yīng)的幀進(jìn)行減除運算,進(jìn)而獲得運動人體圖像信息。
對于幀間差分法的缺點,文中提出了有權(quán)值的多重三幀幀間差分法,即通過求取連續(xù)多重三幀序列圖像中前后幀差所重合的部分來得到運動目標(biāo)的輪廓。
有權(quán)值的多重幀差法可以有效的克服由于天氣或者光線變化所帶來的不利影響,彌補了背景減除法的缺陷,而背景減除法又可以很好的去除幀間差分法所帶了的空洞效應(yīng),因此兩者可以聯(lián)合應(yīng)用,互補不足,進(jìn)而得到比較好的處理效果。
有時因為噪聲的影響,會使檢測的結(jié)果中出現(xiàn)一些本是背景區(qū)域的像素點被檢測成運動區(qū)域,另外背景光線的擾動,人體的陰影等也可能被判為運動區(qū)域,為消除這些影響,引入了形態(tài)學(xué)梯度運算,實踐證明加入形態(tài)學(xué)梯度運算不僅去除了小的噪聲影響,更有效的避免了不均勻光照或者陰影等帶來的人體輪廓分割錯誤。
幀間差分[2],也稱為時域差分,是運動視覺的方法中最為簡單快速的方法,常用的幀間差分就是連續(xù)兩幀進(jìn)行相減,然后二值化處理得到運動的區(qū)域。如設(shè)Fk是圖像序列中第k幀圖像灰度數(shù)據(jù)值,F(xiàn)k+1是圖像序列中第k+1幀圖像灰度數(shù)據(jù)值,則時間相鄰的兩幀圖像的差分圖像定義為式(1):
其中T為閾值。如果差值大于T,則說明該區(qū)域的灰度變化范圍較大,屬于運動目標(biāo)區(qū)域,否則該屬于背景區(qū)域。
但在實際應(yīng)用中,如果運動目標(biāo)的前后兩幀變化不大,則可能導(dǎo)致部分區(qū)域重合,導(dǎo)致檢測到的運動目標(biāo)不夠完整。
背景減除法[3]是目前最常應(yīng)用的一種運動目標(biāo)檢測方法,其基本原理是首先構(gòu)造一幅背景圖像,然后用當(dāng)前幀與背景幀做差分運算,通過閾值化操作對差分結(jié)果進(jìn)行分割,假設(shè)t時刻背景幀圖像為F0,對應(yīng)的當(dāng)前幀的圖像為Ft,則差分圖像表示為式(2):
如果當(dāng)前幀圖像與背景圖像相應(yīng)像素的灰度值之差大于閾值T,那么當(dāng)前位置的像素值則置為1,即認(rèn)定該區(qū)域?qū)儆谶\動目標(biāo)。
背景減除法操作方便,運算量小,在一般較為簡單的運動提取過程中可以達(dá)到很滿意的結(jié)果,但也有很多不足:1)對光線敏感,如果當(dāng)前幀與背景中的光照條件有差別,則運動人體的提取不能達(dá)到很好的效果;2)若當(dāng)前背景中的運動人體與背景中相鄰的某些灰度值差別很小,則檢測出的信息就不夠完整,小部分運動物體的輪廓可能會吞沒在背景圖像中,使運動人體圖像不能很好的得到顯示;3)檢測出的部分區(qū)域容易產(chǎn)生重影,給后續(xù)的分析、識別等工作帶來錯誤信息,產(chǎn)生錯判。
基于光流場[3,9]的方法,也稱為連續(xù)處理方法,通常假定相鄰時刻之間的間隔是很小的(幾十毫秒之內(nèi)),從而相鄰時刻的圖像之間的差異很小,可以求得稠密(即圖像中的每一像素)處所對應(yīng)物體的運動信息。光流法也采用兩步:第一步,是計算光流場,第二步則是由光流場來計算場景中物體的三維運動和結(jié)構(gòu)。光流場的方法能夠很好的用于二維運動估計,它也可以同時給出全局點的運動估計。但是本身還存在著一些問題:遮擋問題、孔徑問題、缺乏足夠的空間圖像梯度以及計算量很大的問題。
針對運動人體輪廓提取時經(jīng)常出現(xiàn)的問題,文中主要在背景的提取,幀間差分法的應(yīng)用以及圖像輪廓后處理方面做了改進(jìn)和優(yōu)化。
在背景減除法中,提取背景模型的準(zhǔn)確與否,直接關(guān)系到最終檢測結(jié)果的準(zhǔn)確性。最簡單的背景提取方法是時間平均法,就是將一段時間中的圖像序列求和然后做平均,獲得一幅近似的背景圖像,但是這種方法容易將前景目標(biāo)混入到背景中,使分割不充分,產(chǎn)生混合現(xiàn)象。還有一種方法就是建立混合高斯背景分布模型,這種方法能準(zhǔn)確的提取背景,但是模型復(fù)雜,計算量大,需要很好的硬件方面的支持從而完成實時運動目標(biāo)的檢測。
文中用了一種新的構(gòu)造背景模型的算法,這種算法相對來說運算量較小,操作簡單,又能很好的將前景的運動人體進(jìn)行很好的去除,得到比較滿意的背景圖像。
假設(shè)圖像中某像素點的亮度表示為Ii(x,y),其中(x,y)表示像素點所處的坐標(biāo)位置,i表示第i幀圖像(i=1,2,3…N),N表示總共有N幀圖像數(shù),相鄰兩幀圖像之間的差為SUBMi(x,y),d表示相鄰兩幀間對應(yīng)像素的實際差值。計算式(3)如下:
其中閾值T的設(shè)定用來去除一些較小的噪聲。SUBMi(x,y)表示像素點在位置(x,y)處隨時間變化的灰度曲線。根據(jù)SUBMi(x,y)的值本文將這條曲線進(jìn)行分段,當(dāng)SUBMi(x,y)大于0時表示此位置的像素點灰度值在當(dāng)前時段有變化,可能是前景運動目標(biāo),當(dāng)SUBMi(x,y)等于0時表示此位置的像素點灰度值保持不變,表示此位置在當(dāng)前時段可能處于背景狀態(tài)。我們希望得到的就是的值為0的點,當(dāng)SUBMi(x,y)長時間處于像素值為0時,表明這段時間內(nèi)該坐標(biāo)點的灰度值表示的是背景值,可以直接用于背景模型中。本文將其中被檢測到的靜止部分用集合{Sj(x,y),(1<j B(x,y)表示重建的視頻背景圖像,實驗結(jié)果表明這種方法可以很快速準(zhǔn)確的恢復(fù)完整的背景圖像。 當(dāng)幀差圖像沿時間的變化函數(shù)出現(xiàn)圖2中的情況時,表明背景圖像中的相關(guān)位置(x,y)處的像素值可能是連續(xù)不間斷變化的,即圖像中可能有樹葉等隨時變化的物體出現(xiàn),這種情況下可采用均值操作,求當(dāng)前坐標(biāo)處的所有幀的平均值作為背景像素值,以減小背景圖像中不斷抖動的物體所帶來的影響。 圖1 幀差圖像沿時間的變化函數(shù)Fig. 1 The resulting image after subtracted 圖2 有樹葉等抖動物體出現(xiàn)時的幀差圖像沿時間的變化函數(shù)Fig. 2 The resulting image influenced by leaves and other objects 運用背景圖像B和當(dāng)前幀Ik的差分操作,得到差值結(jié)果IBk,本文通過設(shè)定一個閾值T來將差值圖像進(jìn)行二值化,數(shù)學(xué)表達(dá)式如式(6)所示: 閾值的選取關(guān)系到目標(biāo)分割質(zhì)量的好壞,本文中采用了最大類間方差法[7](Otsu法)來確定閾值T。閾值T使圖像進(jìn)行二值化處理后,前景和背景的兩個像素間的類間方差最大,也就是構(gòu)成了兩部分圖像的差別最大。 由于兩幀幀間差分法有兩個明顯的缺點[4]:1)檢測出的目標(biāo)中包含可兩幀中變化的信息;2)前景運動物體運動較慢時,兩幀間目標(biāo)重疊部分不容易被檢測出來。考慮到運動中的人體速度不是很快的因素,文中在此提出了有權(quán)值的多重三幀幀間差分法,即通過求取連續(xù)多重三幀序列圖像中前后幀差所重合的部分來得到運動目標(biāo)的輪廓,由于多重幀間差分法進(jìn)行的都是加減法以及比較運算,因此運算簡單,相比三幀幀間差分法,在基本不增加計算量的基礎(chǔ)上,能避免運動速度較慢,造成運動人體輪廓提取時出現(xiàn)的空洞現(xiàn)象,可以得到更好的處理效果。本文根據(jù)人體運動的大致速度,選取了 7 幀序列圖像 Ik,Ik+1,Ik-1,Ik+3,Ik-3,I+5k,Ik-5中并且對不同時間差的的兩幅圖像之間的差值采用了不同的權(quán)值,時間差較大時權(quán)值較小,時間差較小時權(quán)值較大,這樣可以避免由于大的時間差而引入的其他運動噪聲。具體步驟如下: 步驟一:讀取三幀圖像Ik,Ik+1,Ik-1分別求出兩幀圖像的絕對差灰度圖像IDkk-1,IDk+1,k 設(shè)定閾值T將差值圖像進(jìn)行二值化,T的選擇采用Otsu法,從而提取出運動區(qū)域,數(shù)學(xué)表達(dá)式如式(7)所示: 同理,分別求出 IDk,k+3,IDk+3,k,IDk,k-5,IDk-5,k并且兩兩進(jìn)行邏輯與運算以提取前后幀差所重合的部分來得到運動目標(biāo)的輪廓。 步驟二:上述交集運算與閾值運算結(jié)束之后形成三幅二值化的圖像,然后再將這三幅二值化的圖像進(jìn)行求和運算,從而得到運動目標(biāo)的圖像。在求和運算進(jìn)行時,對各個子圖像賦予了不同的權(quán)值,用以去除由于幀差相隔時間較長的兩幀圖像可能引入的其他非人體等前景目標(biāo)運動所帶來的噪聲。 步驟三:在完成了圖像的帶權(quán)值求和操作以后,對于圖像中的由于時間差較長所造成的非人體運動目標(biāo)形成的噪聲,又采取了一次閾值處理,閾值T的選取根據(jù)實際情況確定,在這本文選取閾值為0.5,經(jīng)實踐證明可以得到比較好的處理效果。具體算法流程及權(quán)值如圖3所示。 圖3 有權(quán)值的多重三幀幀間差分法流程圖Fig. 3 Flowchart of three inter-frame difference method with the right value 帶權(quán)值的多重三幀幀間差分法可以有效的克服天氣、光線等條件緩慢變化的影響,彌補了背景減除法的缺陷,而背景減除法能夠彌補當(dāng)運動目標(biāo)速度過慢時,幀間差分法提取目標(biāo)產(chǎn)生的空洞的缺陷。因此,通過邏輯或運算合并這兩種方法所提取的運動目標(biāo)圖像,就可以獲得更好的前景檢測效果,數(shù)學(xué)表達(dá)式如式(8)所示: ICK為兩種方法結(jié)合后所得到的運動人體圖像的輪廓。 由于人體像素點與對應(yīng)位置背景像素點灰度值差別不大,或者人體邊緣梯度只較小等因素,造成人體邊緣處斷裂、邊緣粗糙等,而且內(nèi)部有噪聲等,還需要對所提取的運動目標(biāo)圖像進(jìn)行后處理操作。文中采用了形態(tài)學(xué)梯度[6]運算的方法,所謂形態(tài)學(xué)梯度,即從膨脹后的圖像中減去腐蝕過的圖像。腐蝕和膨脹是數(shù)學(xué)形態(tài)學(xué)中最為基本的兩種運算。其中腐蝕算子主要用于消除物體的邊界點,使邊界點向內(nèi)部收縮,可以去除小于結(jié)構(gòu)元素的前景點,及孤立的前景點。而膨脹操作與腐蝕的操作正好相反,主要用于對二值化圖像邊界點進(jìn)行擴充,將與前景目標(biāo)接觸的所有背景點合并到該目標(biāo)中,是使邊界向外部擴張的過程,因此膨脹對于填補目標(biāo)中的空洞很有用。 經(jīng)過形態(tài)學(xué)梯度運算后,能夠去除孤立的小點、毛刺、消除一些小的物體,并且使運動圖像的邊界更加平滑,沒有斷裂點,最終得到比較完整的運動目標(biāo)輪廓。 整個系統(tǒng)的具體處理過程可以分步驟如下進(jìn)行: 1)對輸入的圖像序列做中值濾波操作,為防止圖像中噪聲密度過大時而導(dǎo)致的去噪不徹底等影響,可以采用自適應(yīng)的中值濾波器[5],對于密度較大的噪聲,自適應(yīng)中值濾波器可以起到很好的處理效果,得到的濾波圖像為M; 2)采用基于幀差法的背景模型建立方法,建立圖像的背景模型BK。 3)得到背景圖像之后,應(yīng)用背景減除法獲取運動人體目標(biāo)的輪廓。在背景減除中用到的閾值T采用Otsu法進(jìn)行確定。 4)采用有權(quán)值的多重三幀幀間差分法進(jìn)行運動人體輪廓的檢測,獲得運動人體輪廓圖。 5)結(jié)合步驟3和4所得到的結(jié)果,采用加和運算操作合并兩個圖像,進(jìn)行運動人體目標(biāo)的提取。 6)在步驟5操作得到的結(jié)果圖像基礎(chǔ)上進(jìn)行形態(tài)學(xué)梯度運算,進(jìn)一步去除細(xì)小噪聲及不均勻光照的影響。 7)對6得到的形態(tài)學(xué)處理后的圖像采用填充操作,得到最終的完整運動人體輪廓圖。 圖4為從視頻圖像中的提取的任意一幀圖像,由于攝像機在工作時可能帶入一些噪聲,因此首先進(jìn)行了自適應(yīng)的中值濾波操作,消除大部分噪聲點的影響,為進(jìn)一步操作奠定了比較好的基礎(chǔ)。然后應(yīng)用了基于幀差法的背景模型建立方法得到圖5,注意到原始圖像中的前景運動人體目標(biāo)已經(jīng)被去除,只剩下背景圖像,驗證了本文提出的算法起到了很好的效果。應(yīng)用原始圖像減去背景圖像,再通過閾值處理,得到了運動人體輪廓,當(dāng)圖像中的前景目標(biāo)與背景圖像差別不是很明顯時,產(chǎn)生了一些分割錯誤,部分運動人體目標(biāo)沒有很好的得到檢測,另外由于光照的變化也可能引入一些噪聲區(qū)域。采用有權(quán)值的多重三幀幀間差分法進(jìn)行運動人體輪廓檢測后的結(jié)果,相比兩幀幀差法有了很大的改進(jìn),運動人體整體輪廓信息得到了很好的檢測,但是由于人體內(nèi)部部分區(qū)域像素的相似性,比如衣服顏色在部分區(qū)域是相同的,導(dǎo)致了輪廓內(nèi)部可能產(chǎn)生的空洞現(xiàn)象。然后將多重幀差法和背景減除法相結(jié)合,得到了清晰的整體輪廓信息,在圖6中,運動人體的輪廓信息基本上得到了很好的檢測,背景減除法的分割錯誤與幀差法的空洞效應(yīng)都得到了消除。圖像7是在圖像6的基礎(chǔ)上又進(jìn)行了一次形態(tài)學(xué)梯度運算,經(jīng)過處理,多余的信息被去除,并且運動人體的邊緣輪廓更加清晰,消除了不必要的斷點。經(jīng)過輪廓內(nèi)部填充,得到了最終的完整運動人體輪廓信息。 圖4 原始視頻中提取的一幀圖像Fig. 4 The image extracted from the video 圖5 得到背景圖像Fig. 5 Background image 圖6 經(jīng)步驟五得到合并圖像Fig. 6 The merged image 圖7 形態(tài)學(xué)運算后人體邊緣圖像Fig. 7 The edge image after morphological operations 文中針對運動人體輪廓提取過程中經(jīng)常出現(xiàn)的問題進(jìn)行了探討并提出了改進(jìn)的近決方案。首先采用基于幀差法的背景模型建立方法建立背景模型并且提取運動人體輪廓,然后通過有權(quán)值的多重三幀幀間差分法獲得另外一個運動人體輪廓圖像,最后結(jié)合兩種方法的優(yōu)點得到完整的運動人體輪廓圖像,其中還采用了形態(tài)學(xué)梯度算法,對圖像中的噪聲點進(jìn)行了消除。對運動人體提取過程中經(jīng)常出現(xiàn)的光照敏感、容易產(chǎn)生空洞、背景中有樹葉搖動、圖像幀中存在噪聲等問題都進(jìn)行了解決,實驗證明改進(jìn)的方法模型簡單,對環(huán)境的適應(yīng)性較強,能夠很好的完成一般的復(fù)雜背景中的運動人體輪廓提取。 [1] Fleet JBD,S.Beauchemin.Performance of optical flow technique[J].International Journal of Computer Vision,1994,12(1):43-47. [2] LIN Jia-yi,YU Zhe-zhou.A new moving detection method based on background differencing and coterminous frames differencing[J].Chinese Journal of Scientific Intrument,2008.4(1):5-9. [3]葉鋒,范曼曼.一種改進(jìn)的基于平均背景模型的運動目標(biāo)檢測算法[J].福建師范大學(xué)學(xué)報,2011(7):44-49. YE Feng,FAN Man-man.An improvement of moving object detection algorithm based on average background model[J].Journal of Fujian Normal University,2011(7):44-49. [4] 唐俐,龍熙華.運動目標(biāo)檢測的三幀差分和背景消減研究[J].科技信息,2008(28):417. LI Tang,LONG Xi-hua, Moving target detection background reduction studies[J].Scinse & Technology Information,2008(28):417. [5] Rafael C.岡瑟雷斯,Richare E.Woods著.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2003. [6] 余莉,基于數(shù)學(xué)形態(tài)學(xué)的目標(biāo)檢測[D].長沙:國防科技大學(xué),2005. [8] 甘明剛,陳杰.一種基于三幀差分法和邊緣信息的運動目標(biāo)檢測方法[J].電子與信息學(xué)報,2010,32(4):894-897. GAN Ming-gang,CHEN Jie.Moving object detection algorithm based on three-frame-differencing and edge information[J].Journal of Electronics & Information Technology,2010,32(4):894-897. [9] 周麗,朱虹.基于二重差分法的光流場運動檢測[J].計算機仿真,2009,26(12):168-171. ZHOU Li,ZHU Hong.Optical flow calculation based on dual subtraction for motion detection[J].Computer Simulation,2009,26(12):168-171. [10] 楊莉,李玉山.復(fù)雜背景下的多運動目標(biāo)輪廓檢測[J].電子與信息學(xué)報,2005,27(2):306-309. YANG Li,LI Yu-shan.Detection contours of multiple moving objects with complex background[J].Journal of Electronics &Information Technology,2005,27(2):306-309. [11] 劉鑫,劉輝,強鎮(zhèn)平,等.混合高斯模型和幀間差分相融合的自適應(yīng)背景模型[J].中國圖像圖形學(xué)報,2008,13(4):729-734. LIU Xin,LIU Hui,QIANG Zhen-ping.A daptive background modeling based on mixture Gaussian model and frame subtraction[J].Journal of Image and Graphics, 2008,13(4):729-734. Analysis and improvement of human movement detection algorithm ZHANG Ying, LIAN Xu In human motion analysis of video sequences, segmenting the motion human body in real-time is the key step. In order to overcome the influence of uneven illumination, low movement of objects in the foreground, swing leaves in the background and other factors to detection, a moving object detection algorithm based on background and the weights multiple interframe difference is presented. At first, background model is obtained by the method based on frame difference. Then, the moving object is extracted with background subtraction and multi-frame-differencing,which is insensitivity to the target object’s speed and environment disturbance. Finally, morphological gradient operation is applied to remove the influence of outside noise. Experiment results show that the proposed algorithm has a strong ability to adapt the environment and is an effective detection method for moving the human body. moving object detection; background modeling; weights multiple interframe difference; morphological gradient TP391.4 A 1674-6236(2014)14-0123-05 2013–06–26 稿件編號:201309065 國家自然科學(xué)基金項目(60874017) 張 穎(1968—),女,遼寧鞍山人,博士,教授。研究方向:圖像處理、模式識別、信號處理等。 book=0,ebook=4792.2 有權(quán)值的多重三幀幀間差分法
2.3 運動目標(biāo)輪廓提取
2.4 基于形態(tài)學(xué)梯度的后處理操作
3 具體處理過程描述
4 結(jié)束語
(Liaoning University of Science and Technology,Anshan 114051,China)