梁文琦 王廣聰 賴劍煌 ,
行人再識別[1?7]是指在非重疊的攝像頭視角下檢索特定的目標行人圖片或視頻片段,它是多攝像機跟蹤、搜索取證等重要應用中的關鍵技術,廣泛應用于智能視頻監控網絡中[8].行人再識別最初的研究方法是先設計一種能夠描述行人圖片的手工視覺特征,再建立一個魯棒的距離度量模型來度量視覺特征之間的相似性[9?15].近年來,隨著深度學習的發展,大部分研究者轉向使用深度學習來處理行人再識別問題.文獻[16?18]分別提出了基于分類損失、驗證損失、三元組損失的行人再識別基本框架.為了處理行人圖像不對齊的問題,文獻[19?20]分別提出全局區域和局部區域的對齊方法,文獻[21]提出動態的特征對齊方法.為了處理攝像頭之間的差異,文獻[22]提出使用多組生成對抗網絡在同域內的多個視角之間進行遷移,以此縮小域內不同視角之間的差別.為了進一步提高識別準確率,最近有很多文獻嘗試使用額外的標注信息作為輔助.例如文獻[23]提出人體姿勢驅動的深度卷積模型,文獻[24]引入行人屬性標記,文獻[25?26]加入了人體掩模,文獻[27]提出在檢索過程中加入時空約束.
得益于深度學習的發展,如今行人再識別任務在大規模數據集上已經取得了良好的效果,但需要大量帶標注的訓練數據.然而,與其他檢索任務不同,收集帶標注的行人再識別訓練數據更加困難.標注數據的難點在于,行人再識別數據集沒有固定的類別,多人合作標注很困難;而且圖像分辨率低,不容易辨別.為了更符合實際場景的應用需求,科研人員開始研究如何在目標數據集沒有標注信息的前提下實現行人再識別.在這種背景下,非監督行人再識別(Unsupervised person re-identification)成為新的研究熱點.
目前,非監督行人再識別有兩類主要的研究方法.第1 類是基于聚類的非監督學習方法.文獻[28]提出一種基于聚類的非對稱度量學習方法,利用非對稱聚類學習把不同視角的數據投影到共享空間中.文獻[29]提出基于聚類和微調的非監督深度學習框架.該方法先使用預訓練的神經網絡模型提取目標數據集的特征,然后通過聚類算法得到目標數據集的偽標簽,再利用偽標簽對預訓練的網絡進行微調(Fine-tune).文獻[30]在文獻[29]的框架上再進行改進,提出一種自底向上逐層合并最相近簇的聚類方法.
非監督行人再識別的第2 類研究方法是跨域遷移學習方法(Cross-domain transfer learning).這類方法通常都有帶標注的行人再識別數據集作為輔助,這個輔助的數據集稱為源數據集或源域(Source domain),實際應用場景對應的無標注數據集稱為目標數據集或目標域(Target domain).由于只有源域是有標注的,所以這類方法的關鍵之處在于盡可能地把從源域中學習到的知識遷移到目標域中.文獻[31]通過添加域分類器和梯度反傳網絡層來實現域適應.文獻[32] 提出一種跨域自適應的Ranking SVM (Support vector machine)方法,利用了源域的正負樣本、目標域的負樣本和目標域估計的正樣本均值來訓練.文獻[33?34]則提出兩階段的跨域遷移學習方法:首先利用生成對抗網絡實現源域數據分布到目標域數據分布的變換,根據變換前源域數據的標簽對變換后的圖片進行標注;然后使用變換后的圖片及其對應的標注進行有監督訓練.
跨域遷移學習方法對目標域訓練集(無標注數據)的數據分布限制更少,應用范圍更廣泛,更加適合實際的行人再識別應用場景.但是現有的跨域遷移學習方法沒有考慮視角偏差(View-specific bias)問題,源域中不同視角(攝像機)的數據以完全相同的遷移方式變換到目標域中.也就是說,目前的遷移方式都是對稱的(對稱遷移).然而在智能監控視頻網絡中,不同拍攝地點的光照條件、拍攝角度以及攝像機本身的參數都可能存在明顯的差別,不同攝像頭拍攝到的圖片往往服從不同的分布.在跨域遷移學習時,忽略攝像頭的分布差異一方面會導致遷移效果不佳,另一方面會導致遷移后的數據無法體現出目標域多個視角子分布的情況,從而不利于訓練跨視角匹配模型.
基于以上分析,本文提出基于多視角(攝像機)的非對稱跨域遷移學習方法.在基于生成對抗網絡的兩階段跨域遷移學習方法[33?34]基礎上,本文針對視角之間的差異問題進行建模.為了對每種源域?目標域視角組合使用不同的遷移方式(稱為非對稱遷移),一個最簡單直觀的想法是把每個視角的數據看成是各自獨立的,然后訓練多組互不相干的生成對抗網絡模型,每個模型分別把知識從源域的某個視角遷移到目標域的某個視角.然而,這種不同視角組合使用不同網絡參數的非對稱遷移方式非常消耗訓練時間和存儲空間.假如源域有M個視角,目標域有N個視角,則一共需要訓練M ×N組生成對抗網絡.大型智能監控網絡涉及的攝像頭數目非常多,顯然這種方法是不切實際的.除此之外,單獨使用每對視角的數據來訓練生成對抗網絡無法利用數據集內不同視角數據之間的相關性.為了解決獨立訓練而造成成本太高的問題,并盡可能地利用不同視角數據的相關性,本文提出把非對稱遷移學習嵌入到一組生成對抗網絡中.為此,我們設計了一個多對多生成對抗網絡(Many-to-many generative adversarial network,M2M-GAN),同時實現源域任意視角子分布到目標域任意視角子分布的轉換.實驗表明,與現有的對稱遷移方法(不考慮視角差異,且僅有一組生成對抗網絡網絡)相比,我們的方法只需增加少量訓練時間和空間成本就能有效提升識別準確率.與單獨訓練多組生成對抗網絡這種簡單的建模方式(考慮視角差異,但需M ×N組生成對抗網絡)相比,我們的方法在訓練成本和識別準確率兩方面都取得更優的性能.
本文的主要貢獻:1)針對源域或者目標域存在多個具有差異性的子分布問題,本文提出一種多對多的跨域遷移模型來區別對待源域不同的子分布到目標域不同的子分布的遷移.本文將這種區分性的遷移模式稱為非對稱遷移.為了更好地優化非對稱遷移學習模型,本文提出了一種基于多對多生成對抗網絡(M2M-GAN)的遷移學習方法,同時實現把源域任意子分布的圖像風格轉變成目標域任意子分布的圖像風格.2)視角偏差或攝像機差異是跨域遷移行人再識別領域被忽略的一個關鍵問題.本文將M2M-GAN 方法應用于該領域,生成了具有視角差異且服從目標域各個視角子分布的行人圖片,進而使得模型學習到的特征具有視角偏差不變性,有效提升了無監督跨域遷移行人再識別的準確率.3)在Market-1501,DukeMTMC-reID 和MSMT17 三個大規模多攝像頭行人再識別基準數據集上,實驗結果驗證了M2M-GAN 的有效性.
生成對抗網絡(Generative adversarial network,GAN)[35]主要用于圖像風格轉換,例如把照片變成油畫、把馬變成斑馬等.它由生成器和鑒別器兩部分組成,利用博弈論觀點來訓練.生成器試圖生成能夠以假亂真的圖片來“欺騙”鑒別器,而鑒別器則盡可能地把生成器生成的“假冒”圖片鑒別出來.生成器和鑒別器相互對抗,交替訓練,直到鑒別器無法判斷生成器生成圖片的真假,這個過程可以用對抗損失表示.
用于圖片風格轉換的生成對抗網絡一般需要成對的訓練樣本,但實際應用中很難收集到足夠的成對樣本.循環生成對抗網絡(Cycle-GAN)[36]通過在普通生成對抗網絡的基礎上添加循環一致約束來實現非配對圖像之間的轉換.假設需要在兩個域X和Y之間轉換,循環一致約束要求對于域X的一張真實的圖片x,通過生成器G生成圖片G(x),G(x) 再經過生成器生成重構圖片(G(x)),這個重構圖片需要和原始的真實圖片x保持像素級別的一致.同理,對于域Y也是如此.
跨域遷移學習方法是當前在目標數據集無標注的情況下解決行人再識別最常用的方法.除了沒有標注信息的目標數據集外,這類方法還會使用其他場景下有標注的行人再識別數據集作為輔助.跨域遷移學習方法的關鍵之處在于盡可能地把有標注的輔助數據集(即源域 (Source domain))的知識遷移到無標注的目標數據集(即目標域 (Target domain)).跨域行人再識別方法的難點在于不同的行人再識別數據集之間存在較大的差異(Dataset bias),因而極大增加了從源域到目標域知識遷移的難度.這些數據集差異包括圖像背景、光照、拍攝角度、圖像分辨率等.如果能減小這種數據集之間的差異,那么在有標注數據集上訓練的模型就可以適用于無標注的目標數據集.而循環生成對抗網絡恰好適合用于減小數據集之間的差異.如第1.1 節所述,循環生成對抗網絡可以把一種風格的圖片變成另一種風格的圖片,并且不需要使用兩個域中配對的數據來訓練.利用循環生成對抗網絡,可以把源域的圖片風格轉變成目標域的圖片風格.因此,基于循環生成對抗網絡的跨域遷移行人再識別可分為兩階段:第1 階段是訓練循環生成對抗網絡,用源域圖片生成具有目標域圖片風格的新數據集,新數據集使用源域的身份標注;第2 階段是利用新數據集及對應的身份標注進行有監督的行人再識別.
目前跨域遷移行人再識別的課題研究忽略了域內不同視角的數據分布差異問題,對于所有的視角數據采用完全相同的遷移方式.我們重點研究了多個視角子分布的差異在遷移學習中的重要性,并提出了非對稱跨域遷移行人再識別問題.為了能高效地實現非對稱遷移,我們設計了多對多生成對抗網絡(M2M-GAN).本節將詳細介紹我們提出的方法.
在智能視頻監控網絡中,不同攝像頭被布置在光照條件、拍攝角度不同的位置,再加上攝像頭自身參數的差異,所以實際應用中不同攝像頭拍攝得到的行人圖片數據會呈現不同的分布情況.圖1 列出了4 個常見的行人再識別數據集的例子,其中每張子圖的不同列代表該數據集內不同攝像頭拍攝得到的行人圖片.從圖1 可以看出,攝像頭分布差異在行人再識別任務中是普遍存在的.

圖1 攝像機分布差異舉例Fig.1 Examples of distribution differences between different views
然而,現有的行人跨域遷移框架忽略了這種攝像頭分布差異性,會造成精度的損失.我們用圖2對此進行直觀的解釋.圖2(a)和2(b)兩幅圖描述了源數據集和目標數據集整體上存在較大差異,每個數據集內部也存在一定的子分布差異的現象.每幅圖內不同的曲線分別代表了數據集內某個特定視角的分布.不同的視角子分布都近似于整體分布,具有相似性,但是各自又存在一定的偏差.圖2(c)和2(d)分別是圖2(a)和2(b)中各個數據集內所有視角子分布的平均值,圖2(c)和2(d)兩幅圖只描述了源數據集和目標數據集差異.現有的遷移框架主要研究如何減小數據集差異,在遷移過程中把源域和目標域都分別看作一個整體,即從圖2(c)到2(d)的遷移.但是,使用平均分布來估計具有多子分布的真實數據集,即用圖2(c)和2(d)來估計圖2(a)和2(b),會帶來精度的損失.所以我們重點研究遷移過程中的視角差異問題,提出用源數據集多視角到目標數據集多視角遷移(即(a)→(b))代替傳統的整體遷移(即(c)→(d))方式.
我們從兩方面詳細地分析多對多遷移的好處.一方面,在遷移過程中加入視角信息可以提高生成圖片質量.假設生成器G用于從源域到目標域遷移,鑒別器D用于鑒別輸入圖片是否屬于目標域.生成器G的輸入是具有多個子分布的圖片(圖2(a)),假如忽略視角差異,那么生成器就需要針對所有視角子分布采用相同的生成方式.但是同一種映射方式很難同時適用于多種視角分布.而如果在生成器中引入視角信息,使生成器針對不同的子分布選擇不同的生成方式,就可以提高生成圖片的質量.同樣地,鑒別器的輸入也是具有多個視角子分布的真實圖片或生成圖片.如果在鑒別器中融入視角信息,使鑒別器針對不同視角子分布采取不同的鑒別方式,就可以提高鑒別器的鑒別能力,從而間接提高生成器的效果.

圖2 本文提出的多視角對多視角遷移方式與現有遷移方式的比較Fig.2 Comparison of our M2M transferring way and the existing methods
另一方面,強調視角子分布可以使生成的數據更好地模擬出目標域多視角分布的現實情況,更有利于解決目標域跨視角匹配問題.假如在遷移時不區分視角,那么遷移的結果只包含了目標域的總體統計特性(圖2(d)),沒有包含目標域各個視角的統計特性(圖2(b)).而目標域行人再識別的一個關鍵問題是要實現跨視角行人圖片匹配,即要訓練一個對視角魯棒的行人再識別模型.為了訓練對視角魯棒的行人再識別模型,就需要具有不同視角分布風格的訓練圖片.所以,如果能生成服從目標域不同視角子分布的圖片(圖2(b))作為訓練數據,而不僅僅生成服從目標域平均分布(圖2(d))的圖片,將會大大提升模型對視角的魯棒性.
以上分析體現了遷移過程中結合視角信息的重要性.因此,我們提出了非對稱跨域遷移行人再識別問題,強調針對源域的不同視角或目標域的不同視角采取不同的遷移方式.
具體地,非對稱跨域遷移行人再識別問題可以描述為:令S表示一個有標注的源域,T表示一個沒有標注的目標域.S包含M個視角,記為S1,S2,···,Si,···,SM.T包含N個視角,記為T1,T2,···,Tj,···,TN.每張圖片來自哪個攝像頭是容易收集的標注信息,所以每張圖片的視角標記Si或Tj可視為已知信息.非對稱跨域遷移行人再識別的目標是把源域的多個子域分別遷移到目標域的多個子域.即對于任意的i ∈[1,M],j ∈[1,N],要實現從Si到Tj的遷移.給定源域視角Si的一張真實圖片xsi和相應的身份標注ysi,利用生成具有目標域視角Tj風格的圖片然后,使用生成圖片和身份標注訓練行人再識別模型.
由于同一個行人不會同時出現在源域和目標域中,我們無法獲取配對的訓練樣本用于源域?目標域行人圖片風格遷移.而循環生成對抗網絡恰好不需要成對訓練樣本,所以目前的研究方法通常采用循環生成對抗網絡來實現源域?目標域行人圖片風格遷移.但是直接應用循環生成對抗網絡,只能實現源域整體與目標域整體風格之間的遷移.
想要實現源域多視角與目標域多視角之間的非對稱遷移,一種簡單的方案是針對每對源域?目標域視角組合 (Si,Tj) 分別訓練一組循環生成對抗網絡,共需M ×N組循環生成對抗網絡用于實現源域M個視角和目標域N個視角之間的遷移.顯然這種方法是不切實際的,因為在一個大型智能視頻監控網絡中可能存在成百上千個攝像頭,訓練M ×N組深度網絡會帶來巨大的訓練時間和存儲空間損耗.我們希望只用一組生成對抗網絡實現源域多個視角和目標域多個視角圖片風格遷移.因此,我們在循環生成對抗網絡基礎上進行改進,設計了多對多生成對抗網絡,使得模型不僅局限于兩個域整體風格的遷移,還能細化到多個視角的圖像風格遷移.
為了實現兩個域的不同視角之間的圖片風格遷移,首先我們需要把視角信息輸入到模型中.假如沒有子視角信息,模型就無法針對不同的視角組合采取不同的遷移方式.為此,我們設計了視角嵌入模塊(第2.2.2 節),把原始輸入圖片、源域視角標記、目標域視角標記整合在一起,形成新的“嵌入圖”作為生成器的輸入,為生成器提供視角信息.
視角嵌入模塊明確告訴生成器需要從源域的哪一個視角遷移到目標域的哪一個視角,但只有信息嵌入并不足以引導生成器按照期望的方向生成圖片.除了視角信息輸入,我們還需要為生成器提供監督信號,引導生成器利用輸入的視角信息.也就是說,我們需要判斷生成圖片與期望視角的差別有多大,這樣才能把縮小差距作為訓練目標來優化生成器的參數.為此,我們設計了視角分類模塊(第2.2.3 節),該模塊利用一個視角分類器來預測生成圖片與期望視角的差距,然后用預測的結果監督生成器,引導生成器生成與期望視角差異盡可能小的圖片,如圖3 所示.

圖3 多對多生成對抗網絡框架(省略了目標域 → 源域的生成過程、循環一致損失和身份保持損失)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)
視角嵌入和視角分類兩個模塊,前者為生成器提供了視角信息,后者監督生成器充分地利用輸入的視角信息.這兩個模塊配合使用,就可以在同一個網絡中實現兩個域多個視角組合的圖片風格遷移.
下面將詳細介紹多對多生成對抗網絡,先回顧循環生成對抗網絡(第2.2.1 節),然后介紹視角嵌入模塊(第2.2.2 節)和視角分類模塊(第2.2.3 節),最后給出總目標函數(第2.2.4 節)并說明模型結構設計和訓練的細節(第2.2.5 節).
2.2.1 循環生成對抗網絡
多對多生成對抗網絡在循環生成對抗網絡基礎上進行改進,本節簡要描述循環生成對抗網絡算法.循環生成對抗網絡[36]由兩個生成器和兩個鑒別器組成.其中兩個生成器(G和)分別用于源域遷移到目標域和目標域遷移到源域的圖片生成,兩個鑒別器(Dt和Ds)分別用于判斷生成圖片是否屬于源域和目標域的真實分布.循環生成對抗網絡包含對抗損失和循環一致損失.為了統一符號,我們把對抗損失和循環一致損失改寫成多視角形式,與原本的循環生成對抗網絡略有不同.
1) 對抗損失.源域視角Si遷移到目標域視角Tj的對抗損失可以表示為


源域S遷移到目標域T的對抗損失是所有源域?目標域視角組合的對抗損失的平均值

由式(1)和式(2)得:

其他損失函數與此類似,兩個域之間的損失等于源域?目標域所有視角組合損失的平均值,不再對此詳細說明.
類似地,目標域T遷移到源域S的對抗損失為


2.2.2 源域和目標域視角嵌入
為了讓生成器能明確當前遷移方向是從源域(或目標域)的哪個視角遷移至目標域(或源域)的哪個視角,生成器的輸入應包含視角標記.我們把視角標記作為額外的輸入通道(Channel),這樣就可以把視角信息輸入到生成器神經網絡中.但是圖像和視角標簽的維度不一致,無法直接結合,要對視角標記進行轉換,轉換過程如圖4 所示.我們先用one-hot 編碼方式對視角標記進行編碼.然后對每一位one-hot 編碼值,如果其值為1,就生成一張值全為1 的二維圖;如果其值為0,就生成一張值全為0 的二維圖.通過這種方式,視角標記可以轉換為與輸入圖片具有相同圖片尺寸的多通道圖片.于是輸入圖片、輸入圖片對應的視角標記、期望輸出圖片對應的視角標記三者就可以依次疊加,一起輸入到生成器中.



圖4 視角嵌入Fig.4 View embedding
2.2.3 視角分類器
通過視角嵌入模塊,視角信息被輸入到生成器中.但是僅僅增加輸入信息并不能約束生成器,還需要為生成器提供監督信號,引導生成器利用輸入的視角信息.生成器的目標是盡可能縮小生成圖片與期望視角的差距,所以我們可以把生成圖片屬于期望視角的概率值作為監督信號.假如生成器生成的圖片偏離期望的視角分布,就需要懲罰生成器.

接下來,我們將敘述如何計算生成圖片與期望視角的差距(視角類別估計),以及如何利用這一信息監督生成器.
1) 估計視角類別.估計生成圖片屬于域內某個視角的概率,其實就是視角分類任務.所以,我們可以訓練視角分類器,然后利用視角分類器來預測生成圖片屬于域內各個視角的概率.
源域視角分類和目標域視角分類是兩個獨立的任務,我們設計了視角分類器Cs和Ct,分別用于源域M個視角和目標域N個視角分類.訓練視角分類需要訓練樣本和樣本對應的視角標記,我們利用了數據集中真實的圖片和真實的視角標記作為訓練樣本.訓練Cs時,使用源域真實的訓練圖片和視角標記.訓練Ct時,使用目標域真實的訓練圖片和視角標記.值得一提的是,這里只使用了視角標記,并不會使用任何身份標記.為了訓練Cs和Ct,采用圖像分類中最常用的交叉熵損失函數

2) 監督視角生成.以視角Si遷移到視角Tj為例,利用視角分類器可以估計生成圖片屬于目標域N個視角中的視角Tj的概率.接下來,對生成器進行約束,使得生成圖片屬于視角Tj類別的概率盡量接近1,屬于其他N ?1 個視角類別的概率盡量接近0.這個目標與分類任務類似,不同點只在于此時需要優化的參數是生成器,而視角分類器只用來估計生成圖片屬于各個視角類別的概率,參數是固定不變的.因此,也可以用以下交叉熵損失對生成器進行約束:

2.2.4 總目標函數
目標函數由4 部分組成,包括對抗損失(式(3)和式(4))、循環一致損失(式(5))、視角分類損失(式(7)和式(8))、身份保持損失(式(9)).除了前文已經介紹的前三種損失,還需要身份保持損失,用來保證遷移過程中身份信息不變,否則無法得到生成后圖片的正確身份標注.我們使用文獻[34]提出的基于前景掩模的身份保持損失函數.在多對多生成對抗網絡中,該損失可以表示為

其中,M(·) 表示圖片的前景掩模,實驗中使用在COCO (Common objects in context)數據集[37]訓練過的Mask R-CNN (Region convolutional neural network)[38]模型來提取行人的前景.∥·∥2表示L2 范數,“?”表示逐像素乘法操作.式(9)表示生成前和生成后的圖片前景應保持一致,即與前景保持一致.
鑒別器和視角分類器有很強的聯系,鑒別器分辨輸入圖片是否屬于某個域,視角分類器分辨輸入圖片屬于該域的哪個視角,它們之間是粗粒度分類和細粒度分類的關系.于是,類似于多任務學習,我們令鑒別器和視角分類器共享一部分參數并讓它們共同優化.
綜合以上4 種損失函數,我們將總目標分為兩部分.生成器的目標函數為

鑒別器和視角分類器的目標函數為

其中,λ1,λ2,λ3分別用于控制視角分類損失、身份保持損失和循環一致損失的相對重要性.
2.2.5 實現細節
在循環生成對抗網絡的基礎上,多對多生成對抗網絡增加了兩個視角分類器.所以多對多生成對抗網絡一共由兩個生成器、兩個鑒別器和兩個視角分類器組成.圖3 是多對多生成對抗網絡的框架圖(圖中只完整描述了源域遷移至目標域的全過程,省略了目標域遷移至源域的生成過程、循環一致損失和身份保持損失).圖5 是網絡結構示意圖.網絡結構圖中長方體部分表示網絡層、箭頭上方是每一網絡層的輸出維度、M和N分別表示源域和目標域子視角類別數.圖5 中展示的網絡結構以源域為例,目標域的網絡結構與此類似,唯一不同點是子視角類別數不同.

圖5 多對多生成對抗網絡結構圖Fig.5 Network structures of our M2M-GAN
1) 生成器結構.我們使用兩個不同的生成器,分別用于從源域到目標域、從目標域到源域的遷移,兩個生成器結構一致.與循環生成對抗網絡類似,我們也采用經典的編碼器?解碼器(Encoder-decoder)模式搭建生成器.
生成器的輸入為集成了源域視角和目標域視角信息的嵌入圖(式(6)),嵌入圖大小為(3+M+N)×128×128,M和N分別表示源域和目標域的視角數目.由于源域視角和目標域視角數目不固定,嵌入圖的通道數不是一個確定的值.所以在對輸入數據進行特征編碼前,首先用一個有64 組濾波器的卷積層對嵌入圖進行卷積操作,把通道數統一調整為64.
卷積后得到的特征圖大小為 3×128×128,經過連續兩次下采樣操作得到 256×3×3 的特征圖.每一次下采樣操作會把特征圖的寬和高變為原來的一半,通道數變為原來的兩倍.下采樣把圖像從高維空間轉換到潛在的低維空間,便于后續對特征進行處理.下采樣可以通過卷積來實現.接下來,特征圖輸入到由6 個殘差單元組成的瓶頸層.瓶頸層會對特征進行加工,篩選出能夠用于構造目標圖片的特征.最后,特征圖經過連續兩次上采樣操作,得到256×3×3 的特征圖.上采樣和下采樣是一一對應的,上采樣把低維特征圖重新變成高維圖像,可以通過反卷積實現.為了使網絡最終輸出3 通道RGB 圖片,網絡最后一層是一個由3 組濾波器組成的卷積層,把圖片通道數重新調整為3.
2) 鑒別器和視角分類器結構.鑒別器和視角分類器的學習目標有相似之處,前者判斷輸入圖片是否服從某個域的整體分布,后者判斷輸入圖片服從某個域的哪一個視角子分布,所以我們令鑒別器和視角分類器共享一部分參數.具體來說,鑒別器和視角分類器共享特征提取器,該特征提取器由6 個卷積層組成.輸入圖片經過共享的特征提取器,提取到對應的特征圖,然后特征圖流向兩個分支,進行多任務學習.
其中一個分支是鑒別器,鑒別器需要對“真假”兩個類別進行分類,是二分類問題.所以我們選擇用1 組濾波器構成“真假”分類器,該濾波器用于計算圖片屬于真實分布的概率.
另一個分支是視角分類器,視角分類器需要對源域(或目標域)M個視角(或N個視角) 進行分類,是多分類問題.所以我們選擇用M組(或N組)濾波器來構造多分類器.每個濾波器分別計算圖片屬于其中某個視角的概率,多組濾波器輸出的是圖片屬于源域(或目標域)M個視角(或N個視角)的概率.
3) 訓練方式.多對多生成對抗網絡訓練時,多視角組合是共同訓練和優化的.同一數據集不同視角的圖片包含相同的人群、相同的時間段和相似的背景,這種數據高相關性使得同時優化M ×N對視角組合的遷移并不需要M ×N倍訓練時間(對比單獨優化一對視角的訓練時間).下面舉個簡單的例子進行說明.假設源域S有S1,S2兩個視角,目標域T有T1,T2兩個視角.有三種不同的訓練方式:a)用S1,S2,T1,T2所有數據訓練一個不區分視角的生成對抗網絡(基本的遷移方法,不區分視角).b)單獨使用一對視角組合數據訓練一組生成對抗網絡,即用(S1,T1)、(S1,T2)、(S2,T1)、(S2,T2)分別訓練一組生成對抗網絡(區分視角,單獨優化).c)用S1,S2,T1,T2所有數據訓練一個區分視角的生成對抗網絡(本文提出的多對多遷移方法,區分視角,共同優化).由于不同視角數據分布相似,再加上新增的網絡結構和損失函數對整體收斂速度影響不大,所以無論是用一對視角數據(如S1,T1)還是全部視角數據(即S1,S2,T1,T2),無論是訓練普通的生成對抗網絡還是多對多生成對抗網絡,對于一組生成對抗網絡的訓練開銷是相近的.因此方式1、方式2 和方式3 訓練一組生成對抗網絡需要的訓練開銷近似,但方式2 需要訓練4 組生成對抗網絡,因此訓練開銷大約是其他兩種方式的4 倍.實驗結果可以驗證,多對多遷移不需要大量的訓練開銷.
多對多生成對抗網絡的具體訓練過程是:每次迭代都隨機從源域和目標域分別選擇Q張圖片(Q等于訓練批次大小的一半),每張圖片有兩個視角標記,分別是圖片自身的視角標記以及隨機生成的另一個域的視角標記.然后用這 2Q張圖片交替訓練鑒別器和生成器.訓練鑒別器和視角分類器時,生成器的參數固定不變,用式(11)計算損失,并反向傳播更新鑒別器和視角分類器的網絡參數;訓練生成器時,鑒別器和視角分類器的參數固定不變,用式(10)計算損失,并反向傳播更新生成器的網絡參數.
多對多生成對抗網絡訓練完成后,我們就可以利用訓練好的生成器把源域的圖片變換到目標域,然后使用變換后的數據集訓練行人再識別模型.因為經過遷移的圖片可以使用遷移前的身份標記,這樣就把無監督問題變成了有監督的行人再識別問題,然后可以采取任意一種有監督的行人再識別方法.特別地,在本文中我們采用最常見的基于分類損失的行人再識別框架,把每個行人看作一個類別,使用分類損失函數(交叉熵)訓練

其中,K是行人類別數,p(k) 是深度模型預測的樣本屬于第k類行人的概率.q(k) 表示真實的概率分布.當k為輸入圖片真實類別時,q(k) 值為1,否則q(k)為0.訓練結束后,提取深度模型分類層前一層的網絡層輸出作為特征描述子,最后用歐氏距離度量查詢圖片和所有候選圖片的相似性.
為了便于理解,我們對整體流程總結如下:
步驟1.訓練多對多生成對抗網絡.使用源域的訓練集和目標域的訓練集訓練一個多對多生成對抗網絡,該步驟不使用任何行人身份標注.
步驟2.生成新數據集.多對多生成對抗網絡訓練完成后,對于源域的每一張圖片,我們利用訓練好的生成器都生成出目標域N個視角的新圖片,新圖片的身份標注使用對應的原始圖片的身份標注.
步驟3.訓練行人再識別模型.使用生成的數據集和對應的身份標注,以監督學習的方式訓練一個行人再識別的深度神經網絡.
為了驗證本文提出的基于多對多生成對抗網絡的遷移方法的有效性,我們設計了多個實驗.
1) 設計了M2M-GAN 的可視化實驗,定性分析M2M-GAN 是否能把源域各個視角的圖片風格轉換成目標域各個視角的圖片風格.該實驗的目的是驗證M2M-GAN 是否能夠模擬出目標域多視角分布的實際情況.
2) 將M2M-GAN 生成的圖片用于行人再識別的效果.如果M2M-GAN 生成的圖片能更好地體現目標域多個視角分布的特性,那么生成的圖片就能夠提高目標域內跨視角匹配的準確率.為了驗證此觀點,我們設置了兩種跨域行人再識別基準實驗作為對比,分別是:a)無遷移;b)不區分視角的遷移.把M2M-GAN 與這兩種基準實驗進行對比,可以驗證我們提出的區分視角的遷移算法的有效性.
3) 設計了訓練時間和模型參數量大小分析實驗,對比了M2M-GAN 和兩種遷移方式:a)經典的不區分視角的遷移模型;b)針對多種源域?目標域視角組合訓練多組生成對抗網絡的模型.與這兩種方法對比,目的是驗證第2.2 節提出的用多組生成對抗網絡實現多視角遷移的不可行性和M2MGAN 的可實現性的觀點.
4) 設計了消融實驗,用來分析M2M-GAN 模型中的視角嵌入模塊、視角分類模塊和身份保持模塊這3 個模塊的作用.另外,該實驗也能分析生成過程和鑒別過程中引入視角信息所起的作用.假如引入多視角信息有助于提高生成圖片用于行人再識別的準確率,則可驗證第2.1 節提出的“在遷移時引入視角信息是有利的”的觀點.
5) 與其他無監督方法進行對比,從而驗證我們方法的先進性.
本文實驗使用了3 個公開的大規模跨視角行人再識別基準數據集,包括Market1501[39]數據集、DukeMTMC-reID[40]數據集和MSMT17[34]數據集.
Market1501 數據集包含了6 個監控攝像頭數據.數據集中有1 501 個行人共32 668 張圖片.其中訓練集包含751 個行人共12 936 張圖片,測試集包含750 個行人共19 732 張圖片,測試集中有3 368張圖片被隨機選為查詢集,剩下的圖片作為候選集.
DukeMTMC-reID 數據集包含了8 個監控攝像頭數據.數據集中一共有1 812 人,其中408 人只有一個攝像機拍攝的圖片.訓練集包含702 個行人共16 522 張圖片,測試集包含702 個行人.測試集中有2 228 張行人圖片被選為查詢圖片,其余的17 661張圖片(包括702 個作為測試的行人及408 個作為干擾的行人)作為候選集.
MSMT17 數據集是2018 年新發布的行人再識別數據集,它更符合實際應用場景.例如,數據集包含的攝像頭數目更多,由15 個監控攝像頭組成;數據集包含的行人數目更多,共4 101 人;拍攝時間和地點跨度更大,包含了室內室外四天內早中晚三個時段的數據,光照和背景變化更豐富.訓練集中有1 041 個行人共32 621 張圖片,測試集中有3 060人共93 820 張圖片.其中測試集里有11 659 張圖片被隨機選為查詢圖片,其余82 616 張圖片作為候選集.
本文采用常見的行人再識別評測指標,包括累積匹配曲線(Cumulative matching characteristics,CMC)和平均準確率均值(Mean average precision,mAP).CMC 表示前r個匹配結果中正確匹配的比例,r=1 表示首位匹配準確率.CMC 主要反映模型的準確率,mAP 則兼顧準確率和召回率.其中AP (Average precision)是某個類別所有返回結果的排列序號(Rank)倒數的加權平均值,mAP就是所有類別AP 值的平均值.
我們使用Adam 優化器[41](β1=0.5,β2=0.999)訓練M2M-GAN.訓練數據為源域和目標域的訓練集圖片和對應的視角標記(攝像頭編號),不使用任何行人類別標記.初始學習率設為0.0001,經歷100 000 次迭代訓練后學習率開始線性遞減,直到第200 000次迭代時學習率遞減為0.網絡輸入的圖像尺寸重新調整為128×128 像素,批次大小設為16.式(10)和式(11)中有3 個超參數λ1,λ2,λ3,其中λ3控制循環一致損失的比重,本文參照文獻[36]提供的設置,將其設為10.圖6 顯示了參數λ1和λ2對識別率的影響,可以看出當λ1取值為0.5~ 10.0,λ2取值為50~ 100 時,模型都能取得良好的識別率.特別地,當λ1和λ2取1 和100 時性能最好.因此,將λ1和λ2分別設為1 和100.

圖6 不同參數對識別率的影響Fig.6 Influence of different parameters on the matching rate
行人特征學習網絡使用在ImageNet 上預訓練過的ResNet50[42]網絡參數(替換掉最后一層全連接層)作為模型的初始化參數,然后使用生成的數據集及對應的行人類別標記來微調.特征學習網絡用隨機梯度下降法(Stochastic gradient descent,SGD)優化器訓練,最后一層全連接層的初始學習率設為0.1,其余層的初始學習率設為0.01,訓練30 回合(Epochs)后學習率變為原來的1/10.網絡輸入的圖像尺寸重新調整為256×128 像素,批次大小設為64.
我們在3 個數據集上進行實驗.當使用某個數據集作為目標域時,其余兩個數據集分別作為源域來評估該源域遷移到目標域的行人再識別的性能.
3.3.1 遷移到Market1501 數據集的實驗結果
本節實驗選擇Market1501 數據集作為目標域,分別評估DukeMTMC-reID 和MSMT17 數據集遷移到Market1501 數據集的結果.
首先分析M2M-GAN 生成圖片的視覺效果.圖7(a)是Market1501 數據集6 個視角真實圖片的例子,圖7(b)是DukeMTMC-reID→Market1501的效果,圖7(c)是MSMT17→Market1501 的效果.圖7(b)或圖7(c)最左列是源數據集的真實圖片,右邊幾列是左邊圖片變換到目標數據集(Market1501 數據集)各個視角的生成圖片,每一列代表一個視角.可以看出,生成圖片在視覺上更接近于Market1501 數據集的風格,而身份信息(行人外觀)也沒有丟失.各個視角的生成圖片之間的差異不顯著,這是因為Market1501 數據集各個攝像頭的地理位置相距很近,拍攝到的數據分布相差不夠明顯.第3.3.2 節和第3.3.3 節展示的另外兩個數據集更貼近實際應用場景.
然后定量分析遷移的效果,即把遷移后的數據用于行人再識別任務.表1 是分別從DukeMTMCreID 數據集、MSMT17 數據集遷移到Market1501數據集的跨域遷移行人再識別結果.為了公平對比,所有實驗使用相同的參數設置.表中“Pre-training”表示直接把從源域真實數據訓練得到的模型用于目標域測試.“CycleGAN”和“M2M-GAN”都是先進行圖像風格遷移,再用變換后的新數據集訓練行人再識別模型.其中“CycleGAN”相當于文獻[34]提出的PTGAN,遷移時忽略了不同視角的差異性.“M2M-GAN”是我們提出的基于多視角的非對稱遷移方法.根據表1 的實驗結果可知,“Pre-training”和“CycleGAN”這兩種不使用遷移或只用對稱遷移算法的效果較差.與“CycleGAN”相比,“M2MGAN”的rank1 提高了11.7%和11.8%,mAP 提高了8.1%和7.7%,這驗證了“M2M-GAN”的有效性.

表1 不同風格遷移方法在Market1501 數據集上的識別率(%)Table 1 Matching rates of different style translation methods on the Market1501 dataset (%)
特別地,“CycleGAN”比“Pre-training”的效果有所降低.“Pre-training”沒有使用遷移方法,“CycleGAN”使用了遷移方法,但是卻比不使用遷移(“Pre-training”)效果還差,這說明并不是所有遷移算法都能獲得效果提升.雖然遷移算法能把部分源域的知識遷移到目標域,但是遷移過程中可能會有信息損失.仔細觀察真實圖片和對應的生成圖片(圖7),會發現生成圖片丟失了一些行人細節信息.例如,生成圖片中行人的鞋子、背包、五官等紋理變得模糊.使用這些損失了部分細節信息的圖片來訓練,會降低模型學習行人判別性特征的能力.但另一方面,圖片風格遷移又會提高模型對目標域的適應程度.所以風格遷移算法既有提升(減小數據集差異)也有損失(遷移過程中的信息丟失),提升大于損失的遷移算法才能比無遷移算法的效果好.

圖7 其他數據集遷移到Market 數據集的可視化例子Fig.7 Visual examples of translations from other datasets to the Market1501 dataset
接下來是訓練時間和模型參數量的對比.表2是不同方法在Market1501 數據集上的訓練時間和模型參數量對比,源數據集為DukeMTMC-reID 數據集.行人特征學習網絡是完全一樣的,所以只需對比生成對抗網絡這一階段.表2 中“CycleGAN”、“M2M-GAN”的含義與前文解釋一致.“M×NCycleGAN”是本文設置的基準實驗,在“CycleGAN”基礎上考慮了多視角問題,對每種源域?目標域視角組合都單獨訓練一組生成對抗網絡.從表2可知,“M×NCycleGAN”和“M2M-GAN”都能提升準確率,說明非對稱遷移的重要性,但兩者訓練開銷相差較大,“M2M-GAN”開銷更少.另外,“M2M-GAN”準確率略高于“M×NCycleGAN”,說明同時用多對視角組合數據訓練比單獨用各對視角組合數據訓練更能利用不同視角數據之間的相關性,使得遷移效果更好.

表2 不同方法在Market1501 數據集上的訓練時間和模型參數量Table 2 Training time and model parameters of different methods on the Market1501 dataset
為了驗證不同模塊的重要性,我們進行了消融實驗.本文在循環生成對抗網絡基礎上添加了視角嵌入模塊、視角分類模塊和身份保持模塊(身份保持模塊參考文獻[34]),我們分別驗證這些模塊的作用.表3 是在生成階段使用不同的網絡模塊,最終得到的行人再識別準確率.源數據集是DukeMTMC-reID 數據集,目標數據集是Market1501 數據集.由于身份保持模塊是基于圖片風格遷移的跨域行人再識別這類算法的基本模塊,所以我們在保留了身份保持模塊的基礎上再對視角嵌入、視角分類這兩個模塊進行分析.對比表3 的第1 行和第2 行,可以驗證身份保持的重要性.對比表3 的第2~ 4行,可以發現單獨使用視角嵌入模塊或者視角分類模塊都能提高準確率,但準確率提升不明顯.對比表3 的第3~ 5 行,可以發現同時使用視角嵌入模塊和視角分類模塊可以獲得更顯著的性能提升.這是因為視角嵌入模塊為生成器提供了輔助信息輸入,視角分類模塊為生成器提供了監督信號,兩個模塊配合使用才能取得理想的效果.另外,視角分類損失和身份保持損失的權重分析如圖6 所示,當λ1取值為0.5~ 10.0,λ2取值為50~ 500 時,模型都能取得良好的識別率.

表3 不同模塊在Market1501 數據集上的準確率分析(%)Table 3 Accuracy of different modules on the Market1501 dataset (%)
最后我們還與目前最先進的無監督行人再識別方法進行了對比.將對比的方法分成3 組,第1 組是基于手工特征和歐氏距離的方法;第2 組是基于聚類的無監督方法;第3 組是基于跨域遷移學習的方法.這些方法都沒有用到目標域的標注信息,屬于無監督學習范疇.由表4 可知,本文的方法在Market1501 數據集上的Rank1 達到63.1%,mAP達到30.9%,高于大多數算法,特別是高于其他基于生成對抗網絡的方法.另外,TJ-AIDL[43]使用了行人屬性信息,但我們的結果依然比該方法要好.雖然本文的方法低于ARN (Adaptation and reidentification network)[44],但是本文與ARN 是不同類型的算法.基于生成對抗網絡的這類方法單獨考慮遷移和行人再識別問題,生成的風格遷移圖像可以直接輸入到各種有監督行人再識別模型中,不需要調整行人再識別模型結構.所以基于生成多抗網絡的跨域遷移方法具有很強的靈活性和發展前景.并且當圖片生成技術或者有監督行人再識別技術有所提升時,基于生成對抗網絡的跨域行人再識別性能也將得到進一步提高.因此,本文提出的方法雖然低于ARN,但在基于生成對抗網絡的這一類方法中取得最好的效果,同樣具有應用前景和研究價值.

表4 不同無監督方法在Market1501 數據集上的識別率(%)(源數據集為DukeMTMC-reID 數據集)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 數據集的實驗結果
本節實驗選擇DukeMTMC-reID 數據集作為目標域,所有圖表的含義與第3.3.1 節實驗完全相同.
圖8 是M2M-GAN 生成圖片的視覺效果,可以看出生成圖片在視覺上更接近于DukeMTMCreID 數據集的風格,并且各個視角的生成圖片之間有明顯的差別,主要差別是圖片的背景.遷移到DukeMTMC-reID 數據集不同視角的圖片有不同的背景,這與DukeMTMC-reID 數據集實際的數據分布是相符的.

圖8 其他數據集遷移到DukeMTMC-reID數據集的可視化例子Fig.8 Visual examples of translations from other datasets to the DukeMTMC-reID dataset
然后是定量分析遷移的效果.從表5 可以得出與Market 數據集實驗類似的結論.與“Pre-training”和“CycleGAN”相比,“M2M-GAN”有效提高了行人再識別準確率.

表5 不同風格遷移方法在DukeMTMC-reID數據集上的識別率(%)Table 5 Matching rates of different style translation methods on the DukeMTMC-reID dataset (%)
接下來是訓練時間和模型參數量的對比.由表6可知,“M2M-GAN”的準確率比“CycleGAN”和“M×NCycleGAN”高,而訓練時間和網絡參數量只略微高于“CycleGAN”,遠低于“M×NCycleGAN”.再一次表明了“M2M-GAN”有效提升了識別準確率,同時不需要大量的訓練開銷.

表6 不同方法在DukeMTMC-reID 數據集上的訓練時間和模型參數量Table 6 Training time and model parameters of different methods on the DukeMTMC-reID dataset
表7 是消融實驗結果.與第3.3.1 節Market1501數據集上的消融實驗結果類似,分別加入視角嵌入模塊或者視角分類模塊都能使行人再識別準確率略微提升.但是視角嵌入和視角分類兩個模塊同時使用,可以取得更顯著的提升.這說明了本文方法的每個模塊都是有效的,并且同時使用能夠取得更好的效果.

表7 不同模塊在DukeMTMC-reID 數據集上的準確率分析(%)Table 7 Accuracy of different modules on the DukeMTMC-reID dataset (%)
最后是與其他方法進行對比.由表8 可知,本文的方法在Market1501 數據集上的Rank1 達到54.4%,mAP 達到31.6%,超過了其他基于生成對抗網絡的方法,僅低于ARN[44].

表8 不同無監督方法在DukeMTMC-reID 數據集上的識別率(%) (源數據集為Market1501 數據集)Table 8 Matching rates of different unsupervised methods on the DukeMTMC-reID dataset (%)(The source dataset is the Market1501 dataset)
3.3.3 遷移到MSMT17 數據集的實驗結果
本節實驗選擇MSMT17 數據集作為目標域,所有圖表的含義與第3.3.1 節實驗完全相同.圖9是其他兩個數據集遷移到MSMT17 數據集的可視化例子.可以看出,生成的圖片在保持身份信息不變的同時視覺上更接近于MSMT17 數據集的風格,并且各個視角的生成圖片服從不同的分布.最明顯的差別是光照不同,其次是背景信息不同,這與MSMT17 數據集的實際情況完全相符,也驗證了多對多生成對抗網絡能同時進行多個視角的遷移,而且遷移效果更好.

圖9 其他數據集遷移到MSMT17 數據集的可視化例子Fig.9 Visual examples of translations from other datasets to the MSMT17 dataset
定量分析行人再識別的準確率也得出與前兩個數據集類似的結果.由表9 可得,在MSMT17 數據集上,“M2M-GAN”比“CycleGAN”和“Pre-training”這兩種方法的效果好很多.與“Pre-training”相比,“M2M-GAN”的Rank1 提升了17.7% 和16.6%.與“CycleGAN”相比,“M2M-GAN”的Rank1 提升了9.2%和12.1%.與前兩個數據集相比,“M2M-GAN”在MSMT17 數據集的優勢最明顯,原因在于MSMT17 數據集攝像頭數目多、攝像頭數據分布差異大.這說明了我們提出的“M2M-GAN”比其他方法更能適用于復雜的現實場景.表10 與其他方法對比也體現“M2M-GAN”的良好效果.

表9 不同風格遷移方法在MSTM17數據集上的識別率(%)Table 9 Matching rates of different style translation methods on the MSTM17 dataset (%)

表10 不同無監督方法在MSMT17 上的識別率(%)(源數據集為Market1501 數據集)Table 10 Matching rates of different unsupervised methods on the MSMT17 dataset (%) (The source dataset is the Market1501 dataset)
目前跨域遷移行人再識別的方法忽略了域內多個視角子分布的差異性,導致遷移效果不好.本文提出了基于多視角(攝像機)的非對稱跨域遷移的新問題,并針對這一問題設計了多對多生成對抗網絡(M2M-GAN).M2M-GAN 考慮了源域多個視角子分布的差異性和目標域多個視角子分布的差異性,并共同優化所有的源域?目標域視角組合.與現有不考慮視角差異的遷移方法相比,M2M-GAN 取到更高的識別準確率.在3 個大規模行人再識別基準數據集上,實驗結果充分驗證了本文提出的M2M-GAN 方法的有效性.未來的研究工作將考慮除視角以外的其他劃分子域的方式,例如按照不同的光照或行人背景進行劃分,這樣能更好地刻畫出一個域內的多個子分布的統計特性,進一步提高遷移的性能.