余以春,閆紅梅
1(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 611756)
2(西安科技大學(xué) 通信與信息工程學(xué)院,西安 710054)
隨著我國(guó)經(jīng)濟(jì)的迅速發(fā)展,汽車(chē)的數(shù)量迅速增加.自2010年以來(lái),我國(guó)汽車(chē)保有量每年以超過(guò)10%的比例增長(zhǎng),更是在2019年突破了3.48 億輛.相比之下,各種場(chǎng)所的停車(chē)位卻增速緩慢,缺口達(dá)到70%以上[1].有車(chē)無(wú)處停放、停車(chē)場(chǎng)一位難求的問(wèn)題已經(jīng)成為交通監(jiān)管和治理的難點(diǎn)和熱門(mén),這不僅阻礙了交通管理、人們的日常生活,更影響了市容市貌.尤其是在大型社會(huì)活動(dòng)、旅游旺季景區(qū)等人車(chē)密集的地區(qū),停車(chē)更是一件不易之事.另一方面,在停車(chē)場(chǎng)管理中,傳統(tǒng)的地磁系統(tǒng)和單一手持終端占比76.2%,智能化停車(chē)管理系統(tǒng)普及率較低[2].同時(shí),由于國(guó)內(nèi)的停車(chē)場(chǎng)管理系統(tǒng)研究起步較晚,一些設(shè)計(jì)技術(shù)還不夠成熟,存在車(chē)牌字符錯(cuò)讀,設(shè)備移動(dòng)不便,無(wú)法識(shí)別傾斜、斷裂車(chē)牌以及識(shí)別時(shí)間過(guò)長(zhǎng)等問(wèn)題,使得停車(chē)場(chǎng)管理系統(tǒng)運(yùn)行效率不高[3,4].基于當(dāng)前停車(chē)場(chǎng)收費(fèi)系統(tǒng)存在的問(wèn)題,本文設(shè)計(jì)了主要用于臨時(shí)停車(chē)場(chǎng)所的停車(chē)自動(dòng)收費(fèi)系統(tǒng).首先對(duì)采集到的車(chē)輛圖像,使用圖像處理技術(shù)和卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)車(chē)牌識(shí)別;然后再計(jì)算停車(chē)費(fèi)用并在MySQL數(shù)據(jù)庫(kù)中存儲(chǔ)停車(chē)信息;最后設(shè)計(jì)了管理顯示界面實(shí)現(xiàn)車(chē)輛信息的智能化管理[5-7].本文所設(shè)計(jì)的停車(chē)收費(fèi)系統(tǒng)具有識(shí)別準(zhǔn)確率高、識(shí)別時(shí)間短,裝置便攜可移動(dòng)的優(yōu)點(diǎn),能夠顯著提高停車(chē)場(chǎng)管理效率,實(shí)現(xiàn)高效、便捷的停車(chē).
本文設(shè)計(jì)的臨時(shí)停車(chē)場(chǎng)自動(dòng)收費(fèi)系統(tǒng)的工作流程如圖1所示.當(dāng)入口處的監(jiān)測(cè)設(shè)備檢測(cè)到車(chē)輛駛?cè)胪\?chē)場(chǎng)時(shí),首先采集車(chē)牌圖像信息,然后通過(guò)車(chē)牌識(shí)別技術(shù)識(shí)別車(chē)牌信息,最后將車(chē)牌號(hào)以及駛?cè)霑r(shí)間等信息存入停車(chē)車(chē)輛信息存儲(chǔ)表中.當(dāng)在出口檢測(cè)到車(chē)輛駛離停車(chē)場(chǎng)時(shí),再次抓拍車(chē)輛圖像,識(shí)別車(chē)輛信息.若由于車(chē)牌部分遮擋、損壞等原因識(shí)別失敗,則由人工進(jìn)行錄入或查詢(xún)操作.查詢(xún)成功后在停車(chē)車(chē)輛信息存儲(chǔ)表查詢(xún)車(chē)輛信息,進(jìn)而計(jì)算停車(chē)費(fèi)用.在成功收費(fèi)后自動(dòng)放行,并在停車(chē)車(chē)輛信息存儲(chǔ)表錄入停車(chē)訂單.最后,在管理顯示界面顯示停車(chē)場(chǎng)當(dāng)前停車(chē)信息和停車(chē)訂單信息.
本文所設(shè)計(jì)的臨時(shí)停車(chē)場(chǎng)自動(dòng)收費(fèi)系統(tǒng)組成如圖2所示,主要包括車(chē)牌采集模塊、車(chē)牌識(shí)別模塊、收費(fèi)模塊和管理顯示模塊.
當(dāng)前主流的采集方法有下面兩種:一種方法是通過(guò)視頻、紅外線、地感線圈等檢測(cè)器監(jiān)測(cè)車(chē)輛,當(dāng)檢測(cè)器識(shí)別到車(chē)輛時(shí),發(fā)送信號(hào),計(jì)算機(jī)接收相應(yīng)信號(hào),控制拍攝器采集車(chē)輛圖像;另一種采集方法由數(shù)碼照相機(jī)構(gòu)成,通過(guò)可設(shè)定參數(shù)的數(shù)碼相機(jī)采集車(chē)輛圖像,并且與數(shù)碼相機(jī)相連的主機(jī)可以針對(duì)不同的拍攝環(huán)境對(duì)相機(jī)的拍攝參數(shù)進(jìn)行適應(yīng)性設(shè)置,保證采集到的車(chē)輛圖像質(zhì)量.
圖1 臨時(shí)停車(chē)場(chǎng)自動(dòng)收費(fèi)系統(tǒng)流程
圖2 臨時(shí)停車(chē)場(chǎng)自動(dòng)收費(fèi)系統(tǒng)框圖
綜合考慮設(shè)備的便攜性,設(shè)備的成本以及設(shè)備安裝的難易程度,本系統(tǒng)采用視頻檢測(cè)法采集車(chē)牌圖像.通過(guò)在停車(chē)場(chǎng)的出入口處分別架設(shè)攝像頭,對(duì)進(jìn)出車(chē)輛進(jìn)行抓拍.
車(chē)牌識(shí)別模塊主要以采集到的車(chē)輛圖像作為輸入,然后依次經(jīng)過(guò)車(chē)牌定位、車(chē)牌矯正、車(chē)牌邊框去除、車(chē)牌字符分割以及車(chē)牌字符識(shí)別處理,得到相應(yīng)的車(chē)牌信息,實(shí)現(xiàn)對(duì)車(chē)輛牌照信息的提取.
2.2.1 車(chē)牌定位
車(chē)牌定位的功能是從車(chē)輛圖像中檢測(cè)出包含車(chē)牌的候選區(qū)域.常用的車(chē)牌定位算法[8]包括基于邊緣檢測(cè)的車(chē)牌定位算法和基于顏色特征的車(chē)牌定位算法.為了克服單一的車(chē)牌定位算法受車(chē)牌背景影響較大,適用范圍有限的缺點(diǎn),本文結(jié)合邊緣檢測(cè)以及顏色特征定位算法進(jìn)行車(chē)牌定位.
在邊緣檢測(cè)定位算法中,首先將采集到的車(chē)牌圖像進(jìn)行灰度化處理,舍棄冗余信息,然后通過(guò)Sobel 邊緣檢測(cè)提取水平邊緣信息,最后進(jìn)行二值化處理,將圖像背景和車(chē)牌目標(biāo)相互分離,便于定位車(chē)牌位置.
在顏色特征定位算法中,首先將車(chē)牌圖片從RGB色彩空間轉(zhuǎn)換到HSV 色彩空間中,然后根據(jù)H 分量的值查找車(chē)牌顏色區(qū)域.最后,綜合兩種算法處理結(jié)果,并經(jīng)過(guò)形態(tài)學(xué)處理后通過(guò)查找外界矩形定位出候選車(chē)牌候選區(qū)域.若候選車(chē)牌區(qū)域有多個(gè),則在字符分割處理中具體篩選.車(chē)牌定位處理效果如圖3所示.
圖3 車(chē)牌定位處理效果
如圖3可見(jiàn),本系統(tǒng)所用車(chē)牌定位算法能成功降低光照以及噪聲的影響,并在復(fù)雜車(chē)牌區(qū)域取得較好的效果,能夠從采集到的車(chē)輛圖像中定位出車(chē)牌區(qū)域.
2.2.2 車(chē)牌傾斜校正
由于現(xiàn)實(shí)環(huán)境比較復(fù)雜,一些車(chē)牌本身可能存在傾斜問(wèn)題,同時(shí)拍攝角度不正也會(huì)造成得到傾斜的車(chē)牌圖像,直接處理這些傾斜的圖像會(huì)對(duì)后面的模塊處理造成困難,影響車(chē)牌識(shí)別結(jié)果,因而需要進(jìn)行傾斜校正.傾斜又分為水平傾斜和垂直傾斜.常用的車(chē)牌傾斜矯正算法[9]包括旋轉(zhuǎn)投影法、Hough 變換法、直線擬合法等.綜合考慮傾斜矯正算法的精準(zhǔn)性以及算法實(shí)現(xiàn)的難易程度,本系統(tǒng)使用精確性高的基于邊緣點(diǎn)投影方差最小的水平矯正算法[10]實(shí)現(xiàn)水平傾斜矯正,使用簡(jiǎn)單易實(shí)現(xiàn)的垂直投影法實(shí)現(xiàn)垂直傾斜矯正.水平傾斜矯正算法的矯正過(guò)程如算法1.
算法1.水平傾斜矯正算法(1)計(jì)算圖像像素的中心點(diǎn)■■■■■■■■■■■■■■■mx=1 N∑i=1xi my=1 N N∑(1)Ni=1yi其中,以及為相應(yīng)點(diǎn)像素的橫坐標(biāo)和縱坐標(biāo).(2)計(jì)算相應(yīng)的映射點(diǎn)xiyi■■■■■■■■■ui=xi-mx vi=yi-my(2)其中,,為,對(duì)應(yīng)映射點(diǎn)的橫坐標(biāo)和縱坐標(biāo).(3)計(jì)算水平傾斜角度uivi xiyi[α=1 2 arctan2N∑/ N∑i=1uivii=1(ui2-vi2)](3)(4)根據(jù)計(jì)算得到的傾斜角度先進(jìn)行仿射變換,最后用雙線性插值法完成車(chē)牌水平矯正.
車(chē)牌傾斜校正處理效果如圖4所示.
如圖4可見(jiàn),本系統(tǒng)所用車(chē)牌傾斜矯正算法能準(zhǔn)確矯正車(chē)牌水平和垂直傾斜,矯正效果良好.
圖4 車(chē)牌傾斜校正處理效果
2.2.3 邊框及鉚釘去除
車(chē)牌四周邊框以及鉚釘會(huì)對(duì)接下來(lái)的車(chē)牌字符分割處理造成一定的干擾,其中左右邊框的造成的影響最大,因而在字符分割之前需要先去除車(chē)牌邊框以及鉚釘.為了實(shí)現(xiàn)實(shí)時(shí)高效的去除車(chē)牌邊框及鉚釘,本文采用邊緣跳變算法,算法2為該算法具體實(shí)現(xiàn)過(guò)程.
算法2.邊緣跳變算法(1)從車(chē)牌圖像的首列中點(diǎn)向圖像的上下邊界掃描,統(tǒng)計(jì)當(dāng)前行的像素跳變次數(shù);(2)車(chē)牌的上邊界為向上掃描遇到的第一個(gè)像素跳變次數(shù)小于上閾值的行,同理,車(chē)牌下邊界為向下掃描遇到的第一個(gè)像素跳變次數(shù)小于下閾值的行;(3)從車(chē)牌圖像首行的左右邊界向中間掃描,統(tǒng)計(jì)當(dāng)前列的像素跳變次數(shù);(4)將向右掃描遇到的第一個(gè)連續(xù)4 個(gè)像素跳變次數(shù)均大于左閾值的列作為車(chē)牌左邊界,將向左掃描遇到的第一個(gè)連續(xù)6 個(gè)像素跳變次數(shù)均大于右閾值的行作為車(chē)牌右邊界;其中閾值由大量實(shí)驗(yàn)測(cè)得,本系統(tǒng)所用上閾值和下閾值為22,左閾值和右閾值為3.
車(chē)牌邊框及鉚釘去除的效果如圖5所示.
圖5 車(chē)牌邊框及鉚釘去除效果
由圖5可見(jiàn),本系統(tǒng)所用邊緣跳變法計(jì)算簡(jiǎn)便,能成功定位出車(chē)牌邊界并實(shí)時(shí)高效的去除車(chē)牌四周的邊框以及鉚釘.
2.2.4 車(chē)牌字符分割
車(chē)牌字符分割處理主要實(shí)現(xiàn)對(duì)輸入的車(chē)牌候選區(qū)域分割出單個(gè)的車(chē)牌字符,為后續(xù)車(chē)牌識(shí)別做好準(zhǔn)備.由于有些字符的區(qū)域相似度很高,如果分割出的字符有偏差,很可能導(dǎo)致接下來(lái)的字符識(shí)別處理得到錯(cuò)誤的結(jié)果.當(dāng)前常用的車(chē)牌字符分割算法為連通區(qū)域分析法、先驗(yàn)知識(shí)法以及投影法.各種方法的適用范圍各不相同,相互補(bǔ)充能擴(kuò)大適用范圍、提高字符分割準(zhǔn)確性,因此本系統(tǒng)結(jié)合連通區(qū)域分析法、先驗(yàn)知識(shí)法及投影法實(shí)現(xiàn)車(chē)牌字符的分割.具體處理過(guò)程如算法3.
算法3.字符分割算法(1)對(duì)車(chē)牌圖像進(jìn)行歸一化處理;(2)使用種子填充法標(biāo)記車(chē)牌圖像中的連通區(qū)域;(3)遍歷連通區(qū)域,根據(jù)行列坐標(biāo)及其連通面積,篩選出第二和第三個(gè)字符間的圓形分隔符;(4)若成功找到圓形分隔符,則根據(jù)車(chē)牌字符間的間隔距離及單個(gè)字符寬度等先驗(yàn)知識(shí)定位并分割字符;(5)若未找到圓形分隔符,則根據(jù)車(chē)牌圖像垂直投影圖的波峰、波谷以及先驗(yàn)知識(shí)定位并分割字符;(6)判斷分割字符寬度對(duì)斷裂、粘連的字符分別進(jìn)行補(bǔ)全和分割處理,最后將分割字符歸一化為40×32 像素值;
車(chē)牌字符分割效果圖如圖6所示.由圖6可見(jiàn),本系統(tǒng)所用車(chē)牌字符分割算法能準(zhǔn)確定位每個(gè)字符的位置并成功分割車(chē)牌字符.
圖6 車(chē)牌字符分割效果
2.2.5 車(chē)牌字符識(shí)別
車(chē)牌字符識(shí)別處理能夠?qū)Ψ指詈玫能?chē)牌字符,實(shí)現(xiàn)提取車(chē)牌信息的功能.常用的車(chē)牌字符分割算法包括模板匹配算法、神經(jīng)網(wǎng)絡(luò)識(shí)別算法、特征統(tǒng)計(jì)匹配算法等[11].深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個(gè)重要分支,近年來(lái)發(fā)展迅速,廣泛應(yīng)用在圖像識(shí)別、語(yǔ)音識(shí)別等眾多領(lǐng)域并獲得了巨大成功[12].基于深度學(xué)習(xí)的圖像識(shí)別技術(shù)能夠從大數(shù)據(jù)中訓(xùn)練學(xué)習(xí),具有應(yīng)用范圍廣、識(shí)別準(zhǔn)確率高、魯棒性強(qiáng)等優(yōu)點(diǎn)[13,14].研究人員相繼提出了許多代表性的深度學(xué)習(xí)經(jīng)典模型,如深度置信網(wǎng)(Deep Belief Networks,DBN)[15,16]、棧式自編碼器(Stack Auto Encoder,SAE)[17]、深度卷積網(wǎng)絡(luò)(Deep Convolutional Neural Networks,DCNN)等.其中,以卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neuron Networks,CNN)為基礎(chǔ)的各種模型應(yīng)用最為廣泛.卷積神經(jīng)網(wǎng)絡(luò)是一類(lèi)包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),主要包括卷積層、池化層和全連接層.可以通過(guò)卷積核與圖像卷積提取出圖像特征,然后通過(guò)池化層降低數(shù)據(jù)運(yùn)算的復(fù)雜度,最后經(jīng)過(guò)全連接層中的分類(lèi)器得到識(shí)別結(jié)果.本文在LeNet-5 網(wǎng)絡(luò)的基礎(chǔ)上,搭建卷積神經(jīng)網(wǎng)絡(luò)用于車(chē)牌字符識(shí)別[18-21],網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示.
圖7 車(chē)牌字符識(shí)別的CNN 結(jié)構(gòu)
本系統(tǒng)將車(chē)牌字符分為漢字,數(shù)字及字母兩部分分別進(jìn)行識(shí)別.其中識(shí)別漢字時(shí)輸出大小為1×31,識(shí)別數(shù)字及字母時(shí)輸出為1×34.在搭建的卷積神經(jīng)網(wǎng)絡(luò)中,L1 卷積層卷積核尺寸為7×7,L3 卷積層卷積核大小為5×5.卷積層和池化層采用Same Padding 填充方式,保存圖像邊緣信息,使處理后數(shù)據(jù)尺寸不變,并使用Dropout 正則化方法,防止訓(xùn)練過(guò)擬合.車(chē)牌字符識(shí)別兩部分采用的網(wǎng)絡(luò)結(jié)構(gòu)相同,而所用訓(xùn)練集和測(cè)試集不同,并在訓(xùn)練過(guò)程中每迭代5 次使用網(wǎng)絡(luò)對(duì)測(cè)試集進(jìn)行實(shí)際預(yù)測(cè).其中,車(chē)牌字符訓(xùn)練集總數(shù)為8000 多幅,預(yù)測(cè)集由每種車(chē)牌字符約20 張圖片組成,共1300 幅.車(chē)牌字符訓(xùn)練和識(shí)別效果如圖8所示.
圖8 車(chē)牌字符訓(xùn)練效果
由圖8可見(jiàn),卷積神經(jīng)網(wǎng)絡(luò)在一定訓(xùn)練步數(shù)之后訓(xùn)練準(zhǔn)確率接近100%,車(chē)牌漢字預(yù)測(cè)準(zhǔn)確率最后穩(wěn)定在97%左右,車(chē)牌數(shù)字及字母預(yù)測(cè)準(zhǔn)確率為98.5%左右,識(shí)別效果良好.
收費(fèi)模塊能夠根據(jù)具體的汽車(chē)類(lèi)型、日期以及時(shí)間段的不同,設(shè)置相應(yīng)的收費(fèi)標(biāo)準(zhǔn),實(shí)現(xiàn)對(duì)停車(chē)場(chǎng)車(chē)輛的信息存儲(chǔ)以及停車(chē)費(fèi)用計(jì)算.
2.3.1 車(chē)輛信息存儲(chǔ)
本文使用MySQL 數(shù)據(jù)庫(kù)存儲(chǔ)停車(chē)場(chǎng)信息,并設(shè)計(jì)兩個(gè)表格存儲(chǔ)相應(yīng)信息.停車(chē)車(chē)輛信息存儲(chǔ)表包含車(chē)牌號(hào)碼及進(jìn)入時(shí)間的信息,停車(chē)計(jì)費(fèi)存儲(chǔ)表則包括訂單號(hào),車(chē)輛號(hào)碼,進(jìn)入時(shí)間,駛離時(shí)間,停放時(shí)長(zhǎng),收費(fèi)標(biāo)準(zhǔn),停車(chē)費(fèi)用等信息.
停車(chē)車(chē)輛信息存儲(chǔ)表中存儲(chǔ)停車(chē)場(chǎng)車(chē)輛信息,當(dāng)車(chē)輛離開(kāi)停車(chē)場(chǎng)時(shí),會(huì)創(chuàng)建停車(chē)訂單號(hào),將詳細(xì)的??啃畔⒋鎯?chǔ)到停車(chē)計(jì)費(fèi)存儲(chǔ)表中,并在停車(chē)車(chē)輛信息存儲(chǔ)表中刪除相應(yīng)的紀(jì)錄.
2.3.2 收費(fèi)計(jì)算
當(dāng)檢測(cè)到車(chē)輛離開(kāi)停車(chē)場(chǎng)時(shí),首先在停車(chē)車(chē)輛信息存儲(chǔ)表中查詢(xún)相應(yīng)停車(chē)信息,然后根據(jù)停車(chē)時(shí)間以及收費(fèi)標(biāo)準(zhǔn)計(jì)算等計(jì)算停車(chē)費(fèi)用.為了實(shí)現(xiàn)高效便捷的停車(chē)計(jì)費(fèi),本系統(tǒng)提供手機(jī)支付和人工支付的收費(fèi)方式.其中,手機(jī)支付包括微信公眾號(hào)在線支付以及掃碼支付.停車(chē)車(chē)主可以關(guān)注停車(chē)場(chǎng)中的微信公眾號(hào),然后綁定車(chē)牌號(hào)和手機(jī)號(hào),實(shí)現(xiàn)在線支付;也可以掃描停車(chē)場(chǎng)內(nèi)的付款碼支付停車(chē)費(fèi)用.對(duì)于不能通過(guò)手機(jī)支付的車(chē)主,可以在收費(fèi)口人工繳費(fèi),現(xiàn)金支付.采用多種支付方式,滿足不同客戶(hù)需求.
本文使用Qt 實(shí)現(xiàn)顯示界面的具體設(shè)計(jì),系統(tǒng)顯示界面包括停車(chē)管理界面以及訂單顯示界面,顯示界面如圖9所示.停車(chē)管理界面能夠加載車(chē)輛圖像并識(shí)別提取車(chē)輛信息并顯示當(dāng)前停車(chē)場(chǎng)的停車(chē)信息、停車(chē)數(shù)量、剩余車(chē)位、當(dāng)前時(shí)間等信息;訂單顯示界面主要顯示停車(chē)訂單信息,能夠?qū)⒂唵涡畔⒋蛴”4娴紼xcel中并可以查找特定車(chē)輛的停車(chē)訂單信息.
本文通過(guò)車(chē)輛圖像的加載仿真車(chē)輛的進(jìn)出.加載并識(shí)別車(chē)牌圖像,若識(shí)別出的車(chē)牌信息在停車(chē)車(chē)輛信息存儲(chǔ)表中不存在,表明車(chē)輛駛?cè)?若識(shí)別出的車(chē)牌信息在停車(chē)車(chē)輛信息存儲(chǔ)表中已存在,表明車(chē)輛準(zhǔn)備駛離.由圖9可見(jiàn),臨時(shí)停車(chē)場(chǎng)自動(dòng)管理系統(tǒng)運(yùn)行穩(wěn)定,能成功識(shí)別并管理停車(chē)場(chǎng)車(chē)輛.
圖9 系統(tǒng)顯示界面圖
仿真測(cè)試中平均每幅車(chē)牌圖像識(shí)別時(shí)間約為0.92 s,可以滿足停車(chē)場(chǎng)實(shí)際應(yīng)用.
停車(chē)場(chǎng)的自動(dòng)化、智能化停車(chē)收費(fèi)管理是解決停車(chē)管理難的有效途徑,本文設(shè)計(jì)了一種移動(dòng)便捷、自動(dòng)化程度高、管理高效的臨時(shí)停車(chē)場(chǎng)自動(dòng)收費(fèi)系統(tǒng).本系統(tǒng)的優(yōu)點(diǎn)在于識(shí)別準(zhǔn)確率高,識(shí)別時(shí)間少,所需設(shè)備的便捷安裝和拆卸,實(shí)時(shí)性強(qiáng),智能管理車(chē)輛停靠和收費(fèi),顯著的提高了停車(chē)場(chǎng)的管理效率,極大的緩解了停車(chē)場(chǎng)停車(chē)難的難題.未來(lái)將進(jìn)一步提高車(chē)牌識(shí)別的準(zhǔn)確率,縮短識(shí)別時(shí)間,擴(kuò)展系統(tǒng)的性能以滿足不同行業(yè)的車(chē)輛管理要求.