基於圖像採集的汽車車牌定位識別,軟硬體協同

2020-11-28 電子產品世界

本文引用地址:http://www.eepw.com.cn/article/201706/350529.htm

1項目概述

在圖像採集與處理的過程中,一般來說前端的數據處理相對後端來說數據量大但是操作相對簡單,如果利用CPU等串行結構的處理器來進行運算的話會大大佔用其資源,大大影響了整個圖像採集與處理的時間;而FPGA則與CPU相反,其並行的結構會使圖像處理算法簡單的部分變得十分高效,因此,在圖像採集與預處理過程中涉及到的一些簡單的算法如果利用FPGA來實現的話將會使整個圖像採集與處理的時間大大減少。

汽車車牌的定位識別需要對攝像機拍攝的含有汽車車牌的圖片中的車牌的位置信息進行檢測,並將檢測結果輸出,經過這樣的預處理後,圖像中車牌數據的獲取就會變得相當省時省力了,處理時間的大大縮短對於對圖像處理時間有嚴格要求的收費卡口以及交通路口來說是求之不得的。

2項目任務

本項目的主要任務是利用攝像機以及FPGA開發板,設計一個可以在交通路口和收費卡口對來往車輛的車牌進行預處理的系統,實現對車輛進行圖像拍攝,並對圖像中的車牌進行識別,輸出車牌在圖片中的位置坐標等信息。

3 方案設計

3.1 系統框圖

本項目的系統框圖如圖1所示。電源及FPGA的Flash存儲器等未畫出來。

CMOS相機通過接口與FPGA內部的CMOS傳感器數據獲取模塊相連,由數據獲取模塊配置相機並發送控制信號來控制相機採圖。採得的圖是Bayer格式的圖像,為方便圖像的存儲與處理先將其轉換為RGB格式的圖像,然後將轉換完後的RGB數據通過SDRAM控制器存儲到SDRAM中。

圖1 系統框圖

同時,通過VGA控制器將存儲在SDRAM中的數據利用DAC轉換為符合VGA格式的模擬信號,然後通過顯示器顯示,這樣就完成了圖像的採集與顯示。通過顯示器顯示是為便於實時了解圖像處理的結果,易於算法設計者進行算法的設計與改進。

車牌定位是通過 Image Process模塊實現的,處理完之後將提取的車牌坐標信息輸出,可以通過USB傳輸到PC,也可以傳輸到DSP以進行後續處理。

3.2硬體平臺各部分說明

3.2.1 FPGA開發板

本項目基於Nexys™3 Spartan-6 FPGA 開發板,核心處理器為Xilinx公司的 Spartan-6 FPGA。該項目會用到的板上主要資源為:

● Xilinx Spartan6 XC6LX16-CS324

● 16Mbyte Micron Cellular RAM

● 16Mbyte Micron Parallel PCM

● Digilent Adept USB2 port

● VHDC expansion connector

● 8-bit VGA


XC6LX16-CS324是Xilinx公司Spartan-6系列的FPGA,具有豐富的邏輯資源和存儲資源,非常適合進行一些簡單算法的實現。FPGA用於配置與控制Camera,通過Camera採集圖像,獲取Camera輸出圖像數據並將其存儲到Cellular RAM,然後對圖像數據進行處理。所有圖像處理算法均在FPGA上實現。

Cellular RAM是一種PSRAM 設備,具備類似 SRAM 的架構、隱藏的刷新操作和 SRAM 管腳兼容性等特點。此混合內存集 SRAM 和 DRAM 的優點於一身,兼具低功耗與高速讀寫功能。由於FPGA內部存儲空間有限,因此本項目用Cellular RAM緩存圖像,這樣就省去了人工刷新RAM的步驟,大大降低了數據存取的複雜度。

Digilent USB2 port用於為板卡提供電源,對FPGA進行編程和將車牌坐標信息傳輸到PC顯示。

VHDC connector是為擴展板卡功能而預留的IO口,該項目用此接口連接Camera。
8-bit VGA接口用於將處理後的圖像輸出到顯示器,以便直觀的觀察圖像處理的效果。

3.2.2 CMOS相機

圖像採集部分選用Terasic公司的TRDB-D5M系列彩色攝像頭,該系列攝像頭具有500萬像素,具有2752x2004個總像素,其中有效像素為2592x1944個像素,多餘的像素可以避免在進行圖像處理時由於邊緣梯度太大而可能導致的邊緣效應。該系列相機的接口為數字接口,可以通過這些接口對相機的寄存器進行設置,從而調整相機的拍攝模式、焦距以及曝光時間等,可以與FPGA很好的配合,且操作方便、速度較快,相當適合做FPGA圖像處理的圖像獲取設備。

3.3 圖像結構及相機接口

由於採用的是是Terasic的CMOS相機,該款相機採用的是Micron的MT9P001系列CMOS圖像傳感器,圖2所示為該相機所使用的傳感器的像素分布圖。圖3為相機模塊的輸出接口引腳定義。

圖2 CMOS傳感器像素結構

在上圖所示的Rigion II為有效的像素區域,Rigion I為為邊緣區域,其有效寬度為100 pixels,有效避免了在進行圖像處理時可能造成的邊緣效應。

圖3 相機模塊的輸出接口引腳定義

該相機是專門為FPGA開發人員設計的,因此其輸出為數位訊號,且控制線、數據線等時序都較為清晰,且提供了許多實用的功能。這大大降低了對圖像採集的設計難度。

4.圖像算法

車牌定位方法的一個共同出發點是通過牌照區域的特徵來判斷牌照。可利用的車牌特徵可以概括如下:

(1)車牌區域內的邊緣灰度直方圖統計特徵:有兩個明顯且分離的分布中心。

(2)車牌的幾何特徵:車牌的寬、高比例在一定範圍內。

(3)車牌區域的灰度分布特徵:穿過車牌的水平直線其灰度呈現連續的峰、谷、峰的分布。

(4)車牌區域水平或垂直投影特徵:車牌區域水平或垂直投影呈現連續的峰、谷、峰的分布。

(5)車牌形狀特徵和字符捧列格式特徵:車牌有矩形邊框,字符位於矩形框中且有間隔。

(6)頻譜特徵:對圖形作行或列的DFT變換,其頻譜圖中包含車牌位置信息。除此之外,車牌字符的紋理特徵、字符與背景之間的灰度特徵、車牌的字符顏色與底色的固定搭配、車牌的結構特徵等越來越多地的車牌特徵也正被發掘出來作為車牌定位算法的依據。

根據車牌的不同特徵,可以採用不同的定位方法。目前車牌定位的方法很多,最常見的定位技術主要有基於邊緣檢測的方法、基於彩色分割的方法、基於小波變換的方法、基於遺傳算法的方法、基於數學形態學的車牌定位和基於灰度圖像紋理特徵分析的方法等,車牌定位算法在車牌識別技術中佔有很重要地位,一個車牌識別系統的識別率往往取決於車牌定位的成功率及準確度,考慮到FPGA適合做數據量大且運算簡單重複的特點,我們將採用基於數學形態學的方法來進行定位。

對採集存儲在Cellular RAM中的圖像進行處理的過程分為兩大步:預處理和車牌定位。其具體流程如下:

圖4 圖像處理流程

● 灰度化

通過CMOS攝像機或數位相機等設備拍攝的汽車圖像以二進位格式存放在FPGA中,在預處理前的圖像都是彩色圖像。彩色圖像又稱RGB圖像,它是利用R、G、B 3個分量表示一個像素的顏色,R、G、B分別代表紅、綠、藍3種不同的顏色。通過三基色可以合成出任一顏色。所以對於一個尺寸為m×n的彩色圖像來說,存儲為一個m×n×3的多維數組 由於彩色圖像中所含的信息比較分散,而且數據處理量很大,因此我們需要首先對車流彩色圖像進行預處理,本項目的算法是基於灰度圖像,因此首先將RGB圖像轉化為灰度圖。

FPGA實現:直接提取G通道的數據即可。

● 直方圖均衡

直方圖均衡化是一種圖像對比度增強的方法,它的實質是通過減少圖像的灰度級以換取對比度的增大。

● 圖像去噪

採集的圖像由於各種原因難免會引入噪聲,因此有必要對噪聲進行消除或減小,以便於後續處理。本項目初步選擇中值濾波來減小噪聲,中值濾波是一種非線性的圖像平滑法,它對脈衝幹擾級椒鹽噪聲的抑制效果好,在抑制隨機噪聲的同時能有效保護邊緣少受模糊。

● 二值化

為了更好的利用車牌的某些特徵將車牌從圖像中突顯出來,為車牌定位打好基礎,再將預處理的圖像轉換為二值圖像。二值化算法又稱為閾值算法,常見的二值化方法有動態閾值法、局部閾值法及全局閾值法,典型的全局閾值法有Otsu、迭代法等,其目的就是要找出一個合適的閾值,將待處理的區域劃分為前景和背景兩個部分。我們認為車牌區域是車流圖像的前景區,其他的部分都看成是背景區.因此簡單來說,對於梯度圖像的二值化實際上就是確定一個最佳的分割闕值,可根據具體的實驗結果選取合適的方法。

● 邊緣提取

邊緣是圖像最基本的特徵之一,是圖像分割、紋理分析及圖像識別所依賴的重要依據。在汽車圖像中,牌照區域內含有豐富的邊緣包括水平邊緣、垂直邊緣和斜向邊緣,而其它區域則很少具有這個特點,故可通過邊緣檢測技術來尋找存在較多邊緣的區域,來很好的突現車牌區域的水平梯度特徵,從而使其與背景圖像有效的分開。邊緣提取可以基於灰度圖像,也可以基於彩色圖像,由於彩色圖像的背景複雜且數據量大,因此選擇採用二值圖像進行邊緣提取。

FPGA實現:本項目採用初步選用sobel邊緣檢測算法,如圖5所示。

Gx與Gy是x與y方向的模板,處理時需要將圖像像素與模板做卷積。在用C語言實現該算法時很簡單,因為圖像像素都存儲在二維數據內,根據數組的下標即可獲取像素的值,但Verilog不能做到這點,因此需採用其他方法,下面以Gx與圖像卷積為例來說明用Verilog的實現方法。

圖5 Sobel邊緣檢測模板

檢測過程中需要實現下面的運算:

X1 * P1 + X2 * P2 + X3 * P3 + X4 * P4 + X5 * P5 + X6 * P6 + X7 * P7 + X8 * P8 + X9 * P9

對於x1-x9的獲取很簡單,可用parameter直接定義,而對於p1-p9的獲取就成為關鍵問題,因為p1-p9是依次傳入的,沒有C語言的位址概念,也沒有二維數組的概念,因此可設計3條line buffer做以上運算,Line buffer的結構如下。

圖6 line buffer結構

如上圖所示的電路,Data是圖像數據,從第一行開始,依次傳輸給Line0的輸入端。Line0、Line1、Line2為移位寄存器,每個移位寄存器的深度為圖像的行寬。由於圖像中相鄰兩行中上下相鄰的數據從一維的角度來看恰好是一個行寬,因此可以發現每次Line0、Line1、Line2所輸出的數據均是相鄰三行中同一位置的數據,同時,相鄰時刻同一移位寄存器輸出的數據在當前行上是相鄰的,於是可以發現,每一時刻P1~P9共9個數據就是進行邊緣檢測所需要的矩陣,獲得數據矩陣後利用乘法器將每個數據與邊緣檢測模板對應位置上的數據相乘,然後通過並行加法器將其相乘即可獲得邊緣檢測後圖像上每個點的值。

形態學處理

數學形態學是由一組形態學的代數運算子組成的,它的基本運算有4個: 膨脹(或擴張)、腐蝕(或侵蝕)、開啟和閉合, 它們在二值圖像和灰度圖像中各有特點。數學形態學方法利用一個稱作結構元素的「探針」收集圖像的信息,當探針在圖像中不斷移動時, 便可考察圖像各個部分之間的相互關係,從而了解圖像的結構特徵。數學形態學基於探測的思想,與人的FOA(Focus Of Attention)的視覺特點有類似之處。作為探針的結構元素,可直接攜帶知識(形態、大小、甚至加入灰度和色度信息)來探測、研究圖像的結構特點。在車牌識別中引進形態學算法可以簡化FPGA中實現方法的複雜度,充分利用FPGA擅長簡單、數據量大的算法的特點,使算法的準確度與速度都有了很大的提升。

在本項目中,可先採用結構元素對二值汽車圖像作腐蝕運算以去除一些噪聲,在去噪基礎上,使用結構元素作閉運算,使車牌區域形成連通的區域。經過形態學運算,車牌區域已形成閉合的連通區域,然後對連通區域作標記。

FPGA實現:結構元素可以用parameter直接定義,難點依然在於圖像像素的獲取。這裡同樣可以採取邊緣檢測中提到的line buffer,只是所做的運算不同。

● 精確定位

形態學處理後的圖像可能包含幹擾區域,因此,在連通區域標記的基礎上,計算出每個連通區域的外接矩形框,並利用車牌的先驗知識確定車牌區域的位置。該方法可以較好地確定圖像中車牌區域的位置,且算法簡單、實時性較強。

在以上各步驟中,灰度化、去噪、二值化、邊緣提取形態學處理等算法可用Verilog HDL實現,精確定位算法涉及到連通區域分析,相對複雜,可考慮利用Microblaze實現。

相關焦點

  • 汽車車牌定位識別完整設計
    本項目擬充分發掘FPGA並行運算在圖像處理領域的優勢,實現基於Adboost算法的車牌檢測硬體架構,最終完成車牌定位信息的實時輸出。在線檢測模塊通過離線訓練模塊訓練好的Cascade結構分類器,使用可以縮放的Haar特徵,在待識別圖片上進行多尺度的掃描,最後經過後續處理輸出識別結果(車牌位置信息)。在線檢測算法流程如圖3所示。首先檢測當前窗口,若未通過分類器則跳出;若通過所有分類器則判定為車牌,然後檢測下一窗口。掃描完當前圖像以後,放大檢測窗口,重新掃描。
  • 智能交通:汽車車牌定位識別完整設計
    本項目擬充分發掘FPGA並行運算在圖像處理領域的優勢,實現基於Adboost算法的車牌檢測硬體架構,最終完成車牌定位信息的實時輸出。Adboost車牌定位算法基於Haar特徵,Haar特徵由一組矩形構成,圖4所示就是幾種Haar特徵,黑白矩形內像素的灰度加權和是該特徵的特徵值。積分圖表示其圖像中任意一點,都是原始圖像中行號和列號均小於該點的像素點像素值之和。利用積分圖可以快速計算矩形的灰度和,即Sum=P1 +P4-P2-P3,其中Pi是積分圖中矩形頂點對應的積分值。
  • 車牌識別系統中車牌定位方法的研究
    在此基礎上發展的車牌照識別lpr(license plate recognition)系統是智能交通系統的重要組成部分,在交通管理中佔有重要地位。lpr系統主要由三部分組成:車牌定位、字符分割、字符識別,其中車牌定位的成功與否直接影響是否能夠進入車牌識別以及車牌識別的準確率。
  • 複雜車輛圖像中的車牌定位
    車牌照自動識別技術廣泛應用於闖紅燈車輛監控、停車場管理、電子收費系統等領域。完整的車牌識別系統一般分為3部分:車牌定位、字符分割和字符識別,其中車牌定位技術是整個車牌識別系統的核心,直接影響整個識別系統的速度和準確率。 目前已有的車牌定位算法眾多,包括邊緣檢測、數學形態學、小波分析、投影法、顏色特徵提取和神經網絡等。
  • 車牌識別技術:工作原理及流程解剖
    車牌識別是利用車輛的動態視頻或靜態圖像進行車牌號碼、車牌顏色自動識別的模式識別技術。技術的核心包括車牌定位算法、車牌字符分割算法和光學字符識別算法等。  車牌識別技術工作原理  車輛檢測:可採用埋地線圈檢測、紅外檢測、雷達檢測技術、視頻檢測等多種方式感知車輛的經過,並觸發圖像採集抓拍。  圖像採集:通過高清攝像抓拍主機對通行車輛進行實時、不間斷記錄、採集。  預處理:噪聲過濾、自動白平衡、自動曝光以及伽馬校正、邊緣增強、對比度調整等。
  • 智能交通:車牌識別工作原理與四大應用
    1車牌識別工作原理  車牌識別是利用車輛的動態視頻或靜態圖像進行車牌號碼、車牌顏色自動識別的模式識別技術。技術的核心包括車牌定位算法、車牌字符分割算法和光學字符識別算法等。
  • 優位停車全面解析車牌識別停車場系統的工作原理及流程
    技術的核心包括車牌定位算法、車牌字符分割算法和光學字符識別算法等。     車牌識別技術工作原理     車輛檢測:可採用埋地線圈檢測、紅外檢測、雷達檢測技術、視頻檢測等多種方式感知車輛的經過,並觸發圖像採集抓拍。   圖像採集:通過高清攝像抓拍主機對通行車輛進行實時、不間斷記錄、採集。
  • 洗車店汽車維修店收銀管理系統手機拍照識別車牌會員收費軟體
    傳統的記錄方式,即手工記錄,在日益增多的業務量中顯得效率越來越低,浪費了業務人員的時間;同時由於筆跡不規範造成錯誤率很高,如何高效、準確地錄入汽車車牌號,成為汽車服務、汽車美容、汽車維修、汽車配件、汽車保險、洗車行業中的工作痛點,應市場需求趨勢所需美萍汽車維修服務管理軟體特推出手機拍識別照車牌功能。
  • 基於Nios的FFT算法軟硬體協同設計
    摘要:在深入研究Nios自定製指令的軟硬體接口的基礎上,利用Matlab/DSP Builder建立快速傅立葉變換FFT核心運算指令基本模型,然後用Altera公司提供的Singacompiler工具對其進行編譯,產生 QuartusⅡ能夠識別的VHDL
  • 基於PIC32實現的智能球類回收車,軟硬體協同
    本作品是以PIC32單片機為核心微控制器,以自動目標跟蹤為主要工作方式的智能小車系統,它由視頻採集分析模塊、智能小車驅動模塊以及機械臂控制模塊等部分組成,此系統有自動目標尋找、識別、跟蹤、撿拾等功能。本系統主要包括視頻採集分析模塊、智能小車驅動模塊以及機械臂控制模塊等部分。
  • 一種利用Hough變換和先驗知識的車牌識別新方法
    隨著交通管理系統的日趨現代化,車牌自動識別系統成為智能交通系統的重要組成部分。通過對當前車牌識別的基本原理和主要方法的研究,分析比較各種識別方法的優缺點,針對車牌定位、字符分割和字符識別,本文提出一套實用可靠的算法。
  • 大恆圖像工件識別及測量定位系統
    該系統可以自動識別生產線或工作檯上的工件,能夠自動拍攝工件的圖像,對採集到的圖像首先進行目標定位,然後通過特徵匹配和插值運算計算出旋轉角度。
  • 基於慣性導航、RFID 及圖像識別的 AGV 融合導航系統
    汪思迪 曹小華 周 勇武漢理工大學物流工程學院 武漢 430063摘要:提出一種新型的AGV 定位導航方案,通過RFID 與圖像識別解決慣性導航誤差累計的缺陷,以STM32為主控制器實現對平臺的數據採集和姿態計算,由傳感器得到平臺的加速度、角速度,採用四元數法作為平臺的姿態更新算法,經濾波後得到平臺的姿態角。
  • 博能科技關於電子車牌的應用分析
    智能交通技術迅猛發展的今天,智能高效便捷的機動車管理科技手段層出不窮,為了彌補現有物理車牌的不足,電子車牌技術應用而生,並已經融入交通管理工作之中。博能科技主要對現有基於RFID技術的電子車牌原理進行介紹,對其在國內外交通管理領域的應用現狀進行梳理,以及該技術在交通管理相關領域內的重點應用。
  • 車牌自動識別技術突破 雲平臺控制成本_三星 SCP-2120P_安防監控...
    早在2008年,全球車牌自動識別市場價值就已經達到了1.19億美元,根據IMS研究顯示,截止2012年底,該市場已經擴展到了3.5億美元左右。2011年車牌識別達到了年增長率6.9%的成績。隨著市場的發展和用戶需求的不斷變化,車牌識別保持著快速的發展。
  • 基於FPGA的移動目標實時定位跟蹤系統
    打開APP 基於FPGA的移動目標實時定位跟蹤系統 工程師3 發表於 2018-04-20 15:50:00 1 背景知識 如圖
  • 基於百度EasyDL定製化圖像識別平臺的海洋魚類識別方法
    本文作者:範偉亞【目的】魚類識別對漁業資源的開發利用有著重要的意義。針對海底環境惡劣、拍攝環境亮度低、場景模糊的實際情況導致海底觀測視頻品質差,視頻中的魚類識別難的問題以及現有魚類識別方法存在的魚類標註數據集過少導致訓練的深度模型準確度不高的問題。【方法】本文提出了一種基於百度EasyDL定製化圖像識別平臺的海底魚類識別方法。
  • 基於STFT濾波算法的指紋圖像識別系統的設計與實現
    摘要:指紋識別系統是利用指紋識別技術對用戶身份進行驗證的系統,指紋識別系統包括指紋採集、指紋預處理、特徵提取、指紋匹配等模塊。 關鍵詞:指紋增強;二值化;特徵提取;指紋圖像識別;圖像處理 引言 作為最重要的生物識別技術之一,指紋識別技術已經被廣泛應用與門禁、考勤、身份驗證等領域。指紋識別系統是由指紋圖像採集、指紋圖像增強、指紋圖像二值化、指紋圖像細化、指紋圖像特徵提取和指紋圖像匹配等模塊所構成的模式識別系統。
  • 基於深度學習的人臉識別技術全解
    人臉識別技術概述 1、基本概念 人類視覺系統的獨特魅力驅使著研究者們試圖通過視覺傳感器和計算機軟硬體模擬出人類對三維世界圖像的採集通過人臉識別身份的方法與人類的習慣一致,人和機器都可以使用人臉圖片進行識別。而指紋,虹膜等方法沒有這個特點,一個沒有經過特殊訓練的人,無法利用指紋和虹膜圖像對其他人進行身份識別。 非接觸性。人臉圖像信息的採集不同於指紋信息的採集,利用指紋採集信息需要用手指接觸到採集設備,既不衛生,也容易引起使用者的反感,而人臉圖像採集,用戶不需要與設備直接接觸。 可擴展性。