閱讀249 返回首頁    go 阿裏雲 go 技術社區[雲棲]


ICCV2017 論文解讀:基於圖像檢索的行人重識別 | PaperDaily #13

如果你對本文工作感興趣,點擊底部的閱讀原文即可查看原論文。

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

  • 論文 | Neural Person Search Machines
  • 鏈接 | https://www.paperweekly.site/papers/1088
  • 作者 | LUOHAO

1. 摘要

作者調查了一下室外真實場景下的 Person ReID 工作,大部分相關工作都是 detection+ReID 分成兩步來做的,這篇文章提出 NPSM 方法來實現一步到位。

NPSM 主要借助 LSTM 和 attention的思想,逐步衰減原圖中所應該關注的 ROI 區域,直到最後得到一個很精確的 ROI 區域,這個區域就是應該搜索的 person 目標。實驗結果表明,在 CUHK-SYSU 和 PWR 數據集上都取得了 State-of-the-arts 的結果。

2. Detection & ReID

2c06b578293ee17a5651a3e8e4f162ab7cca7eef

上圖給出了目前 Person ReID 的主流做法和本文做法的對比。(a) 是主流做法,先會用一個 detection 的模型檢測圖片中的行人圖片,可能存在錯誤檢測的 bounding box,然後用一個訓練好的 ReID 模型把所有 bounding box 的圖片和帶檢索的 Query 圖片進行相似度比較,之後按照相似度進行一個排序,排名最靠前的就是檢索的結果。

而 NPSM 則把兩個結合起來,每次輸入 ROI 區域圖片,根據 Query 圖片生成 attention map,然後選擇 attention 比較大的區域作為新的 ROI 區域。所以新的 ROI 區域是之前輸入 ROI 區域的子集,進過 LSTM 反複衰減這個 ROI,最終就可以得到一個比較精確的搜索結果。

當然這裏不負責任的吐槽一下,這個插圖很可能是為了體現這篇工作的一個“擺拍”。因為提供原圖的 ReID 數據集比較少,論文裏使用了 CUHK-SYSU 和 PWR 兩個數據集,但是這幅圖根據我的經驗應該不屬於這兩個數據集,也許是為了體現主流方法失效而本文方法有效的一個擺拍吧。

因為在著裝非常類似的情況下,比如都穿黃衣服的兩個行人主流方法確實很難區分,所以不是很清楚這個是不是為了寫論文自己去拍的或者從數據集裏麵特意挑選的。不過這都沒關係,作為一副插圖,很明白的展現自己工作的創新點,一圖勝千言,所以這幅插圖是非常合格的。

3. Neural Search Networks

這篇論文的模型以 seq2seq 為背景,主要在三個點上做改進。(1)在 embedding 上加情感信息(2)改進 loss function(3)beam search 時考慮情感。

336da4ae3aab61abea25487cbb4898025c0e1ffe

Neural Search Networks (NSN) 主要的核心就是一個 Conv-LSTM 網絡,CNN 網絡采用的是 Resnet50。Resnet50 被分成了兩部分,前麵幾層淺層特征用來提取 attention map,後麵幾層高層網絡用來提取 ReID 所需要的 feature。

如上圖所示,輸入一張 query 圖片,經過 Resnet50(Primitive Memory)之後會輸出兩個,一個是 ROI pooling 得到的 feature map,這個 feature map 用來輸入到 NSN 裏進行 attention map 的計算。另外一個就是輸出的就行高層的 ReID feature,這個 feature 將會輸入到 IDNet 進行 ReID 的識別任務。

Query 圖片經過 Primitive Memory 網絡的 part1 部分會得到一個 attention map q,之後 q 將會輸入到 NSN 的 LSTM 單元裏進行計算,傳統的 LSTM 的 cell 是考慮隱狀態?tp=webp&wxfrom=5&wx_lazy=1和當前的輸入?tp=webp&wxfrom=5&wx_lazy=1,在 NSN 中進一步增加了 query 圖片的特征 q,最終改進後的 LSTM 的公示如下所示:

3a693ae2e8f3e96b2eb4fccde3fe87708ce23448

可以看出就是把 q 引入到 LSTM 裏麵去計算三個門的值而已。LSTM 單元的狀態一直在變,但是輸入的 q 是一直不變的,因為需要用新的 ROI 區域和 Query 圖片比較來得到新的 attention map。不過 LSTM 的時間步長論文沒有提及。

4. Region Shrinkage with Primitive Memory

上一個小節介紹了如何更新 attention map,但是得到 attention map 之後要如何得到 ROI 區域?

首先作者使用一個無監督的 object proposal 模型(例如 Edgeboxes)來產生很多個 proposal,很多 detection 的任務都是這樣做的。之後每個 proposal 我們都可以得到其矩形的中點,之後利用中點的坐標來對這些 proposal 進行聚類。而作者使用最簡單的歐氏距離來進行距離的衡量,假設 aa 和 bb 是兩個 proposal 框的中點坐標,則它們的距離定義為:

2f37fd2cff6c59f8ae950e990df90cc9b7bddc83

之後利用聚類算法可以將所有的 proposal 聚為 C 類,聚類細節論文沒有提及。每一類的子區域由區域?tp=webp&wxfrom=5&wx_lazy=1覆蓋,所有?tp=webp&wxfrom=5&wx_lazy=1區域的父區域定義為?tp=webp&wxfrom=5&wx_lazy=1。這一塊不是很看懂,可能?tp=webp&wxfrom=5&wx_lazy=1也是覆蓋所有?tp=webp&wxfrom=5&wx_lazy=1區域的意思。很明顯第 時刻的?tp=webp&wxfrom=5&wx_lazy=1區域是從 t−1 時刻的?tp=webp&wxfrom=5&wx_lazy=1中產生。 

另外由於每次 NSN 輸出的 ROI 區域大小都是不一樣的,這對於後續計算 ReID 的 feature 是不好處理的,於是作者自己設計了一個 ROI pooling,保證不管輸出多大的 ROI 區域,進過 ROI pooling 之後都可以得到一個固定大小 K×K×D 的 feature map 輸入到後麵的網絡。

當然這個 pooling 的細節論文裏也沒透露。之後對於 K×K 的 feature map,我們可以計算它們的 attention 得分,其實就是很簡單的做了一個二維的 softmax,公示如下:

eb0da637d07bd8f292996e9fdb37ec0d17a01149

是每個像素點坐標的 attention 得分,加起來整幅圖的總分就是 1。前麵我們通過聚類得到了一些 proposal,現在我們就要計算每個 proposal 的重要性得分。實現方式就是計算每個 proposal 中所有像素重要性得分的平均值,那個 proposal 的平均值更高,就認為這個框的更重要,最終選擇分最高的那個作為 ROI 區域輸入到下一個時刻。

5. Training Strategy

LSTM 最後一個時刻輸出的 ROI 區域進過 ROI pooling 進入到網絡的 part2 計算 ReID feature,然後這個 feature 用來計算 ReID 的損失,作者在論文中使用 IDNet,也就是說把 ReID 當做分類問題來看待,計算分類損失。

另外還有一部分損失時輸出的 bounding box 的損失,計算方法就是 grand truth 的 bounding box 中的像素如果落在 Rt 中就認為 ok,否則就算一個損失,就是一個很簡單的 0-1 損失問題。這個損失會強迫 grand truth 落在網絡的預測的 ROI 裏麵,並且隨著 ROI 的衰減這個 ROI 會越來越接近 grand truth。

6. 結果

作者使用 CUHK-SYSU 和 PWR 兩個數據集來驗證算法的有效性,因為和一般 detection+ReID 的方法不同,所以計算 mAP 和 top-1 的方法有點不一樣。mAP 和標準的 detection 任務的計算方法一樣,使計算 bounding box 的坐標,而 top-1 計算是認為網絡預測的 ROI 和 grand truth 重合度超過 50% 就認為識別正確。因此本論文也隻能和自己思路一樣的方法進行比較,最後結果是本文方法比 baseline 高了兩個點左右。

e27a22c8ef5e194f52aaaa3f91577d78af536590

從展現出來的 attention map 來看,方法還是比較不錯的:

b5c18911d9af9186650da0e1ee143b82b31bb8bf

7. 簡評

這篇論文的工作和主流的 ReID 工作不大一樣,把 detection+ReID 結合在一起做,方法還是比較新穎的,不過有太多論文細節沒有透露,除非作者公布源碼否則複現起來基本不可能。另外除了 ReID 任務,我覺得這篇文章擴展成 tracking 可能更加有意義。


本文來自雲棲社區合作夥伴“PaperWeekly”,了解相關信息可以關注“PaperWeekly

最後更新:2017-11-13 16:04:21

  上一篇:go  USE DB導致MySQL大堵塞故障?
  下一篇:go  大規模中文概念圖譜CN-Probase正式發布