秦彬鑫,路 紅,盛柳森,邱 春,萬文明
(1. 南京工程學(xué)院機(jī)械工程學(xué)院, 江蘇 南京 211167;2. 南京工程學(xué)院電氣工程學(xué)院, 江蘇 南京 211167)
隨著社會發(fā)展水平的不斷提升,汽車擁有量日益增多,道路擁堵、交通事故、能源大量消耗等情況頻頻出現(xiàn)[1].由于人口不斷增加,僅僅增加基礎(chǔ)交通設(shè)施投入的方法(如直接進(jìn)行道路拓寬)無法從根本上解決問題[1-3].在這種背景下,建立智能交通管理體系是最好的措施之一[4].實(shí)時獲取準(zhǔn)確的交通信息是智能交通領(lǐng)域的研究重點(diǎn),車輛實(shí)時計(jì)數(shù)也成為監(jiān)測環(huán)境狀態(tài)的一個重要部分[5].
經(jīng)典的檢測車輛方法有背景差分法、幀差法和光流法等.背景差分法[6]雖然能夠提取較為完整的前景目標(biāo),但對背景模型的要求很高,當(dāng)遇到特征相似的背景和目標(biāo)時容易產(chǎn)生誤檢漏檢;幀差法[7-8]原理簡單且運(yùn)算速度快,當(dāng)連續(xù)兩幀灰度信息相差不大時容易產(chǎn)生拖影,且易受車速影響;光流法[9]運(yùn)算量大,不適用于實(shí)時的車輛檢測和計(jì)數(shù).文獻(xiàn)[10]利用混合高斯法將背景形成分成不同的階段,采用不同的學(xué)習(xí)率,但劃分背景形成階段較為困難,且計(jì)算復(fù)雜.總體來說,交通場景中的車輛檢測大致可以分為基于目標(biāo)跟蹤和虛擬檢測兩大類[11].文獻(xiàn)[12-13]對采集的視頻圖像序列一幀一幀進(jìn)行檢測,提取并匹配車輛的運(yùn)動軌跡或狀態(tài),從而根據(jù)軌跡之間的差異性進(jìn)行車輛計(jì)數(shù);文獻(xiàn)[14]根據(jù)匹配運(yùn)動目標(biāo)的邊緣和輪廓信息進(jìn)行跟蹤,但在有陰影和多目標(biāo)的場景中使用效果較差;文獻(xiàn)[15]通過建立目標(biāo)模型,進(jìn)行模型匹配實(shí)現(xiàn)跟蹤,該方法計(jì)算復(fù)雜、實(shí)時性差;文獻(xiàn)[16] 基于特征匹配的跟蹤方法提取目標(biāo)幾何等特征進(jìn)行匹配,實(shí)現(xiàn)跟蹤,但在遇到大特征集時跟蹤效率會下降;文獻(xiàn)[17-18]根據(jù)檢測區(qū)域內(nèi)運(yùn)動目標(biāo)灰度值的變化、采樣點(diǎn)的亮度值和檢測圈判斷是否有車輛通過,該方法計(jì)算速度快,但受光照影響較大,且易產(chǎn)生噪聲點(diǎn).
針對實(shí)際視頻監(jiān)控場景下車輛檢測和計(jì)數(shù)實(shí)時性等要求,本文設(shè)計(jì)一種基于團(tuán)塊分析法的車輛檢測與計(jì)數(shù)方法.該方法不僅能夠準(zhǔn)確檢測車輛并實(shí)現(xiàn)實(shí)時計(jì)數(shù),而且能夠通過人機(jī)交互界面(graphical user interface,GUI)顯示出檢測與計(jì)數(shù)的過程和結(jié)果,提高信息傳遞效率.
首先利用自動灰度世界算法進(jìn)行圖像預(yù)處理,去除灰度突變,接著通過改進(jìn)的混合高斯法建立穩(wěn)定的背景模型,利用選取視頻幀的像素信息進(jìn)行背景自適應(yīng)更新,獲取穩(wěn)定的背景圖像,利用五幀法將視頻幀和建立的背景圖像進(jìn)行差分運(yùn)算,提取準(zhǔn)確的前景目標(biāo),解決了混合高斯法計(jì)算量大的問題,提高了檢測的準(zhǔn)確性、實(shí)時性和環(huán)境適應(yīng)性,然后定義感興趣區(qū)域(region of interest, ROI)并設(shè)置虛擬絆線檢測,再用團(tuán)塊分析法對檢測到變化的區(qū)域連通圖像塊進(jìn)行跟蹤分析,并用最小外接矩形標(biāo)識運(yùn)動目標(biāo),當(dāng)目標(biāo)車輛的團(tuán)塊面積符合設(shè)置的條件時進(jìn)行計(jì)數(shù),最后將試驗(yàn)過程及結(jié)果展示在GUI界面,能夠更加直觀地觀察試驗(yàn)過程和結(jié)果.算法的具體流程如圖1所示.
圖1 本文算法流程圖
混合高斯模型計(jì)算量大且對長時間不發(fā)生變化的場景敏感,但該方法建立的背景圖像能較好表現(xiàn)實(shí)際場景;幀差法計(jì)算簡單、快速,在有停留車輛或者車速較慢的情況下能夠及時檢測出變化,但容易出現(xiàn)空洞現(xiàn)象.本文將五幀差分法和混合高斯模型相結(jié)合進(jìn)行目標(biāo)檢測.
首先對完成預(yù)處理的第t+6幀圖像進(jìn)行五幀差分運(yùn)算得到當(dāng)前幀的背景二值圖像:
Bk(x,y)=ft(x,y)-ft+1(x,y)
(1)
式中,ft(x,y)、ft+1(x,y)分別為第t、t+1幀(x,y)位置處的像素灰度值.
接著利用高斯混合模型進(jìn)行模型初始化:
(2)
式中:μk(x,y,1)、ω(x,y,1)分別為位置(x,y)的背景模型第一個高斯分布的均值和權(quán)值;σk(x,y,k)為第k個高斯分布標(biāo)準(zhǔn)差,一般取sd_init=6;p1為第1個高斯分布的概率.
當(dāng)分布個數(shù)為ki時,求出其他高斯分布的均值和權(quán)值:
(3)
直到利用N個高斯分布完成背景模型的建立,數(shù)學(xué)式表達(dá)為:
(4)
式中,Bb為當(dāng)前背景模型的圖像幀.
為解決傳統(tǒng)混合高斯法不能更新背景的問題,增加自適應(yīng)的背景更新,選取當(dāng)前幀實(shí)時更新背景模型:
Bd+1=hsBb+(1-hs)Bd
(5)
式中:hs為更新的系數(shù),hs∈[0,1];Bd為當(dāng)前圖像幀.
采用傳統(tǒng)混合高斯法和本文方法進(jìn)行背景建模,試驗(yàn)結(jié)果對比如圖2所示.由圖2可見,傳統(tǒng)混合高斯法建立的背景圖像比較模糊,本文方法建立的背景圖像清晰且與實(shí)際場景的背景相近.與傳統(tǒng)高斯混合模型法相比,本文方法建立的背景圖像更加準(zhǔn)確、穩(wěn)定,貼近實(shí)際場景.
(a) 傳統(tǒng)混合高斯法
建立穩(wěn)定的背景圖像后,利用五幀差分法進(jìn)行前景目標(biāo)提取:
(6)
式中,ft(x,y)、ft+2(x,y)、ft+4(x,y)分別為第t、t+2、t+4幀(x,y)位置處的像素灰度值.
利用腐蝕、膨脹的形態(tài)學(xué)處理方法得出最終的前景運(yùn)動目標(biāo)區(qū)域,如圖3所示,圖像中白色區(qū)域?yàn)榍熬斑\(yùn)動像素即運(yùn)動目標(biāo)區(qū)域,黑色區(qū)域?yàn)榉沁\(yùn)動像素即背景區(qū)域.由圖3可見,幀差法提取的前景目標(biāo)不清晰,在目標(biāo)較小時容易產(chǎn)生漏檢(如第76幀中左下角的黑色車輛,幾乎檢測不到),并且提取的前景目標(biāo)容易產(chǎn)生空洞;本文方法不管在目標(biāo)小、大還是較多的情況下都能準(zhǔn)確提取前景運(yùn)動目標(biāo),在對第76幀的黑色車輛檢測中可以看出,其前景檢測的精準(zhǔn)度和準(zhǔn)確度得到很大提升.
(a) 原始圖像
1.4.1 ROI區(qū)域設(shè)定
本文利用ROI方法對特定區(qū)域?qū)ο筮M(jìn)行處理和分析,對車輛計(jì)數(shù)更加具有針對性.感興趣區(qū)域可以設(shè)置不同的形狀,可通過獲取左上角和右下角的坐標(biāo)位置,利用rectangle()函數(shù)直接設(shè)置規(guī)則的矩形區(qū)域?qū)σ曨l進(jìn)行針對性檢測.圖4中利用矩形框來標(biāo)識感興趣區(qū)域,對劃定的區(qū)域進(jìn)行車輛檢測,從而節(jié)省存儲空間和提高運(yùn)行速率,提高檢測效率和魯棒性,為絆線檢測和計(jì)數(shù)提供了良好的基礎(chǔ).
圖4 劃定感興趣區(qū)域
1.4.2 基于團(tuán)塊分析法的運(yùn)動目標(biāo)跟蹤
運(yùn)動目標(biāo)團(tuán)塊可以理解為提取到的前景區(qū)域運(yùn)動目標(biāo),基于數(shù)學(xué)形態(tài)學(xué)處理得出二值圖像(背景為0,前景為1),利用連通區(qū)域標(biāo)記算法對ROI中連通的圖像塊進(jìn)行標(biāo)記并分析圖像中單個或多個目標(biāo)團(tuán)塊.首先對圖像進(jìn)行遍歷,記錄下每一行(或列)中連續(xù)的團(tuán)塊并對原始圖像進(jìn)行重新標(biāo)記,給原始圖像中的每個連通區(qū)域標(biāo)記唯一編號,則輸出圖像中連通區(qū)域的所有像素值為該區(qū)域標(biāo)注的編號,最后得出運(yùn)動目標(biāo)團(tuán)塊.
分析檢測出的運(yùn)動目標(biāo)團(tuán)塊,提取其面積特征(本文設(shè)定,檢測到的運(yùn)動目標(biāo)團(tuán)塊面積占整個變化區(qū)域面積的35%以上時便認(rèn)為是車輛),利用最小外接矩形框標(biāo)記跟蹤的目標(biāo)團(tuán)塊(見圖5).該方法增強(qiáng)了目標(biāo)團(tuán)塊檢測的精確性和跟蹤的魯棒性.
(a) 原始圖像
1.4.3 基于虛擬絆線檢測的車輛計(jì)數(shù)
針對交通車輛檢測的準(zhǔn)確性、實(shí)時性等要求,本文設(shè)置虛擬絆線來統(tǒng)計(jì)區(qū)域內(nèi)的車輛數(shù).在劃定的感興趣區(qū)域設(shè)定一條白色虛擬絆線(見圖6),根據(jù)不同視頻場景中的實(shí)際情況,虛擬絆線的設(shè)置具有較大的隨機(jī)性.為進(jìn)一步提高檢測的精確性,對剛跨過白色虛擬絆線的運(yùn)動目標(biāo)計(jì)數(shù),超出劃定ROI最下端的運(yùn)動目標(biāo)不計(jì)數(shù),即當(dāng)標(biāo)識運(yùn)動目標(biāo)進(jìn)入圖6中細(xì)矩形框區(qū)域時,對ROI內(nèi)檢測到的車輛進(jìn)行計(jì)數(shù),并在左上角的計(jì)數(shù)器中實(shí)時顯示出車輛數(shù),若劃定的ROI中沒有車輛,則計(jì)數(shù)器清零.試驗(yàn)表明,該方法時效性高,增強(qiáng)了檢測效率,減少車輛漏檢的情況.
圖6 虛擬絆線設(shè)置
GUI是使用者與計(jì)算機(jī)進(jìn)行信息交流的平臺,使用者可以直接通過界面執(zhí)行指定的操作,GUI提供一個集成開發(fā)環(huán)境GUIDE(見圖7),包括視頻部分、控制區(qū)、視頻信息、說明等.視頻部分有三個顯示區(qū)域,顯示檢測視頻和結(jié)果.獲取視頻信息按鈕可得到視頻的總幀數(shù)、幀寬度、幀高度、時長等;提取前景目標(biāo)和計(jì)數(shù)按鈕是對視頻進(jìn)行處理并顯示結(jié)果(圖7給出的是視頻序列中的第18幀檢測結(jié)果);播放按鈕可以控制視頻的播放與暫停;停止按鈕可以將界面上所有獲取的視頻、信息清零;截圖按鈕可以將感興趣的一幀截圖并且保存.試驗(yàn)結(jié)果顯示,本文車輛檢測和計(jì)數(shù)方法能夠?qū)⑾鄳?yīng)功能在GUI上準(zhǔn)確實(shí)現(xiàn).
圖7 GUI界面設(shè)計(jì)功能顯示結(jié)果
本文所有試驗(yàn)都是基于Intel(R) Core(TM) i5-8265U CPU@1.60 GHz 1.80 GHz的硬件和Matlab 2016a的軟件實(shí)現(xiàn).為證明本文方法檢測和計(jì)數(shù)的準(zhǔn)確性、實(shí)時性,選取兩種不同高速公路、不同拍攝角度、不同光照強(qiáng)度的視頻場景Data1(共120幀)、Data2(共500幀)進(jìn)行試驗(yàn),Data1、Data2的分辨率分別為120×160、240×320.
選取Data1場景中不同的4幀圖像(見圖8),利用外接矩形框?qū)z測到的目標(biāo)進(jìn)行標(biāo)識,檢測到的車輛數(shù)量在左上角的計(jì)數(shù)器中顯示.由圖8可見,當(dāng)?shù)?3幀圖像中的白色車輛沒有完全駛?cè)?其目標(biāo)團(tuán)塊占劃定的ROI和設(shè)定的虛擬絆線區(qū)域面積小于35%,則不認(rèn)為是車輛,不進(jìn)行計(jì)數(shù);第37、72幀在劃定區(qū)域內(nèi)出現(xiàn)的車輛都可以準(zhǔn)確檢測并將數(shù)量在左上角計(jì)數(shù)器中顯示出來,在第37幀中沒有進(jìn)入劃定區(qū)域的車輛沒有計(jì)數(shù);第92幀中的白色車輛未達(dá)到劃定區(qū)域面積的35%以上,不進(jìn)行計(jì)數(shù),符合計(jì)數(shù)的車輛只有1輛.
(a) 原始圖像
選取Data2場景中不同的4幀圖像(見圖9),對目標(biāo)利用外接矩形框進(jìn)行標(biāo)識,在左上角的計(jì)數(shù)器中顯示檢測到的車輛數(shù)量.由圖9可見,本文前景提取的方法準(zhǔn)確性較高,4幀圖像中都有在虛擬絆線上的目標(biāo),當(dāng)該目標(biāo)團(tuán)塊的面積大于劃定區(qū)域的35%時,認(rèn)為是車輛,反之不認(rèn)為是車輛,根據(jù)圖9中第266幀的結(jié)果顯示,本文方法不受車輛大小和車速的影響,可以準(zhǔn)確檢測出車輛并且準(zhǔn)確計(jì)數(shù).本文主要對視頻中一個方向的車輛進(jìn)行試驗(yàn),因此在第494幀圖像中對面道路出現(xiàn)的車輛沒有進(jìn)行計(jì)數(shù).綜上所述,本文方法能夠?qū)囕v進(jìn)行準(zhǔn)確檢測和計(jì)數(shù).
(a) 原始圖像
圖10為Data1和Data2場景中每秒的車輛計(jì)數(shù)情況,x軸為視頻秒數(shù),y軸為在對應(yīng)秒數(shù)檢測到的車輛數(shù).
(a) Data1場景
由圖10(a)可見,在5~6 s車輛數(shù)最多,在第1 s時車輛數(shù)最少,可以直觀看出車流量最大的時間段.圖10(b) Data2場景中,第1 s時的車輛數(shù)遠(yuǎn)大于Data1場景,在0~5 s的車輛數(shù)最多,在第28 s左右車輛數(shù)最少.
為更好評估車輛檢測和計(jì)數(shù)方法的可行性和準(zhǔn)確性,假設(shè)一共檢測到N輛車,其中誤檢的車輛數(shù)為A,漏檢的車輛數(shù)為B,則車輛計(jì)數(shù)檢測精準(zhǔn)率P有:
(7)
兩個不同高速公路視頻場景中車輛計(jì)數(shù)的精準(zhǔn)率見表1.
表1 兩個場景的車輛計(jì)數(shù)檢測精準(zhǔn)率
表1為兩個場景車輛計(jì)數(shù)檢測精準(zhǔn)率情況.Data1場景的光照強(qiáng)度比Data2的大,光照使車輛產(chǎn)生陰影,但是本文方法未受太大影響;在Data2視頻場景中存在較多反方向的車輛,當(dāng)對面車道車輛團(tuán)塊較大時容易導(dǎo)致誤檢;車輛數(shù)較多時,由于車輛面積占劃定區(qū)域面積較小,容易產(chǎn)生漏檢,導(dǎo)致在Data2場景中的檢測精準(zhǔn)率有所下降.綜合而言,本文提出的算法能夠較為準(zhǔn)確提取運(yùn)動車輛,受光照強(qiáng)度影響不大,對相反車道車輛誤檢較少,保證了車輛檢測和計(jì)數(shù)的相對準(zhǔn)確性和適用性.
本文對在不同高速公路、不同拍攝角度、不同光照強(qiáng)度條件下視頻場景中的運(yùn)動車輛提出一種基于人機(jī)交互界面的車輛檢測和計(jì)數(shù)方法,減少傳統(tǒng)混合高斯法計(jì)算量大的同時,提高了車輛檢測準(zhǔn)確性和普適性.在實(shí)際視頻場景試驗(yàn)中,本文方法具有較好的精準(zhǔn)性、實(shí)時性和普適性,利用GUI可以更直觀地展示試驗(yàn)過程和結(jié)果.下一步工作將在此基礎(chǔ)上進(jìn)一步提高檢測和計(jì)數(shù)的準(zhǔn)確性,將智能交通真正應(yīng)用到實(shí)際生活中.