999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學(xué)習(xí)的Android 平臺(tái)車(chē)牌識(shí)別系統(tǒng)設(shè)計(jì)

2021-06-25 14:17:54曹海嘯夏慶鋒劉書(shū)銘張長(zhǎng)嶼游云飛
軟件導(dǎo)刊 2021年6期
關(guān)鍵詞:語(yǔ)義區(qū)域

闞 希,曹海嘯,夏慶鋒,劉書(shū)銘,張長(zhǎng)嶼,游云飛

(1.南京信息工程大學(xué)濱江學(xué)院物聯(lián)網(wǎng)工程學(xué)院,江蘇無(wú)錫 214105;2.南京信息工程大學(xué)自動(dòng)化學(xué)院,江蘇 南京 210044;3.南京信息工程大學(xué)濱江學(xué)院自動(dòng)化學(xué)院,江蘇無(wú)錫 214105)

0 引言

車(chē)牌作為車(chē)輛識(shí)別與管理的重要標(biāo)識(shí),是智能交通系統(tǒng)相關(guān)領(lǐng)域研究熱點(diǎn)[1]。隨著我國(guó)機(jī)動(dòng)車(chē)保有量高速增長(zhǎng)及新能源汽車(chē)的日益普及,車(chē)輛有效識(shí)別與管理愈加復(fù)雜。在復(fù)雜自然場(chǎng)景中對(duì)車(chē)牌精確的識(shí)別可為城市交通、自動(dòng)駕駛和城市管理等提供重要支撐。基于移動(dòng)端的圖像車(chē)牌識(shí)別成為深度學(xué)習(xí)領(lǐng)域的熱點(diǎn)之一,隨著Android 移動(dòng)端計(jì)算性能的大幅提升,面向復(fù)雜環(huán)境基于深度學(xué)習(xí)的車(chē)牌識(shí)別模型移植成為現(xiàn)實(shí)[2]。

車(chē)牌識(shí)別算法經(jīng)過(guò)數(shù)十年的研究發(fā)展,在學(xué)術(shù)界和工業(yè)界已形成成熟的體系[3],算法流程一般可分為車(chē)牌區(qū)域提取、字符分割與識(shí)別3 個(gè)主要步驟,但因?yàn)椴煌O(shè)備采集的圖像質(zhì)量差異較大,車(chē)牌識(shí)別算法各有側(cè)重。早期傳統(tǒng)方法主要依賴于人工特征提取,然后通過(guò)模式識(shí)別的方式完成車(chē)牌字符檢測(cè),需從原始圖像中把感興趣的車(chē)牌圖像區(qū)域提取出來(lái)。傳統(tǒng)算法主要根據(jù)車(chē)牌顏色特征、邊緣特征、字符紋理特性等從背景圖像中提取出車(chē)牌區(qū)域,然后利用字符分割與匹配達(dá)到車(chē)牌識(shí)別的目的,該類(lèi)方法在背景受環(huán)境影響小、有固定場(chǎng)景的地點(diǎn)使用廣泛,諸如單位卡口、公路收費(fèi)站等。近年來(lái),隨著車(chē)輛交通行業(yè)的蓬勃發(fā)展,車(chē)牌識(shí)別算法需在復(fù)雜環(huán)境背景干擾下也能準(zhǔn)確判識(shí),基于形態(tài)與閾值的傳統(tǒng)方法陷入了瓶頸。但隨著計(jì)算機(jī)視覺(jué)的快速發(fā)展,使用機(jī)器學(xué)習(xí)方法進(jìn)行車(chē)牌識(shí)別取得了很好的效果,主要有神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、Adaboost 分類(lèi)器等方法[3-4]。

隨著智能交通技術(shù)的飛速發(fā)展,基于PC 機(jī)的車(chē)牌識(shí)別系統(tǒng)已不能滿足終端便攜式需求。基于Android 平臺(tái)的智能手機(jī)具有便攜、快速、工作環(huán)境不受限等特點(diǎn)[5],成為車(chē)牌信息處理終端的重要載體。特別是智能手機(jī)計(jì)算能力的快速提升,使深度學(xué)習(xí)算法在Android 平臺(tái)上的移植成為現(xiàn)實(shí)[6]。本文設(shè)計(jì)的車(chē)牌識(shí)別系統(tǒng)結(jié)構(gòu)如圖1 所示,使用U-net 網(wǎng)絡(luò)進(jìn)行車(chē)牌語(yǔ)義分割,對(duì)稱的編解碼器使高層特征圖與低層特征圖可進(jìn)行有效拼接,高層特征圖從低層特征圖中獲得豐富的上下文信息與細(xì)節(jié)信息,可獲得精度更高的輸出,以解決移動(dòng)端拍攝角度不同和復(fù)雜背景造成的車(chē)牌提取困難,通過(guò)OpenCV 對(duì)車(chē)牌區(qū)域圖像進(jìn)行校正,最后利用共享Loss 的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行字符判識(shí),以提高識(shí)別準(zhǔn)確率。

Fig.1 System structure圖1 系統(tǒng)結(jié)構(gòu)

1 Android 端移植技術(shù)

1.1 OpenCV 圖像處理實(shí)現(xiàn)過(guò)程

OpenCV 是一個(gè)開(kāi)源跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可運(yùn)行在Linux、Windows、Mac OS 和Android 操作系統(tǒng)上,并提供多種語(yǔ)言接口[7],其最大優(yōu)勢(shì)在于包含很多免費(fèi)的圖像處理函數(shù),幾乎覆蓋了圖像處理與機(jī)器視覺(jué)的通用算法[8]。系統(tǒng)開(kāi)發(fā)環(huán)境為Android Studio v3.5 版本,OpenCV SDK 版本為3.4.11,具體配置方法如下。

(1)官網(wǎng)下載opencv-3.4.11-android-sdk,在android studio 中File >New 選擇Import modules 將下載的sdk/java項(xiàng)目導(dǎo)入項(xiàng)目。

(2)然后把opencv modules 添加到app modules 里,直接在app 目錄下build.gradle 文件里dependencies 大括號(hào)下添加依賴項(xiàng):dependencies{implementation project(‘:openCVLibrary’)}。

(3)在app/src/main 目錄下創(chuàng)建jniLibs 目錄,然后把sdk/native/libs 下所有文件復(fù)制到j(luò)niLibs 目錄下,編譯和運(yùn)行以完成庫(kù)的調(diào)用。

1.2 Tensorflow 機(jī)器學(xué)習(xí)實(shí)現(xiàn)過(guò)程

Tensorflow 是谷歌公司開(kāi)發(fā)的開(kāi)源機(jī)器學(xué)習(xí)架構(gòu)[9],軟件開(kāi)發(fā)者使用該架構(gòu)可輕松構(gòu)建機(jī)器學(xué)習(xí)模型,省去繁瑣的底層數(shù)學(xué)推導(dǎo)過(guò)程,從而可快速完成算法編寫(xiě)。Android端移植訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型需4 個(gè)步驟。

(1)本文使用Tensorflow 高級(jí)API Keras 進(jìn)行網(wǎng)絡(luò)訓(xùn)練,所以首先需將模型xxx.h5 文件轉(zhuǎn)換為xxx.pb 文件。

(2)在Android Studio App 目錄下build.gradle 文件中添加Tensorflow-android依賴項(xiàng):dependencies{implementation‘org.tensorflow:tensorflow-android:+’}。

(3)右擊項(xiàng)目>New>Folder>Asset Floder,在應(yīng)用程序目錄中創(chuàng)建一個(gè)資源文件夾,再將xxx.pb 模型文件添加到資源文件夾內(nèi)。

(4)在MainActivity(主活動(dòng))中初始化靜態(tài)變量和調(diào)用靜態(tài)方法:static{System.loadLibrary(“tensorflow_inference”);}。

2 圖像獲取模塊

圖像獲取主要是通過(guò)調(diào)用系統(tǒng)拍照功能完成,創(chuàng)建Button.setOnClickListener(new View.OnClickListener())拍照按鈕點(diǎn)擊監(jiān)聽(tīng)事件,實(shí)現(xiàn)onClick()類(lèi),包括4 個(gè)步驟:①初始化Intent 啟動(dòng)相機(jī);②定義圖片存儲(chǔ)路徑;③Intent.putExtra()更改系統(tǒng)默認(rèn)存儲(chǔ)路徑;④設(shè)置startActivityForResul(t)相機(jī)返回活動(dòng),最后實(shí)現(xiàn)onActivityResul(t)拍照跳轉(zhuǎn)界面,通過(guò)ImageView()讀取存儲(chǔ)路徑顯示圖片。

3 車(chē)牌識(shí)別模塊

3.1 U-net 網(wǎng)絡(luò)車(chē)牌語(yǔ)義分割

在自然場(chǎng)景下,Android 移動(dòng)端由于拍攝場(chǎng)景不固定,所以拍攝的圖片受拍攝角度、光線、背景影響很大,造成車(chē)牌區(qū)域提取困難。本文使用基于深度學(xué)習(xí)的U-net 語(yǔ)義分割網(wǎng)絡(luò)。U 型網(wǎng)絡(luò)是一個(gè)經(jīng)典的全卷積網(wǎng)絡(luò)[10-11],面向像素級(jí)預(yù)測(cè)任務(wù),可保持原始圖像相同分辨率大小的預(yù)測(cè)圖,網(wǎng)絡(luò)可分為左右兩個(gè)部分,左半部分為壓縮通道,右半部分為擴(kuò)展通道,又稱為上采樣和下采樣兩個(gè)部分,下采樣進(jìn)行特征提取,下采樣過(guò)程中圖像通道數(shù)翻倍,并且圖像特征圖維度減少為之前的一半。本文采用修正線性單元ReLU 激活函數(shù),使神經(jīng)網(wǎng)絡(luò)適用于非線性模型,上采樣的作用是把特征圖尺寸還原成與輸入圖一致,以保持輸入與預(yù)測(cè)維度不變,每次經(jīng)過(guò)上采樣層后特征圖維度加倍,但是通道數(shù)減半,最終使圖像恢復(fù)成原尺寸。壓縮通道包含4 個(gè)收縮單元,每個(gè)單元包含兩個(gè)卷積模塊和1 個(gè)池化模塊,下采樣完成后再經(jīng)過(guò)兩個(gè)卷積模塊進(jìn)行上采樣操作;擴(kuò)展通道同樣有4 個(gè)擴(kuò)張單元,每個(gè)單元包含一個(gè)上采樣模塊和兩個(gè)卷積模塊,最后一個(gè)擴(kuò)張單元中包含上采樣層、兩個(gè)卷積模塊和一個(gè)1×1 大小的卷積模塊,跳躍連接增加了壓縮和擴(kuò)展通道之間的通路,網(wǎng)絡(luò)總體結(jié)構(gòu)像字符U,所以稱為U 型網(wǎng)絡(luò),常用于醫(yī)學(xué)影像和交通標(biāo)志語(yǔ)義分割。本文網(wǎng)絡(luò)輸入圖像大小為512×512,網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示,圖3 為自然場(chǎng)景下網(wǎng)絡(luò)車(chē)牌分割效果,可以看出網(wǎng)絡(luò)對(duì)車(chē)牌定位分割效果很好,可以應(yīng)對(duì)Android 移動(dòng)端復(fù)雜背景干擾。

3.2 車(chē)牌校正

對(duì)于U-net[12]網(wǎng)絡(luò)分割后得到的車(chē)牌區(qū)域,可以看出很多區(qū)域由于拍攝角度的問(wèn)題產(chǎn)生了形變,如果直接進(jìn)行車(chē)牌字符識(shí)別,由于畸變對(duì)后續(xù)車(chē)牌字符識(shí)別造成很大干擾,所以需要對(duì)畸變的車(chē)牌進(jìn)行校正[13-14]。如圖4(a)為分割后得到的車(chē)牌區(qū)域圖像,使用OpenCV 的cv2.findContours()函數(shù)獲得車(chē)牌區(qū)域,在使用cv2.boundingRec(t)函數(shù)獲取車(chē)牌外接最小矩陣,如圖4(b)所示;然后使用cv2.min-AreaRec(t)函數(shù)獲取外接矩陣的水平夾角θ°,將車(chē)牌區(qū)域順時(shí)針旋轉(zhuǎn)θ°至水平,如圖4(c)所示;最后根據(jù)車(chē)牌4 個(gè)頂點(diǎn)A、B、C、D 位置坐標(biāo)和其最小外接矩形A’、B’、C’、D’坐標(biāo),計(jì)算車(chē)牌四邊形4 個(gè)角點(diǎn)坐標(biāo),使用cv2.warpPerspective()投影變化函數(shù)完成畸變車(chē)牌的校正。車(chē)牌校正效果對(duì)比如圖5 所示,校正后的車(chē)牌圖像為卷積神經(jīng)網(wǎng)絡(luò)字符識(shí)別模型大小,即高80、寬240。

Fig.2 U-net neural network structure圖2 U-net 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

Fig.3 Semantic segmentation effects of license plate圖3 車(chē)牌語(yǔ)義分割效果

Fig.4 License plate area correction method圖4 車(chē)牌區(qū)域校正方法

Fig.5 License plate area correction effects圖5 車(chē)牌區(qū)域校正效果

3.3 卷積神經(jīng)網(wǎng)絡(luò)字符識(shí)別

在數(shù)字圖像處理領(lǐng)域,卷積是一種常見(jiàn)的運(yùn)算。它可以用于圖像去噪、增強(qiáng)、邊緣檢測(cè)等,還可以用于圖像特征提取。卷積運(yùn)算用卷積核矩陣從上到下、從左到右在圖像上滑動(dòng),將卷積和矩陣各元素與其在圖像上覆蓋的對(duì)應(yīng)位置上的元素相乘,然后求和,得到輸出值。二維卷積計(jì)算過(guò)程如圖6 所示。

Fig.6 Convolution calculation process圖6 卷積計(jì)算過(guò)程

卷積網(wǎng)絡(luò)[15]輸入通常為多通道平面結(jié)構(gòu),其大小為高×寬×通道數(shù),即輸入為多通道二維特征映射。卷積核是卷積神經(jīng)網(wǎng)絡(luò)模型主要參數(shù)之一,每個(gè)卷積層多個(gè)卷積核從左到右、從上到下依次卷積整個(gè)圖像,輸出多個(gè)表征圖像特征圖,隨著卷積層的增加可捕捉圖像更為復(fù)雜、抽象的內(nèi)部語(yǔ)義信息,經(jīng)過(guò)多個(gè)卷積層運(yùn)算,最后可得到圖像在各個(gè)不同尺度的抽象表示,但是層數(shù)增加也會(huì)造成過(guò)擬合等問(wèn)題。激活函數(shù)目的是為了給網(wǎng)絡(luò)增加非線性映射,常用的激活函數(shù)有Softmax、tanh、ReLU 等,卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖7 所示。

Fig.7 Convolution neural network structure圖7 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖

模型輸入圖片是語(yǔ)義分割和校正后提取的80*240 車(chē)牌區(qū)域的圖片,由于普通車(chē)牌是由7 個(gè)字符組成,所以實(shí)現(xiàn)車(chē)牌端到端識(shí)別是多標(biāo)簽分類(lèi)問(wèn)題。每張輸入圖片有7 個(gè)標(biāo)簽,但是模型最后1 層輸出前的結(jié)構(gòu)可共享,只需將輸出設(shè)定成7 個(gè)即可,7 個(gè)輸出對(duì)應(yīng)7 個(gè)Loss,總Loss 是模型7 個(gè)Loss 的總和。使用keras 框架搭建模型,使用rule 作為激活函數(shù),最后全連接輸出層連接7 個(gè)節(jié)點(diǎn)對(duì)應(yīng)車(chē)牌7 個(gè)字符,使用Softmax 作為激活函數(shù),dropout 參數(shù)均為0.3,每個(gè)字符均有65 種可能性。使用本文系統(tǒng)在不同光照背景下,不同拍攝角度采集500 張圖片進(jìn)行系統(tǒng)測(cè)試,分別使用多種圖片處理驗(yàn)證方法有效性,系統(tǒng)性能如表1 所示。評(píng)價(jià)指標(biāo)使用交叉比(Intersection over Union,IoU),它是在特定數(shù)據(jù)集中檢測(cè)響應(yīng)物體準(zhǔn)確度的標(biāo)準(zhǔn),用于測(cè)量真實(shí)值和預(yù)測(cè)之間的相關(guān)度,相關(guān)度越高,該值越高,計(jì)算方法是兩個(gè)區(qū)域重疊的部分除以兩個(gè)區(qū)域集合部分得出的結(jié)果。本文即為Unet 網(wǎng)絡(luò)預(yù)測(cè)的車(chē)牌區(qū)域與標(biāo)簽真值區(qū)域重合部分除以集合部分,AP(Average Precision)標(biāo)簽為平均精確度,Time 為每次識(shí)別所運(yùn)行的時(shí)間,單位為秒(s)。從實(shí)驗(yàn)結(jié)果可以看出,本文算法系統(tǒng)識(shí)別準(zhǔn)確率為95.14%,較傳統(tǒng)采用圖像形態(tài)學(xué)與閾值法準(zhǔn)確率有較大提高,原因在于本文使用Unet 車(chē)牌語(yǔ)義分割網(wǎng)絡(luò),首先對(duì)車(chē)牌區(qū)域有很好的提取效果,可解決復(fù)雜背景影響下車(chē)牌區(qū)域的分割;其次,采用共享Loss 的神經(jīng)網(wǎng)絡(luò)進(jìn)行字符判識(shí),可提高準(zhǔn)確度、縮短運(yùn)行時(shí)間,更可以減少形態(tài)學(xué)方法字符分割不均造成的誤識(shí)別。

Table 1 Performance comparison of license plate recognition algorithms表1 車(chē)牌識(shí)別算法性能對(duì)比

4 系統(tǒng)測(cè)試

本文智能車(chē)牌識(shí)別系統(tǒng)APP 主界面如圖8(a)所示,由兩個(gè)按鈕組成,右上方“Help”按鈕,可以顯示操作提示。點(diǎn)擊“相機(jī)拍照”可調(diào)用系統(tǒng)相機(jī),實(shí)現(xiàn)車(chē)輛現(xiàn)場(chǎng)拍照功能,然后點(diǎn)擊“開(kāi)始識(shí)別”按鈕,系統(tǒng)將對(duì)拍攝的圖片進(jìn)行車(chē)牌字符識(shí)別,并將識(shí)別結(jié)果顯示在主界面上,如圖8(b)所示。

Fig.8 Mobile display圖8 移動(dòng)端展示

5 結(jié)語(yǔ)

本文使用深度學(xué)習(xí)方法,基于卷積神經(jīng)網(wǎng)絡(luò)與大量OpenCV 圖像處理函數(shù),設(shè)計(jì)并實(shí)現(xiàn)了在復(fù)雜背景干擾下Android 移動(dòng)平臺(tái)車(chē)牌識(shí)別系統(tǒng)。針對(duì)自然場(chǎng)景車(chē)牌區(qū)域定位提取和畸形校正,使用U-net 語(yǔ)義分割網(wǎng)絡(luò),給出了具體實(shí)現(xiàn)與移植細(xì)節(jié)。實(shí)地測(cè)試證明了系統(tǒng)準(zhǔn)確性和實(shí)時(shí)性,可以安裝在不同硬件的Android 移動(dòng)平臺(tái)上。后續(xù)將繼續(xù)開(kāi)發(fā)數(shù)據(jù)庫(kù)存儲(chǔ)和網(wǎng)絡(luò)連接模塊,提高系統(tǒng)完整性,拓寬其應(yīng)用場(chǎng)景。

猜你喜歡
語(yǔ)義區(qū)域
永久基本農(nóng)田集中區(qū)域“禁廢”
分割區(qū)域
語(yǔ)言與語(yǔ)義
“上”與“下”語(yǔ)義的不對(duì)稱性及其認(rèn)知闡釋
關(guān)于四色猜想
分區(qū)域
基于嚴(yán)重區(qū)域的多PCC點(diǎn)暫降頻次估計(jì)
認(rèn)知范疇模糊與語(yǔ)義模糊
區(qū)域
民生周刊(2012年10期)2012-10-14 09:06:46
“深+N季”組配的認(rèn)知語(yǔ)義分析
主站蜘蛛池模板: 日韩黄色在线| 国产美女精品人人做人人爽| 日韩国产黄色网站| 欧美中文字幕在线二区| 免费av一区二区三区在线| 亚洲综合香蕉| 婷婷久久综合九色综合88| 国产又爽又黄无遮挡免费观看| a级毛片毛片免费观看久潮| 高清色本在线www| 都市激情亚洲综合久久| 亚洲国产在一区二区三区| 青青青视频免费一区二区| 青青草一区二区免费精品| 亚洲激情区| 精品久久香蕉国产线看观看gif| 久久青草免费91线频观看不卡| 女同久久精品国产99国| 国产一在线观看| 亚洲国产中文精品va在线播放 | 污视频日本| 精品国产三级在线观看| 国产免费黄| 欧美日韩第三页| 亚洲天堂精品视频| 69国产精品视频免费| 亚洲日韩在线满18点击进入| 日韩中文精品亚洲第三区| 色天天综合| 91在线一9|永久视频在线| 日韩欧美成人高清在线观看| 国产乱子伦无码精品小说| 国产成人精品男人的天堂下载 | 香蕉国产精品视频| 在线观看国产黄色| 美女一区二区在线观看| 伊人色婷婷| 曰AV在线无码| 在线播放91| 97久久超碰极品视觉盛宴| 日本亚洲最大的色成网站www| 在线亚洲精品自拍| 亚洲日韩精品伊甸| 国产精品永久不卡免费视频| 全部无卡免费的毛片在线看| 国产精品欧美激情| 最新国产成人剧情在线播放| 亚洲高清中文字幕在线看不卡| 97人妻精品专区久久久久| 免费一级成人毛片| 亚洲高清国产拍精品26u| 99视频精品全国免费品| 玖玖精品视频在线观看| 色135综合网| 无码免费的亚洲视频| 天天躁狠狠躁| 欧美在线伊人| 88av在线看| 亚洲第一福利视频导航| 亚洲男人天堂2018| 91美女视频在线| 91视频首页| 欧美中文字幕无线码视频| 亚洲第一色视频| 国产又爽又黄无遮挡免费观看 | 福利国产在线| 欧美色综合网站| 国内精品视频在线| 六月婷婷综合| 丁香婷婷在线视频| 色爽网免费视频| 自拍偷拍欧美日韩| 91青草视频| 国产69囗曝护士吞精在线视频| 国产XXXX做受性欧美88| 欧美亚洲国产视频| 国产激情第一页| 国产男女免费完整版视频| 天堂成人在线视频| 中文字幕亚洲精品2页| 亚洲国产91人成在线| 色精品视频|