智能交通系統(tǒng)中的視頻監(jiān)控系統(tǒng)概述
林 勇
前 言:
隨著國(guó)民經(jīng)濟(jì)的迅猛發(fā)展,公路上行駛的車輛越來(lái)越多,速度也越來(lái)越快,與車輛交通有關(guān)的案件也呈不斷上升勢(shì)頭,交通肇事逃逸等案件時(shí)有發(fā)生。如何運(yùn)用科學(xué)的手段幫助*部門有效控制高速公路上超速違章現(xiàn)象,抓捕逃逸車輛!已成為**門急待解決的問題。本公路視頻超速監(jiān)控系統(tǒng)利用視頻圖 像處理技術(shù),對(duì)高速公路車道上的汽車進(jìn)行非接觸式監(jiān)控,獲得超速車輛車速、車牌號(hào)碼、違章照片等運(yùn)行狀態(tài)信息,可應(yīng)用于公路管理、逃逸車輛抓捕等場(chǎng)合。
1.系統(tǒng)結(jié)構(gòu)
1.1 系統(tǒng)的硬件組成
汽車牌照自動(dòng)識(shí)別系統(tǒng)的硬件組成如圖(1)示。攝像機(jī)負(fù)責(zé)現(xiàn)場(chǎng)實(shí)時(shí)采集圖像。視頻卡將攝機(jī)采集的圖像逐幀或逐場(chǎng)轉(zhuǎn)換為數(shù)字圖像,實(shí)時(shí)集由傳感器來(lái)完成。計(jì)算機(jī)為識(shí)別處理中心運(yùn)行識(shí)別軟件,識(shí)別結(jié)果通過GPRS網(wǎng)絡(luò)傳送到車輛管理門,收費(fèi)部門及*安全等部門,同時(shí)也傳送到本地機(jī)的視頻器及存儲(chǔ)設(shè)備中(以備后用)。
圖(1)
1.2系統(tǒng)軟件組成
系統(tǒng)軟件包含超速車輛檢測(cè)和自動(dòng)車牌識(shí)別以及GPRS數(shù)據(jù)傳輸三部分。超速監(jiān)控計(jì)算機(jī)通過實(shí)時(shí)視頻采集卡首先采集高速公路的全景圖像,并利用全景圖像進(jìn)行超速車輛檢測(cè),如檢測(cè)到違章車輛,啟動(dòng)攝像機(jī)工作,采集近景圖像并利用近景圖像自動(dòng)車牌識(shí)別,其識(shí)別結(jié)果可分車牌號(hào)碼字符、車牌號(hào)碼照片、汽車違章照片分別保存到超速違章車輛數(shù)據(jù)庫(kù),以供事后處理;通過GPRS自動(dòng)向高速公 路系統(tǒng)中心的違章處理服務(wù)器傳送違章車輛的車牌號(hào)碼、違章照片信息,以實(shí)時(shí)進(jìn)行違章處理。軟件系統(tǒng)功能框圖如圖(2)所示。
圖(2)
2.圖象預(yù)處理
圖像預(yù)處理的目的是對(duì)原始采集圖像進(jìn)行標(biāo)準(zhǔn)化和增強(qiáng),包括:圖像幾何校正、圖像增強(qiáng)和圖像濾波三部分。
(1) 圖像幾何校正:車牌圖像一般在通過攝像機(jī)采集時(shí)都在圖像中呈現(xiàn)一定的傾斜角度,首先需要將車牌圖像進(jìn)行幾何角度變換,使車牌圖像處于水平走向,同時(shí)字符垂直放置。算法中沒有采用常規(guī)的旋轉(zhuǎn)變換算法,而采用分別在行方向上和列方向上的像素移動(dòng)方法完成同樣的角度校正過程,大大降低了校正運(yùn)算量。
(2) 圖像增強(qiáng):輸入圖像統(tǒng)一采用的是 256 階灰度圖像,用灰度級(jí)擴(kuò)展的方法來(lái)增強(qiáng)圖像。將圖像灰度范圍線性擴(kuò)展到 0--255,經(jīng)過處理后的圖像車牌清晰度明顯提高。
(3) 圖像濾波:算法使用非線性的中值濾波,該濾波經(jīng)證實(shí)具有很強(qiáng)的噪聲抑制效果。考慮到算法的效率,不進(jìn)行二維 8 鄰域的中值濾波,只在每一行上進(jìn)行一維濾波即可,即I (x) = Med( I (x-1), I(x), I( x+1))
實(shí)驗(yàn)結(jié)果表明一維中值濾波降噪效果良好。經(jīng)過圖像灰度擴(kuò)展和一維濾波處理,復(fù)雜天氣情況下的輸入圖像一般都能夠得到滿意的增強(qiáng)效果,如圖(3)所示。
圖(3)預(yù)處理結(jié)果
3.動(dòng)目標(biāo)分割
從視頻圖像進(jìn)行超速車輛檢測(cè)時(shí),可以直接用幀間差的方法比較前后兩幀圖像 ,去除靜止的區(qū)域,保留運(yùn)動(dòng)區(qū)域,判定視場(chǎng)中是否存在著汽車,判斷汽車的運(yùn)動(dòng)軌跡及速度。采用提取函數(shù)法分割目標(biāo)與背景。設(shè)代表當(dāng)前的圖象,代表參考圖象,其中(x,y)為像素點(diǎn)的坐標(biāo), ,,
則提取函數(shù)為
容易知道,式中 。
用提取函數(shù)對(duì)在公路上采集到的實(shí)際運(yùn)動(dòng)車輛的圖像做動(dòng)目標(biāo)檢測(cè),其實(shí)驗(yàn)結(jié)果如圖(4)所示
圖(4)
4.動(dòng)目標(biāo)跟蹤及速度測(cè)量
在目標(biāo)跟蹤的同時(shí),需要判斷計(jì)算目標(biāo)的運(yùn)動(dòng)速度,所以采用特征點(diǎn)匹配的方法進(jìn)行動(dòng)目標(biāo)跟蹤,以便利用特征點(diǎn)的視差計(jì)算車速。其要點(diǎn)是:在一幀圖像的活動(dòng)目標(biāo)窗口中選擇一組具有不變性質(zhì)的特征點(diǎn),與下一幀圖像中的同類特征點(diǎn)作匹配,從而求得視差。這就是特征點(diǎn)匹配的方法。
采用Moravac算子作為點(diǎn)特征提取算子。它基于一個(gè)理想的特征點(diǎn),在其四周所有方向上灰度具有很大的方差。
特征點(diǎn)提取的步驟為:首先,在5 5的窗口計(jì)算
M=MIN
式中,為窗口中心像元的行、列序列為處圖像的灰度值。然后,確定備選特征點(diǎn),若像元的有利值M大于經(jīng)驗(yàn)閾值,則該像元為備選特征點(diǎn);否則,該像元不是特征點(diǎn)。zui后,用抑制局部非zui大M值的方法確定特征點(diǎn) 。檢驗(yàn)每個(gè)備選特征點(diǎn)的M值是否為一定大小窗口內(nèi)的zui大值,如果在窗口內(nèi)有幾個(gè)備選特征點(diǎn),則取M值z(mì)ui大的像元作為特征點(diǎn),其余均去掉。為保證匹配的正確率,采用協(xié)方差zui大與差的值之和zui小作為雙重判據(jù),決定匹配點(diǎn)的取舍,以增強(qiáng)匹配結(jié)果的可靠性。找到匹配點(diǎn)后,利用兩者視差和事前標(biāo)定過的視場(chǎng)內(nèi)圖像zui小分辨率所代表的zui小距離以及圖像采集的間隔時(shí)間,就可計(jì)算出目標(biāo)速度,根據(jù)此值預(yù)測(cè)目標(biāo)新位置并判斷是否超速。
5.車牌定位
本文采用分步定位的方法得到牌照。即:先確定圖片中車牌的上下邊界位置。然后再進(jìn)一步確定車牌的左右邊界的位置。
5.1 基于邊緣行跳變粗分割
本文采用邊緣檢測(cè)行跳變的方法進(jìn)行。目前一般采用sobel、prewitt、Roberts等算子檢測(cè)邊緣。但通過實(shí)驗(yàn)發(fā)現(xiàn),對(duì)于車牌上部分字體有邊緣斷裂的產(chǎn)生,在進(jìn)行行掃描邊緣跳邊時(shí),將影響車牌行的正確提取。對(duì)有的牌照則*失敗,算子的適應(yīng)性不寬廣。本文采用Canny算子進(jìn)行。Canny算子是一種比較新的邊緣檢測(cè)算子,具有很好的邊緣檢測(cè)性能。它利用高斯函數(shù)的一階微分,能在噪聲抑制和邊緣檢測(cè)之間取得較好的平衡。因此,和別的算子相比,它能夠把圖像中的各種邊緣檢測(cè)出來(lái)。下面是車牌上下邊界的定位算法。
算法描述:
(1)讀入RGB原圖,進(jìn)行灰度化;
(2)將灰度圖用Canny算子進(jìn)行計(jì)算,得到二值邊緣圖;
(3)從*行開始掃描,相鄰二像素值不同,就認(rèn)為是一次跳變,對(duì)每行跳變進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)值大于閾值(threshold)時(shí),就認(rèn)為此行可能包含車牌,做一記號(hào);
(4)對(duì)二值邊緣圖從上到下掃描完成后,就開始對(duì)標(biāo)記行進(jìn)行檢測(cè),從下向上進(jìn)行,當(dāng)連續(xù)標(biāo)記數(shù)目大于閾值(threshold1)時(shí),就認(rèn)為找到牌照所在的行了。原因是車牌在車的下部。這樣可以避免車身上部的各種干擾。提取出來(lái),得到粗定位結(jié)果。但是,在試驗(yàn)過程中,我們發(fā)現(xiàn):因?yàn)镃anny算子獲得的邊緣非常豐富。因此,會(huì)造成兩個(gè)錯(cuò)誤結(jié)果。
A 車下部因?yàn)榈孛婊蚱渌蓴_(如數(shù)碼相機(jī)的時(shí)間數(shù)字)時(shí),這些水平定位條被切出來(lái),而根本沒有牌照。切分錯(cuò)誤如圖5。
圖5 原圖邊緣圖和切錯(cuò)的區(qū)域
B 因?yàn)檐嚿聿还饣惯\(yùn)算后有的車身上有大量邊緣線,或車牌附近類似邊緣密集區(qū)域,造成大寬度范圍的符合試驗(yàn)設(shè)定的閾值,使車牌切割區(qū)域很寬。影響下一步定位。切分過大如圖6。
圖6 干擾造成的過大提取區(qū)域
如何排除干擾是提高準(zhǔn)確率的關(guān)鍵步驟。對(duì)于邊緣二值圖去噪,目前沒有見到相關(guān)報(bào)道,一般是對(duì)灰度圖進(jìn)行去噪的。根據(jù)牌照的先驗(yàn)知識(shí),本文提出二值圖的紋理過濾方法。方法如下:
步驟一:
(1)設(shè)置閾值1(車牌字符寬度), 行計(jì)數(shù)器i=0;
(2) 從第i行的*列開始,對(duì)各邊緣線段進(jìn)行長(zhǎng)度統(tǒng)計(jì),并存入線段長(zhǎng)度統(tǒng)計(jì)數(shù)組;
(3) 對(duì)統(tǒng)計(jì)數(shù)組進(jìn)行檢查,大于閾值1的線段,就將原圖此位置的邊緣線段變?yōu)楸尘埃?/span>
(4)i=i+1;如果i到達(dá)圖片的zui后一行,就結(jié)束,否則,返回(2)。
步驟二:
(1) 設(shè)置閾值2(字符之間的zui大寬度),行計(jì)數(shù)器i=0。計(jì)數(shù)器count=0;跳變點(diǎn)位置指針j=0;設(shè)置閾值3(符合紋理特征的一組區(qū)域的zui少數(shù)量值);
(2) 考察第i行邊緣跳變點(diǎn)j和j+n(n為兩相鄰邊緣點(diǎn)的距離,在變化,以下相同),如果二跳變點(diǎn)之間的距離小于閾值2,count加1, j=j(luò)+n。返回(2);如果二跳變點(diǎn)之間的距離大于閾值2,將count的值與閾值3比較:如果小于,就將j點(diǎn)和j向前查count個(gè)點(diǎn),它們之間的所有邊緣點(diǎn)賦值為0(即變?yōu)楸尘埃?然后count=0; 如果大于,不做任何改動(dòng),j=j+n,count=0返回(2),如果j為第i行的zui后一個(gè)邊緣點(diǎn),count=0,轉(zhuǎn)到(3);
(3)i=i+1;如果i到達(dá)圖片的zui后一行,就結(jié)束,否則,返回(2)。
步驟一的目的是去除圖片中水平過長(zhǎng)的邊緣線,將粘連的跳變區(qū)域分離開來(lái)。進(jìn)行初步紋理過濾。步驟二的目的是去除小的類似紋理跳變區(qū)域,進(jìn)行進(jìn)一步紋理過濾。邊緣濾波前后的區(qū)別如圖7。
圖7 紋理過濾前后的邊緣圖的對(duì)比
經(jīng)過過濾后的圖像,再用前面的車牌上下邊界的定位算法定位車牌的上下界。因?yàn)榧y理過濾可能對(duì)傾斜的車牌兩個(gè)角有一定的損傷,所以要對(duì)切分水平條寬度給予一定的補(bǔ)償,也就是對(duì)得到的上下邊界適當(dāng)加寬。
5.2 基于中值濾波的左右界界定
在找到車牌所在的上下界后, 下一步就是定位左右界。雖然粗切分的圖已經(jīng)縮小很多,但下一步工作,即選什么圖片方式十分重要。通過對(duì)顏色轉(zhuǎn)換定位、形態(tài)學(xué)定位、以及灰度圖投影定位實(shí)驗(yàn),發(fā)現(xiàn)這些方法效果不好。大量的實(shí)驗(yàn)表明,進(jìn)行圖像水平差分,相鄰象素間相減求值,對(duì)差分圖進(jìn)行垂直投影的效果很好。水平差分公式如下:,其中是差分結(jié)果,是灰度圖像在坐標(biāo),處的灰度值。i和j的取值范圍是圖片的高度數(shù)值和寬度數(shù)值。對(duì)差分結(jié)果進(jìn)行垂直投影,研究投影圖后發(fā)現(xiàn),牌照區(qū)域有的比較明顯。但是有的不明顯,因?yàn)橛行﹫D片投影峰值差別不多,會(huì)造成確定牌照區(qū)域的偏差,字符切丟。本文提出利用中值濾波進(jìn)行預(yù)處理。使用5×5的中值濾波窗口進(jìn)行。濾波后它可以把大部分干擾去除掉,車牌垂直投影更突出。而且,它的投影左右界限比數(shù)學(xué)形態(tài)學(xué)更好,更準(zhǔn)確;從而提高了準(zhǔn)確性,見圖8比較。
圖8 候選區(qū)域差分圖中值濾波前后垂直投影對(duì)比
左右定位時(shí)利用車牌寬高比的先驗(yàn)知識(shí)。經(jīng)過反復(fù)試驗(yàn),zui終將比例系數(shù)定位3.9。即:切出的水平區(qū)域?qū)挾龋ㄕJ(rèn)為是車牌的高度)與車牌的寬度(車牌的左右界長(zhǎng)度)為1:3.9。對(duì)濾波后的差分水平條區(qū)域進(jìn)行垂直投影,在計(jì)算寬度范圍內(nèi)(車牌的左右界長(zhǎng)度)滑動(dòng)此窗口,分別求出各個(gè)窗口范圍里的灰度投影值的總和,從中求出zui大值對(duì)應(yīng)的窗口位置,得到坐標(biāo)。這樣,就得到左右邊界。根據(jù)上下左右界切分原圖,從而得到結(jié)果。圖9是原圖和定位結(jié)果。
圖9 牌照定位結(jié)果
其中,a是原先未經(jīng)紋理濾波時(shí),切錯(cuò)的原圖,而b是切得過大的原圖,各圖下面的小圖是按本文算法得到的車牌定位圖像。通過對(duì)圖庫(kù)中實(shí)拍的各種光照情況下車頭圖片的測(cè)試實(shí)驗(yàn),可以得出結(jié)論,該方法具有簡(jiǎn)單易行,準(zhǔn)確率高,對(duì)牌照各種顏色都適用的特點(diǎn),具有很好的實(shí)用性。
6.字符識(shí)別
字符識(shí)別采用基于改進(jìn)SVM和KNN融合的車牌字符識(shí)別算法設(shè)計(jì)。
6.1 字符特征提取
特征選取采用輪廓層次特征提取的方法。首先對(duì)字符圖象進(jìn)行二值化處理,然后從上下左右4個(gè)方向提取輪廓層次特征。Length,Width為字符輪廓的寬和高。定義字符的*層輪廓層次特征為L(zhǎng)1(j),j=0,1, ,Length-1;L1(j)的值為對(duì)字符圖象的j行從左到右掃描時(shí)*次遇到f(i,j)=1時(shí)的水平坐標(biāo)值
L1(j)=min{min{i|f(i,j)=1},Width-1},j=0,1,,Length-1 (9)
字符的左側(cè)第n層輪廓層次特征Ln(j),定義為對(duì)字符圖象的j行從左到右掃描時(shí),f(i,j)第n次從0跳變到1時(shí)的水平坐標(biāo)值.遞歸公式為
L1(j)=min{min{i|f(i,j)==1},Width-1},j=0,1,,Length-1 (10)
Ln0(j)=min{min{i|i>Ln-1(j)&&f(i,j)==0},Width-1},j=0,1, ,Length-1 (11)
Ln(j)=min{min{i|i>Ln0(j)&&f(i,j)==1},Width-1},j=0,1,,Length-1 (12)
從右側(cè)和上下方向的輪廓層次特征提取同理可得.將4個(gè)方向上的輪廓層次特征合并起來(lái)即得字符的輪廓層次特征
C(k)={Ln(j),Rn(j),Un(j),Dn(j)},i=0,1,,,Length-1,j=0,1,,,Width-1 (13)
其中,n由分析和實(shí)驗(yàn)統(tǒng)計(jì)可知,n=2較好.輪廓層次特征字符的粗細(xì)和左右變形較為不敏感,并且能夠很好地再現(xiàn)字符的輪廓形狀和內(nèi)部結(jié)構(gòu).
6.2 樣本訓(xùn)練
在實(shí)際應(yīng)用中,由于需要對(duì)較為規(guī)則和不規(guī)則的字符都能夠做出較為快速和準(zhǔn)確的識(shí)別,我們需要對(duì)訓(xùn)練樣本進(jìn)行篩選,將兩批不同的樣本分別提供給KNN和改進(jìn)SVM分類器.為了能讓KNN分類器準(zhǔn)確識(shí)別標(biāo)準(zhǔn)和規(guī)則的字符,首先需要得到一批較為規(guī)則的訓(xùn)練樣本;同時(shí)為了提高識(shí)別速度,每一個(gè)字符類的訓(xùn)練樣本集應(yīng)該控制在10個(gè)字符以內(nèi).為了能夠識(shí)別不規(guī)則字符和非字符,我們要求將送入改進(jìn)SVM分類器的樣本集必須包含一部分不規(guī)則和非字符樣本.由于SVM強(qiáng)大的泛化能力,少量的支持向量可以代表整個(gè)樣本集.兩組訓(xùn)練樣本集部分字符如圖10和圖11所示.
訓(xùn)練步驟:
(1)篩選訓(xùn)練樣本,構(gòu)造兩組不同的訓(xùn)練樣本集.
(2)分別對(duì)兩組訓(xùn)練樣本集進(jìn)行歸一化處理,利用輪廓層次特征提取方法提取字符特征.
(3)采用*組訓(xùn)練樣本集,作為KNN分類器的匹配模板集.
(4)采用第二組訓(xùn)練樣本集,利用特征參數(shù)構(gòu)造支持向量機(jī).
6.3 字符識(shí)別
在樣本訓(xùn)練完畢,構(gòu)造好KNN和SVM分類器后,我們就可以識(shí)別實(shí)際的車牌字符了.對(duì)于一幅待測(cè)的字符圖象,首先對(duì)其歸一化,將其轉(zhuǎn)化到標(biāo)準(zhǔn)尺寸大小.然后采用輪廓層次特征提取方法提取字符特征,送入KNN分類器判決,如果置信度小于預(yù)設(shè)閾值,則認(rèn)為判決結(jié)果正確,輸出判決結(jié)果.如果置信度大于預(yù)設(shè)閾值,則送入改進(jìn)的SVM分類器進(jìn)行判決.實(shí)際的系統(tǒng)如圖12所示.
本文介紹的算法基于K近鄰分類識(shí)別方法,引入了置信度,并且改進(jìn)了SVM分類器,在保證字符識(shí)別速度的前提下有效地提高了識(shí)別率。
結(jié) 束 語(yǔ):
本系統(tǒng)采用了目前*的算法和標(biāo)準(zhǔn)的硬件實(shí)現(xiàn)了全自動(dòng)化監(jiān)控,同時(shí)實(shí)現(xiàn)網(wǎng)絡(luò)化,具有架設(shè)方便,成本不高,具有較高的實(shí)用價(jià)值。獲得車速,車牌號(hào)碼,違章照片等運(yùn)行狀態(tài)信息,自動(dòng)車牌識(shí)別速度快、準(zhǔn)確率高,為實(shí)時(shí)違章處理提供了可能。該系統(tǒng)通用性強(qiáng)、開放性強(qiáng)、擴(kuò)展性強(qiáng)。