Feature Mask Network for Person Re-identification
Feature Mask Network for Person Re-identification
論文:Let Features Decide for Themselves: Feature Mask Network for Person
Re-identification,cvpr,2018.連結:paper
程式碼:github
摘要
雖然大多數方法側重於學習特徵和度量以獲得更好的表示,但我們假設區域性和全域性上下文線索對於準確的身份匹配至關重要。為此文中提出了一種特徵掩碼網路(FMN),利用ResNet高階特徵來預測特徵對映掩碼,然後將其施加到低階特徵上,以動態地重新加權不同的物件部分來實現本地感知的特徵表示。這是一種有效的注意力機制,允許網路選擇性地把注意力集中在區域性細節。給定人的再識別與分類和檢索任務的相似性,我們將網路訓練框架化為多工目標優化,進一步改進了學習到的特徵描述。我們在Market-1501、DukeMTMC-reID和CUHK03資料集上進行了實驗,其中所提出的方法在mAP測量方面相對於現有技術分別實現了5.3%、9.1%和10.7%的顯著改進。
Introduction
目前行人重識別問題可分為兩大主流:1)研究有區分性的度量方法;2)設計網路來得到有區分性的魯棒特徵表示。在文中提出了一種自動的方法,使用神經網路學習注意力集中在區域性細節特徵和全域性影像描述上的,這有助於演算法過濾掉一些不相關的影像部分,並集中關注更有價值的區分性的線索的區域。我們利用已經學習的全域性鑑別特徵作為指導和動態選擇機制來為區域性特徵表示分配不同的重要性權重。
本文主要貢獻如下:
- 提出了一種特徵掩碼網路(FMN),它可以動態地處理影像中的區域性細節,並將其與全域性表示一起使用,以改進行人的重新識別。
- 提出了一個多工公式,它優化了分類和成對排序損失,以學習高度魯棒的特徵描述。
- 所提出的方法易於實現,訓練效率高,同時在所有三個基準資料集上的效能始終優於state-of-art方法。
網路結構
該方法基於這樣一個命題,即一個成功的人再識別系統需要重視行人的全域性和區域性辨別方面,行人的影像是使用多個監控攝像機從不同的視角獲取的。為此,引入了一種新的基於CNN的深度學習架構,該架構學習關注一個人的全域性和區域性線索,這些線索有助於對其進行重新識別。網路結構如下:
整個網路由三個主要部分組成,分別為:1)全域性表示網路(GRN);2)混合網路(MN);3)區域性注意力網路(LAN)。
全域性表示網路對應於輸入影像的整體特徵表示,網路使用和Resnet50 類似的殘差網路結構。混合網路為來自於全域性表示網路的初始化層輸出預測區域性特徵的掩碼權重,該模型由一個變換層和一個mixer 組成,變換層將全域性特徵表示的最後一層的輸出(1x2048)做一個全連線變換變為(1x3136),之後是一個reshape 模組和mixer 模組,reshape模組將變換後的向量(1x3136)reshape成56x56 大小的掩模矩陣,mixer執行區域性特徵表示和掩模權重之間的元素積。區域性注意網路學習區域性注意力特徵,這些特徵可以為一個人的身份匹配提供有用的線索。
1.Mask Computation(掩模計算)
在殘差網路中,MN對來自更高層(在我們的情況下是最終完全連線層)的全域性特徵表示g∈Rm 和來自更低層(在我們的情況下是第一個殘差塊的輸出)的區域性特徵表示f∈Rn進行操作。由於來自CNN低層的特徵表示被表示為彩色影像的多個2D啟用圖,因此我們可以更方便地將它們的維度表示為:n = h × w × c,其中h、w和c分別表示特徵通道的高度、寬度和數量。
首先將全域性表示特徵的最後一層的特徵圖(最終完全連線層 1x2048)進行全連線變換,公式為:
σ表示ReLU啟用函式,g表示最後一層特徵圖,W為變換權重矩陣。
因為我們的目標是關注空間域中的區域性特徵,所以我們使用相同的預測特徵掩碼對f中的所有特徵通道進行相同的重新加權。之後將 m’ 變換形狀,並且進行冪運算,並將它和GRN 中的低層特徵圖(第一層卷積的輸出)進行畫素乘積。
經過上述公式計算後,就得到區域性特徵網路的輸入。
2.Classification and Ranking(分類和排序)
網路分為兩個階段訓練,首先,訓練GRN網路預測行人身份,使用在ImageNet 資料集上處理的Resnet 模型,然後進行特徵任務的微調。之後,GRN 權重表示固定,MN 和 LAN 權重在下一階段進行聯合學習。類似於第一階段,第二階段訓練也使用行人身份作為標籤來訓練。與通過GRN學習的全域性表示相反,第二階段訓練集中在區域性區分資訊上,並使用MN適當地轉移注意力,以獲得互補的特徵表示。GRN 和LAN 都使用分類損失(交叉熵損失),
p為預測,y 為真值。
但softmax損失不直接考慮排名誤差。因此,在第二階段的聯合網路訓練中,在LAN 排名損失的基礎上加上損失定義如下:
m 代表邊界, P t G 和 P t L P^G_t 和 P^L_t PtG和PtL代表GRN 和LAN 的預測概率。
rank loss 使LAN 對正確標籤進行更好的預測。
3.Image Descriptor
測試時,通過融合GRN 和 LAN 的特徵來表示最終影像的特徵。融合方式如下:
對單個網路的最終特徵進行歸一化,然後加權拼接。
對得到的特徵在相簿中進行檢索,將檢索到的結果進行初始排序。
4.Re-Ranking(重排序)
基於上述步驟進行後的初始排序,我們執行重新排序步驟以進一步提高重新識別效能。重新排序步驟發現初始排序中的關係,以去除虛假匹配並獲得改進的列表。在重新排序中使用了K 倒數最近鄰。根據定義,如果使用其中一個影像的搜尋將第二個影像排在前k個影像中,則兩個影像是倒數最近的鄰居。這減少了重新排序列表中的誤報,從而顯著提高了效能。
重新排序過程以無人監管的方式執行。具體地說,通過計算倒易相鄰關係,使用相簿為每個影像計算k倒易特徵。給定一個查詢影像,這個影像特徵描述被用來尋找與相簿的相似性的圖片。注意,使用Jaccard相似性度量代替歐式距離 被用於匹配k-倒數特徵。最終距離是通過兩個距離度量的聚合來計算的。值得注意的是,重新排序過程在很大程度上依賴於使用我們提出的網路架構計算的特徵。有缺陷的特徵表示會導致效能下降或重新排序。在我們的例子中,使用重新排序方法的效能提升顯示了我們建議的特性描述的強度。
重排序演算法不太懂,文中利用了 Z. Zhong, L. Zheng, D. Cao, and S. Li. Re-ranking person
re-identifification with k-reciprocal encoding. 2017. 這篇文章的重排序演算法
實驗
文中在Market1501、CUHK03和DukeMTMC-reID 三個資料集上進行了實驗。
與各演算法的對比如下:
總結
一個人只佔輸入影像的一部分,全域性場景描述不足以進行準確的身份匹配。在這項工作中,我們為CNN提出了一個混合架構,它同時學習關注輸入場景中更有區別的部分。給定一個全域性特徵,我們直接預測用於在特徵空間中重新加權區域性場景細節的注意力掩模。這種策略允許靈活地將注意力重新集中在區域性細節上,這對於預測一個人的獨特身份非常有價值。區域性感知特徵描述導致高度緊湊和互補的特徵表示,其與全域性表示一起在三個大規模資料集上實現高度精確的結果。當提議的特徵與重新排序策略一起使用時,觀察到顯著的提升,證明了提議的特徵對正確編碼人身份之間的相互關係的強度。
相關文章
- [2020CVPR]Hierarchical Clustering with Hard-batch Triplet Loss for Person Re-identificationBATIDE
- 【VSA】One-shot video-based person re-identification with variance subsampling algorithmIDEGo
- 論文閱讀:Multi-Scale Boosted Dehazing Network with Dense Feature Fusion
- THFuse: An infrared and visible image fusion network using transformer and hybrid feature extractor 論文解讀ORM
- An important personImport
- The most influential person
- 遷移學習(APE)《Attract, Perturb, and Explore: Learning a Feature Alignment Network for Semi-supervised Domain Adaptation》遷移學習AIAPT
- Narrative writing about a person
- A Person Who Is Important to MeImport
- Mask Network產品Web3標籤頁新增Gitcoin捐贈記錄及POAP展示AFWWebGit
- Feature homophily metric
- SVG <mask>蒙板SVG
- 奇妙的 CSS MASKCSS
- ECCV 2020 | Robust Re-Identification by Multiple Views Knowledge DistillationIDEView
- 7.92 FEATURE_VALUE
- 7.91 FEATURE_SET
- 7.90 FEATURE_ID
- 7.89 FEATURE_DETAILSAI
- 7.88 FEATURE_COMPARE
- 來說說mask吧
- Gaming Dongle Feature Application NoteGAMAPP
- Unity遮罩之Mask、RectMask2D與Sprite Mask適用場景分析Unity遮罩
- 【譯】Android Gradle 外掛 4.0.0 中 Feature-on-Feature 的依賴關係AndroidGradle
- Polar mask錯誤總結
- You can‘t specify target table ‘Person‘ for update in FROM clause
- A2A (SOUL-Quiz FeatureUI
- CSS mask 與 切圖藝術CSS
- 從零開始 Mask RCNN 實戰:基於 Win10 的 Mask RCNN 環境搭建CNNWin10
- Simple Neural Network
- Set介面_network
- 經典鏈式呼叫 Person("Dan").sleep(2).eat("dinner")
- allure功能使用-feature&story
- Keras中Mask的傳遞過程Keras
- mask-image實現聚光燈效果
- 【訓練題19:概率DP】One Person Game | ZOJ3329GAM
- Network(POJ-1144)
- POJ 1861 Network (Kruskal)
- Network Embedding_LINE