1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        使用深度學(xué)習(xí)進(jìn)行自動(dòng)車(chē)牌檢測(cè)和識(shí)別

        共 4575字,需瀏覽 10分鐘

         ·

        2021-09-28 02:04

        點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

        重磅干貨,第一時(shí)間送達(dá)

        介紹


        在現(xiàn)代世界的不同方面,信息技術(shù)的大規(guī)模集成導(dǎo)致了將車(chē)輛視為信息系統(tǒng)中的概念資源。由于沒(méi)有任何數(shù)據(jù),自主信息系統(tǒng)就沒(méi)有任何意義,因此需要在現(xiàn)實(shí)和信息系統(tǒng)之間改革車(chē)輛信息。這可以通過(guò)人工代理或特殊智能設(shè)備實(shí)現(xiàn),這些設(shè)備將允許在真實(shí)環(huán)境中通過(guò)車(chē)輛牌照識(shí)別車(chē)輛。在智能設(shè)備中,,提到了車(chē)輛牌照檢測(cè)和識(shí)別系統(tǒng)。車(chē)輛牌照檢測(cè)和識(shí)別系統(tǒng)用于檢測(cè)車(chē)牌,然后識(shí)別車(chē)牌,即從圖像中提取文本,所有這一切都?xì)w功于使用定位算法的計(jì)算模塊,車(chē)牌分割和字符識(shí)別。車(chē)牌檢測(cè)和讀取是一種智能系統(tǒng),由于其在以下幾個(gè)領(lǐng)域的潛在應(yīng)用,因此具有相當(dāng)大的潛力:


        1.指揮部隊(duì):該系統(tǒng)用于檢測(cè)被盜和搜查的車(chē)輛,將檢測(cè)到的車(chē)牌與報(bào)告車(chē)輛的車(chē)牌進(jìn)行比較。

        2.道路安全:該系統(tǒng)用于檢測(cè)超過(guò)一定速度的車(chē)牌,將車(chē)牌讀取系統(tǒng)與道路雷達(dá)耦合。

        3.停車(chē)管理:車(chē)輛進(jìn)出口的管理。


        step1:車(chē)牌檢測(cè)


        為了檢測(cè)許可證,我們將使用基于卷積神經(jīng)網(wǎng)絡(luò)的Yolo(You Only Look One)深度學(xué)習(xí)對(duì)象檢測(cè)體系結(jié)構(gòu)。該體系結(jié)構(gòu)是由Joseph Redmon、Ali Farhadi、Ross Girshick和Santosh Divvala于2015年推出的第一個(gè)版本,以及更高版本2和3。


        論文鏈接:

        Yolo v1:https://arxiv.org/pdf/1506.02640.pdf

        Yolo v2:https://arxiv.org/pdf/1612.08242.pdf

        Yolo v3:https://arxiv.org/pdf/1804.02767.pdf


        Yolo是一個(gè)經(jīng)過(guò)端到端訓(xùn)練的單一網(wǎng)絡(luò),用于執(zhí)行預(yù)測(cè)對(duì)象邊界框和對(duì)象類(lèi)的回歸任務(wù)。這個(gè)網(wǎng)絡(luò)速度非??欤悦棵?5幀的速度實(shí)時(shí)處理圖像。一個(gè)較小的網(wǎng)絡(luò)版本Fast YOLO每秒處理155幀,速度驚人。


        實(shí)現(xiàn)YOLO V3:

        首先,我們準(zhǔn)備了一個(gè)由700張包含突尼斯車(chē)牌的汽車(chē)圖像組成的數(shù)據(jù)集,對(duì)于每張圖像,我們使用一個(gè)名為L(zhǎng)abelImg的桌面應(yīng)用程序創(chuàng)建一個(gè)xml文件(之后更改為文本文件,其中包含與Darknet配置文件輸入兼容的坐標(biāo)。Darknet:project用于重新培訓(xùn)YOLO預(yù)訓(xùn)練模型)。

        # First download Darknet project$ git clone https://github.com/pjreddie/darknet.git# in "darknet/Makefile" put affect 1 to OpenCV, CUDNN and GPU if you # want to train with you GPU then time thos two commands$ cd darknet$ make# Load convert.py to change labels (xml files) into the appropriate # format that darknet understand and past it under darknet/   https://github.com/GuiltyNeuron/ANPR# Unzip the dataset$ unzip dataset.zip# Create two folders, one for the images and the other for labels$ mkdir darknet/images$ mkdir darknet/labels# Convert labels format and create files with location of images# for the test and the training$ python convert.py# Create a folder under darknet/ that will contain your data$ mkdir darknet/custom# Move files train.txt and test.txt that contains data path to# custom folder$ mv train.txt custom/$ mv test.txt custom/# Create file to put licence plate class name "LP"$ touch darknet/custom/classes.names$ echo LP > classes.names# Create Backup folder to save weights$ mkdir custom/weights# Create a file contains information about data and cfg # files locations$ touch darknet/custom/darknet.data# in darknet/custom/darknet.data file paste those informationsclasses = 1train  = custom/train.txtvalid  = custom/test.txtnames = custom/classes.namesbackup = custom/weights/# Copy and paste yolo config file in "darknet/custom"$ cp darknet/cfg/yolov3.cfg darknet/custom# Open yolov3.cfg and change :# " filters=(classes + 5)*3" just the ones before "Yolo"# in our case classes=1, so filters=18# change classes=... to classes=1# Download pretrained model$ wget https://pjreddie.com/media/files/darknet53.conv.74 -O ~/darknet/darknet53.conv.74# Let's train our model !!!!!!!!!!!!!!!!!!!!!$ ./darknet detector train custom/darknet.data custom/yolov3.cfg darknet53.conv.74

        完成訓(xùn)練后,要從圖像中檢測(cè)發(fā)光板,請(qǐng)從darknet/custom/weights中選擇最新的模型,并將其路徑或名稱放入object_detection_yolo.py文件中,我們還將使用yolov3.cfg文件,僅在該文件中,在訓(xùn)練前放入,以便我們可以先刪除訓(xùn)練,然后運(yùn)行:

        python object-detection_yolo.py --image= image.jpg

        運(yùn)行結(jié)果:



        Step2:車(chē)牌檢測(cè)


        現(xiàn)在我們必須分段我們的車(chē)牌號(hào),輸入是板的圖像,我們必須能夠提取單字符圖像。這一步驟的結(jié)果作為識(shí)別階段的輸入非常重要。在自動(dòng)讀取車(chē)牌的系統(tǒng)中。分割是車(chē)牌自動(dòng)識(shí)別最重要的過(guò)程之一,因?yàn)槿魏纹渌襟E都是基于分割的。如果分割失敗,識(shí)別階段將不正確。為確保正確分割,必須執(zhí)行初步處理。


        像素投影直方圖包括查找每個(gè)字符的上下限、左下限和右上限,我們操作水平投影以查找字符的頂部和底部位置,一組直方圖的值是沿水平方向上特定線的白色像素的總和。當(dāng)所有的值沿水平方向的所有直線進(jìn)行計(jì)算,得到水平投影直方圖。然后將直方圖的平均值用作閾值,以確定上限和下限。直方圖分段大于閾值的中心區(qū)域記錄為由上限和下限分隔的區(qū)域。然后,我們以同樣的方式計(jì)算垂直投影直方圖,但通過(guò)按圖像的列更改行,使每個(gè)字符具有兩個(gè)限制(左和右)。

        從車(chē)牌中提取數(shù)字的另一種方法是使用開(kāi)/關(guān)形態(tài)學(xué)來(lái)制作某種連接區(qū)域,然后使用連接組件算法來(lái)提取連接區(qū)域。


        Step3:車(chē)牌識(shí)別


        識(shí)別階段是自動(dòng)車(chē)牌閱讀器系統(tǒng)開(kāi)發(fā)的最后一步。因此,它關(guān)閉圖像采集過(guò)程中經(jīng)過(guò)的所有過(guò)程,然后是板的位置,直到分割。識(shí)別必須從分割階段結(jié)束時(shí)獲得的圖像中提取字符。用于此識(shí)別的學(xué)習(xí)模型必須能夠讀取圖像并渲染相應(yīng)的字符。


        為了最大限度地利用可用于學(xué)習(xí)的數(shù)據(jù),我們?cè)趹?yīng)用車(chē)牌分割之前使用的相同圖像處理步驟后,通過(guò)在正方形中調(diào)整每個(gè)字符的大小來(lái)單獨(dú)切割每個(gè)字符。結(jié)果,我們獲得了一組由11個(gè)類(lèi)組成的數(shù)據(jù),對(duì)于每個(gè)類(lèi),我們有30-40張28X28像素尺寸的PNG格式的圖像;從0到9的數(shù)字和阿拉伯語(yǔ)單詞(突尼斯)。


        然后,我們?cè)诳茖W(xué)論文的基礎(chǔ)上對(duì)多層感知器(MLP)和分類(lèi)器K近鄰(KNN)進(jìn)行了比較研究。結(jié)果我們發(fā)現(xiàn):如果使用MLP分類(lèi)器時(shí)隱層神經(jīng)元的數(shù)量也增加,并且如果使用KNN時(shí)最近鄰數(shù)也增加,則性能會(huì)提高。在這里,調(diào)整k-NN分類(lèi)器性能的能力非常有限。但是,可調(diào)整的隱藏層數(shù)量和可調(diào)整的MLP連接權(quán)重為細(xì)化決策區(qū)域提供了更大的機(jī)會(huì)。因此,我們將在此階段選擇多層感知器。


        本文代碼Github鏈接:

        https://github.com/GuiltyNeuron/ANPR


        好消息,小白學(xué)視覺(jué)團(tuán)隊(duì)的知識(shí)星球開(kāi)通啦,為了感謝大家的支持與厚愛(ài),團(tuán)隊(duì)決定將價(jià)值149元的知識(shí)星球現(xiàn)時(shí)免費(fèi)加入。各位小伙伴們要抓住機(jī)會(huì)哦!


        下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
        在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

        下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講
        小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測(cè)、車(chē)道線檢測(cè)、車(chē)輛計(jì)數(shù)、添加眼線、車(chē)牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

        下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
        小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

        交流群


        歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


        瀏覽 51
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日本免费一区二区三曲 | 有坂深雪av一区福利中出 | 欧美三级片在线视频 | 国产传媒一区二区在线观看 | 欧美三级片在线视频 | 丁香五月婷婷激情四射 | 成人免费在线观看 | 91在线无码精品秘 在线看 | 大香蕉6 骚逼随便操 | 国产精品入口夜色视频大尺度 |