CVPR18|Repulsion loss:遮擋下的行人檢測
43 人贊了文章
極市平台是專業的視覺演算法開發和分發平台,加入極市專業CV交流群,與6000+來自騰訊,華為,百度,北大,清華,中科院等名企名校視覺開發者互動交流!更有機會與李開復老師等大牛群內互動!
同時提供每月大咖直播分享、真實項目需求對接、乾貨資訊匯總,行業技術交流。點擊鏈接立刻申請入群~
本文由同濟大學和北京大學合作發表於CVPR2018,聚焦於loss層面,為遮擋情況下的行人檢測問題提供了一種行之有效的解決方案。
作者:Panzer
論文地址:https://arxiv.org/abs/1711.07752
背景介紹
與通用目標檢測相比,遮擋情況在行人檢測中更為普遍,為此也是行人檢測領域最廣為關注的問題之一。現實場景中行人的遮擋情況主要分為兩種情況:一種是其他物體對行人的遮擋,這往往會帶來目標信息的缺失,進而導致漏檢;另一種是行人個體之間的相互遮擋,這往往會引入大量的干擾信息,進而導致更多的虛檢。本文重點解決的是後一種情況導致的遮擋問題。作者將對這一問題進行了深入思考,並從loss的層面提出了一種新穎的解決方案,為我們呈現了一場思路和實驗都十分精彩的盛宴。
主要內容行人檢測的遮擋問題
本文重點解決的問題是:在行人個體之間的相互遮擋時,如何提高行人檢測的準確率。無論是在自動駕駛還是智能監控場景下,行人以群體形式出現的情況時有發生,如圖1所示:兩個行人個體之間存在著相互遮擋,而這種遮擋對檢測演算法的影響體現在兩個層面:一是目標框定位不準確,如圖中紅色框;二是演算法對NMS的閾值的選取更為敏感了,如果NMS閾值選取過小,則周圍的目標框就被過濾掉了(圖中藍色框),但藍色框對於圖中女士而言卻是正確的預測,如果NMS閾值選取過大,則又會帶來更多的虛檢。對於這樣一個兩難問題,作者的解決思路在圖中的式中也得到了直觀體現:該思路的核心就是一種全新的loss,叫做Repulsion loss,其包括兩個部分:前者是使得預測框更接近目標框,後者是使得預測框要儘可能遠離周圍的目標框。
作者首先研究了現有公開數據集CityPersons[1]中遮擋出現的情況以及這種情況對檢測器性能的影響。在CityPersons驗證集中,共有3157個行人標註框,其中48.8%的行人相互遮擋的IOU高於0.1,26.4%的行人相互遮擋的IOU高於0.3,可見這種遮擋情況的出現是極其普遍的。那麼遮擋到底會給檢測器帶來什麼樣的影響?作者訓練了Faster R-CNN檢測器作為baseline對這個問題進行了回答,如圖2所示:評估指標選用行人檢測中常用的Miss Rate (MR,越低越好),其中Reasonable-occ代表所有遮擋情況,Reasonable-crowd代表所有遮擋情況中自遮擋的部分,圖中列出了在平均20,100,500個虛檢情況下的missed detection,從圖中可以發現遮擋佔據了近60%的席位(藍色+橙色),而在這60%席位中,自遮擋又佔據了近60%。綜上,圖2足以說明:遮擋是影響行人檢測性能的一個非常重要的因素,而行人之間的自遮擋更是重中之重。
解決之道:
針對以上分析,作者決定從loss層面來解決行人之間的自遮擋問題,首先我們直觀感受下本文方法RepGT的有效性,如下圖所示:圖(a)展示了RepGT對漏檢的有效性,可以發現在detection score較高時,RepGT的漏檢更少,圖(b)展示了RepGT對自遮擋情況下的虛檢的有效性,可以發現RepGT的虛檢中自遮擋所導致的虛檢比例更低。
上圖實驗所展示的效果驗證了本文的一大貢獻:Repulsion loss,其包括三個子模塊:
其中第一個子模塊LAttr是使得預測框和匹配上的目標框儘可能接近;第二個子模塊LRepGT是使得預測框和周圍的目標框儘可能遠離,第三個子模塊LRepBox是使得預測框和周圍的其他預測框儘可能遠離。
Attraction Term
LAttr採用通用檢測框架中的回歸loss,可以採用歐式距離、SmoothL1距離以及IoU距離,為了使得和其他演算法具有可比性,本文這裡採用的是SmoothL1距離:
Repulsion Term (RepGT)
因為LRepGT是使得預測框P和周圍的目標框G儘可能遠離,這裡的周圍的目標框是除了匹配上的目標框以外的IoU最大的目標框,也即
,受啟發於IoU Loss[2],它們之間的距離定義為Intersection over Ground-truth (IoG),也即
,則RepGT loss定義為:
從式(4)中可以發現當預測框P和周圍的目標框G的IoG越大,則產生的loss也會越大,因此可以有效防止預測框偏移到周圍的目標框上。此外,式(5)中的sigma是一個調整LRepGT敏感程度的超參數,文中圖5給出了驗證性實驗,這裡不再贅述,詳情可見論文。
值得注意的是這裡的度量距離為什麼選用IoG而不是IoU呢?仔細思考一下,如果是IoU的話,那麼只要預測框足夠大就一定能夠使得RepGT loss減小,而這和我們的預期目標是不一致的,這點作者在文中也有論述。
Repulsion Term (RepBox)
因為LRepBox是使得預測框Pi和周圍的其他預測框Pj儘可能遠離,Pi和Pj分別匹配上不同的目標框,它們之間的距離採用的是IoU,則RepBox loss定義為:
從式(4)中可以發現當預測框Pi和周圍的其他預測框Pj的IoU越大,則產生的loss也會越大,因此可以有效防止兩個預測框因為靠的太近而被NMS過濾掉,進而減少漏檢。
實驗分析
實驗細節:
本文的detector採用的是改進版的Faster R-CNN,以保證對比的公平性,驗證實驗是在CityPersons驗證集上做的。對比實驗是在Caltech測試集上做的,訓練和測試均採用新標註。
實驗結果:
首先我們看下在CityPersons驗證集上的剝離實驗(如下,表3):
可以發現加上RepGT loss和RepBox loss,都可以給baseline帶來較為明顯的性能提升,尤其是在遮擋情況較為嚴重的情況下(Heave occlusion)的效果最為顯著。本文的兩種loss共同將baseline在Reasonable設定下的Miss Rate從14.6減少到了13.2。最後將圖像擴大1.5倍得到了最佳的10.9的表現。
同樣在Caltech測試集上的表現也是state-of-the-art(如下,表4和圖7):在Caltech上再一次證明了本文方法對Heave occlusion的有效性。在Reasonable設定下取得了4.0的表現,據筆者所知,在目前已公開發表的實驗結果中是最好的了。
總結展望
本文貢獻:
(1)深入研究了行人檢測中的遮擋問題(包括物體遮擋和行人之間的遮擋),並分析了影響檢測器性能的關鍵因素。
(2)基於對以上問題的分析,從loss層面為行人檢測中的自遮擋問題提出了一種全新的解決方案,在CityPersons和Caltech兩個行人檢測數據集上展現了非常出色的性能。
個人見解:
(1)本文探討了行人檢測中長期以來廣為關注的問題——遮擋,是極具啟發性的一篇工作。已有工作中主要採用的是『分part』,『加語義信息』等思路加以解決,然而『分part』畢竟需要人工設定,難以窮盡現實場景中紛繁複雜的遮擋情況,本文另闢蹊徑從loss的角度,使得網路自動學習的過程中不斷提升定位性能,減少了人為干預,從新的角度發揮了深度學習end-to-end的優勢。
(2)值得注意的還有表3,儘管repulsion loss將檢測器在Reasonable設定下的Miss Rate從14.6減少到了13.2(下降了1.4個點),但僅僅將圖像擴大1.5倍,Miss Rate又從13.2下降到了10.9(下降了2.3個點),我們知道圖像擴大是為了檢測到更多的小目標,足以說明弱小目標的存在對檢測器的性能影響同樣是不容忽視的。那麼,針對弱小目標的檢測,能否從loss層面找到一個合理的解決方案呢?期待你的精彩發現。
參考文獻:
[1] Citypersons: A diverse dataset for pedestrian detection. CVPR (2016)
[2] Unitbox: An advanced object detection network. ACM MM (2016)
本文為極市原創文章,轉載請註明出處,同時歡迎大家投稿~
推薦閱讀:
※[Paper Share -5]DeepFashion:Powering Robust Clothes Recognition and Retrieval with Rich Annotations
※CVPR 2018 | 曠視科技物體檢測冠軍論文——大型Mini-Batch檢測器MegDet
※CVPR2018 | 讓AI識別語義空間關係:斯坦福大學李飛飛組提出「參考關係模型」
※[CVPR2018筆記]Im2Flow: Motion Hallucination from Static Images for Action Recognition
※[CVPR2018]StarGAN:Unified Generative Adversarial Networks for Multi-Domain ImagetoImage Translation