Face++ 論文解讀:一種新的行人重識別度量學習方法

PaperWeekly發表於2018-01-29


關於作者:羅浩,浙江大學博士研究生,研究方向為計算機視覺和深度學習,現為曠視科技(Face++)research intern。  

■ 論文 | Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification

■ 連結 | https://www.paperweekly.site/papers/1069

■ 作者 | LUOHAO

1. 摘要

Person re-identification (ReID) is an important task in computer vision. Recently, deep learning with a metric learning loss has become a common framework for ReID. In this paper, we propose a new metric learning loss with hard sample mining called margin smaple mining loss (MSML) which can achieve better accuracy compared with other metric learning losses, such as triplet loss. In experiments, our proposed methods outperforms most of the state-ofthe-art algorithms on Market1501, MARS, CUHK03 and CUHK-SYSU. 

行人重識別是一個計算機視覺領域非常重要的一個任務。基於度量學習方法的深度學習技術如今成為了 ReID 的主流方法。在本論文中,我們提出了一種新的引入難樣本取樣的度量學習方法,這種方法叫做 MSML。實驗表明,我們提出的方法擊敗了目前大多數的方法,在 Market1501,MARS,CUHK03 和 CUHK-SYSU 資料集上取得了 state-of-the-arts 的結果。

2. 方法

Triplet loss 是一種非常常用的度量學習方法,而 Quadruplet loss 和 TriHard loss 是它的兩個改進版本。Quadruplet loss 相對於 Triplet loss 考慮了正負樣本對之間的絕對距離,而 TriHard loss 則是引入了 hard sample mining 的思想,MSML 則吸收了這兩個優點。 

度量學習的目標是學習一個函式Face++ 論文解讀:一種新的行人重識別度量學習方法使得Face++ 論文解讀:一種新的行人重識別度量學習方法空間上語義相似度反映在Face++ 論文解讀:一種新的行人重識別度量學習方法空間的距離上。 

請點選此處輸入圖片描述

通常我們需要定義一個距離度量函式Face++ 論文解讀:一種新的行人重識別度量學習方法來表示嵌入空間(Embedding space)的距離,而這個距離也用來重識別行人圖片。 

請點選此處輸入圖片描述

在國內外研究現狀裡面介紹的三元組損失、四元組損失和 TriHard 損失都是典型度量學習方法。給定一個三元組 {a,p,n},三元組損失表示為:

Face++ 論文解讀:一種新的行人重識別度量學習方法

三元組損失只考慮了正負樣本對之間的相對距離。為了引入正負樣本對之間的絕對距離,四元組損失加入一張負樣本組成了四元組 {a,p,n1,n2},而四元組損失也定義為:

Face++ 論文解讀:一種新的行人重識別度量學習方法

假如我們忽視引數 α  β 的影響,我們可以用一種更加通用的形式表示四元組損失:

Face++ 論文解讀:一種新的行人重識別度量學習方法

其中 m  n 是一對負樣本對,m  a 既可以是一對正樣本對也可以是一對負樣本對。但是直接使用 Lq′ 並不能取得很好的結果,因為隨著資料量的上升,可能四元組組合數量急劇上升。絕大部分樣本對都是比較簡單的,這限制了模型的效能。

為了解決這個問題,我們採用了 TriHard 損失使用的難樣本取樣思想。TriHard 損失是在一個 batch 裡面計算三元組損失對於 batch 中的每一張圖片 a,我們可以挑選一個最難的正樣本和一個最難的負樣本和 a 組成一個三元組。我們定義和 a 為相同 ID 的圖片集為 A,剩下不同 ID 的圖片圖片集為 B,則 TriHard 損失表示為:

Face++ 論文解讀:一種新的行人重識別度量學習方法

而 TriHard 損失同樣只考慮了正負樣本對之間的相對距離,而沒有考慮它們之間的絕對距離。於是我們把這種難樣本取樣的思想引入到 Lq′,可以得到:

Face++ 論文解讀:一種新的行人重識別度量學習方法

其中 a,p,m,n 均是 batch 中的圖片,a,p 是 batch 中最不像的正樣本對,m,n 是batch 中最像的負樣本對,a,m 皆可以是正樣本對也可以是負樣本對。

概括而言 ,TriHard 損失是針對 batch 中的每一張圖片都挑選了一個三元組,而 MSML 損失只挑選出最難的一個正樣本對和最難的一個負樣本對計算損失。所以,MSML 是比 TriHard 更難的一種難樣本取樣。

此外,Face++ 論文解讀:一種新的行人重識別度量學習方法可以看作是正樣本對距離的上界,Face++ 論文解讀:一種新的行人重識別度量學習方法看作是負樣本對的下界。MSML 是為了把正負樣本對的邊界給推開,因此命名為邊界樣本挖掘損失。

MSML 只用了兩對樣本對計算損失,看上去浪費了很多訓練資料。但是這兩對樣本對是根據整個 batch 的結果挑選出來了,所以 batch 中的其他圖片也間接影響了最終的損失。並且隨著訓練週期的增加,幾乎所有的資料都會參與損失的計算。

總的概括,MSML 是同時兼顧相對距離和絕對距離並引入了難樣本取樣思想的度量學習方法。

Face++ 論文解讀:一種新的行人重識別度量學習方法

如果用一張圖概括這幾個 loss 之間的關係的話,可以表示為下圖。

Face++ 論文解讀:一種新的行人重識別度量學習方法

3. 結果

論文裡在 Market1501,MARS,CUHK03 和 CUHK-SYSU 資料集都進行了對比實驗,為了減少實驗數量,並沒有在每個資料集上都做一次實驗,而是用所有資料集的訓練集訓練一個模型。

為了增加結果的可信度,使用了 Resnet50、inception-v2、Resnet-Xecption 三個在 ImageNet 上 pre-trained 的網路作為 base model,和 classification、Triplet loss、Quadruplet loss、TriHard loss 四個損失函式進行了對比。結果如下表,可以看出 MSML 的結果還是很不錯的。

Face++ 論文解讀:一種新的行人重識別度量學習方法

簡評

MSML 是一種新的度量學習方法,吸收了目前已有的一些度量學習方法的優點,能過進一步提升模型的泛化能力。本文在行人重識別問題上發表了這個損失函式,但是這是一個在影象檢索領域可以通用的度量學習方法。

相關文章