梁文琦 王廣聰 賴劍煌 ,
行人再識別[1?7]是指在非重疊的攝像頭視角下檢索特定的目標(biāo)行人圖片或視頻片段,它是多攝像機(jī)跟蹤、搜索取證等重要應(yīng)用中的關(guān)鍵技術(shù),廣泛應(yīng)用于智能視頻監(jiān)控網(wǎng)絡(luò)中[8].行人再識別最初的研究方法是先設(shè)計(jì)一種能夠描述行人圖片的手工視覺特征,再建立一個魯棒的距離度量模型來度量視覺特征之間的相似性[9?15].近年來,隨著深度學(xué)習(xí)的發(fā)展,大部分研究者轉(zhuǎn)向使用深度學(xué)習(xí)來處理行人再識別問題.文獻(xiàn)[16?18]分別提出了基于分類損失、驗(yàn)證損失、三元組損失的行人再識別基本框架.為了處理行人圖像不對齊的問題,文獻(xiàn)[19?20]分別提出全局區(qū)域和局部區(qū)域的對齊方法,文獻(xiàn)[21]提出動態(tài)的特征對齊方法.為了處理攝像頭之間的差異,文獻(xiàn)[22]提出使用多組生成對抗網(wǎng)絡(luò)在同域內(nèi)的多個視角之間進(jìn)行遷移,以此縮小域內(nèi)不同視角之間的差別.為了進(jìn)一步提高識別準(zhǔn)確率,最近有很多文獻(xiàn)嘗試使用額外的標(biāo)注信息作為輔助.例如文獻(xiàn)[23]提出人體姿勢驅(qū)動的深度卷積模型,文獻(xiàn)[24]引入行人屬性標(biāo)記,文獻(xiàn)[25?26]加入了人體掩模,文獻(xiàn)[27]提出在檢索過程中加入時空約束.
得益于深度學(xué)習(xí)的發(fā)展,如今行人再識別任務(wù)在大規(guī)模數(shù)據(jù)集上已經(jīng)取得了良好的效果,但需要大量帶標(biāo)注的訓(xùn)練數(shù)據(jù).然而,與其他檢索任務(wù)不同,收集帶標(biāo)注的行人再識別訓(xùn)練數(shù)據(jù)更加困難.標(biāo)注數(shù)據(jù)的難點(diǎn)在于,行人再識別數(shù)據(jù)集沒有固定的類別,多人合作標(biāo)注很困難;而且圖像分辨率低,不容易辨別.為了更符合實(shí)際場景的應(yīng)用需求,科研人員開始研究如何在目標(biāo)數(shù)據(jù)集沒有標(biāo)注信息的前提下實(shí)現(xiàn)行人再識別.在這種背景下,非監(jiān)督行人再識別(Unsupervised person re-identification)成為新的研究熱點(diǎn).
目前,非監(jiān)督行人再識別有兩類主要的研究方法.第1 類是基于聚類的非監(jiān)督學(xué)習(xí)方法.文獻(xiàn)[28]提出一種基于聚類的非對稱度量學(xué)習(xí)方法,利用非對稱聚類學(xué)習(xí)把不同視角的數(shù)據(jù)投影到共享空間中.文獻(xiàn)[29]提出基于聚類和微調(diào)的非監(jiān)督深度學(xué)習(xí)框架.該方法先使用預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型提取目標(biāo)數(shù)據(jù)集的特征,然后通過聚類算法得到目標(biāo)數(shù)據(jù)集的偽標(biāo)簽,再利用偽標(biāo)簽對預(yù)訓(xùn)練的網(wǎng)絡(luò)進(jìn)行微調(diào)(Fine-tune).文獻(xiàn)[30]在文獻(xiàn)[29]的框架上再進(jìn)行改進(jìn),提出一種自底向上逐層合并最相近簇的聚類方法.
非監(jiān)督行人再識別的第2 類研究方法是跨域遷移學(xué)習(xí)方法(Cross-domain transfer learning).這類方法通常都有帶標(biāo)注的行人再識別數(shù)據(jù)集作為輔助,這個輔助的數(shù)據(jù)集稱為源數(shù)據(jù)集或源域(Source domain),實(shí)際應(yīng)用場景對應(yīng)的無標(biāo)注數(shù)據(jù)集稱為目標(biāo)數(shù)據(jù)集或目標(biāo)域(Target domain).由于只有源域是有標(biāo)注的,所以這類方法的關(guān)鍵之處在于盡可能地把從源域中學(xué)習(xí)到的知識遷移到目標(biāo)域中.文獻(xiàn)[31]通過添加域分類器和梯度反傳網(wǎng)絡(luò)層來實(shí)現(xiàn)域適應(yīng).文獻(xiàn)[32] 提出一種跨域自適應(yīng)的Ranking SVM (Support vector machine)方法,利用了源域的正負(fù)樣本、目標(biāo)域的負(fù)樣本和目標(biāo)域估計(jì)的正樣本均值來訓(xùn)練.文獻(xiàn)[33?34]則提出兩階段的跨域遷移學(xué)習(xí)方法:首先利用生成對抗網(wǎng)絡(luò)實(shí)現(xiàn)源域數(shù)據(jù)分布到目標(biāo)域數(shù)據(jù)分布的變換,根據(jù)變換前源域數(shù)據(jù)的標(biāo)簽對變換后的圖片進(jìn)行標(biāo)注;然后使用變換后的圖片及其對應(yīng)的標(biāo)注進(jìn)行有監(jiān)督訓(xùn)練.
跨域遷移學(xué)習(xí)方法對目標(biāo)域訓(xùn)練集(無標(biāo)注數(shù)據(jù))的數(shù)據(jù)分布限制更少,應(yīng)用范圍更廣泛,更加適合實(shí)際的行人再識別應(yīng)用場景.但是現(xiàn)有的跨域遷移學(xué)習(xí)方法沒有考慮視角偏差(View-specific bias)問題,源域中不同視角(攝像機(jī))的數(shù)據(jù)以完全相同的遷移方式變換到目標(biāo)域中.也就是說,目前的遷移方式都是對稱的(對稱遷移).然而在智能監(jiān)控視頻網(wǎng)絡(luò)中,不同拍攝地點(diǎn)的光照條件、拍攝角度以及攝像機(jī)本身的參數(shù)都可能存在明顯的差別,不同攝像頭拍攝到的圖片往往服從不同的分布.在跨域遷移學(xué)習(xí)時,忽略攝像頭的分布差異一方面會導(dǎo)致遷移效果不佳,另一方面會導(dǎo)致遷移后的數(shù)據(jù)無法體現(xiàn)出目標(biāo)域多個視角子分布的情況,從而不利于訓(xùn)練跨視角匹配模型.
基于以上分析,本文提出基于多視角(攝像機(jī))的非對稱跨域遷移學(xué)習(xí)方法.在基于生成對抗網(wǎng)絡(luò)的兩階段跨域遷移學(xué)習(xí)方法[33?34]基礎(chǔ)上,本文針對視角之間的差異問題進(jìn)行建模.為了對每種源域?目標(biāo)域視角組合使用不同的遷移方式(稱為非對稱遷移),一個最簡單直觀的想法是把每個視角的數(shù)據(jù)看成是各自獨(dú)立的,然后訓(xùn)練多組互不相干的生成對抗網(wǎng)絡(luò)模型,每個模型分別把知識從源域的某個視角遷移到目標(biāo)域的某個視角.然而,這種不同視角組合使用不同網(wǎng)絡(luò)參數(shù)的非對稱遷移方式非常消耗訓(xùn)練時間和存儲空間.假如源域有M個視角,目標(biāo)域有N個視角,則一共需要訓(xùn)練M ×N組生成對抗網(wǎng)絡(luò).大型智能監(jiān)控網(wǎng)絡(luò)涉及的攝像頭數(shù)目非常多,顯然這種方法是不切實(shí)際的.除此之外,單獨(dú)使用每對視角的數(shù)據(jù)來訓(xùn)練生成對抗網(wǎng)絡(luò)無法利用數(shù)據(jù)集內(nèi)不同視角數(shù)據(jù)之間的相關(guān)性.為了解決獨(dú)立訓(xùn)練而造成成本太高的問題,并盡可能地利用不同視角數(shù)據(jù)的相關(guān)性,本文提出把非對稱遷移學(xué)習(xí)嵌入到一組生成對抗網(wǎng)絡(luò)中.為此,我們設(shè)計(jì)了一個多對多生成對抗網(wǎng)絡(luò)(Many-to-many generative adversarial network,M2M-GAN),同時實(shí)現(xiàn)源域任意視角子分布到目標(biāo)域任意視角子分布的轉(zhuǎn)換.實(shí)驗(yàn)表明,與現(xiàn)有的對稱遷移方法(不考慮視角差異,且僅有一組生成對抗網(wǎng)絡(luò)網(wǎng)絡(luò))相比,我們的方法只需增加少量訓(xùn)練時間和空間成本就能有效提升識別準(zhǔn)確率.與單獨(dú)訓(xùn)練多組生成對抗網(wǎng)絡(luò)這種簡單的建模方式(考慮視角差異,但需M ×N組生成對抗網(wǎng)絡(luò))相比,我們的方法在訓(xùn)練成本和識別準(zhǔn)確率兩方面都取得更優(yōu)的性能.
本文的主要貢獻(xiàn):1)針對源域或者目標(biāo)域存在多個具有差異性的子分布問題,本文提出一種多對多的跨域遷移模型來區(qū)別對待源域不同的子分布到目標(biāo)域不同的子分布的遷移.本文將這種區(qū)分性的遷移模式稱為非對稱遷移.為了更好地優(yōu)化非對稱遷移學(xué)習(xí)模型,本文提出了一種基于多對多生成對抗網(wǎng)絡(luò)(M2M-GAN)的遷移學(xué)習(xí)方法,同時實(shí)現(xiàn)把源域任意子分布的圖像風(fēng)格轉(zhuǎn)變成目標(biāo)域任意子分布的圖像風(fēng)格.2)視角偏差或攝像機(jī)差異是跨域遷移行人再識別領(lǐng)域被忽略的一個關(guān)鍵問題.本文將M2M-GAN 方法應(yīng)用于該領(lǐng)域,生成了具有視角差異且服從目標(biāo)域各個視角子分布的行人圖片,進(jìn)而使得模型學(xué)習(xí)到的特征具有視角偏差不變性,有效提升了無監(jiān)督跨域遷移行人再識別的準(zhǔn)確率.3)在Market-1501,DukeMTMC-reID 和MSMT17 三個大規(guī)模多攝像頭行人再識別基準(zhǔn)數(shù)據(jù)集上,實(shí)驗(yàn)結(jié)果驗(yàn)證了M2M-GAN 的有效性.
生成對抗網(wǎng)絡(luò)(Generative adversarial network,GAN)[35]主要用于圖像風(fēng)格轉(zhuǎn)換,例如把照片變成油畫、把馬變成斑馬等.它由生成器和鑒別器兩部分組成,利用博弈論觀點(diǎn)來訓(xùn)練.生成器試圖生成能夠以假亂真的圖片來“欺騙”鑒別器,而鑒別器則盡可能地把生成器生成的“假冒”圖片鑒別出來.生成器和鑒別器相互對抗,交替訓(xùn)練,直到鑒別器無法判斷生成器生成圖片的真假,這個過程可以用對抗損失表示.
用于圖片風(fēng)格轉(zhuǎn)換的生成對抗網(wǎng)絡(luò)一般需要成對的訓(xùn)練樣本,但實(shí)際應(yīng)用中很難收集到足夠的成對樣本.循環(huán)生成對抗網(wǎng)絡(luò)(Cycle-GAN)[36]通過在普通生成對抗網(wǎng)絡(luò)的基礎(chǔ)上添加循環(huán)一致約束來實(shí)現(xiàn)非配對圖像之間的轉(zhuǎn)換.假設(shè)需要在兩個域X和Y之間轉(zhuǎn)換,循環(huán)一致約束要求對于域X的一張真實(shí)的圖片x,通過生成器G生成圖片G(x),G(x) 再經(jīng)過生成器生成重構(gòu)圖片(G(x)),這個重構(gòu)圖片需要和原始的真實(shí)圖片x保持像素級別的一致.同理,對于域Y也是如此.
跨域遷移學(xué)習(xí)方法是當(dāng)前在目標(biāo)數(shù)據(jù)集無標(biāo)注的情況下解決行人再識別最常用的方法.除了沒有標(biāo)注信息的目標(biāo)數(shù)據(jù)集外,這類方法還會使用其他場景下有標(biāo)注的行人再識別數(shù)據(jù)集作為輔助.跨域遷移學(xué)習(xí)方法的關(guān)鍵之處在于盡可能地把有標(biāo)注的輔助數(shù)據(jù)集(即源域 (Source domain))的知識遷移到無標(biāo)注的目標(biāo)數(shù)據(jù)集(即目標(biāo)域 (Target domain)).跨域行人再識別方法的難點(diǎn)在于不同的行人再識別數(shù)據(jù)集之間存在較大的差異(Dataset bias),因而極大增加了從源域到目標(biāo)域知識遷移的難度.這些數(shù)據(jù)集差異包括圖像背景、光照、拍攝角度、圖像分辨率等.如果能減小這種數(shù)據(jù)集之間的差異,那么在有標(biāo)注數(shù)據(jù)集上訓(xùn)練的模型就可以適用于無標(biāo)注的目標(biāo)數(shù)據(jù)集.而循環(huán)生成對抗網(wǎng)絡(luò)恰好適合用于減小數(shù)據(jù)集之間的差異.如第1.1 節(jié)所述,循環(huán)生成對抗網(wǎng)絡(luò)可以把一種風(fēng)格的圖片變成另一種風(fēng)格的圖片,并且不需要使用兩個域中配對的數(shù)據(jù)來訓(xùn)練.利用循環(huán)生成對抗網(wǎng)絡(luò),可以把源域的圖片風(fēng)格轉(zhuǎn)變成目標(biāo)域的圖片風(fēng)格.因此,基于循環(huán)生成對抗網(wǎng)絡(luò)的跨域遷移行人再識別可分為兩階段:第1 階段是訓(xùn)練循環(huán)生成對抗網(wǎng)絡(luò),用源域圖片生成具有目標(biāo)域圖片風(fēng)格的新數(shù)據(jù)集,新數(shù)據(jù)集使用源域的身份標(biāo)注;第2 階段是利用新數(shù)據(jù)集及對應(yīng)的身份標(biāo)注進(jìn)行有監(jiān)督的行人再識別.
目前跨域遷移行人再識別的課題研究忽略了域內(nèi)不同視角的數(shù)據(jù)分布差異問題,對于所有的視角數(shù)據(jù)采用完全相同的遷移方式.我們重點(diǎn)研究了多個視角子分布的差異在遷移學(xué)習(xí)中的重要性,并提出了非對稱跨域遷移行人再識別問題.為了能高效地實(shí)現(xiàn)非對稱遷移,我們設(shè)計(jì)了多對多生成對抗網(wǎng)絡(luò)(M2M-GAN).本節(jié)將詳細(xì)介紹我們提出的方法.
在智能視頻監(jiān)控網(wǎng)絡(luò)中,不同攝像頭被布置在光照條件、拍攝角度不同的位置,再加上攝像頭自身參數(shù)的差異,所以實(shí)際應(yīng)用中不同攝像頭拍攝得到的行人圖片數(shù)據(jù)會呈現(xiàn)不同的分布情況.圖1 列出了4 個常見的行人再識別數(shù)據(jù)集的例子,其中每張子圖的不同列代表該數(shù)據(jù)集內(nèi)不同攝像頭拍攝得到的行人圖片.從圖1 可以看出,攝像頭分布差異在行人再識別任務(wù)中是普遍存在的.
圖1 攝像機(jī)分布差異舉例Fig.1 Examples of distribution differences between different views
然而,現(xiàn)有的行人跨域遷移框架忽略了這種攝像頭分布差異性,會造成精度的損失.我們用圖2對此進(jìn)行直觀的解釋.圖2(a)和2(b)兩幅圖描述了源數(shù)據(jù)集和目標(biāo)數(shù)據(jù)集整體上存在較大差異,每個數(shù)據(jù)集內(nèi)部也存在一定的子分布差異的現(xiàn)象.每幅圖內(nèi)不同的曲線分別代表了數(shù)據(jù)集內(nèi)某個特定視角的分布.不同的視角子分布都近似于整體分布,具有相似性,但是各自又存在一定的偏差.圖2(c)和2(d)分別是圖2(a)和2(b)中各個數(shù)據(jù)集內(nèi)所有視角子分布的平均值,圖2(c)和2(d)兩幅圖只描述了源數(shù)據(jù)集和目標(biāo)數(shù)據(jù)集差異.現(xiàn)有的遷移框架主要研究如何減小數(shù)據(jù)集差異,在遷移過程中把源域和目標(biāo)域都分別看作一個整體,即從圖2(c)到2(d)的遷移.但是,使用平均分布來估計(jì)具有多子分布的真實(shí)數(shù)據(jù)集,即用圖2(c)和2(d)來估計(jì)圖2(a)和2(b),會帶來精度的損失.所以我們重點(diǎn)研究遷移過程中的視角差異問題,提出用源數(shù)據(jù)集多視角到目標(biāo)數(shù)據(jù)集多視角遷移(即(a)→(b))代替?zhèn)鹘y(tǒng)的整體遷移(即(c)→(d))方式.
我們從兩方面詳細(xì)地分析多對多遷移的好處.一方面,在遷移過程中加入視角信息可以提高生成圖片質(zhì)量.假設(shè)生成器G用于從源域到目標(biāo)域遷移,鑒別器D用于鑒別輸入圖片是否屬于目標(biāo)域.生成器G的輸入是具有多個子分布的圖片(圖2(a)),假如忽略視角差異,那么生成器就需要針對所有視角子分布采用相同的生成方式.但是同一種映射方式很難同時適用于多種視角分布.而如果在生成器中引入視角信息,使生成器針對不同的子分布選擇不同的生成方式,就可以提高生成圖片的質(zhì)量.同樣地,鑒別器的輸入也是具有多個視角子分布的真實(shí)圖片或生成圖片.如果在鑒別器中融入視角信息,使鑒別器針對不同視角子分布采取不同的鑒別方式,就可以提高鑒別器的鑒別能力,從而間接提高生成器的效果.
圖2 本文提出的多視角對多視角遷移方式與現(xiàn)有遷移方式的比較Fig.2 Comparison of our M2M transferring way and the existing methods
另一方面,強(qiáng)調(diào)視角子分布可以使生成的數(shù)據(jù)更好地模擬出目標(biāo)域多視角分布的現(xiàn)實(shí)情況,更有利于解決目標(biāo)域跨視角匹配問題.假如在遷移時不區(qū)分視角,那么遷移的結(jié)果只包含了目標(biāo)域的總體統(tǒng)計(jì)特性(圖2(d)),沒有包含目標(biāo)域各個視角的統(tǒng)計(jì)特性(圖2(b)).而目標(biāo)域行人再識別的一個關(guān)鍵問題是要實(shí)現(xiàn)跨視角行人圖片匹配,即要訓(xùn)練一個對視角魯棒的行人再識別模型.為了訓(xùn)練對視角魯棒的行人再識別模型,就需要具有不同視角分布風(fēng)格的訓(xùn)練圖片.所以,如果能生成服從目標(biāo)域不同視角子分布的圖片(圖2(b))作為訓(xùn)練數(shù)據(jù),而不僅僅生成服從目標(biāo)域平均分布(圖2(d))的圖片,將會大大提升模型對視角的魯棒性.
以上分析體現(xiàn)了遷移過程中結(jié)合視角信息的重要性.因此,我們提出了非對稱跨域遷移行人再識別問題,強(qiáng)調(diào)針對源域的不同視角或目標(biāo)域的不同視角采取不同的遷移方式.
具體地,非對稱跨域遷移行人再識別問題可以描述為:令S表示一個有標(biāo)注的源域,T表示一個沒有標(biāo)注的目標(biāo)域.S包含M個視角,記為S1,S2,···,Si,···,SM.T包含N個視角,記為T1,T2,···,Tj,···,TN.每張圖片來自哪個攝像頭是容易收集的標(biāo)注信息,所以每張圖片的視角標(biāo)記Si或Tj可視為已知信息.非對稱跨域遷移行人再識別的目標(biāo)是把源域的多個子域分別遷移到目標(biāo)域的多個子域.即對于任意的i ∈[1,M],j ∈[1,N],要實(shí)現(xiàn)從Si到Tj的遷移.給定源域視角Si的一張真實(shí)圖片xsi和相應(yīng)的身份標(biāo)注ysi,利用生成具有目標(biāo)域視角Tj風(fēng)格的圖片然后,使用生成圖片和身份標(biāo)注訓(xùn)練行人再識別模型.
由于同一個行人不會同時出現(xiàn)在源域和目標(biāo)域中,我們無法獲取配對的訓(xùn)練樣本用于源域?目標(biāo)域行人圖片風(fēng)格遷移.而循環(huán)生成對抗網(wǎng)絡(luò)恰好不需要成對訓(xùn)練樣本,所以目前的研究方法通常采用循環(huán)生成對抗網(wǎng)絡(luò)來實(shí)現(xiàn)源域?目標(biāo)域行人圖片風(fēng)格遷移.但是直接應(yīng)用循環(huán)生成對抗網(wǎng)絡(luò),只能實(shí)現(xiàn)源域整體與目標(biāo)域整體風(fēng)格之間的遷移.
想要實(shí)現(xiàn)源域多視角與目標(biāo)域多視角之間的非對稱遷移,一種簡單的方案是針對每對源域?目標(biāo)域視角組合 (Si,Tj) 分別訓(xùn)練一組循環(huán)生成對抗網(wǎng)絡(luò),共需M ×N組循環(huán)生成對抗網(wǎng)絡(luò)用于實(shí)現(xiàn)源域M個視角和目標(biāo)域N個視角之間的遷移.顯然這種方法是不切實(shí)際的,因?yàn)樵谝粋€大型智能視頻監(jiān)控網(wǎng)絡(luò)中可能存在成百上千個攝像頭,訓(xùn)練M ×N組深度網(wǎng)絡(luò)會帶來巨大的訓(xùn)練時間和存儲空間損耗.我們希望只用一組生成對抗網(wǎng)絡(luò)實(shí)現(xiàn)源域多個視角和目標(biāo)域多個視角圖片風(fēng)格遷移.因此,我們在循環(huán)生成對抗網(wǎng)絡(luò)基礎(chǔ)上進(jìn)行改進(jìn),設(shè)計(jì)了多對多生成對抗網(wǎng)絡(luò),使得模型不僅局限于兩個域整體風(fēng)格的遷移,還能細(xì)化到多個視角的圖像風(fēng)格遷移.
為了實(shí)現(xiàn)兩個域的不同視角之間的圖片風(fēng)格遷移,首先我們需要把視角信息輸入到模型中.假如沒有子視角信息,模型就無法針對不同的視角組合采取不同的遷移方式.為此,我們設(shè)計(jì)了視角嵌入模塊(第2.2.2 節(jié)),把原始輸入圖片、源域視角標(biāo)記、目標(biāo)域視角標(biāo)記整合在一起,形成新的“嵌入圖”作為生成器的輸入,為生成器提供視角信息.
視角嵌入模塊明確告訴生成器需要從源域的哪一個視角遷移到目標(biāo)域的哪一個視角,但只有信息嵌入并不足以引導(dǎo)生成器按照期望的方向生成圖片.除了視角信息輸入,我們還需要為生成器提供監(jiān)督信號,引導(dǎo)生成器利用輸入的視角信息.也就是說,我們需要判斷生成圖片與期望視角的差別有多大,這樣才能把縮小差距作為訓(xùn)練目標(biāo)來優(yōu)化生成器的參數(shù).為此,我們設(shè)計(jì)了視角分類模塊(第2.2.3 節(jié)),該模塊利用一個視角分類器來預(yù)測生成圖片與期望視角的差距,然后用預(yù)測的結(jié)果監(jiān)督生成器,引導(dǎo)生成器生成與期望視角差異盡可能小的圖片,如圖3 所示.
圖3 多對多生成對抗網(wǎng)絡(luò)框架(省略了目標(biāo)域 → 源域的生成過程、循環(huán)一致?lián)p失和身份保持損失)Fig.3 Framework of our M2M-GAN (The generation process,the cycle consistency loss,and the identity preserve loss of target domain → source domain are omitted)
視角嵌入和視角分類兩個模塊,前者為生成器提供了視角信息,后者監(jiān)督生成器充分地利用輸入的視角信息.這兩個模塊配合使用,就可以在同一個網(wǎng)絡(luò)中實(shí)現(xiàn)兩個域多個視角組合的圖片風(fēng)格遷移.
下面將詳細(xì)介紹多對多生成對抗網(wǎng)絡(luò),先回顧循環(huán)生成對抗網(wǎng)絡(luò)(第2.2.1 節(jié)),然后介紹視角嵌入模塊(第2.2.2 節(jié))和視角分類模塊(第2.2.3 節(jié)),最后給出總目標(biāo)函數(shù)(第2.2.4 節(jié))并說明模型結(jié)構(gòu)設(shè)計(jì)和訓(xùn)練的細(xì)節(jié)(第2.2.5 節(jié)).
2.2.1 循環(huán)生成對抗網(wǎng)絡(luò)
多對多生成對抗網(wǎng)絡(luò)在循環(huán)生成對抗網(wǎng)絡(luò)基礎(chǔ)上進(jìn)行改進(jìn),本節(jié)簡要描述循環(huán)生成對抗網(wǎng)絡(luò)算法.循環(huán)生成對抗網(wǎng)絡(luò)[36]由兩個生成器和兩個鑒別器組成.其中兩個生成器(G和)分別用于源域遷移到目標(biāo)域和目標(biāo)域遷移到源域的圖片生成,兩個鑒別器(Dt和Ds)分別用于判斷生成圖片是否屬于源域和目標(biāo)域的真實(shí)分布.循環(huán)生成對抗網(wǎng)絡(luò)包含對抗損失和循環(huán)一致?lián)p失.為了統(tǒng)一符號,我們把對抗損失和循環(huán)一致?lián)p失改寫成多視角形式,與原本的循環(huán)生成對抗網(wǎng)絡(luò)略有不同.
1) 對抗損失.源域視角Si遷移到目標(biāo)域視角Tj的對抗損失可以表示為
源域S遷移到目標(biāo)域T的對抗損失是所有源域?目標(biāo)域視角組合的對抗損失的平均值
由式(1)和式(2)得:
其他損失函數(shù)與此類似,兩個域之間的損失等于源域?目標(biāo)域所有視角組合損失的平均值,不再對此詳細(xì)說明.
類似地,目標(biāo)域T遷移到源域S的對抗損失為
2.2.2 源域和目標(biāo)域視角嵌入
為了讓生成器能明確當(dāng)前遷移方向是從源域(或目標(biāo)域)的哪個視角遷移至目標(biāo)域(或源域)的哪個視角,生成器的輸入應(yīng)包含視角標(biāo)記.我們把視角標(biāo)記作為額外的輸入通道(Channel),這樣就可以把視角信息輸入到生成器神經(jīng)網(wǎng)絡(luò)中.但是圖像和視角標(biāo)簽的維度不一致,無法直接結(jié)合,要對視角標(biāo)記進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換過程如圖4 所示.我們先用one-hot 編碼方式對視角標(biāo)記進(jìn)行編碼.然后對每一位one-hot 編碼值,如果其值為1,就生成一張值全為1 的二維圖;如果其值為0,就生成一張值全為0 的二維圖.通過這種方式,視角標(biāo)記可以轉(zhuǎn)換為與輸入圖片具有相同圖片尺寸的多通道圖片.于是輸入圖片、輸入圖片對應(yīng)的視角標(biāo)記、期望輸出圖片對應(yīng)的視角標(biāo)記三者就可以依次疊加,一起輸入到生成器中.
圖4 視角嵌入Fig.4 View embedding
2.2.3 視角分類器
通過視角嵌入模塊,視角信息被輸入到生成器中.但是僅僅增加輸入信息并不能約束生成器,還需要為生成器提供監(jiān)督信號,引導(dǎo)生成器利用輸入的視角信息.生成器的目標(biāo)是盡可能縮小生成圖片與期望視角的差距,所以我們可以把生成圖片屬于期望視角的概率值作為監(jiān)督信號.假如生成器生成的圖片偏離期望的視角分布,就需要懲罰生成器.
接下來,我們將敘述如何計(jì)算生成圖片與期望視角的差距(視角類別估計(jì)),以及如何利用這一信息監(jiān)督生成器.
1) 估計(jì)視角類別.估計(jì)生成圖片屬于域內(nèi)某個視角的概率,其實(shí)就是視角分類任務(wù).所以,我們可以訓(xùn)練視角分類器,然后利用視角分類器來預(yù)測生成圖片屬于域內(nèi)各個視角的概率.
源域視角分類和目標(biāo)域視角分類是兩個獨(dú)立的任務(wù),我們設(shè)計(jì)了視角分類器Cs和Ct,分別用于源域M個視角和目標(biāo)域N個視角分類.訓(xùn)練視角分類需要訓(xùn)練樣本和樣本對應(yīng)的視角標(biāo)記,我們利用了數(shù)據(jù)集中真實(shí)的圖片和真實(shí)的視角標(biāo)記作為訓(xùn)練樣本.訓(xùn)練Cs時,使用源域真實(shí)的訓(xùn)練圖片和視角標(biāo)記.訓(xùn)練Ct時,使用目標(biāo)域真實(shí)的訓(xùn)練圖片和視角標(biāo)記.值得一提的是,這里只使用了視角標(biāo)記,并不會使用任何身份標(biāo)記.為了訓(xùn)練Cs和Ct,采用圖像分類中最常用的交叉熵?fù)p失函數(shù)
2) 監(jiān)督視角生成.以視角Si遷移到視角Tj為例,利用視角分類器可以估計(jì)生成圖片屬于目標(biāo)域N個視角中的視角Tj的概率.接下來,對生成器進(jìn)行約束,使得生成圖片屬于視角Tj類別的概率盡量接近1,屬于其他N ?1 個視角類別的概率盡量接近0.這個目標(biāo)與分類任務(wù)類似,不同點(diǎn)只在于此時需要優(yōu)化的參數(shù)是生成器,而視角分類器只用來估計(jì)生成圖片屬于各個視角類別的概率,參數(shù)是固定不變的.因此,也可以用以下交叉熵?fù)p失對生成器進(jìn)行約束:
2.2.4 總目標(biāo)函數(shù)
目標(biāo)函數(shù)由4 部分組成,包括對抗損失(式(3)和式(4))、循環(huán)一致?lián)p失(式(5))、視角分類損失(式(7)和式(8))、身份保持損失(式(9)).除了前文已經(jīng)介紹的前三種損失,還需要身份保持損失,用來保證遷移過程中身份信息不變,否則無法得到生成后圖片的正確身份標(biāo)注.我們使用文獻(xiàn)[34]提出的基于前景掩模的身份保持損失函數(shù).在多對多生成對抗網(wǎng)絡(luò)中,該損失可以表示為
其中,M(·) 表示圖片的前景掩模,實(shí)驗(yàn)中使用在COCO (Common objects in context)數(shù)據(jù)集[37]訓(xùn)練過的Mask R-CNN (Region convolutional neural network)[38]模型來提取行人的前景.∥·∥2表示L2 范數(shù),“?”表示逐像素乘法操作.式(9)表示生成前和生成后的圖片前景應(yīng)保持一致,即與前景保持一致.
鑒別器和視角分類器有很強(qiáng)的聯(lián)系,鑒別器分辨輸入圖片是否屬于某個域,視角分類器分辨輸入圖片屬于該域的哪個視角,它們之間是粗粒度分類和細(xì)粒度分類的關(guān)系.于是,類似于多任務(wù)學(xué)習(xí),我們令鑒別器和視角分類器共享一部分參數(shù)并讓它們共同優(yōu)化.
綜合以上4 種損失函數(shù),我們將總目標(biāo)分為兩部分.生成器的目標(biāo)函數(shù)為
鑒別器和視角分類器的目標(biāo)函數(shù)為
其中,λ1,λ2,λ3分別用于控制視角分類損失、身份保持損失和循環(huán)一致?lián)p失的相對重要性.
2.2.5 實(shí)現(xiàn)細(xì)節(jié)
在循環(huán)生成對抗網(wǎng)絡(luò)的基礎(chǔ)上,多對多生成對抗網(wǎng)絡(luò)增加了兩個視角分類器.所以多對多生成對抗網(wǎng)絡(luò)一共由兩個生成器、兩個鑒別器和兩個視角分類器組成.圖3 是多對多生成對抗網(wǎng)絡(luò)的框架圖(圖中只完整描述了源域遷移至目標(biāo)域的全過程,省略了目標(biāo)域遷移至源域的生成過程、循環(huán)一致?lián)p失和身份保持損失).圖5 是網(wǎng)絡(luò)結(jié)構(gòu)示意圖.網(wǎng)絡(luò)結(jié)構(gòu)圖中長方體部分表示網(wǎng)絡(luò)層、箭頭上方是每一網(wǎng)絡(luò)層的輸出維度、M和N分別表示源域和目標(biāo)域子視角類別數(shù).圖5 中展示的網(wǎng)絡(luò)結(jié)構(gòu)以源域?yàn)槔?目標(biāo)域的網(wǎng)絡(luò)結(jié)構(gòu)與此類似,唯一不同點(diǎn)是子視角類別數(shù)不同.
圖5 多對多生成對抗網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 Network structures of our M2M-GAN
1) 生成器結(jié)構(gòu).我們使用兩個不同的生成器,分別用于從源域到目標(biāo)域、從目標(biāo)域到源域的遷移,兩個生成器結(jié)構(gòu)一致.與循環(huán)生成對抗網(wǎng)絡(luò)類似,我們也采用經(jīng)典的編碼器?解碼器(Encoder-decoder)模式搭建生成器.
生成器的輸入為集成了源域視角和目標(biāo)域視角信息的嵌入圖(式(6)),嵌入圖大小為(3+M+N)×128×128,M和N分別表示源域和目標(biāo)域的視角數(shù)目.由于源域視角和目標(biāo)域視角數(shù)目不固定,嵌入圖的通道數(shù)不是一個確定的值.所以在對輸入數(shù)據(jù)進(jìn)行特征編碼前,首先用一個有64 組濾波器的卷積層對嵌入圖進(jìn)行卷積操作,把通道數(shù)統(tǒng)一調(diào)整為64.
卷積后得到的特征圖大小為 3×128×128,經(jīng)過連續(xù)兩次下采樣操作得到 256×3×3 的特征圖.每一次下采樣操作會把特征圖的寬和高變?yōu)樵瓉淼囊话?通道數(shù)變?yōu)樵瓉淼膬杀?下采樣把圖像從高維空間轉(zhuǎn)換到潛在的低維空間,便于后續(xù)對特征進(jìn)行處理.下采樣可以通過卷積來實(shí)現(xiàn).接下來,特征圖輸入到由6 個殘差單元組成的瓶頸層.瓶頸層會對特征進(jìn)行加工,篩選出能夠用于構(gòu)造目標(biāo)圖片的特征.最后,特征圖經(jīng)過連續(xù)兩次上采樣操作,得到256×3×3 的特征圖.上采樣和下采樣是一一對應(yīng)的,上采樣把低維特征圖重新變成高維圖像,可以通過反卷積實(shí)現(xiàn).為了使網(wǎng)絡(luò)最終輸出3 通道RGB 圖片,網(wǎng)絡(luò)最后一層是一個由3 組濾波器組成的卷積層,把圖片通道數(shù)重新調(diào)整為3.
2) 鑒別器和視角分類器結(jié)構(gòu).鑒別器和視角分類器的學(xué)習(xí)目標(biāo)有相似之處,前者判斷輸入圖片是否服從某個域的整體分布,后者判斷輸入圖片服從某個域的哪一個視角子分布,所以我們令鑒別器和視角分類器共享一部分參數(shù).具體來說,鑒別器和視角分類器共享特征提取器,該特征提取器由6 個卷積層組成.輸入圖片經(jīng)過共享的特征提取器,提取到對應(yīng)的特征圖,然后特征圖流向兩個分支,進(jìn)行多任務(wù)學(xué)習(xí).
其中一個分支是鑒別器,鑒別器需要對“真假”兩個類別進(jìn)行分類,是二分類問題.所以我們選擇用1 組濾波器構(gòu)成“真假”分類器,該濾波器用于計(jì)算圖片屬于真實(shí)分布的概率.
另一個分支是視角分類器,視角分類器需要對源域(或目標(biāo)域)M個視角(或N個視角) 進(jìn)行分類,是多分類問題.所以我們選擇用M組(或N組)濾波器來構(gòu)造多分類器.每個濾波器分別計(jì)算圖片屬于其中某個視角的概率,多組濾波器輸出的是圖片屬于源域(或目標(biāo)域)M個視角(或N個視角)的概率.
3) 訓(xùn)練方式.多對多生成對抗網(wǎng)絡(luò)訓(xùn)練時,多視角組合是共同訓(xùn)練和優(yōu)化的.同一數(shù)據(jù)集不同視角的圖片包含相同的人群、相同的時間段和相似的背景,這種數(shù)據(jù)高相關(guān)性使得同時優(yōu)化M ×N對視角組合的遷移并不需要M ×N倍訓(xùn)練時間(對比單獨(dú)優(yōu)化一對視角的訓(xùn)練時間).下面舉個簡單的例子進(jìn)行說明.假設(shè)源域S有S1,S2兩個視角,目標(biāo)域T有T1,T2兩個視角.有三種不同的訓(xùn)練方式:a)用S1,S2,T1,T2所有數(shù)據(jù)訓(xùn)練一個不區(qū)分視角的生成對抗網(wǎng)絡(luò)(基本的遷移方法,不區(qū)分視角).b)單獨(dú)使用一對視角組合數(shù)據(jù)訓(xùn)練一組生成對抗網(wǎng)絡(luò),即用(S1,T1)、(S1,T2)、(S2,T1)、(S2,T2)分別訓(xùn)練一組生成對抗網(wǎng)絡(luò)(區(qū)分視角,單獨(dú)優(yōu)化).c)用S1,S2,T1,T2所有數(shù)據(jù)訓(xùn)練一個區(qū)分視角的生成對抗網(wǎng)絡(luò)(本文提出的多對多遷移方法,區(qū)分視角,共同優(yōu)化).由于不同視角數(shù)據(jù)分布相似,再加上新增的網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù)對整體收斂速度影響不大,所以無論是用一對視角數(shù)據(jù)(如S1,T1)還是全部視角數(shù)據(jù)(即S1,S2,T1,T2),無論是訓(xùn)練普通的生成對抗網(wǎng)絡(luò)還是多對多生成對抗網(wǎng)絡(luò),對于一組生成對抗網(wǎng)絡(luò)的訓(xùn)練開銷是相近的.因此方式1、方式2 和方式3 訓(xùn)練一組生成對抗網(wǎng)絡(luò)需要的訓(xùn)練開銷近似,但方式2 需要訓(xùn)練4 組生成對抗網(wǎng)絡(luò),因此訓(xùn)練開銷大約是其他兩種方式的4 倍.實(shí)驗(yàn)結(jié)果可以驗(yàn)證,多對多遷移不需要大量的訓(xùn)練開銷.
多對多生成對抗網(wǎng)絡(luò)的具體訓(xùn)練過程是:每次迭代都隨機(jī)從源域和目標(biāo)域分別選擇Q張圖片(Q等于訓(xùn)練批次大小的一半),每張圖片有兩個視角標(biāo)記,分別是圖片自身的視角標(biāo)記以及隨機(jī)生成的另一個域的視角標(biāo)記.然后用這 2Q張圖片交替訓(xùn)練鑒別器和生成器.訓(xùn)練鑒別器和視角分類器時,生成器的參數(shù)固定不變,用式(11)計(jì)算損失,并反向傳播更新鑒別器和視角分類器的網(wǎng)絡(luò)參數(shù);訓(xùn)練生成器時,鑒別器和視角分類器的參數(shù)固定不變,用式(10)計(jì)算損失,并反向傳播更新生成器的網(wǎng)絡(luò)參數(shù).
多對多生成對抗網(wǎng)絡(luò)訓(xùn)練完成后,我們就可以利用訓(xùn)練好的生成器把源域的圖片變換到目標(biāo)域,然后使用變換后的數(shù)據(jù)集訓(xùn)練行人再識別模型.因?yàn)榻?jīng)過遷移的圖片可以使用遷移前的身份標(biāo)記,這樣就把無監(jiān)督問題變成了有監(jiān)督的行人再識別問題,然后可以采取任意一種有監(jiān)督的行人再識別方法.特別地,在本文中我們采用最常見的基于分類損失的行人再識別框架,把每個行人看作一個類別,使用分類損失函數(shù)(交叉熵)訓(xùn)練
其中,K是行人類別數(shù),p(k) 是深度模型預(yù)測的樣本屬于第k類行人的概率.q(k) 表示真實(shí)的概率分布.當(dāng)k為輸入圖片真實(shí)類別時,q(k) 值為1,否則q(k)為0.訓(xùn)練結(jié)束后,提取深度模型分類層前一層的網(wǎng)絡(luò)層輸出作為特征描述子,最后用歐氏距離度量查詢圖片和所有候選圖片的相似性.
為了便于理解,我們對整體流程總結(jié)如下:
步驟1.訓(xùn)練多對多生成對抗網(wǎng)絡(luò).使用源域的訓(xùn)練集和目標(biāo)域的訓(xùn)練集訓(xùn)練一個多對多生成對抗網(wǎng)絡(luò),該步驟不使用任何行人身份標(biāo)注.
步驟2.生成新數(shù)據(jù)集.多對多生成對抗網(wǎng)絡(luò)訓(xùn)練完成后,對于源域的每一張圖片,我們利用訓(xùn)練好的生成器都生成出目標(biāo)域N個視角的新圖片,新圖片的身份標(biāo)注使用對應(yīng)的原始圖片的身份標(biāo)注.
步驟3.訓(xùn)練行人再識別模型.使用生成的數(shù)據(jù)集和對應(yīng)的身份標(biāo)注,以監(jiān)督學(xué)習(xí)的方式訓(xùn)練一個行人再識別的深度神經(jīng)網(wǎng)絡(luò).
為了驗(yàn)證本文提出的基于多對多生成對抗網(wǎng)絡(luò)的遷移方法的有效性,我們設(shè)計(jì)了多個實(shí)驗(yàn).
1) 設(shè)計(jì)了M2M-GAN 的可視化實(shí)驗(yàn),定性分析M2M-GAN 是否能把源域各個視角的圖片風(fēng)格轉(zhuǎn)換成目標(biāo)域各個視角的圖片風(fēng)格.該實(shí)驗(yàn)的目的是驗(yàn)證M2M-GAN 是否能夠模擬出目標(biāo)域多視角分布的實(shí)際情況.
2) 將M2M-GAN 生成的圖片用于行人再識別的效果.如果M2M-GAN 生成的圖片能更好地體現(xiàn)目標(biāo)域多個視角分布的特性,那么生成的圖片就能夠提高目標(biāo)域內(nèi)跨視角匹配的準(zhǔn)確率.為了驗(yàn)證此觀點(diǎn),我們設(shè)置了兩種跨域行人再識別基準(zhǔn)實(shí)驗(yàn)作為對比,分別是:a)無遷移;b)不區(qū)分視角的遷移.把M2M-GAN 與這兩種基準(zhǔn)實(shí)驗(yàn)進(jìn)行對比,可以驗(yàn)證我們提出的區(qū)分視角的遷移算法的有效性.
3) 設(shè)計(jì)了訓(xùn)練時間和模型參數(shù)量大小分析實(shí)驗(yàn),對比了M2M-GAN 和兩種遷移方式:a)經(jīng)典的不區(qū)分視角的遷移模型;b)針對多種源域?目標(biāo)域視角組合訓(xùn)練多組生成對抗網(wǎng)絡(luò)的模型.與這兩種方法對比,目的是驗(yàn)證第2.2 節(jié)提出的用多組生成對抗網(wǎng)絡(luò)實(shí)現(xiàn)多視角遷移的不可行性和M2MGAN 的可實(shí)現(xiàn)性的觀點(diǎn).
4) 設(shè)計(jì)了消融實(shí)驗(yàn),用來分析M2M-GAN 模型中的視角嵌入模塊、視角分類模塊和身份保持模塊這3 個模塊的作用.另外,該實(shí)驗(yàn)也能分析生成過程和鑒別過程中引入視角信息所起的作用.假如引入多視角信息有助于提高生成圖片用于行人再識別的準(zhǔn)確率,則可驗(yàn)證第2.1 節(jié)提出的“在遷移時引入視角信息是有利的”的觀點(diǎn).
5) 與其他無監(jiān)督方法進(jìn)行對比,從而驗(yàn)證我們方法的先進(jìn)性.
本文實(shí)驗(yàn)使用了3 個公開的大規(guī)??缫暯切腥嗽僮R別基準(zhǔn)數(shù)據(jù)集,包括Market1501[39]數(shù)據(jù)集、DukeMTMC-reID[40]數(shù)據(jù)集和MSMT17[34]數(shù)據(jù)集.
Market1501 數(shù)據(jù)集包含了6 個監(jiān)控攝像頭數(shù)據(jù).數(shù)據(jù)集中有1 501 個行人共32 668 張圖片.其中訓(xùn)練集包含751 個行人共12 936 張圖片,測試集包含750 個行人共19 732 張圖片,測試集中有3 368張圖片被隨機(jī)選為查詢集,剩下的圖片作為候選集.
DukeMTMC-reID 數(shù)據(jù)集包含了8 個監(jiān)控攝像頭數(shù)據(jù).數(shù)據(jù)集中一共有1 812 人,其中408 人只有一個攝像機(jī)拍攝的圖片.訓(xùn)練集包含702 個行人共16 522 張圖片,測試集包含702 個行人.測試集中有2 228 張行人圖片被選為查詢圖片,其余的17 661張圖片(包括702 個作為測試的行人及408 個作為干擾的行人)作為候選集.
MSMT17 數(shù)據(jù)集是2018 年新發(fā)布的行人再識別數(shù)據(jù)集,它更符合實(shí)際應(yīng)用場景.例如,數(shù)據(jù)集包含的攝像頭數(shù)目更多,由15 個監(jiān)控攝像頭組成;數(shù)據(jù)集包含的行人數(shù)目更多,共4 101 人;拍攝時間和地點(diǎn)跨度更大,包含了室內(nèi)室外四天內(nèi)早中晚三個時段的數(shù)據(jù),光照和背景變化更豐富.訓(xùn)練集中有1 041 個行人共32 621 張圖片,測試集中有3 060人共93 820 張圖片.其中測試集里有11 659 張圖片被隨機(jī)選為查詢圖片,其余82 616 張圖片作為候選集.
本文采用常見的行人再識別評測指標(biāo),包括累積匹配曲線(Cumulative matching characteristics,CMC)和平均準(zhǔn)確率均值(Mean average precision,mAP).CMC 表示前r個匹配結(jié)果中正確匹配的比例,r=1 表示首位匹配準(zhǔn)確率.CMC 主要反映模型的準(zhǔn)確率,mAP 則兼顧準(zhǔn)確率和召回率.其中AP (Average precision)是某個類別所有返回結(jié)果的排列序號(Rank)倒數(shù)的加權(quán)平均值,mAP就是所有類別AP 值的平均值.
我們使用Adam 優(yōu)化器[41](β1=0.5,β2=0.999)訓(xùn)練M2M-GAN.訓(xùn)練數(shù)據(jù)為源域和目標(biāo)域的訓(xùn)練集圖片和對應(yīng)的視角標(biāo)記(攝像頭編號),不使用任何行人類別標(biāo)記.初始學(xué)習(xí)率設(shè)為0.0001,經(jīng)歷100 000 次迭代訓(xùn)練后學(xué)習(xí)率開始線性遞減,直到第200 000次迭代時學(xué)習(xí)率遞減為0.網(wǎng)絡(luò)輸入的圖像尺寸重新調(diào)整為128×128 像素,批次大小設(shè)為16.式(10)和式(11)中有3 個超參數(shù)λ1,λ2,λ3,其中λ3控制循環(huán)一致?lián)p失的比重,本文參照文獻(xiàn)[36]提供的設(shè)置,將其設(shè)為10.圖6 顯示了參數(shù)λ1和λ2對識別率的影響,可以看出當(dāng)λ1取值為0.5~ 10.0,λ2取值為50~ 100 時,模型都能取得良好的識別率.特別地,當(dāng)λ1和λ2取1 和100 時性能最好.因此,將λ1和λ2分別設(shè)為1 和100.
圖6 不同參數(shù)對識別率的影響Fig.6 Influence of different parameters on the matching rate
行人特征學(xué)習(xí)網(wǎng)絡(luò)使用在ImageNet 上預(yù)訓(xùn)練過的ResNet50[42]網(wǎng)絡(luò)參數(shù)(替換掉最后一層全連接層)作為模型的初始化參數(shù),然后使用生成的數(shù)據(jù)集及對應(yīng)的行人類別標(biāo)記來微調(diào).特征學(xué)習(xí)網(wǎng)絡(luò)用隨機(jī)梯度下降法(Stochastic gradient descent,SGD)優(yōu)化器訓(xùn)練,最后一層全連接層的初始學(xué)習(xí)率設(shè)為0.1,其余層的初始學(xué)習(xí)率設(shè)為0.01,訓(xùn)練30 回合(Epochs)后學(xué)習(xí)率變?yōu)樵瓉淼?/10.網(wǎng)絡(luò)輸入的圖像尺寸重新調(diào)整為256×128 像素,批次大小設(shè)為64.
我們在3 個數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn).當(dāng)使用某個數(shù)據(jù)集作為目標(biāo)域時,其余兩個數(shù)據(jù)集分別作為源域來評估該源域遷移到目標(biāo)域的行人再識別的性能.
3.3.1 遷移到Market1501 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果
本節(jié)實(shí)驗(yàn)選擇Market1501 數(shù)據(jù)集作為目標(biāo)域,分別評估DukeMTMC-reID 和MSMT17 數(shù)據(jù)集遷移到Market1501 數(shù)據(jù)集的結(jié)果.
首先分析M2M-GAN 生成圖片的視覺效果.圖7(a)是Market1501 數(shù)據(jù)集6 個視角真實(shí)圖片的例子,圖7(b)是DukeMTMC-reID→Market1501的效果,圖7(c)是MSMT17→Market1501 的效果.圖7(b)或圖7(c)最左列是源數(shù)據(jù)集的真實(shí)圖片,右邊幾列是左邊圖片變換到目標(biāo)數(shù)據(jù)集(Market1501 數(shù)據(jù)集)各個視角的生成圖片,每一列代表一個視角.可以看出,生成圖片在視覺上更接近于Market1501 數(shù)據(jù)集的風(fēng)格,而身份信息(行人外觀)也沒有丟失.各個視角的生成圖片之間的差異不顯著,這是因?yàn)镸arket1501 數(shù)據(jù)集各個攝像頭的地理位置相距很近,拍攝到的數(shù)據(jù)分布相差不夠明顯.第3.3.2 節(jié)和第3.3.3 節(jié)展示的另外兩個數(shù)據(jù)集更貼近實(shí)際應(yīng)用場景.
然后定量分析遷移的效果,即把遷移后的數(shù)據(jù)用于行人再識別任務(wù).表1 是分別從DukeMTMCreID 數(shù)據(jù)集、MSMT17 數(shù)據(jù)集遷移到Market1501數(shù)據(jù)集的跨域遷移行人再識別結(jié)果.為了公平對比,所有實(shí)驗(yàn)使用相同的參數(shù)設(shè)置.表中“Pre-training”表示直接把從源域真實(shí)數(shù)據(jù)訓(xùn)練得到的模型用于目標(biāo)域測試.“CycleGAN”和“M2M-GAN”都是先進(jìn)行圖像風(fēng)格遷移,再用變換后的新數(shù)據(jù)集訓(xùn)練行人再識別模型.其中“CycleGAN”相當(dāng)于文獻(xiàn)[34]提出的PTGAN,遷移時忽略了不同視角的差異性.“M2M-GAN”是我們提出的基于多視角的非對稱遷移方法.根據(jù)表1 的實(shí)驗(yàn)結(jié)果可知,“Pre-training”和“CycleGAN”這兩種不使用遷移或只用對稱遷移算法的效果較差.與“CycleGAN”相比,“M2MGAN”的rank1 提高了11.7%和11.8%,mAP 提高了8.1%和7.7%,這驗(yàn)證了“M2M-GAN”的有效性.
表1 不同風(fēng)格遷移方法在Market1501 數(shù)據(jù)集上的識別率(%)Table 1 Matching rates of different style translation methods on the Market1501 dataset (%)
特別地,“CycleGAN”比“Pre-training”的效果有所降低.“Pre-training”沒有使用遷移方法,“CycleGAN”使用了遷移方法,但是卻比不使用遷移(“Pre-training”)效果還差,這說明并不是所有遷移算法都能獲得效果提升.雖然遷移算法能把部分源域的知識遷移到目標(biāo)域,但是遷移過程中可能會有信息損失.仔細(xì)觀察真實(shí)圖片和對應(yīng)的生成圖片(圖7),會發(fā)現(xiàn)生成圖片丟失了一些行人細(xì)節(jié)信息.例如,生成圖片中行人的鞋子、背包、五官等紋理變得模糊.使用這些損失了部分細(xì)節(jié)信息的圖片來訓(xùn)練,會降低模型學(xué)習(xí)行人判別性特征的能力.但另一方面,圖片風(fēng)格遷移又會提高模型對目標(biāo)域的適應(yīng)程度.所以風(fēng)格遷移算法既有提升(減小數(shù)據(jù)集差異)也有損失(遷移過程中的信息丟失),提升大于損失的遷移算法才能比無遷移算法的效果好.
圖7 其他數(shù)據(jù)集遷移到Market 數(shù)據(jù)集的可視化例子Fig.7 Visual examples of translations from other datasets to the Market1501 dataset
接下來是訓(xùn)練時間和模型參數(shù)量的對比.表2是不同方法在Market1501 數(shù)據(jù)集上的訓(xùn)練時間和模型參數(shù)量對比,源數(shù)據(jù)集為DukeMTMC-reID 數(shù)據(jù)集.行人特征學(xué)習(xí)網(wǎng)絡(luò)是完全一樣的,所以只需對比生成對抗網(wǎng)絡(luò)這一階段.表2 中“CycleGAN”、“M2M-GAN”的含義與前文解釋一致.“M×NCycleGAN”是本文設(shè)置的基準(zhǔn)實(shí)驗(yàn),在“CycleGAN”基礎(chǔ)上考慮了多視角問題,對每種源域?目標(biāo)域視角組合都單獨(dú)訓(xùn)練一組生成對抗網(wǎng)絡(luò).從表2可知,“M×NCycleGAN”和“M2M-GAN”都能提升準(zhǔn)確率,說明非對稱遷移的重要性,但兩者訓(xùn)練開銷相差較大,“M2M-GAN”開銷更少.另外,“M2M-GAN”準(zhǔn)確率略高于“M×NCycleGAN”,說明同時用多對視角組合數(shù)據(jù)訓(xùn)練比單獨(dú)用各對視角組合數(shù)據(jù)訓(xùn)練更能利用不同視角數(shù)據(jù)之間的相關(guān)性,使得遷移效果更好.
表2 不同方法在Market1501 數(shù)據(jù)集上的訓(xùn)練時間和模型參數(shù)量Table 2 Training time and model parameters of different methods on the Market1501 dataset
為了驗(yàn)證不同模塊的重要性,我們進(jìn)行了消融實(shí)驗(yàn).本文在循環(huán)生成對抗網(wǎng)絡(luò)基礎(chǔ)上添加了視角嵌入模塊、視角分類模塊和身份保持模塊(身份保持模塊參考文獻(xiàn)[34]),我們分別驗(yàn)證這些模塊的作用.表3 是在生成階段使用不同的網(wǎng)絡(luò)模塊,最終得到的行人再識別準(zhǔn)確率.源數(shù)據(jù)集是DukeMTMC-reID 數(shù)據(jù)集,目標(biāo)數(shù)據(jù)集是Market1501 數(shù)據(jù)集.由于身份保持模塊是基于圖片風(fēng)格遷移的跨域行人再識別這類算法的基本模塊,所以我們在保留了身份保持模塊的基礎(chǔ)上再對視角嵌入、視角分類這兩個模塊進(jìn)行分析.對比表3 的第1 行和第2 行,可以驗(yàn)證身份保持的重要性.對比表3 的第2~ 4行,可以發(fā)現(xiàn)單獨(dú)使用視角嵌入模塊或者視角分類模塊都能提高準(zhǔn)確率,但準(zhǔn)確率提升不明顯.對比表3 的第3~ 5 行,可以發(fā)現(xiàn)同時使用視角嵌入模塊和視角分類模塊可以獲得更顯著的性能提升.這是因?yàn)橐暯乔度肽K為生成器提供了輔助信息輸入,視角分類模塊為生成器提供了監(jiān)督信號,兩個模塊配合使用才能取得理想的效果.另外,視角分類損失和身份保持損失的權(quán)重分析如圖6 所示,當(dāng)λ1取值為0.5~ 10.0,λ2取值為50~ 500 時,模型都能取得良好的識別率.
表3 不同模塊在Market1501 數(shù)據(jù)集上的準(zhǔn)確率分析(%)Table 3 Accuracy of different modules on the Market1501 dataset (%)
最后我們還與目前最先進(jìn)的無監(jiān)督行人再識別方法進(jìn)行了對比.將對比的方法分成3 組,第1 組是基于手工特征和歐氏距離的方法;第2 組是基于聚類的無監(jiān)督方法;第3 組是基于跨域遷移學(xué)習(xí)的方法.這些方法都沒有用到目標(biāo)域的標(biāo)注信息,屬于無監(jiān)督學(xué)習(xí)范疇.由表4 可知,本文的方法在Market1501 數(shù)據(jù)集上的Rank1 達(dá)到63.1%,mAP達(dá)到30.9%,高于大多數(shù)算法,特別是高于其他基于生成對抗網(wǎng)絡(luò)的方法.另外,TJ-AIDL[43]使用了行人屬性信息,但我們的結(jié)果依然比該方法要好.雖然本文的方法低于ARN (Adaptation and reidentification network)[44],但是本文與ARN 是不同類型的算法.基于生成對抗網(wǎng)絡(luò)的這類方法單獨(dú)考慮遷移和行人再識別問題,生成的風(fēng)格遷移圖像可以直接輸入到各種有監(jiān)督行人再識別模型中,不需要調(diào)整行人再識別模型結(jié)構(gòu).所以基于生成多抗網(wǎng)絡(luò)的跨域遷移方法具有很強(qiáng)的靈活性和發(fā)展前景.并且當(dāng)圖片生成技術(shù)或者有監(jiān)督行人再識別技術(shù)有所提升時,基于生成對抗網(wǎng)絡(luò)的跨域行人再識別性能也將得到進(jìn)一步提高.因此,本文提出的方法雖然低于ARN,但在基于生成對抗網(wǎng)絡(luò)的這一類方法中取得最好的效果,同樣具有應(yīng)用前景和研究價值.
表4 不同無監(jiān)督方法在Market1501 數(shù)據(jù)集上的識別率(%)(源數(shù)據(jù)集為DukeMTMC-reID 數(shù)據(jù)集)Table 4 Matching rates of different unsupervised methods on the Market1501 dataset (%) (The source dataset is the DukeMTMC-reID dataset)
3.3.2 遷移到DukeMTMC-reID 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果
本節(jié)實(shí)驗(yàn)選擇DukeMTMC-reID 數(shù)據(jù)集作為目標(biāo)域,所有圖表的含義與第3.3.1 節(jié)實(shí)驗(yàn)完全相同.
圖8 是M2M-GAN 生成圖片的視覺效果,可以看出生成圖片在視覺上更接近于DukeMTMCreID 數(shù)據(jù)集的風(fēng)格,并且各個視角的生成圖片之間有明顯的差別,主要差別是圖片的背景.遷移到DukeMTMC-reID 數(shù)據(jù)集不同視角的圖片有不同的背景,這與DukeMTMC-reID 數(shù)據(jù)集實(shí)際的數(shù)據(jù)分布是相符的.
圖8 其他數(shù)據(jù)集遷移到DukeMTMC-reID數(shù)據(jù)集的可視化例子Fig.8 Visual examples of translations from other datasets to the DukeMTMC-reID dataset
然后是定量分析遷移的效果.從表5 可以得出與Market 數(shù)據(jù)集實(shí)驗(yàn)類似的結(jié)論.與“Pre-training”和“CycleGAN”相比,“M2M-GAN”有效提高了行人再識別準(zhǔn)確率.
表5 不同風(fēng)格遷移方法在DukeMTMC-reID數(shù)據(jù)集上的識別率(%)Table 5 Matching rates of different style translation methods on the DukeMTMC-reID dataset (%)
接下來是訓(xùn)練時間和模型參數(shù)量的對比.由表6可知,“M2M-GAN”的準(zhǔn)確率比“CycleGAN”和“M×NCycleGAN”高,而訓(xùn)練時間和網(wǎng)絡(luò)參數(shù)量只略微高于“CycleGAN”,遠(yuǎn)低于“M×NCycleGAN”.再一次表明了“M2M-GAN”有效提升了識別準(zhǔn)確率,同時不需要大量的訓(xùn)練開銷.
表6 不同方法在DukeMTMC-reID 數(shù)據(jù)集上的訓(xùn)練時間和模型參數(shù)量Table 6 Training time and model parameters of different methods on the DukeMTMC-reID dataset
表7 是消融實(shí)驗(yàn)結(jié)果.與第3.3.1 節(jié)Market1501數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果類似,分別加入視角嵌入模塊或者視角分類模塊都能使行人再識別準(zhǔn)確率略微提升.但是視角嵌入和視角分類兩個模塊同時使用,可以取得更顯著的提升.這說明了本文方法的每個模塊都是有效的,并且同時使用能夠取得更好的效果.
表7 不同模塊在DukeMTMC-reID 數(shù)據(jù)集上的準(zhǔn)確率分析(%)Table 7 Accuracy of different modules on the DukeMTMC-reID dataset (%)
最后是與其他方法進(jìn)行對比.由表8 可知,本文的方法在Market1501 數(shù)據(jù)集上的Rank1 達(dá)到54.4%,mAP 達(dá)到31.6%,超過了其他基于生成對抗網(wǎng)絡(luò)的方法,僅低于ARN[44].
表8 不同無監(jiān)督方法在DukeMTMC-reID 數(shù)據(jù)集上的識別率(%) (源數(shù)據(jù)集為Market1501 數(shù)據(jù)集)Table 8 Matching rates of different unsupervised methods on the DukeMTMC-reID dataset (%)(The source dataset is the Market1501 dataset)
3.3.3 遷移到MSMT17 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果
本節(jié)實(shí)驗(yàn)選擇MSMT17 數(shù)據(jù)集作為目標(biāo)域,所有圖表的含義與第3.3.1 節(jié)實(shí)驗(yàn)完全相同.圖9是其他兩個數(shù)據(jù)集遷移到MSMT17 數(shù)據(jù)集的可視化例子.可以看出,生成的圖片在保持身份信息不變的同時視覺上更接近于MSMT17 數(shù)據(jù)集的風(fēng)格,并且各個視角的生成圖片服從不同的分布.最明顯的差別是光照不同,其次是背景信息不同,這與MSMT17 數(shù)據(jù)集的實(shí)際情況完全相符,也驗(yàn)證了多對多生成對抗網(wǎng)絡(luò)能同時進(jìn)行多個視角的遷移,而且遷移效果更好.
圖9 其他數(shù)據(jù)集遷移到MSMT17 數(shù)據(jù)集的可視化例子Fig.9 Visual examples of translations from other datasets to the MSMT17 dataset
定量分析行人再識別的準(zhǔn)確率也得出與前兩個數(shù)據(jù)集類似的結(jié)果.由表9 可得,在MSMT17 數(shù)據(jù)集上,“M2M-GAN”比“CycleGAN”和“Pre-training”這兩種方法的效果好很多.與“Pre-training”相比,“M2M-GAN”的Rank1 提升了17.7% 和16.6%.與“CycleGAN”相比,“M2M-GAN”的Rank1 提升了9.2%和12.1%.與前兩個數(shù)據(jù)集相比,“M2M-GAN”在MSMT17 數(shù)據(jù)集的優(yōu)勢最明顯,原因在于MSMT17 數(shù)據(jù)集攝像頭數(shù)目多、攝像頭數(shù)據(jù)分布差異大.這說明了我們提出的“M2M-GAN”比其他方法更能適用于復(fù)雜的現(xiàn)實(shí)場景.表10 與其他方法對比也體現(xiàn)“M2M-GAN”的良好效果.
表9 不同風(fēng)格遷移方法在MSTM17數(shù)據(jù)集上的識別率(%)Table 9 Matching rates of different style translation methods on the MSTM17 dataset (%)
表10 不同無監(jiān)督方法在MSMT17 上的識別率(%)(源數(shù)據(jù)集為Market1501 數(shù)據(jù)集)Table 10 Matching rates of different unsupervised methods on the MSMT17 dataset (%) (The source dataset is the Market1501 dataset)
目前跨域遷移行人再識別的方法忽略了域內(nèi)多個視角子分布的差異性,導(dǎo)致遷移效果不好.本文提出了基于多視角(攝像機(jī))的非對稱跨域遷移的新問題,并針對這一問題設(shè)計(jì)了多對多生成對抗網(wǎng)絡(luò)(M2M-GAN).M2M-GAN 考慮了源域多個視角子分布的差異性和目標(biāo)域多個視角子分布的差異性,并共同優(yōu)化所有的源域?目標(biāo)域視角組合.與現(xiàn)有不考慮視角差異的遷移方法相比,M2M-GAN 取到更高的識別準(zhǔn)確率.在3 個大規(guī)模行人再識別基準(zhǔn)數(shù)據(jù)集上,實(shí)驗(yàn)結(jié)果充分驗(yàn)證了本文提出的M2M-GAN 方法的有效性.未來的研究工作將考慮除視角以外的其他劃分子域的方式,例如按照不同的光照或行人背景進(jìn)行劃分,這樣能更好地刻畫出一個域內(nèi)的多個子分布的統(tǒng)計(jì)特性,進(jìn)一步提高遷移的性能.