這篇論文是CVPR2019的oral,將graph learning引入了person search task中,文章很不錯,學習一下~
1. Introduction
這篇文章對圖像中的context information(上下文信息)做了進一步的挖掘,利用其輔助person search的決策。其基本思想是尋找query和gallery圖像對中都存在的人(不只是target person),比如說Figure 3中在婚禮場景中,我們要判斷的是新郎(紅框)是不是同一個人(這句話怪怪的~),但是這兩張照片中都出現的新娘和花童(綠框)顯然可以幫助我們更好地決策,這就是文章所說的context information。很多情況下,特別是多攝像頭同時捕捉,或者臨近時刻內拍攝的畫面,兩景畫面中存在多對same dentities。那么,這些行人在兩幅圖像中都存在,能夠幫助我們更好的決策。特別是當identity本身的特征判別性不夠高時,其周邊的其它行人可以很好地輔助。那么同時,缺點就是如果時間跨度比較大,target person處在不同環境中,特別是在室外監控視頻中,這種context information的作用就小很多。
一個probe-gallery的圖像對:對於一個給定的target person(query圖像中標定的target person?),①首先通過contextual instance expansion模塊來尋找context information,具體即是搜集場景中所有的行人作為context candidates;②用relative attention模塊進行篩選,這一步考慮probe和gallery圖像中所有的context candidates,輸出matched pairs,作為informative context;③構建context graph,利用graph learning框架來計算query和gallery中target pair的相似性,其中graph node包含target pair和context pairs,所有的context nodes都與target node相連。個人更直白的理解是①行人的檢測;②對query和gallery中檢測的行人進行粗匹配,得到匹配對;③由target pair和context pairs構建圖,綜合判斷target pair的相似性。
整個框架搭建在第一篇person search via deep learning的框架基礎上,如Figure 1所示。
3. Methodology
3.1 Overview
核心思想是擴展instance feature的表達能力,不再局限在目標行人本身上提取特征,也將周圍行人作為特征學習進去。
Instance Detection and Feature Learning
主要是對faster R-CNN框架加以改進,進行聯合的行人檢測和特征學習。這一部分將person re-ID中的part-based特征學習框架納入進來,以提升特征學習的判別能力。
Contextual Instance Expansion
將query和gallery圖像中所有的instance pairs作為context candidates,利用relative attention layer來衡量context pair之間的視覺相似性,並篩選出足夠高confidence的instance pairs作為informative contexts。
Contextual Graph Representation Learning
對於一對probe-gallery圖像對,構建圖來計算target pair的相似性。圖節點包含着target persons以及相關的(associated) context pairs,它們之間用graph edges鏈接。用graph convolutional network來學習probe-gallery圖像對的相似性。
3.2. Instance Detection and Feature Learning
3.2.1 Pedestrian Detection
這一部分的基本框架如Figure 2.ResNet-50作為基本網絡,分成兩個部分,圖像先經過conv1-conv4_3做特征提取,輸出1024 channel+1/16輸入大小尺寸的feature map后,經過PPN(實際就是RPN)和NMS得到Region Proposals。和RPN一樣,PPN也是用兩個loss訓練:一個binary softmax進行person/non-person二分類,一個linear layer做bbox regression。所有的proposals經過ROI Pooling后送入ResNet-50的第二部分conv4_4-conv5_3,隨后經過Average Pooling得到2048維特征,再一分為二連接兩個FC:一個是binary softmax layer進行person/non-person二分類,一個是256維的FC layer(即OIM文章中的id-feat),其輸出會被進一步L2歸一化,以用作inference的特征表達。
作者應該是將兩張圖像放進網絡求proposals,然后分別輸出
3.2.2 Region-based Feature Learning
除了global average pooling得到256d的特征之外,作者還引入了part-based re-ID的思想,將$7\times7$的特征划分成帶重疊區的3個$7\times3$的區域。分別用FC輸出256d的特征,這樣就有了四個256d的特征,即Figure2中的下面這一部分圖,這四個特征都用來計算OIM loss,
3.3. Contextual Instance Expansion
兩張圖像分別求得4個256d特征后,組合,輸入Relative Attetion Block,輸出4個weights
proposals之間的相似性可以用下式計算
注意這里的$x^r_i,x^r_j$是兩張圖像分別對應的4個part中的一對256d特征($R=4$),$w_r$是上述輸出的權重,這樣可以計算part_based的相似性,這里用一個$L_{very}$來訓練Relative Attetion Block:
到這里其實就可以做inference了,分別輸入query和gallery圖像,得到query person的id-feat和所有proposals的id-feat,和輸出的weight一起加權算consine similarity再rank就可以了。但作者加入context information進一步輔助決策。