彭接力,劉 巖
(第二炮兵工程大學研究生二隊,陜西西安 710025)
運動目標檢測與跟蹤技術(shù)是計算機視覺、人機交互等領(lǐng)域研究的重要內(nèi)容,有廣泛的應(yīng)用前景。目前常用的運動目標檢測方法主要有3種:幀差法、光流法和背景差法[1]。靜止攝像機時下最流行的目標檢測算法為背景差分[4-6],該方法是利用當前圖像與背景圖像的差分圖像來檢測運動目標的一種方法。建立簡單、可靠的背景模型是背景差法提高運動目標檢測與跟蹤可靠性的基礎(chǔ),文中利用 Open CV進行編程實現(xiàn)。
Open CV(Open Source Computer Vision Library)是Intel公司支持的開源計算機視覺庫。它高效簡潔,由一系列C函數(shù)和少量C++類構(gòu)成,主要用于對視頻圖像進行一些高級處理,如人臉識別、運動跟蹤、圖像分割及人機互動等,Open CV的設(shè)計目標是執(zhí)行速度盡量快,主要關(guān)注實時應(yīng)用,它可以在VC++環(huán)境下使用,調(diào)用方便、功能強大、大幅縮短相關(guān)程序的開發(fā)周期[3]。
運動目標檢測流程如圖1所示。
圖1 背景差分法目標檢測流程
文中背景初始化方法采用圖像平均法,就是從視頻中提取的一系列連續(xù)圖像,將圖像的對應(yīng)像素灰度值進行累加,之后求平均值作為背景像素灰度值。經(jīng)過一段時間的圖像平均后,就可以消除運動目標所造成的影響,得到比較準確的背景。
假設(shè)環(huán)境光照不變,視頻圖像的背景也不變,在運動目標可視情況下,包含運動目標的當前圖像與背景圖像之間必然在運動目標區(qū)域存在較大的灰度差值,利用圖像減法就可得到差分灰度圖像。差分圖像包含了運動目標信息,相對于背景圖像又稱為前景圖像。假設(shè)利用圖像平均法可得到當前背景圖像Bfr+1(x,y),假設(shè)當前輸入圖像為Cfr(x,y),前景圖像Dfr(x,y)可以表示為
由公式可知,前景圖像最后可歸結(jié)為當前圖像幀中的運動對象和被它遮擋的背景差值。
ROI分割是將圖像中潛在的目標區(qū)域分割出來,以便后面的目標檢測操作。ROI分割步驟包括圖像二值化處理、數(shù)學形態(tài)學處理、標記連通區(qū)域3個子步驟[8]。
(1)圖像二值化處理。采用直接灰度門限法[5]對前景圖像進行二值化處理,通過設(shè)置合適的灰度閾值T,將前景圖像分割為兩個區(qū)域,即目標區(qū)域與背景區(qū)域。實驗閾值T設(shè)為20
(2)數(shù)學形態(tài)學處理。由于上述處理后的前景圖像包含有較多噪聲,而噪聲多是亮度較高的像素或小區(qū)域,因此可采用數(shù)學形態(tài)學開運算對前景圖像進行處理,消除前景圖像中的噪聲點及細小區(qū)域,平滑較大區(qū)域邊界。
(3)標記連通區(qū)域。高亮區(qū)域檢測結(jié)果可能包含較多分離的連通區(qū)域,為完成對目標的檢測需要對這些區(qū)域進行標記。需要進行區(qū)域合并,如果兩個區(qū)域存在接合部分,則合并這兩個區(qū)域,采用這兩個區(qū)域最外面的坐標為新區(qū)域的坐標[8]。
現(xiàn)實情況下,環(huán)境光照是不斷變化的,因此背景需要采用自適應(yīng)背景估計的方法。自適應(yīng)背景估計的顯著特征是背景隨時間更新,更新按照更新公式進行,更新公式的作用在于只用當前圖像和已知背景圖像來更新背景圖像。在OpenCV函數(shù)庫中有一個專門用于背景更新的函數(shù)[9]cvRunningAvg,其定義為
式中,Bfr(x,y)為當前背景圖像;Bfr+1(x,y)為更新后的背景圖像;Cfr(x,y)為當前的輸入圖像;α是背景更新速率。α越大背景更新越快,當前輸入圖像對背景的影響越大。利用背景差分法檢測運動目標時,若α取值較大,在更新的背景圖像中運動目標后面會出現(xiàn)短而明顯的陰影,這對于后續(xù)處理有較大影響,導致低目標檢測的精確度下降,目標短暫停留造成漏檢等。反之,α取值較小時,這種陰影則長而淡,此時陰影的影響可以通過設(shè)置閾值來消除。一般來說,α取值不宜過大,實驗α取為0.01。
程序在VC 6.0環(huán)境下編程實現(xiàn),程序中調(diào)用了OpenCV 1.0庫函數(shù),硬件運行環(huán)境為Intel i3處理器,2.13 GHz、2 GB內(nèi)存,視頻為靜止攝像機拍攝到的avi文件,大小為240×320,25幀/s,視頻中有一輛汽車沿公路行駛。檢測系統(tǒng)對此視頻中的運動目標進行檢測,實驗結(jié)果以3個視頻的形式輸出,這3個視頻分別為背景,如圖2所示,前景如圖3所示,以及運動目標檢測視頻如圖4所示,實驗結(jié)果可以看到檢測結(jié)果較好。
由于背景的更新速率較小,當視頻中原來運動的物體由運動變?yōu)殪o止狀態(tài)時,背景模型不能得到迅速的更新,此時仍舊利用背景差法對運動目標進行檢測,會檢測出不存在運動的“目標”,出現(xiàn)目標的虛檢。針對以上問題提出以下改進方法。
當運動目標由運動變?yōu)殪o止狀態(tài),將會成為背景的一部分,由于傳統(tǒng)的背景更新方法中,當前幀圖像的權(quán)值較小,變?yōu)楸尘暗哪繕瞬荒鼙豢焖俑?,得到的前景圖像中就會出現(xiàn)虛檢的目標。分析上述問題,當運動目標由運動變?yōu)殪o止狀態(tài),成為背景的一部分時。幀差法是使用前后相鄰的兩幀圖像做差,如果目標由運動變?yōu)殪o止成為背景的一部分,此時使用幀差法得到的前景圖像中,將檢測不到該目標。同時通過背景差方法得到的前景圖像中,仍能“檢測”到該目標,此時被檢測出的目標區(qū)域,有些已經(jīng)成為了背景的一部分,不是真實的運動目標。流程如圖5所示。
圖5 本文流程圖
圖6和圖7是視頻中抓取的兩幀圖像,圖8是背景差法得到的圖像,圖9是幀差法得到的圖像。幀差法得到的圖像含有運動目標和運動目標的“鬼影”,背景差法得到的圖像中含有運動目標以及有運動變?yōu)殪o止成為背景一部分的“運動目標”。兩張圖像的公共部分是運動目標,可以對兩張圖像進行邏輯與運算得到新前景圖像,新前景圖像中的前景物體,即是檢測到的運動目標。圖10是文中方法的檢測結(jié)果。
圖6 視頻幀1
本視頻來自交叉路口的監(jiān)控視頻,前面路口的紅燈亮時,車輛陸續(xù)停止,位于左側(cè)車道的白色轎車是惟一的運動目標,其他車輛運動狀態(tài)都變?yōu)殪o止,從而成為背景的一部分,利用文中方法,能夠較好地檢測到白色轎車。
系統(tǒng)闡述了基于背景差分法檢測運動目標的方法步驟,利用OpenCV加以實現(xiàn),從實驗結(jié)果看,3個視頻輸出畫面自然流暢,檢測的準確率也很高。對實驗結(jié)果進行了分析,提出了改進,經(jīng)實驗驗證,改進效果較好。系統(tǒng)適合對靜止的攝像機拍攝的視頻圖像進行運動目標檢測,只對運動目標由運動變?yōu)殪o止的情況提出了背景更新的方法運動目標檢測方法,沒有討論目標由長時間靜止再次變?yōu)檫\動的情況運動目標的檢測方法,需要在后續(xù)工作中進一步地研究。
[1]譚歆,武岳.基于OpenCV的運動目標檢測方法研究與應(yīng)用[J].電視技術(shù),2010,34(S1):184 -187,193.
[2]劉勃.交通流量的視頻檢測方法研究[D].合肥:中國科學技術(shù)大學,2005.
[3]劉瑞禎,于仕琪.OpenCV教程:基礎(chǔ)篇[M].北京:北京航空航天大學出版社,2007.
[4]TSAIDM,LAIS C.Independent component analysis- based background subtraction for indoor surveillance[J].IEEE Trans on Image Processing,2009,18(1):158 -167.
[5]AVIDAN S.Ensemble tracking[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2007,29(2):261 -271.
[6]WANG Yang.Real- time moving vehicle detection with cast shadow removal in video based on conditional random field[J].IEEE Trans on Circuits and Systems for Video Technology,2009,19(3):437 -441.
[7]STAUFFER C G.Learning patterns of activity using realtime tracking[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2000,22(8):747 -757.
[8]梁英宏.紅外視頻圖像中的人體目標檢測方法[J].紅外與激光工程,2009,38(5):931 -935.
[9]HOOSEN.MPACT:an image analysis tool for motor way analysis and surveillance [J].Traffic Engineering Control Journal,1992,23(4):140-147.