來源:Python愛好者社區python
做者:徐靜git
徐靜 AI圖像算法工程師github
我的主頁: https://dataxujing.github.io/算法
項目地址:架構
https://github.com/DataXujing/vehicle-license-plate-recognition (歡迎Issues)機器學習
安裝程序下載地址:ide
https://pan.baidu.com/s/1IazbGFLlQkb8BQmK_EAeRA 提取碼:v103學習
1.車牌檢測和識別項目介紹測試
車牌的檢測和識別的應用很是普遍,好比交通違章車牌追蹤,小區或地下車庫門禁。在對車牌識別和檢測的過程當中,由於車牌每每是規整的矩形,長寬比相對固定,色調紋理相對固定,經常使用的方法有:基於形狀、基於色調、基於紋理、基於文字特徵等方法,近年來隨着深度學習的發展也會使用目標檢測的一些深度學習方法。該項目主要的流程以下圖所示:.net
1.輸入原始圖片,經過二值化,邊緣檢測,和基於色調的顏色微調等辦法檢測出原圖中的車牌號的位置;
2.把檢測到的車牌(ROI)裁剪,爲車牌號的識別作準備;
3.基於裁剪的車牌號,使用直方圖的波峯波谷分割裁剪的車牌號(如上圖中的第3步)
4.訓練機器學習模型作車牌識別,這裏訓練了2個SVM,一個SVM用來識別省份簡稱(如 魯),另外一個SVM用來識別字母和數字。
5.經過PyQt5把整個算法封裝成GUI程序,並打包發佈安裝軟件。
2.項目代碼解析
下圖描述了整個項目的代碼結構,能夠訪問https://github.com/DataXujing/vehicle-license-plate-recognition 查看,其結構以下:
3.項目演示
能夠經過訪問項目地址 ( https://github.com/DataXujing/vehicle-license-plate-recognition )查看整個應用,或者訪問安裝程序下載地址 (https://pan.baidu.com/s/1IazbGFLlQkb8BQmK_EAeRA 提取碼:v103 )安裝安裝程序進行測試,這裏展現一些識別結果和測試視頻:
4.TODO
目前識別的效果針對於某些場景下仍然很不理想,技術層面上的主要緣由有兩個,一個是車牌檢測算法並無檢測到車牌(這主要是檢測算法的問題),能夠嘗試一些目標檢測的算法,好比Faster R-CNN(速度可能慢一些),YOLO系列, SSD系列等的經典的目標檢測算法,而後作矯正或進一步的區域篩選;另外一個緣由是是在識別算法上,本次咱們僅是基於少許的訓練數據訓練了SVM,能夠嘗試增長訓練集並把模型替換成一些更復雜的機器學習模型如XGBoost,LightGBM,CatBoost等模型或使用CNN訓練一個多分類的深度學習模型, 亦或者是直接考慮一些基於Attention的CNN-RNN架構的OCR識別模型。
Reference
http://www.javashuo.com/article/p-xsvvduhs-hv.html
車牌號識別 python + opencv
License-Plate-Recognition
.車牌識別(一)-車牌定位
在PyQt5中美化和裝扮圖形界面