車牌識別1:License Plate Detection and Recognition in Unconstrained Scenarios閱讀筆記

(1)簡介

論文下載地址:License Plate Detection and Recognition in Unconstrained Scenarios?[pdf]?
github 的項目地址:alpr-unconstrained

工程主頁:alpr-datasets

視頻效果: Demi Lovato Rock in Riio Lisboa 2018

本文選自ECCV2018的論文《License Plate Detection and Recognition in Unconstrained Scenarios? ( 復(fù)雜| 無約束 場景下的車牌檢測和識別)》。該論文不進給出了一套完整的車配識別系統(tǒng)( Automatic License Plate Recognition system,ALPR system)的解決方案,而且提供了在無約束(Unconstrained Scenarios)場景下的識別算法, 很好的解決了實際生活中的車牌識別問題。

(2)motivation:

目前很多ALPR系統(tǒng)對正面拍攝車牌照片識別效果良好,但是在多變的角度和場景(光線)下車牌往往是傾斜的,導(dǎo)致識別的效果并不如意。


數(shù)據(jù)集中存在的傾斜車牌


基于此,這篇文章提出了一種完整的ALPR系統(tǒng),可以在各種場景下具有良好的表現(xiàn)。在這篇文章的貢獻主要有兩個:

1. 介紹了一種新穎的神經(jīng)網(wǎng)絡(luò),能夠檢測出不同場景環(huán)境下的車牌;并在OCR之前對變形的進行校正

2. 利用真實數(shù)據(jù)合成多樣的車牌,用于訓(xùn)練。手動標注的樣本了少于200個,并且是從頭開始訓(xùn)練網(wǎng)絡(luò)


(2)實現(xiàn)方法

ALPR 的主要任務(wù)是 在圖像中找到并識別車牌(license plates );通常情況下會分為4個子任務(wù)序列:

1. 車輛檢測(vehicle detection) ;?

?2.? 車牌檢測(? license plate detection);?

3. 字符分割( character segmentation)

4. 字符識別( character recognition)

而子任務(wù)3和4可以看做OCR;? 所以一共有3個子任務(wù):vehicle detection, license plate detection, OCR.? 這篇文章也是按照這三個子任務(wù)的順序進行展開的,如下圖所示。文章中的ALPR系統(tǒng)分為: 基于YOLOv3 的車輛識別 --> 車牌的檢測和校正--> 車牌的OCR識別。

示例流程


車輛的檢測


考慮車輛的檢測的需要使用的較少的時間,于是借用了YUOLOv3的模型與darknet框架進行檢測的; 使用 YOLOv3的主要原因是: 1 . 檢測速度很快(大約是70 FPS );? 2. 識別的準確率較高,在PASCAL VOC數(shù)據(jù)集中的測試結(jié)果是76.8% mPA.? 在這篇文章中,將YOLOv3直接拿來使用,同時忽略了除了cars以外的其他類別;

PS :?

Yolov3 相比于Faster RCNN 確實很快,但是也有致命的缺陷: 不能識別出特別小的物體。如果在實際應(yīng)用中需要在一張很大的圖像上識別很小的車,建議重新訓(xùn)練

另外,YOLOv3 中具有車牌的物體不僅僅是cars, 還有bus和truck;這兩個類別在程序中確被忽略的。

原文:

原文解釋


對于檢測出的正樣本,將會被resized 之后,送入車牌檢測模塊。resize的計算方式如下:

計算resize 因子:


(1)中,Wv和Hv是識別車輛后的圖像大小, Dmin和Dmax是常量,分別是288和608

通過這種縮放計算以后,包含有車輛的圖片會被統(tǒng)一成大小為 288*608大小的圖片;


車牌的檢測和校正

(不知道校正這個詞用的對不對,貼出原文:License Plate Detection and Unwarping )

在車牌的檢測模塊中,作者提出了一種基于CNN 的物體檢測網(wǎng)絡(luò):?Warped Planar Object Detection Network,WPOD網(wǎng)絡(luò), 該網(wǎng)絡(luò)是從YOLO\ SSD\ STN中獲得靈感,但是并沒有計算spatial transformations,我想可能是減少時間復(fù)雜度。

WOPD的檢測流程如下:

可以看出來,在檢測出車牌以后,還會對傾斜的車牌進行校正;現(xiàn)在需要關(guān)注的部分有兩點:
1. WPOD是如何設(shè)計的?
2. 如何進行車牌校正的?

檢測車牌的整個流程


好,回答第一個問題: WPOD的設(shè)計:

網(wǎng)絡(luò)結(jié)構(gòu)如下,可以看出在最后一層的DETECTION上又兩個并行的網(wǎng)絡(luò),具體看下圖或論文;

另一個兩點是loss function的計算方式有所改變。

WPOD的細節(jié)

整個WPOD net的訓(xùn)練樣本有196張,可以算得上是小樣本了。這193張圖片中,有105張是從Cas數(shù)據(jù)集中篩選的,有40張來自SSIC數(shù)據(jù)集,52張來自AOLP數(shù)據(jù)集。這些選出的車牌圖片包含了歐洲、美國、巴西和臺灣的車牌;


訓(xùn)練數(shù)據(jù)樣本


車牌的校正過程,文章沒有提,我想開源代碼里面應(yīng)該會有的;最近剛看完檢測部分的代碼

所識別和校正后的車牌圖片(車牌的識別在OCR部分)


OCR

用于文字的切割和識別的網(wǎng)絡(luò)是基于YOLO進行修改的;這部分值得一提的是樣本生成的方法;

PS:? 這里如果使用CRNN的話,效果可能會更好;尤其是當(dāng)車牌存在語義關(guān)系的時候,例如:中文車牌就具有語義關(guān)系,車牌的第一位是漢字,第二位是大寫字母, 后幾位是數(shù)字加字母的情況;



生成車牌數(shù)據(jù)的流程



結(jié)果



備注:

loss 的計算方式和車牌的校正方法, 這兩個應(yīng)該在在閱讀代碼的時候找到對應(yīng)的程序片段;

待理解以后,會寫出對loss的理解


敬請期待~



by 2018/11/14

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容