張若楊 賈克斌 劉鵬宇
(北京工業(yè)大學(xué)信息學(xué)部 北京 100024)(先進(jìn)信息網(wǎng)絡(luò)北京實(shí)驗(yàn)室 北京 100024) (未來(lái)網(wǎng)絡(luò)科技高精尖創(chuàng)新中心 北京 100024)
近年來(lái),隨著數(shù)字視頻技術(shù)的迅猛發(fā)展,道路交通管理非現(xiàn)場(chǎng)執(zhí)法的應(yīng)用率越來(lái)越高,不僅強(qiáng)化了道路交通的安全管理,還極大地緩解了執(zhí)法人員不足與人情執(zhí)法的問(wèn)題,管理效果十分明顯??梢哉f(shuō),加大非現(xiàn)場(chǎng)執(zhí)法工作的力度已經(jīng)成為了破解道路交通管理工作難題最可靠、最有效的辦法之一,它在推進(jìn)交通執(zhí)法工作長(zhǎng)足發(fā)展的過(guò)程中發(fā)揮著不可替代的作用。
出租車(chē)行業(yè)是交通運(yùn)輸行業(yè)不可或缺的一部分,特別像北京地區(qū),由于人口眾多、人流量大、公共交通分擔(dān)率偏低,使得公眾對(duì)于出租車(chē)需求量日益增長(zhǎng),這直接導(dǎo)致了出租車(chē)在運(yùn)營(yíng)過(guò)程中存在的問(wèn)題日趨復(fù)雜。尤其在機(jī)場(chǎng)、火車(chē)站等人流量極大區(qū)域,出租車(chē)違規(guī)私攬導(dǎo)致挪車(chē)不及時(shí),很容易造成擁堵、追尾甚至人員傷亡。因此對(duì)特殊區(qū)域私攬[1]行為的有效檢測(cè)和識(shí)別成為亟待解決的問(wèn)題之一。
綜上所述,開(kāi)展針對(duì)私攬行為的檢測(cè)識(shí)別有極大的應(yīng)用價(jià)值,能使公共區(qū)域車(chē)輛人員的安全得到進(jìn)一步保障。本文以檢測(cè)識(shí)別私攬行為為主要研究方向,針對(duì)人體行為識(shí)別展開(kāi)深入研究,為私攬行為的檢測(cè)識(shí)別提供重要依據(jù)。
目前在文獻(xiàn)中還沒(méi)有針對(duì)出租車(chē)私自攬客行為自動(dòng)檢測(cè)方法的報(bào)道。針對(duì)交通監(jiān)控環(huán)境下背景相對(duì)靜態(tài)的特點(diǎn),本文研究了一種基于交通視頻的私自攬客行為檢測(cè)方法,主要流程如圖1所示。首先進(jìn)行出租車(chē)識(shí)別[2]并提取運(yùn)動(dòng)人體前景,判斷行人是否出現(xiàn)在出租車(chē)區(qū)域中;然后提取有上車(chē)可能的行人的多姿態(tài)特征,將其送入SVM分類(lèi)器進(jìn)行訓(xùn)練;最后識(shí)別人體上車(chē)行為,確定監(jiān)控視頻中是否存在私攬行為。
圖1 私攬檢測(cè)算法流程圖
針對(duì)靜止背景下的運(yùn)動(dòng)目標(biāo)檢測(cè)一般有幀間差分法、背景差分法、光流法[3]等比較成熟的檢測(cè)算法。ViBe算法[4-5]是一種新穎、快速及有效的運(yùn)動(dòng)目標(biāo)檢測(cè)算法,該算法思想簡(jiǎn)單、運(yùn)算效率高,且初始化背景建模無(wú)需訓(xùn)練,可以快速對(duì)背景進(jìn)行有效建模。但檢測(cè)結(jié)果中易出現(xiàn)鬼影,極大地影響到后續(xù)的人體特征提取的準(zhǔn)確性。
本文針對(duì)傳統(tǒng)ViBe算法消除鬼影速度較慢的不足,提出了一種改進(jìn)的ViBe算法,能夠快速消除鬼影,并針對(duì)人體上車(chē)行為識(shí)別難度大的特點(diǎn),設(shè)計(jì)了一種基于多特征融合的識(shí)別方法。最后結(jié)合目標(biāo)檢測(cè)與人體行為識(shí)別技術(shù)形成一套完整的私攬行為檢測(cè)方法。
在交通監(jiān)控視頻中,場(chǎng)景具有一定復(fù)雜性,出租車(chē)與私家車(chē)相混合,而私攬行為指的是在道路的落客區(qū)域,出租車(chē)司機(jī)發(fā)生停車(chē),允許乘客上車(chē)并最終駛離的行為過(guò)程。因此需要先對(duì)出租車(chē)進(jìn)行識(shí)別,以區(qū)分出租車(chē)私攬違法行為和私家車(chē)正常接人行為。
本文提取出租車(chē)的Haar[6]特征,并將其送入Adaboost[7]分類(lèi)器進(jìn)行訓(xùn)練,最后檢測(cè)視頻中的出租車(chē)。
Haar特征指的是一種矩形特征,其值表示為黑色矩形區(qū)域的灰度值與白色矩形區(qū)域的灰度值的差,以此來(lái)生成圖像特征矩陣。不同的Haar特征模型功能也不相同,常用的Haar特征模板如圖2所示。
圖2 常用Haar特征模板
Adaboost算法是一種改進(jìn)的Boosting算法。該算法不需要弱分類(lèi)器的先驗(yàn)知識(shí)。它的核心是為相同的訓(xùn)練集訓(xùn)練不同的弱分類(lèi)器,然后將這些弱分類(lèi)器合成強(qiáng)分類(lèi)器,最后將強(qiáng)分類(lèi)器級(jí)聯(lián)成最終分類(lèi)器。圖3是由分類(lèi)器進(jìn)行級(jí)聯(lián)和檢測(cè)出租車(chē)的過(guò)程。
圖3 出租車(chē)區(qū)域檢測(cè)結(jié)果
通過(guò)在圖像上使用不同大小的矩形窗口來(lái)進(jìn)行多尺度掃描,并使用級(jí)聯(lián)分類(lèi)器來(lái)判斷掃描的每個(gè)矩形窗口。如果一個(gè)矩形窗口特性通過(guò)了所有的級(jí)聯(lián)分類(lèi)器,表明該區(qū)域是出租車(chē)區(qū)域,并獲取當(dāng)前圖像中車(chē)輛的位置;否則,表示該區(qū)域不是出租車(chē)區(qū)域。
本文采用訓(xùn)練集包含2 767張出租車(chē)區(qū)域正樣本和7 219張環(huán)境負(fù)樣本,正樣本統(tǒng)一歸一化為28×20大小,負(fù)樣本歸一化為480×360大小。同時(shí)設(shè)置每三個(gè)弱分類(lèi)器構(gòu)成一個(gè)強(qiáng)分類(lèi)器,最終將訓(xùn)練好的Haar-Adaboost分類(lèi)器用交通監(jiān)控視頻進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果如圖3所示。實(shí)驗(yàn)結(jié)果表明,本文方法能夠有效且實(shí)時(shí)檢測(cè)出租車(chē),且能夠適應(yīng)夜晚等較為復(fù)雜的環(huán)境。
行人是發(fā)生私攬行為時(shí)的主要目標(biāo),同時(shí)也是大量存在于交通監(jiān)控視頻中的運(yùn)動(dòng)目標(biāo)。在對(duì)傳統(tǒng)的檢測(cè)算法深入研究的基礎(chǔ)上,考慮到交通監(jiān)控視頻中攝像頭的角度會(huì)時(shí)常發(fā)生變化,本文對(duì)初始化背景建??斓腣iBe算法做出了改進(jìn),提取人體前景。
ViBe算法是一種基于背景差分法的前景分離算法,該算法檢測(cè)效果較好,可以適應(yīng)背景變化較大的場(chǎng)景,但容易造成檢測(cè)結(jié)果中出現(xiàn)鬼影。
ViBe算法主要包含三個(gè)步驟:背景建模、前景檢測(cè)和模型更新。
在背景建模過(guò)程中,該算法采用視頻第一幀來(lái)初始化背景模型,為每一個(gè)像素點(diǎn)創(chuàng)建一個(gè)樣本集存儲(chǔ)該像素點(diǎn)的背景模型,利用像素點(diǎn)極其鄰居像素點(diǎn)的像素值隨機(jī)填充樣本模型,完成初始化背景建模。
在前景檢測(cè)過(guò)程中,為了確定待分類(lèi)像素是否屬于背景點(diǎn),需同該像素點(diǎn)的背景模型做比較,檢測(cè)兩者間的相似度,具體方法為:定義一個(gè)以p(x)為中心,R為半徑的球體SR(p(x)),用U表示背景模型M(x)與球體SR(p(x))的交集,U表示一個(gè)相似度函數(shù),當(dāng)U大于一個(gè)給定的閾值Umin時(shí),待分類(lèi)像素p(x)與背景相似,分類(lèi)為背景,其數(shù)學(xué)表達(dá)式如下:
U={SR(p(x))∩{p1,p2,…,pN}}
(1)
根據(jù)式(1),計(jì)算p(x)與N個(gè)背景樣本的歐氏距離,判斷是否小于閾值R。在實(shí)際處理中,一旦找到Umin個(gè)樣本匹配時(shí),就認(rèn)為該像素點(diǎn)為背景。
在模型更新的過(guò)程中,ViBe算法不僅考慮當(dāng)前像素與其歷史樣本之間的關(guān)系,還考慮到當(dāng)前像素與其鄰居像素之間的關(guān)系,使每一個(gè)背景點(diǎn)有的概率更新自己的模型樣本值及其鄰居點(diǎn)的模型樣本值。算法的空間更新策略保證了背景圖像中空間信息的連續(xù)性,從而對(duì)相機(jī)的輕微抖動(dòng)也有一定適應(yīng)性。
在原始ViBe算法前景檢測(cè)過(guò)程中使用簡(jiǎn)單的歐式距離判斷像素點(diǎn)屬于前景或背景,并不能適用于所有情況,尤其對(duì)陰影的分類(lèi)效果較差。因此本文使用Codebook[8-9]算法中的顏色扭曲度對(duì)前景像素點(diǎn)進(jìn)行分析,旨在盡可能地消除陰影對(duì)真實(shí)運(yùn)動(dòng)目標(biāo)的影響,具體過(guò)程如下:
1) 修改背景樣本集中向量pi為(Ri,Gi,Bi)。
2) 讀取當(dāng)前幀像素點(diǎn)向量xt=(R,G,B)。
3) 要計(jì)算待分類(lèi)像素與背景模型的相似度,比較條件為像素點(diǎn)的顏色扭曲度,如下所示:
(2)
式中:
(3)
4) 判斷相似度是否小于給定閾值,若滿(mǎn)足條件,則匹配次數(shù)加1。
5) 判斷匹配次數(shù)是否達(dá)到Umin,達(dá)到則認(rèn)為該像素點(diǎn)為背景。
同時(shí),為了改善鬼影消失過(guò)慢的不足,本文借鑒Codebook算法中6元組的思想。在原方法中每個(gè)像素點(diǎn)只建立了背景樣本集,使得在模型更新過(guò)程中所有樣本在同一時(shí)刻被更新概率相同,難以快速消除鬼影。故本文在原有基礎(chǔ)上引入背景樣本點(diǎn)未被更新時(shí)間,作為該樣本點(diǎn)更新概率的權(quán)值依據(jù),具體改進(jìn)方案如下:
1) 修改背景樣本集中向量(Ri,Bi,Gi)為(Ri,Bi,Gi,λi)。
2) 若將該像素點(diǎn)分類(lèi)為背景點(diǎn),則計(jì)算當(dāng)前時(shí)刻所有樣本的被更新概率,保證未被更新時(shí)間越小的樣本點(diǎn)被更新概率越小,計(jì)算公式如下:
(4)
3) 依照計(jì)算得到的概率更新樣本背景。
4) 將最新被更新的樣本點(diǎn)的未被更新時(shí)間置為0,其余樣本點(diǎn)的未被更新時(shí)間加1。
下面通過(guò)一組視頻圖像分別按照三幀差分法、背景差分法、混合高斯法[10]、原始ViBe算法和本文的改進(jìn)ViBe算法進(jìn)行人物前景提取,得到前景提取結(jié)果如圖4所示。
(a) 原始圖像 (b) 三幀差分法
(c) 背景差分法 (d) 混合高斯方法
(e) ViBe方法 (f) 本文方法圖4 各運(yùn)動(dòng)目標(biāo)檢測(cè)算法結(jié)果
由圖4可見(jiàn):本文的算法對(duì)人物前景提取的效果最佳,準(zhǔn)確性高;三幀差分法容易造成較大空洞;背景差分法和混合高斯方法在存在靜止目標(biāo)突然運(yùn)動(dòng)時(shí)情況下效果較差;原始ViBe算法效果較好,但鬼影仍對(duì)真實(shí)目標(biāo)提取有較大干擾。
其次,為了評(píng)估本文提出的ViBe算法消除鬼影的速度,分別使用混合高斯法、原始ViBe算法和本文算法對(duì)鬼影消失的幀數(shù)進(jìn)行了統(tǒng)計(jì),如表1所示。
表1 不同方法鬼影消失幀數(shù)
由表1可見(jiàn):本文的算法消除鬼影所需要的幀數(shù)最少,速度最快;混合高斯法消除鬼影速度較慢;原始ViBe算法稍慢于本文算法。
在此基礎(chǔ)上,結(jié)合提取到的人體前景與識(shí)別出的出租車(chē)區(qū)域,計(jì)算人體質(zhì)心與出租車(chē)中心的距離,當(dāng)行人處于車(chē)輛區(qū)域范圍內(nèi)時(shí),則可以認(rèn)為該行人與車(chē)輛有構(gòu)成私攬違法行為的可能。實(shí)驗(yàn)發(fā)現(xiàn),所檢測(cè)出的人體質(zhì)心存在于以出租車(chē)質(zhì)心為圓心,到四角長(zhǎng)度為半徑的一側(cè)扇形內(nèi)時(shí),檢測(cè)效果較好,如圖5所示。
圖5 人車(chē)位置關(guān)系
乘客在上車(chē)過(guò)程中會(huì)逐漸從出租車(chē)遠(yuǎn)處接近,在車(chē)門(mén)附近停頓,并伴有彎腰、拉車(chē)門(mén)、屈體等動(dòng)作,與交通環(huán)境中的其他行為有明顯區(qū)別。本文基于私自攬客的特點(diǎn)對(duì)乘客的多種特征進(jìn)行提取。
運(yùn)動(dòng)目標(biāo)的標(biāo)識(shí)方法取決于運(yùn)動(dòng)目標(biāo)的區(qū)域形狀及其連通性,采用外接區(qū)域的方法能夠很直觀地反映出運(yùn)動(dòng)人體的輪廓。因此本文選取與人體擬合度更高的最小外接橢圓作為其中一個(gè)特征。
一個(gè)橢圓由其中心坐標(biāo)、其方向以及其長(zhǎng)短軸長(zhǎng)度定義。在私攬行為發(fā)生過(guò)程中,行人會(huì)首先從遠(yuǎn)處向出租車(chē)接近,這段時(shí)間私攬行為的人體特征與人體行走基本一致。當(dāng)乘客走近出租車(chē)準(zhǔn)備上車(chē)時(shí),會(huì)停頓并打開(kāi)車(chē)門(mén),然后彎腰上車(chē),在彎腰上車(chē)的過(guò)程中,人體豎直距離會(huì)降低,人體最小外接橢圓的長(zhǎng)軸會(huì)減小,這是一個(gè)明顯區(qū)別于正常行走行為的特征。人體最小外接橢圓參數(shù)變化過(guò)程如圖6所示。
圖6 人體外接橢圓參數(shù)變化過(guò)程
人體最小外接橢圓的參數(shù)需要計(jì)算圖像的矩,對(duì)于連續(xù)圖像f(x,y),矩的定義由如下:
(5)
橢圓的中心是通過(guò)計(jì)算具有零階一階空間矩的質(zhì)心坐標(biāo)得到的,其公式如下:
(6)
人體外接橢圓傾角由長(zhǎng)軸與水平線之間的夾角確定,通過(guò)二階中心距計(jì)算:
(7)
為了確定橢圓的長(zhǎng)軸與短軸,需要分別計(jì)算最小和最大慣性矩Imin和Imax,它們可以通過(guò)評(píng)估協(xié)方差矩陣的特征值得到,Imin和Imax計(jì)算如下:
(8)
然后,給出最佳擬合橢圓的長(zhǎng)軸與短軸:
(9)
根據(jù)以上人體外接橢圓的確定方法求得特征向量E=[a,b,θ]。
第二個(gè)特征表示目標(biāo)運(yùn)動(dòng)的劇烈程度,該特征利用MHI對(duì)運(yùn)動(dòng)運(yùn)動(dòng)劇烈程度進(jìn)行量化。在乘客打開(kāi)車(chē)門(mén)后上車(chē)的過(guò)程中,人體會(huì)在較短的時(shí)間內(nèi)有一個(gè)急速下墜的動(dòng)作,這就會(huì)使得這段時(shí)間人體的運(yùn)動(dòng)會(huì)更加劇烈,與上車(chē)前的運(yùn)動(dòng)程度有明顯區(qū)分。人體運(yùn)動(dòng)劇烈程度系數(shù)變化過(guò)程如圖7所示。
圖7 人體運(yùn)動(dòng)劇烈程度系數(shù)變化過(guò)程
表示運(yùn)動(dòng)劇烈程度的系數(shù)Cmotion計(jì)算公式如下:
(10)
式中:blob為前景閉包;Hτ(x,y,t)為運(yùn)動(dòng)歷史圖像。Cmotion∈[0%,100%],Cmotion=0%表示沒(méi)有運(yùn)動(dòng)的像素點(diǎn),Cmotion=100%表示區(qū)域內(nèi)所有像素點(diǎn)都在運(yùn)動(dòng)。
綜合多種特征,從而得到了多特征融合的人體姿態(tài)特征向量Bi=[a,b,θ,Cmotion]。
由于判斷行人是否發(fā)生上車(chē)行為是一個(gè)二分類(lèi)問(wèn)題,因此提取人體特征后,我們選擇支持向量機(jī)[11]的分類(lèi)器對(duì)人體行為進(jìn)行建模和分類(lèi)。該方法通過(guò)將數(shù)據(jù)非線性映射到高維空間做出非線性決策,使用較少樣本即可以訓(xùn)練出效果較好的支持向量機(jī)模型。本文算法選用RBF核函數(shù)進(jìn)行訓(xùn)練。
首先驗(yàn)證乘客上車(chē)行為與其他行為在特征上的區(qū)別。本文提取了人體上車(chē)行為以及人體行走和跑步兩種交通監(jiān)控視頻中的常見(jiàn)人體行為的人體姿態(tài)特征。人體多特征如圖8所示。
(a) 長(zhǎng)軸變化
(b) 短軸變化
(c) 角度變化
(d) Cmotion變化圖8 不同行為特征變化
視頻進(jìn)行到第30幀時(shí)行人準(zhǔn)備上出租車(chē),構(gòu)成一起私攬行為。根據(jù)不同行為的多姿態(tài)特征可以看出,乘客上車(chē)行為在人體最小外接橢圓的長(zhǎng)軸變化與短軸變化以及Cmotion變化上都與其他兩種行為有明顯區(qū)分,而通過(guò)橢圓角度變化則難以有效區(qū)分。因此本文在實(shí)驗(yàn)過(guò)程中只對(duì)上述三種有明顯區(qū)分的特征進(jìn)行了訓(xùn)練。
實(shí)驗(yàn)選取實(shí)際交通監(jiān)控視頻進(jìn)行測(cè)試。實(shí)際交通視頻集包括328段視頻,環(huán)境為首都機(jī)場(chǎng)執(zhí)法大隊(duì)的非現(xiàn)場(chǎng)執(zhí)法環(huán)境,如圖9所示。其中存在私攬違規(guī)行為的視頻共有97段,測(cè)試視頻時(shí)長(zhǎng)皆為1~3 min。
圖9 實(shí)際環(huán)境視頻集
對(duì)所有待檢測(cè)視頻進(jìn)行檢測(cè),檢測(cè)結(jié)果標(biāo)準(zhǔn)為:屬于乘客上車(chē)行為并正確檢測(cè)的數(shù)目TB;屬于乘客上車(chē)行為并未正確檢測(cè)的數(shù)目FB;屬于其他行為并沒(méi)有錯(cuò)誤報(bào)警的數(shù)目TO;屬于其他行為并誤報(bào)警的數(shù)目FO。則檢測(cè)乘客上車(chē)行為正確率可定義為:
(11)
檢測(cè)乘客上車(chē)行為的查全率定義為:
(12)
實(shí)驗(yàn)中分別使用本文方法、形狀上下文方法[12]、原始ViBe方法以及多部位建模[13]方法對(duì)乘客上車(chē)行為進(jìn)行檢測(cè)。其中使用本文方法對(duì)乘客上車(chē)行為進(jìn)行檢測(cè)的結(jié)果如圖10所示,檢測(cè)到人車(chē)位置靠近時(shí)顯示“l(fā)ow”字樣,表示有發(fā)生私攬行為的可能;檢測(cè)到人車(chē)位置靠近并識(shí)別出人體上車(chē)行為時(shí)顯示“high”字樣,表示私攬行為發(fā)生可能性極高。
圖10 私攬行為檢測(cè)結(jié)果
表2給出了在實(shí)際環(huán)境中不同方法對(duì)乘客上車(chē)行為進(jìn)行檢測(cè)的正確率和查全率??梢钥闯霰疚乃惴ㄔ趯?shí)際視頻集下的檢測(cè)效果遠(yuǎn)遠(yuǎn)優(yōu)于其他幾種方法。但由于實(shí)際環(huán)境較為復(fù)雜,人體與車(chē)輛之間時(shí)常會(huì)發(fā)生交叉、遮擋等現(xiàn)象,且有其他行人與車(chē)輛出現(xiàn)在監(jiān)控視頻中,使得提取感興趣目標(biāo)受到干擾,導(dǎo)致本文算法仍有不少誤檢與漏檢現(xiàn)象存在。
表2 不同方法下實(shí)際環(huán)境視頻集檢測(cè)結(jié)果
同時(shí)對(duì)算法處理時(shí)間進(jìn)行了測(cè)試。表3給出了幾種方法的平均每幀處理時(shí)間和一幀最長(zhǎng)處理時(shí)間??梢钥闯霰疚乃惴ǖ奶幚頃r(shí)間與使用原始ViBe的方法無(wú)明顯區(qū)別,但較其他兩種方法略慢,不過(guò)平均每幀處理速度依然在40 ms以?xún)?nèi),可以達(dá)到實(shí)時(shí)檢測(cè)的標(biāo)準(zhǔn)。
表3 不同方法下實(shí)際環(huán)境視頻集檢測(cè)結(jié)果
本文研究的出租車(chē)識(shí)別與私攬違章行為檢測(cè)方法是一種用于自動(dòng)檢測(cè)交通違法違章私攬行為的方法。針對(duì)原始ViBe算法易產(chǎn)生鬼影的缺點(diǎn)做出了改進(jìn),使得鬼影可以快速消失,并結(jié)合人體前景與出租車(chē)區(qū)域判斷人車(chē)位置關(guān)系,初步判定私攬發(fā)生的可能性,后續(xù)提取人體上車(chē)過(guò)程中的多姿態(tài)特征,送入SVM分類(lèi)器訓(xùn)練,識(shí)別人體行為,準(zhǔn)確判定私攬行為。本文方法能夠檢測(cè)一些特定場(chǎng)景下如機(jī)場(chǎng)、火車(chē)站、公交樞紐等地私攬行為是否存在,為交通安全預(yù)警,便于執(zhí)法取證。因此,本文方法在智能交通領(lǐng)域具有廣闊的應(yīng)用前景、廣泛的適用性和參考價(jià)值,為城市交通規(guī)范性建設(shè)和發(fā)展提供了保證。