陳利文 葉鋒 黃添強 黃麗清 翁彬 徐超 胡杰
(福建師范大學計算機與網(wǎng)絡安全學院 福州 350117)
(福建省公共服務大數(shù)據(jù)挖掘與應用工程技術研究中心(福建師范大學)福州 350117)
(數(shù)字福建大數(shù)據(jù)安全技術研究所(福建師范大學)福州 350117)
行人重識別研究的目標是如何從多個攝像機視角下匹配同一個行人,該技術的研究對智能視頻監(jiān)控和圖像檢索、刑事偵查等公共安全方面有著重大意義.但是光照條件、行人姿勢、背景環(huán)境等因素都會導致同一個行人在不同視角下可能有較大的差異,同時還存在行人被遮擋或者圖片模糊的情況,所以目前行人重識別仍然是一個具有挑戰(zhàn)性且熱門的研究課題.近幾年有諸多研究者嘗試使用深度學習的方法[1-4]來解決此問題,并取得了極大的進展.但是這些方法的性能通常受限于2 個方面:一是依賴大量的數(shù)據(jù)標注,比如研究者們常用的Market1501 數(shù)據(jù)集[5]包括了1 501 個行人的32 668 張圖片,對這些圖片進行標注是費時費力的;二是泛化能力有限,當把訓練好的模型應用到另一個數(shù)據(jù)集上進行測試時性能急劇下降,比如文獻[6]提出的BoT(bag of tricks)模型在Market1501 數(shù)據(jù)集上訓練之后測試的Rank-1 是94.5%,如果在DuekMTMC-ReID[7]數(shù)據(jù)集上進行測試,Rank-1 下降到41.4%.這些方法需要有標簽數(shù)據(jù)集作為監(jiān)督信息來優(yōu)化模型,所以也稱為有監(jiān)督行人重識別方法.而無監(jiān)督行人重識別無需數(shù)據(jù)集標注行人的編號信息,能以較低的成本對新場景進行數(shù)據(jù)采集和訓練,能有效避免泛化能力有限的問題,因此研究基于無監(jiān)督模式的重識別算法是有重大意義的.本文提出了一個新的框架為無標注的行人重識別數(shù)據(jù)集構造可靠的偽標簽,再結合有監(jiān)督方法進行訓練,最終得到一個魯棒的行人重識別模型,并在Market-1501 和DukeMTMC-reID 數(shù)據(jù)集上測試,同時與相關方法進行比較,實驗結果驗證了本文算法的有效性和優(yōu)越性.
本文的主要貢獻包括3 個方面:
1)提出了一個魯棒的偽標簽生成框架,首先依據(jù)圖片樣本的攝像頭編號把數(shù)據(jù)集分成若干個域,依次構造攝像頭域內的局部偽標簽和域間的全局偽標簽.
2)使用最大團算法作為強約束對攝像頭域內的樣本進行聚類,相比于常用的聚類方法不僅聚類時間更短,而且有更優(yōu)的聚類結果.
3)將本文方法在2 個大規(guī)模公開數(shù)據(jù)集Market-1501 和DukeMTMC-ReID 上進行了實驗,同時與現(xiàn)有的無監(jiān)督行人重識別方法進行比較,實驗結果表明,本文提出的方法性能是最佳的.
基于大量標注數(shù)據(jù)和深度學習的有監(jiān)督行人重識別方法已經(jīng)取得了極大的進展,比如MGN[1],PCB[2],AignedReID[3]等方法,它們通過結合行人圖片的全局特征和局部特征,或者使用特征對齊的方式重組特征描述向量,使用三元組損失和交叉熵損失優(yōu)化網(wǎng)絡參數(shù),最終MGN 在Market1501 數(shù)據(jù)集上的Rank-1 達到了95.7%.文獻[6]研究了行人重識別模型構建和訓練過程中的一些技巧,比如隨機擦除、標簽平滑、預熱學習率和損失函數(shù)等,并提出了一個僅使用全局特征且網(wǎng)絡結構簡單的模型BoT,該模型在Market1501數(shù)據(jù)集上的Rank-1 是94.5%,僅比結構復雜的MGN低1.2%.因此本文使用BoT 作為基礎模型,用于提取無標簽數(shù)據(jù)集的特征和訓練偽標簽數(shù)據(jù)集.
傳統(tǒng)的無監(jiān)督行人重識別方法嘗試設計手工特征[8]、發(fā)掘顯著性信息[9]等方式利用無標簽數(shù)據(jù)集.這些算法可能在特定的數(shù)據(jù)集上表現(xiàn)良好,但并不適合處理復雜的真實場景,不具備通用性.還有一些基于深度學習的方法,比如BUC[10]設計了一個通過發(fā)掘行人之間相似性的聚類合并方法來產(chǎn)生偽標簽,但是數(shù)據(jù)集中的樣本數(shù)目較大,聚類過程十分耗時,而且難以確定聚類中心個數(shù).文獻[11]提出把樣本之間的相似性作為軟限制構造軟偽標簽,起始階段把每個樣本當成一個類別,最終訓練軟偽標簽數(shù)據(jù)集.顯而易見,構造的偽標簽越接近真實標簽,訓練出來的模型效果也就越好.與BUC 構造硬標簽類似,本文通過使用更強的約束范式來生成更可靠的偽標簽,從而取得了更好的結果.
無監(jiān)督域自適應算法是無監(jiān)督算法的一種,和BUC 等算法相比,無監(jiān)督域自適應算法要求有一個已知標簽的數(shù)據(jù)集作為輔助域,通過遷移學習或者縮小輔助域和目標域之間的差異,從而在無標簽的目標域上獲得較好的結果.文獻[12]通過把輔助域和目標域的特征映射到同一個特征空間中來解決輔助域和目標域的特征差異;CORAL[13]嘗試對齊2 個域的特征分布的均值和方差;SSG[14]提出一個挖掘無標簽樣本潛在相似性的自相似分組方法,進而構造偽標簽.在輔助域的幫助下,文獻[12?14]方法的表現(xiàn)優(yōu)于沒有輔助域的無監(jiān)督方法,但是其性能會受到輔助域和目標域的差異程度的影響.
攝像頭內監(jiān)督(intra-camera supervision,ICS)假設已知每個攝像頭拍攝的行人圖片的標簽是已知的,但這些標簽是獨立的,即各個攝像頭之間的圖片標簽沒有關聯(lián),ICS 場景下的行人重識別是半監(jiān)督學習問題.這樣的標簽在真實場景中能以較低的代價獲取,比如使用目標跟蹤方法來獲取一個攝像頭拍攝到的行人圖片,并認為相鄰幀內的行人是同一個行人.現(xiàn)有的ICS 模型通過攝像頭內學習和攝像頭間學習來解決這個問題,比如MATE[15]使用多分支網(wǎng)絡來分別學習對應各個攝像頭域的模型參數(shù).ACAN[16]使用多攝像頭對抗學習把不同攝像頭拍攝到的圖片映射到一個公共空間.文獻[15?16]方法的效果優(yōu)于無監(jiān)督方法,但是和經(jīng)典的有監(jiān)督方法相比仍有較大的差距.本文提出的方法借鑒了ICS 模型,首先通過攝像頭編號把訓練集分成各個攝像頭域,分別在每個攝像頭域內構造偽標簽,因此把無監(jiān)督行人重識別問題轉化為ICS 問題;其次考慮到ICS 模型已知的攝像頭域內標簽是真實標簽,而本文的偽標簽和真值存在差異,若直接使用ICS 模型,效果不如ICS 方法,所以我們通過計算不同攝像頭域之間樣本的相似度來構造全局標簽,然后使用BoT 進行訓練.
部分半監(jiān)督行人重識別方法假設僅有少部分的樣本是有標簽的,比如文獻[17]假設每個行人僅有一個樣本是有標注的,通過預測其他樣本的標簽,然后用這些偽標簽數(shù)據(jù)來更新模型,迭代地預測標簽和更新模型,最終得到一個魯棒的模型.文獻[18]假設數(shù)據(jù)集中的一部分標簽是已知的,比如Market-1501 數(shù)據(jù)集中有1/5 的樣本是已經(jīng)標注的,最終能取得75.2%的Rank-1 和53.2%的mAP;如果已標注數(shù)據(jù)達到了1/3,那么Rank-1 和mAP 將分別提升到83.9%和65.6%.本文對此實驗進行了簡化和擴展:一是直接使用基礎模型對有標簽的這部分數(shù)據(jù)集進行訓練;二是測試了更多不同比例的有標簽樣本基礎模型的表現(xiàn).結果如圖1 所示,從圖1 可以看出,隨著樣本比例的增加,Rank-1 性能和mAP 性能逐漸增加,并在后期趨于平穩(wěn),尤其是在樣本比例比較少的情況下,增幅更明顯.受圖1 實驗結果的啟發(fā),本文通過逐步生成更多可靠的偽標簽數(shù)據(jù)來獲得性能的穩(wěn)步提升.
Fig.1 Experimental results on Market1501 with labeled samples圖1 在Market1501 數(shù)據(jù)集上的標簽樣本實驗結果
本節(jié)主要介紹基于攝像頭域內域間融合的偽標簽生成算法,這是本文所提的無監(jiān)督行人重識別算法框架的核心部分.
首先給出本文要解決問題的形式化描述.本文的無監(jiān)督行人重識別的設定是:已知數(shù)據(jù)集為X={X1,X2,···,},這里的Nc表示攝像頭的個數(shù),Xi表示攝像頭i捕捉到的行人圖片.目標是重新建立X中的樣本圖片關系,即同一個行人的圖片應該歸為一類,用公式描述為X′={P1,P2,···,},這里的Nn表示整個數(shù)據(jù)集中的行人個數(shù),Pi表示行人i的所有圖片.在實際情況中,因為行人個數(shù)是未知的,所以很難完成從X到X′的轉換.我們的目標是使生成的偽標簽盡可能接近真實標簽,同時讓基礎模型在生成的偽標簽數(shù)據(jù)集上能有較好的表現(xiàn).
本文使用BoT 作為基礎模型,表示為H(θ),用于提取圖片特征F=H(X;θ),算法的最終目標是學習到合適的參數(shù) θ使得基礎模型在測試集上有較好的表現(xiàn).
本文提出的算法框架如圖2 所示,這是一個迭代的算法.首先無標簽的數(shù)據(jù)集通過基礎模型提取特征,然后分別經(jīng)過攝像頭域內合并、域間合并以及樣本召回3 個步驟得到偽標簽,最后使用基礎模型對偽標簽數(shù)據(jù)集進行訓練,這是一次迭代過程.下一次迭代過程使用上一次迭代時訓練得到的模型參數(shù)提取特征,然后重復生成偽標簽和訓練的步驟.在每輪迭代開始前,需要對數(shù)據(jù)集進行處理.為了避免攝像頭間因背景不同、攝像頭參數(shù)不同、拍攝角度不同等因素帶來的影響,把數(shù)據(jù)集依據(jù)攝像頭編號分成若干個域,對每個域中的樣本圖片Xp提取特征fp,i∈Rd,其中fp,i表示攝像頭p拍攝到的圖片i經(jīng)過基礎模型的骨干網(wǎng)絡提取得到的特征,并且經(jīng)過了L2 正則化.
Fig.2 The proposed algorithm framework圖2 本文算法框架
攝像頭域內合并算法分別對每個攝像頭域進行操作,可以分為預合并、基于最大團的合并算法和樣本清洗這3 個步驟,最終得到各個攝像頭域內偽標簽.
1)預合并.如圖3 所示,一些圖片行人看起來很相似,它們很可能是同一個行人,比如攝像頭拍攝到的視頻中相鄰兩幀的行人圖片.這種視覺上看起來很相似的圖片,通過基礎模型提取的特征也是相似的,所以可以使用樣本特征計算樣本之間的相似度,進而預先合并視覺上相似的圖片.具體做法是:使用特征fp計算各樣本之間的歐氏距離d1,設定閾值t1,若2 個樣本之間的距離小于t1,那就認為它們足夠相似,可以預先合并.如圖4(a)表示某個攝像頭域內預合并前的樣本,合并后的樣本被當成整體組成一個新樣本,如圖4(b)所示,其特征由它包含的所有樣本特征的平均值表示.為簡單起見,攝像頭域p下的圖片特征仍記作fp.
Fig.3 Some samples captured by the same camera in Market1501圖3 Market1501 數(shù)據(jù)集中由同一個攝像頭拍攝到的樣本圖片
Fig.4 Partial samples for intra-camera merger procedure圖4 某攝像頭域內合并時的部分樣本
2)基于最大團的合并算法.預合并操作之后,建立圖模型.把每個樣本當成圖中的一個結點,然后計算各個樣本之間的歐氏距離d2,并設定閾值t2,若2 個結點之間的距離小于t2,則在它們之間連接一條無向邊.這樣,攝像頭域內的樣本,可以看作是一個巨大的無向圖,這個無向圖由很多個小的無向圖組成,每個小的無向圖都是連通圖,如圖4(c)所示.對于每個小的無向圖而言,它表示的物理意義是:若2 個結點有邊相連,則這2 個結點對應的樣本在一定程度上是相似的,但不能直接認定為屬于同一個行人.考慮到最大團是一個圖中的子圖,并且這個子圖中的所有結點兩兩相連,因此可以使用最大團作為強約束在每個小的無向圖中找到可能表示同一個行人的樣本.
一個需要注意的細節(jié)是,尋找最大團是一個NP難題,最大團算法耗時隨著無向圖中結點個數(shù)的增加而急劇增加,所以當小無向圖中的結點個數(shù)過多時,最大團算法執(zhí)行緩慢.鑒于實際數(shù)據(jù)集中,每個攝像頭拍攝到的同一行人圖片數(shù)量較少,因此可以限制小無向圖的結點個數(shù).如果某個小無向圖的結點個數(shù)超出限制,那么我們使用更小的閾值來確定是否連接2 個結點.如果結點個數(shù)仍然超出限制,那就繼續(xù)減小閾值,直到滿足要求.另一方面,如果小無向圖中的結點個數(shù)太少,比如只有2 或者3 個結點,此時沒必要使用最大團算法進行求解.我們使用一種簡單可靠的方法:如果2 個或者3 個結點之間的平均距離小于更小的閾值,比如0.75t2,那就認為它們等價于1 個最大團.最終的合并結果如圖4(d)所示.
3)樣本清洗.經(jīng)過前2 步合并操作之后,各攝像頭域內表示同一個行人的樣本被合并在同一個集合內,但可能存在不完整的合并,如圖4(d)所示,存在3 個圓形結點,即同一個行人分別被分在了3 個集合中,這會給后面的訓練過程帶來標簽噪聲,影響模型效果.因此,本文方法通過丟棄一部分集合來減少這種不完整的合并.具體做法是,使用式(1)計算每個集合的團內相似度:
式(1)中,Np,i表示攝像頭p內的第i個樣本集合對應的樣本個數(shù),fp,k表 示該集合中的第k個樣本特征,T表示矩陣的轉置.丟棄團內相似度最小的一部分集合,是因為若給這些集合里的樣本分配偽標簽,可能會有較多的錯誤,因此暫且丟棄這些樣本,清洗后的結果如圖5 所示.
攝像頭域內合并之后,除了暫時無法分配標簽的樣本,其他樣本都被賦予了攝像頭內部的獨立標簽,這和ICS 問題的設定一致.但我們并不直接使用ICS 方法,因為ICS 問題中各個攝像頭域內的標簽是真實標簽,若直接使用上述生成的偽標簽,則性能會低于ICS 方法.這里本文進一步構造全局偽標簽,給不同攝像頭域內表示同一個行人的樣本圖片分配相同的標簽,然后結合現(xiàn)有的有監(jiān)督模型進行訓練.
Fig.5 The result after sample cleaning圖5 樣本清洗后的結果
如圖6 所示,Market1501 數(shù)據(jù)集中的4 個樣本分別是攝像頭2 下的行人2(圖6(a))和行人22(圖6(b))以及攝像頭5 下的行人2(圖6(c))和行人22(圖6(d)).由神經(jīng)網(wǎng)絡提取得到的樣本1 和樣本3 的特征的相似程度高于樣本1 和樣本4 的,因為樣本1 和樣本3的前景(行人)是相似的,而樣本1 和樣本4 的背景和前景都不同.基于這個前提假設,本算法合并來自不同攝像頭的集合.首先通過式(2)計算來自攝像頭域p和q的2 個集合i和j的域間團的相似度:
其中Np,Nq分別表示攝像頭p和q經(jīng)過域內合并后的集合個數(shù),τ是一個超參數(shù).如果simi,j和simj,i同時大于設定的閾值 η1,那么就合并集合i和j,賦予它們相同的偽標簽.
經(jīng)過域間合并操作,無標簽樣本被分配了全局的偽標簽,原數(shù)據(jù)集可表示為X?={X1,X2,···,XNn}.這里的Nn表示合并后的集合個數(shù),也就是行人個數(shù).
Fig.6 Samples of person 2 and 22 under camera 2 and 5.圖6 行人2 和22 在攝像頭2 和5 下的樣本
在攝像頭域內合并操作中,有一部分樣本暫時無法分配合適的標簽,所以這些樣本被棄用.為了最大程度利用無標簽樣本,本文使用樣本召回操作給之前棄用的樣本重新分配標簽.本文使用無參分類器[19]計算樣本i應該分配標簽k的概率probi,k.令k=arg max(probi),若probi,k大于給定閾值 η2,則給樣本i分配標簽k;否則樣本i被棄用.
本文采用BoT 對生成的偽標簽數(shù)據(jù)集進行訓練,得到模型參數(shù)θ.在下一輪迭代開始前,使用F=H(X;θ)提取特征,然后開始新一輪的迭代.更多的細節(jié)在3.2 節(jié)詳述.
本文主要在Market1501 和DukeMTMC-ReID 這2 個大規(guī)模行人重識別數(shù)據(jù)集上進行實驗,魯棒性實驗和參數(shù)分析使用了MSMT17 數(shù)據(jù)集[20].Market1501數(shù)據(jù)集由6 個攝像頭采集的圖片組成,包括751 個行人的12 936 張圖片作為訓練集,750 個行人的19 732張圖片作為測試集;DukeMTMC-ReID 數(shù)據(jù)集由8 個攝像頭進行采集,訓練集包括1 404 個行人的16 522張圖片.各個攝像頭捕捉到的行人個數(shù)和圖片張數(shù)如表1 所示.
Table 1 Person Numbers and Image Numbers Under Each Camera in Market1501 and DukeMTMC-ReID表1 Market1501 和DukeMTMC-ReID 數(shù)據(jù)集中各個攝像頭下的行人個數(shù)和圖片張數(shù)
MSMT17 數(shù)據(jù)集一共有15 個攝像頭采集到的126 441 張圖片,其中訓練集有32 621 張圖片.本文使用此數(shù)據(jù)集分析部分參數(shù)對實驗結果的影響.
本文采用累計匹配特征曲線(CMC)以及平均查準率(mAP)作為評價指標,累計匹配特征曲線衡量的是查詢圖片出現(xiàn)在匹配結果列表中的概率,但是在實際中往往只考慮是否在前1 個或前5 個結果中匹配成功,本文關注前1 個匹配成功的概率即Rank-1.
本文使用BoT 這一有監(jiān)督算法作為基礎模型,除訓練輪次,其他超參數(shù)設置以及訓練方式和原算法保持一致.在第1 次迭代開始前,使用在ImageNet[21]預訓練的參數(shù) θ提取無標簽數(shù)據(jù)集的圖片特征;之后的迭代使用基礎模型在生成的偽標簽數(shù)據(jù)集上訓練得到的模型參數(shù) θ提取無標簽數(shù)據(jù)集的圖片特征.關于訓練輪次的設置,在迭代初期,由于生成的偽標簽樣本數(shù)據(jù)量較小,所以訓練輪次應該設置較小,以避免過擬合,本文設置第1 次迭代時訓練輪次為20;此后訓練輪次固定為60.
本文使用的主要硬件資源為Intel?CoreTMi7-7800X CPU 和NVIDIA Titan Xp(12 GB 顯 存);軟件環(huán)境 為Python3.7,PyTorch1.6,Scikit-Learn0.24.2.
目前基于深度學習的無監(jiān)督行人重識別方法較少,無監(jiān)督域自適應方法和半監(jiān)督方法有時也被當作無監(jiān)督方法,但它們的難度是低于無監(jiān)督方法的.為了展示本文方法的優(yōu)越性,本文比較了3 個無監(jiān)督方法:BOW[5],BUC[10],SSL[11];4 個無監(jiān)督域自適應方法:MAR[22],MMT[23],ECN[24],SSG[14];2 個ICS 方法:MATE[15],UGA[25].
如圖7 所 示,Market1501 和DukeMTMC-ReID 隨著迭代輪次逐漸增加,樣本比例模型性能也隨著迭代輪次逐步提升.在迭代初期,Rank-1 和mAP 的性能迅速增長,然后緩慢持續(xù)增長直至穩(wěn)定.2 個數(shù)據(jù)集都是經(jīng)過15 輪次迭代后性能達到最大穩(wěn)定狀態(tài),在Market1501 數(shù)據(jù)集的Rank-1 和mAP 分別是89%和74.9%,經(jīng)過重排序[26]操作,Rank-1 和mAP 分別達到90.5%和86.1%;在DukeMTMC-ReID 數(shù)據(jù)集上Rank-1和mAP 分別是76.9%和61.9%,重排序之后分別是79.1%和72.1%.
圖7 所示曲線中,隨著迭代輪次的增加,賦予偽標簽的樣本占原總樣本的比例逐漸增加,Rank-1 和mAP 也同步增加,這一結果與圖1 中小樣本實驗的結果相吻合,這表明本文所提框架生成的標簽訓練效果接近真實標簽,也即所生成的偽標簽是可靠的.為了直觀地展示偽標簽和真實標簽的相似程度,在Market1501 數(shù)據(jù)集中隨機選擇64 個行人,使用第14輪次迭代得到的基礎模型參數(shù)提取樣本特征,然后用t-SNE 對特征進行降維,可視化結果如圖8 所示,不同的顏色表示不同的標簽,可以看出絕大多數(shù)樣本類內距離較小,類間界限明顯,聚類結果較好.
Fig.7 The performance of our proposed method on Market1501 and DukeMTMC-ReID圖7 本文方法在Market1501 和DukeMTMC-ReID 數(shù)據(jù)集上的性能
Fig.8 Visualization of 64 randomly selected samples in Market1501.圖8 Market1501 數(shù)據(jù)集中隨機選擇的64 個樣本的可視化圖
表2 和表3 是本文方法和9 種當前方法比較的結果.BOW 在Market1501 和DukeMTMC-ReID 2 個數(shù)據(jù)集上的Rank-1 和mAP 值都比較低;BUC 是用自底向上逐步聚類的方法構造偽標簽,和本文方法思路相近,但本文在Market1501 和DukeMTMC-ReID 2 個數(shù)據(jù)集上的Rank-1 分別提升了22.8%和29.5%;SSL使用軟偽標簽作為監(jiān)督信息訓練模型,相比于BUC有了較大的提升,但依然沒有超過本文方法.通過和當前無監(jiān)督方法的比較,表明了本文構造的偽標簽對于無監(jiān)督行人重識別是可靠的.
無監(jiān)督域自適應算法以一個有標簽的數(shù)據(jù)集作為輔助域,希望在無標簽的目標數(shù)據(jù)集上能有較好的表現(xiàn).因為其難度低于無監(jiān)督的方式,所以無監(jiān)督自適應算法效果普遍強于無監(jiān)督方法,比如MMT 在DukeMTMC-ReID 數(shù)據(jù)集上表現(xiàn)最佳,本文方法結果位居第二,兩者Rank-1 相差1.1%.
Table 2 Comparison of Our Proposed Method and the State-of-The-Art Methods on Market1501表2 本文方法和當前方法在Market1501 數(shù)據(jù)集上的比較
Table 3 Comparison of Our Proposed Method and the State-of-The-Art Methods on DukeMTMC-ReID表3 本文方法和當前方法在DukeMTMC-ReID 數(shù)據(jù)集上的比較
攝像頭內監(jiān)督行人重識別(ICS)是目前流行的半監(jiān)督行人重識別問題,但是MATE 和UGA 的效果不如本文方法.這表明和半監(jiān)督方法相比,本文所提出的方法仍有很強的競爭力.
在攝像頭域內域間合并以及樣本召回的過程中需要設定一些閾值或者參數(shù),比如每個小無向圖的最大結點個數(shù)、預合并的距離閾值等.各個參數(shù)對偽標簽質量影響的分析為:
1)預合并時的距離閾值t1.預合并通過提前把視覺上幾乎沒有差異的樣本歸為一類形成新樣本來減少后續(xù)相似樣本的個數(shù),進而減少無向圖中的結點個數(shù),加速最大團算法的求解.然而為每個攝像頭域確定一個合適的具體值作為閾值比較困難,通過分析,每個攝像頭域內都存在這樣一部分樣本,它們來自相鄰幀的同一個行人,它們之間的距離應該是小于和其他樣本對的,這表示在每個攝像頭域內,距離最小的那部分樣本對應該被合并.因此首先把各個攝像頭域內樣本間的距離從小到大排序,選擇距離最小的前r1百分比的樣本對進行合并,這樣能針對不同的攝像頭使用不同的距離閾值,進而得到較好的合并結果.因此在實驗中,不直接設置t1的值,而是通過設置r1計算得到.在實驗中,對于2 個數(shù)據(jù)集r1值均設置為0.1.可以預見,在大規(guī)模數(shù)據(jù)集中這類可以預先合并的樣本更多,因此應該設置更大的閾值.
2)基于最大團的合并算法中建立圖模型的距離閾值t2.t2類似t1,但它用于衡量2 個樣本是否在一定程度上可以合并.為了把更多可能表示同一個行人的樣本包括在同一個無向圖中,t2值的設置應該稍大一些.如 圖9 所示,分別設 置r2為0.05,0.1,0.15,0.2,0.3,0.5,1.0 等數(shù)值迭代15 輪.當r2值在0.05~0.3 時,Rank-1 先增加后減小,隨著r2值的繼續(xù)增大,Rank-1略微增加,但可以視為實驗誤差而被認為基本不變,因此在本實驗中r2值設置為0.2,和t1一樣,使用r2計算得到t2.
Fig.9 The effects of r2 on the performance of Market1501圖9 r2對Market1501 數(shù)據(jù)集性能的影響
3)無向圖的最大結點個數(shù).同一個無向圖中的結點表示對應的樣本可能是同一個行人,為了避免遺漏潛在樣本,本不應該限制結點個數(shù),但由于求解最大團是NP 難題,若結點過多,則算法求解費時甚至無法求解.考慮到已經(jīng)預先合并了相似樣本,以及最大團算法的運行效率,本文設置結點個數(shù)最大為50,若數(shù)據(jù)集中同一個攝像頭拍攝到的行人圖片較多,結點個數(shù)應和預合并閾值一樣應設置更大一些.如圖10 所示,在MSMT17 數(shù)據(jù)集上的實驗結果表明了這樣調整參數(shù)是有效的.
Fig.10 The performance of our proposed method on MSMT17圖10 本文方法在MSMT17 數(shù)據(jù)集上的性能
4)攝像頭域內合并算法中清洗標簽丟棄的集合個數(shù).鑒于存在同一個行人在同一個攝像頭下也可能差異較大的情況,以及算法的誤差帶來的影響,經(jīng)過攝像頭內合并后得到的團可能存在重復的情況,我們丟棄掉一部分不可靠的團,并在后續(xù)的算法中重新召回這些樣本.本文嘗試不同的清洗比例,實驗結果如圖11 所示,隨著清洗比例的增加,Rank-1 先增加后降低,在不清洗時Rank-1 僅有82.9%;清洗比例為5%,10%,20%時Rank-1 都在86%以上;而清洗比例太高時,如30%則Rank-1 降為84.6%.由此結果,本文設定清洗比例為15%,即只保留團內相似度最大的前85%的團.
Fig.11 The effects of clean ratios on the performance of Market1501圖11 清洗比例對Market1501 數(shù)據(jù)集性能的影響
5)攝像頭域間合并的閾值 η1.各個攝像頭域內的樣本通過計算域間團的相似度進行合并,我們認為,在迭代初期各個攝像頭域間樣本的特征差異較大,此閾值應該設置較?。浑S著算法迭代,提取得到的特征逐漸可靠,使用更嚴格的約束限制合并,所以閾值應該設置較大.在實驗中前13 輪次的迭代η1=0.7,之后的迭代中η1=0.85.
6)樣本召回的閾值 η2.在攝像頭域內合并算法中,有一部分樣本暫時無法分配合適的偽標簽被臨時棄用,但在攝像頭域間合并結束后可以通過無參分類器對這些樣本進行分類,若屬于某個類別的概率較大,那就分配對應的偽標簽參與到最終的訓練中.在本實驗中 η2設置為0.35.
本文使用最大團算法作為強約束進行攝像頭域內合并,為了驗證是否優(yōu)于傳統(tǒng)的聚類算法,本文以KMeans 聚類算法為例進行實驗和分析.具體的實驗設置為:當實驗數(shù)據(jù)集是Market1501 時,使用在DukeMTMC-ReID 數(shù)據(jù)集上預訓練的模型參數(shù)提取特征;然后分別使用攝像頭域內合并算法和KMeans聚類算法生成攝像頭域內的偽標簽,在使用KMeans算法進行聚類時,聚類中心個數(shù)設置為各攝像頭內真實的行人個數(shù);緊接著使用攝像頭域間合并算法和樣本召回構造全局偽標簽;最后使用BoT 進行訓練,結果如表4 所示:
Table 4 Comparison of Our Proposed Method and the Clustering-Based Method表4 本文方法和基于聚類的方法的比較
在2 個數(shù)據(jù)集上,本文基于最大團的攝像頭域內合并算法的表現(xiàn)均優(yōu)于KMeans 聚類算法.此外,基于最大團的域內合并算法的用時遠低于聚類算法,兩者相差上百倍,本文所提算法具有明顯的優(yōu)勢.如表1所示,Market1501 數(shù)據(jù)集中有6 個攝像頭,但是每個攝像頭內的行人個數(shù)都比較多,所以聚類算法在Market-1501 數(shù)據(jù)集上更費時,而本文提出的算法受此影響較小,可用于更大規(guī)模的數(shù)據(jù)集.
本文所提出的方法用于解決無監(jiān)督行人重識別中的標簽缺失問題,以插件的形式結合有監(jiān)督方法起作用.2 個實驗表明本文方法具備通用性:1)在MSMT17 數(shù)據(jù)集上的實驗結果意味著本文方法可以在更大規(guī)模的數(shù)據(jù)集上正常工作;2)以TransReId[27]作為基準模型也能取得不錯的結果,表示本文方法能適配基于Transformer 模型的新型有監(jiān)督行人重識別方法.2 個實驗的詳細描述為:
1)在MSMT17 數(shù)據(jù)集上的實驗使用在3.4 節(jié)中設置的參數(shù)迭代20 次,本文方法在MSMT17 數(shù)據(jù)集上的Rank-1 是47.9%,mAP 是25.5%,每一次迭代的結果如圖11 中實線所示.當按照各參數(shù)對實驗結果的影響分析調整參數(shù)后,其結果如圖11 中虛線所示,Rank-1 達到了52.3%,而mAP 達到了27.2%.和相關當前方法的比較如表5 所示,本文方法在更困難的MSMT17 數(shù)據(jù)集上效果優(yōu)于大部分域自適應方法或者其他半監(jiān)督方法.
Table 5 Comparison of Our Proposed Methods and the State-of-The-Art Methods on MSMT17表5 本文方法和當前方法在MSMT17 數(shù)據(jù)集上的比較
2)本文所提出的偽標簽生成框架可適用于基于Transformer 模型的有監(jiān)督行人重識別算法,本文以TransReID 作為基礎模型取代原本使用的BoT 進行實驗,其結果如圖12 所示,可以看出Rank-1 和mAP在前5 輪迭代中快速增加,在之后的輪次里緩慢增加 直至Rank-1 達 到87.4%,mAP 達 到72.9%,雖 然TransReID 模型低于BoT 模型的結果,但仍然超出大部分當前方法.
Fig.12 The performance of TransReID on Market1501圖12 TransReID 模型在Market1501 數(shù)據(jù)集上的表現(xiàn)
3.6 節(jié)2 個實驗結果表明,本文所提出的偽標簽生成框架可以作為一個插件使現(xiàn)有的有監(jiān)督模型可以處理大規(guī)模的無監(jiān)督行人重識別數(shù)據(jù)集.
當前基于深度學習的行人重識別方法通常需要標注數(shù)據(jù)集,但對大量數(shù)據(jù)進行標注十分消耗人力物力.本文提出了一個框架用于生成偽標簽數(shù)據(jù)集,然后使用有監(jiān)督模型進行訓練,實驗結果證明了所提出方法的有效性.我們通過把無標簽數(shù)據(jù)集依據(jù)攝像頭編號分成若干個域,對每個域內的圖片使用最大團算法作為強約束進行聚類,使得每個域內相似的圖片被賦予同樣的偽標簽;然后通過計算域間團的相似度合并不同域的樣本,進而構造全局偽標簽.通過若干個實驗,證明本文方法構造的偽標簽優(yōu)于基于聚類的方法,并且有更少的時間消耗,提升了無監(jiān)督行人重識別的性能.
作者貢獻聲明:陳利文和葉鋒提出研究思路和算法框架;黃添強和黃麗清負責設計實驗以驗證算法的有效性;陳利文、翁彬和胡杰共同編寫代碼進行實驗測試;陳利文和徐超完成論文撰寫工作.