王 迪,陳岳林,蔡曉東,王麗娟
(桂林電子科技大學 機械工程學院,廣西 桂林541004)
基于隨機森林和RankSVM優化的行人識別方法
王 迪,陳岳林,蔡曉東,王麗娟
(桂林電子科技大學 機械工程學院,廣西 桂林541004)
針對卡口環境及大樣本情況下,基于樣本數據量大時對測試圖像使用RankSVM排名結果會很靠后,提出了一種新的基于隨機森林和RankSVM的行人識別方法RF-SVM(RondomForest SVM)。首先,單個訓練樣本提取多維特征向量,經K-means算法將所有訓練樣本的特征向量聚類,根據隨機森林得到測試目標的預測類別,在此類范圍內采用RankSVM算法,將相似度排名順序作為行人識別結果。與傳統方法相比,引用了隨機森林預測分類的方法,避免了測試圖像與全體樣本進行相似度匹配,僅在預測到的類別中使用RankSVM,這樣得到的既準確又相對單一的RankSVM排名結果更靠前,聚類算法結合隨機森林起到一個對樣本數據初篩的作用。基于VIPeR樣本庫的實驗證明,該方法對行人姿態變化具有魯棒性,相比MCC與RankSVM等文中實驗列舉的傳統算法識別準確率高。
隨機森林;RankSVM;RF-SVM;K-means算法
行人識別是模式識別領域中活躍的研究方向之一。在行人檢索和識別中,隨著樣本庫的加大,檢索識別一幅圖像的速度和準確率都受到較大影響[1]。行人特征提取方面,RGB、HSV等顏色直方圖信息被廣泛使用,但易受到環境影響[2]。Gabor小波提取行人紋理特征,但是當提取不到準確的邊界曲線時候,最終得到的紋理特征會有很大變化[3]。LBP提取紋理特征對光照有魯棒性但是在行人姿態發生很大變化時[4],僅從LBP提取到的紋理特征識別行人目標準確率會很低。此外,在相似度計算方面隨著樣本庫的加大,測試圖像面對的負樣本加大,與測試圖像具有相仿特征的樣本出現概率加大,這都會影響到測試結果的準確性,即使RankSVM計算相似度排名順序,并未給出相似度絕對值,而是排序結果供使用者自己判斷,可隨著樣本加大,干擾樣本出現概率大,正樣本的排名順序也會靠后,基于以上這些行人識別算法中存在的問題,本文提出了一種新的基于隨機森林與RankSVM優化的行人識別方法,綜合上述特征提取算法,采用多特征融合,利用同一行人存在特征間的潛在聯系,使用聚類算法挖掘綜合特征之間的潛在聯系,將樣本們聚類,再使用隨機森林預測測試目標的分類號,這樣正樣本和測試目標就會分到同一類,之后僅在此類中使用RankSVM對相似度排名。這樣的話,在計算相似度的時候會排除來自其他幾類樣本的干擾,同時也充分利用了同一行人的多個特征間的潛在聯系,RankSVM的排名結果也會靠前,綜合多特征實現將正樣本和測試目標歸到同一類的目的。在此基礎上進行相似度計算,會使得識別準確率提升。整體算法流程如圖1所示。

圖1 本文算法流程圖
首先,每個訓練樣本提取多維特征向量,經聚類后作為輸入訓練出決策樹群;再提取測試圖像的特征帶入到決策樹中,得到測試圖像的預測類別,在此類范圍內采用RankSVM算法,將相似度排名順序作為行人識別結果。
首先要獲取行人樣本的特征,單一的特征無法滿足要求,本文提取行人的顏色信息以及紋理特征。對于單個行人,每種特征都化作特征向量的形式表示出來,最后按序組合成一個多維特征向量,即每個行人都由一個多維特征向量表示。
2.1 顏色特征
基于顏色直方圖特征的圖像檢索方法簡單、高效,本文提取圖像的RGB,HSV,YCBCR 3個空間顏色信息作為行人的顏色特征。
2.2 紋理特征
采用Gabor小波提取行人上衣紋理特征,利用其基函數的正交性,還可以消除冗余信息。Gabor小波與人類視覺系統中簡單細胞的視覺刺激響應非常相似,構建的濾波器頻率和方向表示接近人類視覺系統對于頻率和方向的表示,通過修改參數,可以在頻域的不同尺度和方向上提取相關特征,所以常用于紋理表示。
Gabor小波函數公式如下

(1)
x′=x·cosθ+y·sinθ
y′=-x·sinθ+y·cosθ
(2)
式中:λ為正弦函數的波長;θ為核函數的方向;φ為相位偏移;σ為高斯標準差;γ為x,y兩個方向的縱橫比(指定了Gabor函數的橢圓率);exp表示以自然對數e為底的指數函數
LBP(Local Binary Pattern)用來描述圖像局部紋理特征,局部二值模式是一種灰度范圍內的紋理度量。 LBP 最初定義于像素的 8 鄰域中,以中心像素的灰度值為閾值, 將周圍 8 個像素的值與其比較, 如果周圍的像素值小于中心像素的灰度值, 該像素位置就被標記為 0, 否則標記為 1;將閾值化后的值 (即0或者l) 分別與對應位置像素的權重相乘, 8 個乘積的和即為該鄰域的 LBP 值[4]。如圖2所示。

圖2 LBP計算
如圖2所示,圖2a的example中以中心點6為閾值,其他鄰域中的值與閾值比較,大于閾值則該鄰域中的值被替換為1,小于閾值則該鄰域中的值被替換為0,就得到了圖2b的thresholded,從第二行第一列的數字開始圍繞中間元素逆時針轉一圈兒得到二值數“11110001”;再與圖2c weights中對應位置的權重相乘求和,即得到example的LBP值。計算公式如下
LBP= 1×128+1×64+1×32+1×16+
0×8+0×4+0×2+1×1=241
(3)
2.3 將決策樹群的輸入向量聚類
采用K-means算法對提取到的多維特征向量們進行聚類。K-means算法的思想是:首先隨機選取幾個數據點作為聚類中心點,其次將每個數據都聚類到最近的聚類中心點,最后計算每個類的重心,如果重心到聚類中心點的距離大于給定閾值,就以重心為此類的聚類中心點繼續聚類,直至類的重心到聚類中心點的距離小于閾值[5]。
本節旨在提取行人的特征信息,將特征向量以及聚類結果作為輸入傳遞到下一節的決策樹群中去。
將上節獲取到的行人特征向量放入一個矩陣作為training_data,表示每個樣本的特征信息,搭建決策樹群的時候,從中隨機選取若干行向量存入決策樹的根節點;而聚類結果放入另一個矩陣作為training_classification,決定了決策樹群的分類結果。這兩個矩陣作為決策樹群的兩個輸入矩陣被調用。
3.1 搭建決策樹群的作用
隨機森林自動創建決策樹群,但是大部分的決策樹對于分類沒有意義,以圖2為例,每個節點用了不相關的特征作出判斷,最終一棵決策樹分出了兩類,那建立1 000個沒有意義的決策樹有什么作用呢?
當要做預測的時候,新觀察到的特征隨著決策樹自上而下走下來,這樣一組觀察到的特征將會被貼上一個預測值。一旦森林中的每棵樹都給出了預測值,所有的預測結果將被匯總到一起,所有樹的模式投票被返回作為最終的預測結果。這些看似沒有意義的決策樹做出的預測結果涵蓋所有情況,這些預測結果將會彼此抵消,而占少數的那些優秀的樹的預測結果將會脫穎而出,做出一個好的預測[6]。
3.2 建立決策樹群,挖掘特征間的潛在聯系
搭建決策樹群有若干參數極為重要,它們決定了決策樹群的聚類結果以及預測準確性。
1)決策樹深度:即每棵決策樹的層數,定值過低會使得聚類結果過于集中。
2)節點成為葉子的臨界值:即節點中樣本數據少于一定值時,該節點就停止二插分。
3)每棵決策樹最終可分成多少類:這由輸入矩陣 training_classification中的類別個數決定。
4)決策樹群中樹的個數:越多信息越完備,但是損失的是訓練時間。
5)建立過程如下:
(1)初始化
① 讀入樣本數據集S。
② 定義決策樹群的若干參數。
a.每課決策樹深度D;
b.節點成為葉子的下限MIN_NUM;
c.每棵樹最大分類數目;
d.樹的每個節點選取的特征變量個數NUM_OF_VAR;
e.存在的決策樹最大數量NUM_OF_TREES;
f.設定變量i表示單棵決策樹,j為決策樹當前深度。
(2)建立隨機森林,偽碼如下
for i =0,…,NUM_OF_TREES
for j=0,…,D
從S中有放回的隨機抽取固定量的樣本數據存入一棵決策樹的根節點;
隨機抽取NUM_OF_VAR個特征變量作為二叉樹判斷依據;
當節點個數低于MIN_NUM,此節點視為葉子,不再往下分叉;
當樹的深度達到D則決策樹生成;
endfor;
繼續產生決策樹,直至達到NUM_OF_TREES棵樹,決策樹群生成;
endfor;
3.3 預測行人目標的類別
預測行人目標類別的偽碼如下:
for i =0,…,NUM_OF_TREES
for j=0,…,D
從當前節點開始,根據節點閾值判斷進入左節點還是右節點;
直到達到某個葉子節點,并輸出預測值;
endfor;每棵決策樹都給出一個預測值,所有樹中預測概率總和最大的那一個類就是隨機森林對于輸入測試圖像的預測類別結果;
endfor;
本節旨在使用樣本數據搭建決策樹群,并將測試數據帶入搭建好的決策樹群,得到一個預測類別,作為測試數據的輸出值。后面的工作是在此類中比較該類中所有樣本和測試數據的相似度,這就是下面RankSVM的工作。
由上一節得到預測類別,將該類中的所有樣本和測試數據帶入RankSVM中去計算相似度排名。
首先把數據分為訓練集、驗證集、測試集,都進行特征提取和量化。其中,訓練集就是指原始數據,每一列都是特征信息,提取的是原始特征,訓練出多個基分類器。驗證集是結合多個基分類器對每種類別的得分,訓練集成分類器。測試集就是用來最后做測試用的數據集。
4.1 訓練集
樣本的原始數據,用于訓練多個基分類器,每個基分類器都對驗證集數據進行預測,對驗證集的每一個數據,不同基分類器對應不同的類別有不同的得分。
圖3中,表示有3類(#1,#2,#3)數據,隨機森林的輸入矩陣中保存著樣本們的正確分類,這些正確的分類就來源于之前的K-means聚類結果。正確的類標記為 1,其他類標記為 0;qid表示這是對同一個樣本的數據;后面是指5個特征,即5個基分類器對于此類數據的不同預測得分[7]。
1qid:1 1:0.8 2:0.2 3:0.2 4:0.1 5:0.5 #11
0qid:1 1:0.1 2:0.7 3:0.2 4:0.4 5:0.3 #12
0qid:1 1:0.1 2:0.1 3:0.6 4:0.5 5:0.2 #13
圖3 RankSVM示例
4.2 驗證集和測試集
使用RankSVM對驗證集數據進行訓練,得到集成分類器。對測試集同樣構建圖3中的數據格式,帶入分類器中進行測試,得到對測試數據所屬類別的得分。
5.1 實驗目標
實驗用VIPeR數據庫,因為本文是行人識別,所以要有正負樣本和測試圖像,且是實際路況下的行人圖像,VIPeR庫中包括2個攝像頭角度拍攝到的畫面,每個角度下都拍攝到了一群行人,且這些行人在2個攝像頭拍攝結果中的順序是一一對應的,而且這個樣本庫的圖像清晰度滿足提取行人特征的要求,適合用來做實驗。如圖4所示。

圖4 VIPeR數據庫的cam_a和cam_b
本文選取cam_a中的532張圖像作為樣本,cam_b中的100張圖像作為測試圖像,分別與LMNN[8],ITM[9],MCC[10],L1-norm的效果進行比較,以期本文提出的RF-SVM行人識別方法的準確率能高于上述這些傳統識別方法5%以上。
5.2 實驗過程
識別過程:1)分別用RGB、HSV、YCBCR、Gabor、LBP提取樣本特征,每個樣本由這5個特征組成的一個多維特征向量表示; 2)用K-means算法將所有樣本的特征向量聚類,用一個矩陣存儲聚類結果; 3)利用CvRTree類中的train函數建立隨機森林; 4)輸入一個測試圖像到建立好的隨機森林中,CvRTree類中的predict函數會返回一個預測類別號; 5)確定這個預測類別中的全部樣本,之后的RankSVM只在這些樣本中進行; 6)給定測試圖像和正樣本,帶入RankSVM就會返回一個矩陣,矩陣中的元素數值就是測試圖像們與正樣本的相似度,數值越小表示越接近正樣本。
5.3 實驗結論
上述各識別算法的識別準確率如圖5所示。

圖5 各算法在VIPeR數據庫上的準確率
圖5中RF-SVM的識別率要高于其他傳統算法的識別率,在Rank=20的位置上的準確率也高過其次準確的MCC算法約10%,達到實驗目標。實驗結果證明,基于隨機森林和RankSVM的行人識別方法對行人姿態變化有一定的魯棒性,且相較MCC,ITM,LMNN,L1-norm算法與單一的RankSVM結合的方法識別準確率高。
本文采用隨機森林與RankSVM的行人識別方法,該識別方法: 1)用相似度排名方式代替了以往的相似度絕對值得比較,無需劃定閾值,便于使用者自己判斷; 2)建立隨機森林需要多特征,僅從表觀特征無法人工將樣本們分類完善,采用 K-means 聚類算法代替人工給出樣本類別,可以挖掘出樣本間的潛在聯系。3)避免了測試圖像與全體樣本進行相似度匹配,僅在預測到的類別中使用RankSVM,這樣得到的既準確又相對單一的RankSVM排名結果更靠前,聚類算法結合隨機森林起到一個對樣本數據初篩的作用。未來進一步的工作可以考慮對提取到的特征降維,減少計算量,也可以考慮加入一些行人的其他表觀特征。
[1] HU W,HU M,ZHOU X, et al. Principal axis-based correspondence between multiple cameras for people tracking[J]. PAML,2006,28(4):663-671.
[2] SWAIN M J,BALLARD D H.Color indexing[J].International Journal of Computer Vision,1991,7(1):11-32.
[3] 呂翊,林賀宇,趙輝.基于sym8小波和部分hadmard矩陣的深空圖像壓縮編碼[J].重慶郵電大學學報:自然科學版,2012,24(5):646-651.
[4] 王映輝. 人臉識別——原理、方法與技術[M].北京:科學出版社,2010.
[5] ESCALANTE H J,MONTES-Y-GOMEZ M,SUCAR L E.An energy based model for region-labeling[J].Computer Vision and Image Understanding,2011(115):787-803.
[6] AMIT Y,GEMAN D. Shape quantization and recognition with randomized tree[J].Neural Computation,1997(9):1545-1588.
[7] FREUND Y,IYER R,SCHAPIRE R E,et al.An efficient boosting algorithm for combining preferences[J].Journal of Machine Learning Research,2003(4):933-969.
[8] CRAMMER K,SINGER Y. On the algorithmic implementation of multiclass kernel based vector machines[J]. Journal of Machine Learning Research,2001(2):265-292.
[9] LEBANON G. Metric learning for text documents[J]. Patern Analysis and Machine Intelligence,2006(28):497-508.
[10]BERTSEKAS D P. On the goldstein-levitin-polyak gradient projection method[J]. IEEE Trans. Automatic Control,1976,21(2):174-184.
王 迪(1988— ),碩士生,主研智能視頻分析與行人識別;
陳岳林(1968— ),碩士生導師,主要研究方向為機制、機電等;
蔡曉東(1971— ),碩士生導師,主要研究方向為并行化圖像和視頻處理、模式識別與智能系統、基于云構架的智能傳感器網絡;
王麗娟(1991— ),女,碩士生,主研智能視頻分析與行人識別。
責任編輯:閆雯雯
Person Re-identification Based on Optimize Random Forest and RankSVM
WANG Di, CHEN Yuelin, CAI Xiaodong, WANG Lijuan
(Schoolofinformationandcommunication,GuilinUniversityofElectronicTechnology,Guangxi541004,China)
Pedestrian re-identification is a challenging problem in computer vision due to big data. An novel method RF-SVM(RondomForest SVM) is proposed on the basis of the RandomForest and RankSVM . Firstly, extracted multiple features and then classified using the clustering algorithm K-means. The class label of an input data is predicted by aggregating the votes of multiple tree classifiers. Finally, RankSVM predicts a score from the features of pedestrian. Comparing traditional method, this paper quotes the random-forest classifier predicts the class label of an input data so that can use RankSVM in the class avoid do it in the whole training data. The effectiveness of the presented approach is validated on the VIPeR dataset. The experiments have shown there is robustness to the person posture changes and this method has higher person re-identify accuracy compared with MCC .
random forest; RankSVM; RF-SVM;K-means
廣西自然科學基金項目(2013GXNSFAA019326);國家科技支撐計劃課題(2014BAK11B02)
TP391.4
A
10.16280/j.videoe.2015.18.021
2015-02-03
【本文獻信息】王迪,陳岳林,蔡曉東,等.基于隨機森林和RankSVM優化的行人識別方法[J].電視技術,2015,39(18).