• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA 的車牌定位系統(tǒng)研究*

      2022-02-17 06:11:04傅建軍
      電子與封裝 2022年1期
      關(guān)鍵詞:車牌灰度邊緣

      謝 杰,陳 政,傅建軍

      (中科芯集成電路有限公司,江蘇無錫 214072)

      1 引言

      智能交通系統(tǒng)主要由交通管理系統(tǒng)、信息處理分析系統(tǒng)和電子收費(fèi)系統(tǒng)組成,應(yīng)用于高速公路的智能調(diào)度[1]、汽車停車場的智能管理以及城市交通的智能調(diào)度等領(lǐng)域。而車牌識別系統(tǒng)與這些領(lǐng)域都息息相關(guān),是不可缺少的一部分。

      車牌定位是車牌識別系統(tǒng)的重要組成部分。目前主要有兩種車牌定位算法,分別是基于顏色特征與基于邊緣檢測的定位算法?;陬伾能嚺贫ㄎ粚δ繕?biāo)車牌圖像的質(zhì)量要求較高,拍攝時(shí)需要光線良好,圖像色彩鮮明。對于車牌有污損或褪色嚴(yán)重的車牌圖像,定位效果不是很理想。基于邊緣檢測的車牌定位受天氣、污泥等復(fù)雜背景的干擾[2],定位效果不是很好。

      隨著應(yīng)用的擴(kuò)展,硬件加速具有重要的意義,所以在FPGA 平臺上開展硬件加速研究。其設(shè)計(jì)主要是以數(shù)字電路的思想完成算法的實(shí)現(xiàn),通過模塊化設(shè)計(jì)并行處理信號,提高了圖像處理系統(tǒng)的速度。本文研究了一種基于邊緣檢測與形態(tài)學(xué)相結(jié)合的車牌定位算法,并在FPGA 的平臺上實(shí)現(xiàn)。

      2 車牌定位的算法研究

      車牌識別技術(shù)的應(yīng)用十分廣泛,可以通過一些后續(xù)處理實(shí)現(xiàn)交通流量控制指標(biāo)測量[2],但是在攝像機(jī)獲取車輛圖像的過程中,經(jīng)常會(huì)因?yàn)樘鞖?、泥污等因素的干擾,實(shí)際拍出的圖像中有可能出現(xiàn)各種噪聲,圖片的清晰度、對比度等受到影響,進(jìn)而影響到后續(xù)的車牌識別。完整的車牌圖像中不僅包括車牌、噪聲,還有車身、其他背景等,因此需要以復(fù)雜環(huán)境下的車輛為主要研究對象來確定車牌的所在區(qū)域,在整個(gè)過程中,利用車牌本身特征在圖像中定位到它的位置。

      傳統(tǒng)的車牌定位算法以車輛及外部環(huán)境的特點(diǎn)為定位標(biāo)準(zhǔn),研究者們據(jù)此提出的算法有很多,如基于邊緣特征的定位算法、基于模板匹配的定位算法、基于顏色特征的定位算法[3]等。不同的定位方法優(yōu)缺點(diǎn)不同,主要表現(xiàn)在運(yùn)行速度和準(zhǔn)確性兩個(gè)方面。而這兩個(gè)方面很難做到同時(shí)滿足,計(jì)算量小的算法精度普遍較低,而高精度算法的計(jì)算量自然就很大。

      2.1 基于邊緣檢測的車牌定位算法

      基于邊緣檢測的車牌定位算法可以明顯區(qū)分出車牌區(qū)域的邊緣信息,為了使目標(biāo)圖像上的顯示效果更加清晰,需要對目標(biāo)圖像采用灰度變換,在此基礎(chǔ)上執(zhí)行一階差分運(yùn)算,此時(shí)目標(biāo)圖像的車牌區(qū)域就具有了明顯的垂直邊緣。然后對邊緣檢測后的目標(biāo)圖像進(jìn)行水平和豎直方向上的投影,可以發(fā)現(xiàn)與車牌區(qū)域相對應(yīng)位置上的投影值為峰值,根據(jù)該特征確定車牌的邊界,并確定車牌區(qū)域。這種算法能夠消除車牌定位中噪聲帶來的影響,在圖像背景簡單的情況下可以快速定位到目標(biāo)車牌區(qū)域,且定位效果很好。然而受天氣、污泥等復(fù)雜背景干擾,基于邊緣檢測的定位效果并不是很好,因此不能單獨(dú)作為本文的研究算法。

      2.2 邊緣檢測與形態(tài)學(xué)相結(jié)合的定位算法

      本文采用了基于邊緣檢測與形態(tài)學(xué)相結(jié)合的車牌定位算法,基于邊緣檢測的定位速度快,符合現(xiàn)代車輛需要進(jìn)行實(shí)時(shí)處理的情況。而車牌污染等因素會(huì)對其定位產(chǎn)生影響,由車燈照明引起的復(fù)雜環(huán)境背景會(huì)讓邊緣檢測定位到的車牌出現(xiàn)較大的誤差,本文結(jié)合邊緣檢測與形態(tài)學(xué)處理來確定候選車牌的輪廓,利用形態(tài)腐蝕和膨脹來消除污染和模糊區(qū)域帶來的影響,最后運(yùn)用垂直投影法完成車牌的精準(zhǔn)定位。車牌定位的算法流程如圖1 所示。

      圖1 車牌定位流程

      首先對圖像進(jìn)行灰度化處理,采用直方圖均衡增強(qiáng)法增強(qiáng)圖像,中值濾波對圖像進(jìn)行平滑處理,再用最大類間方差法對圖像進(jìn)行二值化處理。其中圖像濾波就是在保留圖像細(xì)節(jié)特征的條件下抑制目標(biāo)圖像的噪聲,其處理效果直接影響到后續(xù)的車牌圖像二值化和形態(tài)學(xué)操作等。而中值濾波處理平滑脈沖噪聲非常有效,不僅除去了無關(guān)的噪聲,也可以很好地保護(hù)圖像邊緣的細(xì)節(jié)信息。本文改進(jìn)的方法如下:采用Sobel算子檢測圖像邊緣,對圖像進(jìn)行膨脹、腐蝕處理,采用閉運(yùn)算,對輪廓線進(jìn)行平滑處理,最后去除圖像中無用的小對象,再用投影法通過對二值圖像水平和豎直方向上的投影來統(tǒng)計(jì)每行每列像素點(diǎn)個(gè)數(shù)進(jìn)行判斷,最后確定坐標(biāo)來達(dá)到定位效果,最終效果如圖2所示。

      圖2 定位剪切后的車牌

      2.3 車牌定位算法Matlab 驗(yàn)證

      實(shí)驗(yàn)樣本采取實(shí)拍的300 幅不同場景下的車牌圖像,以Matlab 2018b 軟件作為算法的驗(yàn)證平臺對車牌圖像進(jìn)行實(shí)驗(yàn)。驗(yàn)證結(jié)果如表1 所示,雖然光照條件會(huì)影響到目標(biāo)圖像定位的準(zhǔn)確率,但總體上來說,本文采用的車牌定位方法對不同場景下的車牌都有著很好的定位效果,具有很好的穩(wěn)健性和實(shí)用性。

      表1 不用時(shí)間段下定位結(jié)果的比較

      將本文的車牌定位方法與基于顏色特征的車牌定位方法、基于邊緣檢測的車牌定位方法和基于紋理特征的車牌定位方法進(jìn)行測試比較,結(jié)果如表2 所示。

      表2 幾種車牌定位方法的實(shí)驗(yàn)結(jié)果比較

      3 車牌定位系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)

      車牌定位算法在Matlab 平臺進(jìn)行軟件驗(yàn)證之后,使用Verilog HDL 語言對算法進(jìn)行硬件邏輯實(shí)現(xiàn)。圖像識別算法是本設(shè)計(jì)的關(guān)鍵,圖像識別技術(shù)主要根據(jù)圖像的基本信息來提取圖像特征,將識別到的圖像分配給相應(yīng)類別的技術(shù),具有廣泛的應(yīng)用前景。作為視覺顯示的一種表達(dá)形式[4],圖像種類分為黑白圖像和彩色圖像。黑白圖像主要記錄場景中的每個(gè)亮度信息,也叫做單色圖像;而彩色圖像不僅記錄亮度信息還記錄顏色信息。選擇合適的硬件算法不僅可以占用較少的資源,加速程序的運(yùn)行,還可以提高車牌定位的準(zhǔn)確率。

      在車牌定位的驅(qū)動(dòng)電路設(shè)計(jì)完成后,將攝像頭初步處理的圖像數(shù)據(jù)以每時(shí)鐘16 數(shù)據(jù)的速度并行輸入??紤]到采集圖像數(shù)據(jù)的過程中會(huì)包含噪聲[5],因此需要對圖像進(jìn)行濾波。在對圖像進(jìn)行預(yù)處理時(shí),利用硬件實(shí)現(xiàn)的并行特點(diǎn),以流水線的思想設(shè)計(jì)圖像處理模塊。使用中值濾波算法對灰度轉(zhuǎn)化后的圖像進(jìn)行去噪,用邊緣檢測和二值化處理得到圖像的大致輪廓,最后對圖像進(jìn)行膨脹腐蝕處理以確定車牌圖像的水平和豎直方向的坐標(biāo),完成定位。綜合以上各部分的設(shè)計(jì),本文的設(shè)計(jì)方案如圖3 所示。

      圖3 FPGA 內(nèi)部模塊設(shè)計(jì)布局

      3.1 灰度化轉(zhuǎn)換模塊的硬件實(shí)現(xiàn)

      系統(tǒng)設(shè)定攝像頭的輸出為格式固定的RGB565圖像,彩色空間YCbCr 圖像格式的Y 分量顯示的灰度圖像更加具有層次感[6],灰度顯示更加真實(shí),因此本文將利用YCbCr 圖像格式進(jìn)行灰度轉(zhuǎn)換。轉(zhuǎn)換過程為首先將RGB565 圖像轉(zhuǎn)換成RGB888 圖像(見表3),然后通過式(1)所示的計(jì)算過程完成RGB888 圖像定點(diǎn)轉(zhuǎn)換成YCbCr 圖像。

      表3 RGB565 轉(zhuǎn)換RGB888

      這種方法用Verilog HDL 語言來實(shí)現(xiàn)是非常復(fù)雜的,所以本文采用了另一種轉(zhuǎn)化方法,即利用FPGA中流水線的設(shè)計(jì)思想。從輸入到輸出加入3 個(gè)clock的時(shí)鐘延[7],第一級流水線計(jì)算所有的乘法,即對Y 分量,計(jì)算括號中的乘法運(yùn)算;第二級流水線計(jì)算所有的加法,把正的和負(fù)的分開進(jìn)行加法來進(jìn)行數(shù)據(jù)求和;第三級流水線計(jì)算最終的和,若為負(fù)數(shù)則取0。雖然每一級運(yùn)算相差了一個(gè)時(shí)鐘,但每一級都是新的運(yùn)算,通過流水線的功能將運(yùn)算速度提升了3 倍[8],這樣在RGB565 轉(zhuǎn)化YCbCr 成功之后,提取Y 值通道的輸出就是灰度圖像,其RTL 如圖4 所示。

      圖4 RGB565 轉(zhuǎn)YCbCr 的RTL

      3.2 中值濾波模塊的硬件實(shí)現(xiàn)

      為了更好地實(shí)現(xiàn)中值濾波,本文利用FPGA 強(qiáng)大的并行數(shù)據(jù)能力,在硬件邏輯中建立3×3 的圖像模板矩陣來進(jìn)行運(yùn)算。而想要對圖像進(jìn)行矩陣操作就必須要用到行緩存,這里首先引入IP 核Shift Register(RAM-Based)模塊[9],將3 行像素?cái)?shù)據(jù)存儲(chǔ),再并行輸出,實(shí)現(xiàn)圖像的動(dòng)態(tài)濾波。針對本文480 行的圖像數(shù)據(jù),丟失2 行數(shù)據(jù)并不會(huì)造成太大的影響。FPGA 實(shí)現(xiàn)中值濾波的框圖如圖5 所示。

      圖5 中值濾波框圖

      針對行緩存中每次得到的3 行圖像數(shù)據(jù)進(jìn)行運(yùn)算,其步驟分為3 步。

      (1)分別對3行像素進(jìn)行排序,由M11、M12、M13得到Max1、Med1、Min1;由M21、M22、M23得到Max2、Med2、Min2;由M31、M32、M33得到Max3、Med3、Min3。

      (2)分別對3行像素中的3個(gè)最大、3個(gè)中間和3個(gè)最小進(jìn)行排序,由Max1、Max2、Max3得到Max_max、Max_med、Max_min;由Med1、Med2、Med3得到Med_max、Med_med、Med_min;由Min1、Min2、Min3 得到Min_max、Min_med、Min_min。

      (3)對最大的最?。∕in_of_Max)、中間的中間(Med_of_Med)以及最小的最大(Max_of_Min)進(jìn)行排序,得到Midian。

      3.3 邊緣檢測與二值化模塊硬件實(shí)現(xiàn)

      3.3.1 Sobel 邊緣檢測模塊硬件電路

      經(jīng)過中值濾波處理后的車牌灰度圖像不僅過濾了椒鹽噪聲[10],還保持了圖像邊緣的完整性。在輸入8位位寬的灰度圖像后,經(jīng)2 個(gè)行緩沖與原圖像構(gòu)成同列的3×3 相鄰像素對FPGA 圖像進(jìn)行Sobel 邊緣檢測,得到目標(biāo)圖像中的車牌區(qū)域和少數(shù)背景區(qū)域。Sobel算子屬于一階導(dǎo)數(shù)算子,通常帶有方向性,利用3×3 圖像模板矩陣進(jìn)行卷積,將得到的結(jié)果與指定閾值相比,大則置255,小則置0。

      使用3×3 與3×3 的矩陣相乘,每行像素480 個(gè),形成3 行流水線功能,通過調(diào)用IP 核Shift Register(RAM-Based)來實(shí)現(xiàn)該功能,將計(jì)算得到的結(jié)果與設(shè)定的閾值進(jìn)行比較[11],用iTHRESHOLD 來表示閾值,根據(jù)閾值大小來決定邊緣提取的力度。通過與Matlab得到的結(jié)果對比可以看出FPGA 的并行運(yùn)算將Sobel邊緣檢測的運(yùn)行速度提高了40 倍以上,實(shí)現(xiàn)了算法上的硬件加速。

      3.3.2 二值化模塊硬件電路

      目標(biāo)圖像經(jīng)Sobel 邊緣檢測之后,邊緣信息比較明顯,下一步對梯度圖像進(jìn)行二值化處理,本文采用給定閾值法[12],通過公式來確定閾值,如果梯度圖像中灰度值大于閾值則取1,小于閾值取0,二值化運(yùn)算用FPGA 中的比較器來進(jìn)行高速處理。

      閾值GTH的計(jì)算式為:

      其中G(i,j)表示圖像的灰度值,X、Y 分別表示圖像的寬度和高度。

      3.4 形態(tài)學(xué)運(yùn)算模塊硬件實(shí)現(xiàn)

      在FPGA 上實(shí)現(xiàn)對二值圖像的形態(tài)學(xué)運(yùn)算[13],其方法與之前Sobel算子邊緣檢測運(yùn)算類似,通過lineBuffer 行緩存的設(shè)計(jì)形成3 行數(shù)據(jù)像素的輸入,以流水線的方式對窗口像素點(diǎn)進(jìn)行處理,因?yàn)樾螒B(tài)學(xué)膨脹和腐蝕處理的數(shù)據(jù)是經(jīng)Sobel 邊緣檢測之后完成,所以數(shù)據(jù)都是1 位的,將得到的結(jié)果與形態(tài)學(xué)模板進(jìn)行比較,重新確定被處理像素點(diǎn)的值。在比較的過程中通過結(jié)構(gòu)單元對圖像進(jìn)行卷積運(yùn)算后輸出像素值,整個(gè)處理過程由控制電路來完成,形態(tài)學(xué)處理的原理如圖6 所示。

      圖6 形態(tài)學(xué)處理電路結(jié)構(gòu)

      對目標(biāo)圖像進(jìn)行腐蝕處理,其目的是去除背景和其他不相干的信息,針對3×3 模板進(jìn)行操作。

      在硬件邏輯上實(shí)現(xiàn)腐蝕算法,利用3×3 像素矩陣P 對像素點(diǎn)進(jìn)行與運(yùn)算:

      在Verilog HDL 中,通過窗口面積來加快運(yùn)算速度,將式(3)轉(zhuǎn)化為:

      對目標(biāo)圖像進(jìn)行腐蝕處理之后,圖像的干擾信息大致已經(jīng)被清除,再對目標(biāo)圖像進(jìn)行膨脹處理,讓車牌區(qū)域更加明顯。

      在硬件邏輯上實(shí)現(xiàn)膨脹算法,利用3×3 像素矩陣對像素點(diǎn)進(jìn)行或運(yùn)算:

      在Verilog HDL 中,通過窗口面積來加快運(yùn)算速度,將式(6)轉(zhuǎn)化為:

      3.5 投影法定位車牌位置

      目標(biāo)圖像經(jīng)過上述一系列的處理之后,所需的車牌大概位置已經(jīng)可以看出。經(jīng)過中值濾波過濾了圖像中大量的噪聲[14],通過形態(tài)學(xué)處理之后車牌的大致輪廓都已經(jīng)顯示出,這樣為車牌的準(zhǔn)確定位打下了良好的基礎(chǔ)。而最后一步的任務(wù)就是從目標(biāo)圖像中找到車牌的位置,為此本文采用了投影法來確定車牌位置。

      利用水平定位得到的結(jié)果讀取車牌所在的水平區(qū)域并進(jìn)行垂直投影,我國車牌的長寬比為3.14∶1,所以只要統(tǒng)計(jì)投影值大于3 倍小于3.5 倍車牌寬的區(qū)域,得到車牌的上下邊界,統(tǒng)計(jì)垂直方向上的像素點(diǎn),得到車牌的左右邊界。通過上面的計(jì)算,可以把干擾區(qū)域去掉,最終留下車牌區(qū)域,對原圖像進(jìn)行分割并計(jì)算得到目標(biāo)圖像的車牌區(qū)域如圖7 所示。

      圖7 車牌定位處理結(jié)果

      4 車牌定位系統(tǒng)板級測試

      通過對整個(gè)車牌定位系統(tǒng)的RTL 電路設(shè)計(jì)和算法程序的仿真測試之后,在系統(tǒng)的硬件驗(yàn)證平臺上運(yùn)行結(jié)果,進(jìn)行板級驗(yàn)證。為了驗(yàn)證本系統(tǒng)的可靠性,本設(shè)計(jì)將隨機(jī)選取附近的汽車進(jìn)行拍攝識別。

      考慮到常用車牌定位系統(tǒng)的周邊電路(如補(bǔ)光燈、系統(tǒng)電源等)并不在本設(shè)計(jì)的研究范圍內(nèi),無法在路邊進(jìn)行實(shí)時(shí)采樣檢測。本文通過采集行駛車輛的視頻,以電腦顯示器播放的方式模擬車牌定位環(huán)境來進(jìn)行功能驗(yàn)證。

      在圖8 中,TFT 屏顯示的內(nèi)容為車牌定位算法的定位結(jié)果,液晶顯示器播放采集到的車輛視頻。

      圖8 車牌定位處理結(jié)果

      為了驗(yàn)證車牌定位算法的穩(wěn)健性,對500 幅來自停車場、高速公路等地方的行駛車輛在FPGA 上進(jìn)行系統(tǒng)驗(yàn)證,測試結(jié)果顯示,本文設(shè)計(jì)的車牌定位算法的準(zhǔn)確率為98.9%。攝像頭像素過低,采集圖像時(shí)光照、車牌污染等環(huán)境的影響,以及對目標(biāo)圖像的預(yù)處理不足都會(huì)對最終車牌定位的結(jié)果有所影響。硬件電路中流水線、并行處理等技術(shù)的使用,可以對每一幀圖像都進(jìn)行處理,每幅車牌圖像的定位時(shí)間僅為1.2ms。

      5 結(jié)論

      本文對車牌定位算法的硬件實(shí)現(xiàn)進(jìn)行了詳細(xì)研究,在FPGA 中通過引入3 級流水線和IP 核模塊等功能,結(jié)合圖像處理算法的優(yōu)缺點(diǎn),提出了基于流水線架構(gòu)的圖像處理方法,提高了車牌定位算法的運(yùn)算速度。采用QuartusⅡ13.0 將仿真通過的代碼進(jìn)行板級測試,通過選用500 張車牌圖像進(jìn)行實(shí)驗(yàn),達(dá)到98.9%的定位準(zhǔn)確率。整個(gè)車牌定位系統(tǒng)利用了FPGA 強(qiáng)大的并行處理能力,使系統(tǒng)可以隨視頻數(shù)據(jù)流就可以快速定位到車牌。

      猜你喜歡
      車牌灰度邊緣
      采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
      基于灰度拉伸的圖像水位識別方法研究
      數(shù)字圖像處理技術(shù)在車牌識別系統(tǒng)中的應(yīng)用
      電子制作(2019年12期)2019-07-16 08:45:16
      第一張車牌
      基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
      一張圖看懂邊緣計(jì)算
      基于MATLAB 的車牌識別系統(tǒng)研究
      電子制作(2017年22期)2017-02-02 07:10:11
      基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
      “他的車牌是……”
      在邊緣尋找自我
      雕塑(1999年2期)1999-06-28 05:01:42
      孟州市| 铁力市| 喀喇沁旗| 婺源县| 沧州市| 叶城县| 东丰县| 沙田区| 肇东市| 肇州县| 涟源市| 安西县| 通江县| 普格县| 丽江市| 尉氏县| 抚松县| 扶风县| 孙吴县| 宜黄县| 洪洞县| 鄂托克旗| 高台县| 龙陵县| 东安县| 旅游| 贡觉县| 谢通门县| 仪陇县| 文成县| 定州市| 巴东县| 南平市| 威信县| 湘潭县| 阜新| 金阳县| 泽州县| 江川县| 阿勒泰市| 红河县|