機器之心發布
機器之心編輯部
行人重識別,又稱行人再識別,是利用 CV 技術判斷圖像或視頻序列中是否存在特定行人的技術。常規的行人重識別方法往往需要高昂的人工標註成本,計算複雜度也很大。在本文中,中山大學研究者提出的弱監督行人重識別方法恰恰克服了這兩方面的障礙,並發布了一個大型行人重識別數據集。
近期,中山大學發布了一種基於可微圖學習的弱監督行人重識別(person re-ID)方法和一個大型數據集。該方法結合可微圖學習和弱監督學習方法,為行人重識別深度神經網絡加入自動生成訓練標籤的模塊並與其一體訓練。相比普通的行人重識別方法,該方法不需要高昂的人工標註成本,並且幾乎不增加計算複雜度也能達到領先的模型性能。
正是因為標註的簡單,一個大型行人重識別數據集也誕生了,即 SYSU-30k。SYSU-30k 數據集包含 30,000 個行人身份類別,約是 CUHK03 和 Market-1501 的 20 倍。如果一個行人身份類別相當於一個物體類別的話,則 SYSU-30k 相當於 ImageNet 的 30 倍。該數據集總共包含 29,606,918 張圖像。
就原理而言,該方法首先將行人圖像按拍攝時間段分組成袋並分配袋類別標籤,然後結合圖模型和深度神經網絡捕獲一個袋中所有圖像之間的依賴關係,從而為每張圖像生成可靠的偽行人類別標籤,作為行人重識別模型訓練的監督信息;接著進一步將圖模型可微化,實現圖模型和行人重識別模型的一體訓練;最後將圖模型損失和重識別損失的線性組合作為總損失函數,利用反向傳播算法更新網絡所有層的參數。相關論文發表在國際期刊 TNNLS 上。
論文地址:https://arxiv.org/pdf/1904.03845.pdf
代碼、模型和數據集:https://github.com/wanggrun/SYSU-30k
背景
目前,行人重識別問題主要有三種實現方法:(1)提取判別特徵;(2)學習一個穩定的度量或子空間進行匹配;(3)聯合上述兩種方法。然而,大部分實現方法需要強監督訓練標籤,即需要人工標註數據集中的每張圖像。
此外也有不需要人工標註的基於無監督學習的行人重識別方法,這類方法使用局部顯著性匹配或聚類模型,但很難建模跨攝像機視圖的顯著差異,因此很難達到高精度。
相比之下,本文提出的弱監督行人重識別方法是一種優秀的訓練方法,不需要高昂的人工標註成本也能達到較高的精度。弱監督行人重識別的問題定義如下圖 1 所示,其中圖 1(a)是常規全「監督」行人重識別問題,圖 1(b)是弱監督行人重識別問題,圖 1(c)是測試階段,兩種方式的測試階段一致。
圖 1:弱監督行人重識別的問題定義
具體而言,該方法主要包括以下四個過程:
將行人圖像按拍攝時間段分組成袋並分配袋類別標籤;
結合圖模型和深度神經網絡捕獲一個袋中所有圖像之間的依賴關係來為每張圖像生成可靠的偽行人類別標籤,作為行人重識別模型訓練的監督信息;
進一步將圖模型可微化,實現圖模型和行人重識別模型的一體訓練;
將圖模型損失和重識別損失的線性組合作為總損失函數,利用反向傳播算法更新網絡所有層的參數。
本文的主要貢獻有以下幾點:
第一,研究者定義了一個弱監督行人重識別問題,利用袋類別標籤代替常規行人重識別中的圖像類別標籤。這個問題值得進一步探討,因為弱監督行人重識別問題可以大大減少標註代價,並為收集大尺度行人重識別數據集提供了可能。
第二,由於存在的基準數據集忽略了弱監督行人重識別問題,研究者收集了一個新的大規模行人重識別數據集 SYSU-30k,為未來研究行人重識別問題提供了便利。SYSU-30k 數據集包含 30,000 個行人身份類別,大約是 CUHK03 數據集(1,300 個行人身份)和 Market-1501 數據集(1,500)的 20 倍,是 ImageNet(1,000 個類別)的 30 倍。SYSU-30k 包含 29,606,918 張圖像。SYSU-30k 數據集不僅僅是弱監督行人重識別的一個評測平臺,更有一個和現實場景相似的挑戰性測試集。
第三,研究者引入了一個可微圖模型來處理弱監督行人重識別中不精準的標註問題。
圖 2:方法示意圖
SYSU-30k 數據集
目前沒有公開發布的「弱監督」行人重識別數據集。為了填補這個空白,研究者收集了一個新的大規模行人重識別數據 SYSU-30k,為未來行人重識別研究提供了便利。他們從網上下載了許多電視節目視頻。考慮電視節目視頻的原因有兩個:第一,電視節目中的行人通常是跨攝像機視角,它們是由多個移動的攝像機捕捉得到並經過後處理。因此,電視節目的行人識別是一個真實場景的行人重識別問題;第二,電視節目中的行人非常適合標註。在 SYSU-30k 數據集中,每一個視頻大約包含 30.5 個行人。
研究者最終共使用的原視頻共 1000 個。標註人員利用弱標註的方式對視頻進行標註。具體地,數據集被切成 84,930 個袋,然後標註人員記錄每個袋包含的行人身份。他們採用 YOLO-v2 進行行人檢測。三位標註人員查看檢測得到的行人圖像,並花費 20 天進行標註。最後,29,606,918(≈30M)個行人檢測框共 30,508(≈30k)個行人身份被標註。研究者選擇 2,198 個行人身份作為測試集,剩下的行人身份作為訓練集。訓練集和測試集的行人身份沒有交疊。
SYSU-30k 數據集的一些樣例如下圖 3 所示。可以看到,SYSU-30k 數據集包含劇烈的光照變化(第 2,7,9 行)、遮擋(第 6,8 行)、低像素(第 2,7,9 行)、俯視拍攝的攝像機(第 2,5,6,8,9 行)和真實場景下複雜的背景(第 2-10 行)。
圖 3:SYSU-30k 數據集樣例。
SYSU-30k 數據集的統計特性
SYSU-30k 包含 29,606,918 張行人圖像,共計 30,508 個行人身份類別,被切分成 84,930 個袋(僅在訓練集中按袋切分)。圖 4(a)總結了袋的數量與每個袋含有的圖像數量的直方圖統計。每個袋平均有 2,885 張圖像。該直方圖展示了現實場景中袋的行人圖像數量分布,沒有經過人工手動細分和清理。這裡,數據集的標籤是以袋級別進行標註的。
圖 4:數據集統計特性。
對比現有的行人重識別基準數據集
研究者對 SYSU-30k 和現有行人重識別數據集進行對比,包括 CUHK03、Market-1501、Duke、MSMT17、CUHK01、PRID、VIPeR 和 CAVIAR。圖 4(b)和 4(c)分別展示了圖像的數量和行人身份類別的數量。可以看出,SYSU-30k 數據集比已有的數據集都大很多。
為了評估弱監督行人重識別的性能,研究者從 SYSU-30k 數據集中隨機選擇 2,198 個行人身份作為測試集。需要注意,這些行人身份類別沒有在訓練集中出現。研究者對該測試集進行精細的圖像級別的行人身份標註,並且也對測試集圖像的數量和行人身份類別數量進行了對比,如圖 4(b)和 4(c)。可以看出,SYSU-30k 的測試集比現有數據集更大更有挑戰性。多虧了袋級別的標註方式,SYSU-30k 測試集能夠反映真實場景的設置。SYSU-30k 不僅僅是弱監督行人重識別的大型基準數據集,也是一個評估真實場景中全監督行人重識別性能的標準平臺。
SYSU-30k 數據集和其他數據集的進一步對比如下表 1(a)所示,包括行人身份類別數量、場景、標註方式以及攝像機數量和圖像數量。
研究者總結出了 SYSU-30k 的新特色,有如下幾個方面:第一,SYSU-30k 是首個弱監督行人重識別數據集;第二,SYSU-30k 的行人身份數量和圖像數量都是現有行人重識別數據集中最大的;第三,SYSU-30k 數據集更具挑戰性,包括攝像機數量、真實的室內環境和室外場景和不精準的袋級別標註;第四,SYSU-30k 的測試集不僅僅適合於弱監督行人重識別問題,也是一個評估真實場景中全監督行人重識別的標準平臺。
表 1(a):對比存在的行人重識別數據集。
除了和行人重識別社區的數據集對比之外,研究者還對比了 SYSU-30k 和通用圖像分類中著名的 ImageNet-1k 基準數據集。如下表 1(b)所示,SYSU-30k 有以下幾個吸引人的優點:第一,SYSU-30k 比 ImageNet-1k 有更多的類別,即 30,000 對比 1,000;第二,由於有效的弱標註方法,SYSU-30k 標註需要的代價更低。
表 1(b):對比 ImageNet-1k 數據集。
評估方式
SYSU-30k 的評估方式和先前常規行人重識別數據集的評估方式類似。研究者固定訓練集和測試集的劃分。在測試集中,他們從 1,000 個不同的行人身份類別中分別選擇一張行人圖像,共得到 1,000 張行人圖像作為查詢集。
此外,為了符合實際場景中行人重識別的可拓展性,研究者提供了一個包含大量幹擾行人圖像的候選集。具體地,對於每張查詢圖,在候選集中僅含有一張圖像和該查詢圖身份類別一樣,其他 478,730 張行人圖像是不匹配的。因此,這個評估方式就類比於大海撈針,和真實場景中警察從大量監控視頻中搜索疑犯一樣具有巨大的挑戰性。研究者採用 rank-1 準確率作為評估指標。
方法
從有監督行人重識別到弱監督行人重識別
用 b 表示包含 p 張圖像的一個袋,即 b=x_1,x_2,…x_j…x_p,y=y_1,y_2,…y_j…y_p 為行人身份類別標籤,用 l 表示袋類別標籤。有監督行人重識別需要用行人身份類別標籤 y 監督模型的分類預測;弱監督行人重識別只有袋類別標籤 l 可用,需要先為每張圖像估計一個偽行人類別標籤,用一個概率向量Y 表示。假設 包含 n 個行人類別,整個訓練集共有 m 個行人類別,用袋類別標籤限制Y,則每張圖像的行人類別標籤的概率向量為:
(1)
基於可微圖學習的弱監督行人重識別
圖 5:可微圖學習模型。
1. 圖模型行人重識別
如上圖 5 所示,定義一個有向圖,每個節點代表一個袋中的一張圖像 x_i,每條邊代表圖像之間的關係,在圖上為節點 x 分配行人類別標籤 y 的能量函數為:
(2)
其中 U 和 V 分別表示節點和邊,
是計算為圖像 x_i 分配標籤 y_i 的代價的一元項,
是計算為圖像對 (x_i , x_j) 分配標籤的懲罰的成對項。公式(2) 消除了弱監督學習生成的錯誤的偽標籤。
2. 一元項
公式 (2) 中的一元項定義為:
(3)
其中 P_i 是神經網絡為圖像 x_i 計算的行人類別標籤的概率,Y_i 是公式 (1) 表示的袋限制,
表示逐元素乘積,
表示向量索引。
3. 成對項
由於不同圖像的一元項輸出相互獨立,一元項不穩定,需要用成對項平滑:
(4)
其中用一個基於 RGB 顏色的高斯核計算外表相似度,超參數
控制高斯核的尺寸,限制外表相似的圖像有相同的標籤;標籤兼容度
用玻茨模型表示:
(5)
4. 袋限制
實際上,袋類別標籤含有額外信息改善偽標籤的生成:將估計的偽標籤糾正為袋中預測分數最高的行人分類;促使部分圖像被分配到沒有被預測的行人類別。
5. 偽行人類別標籤的推理
通過最小化公式 (2) 可以得到每張圖像的偽行人類別標籤:
(6)
其中 {1,2,3…,m} 表示訓練集中所有的行人身份類別。
6. 圖學習可微化
上述弱監督行人重識方法不是一體訓練的,因為首先需要用一個外部圖模型得到偽行人類別標籤,用於監督行人重識別深度神經網絡的訓練。最小化公式 (2) 得到偽標籤的計算是不可微的,使得該圖模型與深度神經網絡不兼容,因此需要鬆弛公式 (2) 為:
(7)
將離散
的和
連續化:
(8)
(9)
公式 (8) 和公式 (3) 的區別是,在不可微圖模型中,需要給能量函數輸入所有可能的 y,將能量最低的 y 作為最優解;在可微圖模型中,直接將圖像 x 輸入深度神經網絡得到 y 的預測。公式 (9) 和公式 (4) 的區別是,用交叉熵項
近似公式 (4) 中不可微的項
。
圖 6:整體框架圖
整體神經網絡結構
上圖 6 為訓練和推理的網絡結構,虛線表示訓練數據流,實線表示推理數據流,其中圖模型只參與訓練階段。整體結構包含三個主要模塊:
1. 特徵提取模塊
如圖 6(a),運用 ResNet-50 作為骨幹網絡,去掉原始 ResNet-50 的最後一層,換成一個輸出為 512 維的全連接層(FC)、一個批規範化(BN)、一個帶洩露線性整流函數 (Leaky ReLU) 和一個 dropout 層。
2. 粗糙行人重識別模塊
如圖 6(b),在特徵提取模塊的頂部再加一個輸出維度與行人類別數量相同的全連接層,再使用歸一化指數交叉熵作為損失函數。行人類別預測分數作為粗糙行人重識別估計,表示袋中圖像的行人類別的概率。
3. 精煉行人重識別模塊
如圖 6(c),按照公式 (8) 和(9)將粗糙行人重識別分數、外表和袋限制輸入圖模型,圖模型生成的偽標籤就能像人工標註的真實標籤一樣被用來更新網絡參數。
優化
得到偽行人類別標籤就能計算整體損失值對於深度神經網絡參數的梯度,利用反向傳播算法,將梯度回傳給網絡的所有層,實現該弱監督模型的所有參數的一體訓練。
1. 損失函數
本方法的優化目標包含圖模型損失L_圖和分類 / 重識別損失L_分類,L_分類是偽標籤
作為監督的歸一化指數交叉熵損失函數:
(10)
其中
表示將
轉換成獨熱向量的函數,表示一個袋中的圖片數量,P_i 表示神經網絡計算的行人類別的概率,是網絡輸出對數 z 的歸一化指數函數:
(11)
其中 m 表示訓練集的行人類別數量。
總損失函數 L 是這兩個損失函數的線性組合:
(12)
其中w_分類和w_圖分別表示兩個損失的權重,本方法設置為 1 和 0.5。
實驗
數據集。本文在 SYSU-30k 和 Market-1501 評估這種弱監督行人重識別方法,更多數據集分析見原文。Market-1501 數據集是一個廣泛應用的大型行人重識別的基準數據集。Market-1501 數據集由 6 個攝像機拍攝得到,包含 32,668 張行人圖像,共 1,501 個行人身份類別。數據集劃分為兩部分:12,936 張行人圖像共 751 個行人身份類別作為訓練集,19,732 張圖像共 750 個行人身份作為測試集。在測試集中,3,368 張圖像共 750 個行人圖像通過手工截取作為查詢集。
實驗配置。研究者採用 ResNet-50 作為骨幹網絡,使用 ImageNet 預訓練模型。其他參數使用正態分布進行初始化。實驗使用 SGD 優化器。批次設置為 90,初始學習率為 0.01(全連接層初始學習率為 0.1)。衝量設置為 0.9,權重衰減設置為 0.0005,在單卡 GPU 上訓練 SYSU-30k 大約需要 10 天。
實驗結果
SYSU-30k 是一個弱監督行人重識別數據集,本文方法是弱監督行人重識別方法。由於傳統全監督行人重識別方法不能直接在 SYSU-30k 數據集上訓練,研究者利用遷移學習的方法將傳統全監督行人重識別方法應用到 SYSU-30k 數據集上。具體地,6 種經典的全監督行人重識別模型(包括 DARI,DF,TriNet,Local CNN,MGN 和無 triplet 的 MGN)首先在 CUHK03 數據集上訓練。然後,模型被應用於 SYSU-30k 數據集上進行跨數據集評估。而本文的弱監督行人重識別方法直接在 SYSU-30k 上訓練並在 SYSU-30k 的測試集上測試。
研究者在 SYSU-30k 數據集上對比最先進的方法。如下表 2 所示,雖然本文方法使用的是弱監督學習方式,但 W-MGN 得到了最佳的效果(29.5%)。本文方法的有效性歸因於以下兩點:第一,圖模型學習可以產生可靠的偽類標來補償缺失的強標籤;第二,SYSU-30k 數據集提供了豐富的知識來提升模型的能力,即使是以弱標籤的方式給出。
研究者也提供了定性分析,可視化了 W-MGN 幾張查詢樣本的檢索結果,具體如下圖 8 所示。每一行代表一個查詢結果。第一張圖為查詢圖,後面緊接著是按照相似性從大到小依次排序的結果。紅色框代表和查詢圖身份類別匹配的行人圖像。在失敗的例子中,一些非匹配的行人圖像相似性排名比真實匹配的行人圖像還要高。非匹配的行人圖像看起來更像查詢圖的行人類別。
圖 8:SYSU-30k 數據集上 W-MGN 檢索結果樣例。
Market-1501 數據集是圖像級別標註的行人重識別數據集。為了進行弱監督行人重識別評估,研究者利用該圖像級別標註的數據集模擬產生袋級別的弱監督行人重識別數據集。具體而言,對於 Market-1501 的訓練集,利用弱標籤代替強標籤;對於 Market-1501 的測試集,則保持不變。研究者將本文方法和全監督的行人重識別方法進行對比。對比方法包括 15 種經典的全監督方法,包括 MSCAN、DF、SSM、SVDNet、GAN、PDF、TriNet、TriNet + Era. + reranking、PCB 和 MGN。
對比結果如下表 3 所示。可以看出,本文方法可以獲得競爭性的實驗結果。比如,W-MGN 和 W-Local CNN 得到 95.5% 和 95.7% 的 rank-1 準確率,比很多全監督方法要好。這說明本文方法的有效性。
表 3:Market-1501 數據集上對比最先進的方法。
2020 NeurIPS MeetUp
12月6日,機器之心將舉辦2020 NeurIPS MeetUp。此次MeetUp精選數十篇論文,覆蓋深度學習、強化學習、計算機視覺、NLP等多個熱門主題,設置4場Keynote、13篇論文分享和28個Poster。
時間:12月6日9:00-18:00
地址:北京燕莎中心凱賓斯基飯店(亮馬橋)
原標題:《可微圖學習&弱監督,中山大學提出新型行人重識別方法和史上最大最新評測基準》
閱讀原文