最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

RCNN 自用筆記

2023-03-04 18:41 作者:flow___  | 我要投稿

RCNN

Rich feature hierarchies for accurate object detection and semantic segmentationTech report (v5)

Abstract

???????? Our approach combines two key insights:(1) one can apply high-capacity convolutional neural net-works (CNNs) to bottom-up region proposals in order tolocalize and segment objects and (2) when labeled trainingdata is scarce, supervised pre-training for an auxiliary task,followed by domain-specific fine-tuning, yields a significantperformance boost.

?????? 曾經(jīng)的目標檢測模型SIFT,HOG,都是基于圖像低級特征,使用各種繁瑣的圖像處理手段和復(fù)雜的統(tǒng)計學習方法,在像素維度上對目標進行檢測與分割。而RCNN模型使用了在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練過的AlexNet的卷積層對框定的圖像特征進行提取,之后使用svm進行類別檢測。以此完成目標檢測的任務(wù)。同時在邊緣框的確定上使用了邊緣框回歸的方法來進一步提高檢測的精確性。

?

Related work

?????? Detection其實在此之前就已經(jīng)有很多人在做。這篇文章中的很多步驟,RBG也是站在巨人的肩膀上來將其進行融合與使用,包括邊緣框的選取,AlexNet的遷移學習與fine-tune,使用SVM進行分類,模型的評價指標等。

?????? 時值CNN卷土重來的時候,將CNN預(yù)訓(xùn)練模型進行微調(diào)后使用在檢測任務(wù)上這件工作可以說是呼之欲出的,相信就算RBG不做這個事情,也會馬上有其他相似的工作出來,雖然RCNN比舊的模型好,但是仍然有很多的地方略顯粗糙。故在其發(fā)布后,F(xiàn)-RCNN,SPPNet,F(xiàn)aster-RCNN等模型也接踵而至。

?

Model

模型大致可分為:候選框選取,特征提取,分類任務(wù),候選框回歸四塊。由于RCNN在完成檢測任務(wù)時的步驟十分復(fù)雜,如不同模塊對于同一指標的閾值的選取卻不同。下面我將把訓(xùn)練和測試兩個階段的任務(wù)分開進行講述。

?

訓(xùn)練階段:

1.完成候選框的選取與候選框的尺寸變換。

?Prior to warping, we dilate thetight bounding box so that at the warped size there are ex-actly p pixels of warped image context around the originalbox (we use p = 16).

首先作者使用一種Selective search的手段在VOC數(shù)據(jù)集中的每一張圖片上提取2000個候選框,同時由于各個候選框的尺寸存在差異,這里使用了一些比較簡單的拉伸與截取的手段將各個候選框“畸變”到相同的227*227的size以便于神經(jīng)網(wǎng)絡(luò)的輸入。需要注意,每張圖片上本身存在著自己的Ground Truth--也就是真值(包括真值的候選框和候選框的類別),也就是人為標定的框。

2.完成模型的微調(diào)。

Supervised pre-training.We discriminatively pre-trainedthe CNN on a large auxiliary dataset (ILSVRC2012 clas-sification) using image-level annotations only (bounding-box labels are not available for this data).

Domain-specific fine-tuning. To adapt our CNN to thenew task (detection) and the new domain (warped proposalwindows), we continue stochastic gradient descent (SGD)training of the CNN parameters using only warped regionproposals.

引入在ILSVRC 2012數(shù)據(jù)集上預(yù)訓(xùn)練過的AlexNet架構(gòu),將最后一層的1000類的softmax層改為21層(因為ILSVRC 2012有1000類,而PASCAL VOC 2007由20類構(gòu)成,加的一類為“背景類”,因為候選框中存在著框到無意義內(nèi)容的個例)。此時使用PASCAL VOC 2007對AlexNet進行fine tuning,此時為監(jiān)督訓(xùn)練,輸入數(shù)據(jù)為VOC數(shù)據(jù)集中的所有“畸變后”的候選框,數(shù)量是2000*VOC圖片,需要注意的是,此時只有g(shù)round truth是有l(wèi)abel的!那那些生成的候選框的label如何標定呢?

這里介紹一個評價指標IoU,簡單理解就是兩張圖片的重疊程度,計算公式為:

IoU = (Sa∩Sb) / (Sa∪Sb)

作者在這里以及后續(xù)的部分地方使用了IoU這個指標來進行比較寬松的統(tǒng)一標定:將所有候選框與該圖片中的各個ground truth計算IoU,取對該候選框最大的IoU的ground truth的label作為該候選框的label,同時需要其IoU >= 0.5,否則將該候選框的label設(shè)為第21類---“背景”。通過這樣這所有的候選框就具有自己的label,也就能進行fine tuning了。這也是RCNN的第一次需要大量資源的"訓(xùn)練"。

3.完成SVM分類器的訓(xùn)練。Once features are extracted and training labels are ap-plied, we optimize one linear SVM per class. 步驟3只是完成了特征提取AlexNet模型的微調(diào),這個模型的唯一作用就是通過黑箱式的操作來對圖像特征進行提取并將圖片轉(zhuǎn)換為一個高維(4096維)的特征向量。此時將所有原候選框重新輸入該網(wǎng)絡(luò)得到新的特征向量,此時只是一個函數(shù)運算,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)"淪為"一個固定的轉(zhuǎn)換函數(shù)。

此時我們就要用這個長度為4096的特征向量作為SVM的輸入來訓(xùn)練分類器了,這里我在閱讀的時候有著2個疑惑:a. 為什么要用SVM而不用簡潔美觀的softmax?? b. 此時的label怎么確定?是否繼續(xù)沿用和上面微調(diào)時候一樣的閾值和手段?這些問題對于模型的細節(jié)理解都很關(guān)鍵,挨個解答。

a.不用softmax的原因其實文章中做了對比試驗,發(fā)現(xiàn)效果較差,也有可能是因為工具限制,RBG在寫RCNN的時候是在2012年使用的matlab… 實操上應(yīng)該是可以通過調(diào)整softmax結(jié)構(gòu)來完成端到端的網(wǎng)絡(luò)架構(gòu),是這篇文章留下來的問題。

b.此處的label的確定則又不一樣了,需要注意的是這不是一個20類的分類問題,而是20個2分類問題。此時作者在分類任務(wù)上,只將ground truth的框作為正例,負例則是其他類+ 所有候選框中IoU<=0.3的那些。原文解釋是:前面fine-tuning需要大量的樣本,所以設(shè)置成0.5會較為寬松,進而產(chǎn)生更多具有20類label的數(shù)據(jù)用于微調(diào)。而在SVM階段是由于SVM適用于小樣本,所以設(shè)置0.3會更嚴格一點。見原文: We re-solve this issue with an IoU overlap threshold, below whichregions are defined as negatives. The overlap threshold, 0.3,was selected by a grid search over {0,0.1,...,0.5} on avalidation set. We found that selecting this threshold care-fully is important. Setting it to 0.5, as in [39], decreasedmAP by 5 points. Similarly, setting it to 0 decreased mAPby 4 points. Positive examples are defined simply to be the ground-truth bounding boxes for each class.

注意訓(xùn)練后SVM的矩陣參數(shù)形狀為4096*20,即一條數(shù)據(jù)通過后會得到一個1*20的向量,其中不同列代表著為該類的得分,由于是不同SVM的分類結(jié)果,所以這里的得分與概率還是有區(qū)別的。

這里是RCNN的第二次需要資源的"訓(xùn)練"。

5.完成BoundingBox的回歸模型的訓(xùn)練。We use a simple bounding-box regression stage to im-prove localization performance. 這個操作其實可以算是一個trick了,加上后mAP由50.上升到54.。這個idea是怎么來的呢?作者在對模型的性能進行分析的時候,發(fā)現(xiàn)有很大一部分的mAP下降是由于"定位錯誤"。

而boundingbox回歸則是讓最終的預(yù)測框盡可能的向ground truth的框去靠近,而框是由4個參數(shù)確定的,也就是橫縱坐標和長寬---x,y,w,h,回歸則是讓這四個值盡可能去向ground truth的這四個值去靠近。所以這里就是把這框的四個值輸入,然后經(jīng)過神經(jīng)網(wǎng)絡(luò),然后loss = groundtruth - proposal

,最后輸出就是目標坐標與寬高。這個看起來是最直觀的,但是想想好像不太合理,那你這個網(wǎng)絡(luò)學到的不就是一個4個數(shù)據(jù)的變換了嗎,和圖像還有什么關(guān)系呢,這樣可能收斂么?所以這里原作者使用了卷積網(wǎng)絡(luò)輸出的特征向量作為回歸模型的輸入,而在loss上也做了一定的設(shè)計,使得輸出不是具體的坐標,而是當前候選框需要進行的平移變換和尺度縮放,同時需要注意的是,這里是針對20個類別,每一個類別訓(xùn)練一個回歸器,而每個回歸器的訓(xùn)練數(shù)據(jù)為該圖片中與ground truth的IoU>=0.6的候選框參與回歸。

可以參見博客:https://blog.csdn.net/zijin0802034/article/details/77685438。

至此訓(xùn)練部分結(jié)束。

?

測試過程:

在測試階段:

1.完成候選框的選取與尺寸變換。輸入一張圖片,生成2000個尺寸合適的候選框。

2.將2000張經(jīng)過縮放變換的尺寸相同的候選框圖片輸入卷積神經(jīng)網(wǎng)絡(luò),并得到2000個4096的的特征向量也就是一個2000*4096的矩陣。

3.將2000*4096的特征向量輸入到20個SVM進行分類,得到一個2000*20的輸出矩陣。

4.使用NMS對得分矩陣進行操作,去除重合度高和得分低的很多候選框,得到最后的分類候選框并對候選框設(shè)置預(yù)測labels。

5.使用BBox回歸器對剩下的框進行位置的微調(diào)使其更好的框住其檢測到的目標。

?

本文是兩端目標檢測的開創(chuàng)性工作,有許多基礎(chǔ)知識和術(shù)語需要花時間理解,在后續(xù)的類似工作中均會使用到,如

IoU(Intersection over Union),即交并比,是目標檢測領(lǐng)域的常用標準。

Non-maximum suppression, 非極大值抑制,是目標檢測領(lǐng)域的在縮減候選框數(shù)量時候常用的手段。

BBox(Bounding Box regression),即邊框回歸,是微調(diào)和提點的好方法,不過這類trick獨立于模型之外,不夠美觀。

附上知乎講解鏈接:https://zhuanlan.zhihu.com/p/60794316

?

總結(jié):

R-CNN是一個非常離散的模型,包括基于selective proposal的region proposal的選取,對大量圖片進行輸入尺寸的調(diào)整,使用預(yù)訓(xùn)練模型,fine tune卷積神經(jīng)網(wǎng)絡(luò)softmax,訓(xùn)練SVM-hinge loss,訓(xùn)練 regressor - squared loss,這使得訓(xùn)練時間非常長(84小時),占用磁盤空間也大。在訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的過程中對每個region proposal都要計算卷積,這其中重復(fù)的太多不必要的計算,試想一張圖像可以得到2000多個region proposal,大部分都有重疊,因此基于region proposal卷積的計算量太大。而以上這些種種缺陷這也正是后續(xù)Fast R-CNN,F(xiàn)aster R-CNN和眾多一端目標檢測模型所主要解決的問題。雖然現(xiàn)在看來,RCNN有著這樣那樣的不完美,不過在當時能夠考慮到如此多的問題,使用各種微調(diào)與手段,做了非常多消融實驗,創(chuàng)造出這樣復(fù)雜的模型和思路,開辟全新的領(lǐng)域,Ross Girshik可以說為基于深度學習的目標檢測領(lǐng)域做出了卓越的貢獻!

?

?

?

參考鏈接:

https://blog.csdn.net/u014380165/article/details/72851035

https://blog.csdn.net/zijin0802034/article/details/77685438

https://blog.csdn.net/zijin0802034/article/details/77685438

原文:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation

?

?

?

?

?

?

?

?

?

?

?

?


RCNN 自用筆記的評論 (共 條)

分享到微博請遵守國家法律
乌拉特前旗| 阿图什市| 息烽县| 龙井市| 呼和浩特市| 张家港市| 昌图县| 泸州市| 北辰区| 平顺县| 巴马| 芜湖县| 河西区| 河池市| 桓仁| 四川省| 福州市| 双城市| 株洲县| 连南| 仁化县| 大庆市| 阳朔县| 洛川县| 怀仁县| 玉田县| 手游| 肃北| 白河县| 和硕县| 马山县| 通化市| 翁牛特旗| 本溪市| 芦山县| 高唐县| 永春县| 滦平县| 越西县| 丽水市| 凤凰县|