行人搜索也可以Anchor-Free?這篇CVPR 2021論文給出了答案

點擊上方AI算法與圖像處理”,選擇加"星標"或“置頂”

重磅乾貨,第一時間送達

來源:AI科技評論

作者 | 秦傑,晏軼超,李金鵬
編輯 | 青暮

近年來,行人重識別(Person Re-Identification,簡稱ReID)在計算機視覺領域可謂火遍了“大江南北”。脫胎於行人重識別,行人搜索(Person Search)問題在2017年的CVPR會議上被首次提出。與ReID的單一識別任務不同,行人搜索結合了行人檢測和ReID兩個任務,因此也更貼近實際應用場景。本文主要介紹阿聯酋起源人工智能研究院(IIAI)與牛津大學的科學家們剛剛被CVPR 2021接收的一篇論文:《Anchor-Free Person Search》。該工作開創性地提出了一個簡潔有效的無需錨框(Anchor-Free)的行人搜索框架,其搜索精度全面超越以往基於二階段檢測器的框架,並且在保證性能的前提下達到了更快的運行速度。

全文鏈接:

  • https://arxiv.org/abs/2103.11617

  • https://www.aminer.cn/pub/6059c96f91e011ed950a5be1

代碼鏈接:

  • https://github.com/daodaofr/AlignPS


1

簡介

近三年來,行人搜索問題已經受到了廣大學者的關注,在各個頂會上也陸續出現了諸多新方法。目前方法主要包括兩步走(Two-Step)和一步走(One-Step)方法。如圖1(a)(b)所示:兩步走方法將檢測與ReID任務分開處理;一步走方法則提出統一的框架來處理這兩個任務,且大多直接採用二階段(Two-Stage)基於Anchor的檢測器(例如Faster-RCNN)。

圖1 不同行人搜索方法的框架圖

在目標檢測領域,二階段檢測器曾經“一統江湖”,但很快就有學者發現了它們的固有缺陷,例如密集錨框的計算十分耗時、對各項預設參數十分敏感等。因此,最近有諸多一階段(One-Stage)無需錨框(Anchor-Free)的檢測器被提出(例如CenterNet、FCOS等)。該類檢測器框架簡單,無需預先生成錨框(Anchor Box),且大幅提升了算法的運行速度。因此,一個自然而然的問題就呈現在我們面前——能否提出一種基於Anchor-Free檢測器的行人搜索框架?答案是肯定的(因爲這篇文章就實現了)!然而,本文在實驗中發現,直接將Anchor-Free檢測器拿過來用存在以下幾方面不對齊(Misalignment)的問題:

  1. 尺度不對齊(Scale Misalignment):大多數Anchor-Free檢測器通過特徵金字塔網絡(Feature Pyramid Networks,簡稱FPNs)來學習多尺度特徵,即不同尺度的人會學到不同層次的特徵,從而實現目標檢測對尺度的不變性。然而對於ReID任務而言,我們需要將同一個人與數據庫中不同尺度的人進行匹配,而不同尺度的人所提取的特徵層次有所區別(例如大尺度的人對應高層次特徵,小尺度的人則同時能夠獲取高、低層次特徵),因此會產生因爲尺度不對齊而引起的特徵不匹配問題,影響最終的搜索精度。

  2. 區域不對齊(Region Misalignment):Anchor-Free模型缺少二階段檢測器中的ROI-Align操作,因此無法準確獲取目標區域,需要從特徵圖上直接學習到具有判別性的ReID特徵,這也給最終的搜索任務帶來了很大挑戰。

  3. 任務不對齊(Task Misalignment):行人搜索任務本質上是一個包含檢測和ReID的多任務學習問題,因此需要找到一個更好的方式來權衡這兩個任務(即找到合適的方式來“對齊”這兩個任務)。

綜上所述,本文提出了一種面向特徵對齊的Anchor-Free行人搜索網絡(Feature-Aligned Person Search Network,簡稱AlignPS)。該模型秉承“ReID優先”(ReID First)的思想,明確地解決了上述三方面的“不對齊”問題。


2

特徵對齊的行人搜索網絡(AlignPS)

圖2 本文所提出AlignPS模型的框架圖

本文所提出的AlignPS模型的整體框架基於目前比較流行的Anchor-Free檢測器FCOS,其具體框架如圖2所示。可以看到,整個網絡重點關注ReID特徵的學習,因爲這對最終搜索精度起着決定性的作用。具體而言,本文提出一個特徵對齊和聚合模塊(Aligned Feature Aggregation,簡稱AFA),該模塊用來聚合FPN的多層次特徵。有別於原始FPN的多層次輸出,本文只取最後一層的輸出來作爲最終的ReID特徵。在檢測方面,本文直接採用FCOS中的檢測頭(Detection Head),因爲該策略已經足夠滿足行人搜索任務的需求。最終,AFA輸出的特徵圖上的每個位置都會對應一個邊界框的座標以及分類和中心點的打分;最重要的是,能夠輸出一個具有判別性的ReID特徵。

下面三個小節會具體介紹AlignPS是如何解決上述三方面的“不對齊”問題,從而學習到更爲具有判別性的行人特徵的。

1. 尺度不對齊

原始FCOS模型採用不同層次的特徵來檢測各種不同大小的目標,極大地提升了目標檢測的性能。然而,在ReID任務中,不同層次輸出的特徵會導致不同尺度行人的特徵不匹配問題。換而言之,某種特徵圖只能預測某種大小的行人,而註冊集(Gallery Set)中同一個行人擁有不同的大小,導致行人搜索不夠準確,或者說最終輸出的特徵對ReID問題而言不夠魯棒。因此,AlignPS“簡單粗暴”地只取最後一層也是最大的特徵層輸出(即P3),將其用於後續的檢測和ReID任務。該設計會對檢測結果有略微影響,但卻對ReID任務有很大幫助,因此可以更好地平衡這兩個任務間的關係。

2. 區域不對齊

由於採用了較大的感受野,AFA輸出特徵圖上的每個位置都能夠獲取到整張圖片全局的信息;外加Anchor-Free模型天生缺乏Faster-RCNN中的ROI-Align操作,沒法根據行人邊界框獲取到更爲精確的行人特徵。上述問題被歸納爲“區域不對齊”問題,該問題也爲後續的行人搜索任務帶來很大困難。同時,ReID任務受到該問題影響也很明顯,因爲在這種情況下學習到的行人特徵往往也會包含與行人無關的背景區域信息。本文從以下三方面解決該問題:1)將側邊通道(Lateral Connection)中的1*1卷積替換爲3*3可變形卷積(Deformable Convolution),從而隱式地獲取到更爲相關的(行人)特徵。2)將自頂向下通道(Top-Down Pathway)中的“求和”(Sum)操作替換爲“合併”(Concatenation)操作,這樣可以更好地聚合多層次特徵。3)在FPN的輸出層中,也將3*3卷積替換爲3*3可變形卷積,這樣更進一步對齊多層次特徵,從而獲得更爲精確的行人特徵。上述三種設計無縫銜接,從很大程度上解決了區域不對齊問題。這些設計看似簡單,實則對行人搜索任務具有頗多益處,這一點在後續的實驗結果中可以得到驗證。

3. 任務不對齊

目前主流的行人搜索框架往往將行人檢測作爲首要任務,ReID特徵一般通過已有的檢測特徵得到(例如在檢測特徵後面加一層全連接網絡)。在行人搜素任務中,通過實驗可以發現:能否獲取更具有判別性和魯棒性的ReID特徵對最終的搜索結果至關重要。因此,本文重新思考檢測和ReID任務之間的關係,將ReID作爲首要任務,因爲當前檢測器得到的檢測結果已經足夠用於後續的搜索任務了。具體而言,在所提出的AlignPS網絡架構中,將ReID相關的損失(下文會具體介紹)直接加在AFA輸出的特徵上,隨後再將該特徵送入檢測頭並對檢測分支進行訓練。該設計同時考慮了以下兩點:1)目前檢測器效果已經足夠好,ReID效果對區域、尺度等不對齊更爲敏感(特別是在Anchor-Free框架下),因此將其作爲首要任務進行解決是有必要的。2)與“檢測優先”(Detection First)等框架相比,本文所提出的“ReID優先”策略無需增加網絡層數即可直接得到ReID特徵,因此也更爲高效。

4. 三元組輔助的OIM損失(Triplet-Aided OIM Loss)

目前典型的行人搜索方法大多采用Online Instance Matching(OIM)損失來監督ReID任務的訓練過程。具體而言,OIM將所有帶標籤個體的特徵中心存儲在一個查找表(Lookup Table,簡稱LUT)中,其中L代表特徵個數、D代表特徵維度。同時,維護一個循環隊列(Circular Queue):

其包含了Q個無標籤個體的特徵。在每次迭代過程中,給定標籤爲i的輸入特徵x,OIM分別將x與查找表和循環隊列中的所有特徵計算相似度,這樣x屬於標籤i的概率pi就可以由公式(1)計算得到:

OIM的目標就是最小化期望負對數似然(Negative Log-Likelihood)損失函數:

本文發現,儘管OIM能夠有效地利用帶標籤和無標籤樣本,但還是具有下面兩個侷限性:1)相似度計算只侷限在輸入特徵與查找表或循環隊列之間,輸入特徵之間並沒有任何相似度計算操作。2)對數似然損失並沒有給出特徵對之間的明確距離度量。

爲此,本文提出了一種三元組損失(Triplet Loss)來進一步增強OIM損失。對於輸入圖像中的每個行人,首先採用中心採樣(Center Sampling)策略對特徵進行採樣(如圖3所示)。這樣,每個人中心附近的特徵被認爲是正樣本,這裏目標是拉近同一個人採樣到的不同特徵,將不同人的特徵儘量分開。與此同時,帶標籤個體採樣到的不同特徵也應與查找表中相應的個體中心特徵相接近,與查找表中不同個體的中心特徵相遠離。圖3虛線框中展示的就是根據上述策略構建得到的三元組。

圖3 TOIM損失示意圖

按照上述方法構建好三元組後,其損失函數計算方式如下:

其中M代表正負樣本間的邊界大小,Dpos和Dneg分別代表正、負樣本對之間的歐氏距離。最後,本文所提出的TOIM損失即爲OIM和三元組損失函數的簡單疊加。


3

實驗結果

本文在CUHK-SYSU和PRW兩個行人搜索數據庫上展開了實驗,實驗評估指標爲平均精度均值(mean Average Precision,簡稱mAP)和Top-1精度;召回率(Recall)和平均精度(AP)也被用於評測檢測任務的表現。

1. 消融實驗

圖4 基準實驗結果

1)基準實驗:圖4展示了本文算法在基準模型(Baseline)基礎上的提升。可以看到,不同對齊策略對最終搜索精度都有着積極的影響。

表1 尺度對齊實驗結果

2)尺度對齊實驗:表1展示了採用不同層輸出的特徵所得到的實驗結果。可以看出,只採用最後一層輸出的特徵能夠取得更好的效果。

表2 區域對齊實驗結果

3)區域對齊實驗:表2展示了採用不同區域對齊策略的結果。可以看到,在側邊通道和自頂向下通道均引入可變形卷積能夠獲得最好的搜索精度。

圖5 可變形卷積可視化結果

另外,可變形卷積所學習到的採樣位置也在圖5中可視化了出來。可以看到經過可變形卷積操作,大多數採樣點均集中在人體身上。

表3 任務對齊實驗結果

4)任務對齊實驗:表3展示了採用不同訓練結構(具體見圖6)得到的搜索結果。可以看到,AlignPS所採用的“ReID優先”結構取得了最好的搜索精度。

圖6 不同任務對齊策略

2. 與SOTA的對比結果

表6 與SOTA的對比結果

表6展示了本文所提出的AlignPS與當前SOTA方法的對比結果,其中AlignPS+指的是在AlignPS基礎上進一步在骨幹(Backbone)網絡中使用了可變形卷積。可以看到,AlignPS表現優於所有一步走(One-Step)方法以及大多數兩步走(Two-Step)方法。圖7進一步展示了一些典型的可視化結果。

圖7 行人搜索的可視化結果

最後,表7對比了不同算法的運行效率。由於本文采用Anchor-Free檢測器,因此AlignPS在保證性能的同時也具有更快的運行速度,可謂“一箭雙鵰”!

表7 算法運行時間

更多實驗結果及分析請見原文,代碼即將放出,敬請關注及加星,謝謝大家!


  
          
          
          
個人微信(如果沒有備註不拉羣!
請註明: 地區+學校/企業+研究方向+暱稱



下載1:何愷明頂會分享


AI算法與圖像處理」公衆號後臺回覆:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經典工作的總結分析


下載2:終身受益的編程指南:Google編程風格指南


AI算法與圖像處理」公衆號後臺回覆:c++,即可下載。歷經十年考驗,最權威的編程規範!




        
        
        
下載3 CVPR2021

AI算法與圖像處公衆號後臺回覆: CVPR 即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文

點亮 ,告訴大家你也在看

本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章