2
(1.西南科技大學(xué) 信息工程學(xué)院, 四川 綿陽 621010;2.特殊環(huán)境機器人技術(shù)四川省重點實驗室,四川 綿陽 621010)
行人檢測即判斷輸入的圖像或視頻序列中是否出現(xiàn)行人,并確定其位置。它是計算機視覺領(lǐng)域極具挑戰(zhàn)性的研究熱點,如今在智能輔助駕駛、行人分析和智能視頻監(jiān)控等方面都發(fā)揮著很重要的作用。但是因為人體形態(tài)的不同、著裝的多樣化,場景中經(jīng)常存在光照變化、氣候變化以及景物遮擋等因素,行人檢測的研究也變成了一門極具挑戰(zhàn)性的熱門課題。
現(xiàn)在行人檢測主要采用基于統(tǒng)計學(xué)習(xí)的方法,根據(jù)大量樣本構(gòu)建行人檢測分類器,其性能提升主要與行人特征提取和分類器的訓(xùn)練有關(guān)。傳統(tǒng)的特征提取方法有Haar、LBP、HOG等,主要分類器有神經(jīng)網(wǎng)絡(luò)、SVM和Boosting 等。由于HOG特征在邊緣特征提取的優(yōu)越性,HOG+SVM[1]成為了一種經(jīng)典的行人檢測方法,近年來,學(xué)者們一直在對此方法進行改進。針對HOG特征維數(shù)較大、提取速度較慢的缺點,提出了利用PCA[2-4]對其進行特征降維處理以及使用GPU[5-6]對其進行加速處理;針對SVM分類器檢測識別率不高的缺點,提出了使用多個分類器結(jié)合,如:SVM+AdaBoost[7-8]等方法以及多核SVM[9]進行行人檢測。多核SVM檢測時,由于核參數(shù)比較多,將多個核參數(shù)共同優(yōu)化[10-11],以此來提高檢測率。在此基礎(chǔ)上,本文使用GA-PSO[12]算法對核函數(shù)的參數(shù)進行優(yōu)化,使用優(yōu)化得到的分類器對PCA-HOG特征進行分類,從而提升準(zhǔn)確率和檢測效率。
本文在傳統(tǒng)方法研究的基礎(chǔ)上,利用主成分分析(PCA)對提取的HOG特征向量進行降維處理;利用組合核函數(shù)的SVM分類器在檢測方面準(zhǔn)確率的優(yōu)勢,在前人對優(yōu)化[13-14]算法研究的基礎(chǔ)上,使用改進的GA-PSO算法對核函數(shù)的參數(shù)進行優(yōu)化,根據(jù)優(yōu)化結(jié)果得到一個最終的分類器,檢測方案如圖1所示 。
圖1 檢測方案圖
HOG特征即指圖像的梯度直方圖特征,表征的是圖像的局部梯度幅值及方向特征。HOG特征提取的主要步驟如下。
① 圖像標(biāo)準(zhǔn)化顏色空間。由于顏色所提供的信息對于特征的提取過程影響不大,首先應(yīng)當(dāng)將圖像轉(zhuǎn)化為灰度圖像,然后進行Gamma矯正,完成顏色空間的標(biāo)準(zhǔn)化以方便后續(xù)的工作進行。
② 梯度計算。主要包括方向和大小的梯度信息,Dalal 論文中測試了不同的梯度模版,主要包括一維模版、對角線模版以及Sobel模版。實驗證明,[-1,0,1]模版在測試中效果最好。
主要計算過程為
Gx(x,y)=H(x+1,y)-H(x-1,y)
(1)
Gy(x,y)=H(x,y+1)-H(x,y-1)
(2)
梯度大小為
(3)
梯度方向為
(4)
③ 梯度方向直方圖。將圖像劃分成若干個cells,8×8=64個像素為一個cell,相鄰的cell之間不重疊。在每個cell內(nèi)統(tǒng)計梯度方向直方圖,將所有梯度方向劃分為9個bin(即9維特征向量)。
④ 重疊直方圖處歸一化。因為圖像的光照差異會造成前景背景對比差異,導(dǎo)致梯度幅值的范圍很大,因此,歸一化對于檢測結(jié)果就非常必要。
⑤ 收集所有塊的HOG特征形成特征向量。
處理過程的效果如圖2所示。
圖2 HOG特征提取圖
PCA進行降維處理是一種常用的數(shù)據(jù)分析方法,主要通過線性變換將原始數(shù)據(jù)變換為一組各維度線性無關(guān)的表示,實驗表明,用PCA對HOG特征降維有很好的效果,在不低于最低分辨識別率的前提下可以將特征向量降到20維,大大提高了檢測速度。
SVM[15]是一種基于統(tǒng)計學(xué)習(xí)理論的模式識別方法。給定的一組訓(xùn)練樣本可以表示為:{xk,yk},k=1,2,…,N。支持向量機最優(yōu)分離函數(shù)為
(5)
1.2.1 核函數(shù)的參數(shù)
由于本文的特征維數(shù)較大,應(yīng)該采用核函數(shù)將輸入空間的數(shù)據(jù)映射到高維空間去,在高維空間中求得一個最優(yōu)的分類面,那么就使一些原本不能線性可分的數(shù)據(jù)在高維空間中得以處理,得到一個最優(yōu)的分類結(jié)果,選擇不同的核函數(shù)將會有不同的分類效果。
根據(jù)高斯核函數(shù)和多項式核函數(shù)的特點,將兩種核函數(shù)進行組合,進而得到一個組合核函數(shù)[16]:K(x,y)=α1K1(x,y)+α2K2(x,y),α1,α2分別代表多項式核函數(shù)和高斯核函數(shù)所占比例并且α1+α2=1。由此可知,本文的核函數(shù)會有σ,α1,d,C共四個參數(shù),它們會決定函數(shù)的特征空間、置信度、經(jīng)驗風(fēng)險以及全局性和局部性等,需要對各個參數(shù)進行同時優(yōu)化,才能達(dá)到一個最優(yōu)的分類面。
1.2.2 svm核參數(shù)優(yōu)化
(1) GA算法。
遺傳算法[17-18]是根據(jù)大自然中生物的進化以及基因變異等規(guī)律得到的一種參數(shù)優(yōu)化方式,通過對個體的適應(yīng)度進行評估,將其進行交叉以及變異作用于群體后,得到一個最優(yōu)解作為輸出。遺傳算法對于全局最優(yōu)有很好的效果,并且搜索能力較強,速度較快,但是其操作比較麻煩,面對不同環(huán)境要重新進行參數(shù)的選擇,大多數(shù)情況效率較低。
(2) PSO算法。
粒子群算法[19]是根據(jù)粒子群的各個粒子飛行過程中以及其他粒子在飛行過程中的經(jīng)驗不斷調(diào)整飛行位置,得到各個粒子的最優(yōu)位置,進而得到整個粒子群的最優(yōu)解。粒子群算法操作簡單,方便計算,在很多優(yōu)化方面都有使用,但是,大多數(shù)情況下,它僅可以得到局部最優(yōu)解。
粒子位置和速度調(diào)整公式為
(6)
式中,X為粒子位置;υ為粒子速度;k為迭代次數(shù);pbest為單個粒子位置最優(yōu)值;jbest為群體位置最優(yōu)值。
(3) GA-PSO算法。
遺傳算法對于全局最優(yōu)有很好的效果,并且搜索能力較強,速度較快;粒子群算法操作簡單,方便計算,在很多優(yōu)化方面都有使用,但時,大多數(shù)情況下,它僅可以得到局部最優(yōu)解。鑒于GA算法和PSO算法在全局和局部尋優(yōu)的特點,將兩種算法進行融合,形成GA-PSO混合算法。
本文在以下兩方面進行優(yōu)化。
① 鑒于PSO的參數(shù)(如λ1、λ2)一般通過經(jīng)驗選擇,可能達(dá)不到很好的效果,因此用GA算法對其進行優(yōu)化,提高算法的效率。每一個GA算法的粒子為PSO的加速權(quán)值(λ1,λ2),在此參數(shù)優(yōu)化的條件下,PSO算法對核函數(shù)參數(shù)(σ,α1,d,C)進行優(yōu)化,以達(dá)到最佳的優(yōu)化效果。
② 對于PSO 算法的參數(shù)ω來說,傳統(tǒng)的權(quán)重系數(shù)ω變化方式為
(7)
式中,t為當(dāng)前迭代次數(shù);Tmax為最大迭代次數(shù);ωmin為最小權(quán)重;ωmax為最大權(quán)重。變化方式如圖3所示。 但是,在研究中發(fā)現(xiàn),迭代過程中,慣性權(quán)重調(diào)整通常希望使粒子早期具有較強的全局搜索能力,防止早熟收斂,后期具有較強的局部搜索能力,加快收斂速度。換句話說,在迭代次數(shù)t較小時,慣性權(quán)重應(yīng)該隨著t的增大緩慢減小,隨著迭代次數(shù)t變大,慣性權(quán)重減小的速度加快,當(dāng)?shù)螖?shù)較大時,又緩慢地減小,以便在前期獲得快速的收斂速度,并且在后期也具有一定的局部搜索能力。在前人[19]的研究基礎(chǔ)上,本文對傳統(tǒng)線性變化的ω進行改進,采用二次函數(shù)作為ω的變化方式。改進的公式為(變化方式如圖4所示)
(8)
圖3 傳統(tǒng)ω隨迭代次數(shù)t變化圖
圖4 改進的ω隨迭代次數(shù)t變化圖
由圖4可知,ωmax在剛開始時變化比較緩慢,此變化方式可以使粒子在前期的全局搜索能力增強,在中期時變化速度加快,可以提高中后期的搜索速度,在后期又逐漸平緩,對局部的搜索也有很好的效果,確保早期全局搜索最優(yōu)解的能力和后期局部搜索最優(yōu)解的能力。此方法更滿足本文對參數(shù)的優(yōu)化要求。通過前人[20]的經(jīng)驗,發(fā)現(xiàn)ωmax的值為0.9、ωmin的值為0.4時,可以滿足大部分?jǐn)?shù)據(jù)優(yōu)化的需求。實驗證明,它可以提高收斂速度并實現(xiàn)深度和廣度的優(yōu)化,達(dá)到很好的優(yōu)化效果。GA-PSO優(yōu)化核函數(shù)參數(shù)的流程圖如圖5所示。
圖5 GA-PSO算法流程圖
本文算法的具體步驟如下。
(1) 對PSO算法參數(shù)λ1、λ2進行二進制編碼。GA算法中每一個粒子為(λ1,λ2),其中(λ1,λ2)∈[0,4]。
(2) 設(shè)定GA的初始種群規(guī)模和迭代次數(shù),生成一個初始種群。其中種群規(guī)模過大,會提高算法的運行時間,過小則會影響分類精度,一般取粒子維度的5~10倍,本文來說種群規(guī)?!蔥10,20]。
(3) 計算GA算法每個個體的適應(yīng)值fx,以PSO的最優(yōu)解為GA算法的適應(yīng)值。
① 設(shè)定PSO迭代次數(shù)和種群規(guī)模的值,種群規(guī)模設(shè)置的要求與GA算法相同,本文種群規(guī)?!蔥20,40]。
② 每個粒子代表一組核參數(shù)(σ,α1,d,C),σ∈[0.1,5],α1∈[0,1],d∈[1,10]且d∈N+,C∈[1,1000]。在此參數(shù)范圍內(nèi)設(shè)置一個最初的位置x0,將其作為最優(yōu)位置。
③ 設(shè)置PSO算法的適應(yīng)度函數(shù)gx。適應(yīng)度函數(shù)為當(dāng)前核函數(shù)參數(shù)下的行人檢測率,表示為
(9)
式中,R為檢測率;ncorrect為樣本里被正確分類的行人數(shù)目;ntotal為樣本總數(shù)。
④ 若當(dāng)前粒子的gx>gpbest,則將X?pbest;若gx>gpbest,則X?jbest。
⑤ 更新粒子的速度和位置信息。由式(6)可知,經(jīng)過k代更新后,最終的位置信息由Xk+1達(dá)到迭代次數(shù)時得到。
⑥ 按式(8)重置ω的值。
⑦ 檢查是否達(dá)到迭代次數(shù)。若是,輸出最優(yōu)值Xk+1;若否,返回至步驟③。
⑧ 最終得到的PSO最優(yōu)值(最高識別率)即GA算法的適應(yīng)值。
(4) 由適應(yīng)值計算GA粒子選擇概率,選擇概率公式為
(10)
式中,p為選擇概率??芍?,適應(yīng)值越大,則被選中的概率就越大。
(5) 選中的粒子進行交叉、變異運算。進行交叉操作時,確定一個交叉概率Pc,運算之初會有一個隨機的數(shù),當(dāng)它小于Pc時,就進行交叉運算。變異操作與交叉操作相似。
(6) 經(jīng)過交叉、變異運算后會得到一個新的種群,即為此次GA運算的最優(yōu)解。若未達(dá)到迭代次數(shù),返回至步驟(3);否則輸出最優(yōu)解。
(7) 得到最優(yōu)的一組核參數(shù)(σ,α,d,C)。
為驗證本文算法,在Visual 2013+OpenCV 2.4.13的環(huán)境下進行本次實驗,訓(xùn)練樣本為64×128的圖片,其中,正樣本數(shù)目為1200張,負(fù)樣本為2400張,測試樣本為500張行人圖片,主要來自IN-RIA數(shù)據(jù)庫、MIT數(shù)據(jù)庫以及自己拍攝的圖片,主要包括城市、霧天、晴天等不同場景。
由于采用組合核函數(shù)作為最優(yōu)的核函數(shù)進性分類,其中主要涉及σ,α1,d,C這4個參數(shù),對其進行同時優(yōu)化,通過本文改進的GA-PSO算法進行計算,并與其他3種不同的優(yōu)化方法的結(jié)果進行對比。設(shè)定GA種群初始化規(guī)模為20,GA的迭代次數(shù)為50次,GA算法的交叉概率為0.8,變異概率為0.2,設(shè)定PSO種群初始規(guī)模為40,迭代次數(shù)為100,ωmax、ωmin分別為0.9、0.4。參數(shù)優(yōu)化如果如下。
① 采用本文改進的GA-PSO算法進行優(yōu)化時,發(fā)現(xiàn)當(dāng)參數(shù):d=2,σ=0.57,α1=0.92,α2=0.08,C=89時,組合成的組合核函數(shù)的分類器具有最優(yōu)的結(jié)果。
② 采用文獻[11]方法,即用十重交叉驗證與GA算法融合進行對參數(shù)的優(yōu)化的方法,最終的優(yōu)化參數(shù)為:d=2,σ=0.5,α1=0.9,α2=0.1,C=100時,得到了最優(yōu)的檢測效果。
③ 采用傳統(tǒng)PSO算法即一次函數(shù)方式變化的ω的PSO算法與GA算法進行融合,其具體步驟與本文算法相同,對參數(shù)進行優(yōu)化,得到的優(yōu)化參數(shù)為:d=2,σ=0.47,α1=0.89,α2=0.11,C=33。
④ 采用改進的ω即如式(8)的變化方式的PSO進行參數(shù)優(yōu)化,得到的優(yōu)化參數(shù)為:d=2,σ=0.52,α1=0.89,α2=0.11,C=67。
將不同算法的優(yōu)化結(jié)果的SVM分類器進行訓(xùn)練,對準(zhǔn)備好的測試集500張圖片分為5組,進行5組試驗,得到試驗結(jié)果如表1所示。
表1 各種方法的最優(yōu)結(jié)果對比
由表1可以發(fā)現(xiàn),與本文結(jié)果對比:不同的優(yōu)化方法得到的優(yōu)化參數(shù)不同,進而得到的效果也不同,用本文的方法優(yōu)化得到的參數(shù)進行行人檢測時,檢測率最高,并且檢測速度相對最快,優(yōu)化的效果最好,檢測效果如圖6所示,可以看出,本文算法在不同場景下均有不錯的檢測效果。
圖6 本文算法的行人檢測效果圖
為了滿足當(dāng)前對識別率以及檢測效率的要求,本文對傳統(tǒng)算法進行改進。在特征提取方面,本文利用PCA對HOG特征進行降維處理后,大大提高了提取速度;在分類器選擇上,將高斯核函數(shù)以及多項式核函數(shù)按一定比例組合,得到一個組合核函數(shù),同時引進懲罰因子C,并使用改進的GA-PSO對核參數(shù)進行優(yōu)化,經(jīng)過訓(xùn)練以及測試,數(shù)據(jù)表明,與傳統(tǒng)算法以及比較新的算法在識別率方面都有很大的改進,并且在檢測的時間方面,也有很好的結(jié)果,滿足對檢測效率的要求,使行人檢測取得滿意的效果。