車牌檢測和識別,很久沒關(guān)注了。作者提出了一個一體化的深度網(wǎng)絡(luò),同時進(jìn)行車牌的檢測和識別,在識別時不需要字符分割,而是使用帶有CTC的RNN網(wǎng)絡(luò),具體的實(shí)現(xiàn)細(xì)節(jié)在論文的參考論文【14】中。
模型首先使用卷積層應(yīng)用到輸入圖像,之后提取車牌proposals,接下來使用RoI池化層和MLP進(jìn)行車牌檢測和bbox回歸,同時使用帶有CTC的RNN進(jìn)行牌照識別,網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示:
車牌檢測網(wǎng)絡(luò):
車牌檢測判斷提供的RoIs是否為車牌,兩個fc層加一個dropout層將特征圖轉(zhuǎn)化為向量,編碼的特征用于車牌打分和bbox回歸。
車牌識別網(wǎng)絡(luò):
為了避免進(jìn)行字符分割,將車牌識別作為序列標(biāo)記問題,帶有CTC損失的雙向RNN(BRNN),用于標(biāo)記序列特征,如圖2所示:
對于RoI池化后的特征,先經(jīng)過兩個卷積層,兩個卷積層之間有一個矩形池化層,這對于識別窄字符有效,這些操作將車牌區(qū)域特征變換為序列D×L,D=512,L=19。使用V=(V1,V2,...,VL)表示。
BRNN應(yīng)用到V,兩個相互分離的RNN,其中一個前向處理特征序列,另外一個后向處理序列。兩個隱含的狀態(tài)級聯(lián)一起,輸入具有37個輸出的線性變換中。接下來是Softmax層,將37個輸出轉(zhuǎn)換到概率,對應(yīng)26個字母,10個數(shù)字及一個非字符類的概率。經(jīng)過BRNN編碼,特征序列轉(zhuǎn)換到與L具有相同長度的概率估計q=(q1,q2,...,qL),BRNN獲取了豐富的上下文信息,字符識別將會更準(zhǔn)確。為了解決RNN訓(xùn)練中的梯度消失問題,使用了LSTM。LSTM定義了記憶細(xì)胞,三個乘法門,可以選擇性的保存信息。
CTC層被用來做序列解碼,通過BRNN的輸出序列尋找具有最大概率的近似最優(yōu)路徑,即,
π是標(biāo)記的序列,B算子用于一處重復(fù)的標(biāo)記及非字符標(biāo)記,示例為:B(a?a?b?)=B(?a??a?bb)=(aab)。CTC具體的細(xì)節(jié)在論文【A novel connectionist system for unconstrained handwriting recognition】。根據(jù)CTC的損失函數(shù),車牌識別的目標(biāo)函數(shù)為網(wǎng)絡(luò)輸出正確標(biāo)記的負(fù)log概率,即:
整個檢測和識別網(wǎng)絡(luò)多任務(wù)損失為:
|