趙柏山,榮子航
(沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,沈陽 110870)
近年來,隨著經(jīng)濟(jì)的發(fā)展,各類車輛的保有量日漸上升,特別是一些特大型車輛的保有量已經(jīng)達(dá)到了一個很高的水平[1]。綜合運用障礙識別技術(shù)可以有效降低交通事故的發(fā)生概率,加強行車安全[2]。目前,車輛行駛中的障礙識別方法主要包括超聲波傳感器探測識別、激光雷達(dá)探測識別以及計算機視覺探測識別等方法[3]。何勇[4]針對這三種不同的方法進(jìn)行了匯總分析,得出了超聲波傳感器操作簡單但是準(zhǔn)確度較低、激光雷達(dá)準(zhǔn)確度較高但成本更高、計算機視覺技術(shù)成熟且成本合理的結(jié)論。基于上述因素,為了在不明顯降低檢測精度的前提下更快地完成障礙物檢測,在此提出一種主成分分析(PCA)降維改良的梯度直方圖(HOG)結(jié)合支持向量機(SVM)分類的快速障礙識別方法。為了使HOG 特征具有更豐富的邊緣信息,增添主、副對角線兩方向上的像素的灰度信息,并利用PCA 進(jìn)行降維,以提升運算速度。使用SVM 對降維后的HOG 特征進(jìn)行訓(xùn)練,得到SVM 分類模型,并使用訓(xùn)練出來的SVM 分類模型對待識別圖像進(jìn)行識別,最終達(dá)到道路障礙物提取與識別的目的。
傳統(tǒng)的HOG 特征,僅會提取每個像素的水平方向以及垂直方向上的梯度值以及梯度方向,因此會丟失一定的主副對角線上的梯度信息,進(jìn)而丟失一定的圖像邊緣信息。針對這一問題,為了最大程度保存圖像原有的特征、提高后續(xù)的識別成功率,在提取HOG 特征時,同時也對主副對角線上的梯度信息進(jìn)行提取,具體過程如下:
首先要遍歷每個像素,求出每個像素四個方向上的梯度Gx(x,y)、Gy(x,y)、Gxx(x,y)、Gyy(x,y);接著,根據(jù)水平與垂直方向上的梯度求解正交叉梯度,并根據(jù)主對角線與副對角線方向上的梯度求解斜交叉梯度,求解公式如下:
得到正交叉梯度與斜交叉梯度之后,即可利用這兩個梯度值對該像素點的總體梯度值與梯度方向進(jìn)行求解,求解梯度值的公式為:
求解梯度方向的公式為:
在得到總的梯度方向之后,將長寬均為8 個像素的區(qū)域劃為一個細(xì)胞(cell),并將cell 的梯度方向平均分為9 個區(qū)間,對cell 之中的各個像素進(jìn)行加權(quán)投影,以映射到固定的角度范圍,即可得出該cell中的梯度方向直方圖。最后,將橫豎各兩個cell 組合成一個塊(block)。為了進(jìn)一步減少光線帶來的影響,需要對每一個block 里面的直方圖進(jìn)行歸一化,將所有的block 組合起來,即可得到該圖像的改良HOG 特征。
為了快速地對圖像特征進(jìn)行識別,還需要進(jìn)行PCA 降維[5],其主要原理是利用線性變換,將最初的n 維數(shù)據(jù)矩陣由高維空間映射到低維空間之中[6]。
實驗以停車指示牌為例,驗證本方法所達(dá)到的效果。所使用的編程語言為Python;計算機系統(tǒng)為64 位Windows 10 系統(tǒng);硬件配置為Intel Core i5-7200U CPU@2.5GHz,8GB 運行內(nèi)存。
本實驗所需的訓(xùn)練集包含300 張目標(biāo)樣本圖像與300 張非目標(biāo)樣本圖像,分別編成正、負(fù)訓(xùn)練集。識別集由200 張目標(biāo)樣本圖像與200 張非目標(biāo)樣本圖像構(gòu)成,同樣分別編成正、負(fù)識別集。訓(xùn)練集與識別集的圖像均源自COCO 數(shù)據(jù)集。
為了使不同尺寸的圖像具有相同維度的HOG特征,需要對各幅圖像進(jìn)行歸一化處理。利用上文所提到的改良HOG 特征的方法,提取出各幅圖像的改良HOG 特征,并利用PCA 對改良HOG 特征進(jìn)行降維處理。在PCA 中,所降到的特征維度的維數(shù)選取對后續(xù)識別效果有很大的影響。一方面,越小的維數(shù)可以提供的處理速度更快,但是過低的特征維度會降低SVM 的識別效果;另一方面,雖然較高的特征維度可以保存更多的細(xì)節(jié),但是一旦特征維度過高,就會造成過擬合現(xiàn)象,同樣會降低SVM 的識別效果[7]。因此,本實驗通過步進(jìn)法得到一個合適的特征維數(shù)。
因為降低特征維度的作用就是減少處理時間,未經(jīng)PCA 處理的一幅圖像平均處理時間為1.34 s,而經(jīng)過PCA 處理的一幅圖像平均處理時間與1.34s相近的特征維數(shù)為138。基于此,大于138 維的PCA處理無法有效地提供減少處理時間的效果,所以只需要在1 至138 之間尋找出合適的維數(shù)即可。基于此,以10 維為一步,逐步分析不同維數(shù)下的識別效果,實驗結(jié)果如圖1 所示。

圖1 特征維度與識別率關(guān)系圖
由圖1 可見,當(dāng)特征維數(shù)為40 維時,識別準(zhǔn)確率達(dá)到最高。接下來再具體分析特征維數(shù)為40 維左右的識別準(zhǔn)確率分布情況,步驟基本一致。最終確定的特征維度為39 維。
在進(jìn)行SVM 訓(xùn)練之前,首先需要確定使用哪一種核函數(shù)。常用的核函數(shù)有線性核函數(shù)、多項式核函數(shù)、徑向基核函數(shù)和sigmoid 核函數(shù)[8]等。根據(jù)研究,線性核函數(shù)相較于另外三種核函數(shù)具有識別準(zhǔn)確率高、復(fù)雜度較低等優(yōu)點,因此在訓(xùn)練中采用線性核函數(shù)作為核函數(shù)。其次,為了獲取更高的識別成功率,需要確定懲罰因子C。本實驗中也同樣利用步進(jìn)法確定懲罰因子,特征維度取上文所確定的39 維,以0.2 為最小步進(jìn),逐步分析不同懲罰因子下的識別效果。當(dāng)懲罰因子為1.1 時,識別準(zhǔn)確率達(dá)到最高。隨后,再具體分析懲罰因子為1.1 左右的識別準(zhǔn)確率分布情況,步驟基本一致,最終確定的懲罰因子為1.2。
將本方法與常用的HOG 特征識別方法、HOG+PCA 識別方法以及改良后的HOG 特征識別方法進(jìn)行對比,可以得出本方法在識別性能與時間開銷方面上提升的效果。由于HOG 與改良后的HOG 特征識別方法不進(jìn)行降維,最終的識別效果不受所降到的特征維度的影響,分別為91.5%以及95.25%,由此可證明改良后的HOG 特征補充了主副對角線上的特征信息,對于識別結(jié)果有積極的影響。另外,由于有更豐富的特征信息,本方法相比于HOG+PCA的特征識別方法達(dá)到最佳識別效果時所需的特征維度更低,在提供更好的識別效果的同時需要更少的識別時間。識別性能與時間開銷的對比結(jié)果具體如表1 所示。

表1 識別性能與時間開銷對比
由表中數(shù)據(jù)可見,本方法相較于目前較為常用的HOG+PCA 的特征識別方法在識別準(zhǔn)確度上提升了3.5%,同時在每幅圖像的處理時間上平均提升0.12 s,整體時間減少了26.67%。雖然相較于不使用降維的改良HOG 方法,識別準(zhǔn)確度下降了1.5%,但是在識別速度上有了極大的提升,整體時間減少了77.55%。基于此,所提出的方法能夠在有效提高識別準(zhǔn)確度的同時減少識別所需的時間,從而更有效地達(dá)到障礙識別的效果。
基于PCA 降維,將改良HOG 特征與SVM 分類相結(jié)合,形成了一種更快速的障礙識別方法。以停車指示牌為例驗證其障礙識別的效果。該方法對傳統(tǒng)SVM 使用的HOG 特征進(jìn)行改良,在其中加入了對角線像素梯度信息,成功提升了障礙識別準(zhǔn)確率;利用PCA 進(jìn)行降維也確實有助于提升識別速度。與傳統(tǒng)的特征識別方法相比,本方法更為理想地做到了識別準(zhǔn)確度與識別所需時間的平衡,可以運用于視頻障礙識別之中,在交通安全領(lǐng)域內(nèi)有一定的應(yīng)用價值。