董云飛,謝紅松,羅 斌,2,湯 進(jìn),2
(1.安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601;2.安徽省工業(yè)圖像處理與分析重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230039)
隨著智能視頻監(jiān)控系統(tǒng)日益網(wǎng)絡(luò)化、智能化、集成化,把智能視頻分析算法移植到嵌入式平臺上進(jìn)行處理可以有效地降低后端服務(wù)器的數(shù)據(jù)處理量、網(wǎng)絡(luò)帶寬和硬盤的數(shù)據(jù)存儲壓力。TI 公司的達(dá)芬奇[1]系列數(shù)字媒體處理平臺,具有高速的數(shù)據(jù)處理能力、完善的視頻處理算法接口、強(qiáng)大而靈活的開發(fā)工具包,有效降低了視頻處理算法移植到達(dá)芬奇平臺的代價(jià),使基于達(dá)芬奇平臺的智能視頻分析系統(tǒng)具有廣闊的發(fā)展和應(yīng)用前景。
運(yùn)動(dòng)目標(biāo)檢測和跟蹤算法一直是智能視頻監(jiān)控領(lǐng)域研究的熱點(diǎn),也是一個(gè)極具挑戰(zhàn)性的研究課題,在人機(jī)交互、智能監(jiān)控、醫(yī)學(xué)圖像處理等領(lǐng)域有著廣泛的應(yīng)用。常用的運(yùn)動(dòng)目標(biāo)檢測算法有幀差法[2]、光流法[3]、混合高斯模型[4]和Vibe 算法[5]。幀差法的魯棒性和抗干擾能力較差;光流法的復(fù)雜度較高;混合高斯模型的浮點(diǎn)運(yùn)算較多,參數(shù)估計(jì)慢;而Vibe算法因其良好的適應(yīng)性和實(shí)時(shí)性,成為達(dá)芬奇平臺下運(yùn)動(dòng)目標(biāo)檢測的最佳選擇。
在運(yùn)動(dòng)目標(biāo)跟蹤算法中,有基于光流法的跟蹤[6-7]、基于粒子濾波的跟蹤[8-9]和基于運(yùn)動(dòng)模型的跟蹤等,這些算法的復(fù)雜度較高,鑒于達(dá)芬奇平臺的數(shù)據(jù)處理能力,很難移植在達(dá)芬奇平臺上實(shí)時(shí)處理。通過對運(yùn)動(dòng)目標(biāo)跟蹤算法的研究,本文結(jié)合Vibe 算法和Mean Shift 算法思想提出一種改進(jìn)的運(yùn)動(dòng)目標(biāo)跟蹤算法并移植到達(dá)芬奇平臺下仿真實(shí)驗(yàn),從實(shí)驗(yàn)結(jié)果可以看出改進(jìn)的運(yùn)動(dòng)目標(biāo)跟蹤算法可以對運(yùn)動(dòng)目標(biāo)準(zhǔn)確實(shí)時(shí)地進(jìn)行跟蹤。
Vibe 算法是由Olivier Barnich 等學(xué)者[5]在2009年提出的,因其在不同環(huán)境下都有良好的實(shí)用性和魯棒性,同時(shí)具有計(jì)算量小、抗干擾能力強(qiáng)和檢測準(zhǔn)確性高等優(yōu)點(diǎn),一經(jīng)提出就被廣泛用于智能視頻監(jiān)控系統(tǒng)中。其核心思想和具體步驟如下:
Step1 背景模型初始化。Vibe 算法中每個(gè)像素點(diǎn)都具有各自的背景模型,且使用第1 幀圖像即可完成背景模型的初始化。假設(shè)像素點(diǎn)的背景模型由N(N 一般取值為20)個(gè)樣本構(gòu)成,即背景模型可以表示成S={s1,s2,…,sN},則在該像素點(diǎn)的L ×L(L 一般取值為5)的鄰域內(nèi)隨機(jī)選取N 個(gè)像素點(diǎn)的顏色值作為該像素點(diǎn)的背景模型,即S,遍歷完圖像中所有像素點(diǎn),即可完成背景模型的初始化??梢钥闯鯲ibe 算法的背景模型初始化過程非常簡單,容易實(shí)現(xiàn)。
Step2 前景提取和背景模型更新。背景模型初始化完成后,Vibe 算法采用如下方法對后續(xù)圖像幀進(jìn)行處理,把運(yùn)動(dòng)目標(biāo)和背景分離開:假設(shè)像素點(diǎn)的當(dāng)前顏色值為It,背景模型為St={s1,s2,…,sN},使用C 表示It與樣本匹配的次數(shù)。C 的初始值為0,對模型中的樣本遍歷,按如下公式計(jì)算:
其中dist(It,si)為It和si在顏色空間中的歐氏距離,R為預(yù)先設(shè)定的距離閾值(R 一般取值為20)。遍歷完模型中的樣本之后,假如匹配次數(shù)C 大于閾值T(T一般取值為2),則認(rèn)為該像素點(diǎn)為背景,否則認(rèn)為該像素點(diǎn)屬于前景。對于背景像素點(diǎn),采用如下策略對背景模型進(jìn)行更新:以概率1/rate 對背景模型進(jìn)行更新(rate 稱為時(shí)間采樣因子,取值為16),而不是立即對背景模型進(jìn)行更新。在更新時(shí)從其背景模型中隨機(jī)選取一個(gè)樣本,將其值替換為像素點(diǎn)的當(dāng)前值。同時(shí)考慮到相鄰像素之間的相關(guān)性,隨機(jī)選擇該背景像素點(diǎn)鄰域內(nèi)的一個(gè)像素點(diǎn)的背景模型進(jìn)行更新。
對Vibe 算法進(jìn)行研究可以發(fā)現(xiàn),由于背景模型在更新時(shí)具有一定的隨機(jī)性,若運(yùn)動(dòng)物體的運(yùn)動(dòng)狀態(tài)由運(yùn)動(dòng)突然變成靜止時(shí),運(yùn)動(dòng)物體中的像素點(diǎn)與其鄰域內(nèi)像素點(diǎn)的顏色相關(guān)性變?nèi)?,使運(yùn)動(dòng)物體中的像素點(diǎn)和鄰域內(nèi)像素點(diǎn)的差值很大。此時(shí)歐氏距離dist(It,si)大于閾值T 的次數(shù)較多即C 值較大,像素點(diǎn)會被一直判定為前景像素點(diǎn),導(dǎo)致很長一段時(shí)間內(nèi)靜止的物體會被一直檢測為前景點(diǎn),殘留在前景圖像中無法更新為背景,此即為鬼影。由于運(yùn)動(dòng)物體檢測不正確,在后續(xù)對目標(biāo)處理時(shí)都會得出錯(cuò)誤的結(jié)果,導(dǎo)致運(yùn)動(dòng)目標(biāo)跟蹤錯(cuò)誤,針對此問題本文引入輔助背景模型更新策略以消除鬼影的影響。
首先為視頻序列中的每個(gè)像素點(diǎn)建立前景計(jì)數(shù)器FrC(i),并全部初始化為0,其中i 表示第i 個(gè)像素點(diǎn),用來記錄每個(gè)像素點(diǎn)連續(xù)作為前景點(diǎn)的幀數(shù)。若一幅圖像中的某個(gè)像素點(diǎn)被判定為背景點(diǎn),對應(yīng)前景計(jì)數(shù)器的值重新設(shè)置為FrC(i)=0。若該像素點(diǎn)判定為前景點(diǎn),當(dāng)該像素點(diǎn)計(jì)數(shù)器的值FrC(i)小于預(yù)設(shè)定的閾值T,對應(yīng)前景計(jì)數(shù)器的值加1,表明此像素點(diǎn)是前景點(diǎn);當(dāng)該像素點(diǎn)計(jì)數(shù)器的值FrC(i)大于或等于預(yù)設(shè)定的閾值T,表明此像素點(diǎn)屬于無法更新的點(diǎn),即鬼影點(diǎn),同時(shí)對應(yīng)像素點(diǎn)前景計(jì)數(shù)器的值FrC(i)重新設(shè)置為0。若像素點(diǎn)被判定為鬼影點(diǎn),為了消除鬼影,使用輔助更新策略對背景模型進(jìn)行快速更新,即使用以下策略:直接對背景模型進(jìn)行更新,從其背景模型中隨機(jī)選取一個(gè)樣本,將其值替換為像素點(diǎn)的當(dāng)前值,同時(shí)隨機(jī)選擇該背景像素點(diǎn)鄰域內(nèi)的一個(gè)像素點(diǎn)的背景模型進(jìn)行更新,而不是采用時(shí)間采樣因子對背景模型更新,可以使鬼影點(diǎn)迅速從前景圖像中更新掉。改進(jìn)后的Vibe 算法的處理流程圖如圖1 所示。
圖1 改進(jìn)后的Vibe 算法流程圖
ChengYizong[10]1995 年在其論文中對Mean Shift算法進(jìn)行了擴(kuò)展,首次把該算法應(yīng)用到圖像處理領(lǐng)域。1998 年,Bradski 對Mean Shift 算法進(jìn)行了改進(jìn),并應(yīng)用到人臉的跟蹤中,同時(shí)使Mean Shift 算法的應(yīng)用擴(kuò)展到了目標(biāo)跟蹤領(lǐng)域[11]。Mean Shift 算法對目標(biāo)的外表、噪聲、遮擋、尺度變化等具有一定的自適應(yīng)能力,成為目標(biāo)跟蹤領(lǐng)域研究的熱點(diǎn)。
由于Mean Shift 算法的算法復(fù)雜度高,浮點(diǎn)運(yùn)算較多,不適合直接應(yīng)用到達(dá)芬奇平臺下對運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤。針對此缺點(diǎn)本文結(jié)合Vibe 算法和Mean Shift 算法的思想提出一種改進(jìn)的運(yùn)動(dòng)目標(biāo)跟蹤算法,算法的具體實(shí)現(xiàn)過程如下:
Step1 目標(biāo)區(qū)域初始化。首先通過Vibe 算法把運(yùn)動(dòng)目標(biāo)與背景分離開,生成二值圖像,使用8 連通區(qū)域標(biāo)記算法[12]提取出需要跟蹤的運(yùn)動(dòng)目標(biāo),得到運(yùn)動(dòng)目標(biāo)的最小外接矩形。假設(shè)運(yùn)動(dòng)目標(biāo)的最小外接矩形大小為W×H,首先把灰度圖像的256 個(gè)灰度級量化成K 個(gè)相同的區(qū)間,每個(gè)區(qū)間的大小為bin。統(tǒng)計(jì)目標(biāo)區(qū)域每個(gè)像素點(diǎn)在K 個(gè)區(qū)間中的概率值,用Hist[i]表示第i 個(gè)bin 區(qū)間中的像素點(diǎn)屬于目標(biāo)的概率,其中0≤i≤K-1。
Step2 從第2 幀圖像開始,對運(yùn)動(dòng)目標(biāo)外接矩形的長和寬進(jìn)行適度放大以得到運(yùn)動(dòng)目標(biāo)的搜索區(qū)域SearchArea,假設(shè)放大系數(shù)設(shè)置為C,則搜索區(qū)域中像素點(diǎn)的個(gè)數(shù)為W ×H ×C2,創(chuàng)建一個(gè)與SearchArea大小相同的圖像PrIm,PrIm 中每個(gè)像素點(diǎn)的值用于表示SearchArea 中對應(yīng)像素點(diǎn)屬于目標(biāo)的概率。接下來對當(dāng)前圖像中屬于SearchArea 的像素點(diǎn)進(jìn)行處理,若SearchArea 中的像素點(diǎn)屬于前景點(diǎn),即當(dāng)前像素點(diǎn)屬于運(yùn)動(dòng)目標(biāo)區(qū)域,該像素點(diǎn)在PrIm 對應(yīng)位置的概率值放大為原來的N 倍即N × Hist[i];若SearchArea 中的像素點(diǎn)屬于背景點(diǎn),該像素點(diǎn)在PrIm對應(yīng)位置的概率值不放大,即Hist[i]。可用公式描述為:
其中I(x,y)為SearchArea 中的像素點(diǎn),Hist[i]為該像素點(diǎn)灰度值對應(yīng)的bin 在初始目標(biāo)中的概率值,N為大于1 的系數(shù),通過該方法可以增大屬于前景的像素點(diǎn)為跟蹤目標(biāo)的概率。
Step3 尋找與目標(biāo)區(qū)域最相似的候選區(qū)域,按照公式(2)計(jì)算出PrIm 中每個(gè)像素點(diǎn)的概率值,使用大小為W×H 的窗口在PrIm 上滑動(dòng),統(tǒng)計(jì)每個(gè)滑動(dòng)窗中所有像素點(diǎn)的概率和SUM(m),m 表示第m個(gè)滑動(dòng)窗口。SUM(m)值最大的窗口在SearchArea中的對應(yīng)窗口即為新的目標(biāo)區(qū)域,對應(yīng)的外接矩形框即運(yùn)動(dòng)目標(biāo)在當(dāng)前幀中的位置,按照這種計(jì)算過程繼續(xù)對下1 幀圖像進(jìn)行相同的處理就可以實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的跟蹤。為了減少計(jì)算的復(fù)雜度,在計(jì)算過程中使用積分圖[13]進(jìn)行加速,可大大減少算法的運(yùn)行時(shí)間。改進(jìn)后的運(yùn)動(dòng)目標(biāo)跟蹤算法的流程圖如圖2 所示。
圖2 改進(jìn)的運(yùn)動(dòng)目標(biāo)跟蹤算法流程圖
TMS320DM6467T 達(dá)芬奇[14]處理平臺采用ARM+DSP 的雙核架構(gòu),兼具DSP[15]和RISC 的技術(shù)優(yōu)勢,集成了時(shí)鐘頻率高達(dá)1 GHz 的DSP 核和500 MHz的ARM 核,采用超長指令字(VLIW)和流水線相結(jié)合的方式對視頻數(shù)據(jù)并行處理,以達(dá)到高速處理視頻數(shù)據(jù)的能力,使達(dá)芬奇平臺在數(shù)字媒體處理方面具有很高的性能和技術(shù)優(yōu)勢。ARM 和DSP 之間的數(shù)據(jù)通信方式如圖3 所示。
圖3 ARM 和DSP 之間的數(shù)據(jù)通信方式
為了降低基于達(dá)芬奇平臺的軟件開發(fā)難度,德州儀器公司專門為達(dá)芬奇架構(gòu)提供了Codec Engine[16]與Codec Server[17]機(jī)制,使用戶不用關(guān)注雙核之間底層數(shù)據(jù)的實(shí)現(xiàn)細(xì)節(jié),使研究人員專注于算法的設(shè)計(jì)。同時(shí)為了方便工程師對算法的移植,德州儀器公司為這種架構(gòu)提供了XDM-xDAIS[18]算法標(biāo)準(zhǔn),大大降低了各種視頻處理算法向達(dá)芬奇平臺移植的代價(jià),使基于達(dá)芬奇平臺的智能視頻監(jiān)控系統(tǒng)的開發(fā)周期大大縮短。
1)Vibe 算法的實(shí)驗(yàn)結(jié)果。
圖4 Vibe 算法實(shí)驗(yàn)結(jié)果
為了驗(yàn)證改進(jìn)Vibe 算法的有效性,本文在TMS320DM6467T 平臺下對算法進(jìn)行仿真實(shí)驗(yàn),在實(shí)驗(yàn)過程中,視頻圖像的分辨率為720 ×576,實(shí)驗(yàn)結(jié)果如圖4 所示。圖4(a)表示第100 幀時(shí)的視頻圖像,可以看到此時(shí)中間白色的車輛由運(yùn)動(dòng)狀態(tài)變?yōu)殪o止;圖4(b)表示第200 幀時(shí)的視頻圖像,可以看到此時(shí)白色的車輛仍處于靜止?fàn)顟B(tài);圖4(c)表示第200 幀時(shí)未改進(jìn)的Vibe 算法對圖像的處理結(jié)果;圖4(d)表示第200 幀時(shí)改進(jìn)的Vibe 算法對圖像的處理結(jié)果。通過對圖4(c)和圖4(d)進(jìn)行對比,可以看出改進(jìn)的Vibe 算法檢測出的背景更加干凈,噪聲點(diǎn)更少,同時(shí)把白色的靜止車輛更新成了背景,從而抑制了鬼影的出現(xiàn),而未改進(jìn)的Vibe 算法在第200 幀時(shí)仍然把靜止的車輛當(dāng)作前景目標(biāo),給后續(xù)的運(yùn)動(dòng)目標(biāo)跟蹤帶來影響。
2)目標(biāo)跟蹤算法的實(shí)驗(yàn)結(jié)果。
為了驗(yàn)證改進(jìn)的運(yùn)動(dòng)目標(biāo)跟蹤算法的有效性,同樣在TMS320DM6467T 平臺下對算法進(jìn)行仿真實(shí)驗(yàn),在實(shí)驗(yàn)過程中,視頻圖像的分辨率為720 ×576,實(shí)驗(yàn)結(jié)果如圖5 所示。第559 幀時(shí)有行人進(jìn)入到相機(jī)的監(jiān)控區(qū)域,首先自動(dòng)選中需要跟蹤的運(yùn)動(dòng)目標(biāo),從下1 幀圖像開始,通過運(yùn)動(dòng)目標(biāo)跟蹤算法對圖像進(jìn)行處理,從而對運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤。從圖5 中可以看出在第603 幀、第654 幀、第725 幀時(shí)目標(biāo)的位移均發(fā)生變化,跟蹤框的位置也隨著目標(biāo)的位置變化而移動(dòng),從而達(dá)到跟蹤運(yùn)動(dòng)目標(biāo)的目的。
圖5 運(yùn)動(dòng)目標(biāo)跟蹤實(shí)驗(yàn)
表1 展示了運(yùn)動(dòng)目標(biāo)跟蹤算法移植到TMS320DM6467T 平臺下ARM 和DSP 的資源使用率,可以看出算法經(jīng)過優(yōu)化和改進(jìn)后ARM 和DSP 的資源只用到50%左右,可以實(shí)時(shí)有效地對運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤,在對運(yùn)動(dòng)目標(biāo)跟蹤后仍可繼續(xù)對運(yùn)動(dòng)目標(biāo)進(jìn)行后續(xù)的處理。
表1 算法資源使用率
針對監(jiān)控場景運(yùn)動(dòng)目標(biāo)由運(yùn)動(dòng)狀態(tài)突變?yōu)殪o止后產(chǎn)生的鬼影難以消除的問題,本文對Vibe 算法進(jìn)行改進(jìn),通過實(shí)驗(yàn)可以看出改進(jìn)的Vibe 算法可以有效抑制鬼影的出現(xiàn)。同時(shí)結(jié)合Vibe 算法和Mean Shift 算法的思想,提出一種改進(jìn)的適合在達(dá)芬奇平臺下對運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤的運(yùn)動(dòng)目標(biāo)跟蹤算法,對算法優(yōu)化后移植到TMS320DM6467T 處理器上進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)中視頻圖像的分辨率為720 ×576,從實(shí)驗(yàn)結(jié)果可以看出,改進(jìn)的運(yùn)動(dòng)目標(biāo)跟蹤算法可以實(shí)時(shí)有效地對運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤,使智能視頻分析系統(tǒng)向小型化、智能化和便攜化方向發(fā)展,具有廣泛的應(yīng)用前景。
[1]管菊花,郭波.基于DaVinci 技術(shù)的嵌入式智能監(jiān)控系統(tǒng)[J].計(jì)算機(jī)測量與控制,2014,22(9):2754-2757.
[2]Yin Hongpeng,Chai Yi,Yang S X,et al.Fast-moving target tracking based on mean shift and frame-difference methods[J].Journal of Systems Engineering and Electronics,2011,22(4):587-592.
[3]季誠,歐陽寧,張彤.基于視頻片斷的全景圖拼接[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(9):239-241.
[4]楊寧,楊敏.基于改進(jìn)的混合高斯模型的運(yùn)動(dòng)目標(biāo)提?。跩].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(7):20-23.
[5]Barnich O,Van Droogenbroeck M.ViBe:A universal background subtraction algorithm for video sequences[J].IEEETransactions on Image Processing,2011,20(6):1709-1724.
[6]Bruhn A,Weickert J,Schn?rr C.Lucas/Kanade meets Horn/Schunck:Combining local and global optic flow methods[J].International Journal of Computer Vision,2005,61(3):211-231.
[7]王暉.視頻圖像的光流計(jì)算方法研究[D].長沙:國防科學(xué)技術(shù)大學(xué),2007.
[8]Arulampalam M S,Maskell S,Gordon N,et al.A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking[J].IEEE Transactions on Signal Processing,2002,50(2):174-188.
[9]胡昭華,宋耀良,梁德群,等.復(fù)雜背景下多信息融合的粒子濾波跟蹤算法[J].光電子·激光,2008,19(5):680-685.
[10]Cheng Yizong.Mean shift,mode seeking,and clustering[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1995,17(8):790-799.
[11]許海霞,王耀南,袁小芳,等.一種分層Mean Shift 目標(biāo)跟蹤算法[J].自動(dòng)化學(xué)報(bào),2009,35(4):401-409.
[12]馮海文,牛連強(qiáng),劉曉明.高效的一遍掃描式連通區(qū)域標(biāo)記算法[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(23):31-35.
[13]黃文杰,陳斌.一種快速圖像處理的積分圖方法[J].計(jì)算機(jī)應(yīng)用,2005,25(S1):266-268.
[14]高平.基于TMS320DM6467 的多功能多媒體處理平臺的軟件設(shè)計(jì)與實(shí)現(xiàn)[D].天津:天津大學(xué),2009.
[15]盧俊.基于Davinci 平臺的視頻服務(wù)器軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2013.
[16]Texas Instruments.Codec Engine Server Integrator User’s Guide[DB/OL].http://processors.wiki.ti.com/index.php/Codec_Engine_Server_Integrator_User%27s_Guide,2014-07-15.
[17]Texas Instruments.Codec Engine Algorithm Creator User’s Guide[DB/OL].http://www.ti.com/lit/ug/sprued6c/sprued6c.pdf,2007-09-28.
[18]支祖利.運(yùn)動(dòng)目標(biāo)檢測和跟蹤算法的研究及實(shí)現(xiàn)[D].武漢:中南民族大學(xué),2013.