彭瑾
關(guān)鍵詞:智慧停車場;STM32;深度學習
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2023)20-0057-03
0 引言
隨著我國經(jīng)濟的快速發(fā)展,汽車成為人們生活中的必備品,對于停車位的需求也大量增加。傳統(tǒng)的停車場管理系統(tǒng)通常是人工進行管理,智慧化程度不高[1-2]。物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展帶動了各個領(lǐng)域的智慧化改造,智慧化停車場管理系統(tǒng)的需求成為新的發(fā)展方向[3]。停車行業(yè)存在供需矛盾顯著,資源利用不均,信息化、智能化程度不足,信息無法共享,管理效率較低,產(chǎn)業(yè)鏈新技術(shù)快速發(fā)展,需求多樣化,停車行業(yè)能力不足等諸多問題。智慧停車場管理系統(tǒng)是將車輛檢測、車牌識別、管理顯示等功能集成的自主運營總成系統(tǒng),具有無人化管理、精準計費、遠程監(jiān)控等突出優(yōu)勢[4-5]。
本文將詳細介紹基于STM32的智慧停車場管理系統(tǒng)的設(shè)計、實現(xiàn),采用圖像識別技術(shù)檢測車輛多參量信息(車牌、車型等),通過深度學習神經(jīng)網(wǎng)絡(luò)算法進行車牌檢測和車牌識別,設(shè)計多媒體顯示界面,將車牌識別結(jié)果顯示在LCD屏幕上并語音播報,根據(jù)識別結(jié)果對閘機進行控制,從而實現(xiàn)停車場系統(tǒng)的無人化自動管理功能。
1 系統(tǒng)總體設(shè)計方案
根據(jù)設(shè)計思路,智慧停車場管理系統(tǒng)的開發(fā)流程如圖1所示。
根據(jù)開發(fā)流程,智慧停車場管理系統(tǒng)可以分為三個模塊,模塊一是車牌識別模型部署;模塊二是閘機控制系統(tǒng)的構(gòu)建;模塊三是智慧停車場管理系統(tǒng)項目開發(fā)(車牌識別功能插件構(gòu)建、閘機控制功能插件構(gòu)建和功能集成)。
2 各模塊解決方案
2.1 車牌識別和模型部署
車牌識別技術(shù)是智慧停車場系統(tǒng)中的重要組成部分。車牌識別模型部署主要分為三個步驟:首先,提取圖像中的車牌大致位置。然后,加載車牌識別模型,提取車牌的精確位置。最后,利用OCR字符識別方法識別車牌號并輸出。
2.1.1 車牌粗提取
對采集到的車牌要進行初步檢測定位,目的是檢測出車牌大致位置,對圖像進行一些插補和調(diào)整比例,其中,核心部分就是cascade級聯(lián)分類器的應(yīng)用。這里的級聯(lián)分類器基于Haar+Adaboost構(gòu)成,也即cas?cade.xml文件,該文件存放了一些車牌的Haar特征。
這里,我們采用了cascade.xml 檢測模型,然后使用OpenCV的detectMultiscale方法對圖像進行滑動窗口遍歷尋找車牌,實現(xiàn)車牌的粗定位。
其中,detectMultiscale()函數(shù)為多尺度多目標檢測。通常,多尺度搜索目標的模板尺寸大小是固定的,但不同圖片大小不同,目標對象的大小也不固定,因此,多尺度即不斷縮放圖片大?。s放到與模板匹配),通過模板滑動窗函數(shù)搜索匹配。同一幅圖片可能在不同尺度下都可以得到匹配值,所以多尺度檢測函數(shù)detectMultiscale()是多尺度合并的結(jié)果。
因此,cascade.xml這個文件是通過很多的正樣本車牌圖片和負樣本非車牌圖片轉(zhuǎn)換的cascade.xml文件,其中的Haar特征數(shù)據(jù)已經(jīng)通過Adaboost處理。通過這個xml文件可以訓練出一個級聯(lián)分類器,該分類器的判別車牌標準是通過計算大量車牌特征后得出的一個閾值,大于這個閾值判別為車牌,否則判別為非車牌,如圖2所示,通過該方法得到了圖像中車牌的粗定位。
2.1.2 車牌精提取
對車牌進行粗定位后,再對車牌進行精定位。這里的精定位是切掉原來粗定位后車牌的多余部分,首先,使用透視變換矯正車牌位置。然后,調(diào)用tflite模型實現(xiàn)垂直精細繪圖方法輸出車牌精定位。使用OpenCV 的getPerspectiveTransform()和warpPerspective()函數(shù)實現(xiàn)透視變換,矯正圖像中的車牌位置。
2.1.3 車牌識別實現(xiàn)
確定好車牌位置后,對該車牌字符信息進行識別,最終輸出車牌號。車牌字符信息識別采用OCR字符識別技術(shù),也就是在不分割字符的前提下能夠識別出車牌七個字符。傳統(tǒng)的車牌字符識別是先分割字符然后再逐一使用分類算法進行識別。不分割字符直接識別方式的優(yōu)點是僅需較少的字符樣本即可用于分類器的訓練。目前,大多數(shù)商業(yè)車牌識別軟件采用的就是這種方法。在某些惡劣的自然情況下,車牌字符的分割和識別變得尤其困難,在傳統(tǒng)的方法不能取得很好的結(jié)果時,可以采用整體識別方式。通常,車牌由七個字符組成,可以采用多標簽分類的方法直接輸出多個標簽,如圖 3所示。
2.2 閘機控制系統(tǒng)構(gòu)建
閘機系統(tǒng)采用了智能節(jié)點核心控制板、舵機執(zhí)行器、LCD顯示屏、語音識別模塊攝像頭等硬件模塊。
1) 智能節(jié)點核心控制板
核心板采用ARM-Cortex-M4內(nèi)核的STM32F407ZET6為主控芯片,主要實現(xiàn)與項目軟件部分進行通信,獲取車牌識別結(jié)果并上傳閘機狀態(tài),同時通過串口控制舵機執(zhí)行器開關(guān),控制LCD顯示屏顯示車牌號等功能。
2) 舵機執(zhí)行器
舵機是一種位置(角度)伺服的驅(qū)動器,適用于一些需要角度不斷變化并可以保持的控制系統(tǒng)。舵機實際上是一種俗稱,其是一種伺服馬達。
舵機SG90由三根線控制。暗灰色線為GND,地線;紅色線為VCC,電源線,工作電壓為4.8~7.2V,通常情況下使用+5V做電源電壓;橙黃色線為控制線,通過該線輸入脈沖信號,從而控制舵機轉(zhuǎn)動,其轉(zhuǎn)動角度為180°。
3) LCD顯示屏
TFT-LCD即薄膜晶體管液晶顯示器,主要實現(xiàn)車牌號和車位數(shù)顯示功能。閘機控制系統(tǒng)構(gòu)建效果如圖4所示。
2.3 基于車牌識別的道閘控制系統(tǒng)
2.3.1 車牌識別功能插件構(gòu)建
實現(xiàn)第一個功能插件,車牌圖像獲取功能插件。調(diào)用攝像頭獲取車牌圖像,獲取車牌識別結(jié)果消息隊列,并調(diào)用函數(shù)實現(xiàn)車牌識別結(jié)果繪制。
2.3.2 車牌識別模型推理功能插件實現(xiàn)
首先,獲取待識別車牌圖像,調(diào)用車牌識別函數(shù)實現(xiàn)車牌識別,并將識別結(jié)果傳遞到消息隊列。然后,定義車牌識別模型推理函數(shù),輸入待識別車輛圖像,調(diào)用車牌檢測級聯(lián)分類器模型提取車牌圖像,再對提取出的車牌圖像進行矯正和精提取。最后,調(diào)用OCR字符識別模型和字符標簽文件輸出車牌號。
識別到車牌后,將識別結(jié)果傳遞到q_rec識別結(jié)果消息隊列,車牌圖像獲取線程就會對識別結(jié)果進行繪制。根據(jù)返回的車牌位置坐標,利用OpenCV繪制出矩形框選出車牌框,再將車牌號顯示到矩形框上方,從而實現(xiàn)車牌識別結(jié)果的可視化顯示。
2.3.3 道閘控制系統(tǒng)功能插件構(gòu)建
實現(xiàn)嵌入式設(shè)備數(shù)據(jù)傳遞插件,將車牌識別結(jié)果以及閘機控制指令傳遞給閘機控制系統(tǒng)。
3 系統(tǒng)設(shè)計結(jié)果展示
車牌識別結(jié)果如圖5所示,當檢測到正確的車牌后,控制閘機系統(tǒng)打開舵機。
4 結(jié)束語
本文的智慧停車場管理系統(tǒng)開發(fā)項目結(jié)合人工智能技術(shù)和嵌入式硬件設(shè)備模擬實現(xiàn)智慧停車場管理系統(tǒng)。首先,利用深度學習神經(jīng)網(wǎng)絡(luò)算法進行車牌檢測和車牌識別。然后,根據(jù)識別結(jié)果對閘機進行控制以及LCD屏幕顯示車牌識別結(jié)果和當前車位占領(lǐng)情況。最后,結(jié)合Web端進行數(shù)據(jù)分析和可視化。其中,車牌識別技術(shù)不但可以用于智慧停車場,還可以在智慧交通、智能駕駛等場景使用,具有較高的參考價值。