摘要:提出了一種基于B-樣條曲線Snake模型的新的人體運(yùn)動(dòng)跟蹤方法。Snake算法是通過(guò)最小能量來(lái)逼近物體的輪廓。采用改進(jìn)的B-樣條曲線Snake模型,每一幀圖像中的目標(biāo)輪廓用三次樣條曲線準(zhǔn)確地表示,使Snake模型更加穩(wěn)定和具有較快的收斂速度。計(jì)算相鄰幀之間的差分圖像,通過(guò)利用一種基于統(tǒng)計(jì)關(guān)系雙閾值分割方法,有效地檢測(cè)出圖像中運(yùn)動(dòng)人體,初步確定目標(biāo)在每幀圖像中的粗略位置。把從上一幀圖像中得到的目標(biāo)輪廓置于該位置,作為B-樣條曲線Snake算法中輪廓提取的初始值,經(jīng)運(yùn)算后可得到對(duì)人體目標(biāo)的準(zhǔn)確分割與跟蹤。
關(guān)鍵詞:Snake算法; B-樣條曲線; 目標(biāo)提取; 人體跟蹤
中圖分類號(hào):TP391文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)02-0504-03
0引言
序列圖像中運(yùn)動(dòng)人體目標(biāo)的檢測(cè)和跟蹤是計(jì)算機(jī)視覺(jué)研究的重要內(nèi)容。它在航空航天#65380;智能機(jī)器人#65380;自動(dòng)監(jiān)控系統(tǒng)#65380;醫(yī)學(xué)圖像分析以及視頻壓縮等領(lǐng)域都具有廣泛的應(yīng)用。
對(duì)圖像的檢測(cè)和跟蹤主要的方法有差圖像法[7]。它是利用當(dāng)前圖像與背景圖像的差分來(lái)檢測(cè)和跟蹤運(yùn)動(dòng)區(qū)域的一種技術(shù)。但是此方法對(duì)于動(dòng)態(tài)場(chǎng)景的變化特別敏感。時(shí)間差分法[7]是在連續(xù)兩幀或三幀圖像間采用基于像素的時(shí)間差分并閾值化來(lái)提取圖像中的運(yùn)動(dòng)區(qū)域。其方法一般不能完全提取出所有相關(guān)的特征像素點(diǎn),而且在運(yùn)動(dòng)實(shí)體內(nèi)部容易產(chǎn)生空洞現(xiàn)象。光流法[1]是采用了基于運(yùn)動(dòng)目標(biāo)隨時(shí)間變化的光流特性,能有效地提取和跟蹤運(yùn)動(dòng)目標(biāo)。但是其算法過(guò)于復(fù)雜,且抗噪聲差,沒(méi)有特別的硬件裝置則不能被應(yīng)用于全幀視頻流的實(shí)時(shí)處理。由于人體的非剛性運(yùn)動(dòng)#65380;目標(biāo)之間相互遮擋與自遮擋#65380;背景圖像的動(dòng)態(tài)變化等因素的影響,使得人體檢測(cè)和跟蹤成為一項(xiàng)極具挑戰(zhàn)性的課題。國(guó)內(nèi)外學(xué)者也對(duì)此進(jìn)行了大量的研究,并提出了許多有效的方法,如光流法[1]#65380;Hausdorff法[2]#65380;跟蹤特征點(diǎn)法[4]以及通過(guò)使用廣義哈夫變換[5]#65380;Snake法[6]#65380;邊緣連接法[7]等來(lái)獲取目標(biāo)的輪廓。
本文提出了一種基于B-樣條曲線Snake模型的人體運(yùn)動(dòng)跟蹤方法。Snake算法是通過(guò)最小能量來(lái)逼近物體的輪廓。本文采用改進(jìn)的B-樣條曲線Snake模型,每一幀圖像中的目標(biāo)輪廓用三次樣條曲線準(zhǔn)確地表示,使Snake模型更加穩(wěn)定和具有較快的收斂速度。關(guān)于Snake算法中的初始輪廓,通過(guò)計(jì)算相鄰幀之間的差分圖像,利用一種基于統(tǒng)計(jì)關(guān)系雙閾值分割方法,有效地檢測(cè)出圖像中運(yùn)動(dòng)人體,初步確定目標(biāo)在每幀圖像中的粗略位置。把從上一幀圖像中得到的目標(biāo)輪廓置于該位置,作為B-樣條曲線Snake算法中輪廓提取的初始值,經(jīng)運(yùn)算后可得到對(duì)人體目標(biāo)的準(zhǔn)確分割與跟蹤。
1B-樣條 Snake模型
1.1Snake模型
Snake模型的原理是首先設(shè)定對(duì)于擬合目標(biāo)的一個(gè)待選曲線集,定義能量函數(shù)與待選集中的每一條曲線相關(guān)聯(lián)。能量函數(shù)的設(shè)計(jì)原則就是有利屬性要能導(dǎo)致能量縮小。有利屬性包括曲線連續(xù)#65380;平滑#65380;曲線與高梯度區(qū)域接近以及其他一些具體的先驗(yàn)知識(shí)。這樣,輪廓在取值范圍內(nèi)移動(dòng)時(shí),就能在能量函數(shù)的指導(dǎo)下收斂到局部邊界,且能保持曲線的連續(xù)和平滑[6]。
Snake模型可以看做是在代表曲線本身的內(nèi)力和代表圖像數(shù)據(jù)的外力約束力共同作用下移動(dòng)的變形輪廓線。作用在Snake模型上的力,依據(jù)輪廓所在的位置及其形狀決定如何在空間局部的變化。內(nèi)力起平滑約束作用,外力則引導(dǎo)Snake模型向圖像特征移動(dòng)。因此,Snake模型最小化的能量泛函就是內(nèi)力和外部約束力加權(quán)組合。參數(shù)化的Snake曲線被定義為V(s)=(x(s),y(s))。其中:x(s)和y(s)是輪廓的坐標(biāo)值;弧長(zhǎng)參數(shù)s∈[0,1];Snake模型的總能量函數(shù)可以表示為
1.2基于三次B-樣條的Snake模型
傳統(tǒng)的Snake模型,其輪廓線是由控制點(diǎn)組成的多邊形,在曲率變化大的邊界上就需要更多控制點(diǎn)才能得到較好的效果。而B-樣條曲線位于由控制點(diǎn)組成的多邊形內(nèi),其基函數(shù)是局部支撐的。一個(gè)控制點(diǎn)的改變只影響曲線的局部形狀,可以任意地控制B-樣條基函數(shù)在控制點(diǎn)處的連續(xù)性。所以,為了使Snake模型更加穩(wěn)定和具有較快的收斂速度,將B-樣條曲線和Snake模型相結(jié)合,形成了新的B-樣條 Snake模型。
一個(gè)三次的B-樣條曲線是個(gè)光滑的曲線而且具有連續(xù)的二階導(dǎo)。因此用三次B-樣條來(lái)表示輪廓曲線時(shí)就不需要計(jì)算內(nèi)部能量,減少了計(jì)算的復(fù)雜度。
2目標(biāo)跟蹤
基于B-樣條 Snake模型,本文提出了一種新的人體運(yùn)動(dòng)跟蹤方法,采用改進(jìn)的B-樣條曲線Snake模型,每一幀圖像中的目標(biāo)輪廓用三次樣條曲線準(zhǔn)確地表示,使Snake模型更加穩(wěn)定和具有較快的收斂速度。計(jì)算相鄰幀之間的差分圖像,通過(guò)利用一種基于統(tǒng)計(jì)關(guān)系雙閾值分割方法,有效地檢測(cè)出圖像中運(yùn)動(dòng)人體,初步確定目標(biāo)在每幀圖像中的粗略位置。把從上一幀圖像中得到的目標(biāo)輪廓置于該位置,作為B-樣條曲線Snake算法中輪廓提取的初始值。經(jīng)運(yùn)算后可得到對(duì)人體目標(biāo)的準(zhǔn)確分割與跟蹤。其主要過(guò)程如圖1所示。
2.1初始化輪廓
當(dāng)圖像存在空間梯度時(shí),物體的運(yùn)動(dòng)可以從圖像序列的時(shí)間梯度上體現(xiàn)出來(lái)。因此,對(duì)具有一定時(shí)間間隔的兩幀圖像進(jìn)行差分,根據(jù)差分輸出可以確定目標(biāo)的運(yùn)動(dòng)范圍。差分輸出來(lái)源于目標(biāo)物體的運(yùn)動(dòng)。設(shè)圖像序列中的圖像為I0,I1,…,In,則差分圖像D為
式中的x和y分別是像點(diǎn)的縱坐標(biāo)和橫坐標(biāo)。為了提取出運(yùn)動(dòng)目標(biāo),必須對(duì)差值圖像作閾值分割。即設(shè)定一個(gè)閾值T,若差值圖像D(x,y)>T,則認(rèn)為在該像素點(diǎn)處有運(yùn)動(dòng)變化;若D(x,y) T=MED+3×1.482 6×MAD(15) 其中:1.482 6為標(biāo)準(zhǔn)正態(tài)分布的系數(shù)。令雙閾值中的低閾值TL=T,高閾值TH=aTL,a為高低閾值之比,其取值大小由物體在圖像中所占比例決定。用高低兩個(gè)閾值分別對(duì)差值圖像做二值化操作,得到兩幅二值圖像BWL和BWH。由于低閾值的取值較低,其對(duì)應(yīng)的二值圖像不僅包括完整的運(yùn)動(dòng)人體也混雜了大量噪聲;而高閾值對(duì)應(yīng)的二值圖像只包括灰度變化較大的部分,即運(yùn)動(dòng)人體,但并不完整。對(duì)BWH進(jìn)行數(shù)學(xué)形態(tài)學(xué)中的膨脹操作,再將其結(jié)果與BWL相與,得到更準(zhǔn)確的差分圖像Dt,這樣即可分割出完整的運(yùn)動(dòng)人體,而且將BWL中原有的噪聲去除。 邊緣信息是區(qū)分不同物體的重要依據(jù),它一般用圖像的空間梯度來(lái)表示。梯度的求法有很多種,如Sobel算子#65380;Prewitt算子和Log算子[6]等。為了得到單像素寬度的精確邊緣,采用了Canny算子[9],得到梯度圖像e。把梯度圖像e和差分圖像Dt的與定義為運(yùn)動(dòng)目標(biāo)的邊緣圖像E: E=Dt e(16) 在當(dāng)前幀獲取了運(yùn)動(dòng)物體的部分邊緣后,求得目標(biāo)的粗略位置,然后把從上一幀獲取的目標(biāo)輪廓置于運(yùn)動(dòng)目標(biāo)的粗略位置上,將其作為輪廓提取的初始值。 2.2算法實(shí)現(xiàn) 根據(jù)前面獲得的輪廓初始值,進(jìn)行人體目標(biāo)的跟蹤。具體算法描述如下: a)當(dāng)前幀與前一幀相比,計(jì)算每一個(gè)像素塊中不同像素的數(shù)量。 b)如果不同像素的數(shù)量超過(guò)某一個(gè)閾值,則進(jìn)入步驟c);否則退出。 c)將差分圖像進(jìn)行二值化,并將其與梯度圖像相與,得到初始輪廓v。 3實(shí)驗(yàn) 為驗(yàn)證本文算法的有效性,選擇一組人頭圖像進(jìn)行了目標(biāo)輪廓跟蹤實(shí)驗(yàn)。在試驗(yàn)中,用本文算法跟蹤一個(gè)運(yùn)動(dòng)人的頭部形狀。首先從視頻圖像中獲得圖像序列,經(jīng)過(guò)邊緣檢測(cè)和圖像差分,得到初始輪廓;然后用式(13)的三次樣條插值形成一條閉合的初始輪廓曲線;再經(jīng)過(guò)新的三次B-樣條Snake算法就可以準(zhǔn)確地跟蹤到人的頭部形狀。圖2給出了在某幾幀圖像中目標(biāo)分割的最終結(jié)果。可以看到,在每一幀圖像中都獲得了對(duì)目標(biāo)進(jìn)行較準(zhǔn)確的分割結(jié)果。 4結(jié)束語(yǔ) 本文提出了一種基于三次B-樣條Snake的人體運(yùn)動(dòng)跟蹤方法。Snake算法是通過(guò)最小能量來(lái)逼近物體的輪廓。本文采用改進(jìn)的B-樣條曲線Snake模型,每一幀圖像中的目標(biāo)輪廓用三次樣條曲線準(zhǔn)確地表示,使Snake模型更加穩(wěn)定和具有較快的收斂速度。通過(guò)計(jì)算相鄰幀之間的差分圖像,利用一種基于統(tǒng)計(jì)關(guān)系雙閾值分割方法,有效地檢測(cè)出圖像中運(yùn)動(dòng)人體,初步確定目標(biāo)在每幀圖像中的粗略位置。把從上一幀圖像中得到的目標(biāo)輪廓置于該位置,作為B-樣條曲線Snake算法中輪廓提取的初始值,經(jīng)運(yùn)算后可得到對(duì)人體目標(biāo)的準(zhǔn)確分割與跟蹤。該方法具有實(shí)時(shí)性好#65380;準(zhǔn)確性高#65380;適用范圍廣等特點(diǎn)。為運(yùn)動(dòng)目標(biāo)的自動(dòng)檢測(cè)與跟蹤提供了理論與技術(shù)基礎(chǔ)。 參考文獻(xiàn): [1]HORN B K P, SCHUNCK B G. Determining optical flow[J]. Artificial Intelligence, 1981,17:185-203. [2]HUTTENLOCHER D P. Comparing images using the Hausdorff distance[J]. IEEE Trans on Pattern Anal Machine Intel, 1993,15(9):850-863. [3]TEKALP A M, 崔之祜.數(shù)字視頻處理[M].北京:電子工業(yè)出版社,1998:56-79. [4]YAO Y S, CHLLAPPA R. Tracking a dynamic set of feature points[J]. IEEE Trans on Image Process, 1995,18:4-10. [5]SON C F. Efficient pose clustering using a randomized algorithm[J]. Compute Vision, 1997,23(2):131-147. [6]KASS M, WITKIN A, TERZOPOULOS D. Snakes active contour models[J]. Compute Vision, 1988,13:321-331. [7]GONZALEZ R C, WOODS R E. Digital image processing[M].北京:電子工業(yè)出版社, 2002:52-78. [8]FABRICE B, CHIBELUSHI C C, LOW A A. Robust facia feature tracking[C]//Proc of the 11th British Machine Vision Conference. Bristol:[s.n.], 2000:232-241. [9]CANNY J. A computational approach to edge detection[J]. IEEE Trans on Pattern Anal Machine Intell, 1986,8(6):679-698. “本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文”