李紅麗+許春香+馬耀鋒
摘 要: 針對單核支持向量機在圖像分類識別中檢測精度較低的問題,提出一種多核學(xué)習(xí)SVM的圖像分類識別算法,并將其應(yīng)用到行人檢測問題中。首先,提取行人的積分通道特征包括梯度直方圖、彩色通道和梯度特征;然后,使用直方圖交叉核、多項式核和徑向基核構(gòu)建混合核SVM分類器;最后,使用交叉驗證和網(wǎng)格搜索的方法確定各種核的融合系數(shù)。在TUD數(shù)據(jù)集上的測試結(jié)果表明,該方法具有較好的魯棒性和較高的檢測精度。
關(guān)鍵詞: 支持向量機; 多核學(xué)習(xí); 行人檢測; 圖像識別; 直方圖交叉核; 交叉驗證
中圖分類號: TN911.73?34; TP311 文獻標(biāo)識碼: A 文章編號: 1004?373X(2018)06?0050?03
Abstract: In allusion to the problem that the single kernel support vector machine (SVM) has low detection precision in image classification and recognition, an image classification and recognition algorithm based on multi?kernel learning SVM is proposed and applied to the pedestrian detection problem. The pedestrians′ integral channel features including the gradient histogram, the color channel and the gradient feature are extracted. The hybrid kernel SVM classifier is constructed by using the histogram cross kernel, the polynomial kernel, and the radial basis kernel. The methods of cross validation and grid search are used to determine the fusion coefficients of various kernels. The results from the TUD dataset test show that the method has good robustness and high detection precision.
Keywords: SVM; multi?kernel learning; pedestrian detection; image recognition; histogram cross kernel; cross validation
核學(xué)習(xí)是一種以核函數(shù)和統(tǒng)計學(xué)習(xí)理論為基礎(chǔ)的機器學(xué)習(xí)方法[1],該方法通常包括核函數(shù)的選擇與構(gòu)造、使用核函數(shù)構(gòu)建分類器兩個部分[2]。使用核學(xué)習(xí)方法可以避免顯式計算低維空間的樣本到高維空間的映射,直接將樣本轉(zhuǎn)化為高維空間的點積[3]。
支持向量機[4](Support Vector Machine,SVM)的本質(zhì)為核方法,在解決非線性、小樣本和高維模式識別問題中表現(xiàn)出了諸多優(yōu)勢。SVM的發(fā)展促進了核學(xué)習(xí)方法,相繼出現(xiàn)了核Fisher判別方法、核主成份分析方法、核判別分析以及核獨立分量分析[5?7]等。核方法被廣泛應(yīng)用于求解高維、動態(tài)、數(shù)量多和含噪聲等問題中。
然而,每一種核均存在較大的差異,對應(yīng)于不同的應(yīng)用場合,目前還沒有完備的選擇核函數(shù)的理論依據(jù)。選擇與設(shè)計適合給定問題核函數(shù),是核方法和SVM共同面臨的問題。當(dāng)數(shù)據(jù)樣本存在多維數(shù)據(jù)不規(guī)則、含異構(gòu)信息或高維空間分布不平坦等問題時,難以使用單一的核函數(shù)映射處理所有樣本。因此,眾多文獻提出了基于混合核或組合核的方法,即多核學(xué)習(xí)的方法。如文獻[8]組合使用徑向基核函數(shù)和多項式核來提高SVM的分類精度;文獻[9]使用多核SVM實現(xiàn)了短語音說話人識別系統(tǒng);文獻[10]使用混合核最小二乘法支持向量機實現(xiàn)了損傷檢測,并獲取了比單徑向基核更高的泛化能力與精度?;谝陨戏治?,本文提出了一種多核學(xué)習(xí)SVM算法,并將其應(yīng)用到行人檢測問題中。首先,提取行人的積分通道特征包括梯度直方圖、彩色通道和梯度特征;然后,使用直方圖交叉核、多項式核函數(shù)和徑向基核函數(shù)構(gòu)建混合核SVM分類器;最后在TUD數(shù)據(jù)集上的檢測結(jié)果表明,該方法具有較好的魯棒性和較高的檢測精度。
1 行人特征提取
積分通道特征即使用積分圖技術(shù)加快特征提取的速度,且融合后的特征相對于HOG特征具有更高的判別能力。積分通道特征具有參數(shù)少、來自顏色和梯度等不同的特征源,且檢測時能準(zhǔn)確定位等特點。
本文使用梯度直方圖、彩色通道和梯度特征,這些特征均是對輸入圖像的線性或非線性變換得到的。特征計算過程如下:
1) 使用線性和非線性變換得到10個不同的通道;
2) 在給定的通道對多個30×30大小的矩形框求和得到一組值;
3) 從每個通道中隨機選取200個矩形框,最終得到一個2 000維的特征向量。
系統(tǒng)的檢測精度會隨著所選取的矩形框數(shù)量的增加而增長,但系統(tǒng)的運行時間與特征的維度也會相應(yīng)增加。本文實驗結(jié)果表明,選取200個和250個矩形框時檢測精度基本相同,且對于240×320分辨率的輸入圖像分別可以得到2 000維和2 500維特征,而消耗的時間分別為0.026 s和0.034 s。因此,本文對每張圖片提取200個矩形框。endprint
2 多核SVM算法
使用核函數(shù)的基本性質(zhì)可以將一些常用的核函數(shù)按照一定的模板組合成新的核函數(shù)。假設(shè),有定義在[X?X]([X?Rm])上的核函數(shù)[k1(x,x′)]和[k2(x,x′)],則式(1)~式(3)均為核函數(shù):
[k(x,x′)=k1(x,x′)+k2(x,x′)] (1)
[k(x,x′)=k1(x,x′)k2(x,x′)] (2)
[k(x,x′)=ak1(x,x′), a?R+] (3)
選取合適的核函數(shù)可以獲得更強大的泛化能力,本文通過對多種基本核函數(shù)進行加權(quán)來構(gòu)造混合核函數(shù),加權(quán)方式如下:
[k(x,x′)=p=1Umpkp(x,x′),p=1Ump=1, mp0, p=1,2,…,U] (4)
式中:[kp]為核函數(shù);[mp]為[kp]所對應(yīng)的權(quán)重,各種核函數(shù)的權(quán)重總和為1。由文獻[8]可知,式(4)滿足Mercer條件,因此可以用于SVM。從式(4)可知,通過調(diào)整權(quán)重值來獲得不同性能的混合核函數(shù),從而可以更靈活地調(diào)節(jié)混合核的學(xué)習(xí)能力,提升分類性能。
3 基于多核SVM的行人檢測
目前,眾多文獻使用SVM進行行人檢測,但大多是在特征提取階段做工作,最后直接使用SVM分類器作為識別工具來檢測行人;也有文獻通過調(diào)整參數(shù)、尋找最優(yōu)參數(shù)或增加懲罰項系數(shù)C來提升SVM的分類性能。但這些方法只是用單一核函數(shù),而并未考慮到單一核函數(shù)的局限性,如徑向基核函數(shù)的分類結(jié)果僅與樣本間的角度有關(guān);多項式核函數(shù)雖具有較強的泛化能力,但當(dāng)階數(shù)增加時系統(tǒng)復(fù)雜性也急劇增加。因此,本文使用混合核函數(shù)來提高SVM的學(xué)習(xí)能力,文中選取的核函數(shù)如表1所示。
具體的行人檢測過程包括:行人特征的提取、核函數(shù)參數(shù)的設(shè)置、使用網(wǎng)格搜索尋找最優(yōu)參數(shù)和分類器的訓(xùn)練。本文,首先提取行人的積分通道特征。然后,確定混合核函數(shù)的形式及其參數(shù)的選擇范圍,這里使用網(wǎng)格搜索的方法調(diào)整核函數(shù)的參數(shù)和SVM的懲罰項C,并使用交叉驗證的方式固定參數(shù),通過比較不同的測試結(jié)果得到最優(yōu)的參數(shù)設(shè)置。本文構(gòu)建的混合核函數(shù)具有3種核函數(shù)的優(yōu)點,兼具學(xué)習(xí)能力和泛化能力。
4 實驗與結(jié)果分析
為了驗證本文算法的有效性,在TUD[11]數(shù)據(jù)集上進行仿真測試,并從魯棒性和實時性兩個方面與傳統(tǒng)的HOG+SVM算法[12]、多尺度HOG算法[13]以及HIKSVM算法[14]進行比較。本文程序使用Visual C++和OpenCV庫開發(fā),在CPU 2.30 GHz,64位Windows 10系統(tǒng)上進行性能測試。首先,比較本文提出的積分通道特征在不同核SVM上的性能,其結(jié)果如圖1所示。從圖1中可以看出,積分通道特征在多項式核SVM和徑向基核SVM上效果較為理想。圖2為本文方法在TUD數(shù)據(jù)集上的測試結(jié)果。從圖2可以看出,本文算法獲得了較高的檢測精度,和 HOG+SVM算法相比,提高9%;和多尺度HOG算法相比提高2%;和HIKSVM算法相比提高4%。由實驗結(jié)果可看出,使用多核融合的學(xué)習(xí)方法能明顯提升SVM的性能。圖3為本文的檢測示例。
5 結(jié) 語
單核支持向量機在圖像分類識別問題中通常具有較低的魯棒性和檢測精度,本文提出一種多核學(xué)習(xí)SVM的圖像分類識別算法,并將其應(yīng)用到行人的檢測問題中。首先,提取行人的積分通道特征,包括梯度直方圖、彩色通道和梯度特征;然后,使用直方圖交叉核、多項式核和徑向基核構(gòu)建混合核SVM分類器;最終,使用交叉驗證和網(wǎng)格搜索的方法確定各種核的融合系數(shù)。在TUD數(shù)據(jù)集上的測試結(jié)果表明,該方法具有較好的魯棒性和較高的檢測精度。
參考文獻
[1] 汪洪橋,孫富春,蔡艷寧,等.多核學(xué)習(xí)方法[J].自動化學(xué)報,2010,36(8):1037?1050.
WANG Hongqiao, SUN Fuchun, CAI Yanning, et al. On multiple kernel learning methods [J]. Acta automatica sinica, 2010, 36(8): 1037?1050.
[2] 尹玉娟,王媚,張金江,等.一種自主核優(yōu)化的二值粒子群優(yōu)化?多核學(xué)習(xí)支持向量機變壓器故障診斷方法[J].電網(wǎng)技術(shù),2012,36(7):249?254.
YIN Yujuan, WANG Mei, ZHANG Jinjiang, et al. An autonomic kernel optimization method to diagnose transformer faults by multi?kernel learning support vector classifier based on binary particle swarm optimization [J]. Power system technology, 2012, 36(7): 249?254.
[3] 施逸飛,熊岳山,謝智歌,等.基于多核學(xué)習(xí)的快速網(wǎng)格分割算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2015,27(11):2031?2038.
SHI Yifei, XIONG Yueshan, XIE Zhige, et al. Fast mesh segmentation based on multiple kernel learning [J]. Journal of computer?aided design & computer graphics, 2015, 27(11): 2031?2038.endprint
[4] 丁世飛,齊丙娟,譚紅艷.支持向量機理論與算法研究綜述[J].電子科技大學(xué)學(xué)報,2011,40(1):2?10.
DING Shifei, QI Bingjuan, TAN Hongyan. An overview on theory and algorithm of support vector machines [J]. Journal of University of Electronic Science and Technology of China, 2011, 40(1): 2?10.
[5] 毛臨川,吳根秀,吳恒,等.基于信息增益的最優(yōu)組合因子Fisher判別法[J].計算機工程與應(yīng)用,2016,52(19):94?96.
MAO Linchuan, WU Genxiu, WU Heng, et al. Optimal combination of factor Fisher discrimination method based on information gain [J]. Computer engineering and applications, 2016, 52(19): 94?96.
[6] 劉君,黃燕琪,熊邦書.融合核主成分分析和最小距離鑒別投影的人臉識別算法[J].計算機工程,2016,42(4):221?225.
LIU Jun, HUANG Yanqi, XIONG Bangshu. Face recognition algorithm fused kernel principal component analysis and minimum distance discriminant projection [J]. Computer engineering, 2016, 42(4): 221?225.
[7] 楊雪萍,楊洪耕,馬曉陽,等.基于核獨立分量分析的諧波責(zé)任劃分[J].電力系統(tǒng)及其自動化學(xué)報,2016,28(12):109?114.
YANG Xueping, YANG Honggeng, MA Xiaoyang, et al. Determination of harmonic contributions based on kernel independent component analysis [J]. Proceedings of the CSU?EPSA, 2016, 28(12): 109?114.
[8] 姜曉慶,夏克文,林永良.使用二次特征選擇及核融合的語音情感識別[J].計算機工程與應(yīng)用,2017,53(3):7?11.
JIANG Xiaoqing, XIA Kewen, LIN Yongliang. Speech emotion recognition using secondary feature selection and kernel fusion [J]. Computer engineering and applications, 2017, 53(3): 7?11.
[9] 譚熊,余旭初,秦進春,等.高光譜影像的多核SVM分類[J].儀器儀表學(xué)報,2014,35(2):405?411.
TAN Xiong, YU Xuchu, QIN Jinchun, et al. Multiple kernel SVM classification for hyperspectral images [J]. Chinese journal of scientific instrument, 2014, 35(2): 405?411.
[10] ARMAND R, CHERUBINI C, TUDURI J, et al. Rare earth elements in French stream waters ? revisiting the geochemical continental cycle using FOREGS dataset [J]. Journal of geochemical exploration, 2015, 157: 132?142.
[11] YAO C, WU F, CHEN H J, et al. Traffic sign recognition using HOG?SVM and grid search [C]// Proceedings of International Conference on Signal Processing. Hangzhou: IEEE, 2014: 962?965.
[12] 傅智勇.HOG+SVM行人檢測算法在DM6437上的實現(xiàn)與優(yōu)化[D].廣州:華南理工大學(xué),2012.
FU Zhiyong. Realization and optimization of HOG+SVM pedestrian detection algorithm on DM6437 [D]. Guangzhou: South China University of Technology, 2012.
[13] 丁躍.多核支持向量機及其在人臉識別中的應(yīng)用[D].重慶:重慶大學(xué),2014.
DING Yue. Multiple kernel support vector machine and its application in face recognition [D]. Chongqing: Chongqing University, 2014.
[14] 周炫余,劉娟,盧笑,等.一種聯(lián)合文本和圖像信息的行人檢測方法[J].電子學(xué)報,2017,45(1):140?146.
ZHOU Xuanyu, LIU Juan, LU Xiao, et al. A method for pedestrian detection by combining textual and visual information [J]. Acta electronica sinica, 2017, 45(1): 140?146.endprint