李旭茹
(山西農業大學軟件學院,山西 太谷 030801)
圖像識別是指利用計算機技術對圖像進行分析和理解,以識別各種目標和對象[1]。隨著計算機的快速發展,圖像識別技術在現實生活中扮演著越來越重要的角色。在農業中,為了給虛擬作物的研究提供依據,可利用圖像識別技術分辨作物的類別、作物的生長狀況、農作物中病蟲害的圖像診斷等[2],圖像識別技術還廣泛地應用于煤倉煤位監測、變電站智能巡檢、故障遠程監測系統等[3-5]。
本文研究的車型識別是圖像識別的一支,是ETC系統重要的組成部分。目前常見的射頻識別(Radio Frequency Identification,RFID)電子標簽是粘貼于車輛前擋風玻璃上,該電子標簽上有存儲設備,將用戶的信息,如:車牌號、人民幣余額、車輛所屬的類型等集中存儲,讀寫器接收標簽內存儲的信息是通過無線、不接觸的方式[6]。但在實際應用中,有的車主將RFID電子標簽中的信息私自變換,達到逃避繳費的目的,這種情況加大了管控難度。為了解決此問題,引入基于圖像的車型自動識別系統非常迫切。
目前,深度學習技術蓬勃發展,對車型識別等方面的相關研究也發展起來,但是深度學習需要有大量的訓練樣本,實際操作中難以廣泛推廣和應用[7-8]。本文將模糊理論應用于車輛識別,這種模式簡單方便、易于推廣和操作。具體過程為當貼有電子標簽的車輛經過收費站,系統將提取車輛的有效信息,并自動比較提取的信息與電子標簽存儲的信息,結果一致的,進行自動扣費并起桿放行;對比結果不一致的,系統自動進行逃費違法行為抓拍。將本文算法應用于實際車型識別中,結果證實算法可行。
目前,國內外對車型的模式識別還處于探索和發展階段,相關研究比較少,僅有的研究成果也是在模板匹配和神經網絡下的車型模式識別,難以廣泛推廣和應用。故而本文從實用性角度出發,提出應用模糊理論對車輛進行識別,便于推廣和操作[9]。
在實際操作中,車輛在行進中是運動的,運用模糊理論的車型識別方法,通過外部安裝的圖像采集器拍攝兩個時刻同一位置的車輛側面照,然后將獲取的圖像信息存儲到存儲器,提取車輛輪廓和相關信息,再把數據傳輸到識別模塊進行模糊模式識別,流程如圖1所示。

圖1 車型識別流程圖
圖像預處理主要包括圖像灰度化、濾波、差影檢測。本文采用加權平均法,亦稱YUV方法進行灰度圖像化,節省圖像處理所占用的存儲和時間。濾波采用了中值濾波技術,可以更好地保留圖像中的細節,同時消除圖像中的噪聲。下面重點介紹差影檢測。
要實現車型識別,首先能夠實現對移動對象的檢測,目前常用方法是差影法。差影法又稱減影技術,其核心就是將同一個目標在不同時間獲取的圖像或者是同一個目標在不同的波段獲取的圖像相減。在序列圖像中,假設多幀圖像之間的相關條件不發生變化,可通過逐像素做減法來檢測前后相鄰兩幀圖像之間是否存在差異。如果得到的結果差不為0,表示此處的像素發生了移動。視頻連續的兩幀源圖像為f(t-1)(i,j)和f(t)(i,j),那么絕對差灰度圖像如式(1)所示:
得到絕對差灰度圖像后,需要選擇一個合適的閾值將前景物體(即目標車輛)從背景物體中分割出來,并以此閾值作為灰度閾值M,將目標和背景區域進行分割,獲得二值圖像。如式(2)所示:
閾值的選取直接影響分割效果的呈現,最常用的是自適應閾值法最大類間方差法,因該算法計算簡單,不需要人為設定其他參數,自適應強,成為使用最廣泛的圖像閾值選取法之一。
我國對汽車的分類有嚴格的標準,根據最新的標準,可以將汽車分為:轎車、客車、越野車、牽引車、載貨汽車、掛車[10]。這幾種車輛類型無論外觀和尺寸都有非常大的區別,但仍可以以像素為單位,將車輛外輪廓的頂部長度(記為T)與底部前后車輪間離的比值(記為B),還有車輛輪廓的頂部長度與車輛頂部到地面間距(記為H)的比值建立模糊子集,加以區分以上幾種車輛,也就是利用T/B和H/B的值來區分。
首先,通過T/B的比值判斷,客車一般在1:1以上,載貨汽車、牽引車、掛車三種類型一般都在2:5 以下,轎車和越野車的介于其中。那么區分以上三類車型可以在最大隸屬原則下進行第一次模糊模式識別;然后根據H/B 進行第二次模糊模式識別區分轎車和越野車,依然運用最大隸屬原則。區分載貨汽車、牽引車、掛車的同樣適用上述方法。
具體方法為:首先把T與B的比值作為論域1,記N1=T/B,顯然0<N1<2,并建立3 個模糊子集,論域1 的模糊子集如表1所示。然后再把H與B的比值作為論域2,記N2=H/B,顯然0<N2<2,并建立5 個模糊子集,論域2的模糊子集如表2所示。

表1 論域1的模糊子集

表2 論域2的模糊子集
為6 種車型建立隸屬度函數,公式見式(3)~(10)所示。
從圖像中獲得車頂部長度T,底部前后輪間距離B,將二者的比值N1分別代入(3)、(4)、(5)中得到X1(N1),X2(N1),X3(N1),并比較大小,遵循最大隸屬度原則,車型就是隸屬度函數值最大的模糊子集。假使X2(N1)值最大,那么識別目標為客車。如果X1(N1)值最大,再把H與B做比,將比值N2分別代入式(8)-(10)中,得Z1(N2),Z1(N2),Z1(N2)。根據最大隸屬度準則,將上述三個值作比較,隸屬度函數值最大的即為車輛類型。如果X3(N1)值最大,則繼續把比值N2代入式(6),(7)中,得到Y1(N2),Y1(N2)值,比較大小,遵循最大隸屬度原則,隸屬度函數值最大的即為車輛類型。完整的車型識別過程如圖2所示。

圖2 車型識別
本文采用Matlab編程對圖像處理,選取轎車做實驗驗證。車輛經過收費站時是運動的狀態,為了能夠捕捉經過車輛的特征,可通過外部輔助拍攝設備拍攝同一位置兩個時刻的車輛側面照,以轎車為例拍攝照片,如圖3、圖4所示。

圖3 T0時刻車輛

圖4 T1時刻車輛
首先,對車輛進行邊緣檢測,可以得到車輛的輪廓信息,但在圖像中有一些不連續的線段,影響特征值的提取。可采取閉操作,光滑一些不連續的線段。閉操作之后得到的圖像如圖5所示。圖中的圖像邊緣是由單像素組成的細線,便于獲取目標特征。本文要提取的特征是前文已引入的三個距離T、B、H的值。

圖5 閉操作后的圖像
特征值的提取要通過圖像的二維矩陣獲得,該矩陣中只有0、1 值,其中1 代表邊緣像素,0 代表非邊緣像素。
運行程序,得到車輛的特征數據如下:T=167,B=314,H=131。
首先計算N1=T/B=167/314=0.532,將N1代入式(4)~(6)計算,可得:
可以看到,X3(N1)值最大,參照前圖車型分類,可得該車型屬于轎車、越野車子集。
為了進一步確定車型,再計算N2=H/B=131/314=0.418,將N2代入(7)、(8)計算,可得:
Max(Y1(0.418),Y2(0.418))=Y1(0.418),即Y1(N2)值最大,最后可判斷該車為轎車,實驗結果與實際車型相符,識別正確。
最后,本文設計了一個GUI 界面,用來顯示最后的識別結果,如圖6所示。

圖6 識別結果的GUI界面
本文提出了一種基于模糊理論的車型識別技術,并通過實驗進行驗證。結果表明,該算法是可行的,可以實現車型的識別。但是該識別方案仍存在不足,比如在牽引車、半掛車等車型還未能實現完全識別。下一步將優化算法,使識別的范圍進一步擴大,適用性更廣。