Re:從零開始的行人重識別(五)

度量學習之“局部特征+注意力”

Sun Y, Zheng L, Yang Y, et al. Beyond part models: Person retrieval with refined part pooling (and a strong convolutional baseline)[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 480-496.

該論文主要的貢獻:

  1. 提出一種名為PCB(Part-based Convolutional Baseline)的網(wǎng)絡(luò)結(jié)構(gòu),對行人特征進行統(tǒng)一的均勻劃分得到局部級別的卷積特征。
  2. 提出一種RPP(Refined Part Pooling)的方法,微調(diào)每個獨立局部部分。

在傳統(tǒng)手工提取特征用于行人重識別時期,Gray和Tao等人就提出了基于局部特征的方法,簡單來說就是把行人在水平方向上平均分割,然后分別提取顏色和紋理特征。而采用深度局部特征的方法與手工提取特征方法的不同之處在于深度局部特征是對提取后的深度特征進行水平分割,而手工方法是先對輸入圖像進行水平分割后再計算特征,相比之下深度局部特征的感受野更廣。在水平方向上平均分割雖然簡單,但是卻容易出現(xiàn)劃分的區(qū)域與預(yù)期不一致的現(xiàn)象,比如原本屬于肩膀的部分卻包含了部分下巴。而本文提出的方法最大的貢獻是對于劃分的局部區(qū)域進行微調(diào),讓劃分好區(qū)域的每個像素都重新選擇一個與預(yù)期最近的區(qū)域來重新分配,從而減少了錯誤分配導致的干擾,提高了模型的性能。

PCB的結(jié)構(gòu)不局限于任何一個骨干網(wǎng)絡(luò),任意骨干網(wǎng)絡(luò)只要經(jīng)過改造就能變?yōu)镻CB。將骨干網(wǎng)絡(luò)的全局平均池化(Global Average Pooling,GAP)層去掉,此時前向傳播得到的3D張量我們稱為T,將T按照水平線平均分割為p部分分別進行GAP,得到局部級別的單個列向量g_i(i=1,2,\cdots ,p),之后PCB采用卷積層來減少g的維度,減少維度后的列向量h維度為256。最后,將每個h輸入到一個分類器中,該分類器由一個FC層和一個的Softmax函數(shù)實現(xiàn),以預(yù)測輸入圖像的ID,如上圖所示。

RPP基于這樣一個假設(shè):相同部分的T應(yīng)該與該部分的其余列向量相似而與其他部分的列向量不相似,否則就會出現(xiàn)劃分區(qū)域與預(yù)期不一致的現(xiàn)象。因此當PCB訓練擬合后,就把列向量fg_i(i=1,2,\cdots ,p)計算余弦距離來得到相似度,如果fg_i更接近,就把f劃分到第i個區(qū)域否則就視作異常值 ,接下來就和PCB的內(nèi)容一樣了,就是將重新分配好區(qū)域的列向量進行GAP,然后降維、分類。關(guān)于如何將異常值重新定位,作者的做法是將T中的列向量f單獨拿出來訓練一個分類器,訓練器就直接采用一個全連接層加上softmax函數(shù),如下:
P(P_i|f)=softmax(W_i^T f)=\frac{\exp(W_i^T f)}{\sum\limits_{j=1}^{p}\exp(W_j^T f)}
局部分類器的訓練方式如下:

  1. 先將基礎(chǔ)PCB模型訓練至擬合
  2. 移除原本T后的平均池化層,并在T后面加上p類的局部分類器
  3. 將原本PCB的權(quán)重凍結(jié),單獨訓練分類器至擬合
  4. 將整個模型訓練至擬合

PCB+RPP的組合提高了模型不少的性能,如下圖:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容