一些想法:關於行人檢測與重識別

一些想法:關於行人檢測與重識別

來自專欄 DeepInsight106 人贊了文章

本文主要是介紹我們錄用於 ECCV18 的一個工作:Person Search via A Mask-guided Two-stream CNN Model. 這篇文章著眼於 Person Search 這個任務,即同時考慮行人檢測(Pedestrian Detection)與行人重識別(Person Re-identification),簡單探討了一下行人檢測與行人重識別這兩個子任務之間的關聯性,並嘗試利用全景圖像中的背景信息來輔助 Re-ID. 最後我們的模型在 CUHK-SYSU 和 PRW 這兩個數據集上都取得了不錯的效果。

什麼是 Person Search?

目前大家的焦點大都集中在 Person Re-ID 之上,比如 CVPR18 的 Re-ID 相關文章數目就達到了驚人的三十多篇。Person Re-ID 處理的對象:probe image 和 gallery image 都是已經切好塊了的,即圖像中基本只包含了我們所感興趣的這個人,其他可能的干擾信息(比如背景、遮擋、另外的行人等)已經儘可能降到了最低。當然了,這是為了創建一個統一的、標準化的研究課題而做的一個實驗室環境下的約束。隨著 Person Re-ID 的性能被逐漸刷高,是時候考慮一下與實際應用更接近一些的任務了,比如 Person Search.

Person Search 處理的對象中,probe image 與 Re-ID 一樣,依然是切好塊的圖像;而 gallery image 變成了未切塊的全景圖像,也就是一般相機拍出來的未經過處理的圖像。一張全景圖像中通常包含了多個行人,如果要將已有的 Re-ID 技術用起來的話,那就得事先找到各個行人在全景圖像中的位置。因此,Person Search = Pedestrian Detection + Person Re-ID.

行人檢測與行人重識別;圖片來自 Zheng et al. [1]

Pedestrian Detection 與 Person Re-ID 兩者作為相對獨立的課題已經被研究多年,兩者的研究現狀已經相對比較成熟;因此我認為 Person Search 並不著眼於這兩者的具體技術,而應該考慮這兩個任務之間相互關係,將這關係中的先驗信息融入到模型中去。

那麼 Pedestrian Detection 與 Person Re-ID 有什麼關係呢?或者說 Person Search 與 Person Re-ID 相比有何不同?本文主要就針對這兩個問題給出了兩個粗淺的答案。

1. Pedestrian Detection 與 Person Re-ID 的目標函數相互矛盾。

對於一個 Pedestrian Detector 來講,它的目標是正確地區分一個 proposal 是背景還是行人。理想的情況下,detector 會把所有的背景歸為一類,所有的行人歸為另一類,不管這個行人他是誰,髮型怎麼樣,衣服包包什麼顏色,或高或矮或胖或瘦,描述這些行人的特徵向量的距離都必須足夠小。因此,detector 關注的是行人之間的共性,比如人體輪廓。

但是 Re-ID 模型就不一樣了,它的(訓練)目標是正確地區分一個已知是行人的 proposal 是誰。既然要分辨這個行人是誰,那麼高矮胖瘦髮型衣服之類的信息就變得及其重要了。同時也要求描述不同身份的行人的特徵向量的距離儘可能大。因此,Re-ID 模型關注的是行人之間的個性

State-of-the-art 的模型 [2, 3, 4] 都將 detection 與 Re-ID 融合到了同一個框架中, Re-ID 的多分類 loss 與 Faster R-CNN 的二分類 loss 混在一起聯合訓練,因此不可避免的會碰到目標函數上的矛盾,讓可憐的神經網路迷迷糊糊摸不著頭腦。於是我們決定:

分成兩個模型獨立訓。。。

是的,簡陋粗暴,一點都不優雅。黑是黑了點,好歹還是能抓老鼠的。來看個簡單的對比:

表 (a) 描述的是 detector 性能的對比。OIM-ours 是我們用 Pytorch 重新實現的 OIM 模型 [2], 在最終的 person search performance 與論文中的 performance 一致的情況下,它的 detector AP 為 69.5%; 在相同的情況下,我們把 OIM 模型中的 OIMLoss 去掉,用相同的參數僅訓練一個 Faster R-CNN, 通過調整 detection threshold 使兩者的 recall 相同的情況下,後者的 AP 比前者高了將近 10 個點。 因此可以得出結論一:Re-ID 的分類 loss 會干擾到 detector 的訓練。

表 (b) 描述的是在撇開 detector 最終性能的情況下,Re-ID 的 performance 比較。兩者都基於 ResNet-50, 以 OIMLoss 為分類 loss; 區別是前者基於 Faster R-CNN, 與 detection loss 一起訓練,而後者 IDNetOIM 則是用 ground truth bounding box 訓練和測試。後者的 performance 微微高於前者,因此可以得出結論二:Detector 的分類 loss 會干擾到 Re-ID 的分類 loss.

綜合兩個結論,可以認為 Pedestrian Detection 與 Person Re-ID 這兩個任務確實互有干擾。因此我們最終的模型採用了 detector 與 Re-ID feature extractor 分離的策略。儘管這麼做是粗糙了點,後續如果能想辦法顯式地建模兩個任務之間的關聯性,並融入到 Faster R-CNN 中去,將會是個更有意思的工作。

2. Person Search 有背景!更多的背景!

Person Search 的數據集中都是全景圖片,相比 Re-ID 數據集中切好塊的圖像多了很多背景信息。然而,背景信息對行人重識別是否有用?這個問題卻不太好回答,畢竟我們人類自己也搞不太清楚自己是怎麼認人的。試想一下,一分鐘前我看到了一個推著嬰兒車的老人走過,一分鐘後我在另一個地點同樣看到了一個推著嬰兒車的老人經過,那麼「嬰兒車」這個背景信息很可能會作為一個很強的暗示,使得自己認為這兩個老人是同一個人;另一方面,我們的目標是為了「認人」,然而當前這個老人完全可以在你沒看到他的時候扔下嬰兒車,當我們下一次見到這個老人的時候,「有沒有嬰兒車」這個背景信息反而成為了我們作出判斷的干擾因素。

目前在行人重識別領域,主流觀點還是傾向於認為背景信息是一個干擾項,得想辦法去掉,比如 CVPR18 上的兩篇文章 [5, 6]。但是 [5] 和 [6] 中卻同時有一個相同的發現:將背景完全抹掉,只保留前景行人的話,Re-ID 的 performance 會略微下降。[5] 把這個現象歸結為 background-bias, 認為是數據集不夠好,得盡量避免這樣的 bias; [6] 認為造成這種現象的原因是圖像的結構信息和光滑性因去掉了背景而遭到了破壞。這兩個解釋確實非常有道理,而且兩者基於各自的解釋所做的處理方案都非常出色。然而,我們是否可以作出一個更加直接更加 spontaneous 的假設,認為「背景信息對 Re-ID 是有幫助的」呢?

本文模型的後半部分即基於這個假設,顯式地利用了背景信息並將其融入到最終的表示向量中。模型的大致框架如下圖所示。一張全景大圖經過 detector 檢測到行人後,將 bounding box 擴大 gamma 倍以獲取更多背景區域,從原圖中扣出;用預訓練好的 FCIS 模型分割出前景行人;接著將 (僅前景,原圖) 這個圖像對分別送入基於 ResNet50 的 F-Net 與 O-Net 中,前饋至最後一個卷積層後將 feature maps 按 channel 方向級聯;用一個 SEBlock 給所有通道分配不同的權重後,作 global average pooling 並投影至一個 L_2 標準化的低維空間,得到最終的特徵向量。

先來看一個 ablation study:

表格中將 (原圖,僅前景,僅背景,擴張 bounding box) 四個元素進行了各種組合的實驗,能夠得到以下兩個結論:

  1. 在僅保留前景的情況下,mAP 比使用原圖低了 2.8 個點,這個發現與前文提到的 [5, 6] 中的發現一致;在僅使用背景的情況下,擴張 RoI 能夠將 mAP 提升 4.5 個點。因此我們認為背景是一種有用的指示信息。
  2. 同時考慮「前景+擴張後的背景」或者 「前景+擴張後的原圖」能夠極大地提升性能(其中後者可以認為是在同時考慮前景和背景的情況下強調了一遍前景)。我們最終的模型基於表中最後一行,將 ground truth boundinhg box 替換成 detector 生成的結果後,在 CUHK-SYSU 上的 mAP 和 top-1 accuracy 分別為 83.0 和 83.7.

OK, 那麼在已知背景信息有用的情況下,背景信息對模型的影響有多大呢?為了回答這個問題,我們對 SEBlock 生成的 channel weights 進行了一個統計。SEBlock re-weight 的對象既有來自前景信息的通道,也有來自全圖,即前景+背景信息的通道,因此生成的 weights 能夠一定程度上反映前景信息和背景信息的相對重要程度。對於第 i 個樣本,我們分別統計一下三個度量標準:1) 前景通道的權重平均值 Avg_i(F); 2) 背景通道的權重平均值 Avg_i(O); 3) 排名前20的最大的權重值中,對應於前景通道的權重值的個數 N^{20}(F). 其中 N^{20}(F) 的直方圖如下圖所示:

基於統計信息我們給出三個觀察:

  1. 對於所有的樣本 Avg_i(F) > Avg_i(O) 均成立,說明在 Re-ID 的表示向量中前景信息比既有前景又有背景的全圖信息佔有更重要的地位。
  2. 對於多數樣本而言,最重要的前20個通道來自於前景信息的居多( N^{20}(F) > 10 ),結論與上一條相同。
  3. N^{20}(F) 只是略大於 10 而不是極端地偏向 20, 說明最重要的前20個通道中有相當一部分來自全圖信息,因此可以認為包含在全圖信息中的背景信息的重要性僅略小於前景信息。

OK, 接下來的問題是:引入多少背景信息才合適呢?上文中我們的模型通過將 bounding box 擴大 gamma 倍來引入更多的背景信息, gamma 的值越大,引入的背景信息越多。其中 gamma 都直接設為了 1.3。 gamma 取不同值時模型的 performance 變化如下圖:

結論:小背怡情,大背傷身!


總結來講,本文的模型和方法都略顯簡單粗暴,連 reviewer 給的意見也是 "straightforward", 倒幸好是 "... appreciate the straightforward..."。Anyway, 希望文中大量的分析能夠給同行們提供一些好的參考吧。

感謝閱讀!

References:

[1] Zheng, L., Zhang, H., Sun, S., Chandraker, M., Yang, Y., Tian, Q.: Person re-identi?cation in the wild. In: CVPR. (2017)

[2] Xiao, T., Li, S., Wang, B., Lin, L., Wang, X.: Joint detection and identi?cation feature learning for person search. In: CVPR. (2017)

[3] Xiao, J., Xie, Y., Tillo, T., Huang, K., Wei, Y., Feng, J.: Ian: The individual aggregation network for person search. arXiv preprint arXiv:1705.05552 (2017)

[4] Liu, H., Feng, J., Jie, Z., Jayashree, K., Zhao, B., Qi, M., Jiang, J., Yan, S.: Neural person search machines. In: ICCV. (2017)

[5] Tian, M., Yi, S., Li, H., Li, S., Zhang, X., Shi, J., … Wang, X.: Eliminating Background-Bias for Robust Person Re-Identification. in CVPR. (2018)

[6] Song, C., Huang, Y., Ouyang, W., & Wang, L.: Mask-Guided Contrastive Attention Model for Person Re-Identification. in CVPR. (2018)


推薦閱讀:

SphereReID:從人臉到行人,Softmax變種效果顯著
CVPR 2018 | 商湯科技Spotlight論文詳解:單目深度估計技術
怎樣用GAN生成各種胖吉貓?谷歌大腦程序猿教你好用的撩妹技巧
體積減半畫質翻倍,他用TensorFlow實現了這個圖像極度壓縮模型
實人認證使用

TAG:計算機視覺 | 深度學習DeepLearning | 行人重識別 |