摘 要: 智能交通系統(tǒng)是未來交通的發(fā)展趨勢,基于計算機視覺的電子警察違章抓拍、違章處理、交通指揮等是現(xiàn)代智能交通系統(tǒng)的重要組成。討論基于計算機視覺的電子警察抓拍闖紅燈算法,在準確預(yù)測車輛位置、跟蹤運動車輛的同時,準確判斷是否存在闖紅燈燈違章行為,有效提升視頻處理速度以及車輛違章檢測精準度。
關(guān)鍵詞: 計算機視覺; 電子警察; 違章抓拍; 視頻檢測
中圖分類號: TP311 ? ? ?文獻標志碼: A
Research on Algorthm of Electronc Polce Capturng Red
Lght Volaton Based on Computer Vson
SU Bo
(Department of Publc Securty, Guangx Polce College, Nannng 530028, Chna)
Abstract: Wth the mprovement of the level of ntellgent technology, the ntellgent traffc system becomes the development developng trend of the future traffc. Modern ntellgent transportaton system ncludes electronc polce volatons, llegal treatment, traffc command and other technologes. Ths paper dscusses a computer vson-based electronc polce red lght capture capturng algorthm. The algorthm can accurately predct the poston of the vehcle, track the movng vehcles, and determne whether there s a volaton of the red lght. The research n ths paper effectvely mproves the speed of vdeo processng and the accuracy of vehcle volaton detecton.
Key words: Computer vson; Electronc polce; llegal capture; Vdeo detecton
0 引言
采用計算機視覺的現(xiàn)代智能交通管理體系,可以連續(xù)不間斷的檢測道路、車輛情況,發(fā)現(xiàn)問題之后能夠發(fā)出警報、存儲違章信息并智能聯(lián)絡(luò)車輛違章處理體系[1]?;谟嬎銠C視覺的電子警察闖紅燈違章識別不需要破壞路面,是利用車輛檢測和跟蹤算法進行違章抓拍[2],本文討論基于三幀差分算法的運動目標檢測和基于卡爾曼濾波的運動車輛目標跟蹤算法和闖紅燈識別算法,智能化水平和檢測效率更高。
1 運動車輛目標檢測算法
運動車輛目標檢測是電子警察闖紅燈抓拍的重要環(huán)節(jié),為運動目標跟蹤和違章識別奠定基礎(chǔ)。運動車輛檢測就是對視頻圖像進行分析,提取運動車輛目標。常見運動車輛目標檢測算法包括光流法、幀間差分法、背景差分法[3]。本文的研究中,采用基于三幀差分算法的運動目標檢測方法,對視頻中的連續(xù)幀進行圖像處理,消除圖像毛刺以及噪聲影響,確定運動目標的邊緣,完成圖像預(yù)處理,然后采用相鄰的三幀圖像來提取運動目標,獲得運動目標變化范圍,確定灰度檢測閾值,讓運動目標定位更加精準[4-5],如圖1所示。
第一步:對采集的視頻圖像進行預(yù)處理、圖像灰度化,將原始圖像轉(zhuǎn)變?yōu)榛叶瓤臻g;
第二步:對連續(xù)三幀圖像進行中值濾波,保存圖像紋理信息,獲得清晰圖像;
第三步:對連續(xù)三幀圖像做差分運算,前、后幀的圖像分別與中間幀的圖像做差分運算;
第四步:做二值化處理、數(shù)學(xué)形態(tài)學(xué)處理,消除造成和毛刺,獲取理想前景目標;
第五步:對計運算后的兩幀圖像做相與運算,消除噪聲的同時填補剩余空洞。
圖像處理效果如圖2所示。
(a) 原始圖像 (b) 灰度圖像
(c) 加噪圖 (d) 中值濾波圖
圖2 圖像處理效果
本文選擇種中值濾波進行圖像處理,就是將待處理像素點四軸的像素值排序,以中間值為該像素點幅值[6]。
二維中值濾波輸出為式(1)。g(x,y)=med{f(x-k,y-l),(k,l∈W)}
(1)其中,f(x,y)、g(x,y)分別為原始圖像和處理后圖像。W為二維模板,通常為3×3,5×5區(qū)域。
為了消除運動物體產(chǎn)生的背景變化區(qū)域,恢復(fù)因為運動目標的重合而被覆蓋的區(qū)域,采用連續(xù)三幀圖像的差分算法,獲取運動目標,這種方法的魯棒性更高,獲取的圖像效果更好,如圖3、圖4所示。
(a) 第一幀 (b) 第三幀 (c) 第五幀
通過差分運算后圖像存在噪聲和空洞,前景目標不清晰,對圖像進行二值化處理,將其分割為目標和背景,將目標物從差分圖像中提取出來,如圖5所示。
通過上述步驟的處理,圖像中的毛刺和空洞已經(jīng)消除,可以清晰判斷運動車輛目標,符合系統(tǒng)檢測要求。采用三幀差分算法,增強圖像效果,保留圖像清晰度的同時獲得運動車輛信息。
2 基于卡爾曼濾波的運動車輛目標跟蹤算法 ?車輛跟蹤,就是將前后兩幀中相同的運動目標之間建立聯(lián)系,從后一幀來確定前面一幀確定的車輛。常見的運動車輛目標跟蹤算法有以下幾種:
1、常用運動目標跟蹤算法
基于區(qū)域的目標跟蹤:設(shè)定圖像模板,用這些模板檢測
連續(xù)圖像幀,可以用邊緣檢測跟蹤、先檢測后跟蹤、先跟蹤后檢測三種模式,基于區(qū)域的目標跟蹤操作過程簡單,運算量較小?;谔卣鞯哪繕烁櫍杭毣蓸拥臅r間間隔,將跟蹤目標動作看作光滑的,采用邊緣增強、檢測的方式提取運動車輛邊緣分割信息,通過判斷相鄰圖像的邊緣相似性來估計運動目標的連續(xù)幀圖像[7-8]?;趧討B(tài)輪廓的目標跟蹤:先對車輛的輪廓進行最初的勾勒,更新后續(xù)各幀的輪廓,實現(xiàn)目標跟蹤,Snake跳躍模型是非常典型的動態(tài)輪廓算法,但是這種算法主要是在目標不連續(xù)的情況下用設(shè)置節(jié)點的最大值尋找邊界,但是遮擋也是無法避免的問題?;谀P偷哪繕烁櫨褪前凑者\動車輛外形輪廓建立三維分析模型,通過車輛前景和同樣位置的投影之間的匹配分析確定車輛長寬和基本類型。這種方法具有良好的魯棒性,及時車流量較大的狀態(tài)下,也能保證精準度,但是對模型數(shù)據(jù)庫的依賴性加強,需要頻繁更新車輛數(shù)據(jù)庫。[9]
2、基于卡爾曼濾波器的運動目標跟蹤
引進卡爾曼濾波法,結(jié)合基于特征的目標跟蹤,提升車輛跟蹤結(jié)果的準確性,快速得出計算結(jié)果。算法采用卡爾曼濾波器,根據(jù)這一幀的車輛狀態(tài)預(yù)測下一幀的狀態(tài),根據(jù)預(yù)測的位置確定運動車輛的搜索區(qū)域,并在該區(qū)域進行目標匹配,有效避免大范圍搜索,提升算法的執(zhí)行速度 [9]。
建模:
從本質(zhì)上講,車輛跟蹤過程就是離散控制的過程,假設(shè)N(t)代表時間t時刻的狀態(tài)向量,用線性隨機微分方式可以表示為式N(t)=aN(t-1)+bQ(t)+S(t)
(2) ?測試量為式(3)。P(t)=cN(t)+M(t)
(3)上式中,a和b表示系統(tǒng)參數(shù),c表示測量系統(tǒng)參數(shù);S(t)正態(tài)分布的噪聲,此處P(t)表示的是在t時刻的測量值,M(t)表示的是t時刻的目標跟蹤系統(tǒng)的控制量,J和D分別表示函數(shù)N(t)和P(t)的先驗誤差。假設(shè)系統(tǒng)的運動和測量噪聲都符合正態(tài)分布,那么系統(tǒng)的狀態(tài)并不會影響系統(tǒng)先驗誤差。
符合上述公式的系統(tǒng)即為隨機微分系統(tǒng)且為線性系統(tǒng)。假設(shè)當前狀態(tài)表示為t,根據(jù)卡爾曼模型,可以根據(jù)上幀狀態(tài)預(yù)測當前系統(tǒng)狀態(tài)為式(4)。N(t|t-1)=aN(t-1|t-1)+bQ(t)
(4) ?N(t-1|t-1)表示系統(tǒng)上一幀的理想狀態(tài)結(jié)果,Q(t)為當前狀態(tài)控制量,N(t|t-1)表示上一狀態(tài)的預(yù)測結(jié)果。N(t|t-1)的先驗誤差不變,協(xié)方差可以表示為式(5)。E(t|t-1)=aE(t-1|t-1)aT+bQ(t)
(5)上式中aT是a的轉(zhuǎn)置矩陣,J表示系統(tǒng)過程先驗誤差,E(t-1|t-1)表示N(t-1|t-1)的后驗誤差,E(t|t-1)為N(t|t-1)的 先驗誤差。利用上述公式能夠完成車輛目標的跟蹤預(yù)測。
預(yù)測工作的最終目標并不是計算出預(yù)測值,而是根據(jù)算法明確測量值的當前狀態(tài),t的最優(yōu)化估計值如式(6)。N(t|t)=N(t|t-1)+tτ(t)(P(t)-cN(t|t-1))
(6)上式中,tτ代表卡爾曼增益,其表達式為式(7)。tτ(t)=E(t|t-1)cT(cE(t|t-1)cT+D)
(7) ?由此可以得出t狀態(tài)下的N(t|t)最優(yōu)化估計值,其先驗誤差轉(zhuǎn)變?yōu)槭剑?)。E(t|t)=(F-tτ(t)c)E(t|t-1)
(8)上式中,F(xiàn)為單位矩陣,下一幀E(t|t)遞歸為E(t-1|t-1),卡爾曼濾波算法的核心就是通過自回歸運算預(yù)測運動目標。采用基于卡爾曼濾波的運動車輛目標跟蹤算法,運動車輛目標檢測的速度更快、效率更高。
本文引入卡爾曼濾波進行運動車輛檢測:首先是計算車輛質(zhì)心的位置,確定運動目標跟蹤窗口的長寬參數(shù),明確跟蹤目標之間的關(guān)系,通過這一幀的位置參數(shù)來預(yù)測下一幀的位置,實現(xiàn)移動目標的精準定位。卡爾曼濾波目標跟蹤模型包括4個子模塊:首先是采用計算機視覺分析技術(shù)計算車輛質(zhì)心位置和跟蹤窗口位置等特征值;第二步是建立車輛跟蹤模型的濾波器,設(shè)置濾波器參數(shù),對車輛的運動位置進行預(yù)測;第三步是進行特征匹配,確定運動車輛的基本特征參數(shù),進而求解相鄰幀運動目標的特征值,確定目標是否一致;第四步是更新濾波模型的參數(shù),并將其確定為下一幀的輸入?yún)?shù)。
(1) 特征值計算
針對包含運動車輛的圖像進行二值化處理,是被并跟蹤二值化前景車輛目標,設(shè)置運動目標跟蹤窗口,如圖6所示。
在窗口設(shè)定之前,擦用連通域規(guī)則將屬于同一個車輛的像素點聚集起來,然后逐塊提取輪廓。調(diào)用OpenCV庫的cv FndContours函數(shù)進行運動目標的輪廓處理,搜索區(qū)域內(nèi)車輛的輪廓,估算輪廓坐標,進而確定跟蹤窗口的參數(shù)。假設(shè)運動車輛輪廓像素坐標的X的最大、最小坐標表示為Xmax、Xmn,Y的最大、最小坐標表示為Ymax、Ymn,從左下方逐漸向上,水平方向逐漸向右,右上角坐標垂直向下同時向左移動,繪制出運動目標跟蹤窗口。窗口的長度表示為:l=Xmax-Xmn,窗口高度表示為h=Ymax-Ymn,窗口面積有長高計算得出,跟蹤窗口中心坐標即為車輛的質(zhì)心。
(2) 車輛跟蹤模型參數(shù)設(shè)置
引入卡爾曼濾波的運動目標跟蹤模型,實際應(yīng)用時需要根據(jù)需要設(shè)置模型的關(guān)鍵參數(shù),包括狀態(tài)向量、測量向量、系統(tǒng)參數(shù)、測量矩陣以及其他參數(shù)等。
狀態(tài)向量N(t)=[m n νm νn l h dl dh]Tk,式中νm和νn分別表示運動車輛在X軸和Y軸的移動速度,l和h表示跟蹤窗口的長和寬,dl和dh表示長、寬的變化率。(m n)表示運動車輛的質(zhì)心坐標,通過這些參數(shù)能夠通過當前幀的車輛狀態(tài)預(yù)測下一幀的狀態(tài)向量。
測量向量P(t)=[m n l h]Tt,這是一個四維向量,是根據(jù)一幀一幀圖像的連續(xù)變化計算得出的。
系統(tǒng)參數(shù)a根據(jù)運動車輛跟蹤窗口和質(zhì)心之間的運動關(guān)系、圖像時間間隔來確定。狀態(tài)向量是八維向量,根據(jù)卡爾曼濾波方程可以計算出系統(tǒng)參數(shù)a是一個八行八列的二維矩陣,如式(9)。a=10dt00000
010dt0000
0010dt000
00010dt00
000010dt0
0000010dt
00000010
00000001
(9) ?系統(tǒng)參數(shù)b在卡爾曼濾波的狀態(tài)量計算中沒有意義,所以b=0。主要是因為教育卡爾曼濾波的運動目標跟蹤算法中不需要當前狀態(tài)控制量Q(t)。
測量矩陣c是通過狀態(tài)向量、測量向量來計算為式(10)。c=10000000
01000000
00100000
00010000
(10)其他參數(shù):S(t)、M(t)表示符合正態(tài)分布的運動噪聲和測量噪聲,且均符合高斯白噪聲分布,JM2Routn≤1、D表示他們的先驗誤差。
基于卡爾曼濾波的運行車輛預(yù)測及跟蹤效果,如圖7所示。
圖7(d)中的紅色線條代表跟蹤預(yù)測位置,綠色線條代表車輛運動的實際測量位置。
3、運動目標跟蹤的遮擋處理方案
如果運動目標發(fā)生遮擋,那么車輛的完整信息無法提取,遮擋問題會導(dǎo)致目標區(qū)域增加,車輛的質(zhì)心位置突然改變,搜索區(qū)域內(nèi)可能無法找到最佳匹配對象,所以如果目標匹配失敗,則認為發(fā)生了運動目標遮擋。
(1)遮擋推理
如圖8所示。
(a) (b)
(c) (d)
首先對運動目標設(shè)置兩個匹配標志M1和M2,M1表示當前目標和上一幀目標的匹配性;M2表示當前目標和下一幀目標的匹配性。如果值為1則匹配成果,0表示失敗,新進入場景的目標,M1和M2的初始值分別為1和0。Rn和Rout分別表示駛?cè)雲(yún)^(qū)域和駛出區(qū)域。
載入新的幀圖像,掃描標志位M1,如果為1則開始利用卡爾曼預(yù)測進行目標匹配和跟蹤,如果為0則表示上一幀中沒有尋找到匹配的目標,可能是新進入的目標也可能是發(fā)生了遮擋。如果進入的是新目標,則進行目標預(yù)測、匹配,如果不是新進入場景的目標,則判斷為發(fā)生了遮擋。
(2) 遮擋處理
如果有目標遮擋,不同的情況要有不同的處理方案,主要通過判斷這一幀的目標在下一幀搜索范圍內(nèi)的數(shù)量n。如果這一幀的目標在下一幀區(qū)域內(nèi)出現(xiàn)的數(shù)量n>1,則說明從遮擋狀態(tài)到分離狀態(tài),直接在下一幀將其認為是新進入的目標處理,在這一幀的處理中丟棄該目標。如果n≤1,則是從
分離狀態(tài)到遮擋,那么需要擴大目標搜索目標,并采用卡爾曼濾波器先驗估計替代觀測值,完成濾波器的更新。在擴大后的搜索范圍內(nèi),一段時間內(nèi)未發(fā)現(xiàn)等待的目標,則將該目標丟棄。
結(jié)果表明,采用卡爾曼濾波進行運動車輛跟蹤,如果系統(tǒng)噪聲、觀測噪聲是高斯白噪聲,卡爾曼濾波其能夠?qū)崿F(xiàn)無偏、最優(yōu)的最小方差估計;如果誤差為非高斯噪聲,那么卡爾曼濾波就是最好的線性濾波器,并且很好的適用于矢量的非平穩(wěn)隨機過程狀態(tài)估計。
3 車輛闖紅燈違章檢測
一般情況下,車輛運行速度較快,闖紅燈的違章行為可能在一瞬間發(fā)生,所以電子警察闖紅燈抓拍必須符合實時性要求,檢測算法必須符合高效、瞬時、快速的要求[10]。本文的電子警察闖紅燈違章抓拍算法,在紅綠燈停車線的位置設(shè)置一個違章檢測窗口,通過該窗口進行違章判斷,有效減少圖像數(shù)據(jù)計算量。
電子警察闖紅燈違章抓拍的第一步是對檢測窗口的背景圖像和視頻圖像進行預(yù)處理,利用差分圖像算法判斷窗口中是否有車輛,然后根據(jù)當前紅綠燈的指示判斷車輛是否存在違章。根據(jù)道路具體情況建立RO,設(shè)置闖紅燈檢測線,在RO內(nèi)提取車輛特征信息,實現(xiàn)車輛跟蹤,如圖9所示。
定義一個車輛跟蹤的結(jié)構(gòu)體數(shù)組TrackBlock[N],N表示跟蹤的運動車輛數(shù),數(shù)組的信息包括:
Struct TrackBlock
{
Pont CrclePoston;//車輛質(zhì)心坐標
nt heght; //外接矩陣寬/高
nt length; //外接矩陣長
nt FrameBegn; //進入RO區(qū)域的幀數(shù)
nt FrameLast; //離開RO區(qū)域的幀數(shù)
bool sVolaton; //車輛是否違章的標志
bool flag; //bool值為true表示運動車輛進入特定區(qū)域
}
TrackBlock[N]
具體算法過程如下:
第一步:采用中值濾波處理檢測窗口背景和視頻圖像;初始化車輛跟蹤數(shù)組Track_Block[N];
第二步:采用差分方式處理檢測窗口圖像和視頻圖像,并對差分圖像進行二值化分割;
第三步:對二值化處理后的圖像,統(tǒng)計目標點,如果目標點數(shù)量大于預(yù)設(shè)值,則判斷檢測窗口內(nèi)有車輛,進行第四步,否則結(jié)束流程;
第四步:首先對車道線進行檢測,找出車道實線,判斷在連續(xù)的時間Δt呢車輛質(zhì)心到車道實線的距離是否小于閾值T,當距離小于T時,則車輛已經(jīng)超過實線,持續(xù)時間為t,則將sVolatoon值設(shè)置為true,標出紅色的外接矩陣(閾值T設(shè)置為車輛外接矩陣的38);
第五步:判斷紅綠燈狀態(tài),識別車輛違章情況,如果目前狀態(tài)為紅燈,則啟動相機抓拍,并保存全景圖像。否則不存在違章情況,檢測結(jié)束,如圖10所示。
4 總結(jié)
基于計算機視覺的智能交通體系是社會和技術(shù)發(fā)展的必然趨勢,本文討論基于視頻圖像處理的電子警察闖紅燈違章抓拍算法。首先是對采集到的圖像進行預(yù)處理,進而采用三幀差分算法進行運動目標檢測。然后引進卡爾曼濾波法,結(jié)合基于特征的目標跟蹤,提升車輛跟蹤和車輛闖紅燈識別的準確性。
參考文獻
[1] 阮秋琦.數(shù)字圖像處理學(xué) [M].第2版.北京:電子工業(yè)出版社,2007.
[2] 胡太平,史忠科.基于視頻的快速運動檢測方法及其應(yīng)用研究[J].計算機應(yīng)用研究, 2005, 22(12):145-146.
[3] 王松.應(yīng)用圖像技術(shù)在闖紅燈違法圖片處理中的應(yīng)用[J].信息與電腦(理論版), 2016(16):90-91.
[4]紀偉,程剛.基于視頻圖像方法推斷鑒定交通事故中車輛是否有闖紅燈行為[J].法制與社會, 2018(20):61-62.
[5] 盧賀.基于機器視覺的前方車輛檢測與測距研究[D].重慶:重慶交通大學(xué), 2018.
[6] 張哲,李挺.圖像識別在智能交通領(lǐng)域中的應(yīng)用[J].無線互聯(lián)科技, 2018, 15(16):145-146.
[7] 陳智斌,楊東燁,王軍群.車載視頻車輛違法自動取證系統(tǒng)研究[J]. 交通節(jié)能與環(huán)保, 2018, 14(06):14-18.
[8] 羅強,劉宗廣,李友欣,等.基于數(shù)據(jù)挖掘的電子警察執(zhí)法異常分析方法及應(yīng)用研究[J].公路與汽運, 2017(2):49-51.
[9] 韓旭,張晗寒.淺談智能交通體系中電子警察系統(tǒng)功能與設(shè)計[J].城市道橋與防洪, 2017(7):32-34.
[10] 牛旭.電子警察超速執(zhí)法的光與影[J].湖南警察學(xué)院學(xué)報,2018, v.30: No.137(02):68-77.
(收稿日期: 2019.07.29)作者簡介:蘇菠(1972-),男,北海人,黎族,本科,高級工程師,從事交通管理工程等。文章編號:1007-757X(2020)01-0106-06