文章連結:https://download.csdn.net/download/qq_35631395/12435628
代碼連結:https://download.csdn.net/download/qq_35631395/12439450
摘要: 行人再識别需要關注人全身的有判别力特征,來解決不精确的行人邊界框檢測、背景雜亂和遮擋問題。最近許多方法嘗試通過基于部分的特征表示來詳細的描述full person。但是,忽略了這些部分之間的空間關系。在本文中,作者提出應用長短期記憶(LSTM)以端到端的方式模組化行人,将其看作從頭到腳身體部分的一個序列。結合上下文資訊增強了局部特征更好對齊全人的識别能力。也利用局部特征和全局特征之間的互補資訊,此外,将識别任務和排名任務整合到一個網絡中,可以同時學習一個有判别力的嵌入和一個相似性度量,形成一個新穎的三分支架構:Deep-Person。(學習高判别力的特征)
一、引言
行人再識别(Re-ID)是指在多個非重疊攝像頭下比對一個特定行人的任務,由于其各種監控應用,在計算機視覺領域得到越來越多的關注,雖然對Re-ID任務研究了幾十年,由于不精确的行人邊界框檢測和光照、姿勢巨大變化、背景雜亂、遮擋以及視覺外觀模糊,它還是一個有挑戰性的任務。必然要使用主要關注全人的有判别力的特征來解決這些挑戰。
大多數之前的工作關注有判别力的手工特征表示或魯棒性距離度量。不斷增長的大規模資料集,最近的行人再識别方法将特征提取和距離度量結合在一個端到端的深度卷積神經網絡中。然而,大多數基于CNN的方法緻力于設計一個更好的特征表示或者提出一個更魯棒的特征學習,但很少兩者兼得。最近有一些半監督和無監督的方法進一步發展了這個領域,在有很少甚至沒有标簽的情況下取得了滿意的結果。
關注更好特征表示的CNN方法大緻分為三類:
(1)全局全身表示
廣泛使用Global average pooling來提取這種全局特征,這減少了特征粒度,導緻丢失局部細節;
(2)局部身體部分表示
可以使學習到的特征關注到身體細節,然而,由于姿态變化、不完美的行人檢測和遮擋,這樣簡單的分區無法正确地學習與完整人對齊的特性,導緻基于部分的特征遠不夠魯棒。一些方法用複雜的方法或額外的姿态标記生成更好的身體分區。盡管這些基于部分的方法能更好的描述行人細節,還是不能與全人很好的對齊,并受到遮擋、模糊和背景噪聲的影響。《A siamese long short-term memory architecture for human re-identification》2016 提出首先将原始行人圖像轉換為順序的LOMO和顔色名稱特征,然後用RNN模組化空間上下文。然而,序列特征提取和空間上下文模組化的分離阻礙了端到端訓練和優化,導緻性能下降;
(3)結合全局和局部表示
将全局和局部特征連接配接作為最終的特征表示,與單個分支模型相比,這種組合的特征表示通常在測試階段需要更多的計算和額外空間,實作時運作更慢。
這些緻力于魯棒特征學習的方法通常将行人再識别問題看作一個分類任務或者排名任務。由于近年來大規模的ReID資料集的不斷增加,person Re-ID在許多工作中被認為是一個多類的person識别任務[],由倒數第二個全連通層所得到的ID判别嵌入(IDE)顯示了巨大潛力。然而,識别任務的訓練目标與測試階段不完全一緻,這種學習到的IDE對于訓練集上的識别模型可能是最優的,但是在描述測試階段的unseen人的圖像可能不是最優的,此外,識别任務不能顯式的學習一個相似性度量在測試階段來檢索,另一方面,排名任務的目标是使正對之間的距離比負對之間的距離近一個給定的margin,是以,就顯式的學習了一個相似性度量。然而,标記Re-ID的全部身份資訊沒有被完全利用。最近,一些工作[]利用具有三元組損失的分類和排序任務來學習特征表示。
在本文中,作者提出将行人模組化為一個從頭到腳的身體部分序列,是以,每個部分都與其他部分緊密相關。然而,現有的基于部分的方法通常忽略了這種上下文資訊。為了捕獲身體部位之間的關系,我們以端到端的方式使用長短期記憶(LSTM),增強了局部特征的識别能力,用身體結構的先驗知識更好地對齊完整的人。我們在Deep-Person模型中也采用全局全身表示,将全局和局部特征遞送到兩個獨立的網絡分支來做識别任務,不同于傳統的将全局和分特征串聯起來作為最終特征表示,我們進一步加上一個使用三元組損失的排名任務來顯式的學習相似性度量。更具體地,我們使用backbone特征
的全局平均池化特征
作為相似度估計,也考慮作為最終的行人描述符,這種三分支Deep-Person模型可以學習高判别性的特征。
本文的主要貢獻:
(1)提出将行人看作是從頭到腳身體部分的一個序列,并應用LSTM來考慮身體部分之間的上下文資訊,這種上下文資訊有助于學習關注人身體的更有判别力的特征;
(2)提出一個新穎的三分支架構,利用了兩種互補優勢:局部身體部分和全局全身特征表示,識别任務和排名任務;
(3)在測試階段,提出的Deep-Person隻執行主幹網的前向傳遞,然後執行全局平均池化。是以,與單分支模型相比,我們的模型在測試期間不需要額外的運作時和空間,但仍然在三個流行的reid資料集上大大優于最先進的方法。
二、相關工作
一些方法将person re-id看作是圖像檢索問題的一種特殊情況,即給定一個探測圖像,基于在投影空間中所有底庫圖像與探測圖像的距離,架構将所有的底庫圖像進行排序,傳回top k個最相似的圖像。這種情境下,趨向于關注魯棒性的距離度量。
在本文中,關注一個高品質的行人描述符,通過更好的特征表示和更魯棒的特征學習。是以我們關注兩種密切相關的深度學習方法:基于部分的表示 和 多損失學習。本文提出的Deep-Person的一個創新是:使用LSTM将行人模組化為一個從頭到腳身體部分的序列
1. 基于部分的peerson re-id方法:
根據部分分區政策,基于部分的方法可大緻分為兩類:(1)剛體部件分區。每個部件被輸入到一個獨立的分支,然後将所有的部件特征連接配接起來作為最終的表示。比如:PCB《Beyond part models: person retrieval with refined part pooling (and A strong convolutional baseline)》2018 将最終的特征映射垂直的分為幾個條紋,每一個都表示一個身體部分,此外,對每個條紋應用注意力機制來使部分特征關注身體部分,PCB忽視了不同身體部分之間的關系;(2)靈活的身體部分分區。更合理的來定位合适的部分。比如《Deep representation learning with part loss for person re-identification》2019 使用無監督方法生成一組部件框,然後用RoI池化生成部分特征;《Learning deep context-aware features over body and latent parts for person re-identification》2017用帶有新穎空間限制的Spatial Transformer Networks (STN)來定位可變形的人體部件; 還有用額外的姿态标注。
盡管剛體部分很容易實作,但由于不精确的行人檢測和遮擋,會造成未對齊問題。而基于靈活身體部分的表示可以緩解未對齊問題。但是,這種方法通常都需要一個更複雜的管道或者需要額外的先驗知識(eg.人體姿勢)。
以上方法都忽略了身體部件之間的相關性,然而行人總是能被分解為一個從頭到腳身體部分的序列,基于這個簡單而重要的性質,本文提出以一個順序的方法一起學習所有的部件,很自然的應用LSTM來模組化序列,在《A siamese long short-term memory
architecture for human re-identification》2016中也用LSTM來模組化身體部分之間的空間上下文資訊,但是它先将輸入圖像分為剛體部分,并對每個獨立的部分提取手工特征,然後使用LSTM在一個分開的步驟中來模組化空間相關性。
本文提出的Deep-Person以端到端的方式聯合內建了deep feature提取和sequence modeling,得到主要關注全人的更有判别力的特征。
2. 基于joint multi-loss learning的方法
鄭良博士提出person re-id在執行個體檢索任務和圖像分類任務之間。(1)re-id被視為一個排序任務。用一個ranking loss來進行特征學習(eg.改進的三元組損失函數);(2)被視為分類任務。通常用softmax loss來解決,分類可以通過兩種方法來實作:驗證網絡(輸入一對圖像,通過二分類網絡确定它們是否屬于同一個人)、識别網絡(即多類識别網絡,每個人被看作一個獨立的類)
classification task 和 ranking task 是互補的。一些方法利用這兩個任務的互補優勢,用兩種 loss funtion 同時對優化網絡。[]
提出的Deep-Person采用 triplet loss + identification loss。
3. 使用LSTM進行序列模組化
LSTM廣泛應用于很多基于序列的問題,比如圖像标注、機器翻譯、語音識别、文本識别等。LSTM在圖像分類和目标檢測上也有巨大的潛力,其中LSTM模組化空間依賴性并捕捉豐富的上下文資訊。
不同于這些傳統的使用LSTM直接模組化上下文并學習一個更好的表示,
LSTM在Deep-Person中隻用來将行人結構描述為一個序列,backbone CNN特征(結合全局和局部資訊)是最終表示,LSTM的分支通過向後過程對其産生影響。從這個意義上講,LSTM的分支在我們的網絡可以看作是一種主要對部分設計的特殊loss function,這與其他兩個損失函數互補:Softmax 和Triplet loss。LSTM的這種用法在以前的CNN-RNN方法中從未見過。
三、Deep-Person架構
1. 概述
Deep-Person模型關注特征表示和特征學習。有兩種互補設計:
(1)全局表示 和 基于部分的局部表示;
依賴深度學習的person re-id是從檢測到的行人學習有判别力的特征。
《Learning deep context-aware features over body and latent parts for person re-identification》2017 指出 完整身體學習到的表示更關注全局資訊,比如shape . 然而,在一些情況下,隻有某些身體部分(如頭、上半身、下半身)是由判别力的,此時,基于部分的局部表示對全局表示做了一個補充。
本文提出 使用基于LSTM的RNN來自然的模組化每個部分之間的空間依賴性,可以看作從頭到腳身體部分的一個序列。結合互補的全局表示和基于LSTM的局部表示能增強特征的判别能力。
(2)用softmsx的識别分支 和 用triplet loss的排序分支。
許多re-id深度模型中通用的一個元件是:基于softmax的識别分支(基于學習到的深度特征辨識不同的人)。而識别分支沒有顯式的學習相似性度量。《End-to-end comparative attention networks for person re-identification》2017 指出 用triplet loss的距離排名分支 有助于學習一對圖像之間的相似性度量。此時,識别分支和用triplet loss的距離排名損失是另一個互補。
兩個主要組成:(1)backbone network (學習大小為
的共享低級特征
);
(2)多分支網絡,學習一個高判别力的特征表示,用三個互補的分支:基于部分的識别分支
、基于全局的識别分支
、使用triplet loss的距離排序分支
.
采用聯合學習政策,同時優化每個分支的特征表示并發現相關的互補資訊。
2. Part-sequence learning using LSTM
基于部分的表示關注行人細節,這對re-id是有用的。 我們注意到圖檔中的行人可以被分解為一個從頭到腳的身體部件序列,即使每個部分在不同的圖檔中會定義在不同的位置,由于身體結構的先驗知識,所有的行人部分可以被模組化為一個序列。行人的序清單示自然的促使我們采用含有LSTM單元的RNN,結構如下:
LSTM單元之間的循環連接配接使RNN能夠根據曆史輸入生成特征,是以,在任何點上學習到的特征都是通過空間上下文來細化的。更重要的是,得益于内部的門控機制,LSTM可以控制從目前狀态到下一個狀态的資訊流,是以,LSTM 單元有能力傳播某些相關上下文并過濾掉一些不相關的部分。
基于以上原因,本文提出采用LSTM來模組化身體部分的序列。
更具體地,為了得到空間上下文,直接從共享的低層特征
提取一個特征向量序列,圖2所示,
的每一行經過一個平均池化(即,平均池化用
的核),得到一個對應的長度為C的特征向量。
如圖,每個特征向量描述了原始圖像中由對應感受野給出的矩形區域。 然後在特征序列上構件一個兩層的雙向LSTM。 由于LSTM的上下文模組化,每一個得到的長度為U的特征向量可以更好的描述它的相關部分。 最後,将所有得到的描述局部部分的特征向量連接配接起來作為最終的部分行人表示,這個部分特征通過含有
個輸出神經元的softmax層學習,其中
表示行人身份的數量。
3. Global representation learning
基于部分的特征更多的關注有判别力的行人細節,但是隻用基于部分的表示很難辨識兩個有着相似細節的不同的人,這種情況下,需要shape資訊來區分他們.
全局特征補充到基于部分的局部特征,包含了更進階的語義,比如形狀。
與很多re-id的深度神經網絡相似,簡單的在共享低層特征
之後插入一個全局平均池化層和一個全連接配接層來提取一個全局表示。
然後加入帶有Nc個輸出神經元的Softmax層進行全局特征學習。
4. Deep metric learning with triplet loss
以上描述了部分和全局的表示學習,但沒有顯式的學習一個相似性度量,這在測試時時需要的。在Deep-Person中提出一個三分支負責距離排序。為此,我們對共享的低級特征
應用另一個獨立的全局平均池,在度量空間中産生一個用于相似性估計的特征
,
也被用作person Re-ID的最終行人描述符。
更具體的,采用the improved triplet loss 來深度度量學習《In defense of the triplet loss for person reidentification》2017
主要思想是:生成 PKsampling 批次(随機抽取P個類/身份,每個人随機抽取K張圖檔,得到PK張圖檔的一個批次。)
給定一個mini-batch
,對每個選擇的anchor圖像
,組成一個triplet
, 由于hard triplet mining strategy對于學習triplet loss至關重要,是以每一個錨樣本隻選取小批量中最難的正、負樣本,組成triplets行損失計算:
本文中,D( )是由歐式距離
5. 模型訓練
上面提到,不同的分支在學習有判别力的行人描述符時具有互補優勢。為了利用這些互補性,我們聯合訓練整個網絡來預測人的身份,局部和全局特征學習,同時也滿足三重目标。對于多類行人識别任務,有兩個使用Softmax loss建構的識别子網,定義為:
其中
是第i個樣本的分類特征;
是第i個樣本的身份; N是樣本數 ;
和
分别是 第j 個身份分類器的權重和偏置。
為了簡化符号并消除歧義,用
代替
(
) 用于對應的基于部分(基于全局)分類損失函數
(
) ,總的loss為:
其中
是不同分支的損失權重。
四、實驗
1. 實驗細節
- pytorch架構; 主幹網絡:在ImageNet上預訓練的ResNet-50,其中丢棄了全局平均池化層和全連接配接層;
- C是 的通道數,設定為2048 ; U是BLSTM的隐藏單元數,設為256 ; 根據輸入圖像的高和主幹網絡,H設為8.
- 采用通用的資料集增強政策(不同尺度和長寬比)來訓練Deep-Person模型,具體的:
所有訓練圖像首先resize為
,然後裁剪每個resized 圖像以尺度[0.64,1.0]和縱橫比[2,3],以0.5的機率随機水準翻轉。
- 在測試階段,圖像簡單裁剪為 ,經過全局池化的特征 ,輸入到距離排序分支中作為行人描述符來檢索。
- 在圖像輸入網絡之前,通過減去平均值再除以标準差在 在ImageNet上訓練的原始ResNet-50模型上 進行圖像歸一化操作。
- 用PKsampling生成一個批次,P、K分别表示類數量和每個類的執行個體數;
- 為了訓練Deep-Person,重新定義“epoch”的概念為 每個 訓練批次形成一個“epoch”,這種意味着一個“epoch”幾乎包含了所有身份;
- 聯合訓練這樣一個網絡在訓練階段開始時并不是微不足道的; 使用梯度裁剪來避免梯度爆炸。 用Adam(預設超參數 )來最小化損失函數L: 都設定為1 ;margin m設為0.5 ;
- 遵循《In defense of the triplet loss for person reidentification》2017 中學習率衰減表,設定初始學習率為 ,并在100 epoch 處應用衰減表;
- 所有實驗的訓練epochs總數設定為150 ; 小批次 PK設定為128 ;根據不同資料集每個人平均圖象數的不同,K 分别設為8,4,8 在Market-1501,CHUK03, and DukeMTMC-reID中。
2. 資料集
Market-1501 :包含1501個人、32668張圖檔、6個攝像頭拍攝、在超市前。行人邊界框是由DPM模型給出并由人工進一步驗證
被分成 訓練集(751個人的12936張圖檔)和測試集(750個人的19732張圖檔)
對于測試集中的每個人,隻選擇每個相機的一張圖像作為query,是以共有3368張query圖像
CUHK03: 包含1467個人、14097張圖檔、6個攝像頭拍攝、在CUHK大學。
提供兩種标記:手工标記行人邊界框 和 由DPM檢測器自動檢測的
我們在這兩種資料集上都做了實驗,稱為 labeled dataset 和 detected dataset
提供20個随機分組,每一個分組都選擇100個人測試,使用其他1367個人訓練
報告所有分割的平均性能來對這個資料集進行評估。
DukeMTMC-reID:這個資料集是Duke-MTMC的一個子集來做基于圖像的再識别,以Market-1501資料集的格式。
包含1812個人、36411張圖檔、8個高分辨率攝像頭。其中1404個人出現在超過兩個錄影機下,其餘408人是幹擾IDs
這1404個人中,702個人的16522張圖檔用于訓練,其餘702個人分為2228張query圖像和17611張gallery圖像。
3.評價名額
CUHK03: 用rank-1,、rank-5、rank-10 ;
Market-1501 and DukeMTMC-reID: rank-1, mAP上的CMC曲線
在CHUK03 and DukeMTMC-reID上用single query setting ; 在Market-1501 使用single and multiple query settings
4.與相關方法對比
得到了1.7%的rank-1精度和4.2%的mAP提升; 值得注意的是 ,DPFL 用多尺度行人圖像作為輸入,用這個設計,性能有望進一步提升。
我們的Deep Person顯著提高了 先進的結果,7%的mAP和3.7%的rank-1比對率在單查詢設定下。當與有效的重排序方法結合時,性能會進一步提升,實作90.84%的mAP 。據作者所知,這是第一次在Market1501上的mAP超過90% 。
使用手工标注的行人邊界框,得到2.8%的rank-1精度提升;當時用自動檢測得到的行人時,得到4.8%的rank-1精度提升 。後一種設定與實際應用一緻,這證明了DeepPerson在實踐中的潛力和魯棒性。在rank-5和rank-10上也超越了先進的方法。
4. 消融實驗
進一步評估了Deepperson的幾個變體來驗證每個單獨元件的有效性,不失一般性,消融實驗在Market1501、單查詢設定下進行
- 基于LSTM的部分的影響
DeepPerson利用全局表示和一個新穎的基于LSTM的部分表示之間的相關資訊。
評估了這種互補優勢的貢獻、 基于LSTM的部分表示的影響。
為此,我們去掉排序分支
,如表4所示,
全局分支和基于部分的分支的組合性能優于每個單獨分支;另外,采用LSTM 得到了3.1%的mAP性能提升;
為了讓
和
有一個公平的比較,在前一層的每個部分切片後加上一個有256個神經元的全連接配接層,使兩種模型的模型參數數目大緻相同。
為了得到一些改進的見解,我們分析了DeepPerson的三種變體學習到的特征映射
:單獨
分支、
和
with LSTM.,圖5給出了一些例子:
單獨使用全局分支
隻捕獲粗略的區域,和很少的部分細節。然而,丢失的部分細節如上半身或背包,可能對識别這個人有意義
與沒有LSTM的局部表示相結合 豐富了一些細節
在全局分支與局部分支的結合中采用LSTM,更關注行人的細節,忽視了不相關的區域(e.g. 圖5.d的右上角 和 圖3.b的機車)
是以,
with LSTM更好的與完整的人對齊,并且對再識别更完整,更魯棒。
上述分析與圖庫比對排名測試(圖6)一緻。
從上圖可知,
with LSTM 比其他兩種變體實作了更好的比對排名,這意味着基于LSTM的部分表示和全局描述符有能力緩解遮擋、模糊、背景雜亂和不完美的檢測。
我們還比較了 使用全局和基于LSTM的部件分支的DeepPerson的變體 和 一些最先進的基于部件的模型:
得益于LSTM的使用,模組化空間上下文資訊。與最好的基于部分的方法比較,得到了6.41%的mAP 和 3.6%的rank1 提升
值得注意的是 Spindle 和 PDC 使用額外的姿态标記 進行人體部件檢測。與也使用LSTM來模組化身體部件的空間關系的[16]相比,我們的DeepPerson以一個端到端的方式使用LSTM得到了顯著的性能提升。
- multi-loss 的影響
使用識别損失和排名損失的互補優勢是DeepPerson的另一個重要方面。為了簡化對這種互補優勢的評估,我們丢棄了基于部分的分支
,如表6所示:
- 最終行人描述符的選擇
DeepPerson使用主幹特征
的全局平均池化特征
作為最終的行人描述符。全局和基于部分的表示之間的互補資訊隐式地內建到
中,這得益于在訓練過程中全局和基于部分的分支的反向傳播誤差差異的組合。 根據之前 使用全局和局部分支的工作,将這兩個分支的倒數第二個全連接配接層連接配接起來,記作
,似乎是一個合理的選擇。
我們使用DeepPerson的一個兩分支變體來評估這兩個選擇,如表7所示,
隐式融合特征
明顯優于直接連接配接的特征
。一個可能的原因是識别損失使得靠近分類層的特征更關注訓練身份的差異,這種特征可能對訓練圖像中的身份有判别作用,但對測試過程中未知的身份則沒有判别力,然而,主幹特征可能對于未知的測試分來更魯棒更泛化。這種比較促使我們在fm之後增加了用三元組損失的排名分支,fm被認為是DeepPerson的最終行人描述符。
五、總結
本文引入了一個新穎的第三分支架構DeepPerson,來學習高判别力的深度特征進行行人再識别。
不同于大多數現有的不是隻關注特征表示就是隻關注特征學習的方法。DeepPerson考慮了這兩個方面的互補優勢。 具體的,同時使用局部身體部分特征和全局完整身體特征,同時使用識别損失和排名損失來學習一個ID-判别性嵌入和一個相似性度量。 另外,現在的方法通常丢棄了身體結構的空間上下文,我們提出将行人看作一個從頭到腳的身體序列,并利用LSTM以一種端到端的方式考慮身體部分之間的上下文資訊,增強了局部特征的判别能力。 這樣的描述符對于行人表示是一種啟發。 再者,據我們所知,本文是第一個使用LSTM以端到端的方式進行行人再識别的方法。
在三個資料集上進行大量實驗證明了DeepPerson的優越性
展望:想要采用注意力機制自動選擇更具判别力的身體部位,而不是簡單地将骨幹特征fb在垂直方向切片。