耿慶田, 于繁華, 王宇婷, 趙宏偉, 趙 東
(1. 長春師范大學 計算機科學與技術(shù)學院, 長春 130032; 2. 吉林大學 計算機科學與技術(shù)學院, 長春 130012)
為了有效打擊利用車輛套牌的犯罪行為, 工作人員需要借助車輛其他特征對車輛進行甄別. 因此車標識別技術(shù)被廣泛關(guān)注. 目前, 已有多種車標識別技術(shù), 如: 李文舉等[1]給出了用二維主元分析(2DPCA)技術(shù)和獨立成分分析(ICA)技術(shù)以及支持向量機(SVM)的車標識別方法; 文獻[2]采用方向梯度直方圖(HOG)特征進行車標識別; Sam等[3]使用Modest AdaBoost組合技術(shù)實現(xiàn)車標識別. 這些方法雖然改善了特征提取, 但人為因素較多. 為了減少對圖像特征選取的主觀干擾, 并提高車標識別的實時性, 本文提出一種基于尺度不變特征變換(SIFT)的車標識別算法. 該算法利用SIFT算子對圖像的視角、 平移、 放射、 亮度、 旋轉(zhuǎn)等不變特性進行特征提取, 并采用BP神經(jīng)網(wǎng)絡算法自主選取車標圖像特征進行學習識別. 仿真實驗結(jié)果表明, 該車標識別方法識別速度快、 識別率高, 具有一定的實用價值.
傳統(tǒng)圖像識別算法中特征點的提取主要通過對角和邊沿像素點的特征進行檢測, 該方法對復雜環(huán)境中特征點檢測強度較弱. 尺度不變特征變換算法(SIFT)是一種局部的匹配算法, 在利用高斯模糊函數(shù)建立的不同尺度空間上查找關(guān)鍵點[4]. 該算法對圖像屬性變化(包括旋轉(zhuǎn)、 平移、 大小、 亮度)具有不變性, 采用DoG(difference of Gaussian)算法對圖像局部特征進行提取完成相應任務[5]. SIFT算子采用的二維高斯模糊函數(shù)為
(1)
對相應的尺度空間經(jīng)過高斯模糊函數(shù)處理過的圖像進行定義:
W(Px,y)=Px+1,y-Px,y.
(2)
由于SIFT算法中要選取抗噪能力較強的特征點, 因此對圖像特征點的選取分為特征向量確定和特征向量比對兩部分. 利用
(3)
計算圖像P的高斯差值, 得
D(x,y,σ)=(g(x,y,kσ)-g(x,y,σ))*P=L(x,y,kσ)-L(x,y,k),
(4)
其中L表示一個圖像的尺度空間函數(shù), 可定義為一個變化的高斯函數(shù)G與原圖像I的卷積:
L(x,y,kσ)=G(x,y,kσ)*I(x,y).
(5)
先通過高斯函數(shù)搜尋所有尺度圖像上屬性不變的興趣點, 再根據(jù)每個興趣點的穩(wěn)定程度確定其位置和尺度, 根據(jù)尺度空間局部梯度方向?qū)γ總€關(guān)鍵點分配相應的方向, 最后在關(guān)鍵點的鄰域內(nèi)為其測量圖像的局部梯度.
為了對候選關(guān)鍵點進行濾波, 采用均一閾值法, 利用局部邊緣強度、 穩(wěn)定性等屬性剔除配比度較低、 不準確的邊緣特征點[6]. 而那些可能受噪聲影響的關(guān)鍵點, 可通過考慮邊緣上的曲率與垂直于邊緣的曲率之間的比進行濾波. 為了描述每個尺度上經(jīng)過濾波的關(guān)鍵點特征, 可通過
(6)
(7)
計算梯度幅度, 得
(8)
(9)
為保證描述子自身所具有的旋轉(zhuǎn)不變性, 局部方向通過方向直方圖的最大值確定. 通過分析固定尺度空間圖像的區(qū)域, 就會對噪聲以及亮度非線性變化影響的處理非常有效.
車標圖像特征提取過程如下:
1) 構(gòu)建尺度空間. 不同分辨率圖像邊緣和角點的檢測篩選及特征提取可通過對尺度空間主輪廓選取實現(xiàn)[7]. 尺度空間理論是偏微分方程在圖像信息處理模型中的應用, 尺度是模型中的參數(shù), 尺度空間表示序列的建立基于連續(xù)變化尺度參數(shù)的調(diào)整, 在調(diào)整過程中, 首先要定義尺度空間內(nèi)核[8]:
fout=K*fin,
(10)
如果fout的值小于或等于被采樣圖像的最大值, 則K被定義為尺度空間內(nèi)核.K是構(gòu)建尺度空間關(guān)鍵, 高斯卷積核是實現(xiàn)尺度變換的唯一線性變換核[9], 即
(11)
2) 極值點檢測. 在不同尺度空間, 關(guān)鍵點由DoG空間的局部極值點組成, 因此需要確定極值點的檢查范圍. 為選取DoG函數(shù)的極值點, 每個像素點要與其所有的相鄰點比較, 一般以3×3關(guān)系網(wǎng)格為基準, 除去當前像素點, 本尺度空間及相鄰尺度空間共計26個像素點. 比較結(jié)束后, 記錄滿足灰度值在當前范圍最大或最小的像素點.
3) 定位極值點. 為提高關(guān)鍵點的穩(wěn)定性, 屏蔽低對比度關(guān)鍵點產(chǎn)生的噪聲, 需通過三維二次函數(shù)對尺度空間DoG函數(shù)進行曲線擬合完成圖像增強.
與高斯函數(shù)相對應的Taylor展開式(擬合函數(shù))為
(12)
對于備選點D和D′,D′=0, 計算x為
(13)
計算與x所對應的D(x), 同時進行閾值設定:
(14)
再剔除不穩(wěn)定的邊緣響應點, 從而達到降噪的目的.
獲取特征點處的Hessian矩陣[10], 主曲率通過一個2×2的Hessian矩陣H求出:
tr(H)=Dxx+Dyy=α+β,
(15)
det(H)=DxxDyy-(Dxy)2=αβ.
(16)
② 篩選邊緣響應點. 設r為兩個特征值之比,α=rβ, 則有
(17)
通過下式進行閾值判斷:
(18)
可調(diào)整式(18)中R值的大小, 以保留有意義的關(guān)鍵點, 剔除不穩(wěn)定的響應點.
4) 計算關(guān)鍵點的特征方向. 為了保持關(guān)鍵點描述符合旋轉(zhuǎn)不變性, 需要給每個關(guān)鍵點分配一個基準方向[11]. 本文采用兩步法通過自動調(diào)整SIFT算子中對比度的權(quán)重, 提高選取關(guān)鍵點的均衡性.
① 計算梯度的模值和方向為
(19)
θ(x,y)=tan-1(L(x,y+1)-L(x,y-1))/(L(x+1,y)-L(x-1,y)),
(20)
其中L(x,y)是關(guān)鍵點(x,y)的尺度函數(shù).
② 產(chǎn)生梯度直方圖. 在0°~360°內(nèi)將其以10°為單位平均對應給36個特征向量, 關(guān)鍵點的主方向由該方向上的較高特征值決定, 如圖1所示.
圖1 關(guān)鍵點的特征方向Fig.1 Characteristic direction of key points
5) 特征向量的生成. 將正在操作的特征點鄰域所在尺度空間中的每個窗口等分為16個小窗口, 每個小窗口內(nèi)包含8個方向信息, 則得到特征向量的維數(shù)為16×8=128, 記為SIFT128, 如圖2所示.
圖2 SIFT特征描述子構(gòu)造示意圖Fig.2 Schematic diagram of SIFT feature descriptor construction
已證明BP神經(jīng)網(wǎng)絡只要有滿足一定數(shù)量的隱含層節(jié)點, 即可以任意精度接近具有斷點的非線性函數(shù)[12]. 但隱含層的數(shù)量越多, 誤差越大[13]. 為減少誤差, 提高車標的識別精度, 采用三層結(jié)構(gòu)BP神經(jīng)網(wǎng)絡對車標進行識別. 由于不同廠商的車標規(guī)格不一致, 因此將車標的幾何形狀根據(jù)經(jīng)驗分為簡單和復雜兩種類型. 為使訓練的樣本集具有代表性, 選擇一定數(shù)量的、 不同品牌、 不同清晰度、 不同對比度、 不同角度、 不同污損程度、 不同光照的車標圖像進行訓練, 并保證車標訓練樣本和測試樣本互不重疊, 每種類型的訓練樣本數(shù)量不少于6個. 對車標圖像進行識別的過程如圖3所示.
圖3 車標圖像識別過程Fig.3 Image recognition process of vehicle-logo
本文在對圖像樣本進行分類時, 將SIFT算子提取后的特征向量維數(shù)設定為輸入層神經(jīng)元個數(shù), 待識別的車標圖像種類數(shù)量設定為輸出層的神經(jīng)元個數(shù). 隱含層根據(jù)實際車標圖像信息的變化進行信號單向傳遞[14], 隱含層的層數(shù)和每層神經(jīng)元的個數(shù)均大于1, 根據(jù)以往經(jīng)驗本文中隱含層的神經(jīng)元個數(shù)取為106.
本文通過改進迭代算法和增大學習率的方法提高BP神經(jīng)網(wǎng)絡的收斂速度和訓練效率. 在對車標圖像的特征關(guān)鍵點數(shù)據(jù)進行分類時, 需先對網(wǎng)絡數(shù)據(jù)進行預處理, 采用歸一化的處理方式, 將輸入、 輸出的數(shù)據(jù)映射到[-1,1]內(nèi), 將最后的訓練結(jié)果再映射到原有數(shù)據(jù)的范圍內(nèi), 以提高數(shù)據(jù)分類速度.
本文以網(wǎng)絡車標圖像庫為研究對象, 對車標識別采用SIFT特征提取. 由于車標原始圖像的采集受各種光照及天氣等噪聲的影響, 因此在識別過程中要去除這些干擾因素. 同時, 原始圖像的采集有時通過無線客戶端進行, 因此要求圖像對自身的旋轉(zhuǎn)和縮放有一定的自適應性, 而通過SIFT算法獲取的特征向量能滿足這些性能要求. 實驗結(jié)果如圖4所示.
由于車標圖像的幾何形狀有較大差異, 因此不同車標提取特征關(guān)鍵點的數(shù)量也不同. 形狀簡單的車標特征關(guān)鍵點提取數(shù)量少, 反之則提取數(shù)量多.圖5為不同車標圖像特征關(guān)鍵點的提取結(jié)果. 由圖5可見, 簡單結(jié)構(gòu)如Volkswagen,Opel,Citroen等車標, SIFT特征向量提取的關(guān)鍵點個數(shù)相對較少, 而復雜結(jié)構(gòu)形狀如Lamborghini,Lorinser,Rolls-Royce等車標結(jié)構(gòu), SIFT特征向量提取獲得的特征關(guān)鍵點個數(shù)較多.
圖4 縮放、 旋轉(zhuǎn)圖像匹配Fig.4 Zoom and rotation image matching
圖5 不同車標圖像特征關(guān)鍵點的提取Fig.5 Extraction of key points of image features for different vehicle-logos
為驗證本文算法的可行性, 滿足實際匹配標識, 本文將待識別車標幾何圖像分成簡單和復雜兩種類型進行實驗測試. 同時采用DoG,SURF,GOBOR,LBP算法等進行測試, 對比結(jié)果分別如圖6和圖7所示.
圖6 簡單車標的不同特征向量提取Fig6. Extraction of different feature vectors of simple vehicle-logos
圖7 復雜車標的不同特征向量提取Fig.7 Extraction of different feature vectors of complex vehicle-logos
由圖6可見, 對幾種簡單車標圖像進行特征提取時, SIFT算法對各種車標特征提取后對車標的正確識別率都能達到90%以上, 在對Mazda,Honda,Lexus,Citroe,Chevrole,Benz等一些幾何形狀較簡單的車標圖像進行特征提取時, SIFT算法優(yōu)于對比算法特征向量的提取.
本文還對相對復雜幾何形狀的車標進行了特征向量提取的測試, 實驗過程中選擇Rolls-Royce,Maserati,Koenigsegg,Saab,AstonMartin,Jaguar等幾種相對復雜的車標進行實驗結(jié)果對比. 由圖7可見, SIFT算法特征提取正確識別率達到92%以上, 且高于對比算法的特征提取.
仿真實驗結(jié)果表明, SIFT算法更適合復雜車標圖像的識別, 且識別效果較好, 能滿足實際應用的需要.