陳首兵,王洪元,金 翠,張 瑋
(1.常州大學(xué) 信息科學(xué)與工程學(xué)院,江蘇 常州 213164; 2.常州信息職業(yè)技術(shù)學(xué)院 電子與電氣工程學(xué)院,江蘇 常州 213164)(*通信作者電子郵箱hywang@cczu.edu.cn)
行人重識(shí)別(Person Re-Identification, Re-ID)[1]通??梢员灰暈橐粋€(gè)圖像檢索問題,即從不同的相機(jī)中來匹配行人。給定一張查詢的行人圖像,行人重識(shí)別旨在從非重疊攝像機(jī)視角下的行人圖像庫中找出與該行人是同一個(gè)行人的圖像。由于攝像機(jī)捕獲的行人圖像受到光照、姿勢(shì)、視角、圖像分辨率、相機(jī)設(shè)置、遮擋和背景雜亂等影響,會(huì)導(dǎo)致同一個(gè)行人圖像發(fā)生很大的變化,因此行人重識(shí)別仍是計(jì)算機(jī)視覺中的一項(xiàng)具有挑戰(zhàn)性的任務(wù)。
特征表示和度量學(xué)習(xí)是很多現(xiàn)有的行人重識(shí)別文獻(xiàn)的主要方法。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)在學(xué)習(xí)特征表示方面或深度度量[2-8]方面已經(jīng)表現(xiàn)出優(yōu)勢(shì)。如圖1所示,有兩種CNN模型,即識(shí)別模型和驗(yàn)證模型。這兩種模型在訓(xùn)練的輸入、特征提取及損失函數(shù)方面都有所不同。1993年,Bromley等[6]首先使用驗(yàn)證模型在簽名驗(yàn)證中進(jìn)行深度度量學(xué)習(xí),最近,研究人員開始將驗(yàn)證模型應(yīng)用于行人重識(shí)別,重點(diǎn)關(guān)注數(shù)據(jù)增強(qiáng)和圖像匹配; Yi 等[7]將行人圖像分成三個(gè)水平部分,并訓(xùn)練三部分CNN來提取特征; 后來,Ahmed等[9]通過添加一個(gè)不同的匹配層來提升驗(yàn)證模型; Wu等[10]使用更小的過濾器和更深的網(wǎng)絡(luò)來提取特征; Varior等[11]將CNN與一些門函數(shù)相結(jié)合,其目的是自適應(yīng)地聚焦于輸入圖像對(duì)的相似部分,但因?yàn)椴樵儓D像必須與圖庫中的每幅圖像配對(duì)以通過網(wǎng)絡(luò),所以計(jì)算效率低下。最近,不少研究者們已經(jīng)將重排序方法[12-14]用到行人重識(shí)別中。Ye等[13]將全局和局部特征的共同最近鄰組合為新的查詢,并通過結(jié)合全局和局部特征的新排序表來修改初始排序表; 文獻(xiàn)[14]利用k最近鄰集合來計(jì)算不同基線方法的相似度和相異度,然后進(jìn)行相似度和相異度的聚合來優(yōu)化初始排序列表。然而,由于通常包含錯(cuò)誤匹配,因此直接使用k最近鄰進(jìn)行重排序可能會(huì)限制整體性能。為解決這個(gè)問題,本文將k互近鄰方法用到行人重識(shí)別中來進(jìn)行重排序。
本文提出一種用于Re-ID的深度學(xué)習(xí)孿生網(wǎng)絡(luò),它基于CNN識(shí)別模型和CNN驗(yàn)證模型,可以同時(shí)計(jì)算識(shí)別損失和驗(yàn)證損失。該孿生網(wǎng)絡(luò)可以同時(shí)學(xué)得一個(gè)具有辨別力的CNN特征和相似性度量,因此可以提高行人檢索準(zhǔn)確率,本文還將重排序加入到行人重識(shí)別中,通過k互近鄰方法降低圖像錯(cuò)誤匹配情況,最后將歐氏距離和杰卡德距離(Jaccard distance)加權(quán)來對(duì)排序表進(jìn)行重排序,在兩大行人重識(shí)別數(shù)據(jù)集上的實(shí)驗(yàn)表明重排序可以進(jìn)一步提高行人匹配率。
圖1 驗(yàn)證和識(shí)別模型之間的區(qū)別
驗(yàn)證模型將行人重識(shí)別視為一個(gè)二類識(shí)別任務(wù),將一對(duì)圖像作為輸入并判斷它們是否是同一個(gè)行人。很多先前的文章把行人重識(shí)別看作二分類任務(wù)或相似性回歸任務(wù)[2-3]。給定一個(gè)標(biāo)簽s∈{0,1}, 0表示不是同一個(gè)行人,1表示同一個(gè)行人。驗(yàn)證網(wǎng)絡(luò)將同一個(gè)行人的兩幅圖像映射到特征空間中的附近點(diǎn), 如果圖像是不同的人,點(diǎn)就相隔較遠(yuǎn)。驗(yàn)證模型中的主要問題是只使用了弱的行人重識(shí)別標(biāo)簽,沒有考慮所有標(biāo)簽信息。
識(shí)別模型將行人重識(shí)別視為一個(gè)多類識(shí)別任務(wù),把一幅圖像作為輸入并預(yù)測(cè)其行人身份,其充分利用了Re-ID標(biāo)簽,并被用于特征學(xué)習(xí)[15]。識(shí)別模型直接從行人輸入圖像中學(xué)習(xí)非線性函數(shù),并在最后一層后使用交叉熵?fù)p失。在測(cè)試期間,從全連接層提取特征,然后進(jìn)行歸一化。兩幅圖像的相似性是通過其歸一化的CNN特征之間的歐氏距離來度量的。識(shí)別模型的主要缺點(diǎn)是沒有考慮圖像對(duì)之間的相似性度量。
重排序在一般的實(shí)例檢索中已經(jīng)得到大量研究[4-5]。以前的一些論文利用了最初排序表中排名最高的圖像之間的相似性關(guān)系,例如最近鄰[16]。如果返回的圖像排在查詢圖像的k個(gè)最近鄰之內(nèi),則它可能是真正的匹配,可以用于隨后的重排序。不過,錯(cuò)誤匹配的圖像也可能包含在查詢圖像的k近鄰中, 因此,直接使用top-k排序的圖像可能會(huì)在重排序中引入噪聲并影響的最終結(jié)果。
k互近鄰[4-5]是解決上述問題的有效方法。如果兩張圖片同時(shí)互為k近鄰,那么它們就是k互近鄰,即當(dāng)其中一張圖片作為查詢圖片時(shí),另一張圖片就排在其最靠前的k個(gè)位置, 因此,k互近鄰提供了一個(gè)更嚴(yán)格的匹配規(guī)則。重排序方法的框架如圖2所示,給定一張查詢行人圖片和一個(gè)行人圖庫,為每個(gè)行人提取外貌特征和k互近鄰特征。然后再分別計(jì)算圖庫中每個(gè)行人與查詢行人的原始距離d和杰卡德距離dJ,將d和dJ結(jié)合起來得到最終距離,使用最終距離來進(jìn)行重排序得到新的排序表。
圖2 重排序框架
本文的網(wǎng)絡(luò)是一個(gè)卷積孿生網(wǎng)絡(luò),結(jié)合了驗(yàn)證模型和識(shí)別模型。圖3簡(jiǎn)要說明了網(wǎng)絡(luò)的框架, 網(wǎng)絡(luò)包括2個(gè)ImageNet預(yù)訓(xùn)練的CNN模型ResNet50[17],3個(gè)卷積層,1個(gè)平方層和3個(gè)損失,受識(shí)別標(biāo)簽t和驗(yàn)證標(biāo)簽s監(jiān)督。給定n個(gè)尺寸為224×224的圖像對(duì),使用兩個(gè)完全相同的ResNet50模型作為非線性特征函數(shù)并輸出4 096維特征f1、f2。f1、f2分別用于預(yù)測(cè)兩個(gè)輸入圖像的行人身份t,用平方層來比較高維特征f1、f2,然后f1、f2共同地預(yù)測(cè)驗(yàn)證標(biāo)簽s。最后,softmax損失被應(yīng)用于三個(gè)目標(biāo)函數(shù)。
圖3 本文模型結(jié)構(gòu)
在框架中有兩個(gè)ResNet50,它們共享權(quán)重并同時(shí)預(yù)測(cè)輸入圖像對(duì)的兩個(gè)身份標(biāo)簽。為了在新數(shù)據(jù)集上對(duì)網(wǎng)絡(luò)進(jìn)行微調(diào),本文用卷積層替換了預(yù)訓(xùn)練的CNN模型ResNet50的最后全連接層(1 000-維)。Market1501中751個(gè)行人用于訓(xùn)練,所以這個(gè)卷積層有751個(gè)大小為1×1×4 096的內(nèi)核,該內(nèi)核連接到ResNet50的輸出f,然后再添加一個(gè)softmax單元來歸一化輸出,最終張量的大小是1×1×751。ReLU激活函數(shù)沒有加在卷積之后。類似于傳統(tǒng)的多類別識(shí)別方法,本文使用交叉熵?fù)p失進(jìn)行行人身份預(yù)測(cè),公式如下:
(1)
(2)
以前的一些論文在中間層包含了一個(gè)匹配函數(shù)[2,8,10],本文直接比較了高維特征f1、f2用于相似性評(píng)估。來自微調(diào)CNN的高維特征已表現(xiàn)出了辨別能力[18],其比中間層的特征更為緊湊,所以在本文的模型中,行人描述符f1、f2在識(shí)別模型中直接受到驗(yàn)證損失的監(jiān)督。如圖3所示,本文用平方層(非參數(shù)層)來比較高維特征,平方層表示為fs=(f1-f2)2,其中f1、f2是4 096維特征,fs是平方層的輸出張量。
(3)
(4)
本文沒有使用對(duì)比損失:一方面,對(duì)比損失作為回歸損失,讓同類特征盡可能地接近, 由于在行人重識(shí)別領(lǐng)域每個(gè)行人的訓(xùn)練次數(shù)有限,所以可能會(huì)使模型過擬合;另一方面,在隨機(jī)位置引入零值的dropout[19],在對(duì)比損失前不能應(yīng)用于特征,但本文模型中的交叉熵?fù)p失可以用dropout來正則化模型。
給定一個(gè)查詢行人圖片p和包含N張圖片的圖庫G,G={gi|i=1,2,…,N},兩個(gè)行人p和gi之間的原始距離可以用歐氏距離來度量,可用式(5)表示:
(5)
(6)
其中:|·|表示集合中候選行人的個(gè)數(shù)。k互近鄰S(p,k)定義如下:
S(p,k)={(gi∈M(p,k))∩(p∈M(gi,k))}
(7)
與k近鄰相比,k互近鄰與p更相關(guān)。然而由于照明、姿勢(shì)、視角及遮擋的變化,可能有些正樣本既不在k近鄰里,也不在k互近鄰里。針對(duì)這個(gè)問題,采用把S(p,k)里每個(gè)候選人的k/2互近鄰加到一個(gè)更魯棒的集合S*(p,k)里,用式(8)表示:
S*(p,k)←S(p,k)∪S(q,k/2); ?q∈S(p,k)
(8)
由文獻(xiàn)[14]可得,如果兩張圖片相似,那么它們的k互近鄰集合會(huì)重疊,即在集合里有一些相同的樣本。相同的樣本越多,這兩張圖片越相似。p和gi之間的新距離可以由它們的k互近鄰特征的杰卡德度量計(jì)算得到,杰卡德距離(Jaccard distance)可以用式(9)表示:
(9)
其中|·|表示集合中候選行人數(shù)。如果S*(p,k)和S*(gi,k)共享更多元素,gi更可能是正確的匹配。結(jié)合原始距離和杰卡德距離來對(duì)初始排序表進(jìn)行重排序,最終的距離d*用式(10)表示:
d*(p,gi)=(1-λ)dJ(p,gi)+λd(p,gi)
(10)
其中:λ∈[0,1],λ表示懲罰因子,懲罰遠(yuǎn)離p的gi。當(dāng)λ=0,僅考慮杰卡德距離; 當(dāng)λ=1,僅考慮原始距離,λ的取值在實(shí)驗(yàn)部分有分析說明。最后,得到的重排序后的排序表L*(p,G)按照最終距離的升序排序。
本文使用微調(diào)的預(yù)訓(xùn)練CNN模型ResNet50在兩大行人重識(shí)別數(shù)據(jù)集Market1501[3]和CUHK03[2]上進(jìn)行實(shí)驗(yàn)。
數(shù)據(jù)集 Market1501包含1 501個(gè)行人的32 668個(gè)帶標(biāo)簽的邊界框。每個(gè)行人的圖像最多由6臺(tái)攝像機(jī)拍攝, 邊界框直接由可變形零件模型(Deformable Part Model, DPM)[20]檢測(cè)而不是使用手繪邊界框,這更接近現(xiàn)實(shí)的場(chǎng)景。數(shù)據(jù)集被分為訓(xùn)練集和測(cè)試集,訓(xùn)練集包含751個(gè)行人的12 936個(gè)裁剪圖像,測(cè)試集包含750個(gè)行人的19 732個(gè)裁剪圖像。在測(cè)試中,使用3 368張包含750個(gè)行人的手繪圖像作為查詢集來識(shí)別測(cè)試集上的正確行人身份。對(duì)于每個(gè)查詢圖像,旨在從19 732個(gè)候選圖像中檢索出正確匹配的圖像。
CUHK03數(shù)據(jù)集包含1 467個(gè)行人的14 097張?jiān)谙愀壑形拇髮W(xué)校園里收集的裁剪圖像。每個(gè)行人由兩個(gè)相機(jī)所拍攝,且每個(gè)行人在每個(gè)相機(jī)中平均具有4.8張圖像。數(shù)據(jù)集提供了兩種邊界框,分別是由手動(dòng)標(biāo)注的邊界框和由DPM檢測(cè)到的邊界框,在DPM檢測(cè)到的邊界框上評(píng)估本文的模型,這更接近現(xiàn)實(shí)的情況。數(shù)據(jù)集劃分為1 367個(gè)行人的訓(xùn)練集和100個(gè)行人的測(cè)試集,重復(fù)20次隨機(jī)分割用于評(píng)估。表1列出了兩大數(shù)據(jù)集的具體信息。
表1 實(shí)驗(yàn)中使用的數(shù)據(jù)集的詳細(xì)信息
評(píng)價(jià)指標(biāo) 本文使用兩個(gè)評(píng)價(jià)指標(biāo)來評(píng)估所有數(shù)據(jù)集上的行人重識(shí)別方法的性能: 第一個(gè)評(píng)價(jià)指標(biāo)是累積匹配特征(Cumulative Match Characteristic, CMC)曲線,把行人重識(shí)別看作是一個(gè)排序問題,使用Rank1來描述,Rank1指在圖庫中第一次就成功匹配的概率,就是排在排序表中第一位的圖片是正確結(jié)果的概率,通過實(shí)驗(yàn)多次取平均值得到; 第二個(gè)評(píng)價(jià)指標(biāo)是平均精度均值(mean Average Precision, mAP),它是平均精度(Average Precision, AP)的均值,把行人重識(shí)別看作是一個(gè)目標(biāo)檢索問題[3],使用mAP來度量。AP和mAP的公式如下所示:
(11)
其中:r是檢索圖像的排序號(hào);P(r)是已經(jīng)檢索的圖像中相關(guān)的圖像占的比例;rel(r)是檢索圖像的排序號(hào)的二元函數(shù),是相關(guān)圖像值為1,否則為0。
(12)
其中Q是查詢的次數(shù)。
實(shí)驗(yàn)中參數(shù)k和λ是先在驗(yàn)證集中進(jìn)行測(cè)試,然后選取最好的參數(shù)在測(cè)試集上使用,畫圖時(shí)采用控制變量法。當(dāng)探討Rank1和mAP與λ的關(guān)系時(shí),保持k不變;當(dāng)探討Rank1和mAP與k的關(guān)系時(shí),保持λ不變。圖4為在Market1501上Single Query(Single Query是指使用一個(gè)行人的一張圖片作為查詢集)和Multiple Query(Multiple Query指使用一個(gè)行人的多張圖片作為查詢集)情況下λ的取值對(duì)Rank1和mAP的影響,可以看出當(dāng)λ為0.3時(shí),Rank1和mAP達(dá)到最優(yōu)值。圖5為在Market1501上k的取值對(duì)Rank1和mAP的影響,從圖中可以看出,當(dāng)k為12時(shí),Rank1和mAP取得最優(yōu)值。在CUHK03上λ和k分別為0.8和8時(shí),Rank1和mAP達(dá)到最優(yōu)值,因?yàn)閳D與Market1501中的圖類似,所以沒有在文中給出。
表2與表3分別是Single Query和Multiple Query情況下多種方法在數(shù)據(jù)集Market1501上的Rank1和mAP的比較。表2和表3中與本文方法(其中:本文方法1是將識(shí)別模型和驗(yàn)證模型進(jìn)行結(jié)合的孿生網(wǎng)絡(luò),可同時(shí)學(xué)習(xí)一個(gè)具有辨別力的CNN 特征和相似性度量,并預(yù)測(cè)兩個(gè)輸入圖像的行人身份以及判斷它們是否屬于同一個(gè)行人; 本文方法2是在方法1的基礎(chǔ)上加上了重排序方法,將歐氏距離和杰卡德距離加權(quán)來對(duì)排序表進(jìn)行重排序)比較的有DADM(Deep Attributes Driven Multi-camera)[21]、Multiregion CNN[22]、DNS(Discriminative Null Space)[23]、Gate Re-ID[11]、ResNet50-Basel[17]、PIE(Pose Invariant Embedding)[24]和SOMAnet[25]等方法。本文方法相比其他方法對(duì)Re-ID性能都有顯著提升, 如表2中本文方法1的Rank1達(dá)到80.82%,mAP達(dá)到62.30%,重排序后又分別提升了2.62個(gè)百分點(diǎn)和6.45個(gè)百分點(diǎn),明顯高于DADM和DNS等方法,其中DADM方法只使用有限數(shù)量的標(biāo)記數(shù)據(jù)逐步提高屬性的準(zhǔn)確性,使得行人屬性更具有魯棒性。
圖4 在Market1501上參數(shù)λ對(duì)Re-ID性能的影響
圖5 在Market1501上參數(shù)k對(duì)Re-ID性能的影響
表4和表5分別是在CUHK03數(shù)據(jù)集上single-shot和multi-shot環(huán)境下多種方法Rank1和mAP的比較。DeepReID[2]、IDE(ID-discriminative Embedding)[26]、DNS、IDE+XQDA(ID-discriminative Embedding+Cross-view Quadratic Discriminant Analysis)[26]、ResNet50-Basel、LOMO+XQDA(Local Maximal Occurrence Representation+Cross-view Quadratic Discriminant Analysis)[27]、S-LSTM(Siamese Long Short-Term Memory)[28]和Gate-SCNN[11]等方法與本文方法作比較。single-shot是指在gallery(圖庫)里面只有一張圖片和probe(查詢集)是同一個(gè)行人,multi-shot是指在gallery里面有多張圖片和probe是同一個(gè)人。如表4中所示,本文方法2產(chǎn)生了85.56%的Rank1和88.32%的mAP,遠(yuǎn)超過IDE和DNS等方法。
表2 Single Query情況下多種方法在數(shù)據(jù)集Market1501上的比較
表3 Multiple Query情況下多種方法在數(shù)據(jù)集Market1501上的比較
表4 CUHK03數(shù)據(jù)集single-shot環(huán)境下多種方法的比較
表5 CUHK03數(shù)據(jù)集multi-shot環(huán)境下多種方法的比較
由于驗(yàn)證模型和識(shí)別模型有各自的優(yōu)點(diǎn)和局限性,具體來講,驗(yàn)證模型提供了相似性評(píng)估,但僅使用了弱的Re-ID標(biāo)簽,沒有考慮所有的標(biāo)注信息,缺乏圖像對(duì)和其他圖像之間關(guān)系的考慮;識(shí)別模型使用了強(qiáng)的Re-ID標(biāo)簽,但沒有考慮圖像對(duì)之間的相似性度量,所以本文將這兩種模型結(jié)合起來,提出一種用于Re-ID的孿生網(wǎng)絡(luò),可以同時(shí)學(xué)得具有辨別力的CNN特征和相似性度量,因此可以提高行人檢索準(zhǔn)確率。重排序也是提高行人重識(shí)別識(shí)別率的重要一步,但是以往的k近鄰方法可能會(huì)遇到錯(cuò)誤匹配的圖像也包含在查詢圖像的k近鄰中的情況,而k互近鄰提供了一個(gè)更嚴(yán)格的匹配規(guī)則,本文使用k互近鄰方法有效地降低圖像錯(cuò)誤匹配的情況,最后將歐氏距離和杰卡德距離加權(quán)來對(duì)排序表進(jìn)行重排序。在兩個(gè)大型的行人重識(shí)別數(shù)據(jù)集Market1501和CUHK03上的實(shí)驗(yàn)結(jié)果表明,Re-ID性能都有明顯提升,超過了很多方法。如何找到更好的方法在更多的數(shù)據(jù)集上進(jìn)一步提升Re-ID匹配率將是下一步的研究工作。