亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的車牌識別系統(tǒng)的設(shè)計

        2021-12-16 14:03:56岳楓力

        岳楓力,馬 靜

        (四川工商學院電子信息工程學院,四川 成都 611745)

        隨著電子信息技術(shù)的不斷發(fā)展,車牌識別系統(tǒng)不斷被運用與交通管理系統(tǒng)中。但由于傳統(tǒng)的車牌識別系統(tǒng)存在成本高、難以推廣等問題,導致其運用困難,為了解決這些問題,迫切需要依靠FPGA 優(yōu)秀的并行處理能力和豐富的硬件資源,有效提高系統(tǒng)的執(zhí)行效率,降低系統(tǒng)成本以便于廣泛運用。

        1 硬件環(huán)境

        傳統(tǒng)由于FPGA 可編程性和并行執(zhí)行效率,以往通常被用于特定功能電路的實現(xiàn)。但隨著新的技術(shù)要求出現(xiàn),F(xiàn)PGA 已不再局限于傳統(tǒng)的接口、信號處理等方面。

        1.1 ZYNQ 及其配置

        本次設(shè)計采用的核心處理芯片為ZYNQ-7000 系列的xc7z020clg400-2,該ZYNQ 芯片內(nèi)部由PS+PL 構(gòu)成;PS 部分由ARM 的A9 雙核構(gòu)成,PL 部分為FPGA邏輯電路。通過芯片內(nèi)部架構(gòu)可知:PL 與PS 通過EMIO、DMA、32b GP AXI Port、HP AXI Port 等接口實現(xiàn)數(shù)據(jù)交互,PS 部分與外圍電路交互則通過GPIO或EMIO;需要注意的是,EMIO 不僅可以將PS 連接到PL 的硬件資源也可以將其直接連接到PL 的輸出管腳。ZYNQ 系列的接口分為MIO 與EMIO,Xilinx 在Vivado中定義了每個MIO 管腳可以通過復用實現(xiàn)多種功能,但是具體實現(xiàn)什么功能則由外圍硬件電路決定。本設(shè)計使用1Gb DDR3 內(nèi)存空間,芯片為NT5CB256M16EPDI。

        1.2 OV7725

        采用OV7725 攝像頭進行車牌圖像的拍攝,OV7725 是一種低電壓的CMOS 器件,其提供一個單片VGA 攝像機和部分圖像處理功能。OV7725 的感光陣列為640*480,最快能夠?qū)崿F(xiàn)60fps 采集,輸出為RGB565 格式。OV7725 的功能和配置均由其內(nèi)部的寄存器實現(xiàn),相關(guān)寄存器由主機通過SCCB 對作為從機的OV7725 進行配置。OV7725 內(nèi)部集成了部分圖像處理的功能,包括自動曝光控制、自動增益控制和自動白平衡等。

        SCCB 即串行攝像機控制總線協(xié)議通道。SCCB 有兩線模式和三線模式,本設(shè)計中只對一個從機進行配置,故選擇兩線模式,該模式由一根串行時鐘線和一根雙向數(shù)據(jù)線構(gòu)成。

        2 圖像捕獲

        在圖像捕獲階段,本設(shè)計要求能夠?qū)崿F(xiàn)對車牌圖像的拍攝、保存;同時為了方便圖像的捕獲,攝像頭所捕獲的實時畫面應(yīng)當顯示在屏幕上,起到攝像頭監(jiān)視器的作用。

        2.1 VDMA

        由于攝像頭和屏幕之間數(shù)據(jù)傳輸存在速率差,因此采用VDMA IP 核進行數(shù)據(jù)緩沖防止出現(xiàn)畫面撕裂。VDMA 可以方便的提供雙緩沖和多緩沖機制。

        本次設(shè)計采用Dynamic Genlock 模式,在此模式下VDMA 有多個緩存幀,主機和從機按順序?qū)懟蜃x緩存幀,當從機操作某一緩存幀時,主機會跳過該幀而寫操作其他幀,從而實現(xiàn)讓圖像數(shù)據(jù)緩沖的IP 核。DMA 數(shù)據(jù)接口可以分為讀、寫通道,用戶可以通過寫通道將AXI-Stream 類型的數(shù)據(jù)流寫入DDR3,通過讀通道可以從DDR3 讀取數(shù)據(jù),并以AXI-Stream 類型輸出。

        由OV7725 攝像頭采集得到的圖像數(shù)據(jù)通過AXIStream to video in IP 核轉(zhuǎn)化成為AXI-Stream 格式數(shù)據(jù),并傳輸給VDMA IP 核,同時rgb2lcd ip 核通過AXI-Stream to Video Out IP 核通過AXI-Stream通道從VDMA 讀取圖像并轉(zhuǎn)換為RGB 格式數(shù)據(jù)輸出并顯示。

        視頻流數(shù)據(jù)經(jīng)過 Video in to AXI4-Stream IP 核轉(zhuǎn)換成 AXI4-Stream IP 格式數(shù)據(jù)流, 然后通過 VDMA 的寫通道轉(zhuǎn)成 AXI4 Memory Map 格式,并最終寫入 DDR 內(nèi)存中。VDMA 從 DDR3 中讀取的視頻或圖像數(shù)據(jù)傳輸給 AXI4-Stream to Video Out IP 核。AXI4-Stream to Video Out IP 核在 VTC IP 核的控制下,把 AXI4-Stream 格式的數(shù)據(jù)轉(zhuǎn)換成視頻輸出的數(shù)據(jù)格式(如 RGB888),并將輸出的視頻數(shù)據(jù)流連接至 rgb2lcd IP 核的輸入端(rgb2lcd)。rgb2lcd IP 核實現(xiàn)了獲取 LCD 屏的 ID 功能和以及將 LCD 屏的引腳封裝到總線接口上,以方便將LCD引腳引出至頂層模塊端口上。

        2.2 圖像緩存

        本設(shè)計采用PS 控制VDMA IP 核以實現(xiàn)圖像的拍攝,當按鍵按下后,作為從機的PS 端暫停VDMA 從機讀操作,并從當前讀操作執(zhí)行的緩存幀中拷貝當前的圖像數(shù)據(jù)以實現(xiàn)拍照功能。當拷貝完成后,恢復讀操作。本次設(shè)計中,所有存儲空間均在DDR3 空間內(nèi)劃分。其中,DDR 地址0x1100000 為捕獲圖片的緩存地址, 0x01000000 以下的地址用作PS、PL 程序執(zhí)行所占用地址。

        3 圖像處理

        3.1 預處理

        由于本設(shè)計采用OV7725 攝像頭,其拍攝輸出圖像為上下鏡像的圖片,在進行下一步處理前需要對其進行鏡像處理使圖像回正。

        (1)灰度處理

        灰度是指黑白圖像中的顏色深度,范圍一般0-255,白色為255,黑色為0。使用灰度對彩色圖像進行處理,可以得到高質(zhì)量黑白圖,與彩色圖像相對比,灰度圖像由于其不含有色相其細節(jié)度往往高于RGB 圖片。在本次設(shè)計中采用移位法得到Gray 值,將原來的RGB 中的三個通道的值統(tǒng)一用Gray 替換,將RGB 888 圖像轉(zhuǎn)換為灰度圖像。

        (2)OTSU 算法

        OTSU 算法又稱“大津法”,這是一種用于確定二值化圖像分割閾值的算法,利用此算法可以實現(xiàn)對二值化最佳閾值的自適應(yīng)計算,經(jīng)此算法計算得到的二值化閾值可以在一定程度上排除環(huán)境、鏡頭畸變帶來的影響[1]。

        其實現(xiàn)步驟為:首先對完成灰度處理的圖像的每個像素進行遍歷,統(tǒng)計每個灰度級的素數(shù)數(shù)量,并計算其所占總像素的比例。再進行灰度級的遍歷,計算其中前景和背景部分的灰度均值,將其帶入類間方差公式得到類間方差最大值并得到對應(yīng)的灰度級,這里得到的灰度級即為閾值。

        依照此閾值對灰度處理后的圖像進行遍歷操作,當RGB 通道中任意值大于閾值乘0.9,則對其進行填充0xffffff,否則對其填充0x000000。這里乘0.9 是為了進一步調(diào)整圖像的閾值,從而排除由于OV7725是魚眼鏡頭而產(chǎn)生畸變導致亮度變化而出現(xiàn)的誤差。

        (3)腐蝕膨脹

        本設(shè)計中,對二值化后的圖像去除周圍邊框后進行掃描,本設(shè)計中每一個像素的DDR 地址組成為:基底地址+長*寬*3,對每一個像素周圍八個像素進行掃描即對(長-1)*寬*3、(長+1)*寬*3、(長-1)* (寬-1)*3、(長-1)* (寬+1)*3、(長+1)* (寬-1)*3、(長+1)* (寬+1)*3、長*(寬-1)*3、長*(寬+1)*3 八個像素進行掃描,每當任意一個像素值為0x000000,則對中心像素賦值為0x000000;同理膨脹算法對同樣八個像素點進行掃描出現(xiàn)0xffffff 則為中心像素復制為0xffffff。需要注意的是,賦值和掃描應(yīng)該在兩個圖像相同,不同基底地址的圖片上分別進行。

        (4)開運算和閉運算

        開運算可以在保證基本形狀和位置不變的前提下,除去孤立的點、毛刺、小橋,而膨脹腐蝕算法中的掃描的結(jié)構(gòu)體大小將影響開運算的效果。閉運算可以在保證基本形狀和位置不變的前提下除去圖像中的小孔、彌合裂縫,同開運算一樣,膨脹腐蝕算法中的掃描的結(jié)構(gòu)體大小[2]將會影響閉運算效果。

        本設(shè)計中采用開閉運算相結(jié)合的方式對圖像進行處理,利用這種方式可以實現(xiàn)在保證圖像形態(tài)不發(fā)生改變的前提下濾除尖刺、孤點等干擾。

        (5)投影

        對于完成定位的圖像,在定位區(qū)間內(nèi),對其進行水平和垂直投影。由于本設(shè)計在二值化時將車牌的背景處理為黑色,字符處理為白色,且需要對字符進行定位處理,故在這里統(tǒng)計白色數(shù)量并生成直方圖。在定位得到的區(qū)間內(nèi)對圖像進行行遍歷和列遍歷,當出現(xiàn)白色像素時計數(shù)器加1,最終得到每行白色像素數(shù)量的數(shù)組和每列白色像素數(shù)量的數(shù)組,這兩個數(shù)組分別為二值化圖像在水平方向和垂直方向上的投影。

        (6)分割

        對于完成投影后的圖像,根據(jù)一定閾值可以對每個字符所在的位置進行大致定位。通過對水平投影的分割和垂直投影的分割的疊加,可以得到每個字符所處的區(qū)間,即得到每個字符的上下左右四個邊框位置。

        3.2 轉(zhuǎn)存

        將每個字符圖像復制轉(zhuǎn)存到單獨的DDR 空間,由于車牌的字符固定呈現(xiàn)矩形,為了方便縮放操作和識別處理,在這里對字符圖像的寬度進行擴展,使之與字符長度一致,并填充黑色像素,使縮放前字符圖像成正方形。

        4 圖像識別

        本設(shè)計中采用神經(jīng)網(wǎng)絡(luò)進行車牌字符的識別,其主要由:訓練模型、識別、softmax 幾個步驟組成。

        4.1 全連接神經(jīng)網(wǎng)絡(luò)

        本設(shè)計中采用全連接神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)是使用矩陣乘法的三層神經(jīng)網(wǎng)絡(luò),其輸入層為28*28*1,即784*1 的矩陣,權(quán)重矩陣一為784*100 的矩陣,權(quán)重矩陣二為100*64 的矩陣。本設(shè)計中需要將該模型的權(quán)重參數(shù)即相關(guān)計算在FPGA 上實現(xiàn)。訓練模型時,更新權(quán)重參數(shù)采用反向傳播算法,反向傳播算法又稱為BP 算法[3],運算如式4.1-1:

        ΔWj,k = α·Ek·Ok(1-Ok)·O djT(式4.1-1)

        其中α 是學習效率,ΔWj,k 是權(quán)重的改變量,j 和k 是權(quán)重矩陣的行和列,Ek 是每一行的識別誤差,Ok 為S 函數(shù)。

        (1)模型建立

        利用jupyter 平臺及python 語言搭建訓練模型,兩個權(quán)重矩陣,分別為784*100 和100*64。

        該模型是一個可以自由調(diào)節(jié)各層大小的簡單三層神經(jīng)網(wǎng)絡(luò)訓練模型,在該模型中,可以設(shè)定輸入層、隱藏層、輸出層的大?。豢梢栽O(shè)定學習率;該模型的學習機制為:模型對某一圖案與第一層權(quán)重參數(shù)進行矩陣乘法運算、完成后再與第二層權(quán)重矩陣進行矩陣乘法運算,然后輸出到輸出層,即各種情況的可能性,由模型讀取訓練集中的結(jié)論判斷正確與否,并將相應(yīng)的權(quán)重改變依據(jù)反向傳播算法傳導到每個權(quán)重矩陣。至此完成了一次訓練。

        (2)訓練模型

        當進行訓練的時候,函數(shù)會將訓練集里存放的圖像列表轉(zhuǎn)置為矩陣數(shù)組,再將目標矩陣的列表也轉(zhuǎn)置為矩陣數(shù)組。將圖像矩陣與權(quán)重矩陣一進行矩陣乘法得到隱藏層。將隱藏層執(zhí)行S 函數(shù)進行歸一化,再將隱藏層與權(quán)重矩陣二進行矩陣乘法得到輸出層。將輸出層再次執(zhí)行S 函數(shù)進行歸一化,此時,函數(shù)會將輸出層的結(jié)論與目標矩陣數(shù)組中的數(shù)據(jù)進行對比,得到誤差值。利用BP 反向傳到公式將誤差傳導回去以改變兩層權(quán)重矩陣。

        (3)測試模型

        當進行識別操作時,模型會將輸入的圖像數(shù)據(jù)與兩層權(quán)重矩陣進行矩陣乘法,同時分別利用S 函數(shù)進行歸一化處理,最終得到每種情況的概率。通過對比即可得到輸入圖像數(shù)據(jù)所對應(yīng)的索引值。

        4.2 FPGA 實現(xiàn)

        將訓練的權(quán)重參數(shù)經(jīng)過量化生成為coe 文件,創(chuàng)建ROM IP 核并導入。FPGA 每次從DDR 內(nèi)讀取一個像素的數(shù)據(jù),參與運算。每個像素數(shù)據(jù)與第一權(quán)重矩陣的對應(yīng)行相乘加,循環(huán)784 次得到一張圖像與第一隱藏層的運算結(jié)果[4],將第一次的運算結(jié)果在與第二隱藏層進行類似的乘加運算得到最終輸出權(quán)重,運算得到圖像對應(yīng)的概率。

        4.3 Softmax

        圖像識別部分在完成全連接計算的操作后,將圖像數(shù)據(jù)存放于固定的寄存器,并拉高完成信號。識別系統(tǒng)在檢測到完成信號拉高后,對全連接計算后得到的概率進行softmax 處理。所謂softmax,即對輸出層輸出的各種結(jié)果的概率進行對比,其中概率最大所對應(yīng)的索引,即為本次識別的字符所對應(yīng)的索引。將對應(yīng)的結(jié)果保存,再將索引與分類類別進行映射,當系統(tǒng)完成所有字符處理后通過屏幕,利用PL 部分對識別結(jié)果進行顯示。

        5 測試

        5.1 環(huán)境測試

        通過拍攝車牌,可以看見成像出現(xiàn)模糊現(xiàn)象,這是由于攝像頭焦距不對導致的,如圖1 所示:

        圖1 屏幕顯示畫面

        將OV7725 的鏡頭固定螺絲扭松,旋轉(zhuǎn)調(diào)節(jié)OV7725 鏡頭到合適的焦距,使得畫面清晰不模糊。

        5.2 拍攝測試

        硬件環(huán)境測試通過后對拍攝功能進行測試,測試流程如下:程序上電,等待硬件初始化完成屏幕顯示畫面,按下圖像捕獲按鍵,等待串口打印完成拍攝信息,查看寫入內(nèi)存卡的圖像信息,如圖2 所示:

        圖2 寫入內(nèi)存卡信息打印

        將存放于SD 卡中的BMP 格式圖片去除查看,由于OV7725 攝像頭CMOS 與電路結(jié)構(gòu)所導致OV7725 成像為鏡像,如圖3 所示,對其進行鏡像處理,使其變?yōu)檎颉?/p>

        圖3 內(nèi)存卡保存的BMP 圖片

        5.3 二值化測試

        完成打印后需要對圖像進行灰度及二值化處理,由于OV7725 為魚眼鏡頭,會導致成像出現(xiàn)畸變,對灰度處理后的圖像直接進行二值化處會導致圖像的背景噪聲干擾二值化,而影響圖像定位,如圖4 所示:

        圖4 灰度處理圖片

        可以看見直接進行二值化處理,即使通過腐蝕膨脹也會很容易干擾定位,如圖5 所示,可以看見在車牌以外的地方即箭頭指向處存在黑色區(qū)塊:

        圖5 直接二值化后存在黑色像素塊干擾

        通過OTSU 算法,尋找合適的二值化處理閾值,利用OTSU 得到的閾值進行二值化處理可以看到干擾基本沒有了,如圖6 所示:

        圖6 利用OTSU 算法后二值化

        5.4 車牌定位測試

        通過對黑色像素的定位可以實現(xiàn)車牌的基本定位,如圖7 所示:

        圖7 車牌定位

        5.5 字符定位測試

        利用水平投影和垂直投影對字符進行分割,其投影圖如圖8 所示:

        圖8 水平投影

        字符分割結(jié)果如下,可以看見基本實現(xiàn)字符的分割處理,如圖9 所示:

        圖9 水平分割

        6 結(jié)語

        FPGA 由于其本身的并行運算機制和其豐富的硬件資源,配合新興技術(shù)往往可以在很多傳統(tǒng)領(lǐng)域發(fā)揮出全新的作用。在本次設(shè)計的車牌識別領(lǐng)域,利用新興技術(shù)及算法可以實現(xiàn)車牌識別系統(tǒng)的小型化,易于迭代、成本低、易于推廣、算法便于更新。

        亚洲国产韩国欧美在线| 91l视频免费在线观看| 99久久99久久精品国产片| 久久超碰97人人做人人爱| 亚洲日本三级| 二区三区亚洲精品国产| 精品粉嫩av一区二区三区| 国产精品激情| 国产精品一区二区在线观看99| 一区二区三区岛国av毛片| 国产视频一区二区在线免费观看| 国产精品vⅰdeoxxxx国产 | 日本真人边吃奶边做爽动态图| 国产成人精品日本亚洲11| 四虎成人精品国产一区a| 久久青青草原一区网站| 久久婷婷色香五月综合缴缴情| 亚洲五月天综合| 人妖精品视频在线观看| 蜜臀人妻精品一区二区免费| 潮喷失禁大喷水aⅴ无码| 日韩精品无码久久一区二区三| 国产三级国产精品三级在专区| 亚洲国产精品国自产拍性色| 日韩乱码人妻无码中文字幕久久 | 免费毛片在线视频| 国产99久久久国产精品免费 | 亚洲国产91高清在线| 乱老年女人伦免费视频| 无码国产精品一区二区vr老人| 国产自产拍精品视频免费看| 一区二区三区日本伦理| 日韩精品无码中文字幕电影| 国产xxxxx在线观看免费| 水蜜桃在线观看一区二区国产| 奶头又大又白喷奶水av| 在线观看免费a∨网站| 国产性感丝袜美女av| 日韩精品人妻久久久一二三| 国产乱人伦av在线a| 国产360激情盗摄一区在线观看|