日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CNN结构:用于检测的CNN结构进化-分离式方法

發(fā)布時(shí)間:2023/12/31 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CNN结构:用于检测的CNN结构进化-分离式方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言:

???????? 原文鏈接:基于CNN的目標(biāo)檢測(cè)發(fā)展過程?????? 文章有大量修改,如有不適,請(qǐng)移步原文.

????? ?? 參考文章:圖像的全局特征--用于目標(biāo)檢測(cè)?????????????????????????????????

????? ? 目標(biāo)的檢測(cè)和定位中一個(gè)很困難的問題是,如何從數(shù)以萬計(jì)的候選窗口中挑選包含目標(biāo)物的物體。只有候選窗口足夠多,才能保證模型的 Recall。傳統(tǒng)機(jī)器學(xué)習(xí)方法應(yīng)用,使用全局特征+級(jí)聯(lián)分類器的思路仍然被持續(xù)使用。常用的級(jí)聯(lián)方法有haar/LBP特征+Adaboost決策樹分類器級(jí)聯(lián)檢測(cè) 和HOG特征 + SVM分類器級(jí)聯(lián)檢測(cè)。

??????? DPM方法為08年提出的一種可進(jìn)行級(jí)聯(lián)(2010)的圖像目標(biāo)檢測(cè)方法,RBG闡述,“Deformable Part Models are Convolutional Neural Networks”(arxiv.org/abs/1409.5403),可以視為CNN檢測(cè)方法的前驅(qū)。

????? 目標(biāo)檢測(cè)的幾個(gè)階段:分類 、分類+定位 、多目標(biāo)檢測(cè)、語義分割

??????


引言

??????? 圖像的全局特征:HOG特征和DPM模型......

???? ?? 孔濤在知乎上這樣寫到。

????? ? 目前,基于CNN的目標(biāo)檢測(cè)框架主要有兩種:

??????? 一種是 one-stage ,例如 YOLO、SSD 等,這一類方法速度很快,但識(shí)別精度沒有 two-stage 的高,其中一個(gè)很重要的原因是,利用一個(gè)分類器很難既把負(fù)樣本抑制掉,又把目標(biāo)分類好。

??????? 另外一種目標(biāo)檢測(cè)框架是 two-stage ,以 Faster RCNN 為代表,這一類方法識(shí)別準(zhǔn)確度和定位精度都很高,但存在著計(jì)算效率低,資源占用大的問題。

???????

預(yù)訓(xùn)練模型-用于分類的CNN

??????? 大多數(shù)模型并非一開始就設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu),使用數(shù)據(jù)進(jìn)行訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu),而使用ImageNet上訓(xùn)練好的CNN結(jié)構(gòu)。R-CNN文獻(xiàn)paper給我們證明了一個(gè)理論,如果你不進(jìn)行fine-tuning,也就是你直接把Alexnet模型使用于工程,類似于HOG、SIFT一樣做特征提取,說明使用ImageNet訓(xùn)練過的CNN結(jié)構(gòu)已經(jīng)在特征提取方面達(dá)到了HOG的效果。

??????? 文章這樣說:不針對(duì)特定的任務(wù)。然后把提取的特征用于分類,結(jié)果發(fā)現(xiàn)p5的精度竟然跟f6、f7差不多,而且f6提取到的特征還比f7的精度略高;如果你進(jìn)行fine-tuning了,那么f7、f6的提取到的特征最會(huì)訓(xùn)練的svm分類器的精度就會(huì)飆漲。


Two-Stage方法

??????? Two-Stage方法為Region proposal和CNN分離的方法,把檢測(cè)問題分解為原始的尋找框和目標(biāo)分類兩步問題。先后出現(xiàn)R-CNN、SPP-NET、Fast R-CNN、Faster R-CNN、R-FCN、Mask RCNN。

??????? Two-Stage方法主要問題是從大量框選取候選框問題,使用的方法有:objectness [1],selective search [39],category-independent object proposals [14], constrained parametric min-cuts (CPMC) [5], multi-scale combinatorial grouping [3], and Cires?an et al. [6], who detect mitotic cellsby applying a CNN to regularly-spaced square crops, which are a special case of region proposals.

????? ? While R-CNN is agnostic to the particular region proposal method, we useselective search to enable a controlled comparison with prior detection work (e.g., [39, 41]).。R-CNN使用了selective search方法,下圖為一個(gè)評(píng)測(cè)。

????????

??????? 參考文章:基于CNN的目標(biāo)檢測(cè)發(fā)展過程?????

??????? 參考文章:基于R-CNN的物體檢測(cè) ? 看一下即可? ? ??


R-CNN方法

?? ? ?? 2014年CVPR上的經(jīng)典paper:《Rich feature hierarchies?for?Accurate Object Detection and Segmentation》,這篇文章的算法思想又被稱之為:R-CNN(Regions with Convolutional Neural Network Features),是物體檢測(cè)領(lǐng)域曾經(jīng)獲得state-of-art精度的經(jīng)典文獻(xiàn)。

? ????? 這篇paper的思想,改變了物體檢測(cè)的總思路,現(xiàn)在好多文獻(xiàn)關(guān)于深度學(xué)習(xí)的物體檢測(cè)的算法,基本上都是繼承了這個(gè)思想,比如:《Spatial Pyramid Pooling in Deep Convolutional?Networks for Visual Recognition》。

??? ? ? R-CNN的檢測(cè)步驟:

??????

???????

分別在選框和CNN兩個(gè)步驟進(jìn)行了優(yōu)化。

?????? 步驟一:預(yù)訓(xùn)練(或者下載)一個(gè)分類模型(比如AlexNet);
??? ?? 步驟二:對(duì)該模型做fine-tuning: 將分類數(shù)從1000改為20;去掉最后一個(gè)全連接層(使用SVM分類);
???? ? 步驟三:1.特征提取
   ? ?? ? 提取圖像的所有候選框(選擇性搜索-selective search)
   ? ?? ? 對(duì)于每一個(gè)區(qū)域:修正區(qū)域大小以適合CNN的輸入,做一次前向運(yùn)算,將第五個(gè)池化層的輸出(就是對(duì)候選框提取到的特征)存到硬盤

???? ? 步驟四:2.訓(xùn)練一個(gè)SVM分類器(二分類)來判斷這個(gè)候選框里物體的類別
???????????? ? 每個(gè)類別對(duì)應(yīng)一個(gè)SVM,判斷是不是屬于這個(gè)類別,是就是positive,反之nagative

?????? 步驟五:3.使用回歸器精細(xì)修正候選框位置:對(duì)于每一個(gè)類,訓(xùn)練一個(gè)線性回歸模型去判定這個(gè)框是否框得完美。

????????


??????????????????????? R-CNN使用精細(xì)調(diào)整選定框的方法實(shí)現(xiàn)了較高的檢測(cè)性能。mAP和IOU都達(dá)到了一個(gè)很高的標(biāo)準(zhǔn)。

????? ???? 使用的selective search方法,參考:"Selective search for object recognition." International journal of computer vision, 104(2) (2013): 154-171.此文必看:selective search方法。

?? 這一步可以看做是對(duì)圖像的過分割,都是過分割,本文SS方法的過人之處在于預(yù)先劃分的區(qū)域什么大小的都有(滿足目標(biāo)多尺度的要求),而且對(duì)過分割的區(qū)域還有一個(gè)合并的過程(區(qū)域的層次聚類),最后剩下的都是那些最可能的候選區(qū)域,然后在這些已經(jīng)過濾了一遍的區(qū)域上進(jìn)行后續(xù)的識(shí)別等處理,這樣的話,將會(huì)大大減小候選區(qū)域的數(shù)目,提供了算法的速度。參考超像素分割聚類過程。

舉例一般合并規(guī)則:

優(yōu)先合并以下四種區(qū)域:
- 顏色(顏色直方圖)相近的
- 紋理(梯度直方圖)相近的
- 合并后總面積小的
- 合并后,總面積在其BBOX中所占比例大的

第三條,保證合并操作的尺度較為均勻,避免一個(gè)大區(qū)域陸續(xù)“吃掉”其他小區(qū)域。

例:設(shè)有區(qū)域a-b-c-d-e-f-g-h。較好的合并方式是:ab-cd-ef-gh -> abcd-efgh -> abcdefgh。
不好的合并方法是:ab-c-d-e-f-g-h ->abcd-e-f-g-h ->abcdef-gh -> abcdefgh。

第四條,保證合并后形狀規(guī)則。

例:左圖適于合并,右圖不適于合并。

上述四條規(guī)則只涉及區(qū)域的顏色直方圖、紋理直方圖、面積和位置。合并后的區(qū)域特征可以直接由子區(qū)域特征計(jì)算而來,速度較快



SPP Net

??????? SPP:Spatial Pyramid Pooling(空間金字塔池化)

??????? 參考文章:SPP-Net:CNNs添加一尺度不變特征-神經(jīng)元層??????????????????????????????

它的特點(diǎn)有兩個(gè):

??????? 1. 結(jié)合空間金字塔方法實(shí)現(xiàn)CNNs的對(duì)尺度輸入的可變性;? 2. 只對(duì)原圖提取一次卷積特征。
??????? 空間金字塔池化:一般CNN后接全連接層或者分類器,他們都需要固定的輸入尺寸,因此不得不對(duì)輸入數(shù)據(jù)進(jìn)行crop或者warp,這些預(yù)處理會(huì)造成數(shù)據(jù)的丟失或幾何的失真。SPP Net的第一個(gè)貢獻(xiàn)就是將金字塔思想加入到CNN,實(shí)現(xiàn)了數(shù)據(jù)的多尺度輸入。

? ? ? ???????
??????? 一次性卷積特征提取:在R-CNN中,每個(gè)候選框先resize到統(tǒng)一大小,然后分別作為CNN的輸入,這樣是很低效的。

??????? 所以SPP Net根據(jù)這個(gè)缺點(diǎn)做了優(yōu)化:只對(duì)原圖進(jìn)行一次卷積得到整張圖的feature map,然后找到每個(gè)候選框zaifeature map上的映射patch,將此patch作為每個(gè)候選框的卷積特征輸入到SPP layer和之后的層。節(jié)省了大量的計(jì)算時(shí)間,比R-CNN有一百倍左右的提速。

?

?????? ? RCNN的缺點(diǎn):一、沒有共享卷積運(yùn)算;二、即使使用了selective search等預(yù)處理步驟來提取潛在的bounding box作為輸入,但是RCNN仍會(huì)有嚴(yán)重的速度瓶頸,原因也很明顯,就是計(jì)算機(jī)對(duì)所有region進(jìn)行特征提取時(shí)會(huì)有重復(fù)計(jì)算,Fast-RCNN正是為了解決這個(gè)問題誕生的。

??????? ?

Fast R-CNN? 和Faster R-CNN

?????? R-CNN的進(jìn)階版Fast R-CNN就是在RCNN的基礎(chǔ)上采納了SPP Net方法,對(duì)RCNN作了改進(jìn),使得性能進(jìn)一步提高。成功的讓人們看到了Region Proposal+CNN這一框架實(shí)時(shí)檢測(cè)的希望,原來多類檢測(cè)真的可以在保證準(zhǔn)確率的同時(shí)提升處理速度,也為后來的Faster-RCNN做下了鋪墊。

?????? Faster R-CNN的主要貢獻(xiàn)是設(shè)計(jì)了提取候選區(qū)域的網(wǎng)絡(luò)RPN,代替了費(fèi)時(shí)的選擇性搜索,使得檢測(cè)速度大幅提高。加入一個(gè)提取邊緣的神經(jīng)網(wǎng)絡(luò),也就說找到候選框的工作也交給神經(jīng)網(wǎng)絡(luò)來做了。此外RPN網(wǎng)絡(luò)和識(shí)別網(wǎng)絡(luò)共享卷積層,加快數(shù)據(jù)forward速度。做這樣的任務(wù)的神經(jīng)網(wǎng)絡(luò)叫做Region Proposal Network(RPN)。

????? 具體做法:
  ? 將RPN放在最后一個(gè)卷積層的后面;
  ? RPN直接訓(xùn)練得到候選區(qū)域。怎么訓(xùn)練?

???? ?? 具體方案還要好好看看論文:Faster R-CNN Towards Real-Time Object Detection with Region Proposal Networks。


算法總結(jié):

RCNN:
  1. 在圖像中選擇約1000-2000個(gè)候選框 (使用selective search);2. 每個(gè)候選框內(nèi)圖像塊縮放至相同大小,并輸入到CNN內(nèi)進(jìn)行特征提取 ;3. 對(duì)候選框中提取出的特征,使用分類器判別是否屬于一個(gè)特定類 ;4. 對(duì)于屬于某一特征的候選框,用回歸器進(jìn)一步調(diào)整其位置。


Fast RCNN:

?????? 添加SPP層,
  1. 在圖像中確定約1000-2000個(gè)候選框 (使用選擇性搜索);2. 對(duì)整張圖片輸進(jìn)CNN,得到feature map;3. 找到每個(gè)候選框在feature map上的映射patch,將此patch作為每個(gè)候選框的卷積特征輸入到SPP layer和之后的層;4. 對(duì)候選框中提取出的特征,使用分類器判別是否屬于一個(gè)特定類 ;5. 對(duì)于屬于某一特征的候選框,用回歸器進(jìn)一步調(diào)整其位置。


Faster RCNN:
  1. 對(duì)整張圖片輸進(jìn)CNN,得到feature map;2. 卷積特征輸入到RPN,得到候選框的特征信息;3. 對(duì)候選框中提取出的特征,使用分類器判別是否屬于一個(gè)特定類 ;4. 對(duì)于屬于某一特征的候選框,用回歸器進(jìn)一步調(diào)整其位置。

??????? 值得注意的是,盡管RPN與fast rcnn 共享卷積層,但是在模型訓(xùn)練的過程中,需要反復(fù)訓(xùn)練RPN網(wǎng)絡(luò)和fast rcnn 網(wǎng)絡(luò)(兩個(gè)網(wǎng)絡(luò)的核心卷積層是共享的),不能有所偏頗,網(wǎng)絡(luò)共享主要作用還是推進(jìn)forward的速度。


總結(jié)

以上是生活随笔為你收集整理的CNN结构:用于检测的CNN结构进化-分离式方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。