in defense of the triplet loss for person re-identification
githttps:// github.com/visualcomputinginstitute/triplet-reid 框架
theano
摘要
一般來說,在訓練基於度量的網路的時候,使用的triple loss要優先於其他,隨著資料集合market-1501以及mars,使得重學習方向得到了很大發展。本文使用triple-loss方法進行重學習。
簡介
triplet loss之所以不流行主要是因為,錯誤的使用會導致極差的結果,在使用triplet loss的時候乙個重要的問題是挖掘triple 組合,挖掘難的triple組合是一件比較困難的事情。但是選擇太難的triple組合又會導致不穩定。
目前的主要趨勢主要是使用預訓練模型,很多使用與訓練模型也取得了較好的效果,但是與訓練有很多的限制。就是不能改進網路結構。文中使用自己從頭訓練的模型,能夠展示很好的效果。文中結構在預訓練模型中也能去得很好的效果,但是我們自己訓練的模型更加的輕量級能夠在一些限制硬體上使用。
文中的貢獻主要分成兩個部分,第一 改進了triplet loss,第二 使用triplet loss與之前方法相比,具有較好的結果。
度量向量的學習,triplet loss,挖掘重要性
度量嵌入式的學習是學習乙個函式
將語義空間相近的點對映到度量空間相近的點,將語義相離的點對映到度量空間相離的點,其中函式的引數是theta, 從乙個線性空間對映到乙個非線性空間,函式是以神經網路的顯示,
定義乙個函式
這個函式為度量函式,主要衡量嵌入空間的距離。
w&s等人,研究了這個問題,其形式如下
其中pull表示相同類別之間的距離,push是不同類別之間的距離。 形式如下
之後facenet改進了這中函式,並命名為triplet loss如下
這個方法的要旨在於同類的距離近,異類的距離遠。
如果僅僅隨機選擇triplet組合的話,會有各種各樣的問題,所以需要挖掘難的積極的組合,難的消極組合。挖掘資訊是乙個與訓練分離的步驟,並且增加了開銷,因為這需要使用最近的模型來計算,大比例資料的所有配對的距離。
文中與傳統的組合triplet 的方式不同,隨機選擇出p個種類,然後從每個種類中隨機選擇出k個影象,所以我們的batch是有pk個,對於每一batch中的影象a,從batch中選擇最難的積極,以及最難的消極。來組合triplet。也就是統成為batch hard
其中xij 表示第i個人的第j張。
按照這個規則,從pk batch中抽取難積極組合以及難消極組合。
那麼組合的數量為pk(pk-k)(k-1), 那麼batchall 如下
還有一點就是lbh以及lba 和傳統的triple loss在訓練的時候是息息相關的, 最大函式以及最小函式是連續的,可以使用梯度下降法的,因為已經在目前存在的機制中,比如最大pooling, relu。
和batch hard相似,batch all 是左嵌入loss,通過考慮積極和消極對來填充資料batch集合。
這裡只使用了乙個積極對,然後使用了所有的消極對。
將上述思維應用到整個batch上,那麼其公式變成如下形式
距離衡量
文中與其他使用||a - b||2作為距離度量不同,使用的是真實的歐式距離。這樣在文中的試驗中表現更加的穩定。
soft-margin
margin是乙個矯正函式,在人體重識別,可以將相同類別的例項放到一起,本文使用乙個逼近函式來代替這個矯正函式,如下
文中所做的主要貢獻是,batch hard以及soft-margin。經過試驗證明這種改進是要優於以前的一些方法的。
試驗
mars資料集合試驗結果對比圖
網路結構
網路結構部分主要分成兩個部分,第乙個部分使用的是pretrained-model,第二個部分使用的是從頭訓練的model。
預訓練模型使用的是,與訓練好的resnet50將全連線層去除後,增加了兩個全連線層,大小分別是1024以及128。選擇的batchsize是72,包含18個人,每個人有四張。 在任何資料集中都有較好的結果。引數是25.74m。這個模型稱為trinet
從頭開始訓練的model,模型的量級較小,只要5m的引數,訓練的batchsize為128,72個人,每個人的**是4個。這個模型稱為lunet
行人重識別(二)跨模態的行人重識別
感謝前輩總結的 列表,為了方便自己以後翻閱,鏈結擱這兒 在我們現實生活中,可見光條件下的攝像機拍到的影象,往往會包含行人的大部分外觀資訊,然而現實中並不只需要在可視條件極佳的條件下進行監控,在夜晚或者可視條件極差的場景中也有監控的需要,這個時候,紅外相機拍攝的影象便可用於行人的再識別。據我所知,現階...
機器學習的embedding
embedding在數學上表示乙個maping,f x y,也就是乙個function,其中該函式是injective 就是我們所說的單射函式,每個y只有唯一的x對應,反之亦然 和structure preserving 結構儲存,比如在x所屬的空間上x1 x2,那麼對映後在y所屬空間上同理 y1 ...
embedding的個人理解
網路表徵學習中的embeddings embed英文谷歌解釋1 fix an object firmly and deeply in a surrounding mass 英文 2 attach a journalist to a military unit during a conflict.1是...