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

        ?

        基于FPGA動態(tài)重構的快速車牌識別系統(tǒng)*

        2019-12-24 09:21:34張旭欣
        傳感器與微系統(tǒng) 2019年12期
        關鍵詞:車牌字符預處理

        訾 晶, 張旭欣, 金 婕

        (上海工程技術大學 電子電氣工程學院,上海 201600)

        0 引 言

        在卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)出現(xiàn)之前,視頻圖像處理任務效果都不盡如人意,很難實現(xiàn)大規(guī)模的商業(yè)應用,直到2012年,Krizhevsky A等人提出了一種新的深度神經(jīng)網(wǎng)絡模型AlexNet CNN[1],此后,更大更深的CNN模型被陸續(xù)提出,如GoogLeNet[2]。

        CNN在計算機視覺領域的應用大都是在軟件平臺實現(xiàn)的,隨著硬件設備的更新迭代,計算能力的提升,使得在硬件平臺開發(fā)CNN成為了可能,尤其是現(xiàn)場可編程門陣列(field programmable gate array,FPGA)的快速發(fā)展[3]。

        硬件加速網(wǎng)絡的設計側重于網(wǎng)絡并行化的實現(xiàn),快速算法的應用等方面,但針對FPGA自身重構特性的研究較少。Kaestner F等人的研究[4]充分展現(xiàn)了FPGA部分重構的優(yōu)勢,利用有限的硬件資源,通過部分重構實現(xiàn)卷積,采用軟硬件結合的實現(xiàn)形式,有效提高神經(jīng)網(wǎng)絡執(zhí)行速度。

        本文將采用FPGA動態(tài)部分重構技術和高層次綜合工具,完成快速車牌識別的系統(tǒng)設計。設計CNN模型,利用Caffe深度學習框架訓練相關數(shù)據(jù)[5];按照動態(tài)部分重構(dynamic partial reconfiguration,DPR)實現(xiàn)流程[6],生成完整及部分比特流,完成CNN的兩種軟硬件方案設計;基于PYNQ-Z1開發(fā)板,完成車牌識別系統(tǒng)設計。

        1 卷積神經(jīng)網(wǎng)絡

        針對車牌字符的特點,設計CNN模型。該網(wǎng)絡包含卷積層,修正線性單元(rectified linear unit,ReLU),最大池化層以及全連接層。結構信息如表1所示。

        表1 CNN結構信息

        卷積后加ReLU作為激活函數(shù),一方面減少反向傳播(back propagation,BP)求誤差梯度的計算量,另一方面稀疏網(wǎng)絡,減少參數(shù)的相互依賴性,緩解過擬合;此外,最大池化層,壓縮了卷積后的特征面,提取主要特征,進一步簡化網(wǎng)絡計算復雜度。

        2 車牌識別系統(tǒng)結構設計

        2.1 系統(tǒng)結構

        車牌識別系統(tǒng)的結構設計如圖1所示。在Xilinx PYNQ-Z1上實現(xiàn)FPGA的部分重構,開發(fā)板包含一個ZC7020芯片,該芯片有一個雙核ARM A9處理器,配備各種外圍設備,作為一個處理系統(tǒng)(processing system,PS);此外,還有一個可編程邏輯(programmable logic,PL)XC7Z020。異構FPGA本身內(nèi)嵌了處理器,因此使得軟硬件設計更加靈活。

        計算密集型且模塊化較強的部分,利用FPGA的PL實現(xiàn),即所有硬件接口和部分卷積神經(jīng)網(wǎng)絡模塊;圖片的預處理由PS實現(xiàn)。該系統(tǒng)優(yōu)點是采用軟硬件結合的形式,以及FPGA的部分重構特性,對硬件資源重復利用,節(jié)省資源,提高識別效率。

        2.2 硬件設計

        該系統(tǒng)通過高清多媒體接口(high definition multimedia interface,HDMI)接收、輸出圖片,利用動態(tài)局部重配置(dynamic partial reconfiguration,DPR)技術,實現(xiàn)對CNN計算密集的卷積層重構,因此硬件設計主要包括HDMI接口調(diào)用以及卷積的重構。

        HDMI是PYNQ-Z1上的外設,可以直接調(diào)用相關IP(即Overlay)和接口IP來驅動HDMI。所以硬件設計的重點即實現(xiàn)卷積的重構,包括卷積IP設計與優(yōu)化。

        2.2.1 卷積IP設計

        CNN中最為密集的計算是卷積,利用FPGA來實現(xiàn)可以有效地提高卷積計算效率,并降低功耗。在FPGA上實現(xiàn)卷積,首先設計實現(xiàn)卷積的硬件電路并生成相應的IP,在片上系統(tǒng)(system on chip,SoC)設計時進行調(diào)用。

        盡管使用Verilog語言進行RTL(register transfer level)級設計,效率更高,但對于網(wǎng)絡和FPGA器件來說,由于考慮到后期調(diào)整結構和充分發(fā)揮FPGA器件的靈活性需要,本文利用Xilinx Vivado HLS 2017.3軟件,采用高層次綜合(high-level synthesis,HLS)工具和C++作為設計語言,通過綜合自動產(chǎn)生RTL級電路,并生成IP,減少重復設計工作量并提高設計效率。

        默認情況下,卷積的所有嵌套循環(huán)都是按順序執(zhí)行的,在卷積過程中,Vivado HLS提供了不同的編譯指令(pragma)來影響循環(huán)調(diào)度和FPGA資源分配。用于優(yōu)化的兩個最重要的指令是unrolling和pipelining[7],因此,根據(jù)每一層卷積的特點,以并行或流水線方式處理嵌套循環(huán),優(yōu)化IP。卷積的嵌套循環(huán)在整個輸入深度、高度和寬度上進行,還要考慮卷積的輸出深度以及卷積核,整個卷積有6層嵌套循環(huán),可以對這些循環(huán)進行優(yōu)化,然而性能的線性增長取決于硬件資源利用率,所以要在每個卷積層的資源利用和性能之間找到最佳的平衡點。

        圖1 車牌識別系統(tǒng)模塊框圖

        2.2.2 部分重構流程

        FPGA的部分重構,在FPGA上開辟一塊可重構分區(qū)(reconfigurable partition,RP),重構RP邏輯,如圖2所示。

        圖2 部分重構

        FPGA設計中的邏輯分為可重構邏輯和靜態(tài)邏輯,圖2中FPGA的灰色區(qū)域表示靜態(tài)邏輯,RP部分表示可重構邏輯,通過加載幾個比特流(bitstream)中的一個來修改RP中的功能,完成部分重構,而靜態(tài)邏輯保持運行,不受部分比特流加載的影響。

        本文針對4層卷積實現(xiàn)重構,因此要進行4次重構循環(huán),生成4組可用的完整及部分比特流。

        第一次循環(huán),綜合后畫出RP,并設置重構屬性,優(yōu)化、布局、布線后保存可共享靜態(tài)邏輯,供后續(xù)循環(huán)調(diào)用,同時第一次生成比特流;后續(xù)循環(huán),替換卷積IP,綜合后只要將卷積部分的設計檢查點(design check point,DCP)加載到共享靜態(tài)邏輯,同樣優(yōu)化、布局、布線后直接生成比特流。

        2.3 軟件設計

        軟件的設計主要是實現(xiàn)圖片的預處理,根據(jù)圖1所示,圖片預處理主要包括車牌定位及字符分割,這一部分通過軟件來設計。

        首先,從HDMI幀緩沖區(qū)提取接收的圖片,調(diào)用OpenCV的圖像處理庫進行預處理,根據(jù)顏色先定位車牌的大致區(qū)域,在處理顏色信息時,須變換通道,車牌圖片是3通道的RGB圖,經(jīng)過HDMI輸入FPGA后,變成GBR通道,而Opencv是BGR通道。之后,調(diào)用Opencv的輪廓提取函數(shù),提取所有檢測到的輪廓,根據(jù)輪廓的長寬比及大小,篩選掉干擾輪廓。字符分割也利用輪廓提取的方式。

        3 實 現(xiàn)

        3.1 硬件實現(xiàn)

        在Xilinx Vivado 2017.3軟件上,利用卷積IP以及其他一些必要IP和接口IP,完成SoC的塊設計(block design),即原理圖設計。主要包括1個AXI Interconnect IP和3個功能模塊:AXI Interconnect IP實現(xiàn)將一個或多個AXI(advanced extensible interface)存儲器映射的主器件連接到一個或多個存儲器映射的從器件;hdmi模塊實現(xiàn)圖片接收與輸出,并用VDMA(video direct memory access)IP作為幀緩沖區(qū),緩存數(shù)據(jù);proc模塊實現(xiàn)卷積操作;ps模塊包含兩個ARM A9的硬核,實現(xiàn)各IP初始化與配置。

        Proc模塊中的卷積IP,在部分重構過程是可替換的,卷積IP每次替換后都需要復位,這里通過一個簡單的通用輸入/輸出(GPIO)IP來實現(xiàn)重構復位。此外,輸入到卷積IP的數(shù)據(jù)通過一個簡單的DMA(direct memory access)IP連接。

        由于FPGA可重構區(qū)域的有限性,分配RP時要考慮最大區(qū)域限制和時序要求,RP區(qū)最多占用29 %BRAM,37 %DSP48E,36 %FF以及36 % LUT。RP和各卷積層的資源占用如表2。

        表2 卷積資源占用

        當FPGA的可編程邏輯資源和存儲資源較少時,FPGA不能同時實現(xiàn)所有的卷積層,所以本設計采用部分重構,以及軟硬件結合的方式。采用軟硬件組合的方案,實現(xiàn)4層卷積,如表3。

        表3 軟硬件組合方案

        3.2 軟件實現(xiàn)

        在Xilinx SDK 2017.3軟件上,借助開發(fā)板HDMI接口,獲取外部圖片,首先處理顏色信息,調(diào)用C++圖像類Mat中的通道函數(shù)channels分離圖片的3個通道,根據(jù)2.3節(jié)中的設計,重組通道順序,通過顏色鎖定車牌的大致區(qū)域。之后利用C++調(diào)用Opencv圖像處理庫,對圖片灰度化、去噪等處理,調(diào)用輪廓提取函數(shù),提取檢測到的所有可能輪廓,經(jīng)過篩選、定位,由HDMI輸出到顯示器。然后分割車牌字符,將字符處理成39×39的二值圖,完成圖片的預處理。預處理效果如圖3所示。

        圖3 系統(tǒng)預處理

        3.3 數(shù)據(jù)訓練

        利用Caffe深度學習框架,搭建CNN模型,網(wǎng)絡訓練主要針對車牌字符。眾所周知國內(nèi)的家用車車牌大部分是藍底白字,有3類字符,31個漢字(不包括港澳臺)、24個大寫英文字母(不包括I和O)以及10個阿拉伯數(shù)字。

        考慮到已有MNIST手寫數(shù)字數(shù)據(jù)集,所以嘗試以MNIST格式來制作字符數(shù)據(jù)集,字符統(tǒng)一采用39×39的二值圖。通過實地拍攝大量車牌,并對車牌字符分割、分類,最后取3類漢字(滬、浙、蘇)、10類數(shù)字以及24類字母的圖片來制作,每類字符2 500張,每類再取250張用于測試。

        根據(jù)不同的數(shù)據(jù)集,相應改變表1中最后的全連接層的輸出通道即分類數(shù),結果為MNIST和自制數(shù)據(jù)集的分類數(shù)分別為10和37,準確率分別為99.08 %和99.45 %。

        4 結 果

        在Ubuntu16.04操作系統(tǒng)下,系統(tǒng)的軟件開發(fā)基于 Xilinx SDK 2017.3軟件,硬件開發(fā)基于系統(tǒng)開發(fā)板PYNQ—Z1。數(shù)據(jù)訓練利用NVIDIA Quadro P2000 GPU實現(xiàn)加速。

        系統(tǒng)預處理部分實現(xiàn)結果如圖3所示,車牌被成功定位,并通過HDMI輸出顯示,字符也成功分割并二值化,說明軟件的預處理設計可行。由于FPGA的重配置需要耗費一定的時間,因此重構的次數(shù)不是越多越好。為了比較表3所列2種方案的優(yōu)劣,本文進行了10次測試,并與純軟件執(zhí)行方式進行比較,結果如表4。

        表4 10次實驗的執(zhí)行時間 s

        方案1和方案2的執(zhí)行速度均比純軟件的方式快,速度都提高了3倍以上,通過軟硬件聯(lián)合的方式,有效提高了速度,方案1執(zhí)行速度最大提升了3.51倍。

        實驗中為了驗證所設計的系統(tǒng)對車牌識別的效果,隨機取5張車牌,最終識別結果在開發(fā)板的終端顯示,如圖4。

        對比輸入圖片,隨機的5張車牌字符都能被正確識別,字符識別率與訓練結果相當,證明所設計的車牌識別系統(tǒng)可行。

        本設計的實現(xiàn)方法不僅能得到99 %以上的字符識別精度,同時相比純軟件方式,提高了執(zhí)行速度,通過FPGA加速,有效解決了傳統(tǒng)網(wǎng)絡精度與速度不可兼顧的問題。

        5 結束語

        本文充分利用FPGA動態(tài)部分重構技術和HLS工具,實現(xiàn)了快速車牌識別。但還有進一步優(yōu)化的空間,比如改進神經(jīng)網(wǎng)絡的結構和字符二值化后的降噪,改進預處理方法,減少預處理時間等。神經(jīng)網(wǎng)絡的應用有很多,如目標追蹤、車輛檢測等[8],未來,將本系統(tǒng)與微型機器人相結合,可以實現(xiàn)對高速公路、住宅區(qū)或停車場車輛的靈活管理。

        猜你喜歡
        車牌字符預處理
        尋找更強的字符映射管理器
        字符代表幾
        一種USB接口字符液晶控制器設計
        電子制作(2019年19期)2019-11-23 08:41:50
        數(shù)字圖像處理技術在車牌識別系統(tǒng)中的應用
        電子制作(2019年12期)2019-07-16 08:45:16
        消失的殖民村莊和神秘字符
        基于預處理MUSIC算法的分布式陣列DOA估計
        制導與引信(2017年3期)2017-11-02 05:16:56
        第一張車牌
        基于MATLAB 的車牌識別系統(tǒng)研究
        電子制作(2017年22期)2017-02-02 07:10:11
        淺談PLC在預處理生產(chǎn)線自動化改造中的應用
        絡合萃取法預處理H酸廢水
        视频一区精品中文字幕| 精品成人乱色一区二区| 奇米狠狠色| 久久国产高潮流白浆免费观看| 日本一区二区亚洲三区| 91精品国产91综合久久蜜臀| 医院人妻闷声隔着帘子被中出 | sm免费人成虐漫画网站| 一本大道熟女人妻中文字幕在线 | 欧美在线专区| 日本看片一区二区三区| 亚洲国产性夜夜综合另类 | 日韩中文字幕精品免费一区| 国产风骚主播视频一区二区| 丝袜人妻一区二区三区| 亚洲男人的天堂网站| 999精品免费视频观看| 性色国产成人久久久精品二区三区 | 免费观看羞羞视频网站| 抽插丰满内射高潮视频| 人妻中文字幕一区二区二区| 亚洲av毛片在线免费看| 色播亚洲视频在线观看| 日韩中文网| 偷拍与自偷拍亚洲精品| 国产在线无码精品无码| 亚洲高潮喷水无码av电影| 日韩在线观看网址| 亚洲乱码av一区二区蜜桃av| 色婷婷亚洲一区二区三区| 在线中文字幕有码中文| 日本精品国产1区2区3区| 亚洲伦理第一页中文字幕| 欧美一区二区三区红桃小说| 免费国产黄线在线播放| 蜜桃视频网址在线观看| 国产v片在线播放免费无码| 鲁一鲁一鲁一鲁一澡| 国产肥熟女视频一区二区三区| 欲女在线一区二区三区| 丁香花在线影院观看在线播放|