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