行人搜索也可以Anchor-Free?這篇CVPR 2021論文給出了答案
導讀
本文主要介紹阿聯酋起源人工智能研究院(IIAI)與牛津大學的科學家們的一項新工作,該工作開創(chuàng)性的提出了一個簡潔有效的無需錨框的行人搜索框架。其搜索精度全面超越以往基于二階段檢測器的框架,并且在保證性能的前提下達到了更快的運行速度。
近年來,行人重識別(Person Re-Identification,簡稱ReID)在計算機視覺領域可謂火遍了“大江南北”。脫胎于行人重識別,行人搜索(Person Search)問題在2017年的CVPR會議上被首次提出。與ReID的單一識別任務不同,行人搜索結合了行人檢測和ReID兩個任務,因此也更貼近實際應用場景。本文主要介紹阿聯酋起源人工智能研究院(IIAI)與牛津大學的科學家們剛剛被CVPR 2021接收的一篇論文:《Anchor-Free Person Search》。該工作開創(chuàng)性地提出了一個簡潔有效的無需錨框(Anchor-Free)的行人搜索框架,其搜索精度全面超越以往基于二階段檢測器的框架,并且在保證性能的前提下達到了更快的運行速度。
全文鏈接:
https://arxiv.org/abs/2103.11617
https://www.aminer.cn/pub/6059c96f91e011ed950a5be1
代碼鏈接:https://github.com/daodaofr/AlignPS
1 簡介
近三年來,行人搜索問題已經受到了廣大學者的關注,在各個頂會上也陸續(xù)出現了諸多新方法。目前方法主要包括兩步走(Two-Step)和一步走(One-Step)方法。如圖1(a)(b)所示:兩步走方法將檢測與ReID任務分開處理;一步走方法則提出統一的框架來處理這兩個任務,且大多直接采用二階段(Two-Stage)基于Anchor的檢測器(例如Faster-RCNN)。

圖1 不同行人搜索方法的框架圖
在目標檢測領域,二階段檢測器曾經“一統江湖”,但很快就有學者發(fā)現了它們的固有缺陷,例如密集錨框的計算十分耗時、對各項預設參數十分敏感等。因此,最近有諸多一階段(One-Stage)無需錨框(Anchor-Free)的檢測器被提出(例如CenterNet、FCOS等)。該類檢測器框架簡單,無需預先生成錨框(Anchor Box),且大幅提升了算法的運行速度。因此,一個自然而然的問題就呈現在我們面前——能否提出一種基于Anchor-Free檢測器的行人搜索框架?答案是肯定的(因為這篇文章就實現了)!然而,本文在實驗中發(fā)現,直接將Anchor-Free檢測器拿過來用存在以下幾方面不對齊(Misalignment)的問題:
尺度不對齊(Scale Misalignment):大多數Anchor-Free檢測器通過特征金字塔網絡(Feature Pyramid Networks,簡稱FPNs)來學習多尺度特征,即不同尺度的人會學到不同層次的特征,從而實現目標檢測對尺度的不變性。然而對于ReID任務而言,我們需要將同一個人與數據庫中不同尺度的人進行匹配,而不同尺度的人所提取的特征層次有所區(qū)別(例如大尺度的人對應高層次特征,小尺度的人則同時能夠獲取高、低層次特征),因此會產生因為尺度不對齊而引起的特征不匹配問題,影響最終的搜索精度。
區(qū)域不對齊(Region Misalignment):Anchor-Free模型缺少二階段檢測器中的ROI-Align操作,因此無法準確獲取目標區(qū)域,需要從特征圖上直接學習到具有判別性的ReID特征,這也給最終的搜索任務帶來了很大挑戰(zhàn)。
任務不對齊(Task Misalignment):行人搜索任務本質上是一個包含檢測和ReID的多任務學習問題,因此需要找到一個更好的方式來權衡這兩個任務(即找到合適的方式來“對齊”這兩個任務)。
綜上所述,本文提出了一種面向特征對齊的Anchor-Free行人搜索網絡(Feature-Aligned Person Search Network,簡稱AlignPS)。該模型秉承“ReID優(yōu)先”(ReID First)的思想,明確地解決了上述三方面的“不對齊”問題。
2 特征對齊的行人搜索網絡(AlignPS)

圖2 本文所提出AlignPS模型的框架圖
本文所提出的AlignPS模型的整體框架基于目前比較流行的Anchor-Free檢測器FCOS,其具體框架如圖2所示??梢钥吹?,整個網絡重點關注ReID特征的學習,因為這對最終搜索精度起著決定性的作用。具體而言,本文提出一個特征對齊和聚合模塊(Aligned Feature Aggregation,簡稱AFA),該模塊用來聚合FPN的多層次特征。有別于原始FPN的多層次輸出,本文只取最后一層的輸出來作為最終的ReID特征。在檢測方面,本文直接采用FCOS中的檢測頭(Detection Head),因為該策略已經足夠滿足行人搜索任務的需求。最終,AFA輸出的特征圖上的每個位置都會對應一個邊界框的坐標以及分類和中心點的打分;最重要的是,能夠輸出一個具有判別性的ReID特征。
下面三個小節(jié)會具體介紹AlignPS是如何解決上述三方面的“不對齊”問題,從而學習到更為具有判別性的行人特征的。
1. 尺度不對齊
原始FCOS模型采用不同層次的特征來檢測各種不同大小的目標,極大地提升了目標檢測的性能。然而,在ReID任務中,不同層次輸出的特征會導致不同尺度行人的特征不匹配問題。換而言之,某種特征圖只能預測某種大小的行人,而注冊集(Gallery Set)中同一個行人擁有不同的大小,導致行人搜索不夠準確,或者說最終輸出的特征對ReID問題而言不夠魯棒。因此,AlignPS“簡單粗暴”地只取最后一層也是最大的特征層輸出(即P3),將其用于后續(xù)的檢測和ReID任務。該設計會對檢測結果有略微影響,但卻對ReID任務有很大幫助,因此可以更好地平衡這兩個任務間的關系。
2. 區(qū)域不對齊
由于采用了較大的感受野,AFA輸出特征圖上的每個位置都能夠獲取到整張圖片全局的信息;外加Anchor-Free模型天生缺乏Faster-RCNN中的ROI-Align操作,沒法根據行人邊界框獲取到更為精確的行人特征。上述問題被歸納為“區(qū)域不對齊”問題,該問題也為后續(xù)的行人搜索任務帶來很大困難。同時,ReID任務受到該問題影響也很明顯,因為在這種情況下學習到的行人特征往往也會包含與行人無關的背景區(qū)域信息。本文從以下三方面解決該問題:1)將側邊通道(Lateral Connection)中的1*1卷積替換為3*3可變形卷積(Deformable Convolution),從而隱式地獲取到更為相關的(行人)特征。2)將自頂向下通道(Top-Down Pathway)中的“求和”(Sum)操作替換為“合并”(Concatenation)操作,這樣可以更好地聚合多層次特征。3)在FPN的輸出層中,也將3*3卷積替換為3*3可變形卷積,這樣更進一步對齊多層次特征,從而獲得更為精確的行人特征。上述三種設計無縫銜接,從很大程度上解決了區(qū)域不對齊問題。這些設計看似簡單,實則對行人搜索任務具有頗多益處,這一點在后續(xù)的實驗結果中可以得到驗證。
3. 任務不對齊
目前主流的行人搜索框架往往將行人檢測作為首要任務,ReID特征一般通過已有的檢測特征得到(例如在檢測特征后面加一層全連接網絡)。在行人搜素任務中,通過實驗可以發(fā)現:能否獲取更具有判別性和魯棒性的ReID特征對最終的搜索結果至關重要。因此,本文重新思考檢測和ReID任務之間的關系,將ReID作為首要任務,因為當前檢測器得到的檢測結果已經足夠用于后續(xù)的搜索任務了。具體而言,在所提出的AlignPS網絡架構中,將ReID相關的損失(下文會具體介紹)直接加在AFA輸出的特征上,隨后再將該特征送入檢測頭并對檢測分支進行訓練。該設計同時考慮了以下兩點:1)目前檢測器效果已經足夠好,ReID效果對區(qū)域、尺度等不對齊更為敏感(特別是在Anchor-Free框架下),因此將其作為首要任務進行解決是有必要的。2)與“檢測優(yōu)先”(Detection First)等框架相比,本文所提出的“ReID優(yōu)先”策略無需增加網絡層數即可直接得到ReID特征,因此也更為高效。
4. 三元組輔助的OIM損失(Triplet-Aided OIM Loss)
目前典型的行人搜索方法大多采用Online Instance Matching(OIM)損失來監(jiān)督ReID任務的訓練過程。具體而言,OIM將所有帶標簽個體的特征中心存儲在一個查找表(Lookup Table,簡稱LUT)中,其中L代表特征個數、D代表特征維度。同時,維護一個循環(huán)隊列(Circular Queue):

其包含了Q個無標簽個體的特征。在每次迭代過程中,給定標簽為i的輸入特征x,OIM分別將x與查找表和循環(huán)隊列中的所有特征計算相似度,這樣x屬于標簽i的概率pi就可以由公式(1)計算得到:
OIM的目標就是最小化期望負對數似然(Negative Log-Likelihood)損失函數:
本文發(fā)現,盡管OIM能夠有效地利用帶標簽和無標簽樣本,但還是具有下面兩個局限性:1)相似度計算只局限在輸入特征與查找表或循環(huán)隊列之間,輸入特征之間并沒有任何相似度計算操作。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 區(qū)域對齊實驗結果
3)區(qū)域對齊實驗:表2展示了采用不同區(qū)域對齊策略的結果??梢钥吹剑趥冗呁ǖ篮妥皂斚蛳峦ǖ谰肟勺冃尉矸e能夠獲得最好的搜索精度。

圖5 可變形卷積可視化結果
另外,可變形卷積所學習到的采樣位置也在圖5中可視化了出來??梢钥吹浇涍^可變形卷積操作,大多數采樣點均集中在人體身上。

表3 任務對齊實驗結果
4)任務對齊實驗:表3展示了采用不同訓練結構(具體見圖6)得到的搜索結果??梢钥吹?,AlignPS所采用的“ReID優(yōu)先”結構取得了最好的搜索精度。

圖6 不同任務對齊策略
2. 與SOTA的對比結果

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

圖7 行人搜索的可視化結果
最后,表7對比了不同算法的運行效率。由于本文采用Anchor-Free檢測器,因此AlignPS在保證性能的同時也具有更快的運行速度,可謂“一箭雙雕”!

表7 算法運行時間
