目標檢測綜述


目錄
1 INTRODUCTION
2 OBJECT DETECTION IN 20 YEARS
2.1 A Road Map of Object Detection
2.1.1 Milestones: Traditional Detectors
2.1.2 Milestones: CNN based Two-stage Detectors
2.1.3 Milestones: CNN based One-stage Detectors
2.2 Object Detection Datasets and Metrics
2.2.1 Metrics
2.3 Technical Evolution in Object Detection
2.3.1 Early Time’s Dark Knowledge
2.3.2 Technical Evolution of Multi-Scale Detection
2.3.3 Technical Evolution of Bounding Box Regression
2.3.4 Technical Evolution of Context Priming
2.3.5 Technical Evolution of Non-Maximum Suppression
2.3.6 Technical Evolution of Hard Negative Mining
3 SPEED-UP OF DETECTION
3.1 Feature Map Shared Computation
3.1.1 Spatial Computational Redundancy and Speed Up
3.1.2 Scale Computational Redundancy and Speed Up
3.2 Speed up of Classifiers
3.3 Cascaded Detection
3.4 Network Pruning and Quantification
3.4.1 Network Pruning
3.4.2 Network Quantification
3.4.3 Network Distillation
3.5 Lightweight Network Design
3.5.1 Factorizing Convolutions
3.5.2 Group Convolution
3.5.3 Depth-wise Separable Convolution
3.5.4 Bottle-neck Design
3.5.5 Neural Architecture Search
3.6 Numerical Acceleration
3.6.1 Speed Up with Integral Image
3.6.2 Speed Up in Frequency Domain
3.6.3 Vector Quantization
3.6.4 Reduced Rank Approximation
4 RECENT ADVANCES IN OBJECT DETECTION
4.1 Detection with Better Engines&Object detectors with new engines
4.2 Detection with Better Features
4.2.1 Why Feature Fusion is Important?
4.2.2 Feature Fusion in Different Ways
4.2.3 Learning High Resolution Features with Large Receptive Fields
4.3 Beyond Sliding Window
4.4 Improvements of Localization
4.4.1 Bounding Box Refinement
4.4.2 Improving Loss Functions for Accurate Localization
4.5 Learning with Segmentation
4.5.1 Why Segmentation Improves Detection?
4.5.2 How Segmentation Improves Detection?
4.6 Robust Detection of Rotation and Scale Changes
4.6.1 Rotation Robust Detection
4.6.2 Scale Robust Detection
4.7 Training from Scratch
4.8 Adversarial Training
4.9 Weakly Supervised Object Detection
5 APPLICATIONS
5.1 Pedestrian Detection
5.1.1 Difficulties and Challenges
5.1.2 Literature Review
5.2 Face Detection
5.2.1 Difficulties and Challenges
5.2.2 Literature review
5.3 Text Detection
5.3.1 Difficulties and Challenges
5.3.2 Literature Review
5.4 Traffic Sign and Traffic Light Detection
5.4.1 Difficulties and Challenges
5.4.2 Literature Review
5.5 Remote Sensing Target Detection
5.5.1 Difficulties and Challenges
5.5.2 Literature Review
6 CONCLUSION AND FUTURE DIRECTIONS

目錄
1引言
2 20年內的物體檢測
2.1目標檢測路線圖
2.1.1里程碑:傳統探測器
2.1.2里程碑:基於CNN的兩級檢測器
2.1.3里程碑:基於CNN的一級探測器
2.2對象檢測數據集和度量
2.2.1指標
2.3目標檢測技術的發展
2.3.1早期的黑暗知識
2.3.2多尺度檢測技術發展
2.3.3邊界盒回歸的技術演進
2.3.4上下文啟動的技術演進
2.3.5非最大抑制的技術演進
2.3.6硬負開采技術演變
3加快檢測速度
3.1特征圖共享計算
3.1.1空間計算冗余和加速
3.1.2規模計算冗余和加速
3.2加速分類器
3.3級聯檢測
3.4網絡修剪和量化
3.4.1網絡修剪
3.4.2網絡量化
3.4.3網絡蒸餾
3.5輕量級網絡設計
3.5.1分解卷積
3.5.2組卷積
3.5.3深度可分離卷積
3.5.4瓶頸設計
3.5.5神經架構搜索
3.6數值加速
3.6.1使用積分圖像加速
3.6.2頻域加速
3.6.3矢量量化
3.6.4降秩逼近
4種物體檢測的最新進展
4.1使用更好的引擎進行檢測和使用新引擎的對象檢測器
4.2具有更好功能的檢測
4.2.1為什么功能融合很重要?
4.2.2不同方式的特征融合
4.2.3學習具有大接收場的高分辨率特征
4.3超越滑動窗口
4.4本地化的改進
4.4.1邊界框優化
4.4.2改進損耗功能以實現精確定位
4.5分段學習
4.5.1為什么分段可以改善檢測?
4.5.2分段如何提高檢測效率?
4.6旋轉和刻度變化的穩健檢測
4.6.1旋轉魯棒檢測
4.6.2秤穩健性檢測
4.7從頭開始培訓
4.8對抗訓練
4.9弱監督對象檢測
5應用
5.1行人檢測
5.1.1困難與挑戰
5.1.2文獻綜述
5.2人臉檢測
5.2.1困難與挑戰
5.2.2文獻綜述
5.3文字檢測
5.3.1困難與挑戰
5.3.2文獻綜述
5.4交通標志和交通信號燈檢測
5.4.1困難與挑戰
5.4.2文獻綜述
5.5遙感目標檢測
5.5.1困難與挑戰
5.5.2文獻綜述
6結論和未來方向
第一章:INTRODUCTION

目標檢測是數字圖像中某一類 ( 如人、動物或汽車 ) 的重要計算機視覺任務。目標檢測的目標是開發計算模型和技術,提供計算機視覺應用程序所需的最基本的信息之一:什么目標在哪里?

目標檢測作為計算機視覺的基本問題之一,是許多其他計算機視覺任務的基礎,如實例分割、圖像字幕、目標跟蹤等。從應用程序的角度來看,目標檢測可以被分為兩個研究主題:“ General Object Detection ” 和 “ Detection Applications ” ,前者旨在探索在統一的框架下檢測不同類型物體的方法,以模擬人類的視覺和認知;后者是指特定應用場景下的檢測,如行人檢測、人臉檢測、文本檢測等。

近年來,隨着深度學習技術的快速發展,為目標檢測注入了新的血液,取得了顯著的突破,將其推向了一個前所未有的研究熱點。目前,目標檢測已廣泛應用於自主駕駛、機器人視覺、視頻監控等領域。下圖就顯示了過去二十年中與 “ 目標檢測 ” 相關的出版物數量的增長。

區別

近年來發表了許多關於 General Object Detection 的綜述。本文與上述綜述的主要區別總結如下:

    基於技術演進的全面回顧:本文廣泛回顧了對象檢測發展史上的400多篇論文,時間跨度超過25年 ( 上世紀90年代至2019年 )。以前的大多數綜述僅僅關注一個較短的歷史時期或一些特定的檢測任務,而沒有考慮它們整個生命周期中的技術演進。站在歷史的高速公路上,不僅有助於讀者建立一個完整的知識體系,而且有助於找到這個快速發展領域的未來方向。

    深入探索關鍵技術和最新技術狀態:經過多年的發展,目前的先進的對象檢測系統已經與 “ 多尺度檢測 ”、“ 困難負樣本挖掘 ” 、“ 邊界框回歸 ” 等大量技術相結合,然而,以前的綜述缺乏基本的分析來幫助讀者理解這些復雜技術的本質,例如,“ 它們從哪里來,它們是如何進化的? ”、“ 每種方法的優缺點是什么? ”本文針對上述問題對讀者進行了深入的分析。

    全面分析加速檢測技術:加速目標檢測一直是一項關鍵而又具有挑戰性的任務。本文從多個層面對近20年來目標檢測技術的發展進行了全面的回顧,包括 “ 檢測管道 ” ( 如級聯檢測、特征圖共享計算 )、“ 檢測主干 ”( 如網絡壓縮、輕量級網絡設計 )、“ 數值計算 ”( 如積分圖像、矢量量化 )。以前的綜述很少涉及這個主題。

難點和挑戰

盡管人們總是問 “ 在目標檢測中有哪些困難和挑戰? ” ,事實上,這個問題並不容易回答,甚至可能被過度概括。由於不同的檢測任務具有完全不同的目標和約束,它們的困難程度可能會有所不同。除了其他計算機視覺任務中的一些常見挑戰,如不同視點下的物體、光照和類內變化,目標檢測的挑戰包括但不限於以下幾個方面:目標旋轉和尺度變化 ( 如小目標 ) ,精確的目標定位,密集和遮擋的目標檢測,加速檢測等。

在之后的第四章和第五章中,我們將對這些主題進行更詳細的分析。

 

 OBJECT DETECTION IN 20 YEARS 第二章 20年的目標檢測
我們將從多個方面回顧對象檢測的歷史,包括里程碑檢測器、目標檢測數據集、指標和關鍵技術的發展。在過去的二十年中,人們普遍認為,目標檢測的發展大致經歷了兩個歷史時期:“ 傳統的目標檢測時期 ” ( 2014年以前 ) 和 “ 基於深度學習的檢測時期 ” ( 2014年以后 ),如下圖所示。

01傳統檢測器


如果我們把今天的物體檢測看作是深度學習力量下的一種技術美學,那么回到20年前,我們將見證“冷兵器時代的智慧”。早期的目標檢測算法大多是基於手工特征構建的。由於當時缺乏有效的圖像表示,人們別無選擇,只能設計復雜的特征表示,以及各種加速技術來用盡有限的計算資源。

(1)Viola Jones Detectors

18年前,P. Viola和M. Jones在沒有任何約束條件(如膚色分割)的情況下首次實現了人臉的實時檢測。在700MHz Pentium III CPU上,在同等的檢測精度下,檢測器的速度是其他算法的數十倍甚至數百倍。這種檢測算法,后來被稱為“維奧拉-瓊斯”(VJ)檢測器”,在此以作者的名字命名,以紀念他們的重大貢獻。

VJ檢測器采用最直接的檢測方法,即,滑動窗口:查看圖像中所有可能的位置和比例,看看是否有窗口包含人臉。雖然這似乎是一個非常簡單的過程,但它背后的計算遠遠超出了計算機當時的能力。VJ檢測器結合了 “ 積分圖像 ”、“ 特征選擇 ” 和 “ 檢測級聯 ” 三種重要技術,大大提高了檢測速度。

積分圖像:積分圖像是一種計算方法,以加快盒濾波或卷積過程。與當時的其他目標檢測算法一樣,在VJ檢測器中使用Haar小波作為圖像的特征表示。積分圖像使得VJ檢測器中每個窗口的計算復雜度與其窗口大小無關。

特征選擇:作者沒有使用一組手動選擇的Haar基過濾器,而是使用Adaboost算法從一組巨大的隨機特征池 ( 大約180k維 ) 中選擇一組對人臉檢測最有幫助的小特征。

檢測級聯:在VJ檢測器中引入了一個多級檢測范例 ( 又稱“檢測級聯”,detection cascades ),通過減少對背景窗口的計算,而增加對人臉目標的計算,從而減少了計算開銷。

(2)HOG Detector

方向梯度直方圖(HOG)特征描述符最初是由N. Dalal和B.Triggs在2005年提出的。HOG可以被認為是對當時的尺度不變特征變換(scale-invariant feature transform)和形狀上下文(shape contexts)的重要改進。為了平衡特征不變性 ( 包括平移、尺度、光照等 ) 和非線性 ( 區分不同對象類別 ),將HOG描述符設計為在密集的均勻間隔單元網格上計算,並使用重疊局部對比度歸一化 ( 在“塊”上 ) 來提高精度。雖然HOG可以用來檢測各種對象類,但它的主要動機是行人檢測問題。若要檢測不同大小的對象,則HOG檢測器在保持檢測窗口大小不變的情況下,多次對輸入圖像進行重新標度。多年來,HOG檢測器一直是許多目標檢測器[13,14,36]和各種計算機視覺應用的重要基礎。

(3)Deformable Part-based Model (基於可變形部件的模型,DPM)

DPM作為voco -07、-08、-09檢測挑戰的優勝者,是傳統目標檢測方法的巔峰。DPM最初是由P. Felzenszwalb提出的,於2008年作為HOG檢測器的擴展,之后R. Girshick進行了各種改進。

DPM遵循“分而治之”的檢測思想,訓練可以簡單地看作是學習一種正確的分解對象的方法,推理可以看作是對不同對象部件的檢測的集合。例如,檢測“汽車”的問題可以看作是檢測它的窗口、車身和車輪。工作的這一部分,也就是“star model”由P.Felzenszwalb等人完成。后來,R. Girshick進一步將star model擴展到 “ 混合模型 ”,以處理更顯著變化下的現實世界中的物體。

一個典型的DPM檢測器由一個根過濾器(root-filter)和一些零件濾波器(part-filters)組成。該方法不需要手動指定零件濾波器的配置 ( 如尺寸和位置 ),而是在DPM中開發了一種弱監督學習方法,所有零件濾波器的配置都可以作為潛在變量自動學習。R. Girshick將這個過程進一步表述為一個多實例學習的特殊案例,“硬負挖掘”、“邊界框回歸”、“上下文啟動”等重要技術也被用於提高檢測精度。為了加快檢測速度,Girshick開發了一種技術,將檢測模型 “ 編譯 ” 成一個更快的模型,實現了級聯結構,在不犧牲任何精度的情況下實現了超過10倍的加速度。
雖然今天的物體探測器在檢測精度方面已經遠遠超過了DPM,但仍然受到DPM的許多有價值的見解的影響,如混合模型、硬負挖掘、邊界盒回歸等。2010年,P. Felzenszwalb和R. Girshick被授予PASCAL VOC的 “ lifetime achievement ”。

02 CNN based Two-stage Detectors


隨着手工特征的性能趨於飽和,目標檢測在2010年之后達到了一個穩定的水平。R.Girshick說:“ ... progress has been slow during 2010-2012, with small gains obtained by building ensemble systems and employing minor variants of successful methods ”。2012年,卷積神經網絡在世界范圍內重生。由於深卷積網絡能夠學習圖像的魯棒性和高層次特征表示,一個自然的問題是我們能否將其應用到目標檢測中?R. Girshick等人在2014年率先打破僵局,提出了具有CNN特征的區域(RCNN)用於目標檢測。從那時起,目標檢測開始以前所未有的速度發展。

在深度學習時代,目標檢測可以分為兩類:“ two-stage detection ” 和 “ one-stage detection ”,前者將檢測框定為一個 “ 從粗到細 ” 的過程,而后者將其定義為 “ 一步完成 ”。

(1)RCNN

RCNN背后的想法很簡單:它首先通過選擇性搜索提取一組對象建議(對象候選框)。然后,每個提案都被重新調整成一個固定大小的圖像,並輸入到一個在ImageNet上訓練得到的CNN模型(例如,AlexNet) 來提取特征。最后,利用線性SVM分類器對每個區域內的目標進行預測,識別目標類別。RCNN在VOC07上產生了顯著的性能提升,平均平均精度(mean Average Precision,mAP)從33.7%(DPM-v5) 大幅提高到58.5%。

雖然RCNN已經取得了很大的進步,但它的缺點是顯而易見的:在大量重疊的提案上進行冗余的特征計算 ( 一張圖片超過2000個框 ),導致檢測速度極慢(GPU下每張圖片14秒)。同年晚些時候,SPPNet被提出並克服了這個問題。

(2)SPPNet

2014年,K. He等人提出了空間金字塔池化網絡( Spatial Pyramid Pooling Networks,SPPNet)。以前的CNN模型需要固定大小的輸入,例如,AlexNet需要224x224圖像。SPPNet的主要貢獻是引入了空間金字塔池化(SPP)層,它使CNN能夠生成固定長度的表示,而不需要重新縮放圖像/感興趣區域的大小。利用SPPNet進行目標檢測時,只對整個圖像進行一次特征映射計算,然后生成任意區域的定長表示,訓練檢測器,避免了卷積特征的重復計算。SPPNet的速度是R-CNN的20多倍,並且沒有犧牲任何檢測精度(VOC07 mAP=59.2%)。

SPPNet雖然有效地提高了檢測速度,但仍然存在一些不足:第一,訓練仍然是多階段的,第二,SPPNet只對其全連接層進行微調,而忽略了之前的所有層。次年晚些時候,Fast RCNN被提出並解決了這些問題。

(3)Fast RCNN

2015年,R. Girshick提出了Fast RCNN檢測器,這是對R-CNN和SPPNet的進一步改進。Fast RCNN使我們能夠在相同的網絡配置下同時訓練檢測器和邊界框回歸器。在VOC07數據集上,Fast RCNN將mAP從58.5%( RCNN)提高到70.0%,檢測速度是R-CNN的200多倍。

雖然Fast-RCNN成功地融合了R-CNN和SPPNet的優點,但其檢測速度仍然受到提案/建議檢測的限制。然后,一個問題自然而然地出現了:“ 我們能用CNN模型生成對象建議嗎? ” 稍后,Faster R-CNN解決了這個問題。

(4)Faster RCNN

2015年,S. Ren等人提出了Faster RCNN檢測器,在Fast RCNN之后不久。Faster RCNN 是第一個端到端的,也是第一個接近實時的深度學習檢測器(COCO mAP@.5=42.7%,COCO mAP@[.5,.95]=21.9%, VOC07 mAP=73.2%,VOC12 mAP=70.4%,17fps with ZFNet)。Faster RCNN的主要貢獻是引入了區域建議網絡 (RPN),使幾乎cost-free的區域建議成為可能。從RCNN到Faster RCNN,一個目標檢測系統中的大部分獨立塊,如提案檢測、特征提取、邊界框回歸等,都已經逐漸集成到一個統一的端到端學習框架中。

雖然Faster RCNN突破了Fast RCNN的速度瓶頸,但是在后續的檢測階段仍然存在計算冗余。后來提出了多種改進方案,包括RFCN和 Light head RCNN。

(5)Feature Pyramid Networks(FPN)

2017年,T.-Y.Lin等人基於Faster RCNN提出了特征金字塔網絡(FPN)。在FPN之前,大多數基於深度學習的檢測器只在網絡的頂層進行檢測。雖然CNN較深層的特征有利於分類識別,但不利於對象的定位。為此,開發了具有橫向連接的自頂向下體系結構,用於在所有級別構建高級語義。由於CNN通過它的正向傳播,自然形成了一個特征金字塔,FPN在檢測各種尺度的目標方面顯示出了巨大的進步。在基礎的Faster RCNN系統中使用FPN,在MSCOCO數據集上實現了最先進的單模型檢測結果,沒有任何附加條件(COCO mAP@.5=59.1%,COCO mAP@[.5,.95]= 36.2%)。FPN現在已經成為許多最新探測器的基本組成部分。

03 CNN based One-stage Detectors


(1)You Only Look Once (YOLO)

YOLO由R. Joseph等人於2015年提出。它是深度學習時代[20]的第一個單級檢測器。YOLO非常快:YOLO的一個快速版本運行速度為155fps, VOC07 mAP=52.7%,而它的增強版本運行速度為45fps, VOC07 mAP=63.4%, VOC12 mAP=57.9%。YOLO是 “ You Only Look Once ” 的縮寫。從它的名字可以看出,作者完全拋棄了之前的 “ 提案檢測+驗證 ” 的檢測范式。相反,它遵循一個完全不同的哲學:將單個神經網絡應用於整個圖像。該網絡將圖像分割成多個區域,同時預測每個區域的邊界框和概率。后來R. Joseph在 YOLO 的基礎上進行了一系列改進,提出了其 v2 和 v3 版本,在保持很高檢測速度的同時進一步提高了檢測精度。

盡管與兩級探測器相比,它的探測速度有了很大的提高,但是YOLO的定位精度有所下降,特別是對於一些小目標。YOLO的后續版本和后者提出的SSD更關注這個問題。

(2)Single Shot MultiBox Detector (SSD)

SSD由W. Liu等人於2015年提出。這是深度學習時代的第二款單級探測器。SSD的主要貢獻是引入了多參考和多分辨率檢測技術,這大大提高了單級檢測器的檢測精度,特別是對於一些小目標。SSD在檢測速度和准確度上都有優勢(VOC07 mAP=76.8%,VOC12 mAP=74.9%, COCO mAP@.5=46.5%,mAP@[.5,.95]=26.8%,快速版本運行速度為59fps) 。SSD與以往任何檢測器的主要區別在於,前者在網絡的不同層檢測不同尺度的對象,而后者僅在其頂層運行檢測。

(3)RetinaNet

單級檢測器速度快、結構簡單,但多年來一直落后於兩級檢測器的精度。T.-Y.Lin等人發現了背后的原因,並在2017年提出了RetinaNet。他們聲稱,在密集探測器訓練過程中所遇到的極端的前景-背景階層不平衡(the extreme foreground-background class imbalance)是主要原因。為此,在RetinaNet中引入了一個新的損失函數 “ 焦損失(focal loss)”,通過對標准交叉熵損失的重構,使檢測器在訓練過程中更加關注難分類的樣本。焦損耗使得單級檢測器在保持很高的檢測速度的同時,可以達到與兩級檢測器相當的精度。(COCO mAP@.5=59.1%,mAP@[.5, .95]=39.1% )。

04 Object Detection Datasets


建立具有更少的偏置的更大的數據集,是開發先進的計算機視覺算法的關鍵。在目標檢測方面,在過去10年中,已經發布了許多著名的數據集和基准測試,包括PASCAL VOC挑戰的數據集(例如,VOC2007, VOC2012)、ImageNet大尺度視覺識別挑戰(例如,ILSVRC2014)、MS-COCO檢測挑戰等。下表1給出了這些數據集的統計數據。


下圖顯示了這些數據集的一些圖像示例:

(a)VOC,(b)ILSVRC,(c)COCO,(d)Open Images

下圖顯示了從2008年到2018年對VOC07、VOC12和MS-COCO數據集檢測精度的提高。

具體介紹如下:

(1)Pascal VOC

PASCAL可視化對象類(Visual Object Classes,VOC)挑戰(2005-2012)是早期計算機視覺界最重要的比賽之一。PASCAL VOC中包含多種任務,包括圖像分類、目標檢測、語義分割和動作檢測。兩種版本的Pascal-VOC主要用於對象檢測:VOC07和VOC12,前者由5k tr. images + 12k annotated objects組成,后者由11k tr. images + 27k annotated objects組成。這兩個數據集中注釋了生活中常見的20類對象(Person: person; Animal: bird, cat, cow, dog, horse, sheep; Vehicle: aeroplane, bicycle, boat, bus, car, motor-bike, train; Indoor: bottle, chair, dining table, potted plant, sofa, tv/monitor)。近年來,隨着ILSVRC、MS-COCO等大型數據集的發布,VOC逐漸淡出人們的視野,成為大多數新型檢測器的試驗台。

(2)ILSVRC

ImageNet大規模視覺識別挑戰(Large Scale Visual Recognition Challenge,ILSVRC)推動了通用目標檢測技術的發展。ILSVRC從2010年到2017年每年舉辦一次。它包含一個使用ImageNet圖像的檢測挑戰。ILSVRC檢測數據集包含200類視覺對象。它的圖像/對象實例的數量比VOC大兩個數量級。例如ILSVRC-14包含517k圖像和534k帶注釋的對象。

(3)MS-COCO

MS-COCO是目前最具挑戰性的目標檢測數據集。自2015年以來一直保持一年一度的基於MS-COCO數據集的比賽。它的對象類別比ILSVRC少,但是對象實例多。例如,MS-COCO-17包含來自80個類別的164k圖像和897k帶注釋的對象。與VOC和ILSVRC相比,MS-COCO最大的進步是除了邊框標注外,每個對象都進一步使用實例分割進行標記,以幫助精確定位。此外,MS-COCO包含更多的小對象 ( 其面積小於圖像的1% ) 和比VOC和ILSVRC更密集的定位對象。所有這些特性使得MSCOCO中的對象分布更接近真實世界。就像當時的ImageNet一樣,MS-COCO已經成為對象檢測社區的實際標准。

(4)Open Images

繼MS-COCO之后,開放圖像檢測(OID)技術在2018年迎來了前所未有的挑戰。在開放圖像中有兩個任務:1) 標准目標檢測,2) 視覺關系檢測,檢測特定關系中成對的目標。對於目標檢測任務,數據集由1,910k張圖像和15,440k個帶注釋的邊界框組成,這些邊界框位於600個對象類別上。

05 Datasets of Other Detection Tasks


在過去的20年里,除了一般的目標檢測外,在行人檢測、人臉檢測、文本檢測、交通標志/燈光檢測、遙感目標檢測等特定領域的檢測應用也十分繁榮。下面一系列表列出了這些檢測任務的一些流行數據集。有關這些任務的檢測方法的詳細介紹可在后期分享中找到。

pedestrian detection

face detection

text detection

traffic light and sign

remote sensing target detection

06 Object DetectionMetrics


我們如何評估目標探測器的有效性? 這個問題甚至可能在不同的時間有不同的答案。

在早期的檢測社區中,對於檢測性能的評價標准並沒有得到廣泛的認可。例如,在行人檢測的早期研究中,“每個窗口的漏報率與誤報率(FPPW)” 通常用作度量。然而,逐窗測量(FPPW)可能存在缺陷,在某些情況下無法預測的完整圖像特性。2009年,加州理工學院(Caltech)建立了行人檢測基准,從那時起,評估指標從每窗口(per-window,FPPW)改為每圖像的偽陽性(false positive per-image,FPPI)。

近年來,對目標檢測最常用的評估方法是 “ 平均精度(AP) ”,該方法最早是在VOC2007中引入的。AP定義為不同召回情況下的平均檢測精度,通常以類別特定的方式進行評估。為了比較所有對象類別的性能,通常使用所有對象類別的平均AP(mAP)作為性能的最終度量。為了測量目標定位精度,使用Union上的交集(Intersection over Union,IoU)來檢查預測框和地面真實框之間的IoU是否大於預定義的閾值,比如0.5。如果是,則將該對象標識為 “ 成功檢測到 ”,否則將標識為 “ 未檢測到 ”。因此,基於mAP的0.5 -IoU多年來已成為用於目標檢測問題的實際度量。

2014年以后,由於MS-COCO數據集的普及,研究人員開始更加關注邊界框位置的准確性。MS-COCO AP沒有使用固定的IoU閾值,而是在多個IoU閾值上取平均值,閾值介於0.5(粗定位)和0.95(完美定 )之間。這種度量的變化鼓勵了更精確的對象定位,並且對於一些實際應用可能非常重要 ( 例如,假設有一個機器人手臂試圖抓住扳手 )。

近年來,對開放圖像數據集的評價有了進一步的發展,如考慮了組框(group-of boxes)和非窮舉的圖像級類別層次結構。一些研究者也提出了一些替代指標,如 “ 定位回憶精度 ”。盡管最近發生了一些變化,基於VOC/COCO的mAP仍然是最常用的目標檢測評估指標。

第三章
Early Time’s Dark Knowledge

早期的目標檢測 ( 在00年以前 ) 沒有遵循滑動窗口檢測等統一的檢測理念。當時的檢測器通常基於如下低層和中層的視覺設計。

(1)Components, shapes and edges(組件、形狀和邊緣)

“ 分量識別(Recognition-by-components)” 作為一種重要的認知理論,長期以來一直是圖像識別和目標檢測的核心思想。一些早期的研究人員將目標檢測定義為測量對象組件、形狀和輪廓之間的相似性,包括距離變換、形狀上下文、小邊特征等。盡管最初的結果很有希望,但在更復雜的檢測問題上,事情進展得並不順利。因此,基於機器學習的檢測方法開始蓬勃發展。

基於機器學習的檢測經歷了包括外觀統計模型在內的多個階段 ( 1998年以前 ) 、小波特征表示 ( 1998-2005 ) 和基於梯度的表示 ( 2005-2012 )。

建立對象的統計模型,比如特征面(Eigenfaces)如下圖(a)所示,是目標檢測歷史上第一波基於學習的方法。1991年,M.Turk等人利用特征臉分解技術在實驗室環境中實現了實時人臉檢測。與當時基於規則或模板的方法相比,統計模型通過從數據中學習特定於任務的知識,更好地提供了對象外觀的整體描述。

自2000年以來,小波特征變換開始主導視覺識別和目標檢測。這組方法的本質是通過將圖像從像素點轉換為一組小波系數來學習。其中,Haar小波由於其計算效率高,被廣泛應用於一般目標檢測、人臉檢測,行人檢測等目標檢測任務中。下圖(d)為VJ檢測器學習到的一組用於人臉的Haar小波基。

(2)Early time’s CNN for object detection

使用CNN檢測物體的歷史可以追溯到20世紀90年代,當時Y. LeCun等人做出了巨大的貢獻。由於計算資源的限制,當時的CNN模型比現在的模型要小得多,也要淺得多。盡管如此,在早期基於CNN的檢測模型中,計算效率仍然被認為是難以破解的難題之一。Y. LeCun等人進行了一系列改進,如 “ 共享權值復制神經網絡(shared-weight replicated neural network) ”和“ 空間位移網絡(space displacement network)”通過擴展卷積網絡的每一層,覆蓋整個輸入圖像,減少計算量,如下圖(b)-(c)所示。

這樣,只需一次網絡的正向傳播,就可以提取出整個圖像任意位置的特征。這可以看作是當今全卷積網絡 ( FCN ) 的原型,FCN 幾乎是在20年后提出的。CNN也被應用於其他任務,如人臉檢測和手勢實時跟蹤(hand tracking of its time)。

Technical Evolution of Multi-Scale Detection

多尺度檢測(Multi-scale detection)對象的 “ 不同尺寸 ” 和 “ 不同縱橫比 ” 是目標檢測的主要技術難題之一。近20年來,多尺度檢測經歷了多個歷史時期:“ 特征金字塔和滑動窗口(2014年前) ”,“ 基於對象建議的檢測(2010-2015年) ”,“ 深度回歸(2013-2016) ”、“ 多參考檢測( multi-reference detection,2015年后 ) ”、“ 多分辨率檢測( multi-resolution detection,2016年后 ) ”,如下圖所示:

(1)Feature pyramids + sliding windows (before 2014)

隨着VJ檢測器后計算能力的提高,研究者們開始更加關注一種直觀的檢測方法,即構建 “ 特征金字塔+滑動窗口 ”。從2004年到2014年,基於這種檢測范式構建了許多里程碑式的檢測器,包括HOG檢測器、DPM,甚至深度學習時代的Overfeat檢測器( ILSVRC-13定位任務獲獎者 )。

早期的檢測模型,如VJ檢測器和HOG檢測器,都是專門針對具有 “ 固定長寬比 ” (如人臉和直立的行人)的對象,只需構建特征金字塔,並在其上滑動固定大小檢測窗口。當時沒有考慮檢測 “ 各種縱橫比 ”。為了檢測具有更復雜外觀(如 PASCAL VOC 中的外觀)的對象,R. Girshick等人開始在特征金字塔外尋找更好的解決方案。“ 混合模型 ”是當時最好的解決方案之一,它通過訓練多個模型來檢測不同縱橫比的物體。除此之外,基於范例的檢測通過為訓練集的每個對象實例 ( 范例 ) 訓練單獨的模型,提供了另一種解決方案。

隨着現代數據集中的對象(例如MS-COCO)變得更加多樣化,混合模型或基於范例的方法不可避免地會導致更加復雜的檢測模型。於是一個問題就自然而然地產生了:是否存在一種統一的多尺度方法來檢測不同長寬比的對象? “ 對象建議(object proposals) ” 的提出已經回答了這個問題。

(2)Detection with object proposals (2010-2015)

對象建議(object proposals)引用一組可能包含任何對象的與類無關的候選框。它於2010年首次應用於目標檢測。使用對象建議進行檢測有助於避免對圖像進行徹底的滑動窗口搜索。

目標/對象建議檢測算法應滿足以下三個要求:

1) 高召回率,

2) 高定位准確率,

3) 在前兩個要求的基礎上,提高精度,減少處理時間。

現代的建議檢測方法可以分為三類:1) 分割分組方法,2) 窗口評分方法,3) 基於神經網絡的方法。我們建議讀者閱讀以下論文,以全面回顧這些方法。

早期的建議檢測方法遵循自底向上的檢測理念,深受視覺顯著性檢測的影響。后來,研究人員開始轉向低水平的視覺 ( 如邊緣檢測 ) 和更精細的手工技能,以改進候選框的定位。2014年以后,隨着深度CNN在視覺識別領域的普及,基於自上而下學習的方法在這個問題上開始顯示出更多的優勢。從那時起,對象建議檢測就從自下而上的視覺演化為 “ 對一組特定對象類的過度擬合 ”,檢測器與建議生成器之間的區別也變得模糊。

隨着 “ object proposal ” 對滑動窗口檢測的革命性變革,並迅速主導基於深度學習的檢測器,2014-2015年,許多研究者開始提出以下問題:object proposal 在檢測中的主要作用是什么? 是為了提高准確度,還是僅僅為了加快檢測速度? 為了回答這個問題,一些研究人員試圖削弱 proposal 的作用或單純對CNN特征進行滑動窗口檢測,均未得到滿意的結果。在單級檢測器和 “ 深度回歸 ” 技術興起之后,建議檢測很快就淡出了人們的視線。

(3)Deep regression (2013-2016)

近年來,隨着GPU計算能力的提高,人們處理多尺度檢測的方式變得越來越直接和暴力。使用深度回歸來解決多尺度問題的思想非常簡單,即,基於深度學習特征直接預測邊界框的坐標。這種方法的優點是簡單易行,缺點是定位不夠准確,特別是對於一些小對象。“ 多參考檢測 ” 解決了這一問題。

(4)Multi-reference/-resolution detection (after 2015)

多參考檢測是目前最流行的多尺度目標檢測框架。它的主要思想是在圖像的不同位置預先定義一組不同大小和寬高比的參考框(即錨框),然后根據這些參考框預測檢測框。每個預定義錨框的典型損失包括兩部分:1) 類別識別的交叉熵損失;2) 目標定位的L1/L2回歸損失。損失函數的一般形式可以寫成如下形式:

其中t和t*是predicted和ground-truth的邊界框的位置,p和p*是它們的類別概率。IOU{a,a*}是錨框a和它ground-truth a*之間的IOU。η是一個IOU閾值,比如0.5。如果錨框沒有覆蓋任何對象,其定位損失不計入最終損失。

近兩年來另一種流行的技術是多分辨率檢測,即在網絡的不同層檢測不同尺度的目標。由於CNN在正向傳播過程中自然形成了一個特征金字塔,更容易在較深的層中檢測到較大的物體,在較淺的層中檢測到較小的物體。多參考和多分辨率檢測已成為當前最先進的目標檢測系統的兩個基本組成部分。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM