當前位置:
首頁 > 新聞 > 2019 目標檢測指南

2019 目標檢測指南

目標檢測是一種為了檢測汽車、建築物和人類等目標對象的計算機視覺技術,這些對象通常可以通過圖片或視頻來識別。

目標檢測在視頻監控、自動駕駛汽車、目標/人跟蹤等領域得到了廣泛的應用。在本文中,我們將了解目標檢測的基礎知識,並回顧一些最常用的演算法和一些全新的方法。

目標檢測的工作原理

目標檢測會定點陣圖像中的對象,並在該對象周圍繪製一個包圍框。這過程通常分為兩步:目標分類並確定類型,然後在該對象周圍繪製一個框。我們之前已經討論過圖像分類,現在讓我們來回顧一些用於目標檢測的常見模型架構:

R-CNN

Fast R-CNN

Faster R-CNN

Mask R-CNN

SSD(單點多框檢測器)

YOLO (You Only Look Once)

將目標視作一個點

用於目標檢測的數據增強策略

R-CNN 模型

該技術結合了兩種主要方法:將大容量卷積神經網路應用於自底向上的區域方案中,對目標進行定位和分割;有監督的預訓練。

特徵層次結構豐富,可以精確的進行目標檢測和語義分割(https://arxiv.org/abs/1311.2524)

這是通過 domain-specific fine-tuning 來獲得高性能提升。由於將區域(Regional)劃分的建議與卷積神經網路相結合,這篇論文的作者將該演算法命名為 R-CNN (具有 CNN 特徵的區域)。

該模型先基於圖片提取出大約2000個自底向上的候選區域。然後使用一個大型CNN模型計算每個候選區域的特徵向量。最後利用線性支持向量機 (SVMs)對每個區域進行分類。該模型在PASCAL VOC 2010上的平均精度達到53.7%。

該模型的目標檢測系統實現由三個模塊組成。第一個模塊負責生成分類獨立的候選區域,這些區域是檢測可用的候選數據集。第二個模塊是一個大型卷積神經網路CNN模型,負責從每個區域提取固定長度的特徵向量。第三個模塊是多類別SVM分類器 。

該模型使用selective search方法來生成候選區域集。根據顏色、紋理、形狀和大小選擇搜索相似的區域。在特徵提取方面,該模型採用4096維特徵向量,並將Caffe CNN實現應用於每個區域提案。將227×227 RGB圖像通過5個卷積層和2個完全連通層進行正向傳播,計算特徵。本文所詮釋的模型與之前PASCAL VOC 2012的結果相比,取得了30%相關的效果改進。

R-CNN的一些缺點:

訓練是一個多階段的流程。對卷積神經網路進行目標建議優化,將svm與ConvNet特徵進行擬合,最後學習邊界框回歸器。

模型訓練在空間佔用和時間消耗上代價都很高昂,因為VGG16這樣的深度網路佔用了大量的空間。

對象檢測比較慢,因為它對每個對象建議執行一個ConvNet轉發。

Fast R-CNN

下文提出了一種基於區域卷積網路的快速目標檢測方法(Fast R-CNN)。

快速R-CNN(https://arxiv.org/abs/1504.08083)

它是用Caffe通過Python和c 實現的。該模型在PASCAL VOC 2012上的平均精度為66%,而R-CNN的平均精度為62%。

與R-CNN相比,Fast R-CNN具有:更高的平均精度值,單階段訓練特性,可更新所有網路層訓練的特性,並且它也不需要磁碟存儲來進行特徵緩存。

在其架構中,一個 Fast R-CNN接收的圖像既作為輸入也作為一組目標建議集。模型對圖像進行卷積和最大池化處理,生成卷積特徵圖,通過針對每個區域建議的興趣池層區域從每個特徵圖中提取出固定層的特徵向量。

接下來,將特徵向量提供給完全連接的層,這些將分支成兩個輸出層,其中一個為多個對象類生成softmax概率估計,而另一個為每個對象類生成四個實值數字,而這4個數字就代表了每個對象包圍框的位置。

Faster R-CNN

更快的 R-CNN:利用區域建議網路實現實時目標檢測(https://arxiv.org/abs/1506.01497)

本文提出了一種訓練機制,該機制可交替進行區域建議任務的微調和目標檢測的微調。

Faster R-CNN模型由兩個模塊組成:負責區域候選框生成的的深度卷積網路和使用產生的候選框的R-CNN檢測器。區域建議網路以圖像為輸入,產生一系列矩形目標候選框。每個矩形目標框都有屬於某個類別的分數。

Mask R-CNN

Mask R-CNN(https://arxiv.org/abs/1703.06870)

本文提出的模型是上述Faster R-CNN體系結構的擴展,它還可以對人體姿勢進行估計。

在這個模型中,目標通過標註的目標框和一個標註相同類別的像素集合的語義分割標籤來對目標進行分類和定位。這個模型在Faster R-CNN的基礎上對每個感興趣區域添加了對分割掩膜的預測。Mask R-CNN產生兩個輸出:一個分類標籤和一個目標框。

??SSD: 單點多框檢測器

這篇論文提出了使用單個深度神經網路來對圖像中的目標進行檢測的模型。該網路使用了應用於特徵映射的小卷積核為每個目標出現的區域進行打分。(論文地址:https://arxiv.org/abs/1512.02325)

這種方法使用一個前饋式卷積神經網路,產生了一個邊界框的集合以及對每個邊界框所屬類別進行打分。增加了卷積特徵層以允許網路能在多個尺度上進行特徵檢測。在這個網路模型中,每個特徵圖都和一組目標候選框相關聯。下面的圖像展示了SSD512的模型在動物,交通工具和傢具數據上進行目標檢測的表現。

YOLO (You Only Look Once)

You only look once,顧名思義,你只看一遍。這篇文章提出了一種使用單個神經網路一次運行即可預測物體邊框與類別概率的方法,是單階段目標檢測模型的代表之一(與Faster R-CNN為代表的兩階段目標檢測方法的區別)。

You Only Look Once: Unified, Real-Time ObjectDetection(https://arxiv.org/abs/1506.02640)

YOLO 模型可以跑到每秒鐘45幀的實時速度。YOLO 把圖像目標檢測視作回歸問題,這使得它處理圖像的流水線相當簡單,這也是它速度很快的主要原因。

YOLO 可以在不超過25秒延遲下實時處理視頻流。在訓練過程中,YOLO看到的是整張圖像,因此在目標檢測時可以考慮上下文信息。

在YOLO中,每個物體邊框是使用整個圖像的特徵預測出來的。每一個邊框的預測值有5個:x、y、w、h和置信度(confidence)。(x, y)代表邊框中心相對於每個網格的位置偏移,w和h代表物體相對於整張圖片的相對寬度和高度。

YOLO模型是使用卷積神經網路實現並在PASCAL VOC目標檢測數據集上進行訓練的。網路的卷積層用來提取特徵,之後的全連接層用於預測邊框坐標和物體屬於各個類別的概率。

YOLO網路的架構設計受到了用於圖像分類的GoogLeNet(https://ai.google/research/pubs/pub43022)的啟發。網路又24個卷積層和兩個全連接層。YOLO模型的主要問題是它對每個網格僅能夠預測一個類別的物體,而且對較小的目標(比如鳥)的檢測效果較差。

譯者注 1:很多朋友對YOLO「劃分網格」的操作不是很理解。請看上圖最右的一個方塊,這就是YOLO模型輸出的原始結果——一個shape為7×7×30的特徵圖。7×7是原始的416×416尺寸的圖像通過經過一系列的卷積、下採樣和padding後得到的尺寸。換句話說,這7×7個網格各自對應著原圖中的某一個區域。卷積層的通道數為30意味著每一個網格被預測出了30個數值,這三十個數值分別是這個網格內預測的兩個候選框的(x, y, w, h, confidence)以及網格內物體可能屬於的20個類(PASCAL VOC數據集包含20個類別的物體)。讀者可能會疑惑:為什麼預測了兩個候選框卻只預測了一次類別概率呢?這也就是我們上文提到的YOLO的缺點了:它對每個網格,確實只能預測一個類別的物體。

YOLO在PASCAL VOC數據集上達到了63.4%的mAP,並且作者在原文中還提出了更小的版本——Fast YOLO。Fast YOLO在當時PASCAL數據集上最快的通用目標檢測器,而且達到了52.7%的mAP指標。

譯者注 2:截至2019年7月,YOLO的作者還提出了兩個後續升級版本:YOLO9000(又稱YOLOv2)和YOLOv3。YOLO9000將網路主幹改為更快速的全卷積網路DarkNet-19,並引入了Faster R-CNN的anchor機制使得檢測效果更佳。YOLOv3改進了損失函數計算方式、引入了特徵金字塔並提出了高效的主幹網路DarkNet-53。目前YOLOv3已成為目標檢測最常用的演算法之一。

論文地址:YOLO9000: Better, Faster, Stronger(https://arxiv.org/abs/1612.08242)

YOLOv3: An Incremental Improvement(https://pjreddie.com/media/files/papers/YOLOv3.pdf)

??CenterNet:將目標視作點

譯者注 3:有另一篇目標檢測論文與該論文幾乎同時發布:CenterNet: Keypoint Triplets for Object Detection,其簡稱也是CenterNet。但本文提到的CenterNet都是指Objects as Points這篇工作。

那麼這些屬性究竟是如何回歸得到的呢?在CenterNet模型中,原始圖像被輸入網路並得到一個熱圖(置信圖),這個熱圖表示了可能存在物體中心的位置(熱值的峰極有可能是出現物體中心點的位置)。除了這個熱圖以外,CenterNet模型的輸出還有一些其他的通道,從各個通道取出置信圖的峰值處的值,即可得到網路對這個物體各種屬性值的預測。

CenterNet在COCO將目標檢測數據集上達到了45.1%的AP和1.4 fps的速度。下表為CenterNet與其他目標檢測器的效果對比。

用於目標檢測的數據增強策略

數據增強,即通過操作原始圖像(如旋轉、縮放等)來獲得新的圖像數據的過程。通過數據增強,往往可以達到更好的訓練效果。

在該論文的模型中,訓練時的增強策略包含N種操作。作者在模型中使用的增強方法包括改變顏色通道值、幾何變換或僅改變標註的物體邊框中的像素。

通過在COCO數據集上的實驗,作者發現使用優化的數據增強策略可以在mAP指標(mean average precision)上得到2.3%的提升,使得單模型可以達到50.7%的mAP。

??結論

通過閱讀本文,你應該已經對最近最常見的一般場景目標檢測方法有所了解了。

本文提到的一些論文中也包括他們的代碼實現。各位不妨自己測試一下看看效果如何。

直播預告 | AI 研習社邀您觀看全網獨家直播 IJCAI 2019

今年,IJCAI(國際人工智慧聯合會議,International Joint Conferences on Artificial Intelligence)已於 8 月 10 日至 16 日在中國澳門隆重召開。作為人工智慧領域最頂級的國際學術會議之一,IJCAI 的舉辦自然備受矚目,預計將有超過 3000 名 AI 研究人員和專家來到中國澳門,共同探討人工智慧的現狀和未來。

今年,雷鋒網作為 IJCAI 官方合作媒體,AI 研習社將全網獨家直播 IJCAI 2019,同時,將會有更多來自第一現場的報道,敬請期待!

雷鋒網雷鋒網雷鋒網

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

探訪通用汽車:跨國車企如何聚焦自動駕駛與車聯網本土化?

TAG:雷鋒網 |