林 輝,蔡秉華,張藝彬,蔡嘉安,許文強(qiáng)
(韶關(guān)學(xué)院 物理與機(jī)電工程學(xué)院,廣東 韶關(guān)512005)
隨著城市化進(jìn)程的加快和人民生活水平的提高,機(jī)動車的數(shù)量和使用頻率也大大增加,“停車難”的問題日益困擾著車主們.為了提高人們停車的便利性,許多便利型停車場蜂擁而起,可還是存在人工操作效率低,停車管理不到位等問題[1-3].為了節(jié)省時間與提高便利性,筆者提出一種基于機(jī)器視覺的智能泊車系統(tǒng),通過識別進(jìn)出車輛的車牌號記錄入庫,同時監(jiān)控停車場內(nèi)情況,讓人們通過APP就能知曉停車場內(nèi)車位剩余量,自主選擇是否進(jìn)入該停車場,提高人們的便利性[4-6].
智能泊車系統(tǒng)主要由視覺系統(tǒng)模塊和管理系統(tǒng)模塊兩大部分組成.系統(tǒng)選擇一款產(chǎn)自海康威視的500萬像素?cái)z像頭作為視覺系統(tǒng)硬件部分.攝像頭將采集到的圖像數(shù)據(jù)發(fā)送到計(jì)算機(jī),計(jì)算機(jī)獲取信息后,對圖像進(jìn)行整合、處理得出進(jìn)入停車場的車輛車牌號,并獲取當(dāng)前停車場的停車位的使用情況,即實(shí)現(xiàn)車牌識別和車位檢測的功能.管理系統(tǒng)可分為服務(wù)器(包括上位機(jī))系統(tǒng)、APP系統(tǒng)兩部分.其中上位機(jī)系統(tǒng)實(shí)現(xiàn)的主要功能是數(shù)據(jù)的處理、傳輸、保存和顯示.例如:服務(wù)器接收到視覺系統(tǒng)發(fā)送過來的停車場數(shù)據(jù)后,經(jīng)過處理保存到數(shù)據(jù)庫并有選擇性的把某些數(shù)據(jù)顯示到服務(wù)器程序界面上.設(shè)計(jì)APP系統(tǒng)的目的是為了提高停車場的利用率,使停車系統(tǒng)更智能化.用戶可通過APP獲得在線查看停車場的狀況、預(yù)定車位、付款、查看用戶停車狀態(tài)等服務(wù),其系統(tǒng)結(jié)構(gòu)見圖1.
圖1 系統(tǒng)整體結(jié)構(gòu)圖
智能泊車系統(tǒng)視覺部分由車牌識別、車位檢測兩部分組成,通過機(jī)器視覺技術(shù)實(shí)現(xiàn)智能泊車功能.
車牌識別算法大致分為3步:圖像預(yù)處理、數(shù)學(xué)形態(tài)學(xué)車牌粗定位、藍(lán)色像素統(tǒng)計(jì)與行列掃描車牌精確定位[7-9].通過車牌提取、圖像預(yù)處理、特征提取、車牌字符識別等技術(shù),識別車輛牌號[10-12].
車牌識別的步驟有6個:(1)圖像壓縮.圖像采集設(shè)備所采集的圖像尺寸較大,導(dǎo)致圖像處理運(yùn)算量極大,為了保證系統(tǒng)的實(shí)時性,提高運(yùn)算速度,必須縮小圖像的尺寸.(2)RGB彩色圖像灰度轉(zhuǎn)換.RGB彩色圖像在MATLAB中是由3個255級的灰度矩陣按一定比例構(gòu)成,彩色圖像含有大量彩色信息,占據(jù)存儲空間較多,可對彩色圖像進(jìn)行降維處理.(3)圖像灰度拉伸.經(jīng)過灰度轉(zhuǎn)換后的圖像,有可能出現(xiàn)對比度不高、圖像畫面模糊等問題,此時需要進(jìn)行灰度拉伸,提高圖像對比度,突出車牌區(qū)域,本算法采用自適應(yīng)灰度拉伸.(4)增強(qiáng)車牌區(qū)域圖像.該步驟主要采用數(shù)學(xué)形態(tài)學(xué)中的開運(yùn)算,先腐蝕后膨脹,消除背景噪聲,并采用簡單的圖像代數(shù)運(yùn)算,突出車牌區(qū)域.(5)車輛圖像二值化處理.該步驟采用取圖像灰度范圍三分點(diǎn)為閾值的車輛圖像二值化方法.(6)車牌提取.通過邊緣檢測獲取牌照以及字符的輪廓.該步驟采用了對弱邊緣有較精確的提取能力,同時又能較大程度保留車牌輪廓紋理的Canny算子.
車位檢測模塊的作用在于統(tǒng)計(jì)停車場剩余車位.識別到停車場的剩余車位后,服務(wù)器會把停車場的停車情況反饋到APP上,使用戶能夠?qū)崟r的查看停車場的狀況,方便用戶選擇停車場.筆者采用模板匹配的方法,檢測停車位上是否有車輛停放.停車場的每個車位都有固定的車位編號,通過模板匹配的方法,逐一匹配判斷是否有對應(yīng)的車位編號.具體車位檢測流程見圖2.通過create_shape_model算子創(chuàng)建車位序號模板,find_shape_model算子進(jìn)行模板匹配,當(dāng)車輛進(jìn)入車位后,若無法匹配到對應(yīng)的車位編號,表示此時車位已被占用.
圖2 車位檢測流程圖
智能泊車系統(tǒng)管理部分由上位機(jī)系統(tǒng)和APP系統(tǒng)部分組成,實(shí)現(xiàn)在線查看停車場的狀況、預(yù)定車位、付款、查看用戶停車狀態(tài)等功能.在 Myeclipse和 Qt Creater開發(fā)環(huán)境下,使用 Java和 C/C++開發(fā)語言,結(jié)合 Tomcat、Servlet和 MySQL等技術(shù),完成上位機(jī)的開發(fā),實(shí)現(xiàn)4個功能:(1)計(jì)算汽車的停車時間與收費(fèi)金額;(2)監(jiān)控進(jìn)出車輛車牌號,停車時間和查詢歷史記錄等;(3)通過操作數(shù)據(jù)庫把停車場的各種信息(用戶信息、預(yù)定車位信息、車位信息等)保存在Mysql數(shù)據(jù)庫上;(4)通過HTTP協(xié)議遠(yuǎn)程傳輸停車場的停車信息(停車場剩余車位、車輛停車狀態(tài)等)到移動端APP上顯示[13-14].
首先服務(wù)器初始化停車場的預(yù)定信息,然后對視覺系統(tǒng)傳輸過來的數(shù)據(jù)進(jìn)行處理,獲得停車場的有用信息并保存到MySQL數(shù)據(jù)庫上,再有選擇地顯示到上位機(jī)界面上,并把信息公布到APP上.上位機(jī)顯示和傳輸功能完成后,上位機(jī)把停車場的全部停車信息發(fā)布到APP上,同時監(jiān)控用戶是否有在線預(yù)約車位和取消訂單的行為.若用戶使用了預(yù)約功能,如果當(dāng)前預(yù)約時間段的停車位大于零,服務(wù)器會使用戶預(yù)約的停車時間段的停車位數(shù)量減少一個,若當(dāng)前預(yù)約的時間段停車位數(shù)量為零,用戶則無法預(yù)約當(dāng)前停車位.其中上位機(jī)程序流程圖見圖3,上位機(jī)界面見圖4.
圖3 上位機(jī)程序流程圖
圖4 上位機(jī)主界面
APP程序是在Eclipse開發(fā)環(huán)境下,使用JAVA開發(fā)語言開發(fā)的[15].APP上設(shè)計(jì)的界面有:登錄界面、車位查詢界面、預(yù)定記錄界面、用戶個人界面、停車場信息界面和付款界面等.其中APP的全部界面見圖5.其主要實(shí)現(xiàn)功能包括:(1)顯示各個停車場當(dāng)前停車情況;(2)顯示用戶的歷史停車情況;(3)顯示綁定的車牌好的停車狀況信息;(4)提供在線預(yù)約、付款的功能;(5)提供聯(lián)系客服的服務(wù).
圖5 APP界面結(jié)構(gòu)圖
經(jīng)過反復(fù)調(diào)試后,系統(tǒng)能夠?qū)ν\噲鲞M(jìn)行自動化管理,實(shí)現(xiàn)多個停車場同時管理,實(shí)時監(jiān)測車位剩余量及車輛停放信息,用戶可在APP上實(shí)時查看愛車狀態(tài),實(shí)現(xiàn)真正的全方位智能泊車.
用戶可通過輸入正確的用戶名和密碼登錄APP.其登錄界面見圖6(a).登錄成功后,APP會跳轉(zhuǎn)到車位查詢主界面.在此界面上,用戶可查看各個停車場的主界面.其主界面見圖6(b).點(diǎn)擊停車的相應(yīng)場位置,APP會跳轉(zhuǎn)到對應(yīng)的預(yù)約界面.在預(yù)約界面上,用戶可查看當(dāng)前停車場的使用情況,并提供預(yù)約車位的功能.車位預(yù)定界面見圖6(c).在線付款見圖6(d).另外,在登錄成功后,用戶也可以點(diǎn)擊“預(yù)定記錄”按鍵來查看歷史預(yù)約記錄.預(yù)定記錄界面見圖6(e).當(dāng)點(diǎn)擊“我的”按鈕時,APP會跳轉(zhuǎn)到用戶界面。在用戶界面上,可查看已綁定的車牌號對應(yīng)的車輛的停車情況,同時還提供退款、聯(lián)系客服和查看公告等輔助小功能.用戶界面見圖 6(f).
圖6 APP界面圖
筆者采用物聯(lián)網(wǎng)技術(shù)、機(jī)器視覺技術(shù)、無線數(shù)據(jù)傳輸技術(shù)和Android技術(shù)開發(fā)的智能泊車系統(tǒng),實(shí)現(xiàn)了自動識別車牌、在線查看實(shí)時剩余車位、在線查看當(dāng)前停車情況、在線預(yù)定車位、在線付款等功能.實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)使停車場更加智能化,大大地提高了停車效率及停車場的利用率.