熊明福,肖應雄,陳 佳,胡新榮,彭 濤
1.武漢紡織大學 計算機與人工智能學院,武漢 430200
2.武漢大學 國家網絡安全學院,武漢 430072
行人重識別是針對同行人在不同時間地點下攝像機所采集的圖片進行檢索和匹配的技術,即給定一張?zhí)囟ǖ男腥藞D像,行人重識別的目的是匹配出該行人在其他不同攝像頭(相機)下所出現的圖像[1-4]。其在視頻監(jiān)控、智能安防等領域有著極其重要的應用。本質上行人重識別可以視作為一項圖像檢索和匹配任務,其特點在于訓練集和測試集是由不同的行人所組成的。一般來說,行人重識別主要分為有監(jiān)督和無監(jiān)督的方法[5],其中有監(jiān)督行人重識別主要利用了有標簽標注的訓練集數據對模型進行訓練,使得模型在未知的測試集上也具有一定的預測能力。此類方法在早期的科學研究中取得了不錯的效果,然而其由于數據的標注工作費時耗力,從而限制了行人重識別在實際中的進一步應用。
近年來,無監(jiān)督的行人重識別方法得到了越來越多學者的關注[6-9],其主要思想為利用一個預訓練好的基礎網絡來聚類生成偽標簽并根據偽標簽做有監(jiān)督學習。無監(jiān)督行人重識別領域通??煞譃閮深悾河蜃赃m應的行人重識別(unsupervised domain adaptation person Re-ID)[10-13]和純無監(jiān)督行人重識別(purely unsupervised learning person Re-ID)[14-16]。其中在域自適應行人重識別中,通常給定一個有標簽的源域來訓練網絡,再使其遷移到目標域中并取得良好的效果,兩個域有著不同的數據種類與數據風格[5]。而純無監(jiān)督行人重識別無需借助任何標注信息而僅僅只需要一個預先訓練好的預訓練模型,從而使得其在行人重識別任務中更具有挑戰(zhàn)性。由于其不需要事先進行大量的數據標注,在領域內得到越來多的學者關注[17-18]。
因此,本文也主要關注純無監(jiān)督行人重識別方法。當前最先進的無監(jiān)督行人重識別方法[8-9,17]大多都是同時利用聚類算法聚類得到的偽標簽和內存字典中的特征實例做對比學習,從而能夠以有監(jiān)督的方式進行訓練,在每個訓練批次的開始前,所有訓練集圖像的特征都由當前網絡進行特征提出,并由聚類算法類似DBScan[19]或者K-means[20]聚類生成偽標簽,算法將聚類ID作為個人身份ID 被分配給每個圖像。與此同時,大多數方法[8,17]都將初始化一個內存字典,由神經網絡進行基于內存字典的對比損失[21]訓練。此類方法在一定程度上都取得了不錯的效果,被廣大學習者所接受。但由于行人重識別本身就是一個復雜的問題[22],由于其本身從數據獲取和目標檢索都有其獨特的性質,導致現有方法還有進一步提升的空間,主要表現在以下兩個方面:
(1)現有行人重識別數據集大多數都由6至12臺攝像機采集而成,不同的攝像機采集地點不同,因而也導致了其圖像的光照環(huán)境也不盡相同,其相應的灰暗程度也不同。如圖1(a)所示,針對同一數據集Market-1501[23],所抽取的6 張圖像均來源于同一行人,由于拍攝視角、光照強度等因素的影響,其中第一排三張圖像明顯暗于第二排的三張圖像,這種圖像風格的差異性會影響后期聚類的精度,從而影響最終的模型準確性。同時,針對不同的數據集DukeMTMC-ReID[24]和Market-1501,如圖1(b)所示,前者采集于冬季國外校園,行人多著厚重的冬裝,色彩相對沉暗;而后者采集于夏天國內校園,其行人多穿短袖,色彩相對鮮明。這種顯著的著裝風格差異,降低了模型在這兩個數據集之間跨域使用的魯棒性,使得模型的泛化能力進一步減弱,從而導致行人重識別效果的下降。同時上述問題會產生偽標簽噪聲,所謂偽標簽噪聲,即聚類算法不能保證樣本內的偽標簽生成與真實身份的真實對應,從而在訓練過程中會累積偽標簽的噪聲誤差,從而阻礙模型的準確性。
圖1 行人在不同相機下呈現照片風格不同Fig.1 Person showing different styles of photos under different cameras
(2)在利用偽標簽進行有監(jiān)督學習訓練的過程中,因為每個聚類里實例的數量并不平衡,這是由數據集本身的數據分布特點和聚類算法的固有缺陷所帶來的客觀問題,實例少的聚類會比實例多的聚類更新更快?,F有基于字典更新的方法由于內存字典的大小并不能無限制地增大,模型很容易向實例占比較小的樣本標簽偏移,因此內存字典的初始化與更新策略在模型的訓練中起著至關重要的作用。
為了解決上述問題,本文提出了一種基于二次聚類的無監(jiān)督行人重識別框架來解決當前方法存在的一些問題。針對聚類偽標簽問題和更新速率不一致的問題,本文提出的框架主要包含兩個部分,即基于全局的二次聚類模塊以及基于聚類結果的有監(jiān)督學習模塊。前者主要解決跨相機間圖像風格不一致的問題,后者主要解決網絡更新速率不一致的問題。兩個子模塊協(xié)同并行優(yōu)化,共同抑制因跨攝像機和環(huán)境因素的差異而導致行人重識別精度不高的問題,并且在公開數據集上相對于傳統(tǒng)方法取得了不錯的效果。
總結來說,該框架由兩個模塊組成,首先通過基于全局的二次聚類模塊來分別以相機ID 和行人ID 聚類,然后通過基于聚類結果的有監(jiān)督學習模塊進行有監(jiān)督學習,雙模塊協(xié)同訓練以共同抑制跨攝像頭間采集的圖像所產生錯誤偽標簽的問題。本文的創(chuàng)新工作主要表現在以下幾個方面:
(1)提出了一種基于二次重聚類的無監(jiān)督行人重識別方法,來解決因硬件差異和光照等因素帶來樣本錯誤偽標簽生成的問題。
(2)提出的方法包括無監(jiān)督聚類和有監(jiān)督訓練學習模塊,前者基于全局二次聚類分別對相機ID 和行人身份ID 進行無監(jiān)督分析,解決了同一行人在不同攝像機視角下的統(tǒng)一成像風格問題;后者則采用有監(jiān)督學習方式改進了內存字典的初始化與更新方式,解決了模型在訓練中偏移的問題。
(3)本文提出方法的兩個子模塊協(xié)同優(yōu)化,共同抑制因跨攝像機和環(huán)境因素的差異而導致行人重識別精度不高的問題,并且在公開數據集上相對于傳統(tǒng)方法取得了不錯的效果。
根據是否利用有標注的源數據集,無監(jiān)督行人重識別可分為兩類:域自適應的無監(jiān)督行人重識別(unsupervised domain adaptation,UDA)以及純無監(jiān)督行人重識別(purely unsupervised learning,USL)[14]。UDA嘗試利用有標記的源域數據和沒有標記的目標域數據來綜合訓練出一個在目標域表現良好的行人重識別模型,其目標是將從源域(source domain)學習到的知識遷移到目標域(target domain),從而提升模型在真實部署環(huán)境下的性能表現。而USL 其在模型訓練之中不需要借助任何有標注的圖片信息,因此其在模型的訓練之中更具有挑戰(zhàn)性。
雖然訓練是在不同的數據條件下進行的,但UDA和USL的大多數方法采用相似的學習策略:通過聚類算法生成偽標簽,然后利用內存字典進行對比學習。Zhong等[25]提出了一種基于相機到相機的風格轉移來對齊目標樣本的訓練數據,Ge等[11]提出了一種基于域自適應的教師學生模型來應對域轉換的無監(jiān)督行人重識別,其利用了教師模型與學生模型兩個模型來共同訓練抑制聚類中產生的標簽不一致問題。Yang 等[9]提出了一種動態(tài)和對稱交叉熵損失來處理嘈雜的樣本,并提出一種相機感知元學習算法來適應相機偏移。
在本文中,主要關注的是USL 方法,提出的框架其針對的是無監(jiān)督行人重識別中的偽標簽噪聲以及內存字典[12]的更新問題,在下文中將詳細介紹這兩塊內容。
所謂偽標簽噪聲,即聚類算法不能保證樣本內的偽標簽生成與真實身份的真實對應,從而在訓練過程中會累積偽標簽的噪聲誤差,從而阻礙模型的準確性。
在最近的研究中,減少因為聚類算法而帶來的偽標簽噪聲問題主要有以下幾種方法:偽標簽更正法[18,26]和損失函數重設計法[27]。在訓練過程中,他們重新加權計算權重以生成更為準確的偽標簽。Li 等[28]試圖通過訓練一個額外的網絡來重新加權偽標簽樣本。然而在網絡的優(yōu)化過程中,它需要額外干凈的數據作為測試集,這在實際應用中是難以實現的。
面對偽標簽噪聲問題,提出了基于全局的二次聚類模塊來抑制偽標簽噪聲問題,其核心思想是對數據進行二次聚類:以相機ID 為單位進行全局間的一次聚類和在相機內以行人ID為單位進行二次聚類。詳細過程將在2.2節(jié)展開描述。
當前大多數無監(jiān)督對比學習方法都會初始化一個內存字典,由神經網絡進行基于內存字典的對比損失訓練,通過內存字典的不斷動態(tài)更新從而促進對比無監(jiān)督學習。與無監(jiān)督的對比學習類似,當前最先進的USL方法也利用對比學習[8-9,17]構建記憶字典。在訓練過程中,內存字典中的實例特征由同一個聚類中的實例特征動態(tài)更新。
然而由于每個聚類中的實例數目并不相同,實例數目較小的聚類更新得較快,實例數目較多的聚類更新得慢,模型很容易向實例占比較大的樣本標簽偏移?;诖?,提出了基于二次聚類結果的有監(jiān)督學習模塊,靈感來源于文獻[29],不再以實例特征為基準而是以聚類特征為基準來初始化與更新內存字典,可以有效地防止網絡訓練偏向實例數目較大的聚類,詳細過程將在2.3 節(jié)展開描述。
針對以往的工作沒有考慮到不同相機對同一個行人所采集的圖片可能會出現較大反差繼而產生錯誤的聚類偽標簽,以及每個聚類里的實例數量不平衡導致的網絡更新速率不一致的問題,本文提出了一種基于二次聚類的無監(jiān)督行人重識別網絡框架。該框架主要包含兩個部分,基于全局的二次聚類模塊以及基于聚類結果的有監(jiān)督學習模塊。前者主要解決跨相機間圖像風格不一致的問題,后者主要解決網絡更新速率不一致的問題。兩個模塊協(xié)同訓練配合,使得網絡逐漸收斂,最終得到一個效果良好、泛化能力較強的行人重識別網絡。
本文使用ResNet 50[22]網絡作為本文的基礎網絡(Backbone),其所用到的Resnet50 核心層主要用到5 個卷積層,第一個卷積層的輸出為112×112,其內部配置為7×7大小的卷積核,所設的步長為2。
圖2給出了本文所提出的整體網絡框架,主要是由基于全局的二次聚類模塊(global quadratic clustering module)以及基于聚類結果的有監(jiān)督學習模塊(supervised learning module based on quadratic clustering results)組成,為了方便描述,下文簡稱其GQCM模塊以及SLM模塊。
圖2 基礎網絡框架Fig.2 Basic network framework
首先,初始化了一個預訓練好的ResNet50 網絡作為基礎網絡提取所有訓練樣本特征,GQCM作為二次聚類模塊,針對所有特征做一次k-means 的均值聚類,主要作用為將圖片根據不同的相機成像風格聚類為同一個簇心。將同一個簇心下的所有特征視為同一相機所采集到的圖片所生成的特征并為其生成相機ID 偽標簽。接下來,對同一相機下的所有圖片特征做DBSCAN二次聚類并為其分配行人ID 偽標簽。這樣,就得到了以相機為分類的帶有行人ID 偽標簽的圖片特征,就可以有效地解決因跨相機成像風格不統(tǒng)一而帶來的聚類偽標簽噪聲問題。最后,GQCM模塊將帶有偽標簽的圖片特征傳遞給SLM模塊,供其利用該偽標簽做有監(jiān)督學習。
當前大多方法普遍采用聚類算法生成偽標簽,然而,對同一個行人不同相機所采集的圖像可能會出現較大反差繼而易產生錯誤的聚類偽標簽,即偽標簽噪聲問題,聚類算法不能保證樣本內的偽標簽生成與真實身份的準確對應。
為了抑制偽標簽的噪聲問題,本文提出基于全局的二次聚類模塊(GQCM),該模塊主要是針對全局圖像進行二次聚類,即生成相機ID 偽標簽與行人身份ID 偽標簽,由于同一個相機所采集風格相似的圖像,因此對此風格相似的圖像進行DBSCAN 聚類,相對會產生較少的偽標簽噪聲,從而能有效地抑制因跨相機采集圖像而帶來的偽標簽噪聲問題,該觀點會在后續(xù)的消融實驗中得到驗證。
基于此,對所有的訓練樣本進行二次聚類。在每個epoch 訓練的開始,對所有的圖片進行圖片增強然后輸入到基礎網絡中去提取所有的特征向量,然后對得到的特征進行二次聚類,如圖3 所示:首先進行一次聚類(primary clustering)得到相機偽標簽ID,再根據相機ID對同一個相機內的所有圖片特征進行二次聚類(quadratic clustering)得到行人偽標簽ID。
圖3 相機ID聚類與行人ID聚類Fig.3 Camera ID clustering and person ID clustering
針對相機內的一次聚類,采用了k-means 聚類算法,選擇的原因是行人重識別系統(tǒng)無論是在真實環(huán)境中應用還是數據集測驗,采集數據的相機個數是已知的,而k-means算法需要初始化k個聚類中心,這與本文的要求相符,其具體過程為給定數據樣本,包含了n個對象其中每個對象都具有m個維度的屬性。k-means 算法的目標是將n個對象依據對象間的相似性聚集到指定的k個類簇中。每個對象屬于且僅屬于一個其到類簇中心距離最小的類簇中,然后通過計算每一個對象到每一個聚類中心的歐式距離,如下式所示:
式中,Xi表示第i個對象,Cj表示第j個聚類的中心,Xit表示第i個對象的第t個屬性。Cjt表示第j個聚類中心的第t個屬性。依次比較每一個對象到每一個聚類中心的距離,將對象分配到距離最近的聚類中心的類簇中,得到k個類簇,類簇中心就是類簇內所有對象在各個維度的均值,其計算公式如下:
式中,Cl表示第l個聚類的中心,Sl表示第l個聚類簇中對象的個數,Xi表示第l個類簇中第i個對象。算法的主要流程可以簡化為兩步:計算每一個對象到類簇中心的距離,依據類簇內的對象計算新的簇類中心。
根據一次聚類得到的相機ID 偽標簽結果,對每個相機ID 內的圖片特征用DBSCAN 進行輪巡二次聚類,為了防止同一目標在不同相機中聚類ID不一致的情況,可采取以下兩種解決方案:(1)采取漸進式策略,前20 epoch采用單次聚類,后40 epoch采用二次聚類,并且其更新memory dictionary 的特征系數為0.01。可一定程度地避免少量目標在不同相機中聚類ID不一致所帶來的準確率影響。(2)對模型進行微調,更改聚類順序,即先進性全局聚類得到行人偽標簽ID,后進行二次聚類得到相機偽標簽ID,從根源上解決目標在不同相機中聚類ID 不一致的情況。經過實驗驗證比較,本文在后續(xù)實驗中采用方案1。
DBSCAN算法需要兩個超參數,一個參數為聚類的相鄰樣本間最大距離x,其表示聚類中的邊界點與聚類核心Core point的最大距離;另外一個參數min samples是鄰域中最小的樣本個數,若聚類簇心中的樣本值小于min samples,則識別為噪聲數據或異常值。在本文的實驗中,分別將x設置為0.4,min samples設置為4。通過二次聚類,可以將聚類得到的結果分配給每個將要訓練的圖片作為行人ID偽標簽。
所有特征在經過GQCM 模塊后,將得到的相機偽標簽ID和行人偽標簽ID傳輸到SLM模塊,進行下一步處理。
每個聚類中的實例數量不平衡,這是由數據集本身的數據分布特點和聚類算法的固有缺陷所帶來的客觀問題。針對該問題,本文所采用的解決方法是以聚類級特征[29]來做內存字典的初始化與更新?;诰垲惤Y果的有監(jiān)督學習模塊(SLM)的主要作用是基于偽標簽下的有監(jiān)督學習,該模塊的核心思想是,模塊采用聚類級實例來初始化和更新內存字典,即在每個聚類的簇內選擇一個特征作為該行人的ID樣本特征來初始化和更新內存字典,基于此,使得實例少的聚類和實例多的聚類更新速率一致,避免模型在訓練中偏向更新快的類別。
所謂聚類級實例,即每個聚類的簇內選擇一個特征作為該行人的ID 樣本特征來初始化和更新內存字典。關于同一個簇內的樣本特征選擇問題,靈感來源于最難樣本挖掘[30],本文針對初始化和更新內存字典采用了最難樣本選取,后文將做詳細介紹。
如圖4所示,針對同一相機下,在開始每個epoch訓練前,將每個聚類級特征存入內存字典對內存字典進行初始化,n代表的是聚類簇心的個數。由于網絡是實時更新的,n會隨著網絡的不斷更新而變化最終區(qū)域穩(wěn)定。隨機選取n個聚類級特征來初始化內存字典,也就是從每個聚類的簇中隨機選一個特征作為該行人ID的對應的內存字典。也可以選擇離簇心最遠的N個聚類特征樣本來更新內存字典,但是在后續(xù)的實驗中發(fā)現這樣并不會帶來準確率的提高,為了方便起見,本文選擇隨機選取,公式如下:
圖4 有監(jiān)督學習模塊Fig.4 Supervised learning module
其中,U是一個簡單的選擇函數,而Xi則表示第i個聚類中所有特征樣本,Ci表示內存字典中對應的行人ID特征。
在每個mini batch 開始前,選擇P個人員身份,每個身份選取K張樣本,就可以獲得一個P×K總共為q的查詢樣本(query images)圖片,將增強過后的訓練圖片數據輸入進基礎網絡就可以得到q個實例樣本的特征,此時使用InfoNCE loss[31]將其與內存字典中的所有集群特征進行比較,計算出對比損失,其計算過程如下:
其中,s為輸入樣本特征,c+為內存字典中的正樣本特征,ci為內存字典中的負樣本特征,當s與其正樣本特征相似且與其他負樣本不相似時,損失值較低。通俗地說,該損失函數在模擬的空間中會無限地拉近s的正樣本并推遠s的負樣本,使得網絡朝目標方向收斂。
在每個mini batch結束前,從n個行人身份中選擇n張最難實例樣本來動量更新內存字典。具體地來說,每個行人ID 都對應K張照片,從K張照片中選取一張照片作為最難實例樣本來更新內存字典,更新過程如下:
ci如公式(3)所示,其含義相同。m是滑動平均更新參數,qdif是張圖片中的一張最難樣本,也就是在一個聚類中與聚心特征相似度最小的樣本特征。
在四個常用的行人重識別數據集上評估了本文方法,分別為Market-1501[23]、DukeMTMC-ReID[24]、MSMT17[32]和PersonX[33]。同時為了證明本文模型的泛化能力,在一個常用的車輛重識別數據集VeRi-77[34]進行了實驗。其具體信息如表1所示。
表1 數據集基本信息統(tǒng)計Table 1 Basic statistics of datasets
對于上述數據集,本文采用mAP 和rank 1/5/10 的精度進行評估。
本文實驗使用在ImageNet[35]上預訓練ResNet-50作為骨干來提取特征,其所用到的ResNet-50 核心層主要用到5個卷積層,第一個卷積層的輸出為112×112,其內部配置為7×7 大小的卷積核,所設的步長為2。同時使用SGD 用于優(yōu)化模型。ResNet-50 基本層的學習率為0.000 5[36],其他層的學習率為0.005。
與DBSCAN 論文中闡述的聚類方法一樣,使用DBSCAN和杰卡德距離(Jaccard distance)與鄰近的k個樣本特征進行聚類,在使用中選擇k=30。對于DBSCAN中的超參數,兩個樣本之間的最大距離設置為0.4,聚類簇中的最小樣本數設置為4。
本文所提出框架的實驗平臺是基于RTX 2080Ti(顯存11 GB),算力為54.1 MH/s對應功耗180 W。因考慮到跨相機間圖像風格不一致的問題,本文所提出方法需對全局圖像進行二次聚類,與傳統(tǒng)單次聚類的無監(jiān)督行人重識別方法相比,其算法復雜度有所增加。具體表現為,從空間復雜度上來看:單次聚類與二次聚類,顯卡顯存占用無明顯波動;從時間復雜度上來看:單次聚類每個epoch時間為32 min,而本文所提方法為47 min,時間多數消耗在二次聚類上即GQCM模塊。
將本文方法與Market-1501、DukeMTMC-ReID、MSMT17、PersonX 和VeRi-776 上最近的USL 方法進行了比較,包括IICS[8]、ACT[17]、JNL[9]等方法。表2顯示了本文提出的框架與近些年其他的方法在Market-1501 與DukeMTMC-ReID數據集上的比較結果。表中的Source列表項用來區(qū)分該方法是USL方法還是UDA方法。
表2 與Market-1501和DukeMTMC-ReID數據集的性能比較Table 2 Performance comparison on Market-1501 and DukeMTMC-ReID datasets 單位:%
結果如表2所示,不僅將本文方法與傳統(tǒng)的USL方法進行了比較,也與近期的一些UDA方法進行了比較,由于UDA方法使用了額外的有標簽數據進行源域的訓練,在大多數情況下,UDA方法比USl方法表現得要好,然而,本文提出的USL 方法卻超越了這些UDA 方法。在Market-1501數據集上,本文方法取得了mAP=81.2%和rank-1=91.2%的準確率,在DukeMTMC-ReID 數據集上,本文方法取得了mAP=68.4%和rank-1=78.7%的準確率,當前最先進的方法較分別提高了2.4和1.8個百分點的rank-1準確率。
上述實驗證明本文所提出的方法在很大程度上優(yōu)于當前最先進的方法,本文所提出的方法實現了當前的最佳性能。這一顯著的改進主要是由于本文方法考慮了不同相機間的成像風格差異,有效地抑制了因聚類而產生的偽標簽噪聲,并改進了內存字典的初始化與更新方式。
為了進一步驗證本文所提出方法的有效性,在一個更大、更具挑戰(zhàn)性的數據集MSMT17 和一個較為小眾的數據集PersonX上進行了實驗。令人感到驚喜的是,所提出的方法在這些數據集上表現依舊穩(wěn)定,如表3、表4所示:在MSMT17和PersonX上,所提出的方法分別完成了mAP=31.1%,rank-1=60.4%的準確率和mAP=88.3%,rank-1=93.6%的準確率,與當前最先進的方法較分別提高了6.0 和2.5 個百分點。上述實驗清楚地證明了所提出方法的優(yōu)越性能。
表3 與MSMT17數據集的性能比較Table 3 Performance comparison on MSMT17 單位:%
表4 與PersonX數據集的性能比較Table 4 Performance comparison on PersonX 單位:%
同時為了證明所提出模型的泛化能力,在一個車輛重識別的數據集上進行了實驗,如表5所示,在VeRi-776上,mAP=68.4%和rank-1=78.7%的準確率,其實驗結果表明所提出的方法同樣可適用于車輛重識別任務中。
表5 與VeRi-776數據集的性能比較。Table 5 Performance comparison on VeRi-776 單位:%
本節(jié)在Market-1501上進行了消融實驗來研究本文所提出的基于全局的二次聚類模塊(GQCM)與基于聚類結果的有監(jiān)督學習模塊(SLM)對實驗結果的影響,同時驗證不同的內存字典初始化與更新機制對結果的影響,以全面衡量所提出方法的性能。
3.4.1 模塊間消融實驗
如前文中所提到,本文所提出的網絡框架主要由兩個模塊組成:GQCM 模塊與SLM 模塊。全局圖片特征經過GQCM模塊得到了以相機為分類的帶有行人ID偽標簽的圖片特征,就可以有效的解決因跨相機成像風格不統(tǒng)一而帶來的聚類偽標簽噪聲問題。最后,GQCM模塊將帶有偽標簽的圖片特征傳遞給SLM 模塊,供其利用該偽標簽做有監(jiān)督學習。
為了證明本文所提出的網絡框架可以有效地降低偽標簽噪聲對結果的影響,設計實驗如下:實驗中分兩次進行,第一次實驗中使用單次聚類只生成行人ID 偽標簽,即只使用SLM 模塊。第二次實驗即使用完整的網絡框架即生成相機ID 偽標簽又生成行人ID 偽標簽,即使用GQCM 模塊+SLM 模塊,結果如表6 所示,其mAP和rank-1分別提高了2.1和2.8個百分點。
表6 模塊間消融實驗Table 6 Inter module ablation experiment 單位:%
為了進一步說明所提出的網絡框架對偽標簽噪聲有很好的抑制效果,從Market-1501 數據集中隨機選擇10張訓練集樣本進行聚類實驗,實驗過程如下:第一次實驗中使用單次聚類,第二次實驗即使用完整的網絡框架進行二次聚類,既生成相機ID 偽標簽又生成行人ID偽標簽,如圖5所示,該圖中,藍色條狀圖代表單次聚類結果中,正確的偽標簽數量。而紅色的條狀圖則表示使用本文所提出的網絡框架進行二次聚類所得到的正確結果數量。從實驗結果看,本文所提出的二次聚類模塊可大幅度提高聚類偽標簽生成的準確率。
圖5 單次聚類與二次聚類的結果對比Fig.5 Comparison of results between single clustering and double clustering
從上述實驗結果可知,GQCM模塊對樣本特征進行二次聚類確實可以有效地降低偽標簽噪聲對結果的影響,從而使得準確率進一步提高。
3.4.2 內存字典的更新機制
SLM 模塊采用聚類特征為基準來初始化與更新內存字典,其目的防止網絡訓練偏向實例數目較大的聚類從而影響模型最終的準確率。為了進一步探究SLM模塊對本文網絡框架影響,消融實驗設計如下,分別以常規(guī)的實例級特征和SLM模塊的聚類級特征更新初始化內存字典,其結果如表7所示。
表7 不同的更新機制比較Table 7 Performance comparison on PersonX 單位:%
實驗結果表明,SLM模塊的聚類級特征,即每個聚類的簇內選擇一個特征作為該行人的ID樣本特征來初始化和更新內存字典,可以有效地提高網絡的準確率。
本文提出了一種基于二次聚類的無監(jiān)督行人重識別框架,該框架采用了二次聚類模塊來抑制因跨相機采集數據而帶來的偽標簽噪聲問題,并在內存字典的更新初始化機制上做出改進。證明該框架可解決跨相機采集數據而帶來的偽標簽噪聲問題,通過大量實驗并在多個數據集上驗證表明,本文方法在無監(jiān)督行人重識別研究中的有效性。