本發(fā)明涉及圖像識別領域,尤其涉及車標圖像識別領域,具體涉及一種基于修正HU不變矩和SIFT特征的混合算法的車標識別方法和系統(tǒng)。
背景技術:
在對車標進行識別時,首先要對車標圖像進行特征提取。通常的車標特征提取方法有修正的Hu不變矩特征法和基于SIFT算法的特征提取法。
一、修正的Hu不變矩特征
修正的Hu不變矩是基于Hu不變矩發(fā)展而來的,Hu不變矩是基于代數(shù)不變量的矩不變量,通過對幾何矩的非線性組合,導出的一組對于圖像平移、旋轉和尺度變化不變的矩。不變矩是圖像的一種統(tǒng)計特征,它利用圖像灰度分布的各階矩來描述圖像灰度的分布特征[1]。
f(x,y)是數(shù)字圖像,它的(p+q)階矩定義為:
它的(p+q)階中心矩定義為:
其中,表示圖像的中心,定義如下:
標準化中心矩的表達式為:
其中,
對平移、縮放、鏡像和旋轉都不敏感的7個二維Hu不變矩為:
而修正Hu不變矩,則需要在上面計算過程中加入中間系數(shù),對中間變量進行調整,再獲得7個Hu不變矩,包含修正系數(shù)xs和ys的新的中心矩定義為
其中,f是一個非負的連續(xù)圖像函數(shù);和分別是在x和y方向上的圖像的重心坐標;修正系數(shù)xs和ys由下面的表達式獲得:
在實際應用中,為了方便整體的比較和降低分類的復雜性,采用取對數(shù)的方法對不變矩數(shù)據(jù)進行壓縮處理,即:
二、基于SIFT算法的特征提取
SIFT即尺度不變特征轉換(英文全文:Scale-invariant feature transform),是一種用于描述圖像鄰域的局部算子,可在圖像中檢測出圖像的極值點。SIFT算子由David Lowe在1999年提出,在2004年加以完善。該算法是一種基于尺度空間的、對圖像縮放、旋轉甚至仿射變換保持不變性的特征匹配算法[2]。一般來說,結合圖1來說明,SIFT算法可以分為以下四步:
S201:尺度空間極值檢測:搜索所有尺度上的圖像位置。通過高斯微分函數(shù)來識別潛在的對于尺度和旋轉不變的興趣點。
S202:關鍵點定位:在每個候選的位置上,通過一個擬合精細的模型來確定位置和尺度。關鍵點的選擇依據(jù)于它們的穩(wěn)定程度。
S203:方向確定:基于圖像局部的梯度方向,分配給每個關鍵點位置一個或多個方向。所有后面的對圖像數(shù)據(jù)的操作都相對于關鍵點的方向、尺度和位置進行變換,從而提供對于這些變換的不變性。
S204:關鍵點描述:在每個關鍵點周圍的鄰域內,在選定的尺度上測量圖像局部的梯度。這些梯度被變換成一種表示,這種表示允許比較大的局部形狀的變形和光照變化。在原方法中,關鍵點附近的領域被劃分為4*4個子區(qū)域,每個子區(qū)域中計算8個方向的梯度,共有4*4*8=128維的特征分量。
現(xiàn)有以上兩種特征提取方法中,存在以下缺點:
修正Hu不變矩描述的是車標圖像的全局特征,這些矩對平移、縮放、鏡像和旋轉都不敏感,但由于實際拍攝到的車標圖像可能會出現(xiàn)光照、污損、遮擋等情形,修正Hu不變矩特征方法會受這些局部特征的變化影響較大,最終導致識別存在一定的不準確率;而SIFT特征提取算法描述的則是圖像的局部特征,但SIFT算子有時提取的特征點偏少,有時則過多,不同的車標圖像,提取出的SIFT特征點個數(shù)往往是不同的。由于特征點個數(shù)不等,就為利用特征點的描述符進行識別帶來了困難。
說明書全文參考文獻:
[1]Palaniappan R,Raveendran P,Sigoru Omata.Improved Moments Invariant for Invariant Image Representation Invariants for Pattern Recognition and Classification[M].Singapore:World Scientific Publishing Co,2000:167
—185.
[2]David G.Lowe.Distinctive Image Features from Scale-Invariant Keypoints[J].International Journal of Computer Vision,2004,60(2):91-110
[3]孫曄,吳銳文.基于卷積神經(jīng)網(wǎng)絡的車標識別[J].現(xiàn)代計算機,2015,4:84-87
技術實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種車標識別方法和系統(tǒng)。
本發(fā)明采用如下技術方案:
本發(fā)明的車標識別方法,它包括如下步驟:
S21:檢測車標圖像;
S22:從車標圖像中提取混合有SITF特征點和HU不變矩特征的一維數(shù)組。
優(yōu)選的,所述一維數(shù)組結構如下:其中為HU不變矩;n≥5,s1,s2……sn為SITF特征點,每個特征點格式為x,y分別為特征點的橫坐標,縱坐標,f1,f2……f128為SITF特征點的128維特征分量。
優(yōu)選的,n=5時,所述SITF特征點的提取包括如下步驟:
S2211:列掃描提取車標圖像的第一特征點,和最左,最右特征點;
S2212:行掃描提取車標圖像的第一特征點,和最上,最下特征點;
S2213:計算行邊界特征點和列邊界特征點;
S2214:計算行和列邊界特征點確定的圖像區(qū)域的中心點;
S2215:計算S2214中的中心點與車標圖像中心點之間的歐式距離,將歐式距離最短的特征點作為第5特征點;
S2216:將5個特征點按照從上到下,從左到右的順序排序后放入候選集,得到SITF特征點。
優(yōu)選的,所述步驟S2213中行邊界特征點和列邊界特征點的篩選方法為:
候選集中的特征點如超過4個時,對于同一行存在左右兩個特征點的情形,考察該點是否同時為左邊界或右邊界上的特征點,則:
a)當兩個點都是邊界的情形,兩個點都給予保留;
b)當一個點為左邊界或右邊界時,舍棄另外一個點;
c)當兩個點都不是左右邊界時,則計算候選集中左右邊界點橫坐標的中間值,保留橫坐標距離該中間值近的點,舍棄距離其遠的點;如果兩個點距離該中間值的距離是一樣的,則選取左邊的特征點;
候選集中的特征點如仍超過4個時,對于同一列存在上下兩個特征點的情形,考察該點是否同時為上邊界或下邊界上的特征點:
a)當兩個點都是邊界的情形,兩個點都給予保留;
b)當一個點為上邊界或下邊界時,舍棄另外一個點;
c)當兩個點都不是上下邊界時,則計算候選集中上下邊界點從坐標的中間值,保留縱坐標距離該中間值近的點,舍棄距離其遠的點;如果兩個點距離該中間值的距離是一樣的,則選取上邊的特征點。
優(yōu)選的,所述車標識別方法還包括步驟:
S23:識別車標圖像;將混合有SITF特征點和HU不變矩特征的一維數(shù)組輸入到訓練好的分類器中,經(jīng)分類器計算后得到識別結果。
優(yōu)選的,所述分類器為BP人工神經(jīng)網(wǎng)絡;所述混合有SITF特征點和HU不變矩特征的一維數(shù)組中的各元素作為BP人工神經(jīng)網(wǎng)絡的輸入層節(jié)點輸入。
本發(fā)明的車標識別系統(tǒng),它包括:SITF特征點篩選模塊,HU不變矩篩選模塊,混合模塊;
SITF特征點篩選模塊,用于篩選車標圖像特征點并輸出給混合模塊,所述特征點包括行邊界特征點,列邊界特征點,以及第5特征點;所述第5特征點為車標圖像內到由行邊界特征點和列邊界特征點確定的圖像區(qū)域中心點的歐式距離最短的點;
HU不變矩篩選模塊,用于篩選車標圖像內的7個不變矩特征點并輸出給混合模塊;
混合模塊,將SITF特征點和HU不變矩混合后輸入到分類器。
優(yōu)選的,所述分類器為BP人工神經(jīng)網(wǎng)絡;BP人工神經(jīng)網(wǎng)絡的輸入層節(jié)點為混合有SITF特征點和HU不變矩特征的一維數(shù)組中的各元素。
優(yōu)選的,所述一維數(shù)組結構如下:其中為HU不變矩;n=5,s1,s2……sn為SITF特征點,每個特征點格式為x,y分別為特征點的橫坐標,縱坐標,f1,f2……f128為SITF特征點的128維特征分量。
本發(fā)明的有益技術效果是:修正Hu不變矩算法和SIFT算法都有其特定的適用性,針對兩種方法的局限,本發(fā)明提出了一種有效混合兩種算法的方法,同時針對SIFT算子提取的特征點個數(shù)不穩(wěn)定的情況,提出了獨特的特征點篩選方法,將篩選出的特征點的特征描述子作為識別分類器的一部分節(jié)點的輸入,本發(fā)明的車標分類器采用BP人工神經(jīng)網(wǎng)絡模型。通過混合修正Hu不變矩特征和SIFT特征作為識別分類器的輸入特征,達到了使特征向量維數(shù)統(tǒng)一,同時兼顧了圖像的全局特征和局部特征的目的,使得該算法發(fā)明在復雜環(huán)境下有較好的適應性。
附圖說明
圖1 SIFT算子描述符的梯度分布圖;
圖2實施例一中的車標識別方法的流程圖;
圖3實施例一中的車標識別方法中生成車標識別模型步驟的流程圖;
圖4實施例一中的車標識別方法中訓練分類器步驟的流程圖;
圖5實施例一中的車標識別方法中識別車標步驟的流程圖;
圖6實施例一中的車標識別方法中檢測車標圖像步驟的流程圖;
圖7實施例一中的車標識別方法中提取車標圖像特征步驟的流程圖;
圖8實施例一中的車標識別方法中提取SITF特征點步驟的流程圖;
圖9 BP人工神經(jīng)網(wǎng)絡結構示意圖;
圖10實施例一中的將混合特征分類作為BP人工神經(jīng)網(wǎng)絡的輸入層節(jié)點輸入的結構示意圖;
圖11實施例一中的車標識別系統(tǒng)組成框圖。
具體實施方式
實施例一:
如圖2至8,本實施例中的車標識別方法,包括如下步驟:
S1:生成車標識別模型。該步驟包括幾個步驟:
S11:獲取車標圖像樣本。
車標的檢測提取方法有多種,一般是通過在攝像頭在各種狀態(tài)下拍攝到的含有車標的圖片中提取。收集完車標圖像后,將每張圖像樣本按車標類別存放到不同的位置。本實施例中的車標類別是指車輛品牌標識,還可以按照其他特點進行分類。
S12:設計分類器。本實施例中的分類器為BP人工神經(jīng)網(wǎng)絡。
BP人工神經(jīng)網(wǎng)絡是一種單向傳播的多層前向網(wǎng)絡,其結構如圖9所示。網(wǎng)絡是一種具有三層或三層以上的神經(jīng)網(wǎng)絡,包括輸入層、中間層隱層和輸出層[3]。BP人工神經(jīng)網(wǎng)絡的每層參數(shù)確定方法如下:
1.輸入和輸出層的節(jié)點數(shù)
輸入層、輸出層的神經(jīng)元節(jié)點可以根據(jù)需要求解的問題和數(shù)量表示方式確定。
2.隱層節(jié)點數(shù)
隱層的設計隱層的神經(jīng)元節(jié)點數(shù)目選擇是一個十分復雜的問題,往往需要根據(jù)設計者的經(jīng)驗和多次實驗來確定,不存在一個最理想的解析式來表示。但也有常用的計算公式可用于計算隱層神經(jīng)元個數(shù),本實施例采用下式來計算隱層節(jié)點數(shù):
其中,m為輸出層神經(jīng)元數(shù),n為輸入層神經(jīng)元數(shù),nh為隱層神經(jīng)元數(shù)。
以13類車標的識別為例,它們分別是:奧迪、本田、別克、大眾、豐田、福特、皇冠、馬自達、日產(chǎn)、起亞、三菱、現(xiàn)代、雪佛蘭。本實施例采用了13位的二進制數(shù)字序列作為BP人工神經(jīng)網(wǎng)絡的輸出編碼。按照前述的車標排列順序,從1到13分別給各個車標編碼,當數(shù)字序列的第一位取值為1,其它位取值為0時,表示輸出結果為奧迪;當數(shù)字序列第二位取值為1,其它位取值為0時,表示輸出結果為本田;其它車標編碼依此類推。
S13:設定分類器訓練結束的條件
本實施例的車標識別方法設定,當?shù)螖?shù)為用戶設定的迭代最大次數(shù)或者閾值小于用戶設定閾值的負3次方時,訓練結束。
S14:訓練分類器
程序啟動后,將遍歷讀取各車標存放的文件夾中的圖像,提取混合特征,作為分類器輸入,該混合特征為BP人工神經(jīng)網(wǎng)絡訓練前提取的圖像特征;初始化BP人工神經(jīng)網(wǎng)絡的權值(權值為實數(shù)常量,用來決定本層神經(jīng)元輸入對下一層輸出的貢獻率);在每次迭代反饋過程中,調整修正BP人工神經(jīng)網(wǎng)絡的權值,當模型的輸出值和期望值的差距小于S13中設定的閾值或迭代次數(shù)達到設定次數(shù)時,訓練結束。
S2:識別車標。該步驟包括如下幾個步驟:
S21:檢測車標圖像。
車標檢測方法有多種,可利用車標與車牌相對位置的已知規(guī)律,對待測車輛圖像進行車標粗定位,提取出車標矩形區(qū)域。再根據(jù)車標與散熱器網(wǎng)的相對位置,采用基于模板匹配和邊緣檢測的算法對車標進行精定位。定位出車標區(qū)域后,將車標圖像截取即可進行下一階段的識別。
S22:提取車標圖像特征。
檢測出車標后,采用如下方法提取混合特征,將混合特征以一維數(shù)組方式存儲。
S221:提取SIFT特征點。
通過實驗發(fā)現(xiàn),車標樣本的SIFT特征點數(shù)一般不小于5個,因此本實施例只選取了5個,由于特征點在車標圖像中的位置也是一個重要的信息,對于同一類型的車標,只有將近似位置處的特征點的描述符作為分類器的輸入特征,才能獲得準確的識別結果。而相同車標的不同圖像特征點的位置分布是相似的,不同車標的圖像特征點的位置存在較大差異。為了讓選取的特征點能覆蓋車標的較大范圍,采用以下方法來選取特征點:
S2211:對于歸一化后的圖像,按行數(shù)分別從上往下掃描,遇到的第一個特征點,即采用其作為分類器輸入的特征點,如果同一行中有兩個或以上的特征點,則將該行中最左一個點和最右一個點放到特征點候選集中;然后再從下往上掃描,遇到第一個特征點時,同樣按照從上往下掃描的方法處理;
S2212:按列數(shù)分別從左到右及從右到左掃描,遇到第一個特征點,即采用其作為分類器輸入的特征點,如果同一列中有兩個或以上的特征點,則將該列中最上面和最下面的一個點放到特征點候選集中;這一步獲得的特征點,有可能是與第一步中獲得的點相同的,重復的點不需要再放到候選集;
S2213:這時候選集中已具備了圖像上下左右四個邊界的特征點,個數(shù)可能已超過4個,對于超過4個的情形,再按如下操作篩選行和列的邊界特征點:
1)對于同一行存在左右兩個特征點的情形,考察該點是否同時為左(或右)邊界上的特征點,則:
a)當兩個點都是邊界的情形,兩個點都給予保留;
b)當一個點為左(右)邊界時,舍棄另外一個點;
c)當兩個點都不是左右邊界時,則計算候選集中左右邊界點橫坐標的中間值,保留橫坐標距離該中間值近的點,舍棄距離其遠的點;如果兩個點距離該中間值的距離是一樣的,則選取左邊的特征點;
2)經(jīng)過上面的處理后,判斷候選集中的特征點是否已降至4個。如超過4個,則繼續(xù)進行如下處理,對于同一列存在上下兩個特征點的情形,考察該點是否同時為上(或下)邊界上的特征點:
a)當兩個點都是邊界的情形,兩個點都給予保留;
b)當一個點為上(下)邊界時,舍棄另外一個點;
c)當兩個點都不是上下邊界時,則計算候選集中上下邊界點從坐標的中間值,保留縱坐標距離該中間值近的點,舍棄距離其遠的點;如果兩個點距離該中間值的距離是一樣的,則選取上邊的特征點。
S2214:經(jīng)過以上3步處理后,候選集中的特征點必定為4個,這些點的坐標限定了圖像中的某個區(qū)域,計算該區(qū)域的中心點,計算其與中心點的歐氏距離,將歐氏距離最近的特征點放進候選集中。這時,候選集就具備5個特征點了。
S2215:將5個特征點按照從上到下,從左到右的位置順序進行排序存放于候選集中。
S222:提取Hu不變矩特征。
S223:修正Hu不變矩特征和SIFT特征混合計算。
考慮到SIFT的特征點很大程度上與位置有所關聯(lián),在拍攝過程中可能會因為拍攝角度,光照等因素導致特征點的偏置或抖動,因此,為提高輸入分類器的特征的有效性,在特征點對應的特征向量基礎上,為每個特征點增加橫坐標和縱坐標兩維特征(坐標以歸一化的車標圖像左上角為原點),以及7個修正Hu不變矩,作為BP人工神經(jīng)網(wǎng)絡的輸入特征。對于一幅歸一化后的車標圖像,提取圖像的特征向量后,各分量的排列如下:第一到第七分量為修正Hu不變矩值,接下來依次為第一個特征點的橫坐標、縱坐標和SIFT算法提取的128維特征,后面第二到第五個特征點的特征排列同第一個特征點。所得特征向量的維數(shù)為7+(128+2)*5=657,將該向量作為BP人工神經(jīng)網(wǎng)絡的輸入,用于BP網(wǎng)絡的訓練與檢測。
圖10呈現(xiàn)了本發(fā)明提出的將Hu不變矩特征和SIFT特征混合的方法。圖中的圓圈表示BP人工神經(jīng)網(wǎng)絡的輸入層節(jié)點,前面1到7個節(jié)點輸入從車標圖像提取的7個Hu不變矩特征值,接下來依次為第1至第7個特征點的橫坐標、縱坐標和SIFT算法提取的各特征點的128維特征分量。
S23:識別車標圖像。
將提取的車標圖像特征輸入訓練好的分類器中,經(jīng)分類器計算即可獲得識別結果。
如圖11,本實施例中的車標識別系統(tǒng),包括SITF特征點篩選模塊,HU不變矩篩選模塊,混合模塊。
SITF特征點篩選模塊,用于篩選車標圖像特征點并輸出給混合模塊,所述特征點包括行邊界特征點,列邊界特征點,以及第5特征點;所述第5特征點為車標圖像內到由行邊界特征點和列邊界特征點確定的圖像區(qū)域中心點的歐式距離最短的點。
HU不變矩篩選模塊,用于篩選車標圖像內的7個不變矩特征點并輸出給混合模塊。
混合模塊,將SITF特征點和HU不變矩混合后輸入到分類器。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。