閱讀895 返回首頁    go 阿裏雲 go 技術社區[雲棲]


科普丨Deep Learning回顧:之基於深度學習的目標檢測

作者:猿輔導研究團隊


引言

普通的深度學習監督算法主要是用來做分類,如圖1(1)所示,分類的目標是要識別出圖中所示是一隻貓。而在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)競賽以及實際的應用中,還包括目標定位和目標檢測等任務。其中目標定位是不僅僅要識別出來是什麼物體(即分類),而且還要預測物體的位置,位置一般用邊框(bounding box)標記,如圖1(2)所示。而目標檢測實質是多目標的定位,即要在圖片中定位多個目標物體,包括分類和定位。比如對圖1(3)進行目標檢測,得到的結果是好幾隻不同動物,他們的位置如圖3中不同顏色的框所示。

 e680aa2fcd64d32e800247813d51a1e9756021b8  07e917f651fbb6a2279d1ec7eb407753877b34e2  ecbd8975dea10d3b16776328dd93de15c4d477ef

(1)目標分類

(2)目標定位

(3)目標檢測

圖1 目標分類、定位、檢測示例

簡單來說,分類、定位和檢測的區別如下:

  1. 分類:是什麼?

  2. 定位:在哪裏?是什麼?(單個目標)

  3. 檢測:在哪裏?分別是什麼?(多個目標)

目標檢測對於人類來說並不困難,通過對圖片中不同顏色模塊的感知很容易定位並分類出其中目標物體,但對於計算機來說,麵對的是RGB像素矩陣,很難從圖像中直接得到狗和貓這樣的抽象概念並定位其位置,再加上有時候多個物體和雜亂的背景混雜在一起,目標檢測更加困難。但這難不倒科學家們,在傳統視覺領域,目標檢測就是一個非常熱門的研究方向,一些特定目標的檢測,比如人臉檢測和行人檢測已經有非常成熟的技術了。普通的目標檢測也有過很多的嚐試,但是效果總是差強人意。

傳統的目標檢測一般使用滑動窗口的框架,主要包括三個步驟:

  1. 利用不同尺寸的滑動窗口框住圖中的某一部分作為候選區域;

  2. 提取候選區域相關的視覺特征。比如人臉檢測常用的Harr特征;行人檢測和普通目標檢測常用的HOG特征等;

  3. 利用分類器進行識別,比如常用的SVM模型。

傳統的目標檢測中,多尺度形變部件模型DPM(Deformable Part Model)[13]是出類拔萃的,連續獲得VOC(Visual Object Class)2007到2009的檢測冠軍,2010年其作者Felzenszwalb Pedro被VOC授予”終身成就獎”。DPM把物體看成了多個組成的部件(比如人臉的鼻子、嘴巴等),用部件間的關係來描述物體,這個特性非常符合自然界很多物體的非剛體特征。DPM可以看做是HOG+SVM的擴展,很好的繼承了兩者的優點,在人臉檢測、行人檢測等任務上取得了不錯的效果,但是DPM相對複雜,檢測速度也較慢,從而也出現了很多改進的方法。正當大家熱火朝天改進DPM性能的時候,基於深度學習的目標檢測橫空出世,迅速蓋過了DPM的風頭,很多之前研究傳統目標檢測算法的研究者也開始轉向深度學習。

基於深度學習的目標檢測發展起來後,其實效果也一直難以突破。比如文獻[6]中的算法在VOC 2007測試集合上的mAP隻能30%多一點,文獻[7]中的OverFeat在ILSVRC 2013測試集上的mAP隻能達到24.3%。2013年R-CNN誕生了,VOC 2007測試集的mAP被提升至48%,2014年時通過修改網絡結構又飆升到了66%,同時ILSVRC 2013測試集的mAP也被提升至31.4%。

R-CNN是Region-based Convolutional Neural Networks的縮寫,中文翻譯是基於區域的卷積神經網絡,是一種結合區域提名(Region Proposal)和卷積神經網絡(CNN)的目標檢測方法。Ross Girshick在2013年的開山之作《Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation》[1]奠定了這個子領域的基礎,這篇論文後續版本發表在CVPR 2014[2],期刊版本發表在PAMI 2015[3]

其實在R-CNN之前已經有很多研究者嚐試用Deep Learning的方法來做目標檢測了,包括OverFeat[7],但R-CNN是第一個真正可以工業級應用的解決方案,這也和深度學習本身的發展類似,神經網絡、卷積網絡都不是什麼新概念,但在本世紀突然真正變得可行,而一旦可行之後再迅勐發展也不足為奇了。

R-CNN這個領域目前研究非常活躍,先後出現了R-CNN[1,2,3,18]、SPP-net[4,19]、Fast R-CNN[14, 20] 、Faster R-CNN[5,21]、R-FCN[16,24]、YOLO[15,22]、SSD[17,23]等研究。Ross Girshick作為這個領域的開山鼻祖總是神一樣的存在,R-CNN、Fast R-CNN、Faster R-CNN、YOLO都和他有關。這些創新的工作其實很多時候是把一些傳統視覺領域的方法和深度學習結合起來了,比如選擇性搜索(Selective Search)和圖像金字塔(Pyramid)等。

深度學習相關的目標檢測方法也可以大致分為兩派:

  1. 基於區域提名的,如R-CNN、SPP-net、Fast R-CNN、Faster R-CNN、R-FCN;

  2. 端到端(End-to-End),無需區域提名的,如YOLO、SSD。

目前來說,基於區域提名的方法依然占據上風,但端到端的方法速度上優勢明顯,後續的發展拭目以待。

1.1 相關研究

本文作為目標檢測的一篇回顧,先來看看目標檢測中廣泛使用的區域提名——選擇性搜索,以及用深度學習做目標檢測的早期工作——Overfeat 。

1.1.1 選擇性搜索

目標檢測的第一步是要做區域提名(Region Proposal),也就是找出可能的感興趣區域(Region Of Interest, ROI)。區域提名類似於光學字符識別(OCR)領域的切分,OCR切分常用過切分方法,簡單說就是盡量切碎到小的連通域(比如小的筆畫之類),然後再根據相鄰塊的一些形態學特征進行合並。但目標檢測的對象相比OCR領域千差萬別,而且圖形不規則,大小不一,所以一定程度上可以說區域提名是比OCR切分更難的一個問題。

區域提名可能的方法有:

一、滑動窗口。滑動窗口本質上就是窮舉法,利用不同的尺度和長寬比把所有可能的大大小小的塊都窮舉出來,然後送去識別,識別出來概率大的就留下來。很明顯,這樣的方法複雜度太高,產生了很多的冗餘候選區域,在現實當中不可行。

二、規則塊。在窮舉法的基礎上進行了一些剪枝,隻選用固定的大小和長寬比。這在一些特定的應用場景是很有效的,比如拍照搜題APP小猿搜題中的漢字檢測,因為漢字方方正正,長寬比大多比較一致,因此用規則塊做區域提名是一種比較合適的選擇。但是對於普通的目標檢測來說,規則塊依然需要訪問很多的位置,複雜度高。

三、選擇性搜索。從機器學習的角度來說,前麵的方法召回是不錯了,但是精度差強人意,所以問題的核心在於如何有效地去除冗餘候選區域。其實冗餘候選區域大多是發生了重疊,選擇性搜索利用這一點,自底向上合並相鄰的重疊區域,從而減少冗餘。

區域提名並不隻有以上所說的三種方法,實際上這塊是非常靈活的,因此變種也很多,有興趣的讀者不妨參考一下文獻[12]。

選擇性搜索的具體算法細節[8]如算法1所示。總體上選擇性搜索是自底向上不斷合並候選區域的迭代過程。

輸入一張圖片


輸出:候選的目標位置集合L

算法:

1: 利用過切分方法得到候選的區域集合= {r1,r2,…,rn}

2: 初始化相似集合S = ϕ

3: foreach 鄰居區域對(ri,rj) do

4:     計算相似度s(ri,rj)

5:     S = S   s(ri,rj)

6: while S not=ϕ do

7:     得到最大的相似度s(ri,rj)=max(S)

8:     合並對應的區域rt = r rj

9:     移除ri對應的所有相似度:S = S\s(ri,r*)

10:    移除rj對應的所有相似度:S = S\s(r*,rj)

11:    計算rt對應的相似度集合St

12:    S = S  St

13:    R = R  rt

14: L = R中所有區域對應的邊框

算法1 選擇性搜索算法

從算法不難看出,R中的區域都是合並後的,因此減少了不少冗餘,相當於準確率提升了,但是別忘了我們還需要繼續保證召回率,因此算法1中的相似度計算策略就顯得非常關鍵了。如果簡單采用一種策略很容易錯誤合並不相似的區域,比如隻考慮輪廓時,不同顏色的區域很容易被誤合並。選擇性搜索采用多樣性策略來增加候選區域以保證召回,比如顏色空間考慮RGB、灰度、HSV及其變種等,相似度計算時既考慮顏色相似度,又考慮紋理、大小、重疊情況等。

總體上,選擇性搜索是一種比較樸素的區域提名方法,被早期的基於深度學習的目標檢測方法(包括Overfeat和R-CNN等)廣泛利用,但被當前的新方法棄用了。

1.1.2 OverFeat

OverFeat[7][9]是用CNN統一來做分類、定位和檢測的經典之作,作者是深度學習大神之一————Yann Lecun在紐約大學的團隊。OverFeat也是ILSVRC 2013任務3(分類+定位)的冠軍得主[10]

OverFeat的核心思想有三點:

  1. 區域提名:結合滑動窗口和規則塊,即多尺度(multi-scale)的滑動窗口;

  2. 分類和定位:統一用CNN來做分類和預測邊框位置,模型與AlexNet[12]類似,其中1-5層為特征抽取層,即將圖片轉換為固定維度的特征向量,6-9層為分類層(分類任務專用),不同的任務(分類、定位、檢測)公用特征抽取層(1-5層),隻替換6-9層;

  3. 累積:因為用了滑動窗口,同一個目標對象會有多個位置,也就是多個視角;因為用了多尺度,同一個目標對象又會有多個大小不一的塊。這些不同位置和不同大小塊上的分類置信度會進行累加,從而使得判定更為準確。

OverFeat的關鍵步驟有四步:

  1. 利用滑動窗口進行不同尺度的區域提名,然後使用CNN模型對每個區域進行分類,得到類別和置信度。從圖2中可以看出,不同縮放比例時,檢測出來的目標對象數量和種類存在較大差異;

d0efcd72a02f8044cdbd19cad71d9c451384d324

圖2 Overfeat關鍵步驟一

  1. 利用多尺度滑動窗口來增加檢測數量,提升分類效果,如圖3所示;

d46af1ac5d3455c50d94a761cb7692f1819a1573
圖3 Overfeat關鍵步驟二
  1. 用回歸模型預測每個對象的位置,從圖4中來看,放大比例較大的圖片,邊框數量也較多;

344cdbc407ce9a1b4496e89ff579f659b34b7f3c
圖4 Overfeat關鍵步驟三
  1. 邊框合並。

158ae2ccabb569ec3a6276356316f83770e2e0b1
圖5 Overfeat關鍵步驟四

Overfeat是CNN用來做目標檢測的早期工作,主要思想是采用了多尺度滑動窗口來做分類、定位和檢測,雖然是多個任務但重用了模型前麵幾層,這種模型重用的思路也是後來R-CNN係列不斷沿用和改進的經典做法。

當然Overfeat也是有不少缺點的,至少速度和效果都有很大改進空間,後麵的R-CNN係列在這兩方麵做了很多提升。

1.2 基於區域提名的方法

本小節主要介紹基於區域提名的方法,包括R-CNN、SPP-net、Fast R-CNN、Faster R-CNN、R-FCN。

1.2.1  R-CNN

如前麵所述,早期的目標檢測,大都使用滑動窗口的方式進行窗口提名,這種方式本質是窮舉法,R-CNN[1,2,3]采用的是Selective Search。

以下是R-CNN的主要步驟:

  1. 區域提名:通過Selective Search從原始圖片提取2000個左右區域候選框;

  2. 區域大小歸一化:把所有侯選框縮放成固定大小(原文采用227×227);

  3. 特征提取:通過CNN網絡,提取特征;

  4. 分類與回歸:在特征層的基礎上添加兩個全連接層,再用SVM分類來做識別,用線性回歸來微調邊框位置與大小,其中每個類別單獨訓練一個邊框回歸器。

其中目標檢測係統的結構如圖6所示,注意,圖中的第2步對應步驟中的1、2步,即包括區域提名和區域大小歸一化。

240cb2cff361a657a6c498191729f88890d88925

圖6 R-CNN框架

Overfeat可以看做是R-CNN的一個特殊情況,隻需要把Selective Search換成多尺度的滑動窗口,每個類別的邊框回歸器換成統一的邊框回歸器,SVM換為多層網絡即可。但是Overfeat實際比R-CNN快9倍,這主要得益於卷積相關的共享計算。

事實上,R-CNN有很多缺點:

  1. 重複計算:R-CNN雖然不再是窮舉,但依然有兩千個左右的候選框,這些候選框都需要進行CNN操作,計算量依然很大,其中有不少其實是重複計算;

  2. SVM模型:而且還是線性模型,在標注數據不缺的時候顯然不是最好的選擇;

  3. 訓練測試分為多步:區域提名、特征提取、分類、回歸都是斷開的訓練的過程,中間數據還需要單獨保存;

  4. 訓練的空間和時間代價很高:卷積出來的特征需要先存在硬盤上,這些特征需要幾百G的存儲空間;

  5. 慢:前麵的缺點最終導致R-CNN出奇的慢,GPU上處理一張圖片需要13秒,CPU上則需要53秒[2]

當然,R-CNN這次是衝著效果來的,其中ILSVRC 2013數據集上的mAP由Overfeat的24.3%提升到了31.4%,第一次有了質的改變。

1.2.2  SPP-net

SPP-net[4,19]是MSRA何愷明等人提出的,其主要思想是去掉了原始圖像上的crop/warp等操作,換成了在卷積特征上的空間金字塔池化層(Spatial Pyramid Pooling,SPP),如圖7所示。為何要引入SPP層 ,主要原因是CNN的全連接層要求輸入圖片是大小一致的,而實際中的輸入圖片往往大小不一,如果直接縮放到同一尺寸,很可能有的物體會充滿整個圖片,而有的物體可能隻能占到圖片的一角。傳統的解決方案是進行不同位置的裁剪,但是這些裁剪技術都可能會導致一些問題出現,比如圖7中的crop會導致物體不全,warp導致物體被拉伸後形變嚴重,SPP就是為了解決這種問題的。SPP對整圖提取固定維度的特征,再把圖片均分成4份,每份提取相同維度的特征,再把圖片均分為16份,以此類推。可以看出,無論圖片大小如何,提取出來的維度數據都是一致的,這樣就可以統一送至全連接層了。SPP思想在後來的R-CNN模型中也被廣泛用到。

4aeb8dde82700359b8896cea1d4e34a2c90ed7aa

圖7 傳統crop/warp結構和空間金字塔池化網絡的對比

SPP-net的網絡結構如圖8所示,實質是最後一層卷積層後加了一個SPP層,將維度不一的卷積特征轉換為維度一致的全連接輸入。

55156a263ac29124ec9e1fbf558dae2b262a3a2b

圖8 SPP-net網絡結構

SPP-net做目標檢測的主要步驟為:

  1. 區域提名:用Selective Search從原圖中生成2000個左右的候選窗口;

  2. 區域大小縮放:SPP-net不再做區域大小歸一化,而是縮放到min(wh)=s,即統一長寬的最短邊長度,s選自{480,576,688,864,1200}中的一個,選擇的標準是使得縮放後的候選框大小與224×224最接近;

  3. 特征提取:利用SPP-net網絡結構提取特征;

  4. 分類與回歸:類似R-CNN,利用SVM基於上麵的特征訓練分類器模型,用邊框回歸來微調候選框的位置。

SPP-net解決了R-CNN區域提名時crop/warp帶來的偏差問題,提出了SPP層,使得輸入的候選框可大可小,但其他方麵依然和R-CNN一樣,因而依然存在不少問題,這就有了後麵的Fast R-CNN。

1.2.3  Fast R-CNN

Fast R-CNN是要解決R-CNN和SPP-net兩千個左右候選框帶來的重複計算問題,其主要思想為:

  1. 使用一個簡化的SPP層 —— RoI(Region of Interesting) Pooling層,操作與SPP類似;

  2. 訓練和測試是不再分多步:不再需要額外的硬盤來存儲中間層的特征,梯度能夠通過RoI Pooling層直接傳播;此外,分類和回歸用Multi-task的方式一起進行;

  3. SVD:使用SVD分解全連接層的參數矩陣,壓縮為兩個規模小很多的全連接層。

如圖9所示,Fast R-CNN的主要步驟如下:

  1. 特征提取:以整張圖片為輸入利用CNN得到圖片的特征層;

  2. 區域提名:通過Selective Search等方法從原始圖片提取區域候選框,並把這些候選框一一投影到最後的特征層;

  3. 區域歸一化:針對特征層上的每個區域候選框進行RoI Pooling操作,得到固定大小的特征表示;

  4. 分類與回歸:然後再通過兩個全連接層,分別用softmax多分類做目標識別,用回歸模型進行邊框位置與大小微調。

e4eb5e38827b2aa4fb5f412604064573d67a4c72

圖9 Fast R-CNN框架

Fast R-CNN比R-CNN的訓練速度(大模型L)快8.8倍,測試時間快213倍,比SPP-net訓練速度快2.6倍,測試速度快10倍左右。

83fe090e0c6e669b63294672958bf5c708d5cd15

圖10 Fast R-CNN, R-CNN, SPP-net的運行時間比較

1.2.4 Faster R-CNN

Fast R-CNN使用Selective Search來進行區域提名,速度依然不夠快。Faster R-CNN則直接利用RPN(Region Proposal Networks)網絡來計算候選框。RPN以一張任意大小的圖片為輸入,輸出一批矩形區域提名,每個區域對應一個目標分數和位置信息。Faster R-CNN中的RPN結構如圖11所示。

3f0806eeeb995fb5795c0bbd7ce823eddaea8be0

圖11 Region Proposal Network(RPN)

Faster R-CNN的主要步驟如下:

  1. 特征提取:同Fast R-CNN,以整張圖片為輸入,利用CNN得到圖片的特征層;

  2. 區域提名:在最終的卷積特征層上利用k個不同的矩形框(Anchor Box)進行提名,k一般取9;

  3. 分類與回歸:對每個Anchor Box對應的區域進行object/non-object二分類,並用k個回歸模型(各自對應不同的Anchor Box)微調候選框位置與大小,最後進行目標分類。

總之,Faster R-CNN拋棄了Selective Search,引入了RPN網絡,使得區域提名、分類、回歸一起共用卷積特征,從而得到了進一步的加速。但是,Faster R-CNN需要對兩萬個Anchor Box先判斷是否是目標(目標判定),然後再進行目標識別,分成了兩步。

1.2.5 R-FCN

前麵的目標檢測方法都可以細分為兩個子網絡:

  1. 共享的全卷積網絡;

  2. 不共享計算的ROI相關的子網絡(比如全連接網絡)。

R-FCN則將最後的全連接層之類換為了一個位置敏感的的卷積網絡,從而讓所有計算都可以共享。具體來說,先把每個提名區域劃分為k×k個網格,比如R-FCN原文中k的取值為3,則對應的九個網格分別表示:左上top-left,上中top-center,……,右下bottom-right,對應圖12中的九宮格及圖13中的不同顏色的塊,每個Grid都有對應的編碼,但預測時候會有C+1個輸出,C表示類別數目,+1是因為有背景類別,全部的輸出通道數量為k2×(C+1)。

cbda278928bd6c8cf18d845da7da109b0a543953

圖12 R-FCN的person分類可視化過程

1f7c37373c1284bd3eaedfd128fdf833422a7000

圖13 R-FCN

需要注意的是,圖12、13中不同位置都存在一個九宮格,但是Pooling時候隻有一個起作用,比如bottom-right層隻有右下角的小塊起作用。那麼問題來了,這一層其他的8個框有什麼作用呢?答案是它們可以作為其他ROI(偏左或偏上一些的ROI)的右下角。

R-FCN的步驟為:

  1. 區域提名:使用RPN(Region Proposal Network,區域提名網絡),RPN本身是全卷積網絡結構;

  2. 分類與回歸:利用和RPN共享的特征進行分類。當做bbox回歸時,則將C設置為4。

1.3 端到端的方法

本小節介紹端到端(End-to-End)的目標檢測方法,這些方法無需區域提名,包括YOLO和SSD。

1.3.1 YOLO

YOLO的全拚是You Only Look Once,顧名思義就是隻看一次,進一步把目標判定和目標識別合二為一,所以識別性能有了很大提升,達到每秒45幀,而在快速版YOLO(Fast YOLO,卷積層更少)中,可以達到每秒155幀。

網絡的整體結構如圖14所示,針對一張圖片,YOLO的處理步驟為:

  1. 把輸入圖片縮放到448×448大小;

  2. 運行卷積網絡;

  3. 對模型置信度卡閾值,得到目標位置與類別。

a3249dc66ba713f107faef837f137d58d608400c

圖14 YOLO檢測係統

網絡的模型如圖15所示,將448×448大小的圖切成S×S的網格,目標中心點所在的格子負責該目標的相關檢測,每個網格預測B個邊框及其置信度,以及C種類別的概率。YOLO中S=7,B=2,C取決於數據集中物體類別數量,比如VOC數據集就是C=20。對VOC數據集來說,YOLO就是把圖片統一縮放到448×448,然後每張圖平均劃分為7×7=49個小格子,每個格子預測2個矩形框及其置信度,以及20種類別的概率。

ecf6d5d000039b3a1c0615a5d671c53ccb00f4c0

圖15 YOLO模型

YOLO簡化了整個目標檢測流程,速度的提升也很大,但是YOLO還是有不少可以改進的地方,比如S×S的網格就是一個比較啟發式的策略,如果兩個小目標同時落入一個格子中,模型也隻能預測一個;另一個問題是Loss函數對不同大小的bbox未做區分。

1.3.2 SSD 

SSD[17,23]的全拚是Single Shot MultiBox Detector,衝著YOLO的缺點來的。SSD的框架如圖16所示,圖16(a)表示帶有兩個Ground Truth邊框的輸入圖片,圖16(b)和(c)分別表示8×8網格和4×4網格,顯然前者適合檢測小的目標,比如圖片中的貓,後者適合檢測大的目標,比如圖片中的狗。在每個格子上有一係列固定大小的Box(有點類似前麵提到的Anchor Box),這些在SSD稱為Default Box,用來框定目標物體的位置,在訓練的時候Ground Truth會賦予給某個固定的Box,比如圖16(b)中的藍框和圖16(c)中的紅框。

37b76754d185875f55d2b6feda6b2bd97405daa9

圖16 SSD框架

SSD的網絡分為兩部分,前麵的是用於圖像分類的標準網絡(去掉了分類相關的層),後麵的網絡是用於檢測的多尺度特征映射層,從而達到檢測不同大小的目標。SSD和YOLO的網絡結構對比如圖17所示。

7e0b3817c579bf4f27b99d59058c6979bb65edb7

圖17 SSD和YOLO的網絡結構對比

SSD在保持YOLO高速的同時效果也提升很多,主要是借鑒了Faster R-CNN中的Anchor機製,同時使用了多尺度。但是從原理依然可以看出,Default Box的形狀以及網格大小是事先固定的,那麼對特定的圖片小目標的提取會不夠好。

1.4 總結

基於深度學習的目標檢測總體上分為兩派:

  1. 基於區域提名的R-CNN係列;

  2. 無需區域提名的YOLO、SSD係列。

表1大致對比了各種方法的性能(Fps,每秒幀數)和VOC 2007上的MAP對比。注意相關數據搜集自不同的paper,由於評測硬件和環境等區別,數據僅供參考,不具有絕對對比意義。

 

表1 不同目標檢測算法的指標對比

注:數據取自各自paper,由於評測硬件和環境等區別,數據並不具有絕對對比意義,僅供參考。


Fps VOC 2007
Overfeat 0.5
R-CNN 0.077 48-66%
SPP-net
63.1-82.4%
Fast R-CNN
66.9%-70%
Faster R-CNN 15(ZF Model) 73.2%-85.6%
R-FCN 6 83.6%
YOLO 45-150 58.8%
SSD 58-72 75.1%

基於深度學習的目標檢測的研究目前依然非常火熱,圖18為VOC2012目標檢測排行榜[25](2016-10-18結果),很高興看到很多華人和國內同仁在這方麵各領風騷。

c1765b0e06bd24a551a46ef57ba80d6dcd141632

圖18 VOC2012目標檢測排行榜

當然,目標檢測還有很長的路要走,比如業界公認較難的小目標檢測問題。

小試身手,來一張實際的三裏屯照片,YOLO的檢測結果如圖19所示,可以看出漏檢了不少目標。

5145ef3a2bed5b64dc72783c1a121b466f9d35c9

圖19 YOLO檢測結果

再來看看圖20中SSD的效果,看起來效果好不少,但被遮擋的人還是漏檢了。

af1ba9bcd16edfdaf46620fe0cfb3107f271ea56

圖20 SSD檢測結果

期待未來基於深度學習的目標檢測的進一步突破!

參考文獻

[1] R. Girshick, J. Donahue, T. Darrell, J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. ImageNet Large-Scale Visual Recognition Challenge workshop, ICCV, 2013.

[2] R. Girshick, J. Donahue, T. Darrell, J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014.

[3] R. Girshick, J. Donahue, T. Darrell, J. Malik. Region-Based Convolutional Networks for Accurate Object Detection and Segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, May. 2015.

[4] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV. 2014.

[5] S. Ren, K. He, R. Girshick, J. Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. Advances in Neural Information Processing Systems 28 (NIPS), 2015.

[6] C. Szegedy, A. Toshev, D. Erhan. Deep Neural Networks for Object Detection. Advances in Neural Information Processing Systems 26 (NIPS), 2013.

[7] P. Sermanet, D. Eigen, X.Zhang, M. Mathieu, R. Fergus, and Y. LeCun. OverFeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014.

[8] J.R. Uijlings, K.E. vandeSande, T. Gevers, and A.W. Smeulders. Selective search for object recognition. IJCV, 2013.

[9] OverFeat source code:

http://cilvr.nyu.edu/doku.php?id=software:OverFeat:start

[10] ILSVRC 2013 results:

http://www.image-net.org/challenges/LSVRC/2013/results.php

[11] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural net- works. In NIPS, 2012.

[12] J. Hosang, R. Benenson, P. Dolla ́r, and B. Schiele. What makes for effective detection proposals? TPAMI, 2015.

[13] Felzenszwalb P F, Girshick R B, McAllester D, et al. Object detection with discriminatively trained part-based models[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2010, 32(9): 1627-1645.

[14] Girshick, R. Fast R-CNN. ICCV 2015.

[15] Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time

object detection. In: CVPR. (2016)

[16] R-FCN: Object Detection via Region-based Fully Convolutional Networks. Jifeng Dai, Yi Li, Kaiming He, and Jian Sun. Conference on Neural Information Processing Systems (NIPS), 2016.

[17] Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[J]. arXiv preprint arXiv:1512.02325, 2015.

[18] R-CNN: Region-based Convolutional Neural Networks: https://github.com/rbgirshick/rcnn

[19] SPP-net: https://github.com/ShaoqingRen/SPP_net

[20] Fast R-CNN: https://github.com/rbgirshick/fast-rcnn

[21] Faster R-CNN: https://github.com/rbgirshick/py-faster-rcnn

[22] YOLO: http://pjreddie.com/darknet/yolo/

[23] SSD: https://github.com/weiliu89/caffe/tree/ssd

[24] R-FCN: https://github.com/daijifeng001/r-fcn

[25] Detection Results: VOC2012 Competition – “comp4” (train on own data): http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?challengeid=11&compid=4

本文來源於"中國人工智能學會",原文發表時間" 2016-10-28 "

最後更新:2017-05-23 16:03:47

  上一篇:go  除了4K非編NAS、VPN網關 阿裏雲在成都還發布了哪些產品?
  下一篇:go  用機器學習的經驗指導人生:如何實現學習效率最大化