錢華明,王帥帥,王晨宇
哈爾濱工程大學(xué) 自動化學(xué)院,黑龍江 哈爾濱 150001
行人重識別是指利用計算機視覺技術(shù)來判斷攝像機拍攝的不同行人圖像或視頻中同一身份行人的處理過程。當前行人重識別主要包括特征表示和相似度計算2 個階段。研究發(fā)現(xiàn),當前監(jiān)控視頻中的行人圖像在尺度、視角和光照不同時有很大的變化[1],這些變化導(dǎo)致即使是同一個行人的圖像仍然有較大的差別。如何更好地描述行人的特征成為行人重識別技術(shù)關(guān)鍵的一步。
在特征表達方面,文獻[2]采用整體特征進行重識別,并在數(shù)據(jù)集上得到驗證;L.Bazzani 等[3]采用了顏色特征進行識別,并隨機選取了視頻幀來處理多幀圖像,準確率有了很大提高;文獻[4]把圖像的空間直方圖作為整體特征,將HOG 特征作為局部特征,然后將二者進行融合;Liu Chunxiao等[5]將加博變換(Gabor)特征和局部二值模式(local binary patterns,LBP)等綜合起來表述行人圖像;文獻[6]提出的局部對稱積累特征提升了視角變化的魯棒性;隨著深度學(xué)習(xí)的的發(fā)展,文獻[7]對圖像采用深度學(xué)習(xí)的方法來提取行人特征,極大提高了行人重識別的精度。
針對現(xiàn)有重識別算法存在的不足,本文采用新的特征融合算法來進行重識別。同時為了提高較大數(shù)據(jù)量下行人檢測的效率,提出了先進行預(yù)識別的策略。因為使用單個特征不能很好地描述行人,多種特征結(jié)合才能提高識別效果?,F(xiàn)擬采用多個特征融合的方法,使用新的特征融合策略,將低級特征與中級特征結(jié)合在一起,然后進行相似度計算,得到最終識別結(jié)果。
在實際監(jiān)控視頻中,不同監(jiān)控攝像頭拍攝參數(shù)不同、環(huán)境條件和光照條件也有很大的改變等,這導(dǎo)致即使是同一個人,在不同的監(jiān)控設(shè)備上拍的照片會有很大的差別,這給重識別精度帶來了影響。為了更準確的檢測,本文采用的行人圖像尺寸都設(shè)為128 pix×48 pix(簡寫為128×48)。然后使用Retina-Cortex(Retinex)算法[8]對檢測的行人圖片進行處理。本文采取帶色彩恢復(fù)的多尺度視網(wǎng)膜增強(multi-scale retinex with color restoration,MSRCR)算法來處理圖片。此算法可以增強顏色特征,并且使圖像顏色不失真。本文使用5 和20這2 種尺度。圖1 為算法處理前的圖像,圖2 為增強后的圖像,可以看出:經(jīng)過圖像增強處理后,行人圖像的顏色更加鮮明,圖像更加清晰,視覺效果得到提升。
圖1 處理前行人圖像
圖2 處理后行人圖像
為了精確地識別出目標行人,同時使用中級顏色特征CN 和一些低級特征綜合描述行人。其中低級特征包括整體特征和局部特征,整體特征即對整個行人圖像進行特征提取,能夠得到圖像的整體信息。行人圖像因拍攝環(huán)境、亮度、光照等因素不同,特別是在人流量大的車站、商場等,行人很容易受到遮擋、變形的影響,這種情況下無法提取圖像的整體信息,導(dǎo)致特征匹配誤差很大。為了解決這個問題,本文選取一些局部特征得到行人圖像的局部信息,減小行人因遮擋、形變帶來的誤差。
整體特征:經(jīng)過研究,本文選取HSV 顏色特征和HOG 特征來提取行人的整體特征。它們在圖像領(lǐng)域有很多的應(yīng)用,HSV 特征能夠較好地表示行人外觀的顏色特征,可以彌補光照變化產(chǎn)生的不足[9];HOG 特征保證了即使行人有一些細微的身體動作但不影響檢測結(jié)果,在與行人有關(guān)的識別中得到了很多應(yīng)用。
局部特征:SILTP 特征是對傳統(tǒng)LBP 特征的優(yōu)化[10],SILTP 特征改進了傳統(tǒng)LBP 特征對圖像噪聲敏感的缺點,使之不僅有尺度不變性,同時減小了圖像噪聲。
CN 顏色特征屬于低緯度的中級特征,對遮擋、光照等有魯棒性。它生成一個顏色命名空間,使我們可以使用簡單的語義屬性來判斷顏色。
為了提高行人的檢測效率,提出了預(yù)識別的方法,分別檢測目標圖像的上身與下身衣服顏色,再將符合條件的圖像進行更深一步的檢測。
語義屬性屬于中級特征,在解決行人重識別問題中有很強的判別性。本設(shè)計擬采用簡單的語義屬性進行行人預(yù)識別,用來提高較大數(shù)據(jù)量下行人重識別的檢測效率。
傳統(tǒng)的CN 特征是采用概率潛語義分析(probabilistic latent semantic analysis, PLSA)算法在一些圖片上進行學(xué)習(xí)得到的,算法較復(fù)雜且不易實現(xiàn)。本文通過計算顏色直方圖表述行人特征。首先將行人圖像的顏色量化到常用的9 種具有代表性的顏色,然后計算目標的顏色直方圖。
本文采用了一種非線性量化方法。針對HSV 色彩空間的特點,將HSV 空間劃分為黑、灰、白、紅、黃、藍、綠、青、紫等9 種基本顏色。為了更好地從HSV 空間劃分出上述9 種顏色各自所屬的顏色區(qū)域,采用產(chǎn)生式顏色表構(gòu)建方法,如表1 為顏色對照表的一部分。根據(jù)實際需要,把HSV 空間劃分成紅、黃、綠、青、藍、紫、黑、灰、白9 種顏色,并用不同的數(shù)值將其標記,一個編碼對應(yīng)一種顏色,結(jié)果如表2 所示。
表1 顏色對照表(V=40-45)
表2 顏色標記
然后按照以下步驟操作:
1)使用亮色分離策略分割HSV 顏色空間,按照明度V分量值的大小分成多個色盤Vi(i=1,2,…,m);
通過上述3 個步驟即可確定出每種顏色各自的H、S、V這3 個分量的取值范圍。當V≤40 時,亮度太低,無論色調(diào)H和飽和度S的值如何變,該區(qū)域都因為亮度太低呈現(xiàn)黑色;40<V≤220 且飽和度滿足S<35 時,將該區(qū)域設(shè)為灰色;當V>220 且飽和度滿足S<25 時,該區(qū)域視為白色。進行人為標記得到如表1 所示的顏色對照表。通過顏色對照表就可以得到HSV 空間的一個像素點到9 種顏色的映射,即將一個點映射成為一個9 維向量,利用此映射就可以對圖像進行編碼。
從表1 可知,每個色環(huán)的H值并不連續(xù),有些中間區(qū)域用人眼也很難確定屬于某種顏色。本文采取模糊量化的策略,分別計算與兩端相鄰顏色的匹配率,就能夠估計該區(qū)域?qū)儆诟黝伾惖母怕?,然后進行顏色直方圖計算。
通過查表,可以將一個像素點n同C個顏色類別進行關(guān)聯(lián):u(n)={u1(n),u2(n),…,uC(n)},u(n)是像素點n屬于各個顏色類別的隸屬度向量,可以看出該向量可以較好地對行人進行描述,同時可以作為一種語義特征進行索引。圖3~5分別為行人圖像、Plsa 算法處理后圖像和本實驗算法處理后圖像。
圖3 行人圖像
圖4 Plsa 算法處理圖像
圖5 HSV 非線性量化算法處理圖像
本文根據(jù)行人上、下半身的主顏色信息進行行人預(yù)識別。首先選取如圖6 所示的行人區(qū)域,通過遍歷A、B 區(qū)域內(nèi)的各個像素點來得到其在HSV 空間的3 個分量值,然后根據(jù)表1 采用的量化策略,計算Ci的總體數(shù)量,得到主顏色,完成了2 個區(qū)域主顏色的識別。
圖6 行人預(yù)識別分區(qū)示例
本文提出的行人預(yù)識別步驟如下:
1)計算模板圖像A、B 部分的主顏色,分別記為QA、QB。
2)計算待檢測行人上身的主顏色,記為TA,當TA=QA時,說明2 張圖像的上身區(qū)域主顏色一致,繼續(xù)執(zhí)行步驟3)來計算下身區(qū)域;否則執(zhí)行步驟4)。
3)計算下身區(qū)域B 的主顏色,記為TB。與模板圖像的主顏色進行比較,如果TB=QB,說明2 張圖像B 區(qū)域顏色一致,我們將該圖像設(shè)為待選擇目標。
4)下一幀圖像輸入,返回步驟2)重新識別新圖像。
行人預(yù)識別步驟流程如圖7 所示。
圖7 行人預(yù)識別步驟流程
由于環(huán)境、光照、姿勢等因素的影響,單一特征不能很好地表述行人,因此本文將多種特征進行融合[11]來解決行人姿態(tài)變化、光照變化等產(chǎn)生的影響。我們采用直接串聯(lián)的方式對提取的特征進行融合。假設(shè)t1、t2、t3、t4分別表示提取到的特征矩陣。則將它們?nèi)诤虾蟮奶卣鳛門=[t1t2t3t4]。
首先采用現(xiàn)有算法提取HOG 整體特征[12]。同時本文選擇使用滑動窗口法來提取圖像的局部特征和HSV 顏色特征。首先將每一張行人圖像按照大小水平分割分為30 個區(qū)域,每一塊尺寸為8×48,我們采用8 pix×8 pix(簡寫為8×8)的窗口在行人圖像上依次滑動。將步長定為4,得到10 個重疊塊。
在文獻[6]中我們得知當bin 取10 時,效果最差,是由于bin 為10 時誤差很大;當bin 取40 時,會因為bin 太大發(fā)生過擬合;當bin 為25 時,效果最好。因此我們選擇bin=25 來進行實驗。我們對每個塊分別提取9 個維度的CN 空間特征,其中每個維度分成25 個bin,最后得到225 維的CN顏色特征直方圖。提取HSV 空間特征,HSV 特征有H、S、V3 個通道,將每個通道分為8 個bin,得到一個512 維的顏色直方圖。
直方圖提取完成后,計算得到每個塊的直方圖的維度為225 維的CN 特征加上512 維的HSV特征,再加上162 維的紋理特征,得到一個899 維的特征。我們將對應(yīng)的維度相加,把區(qū)域中9 個899 維的直方圖合為1 個。同時行人圖像經(jīng)常存在著尺度變化,為了能夠更準確地表述圖像,本文對行人圖像進行2 次縮小采樣。分別縮小2 倍和4 倍。同時在HOG 特征中也按照相應(yīng)的倍數(shù)變化。這樣總共進行了3 個尺度大小的直方圖提取和區(qū)域劃分,如圖8 所示。原圖像尺寸為128×48,2 次縮小后分別變成64×24 和32×12 的大小,n×n從8×8 縮小后變?yōu)?×2 和4×4。
父親說,祖父早年離開家鄉(xiāng),遠赴南洋經(jīng)商,但他一直保持著中國的傳統(tǒng),時時告誡子女要做一個堂堂正正的中國人。對于祖父的遺訓(xùn),父親似乎一點也不敢怠慢,終其一生,他都奉為圭臬。
圖8 直方圖提取
分別提取HSV、CN 等特征后,經(jīng)過計算,每張行人圖像的特征維度共899×(30+9+5)=39 556維,為了提高效率,使用主成分分析法(principal component analysis,PCA)對高維度特征進行降維。最后進行特征融合。
在得到了圖像的融合特征后,我們要計算每個待檢測圖像與原圖像的相似度,并對結(jié)果進行排序來找到目標圖像。度量學(xué)習(xí)可以很好地完成這個任務(wù)。
2.5.1 最大間隔近鄰算法
最大間隔近鄰算法( large margin nearest neighbor,LMNN)主要思想是建立一個k近鄰的邊界,如果不同類別進入該邊界,將對其處罰[13],形式如下
式中xi、xj、xl為不同的類。我們的主要目標是將相同樣本的長度減小,將不同樣本的長度變大;就是將類內(nèi)目標拉在一起,推開類間的目標。對于拉近類間的距離,有
對于拉開類間的的距離,其公式為
式中:[*]+=max(z,0)函數(shù),yil表示類別標簽,當xi與xl類別不同時為0,相同時為1。
因此對于式(1)、(2)處理后,得到最后的度量函數(shù):
式中u為權(quán)值系數(shù),u∈[0, 1]。
交叉二次元判別分析(cross-view quadratic discriminant analysis, XQDA)方法是對KISSME 算法延伸得到的,主要采用高斯模型推導(dǎo)出馬氏距離[14]。這個方法不僅降低了特征維度,考慮了距離度量,同時保持了簡單原則。
通過使用貝葉斯規(guī)則和對數(shù)似然比檢驗,決策函數(shù)可以簡化為
式中:ΣE=WEΣtW,Σt=WtΣtW分別是2 種不同的類別樣本的協(xié)方差矩陣。
定義其子空間W,同時為了能夠更好地把樣本分開,采用了以下的優(yōu)化方案:
即最后的優(yōu)化公式,使其獲得了最大的子空間W。對于這個度量學(xué)習(xí)方法,不僅對特征進行了降維,同時還進行了度量學(xué)習(xí)。
本文選用了3 個數(shù)據(jù)集來測試新的特征融合算法,分別是iLIDS、VIPer、3DPeS 數(shù)據(jù)集,這幾個數(shù)據(jù)集都不同程度地存在光照變化,行人環(huán)境變化、相機視角不同的問題,適合用來驗證本文提出的特征融合算法。同時為了提高檢測的準確性,本文將實際采集的30 對行人數(shù)據(jù)放入這3 個數(shù)據(jù)集中進行實驗。
由于拍攝環(huán)境不同,不同的數(shù)據(jù)集差別也很大。iLIDS 數(shù)據(jù)集中的行人圖像來自機場,由于行人很多,所以很多行人圖像受到不同程度的遮擋;VIPer 數(shù)據(jù)集中圖像的光照變化和行人姿態(tài)變化較大;3DPeS 數(shù)據(jù)集在視角方面有很大的差別。
在行人重識別算法測試中,累計匹配曲線(cumulative match characteristic, CMC)曲線經(jīng)常被用來描述算法的性能[15]。其中第一匹配率最為重要,它是指在行人圖像庫中第一次就出現(xiàn)目標行人圖像的概率。它的大小直接決定著算法性能的好壞。本文也采用這種曲線來衡量算法性能。
本文的實驗測試是在Microsoft Visual Studio 17.0 和OpenCV3.4.1 工具上進行的。
實驗時,為了得到更好的效果,選用不同樣本數(shù)據(jù)集進行多次測試,最后計算多次的實驗結(jié)果取平均值,得到最終的識別率。
3.2.1 融合特征有效性分析
在VIPeR 數(shù)據(jù)集上分別使用單一HSV 特征、CN 和SILTP 特征、HOG 和HSV 特征及本文融合的特征進行行人相似性度量,此處選取最大間隔近鄰算法(LMNN)進行測試。測試結(jié)果如圖9所示。
圖9 不同特征CMC 曲線
由圖9 可知,當只有一種特征時,效果最差;當采用2 種特征時,識別率得到了提升;當使用多種特征結(jié)合的時候識別率更好。驗證了本算法的有效性。
3.2.2 融合特征適用性分析
為了更好地驗證新的融合特征的效果,把新融合特征與LMNN 和XQDA 算法使用的原特征在多個數(shù)據(jù)集進行比較。其中A代表LMNN 算法原本使用的特征,B代表XQDA 算法原本的特征,M代表本文融合的新的特征。
隨機從iLIDS 數(shù)據(jù)集中選取60 個行人圖片用來測試,然后在剩下的每個行人的圖片中隨機選取一張組成測試集,再隨機選取一張組成訓(xùn)練集。同理,在另外2 個行人數(shù)據(jù)集也進行實驗。
由表3 可知,在iLIDS 數(shù)據(jù)集測試時,當使用LMNN 度量算法時,本文采用新的融合算法得到的特征Rank1 比原特征的識別率高了2.4%,Rank5高了5.5%,Rank10 和Rank20 也有提升。同時,由表中數(shù)據(jù)可以看出,當使用VIPeR 數(shù)據(jù)集和3DPes數(shù)據(jù)集測試時,本文采用的新特征的識別率都要高于原來的特征提取方法。說明了本文提取的特征的有效性。
表3 LMNN 在不同數(shù)據(jù)集上的性能比較
使用XQDA 度量算法時,在iLIDS 數(shù)據(jù)集上的Rank1 比原特征識別率高了3.6%,Rank5 高了4.4%,Rank10 和Rank20 也有明顯的提升。如表4所示。同理,在另外2 個數(shù)據(jù)集上的測試結(jié)果也表明識別率得到了提高。
表4 XQDA 算法在不同數(shù)據(jù)集上的性能比較
如圖10 對比了選用的2 個度量學(xué)習(xí)算法的識別率??梢钥闯?,在3 個數(shù)據(jù)集上XQDA 算法的識別率都高于LMNN 算法,可知本文提出的新的融合特征結(jié)合XQDA 算法,識別率更高。
圖10 LMNN 與XQDA 在各數(shù)據(jù)集上的CMC 曲線
上面的實驗表明了在本文提出的行人重識別算法在行人圖像光照變化、行人姿態(tài)變化和遮擋等情況都有良好的效果,體現(xiàn)了本算法的有效性和適用性。
1)針對行人衣著顏色特征提出了行人預(yù)識別的策略,采用了新的HSV 空間非線性量化策略構(gòu)建顏色命名空間,能夠更快地去除無關(guān)行人圖像,在待檢測圖像數(shù)據(jù)量比較大時能夠提高檢測效率,有利于進行實際應(yīng)用。
2)采用中級CN 特征和低級的全局特征、局部特征相結(jié)合的方法,融合得到的新特征更好地描述行人圖像,解決了行人圖像因光照、視角變化等影響識別率的問題。使用2 種度量學(xué)習(xí)算法在3 個數(shù)據(jù)集上進行了相似度計算,在使用LMNN算法時,平均Rank1 識別率提高了2.4%;使用XQDA 算法時,平均Rank1 識別率提高了3.3%,從準確率角度講,XQDA 算法更適合本文融合的新特征。
實驗結(jié)果表明了該算法能夠提高重識別精度,并適用于多種場合。在后續(xù)的研究中,將把行人重識別與行人檢測、跟蹤相結(jié)合,構(gòu)建一個完整的行人重識別系統(tǒng)進行實際應(yīng)用。