傅莉 王一淼 黃全軍
摘 要:針對傳統(tǒng)三幀差分法中目標檢測不完整、自適應(yīng)性差的問題,本文對此進行了改進。通過將三幀差分法與邊緣檢測算子相結(jié)合解決了目標邊緣不連續(xù)性的問題。采用自適應(yīng)閾值法對邊緣檢測算子的高、低閾值進行自動選取,從而提高了算法的自適應(yīng)能力。采用數(shù)學(xué)形態(tài)學(xué)算法處理,填充了運動目標的部分空洞。實驗結(jié)果表明改進算法能更清晰完整地檢測出運動車輛目標。
關(guān)鍵詞:運動車輛目標檢測;三幀差分法;邊緣檢測;自適應(yīng)閾值;數(shù)學(xué)形態(tài)學(xué)
Abstract:In view of the problem of incomplete target detection and poor adaptability in the traditional three-frame difference method,this paper improves this.By combining the three-frame difference method with the edge detection operator,the problem of target edge discontinuity is solved.The adaptive threshold method is used to automatically select the high and low thresholds of the edge detection operator,thereby improving the adaptive ability of the algorithm.It is processed by mathematical morphology algorithm and fills some holes of the moving target.Experimental results show that the improved algorithm can detect moving vehicle targets more clearly and completely.
Key words:Moving vehicle target detection;three-frame difference method;edge detection;adaptive threshold;mathematical morphology
運動目標檢測技術(shù)是智能交通系統(tǒng)的關(guān)鍵部分,在檢測交通流量和商場客流量方面有著廣泛的應(yīng)用[1]。運動目標檢測算法包括:背景減除法、光流法、差分法等[2]。本文主要研究差分法,差分法直接比較連續(xù)兩幀或多幀圖像中對應(yīng)像素的灰度值,然后在設(shè)置閾值的序列圖像中提取運動目標的區(qū)域,其存在著目標重疊部分檢測困難、邊緣不連續(xù)性等問題。
本文針對傳統(tǒng)三幀差分法中存在的問題,對其進行改進,加入自適應(yīng)的邊緣檢測算法和數(shù)學(xué)形態(tài)學(xué)算法進行處理,以解決運動目標檢測不完整和自適應(yīng)差的問題。
1 傳統(tǒng)的三幀差分法
傳統(tǒng)的三幀差分法是指取連續(xù)三幀原始圖像,進行灰度化處理,分別對當(dāng)前幀與前一幀和后一幀灰度圖像做差分運算,對差分后的灰度圖像進行二值化處理,由于二值化閾值的選取需要手動設(shè)定,因此自適應(yīng)性較差,然后對兩幀二值化的圖像進行與操作,目的是去除運動目標的拉長部分,然而,由于圖像重疊,檢測到的運動目標存在較大的空洞[3]。
三幀差分法運算公式為:
k+1(x,y)分別表示第k-1、k、k+1幀圖片的像素點的灰度值,D1(x,y)、D2(x,y)分別表示對應(yīng)的差分結(jié)果,E1(x,y)、E2(x,y)表示二值化結(jié)果,T為預(yù)先設(shè)點的閾值,如果T選取的過大,則檢測出來的運動目標可能會出現(xiàn)檢測不完整或者漏檢,反之,則會出現(xiàn)大量的噪聲。E(x,y)表示最后檢測出的目標圖像。
2 改進的三幀差分法
2.1 自適應(yīng)的邊緣檢測
針對傳統(tǒng)的三幀差分運動目標檢測算法中存在的目標邊緣不連續(xù)性的問題,加入Canny邊緣檢測算法進行處理[4],能夠清晰完整地檢測出目標邊緣。
為了增強算法的自適應(yīng)性,對邊緣算子的雙閾值進行選取時,采用最大類間方差法。用遍歷法求使類間方差最大化的最佳閾值,將其設(shè)為Canny算子的低閾值,高閾值設(shè)定為低閾值的2倍。
2.2 數(shù)學(xué)形態(tài)學(xué)處理
在傳統(tǒng)算法中,由于相鄰兩幀圖像的重疊,因此檢測到的目標會產(chǎn)生空洞,所以采用數(shù)學(xué)形態(tài)學(xué)進行處理[5-6]。
本文使用膨脹的形態(tài)學(xué)運算,其能夠?qū)D像的邊緣擴大些,將目標的邊緣或者內(nèi)部的空洞填充[7]。
2.3 操作方法
由以上分析可知,改進的三幀差分運動目標檢測算法步驟如下:
(1)首先取連續(xù)三幀原始圖像,進行灰度化處理。
(2)對當(dāng)前幀與前一幀和后一幀灰度圖像分別做差分運算。
(3)通過最大類間方差法分別確定兩幀差分灰度圖像對應(yīng)Canny算子的高、低閾值,進行邊緣檢測。
(4)運用膨脹的方法分別對兩幀邊緣檢測后的圖像進行形態(tài)學(xué)處理。
(5)最后對兩幀處理后的圖像進行與操作,得到目標圖像。
3 實驗結(jié)果及分析
本文以Visual Studio2019為軟件平臺,借助Opencv庫函數(shù)采用C++編程語言對算法進行改進和優(yōu)化,實驗中所用的視頻是用手機拍攝的一段車輛行駛的視頻,本文選取其中的第70幀和90幀圖片進行實驗結(jié)果分析,實驗結(jié)果圖如圖1和圖2所示。
實驗結(jié)果表明,傳統(tǒng)的算法檢測出的運動車輛目標邊緣并不連續(xù)并且內(nèi)部會產(chǎn)生空洞。本文改進的算法檢測出的運動車輛目標邊緣連續(xù),能夠得到比較完整的運動車輛輪廓,并且填充了部分空洞,可以更清晰完整地檢測出運動車輛目標。
4 結(jié)論
本文對傳統(tǒng)的三幀差分運動目標檢測算法進行改進,加入了自適應(yīng)的邊緣檢測算法和數(shù)學(xué)形態(tài)學(xué)算法進行處理。通過加入邊緣檢測算法解決了目標邊緣不連續(xù)的問題,對閾值進行自動選取提高了算法的自適應(yīng)能力,最后采用形態(tài)學(xué)算法填充了運動目標的部分空洞,得到了更清晰完整的運動目標。本文算法解決了傳統(tǒng)算法中檢測的目標不完整和自適應(yīng)差的問題。實驗結(jié)果表明本文的改進算法計算量小,實時性強,能更清晰完整地檢測出運動車輛目標。
參考文獻:
[1]駱且.運動車輛檢測與跟蹤方法研究與實現(xiàn)[D].江蘇:揚州大學(xué),2014.
[2]姜惠云,吳曉娟,王孝剛,張小燕.運動檢測算法的研究和仿真實現(xiàn)[J].電氣電子教學(xué)學(xué)報,2009,31(03):56-59.
[3]陳寶遠,霍智超,陳光毅,等.一種改進的三幀差分運動目標檢測算法[J].應(yīng)用科技,2016,43(2):10-13.
[4]卞桂平,秦益霖.基于Canny算法的自適應(yīng)邊緣檢測方法[J].電子設(shè)程,2017,25(10):53-56+60.
[5]陳尹剛.基于數(shù)學(xué)形態(tài)學(xué)圖像處理算法研究[J].信息通信,2019(12):67-68.
[6]錢月.基于MATLAB的圖像形態(tài)學(xué)處理技術(shù)與應(yīng)用[J].內(nèi)江師范學(xué)院學(xué)報,2019,34(10):51-55.
[7]Amin Nazerzadeh,Afsaneh Nouri Houshyar,Alireza Jahed.An Intelligent Algorithmfor SkinCancer Detection[J].Intelligent Control and Automation,2020,11(01).
基金項目:遼寧省自然科學(xué)基金項目(2015020061)
作者簡介:傅莉(1968—),女,漢族,遼寧鳳城人,博士,教授,研究方向:模式識別與智能系統(tǒng)。