本發明屬于數據處理技術領域,尤其涉及一種基于視頻文件的車輛分析系統及分析方法。
背景技術:
在建設平安城市的進程中,安全是政府日常管理工作中的重要任務。隨著城市報警和監控系統的建設,對于監控數據的分析也日顯重要,需要對重點街道或路口采集的視頻數據進行分析。實現可以對街道或路口的車輛流量進行統計,一方面解決了從海量數據中人工分析的困難,另一方面通過機動車輛的統計,對城市道路建設以及交通管理都具有重要指導意義。
實現機動車牌照的自動識別是一切智能交通管理活動的基礎。如何開發一套行之有效的車牌自動識別系統,特別是車牌定位子系統,具有重要意義。
隨著圖形圖像技術的發展,目前國內外車牌識別的準確率逐漸得到提高,但是,一套完整的車牌識別系統通常由觸發、圖像采集、圖像識別模塊、輔助光源和通信模塊組成,并涉及到光學、電器、電子控制、數字圖像處理、計算視覺、人工智能等多項技術,其中,目前對于車牌定位與圖像處理問題的研究尚不成熟,仍然存在一系列問題,主要體現在現有的車輛分析系統在獲取整個圖像中車牌的區域,并識別出車牌號的能力較差。
隨著智能交通系統在交通領域中的廣泛應用,圖像處理技術成為智能交通系統的重要研究領域,具有極其重要的理論和應用價值。利用圖像處理的各種技術來進行車輛的牌照定位,車輛牌照定位的精確和清晰,是保證識別準確的前提和基礎。本發明提出了一套基于視頻的車輛分析系統及分析方法,對于道路交通中的車輛識別與分析具有重大的意義,對城市交通安全與車輛的智能管理具有決定性作用,同時也拓展了圖形處理技術對車牌分析的應用價值。
技術實現要素:
針對現有技術存在的問題,本發明提供了一種基于視頻文件的車輛分析系統及分析方法。
本發明是這樣實現的,一種基于視頻文件的車輛分析系統,所述基于視頻文件的車輛分析系統包括:
讀入圖像單元,用于輸入車牌圖像,并將輸入的圖像默認為清晰的、沒有傾斜角度的圖像;
圖像預處理單元,用于把讀入圖像單元輸入的圖像,經過圖像灰度化,圖像增強,邊緣提取,二值化后,轉換成用于車牌定位的二值化圖像;
車牌定位與提取單元,用于對車牌進行定位和提取圖像信息;
字符分割單元,用于對定位的車牌信息進行定位字符邊界,進而將車牌內的所有字符截取出來;
字符識別單元,應用模板匹配的算法用于字符的識別,識別出車牌內部的數字。
本發明另一目的在于提供一種基于視頻文件的車輛的分析方法,通過讀入圖像單元,輸入車牌圖像,并將輸入的圖像默認為清晰的、沒有傾斜角度的圖像;
通過圖像預處理單元,把讀入圖像單元輸入的圖像,經過圖像灰度化,圖像增強,邊緣提取,二值化后,轉換成用于車牌定位的二值化圖像;
通過車牌定位與提取單元對車牌進行定位和提取圖像信息;
通過字符分割單元,對定位的車牌信息進行定位字符邊界,進而將車牌內的所有字符截取出來;
通過字符識別單元,采用應用模板匹配的算法進行字符的識別,識別出車牌內部的數字。
進一步,所述圖像灰度化的方法包括:利用加權平均法,將圖像灰度化,公式如下:
f(i,j)=0.299r(i,j)+0.588g(i,j)+0.114b(i,j)。
進一步,所述邊緣提取的方法包括:
利用差分法邊緣提取。
進一步,所述圖像二值化的方法包括:
圖像的二值化把灰度圖像處理成二值圖像;找到合適的閾值來區分對象和背景;
閾值計算公式:t=gmax-(gmax-gmin)/3;
圖像二值化公式:
進一步,所述車牌定位方法包括:
利用車牌區域的特征來判斷牌照,將車牌區域從整幅車輛圖像中分割出來;
車牌字符和牌照底色在灰度值上存在大的跳變,根據圖像中水平方向的跳變點的變化規律來進行車牌位置上的紋理特征的提取,定位車牌的上下邊界;定位出上下邊界之后,計算車牌的近似高度,根據車牌的寬高比例,計算出車牌的寬度,得出一個自定義的固定大小的車牌區域;在查找到的車牌上下界范圍內,利用得出的區域大小橫向遍歷圖像,統計區域內前景點數,滿足要求即認為找到車牌區域,否則繼續搜索,直到找到符合要求的區域;
求圖像的行投影和列投影的公式分別為:
式中,i和j分別為圖像的行數和列數;fv-sum(i),fh-sum(i)分別為圖像水平投影和垂直投影的統計信息。根據投影特征,再結合頻率分析和跳變次數,即可找到車牌的上下邊界。
進一步,字符分割算法包括:
車牌中字符間存在一定間隔,則車牌的直方圖中出現連續的波峰和波谷;波谷處即為字符的邊界處;排列統計二值化后的車牌圖像,計算出所有列中含前景點最少的點數;再排列掃描圖像,一次查找相鄰的含有最小像素點數的兩列,計算兩列的間距,如果小于2,則是分隔符,確定字符的邊界,并依據邊界將每個字符從車牌圖像中截取出來;
依據灰度閾值分割方法,利用直方圖統計法,找到每個字符的左右邊界點,判斷是否為字符,是的話保留左右邊界,否則向后查找。
進一步,字符分割算法包括字符歸一化方法,具體為:
設切割出的字符圖像大小為m×n,模板大小為l×k,則歸一化字符圖像為l×k大小。主要思想為,將字符圖像均勻分成l×k塊區域,分別統計各塊中字符前景點的個數,如果大于塊內像素數的50%,則認為此塊在轉換成l×k大小后相對應的像素位前景點;
若切割出的字符圖像不能夠滿足均勻分成l×k塊區域,則先定義一個(m×l)×(n×k)的矩陣,將字符圖像按比例擴大為(m×l)×(n×k)大小,這樣無論切割出的字符圖像為多大,均切分成l×k塊區域,實現字符的歸一化處理;
字符分割算法還包括字符細化方法:
采用opta細化算法,將歸一化地字符圖像上下、左右邊界加1的擴展,擴展的邊緣默認為背景,在字符圖像中自上而下、從左向右地遍歷每個前景點像素,與已給的3×3的消去模板和4×4的保留模板進行比較,符合消去模板則將該點設為背景點,符合保留模板的則不變,仍使其為前景點。
進一步,字符識別方法包括:
a)特征提取;采用五個特征組成特征向量進行模板匹配;五個特征值分別為:
模板及待識別字符圖像1/5寬度處一列與模板和帶識別字符的交點數;
模板及待識別字符圖像1/2寬度處一列與模板和帶識別字符的交點數;
模板及待識別字符圖像4/5寬度處一列與模板和帶識別字符的交點數;
模板及待識別字符圖像1/4高度處一行與模板和帶識別字符的交點數;模
板及待識別字符圖像3/4高度處一行與模板和帶識別字符的交點數;
b)模板匹配;
將待識別字符圖像的特征向量與10個模板的特征向量一次進行比較,結果值最小的為識別出的結果,返回相應模板所代表的數字,特征向量比較公式如下:
進一步,輸入的圖像中,需進行車牌圖像的去噪處理,具體包括:
采用低通濾波和帶通濾波來去噪。
本發明的優點及積極效果為:
本發明分別從圖像預處理、車牌定位、字符分割以及字符識別等方面進行了系統的分析。通過整理和總結國內外在車牌定位、分割、字符識別方面的分析成果和發展方向,以及我國車牌的固有特征,以及車牌識別的特點,采用基于灰度跳變的定位方法,對圖像進行預處理以及二值化操作,實現了相關功能。經過相關測試,本發明主要的技術效果如下:
1.本方法既保留了車牌區域的信息,又減少了噪聲的干擾,從而簡化了二值化處理過程,提高了后續處理的速度;
2.基于彩色分量的定位方法,運用基于藍色象素點統計特性的方法對車牌是藍色的車牌進行定位,實驗表明,通過該方法實現的車牌定位準確率較高。
附圖說明
圖1是本發明實施例提供的基于視頻文件的車輛分析系統示意圖。
圖中:1、讀入圖像單元;2、圖像預處理單元;3、車牌定位與提取單元;4、字符分割單元;5、字符識別單元。
圖2是本發明實施例提供的基于視頻文件的車輛分析方法流程圖。
圖3是本發明實施例提供的車牌區域精確定位流程。
圖4是本發明實施例提供的字符分割流程圖。
圖5是本發明實施例提供的字符識別方法流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
下面結合附圖對本發明的應用原理作進一步描述。
如圖1所示,本發明實施例提供的基于視頻文件的車輛分析系統,包括:
讀入圖像單元1,用于輸入車牌圖像,并將輸入的圖像默認為清晰的、沒有傾斜角度的圖像;
圖像預處理單元2,用于把讀入圖像單元輸入的圖像,經過圖像灰度化,圖像增強,邊緣提取,二值化后,轉換成用于車牌定位的二值化圖像;
車牌定位與提取單元3,用于對車牌進行定位和提取圖像信息;
字符分割單元4,用于對定位的車牌信息進行定位字符邊界,進而將車牌內的所有字符截取出來;
字符識別單元5,應用模板匹配的算法用于字符的識別,識別出車牌內部的數字。
如圖2所示,本發明實施例提供的提供基于視頻文件的車輛的分析方法,包括:
s101:通過讀入圖像單元,輸入車牌圖像,并將輸入的圖像默認為清晰的、沒有傾斜角度的圖像;
s102:通過圖像預處理單元,把讀入圖像單元輸入的圖像,經過圖像灰度化,圖像增強,邊緣提取,二值化后,轉換成用于車牌定位的二值化圖像;
s103:通過車牌定位與提取單元對車牌進行定位和提取圖像信息;
s104:通過字符分割單元,對定位的車牌信息進行定位字符邊界,進而將車牌內的所有字符截取出來;
s105:通過字符識別單元,采用應用模板匹配的算法進行字符的識別,識別出車牌內部的數字。
下面結具體實施例對本發明作進一步描述。
本發明實施例提供的基于視頻文件的車輛分析方法,包括:
1)圖像預處理方法:
圖像灰度化:
利用加權平均法,將圖像灰度化,公式如下:
f(i,j)=0.299r(i,j)+0.588g(i,j)+0.114b(i,j)
邊緣提取:
采用上述中的差分法邊緣提取。針對系統的圖像要求,利用差分法邊緣提取可以達到很好的邊緣提取效果,而且實現簡單,容易理解。
圖像二值化:
在系統中因為邊緣提取用的是差分法,所以整個圖像的灰度值有大幅度的下降,所以經過實驗統計重新設定二值化閾值為公式所計算出的閾值的1/3。
圖像二值化后前景點(即字符)為白色,背景點為黑色。為方便顯示和觀察,將其轉換為前景點為黑色,背景點為白色。
2)車牌搜索與定位方法:
車牌定位方法的出發點是利用車牌區域的特征來判斷牌照,將車牌區域從整幅車輛圖像中分割出來。車牌自身具有許多的固有特征,這些特征對于不同的國家是不同的。
從人的視覺角度出發,我國車牌具有以下可用于定位的特征:
車牌寬440mm,高140mm,寬高比3.14.內部字符寬45mm,高90mm,間隔符10mm,每個字符間距12mm;
車牌有一個連續或由于磨損而不連續的邊框;
車牌底色一般與車身顏色、字符顏色有較大差異,字符和牌照底色在灰度值上存在較大的跳變,有較多的跳變點出現;
數字字符縱向是連通的。
由車牌上述的特征可以知道,車牌字符和牌照底色在灰度值上存在較大的跳變,因此可以根據圖像中水平方向的跳變點的變化規律來進行車牌位置上的紋理特征的提取,定位車牌的上下邊界。定位出上下邊界之后,可計算車牌的近似高度,根據車牌的寬高比例,近似計算出車牌的寬度,此時則可得出一個自定義的固定大小的車牌區域。在查找到的車牌上下界范圍內,利用得出的區域大小橫向遍歷圖像,統計區域內前景點數,滿足要求即認為找到車牌區域,否則繼續搜索,直到找到符合要求的區域。
3)字符分割算法
由車牌中字符的特點可知,各字符間存在一定間隔,則車牌的直方圖中必然后出現連續的波峰和波谷。波谷處即為字符的邊界處。因此,按列統計二值化后的車牌圖像,計算出所有列中含前景點最少的點數。再案例掃描圖像,一次查找相鄰的含有最小像素點數的兩列(字符的兩個邊界),計算兩列的間距,如果小于2,則是分隔符,可確定字符的邊界,并依據邊界將每個字符從車牌圖像中截取出來。
依據灰度閾值分割方法,利用直方圖統計法,找到每個字符的左右邊界點,判斷是否為字符,是的話保留左右邊界,否則向后查找。
4)字符歸一化方法:
主要做法如下:
設切割出的字符圖像大小為m×n,模板大小為l×k,則歸一化字符圖像為l×k大小。主要思想為,將字符圖像均勻分成l×k塊區域,分別統計各塊中字符前景點的個數,如果大于塊內像素數的50%,則認為此塊在轉換成l×k大小后相對應的像素位前景點。
但是切割出的字符圖像不能夠滿足可以均勻分成l×k塊區域,因此系統中的做法是,先定義一個(m×l)×(n×k)的矩陣,將字符圖像按比例擴大為(m×l)×(n×k)大小,這樣無論切割出的字符圖像為多大,均可以切分成l×k塊區域,從而實現字符的歸一化處理。
5)字符細化方法:
采用opta細化算法,將歸一化地字符圖像上下、左右邊界加1的擴展,擴展的邊緣默認為背景,在字符圖像中自上而下、從左向右地遍歷每個前景點像素,與已給的3×3的消去模板和4×4的保留模板進行比較,符合消去模板則將該點設為背景點,符合保留模板的則不變,仍使其為前景點。
6)字符識別方法:
系統中使用模板匹配的算法來進行字符的識別。系統中采用的識別模板為下載的標準的20×40的灰度圖像(黑底白字),包含0到9十個數字。將模板也做細化處理,以便進行模板數字特征的提取。
a)特征提取
系統采用五個特征組成特征向量進行模板匹配。五個特征值分別為:
(1)模板及待識別字符圖像1/5寬度處一列與模板和帶識別字符的交點數;
(2)模板及待識別字符圖像1/2寬度處一列與模板和帶識別字符的交點數;
(3)模板及待識別字符圖像4/5寬度處一列與模板和帶識別字符的交點數;
(4)模板及待識別字符圖像1/4高度處一行與模板和帶識別字符的交點數;
(5)模板及待識別字符圖像3/4高度處一行與模板和帶識別字符的交點數;
b)模板匹配
將待識別字符圖像的特征向量與10個模板的特征向量一次進行比較,其中結果值最小的即為識別出的結果,返回相應模板所代表的數字,特征向量比較公式如下:
下面結合具體實施例對本發明作進一步描述。
1、本發明實施例提供的數字圖像的存儲和顯示:
1)圖像采集到計算機中,是以圖像文件的形式存儲的,在需要使用時,由程序對這些文件進行及信息處理。
圖片的文件結構:
頭文件,用于存放圖像基本信息,包括各種特征參數、像素數據和調色版數據在文件中的位置,以及文字注釋等;
像素數據,以位圖的形式存放,每像素數據對應圖像相應位置上的顏色值,具體顏色值的定義由調色板數據提供;
調色板數據,是指二值、16色、256色彩色圖像的色調數據,真彩色圖像的像素數據中已有顏色分量,故不再需要調色板信息。
應該注意的是圖像的掃描方向(存儲順序),大多數圖像文件采取的掃描方向為自上而下(如tif和jpeg文件等),少數為自下而上(如bmp文件等)。
2)圖像顯示:
圖像顯示過程是按照圖片存儲過程相反方向進行。
2、圖像的灰度化方法:
將彩色圖像轉化為灰度圖像的灰度化。彩色圖像每個像素包含r、g、b三個顏色分量,每個顏色分量有256個中值可取。而灰度圖像是r、g、b三個顏色分量值相等的特殊的顏色圖像。
在rgb模型中,如果r=g=b時,則彩色表示一種灰度顏色,其中r=g=b的值叫灰度值,因此,灰度圖像每個像素只需一個字節存放灰度值(又稱強度值、亮度值),灰度范圍為0到255。一般有以下四種方法對彩色圖像進行灰度化:
分量法:
將彩色圖像中的三分量的亮度作為三個灰度圖像的灰度值,可根據應用需要選取一種灰度圖像。
f1(i,j)=r(i,j)f2(i,j)=g(i,j)f3(i,j)=b(i,j)
其中fk(i,j)(k=1,2,3)為轉換后的灰度圖像在(i,j)處的灰度值。
最大值法:
將彩色圖像中的三分量亮度的最大值作為灰度圖的灰度值。
f(i,j)=maxr(i,j)g(i,j)b(i,j)
平均值法:
將彩色圖像中的三分量亮度求平均值得到一個灰度圖。
f(i,j)=(r(i,j)+g(i,j)+b(i,j))/3
加權平均法:
根據重要性及其他指標,將三個分量以不同的權值進行加權平均。由于人眼對綠色的敏感最高,對藍色敏感最低,因此,按下式對rgb三分量進行加權平均能得到較合理的灰度圖像。
f(i,j)=0.299r(i,j)+0.588g(i,j)+0.114b(i,j)。
3、圖像二值化方法:
圖像的二值化即把灰度圖像處理成二值圖像的過程。二值化的關鍵是要找到合適的閾值來區分對象和背景。灰度圖像二值化能顯著減小數據存儲的容量,并能降低后續處理的復雜度。根據閾值選取方法的不同,二值化方法主要分為三類:全局閾值法、局部閾值法和動態閾值法。
a)全局閾值二值化方法:
全局閾值二值化方法是根據圖像的直方圖或灰度空間分布確定一個閾值,并且據此閾值實現灰度圖像到二值化圖像的轉化。典型的全局閾值法包括ostu方法、最大熵方法等。全局閾值方法的優點在于算法簡單,對目標和背景明顯分離、直方圖是雙峰的圖像效果良好,但對輸入圖像量化噪聲或不均勻光照等情況抵抗力差,應用受到限制。
b)局部閾值二值化方法:
由像素(i,j)的灰度值f(i,j)和像素周圍點的局部灰度特性確定閾值的方法稱為局部閾值選擇法。非均勻光照條件等情況雖然影響整體圖像的灰度分布卻不影響局部的圖像性質。鄰域的規定及鄰域計算模板的選取都是決定算法效果的關鍵因素。局部閾值法也存在缺點和問題,如實現速度慢,不能保證字符筆畫連通性,以及容易出現偽影現象等。
c)動態閾值二值化方法:
當閾值選擇不僅取決于該像素閾值以及其周圍像素的灰度值,而且還和該像素坐標位置有關時,稱之為動態閾值選擇法。由于充分考慮了每個像素鄰域的特征,能更好的突出背景和目標的邊界,使相距很近的兩條線不會產生粘連現象,可以處理低質量甚至單峰值直方圖圖像。但是,這種方法的計算量很大,運算速度一般比較慢。
閾值計算公式:t=gmax-(gmax-gmin)/3;
圖像二值化公式:
4、車牌圖像的去噪處理方法:
在圖像中,由于獲取圖像的設備會產生噪聲,在圖像傳輸過程中也會存在噪聲,而車牌本身也會有噪聲,這就使得我們獲得的圖像都夾雜著或多或少的噪聲。是否需要將圖像進行去噪處理,這取決于噪聲對圖像的影響程度。一般來說我們只有對圖像進行去噪處理后才能更好的實現車牌的分割和識別。一般將圖像中的噪聲分為兩種:一種是加性噪聲,另一種是乘性噪聲。加性噪聲和原圖像是加的關系,可以用表達式(1)表示。而乘性噪聲和原圖像數據是相乘的關系,可用表達式(2)表示。
g(x,y)=f(x,y)+η(x,y)(1)
g(x,y)=f(x,y)*η(x,y)(2)。
產生的噪聲會因產生原因的不同而表現出不同特點。常見的噪聲類型有:均勻分布噪聲、高斯噪聲、脈沖噪聲、指數分布噪聲、瑞利噪聲、伽馬噪聲等噪聲類型。在去噪時,我們需要根據噪聲的特點采取相應的方法去噪。大體上可以分為兩種,一種是在時域進行去噪,另一種是在頻域進行去噪。這兩種方法是根據不同的思想進行去噪的,一個是利用信號和噪聲的時域特征來去噪,另一個是利用信號和噪聲的頻域特征來去噪。不管是哪一種方法,我們都是為了將信號和噪聲分離從而得到一個含有少量噪聲的圖像數據。在時域上去噪的方法有很多種,比如:均值濾波、順序濾波、自適應濾波等濾波方法。而在頻域上去噪主要是利用噪聲和信號所占頻帶的不同從而將其分離,根據噪聲所在不同的頻帶,我們可以采用低通濾波和帶通濾波來去噪。
5、圖像的增強方法:
圖像增強,即增強圖像中的有用信息,一般是一個失真的過程,其目的是要增強視覺效果,將原來不清晰的圖像變得清晰或強調某些感興趣的特征,抑制不感興趣的特征,使之改善圖像質量、豐富信息量,加強圖像判讀和識別效果。
圖像增強的目的是改善圖像的視覺效果,針對給定圖像的應用場合,有目的地強調圖像的整體或局部特性,擴大圖像中不同物體特征之間的差別,滿足某些特殊分析的需要。其方法是通過一定手段對原圖像附加一些信息或變換數據,有選擇地突出圖像中感興趣的特征或者抑制圖像中某些不需要的特征,使圖像與視覺響應特性相匹配。
圖像增強按所用方法可分成頻率域法和空間域法。采用低通濾波(即只讓低頻信號通過)法,可去掉圖中的噪聲;采用高通濾波法,則可增強邊緣等高頻信號,使模糊的圖片變得清晰。具有代表性的空間域算法有局部求平均值法和中值濾波(取局部鄰域中的中間像素值)法等,它們可用于去除或減弱噪聲。
結合對車輛牌照特征的分析以及對各種定位方法的比較,本系統采用的是基于行掃描灰度跳變分析的車牌定位方法。該方法綜合了基于紋理特征分析和基于邊緣檢測分析方法的特點,具有速度快和準確性高的優點。
6、邊緣檢測方法:
圖像的邊緣是圖像的最基本的特征。所謂邊緣是指周圍像素灰度有階躍變化或屋頂變化的那些像素的集合。物體的邊緣是由灰度不連續性所反映的。邊緣廣泛存在于物體與背景之間、物體與物體之間、基元與基元之間,是圖像分割、紋理特征提取和形狀特征提取等圖像分析的重要基礎。圖像分析和理解的第一步往往是邊緣檢測。
一般邊緣的提取方法是考察圖像的每個像素在某個領域內灰度的變化,利用邊緣鄰近一階或二階方向導數變化規律,選取適當的算子,用卷積的方法檢測邊緣。邊緣提取的,最大好處就是能夠突出邊緣區域,并使背景圖像中無關的部分暗淡。車牌部分是邊緣相對集中的區域,在對其邊緣分割后,可看到車牌部分很明顯的突現出來。
圖像邊緣檢測大幅度地減少了數據量,并且剔除了可以認為不相關的信息,保留了圖像重要的結構屬性。常用的邊緣檢測方法有sobel算子、roberts算子、prewitt算子等。
一)roberts算子:
roberts算子是最古老的算子之一,是一種交叉差分算子。由于它只使用當前像素的2×2鄰域,是最簡單的梯度算子,所以計算非常簡單。roberts算子計算時利用的像素一共有4個,可以用模板對應4個像素與模板相應的元素相乘相加得到。
roberts算子邊緣定位準,主要缺點是其對噪聲的高度敏感性,原因在于僅使用了很少的幾個像素來近似梯度。實用于邊緣明顯且噪聲較少的圖像分割。因此,通常用3×3的鄰域計算梯度值。
二)sobel算子:
采用梯度微分銳化圖像,同時會使噪聲、條紋等得到增強,sobel算子則在一定程度上克服了這個問題。sobel算子不像普通梯度算子那樣用兩個像素的差值,這就導致了兩個優點:
由于引入了平均因素,因而對圖像中的隨機噪聲有一定的平滑作用;
由于它是相隔兩行或兩列之差分,故邊緣兩側元素得到了增強,邊緣顯得粗而亮。
三)prewitt算子:
prewitt算子進行計算時要用到9個像素。對于每個方向的梯度,可以用模板對應的9個像素與模板相應的元素相乘相加得到,其計算過程與roberts算子類似。
prewitt算子對噪聲有抑制作用,抑制噪聲的原理是通過像素平均。但是像素平均相當于對圖像進行低通濾波,所以prewitt算子對邊緣的定位不如roberts算子。
四)canny算子:
canny算子是基于圖像一階導數特性的效果最佳的邊緣檢測算法。canny算法其實是在邊緣檢測的過程中引入了一些邊緣連接的思想,所以其效果比較理想。
canny算子的基本原理是通過查找圖像梯度強度局部的最大值的方法來得到邊緣信息,圖像梯度的計算采用gauss濾波器。為了消除噪聲干擾、提高邊緣檢測的精度,canny算子采用雙閾值來提取邊緣點。高閾值用于提取對比度較強的邊緣像素點。如果梯度強度不滿足高閾值的檢測條件,但是與已檢測出的較強邊緣點相連接,并且滿足低閾值條件,則確定為弱邊緣點。雙閾值法使canny算子提取的邊緣點更具有魯棒性。
利用canny算子檢測圖像邊緣的關鍵是選取適當的gauss濾波器參數以及雙閾值。gauss濾波器的標準差σ參數影響著邊緣提取的尺度,σ越小,邊緣的定位精度越高,但是不能有效地抑制虛假邊緣和噪聲;σ越大,對小尺度邊緣和噪聲點的抑制越強,同時降低定位精度。
五)laplacian算子:
為了突出增強圖像中的孤立點、孤立線或孤立端點,在某些實際用途中常采用laplacian算子,這個算子是旋轉不變算子。以上四種算子為一階算子,而laplacian算子為二階算子。laplacian算子是近似只給出梯度幅值的二階導數的流行方法。通常使用3×3的掩模,根據鄰域不同可以分為4鄰域和8鄰域。
laplacian算子對于邊緣比較敏感。一般增強技術對于陡峭的邊緣和緩慢的邊緣很難確定其邊緣線的位置,此算子可以用二次微分正峰和負峰之間的過零點來確定。
laplacian算子對噪聲比較敏感,所以圖像一般先經過平滑處理。因此laplacian算子通常與平滑算子結合使用來對圖像進行分割。laplacian算子的一個缺點是它對圖像中的某些邊緣產生雙重響應。
7、特征提取方法:
1)紋理特征提取方法:
紋理是圖像分析和識別中常用的概念,但目前尚無對它正式的定義,一般說來可以認為紋理是由許多相互接近的、相互編制的元素構成,并常富有周期性。也可以認為是灰度在空間以一定的形式變化而產生的圖案。
主要方法是灰度直方圖統計法。直方圖是圖像窗口中,多種不同灰度的像素分布的概率統計。紋理是像素灰度級變化具有空間規律性的視覺表現。因此,可以根據灰度的規律性變化來找到圖像中的紋理特征。
2)形狀和結構特征提取方法:
對于一個圖像識別系統而言,物體的形狀是一個賴以識別的重要特征。一個圖像的形狀和結構特征有兩種形式,一種是數字特征,主要包括幾何屬性和拓撲屬性;另一種是句法語言。
由于感興趣的是圖像的形狀和結構特征,所以其灰度信息往往可以忽略,只要能將目標和背景分離即可,常用的一種技術就是圖像的二值化。將感興趣的部分標以最大灰度級,把背景標以最小灰度級。
下面結合定位方法對本發明作進一步描述。
1、定位:
自然環境下,汽車圖像背景復雜,光照不均勻,在自然背景中準確地確定牌照區域是整個圖像識別過程中的關鍵。首先對采集到的圖像進行大范圍相關搜索,找到符合汽車牌照特征的若干區域作為候選區,然后對這些侯選區域做進一步分析、評判。最后選定一個最佳區域作為牌照區域,將其從圖像中分割出來。同時要考慮車牌傾斜問題。算法流程如下:
(1)對二值圖像進行區域提取,計算并比較區域特征參數,提取車牌區域。
(2)計算包含所標記區域的最小寬和高,并根據先前知識,提取并顯示更接近的車牌二子值圖。
(3)通過計算車牌旋轉角度解決車牌傾斜問題。由于車牌傾斜導致投影效果峰不明顯,需車牌矯正處理。采取線性擬合方法。計算出車牌上邊或下邊圖像值為l的點擬合直線與水平軸的夾角。用matlab函數的旋轉車牌圖象函數imrotate。計算車牌旋轉角度和經旋轉、二值化后的車牌二值子圖。
本發明經過大量實踐后找到了基于圖像差分投影法,從而將車牌識別時間縮短到一百毫秒以內。其原理是將車輛灰色圖像按水平方向求差分圖,然后按垂直方向求差分,最后對差分后的車輛圖像分別在水平和垂直方向投影,按照給定的車牌尺寸范圍找出可似車牌區域。
采用基于車牌紋理和顏色信息的綜合車牌定位方法對車牌區域精確定位,其實現流程如下圖3所示。
假設輸入彩色圖像為i,通過gray=0.229×r+0.587×g+0.114×b將i轉化為灰度圖gray,采用迭代求閾值的方法求出最佳閾值t,根據t對gray進行二值化處理得到圖像b;用sobel垂直算子進行邊緣檢測,得到邊緣圖像s;對s,利用平滑方法對其消噪,用腐蝕方法去除一些孤立點和細的突出,用膨脹方法融合圖像中的隙縫彎孔和小洞,得到圖像f;在f中搜索連通區域形成車牌侯選區域rect[i],對于每個rect[i]根據顏色信息去除偽車牌區域,然后對校正后的車牌區域通過區域行跳變rect[i]jumpnum、垂直投影rect[i].hproject及水平投影rect[i].vproject對車牌區域精確定位。
1.1車牌粗定位方法:
車牌粗定位即對車牌區域進行篩選。由于圖像背景往往比較復雜,車體的其他區域存在著干擾因素,因此車牌定位所提取出的車牌候選區域往住有多個,需要進一步對這些候選區域進行篩選,剔除干擾區域,定位出真正的車牌。
假設第i個候選區域的高為h,寬為w,則該候選區域高與寬的比r及面積a分別為
ri=ωi/hi,ai=ωihi;
再假設第i個候選區域黃、藍色、白三色像素個數分別為si,y,si,b和si,w;跳變次數為si,j;二值化后第j行白色點數為nij,w。
1)車牌通常有一定的長度和寬度,并且長寬有一定的比例,國內的單行車牌長寬比為440/140=22/7。利用車牌的這一特征,如果300像素≤ai≤1200像素,或者3≤ri≤4,就認為第i個候選區域是車牌區域,否則將之去除。通常候選區域會比實際的車牌區域大,如果嚴格按標準車牌區域的長寬比來判定車牌區域就會導致錯誤篩選。為此在粗定位時根據實際情況放寬候選區域的限制,以杜絕“錯誤篩選”的發生。
2)車牌區域還有一個明顯的特征就是其底色與字符有固定的搭配,如我國的標準車牌有4種固定搭配:藍底白字、黃底黑字、白底黑字及白底紅字。如果si,y≥ai/4,或者si,b≥ai/4,或者si,w≥ai/4,并且si,j≥14,此區域就被認為是車牌區域,否則就是偽車牌區域。
3)為進一步提高車牌定位的速度,考慮到車牌區域二值化后每行的白點數目比較多,在系統實現時,設定一個閾值t。如果nij,w≤t,則候選區域第j行就過濾掉。這樣能減少車牌定位時的計算量,從而減少候選車牌連通區域的數量。
通過上面3個條件即可在車牌的候選區域中篩選出真正的車牌。
1.2圖像的傾斜矯正方法:
由于拍攝時鏡頭與牌照的角度、車輛的運動及路面的狀況等因素的影響,例如車牌在捕捉圖像中的位置不固定,捕捉圖像時車頭或者鏡頭發生擺動以及車牌本身就掛歪了或路況較差,都可能使拍攝到的車牌圖像有一定的傾斜度,為了正確識別需要進行傾斜度校正,否則將無法進行單個字符的正確分割,字符識別的誤差率就會上升。但是若以某個固定的經驗值對所有牌照統一進行旋轉處理,又會使原本正常的牌照傾斜,導致新的錯誤。因此有必要針對特定的牌照圖像提取其傾斜角度,再加以相應的旋轉處理。如何從牌照中自動提取其傾斜度是預處理過程中的一個難點,一般使用hough變換檢測圖像中的直線來對圖像的傾斜進行相應的矯正。
具體算法是根據圖像上左右兩邊的黑色像素的平均高度來確定的。字符組成的圖像它的左右兩邊的字符像素高度應該是處于水平位置附近的,如果兩邊字符像素的平均位置有比較大的起落,那就說明圖像存在傾斜,需要進行調整。首先要計算圖像左半邊和右半邊的像素的平均高度,然后求斜率,根據斜率重新組織圖像,也就是從新圖像到舊圖像的映射。如果新圖像中的像素映射到舊圖像時超出了舊圖像的范圍,則把新圖像中的該像素置成白色。
1.3車牌邊框和柳釘的去除方法:
在實際處理中,面對要識別的牌照字符背景非常復雜,存在較大的干擾、噪聲。當車牌的二值圖像統一為黑底白字并經過對圖像梯度銳化和去除噪聲后,還會有汽車保險杠與牌照四條邊框的殘缺圖像以及牌照上兩個鉚釘干擾的一個區域。借助先驗知識,可以采取圖像處理方法從上述復雜背景中去除干擾。將車牌圖像進行二值化后,圖像僅黑、白二值。白色像素點(灰度值255)取l,黑色像素點(灰度值0)取0,這里采用的是白底黑字模式。車牌圖像中上下邊框和鉚釘的去除是很重要的,沒有去除邊框線和鉚釘的車牌圖像,經常出現鉚釘和字符及邊框線粘連的現象,給后續車牌字符的分割造成很大的困難。在車牌邊框線的內側,通常有四個鉚釘,他們不同程度地與第2個字符或第6個字符粘連,如果不去除鉚釘,將給第2和第6在字符的識別造成困難。
對于標準車牌,字符間間距為12㎜,第2、3個字符間間距為34㎜,其中,中間小圓點l0㎜寬,小圓點與第2、3個字符間間距分別為12㎜。根據這些先驗知識,對車牌圖像逐行進行從內向外式掃描,當掃描到車牌圖像某一行中,白色像素點的寬度大于某一閥值時(第一個符合條件的行),則認為是車牌字符的邊沿處,切除這一行以上或以下的所有行。以除去車牌的上邊框和鉚釘干擾為例,其算法思想為:設要處理的圖片尺寸為m×n,其中m為行,n為列,取經驗值9n/l0作為在行方向投影的門限值,從i=2m/3行開始往上逐行掃描,若該行在行方向上的投影j>9n/l0,就認為找到了字符的上邊界為i+l行處,將從i開始的所有行全部切除。若沒有找到符合條件的行,則認為無上邊框干擾。
1.4車牌精確定位方法:
粗定位車牌成功后,在得到的車牌區域中除了車牌圖像外還有其他一些背景信息,必須把這些背景信息過濾掉,得到只有車牌字符的圖像才能進行車牌字符更精確的分割和識別。經傾斜矯正后,通過投影法搜索車牌邊界。
1)搜索車牌上下邊界
車牌上下邊界的提取將頻率法和投影法結合起來使用。所謂投影法就是分析圖像的縱橫方向的投影值,來找到車牌的邊界。求圖像的行投影和列投影的公式分別為:
式中,i和j分別為圖像的行數和列數;fv-sum(i),fh-sum(i)分別為圖像水平投影和垂直投影的統計信息。根據投影特征,再結合頻率分析和跳變次數,即可找到車牌的上下邊界。
2)搜索車牌左右邊界方法:
車牌區域在垂直投影上表現出不同的統計特征:真車牌區域的垂直投影有明顯的峰一谷一峰的現象;由于車牌字符是7個,所以波峰數一般大于7個(假設字符灰度級高于車牌背景);波峰與波峰、波谷與波谷之間的值相差不大。根據投影特征,再結合頻率分析,即可找到車牌的左右邊界。
下面結合車牌區域處理對本發明作進一步描述。
車牌區域處理:
由于本系統的車牌圖像是在室外拍攝的,因此不可避免地會受到自然光線、季節等因素的影響。要去除這些干擾就得先對車牌圖像進行預處理。原始圖像的數據一般比較大,對其進行處理的時間一般也較長,而由于實時性的要求,車牌的提取需要一次性處理就能把絕大多數特征提取出來。需要把得到的圖像進行預處理。預處理的過程需要把圖像轉化為二值圖像,這樣會大大減少數據量,為實時性提供一定程度的保證。二值化后的車牌要能再現原字符圖像,基本不出現筆畫斷裂和粘連現象,盡量不丟失原字符的特征。經試驗,采用閾值為0.2附近時車牌字符最為清楚,雜點最少。
圖像預處理主要包括:灰度化、二值化、梯度銳化、降噪、分割、歸一化。
下面結合字符分割方法對本發明作進一步描述。
如圖4所示,字符分割:
采用灰度投影法對字符進行分割。此算法的思想是基于圖像投影直方圖即二值圖像中的行或列與每行或每列的白色象素值的出現個數的統計關系中存在波峰波谷起伏變化,其中波谷可能就是相鄰字符的間隔處。根據先驗知識,標準的車輛牌照有7個字符,首位為省名簡稱(漢字),次位為英文字母,最后一位是漢字(掛)或英文字母或數字,其他位為英文字母或數字。考慮到漢字偏旁與部首之間投影后可能會出現一定的波谷,并且漢字與噪聲之間也會存在波谷,因此采用投影法直接分割。即設置一個閾值,將投影之間波谷距離小于這個閾值的投影進行合并,從而使漢字偏旁和部首的投影進行合并。合并后,計算其第一個字符和最后一個字符的寬度,如果計算值大于車牌字符平均寬度的1.5倍,就認為是錯誤合并,則撤銷合并以排除錯誤合并,避免將車牌邊框的投影合并在字符中。對于其他5個字符,由于是數字和字母,其結構具有連通性的特點,所以采用數學形態學中連通域法對其進行分割。
下面結合字符識別方法對本發明作進一步描述。
字符識別方法:采用自適應性和學習能力強的bp神經網路對分割出的字符進行識別,其識別流程如下圖5所示。
下面結合神經網絡分類器的設計和應用對本發明作進一步描述。
車牌字符的分布是有規律的。根據車牌上字符分布的規律性,在系統中設計“漢字網絡”,“數字、字母網絡”及“漢字、字母、數字網絡”等3個識別網絡。
應用時,將第1個分割字符送到“漢字網絡”,第7個文字送到“漢字、字母、數字網絡”,其他字符送到“數字、字母網絡”。
1.1bp神經網絡的設計:
1)初始權值的選取。初始權值直接影響神經網絡收斂的速度,若選得不好,神經網絡將處于飽和而導致難以收斂或陷入局部極小。在系統中,初始權值選取0~1之間均勻分布的隨機值。
2)輸入層節點數的確定。將分割字符規格化為2o×16點陣大小的字符圖像,故輸入層神經元個數取320。
3)輸出層節點數的確定。輸出層節點數和待識別的字符個數有關,系統中需要識別50個漢字,1o個數字和25個字母(不包括字母i,因為車牌字符無字母i)。系統中采用字符的8421碼來對識別字符進行編碼,所以輸出層節點數取7。
4)隱含層節點數的確定。隱含層節點數少了,學習過程不收斂;隱含層節點數多了,網絡的學習及推理效率變差。隱層節點數目選擇的經驗公式為
5)特征歸一化。將輸入的字符圖像歸一化為20×16點陣大小的字符圖像,系統將歸一化后的字符圖像二值化,然后統一轉化為黑底白字字符作為神經網絡的輸人特征。
1.2訓練樣本的選取:
在字符識別中,每一類字符所選取的訓練樣本必須能真實地反映該類字符的共同特征。車牌字符分割結果不理想時會出現分割字符不規范的觀象,若為了追求字符識別而將不規范字符作為了訓練樣本,結果往往使網絡雖然學會了該不規范字符,但對真正較正規的字符的識別率卻下降了。因此,在系統中將字符分割后的圖像顯示出來,如果分割效果比較好但識別不正確時再使用神經網絡進行訓練,這樣可以達到系統兼容其他常見車牌分割字符識別的目的。當然,考慮到系統識別的其他因素,如車輛在靜止或運動時分割出來的字符效果有差異,在系統中提供保存和讀取不同網絡連接權值的功能,以便在識別不同目標分割出的字符時進行切換訓練文件來對分割字符精確識別。
1.3bp網絡的識別過程:
對于一個訓練好的網絡,識別過程其實就是一個利用訓練好的權值完成一次順傳播過程,然后在輸出層得到一個識別結果。系統中輸出層有7個節點,每個節點的輸出結果都和一個待識別字符的編碼相對應。字符編碼采用8421碼,如果節點的輸出和字符編碼相同,就認為輸入的字符為該節點對應的字符。由于系統采用的激活函數sigmoid函數的輸出永遠不可能等于0或者1,同時為了提高系統識別率,定義:當輸出值≤0.1時,輸出為0;而當輸出值≥o.9時輸出為1。
下面結合cr識別方法對本發明作進一步描述。
ocr識別:
圖像輸入:
對于不同的圖像格式,有著不同的存儲格式,不同的壓縮方式,針對不同的格式的圖片進行解析,獲取圖片像素內容,然后繼續下面的操作。
二值化:
對攝像頭拍攝的圖片,大多數是彩色圖像,彩色圖像所含信息量巨大,對于圖片的內容,我們可以簡單的分為前景與背景,為了讓計算機更快的,更好的識別文字,需要先對彩色圖進行處理,使圖片只前景信息與背景信息,可以簡單的定義前景信息為黑色,背景信息為白色,這就是二值化圖了。
噪聲去除搜索:
對于不同的文檔,對噪聲的定義可以不同,根據燥聲的特征進行去燥,就叫做噪聲去除。
傾斜較正:
由于一般用戶,在拍照文檔時,都比較隨意,因此拍照出來的圖片不可避免的產生傾斜,這就需要文字識別軟件進行較正。
版面分析:
將文檔圖片分段落,分行的過程就叫做版面分析,由于實際文檔的多樣性,復雜性,因此,目前還沒有一個固定的,最優的切割模型。
字符切割:
由于拍照條件的限制,經常造成字符粘連,斷筆,因此極大限制了識別系統的性能,這就需要文字識別軟件有字符切割功能。
字符識別:
以特征提取為主,由于文字的位移,筆畫的粗細,斷筆,粘連,旋轉等因素的影響,極大影響特征的提取的難度。
版面恢復:
人們希望識別后的文字,仍然像原文檔圖片那樣排列著,段落不變,位置不變,順序不變地輸出到word文檔、pdf文檔等。
后處理、校對:
根據特定的語言上下文的關系,對識別結果進行較正。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。