有了美麗的封面毯侦, 寫(xiě)的興致又來(lái)了矾瑰。 我們?cè)凇?a target="_blank" rel="nofollow">深度學(xué)習(xí)名校課程大全”里面介紹了深度學(xué)習(xí)的課程坦敌。 在“人工智能深度學(xué)習(xí)人物關(guān)系[全]”里面介紹了部分深度學(xué)習(xí)的人物。 這里簡(jiǎn)要概述下下部分圖像目標(biāo)檢測(cè)深度學(xué)習(xí)模型凰兑。
前言
有一些圖像分割的背景知識(shí)也很有意思妥粟,簡(jiǎn)單列下, 概述下來(lái)吏够,主要是五大任務(wù), 六大數(shù)據(jù)集滩报, 七大牛人組锅知,一個(gè)效果評(píng)估。
五大圖像處理任務(wù)
1. 圖像分類(lèi)
2. 分類(lèi)和定位
3. 目標(biāo)物體檢測(cè)
4. 語(yǔ)義分割
一下子從框的世界進(jìn)入了像素點(diǎn)的世界脓钾。
5. 實(shí)例分割
六大圖像數(shù)據(jù)庫(kù)
1.PASCAL ?Visual Object Classes (VOC) 挑戰(zhàn)
人售睹、車(chē)、自行車(chē)可训、公交車(chē)昌妹、飛機(jī)捶枢、羊、牛飞崖、桌等20大類(lèi)
2.MS COCO: Microsoft Common Object in Context
80大類(lèi)烂叔, 多目標(biāo)
3.ImageNet Object Detection: ILSVRC DET 任務(wù)
200類(lèi)別,578,482 圖片
4.Oxford-IIIT Pet Dataset
37 類(lèi)別固歪,每個(gè)類(lèi)別 200 圖片
5.Cityscapes Dataset
30 類(lèi)別蒜鸡,25,000 + 真實(shí)開(kāi)車(chē)場(chǎng)景圖片
6.ADE20K Dataset
150+ 類(lèi)別,22,000 + 普通場(chǎng)景圖片
七大牛人組
1.Navneet Dalal 和 Bill Triggs (INRIA)
兩人提出了Histogram of Gradient (HOG)獲得2015年的 Longuet-Higgins Prize大獎(jiǎng)
2.Pedro Felipe Felzenszwalb
和學(xué)生Ross Girshick一起發(fā)明了DPM牢裳,深化了HOG.
3.Ross Girshick
Felzenszwalb的高徒逢防,RBG大神、發(fā)明了R-CNN蒲讯、Mask R-CNN忘朝。Ross目前在Facebook人工智能研究院 FAIR。
4.Koen van de Sande
提出Selective Search的大神判帮。
5.Jitendra Malik
去噪模型Perona-Malik擴(kuò)散和聚類(lèi)分割里面的歸一化分割Normalized Cut的發(fā)明人局嘁,RBG大神的博士后導(dǎo)師,鼓勵(lì)RBG引入CNN做目標(biāo)檢測(cè)脊另,R-CNN發(fā)明人之一导狡。
6.?Pietro Perona去噪模型Perona-Malik擴(kuò)散的發(fā)明人, 李飛飛的博士導(dǎo)師偎痛, 2013獲得Longuet-Higgins Prize旱捧。 和高徒Piotr Dollar一起提出Fast Feature Pyramids的神器。他的另外一個(gè)高徒Stefano Soatto搞出了?Structure From Motion? SFM踩麦,視覺(jué)運(yùn)動(dòng)信息的多幅二維圖像序列估計(jì)三維結(jié)構(gòu)的技術(shù)枚赡。? 他弟子Piotr Dollar目前在FAIR。
7.何凱明
ResNet谓谦,SPP贫橙, Mask-CNN發(fā)明人,目前在FAIR反粥。
一個(gè)效果評(píng)估m(xù)AP(mean average precision)借用了文檔檢索里面的標(biāo)準(zhǔn)卢肃, 假設(shè)目標(biāo)物體的預(yù)測(cè)在所有的圖像中都進(jìn)行預(yù)測(cè), 在每個(gè)圖像上計(jì)算準(zhǔn)確和召回才顿。 但是最后計(jì)算每個(gè)目標(biāo)物體的AP的時(shí)候莫湘, 僅僅選用相關(guān)的圖像,進(jìn)行平均average郑气, 最后計(jì)算mAP的時(shí)候再求平均mean幅垮。? 是一個(gè)奇怪的名字,卻是一個(gè)蠻直觀的評(píng)價(jià)尾组!
R-CNN系列
R-CNN的橫空出世忙芒, 隨后經(jīng)過(guò)一系列改進(jìn)示弓, 走到了Mask R-CNN和Mask^X R-CNN的神奇境界。
CNN結(jié)構(gòu)上從AlexNet過(guò)渡到ResNet呵萨, 中間也受到Overfeat和SPPNet的影響深遠(yuǎn)奏属!
一, R-CNN的前世
2013年之前甘桑, 基本由RBG和他導(dǎo)師的DPM主導(dǎo)拍皮, 當(dāng)然離不開(kāi)SS和SVM的應(yīng)用,和后續(xù)Box Regression的修正跑杭。
1. Histogram of Gradient (HOG) 特征
8x8像素框內(nèi)計(jì)算方向梯度直方圖
2. HOG Pyramid
特征金字塔铆帽,對(duì)于不同大小的物體進(jìn)行適應(yīng)。
3. HOG特征 -> SVM分類(lèi)
4. DPM模型 Deformable Part Model
加組件組合的HOG特征德谅,組件間計(jì)算彈性得分爹橱,優(yōu)化可變形參數(shù)。
如果沒(méi)有彈性距離窄做,就是BoW (Bag of Word)模型愧驱,問(wèn)題很大, 位置全部丟失:
n個(gè)組件的DPM計(jì)算流程
5. Selective Search 思想
首先椭盏, 過(guò)分割后基于顏色紋理等相似度合并组砚,
然后,過(guò)分割掏颊、分層合并糟红、建議區(qū)域排序
6. 基于Selective Search + DPM/HoG + SVM的物體識(shí)別
7. AlexNet的圖像分類(lèi)
2012年AlexNet贏得LSVRC的ImageNet分類(lèi)競(jìng)賽。深度CNN結(jié)構(gòu)用來(lái)圖像特征提取乌叶。
8. bounding-box regression 框回歸
BBR 在DPM時(shí)代就和SVM分類(lèi)結(jié)合盆偿,一般直接使用線性回歸,或者和SVR結(jié)合准浴。
二事扭, R-CNN的出世
這個(gè)工作是RBG在Malik那里讀博士后的產(chǎn)出。 這個(gè)工作的影響巨大乐横!
1.1 R-CNN的本質(zhì)求橄, 用深度CNN網(wǎng)絡(luò)取代了HoG/DPM的特征提取葡公!
1.2 R-CNN依賴(lài)分類(lèi)預(yù)訓(xùn)練的特征
1.3 通過(guò)bounding-box regression改進(jìn)效果谈撒,對(duì)于SS推薦的, 經(jīng)過(guò)SVM分類(lèi)的結(jié)果進(jìn)行修正匾南。
這樣,我們就得到了最后RNN的框架蛔外,我們看到區(qū)域推薦蛆楞、SVM和Bound Box Regression都是成熟的技術(shù)的整合:
R-CNN優(yōu)點(diǎn):
1. 效果比DPM方法大幅度提高
2. 開(kāi)啟了CNN網(wǎng)絡(luò)的目標(biāo)檢測(cè)應(yīng)用
3. 引入了BBR和分類(lèi)結(jié)合的思想
4. 定義了RoI溯乒, 基于推薦區(qū)域的思想
R-CNN問(wèn)題:
不是端到端的模型,依賴(lài)SS和SVM豹爹!
計(jì)算速度相當(dāng)慢裆悄!
對(duì)于過(guò)大過(guò)小的東西,效果很不好臂聋。
譬如光稼,對(duì)于長(zhǎng)凳, 或者眼鏡等等孩等。
三艾君,MR-CNN的改進(jìn)
Multi-Region的提出, 開(kāi)始對(duì)Box進(jìn)一步做文章肄方, 相當(dāng)于對(duì)Box進(jìn)一步做增強(qiáng)冰垄,希望改進(jìn)增強(qiáng)后的效果,主要改善了部分重疊交叉的情況权她。
但是特征拼接后使得空間變大虹茶,再使用SVM處理, 效果和R-CNN基本類(lèi)似隅要。
MR-CNN改進(jìn)有限蝴罪!
四, Overfeat的改進(jìn)
LeCun的Overfeat是個(gè)端到端的模型步清,直接拋棄了SVM要门,并且把BBR整合一起使用FCN(Fully-Connected Net)搞定, 解決了后面一端的問(wèn)題(取代了SVM和BBR)尼啡。
另外暂衡, 也直接拋棄了SS,采用CNN上滑動(dòng)窗口來(lái)進(jìn)行框推薦崖瞭,搞定前面一端狂巢。
然后直接根據(jù)滑動(dòng)窗口的不準(zhǔn)確的判斷, 進(jìn)行Box 回歸(BR)來(lái)進(jìn)行準(zhǔn)確定位书聚。
并且在計(jì)算上做了三大優(yōu)化:? ?第一唧领, 先進(jìn)行CNN再滑動(dòng)窗口, 而不是先滑動(dòng)窗口再進(jìn)行CNN計(jì)算雌续。 把窗口滑動(dòng)放到CNN之后進(jìn)行斩个。 避免重復(fù)的特征計(jì)算。
第二驯杜, 多類(lèi)別并行計(jì)算框架受啥, 進(jìn)一步減少CNN特征計(jì)算因?yàn)闆](méi)有找到特定類(lèi)別而浪費(fèi)。
第三, 把FCN直接用CNN網(wǎng)絡(luò)取代滚局, 計(jì)算量大大減少居暖。怎么做到的呢? 結(jié)合上面兩點(diǎn)藤肢, 利用每個(gè)類(lèi)別實(shí)現(xiàn)一個(gè)0-1的CNN網(wǎng)絡(luò)太闺, 然后所有類(lèi)別并行處理。
還做了一大改進(jìn)嘁圈, 考慮了多尺度衍生:
Overfeat優(yōu)點(diǎn):
1. 端到端的模型
2. 回歸和分類(lèi)結(jié)合的計(jì)算模型
3. 首次將區(qū)域計(jì)算后移省骂, 極大節(jié)省計(jì)算量, 優(yōu)化速度
4. 有多尺度考量最住,試圖優(yōu)化極大極小目標(biāo)問(wèn)題
Overfeat問(wèn)題:
1. 取消區(qū)域推薦钞澳, 依賴(lài)窗口滑動(dòng)和BR效果后的推薦效果一般。
2. 定位準(zhǔn)確温学, 但是對(duì)于重疊目標(biāo)物體的情況略贮,效果很差。
五仗岖, SPPNet的改進(jìn)
這個(gè)工作是何凱明在孫劍指導(dǎo)下逃延, 微軟的工作。 后來(lái)孫劍去了曠視科技轧拄, 而何凱明去了Facebook人工智能實(shí)驗(yàn)室FAIR揽祥。 前面, 我們提到R-CNN和Overfeat都存在部分多尺度檩电,重疊效果的問(wèn)題拄丰。? 某種意義上, 應(yīng)對(duì)了HoG特征俐末, 這樣對(duì)于物體來(lái)說(shuō)類(lèi)似BoW模型料按, 我們知道DPM里面,是帶有組件空間分布的彈性得分的卓箫, 另外也有HoG Pyramid的思想载矿。 如何把Pyramid思想和空間限制得分加入改善多尺度和重疊的效果呢??MR-CNN里面嘗試了區(qū)域增強(qiáng)烹卒, Overfeat里面嘗試了多尺度輸入闷盔。 但是效果都一般。? 這里我們介紹另外一個(gè)技術(shù)Spatial Pyramid Matching, SPM旅急。把空間和Pyramid結(jié)合的思想逢勾。
1. SPM
把BoW修改金字塔Pyramid方式進(jìn)行空間限制,做特征提取藐吮。
2.? SPM用在CNN特征之后溺拱,R-CNN里面 SVM分類(lèi)之前逃贝。
3. 基于CNN的Pooling技術(shù)來(lái)實(shí)現(xiàn)SPM, 通過(guò)不同尺度的Pooling技術(shù)很容易就實(shí)現(xiàn)了CNN特征的SPM特征盟迟。
4. 先特征后區(qū)域的處理秋泳, 某種意義上取代了多尺度輸入,或者特征增強(qiáng)攒菠。
和R-CNN相比做到了先特征后區(qū)域, 和Overfeat相比自帶Multi-Scale歉闰。
于是SPPNet(Spatial Pyramid Pooling Net)很空出世辖众!
SPPNet優(yōu)點(diǎn):
1. 提取SPP的概念, 把CNN的Pooling用的出神入化和敬, 取代了HoG Pyramid的改進(jìn)凹炸。 對(duì)于大小尺度的物體識(shí)別有改進(jìn)。
2. 進(jìn)一步強(qiáng)調(diào)了CNN特征計(jì)算前移昼弟, 區(qū)域處理后移的思想啤它, 極大節(jié)省計(jì)算量。
SPPNet缺點(diǎn):
1. 依然不是端到端的模型
2. 過(guò)于注重CNN特征的分離舱痘, CNN特征提取沒(méi)有聯(lián)動(dòng)調(diào)參數(shù)变骡!
Fast R-CNN的改進(jìn)
RBG從后來(lái)去了微軟,在微軟了解了何凱明的SPPNet工作芭逝。 所以Fast R-CNN 基本和SPPNet類(lèi)似塌碌, 但是進(jìn)一步聯(lián)動(dòng)改進(jìn)!全部打通區(qū)域推薦之后到目標(biāo)識(shí)別后一端旬盯!而且效果較好台妆!
基于SPPNet, Fast R-CNN做了兩大改進(jìn):
一, 簡(jiǎn)化SPP成為RoI Pooling胖翰, 只用了最細(xì)分的SPPNet接剩。? 把RoI區(qū)域變成了RoI Pooling, 這就是RoI Pooling的思想的來(lái)源萨咳。 Pyramid上層更粗的特征懊缺, 可以依賴(lài)FCN進(jìn)行整合學(xué)習(xí)。
二某弦, CNN特征網(wǎng)絡(luò)聯(lián)動(dòng)調(diào)參數(shù)桐汤!
這樣, Softmax分類(lèi)誤差和線性回歸誤差疊加的誤差靶壮, 可以反傳通過(guò)FCN怔毛, ROI Pooling和ConvNet層。
Fast R-CNN優(yōu)點(diǎn):
1. 吸收了SPPNet和R-CNN的精華腾降,極大的打通并且改進(jìn)了從區(qū)域推薦到目標(biāo)檢測(cè)一端拣度。
2. RoI Pooling技術(shù)橫空出世, 極大的發(fā)揮了區(qū)域計(jì)算后移的優(yōu)勢(shì), 加快了訓(xùn)練速度抗果。
3. Log 損失和Smooth L1的損失下的FCN筋帖、RoI Pooling、ConvNet三層聯(lián)動(dòng)調(diào)參數(shù)成熟冤馏, 并且?guī)?lái)效果上的提升日麸。
4. 并且應(yīng)用VGG16,取代AlexNet作為CNN網(wǎng)絡(luò)模型
Fast R-CNN缺點(diǎn):
1. 依然沒(méi)有實(shí)現(xiàn)端到端的模型逮光,對(duì)SS區(qū)域推薦依賴(lài)嚴(yán)重代箭。
Faster R-CNN的改進(jìn)
SPPNet和Fast R-CNN都面臨著并非端到端模型的困惑, 那么RBG涕刚、何凱明和孫劍嗡综, 微軟的3位牛人合作開(kāi)啟了端到端模型的開(kāi)發(fā)。
提出RPN(Region Proposal Net)取代了SS區(qū)域推薦杜漠。 RPN有點(diǎn)類(lèi)似Overfeat的ConvNet的滑動(dòng)窗口极景, 但是加入了Anchor Box的設(shè)計(jì)。
在Overfeat的ConvNet上的滑動(dòng)窗口驾茴, 加上Multi-Scale的圖像輸入設(shè)計(jì)盼樟, 編程了帶Anchor Box推薦的區(qū)域Pyramid。 這種機(jī)制沟涨, 某種意義上是帶了先驗(yàn)的Attention機(jī)制恤批。
這樣 RPN的Anchor和Pyramid和定位都可以是參數(shù)學(xué)習(xí), 例如:9 anchors x 2 scores x width x height裹赴。
如果在考慮ROI Pooling對(duì)推薦區(qū)域的修正作為新的RPN喜庞,就會(huì)帶來(lái)ROI Pooling的迭代:
所以最初,? RPN的損失是單獨(dú)計(jì)算進(jìn)行參數(shù)學(xué)習(xí)的棋返。
但是后來(lái), RPN的誤差也全部整合處理了延都, 一個(gè)端到端的模型誕生,并且具有較好的區(qū)域推薦睛竣、特征Pyramid晰房,和Box回歸的效果保證。
Faster R-CNN優(yōu)點(diǎn):
1. 和Overfeat一樣是一個(gè)端到端的模型射沟, 但是集成了以前圖像處理里面的思想: 區(qū)域推薦殊者, 特征Pyramid和Box回歸。
2. 較好的ConvNet特征共享验夯, 效率更高
3. 提出了RPN網(wǎng)絡(luò)猖吴,并且整合后的效果和Fast R-CNN一樣
Faster R-CNN缺點(diǎn):
1. 依然難以做到實(shí)時(shí)高效
2. 功能上沒(méi)有進(jìn)入實(shí)例分割階段。
小結(jié)
我們發(fā)現(xiàn)挥转, 單純的端到端ConvNet模型的Overfeat很難達(dá)到較好的效果海蔽。 如何融合圖像處理經(jīng)典思想里面的區(qū)域推薦共屈, 特征金字塔, 和框回歸党窜,還是非常有必要拗引。 而Faster R-CNN做到了這些。? 這個(gè)過(guò)程中一直伴隨著性能的提升幌衣, 其中重要一步就是如何讓特征計(jì)算不要重復(fù)矾削,做到一次計(jì)算。 如何進(jìn)一步提高速度泼掠, 和增強(qiáng)功能怔软, 是后續(xù)網(wǎng)絡(luò)的要改進(jìn)的地方。?例如择镇, 我們發(fā)現(xiàn)ConvNet的計(jì)算在Faster R-CNN已經(jīng)達(dá)到很高的共享, 但是ROI之后依然有ConvNet的計(jì)算括改, 如何進(jìn)一步共享這部分計(jì)算呢腻豌? 請(qǐng)看下期。