簡介:

  這是一篇19年CVPR的跨域無監督Re-ID論文,在Market1501和DukeMTMC-reID上分別達到了67.7%和67.1%的rank-1精度,算是一篇將準確度刷得比較高的論文了,在這篇論文中主要是偏重了loss函數的設計而非網路結構,所以理解起來還是有一定難度的,下面就來一探它的奧秘。

主要工作:

  1. 在對無標註的目標域數據打偽標籤時不適用onehot這樣的硬值,而是將目標域無標籤人物身份表示為與一組額外數據集中已知標籤人物的相似度(軟多標籤),這篇論文將額外數據集(類似源域的概念)的有標籤行人叫做參考人物
  2. 利用外觀特徵與軟多標籤之間的一致性進行困難負樣本挖掘
  3. 因為行人重識別的一個setting是跨攝像頭匹配,所以引入了約束來保持軟多標籤在不同視角相機下保持一致性
  4. 引入參考代理學習來將每一個代理人在聯合嵌入中表示為一個參考代理

方法:

下面就來看看作者是怎麼來實現他說的這幾點

1.問題定義

我們有目標數據集 mathcal{X}=left{x_{i}
ight}_{i=1}^{N_{u}} ,還有一個輔助數據集 mathcal{Z}=left{z_{i}, w_{i}
ight}_{i=1}^{N_{a}} ,這裡的 z_{i} 代表每一個人物圖片, w_{i} 是對應的標籤, N_{a} 是輔助數據集的大小。注意這裡的目標域數據集和輔助數據集的人物是完全不重疊的。

2.軟多標籤

軟多標籤其實就是學習一個映射函數 l(cdot) ,對於所有的參考人物有 y=l(x, mathcal{Z}) in(0,1)^{N_{p}} ,所有維度的總和加起來等於1.同時在軟多標籤的指導下,我們還希望學習到一個有區分力的嵌入 f(cdot) ,同時要求 |f(cdot)|_{2}=1 。作者還引入了一個參考代理的概念即 left{a_{i}
ight}_{i=1}^{N_{p}} 。(這個會放到後面說,暫時可以就認為它是輔助數據集中一個參考人(這個人有多張圖片)的特徵表達),同時有 |a_i|_{2}=1 .( N_{a} 是圖片張數,N_{p} 是行人個數)。

因為對於軟多標籤y來說,它的所有維度之和為1,所以可以使用如下定義:

y^{(k)}=lleft(f(x),left{a_{i}
ight}_{i=1}^{N_{p}}
ight)^{(k)}=frac{exp left(a_{k}^{mathrm{T}} f(x)
ight)}{sum_{i} exp left(a_{i}^{mathrm{T}} f(x)
ight)}

這裡的 a_i 就是參考代理了。

3.困難負樣本挖掘

困難負樣本挖掘對於學習到有區分力的特徵是很有效的。在無標註的目標域上面因為缺少ID所以困難負樣本的判斷成了一個問題。作者做了一個這樣的假設:如果一對樣本 x_i,x_j 擁有很高的特徵相似度 f(x_i)^{T}f(x_j) ,那麼我們就認為這是一對相似樣本,如果相似樣本的其他特性也相似,那麼它很可能是一個正樣本,反之就是一個負樣本。這裡就把軟多標籤當作是其他特性。接著提出如下的相似度定義,使用的是逐元素的交運算,最後可以簡化成使用 L1 距離進行表示。

Aleft(y_{i}, y_{j}
ight)=y_{i} wedge y_{j}=Sigma_{k} min left(y_{i}^{(k)}, y_{j}^{(k)}
ight)=1-frac{left|y_{i}-y_{j}
ight|_{1}}{2}

其實這裡的物理意義相當於每個代理人在進行投票,對這一對圖像是否屬於同一個人進行表決。作者做了如下的公式化:

egin{aligned} mathcal{P} &=left{(i, j) | fleft(x_{i}
ight)^{mathrm{T}} fleft(x_{j}
ight) geq S, Aleft(y_{i}, y_{j}
ight) geq T
ight} \ mathcal{N} &=left{(k, l) | fleft(x_{k}
ight)^{mathrm{T}} fleft(x_{l}
ight) geq S, Aleft(y_{k}, y_{l}
ight)<T
ight} end{aligned}

上式中的 p 是一個代表比例的參數,對於未標註的目標域來說將有 M=N_u*(N_u-1)/2 個圖像對,我們認為其中 pM 個是有著最高的特徵相似度的,同理有 pM 個是有著最高的軟標籤相似度的。這裡的 S,T 就是 pM 的位置處對應的閾值了。多標籤引導的有區分力嵌入學習 (MDL) 就被定義為:

L_{M D L}=-log frac{overline{P}}{overline{P}+overline{N}}

其中:

egin{aligned} overline{P} &=frac{1}{|mathcal{P}|} Sigma_{(i, j) in mathcal{P}} exp left(-left|fleft(z_{i}
ight)-fleft(z_{j}
ight)
ight|_{2}^{2}
ight) \ overline{N} &=frac{1}{|mathcal{N}|} Sigma_{(k, l) in mathcal{N}} exp left(-left|fleft(z_{k}
ight)-fleft(z_{l}
ight)
ight|_{2}^{2}
ight) end{aligned}

通過最小化 L_{M D L} 來學習有區分力的嵌入(這個公式的物理意義是什麼?)。這裡的 P,N 在模型訓練中是動態的,應該使用每一輪更新後的特徵嵌入來構造。因為這個原因,作者將M 替換成了 M_{batch}=N_{batch}*(N_{batch}-1)/2 , N_{batch} 指的就是每一小批中無標註圖像的個數。(因為樣本中正樣本對遠遠多於負樣本這樣一來每一小批中真的會存在正例嗎?)

4.跨視角一致的軟多標籤學習

因為行人重識別要求識別不同相機視角下的行人,所以在進行跨視角匹配時,軟多標籤需要保持良好的一致性。從數據分布的視角來看,比較特性的分布應該只取決於目標域人物外觀的分布而與相機視角無關。舉個例子來說,如果目標域是一個寒冷的開放市場,顧客往往都是穿著深色衣服,那麼軟標籤中有著高相似度的元素對應的參考人物也應該是穿著深色衣服,而不管是哪個目標相機視角拍攝的。換句話來說,就是每個相機視角下的軟多標籤分布應該與目標域的分布一致。通過以上分析,作者引入了跨視角一致的軟多標籤學習損失:

L_{C M L}=Sigma_{v} dleft(mathbb{P}_{v}(y), mathbb{P}(y)
ight)^{2}

mathbb{P}_(y) 是數據集 X 的軟標籤分布, mathbb{P}_{v}(y)X 中第 v 個相機視角的軟標籤分布, d(cdot,cdot) 是兩個分布之間的距離。因為作者通過經驗觀察發現軟多標籤大致符合一個log-normal 分布,所以使用簡化的 2-Wasserstein 距離作為度量標準。

L_{C M L}=Sigma_{v}left|mu_{v}-mu
ight|_{2}^{2}+left|sigma_{v}-sigma
ight|_{2}^{2}

mu/sigma 分別代表log軟多標籤的均值與方差向量, mu_v/sigma_v 就代表第v個相機視角下log軟多標籤的均值與方差向量。

5.參考代理學習

參考代理是在特徵嵌入中表示一個唯一的參考人,起到緊湊的特徵摘要器的概念。因此,參考代理之間應該相互區分同時每一個參考代理都應該能夠代表所有對應的行人圖像。

L_{A L}=Sigma_{k}-log lleft(fleft(z_{k}
ight),left{a_{i}
ight}
ight)^{left(w_{k}
ight)}=Sigma_{k}-log frac{exp left(a_{w_{k}}^{mathrm{T}} fleft(z_{k}
ight)
ight)}{Sigma_{j} exp left(a_{j}^{mathrm{T}} fleft(z_{k}
ight)
ight)}

z_k 是輔助數據集的第 k 個行人圖像,它的標籤為 w_k .對於這個公式我的理解是通過最小化 L_{A L} ,我們能夠為每個參考人學習到一個混合的特徵表達, a_{w_k} 表示的就是標籤為 w_k 的這個行人的特徵表達, L_{A L} 中後一項的交叉熵強調了每個行人表達的區分力。參考代理學習的另一個的隱含重要作用是增強了軟多標籤函數 l(cdot) 的有效性,對於輔助數據集的圖片$z_k$,我們計算的 L_{A L} 個式子的後一項與軟標籤 hat{y}_{k}=lleft(fleft(z_{k}
ight),left{a_{i}
ight}_{i=1}^{N_{p}}
ight) 完全相同, L_{A L} 的目的是希望軟標籤能夠與真實的標籤 hat{w}_{k}=[0, cdots, 0,1,0, cdots, 0] 足夠接近。當 z_i,z_j 屬於同一個人時 Aleft(hat{w}_{i}, hat{w}_{j}
ight)=1 ,否則為0.(相當於這一塊屬於有監督學習,能夠保證學習到的 l(cdot) 函數是有效的).但是 L_{A L} 其實只在輔助數據集做最小化,為了提高軟多標籤函數在目標數據集上的有效性,接著提出學習如下的聯合嵌入。

要使得軟多標籤函數在目標域上還能用,就得解決域偏移。作者提出使用挖掘跨域的困難負樣本(也就是包含無標註人物 f(x) 和額外參考人 a_i 的一對,因為他們肯定不是一對正例)來修正跨域分布不對齊。做法就是針對每個 a_i ,找出與它接近的無標註人物 f(x) ,他們之間不管外觀多相近,都需要有很強的特徵區分度。

L_{R J}=Sigma_{i} Sigma_{j in mathcal{M}_{i}} Sigma_{k : w_{k}=i}left[m-left|a_{i}-fleft(x_{j}
ight)
ight|_{2}^{2}
ight]_{+}+left|a_{i}-fleft(z_{k}
ight)
ight|_{2}^{2}

mathcal{M}_{i}=left{jleft|a_{i}-fleft(x_{j}
ight)
ight|_{2}^{2}<m
ight} 也就是代表數據與參考 a_i 的距離, m=1 在理論上是合理的, [cdot]_+ 是一個hinge函數,後面的center-pulling項 left|a_{i}-fleft(z_{k}
ight)
ight|_{2}^{2} 增強了參考代理的表達性,因為 z_k 其實是輔助數據集標籤為 w_k 的樣本。總的來說 L_{R J} 的作用是利用輔助數據集和目標域的不重合來進行adaptation,同時要求輔助域中參考代理向量不能因為前一項而跑偏,繼續保持良好的代表能力。

這裡的 mathcal{M}_{i}=left{jleft|a_{i}-fleft(x_{j}
ight)
ight|_{2}^{2}<m
ight} 。最終的參考代理學習為:

L_{R A L}=L_{A L}+eta L_{R J}

6.模型訓練與測試

本文提出的整體的損失函數如下:

L_{M A R}=L_{M D L}+lambda_{1} L_{C M L}+lambda_{2} L_{R A L}

在測試時計算查詢與圖庫圖片的特徵餘弦相似度,然後按照距離排序獲得檢索結果。

推薦閱讀:

相关文章