嚴金果,徐蔚鴻
(長沙理工大學 計算機與通信工程學院,湖南 長沙401104)
目前,運動目標檢測算法主要可分為背景差分法[1]、光流法[2]、幀差分法[3]3種。背景差分法是目前最常用的算法,常用于攝像機與場景相對靜止的環(huán)境。國外一些知名學者提出利用混合高斯模型來建立背景模型的算法[4],已得到廣泛的研究與應(yīng)用。該文獻指出圖像內(nèi)每個像素的特征通過K個高斯模型來表征,對環(huán)境變化較慢的情況,混合高斯模型是運動目標檢測中較為成功的方法之一,國內(nèi)外諸多學者也提出了一些改進算法[5-8]。光流法能適用于攝像頭與場景產(chǎn)生相對運動的情況,但是其計算量較大,對硬件的要求也較高,實用性比較差,一般很難實現(xiàn)對運動目標的實時檢測。幀差分利用相鄰幀之間的差分實現(xiàn)對運動目標的檢測,但對像素灰度值變化不明顯的點難以檢測出。在2010年甘明剛等人提出的基于三幀差分與邊緣檢測結(jié)合算法[9],該文中的三幀差分算法雖然在某種程度上提高了幀差分算法的檢測效率,但同時也存在其檢測目標內(nèi)存在較多空洞和邊緣輪廓丟失等問題。針對上述不足,本文提出了一種新的運動目標實時檢測算法,并從識別率、誤檢率以及檢測速度方面對該算法與傳統(tǒng)算法進行了比較分析。
運動目標檢測主要針對二維平面內(nèi)物體簡單的移動過程進行研究。在實際應(yīng)用中,設(shè)t1時刻的圖像中像素點(x,y)的灰度值為f1(x,y),t2時刻的圖像該像素點灰度值為f2(x,y),當目標在t1到t2時刻之間相對場景發(fā)生了移動時,f1(x,y)≠f2(x,y),此時,可以考慮比較相同位置上對應(yīng)像素點的灰度值來檢測運動目標,因此幀差分法的基本原理:通過比較圖像序列中兩幀圖像中相同位置上對應(yīng)像素點的灰度值,確定該像素點是否為運動目標的一部分。即:如果差異較大 (大于某一閾值),我們就認為該像素點是運動目標的一部分。
幀差分法 (瞬時差分法)是對視頻圖像序列中相鄰的兩幀圖像f(x,y,t),f(x,y,t-1)作 “減”運算,可由公式 (1)計算兩幀圖像的差,得到差分圖像D(x,y,Δt)
假設(shè)f(x,y,t)為當前幀圖像的某像素,那么f(x,y,t-1)為該像素的前一幀,則D(x,y,Δt)為此刻圖像序列中的運動目標區(qū)域,當然,D(x,y,Δt)也可能是由于噪聲或者光照變化所引起的,為此,需要設(shè)置一個合理的閾值T,對運動區(qū)域做二值化的分割處理,如式 (2)所示
其中取值為1時,表示此像素點代表前景;取值為0時,表示該像素點代表背景。
在差分圖像中,并非所有差分結(jié)果的非零值像素都屬于運動目標,為了更好地利用圖像序列之間的相關(guān)性,提取更準確的運動區(qū)域,提出相鄰三幀圖像兩兩差分后進行二值化處理,然后利用兩個二值化結(jié)果的差分圖像做邏輯“與”運算的方法,如式 (3)所示,確定中間幀的運動目標位置。
上式表明只有在Dk(x,y,Δt)(第k幀與第 (k-1)幀差分后二值化處理結(jié)果)與D(k+1)(x,y,Δt)(第k幀與第(k+1)幀差分后二值化處理結(jié)果)同時為1時,D′(x,y,Δt)(第k幀進行三幀差分后二值化處理結(jié)果)才等于1。
差分法能夠?qū)崿F(xiàn)對運動目標的實時檢測,算法簡單,便于硬件實現(xiàn),適用于實時性要求高的情況,但檢測到的運動目標不準確,目標內(nèi)部存在較多空洞,因此現(xiàn)實中較少采用它。
由于攝像頭提取的視頻序列往往存在噪聲 (如高斯噪聲或脈沖噪聲)的干擾,噪聲的干擾可能會導致檢測的運動目標不準確,因此,在檢測之前設(shè)置濾波器濾除噪聲是圖像處理過程中一個必要的環(huán)節(jié)。自適應(yīng)中值濾波器利用像素領(lǐng)域內(nèi)灰度的中值代替該像素的值,對隨機的噪聲有非常優(yōu)秀的去噪聲能力,尤其是對脈沖噪聲的處理,亦可平滑其他的非沖激噪聲,并減少目標邊界細化等失真。所以本文采用經(jīng)典的自適應(yīng)中值濾波器[10]先對原始視頻圖像進行去噪聲處理。再將獲取的彩色視頻圖像轉(zhuǎn)換為灰度圖像序列,然后通過直方圖均衡化處理使圖像的亮度增強、細節(jié)變得更加清晰。
假設(shè)視頻圖像進行灰度處理后的灰度級為256,即圖像灰度在0-255之間。設(shè)視頻序列中第k幀的某一個像素點灰度值為fk(x,y,t),第 (k-1)幀該像素點的灰度值為f(k-1)(x,y,t-1)。利用相鄰幀之間的差分可得當前像素點的灰度差的絕對值為d(x,y,Δt)為
在該像素點的鄰域內(nèi)有另外一像素點 (x′,y′),其灰度值fk(x′,y′,t),在第 (k-1)幀中,該像素點的灰度值為f(k-1)(x′,y′,t-1)。通過其鄰域內(nèi)像素點灰度值的變化判斷:當同時滿足式 (5)和式 (6)時
則會引起該像素點灰度值的變化量改變,否則視為無影響。其中r表示該像素點到其鄰域內(nèi)某一像素點的空間距離是兩個經(jīng)驗閾值。本次實驗中取值依次為3和2。
若某個像素點為前景點時,其周圍的像素點是前景點的概率也隨著增大,因此先計算其本身的像素點與其鄰域內(nèi)的像素灰度值變化的絕對值,然后通過其值對當前像素點是否為前景點的概率進行更新。假設(shè)當前更新的像素點為像素原點,則鄰域內(nèi)所有與像素原點相距為ri的像素點灰度變化的絕對值的總和為對像素原點前景概率的更新與距離成反比,與變化的絕對值成正比,因此自定義在相同半徑上的鄰域綜合因子βri如式 (7)所示
假設(shè)當前原點像素的前景概率為p(x,y,t),則通過鄰域綜合因子的二值化閾值分割處理來對原點像素的前景概率進行動態(tài)更新,更新公式如下式 (8)所示
其中βri為經(jīng)驗值為更新權(quán)值。通過其本身與其鄰域內(nèi)其他像素點對此前景概率的更新,可得原點像素的前景概率p(x,y,t)如式 (9)所示
最后通過最少類內(nèi)絕對差和最大差的閾值分割方法[14]對像素的前景概率進行分割,最后對前景進行實時更新,前景概率大于自適應(yīng)閾值則更新為前景,否則為背景點。
綜上所述改進的幀差分算法核心部分如圖1所示。
圖1 改進的幀差分算法核心部分流程
改進的幀差分處理結(jié)果的目標邊緣存在一定程度的模糊,而邊緣提取可以有效的提取出運動目標的邊緣信息,所以本文采用新的幀差分算法與邊緣提取算法做邏輯 “或”運算進行運動目標檢測。
檢測過程步驟如下:
第一步:從圖攝像頭獲取視頻序列并對圖像序列進行灰度變換處理。
第二步:圖像增強包括:直方圖均衡化處理對亮度加強;自適應(yīng)中值濾波器濾除原始序列中的噪聲。
第三步:在圖像增強處理后,采用上節(jié)改進的幀差分法處理,然后進行腐蝕與膨脹的數(shù)學形態(tài)學處理,得到清晰完整的運動目標。
第四步:在進行第二步的處理后,采用基于Sobel算子對圖像序列進行邊緣檢測[13],檢測后采用最大類間方差法進行閾值分割處理[12],然后進行數(shù)學形態(tài)學的腐蝕運算得到邊緣清晰的運動目標。
第五步:對第三步與第四步的處理結(jié)果進行邏輯 “或”運算,提取運動目標的圖像序列。
改進系統(tǒng)的程序流程框圖如圖2所示。
圖2 改進系統(tǒng)的程序流程
實驗在Intel Core i5-2450M@2.5G處理器、內(nèi)存4G,Windows 7 64位操作系統(tǒng)、Visual Studio2008的環(huán)境下,基于Intel開源的計算機視覺庫OpenCV編程實現(xiàn)。
為了驗證本文算法的高效性與實時性,本實驗選取在室內(nèi)攝像頭靜止拍攝下來的兩組視頻序列進行傳統(tǒng)的幀差分算法與本文的改進算法進行了運動目標檢測實驗,實驗結(jié)果如圖3和圖4所示。
圖3 第一組視頻檢測實驗結(jié)果
圖4 第二組視頻檢測實驗結(jié)果
從檢測結(jié)果圖可以看出:傳統(tǒng)幀差分檢測結(jié)果如圖3(b)所示,雖然能夠檢測出運動目標,但其目標輪廓不連續(xù),檢測結(jié)果不完整,如行人的左腳與左肩附近出現(xiàn)了較大的空洞;而本文改進的算法檢測結(jié)果如圖3(c)所示,目標輪廓連續(xù),同時在很大程度上消除了陰影和空洞。第二組視頻實驗結(jié)果如圖4所示,它在一定程度上表明實驗結(jié)果并不是隨機產(chǎn)生的,不是偶然性的結(jié)果。考慮到像素點鄰域內(nèi)的像素點灰度的變化對此像素前景概率的作用,從而保留了目標更多有用可靠的數(shù)據(jù)信息,使檢測結(jié)果變得更好。
評價上述算法的準確性和高效性以識別率、誤檢率以及檢測速率作為指標,其中識別率和誤檢率的計算方法如下
其中TR表示檢測到與運動目標相符的像素點個數(shù);TN表示未檢測到的像素點個數(shù);TF表示檢測結(jié)果在非運動目標上的像素點個數(shù);檢測速率表示單位時間內(nèi)算法檢測了幀圖像數(shù)量,單位fps(frame per second)。
在同等條件下實驗比較結(jié)果如表1所示,二種算法的檢測率都能達到90%以上,由于本文算法利用新定義的鄰域綜合因子對前景概率進行修正,因此該算法在誤檢率、識別率和檢測速率方面都要優(yōu)于傳統(tǒng)的幀差分算法,并且其時間復雜度低,計算量較??;檢測速率也與傳統(tǒng)的幀差分的檢測速率基本一樣。因此本文改進算法在能滿足檢測實時性要求的前提下,既提高了識別率又降低了誤檢率。在工程實際應(yīng)用中有一定的指導意義。
表1 實驗檢測識別率、誤檢率與檢測速率
在靜態(tài)場景中,若某像素鄰域內(nèi)存在像素點落在前景目標上,則該像素也可能落在前景目標上的思想,提出了一種運用鄰域綜合因子更新像素前景概率的算法,并融合了邊緣檢測算法。改進算法解決了傳統(tǒng)幀差分算法在檢測目標中出現(xiàn)較大空洞的問題,并能快速有效的提取出完整又清晰的運動目標。仿真實驗表明該算法是一種實時性強,檢測效率高、能基本達到工程實際應(yīng)用基本要求的新型運動目標實時檢測算法。本文算法是在簡單環(huán)境下的仿真實驗,在復雜的動態(tài)場景中檢測不是很理想。因此改進算法仍存在場景上的局限性,尤其在復雜的動態(tài)場景中,檢測效果還有待改善,需作進一步的研究與實驗。
[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).[金廣智,石林鎖,白向峰,等.基于混合高斯模型的新型目標檢測系統(tǒng)[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ā),張文生,楊柳.融合光流速度與背景建模的目標檢測方法[J].中國圖象圖形學報,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)混合高斯模型的運動目標檢測[J].計算機科學,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).[甘明剛,陳杰,劉勁,等.一種基于三幀差分和邊緣信息的運動目標檢測方法[J].電子與信息學報,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].計算機科學,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算子的圖像邊緣檢測研究[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).[吳一全,潘喆.基于最小類內(nèi)絕對差和最大差的圖像閾值分割[J].信號處理,2008,24 (6):943-946.]