向AI轉型的程序員都關注了這個號👇👇👇python
人工智能大數據與深度學習 公衆號:datayx程序員
1.車牌定位
咱們能夠經過圖像分割算法對一張輸入圖片進行分割,分割後的圖形實際上是對原圖中的區域進行的分類標註,例如這裏咱們能夠將原圖標註爲2類,一類就是車牌區域,還有一類就是無關的背景區域。說到標註圖形就不得不說labelme了,咱們能夠在cmd界面經過命令 pip install labelme 進行labelme庫的安裝,安裝結束在cmd界面輸入labelme便可打開lablem軟件的標註界面以下:面試
3. 準備好上述一切就能夠開始標註了,點擊軟件左側的 這是畫任意多邊形的按鈕,鼠標左鍵點擊進行標註,最後雙擊鼠標左鍵會鎖定標註區域,出現以下圖界面,第一次標註需輸入名稱,後續標註就自動顯示了,點擊ok後標註的線條變爲紅色,同時json文件夾也會相應保存和pic名字對應的json文件:flask
4. 所有標註結束後,使用以下代碼將json數據提取出來並保存到train_image和train_label文件夾中,u-net部分的數據集我一共標註了1200多張,最終效果很棒,達到了定位的效果。瀏覽器
標註好的u-net訓練圖片就準備好了,分別在train_image和train_label文件夾中,一併放在unet_datasets文件夾內,以下圖所示:
微信
接下來是u-net模型搭建和訓練,使用tensorflow的keras實現,貼一下我訓練u-net用的代碼:網絡
代碼 ,模型 獲取方式
關注微信公衆號 datayx 而後回覆 unet 便可獲取。
AI項目體驗地址 https://loveai.tech
2.車牌矯正
訓練u-net獲得unet.h5
u-net分割和cv2矯正的代碼
上述代碼關鍵部分是要獲取車牌四邊形的四個頂點,一開始只使用cont中座標到外接矩形四個端點的距離,發現對於傾斜度很高的車牌效果可能不佳,見下圖,能夠觀察到,計算獲得的4個黃色座標中,左右有2個黃色點並不處在四邊形的頂點位置,這樣矯正效果大打折扣,同時也會影響後續的識別效果
發現上述問題後,我又想了個方法就是加入了上述的point_to_line_distance函數,即還計算座標點到上下兩條邊的距離,並添加了權重,通過調整權重設置爲0.975倍的點線距離,0.025點到端點距離時總體效果較佳,最終矯正效果以下圖:
閱讀過本文的人還看了如下文章:
基於40萬表格數據集TableBank,用MaskRCNN作表格檢測
《深度學習入門:基於Python的理論與實現》高清中文PDF+源碼
2019最新《PyTorch天然語言處理》英、中文版PDF+源碼
《21個項目玩轉深度學習:基於TensorFlow的實踐詳解》完整版PDF+附書代碼
PyTorch深度學習快速實戰入門《pytorch-handbook》
【下載】豆瓣評分8.1,《機器學習實戰:基於Scikit-Learn和TensorFlow》
李沐大神開源《動手學深度學習》,加州伯克利深度學習(2019春)教材
【Keras】完整實現‘交通標誌’分類、‘票據’分類兩個項目,讓你掌握深度學習圖像分類
如何利用全新的決策樹集成級聯結構gcForest作特徵工程並打分?
Machine Learning Yearning 中文翻譯稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學習與特徵工程
不斷更新資源
深度學習、機器學習、數據分析、python
搜索公衆號添加: datayx
機大數據技術與機器學習工程
搜索公衆號添加: datanlp
長按圖片,識別二維碼
本文分享自微信公衆號 - 機器學習AI算法工程(datayx)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。