ILSVRC2016目標檢測任務回顧:圖像目標檢測DET

2021-01-07 雷鋒網

雷鋒網註:本文作者李瑜,中科院計算所前瞻研究實驗室跨媒體組碩博士生,碩士導師唐勝副研究員,博士導師李錦濤研究員。2016年,作為360+MCG-ICT-CAS_DET團隊核心主力參加了ImageNet大規模視覺識別挑戰賽(ILSVRC)的 DET任務並獲得第四名。目標檢測相關工作受邀在ECCV 2016 ImageNet和COCO視覺識別挑戰賽聯合工作組會議上做大會報告。

計算機視覺領域權威評測——ImageNet大規模圖像識別挑戰賽(Large Scale Visual Recognition Challenge)自2010年開始舉辦以來,一直備受關注。2016年,在該比賽的圖像目標檢測任務中,國內隊伍大放異彩,包攬該任務前五名(如圖1所示)。我們將根據前五名參賽隊伍提交的摘要與公開發表的論文或技術文檔,簡析比賽中用到的圖像目標檢測方法。

圖1. ILSVRC2016目標檢測(無額外數據)任務比賽結果

總體上說,參賽隊伍大多採用ResNet/Inception網絡+Faster R-CNN框架,注重網絡的預訓練,改進RPN,並利用Context信息,測試時結合普遍被使用的多尺度測試、水平翻轉、窗口投票等方法,最終融合多個模型得到結果。

下面我們將細數參賽方法中的諸多亮點。

一、利用Context信息

1、GBD-Net

GBD-Net(Gated Bi-Directional CNN)是CUImage團隊的成果,也是今年DET任務中的一大亮點。該方法利用雙向門控的CNN網絡在不同尺度的上下文窗口中選擇性地傳遞信息,以此對context建模。

GBD-Net的研究動機源於對context信息在候選窗口分類過程中起到的作用的仔細分析。首先,Context信息在對窗口分類時能起到關鍵的作用,如圖2(a)(b)所示,圖中的紅框必須結合Context信息才能準確判斷其類別(包括判斷為背景)。所以很多時候,我們可以利用context信息作出如圖1(c)所示的判斷。但是如圖1(d)所示,並不是所有的context信息都能給我們正確的指導,所以context信息需要選擇性的利用。

圖2. GBD-Net的研究動機

基於這一點,CUImage提出了GBD-Net。如圖3所示,GBD-Net採集Context信息的方式與[2][3]一脈相承,直接在目標窗口基礎上放大窗口以獲得更多的context信息,或縮小窗口以保留更多的目標細節,以此得到多個support region,雙向連接的網絡讓不同尺度和解析度的信息在每個support region之間相互傳遞,從而綜合學習到最優的特徵。然而如研究動機中所說,並非所有的上下文信息都能給決策帶來「正能量」,所以在雙向互通的連接上都加了一個「門」,以此控制context信息的相互傳播。GBD-Net在ImageNet DET數據集上,在ResNet-269為基礎網絡,帶來了2.2%的mAP提升。

圖3. GBD-Net框架圖

2、Dilation as context

360+MCG-ICG-CAS_DET團隊將用膨脹卷積獲取context信息的方法遷移至目標檢測任務,將8個膨脹卷積層削減到3層,在ROI pooling前就組織好每個像素點對應的context信息,如圖4,省去了對每個ROI反覆提取context特徵的操作。該方法在VOC07數據集上,以Res50為基礎網絡,能獲得1.5%的提升。

圖4. Dilation as context方法示意圖

3、Global context

2015年提出利用ROI pooling對全圖進行pooling獲取context信息的方法,Hikvision團隊在此基礎上進一步細化,提出了圖5(a)所示的global context方法,在ILSVRC DET驗證集上獲得了3.8%的mAP性能提升。該方法此前的文章中有詳細描述,此處不再贅述。

除了基於ROI pooling的global context方法,CUImage沿用[6]中提到的global context方法,為每個ROI加入全局的分類結果信息,如圖5(b)示。該方法在GBD-net局部context的基礎上又加入了全局的context信息,進一步將mAP提高了1.3%。

圖5. Global context方法示意圖

二、改進分類損失

360+MCG-ICG-CAS_DET團隊提出了兩種改進的softmax損失:將背景類分成若干隱式子類別(Implicit sub-categories for background)、必要時加入sink類別(Sink class when necessary)。

Faster R-CNN中將所有與Ground Truth的IOU大於0.5的窗口當做正樣本,IOU介於0.1~0.4之間的當做背景類別樣本,所以雖然正常目標類別的樣本之間有較大的相似性,但背景類別的樣本之間差異卻非常大,在這種情況下,仍然同等對待目標類別和背景類別對背景類別來說是不公平的。所以背景隱式子類別方法將背景類別分為若干個子類別,想讓更多的參數去描述多變的背景,在softmax之前重新將所有子類別聚合為一個背景類,以避免顯式定義各個子類別的問題(如圖6(a)所示)。

圖6 改進分類損失

另外,由於訓練數據本身的一些衝突性(比如同樣的圖像內容在不同場景下會同時成為正樣本和負樣本,或不同類別的樣本之間非常相似),對於某些窗口,ground truth類別的得分始終不是很高,而其他一些錯誤類別的得分會超過ground truth類別。所以sink方法加入一個sink類,在ground truth得分不在Top-K時,同時優化sink類別和ground truth類別,否則正常優化ground truth類別。以此將那些錯誤類別上的得分引流到sink類別上,使得在對窗口分類時,即使ground truth類別得分不是特別高,仍然可以高於其他類別,如圖6(b)所示。

三、改進RPN

CUImage和Hikvision都提出改進RPN,並且兩者的改進策略都源於CRAFT(如圖7所示),在RPN之後再連接一個二分類的Fast R-CNN,進一步減少窗口數量並提高定位精度。

圖7 CRAFT

CUImage進一步將CRAFT升級為CRAFT-v3,訓練過程加入隨機crop,測試中採取多尺度策略,並且平衡正負樣本比例,用2個模型進行融合,將ILSVRC DET val2上的recall@300 proposal提升到95.3%。

Hikvision則是直接按照box refinement的思想,直接在RPN網絡基礎上進行一次級聯,如圖8所示。同時他們注意到,Faster R-CNN在理想情況下希望PRN的正負樣本比是1:1,而實際運行中,正樣本數量往往較少,使得正負樣本比差異較大,所以將正負樣本比強制限制在不超過1:1.5後,recall提升3%。

圖8 級聯的RPN

四、網絡選擇與訓練技巧

自ILSVRC2015後,ResNet和後續的Inception v4,Identity mapping由於其強大的分類性能,被廣泛使用到目標檢測、場景分割等應用中。不同的網絡通常能收斂到不同的極值點,這種網絡差異性是模型融合獲得較大提升的關鍵。CUImage、Hikvision、Trimps Soushen、360+MCG-ICT-CAS_DET、NUIST都用不同的基礎網絡訓練了多個模型用於融合。

在訓練目標檢測模型之前,具有針對性的模型預訓練通常可以使得最後訓練的目標檢測模型能收斂到更優的位置。Hikvision提到在初始化global context的分支時使用預訓練的模型效果遠遠好於隨機初始化。另外,他們用ILSVRC LOC的數據首先在1000個類別上預訓練一個精細分類的目標檢測模型,再遷移到DET數據上訓練200類的模型。CUImage同樣提到模型預訓練的重要性。他們在1000類Image-centric方式訓練分類網絡後,又採取基於ROI-Pooling的Object-centric方式訓練分類網絡,預訓練網絡使最終目標檢測模型的mAP提升約1%。

此外,Hikvision提出在訓練過程中強制平衡正負樣本比會產生積極的影響。OHEM、多尺度訓練等技巧都是簡單有效的提高mAP的方式。

五、測試技巧

測試過程中可採用的技巧很多,會對最終目標檢測結果起到錦上添花的作用。多尺度測試、水平翻轉、窗口微調與多窗口投票、多模型融合、NMS閾值調整、多模型融合等方法被廣泛使用,並經過普遍驗證證明了其有效性。

Trimps Soushen、360+MCG-ICT-CAS_DET採用了Feature Maxout的方法融入多尺度測試,儘量讓每個窗口都縮放到接近224x224的尺度上進行測試,充分利用預訓練網絡的性能。窗口微調與多窗口投票(box refinement and box voting)方法首先利用Fast R-CNN系列框架中對窗口進行回歸的這個過程,反覆迭代,然後用所有窗口投票,決定最終的目標類別與位置。在往年比賽中很少提到目標檢測如何進行模型融合,ILSVRC2016中,CUImage、Hikvision、Trimps Soushen、360+MCG-ICT-CAS_DET都採用了幾乎一致的融合策略,即先用一個或多個模型的RPN網絡產生固定的ROI,再把這些ROI經過不同模型得到的分類和回歸結果相加,得到最終的融合結果。經過多種融合方法的實驗,分數相加的方式能獲得較好的融合性能。

總結

本文對2016年ILSVRC DET任務中用到的方法進行了概括性的歸納和介紹。目標檢測系統步驟甚多,過程繁瑣,其中的每一個細節都非常重要。研究過程中,在把握整體結構的同時,如何處理好重要的細節會成為一種方法是否有效的關鍵。

相關焦點

  • ILSVRC2016目標檢測任務回顧:圖像目標檢測(DET)
    2016年,作為360+MCG-ICT-CAS_DET團隊核心主力參加了ImageNet大規模視覺識別挑戰賽(ILSVRC)的 DET任務並獲得第四名。目標檢測相關工作受邀在ECCV 2016 ImageNet和COCO視覺識別挑戰賽聯合工作組會議上做大會報告。
  • ResNet - 2015年 ILSVRC 的贏家(圖像分類,定位及檢測)
    -2015-image-classification-localization-detection-e39402bfa5d8在本文,我們ResNet進行了回顧。通過學習殘差表徵函數而不是直接學習目標表徵,ResNet可以擁有多達152層的非常深的網絡。ResNet引入了跳過連接(或快捷方式連接)以適應從前一層到下一層的輸入,而無需修改輸入。跳過連接可以實現更深入的網絡,最終ResNet成為ILSVRC 2015在圖像分類,檢測和定位方面的贏家,和MS COCO 2015檢測和分割的獲勝者。
  • 目標檢測之公開圖像數據集
    在PASCALVOC中是多任務的,包括圖像分類,目標檢測,語義分割和行為檢測。在目標檢測中有兩個Pascal-VOC版本:VOC07和VOC12,其中前者有5k張圖像和27k個被標註目標,後者則有11k張圖像和27k個被標註的目標。
  • 圖像處理之目標檢測入門總結
    本文首先介紹目標檢測的任務,然後介紹主流的目標檢測算法或框架,重點為Faster R-CNN,SSD,YOLO三個檢測框架。本文內容主要整理自網絡博客,用於普及性了解。ps:由於之後可能會有一系列對象檢測的論文閱讀筆記,在論文閱讀之前,先大致了解一下目前的研究現狀,目標檢測的各種主流方法的大致原理,以助於後面能更順暢看懂論文,後續再通過論文閱讀進行細節學習。
  • 目標檢測的性能評價指標
    # 此檢測框記為TP R['det'][jmax] = 1 # 並將此gt對象標記為已檢測 else: # 若gt對象已被檢測,那麼此檢測框為FP fp[d] = 1.
  • 圖像目標檢測算法——總結
    最開始的CNN 目標檢測就是兩階段的。R-CNNR-CNN 是最早利用CNN 實現目標檢測任務的方法,由rbg(Ross Girshick)等人提出。R-CNN 方法pipeline鑑於CNN 在整圖分類任務中的優異性能,很自然的想法是將其用於目標檢測領域,將CNN 強大的數據驅動的特徵提取能力遷移到比整圖分類更細緻和複雜的任務中
  • 博觀智能再破世界紀錄 斬獲MOT20Det、MOT17Det多目標檢測雙第一
    12月28日,博觀智能(Bresee)在國際最權威的多目標跟蹤挑戰賽MOT(Multiple Object Tracking) Challenge上,斬獲MOT17Det和MOT20Det多目標檢測任務雙第一。
  • 無需預訓練分類器,清華&曠視提出專用於目標檢測的骨幹網絡DetNet
    DetNet 可在保持高解析度特徵圖和大感受野的同時,高效地執行目標檢測任務,並可以自然地擴展到實例分割任務上。在 MSCOCO 數據集的目標檢測和實例分割任務上,DetNet 都取得了當前最佳的結果。目標檢測是計算機視覺中最基礎的任務之一。由於深度卷積神經網絡(CNN)的快速發展,目標檢測的性能也隨著顯著提升。
  • 2020「水下目標檢測算法賽」賽題解析——聲學圖像
    聲學圖像在水下目標檢測中探程遠、實用性強,針對「聲學圖像目標檢測」賽項,鵬城實驗室專門開設了 2 期在線直播課程,先後請到上海達華測繪有限公司專家李太春老師和河海大學、水下信息感知技術研究中心副主任霍冠英老師,為參賽者和算法愛好人士提供深入淺出的專業講座。
  • 一文詳解YOLO 2與YOLO 9000目標檢測系統 | 分享總結
    訓練YOLO 2的第一步是在ImageNet上預先學習darknet-19,在224x224圖像上,它僅需5.58個G-ops。此外,YOLO 2在VOC2007,VOC2012和COCO檢測數據集上有很好的表現。在YOLO 2的基礎上,論文中進一步提出了YOLO 9000,可以產生9418個類別的目標檢測。首先是需要建立一個基於wordNet結構的wordTree。
  • Self-training在目標檢測任務上的實踐
    Learning在目標檢測中的作用。https://www.kaggle.com/c/global-wheat-detection在本競賽中,將從室外的小麥植株圖像(包括來自全球的小麥數據集)中檢測出小麥植株的頭部,訓練數據集涵蓋了多個區域,是來自歐洲(法國,英國,瑞士)和北美(加拿大)的 3,000 多張圖像,測試數據包括來自澳大利亞,日本和中國的約 1,000 張圖像。
  • 首個基於Transformer的目標檢測模型上線,大目標檢測超越Faster R...
    研究員聲稱這種方法簡化了目標檢測模型的創建,並減少了對手工組件的需求。   Facebook AI Research的六名成員研究了近期非常流行的Transformer神經網絡架構,創建了一個端到端的目標檢測AI。研究員聲稱這種方法簡化了目標檢測模型的創建,並減少了對手工組件的需求。
  • 視頻目標檢測大盤點
    基於視頻的目標檢測與普通的圖片目標檢測任務一樣
  • SSD多盒實時目標檢測教程
    圖像顯示了貓、狗,還是兩者皆有?(來源:kaggle)幾年前,研究人員提出了R-CNN,以應對目標檢測、定位、分類任務。大體上說,R-CNN是一種特殊的CNN,可以定位和檢測圖像中的目標:輸出基本上是一組匹配檢測到的目標的包圍盒,以及對應的分類。下圖顯示了一個典型的R-CNN輸出的結果:
  • 增加檢測類別?這是一份目標檢測的一般指南
    目標檢測技術作為計算機視覺的重要方向,被廣泛應用於自動駕駛汽車、智能攝像頭、人臉識別及大量有價值的應用上。這些系統除了可以對圖像中的每個目標進行識別、分類以外,它們還可以通過在該目標周圍繪製適當大小的邊界框來對其進行定位。本文作者從圖像識別與目標檢測的區別開始,進一步簡單介紹了目標檢測的基本模塊與實現方法。
  • 如何將深度學習應用於無人機圖像的目標檢測
    AI 研習社編譯的技術博客,原標題: How to easily do Object Detection on Drone Imagery using Deep learning 作者|Gaurav Kaila 翻譯| zackary、Disillusion、劉劉1126 校對| 醬番梨整理| 菠蘿妹如何將深度學習應用於無人機圖像的目標檢測
  • 目標檢測的圖像特徵提取之 HOG特徵
    它通過計算和統計圖像局部區域的梯度方向直方圖來構成特徵。Hog特徵結合SVM分類器已經被廣泛應用於圖像識別中,尤其在行人檢測中獲得了極大的成功。需要提醒的是,HOG+SVM進行行人檢測的方法是法國研究人員Dalal在2005的CVPR上提出的,而如今雖然有很多行人檢測算法不斷提出,但基本都是以HOG+SVM的思路為主。
  • 運動目標檢測及兩種常用方法簡介
    運動目標檢測在對視頻或圖像序列進行分析時,運動目標檢測的主要任務是: 判斷視頻圖像序列中每一幀有無對應的前景目標能否將對應的前景目標的特徵提取出來只有檢測到了前景目標才能對其進行跟蹤與後續的相關分析處理,因此目標檢測是目標跟蹤處理的基礎。局部遮擋、光照等因素都會影響目標檢測的精度。
  • 目標檢測之—FCOS介紹
    (2) 在多任務學習過程中結合landmark定位可以進一步提高對目標的檢測的準確性。應用:人臉檢測、汽車檢測。特點:直接預測4維向量(邊界框的四條邊距離location的相對偏移)+類別 (除了需要回歸一個四維連續向量,與語義分割類似)圖像金字塔輸入除NMS是全卷積網絡適用於特殊領域的目標檢測,如場景文字識別,人臉檢測。對高度重疊的邊界框不適用。
  • 做目標檢測,這6篇就夠了:CVPR 2020目標檢測論文盤點
    CVPR 2020 會議上,有哪些目標檢測論文值得關注?目標檢測是計算機視覺中的經典問題之一。憑藉大量可用數據、更快的 GPU 和更好的算法,現在我們可以輕鬆訓練計算機以高精度檢測出圖像中的多個對象。前不久結束的 CVPR 2020 會議在推動目標檢測領域發展方面做出了一些貢獻,本文就為大家推薦其中 6 篇有價值的目標檢測論文。