嚴(yán)金果,徐蔚鴻
(長(zhǎng)沙理工大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,湖南 長(zhǎng)沙401104)
目前,運(yùn)動(dòng)目標(biāo)檢測(cè)算法主要可分為背景差分法[1]、光流法[2]、幀差分法[3]3種。背景差分法是目前最常用的算法,常用于攝像機(jī)與場(chǎng)景相對(duì)靜止的環(huán)境。國(guó)外一些知名學(xué)者提出利用混合高斯模型來(lái)建立背景模型的算法[4],已得到廣泛的研究與應(yīng)用。該文獻(xiàn)指出圖像內(nèi)每個(gè)像素的特征通過(guò)K個(gè)高斯模型來(lái)表征,對(duì)環(huán)境變化較慢的情況,混合高斯模型是運(yùn)動(dòng)目標(biāo)檢測(cè)中較為成功的方法之一,國(guó)內(nèi)外諸多學(xué)者也提出了一些改進(jìn)算法[5-8]。光流法能適用于攝像頭與場(chǎng)景產(chǎn)生相對(duì)運(yùn)動(dòng)的情況,但是其計(jì)算量較大,對(duì)硬件的要求也較高,實(shí)用性比較差,一般很難實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)檢測(cè)。幀差分利用相鄰幀之間的差分實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)的檢測(cè),但對(duì)像素灰度值變化不明顯的點(diǎn)難以檢測(cè)出。在2010年甘明剛等人提出的基于三幀差分與邊緣檢測(cè)結(jié)合算法[9],該文中的三幀差分算法雖然在某種程度上提高了幀差分算法的檢測(cè)效率,但同時(shí)也存在其檢測(cè)目標(biāo)內(nèi)存在較多空洞和邊緣輪廓丟失等問(wèn)題。針對(duì)上述不足,本文提出了一種新的運(yùn)動(dòng)目標(biāo)實(shí)時(shí)檢測(cè)算法,并從識(shí)別率、誤檢率以及檢測(cè)速度方面對(duì)該算法與傳統(tǒng)算法進(jìn)行了比較分析。
運(yùn)動(dòng)目標(biāo)檢測(cè)主要針對(duì)二維平面內(nèi)物體簡(jiǎn)單的移動(dòng)過(guò)程進(jìn)行研究。在實(shí)際應(yīng)用中,設(shè)t1時(shí)刻的圖像中像素點(diǎn)(x,y)的灰度值為f1(x,y),t2時(shí)刻的圖像該像素點(diǎn)灰度值為f2(x,y),當(dāng)目標(biāo)在t1到t2時(shí)刻之間相對(duì)場(chǎng)景發(fā)生了移動(dòng)時(shí),f1(x,y)≠f2(x,y),此時(shí),可以考慮比較相同位置上對(duì)應(yīng)像素點(diǎn)的灰度值來(lái)檢測(cè)運(yùn)動(dòng)目標(biāo),因此幀差分法的基本原理:通過(guò)比較圖像序列中兩幀圖像中相同位置上對(duì)應(yīng)像素點(diǎn)的灰度值,確定該像素點(diǎn)是否為運(yùn)動(dòng)目標(biāo)的一部分。即:如果差異較大 (大于某一閾值),我們就認(rèn)為該像素點(diǎn)是運(yùn)動(dòng)目標(biāo)的一部分。
幀差分法 (瞬時(shí)差分法)是對(duì)視頻圖像序列中相鄰的兩幀圖像f(x,y,t),f(x,y,t-1)作 “減”運(yùn)算,可由公式 (1)計(jì)算兩幀圖像的差,得到差分圖像D(x,y,Δt)
假設(shè)f(x,y,t)為當(dāng)前幀圖像的某像素,那么f(x,y,t-1)為該像素的前一幀,則D(x,y,Δt)為此刻圖像序列中的運(yùn)動(dòng)目標(biāo)區(qū)域,當(dāng)然,D(x,y,Δt)也可能是由于噪聲或者光照變化所引起的,為此,需要設(shè)置一個(gè)合理的閾值T,對(duì)運(yùn)動(dòng)區(qū)域做二值化的分割處理,如式 (2)所示
其中取值為1時(shí),表示此像素點(diǎn)代表前景;取值為0時(shí),表示該像素點(diǎn)代表背景。
在差分圖像中,并非所有差分結(jié)果的非零值像素都屬于運(yùn)動(dòng)目標(biāo),為了更好地利用圖像序列之間的相關(guān)性,提取更準(zhǔn)確的運(yùn)動(dòng)區(qū)域,提出相鄰三幀圖像兩兩差分后進(jìn)行二值化處理,然后利用兩個(gè)二值化結(jié)果的差分圖像做邏輯“與”運(yùn)算的方法,如式 (3)所示,確定中間幀的運(yùn)動(dòng)目標(biāo)位置。
上式表明只有在Dk(x,y,Δt)(第k幀與第 (k-1)幀差分后二值化處理結(jié)果)與D(k+1)(x,y,Δt)(第k幀與第(k+1)幀差分后二值化處理結(jié)果)同時(shí)為1時(shí),D′(x,y,Δt)(第k幀進(jìn)行三幀差分后二值化處理結(jié)果)才等于1。
差分法能夠?qū)崿F(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)檢測(cè),算法簡(jiǎn)單,便于硬件實(shí)現(xiàn),適用于實(shí)時(shí)性要求高的情況,但檢測(cè)到的運(yùn)動(dòng)目標(biāo)不準(zhǔn)確,目標(biāo)內(nèi)部存在較多空洞,因此現(xiàn)實(shí)中較少采用它。
由于攝像頭提取的視頻序列往往存在噪聲 (如高斯噪聲或脈沖噪聲)的干擾,噪聲的干擾可能會(huì)導(dǎo)致檢測(cè)的運(yùn)動(dòng)目標(biāo)不準(zhǔn)確,因此,在檢測(cè)之前設(shè)置濾波器濾除噪聲是圖像處理過(guò)程中一個(gè)必要的環(huán)節(jié)。自適應(yīng)中值濾波器利用像素領(lǐng)域內(nèi)灰度的中值代替該像素的值,對(duì)隨機(jī)的噪聲有非常優(yōu)秀的去噪聲能力,尤其是對(duì)脈沖噪聲的處理,亦可平滑其他的非沖激噪聲,并減少目標(biāo)邊界細(xì)化等失真。所以本文采用經(jīng)典的自適應(yīng)中值濾波器[10]先對(duì)原始視頻圖像進(jìn)行去噪聲處理。再將獲取的彩色視頻圖像轉(zhuǎn)換為灰度圖像序列,然后通過(guò)直方圖均衡化處理使圖像的亮度增強(qiáng)、細(xì)節(jié)變得更加清晰。
假設(shè)視頻圖像進(jìn)行灰度處理后的灰度級(jí)為256,即圖像灰度在0-255之間。設(shè)視頻序列中第k幀的某一個(gè)像素點(diǎn)灰度值為fk(x,y,t),第 (k-1)幀該像素點(diǎn)的灰度值為f(k-1)(x,y,t-1)。利用相鄰幀之間的差分可得當(dāng)前像素點(diǎn)的灰度差的絕對(duì)值為d(x,y,Δt)為
在該像素點(diǎn)的鄰域內(nèi)有另外一像素點(diǎn) (x′,y′),其灰度值fk(x′,y′,t),在第 (k-1)幀中,該像素點(diǎn)的灰度值為f(k-1)(x′,y′,t-1)。通過(guò)其鄰域內(nèi)像素點(diǎn)灰度值的變化判斷:當(dāng)同時(shí)滿(mǎn)足式 (5)和式 (6)時(shí)
則會(huì)引起該像素點(diǎn)灰度值的變化量改變,否則視為無(wú)影響。其中r表示該像素點(diǎn)到其鄰域內(nèi)某一像素點(diǎn)的空間距離是兩個(gè)經(jīng)驗(yàn)閾值。本次實(shí)驗(yàn)中取值依次為3和2。
若某個(gè)像素點(diǎn)為前景點(diǎn)時(shí),其周?chē)南袼攸c(diǎn)是前景點(diǎn)的概率也隨著增大,因此先計(jì)算其本身的像素點(diǎn)與其鄰域內(nèi)的像素灰度值變化的絕對(duì)值,然后通過(guò)其值對(duì)當(dāng)前像素點(diǎn)是否為前景點(diǎn)的概率進(jìn)行更新。假設(shè)當(dāng)前更新的像素點(diǎn)為像素原點(diǎn),則鄰域內(nèi)所有與像素原點(diǎn)相距為ri的像素點(diǎn)灰度變化的絕對(duì)值的總和為對(duì)像素原點(diǎn)前景概率的更新與距離成反比,與變化的絕對(duì)值成正比,因此自定義在相同半徑上的鄰域綜合因子βri如式 (7)所示
假設(shè)當(dāng)前原點(diǎn)像素的前景概率為p(x,y,t),則通過(guò)鄰域綜合因子的二值化閾值分割處理來(lái)對(duì)原點(diǎn)像素的前景概率進(jìn)行動(dòng)態(tài)更新,更新公式如下式 (8)所示
其中βri為經(jīng)驗(yàn)值為更新權(quán)值。通過(guò)其本身與其鄰域內(nèi)其他像素點(diǎn)對(duì)此前景概率的更新,可得原點(diǎn)像素的前景概率p(x,y,t)如式 (9)所示
最后通過(guò)最少類(lèi)內(nèi)絕對(duì)差和最大差的閾值分割方法[14]對(duì)像素的前景概率進(jìn)行分割,最后對(duì)前景進(jìn)行實(shí)時(shí)更新,前景概率大于自適應(yīng)閾值則更新為前景,否則為背景點(diǎn)。
綜上所述改進(jìn)的幀差分算法核心部分如圖1所示。
圖1 改進(jìn)的幀差分算法核心部分流程
改進(jìn)的幀差分處理結(jié)果的目標(biāo)邊緣存在一定程度的模糊,而邊緣提取可以有效的提取出運(yùn)動(dòng)目標(biāo)的邊緣信息,所以本文采用新的幀差分算法與邊緣提取算法做邏輯 “或”運(yùn)算進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)。
檢測(cè)過(guò)程步驟如下:
第一步:從圖攝像頭獲取視頻序列并對(duì)圖像序列進(jìn)行灰度變換處理。
第二步:圖像增強(qiáng)包括:直方圖均衡化處理對(duì)亮度加強(qiáng);自適應(yīng)中值濾波器濾除原始序列中的噪聲。
第三步:在圖像增強(qiáng)處理后,采用上節(jié)改進(jìn)的幀差分法處理,然后進(jìn)行腐蝕與膨脹的數(shù)學(xué)形態(tài)學(xué)處理,得到清晰完整的運(yùn)動(dòng)目標(biāo)。
第四步:在進(jìn)行第二步的處理后,采用基于Sobel算子對(duì)圖像序列進(jìn)行邊緣檢測(cè)[13],檢測(cè)后采用最大類(lèi)間方差法進(jìn)行閾值分割處理[12],然后進(jìn)行數(shù)學(xué)形態(tài)學(xué)的腐蝕運(yùn)算得到邊緣清晰的運(yùn)動(dòng)目標(biāo)。
第五步:對(duì)第三步與第四步的處理結(jié)果進(jìn)行邏輯 “或”運(yùn)算,提取運(yùn)動(dòng)目標(biāo)的圖像序列。
改進(jìn)系統(tǒng)的程序流程框圖如圖2所示。
圖2 改進(jìn)系統(tǒng)的程序流程
實(shí)驗(yàn)在Intel Core i5-2450M@2.5G處理器、內(nèi)存4G,Windows 7 64位操作系統(tǒng)、Visual Studio2008的環(huán)境下,基于Intel開(kāi)源的計(jì)算機(jī)視覺(jué)庫(kù)OpenCV編程實(shí)現(xiàn)。
為了驗(yàn)證本文算法的高效性與實(shí)時(shí)性,本實(shí)驗(yàn)選取在室內(nèi)攝像頭靜止拍攝下來(lái)的兩組視頻序列進(jìn)行傳統(tǒng)的幀差分算法與本文的改進(jìn)算法進(jìn)行了運(yùn)動(dòng)目標(biāo)檢測(cè)實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖3和圖4所示。
圖3 第一組視頻檢測(cè)實(shí)驗(yàn)結(jié)果
圖4 第二組視頻檢測(cè)實(shí)驗(yàn)結(jié)果
從檢測(cè)結(jié)果圖可以看出:傳統(tǒng)幀差分檢測(cè)結(jié)果如圖3(b)所示,雖然能夠檢測(cè)出運(yùn)動(dòng)目標(biāo),但其目標(biāo)輪廓不連續(xù),檢測(cè)結(jié)果不完整,如行人的左腳與左肩附近出現(xiàn)了較大的空洞;而本文改進(jìn)的算法檢測(cè)結(jié)果如圖3(c)所示,目標(biāo)輪廓連續(xù),同時(shí)在很大程度上消除了陰影和空洞。第二組視頻實(shí)驗(yàn)結(jié)果如圖4所示,它在一定程度上表明實(shí)驗(yàn)結(jié)果并不是隨機(jī)產(chǎn)生的,不是偶然性的結(jié)果。考慮到像素點(diǎn)鄰域內(nèi)的像素點(diǎn)灰度的變化對(duì)此像素前景概率的作用,從而保留了目標(biāo)更多有用可靠的數(shù)據(jù)信息,使檢測(cè)結(jié)果變得更好。
評(píng)價(jià)上述算法的準(zhǔn)確性和高效性以識(shí)別率、誤檢率以及檢測(cè)速率作為指標(biāo),其中識(shí)別率和誤檢率的計(jì)算方法如下
其中TR表示檢測(cè)到與運(yùn)動(dòng)目標(biāo)相符的像素點(diǎn)個(gè)數(shù);TN表示未檢測(cè)到的像素點(diǎn)個(gè)數(shù);TF表示檢測(cè)結(jié)果在非運(yùn)動(dòng)目標(biāo)上的像素點(diǎn)個(gè)數(shù);檢測(cè)速率表示單位時(shí)間內(nèi)算法檢測(cè)了幀圖像數(shù)量,單位fps(frame per second)。
在同等條件下實(shí)驗(yàn)比較結(jié)果如表1所示,二種算法的檢測(cè)率都能達(dá)到90%以上,由于本文算法利用新定義的鄰域綜合因子對(duì)前景概率進(jìn)行修正,因此該算法在誤檢率、識(shí)別率和檢測(cè)速率方面都要優(yōu)于傳統(tǒng)的幀差分算法,并且其時(shí)間復(fù)雜度低,計(jì)算量較小;檢測(cè)速率也與傳統(tǒng)的幀差分的檢測(cè)速率基本一樣。因此本文改進(jìn)算法在能滿(mǎn)足檢測(cè)實(shí)時(shí)性要求的前提下,既提高了識(shí)別率又降低了誤檢率。在工程實(shí)際應(yīng)用中有一定的指導(dǎo)意義。
表1 實(shí)驗(yàn)檢測(cè)識(shí)別率、誤檢率與檢測(cè)速率
在靜態(tài)場(chǎng)景中,若某像素鄰域內(nèi)存在像素點(diǎn)落在前景目標(biāo)上,則該像素也可能落在前景目標(biāo)上的思想,提出了一種運(yùn)用鄰域綜合因子更新像素前景概率的算法,并融合了邊緣檢測(cè)算法。改進(jìn)算法解決了傳統(tǒng)幀差分算法在檢測(cè)目標(biāo)中出現(xiàn)較大空洞的問(wèn)題,并能快速有效的提取出完整又清晰的運(yùn)動(dòng)目標(biāo)。仿真實(shí)驗(yàn)表明該算法是一種實(shí)時(shí)性強(qiáng),檢測(cè)效率高、能基本達(dá)到工程實(shí)際應(yīng)用基本要求的新型運(yùn)動(dòng)目標(biāo)實(shí)時(shí)檢測(cè)算法。本文算法是在簡(jiǎn)單環(huán)境下的仿真實(shí)驗(yàn),在復(fù)雜的動(dòng)態(tài)場(chǎng)景中檢測(cè)不是很理想。因此改進(jìn)算法仍存在場(chǎng)景上的局限性,尤其在復(fù)雜的動(dòng)態(tài)場(chǎng)景中,檢測(cè)效果還有待改善,需作進(jìn)一步的研究與實(shí)驗(yàn)。
[1]JIN Guangzhi,SHI Linsuo,BAI Xiangfeng,et al.New objects detection system based on mixture Gaussian model[J].Journal of Computer Applications,2011,31 (12):3360-3362 (in Chinese).[金廣智,石林鎖,白向峰,等.基于混合高斯模型的新型目標(biāo)檢測(cè)系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2011,31 (12);3360-3362.]
[2]ZHANG Shuifa,ZHANG Wensheng,YANG Liu,et al.Background modeling and object detecting based on optical flow velocity field[J].Journal of Image and Graphics,2011,16(2):236-243 (in Chinese)[張水發(fā),張文生,楊柳.融合光流速度與背景建模的目標(biāo)檢測(cè)方法[J].中國(guó)圖象圖形學(xué)報(bào),2011,16 (12);236-243.]
[3]Intan Kartika,Shahrizat Shaik Mohamed.Frame differencing with post-processing techniques for moving object detection in outdoor environment[C]//IEEE 7th International Colloquium on Signal Processing and its Applications,2011:172-176.
[4]Ju Shiguang,Chen Xiaojun,Xu Guanghua.An Improved mixture gaussian models to detect moving object under real-time complex background[C]//International Conference on Cyberworlds,2008:730-734.
[5]Jodoin P M,Mignotte M,Konrad J.Statistical background subtraction using spatial cues[J].IEEE Transactions on Circuits and System for Video Technology,2007,17 (12):1758-1763.
[6]Mohamed S S,Tahir N M Adnan R.Background modeling and background subtraction performance for object detection[C]//Proc of the 6th International Colloquium on Signal Processing and its Applications,2010:236-241.
[7]LEE S,LEE J,HAYES M H,et al.Adaptive background generation for automatic detection of initial object region in multiple color-filter aperture camera-based surveillance system[J].IEEE Trans on Consumer Electronics,2012,58 (1);104-110.
[8]LIN Qing,XU Zhu,WANG Shitong,et al.Moving objects detection of adaptive gaussian mixture models on HSV[J].Computer Science,2010,37 (10):254-256 (in Chinese).[林慶,徐柱,王士同,等.HSV自適應(yīng)混合高斯模型的運(yùn)動(dòng)目標(biāo)檢測(cè)[J].計(jì)算機(jī)科學(xué),2010,37 (10):254-256.]
[9]GAN Minggang,CHEN Jie,LIU Jin,et al.Moving object detection algorithm based on three-frame-differencing and edge information[J].Journal of Electronics &Information Technology,2010,32 (4):894-897 (in Chinese).[甘明剛,陳杰,劉勁,等.一種基于三幀差分和邊緣信息的運(yùn)動(dòng)目標(biāo)檢測(cè)方法[J].電子與信息學(xué)報(bào),2010,32 (4):894-897.]
[10]Rafael C Gonzalez,Richard E.Woods digital image processing[M].2ed ed.RUAN Qiuqi,RUAN Yuzhi,transl.Beijing:Publishing House of Electronics Industry,2007 (in Chinese).[Rafael C Gonzalez,Richard E.數(shù)字圖像處理[M].2版.阮秋琦,阮宇智,譯.北京:電子工業(yè)出版社,2007.]
[11]Senst T,Evangelio R H,Sikora T.Detecting people carrying objects based on optical flow motion model[C]//Proc of IEEE Workshop on Applications of Computer Vision.Washington DC:IEEE Computer Society,2011:301-306.
[12]QU Zhong.Research on image segmentation based on the improved otsu algorithm[J].Computer Science,2009,36 (5):276-278(in Chinese).[瞿中.基于改進(jìn)的最大類(lèi)間方差算法的圖像分割研究[J].計(jì)算機(jī)科學(xué),2009,36 (5):276-278.]
[13]YUAN Chunlan,XIONG Zonglong,ZHOU Xuehua,et al.Study of infrared image edge detection based on sobel operator[J].Laser & Nfrared,2009,39 (1):85-87 (in Chines).[袁春蘭,熊宗龍,周雪花,等.基于Sobel算子的圖像邊緣檢測(cè)研究[J].激光與紅外,2009,39 (1):85-87.]
[14]WU Yiquan,PAN Zhe.The image thresholding algorithm based on minimum within-cluster absolute difference and maximum difference[J].Signal Processing,2008,24 (6):943-946(in Chinese).[吳一全,潘喆.基于最小類(lèi)內(nèi)絕對(duì)差和最大差的圖像閾值分割[J].信號(hào)處理,2008,24 (6):943-946.]