0元購(gòu)怎么在網(wǎng)站做seo網(wǎng)絡(luò)優(yōu)化公司
目標(biāo)檢測(cè)和實(shí)例分割(OBJECT_DETECTION AND INSTANCE SEGMENTATION)
文章目錄
- 目標(biāo)檢測(cè)和實(shí)例分割(OBJECT_DETECTION AND INSTANCE SEGMENTATION)
- 一. 計(jì)算機(jī)視覺(jué)(AI VISION)
- 1. 圖像分類
- 2. 目標(biāo)檢測(cè)與定位
- 3. 語(yǔ)義分割和實(shí)例分割
- 目標(biāo)檢測(cè)算法可以分為兩大類:
- R-CNN
- 生成候選區(qū)域(Region Proposal)
- 對(duì)每個(gè)區(qū)域進(jìn)行CNN特征提取
- 使用SVM分類器,判斷是否屬于該類
- 使用回歸器修正候選框位置
- SPPNET
- Fast R-CNN
- R-CNN缺點(diǎn):
- SPPNet缺點(diǎn):
- 從上圖我們可以知道Fast R-CNN相較于R-CNN和SPPNet的優(yōu)點(diǎn):
- Fast R-CNN的架構(gòu):
- 端到端 (END TO END)
- 在介紹FASTER R-CNN之前,我們首先介紹一個(gè)概念端到端(end to end).
- Faster R-CNN
- RPN網(wǎng)絡(luò)
- RPN網(wǎng)絡(luò)的工作流程就是
- anchor
- Loss Funtion
- 總結(jié)
在本篇開(kāi)始之前我推薦一個(gè)很好的圖片The Modern History of Object Recognition?—?Infographic
強(qiáng)力推薦大家看一下,這里因?yàn)閏sdn原因無(wú)法將圖片貼上來(lái)。
本篇文章將介紹目標(biāo)檢測(cè)和實(shí)例分割的經(jīng)典網(wǎng)絡(luò)模型
(從R-CNN,SPPNet,Fast R-CNN,Faster R-CNN)
!讓我們來(lái)一起探索這些偉大的模型是如何一步步改進(jìn)完善的!
一. 計(jì)算機(jī)視覺(jué)(AI VISION)
在介紹目標(biāo)檢測(cè)和實(shí)例分割之前我們先介紹一下計(jì)算機(jī)視覺(jué)的任務(wù)分類以及最新的神經(jīng)網(wǎng)絡(luò)模型(來(lái)源訊飛星火AI):
-
1. 圖像分類
圖像分類是指將圖像分到預(yù)定義類別中的任務(wù)。例如,給定一張圖片,算法需要判斷這張圖片中是否包含某種物體,如貓或狗。這個(gè)我們就太熟悉了在之前的文章中以及介紹過(guò)了經(jīng)典網(wǎng)絡(luò)模型和精讀了它們的論文。
- ConvNeXt和CrossViT是當(dāng)前在圖像分類任務(wù)上表現(xiàn)突出的最新模型。ConvNeXt通過(guò)改進(jìn)卷積網(wǎng)絡(luò)結(jié)構(gòu)來(lái)優(yōu)化性能,而CrossViT結(jié)合了CNN和Transformer的優(yōu)勢(shì),提高了分類準(zhǔn)確性
-
2. 目標(biāo)檢測(cè)與定位
目標(biāo)檢測(cè)不僅要識(shí)別圖像中的物體,還要精確地標(biāo)定其位置,通常通過(guò)邊界框來(lái)實(shí)現(xiàn)。傳統(tǒng)的目標(biāo)檢測(cè)方法依賴于滑動(dòng)窗口和手工設(shè)計(jì)的特征,但這種方法在計(jì)算量和準(zhǔn)確性上存在限制。隨著深度學(xué)習(xí)的發(fā)展,基于CNN的方法顯著改善了檢測(cè)效果。
- Yolov7和Swin Transformer是兩種最新的目標(biāo)檢測(cè)模型。Yolov7通過(guò)新的網(wǎng)絡(luò)結(jié)構(gòu)和增強(qiáng)算法提升了檢測(cè)速度和精度,而Swin Transformer利用分層建模能力處理不同尺寸的對(duì)象。
-
3. 語(yǔ)義分割和實(shí)例分割
語(yǔ)義分割任務(wù)將圖像中的每個(gè)像素分類到特定類別,這適用于場(chǎng)景理解等應(yīng)用。實(shí)例分割則更進(jìn)一步,需要區(qū)分同一類別的不同個(gè)體。
- SETR和Mask2Former是最新的分割模型。SETR利用Transformer的全局信息來(lái)提升分割精度,而Mask2Former則在同一個(gè)Transformer框架內(nèi)同時(shí)解決目標(biāo)檢測(cè)和實(shí)例分割任務(wù)。
下面我們將用一張圖充分的理解分類(Image classification),檢測(cè)(Object localization),語(yǔ)義分割(Semantic segmentation)和實(shí)例分割(Instance Segmentation)之間的區(qū)別
從圖中我們可以看到分類,檢測(cè),分割的區(qū)別很明顯不明顯的是語(yǔ)義分割和實(shí)例分割。
-
圖像分類(classification):
- 就是對(duì)圖像判斷出所屬的分類,比如在學(xué)習(xí)分類中數(shù)據(jù)集有人(person)、羊(sheep)、狗(dog)和貓(cat)四種,圖像分類要求給定一個(gè)圖片輸出圖片里含有哪些分類,比如上圖的例子是含有person、sheep和dog三種。
-
目標(biāo)檢測(cè)(object detection):
- 有什么,在哪里。比分類多了一個(gè)定位,需要確定目標(biāo)的位置用矩形框?qū)⒛繕?biāo)框出。
-
語(yǔ)義分割(semantic segmentation):
- 就是需要區(qū)分到圖中每一點(diǎn)像素點(diǎn),而不僅僅是矩形框框住了。但是同一物體的不同實(shí)例不需要單獨(dú)分割出來(lái)。對(duì)下圖左,標(biāo)注為人,羊,狗,草地。而不需要羊1,羊2,羊3,羊4,羊5等。
-
實(shí)例分割(instance segmentation):
- 實(shí)例分割其實(shí)就是目標(biāo)檢測(cè)和語(yǔ)義分割的結(jié)合。相對(duì)目標(biāo)檢測(cè)的邊界框,實(shí)例分割可精確到物體的邊緣;相對(duì)語(yǔ)義分割,實(shí)例分割需要標(biāo)注出圖上同一物體的不同個(gè)體(羊1,羊2,羊3…)
-
全景分割(Panoramic segmentation):
- 全景分割是語(yǔ)義分割和實(shí)例分割的結(jié)合。跟實(shí)例分割不同的是:實(shí)例分割只對(duì)圖像中的object進(jìn)行檢測(cè),并對(duì)檢測(cè)到的object進(jìn)行分割,而全景分割是對(duì)圖中的所有物體包括背景都要進(jìn)行檢測(cè)和分割。
目標(biāo)檢測(cè)算法可以分為兩大類:
- 一類是基于Region Proposal(區(qū)域推薦)的R-CNN系算法(R-CNN,FAST R-CNN,Faster R-CNN等),這些算法需要two-stage,即需要先算法產(chǎn)生目標(biāo)候選框,也就是目標(biāo)位置,然后對(duì)候選框做分類與回歸。
- 另一類是Yolo,SSD這類one-stage算法,僅僅使用一個(gè)卷積神經(jīng)網(wǎng)絡(luò)CNN直接預(yù)測(cè)不同目標(biāo)的類別與位置。
接下來(lái)我們開(kāi)始本篇重點(diǎn)基于Region Proposal(區(qū)域推薦)的R-CNN系算法。兩階段(two-stage)
R-CNN
論文地址Rich feature hierarchies for accurate object detection and semantic segmentation
-
生成候選區(qū)域(Region Proposal)
輸入圖像通過(guò)類似聚類的方法找到初始的(顏色,紋理,大小,形狀相似度比較一致的)分割區(qū)域,然后對(duì)區(qū)域進(jìn)行加權(quán)合并得到不同層次的2000個(gè)候選框!
-
對(duì)每個(gè)區(qū)域進(jìn)行CNN特征提取
-
使用SVM分類器,判斷是否屬于該類
- 使用非極大值抑制剔除重疊建議框:
- 非極大值抑制: 定義IoU指數(shù),即 ( A ∩ B ) / ( A ∪ B ) (A \cap B) / (A \cup B) (A∩B)/(A∪B),如下圖所示,A是向日葵類對(duì)應(yīng)的所有候選框中概率最大的區(qū)域,B是另一個(gè)區(qū)域,計(jì)算AB的IoU,其結(jié)果大于閾值,那么就認(rèn)為AB屬于同一類(即都是向日葵),所以應(yīng)該保留A,刪除B,這就是非極大值抑制。:
- 使用非極大值抑制剔除重疊建議框:
黃色框表示候選區(qū)域 Region Proposal,綠色窗口表示實(shí)際區(qū)域Ground Truth(人工標(biāo)注的),紅色窗口表示 Region Proposal 進(jìn)行回歸后的預(yù)測(cè)區(qū)域,這里就跟機(jī)器學(xué)習(xí)中的回歸預(yù)測(cè)房?jī)r(jià)類似。
缺點(diǎn):
- (1) R-CNN將所有輸入圖片縮放至(227*227)大小會(huì)影響原圖的比例,導(dǎo)致模型檢測(cè)精度下降。尺寸歸一化導(dǎo)致物體變形,縱橫比特征丟失。
- (2) 步驟繁瑣,需要對(duì)每一張候選區(qū)域提取特征。
提出問(wèn)題:
- (1) 能否改進(jìn)從而可以使喂入全連接層的圖片大小不固定?
- (2) 能否只提取一次特征,然后找到候選區(qū)域?qū)?yīng)的特征圖?
SPPNET
論文地址Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
從上圖我們可以知道
R-CNN:image–>裁剪,變換(crop/warp)–>卷積–>全連接層–>輸出結(jié)果。
SPPNET:image–>卷積–>空間金字塔池化(spatial pyramid pooling)–>全連接層–>結(jié)果。
改進(jìn)了最主要的兩個(gè)點(diǎn):
- 直接將整幅圖片喂入CNN,然后在特征圖上找到大約2000個(gè)候選區(qū)域。
- 使用空間金字塔池化。
下面我們將介紹這兩點(diǎn):
作者發(fā)現(xiàn),卷積后對(duì)應(yīng)的位置并不會(huì)發(fā)生改變,每個(gè)卷積層會(huì)匹配響應(yīng)的區(qū)域。如上圖所示(a)圖為輸入的照片,(b)為第5層卷積層之后提取的特征圖,?為測(cè)試集中能使該特征圖激活最大的一些圖片:
車輪在原圖中的位置在特征圖上也會(huì)出現(xiàn)在響應(yīng)的位置
。
這樣在目標(biāo)檢測(cè)使可以根據(jù)特征圖畫出該物體的位置,也就可以畫出具體的框了。
上圖就是SPPNET最核心的部分:空間金字塔池化層。
分別將特征圖劃分1×1、2×2、4×4大小的子塊(顯然,在不同的劃分模式下子塊大小是不一致的,輸入特征圖尺寸不一致時(shí)子塊大小也不一樣),然后對(duì)每個(gè)子塊進(jìn)行最大池化,即將不同大小的子塊都轉(zhuǎn)化為一個(gè)值,將池化之后的結(jié)果進(jìn)行拼接即可得到一個(gè)大小固定為21維的輸出。如此一來(lái),無(wú)論輸入特征圖的尺寸發(fā)生如何變化,Spatial Pyramid Pooling均可將其轉(zhuǎn)化為固定大小的尺寸進(jìn)行輸出。
特點(diǎn):
空間金字塔池化的池化核的步長(zhǎng)和大小是動(dòng)態(tài)變化的過(guò)程,上邊提到的1 * 1,2 * 2,4 * 4都是輸出的大小,例如(對(duì)于44的輸出,輸入1313的圖像, s i z e = 13 / 4 向上取整 = 4 , s t r i d e = 13 / 4 向下取整 = 3 size = 13/4 向上取整=4,stride = 13/4 向下取整=3 size=13/4向上取整=4,stride=13/4向下取整=3)。
總結(jié):
- 空間金字塔池化(spatial pyramid pooling layer),解決了R-CNN輸入圖片大小固定的問(wèn)題
- 只提取一次特征,直接在特征圖上找到候選區(qū)域,避免了裁剪,變形,提高了檢測(cè)精度。
- 使用共享卷積運(yùn)算(所有候選框共享這一次卷積的feature map),大大提高了計(jì)算效率。
缺點(diǎn):
- 無(wú)法通過(guò)反向傳播來(lái)進(jìn)行微調(diào),離端到端的的檢測(cè)還差很多
- 分類和回歸是分開(kāi)進(jìn)行的,需要分別訓(xùn)練
提出問(wèn)題:
- 能否把SVM和邊界框去掉,由CNN直接得到類別和邊框可不可以?
Fast R-CNN
論文地址Fast R-CNN
在介紹Fast R-CNN之前,我們先介紹以下RCNN和SPPNet的缺點(diǎn),如下圖所示:
R-CNN缺點(diǎn):
- 訓(xùn)練是一個(gè)多階段的(training is a multi-stage pipeline)
R-CNN首先需要通過(guò)CNN網(wǎng)絡(luò)提取特征,再通過(guò)SVM網(wǎng)絡(luò)對(duì)提取到的特征進(jìn)行分類,最后需要通過(guò)bounding-box回歸修正預(yù)選框。
- 訓(xùn)練消耗大量的空間和時(shí)間(training is expensive in space and time)
SVM需要每一張圖片上的每一個(gè)候選框區(qū)域的特征,所以CNN提取到的特征需要存儲(chǔ)到磁盤中,所以將耗費(fèi)大量的空間去存儲(chǔ),大量的時(shí)間去提取特征。
- 目標(biāo)檢測(cè)速度非常慢(object detection is slow)
因?yàn)镽-CNN每一張照片都要生成2000個(gè)候選框,這就導(dǎo)致在測(cè)試階段使用VGG16處理一張圖片將消耗47秒。
所以SPPNet使用共享計(jì)算來(lái)解決R-CNN對(duì)一張圖片生成2000候選框再喂入網(wǎng)絡(luò)造成計(jì)算效率低下的問(wèn)題。
SPPNet缺點(diǎn):
- 同R-CNN一樣,同R-CNN一樣是多階段的訓(xùn)練
- 無(wú)法更新金字塔池化之前的卷積層,這就限制了非常深網(wǎng)絡(luò)的準(zhǔn)確性。
是由于 SPP做fine-tuning時(shí)輸入是多個(gè)不同的圖片,這樣對(duì)于每一個(gè)圖片都要重新產(chǎn)出新的feature map,效率很低,而Fast-RCNN對(duì)其進(jìn)行了改進(jìn)。
從上圖我們可以知道Fast R-CNN相較于R-CNN和SPPNet的優(yōu)點(diǎn):
- 有更高的檢測(cè)精度
- 訓(xùn)練是單階段,使用多任務(wù)損失函數(shù)
把不同模型整合為一個(gè)網(wǎng)絡(luò):損失函數(shù)使用多任務(wù)損失函數(shù) multi-task loss,將邊框回歸bounding box regression 直接加入CNN網(wǎng)絡(luò)中訓(xùn)練。
- 訓(xùn)練可以更新所有層的網(wǎng)絡(luò)參數(shù)
用反向傳播訓(xùn)練所有網(wǎng)絡(luò)權(quán)重是Fast R-CNN的重要能力。首先,讓我們闡明為什么SPPnet無(wú)法更新低于空間金字塔池化層的權(quán)重。
根本原因是當(dāng)每個(gè)訓(xùn)練樣本(即RoI)來(lái)自不同的圖像時(shí),通過(guò)SPP層的反向傳播是非常低效的,這正是訓(xùn)練R-CNN和SPPnet網(wǎng)絡(luò)的方法。低效的部分是因?yàn)槊總€(gè)RoI可能具有非常大的感受野,通??缭秸麄€(gè)輸入圖像。由于正向傳播必須處理整個(gè)感受野,訓(xùn)練輸入很大(通常是整個(gè)圖像)。
我們提出了一種更有效的訓(xùn)練方法,利用訓(xùn)練期間的特征共享。在Fast RCNN網(wǎng)絡(luò)訓(xùn)練中,隨機(jī)梯度下降(SGD)的小批量是被分層采樣的,首先采樣N個(gè)圖像,然后從每個(gè)圖像采樣R/N個(gè) RoI。關(guān)鍵的是,來(lái)自同一圖像的RoI在向前和向后傳播中共享計(jì)算和內(nèi)存。減小N,就減少了小批量的計(jì)算。例如,當(dāng)N=2和R=128時(shí),得到的訓(xùn)練方案比從128幅不同的圖采樣一個(gè)RoI(即R-CNN和SPPnet的策略)快64倍。
這個(gè)策略的一個(gè)令人擔(dān)心的問(wèn)題是它可能導(dǎo)致訓(xùn)練收斂變慢,因?yàn)閬?lái)自相同圖像的RoI是相關(guān)的。這個(gè)問(wèn)題似乎在實(shí)際情況下并不存在,當(dāng)N=2和R=128時(shí),我們使用比R-CNN更少的SGD迭代就獲得了良好的結(jié)果。
上面是論文中的翻譯,個(gè)人理解:采用類似于批標(biāo)準(zhǔn)化,不再是1張1張的喂入圖片而是將N張圖片喂入網(wǎng)絡(luò)中,然后從每個(gè)圖像采樣R/N個(gè),利用權(quán)重共享來(lái)加快訓(xùn)練。個(gè)人感覺(jué)這個(gè)微調(diào)思路很費(fèi)看看Faster R-CNN論文。
- 特征緩存不需要磁盤存儲(chǔ)
- 使用簡(jiǎn)化的空間金字塔池化,ROI池化
什么是ROI池化就是簡(jiǎn)化的空間金字塔池化,空間金字塔池化是固定池化輸出為1 * 1,2 * 2,4 * 4(在CNN中說(shuō)到過(guò),不同大小的子塊感受野不同)的聚合,而ROI就是固定池化輸出為一個(gè)大小例如(7 * 7).
這種固定大小的映射可能導(dǎo)致信息的損失或扭曲,特別是對(duì)于較小或較大的目標(biāo)區(qū)域
。
Fast R-CNN的架構(gòu):
Fast R-CNN流程是:
輸入一張圖片–> 通過(guò)CNN提取特征圖 --> 通過(guò)ROI projection(依舊采用SS提取2000個(gè)候選框)得到候選區(qū)域 --> 通過(guò)ROI Pooling將候選區(qū)域映射到固定大小的特征圖 --> 通過(guò)全連接層 --> 在最后并行兩個(gè)全連接層用于進(jìn)行softmax分類和bounding-box回歸。
端到端 (END TO END)
在介紹FASTER R-CNN之前,我們首先介紹一個(gè)概念端到端(end to end).
什么是端到端呢?
在目標(biāo)檢測(cè)領(lǐng)域,端到端指的是
能否直接從輸入的圖像數(shù)據(jù)獲得最終的檢測(cè)結(jié)果
,而不需要人為的特征選擇或其他手動(dòng)設(shè)計(jì)的功能
。這類模型的訓(xùn)練和推理過(guò)程更加直接和高效。
例如: 相對(duì)于深度學(xué)習(xí),傳統(tǒng)機(jī)器學(xué)習(xí)的流程往往由多個(gè)獨(dú)立的模塊組成,比如在一個(gè)典型的自然語(yǔ)言處理(Natural Language Processing)問(wèn)題中,包括分詞、詞性標(biāo)注、句法分析、語(yǔ)義分析等多個(gè)獨(dú)立步驟,每個(gè)步驟是一個(gè)獨(dú)立的任務(wù),其結(jié)果的好壞會(huì)影響到下一步驟,從而影響整個(gè)訓(xùn)練的結(jié)果,這是非端到端的。
首先我們關(guān)注的是在目標(biāo)檢測(cè)領(lǐng)域滿足那點(diǎn)的為端到端:
- 能否
直接(不需要人為的特征選擇或其他手動(dòng)設(shè)計(jì)的功能)
從輸入的圖像數(shù)據(jù)獲得最終的檢測(cè)結(jié)果。
接下來(lái)我們就分析R-CNN,SPPENT,FAST R-CNN:
R-CNN:
它通過(guò)選擇性搜索算法生成區(qū)域建議,然后對(duì)每個(gè)區(qū)域建議獨(dú)立提取CNN特征,最后利用SVM分類器進(jìn)行分類和回歸器精修邊界框。顯然,R-CNN是一個(gè)多階段的處理流程
,需要人為的特征選擇和多個(gè)分離的步驟才能得到結(jié)果,因此它不是端到端的。SPPNET:
針對(duì)R-CNN重復(fù)計(jì)算卷積圖的問(wèn)題進(jìn)行了改進(jìn),引入了空間金字塔池化層,允許不同大小的區(qū)域建議在特征圖上直接映射并池化為固定尺寸的輸出,從而一次性完成特征提取。盡管SPPNet減少了重復(fù)計(jì)算,但依然保留了R-CNN的多階段
特點(diǎn),即先提取特征后進(jìn)行分類和回歸
,所以也不是端到端系統(tǒng)。FAST R-CNN:
在R-CNN和SPPNet的基礎(chǔ)上進(jìn)行了進(jìn)一步優(yōu)化,提出了RoI池化層,并將分類和回歸合并為一個(gè)多任務(wù)目標(biāo),使得整個(gè)網(wǎng)絡(luò)可以聯(lián)合訓(xùn)練。雖然Fast R-CNN實(shí)現(xiàn)了多任務(wù)學(xué)習(xí),但它仍然依賴于外部的區(qū)域建議生成方法如選擇性搜索算法,因此整體流程并非完全端到端。
FASTER R-CNN:
引入了區(qū)域建議網(wǎng)絡(luò)(RPN),使得區(qū)域建議的生成可以直接在網(wǎng)絡(luò)內(nèi)部完成,從而實(shí)現(xiàn)了端到端的檢測(cè)流程。
Faster R-CNN
論文地址Faster R-CNN: Towards Real-Time Object
Detection with Region Proposal Networks
在前面我們已經(jīng)講過(guò)了,Fast R-CNN在最后并行兩個(gè)全連接層用于進(jìn)行softmax分類和bounding-box回歸,較大的提升了計(jì)算效率但是FAST R-CNN依舊依賴于SS提取候選框(依賴于CPU)并不能像CNN一樣使用GPU這種高效的計(jì)算,這就導(dǎo)致處理一張圖片需要2秒鐘。于是FASTER R-CNN提出RPN網(wǎng)絡(luò)用于提取候選框,將一部分也用GPU運(yùn)行。這就可以實(shí)時(shí)檢測(cè)圖片!增加實(shí)用性。
從上圖我們可以看到FASTER R-CNN的流程圖
- 輸入一張圖片–> 通過(guò)CNN提取特征圖 --> 通過(guò)RPN網(wǎng)絡(luò)對(duì)特征圖提取候選框 --> 通過(guò)ROI Pooling將候選區(qū)域映射到固定大小的特征圖 --> 通過(guò)全連接層 --> 在最后并行兩個(gè)全連接層用于進(jìn)行softmax分類和bounding-box回歸。
我們可以看到FASTER R-CNN跟FAST R-CNN的區(qū)別就是用RPN網(wǎng)絡(luò)替換掉了SS直接在特征圖上提取候選框。 接下來(lái)我們?cè)敿?xì)介紹一下RPN網(wǎng)絡(luò)!
RPN網(wǎng)絡(luò)
RPN網(wǎng)絡(luò)的工作流程就是
通過(guò)(3 * 3)小網(wǎng)絡(luò)掃描特征圖,產(chǎn)生256維的一個(gè)低維特征,然后分別喂入分類層(cls layer)和回歸層(reg layer)這里解釋以下圖中為什么是4kcoordinate,2kscores這里4:中心點(diǎn)加上寬和奧就能確定一個(gè)矩形框的位置,但是預(yù)測(cè)出的候選框跟實(shí)際框會(huì)有差距,這時(shí)候就需要判斷框中是否含有目標(biāo)值所以為2kscores。k:anchor。
anchor
當(dāng)你利用特征圖并不是憑空產(chǎn)生候選框的并且憑空產(chǎn)生的候選框也不準(zhǔn)確所以會(huì)事先定義參考框,最后輸出的是每個(gè)參考框的偏移量。
我們?cè)谔卣鲌D中找一個(gè)點(diǎn),就可以在原圖中找到對(duì)應(yīng)的一個(gè)像素點(diǎn),以該像素點(diǎn)為中心,畫出9個(gè)不同大小和長(zhǎng)寬比的框,稱為anchor 。如下圖所示,這些anchor里面可能包含目標(biāo),也可能沒(méi)有目標(biāo)。因?yàn)槲覀冊(cè)谝粡垐D中想找的的目標(biāo)的大小和長(zhǎng)寬比并不是固定的,所以這里用9個(gè)不同大小和長(zhǎng)寬比的anchor來(lái)進(jìn)行預(yù)測(cè)。
本文使用的Anchor的大小和比例是事先預(yù)定好的。大小為 ( 12 8 2 , 25 6 2 , 51 2 2 ) (128^2,256^2,512^2) (1282,2562,5122),比例是 ( 1 : 2 , 1 : 1 , 2 : 1 ) ( 這里的指定策略:矮胖的用于檢測(cè)車,馬之類的,瘦高的可以表示人,之類的等等 ) (1:2,1:1,2:1) (這里的指定策略:矮胖的用于檢測(cè)車,馬之類的,瘦高的可以表示人,之類的等等) (1:2,1:1,2:1)(這里的指定策略:矮胖的用于檢測(cè)車,馬之類的,瘦高的可以表示人,之類的等等)。
在之后的YOLO和SSD中是自適應(yīng)的候選框,提升了檢測(cè)精度和泛化能力。
Loss Funtion
預(yù)測(cè)值和實(shí)際值的偏差,對(duì)于每一個(gè)anchor,RPN網(wǎng)絡(luò)輸出的2 4就是預(yù)測(cè)值那么作者是如何定義anchor的真實(shí)值的呢??
將正標(biāo)簽分配給兩種anchor:
- 具有最大IOU重疊的anchor
- 具有大于0.7的IOU重疊的anchor
這樣就可以保證至少有一個(gè)anchor被分配為正標(biāo)簽,
而負(fù)標(biāo)簽分配給具有IOU重疊小于0.3的anchor。
總結(jié)
參考同濟(jì)子豪兄
Faster R-CNN最全講解
CV之DL之FastR-CNN:Fast R-CNN算法的簡(jiǎn)介(論文介紹)、架構(gòu)詳解、案例應(yīng)用等配圖集合之詳細(xì)攻略