蘇荻翔,王幫海,葉子成
廣東工業大學 計算機學院,廣州510006
行人重識別的任務是要在不同地方的多個不同攝像頭中,對特定的行人進行識別。當視頻或圖像質量較低,無法進行人臉識別技術時,行人重識別技術作為一種替代的技術發揮著重要的作用。近年來,行人重識別研究重心是通過深度學習的方法[1-5],在已有的數據集上進行學習,對行人的相似度進行排序,從而找出特定的行人。行人重識別的難點在于,數據集中的行人圖像是由不同的攝像頭在不同地方進行拍攝,同一名行人的圖像可能會因為攝像頭之間的光照、角度以及視野的不同而出現較大的差異,如圖1(a)所示;而不同行人的圖像可能會因為穿著相同,出現過于相似的情況,如圖1(b)所示。上述兩種情況分別稱為正負樣本對中的難正樣本對以及難負樣本對[6],即難以正確匹配的樣本對。在行人重識別任務中,有效地挖掘出訓練樣本中的難樣本對成為了進一步提升重識別模型精度的關鍵。

圖1 難以正確匹配的樣本Fig.1 Samples of difficult to match correctly
在傳統的有監督行人重識別模型學習中,通常使用標簽信息作為監督,通過交叉熵損失函數(cross-entropy loss)進行分類學習,然后使用三元組損失函數(triplet loss)進行正負樣本對位置的優化,并加入各種訓練技巧避免模型出現過擬合情況[2]。但是在無監督學習中,缺少樣本的標簽作為強監督信息,很難學習到具有良好分辨能力的網絡模型。解決無監督問題的方法主要有兩類,一類是通過聚類的方法[7-11],這類方法對無標簽數據的特征進行聚類,然后使用聚類的結果作為弱監督信息對網絡的模型進行學習;另一類是通過域適應的方法[12-15],先在有標簽信息的源數據集上進行有監督的訓練,然后使用預訓練過的網絡模型在無標簽目標數據集上進行學習。以上方法的主要思路都是通過學習樣本中簡單易成團的樣本,使無監督模型對簡單樣本對具有區分性,但并沒有對難樣本對進行進一步挖掘。
受到Zhang等人[10]提出的MAR模型以及Yu等人[12]提出的PAST 模型的啟發,本文提出一種利用多種聚類信息生成軟多重標簽來進行無標簽數據難樣本對挖掘的方法。MAR 模型通過設置參考樣本,計算無標簽目標域中的樣本到所有參考樣本的距離,生成無標簽樣本的軟多重標簽,使用軟多重標簽進行難樣本挖掘。PAST 模型使用HDBSCAN[16]聚類信息與樣本間相似度信息來進行難樣本對挖掘。而本文提出的方法將不同的聚類信息融合至同一維度中,生成類似MAR 模型中的軟多重標簽信息,并利用該信息計算文獻[6]提出的難樣本三元組損失函數(TriHard Loss),從而完成難樣本對的挖掘工作。
該方法的主要創新點在于使用了一種新的軟多重標簽作為無標簽數據監督信息。該軟多重標簽融合了多種聚類的信息,能削弱由單一聚類方法生成的偽標簽的局限性,更能體現樣本間的關系。
隨著深度學習的發展,運用深度學習的方法進行行人重識別任務成為了當前行人重識別領域的主流。Luo等人[2]就通過使用ResNet-50[17]網絡模型,加上標簽平滑以及對圖像進行隨機遮擋與切割等訓練技巧,學習到魯棒性更強的行人重識別模型。近年也有學者提出PCB網絡模型[5]以及EANET網絡模型[18],通過對網絡提取的特征圖進行分割再重組的方法,使網絡能夠更加關注圖像各部分特征之間的聯系。而深度學習往往需要大量的訓練數據,增加訓練的數據量也能使網絡學習到更多細節。CamStyle[19]的工作就是使每個攝像頭都能生成與其他攝像頭相同風格的行人圖像,從而增加訓練的數據量。Zhong 等人[13]則對CamStyle 的工作做了進一步改進,在CamStyle 的基礎上使用Triplet Loss 提升行人重識別模型的性能。
無監督域適應是當前無監督行人重識別的解決方法之一。將在有標簽的源域進行過預訓練的網絡遷移至無標簽的目標域以進一步學習是該方法的核心思想,其目的是將源域中學習到的知識遷移到目標域中。Deng等人[20]提出的PTGAN使用生成對抗網的方式,將源域的圖像風格轉換到目標域的圖像風格,并以源域行人的標簽進行約束,達到域適應的效果。Zhao等人[21]提出了一種聯合訓練抵抗噪聲的無監督域適應行人重識別方法,使用兩個結構相同但是初始化不同的網絡,相互作為監督信息,判斷各自選擇的三元組樣本是否為噪聲樣本。Wang 等人[7]的工作是將目標域中正樣本對與負樣本對的分布情況對齊到源域中正樣本對與負樣本對的分布情況,使兩個域的分布情況盡可能相同,達到域適應的效果。Ge等人[22]提出的SpCl方法在進行目標域學習時,同時加入源域進行學習,揉合了源域與目標域,對模型進行分類學習,在識別任務中得到了很好的表現。
使用聚類的方法做無監督行人重識別也是當前主流之一。主要方式為:對無標簽行人數據進行聚類并得到每個行人的偽標簽,使用偽標簽作為監督信息進行特征學習。文獻[9]提出的PAST自訓練進步增強模型,利用HDBSCAN 聚類方法,對樣本的相似度矩陣進行聚類,從聚類樣本以及相似度矩陣中選擇正負樣本對,利用Triplet Loss 損失函數對正負樣本對進行度量學習。該方法雖然能夠學習到簡單正負樣本對的區別,但是沒有難樣本對的判斷機制,難以對無標簽數據集中的難樣本進行挖掘。AD-cluster[10]方法加入了風格轉換的圖像進行聚類,提高了樣本之間的區分性。MMT[8]方法利用兩個網絡進行聯合學習,生成樣本的聚類硬分類標簽與軟分類標簽。其生成的偽標簽具有很好的魯棒性,能一定程度避免初始聚類噪聲帶來的影響。本文提出的多聚類信息融合進行難樣本挖掘的方法,是對網絡進行域適應以及特征聚類后的一種優化處理,目的是進一步提升網絡模型的魯棒性。
下面將介紹網絡結構與多種聚類信息融合進行難樣本挖掘方法的具體實現過程。總體實現框架分為三個部分,如圖2所示。第一部分對網絡進行源域的有監督預訓練。第二部分使用基于聚類以及記憶模塊的方法,對無標簽目標域數據進行初步學習,使訓練的網絡能夠在一定程度上對目標域行人進行識別。第三部分融合多種聚類信息生成軟多重標簽,對目標域中的難樣本對進行挖掘。該部分為介紹的重點,主要介紹如何將多種聚類信息進行融合以及如何利用此信息進行難樣本挖掘。

圖2 網絡結構Fig.2 Network structure
本文方法使用的神經網絡結構為在ImageNet[23]數據集上進行了預訓練的ResNet-50網絡結構。為了使該網絡模型能夠對行人圖像數據更加敏感,對該網絡結構進行了以下兩個改進。
第一個改進為在ResNet-50的每個Layer輸出位置,添加通道注意力模塊以及空間注意力模塊。注意力模塊的機制主要參考CBAM 注意力模塊[24]進行實現。首先將輸入的特征圖進行平均值池化,得到維數與特征圖通道數相同的向量,再將該向量進行全連接,輸出維數與輸入維數一致,并使用Sigmoid 激活函數進行處理。處理后的向量與輸入特征圖相乘,得到經過通道注意力模塊處理的特征圖,并將此輸入到空間注意力模塊中。
空間注意力模塊以通道方向對特征圖分別進行平均池化與最大值池化然后疊加,得到通道數為2的特征圖。使用卷積核大小為2×2 的卷積核對特征圖進行卷積操作,用Sigmoid激活函數對輸出進行處理,得到通道數為1 的空間特征圖。將空間特征圖與輸入特征圖相乘,最后得到經過兩種注意力模塊處理過的特征圖。
第二個改進為去掉ResNet-50 最后的1 000 維全連接層,改為一個輸出維數為1 024 的全連接層以及輸出維數為源域行人ID數的分類層。分類層的作用是利用源域中的標簽信息,將網絡的訓練過程轉換為一種分類問題,利用Cross-entropy Loss 函數進行網絡參數學習。這里使用文獻[2]中的訓練策略,對Cross-entropy Loss函數進行改進,改進后為:

式中,N為源域中行人ID 的個數,pi為當前樣本對于第i個行人的預測值,傳統的qi取值為0或1,為了防止過擬合,將qi改為:

式中,y為當前樣本真實標簽,ε為較小的常數,用于減少模型對訓練集的置信度,設置ε為0.1。
同時對源域樣本集進行難樣本三元組損失的計算,該損失函數為:

式中,M為當前mini-batch中行人個數,Z為當前minibatch中每個行人擁有的圖像個數,a為當前行人圖像,p為a的正樣本對,A為當前mini-batch 中a的正樣本集,n為a的負樣本對,B為當前mini-batch中a的負樣本集,α為邊界值,表示正樣本與負樣本之間的最小距離。使用難樣本三元組損失函數能夠減小類內樣本間的距離,增大類間樣本間的距離。
對于源域預訓練階段,使用Cross-entropy Loss 與TriHard Loss進行學習,總的損失函數為:

式中的σ用于平衡兩個損失函數。
對于無標簽目標域,首先需要學習目標域中的簡單樣本,即那些類內距離較近,容易成團的樣本。參考SpCl 中的方法,使用記憶模型、DBSCAN[25]聚類以及動量更新的方法,對目標域樣本進行初步學習。
在當前的網絡模型中,ResNet-50 網絡模型的輸出會被連接到一個1 024維的全連接網絡中。該全連接網絡的輸出定義為行人圖像的特征向量。對目標域進行初步學習的第一步,對所有訓練用的行人圖像進行特征提取,并將提取的特征構建為記憶模型。第二步,使用DBSCAN 聚類方法對記憶模型進行聚類,聚類的結果會把行人圖像數據分為聚類點和離群點。聚類點為當前特征相近的樣本,在初步學習階段,重點對聚類點進行處理。
首先計算每個聚類的聚類中心。對于每個聚類簇,計算其簇內樣本特征向量的均值向量,則該均值向量就為該聚類簇的聚類中心,其計算公式為:

式中,c為當前聚類簇的聚類中心,K為當前聚類簇內樣本的個數,f為樣本特征向量。
使用在線樣本匹配損失函數(OIM loss),對所有樣本進行學習,其公式為:

式中,nc為聚類中心個數,nu為離群點個數,ck為第k個聚類中心,uk為第k個離群點在記憶模型中的特征向量,為計算兩個向量之間的余弦距離,τ為放大系數,設為0.05。z為當前x的趨向位置。若當前x為聚類點,則z為x所屬類別的聚類中心;若x為離群點,則z為x在記憶模型中的特征向量。
該損失函數目的在于使簡單易成群的樣本更加聚攏,并且在聚攏過程中一定程度地遠離其他的聚類中心以及其他離群點,這樣能使模型在目標域中達到初步學習簡單樣本的效果。
計算完損失函數并對網絡進行更新后,需對記憶模型使用動量更新的方法進行更新,其方式為:

動量更新后的記憶模型,將會用于下一輪訓練的聚類以及損失函數的計算中。
對模型性能進一步提升的關鍵在于對數據集中的難樣本對進行挖掘。本文提出的多聚類融合方法,旨在減輕單種聚類信息產生的誤差,為樣本生成更魯棒的軟多標簽,并使用該軟多標簽挖掘出當前數據集內的難樣本對。
與初步訓練的方法類似,網絡的訓練流程同樣采用記憶模型與動量更新的方法,具體如圖2 所示。每次迭代對記憶模型同時進行三種聚類算法的聚類,圖2中的K、G、S 分別代表KMeans 聚類、高斯混合模型(Gaussian mixture model,GMM)聚類以及譜聚類(spectral clustering)。
2.3.1 KMeans聚類
KMeans 聚類算法是在聚類時,先在樣本特征空間中隨機選取k個點作為各個簇的中心(k為當前設定的簇個數)。接著計算每個樣本到各個隨機點的距離,選擇距離最近的點為該樣本的簇中心,將樣本被分配到該簇。當所有樣本都確定了自己所屬的簇后,每個簇根據簇內樣本的位置重新計算各個簇的中心。迭代地進行樣本到簇中心距離的計算以及簇中心位置的計算,不斷更新簇中心的位置,最后聚類所有的樣本。
KMeans 聚類完成后能得到樣本的硬標簽與軟標簽。硬標簽為當前樣本所屬的類別,軟標簽為當前樣本到各個簇中心的距離,計算公式為:

式中,l(x)為當前樣本軟標簽,x為當前樣本特征,li為樣本x到第i個簇中心的距離,k為聚類簇的個數,n為樣本特征的維度,ci為第i個簇的簇中心。
考慮到硬標簽只給出各樣本的所屬類別,而軟標簽則給出了樣本到各簇中心的距離,更能體現樣本間的位置關系,所以選擇軟標簽進行下一步的聚類融合。
2.3.2 高斯混合模型聚類
高斯混合模型聚類算法是將樣本數據看作是由多個不同的高斯模型生成的,即樣本服從混合高斯分布。聚類的過程就是找出高斯混合模型最佳參數的過程。每個高斯模型則代表著一個聚類簇。
高斯混合模型公式為:

式中,p(x)為概率密度,x為當前樣本,k為聚類簇個數,πi為第i個高斯模型的權重系數,ui為第i個高斯模型的均值,為第i個高斯模型的方差。
找出公式中最佳的πi、ui以及的值,使該高斯混合模型最大程度地擬合當前樣本的分布。首先根據聚類簇個數k隨機給定k個高斯分布。然后計算每個樣本由各個高斯模型生成的后驗概率,并使用后驗概率重新計算模型的πi、ui和值。迭代地計算后驗概率以及更新模型參數,最終使模型達到最優。
通過比較樣本由各個高斯模型生成的概率,選擇概率最大值,就能得到樣本所屬的類別,即樣本的硬標簽。樣本的軟標簽則是當前樣本由各個模型生成的概率,公式為:

式中的k為聚類簇個數,g(x)為樣本軟標簽,gi為樣本x由第i個高斯模型生成的概率。
2.3.3 譜聚類
譜聚類是從圖論中演化出來的聚類算法。主要思想是把所有樣本作為圖節點,構成一個無向有權圖,然后將圖切分成若干子圖。切分的結果使子圖內各條邊的權值盡可能大,子圖間的邊的權值盡可能小。這樣每個子圖構成一個聚類簇。
具體的譜聚類過程:使用K 鄰近法,構建樣本向量的相似矩陣,矩陣內的值為各邊的權值。通過該相似矩陣,構建出樣本的度矩陣以及鄰接矩陣,進而計算出拉普拉斯矩陣。計算標準化后的拉普拉斯矩陣的特征值與特征向量,并構成特征矩陣。對特征矩陣的行進行聚類,聚類的結果為樣本的譜聚類結果。
譜聚類給出的標簽為硬標簽,即當前樣本所屬的類別。將其轉換為one-hot編碼的模式

式中,s(x)為樣本標簽,x為當前樣本,j為譜聚類對當前樣本的聚類結果。
2.3.4 聚類分析與融合
KMeans聚類算法通過計算樣本與中心的距離進行聚類,其聚類結構通常為圓形,能滿足數據分布較為簡單的聚類要求。
高斯混合模型聚類與KMeans 的不同點在于,該聚類算法采用概率模型來刻畫聚類結構,其聚類結構通常為橢圓形,聚類簇的劃分相對靈活。對于某些特定的樣本分布,兩種聚類的差別如圖3所示。

圖3 Kmeans與GMM聚類的差別Fig.3 Difference between KMeans and GMM clustering
當樣本數據在特征空間中的分布呈現如圖3(a)分布時,KMeans 聚類會根據樣本到中心的距離對樣本種類進行劃分,如圖3(b)所示。圖中的A、B 樣本不屬于同一類,但KMeans聚類因兩樣本距離較近,錯誤地將其歸為同一個類別。而高斯混合模型聚類則是根據概率模型對樣本進行擬合,找出最有可能生成當前樣本的概率模型,效果如圖3(c)所示。高斯混合模型聚類能分辨出A、B這種位置較近,但明顯不屬于同一概率分布的樣本。
當樣本數據的分布較為稀疏且有特定形狀時,KMeans聚類以及高斯混合模型聚類都難以做出正確判斷,如圖4所示。

圖4 譜聚類與KMeans、GMM聚類的區別Fig.4 Difference between spectral clustering and KMeans and GMM clustering
圖4(a)為樣本數據分布情況。對該樣本數據進行KMeans 聚類以及高斯混合模型聚類,會出現圖4(b)以及圖4(c)的分類情況,聚類效果不理想。而使用譜聚類算法對該樣本數據進行聚類,則能得到很好的效果,如圖4(d)所示。這是由于KMeans 聚類算法以及高斯混合模型聚類算法在簇內樣本分布較為密集時,才能很好地發揮作用。而譜聚類算法是根據樣本的相似矩陣進行聚類的,所以當簇內樣本分布較為稀疏時,譜聚類仍然能有較好的效果。
在實際的數據集中,樣本的分布形式可能會同時存在多種,如圖5所示。
使用單一的聚類算法對樣本進行聚類,只能獲得部分樣本的正確聚類信息。而不同的聚類算法,正確聚類到的樣本可能不同,所以各聚類算法得出的聚類信息存在一定的互補性。這種互補性體現在:對于某一部分樣本,當一種聚類算法進行了錯誤的聚類時,其他的聚類算法可能會正確聚類。基于上述情況,本文提出一種融合多種聚類信息生成軟多標簽的方法。
融合的思路:在判斷兩個樣本是否屬于相同類別時,若判斷為相同類別的聚類算法越多,則當前兩個樣本屬于相同類別的可能性越大。這兩個樣本融合聚類信息后生成的軟多標簽的相似度也越大。具體的融合公式為:

式中,r為樣本的軟多標簽,l為公式(8)中KMeans 聚類得出的軟標簽,g為公式(10)中高斯混合模型聚類得出的軟標簽,s為公式(11)中譜聚類得到的one-hot編碼標簽,μ與λ為超參數,用于調整融合時各聚類標簽的占比。若兩個樣本的l、g與s高度相似,即三種聚類都給出相同的結果時,則生成的軟多標簽r也高度相似。
雖然各標簽的維度一致,但l為當前樣本到各聚類簇中心的距離、g為樣本屬于各個聚類簇的概率、s為one-hot編碼,故不能直接進行相加融合。考慮到,若當前樣本屬于某個聚類簇的概率越大,或者直接被認定為屬于某個聚類簇時,則該樣本離該聚類簇中心的距離應該越近。所以本文以l為基底,使用相減的方式融合三種聚類的標簽,將概率信息和聚類信息轉為距離信息。具體融合的過程如圖6所示。

圖6 多重聚類信息融合過程Fig.6 Multi clustering information fusing
比起使用單一聚類的標簽,網絡模型使用該軟多標簽對樣本進行學習,能更好地判斷數據集中的難樣本,從而提升網絡模型在行人重識別方面的性能。
2.3.5 難樣本對挖掘
挖掘的思路:當兩個樣本的特征向量相似但是軟多重標簽不相似時,可以判斷這兩個樣本為難負樣本對;當兩個樣本的特征向量不相似但是軟多重標簽相似時,可以判斷這兩個樣本為難正樣本對。
對于每個樣本,計算其在當前mini-batch 中與其他樣本的相似度并排序。選擇前k個樣本組成候選的正樣本集合P,而排名在k之后的選為候選的負樣本集合N。集合P與N可表示為:

式中,f(?)為網絡模型提取特征,f(x)為當前樣本的特征向量,Sk為當前特征相似度排序中第k個樣本的相似度值。
分別地,計算當前樣本x的軟多重標簽與集合P、N中所有樣本的軟多重標簽的相似度并排序。集合P中軟多重標簽相似度最低的樣本將被視為難負樣本;集合N中軟多重標簽相似度最高的樣本將被視為難正樣本。
獲得當前難樣本對后,計算目標域的難樣本三元組損失函數(target-source TriHard loss)。該損失函數的形式為:

式中,B為當前mini-batch 中的樣本個數,sa,p與sa,n分別為樣本a與它的難正樣本對以及難負樣本對的相似度,β為邊界值。
只進行難正樣本對與難負樣本對分布的優化,容易造成模型的崩潰,所以需要對樣本本身的分布位置加以約束。參考源域學習中以Cross-entropy Loss 加上TriHardloss的思想,使用各自樣本的候選正樣本集P的均值作為各自樣本的約束,構建中心約束損失函數(central constraint loss)。該損失函數的形式為:

式中,c為當前樣本的候選正樣本集合均值中心,ui為當前樣本的候選負樣本中第i個樣本的特征向量,sx,c為當前樣本x與其均值中心c的相似度,sx,u為當前樣本x與負樣本的相似度,γ為放大系數,設為0.05。該損失函數與Cross-entropy Loss 函數的作用相似,使當前樣本往中心位置聚攏并遠離其他負樣本。
結合兩個損失函數,難樣本對挖掘的損失函數為:

式中,ω為可調參數,用于平衡兩個損失函數。
使用公式(12)對網絡模型進行優化后,重新提取該mini-batch 中樣本的新的特征向量,并以公式(7)的方式,更新記憶模型,用于下一輪迭代的聚類計算。
方法在Market-1501[26]以及DukeMTMC-reID[27]兩個數據集中進行評估。
Market-1501 數據集擁有32 668 張行人圖像,一共包含1 501 個行人。其中,訓練集包含12 936 張行人圖像,分別屬于751 個行人;測試集包含19 732 張行人圖像,分別屬于750 個行人;查詢集中有3 368 張行人圖像,由測試集中的750個行人在每個攝像頭中隨機選取一張組成。實驗中使用Re-Ranking 重排序[28]的方法在測試集中進行檢索。
DukeMTMC-reID 數據集共采集了1 404 個行人的36 411 張圖像,其中訓練集擁有16 522 張行人圖像,包含行人702 個;測試集擁有17 661 張行人圖像,包含行人702個;選取測試集中每個行人在每個攝像頭下的隨機圖像作為查詢集。在行人檢索階段使用重排序的方法進行檢索。
本實驗在pytorch 框架下進行,使用的實驗平臺為Geforce RTX 3080 的GPU 以及i7-10700k 的CPU。將輸入到模型的圖像調整為256×168,并進行隨機裁剪以及隨機水平翻轉,用作數據增強。
網絡進行源域預訓練階段,初始學習率設置為0.01,使用SGD 優化器對模型進行優化。優化器momentum值設為0.9,總的訓練epoch 設置為60,每經過20 個epoch 學習率衰減為原來的0.1 倍。每個訓練批次從訓練集中隨機選擇8 個行人,分布從這8 個行人中隨機選擇其4張圖像,每個批次的訓練樣本共32個。在公式(2)中的參數ε設定為0.1,源域的難樣本三元組損失函數的邊界參數α設為0.3,總損失函數中σ設置為0.3。
網絡對目標域進行初步學習階段,使用Adam優化器對模型進行優化。初始學習率為3.5E-5,每經過15個epoch學習率衰減為原來的0.1倍,總epoch數設置為40。該階段的聯合對比損失函數的放大系數τ設置為0.05。該階段中使用的DBSCAN 的領域距離閾值參數eps 設置為0.5,領域樣本數閾值min_samples 設置為4個,對目標域的Jaccard 距離矩陣進行聚類。對記憶模型進行動態更新的動量系數m設為0.5。
目標域難樣本挖掘階段,初始學習率為3.5E-4,使用SGD 優化器對模型進行優化。優化器的momentum值設為0.8,總的訓練epoch 為40 個,每經過15 個epoch學習率衰減為原來的0.5倍。為了減少實驗參數過多的問題,將軟多重標簽公式(8)中的μ與λ設置為μ=2λ。不同的λ值對識別精度的影響如表1 所示,當λ值為0.22 時模型識別精度最高。對樣本特征進行三種聚類時,聚類簇的個數設置為50個。在難樣本的選擇中,劃分正負樣本的k值設為20。目標域難樣本三元組損失函數中的邊界值β設置為0.3。中心約束損失函數的放大系數γ設為0.05。最后總的難樣本挖掘損失函數中的ω平衡參數對識別精度的影響如表1所示,當ω值取0.2時模型識別精度最高。

表1 λ 與ω 對精度的影響Table 1 Effect of λ and ω on accuracy
3.3.1 難樣本挖掘效果
在DukeMTMC-reID 數據集中,對比網絡模型在初步學習階段與難樣本挖掘階段對某個行人搜索的效果,如圖7所示。

圖7 行人搜索結果Fig.7 Result of person search
圖中第一行為初步學習階段的網絡對某一行人前25 個搜索,其中正確結果有11 個。圖中第二行為經過難樣本對挖掘后的網絡對該行人前25 個搜索,其中正確結果有18個,比起初步學習階段的網絡多出7個。實驗結果說明,網絡在進行難樣本對挖掘學習后,對于一些較難判斷的樣本有了更好的識別能力,能盡可能在較少的搜索中找到更多的正確樣本。
對比網絡模型在初步學習階段與難樣本挖掘階段對難樣本搜索的效果,如圖8所示。圖中第一行為網絡初步學習階段對兩名行人搜索的結果。該階段的網絡難以對難樣本進行正確的判斷:對于第一個搜索行人,網絡將兩個衣著相似的難負樣本排在了搜索的第6 名與第8名,將因為被遮擋而造成難以識別的難正樣本排在100 名以外;對于第二個搜索行人,網絡同樣將衣著相似的難負樣本排在搜索的第11 名與第17 名,將因為拍攝角度以及環境變化而難以識別的難正樣本則排在100名以外。

圖8 難樣本搜索結果Fig.8 Result of hard samples search
經過本文方法學習后的網絡對難樣本的判斷有了明顯的提升:對于第一個搜索行人,網絡能排除遮擋物的干擾,將難正樣本提前至第5 名,并將原來判斷錯誤的難負樣本遠離至第45 名與第56 名;對于第二個搜索行人,網絡能排除拍攝角度以及環境的干擾,將難正樣本提前至第15 名,并將判斷錯誤的難負樣本遠離至第28名與第45名。這表明本文的方法能有效地識別出數據集中的正負難樣本并做出正確的判斷。
3.3.2 單聚類與多聚類比較
對比網絡使用單聚類標簽以及多聚類標簽進行難樣本對挖掘的效果,對Market-1501 數據集中某個行人的搜索進行可視化,結果如圖9所示。

圖9 搜索結果對比Fig.9 Comparison of search results
圖中第一行為根據單聚類標簽進行難樣本對挖掘的結果。因為受到單聚類錯誤標簽的誤導,網絡模型并沒有很好地識別出當前樣本的難樣本。一些與搜索行人相似的難負樣本被當作正樣本,排在了搜索較前的位置。而有些正樣本則被當作是負樣本,排在了搜索靠后的位置。
第二行為根據多聚類標簽進行難樣本挖掘的結果。可以看出網絡模型對當前樣本的正負難樣本都有了較好的判別能力。之前錯誤判斷的難負樣本被推開到搜索靠后的位置,而正樣本則被拉近到靠前的位置。由此可以看出,比起使用單聚類標簽進行訓練,使用多聚類標簽進行訓練的網絡更能挖掘出樣本之間的聯系。對比使用單聚類標簽訓練的模型性能與使用多聚類標簽訓練的模型性能。分別在Market-1501與DukeMTMCreID數據集上進行實驗,結果如表2所示。表中的D為初步訓練后的模型,以此為當前的baseline。K、G、S 為KMeans聚類、高斯混合模型聚類以及譜聚類。

表2 單聚類與多聚類對比結果Table 2 Comparison results of single clustering and multi-clustering
在DukeMTMC-reID 數據集上分別使用K、G、S 三種聚類算法的標簽進行學習,mAP 值有3.6%到5.2%的提升,Rank-1 值有4.1%到5.1%的提升。而在Market-1501數據集上分別使用三種聚類算法的標簽進行學習,只有高斯混合模型聚類以及譜聚類生成的標簽能使網絡模型有正向的學習,mAP 的值與Rank-1 的值都有提升。若只使用KMeans 聚類標簽,反而使模型的性能下降。這說明若單聚類的標簽出現過多的錯誤時,反而影響網絡模型的判斷能力。
融合了兩種聚類算法后,生成的軟多標簽的魯棒性比單聚類標簽更強。在兩個數據集中,模型使用兩種聚類信息融合生成的軟多標簽進行學習,模型性能得到進一步提升。而原本會導致模型性能下降的KMeans聚類標簽,在融合了高斯混合模型聚類標簽或者譜聚類標簽后,錯誤標簽對模型的影響也被削弱。融合后的軟多標簽能使網絡模型有正向的學習。
本文的方法是同時融合三種聚類算法。結果要比單聚類以及雙聚類的方法要好。以DukeMTMC-reID數據集為例,在mAP值的比較上,使用多聚類的方法比單聚類方法要高3.7%到5.3%,比雙聚類方法要高2.2%到3.3%;在Rank-1值的比較上,使用多聚類的方法比單聚類方法要高3.1%到4.1%,比雙聚類方法要高2.1%到2.5%。說明模型使用多聚類生成的軟多標簽的效果要比使用單聚類的標簽要好。
3.3.3 對比其他算法
與其他無監督域適應的方法進行比較,本文方法在mAP 指標上表現更優,如表3 和表4 所示。表3 為以Market-1501數據集為源域,以DukeMTMC-reID數據集為目標域作域適應。表4 以DukeMTMC-reID 為源域,以Market-1501為目標域作域適應。

表3 DukeMTMC-reID對比實驗結果Table 3 Contrast experiment on DukeMTMC-reID

表4 Market-1501對比實驗結果Table 4 Contrast experiment on Market-1501
表3、表4中的source表示模型只在源域進行學習,source+D表示模型在源域預訓練后,在目標域進行了初步學習,并以此為baseline。baseline+KGS 表示模型在源域中進行了預訓練,并且在目標域中進行了初步學習以及難樣本對的挖掘學習。
從表3 與表4 可以看出,在不對模型進行初步學習以及難樣本對挖掘的情況下,模型的準確率較低,在DukeMTMC-reID 數據集中僅有29.9%的mAP 值,在Market-1501 數據集中僅有33.9%的mAP 值。在對模型進行初步學習后,模型的性能有了進一步的提升,在DukeMTMC-reID 數據集中有48.9%的mAP 值,在Market-1501數據集中有46.9%的mAP值。最后對模型進行中心聚攏以及難樣本挖掘的學習,使得模型的性能進一步提高:在DukeMTMC-reID數據集中的mAP值提升了8.9%,達到了57.8%;在Market-1501 數據集中的mAP值提升了14.4%,達到了61.3%。
在DukeMTMC-reID數據集上,對比只使用PCB-PAST方法,mAP超過了3.5%。對比AD-Cluster方法,mAP超過了3.7%;在Market-1501數據集中,對比PCB-PAST方法,mAP 超過了6.7%。在兩個數據集上的表現均比使用單一聚類的方法更優,可以體現本文方法的有效性。
實驗結果表明,本文方法在mAP 指標則有較大提升,而在Rank-1 指標上的提升不大。本文方法能拉近難正樣本對的距離以及疏遠難負樣本對的距離,從而使整體效果得到提升。但用作生成軟多標簽的聚類方法只有三種,能對難樣本對做出正確判斷的通常只有一兩種聚類方法,樣本距離優化能力仍不夠強,難正樣本只能被優化到較近距離。
本文提出了一種利用多種聚類信息融合來生成軟多標簽的方法。因為不同的聚類方法其聚類機制各不相同,融合多種聚類的信息能從多個角度判斷樣本之間的關系,從而使生成的軟多標簽比起單聚類標簽更具魯棒性。利用這種軟多標簽進行無標簽域的難樣本對挖掘。在Market-1501 數據集以及DukeMTMC-reID 數據集中的實驗結果證明了該方法可以對已在目標域進行初步學習的模型進行進一步的難樣本對挖掘,提升其在目標域識別的性能。本文方法在找到正確的難樣本后,樣本間距離優化的信息有限,使得網絡不能再進一步的學習。今后研究的重點在于如何生成魯棒性更強、包含更多信息的標簽,進一步提升無監督網絡模型的性能。