【科普】Deep Learning回顧:之基于深度學(xué)習(xí)的目標(biāo)檢測

`來源:機(jī)器人2025

作者:程序猿研究團(tuán)隊

引言

普通的深度學(xué)習(xí)監(jiān)督算法主要是用來做分類秽褒,如圖1(1)所示护侮,分類的目標(biāo)是要識別出圖中所示是一只貓。而在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)競賽以及實際的應(yīng)用中践剂,還包括目標(biāo)定位和目標(biāo)檢測等任務(wù)弓摘。其中目標(biāo)定位是不僅僅要識別出來是什么物體(即分類),而且還要預(yù)測物體的位置刃宵,位置一般用邊框(bounding box)標(biāo)記衡瓶,如圖1(2)所示。而目標(biāo)檢測實質(zhì)是多目標(biāo)的定位牲证,即要在圖片中定位多個目標(biāo)物體哮针,包括分類和定位。比如對圖1(3)進(jìn)行目標(biāo)檢測坦袍,得到的結(jié)果是好幾只不同動物十厢,他們的位置如圖3中不同顏色的框所示。

(1)目標(biāo)分類

(2)目標(biāo)定位

(3)目標(biāo)檢測

圖1 目標(biāo)分類捂齐、定位蛮放、檢測示例

簡單來說,分類奠宜、定位和檢測的區(qū)別如下:

分類:是什么包颁?

定位:在哪里缝其?是什么?(單個目標(biāo))

檢測:在哪里徘六?分別是什么内边?(多個目標(biāo))

目標(biāo)檢測對于人類來說并不困難,通過對圖片中不同顏色模塊的感知很容易定位并分類出其中目標(biāo)物體待锈,但對于計算機(jī)來說漠其,面對的是RGB像素矩陣,很難從圖像中直接得到狗和貓這樣的抽象概念并定位其位置竿音,再加上有時候多個物體和雜亂的背景混雜在一起和屎,目標(biāo)檢測更加困難。但這難不倒科學(xué)家們春瞬,在傳統(tǒng)視覺領(lǐng)域柴信,目標(biāo)檢測就是一個非常熱門的研究方向,一些特定目標(biāo)的檢測宽气,比如人臉檢測和行人檢測已經(jīng)有非常成熟的技術(shù)了随常。普通的目標(biāo)檢測也有過很多的嘗試,但是效果總是差強(qiáng)人意萄涯。

傳統(tǒng)的目標(biāo)檢測一般使用滑動窗口的框架绪氛,主要包括三個步驟:

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

提取候選區(qū)域相關(guān)的視覺特征涝影。比如人臉檢測常用的Harr特征枣察;行人檢測和普通目標(biāo)檢測常用的HOG特征等;

利用分類器進(jìn)行識別燃逻,比如常用的SVM模型序目。

傳統(tǒng)的目標(biāo)檢測中,多尺度形變部件模型DPM(Deformable Part Model)[13]是出類拔萃的伯襟,連續(xù)獲得VOC(Visual Object Class)2007到2009的檢測冠軍猿涨,2010年其作者Felzenszwalb Pedro被VOC授予”終身成就獎”。DPM把物體看成了多個組成的部件(比如人臉的鼻子逗旁、嘴巴等)嘿辟,用部件間的關(guān)系來描述物體舆瘪,這個特性非常符合自然界很多物體的非剛體特征片效。DPM可以看做是HOG+SVM的擴(kuò)展,很好的繼承了兩者的優(yōu)點英古,在人臉檢測淀衣、行人檢測等任務(wù)上取得了不錯的效果,但是DPM相對復(fù)雜召调,檢測速度也較慢膨桥,從而也出現(xiàn)了很多改進(jìn)的方法蛮浑。正當(dāng)大家熱火朝天改進(jìn)DPM性能的時候,基于深度學(xué)習(xí)的目標(biāo)檢測橫空出世只嚣,迅速蓋過了DPM的風(fēng)頭沮稚,很多之前研究傳統(tǒng)目標(biāo)檢測算法的研究者也開始轉(zhuǎn)向深度學(xué)習(xí)。

基于深度學(xué)習(xí)的目標(biāo)檢測發(fā)展起來后册舞,其實效果也一直難以突破蕴掏。比如文獻(xiàn)[6]中的算法在VOC 2007測試集合上的mAP只能30%多一點,文獻(xiàn)[7]中的OverFeat在ILSVRC 2013測試集上的mAP只能達(dá)到24.3%调鲸。2013年R-CNN誕生了盛杰,VOC 2007測試集的mAP被提升至48%,2014年時通過修改網(wǎng)絡(luò)結(jié)構(gòu)又飆升到了66%藐石,同時ILSVRC 2013測試集的mAP也被提升至31.4%即供。

R-CNN是Region-based Convolutional Neural Networks的縮寫,中文翻譯是基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)于微,是一種結(jié)合區(qū)域提名(Region Proposal)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的目標(biāo)檢測方法逗嫡。Ross Girshick在2013年的開山之作《Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation》[1]奠定了這個子領(lǐng)域的基礎(chǔ),這篇論文后續(xù)版本發(fā)表在CVPR 2014[2]株依,期刊版本發(fā)表在PAMI 2015[3]祸穷。

其實在R-CNN之前已經(jīng)有很多研究者嘗試用Deep Learning的方法來做目標(biāo)檢測了,包括OverFeat[7]勺三,但R-CNN是第一個真正可以工業(yè)級應(yīng)用的解決方案雷滚,這也和深度學(xué)習(xí)本身的發(fā)展類似,神經(jīng)網(wǎng)絡(luò)吗坚、卷積網(wǎng)絡(luò)都不是什么新概念祈远,但在本世紀(jì)突然真正變得可行,而一旦可行之后再迅猛發(fā)展也不足為奇了商源。

R-CNN這個領(lǐng)域目前研究非吵捣荩活躍,先后出現(xiàn)了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作為這個領(lǐng)域的開山鼻祖總是神一樣的存在器罐,R-CNN、Fast R-CNN渐行、Faster R-CNN轰坊、YOLO都和他有關(guān)铸董。這些創(chuàng)新的工作其實很多時候是把一些傳統(tǒng)視覺領(lǐng)域的方法和深度學(xué)習(xí)結(jié)合起來了,比如選擇性搜索(Selective Search)和圖像金字塔(Pyramid)等肴沫。

深度學(xué)習(xí)相關(guān)的目標(biāo)檢測方法也可以大致分為兩派:

基于區(qū)域提名的粟害,如R-CNN、SPP-net颤芬、Fast R-CNN我磁、Faster R-CNN、R-FCN驻襟;

端到端(End-to-End)夺艰,無需區(qū)域提名的,如YOLO沉衣、SSD郁副。

目前來說,基于區(qū)域提名的方法依然占據(jù)上風(fēng)豌习,但端到端的方法速度上優(yōu)勢明顯存谎,后續(xù)的發(fā)展拭目以待。

1.1 相關(guān)研究

本文作為目標(biāo)檢測的一篇回顧肥隆,先來看看目標(biāo)檢測中廣泛使用的區(qū)域提名——選擇性搜索既荚,以及用深度學(xué)習(xí)做目標(biāo)檢測的早期工作——Overfeat 。

1.1.1 選擇性搜索

目標(biāo)檢測的第一步是要做區(qū)域提名(Region Proposal)栋艳,也就是找出可能的感興趣區(qū)域(Region Of Interest, ROI)恰聘。區(qū)域提名類似于光學(xué)字符識別(OCR)領(lǐng)域的切分,OCR切分常用過切分方法吸占,簡單說就是盡量切碎到小的連通域(比如小的筆畫之類)晴叨,然后再根據(jù)相鄰塊的一些形態(tài)學(xué)特征進(jìn)行合并。但目標(biāo)檢測的對象相比OCR領(lǐng)域千差萬別矾屯,而且圖形不規(guī)則兼蕊,大小不一,所以一定程度上可以說區(qū)域提名是比OCR切分更難的一個問題件蚕。

區(qū)域提名可能的方法有:

一孙技、滑動窗口∨抛鳎滑動窗口本質(zhì)上就是窮舉法牵啦,利用不同的尺度和長寬比把所有可能的大大小小的塊都窮舉出來,然后送去識別纽绍,識別出來概率大的就留下來蕾久。很明顯,這樣的方法復(fù)雜度太高拌夏,產(chǎn)生了很多的冗余候選區(qū)域僧著,在現(xiàn)實當(dāng)中不可行。

二障簿、規(guī)則塊盹愚。在窮舉法的基礎(chǔ)上進(jìn)行了一些剪枝,只選用固定的大小和長寬比站故。這在一些特定的應(yīng)用場景是很有效的皆怕,比如拍照搜題APP小猿搜題中的漢字檢測,因為漢字方方正正西篓,長寬比大多比較一致愈腾,因此用規(guī)則塊做區(qū)域提名是一種比較合適的選擇。但是對于普通的目標(biāo)檢測來說岂津,規(guī)則塊依然需要訪問很多的位置虱黄,復(fù)雜度高。

三吮成、選擇性搜索橱乱。從機(jī)器學(xué)習(xí)的角度來說,前面的方法召回是不錯了粱甫,但是精度差強(qiáng)人意泳叠,所以問題的核心在于如何有效地去除冗余候選區(qū)域。其實冗余候選區(qū)域大多是發(fā)生了重疊茶宵,選擇性搜索利用這一點危纫,自底向上合并相鄰的重疊區(qū)域,從而減少冗余乌庶。

區(qū)域提名并不只有以上所說的三種方法叶摄,實際上這塊是非常靈活的,因此變種也很多安拟,有興趣的讀者不妨參考一下文獻(xiàn)[12]蛤吓。

選擇性搜索的具體算法細(xì)節(jié)[8]如算法1所示】飞猓總體上選擇性搜索是自底向上不斷合并候選區(qū)域的迭代過程会傲。

輸入:一張圖片

輸出:候選的目標(biāo)位置集合L

算法:

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

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

3: foreach 鄰居區(qū)域?qū)?ri,rj) do

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

5:S=S∪s(ri,rj)

6: whileSnot=?do

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

8:???? 合并對應(yīng)的區(qū)域rt=rirj

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

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

11:? ??計算rt對應(yīng)的相似度集合St

12:S=SSt

13:R=Rrt

14:L=R中所有區(qū)域?qū)?yīng)的邊框

算法1 選擇性搜索算法

從算法不難看出,R中的區(qū)域都是合并后的拙泽,因此減少了不少冗余淌山,相當(dāng)于準(zhǔn)確率提升了,但是別忘了我們還需要繼續(xù)保證召回率顾瞻,因此算法1中的相似度計算策略就顯得非常關(guān)鍵了泼疑。如果簡單采用一種策略很容易錯誤合并不相似的區(qū)域,比如只考慮輪廓時荷荤,不同顏色的區(qū)域很容易被誤合并退渗。選擇性搜索采用多樣性策略來增加候選區(qū)域以保證召回移稳,比如顏色空間考慮RGB、灰度会油、HSV及其變種等个粱,相似度計算時既考慮顏色相似度,又考慮紋理翻翩、大小都许、重疊情況等。

總體上嫂冻,選擇性搜索是一種比較樸素的區(qū)域提名方法胶征,被早期的基于深度學(xué)習(xí)的目標(biāo)檢測方法(包括Overfeat和R-CNN等)廣泛利用,但被當(dāng)前的新方法棄用了桨仿。

1.1.2 OverFeat

OverFeat[7][9]是用CNN統(tǒng)一來做分類睛低、定位和檢測的經(jīng)典之作,作者是深度學(xué)習(xí)大神之一————Yann Lecun在紐約大學(xué)的團(tuán)隊蹬敲。OverFeat也是ILSVRC 2013任務(wù)3(分類+定位)的冠軍得主[10]暇昂。

OverFeat的核心思想有三點:

區(qū)域提名:結(jié)合滑動窗口和規(guī)則塊,即多尺度(multi-scale)的滑動窗口伴嗡;

分類和定位:統(tǒng)一用CNN來做分類和預(yù)測邊框位置急波,模型與AlexNet[12]類似,其中1-5層為特征抽取層瘪校,即將圖片轉(zhuǎn)換為固定維度的特征向量澄暮,6-9層為分類層(分類任務(wù)專用),不同的任務(wù)(分類阱扬、定位泣懊、檢測)公用特征抽取層(1-5層),只替換6-9層麻惶;

累積:因為用了滑動窗口馍刮,同一個目標(biāo)對象會有多個位置,也就是多個視角窃蹋;因為用了多尺度卡啰,同一個目標(biāo)對象又會有多個大小不一的塊。這些不同位置和不同大小塊上的分類置信度會進(jìn)行累加警没,從而使得判定更為準(zhǔn)確匈辱。

OverFeat的關(guān)鍵步驟有四步:

利用滑動窗口進(jìn)行不同尺度的區(qū)域提名,然后使用CNN模型對每個區(qū)域進(jìn)行分類杀迹,得到類別和置信度亡脸。從圖2中可以看出,不同縮放比例時,檢測出來的目標(biāo)對象數(shù)量和種類存在較大差異浅碾;

圖2 Overfeat關(guān)鍵步驟一

利用多尺度滑動窗口來增加檢測數(shù)量大州,提升分類效果,如圖3所示及穗;

圖3 Overfeat關(guān)鍵步驟二

用回歸模型預(yù)測每個對象的位置摧茴,從圖4中來看绵载,放大比例較大的圖片埂陆,邊框數(shù)量也較多;

圖4 Overfeat關(guān)鍵步驟三

邊框合并娃豹。

圖5 Overfeat關(guān)鍵步驟四

Overfeat是CNN用來做目標(biāo)檢測的早期工作焚虱,主要思想是采用了多尺度滑動窗口來做分類、定位和檢測懂版,雖然是多個任務(wù)但重用了模型前面幾層鹃栽,這種模型重用的思路也是后來R-CNN系列不斷沿用和改進(jìn)的經(jīng)典做法。

當(dāng)然Overfeat也是有不少缺點的躯畴,至少速度和效果都有很大改進(jìn)空間民鼓,后面的R-CNN系列在這兩方面做了很多提升。

1.2 基于區(qū)域提名的方法

本小節(jié)主要介紹基于區(qū)域提名的方法蓬抄,包括R-CNN丰嘉、SPP-net、Fast R-CNN嚷缭、Faster R-CNN饮亏、R-FCN。

1.2.1? R-CNN

如前面所述阅爽,早期的目標(biāo)檢測路幸,大都使用滑動窗口的方式進(jìn)行窗口提名,這種方式本質(zhì)是窮舉法付翁,R-CNN[1,2,3]采用的是Selective Search简肴。

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

區(qū)域提名:通過Selective Search從原始圖片提取2000個左右區(qū)域候選框;

區(qū)域大小歸一化:把所有侯選框縮放成固定大邪俨唷(原文采用227×227)砰识;

特征提取:通過CNN網(wǎng)絡(luò)移层,提取特征仍翰;

分類與回歸:在特征層的基礎(chǔ)上添加兩個全連接層,再用SVM分類來做識別观话,用線性回歸來微調(diào)邊框位置與大小予借,其中每個類別單獨訓(xùn)練一個邊框回歸器。

其中目標(biāo)檢測系統(tǒng)的結(jié)構(gòu)如圖6所示,注意灵迫,圖中的第2步對應(yīng)步驟中的1秦叛、2步,即包括區(qū)域提名和區(qū)域大小歸一化瀑粥。

圖6 R-CNN框架

Overfeat可以看做是R-CNN的一個特殊情況挣跋,只需要把Selective Search換成多尺度的滑動窗口,每個類別的邊框回歸器換成統(tǒng)一的邊框回歸器狞换,SVM換為多層網(wǎng)絡(luò)即可避咆。但是Overfeat實際比R-CNN快9倍,這主要得益于卷積相關(guān)的共享計算修噪。

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

重復(fù)計算:R-CNN雖然不再是窮舉,但依然有兩千個左右的候選框黄琼,這些候選框都需要進(jìn)行CNN操作樊销,計算量依然很大,其中有不少其實是重復(fù)計算脏款;

SVM模型:而且還是線性模型围苫,在標(biāo)注數(shù)據(jù)不缺的時候顯然不是最好的選擇;

訓(xùn)練測試分為多步:區(qū)域提名撤师、特征提取剂府、分類、回歸都是斷開的訓(xùn)練的過程丈氓,中間數(shù)據(jù)還需要單獨保存周循;

訓(xùn)練的空間和時間代價很高:卷積出來的特征需要先存在硬盤上,這些特征需要幾百G的存儲空間万俗;

慢:前面的缺點最終導(dǎo)致R-CNN出奇的慢湾笛,GPU上處理一張圖片需要13秒,CPU上則需要53秒[2]闰歪。

當(dāng)然嚎研,R-CNN這次是沖著效果來的,其中ILSVRC 2013數(shù)據(jù)集上的mAP由Overfeat的24.3%提升到了31.4%库倘,第一次有了質(zhì)的改變临扮。

1.2.2? SPP-net

SPP-net[4,19]是MSRA何愷明等人提出的,其主要思想是去掉了原始圖像上的crop/warp等操作教翩,換成了在卷積特征上的空間金字塔池化層(Spatial Pyramid Pooling杆勇,SPP),如圖7所示饱亿。為何要引入SPP層 蚜退,主要原因是CNN的全連接層要求輸入圖片是大小一致的闰靴,而實際中的輸入圖片往往大小不一,如果直接縮放到同一尺寸钻注,很可能有的物體會充滿整個圖片蚂且,而有的物體可能只能占到圖片的一角。傳統(tǒng)的解決方案是進(jìn)行不同位置的裁剪幅恋,但是這些裁剪技術(shù)都可能會導(dǎo)致一些問題出現(xiàn)杏死,比如圖7中的crop會導(dǎo)致物體不全,warp導(dǎo)致物體被拉伸后形變嚴(yán)重捆交,SPP就是為了解決這種問題的淑翼。SPP對整圖提取固定維度的特征,再把圖片均分成4份零渐,每份提取相同維度的特征窒舟,再把圖片均分為16份系忙,以此類推诵盼。可以看出银还,無論圖片大小如何风宁,提取出來的維度數(shù)據(jù)都是一致的,這樣就可以統(tǒng)一送至全連接層了蛹疯。SPP思想在后來的R-CNN模型中也被廣泛用到戒财。

圖7 傳統(tǒng)crop/warp結(jié)構(gòu)和空間金字塔池化網(wǎng)絡(luò)的對比

SPP-net的網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示,實質(zhì)是最后一層卷積層后加了一個SPP層捺弦,將維度不一的卷積特征轉(zhuǎn)換為維度一致的全連接輸入饮寞。

圖8 SPP-net網(wǎng)絡(luò)結(jié)構(gòu)

SPP-net做目標(biāo)檢測的主要步驟為:

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

區(qū)域大小縮放:SPP-net不再做區(qū)域大小歸一化列吼,而是縮放到min(w,h)=s幽崩,即統(tǒng)一長寬的最短邊長度,s選自{480,576,688,864,1200}中的一個寞钥,選擇的標(biāo)準(zhǔn)是使得縮放后的候選框大小與224×224最接近慌申;

特征提取:利用SPP-net網(wǎng)絡(luò)結(jié)構(gòu)提取特征理郑;

分類與回歸:類似R-CNN蹄溉,利用SVM基于上面的特征訓(xùn)練分類器模型,用邊框回歸來微調(diào)候選框的位置您炉。

SPP-net解決了R-CNN區(qū)域提名時crop/warp帶來的偏差問題柒爵,提出了SPP層,使得輸入的候選框可大可小赚爵,但其他方面依然和R-CNN一樣棉胀,因而依然存在不少問題宴霸,這就有了后面的Fast R-CNN。

1.2.3? Fast R-CNN

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

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

訓(xùn)練和測試是不再分多步:不再需要額外的硬盤來存儲中間層的特征驮瞧,梯度能夠通過RoI Pooling層直接傳播氓扛;此外,分類和回歸用Multi-task的方式一起進(jìn)行论笔;

SVD:使用SVD分解全連接層的參數(shù)矩陣采郎,壓縮為兩個規(guī)模小很多的全連接層。

如圖9所示狂魔,F(xiàn)ast R-CNN的主要步驟如下:

特征提人饴瘛:以整張圖片為輸入利用CNN得到圖片的特征層;

區(qū)域提名:通過Selective Search等方法從原始圖片提取區(qū)域候選框最楷,并把這些候選框一一投影到最后的特征層整份;

區(qū)域歸一化:針對特征層上的每個區(qū)域候選框進(jìn)行RoI Pooling操作,得到固定大小的特征表示籽孙;

分類與回歸:然后再通過兩個全連接層烈评,分別用softmax多分類做目標(biāo)識別,用回歸模型進(jìn)行邊框位置與大小微調(diào)犯建。

圖9 Fast R-CNN框架

Fast R-CNN比R-CNN的訓(xùn)練速度(大模型L)快8.8倍讲冠,測試時間快213倍,比SPP-net訓(xùn)練速度快2.6倍适瓦,測試速度快10倍左右竿开。

圖10 Fast R-CNN, R-CNN, SPP-net的運(yùn)行時間比較

1.2.4 Faster R-CNN

Fast R-CNN使用Selective Search來進(jìn)行區(qū)域提名,速度依然不夠快玻熙。Faster R-CNN則直接利用RPN(Region Proposal Networks)網(wǎng)絡(luò)來計算候選框否彩。RPN以一張任意大小的圖片為輸入,輸出一批矩形區(qū)域提名揭芍,每個區(qū)域?qū)?yīng)一個目標(biāo)分?jǐn)?shù)和位置信息胳搞。Faster R-CNN中的RPN結(jié)構(gòu)如圖11所示。

圖11 Region Proposal Network(RPN)

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

特征提瘸蒲睢:同F(xiàn)ast R-CNN肌毅,以整張圖片為輸入,利用CNN得到圖片的特征層姑原;

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

分類與回歸:對每個Anchor Box對應(yīng)的區(qū)域進(jìn)行object/non-object二分類锭汛,并用k個回歸模型(各自對應(yīng)不同的Anchor Box)微調(diào)候選框位置與大小笨奠,最后進(jìn)行目標(biāo)分類袭蝗。

總之,F(xiàn)aster R-CNN拋棄了Selective Search般婆,引入了RPN網(wǎng)絡(luò)到腥,使得區(qū)域提名、分類蔚袍、回歸一起共用卷積特征乡范,從而得到了進(jìn)一步的加速。但是啤咽,F(xiàn)aster R-CNN需要對兩萬個Anchor Box先判斷是否是目標(biāo)(目標(biāo)判定)晋辆,然后再進(jìn)行目標(biāo)識別,分成了兩步宇整。

1.2.5 R-FCN

前面的目標(biāo)檢測方法都可以細(xì)分為兩個子網(wǎng)絡(luò):

共享的全卷積網(wǎng)絡(luò)瓶佳;

不共享計算的ROI相關(guān)的子網(wǎng)絡(luò)(比如全連接網(wǎng)絡(luò))。

R-FCN則將最后的全連接層之類換為了一個位置敏感的的卷積網(wǎng)絡(luò)鳞青,從而讓所有計算都可以共享霸饲。具體來說,先把每個提名區(qū)域劃分為k×k個網(wǎng)格盼玄,比如R-FCN原文中k的取值為3贴彼,則對應(yīng)的九個網(wǎng)格分別表示:左上top-left,上中top-center埃儿,……,右下bottom-right融涣,對應(yīng)圖12中的九宮格及圖13中的不同顏色的塊童番,每個Grid都有對應(yīng)的編碼,但預(yù)測時候會有C+1個輸出威鹿,C表示類別數(shù)目剃斧,+1是因為有背景類別,全部的輸出通道數(shù)量為k2×(C+1)忽你。

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

圖13 R-FCN

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

R-FCN的步驟為:

區(qū)域提名:使用RPN(Region Proposal Network尿赚,區(qū)域提名網(wǎng)絡(luò))散庶,RPN本身是全卷積網(wǎng)絡(luò)結(jié)構(gòu)蕉堰;

分類與回歸:利用和RPN共享的特征進(jìn)行分類。當(dāng)做bbox回歸時悲龟,則將C設(shè)置為4屋讶。

1.3 端到端的方法

本小節(jié)介紹端到端(End-to-End)的目標(biāo)檢測方法,這些方法無需區(qū)域提名须教,包括YOLO和SSD丑婿。

1.3.1 YOLO

YOLO的全拼是You Only Look Once,顧名思義就是只看一次没卸,進(jìn)一步把目標(biāo)判定和目標(biāo)識別合二為一羹奉,所以識別性能有了很大提升,達(dá)到每秒45幀约计,而在快速版YOLO(Fast YOLO诀拭,卷積層更少)中,可以達(dá)到每秒155幀煤蚌。

網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖14所示耕挨,針對一張圖片,YOLO的處理步驟為:

把輸入圖片縮放到448×448大形咀筒占;

運(yùn)行卷積網(wǎng)絡(luò);

對模型置信度卡閾值,得到目標(biāo)位置與類別。

圖14 YOLO檢測系統(tǒng)

網(wǎng)絡(luò)的模型如圖15所示却盘,將448×448大小的圖切成S×S的網(wǎng)格狮含,目標(biāo)中心點所在的格子負(fù)責(zé)該目標(biāo)的相關(guān)檢測,每個網(wǎng)格預(yù)測B個邊框及其置信度,以及C種類別的概率。YOLO中S=7,B=2埃唯,C取決于數(shù)據(jù)集中物體類別數(shù)量,比如VOC數(shù)據(jù)集就是C=20鹰晨。對VOC數(shù)據(jù)集來說墨叛,YOLO就是把圖片統(tǒng)一縮放到448×448,然后每張圖平均劃分為7×7=49個小格子模蜡,每個格子預(yù)測2個矩形框及其置信度漠趁,以及20種類別的概率。

圖15 YOLO模型

YOLO簡化了整個目標(biāo)檢測流程哩牍,速度的提升也很大棚潦,但是YOLO還是有不少可以改進(jìn)的地方,比如S×S的網(wǎng)格就是一個比較啟發(fā)式的策略膝昆,如果兩個小目標(biāo)同時落入一個格子中丸边,模型也只能預(yù)測一個叠必;另一個問題是Loss函數(shù)對不同大小的bbox未做區(qū)分。

1.3.2 SSD

SSD[17,23]的全拼是Single Shot MultiBox Detector妹窖,沖著YOLO的缺點來的纬朝。SSD的框架如圖16所示,圖16(a)表示帶有兩個Ground Truth邊框的輸入圖片骄呼,圖16(b)和(c)分別表示8×8網(wǎng)格和4×4網(wǎng)格共苛,顯然前者適合檢測小的目標(biāo),比如圖片中的貓蜓萄,后者適合檢測大的目標(biāo)隅茎,比如圖片中的狗。在每個格子上有一系列固定大小的Box(有點類似前面提到的Anchor Box)嫉沽,這些在SSD稱為Default Box辟犀,用來框定目標(biāo)物體的位置,在訓(xùn)練的時候Ground Truth會賦予給某個固定的Box绸硕,比如圖16(b)中的藍(lán)框和圖16(c)中的紅框堂竟。

圖16 SSD框架

SSD的網(wǎng)絡(luò)分為兩部分,前面的是用于圖像分類的標(biāo)準(zhǔn)網(wǎng)絡(luò)(去掉了分類相關(guān)的層)玻佩,后面的網(wǎng)絡(luò)是用于檢測的多尺度特征映射層出嘹,從而達(dá)到檢測不同大小的目標(biāo)。SSD和YOLO的網(wǎng)絡(luò)結(jié)構(gòu)對比如圖17所示咬崔。

圖17 SSD和YOLO的網(wǎng)絡(luò)結(jié)構(gòu)對比

SSD在保持YOLO高速的同時效果也提升很多税稼,主要是借鑒了Faster R-CNN中的Anchor機(jī)制,同時使用了多尺度刁赦。但是從原理依然可以看出娶聘,Default Box的形狀以及網(wǎng)格大小是事先固定的,那么對特定的圖片小目標(biāo)的提取會不夠好甚脉。

1.4 總結(jié)

基于深度學(xué)習(xí)的目標(biāo)檢測總體上分為兩派:

基于區(qū)域提名的R-CNN系列;

無需區(qū)域提名的YOLO铆农、SSD系列牺氨。

表1大致對比了各種方法的性能(Fps,每秒幀數(shù))和VOC 2007上的MAP對比墩剖。注意相關(guān)數(shù)據(jù)搜集自不同的paper猴凹,由于評測硬件和環(huán)境等區(qū)別,數(shù)據(jù)僅供參考岭皂,不具有絕對對比意義郊霎。

表1 不同目標(biāo)檢測算法的指標(biāo)對比

注:數(shù)據(jù)取自各自paper,由于評測硬件和環(huán)境等區(qū)別爷绘,數(shù)據(jù)并不具有絕對對比意義书劝,僅供參考进倍。

FpsVOC 2007

Overfeat0.5

R-CNN0.07748-66%

SPP-net

63.1-82.4%

Fast R-CNN

66.9%-70%

Faster R-CNN15(ZF Model)73.2%-85.6%

R-FCN683.6%

YOLO45-15058.8%

SSD58-7275.1%

基于深度學(xué)習(xí)的目標(biāo)檢測的研究目前依然非常火熱购对,圖18為VOC2012目標(biāo)檢測排行榜[25](2016-10-18結(jié)果)猾昆,很高興看到很多華人和國內(nèi)同仁在這方面各領(lǐng)風(fēng)騷。

圖18 VOC2012目標(biāo)檢測排行榜

當(dāng)然骡苞,目標(biāo)檢測還有很長的路要走垂蜗,比如業(yè)界公認(rèn)較難的小目標(biāo)檢測問題。

小試身手解幽,來一張實際的三里屯照片贴见,YOLO的檢測結(jié)果如圖19所示,可以看出漏檢了不少目標(biāo)躲株。

圖19 YOLO檢測結(jié)果

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

圖20 SSD檢測結(jié)果

期待未來基于深度學(xué)習(xí)的目標(biāo)檢測的進(jìn)一步突破吞琐!

參考文獻(xiàn)

[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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市然爆,隨后出現(xiàn)的幾起案子站粟,更是在濱河造成了極大的恐慌,老刑警劉巖曾雕,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奴烙,死亡現(xiàn)場離奇詭異,居然都是意外死亡剖张,警方通過查閱死者的電腦和手機(jī)切诀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搔弄,“玉大人幅虑,你說我怎么就攤上這事」擞蹋” “怎么了倒庵?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長炫刷。 經(jīng)常有香客問我擎宝,道長,這世上最難降的妖魔是什么浑玛? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任绍申,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘极阅。我一直安慰自己胃碾,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布涂屁。 她就那樣靜靜地躺著书在,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拆又。 梳的紋絲不亂的頭發(fā)上儒旬,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音帖族,去河邊找鬼栈源。 笑死,一個胖子當(dāng)著我的面吹牛竖般,可吹牛的內(nèi)容都是我干的甚垦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼涣雕,長吁一口氣:“原來是場噩夢啊……” “哼艰亮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挣郭,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤迄埃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后兑障,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侄非,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年流译,在試婚紗的時候發(fā)現(xiàn)自己被綠了逞怨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡福澡,死狀恐怖叠赦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情革砸,我是刑警寧澤眯搭,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站业岁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏寇蚊。R本人自食惡果不足惜笔时,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仗岸。 院中可真熱鬧允耿,春花似錦借笙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蚂蕴,卻和暖如春低散,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背骡楼。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工熔号, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸟整。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓引镊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親篮条。 傳聞我的和親對象是個殘疾皇子弟头,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容