?

基于卷積神經網絡的自然場景門牌多數字識別研究

2019-01-22 06:54鐘菊萍高靜李軍
現代計算機 2018年35期
關鍵詞:識別率網絡結構分類器

鐘菊萍,高靜,李軍

(1.廣東技術師范學院計算機科學學院,廣州 510665;2.廣東恒電信息科技股份有限公司,廣州 510635)

0 引言

圖像中的字符識別如掃描文檔和書籍已經在過去的幾十年中被廣泛研究[1],手寫體識別也已被學術界和工業界廣泛應用[2]。但從真實場景的圖片中讀取字符仍是一個困難的計算機視覺問題,因為它不像掃描文檔那樣背景干凈,識別起來方便,真實場景中的字符圖像本身極易受到自然環境的影響而出現細節模糊、視角變化、扭曲形變、背景摻雜、光照不均和類內差異等困難,使得計算機對真實場景中的數字識別仍是一個巨大的挑戰,然而這對于一系列真實世界的應用來說卻又非常重要。自然場景中的街景已經成為在線地圖中的一部分,定位到街道,從中讀取門牌號,和所在的地理位置進行比對,是現代地圖制作的重要組成部分,建立更精準的地圖,為智慧城市的智能交通、無人駕駛等提供精準服務。

從自然場景圖像中分類字符的傳統方法通常是使用手動特征提取[3]和模板匹配[4]。張帥等人[5]為了識別走廊環境的門牌號碼,利用Robert邊緣檢測與形態學運算相結合的方法定位出門牌號圖像的位置,再經過水平和垂直投影法、傾斜校正等操作分割門牌號,最后運用模式識別的方法識別出門牌號碼。馬立玲等人[6]利用正交判別的線性局部切空間排列算法(ODLLTSA)和支持向量機(SVM)方法相結合對門牌進行識別,用提取的特征來訓練SVM分類器,用SVM分類器對新的門牌進行分類。

1 卷積神經網絡

隨著計算能力的提升,實驗數據量的擴大,深度學習[7]的研究廣泛地應用于圖像識別、目標檢測、語音識別等領域,并取得了很好的效果[8,9]。卷積神經網絡是一種比較流行的深度學習網絡,與傳統的網絡結構不同,它包含有非常特殊的卷積層和降采樣層,其中卷積層和前一層采用局部連接和權值共享的方式進行連接,從而大大降低了參數數量。降采樣層可以大幅降低輸入的維度,從而降低網絡的復雜度,使網絡具有更高的魯棒性,同時能夠有效地防止過擬合。卷積網絡主要用來識別縮放、位移以及其他形式扭曲不變的二維圖形,并且可以直接以原始圖片作為輸入,無需進行復雜的預處理工作。與傳統機器學習算法最大的不同,卷積神經網絡是自動特征提取。

Yuval Netzer等人[10]提出使用K-means等無監督學習模型自動提取圖像中的特征,用于街景數字識別,其效果遠大于手工提取特征的方法。韓鵬承等[11]在AlexNet網絡改進,馬苗等[12]在LeNet-5上改進,均在SVHN數據集進行識別,對單數字門牌號碼的識別率獲得較高的識別率。

在多數字門牌號碼的識別方面,谷歌公司的Ian J.Goodfellow等人[13]用深度卷積神經網絡在SVHN數據集上訓練了六天,在特定的閾值操作下,精確度達到了96.03%。國內的周成偉[14]利用Faster R-CNN框架實現對字符區域的定位,在獲取字符區域的準確位置之后,利用循環神經網絡(RNN)對該區域包含的字符串進行識別,并在SVHN數據集上進行驗證,但是其識別率并不高。

我們用端到端的方法,構建單個數字識別網絡,在不分割數據情況下,構建另一深度神經網絡,同時識別多個數字,從而對自然場景中的門牌號碼進行序列識別。在LeNet-5的基礎上對算法進行改進,提高自然場景中門牌號碼的識別速度與識別率。

2 構建網絡結構

2.1 數據集簡介

SVHN(Street View House Number)數據集來源于谷歌街景門牌號碼,是一個真實世界的圖像數據集,主要用于開發機器學習和圖象識別算法。SVHN數據集有兩種格式,分別包含訓練集、額外集和測試集三個子集:

(1)裁剪后的數字,由600000多張32×32像素分辨率的圖像組成,是從原始數據集中裁剪出來的單個街景數字。

(2)原始數據集,包含33401張圖片用于訓練,13068張圖片用于測試,另有一組額外的202353張圖片。

我們對兩種數據集分別構建兩種不同的網絡結構,分別是單數字識別網絡結構和多數字識別網絡結構。

2.2 單數字識別網絡結構

該模型是一個6層的網絡結構,包括2個卷積層、2個下采樣層、1個全連接層和1個輸出層。輸入圖像是32×32的門牌街景圖像,設置Padding為1,第一層的卷積層使用大小為5×5的卷積濾波器,卷積步幅為1,該層共有32個卷積濾波器,輸出32個32×32的特征圖。獲得第一層卷積層的輸出后,使用ReLU作為非線性激活函數,最后連接一個窗口大小為2×2,步幅為2的Max pooling層,得到32個16×16的特征圖。第二層的卷積層使用大小為5×5的卷積濾波器,設置Padding為1,卷積步幅為1,該層使用64個卷積濾波器,輸出64個16×16的特征圖,隨后采用和第一層一樣的處理策略,得到64個8×8的特征圖。全連接層的參數為256,在進行全連接時,先對上一層輸出的參數加入Dropout,參數設置為0.6。最后用Softmax進行分類。模型結構如圖1所示。

圖1 單數字識別網絡結構圖

2.3 多數字識別網絡結構

對于多數字,我們識別的長度是有限的,一般門牌號碼都不會超過5位數字,所以我們把長度限定在5位。給定一個圖像X,任務是識別圖像中的數字,要識別的數字是一個多數字,S=s1,s2,s3,...,sn。我們要做的是訓練每個數字的概率模型P,然后將它們組合成一個序列。并行用5個Softmax分類器進行分類。在實驗中,我們引用公式[13]:

該分類器接受從卷積神經網絡X中輸出的特征。其中,S表示給定圖像X中的序列,si是序列中的第i位。每個數字變量si都有10個可能的值。并且每個元素si都要被正確預測才算識別正確,因為只有全部號碼被正確識別,才能在地圖上找到精確的位置。每個字符的argmax是獨立計算的。

多數字模型是一個11層的網絡結構如圖2所示,包括5個卷積層,3個下采樣層,2個全連接層和1個輸出層。所有的卷積核大小都是5×5,步幅為1。第一個卷積層輸出32個32×32的特征面,第二第三個卷積層輸出64個16×16的特征面。第四第五個卷積層輸出128個8×8的特征面。所有的卷積層在輸入上都使用Padding為1的零填充,以保持大小不變。所有的最大池化窗口大小都是2×2,步幅為2。兩個完全連接層包含456個節點。第二個完全連接的層進入并行的5個Softmax分類器,每個分類器有0-10這11個類別,其中0-9表示數字0到9,10表示當前位置沒有數字。這之前還按照以下方法進行數據預處理,首先在原始的SVHN圖像上找到包含單個字符邊界框的小矩形邊界框,通過最小和最大邊框坐標將其合并成一個邊框,然后我們將這個框向四周擴展30%,最后裁剪包含邊框的圖像,并將其調整為32×32像素。由于圖像中數字位數的不同,這就引入了一些比例變化。

3.2 實驗結果與分析

3 實驗

3.1 實驗預處理

卷積神經網絡的工作原理是自動提取分類器所需要的特征,因此本身不需要進行太多的預處理工作來增強數據特征。單數字識別的預處理只是進行了簡單的去均值和灰度化處理,沒有對圖像進行圖像增強或對比度增強等操作?;叶然饺缦拢?/p>

其中Y′表示處理后的灰度圖像,a、b、c分別表示R、G、B分量的數值比重,因為SVHN數據集中的背景偏藍色,所以為了抑制藍色背景信息會適當降低B所占比重,實驗中,我們設置a=0.299、b=0.587、c=0.114。

多數字進行了同樣的去均值和灰度化處理,但在

本文實驗的環境為Windows Server 2008 R2 Enter?prise 64位操作系統,浪潮E5-2407CU,主頻2.4GHz,16GB內存,使用TensorFlow開源庫,Python編程語言。單數字識別我們構建的是一個6層的神經網絡,2個卷積層,2個池化層,1個全連接層和輸出層的訓練模型。多數字識別構建的是11層的神經網絡,5個卷積層,3個池化層,2個全連接層和1個輸出層。實驗總共迭代了50000次,單數字的訓練時間3.5個小時左右,多數字的網絡結構比較復雜,所以訓練了27.5個小時左右。表1是調整單數字識別的一些參數和測試的準確率。

在表1中,C1和C3分別表示第一層和第三層的卷積核大小,從表中可以可知,當卷積核大小都為5×5的時候,Dropout=1.0也就是沒有加入隨機失活(Drop?out)這項超參數時,準確率是94.22%,比Dropout=0.6準確率是95.72%時降低了1.5個百分點,說明加入正則化后能夠適當地提高準確率。我們試著改變卷積核的大小或者是全連接層節點的大小,準確率都會有所降低。我們與 HOG、K-means、LeNet5-SVM、PCA-CNN等方法的準確率進行對比,如表2所示。

我們用混淆矩陣來檢測單數字識別的各個類別精度,如圖3所示,橫坐標的0-9表示實驗預測分類,縱坐標的0-9表示真實分類。

圖3 單個數字類別識別率

我們得到在單數字識別達到95.72%的識別率,多數字識別達到89.14%的識別率,多數字的識別如圖4所示,我們從測試集中隨機抽取10張圖片進行測試,其中有9張能夠正確識別,1張錯誤識別,發現圖片比較模糊,背景顏色和數字之間的對比特征不明顯,我們的模型難以正確識別。

圖4 隨機抽取10張測試圖片的真實分類和預測分類

4 結語

本文提出了兩種卷積網絡模型,一種是單數字識別模型,訓練3.5個小時,識別率為95.72%,表明該模型具有較高的識別率。在構建單個數字識別網絡的基礎上,構建多數字識別的深度神經網絡模型,同時識別多個數字,自然場景門牌號碼的多數字識別率達到89.14%,比單個數字識別低了6.58%,我們根據給定的邊界信息裁剪圖像,用數字邊界來刪除冗余信息,然后將它們規范化。我們設計的多數字識別模型限定了長度,假定最長只有5位數字,每個的數字分類器都需要自己的單獨的權重矩陣,如果加大長度,會占用太多的內存導致程序無法運行。因此,在改進模型和實現其他識別技術方面還有很大的改進空間。

猜你喜歡
識別率網絡結構分類器
學貫中西(6):闡述ML分類器的工作流程
基于樸素Bayes組合的簡易集成分類器①
快遞網絡結構研究進展
基于動態分類器集成系統的卷煙感官質量預測方法
基于AutoML的保護區物種識別①
一種自適應子融合集成多分類器方法
檔案數字化過程中OCR技術的應用分析
基于PCA與MLP感知器的人臉圖像辨識技術
科技文檔中數學表達式的結構分析與識別
人工智能現狀和發展
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合