我用AI回懟美女汽車銷售系列[yolo車牌識別](一)
事情的起因
做了這么多年程序猿,正當我準備買輛代步車犒勞日益飆升的發(fā)際線,糾結于新能源還是油車之時,某新能源美女銷售直接跟我說“現(xiàn)在買油車的都是傻子,誰還考慮買油車”。我感覺受到了極大的侮辱,這不是在說我嘛。隨后,美女銷售稍微放緩態(tài)度,說銷售不騙人,讓我自己去路上看看,路上開的一大半都是電車。作為愛較真的我,對“路上一大半是電車”的結論深表懷疑。但是又苦于拿不出證據(jù)。于是我準備對路上的汽車進行一個較大的采樣和統(tǒng)計。然后狠狠的懟回去。到時候,美女銷售一定會被我的智慧所深深折服。。。

有了上面的起因。我就準備著手開始統(tǒng)計路上的油車和新能源車的比例。而最容易的判斷就是車牌。藍牌為油車,綠牌為電車。于是就想著使用目標檢測訓練一個識別藍牌與綠牌的網(wǎng)絡。然后帶著筆記本到外面兜一圈,不就可以快速且自動的統(tǒng)計了。

正當我慶幸自己的聰明才智之時,一個致命缺陷出現(xiàn)了。就是由于只是判斷藍牌和綠牌,那么當攝像頭對著同一輛車的時候(例如等紅燈),這一輛車會被統(tǒng)計非常多次,這無疑對最后的統(tǒng)計結果產(chǎn)生較大的偏差。因此不能只識別藍牌還是綠牌,需要對車牌號進行識別,一個車牌號只統(tǒng)計一次。多次檢測到同一個車牌號需要丟棄。問題似乎變得復雜了一些,從單純的目標檢測變成了車牌識別。然后為了折服美女銷售,我并沒有打算放棄。

?????
實際上已經(jīng)有一些車牌識別的成熟網(wǎng)絡存在。然而作為愛折騰且愛較真的直男,我不想直接拿一個現(xiàn)成的車牌識別網(wǎng)絡進行調用,那樣太沒有樂趣了。于是就想直接用目標檢測網(wǎng)絡擴展一個車牌識別網(wǎng)絡出來。自己設計網(wǎng)絡,才更有樂趣和成就感!由于以前從來沒有做過車牌車別以及OCR之類的工作。憑著直覺感覺應該不難(針對我這個項目確實不難,因為不需要一些苛刻條件下的識別,并且識別錯誤幾個數(shù)值影響不大)。因此我準備直接在比較流行的檢測網(wǎng)絡(yolox)上擴展一個車牌識別的網(wǎng)絡。設計的網(wǎng)絡如下,大致上是一個two stage的流程,先用傳統(tǒng)的yolox檢測出車牌,然后通過RoiAlign從特征圖中摳出車牌進行后面網(wǎng)絡的車牌識別(使用簡單的分類)。

為了驗證該網(wǎng)絡的可行性,我決定先做一個實驗。并且為了降低編碼復雜性,我準備把網(wǎng)絡一拆為二,使用yolox進行車牌的檢測,然后將車牌從原圖中摳出來,送到一個獨立的分類網(wǎng)絡進行車牌的分類。我們知道車牌有藍牌和綠牌之分,藍牌的位數(shù)是7位,綠牌的位數(shù)是8位,于是使用了兩個分類網(wǎng)絡,一個做藍牌的識別,一個做綠牌的識別。檢測網(wǎng)絡負責檢測藍牌和綠牌,檢測出藍牌,摳圖后送入藍牌分類網(wǎng)絡,檢測出綠牌,摳圖后送入綠牌分類網(wǎng)絡。

設計好網(wǎng)絡,下面就是訓練數(shù)據(jù)了。這是深度學習一個繞不過去的坑。好在車牌識別這種通用任務,已經(jīng)有一些比較好的開源數(shù)據(jù)集了。我這里使用CCPD數(shù)據(jù)集。
CCPD數(shù)據(jù)集簡介
由中科大團隊建立,并發(fā)表在ECCV2018會議上,論文題目是《Towards End-to-End License Plate Detection and Recognition: A Large Dataset and Baseline》官網(wǎng)地址是?https://github.com/detectRecog/CCPD
該數(shù)據(jù)集在合肥市的停車場采集得來的,采集時間早上7:30到晚上10:00。涉及多種復雜環(huán)境,包括模糊、傾斜、陰雨天等等。CCPD數(shù)據(jù)集一共包含將近30萬張圖片,每種圖片大小720x1160x3。
CCPD數(shù)據(jù)集類型
一共包含8種類型,具體如下:

另外在2020年,CCPD專門增加了新能源車的類別。這個要注意,針對我這個項目,CCPD2020必須要下載,否則缺少新能源車的綠牌樣本。
CCPD部分圖片展示

CCPD的標注格式
通過文件名來標注車牌相關的信息,例如下面的圖片文件名:

由分隔符'-'將文件名分成幾個部分:
025為區(qū)域,?
95_113 對應兩個角度, 水平95°, 豎直113°
154&383_386&473對應邊界框坐標:左上(154, 383), 右下(386, 473)
386&473_177&454_154&383_363&402對應四個角點坐標
0_0_22_27_27_33_16為車牌號碼,CCPD有兩個映射字典。一個省份字典,即將各個省份映射為一個數(shù)字,另一個是字符字典,將各個字符映射為一個數(shù)字,部分字典如下圖所示,詳細的字典信息可以查看CCPD官網(wǎng)。

總結
感謝觀眾老爺能看到最后,這期主要講解了事情的起因,以及網(wǎng)絡的設計,數(shù)據(jù)的采集。下一期將要對網(wǎng)絡進行訓練和調試,期間會遇到什么問題呢,能否順利采集到新能源車的比例,并回懟美女銷售呢?敬請期待下一期。