(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)致識別的效果并不如意。

基于此,這篇文章提出了一種完整的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 因子:

通過這種縮放計算以后,包含有車輛的圖片會被統(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 net的訓(xùn)練樣本有196張,可以算得上是小樣本了。這193張圖片中,有105張是從Cas數(shù)據(jù)集中篩選的,有40張來自SSIC數(shù)據(jù)集,52張來自AOLP數(shù)據(jù)集。這些選出的車牌圖片包含了歐洲、美國、巴西和臺灣的車牌;

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

OCR
用于文字的切割和識別的網(wǎng)絡(luò)是基于YOLO進行修改的;這部分值得一提的是樣本生成的方法;
PS:? 這里如果使用CRNN的話,效果可能會更好;尤其是當(dāng)車牌存在語義關(guān)系的時候,例如:中文車牌就具有語義關(guān)系,車牌的第一位是漢字,第二位是大寫字母, 后幾位是數(shù)字加字母的情況;

結(jié)果

備注:
loss 的計算方式和車牌的校正方法, 這兩個應(yīng)該在在閱讀代碼的時候找到對應(yīng)的程序片段;
待理解以后,會寫出對loss的理解
敬請期待~
by 2018/11/14