王 茜,陳一民,丁友東
(1.上海大學計算機工程與科學學院,上海200072; 2.上海市公安局刑事偵查總隊科技信息科,上海200083;
3.上海大學 影視學院,上海200072)
(*通信作者電子郵箱cathyiii@hotmail.com)
隨著現代視頻監(jiān)控在公共安全領域發(fā)揮的作用越來越重要,其架設規(guī)模和應用需求也呈幾何級地不斷拓展。如何在復雜環(huán)境的非結構化視頻圖像中快速排查出公共安全部門所需鎖定的目標車輛已成為迫在眉睫的需求。在傳統車輛識別技術遇到瓶頸的同時,一種拋開光照、視角、姿態(tài)和角度變化不利影響識別出同一目標的目標再識別(re-IDentification,re-ID)技術[1-5]逐漸成為研究的熱點。目前,針對目標再識別進行的研究主要集中在行人再識別領域[1-4],而鮮少應用于其他目標。2015年起,少數學者開始嘗試進軍車輛再識別領域,但往往僅能應用于同尺度同角度圖像,對環(huán)境變化魯棒性弱或算法僅基于小型數據集。
計算機視覺詞包模型由Csurka[6]提出,其方法是先將圖像轉換成眾多有效特征作為詞匯(words)的統計向量表示,再通過分類算法實現對圖像的分類和檢索。近幾年基于有效中級特征的視覺詞袋(Bag of Visual Words,BoVW)被證實在圖像分類和搜索方向效果突出,尤其適用于多屬性數據集的分類和識別。基于該模型的特色和在其他領域的應用成效,將其應用于車輛再識別領域,在本文中對其應用框架、實施步驟、重點方法和參數選擇進行了重點研究,并通過實驗證明了該算法的優(yōu)勢。
基于BoVW模型的車輛再識別算法主要由以下幾個步驟組成:選擇圖像基礎特征;進行特征聚類、篩選,構建詞匯集;將圖像表述為詞袋中的詞匯表示集,作為圖片的最終特征;計算特征間的距離函數,進行再排序后分類。而各步驟中主要影響識別效果的重點在于:基礎特征構建、BoVW特征距離度量和再排序參數設定。算法框架如圖1所示。
基礎特征構建方面,文獻[6]選用尺度不變特征變換(Scale Invariant Feature Transform,SIFT)匹配算法、局部二值模式(Local Binary Pattern,LBP)等低級特征,識別率不高;文獻[3]中由于采用過多融合特征導致同一圖片被多次編碼;文獻[2]選用了經典可變形組件模型(Deformable Part Model,DPM)中級特征,但其目標選擇框(bboxes)的手工標注方案往往無法明晰目標與背景間的邊界。本文采用了改進的一對一局部特征(Part-based One-vs-One Feature,POOF)[3]中級特征,但規(guī)避了原有特征獲取方法中存在的標注過多及運算復雜等問題,通過標記出少量標定點以指定不同對象相同部位,從而解決了復雜環(huán)境中車輛相同部位存在位置、大小差異等問題。同時,本文在原POOF算法基礎上改變特征選取方式后,通過添加標定點相對位置信息,解決了BoVW模型中常見的空間位置缺失問題[4],同時也捕捉到了目標形變信息。
圖1 基于BoVW模型的車輛再識別算法示意圖Fig.1 Framework of BoVW model based vehicle re-identification algorithm
BoVW特征構建完成后,度量常用的距離主要有:馬氏距離、歐氏距離、余弦距離以及海明(Hamming)距離。馬氏距離往往是大部分已有再識別方案的選擇,但各方法使用的度量函數不盡相同,其中常見的方法有大間隔最近鄰度量(Large Margin Nearest Neighbor,LMNN)、信息假設理論度量學習(Information Theoretic Metric Learning,ITML)、貝葉斯再訪問(Bayesian face Revisited)、基于簡單而且直接策略度量(Keep It Simple and Straight Metric,KISSME)[7]、局部自適應決策函數(Locally-Adaptive Decision Function,LADF)、交叉視角二次分析(Cross-view Quadratic Discriminant Analysis,XQDA)方法、成對約束學習(Pairwise Constraint Metric Learning,PML)等。本文選用了基于貝斯特理論的KISSME算法,并將度量方法融入了BoVW構建關鍵詞匯集和距離度量兩個環(huán)節(jié),分別使用了歐氏和馬氏兩種距離,最終其有效的分類效果被證明十分有效。
再排序參數選擇也會引起最后的識別率變化,尤其針對多分類的問題。早期往往采用的是每排序l次進行交叉認證(l-fold cross validation)的方式[1],大部分再排序采用 K近鄰(K-Nearest Neighbor,KNN)算法[2,8-9],文獻[5,9]中提出了多種再排序的權值設置方法,并對其效果進行了比較;文獻[2]沿用了文獻[9]中添加權值后的再排序算法,逐步增加排序靠后的高相似度圖像的權值,本文也采用了類似的方法,不同的是對權值作出了不同的設置。
設C為車輛圖像的集合,其中包含J輛不同車輛的共計I幅圖像。設xi為排序為i的圖片,即
其中同車輛圖片子集設為Cj(1≤j≤J),知C=C1∪C2∪…∪CJ,具體實施如下:
①目標中級特征提取。首先對單圖片進行基于車輛固定部件的標注,獲取r個標定點集合R。針對不同的標定點參考文獻[3]提取部件特征記為{fa,b}。其中低層特征選擇采用128位HSV顏色直方圖hHSV和梯度方向直方圖特征hHOG(其中胞原大小設為10×10,塊大小設置為4×4,塊滑動增量設為3[10])。為了保留該部位所在的位置特征,可得:
由于標定點a,b間可獲取一對 fa,b和其非對稱特征fb,a,圖片xi可被表述為r個標定點間r×(r-1)×2個特征的集合 Fi,即:
但我們發(fā)現,在實際應用中不同視角車輛部件位置會有少量不同,故設計了基于不同視角θ的標定點方案,具體示意見圖2。根據該標定點方案,車輛可標定點位置分為正、側、背三種各9、4、6個,共計19個。每視角圖片標定點為9到13個。將 Fi改寫為 Fi,θ,其中加入了角度參數 δi,θ來區(qū)別差異化標定點方案導致的特征取值變化:
并將其簡寫成:
將圖片轉換為每個基于a,b標注部件的(fa,b+fb,a)中層特征的集合,其中 pa,b,i,θ是第 i張圖片標定點為 a,b 的中級部件特征。
值得注意的是,對于部分車輛遮擋的問題遵循以下處理原則:一是遮擋部分位于所有標點劃定區(qū)域外圍的,對于各pa,b,i,θ的取值無任何影響。二是對于遮擋部位位于少量標點劃定區(qū)域內的情況,根據文獻[3]算法可知,每個部件特征pa,b,i,θ已 通 過 主 成 分 分 析 (Principal Component Analysis,PCA)算法實施過降維操作,小部分特征維度的缺失對于包含多部件的整體車輛特征取值變化導致的識別率影響可忽略不計。三是對于重點部位遮擋或遮擋較多的樣本,在訓練集中予以剔除。但對于此類目標圖片,也可通過統一減少該角度遮擋部分標定點的方式進行訓練,獲取到變化標點中級部件特征Fi,θ',即通過本文基于非固定數量部件的靈活部件選取方案,實現部分遮擋目標車輛的特征獲取及后續(xù)識別。
圖2 基于不同視角θ的標定點方案示意圖Fig.2 Schematic diagram of labeling scheme based on different viewpoint θ
②選取任意兩張圖片i1和i2,計算每兩張不同車輛同部位特征間的歐氏距離函數:
用基于平方誤差的K-means算法聚類特征,獲取K個聚類中心點,生成詞匯集
③將每張圖片xi生成對應詞匯集的詞頻直方圖(frequency histogram)表示:
④用KISSME方法計算目標圖像與各訓練圖像集的距離函數。為計算圖片 i1和 i2間的差距 Δ =(pa,b,i1,θ1- pa,b,i2,θ2),設ΓΩ是表示i1和i2為同車輛的類內變化值,ΓΘ是表示i1和i2為非同一車輛的類間變化值,由該方法得類內和類間概率似然函數分別為:
其中,NΩ和NΘ分別代表類內樣本個數和類間樣本個數,本文將i1和i2間的KISSME距離表述為:
得到Eb(i1,i2)如在類內距離范圍內則判斷其為同一車輛目標,反之則為非同一目標。
⑤在算法實施中,往往首先定義Q為目標圖片,通過計算Q與圖像集C中每一個圖像xi的距離Eb(Q,xi),獲取一個按距離從近到遠對xi基于目標Q距離倒敘序的圖片隊列,記為Rank(Q,G)=[y1,y2,…,yi],其中yi∈C,G為C中任一圖片。由于在復雜環(huán)境中的各因素的影響,④中獲得的相似度排序往往會發(fā)生極相似目標被排序在很后的情況,故此需要引入再排序步驟。本文將Rank(Q,G)作為目標圖片集Q的初始排序集,并定義Simm(Q,G)為Q、G兩圖片間的初始相似度分值,首先默認初始相似度分值為:
其中,Ra(Q,G)為圖片G在Rank(Q,G)中的排序值。本文對初始 Rank(Q,G) 中前 T個排序圖片[y1,y2,…,yT]中的每個yt作為目標圖片,獲取不同的距離倒序隊列Rank(Pt,G),并對每個Pt設定一個加權函數βt對每個Pt的相似度分值Simm(Pt,G)進行加權,計算出再排序后的相似度分值結果Simm'(Q,G)表述為:
不同于文獻[4],令 βt=(Simm(Pt,G)+t+1)-1,以平滑相似度增量。根據圖3中重新計算的Simm'(Q,G)值,排列出最終相似度序列Rank'(Q,G)。
⑥最終采用最近鄰算法獲取識別結果。
圖3 再排序方法示意圖Fig.3 Schematic diagram of re-rank step
測試車輛數據集由4個不同路口監(jiān)控云臺采集(安裝位置見圖3),分別以30°為一個間隔角度,每2 h拍攝同一角度視頻,獲取從正面至背面共計7角度mp4格式視頻圖像。最后以10 s為一個間隔,從視頻中提取出共計20160張3840×2176復雜場景多車輛圖片集T。由于數據采集時充分考慮到大部分數據集碰到的正樣本數為零的問題,故設計監(jiān)控云臺安裝位置于環(huán)路各出口路段,如圖4所示,無論從任何路口進入環(huán)路,同一車輛圖像被監(jiān)控1~4捕獲的次數均為2(重復進入路段車輛除外)。將T中提取出像素大于128的可識別車輛共計45742輛記為D,隨機選擇80% 生成訓練集Dtrain,20% 生成訓練集Dtest。
圖4 4個監(jiān)控云臺安裝位置圖示Fig.4 Installation positions of 4 monitors for data collection
表1比較了使用本文方法的基礎特征和其他業(yè)界常用方法獲取的第一位(Rank1)識別正確率。由于許多原有方法實驗結果往往針對同一尺度目標,故可自適應不同目標尺度變化的本文方法,與其他文獻常用的基于基礎特征、部件特征及融合特征的其他方法相比,其Rank1值比第二名冒泡銀行(Bubble Bank,BB)算法[13]仍高出 3.85 個百分點,說明本文算法在標定點方案選擇、基礎特征提取方面是正確有效的。
表1 幾種特征提取算法的Rank1識別正確率比較Tab.1 Comparison of Rank1 accuracy of several feature extraction algorithms
表2采用了同樣的特征提取和聚類方法,針對距離度量環(huán)節(jié)分析數據庫D中采用KISSME和再排序組合方法的效果,并與多個經典度量方法進行了比較。結果表明,本文算法更能適應目標大小不一、姿態(tài)不同的復雜環(huán)境目標的識別需求,添加再排序方案的改進KISSME算法比貝葉斯再訪問算法,在Rank1和Rank20的結果上有3.14和4.16個百分點的提升。
圖5為在對D中數據進行目標大小歸一化處理后的同尺度D'數據集中,分別比較了混合各姿態(tài)樣本的本文自適應識別結果和單獨取出同一姿態(tài)樣本獲取的Rank1和Rank20的值。為了便于區(qū)分,本文按角度間隔將其分類成7類。其中算法在Rank1低于各角度平均值59.80%,而在Rank20中高于各角度平均值93.58%,符合預期,驗證了算法適應位姿變化的魯棒性。同時發(fā)現,有別于以往多數方法在不同位姿識別率變化較大的情況[11,13],算法在各個分角度表現得較為均衡,且最高識別率集中在0°,30°,60°三個角度。究其原因,方法在側面90°圖像增加標定點的策略豐富了樣本的特征取值。
表2 幾種算法的識別正確率比較Tab.2 Comparison of accuracy of several algorithms
圖5 基于同尺度數據集D'上的Rank1和Rank20識別率比較Fig.5 Comparison of Rank1 and Rank20 accuracybased on same-scaled target dataset D'
最后,本文配置CPU為Intel CPU E3-1231 3.4 GHz,GPU為32G NVIDIA GeForce GTX TITAN X的服務器,在Matlab 2016a環(huán)境下進行算法測試,其比對單張128~576像素圖片(圖片根據目標截取,大小不一,要求為128像素以上)平均耗時為0.81 s,而冒泡銀行(BB)算法特征提取與貝葉斯再訪問組合算法耗時為0.84 s,算法在獲得更高識別率的情況下,總體耗時更優(yōu)。在真實應用中,以每路高清攝像頭每秒生成2張1920×1080大場景圖片,每張平均可提取15個有效車輛目標進行數據量估算,算法可實現對40路攝像頭拍攝圖像的實時分析,在包含前期目標識別、提取等算法耗時的情況下,整體應用響應時間不超過3 s,實現了復雜場景下十分有效的車輛再識別應用。
本文介紹了一種基于BoVW模型的車輛再識別算法,在原有BoVW模型上采用了對于目標圖像大小、位置、角度的變化都有較強魯棒性的基于部件的中級特征,以及能對差別細微的不同車輛進行較好識別的基于簡單再排序的改進KISSME方法。該方法標記量、算法時耗適中,識別率較好,在后面的實驗中將增加數據集的擴展、實現自動標記,以及在增加數據的基礎上進一步探索深度學習網絡與距離度量的結合應用。