R-CNN , Fast R-CNN , Faster R-CNN原理及區別

github博客傳送門
csdn博客傳送門

==RCNN==

1、生成候選區域

使用Selective Search(選擇性搜索)方法對一張圖像生成約2000-3000個候選區域,基本思路如下:
(1)使用一種過分割手段,將圖像分割成小區域
(2)查看現有小區域,合并可能性最高的兩個區域,重復直到整張圖像合并成一個區域位置。優先合并以下區域:

  • 顏色(顏色直方圖)相近的
  • 紋理(梯度直方圖)相近的
  • 合并后總面積小的
  • 合并后,總面積在其BBOX中所占比例大的
    在合并時須保證合并操作的尺度較為均勻,避免一個大區域陸續“吃掉”其它小區域,保證合并后形狀規則。
    (3)輸出所有曾經存在過的區域,即所謂候選區域
2、特征提取

使用深度網絡提取特征之前,首先把候選區域歸一化成同一尺寸227×227。
使用CNN模型進行訓練,例如AlexNet,一般會略作簡化。

3、類別判斷

對每一類目標,使用一個線性SVM二類分類器進行判別。
輸入為深度網絡(如上圖的AlexNet)輸出的4096維特征,輸出是否屬于此類。

4、位置精修

目標檢測的衡量標準是重疊面積:許多看似準確的檢測結果,往往因為候選框不夠準確,
重疊面積很小,故需要一個位置精修步驟,對于每一個類,訓練一個線性回歸模型去判定這個框是否框得完美。

==Fast R-CNN==

Fast R-CNN主要解決R-CNN的以下問題:

1、訓練、測試時速度慢

R-CNN的一張圖像內候選框之間存在大量重疊,提取特征操作冗余。
而Fast R-CNN將整張圖像歸一化后直接送入深度網絡,緊接著送入從這幅圖像上提取出的候選區域。
這些候選區域的前幾層特征不需要再重復計算。

2、訓練所需空間大

R-CNN中獨立的分類器和回歸器需要大量特征作為訓練樣本。Fast R-CNN把類別判斷和位置精調統一用深度網絡實現,不再需要額外存儲。

下面進行詳細介紹
  1. 在特征提取階段,通過CNN(如AlexNet)中的conv、pooling、relu等操作都不需要固定大小尺寸的輸入,
    因此,在原始圖片上執行這些操作后,輸入圖片尺寸不同將會導致得到的feature map(特征圖)尺寸也不同,這樣就不能直接接到一個全連接層進行分類。
    在Fast R-CNN中,作者提出了一個叫做ROI Pooling的網絡層,這個網絡層可以把不同大小的輸入映射到一個固定尺度的特征向量。
    ROI Pooling層將每個候選區域均勻分成M×N塊,對每塊進行max pooling。將特征圖上大小不一的候選區域轉變為大小統一的數據,送入下一層。
    這樣雖然輸入的圖片尺寸不同,得到的feature map(特征圖)尺寸也不同,
    但是可以加入這個神奇的ROI Pooling層,對每個region都提取一個固定維度的特征表示,就可再通過正常的softmax進行類型識別。
  2. 在分類回歸階段,在R-CNN中,先生成候選框,然后再通過CNN提取特征,之后再用SVM分類,最后再做回歸得到具體位置(bbox regression)。
    而在Fast R-CNN中,作者巧妙的把最后的bbox regression也放進了神經網絡內部,與區域分類合并成為了一個multi-task模型
    實驗表明,這兩個任務能夠共享卷積特征,并且相互促進。
    Fast R-CNN很重要的一個貢獻是成功地讓人們看到了Region Proposal+CNN(候選區域+卷積神經網絡)這一框架實時檢測的希望,原來多類檢測真的可以在保證準確率的同時提升處理速度。

==Faster R-CNN==

在Faster R-CNN中加入一個提取邊緣的神經網絡,也就說找候選框的工作也交給神經網絡來做了。
這樣,目標檢測的四個基本步驟(候選區域生成,特征提取,分類,位置精修)終于被統一到一個深度網絡框架之內。

Faster R-CNN可以簡單地看成是“區域生成網絡+Fast R-CNN”的模型,用區域生成網絡(Region Proposal Network,簡稱RPN)來代替Fast R-CNN中的Selective Search(選擇性搜索)方法。

RPN的工作步驟如下:

  • 在feature map(特征圖)上滑動窗口
  • 建一個神經網絡用于物體分類+框位置的回歸
  • 滑動窗口的位置提供了物體的大體位置信息
  • 框的回歸提供了框更精確的位置

==總結==

R-CNN、Fast R-CNN、Faster R-CNN一路走來,基于深度學習目標檢測的流程變得越來越精簡、精度越來越高、速度也越來越快。
基于region proposal(候選區域)的R-CNN系列目標檢測方法是目標檢測技術領域中的最主要分支之一。

print_r('點個贊吧');
var_dump('點個贊吧');
NSLog(@"點個贊吧!")
System.out.println("點個贊吧!");
console.log("點個贊吧!");
print("點個贊吧!");
printf("點個贊吧!\n");
cout << "點個贊吧!" << endl;
Console.WriteLine("點個贊吧!");
fmt.Println("點個贊吧!")
Response.Write("點個贊吧");
alert(’點個贊吧’)

轉載于:https://www.cnblogs.com/Mrzhang3389/p/10228451.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248702.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248702.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248702.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue和iview-admin搭建的項目進行兼容

寫在前面&#xff1a; 用iview-admin創建的基于Vue的項目&#xff0c;開發完成后&#xff0c;用戶是使用的360瀏覽器&#xff0c;其中有兩個模式&#xff0c;一個是極速模式&#xff08;谷歌內核&#xff09;&#xff0c;一個是兼容模式&#xff08;IE內核&#xff09;&#x…

App過大

最近開發中遇到一個報錯信息 如下 Error:Cannot fit requested classes in a single dex file.Try supplying a main-dex list. # methods: 72477 > 65536 大致意思是Android App中的方法數超過65535時&#xff0c;如果往下兼容到低版本設備時&#xff0c;就會報編譯錯誤 主…

第三課《讓簡歷有點色彩》

一、學習了css 的概念、工作方式、語法 CSS (Cascading Style Sheets) &#xff1a;是一種用于向用戶指定文檔如何呈現的語言 — 它們如何被指定樣式、布局等工作方式&#xff1a; 瀏覽器將 HTML 和 CSS 轉化成 DOM &#xff08;文檔對象模型&#xff09;。DOM在計算機內存中表…

Vue 打包后打開為空白頁面 并且控制臺報錯‘Failed to load resource: net::ERR_FILE_NOT_FOUND’

問題描述 當我們開發完成后進行 npm run build打包后形成dist文件 我們通過訪問dist文件中的index&#xff0c;會出現空白頁面什么都不顯示的問題&#xff0c;控制臺中還會報‘Failed to load resource: net::ERR_FILE_NOT_FOUND’錯誤&#xff0c;其實是因為打包后的dist目錄…

引用Nuget包Microsoft.EntityFrameworkCore.Tools.DotNet報錯

錯誤如下 解決方法 使用VS2017或更高版本在改項目右鍵&#xff0c;選擇“編輯xxx.csproj”&#xff0c;并添加如下一句話&#xff0c;就可以成功引用改Nuget包 <PackageReference Include"Microsoft.EntityFrameworkCore.Tools.DotNet" Version"2.0.3"/…

echarts 折線圖 多條折線數據相同時展示的圖形并沒有重合

簡單粗暴的使用echarts官網展示用例 我講series中的幾個對象中的值都改成了相同的 看到數值相同 圖表中卻沒有重合 后面發現解決辦法如下 只需要將對象中的stack屬性刪除就可以了&#xff0c;不僅僅針對這個問題 有時候我們發現圖表展示的數據跟y周的值有差距時可以試試這個…

Django,ajax實現表格增刪查改,Django內置分頁功能。

1.工程目錄 2.urls.py """Django_ajax URL ConfigurationThe urlpatterns list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/2.1/topics/http/urls/ Examples: Function views1. Add an import: from my_app im…

前端登錄邏輯

話不多說直接上圖片&#xff0c;純手工打造

使用CEfSharp之旅(8)CEFSharp 使用代理 更換位置IP

直接上代碼&#xff1a; var settings new CefSettings(); settings.CachePath "cache"; settings.CefCommandLineArgs.Add("proxy-server", ProxyAddress); Cef.Initialize(settings);出處&#xff1a;https://blog.csdn.net/u010919083/article/detail…

新入駐博客園立一個flag

2019年博客12 * 2篇轉載于:https://www.cnblogs.com/chenzy87/p/10233209.html

echarts 多次通過setOption改變圖形數據時 數據有時不進行變化

需求&#xff1a;通過切換xyz三個選項&#xff0c;進行切換統計圖中的折線條數 當前數據為正確&#xff0c;頁面加載默認選中x軸&#xff0c;當選中xy后也沒有問題 當我取消y軸時 發現圖表并沒有進行變化 但是option中的數據確實已經刷新了&#xff0c;猜測是在setOption時候…

2019春總結作業

2019春總結作業 一丶我學到的內容 &#xff08;整理本課程所學&#xff0c;用思維導圖的方式,思維導圖的工具可以使用&#xff1a;XMind&#xff09; 二丶我的收獲&#xff08;包括我完成的所有作業的鏈接收獲&#xff09; 在這個星期里&#xff0c;我們專業的學生在專業老師的…

【數據結構入門精講 | 第十七篇】一文講清圖及各類圖算法

在上一篇中我們進行了的并查集相關練習&#xff0c;在這一篇中我們將學習圖的知識點。 目錄 概念深度優先DFS偽代碼 廣度優先BFS偽代碼 最短路徑算法&#xff08;Dijkstra&#xff09;偽代碼 Floyd算法拓撲排序逆拓撲排序 概念 下面介紹幾種在對圖操作時常用的算法。 深度優先D…

騰訊地圖調用獲取經度緯度代碼

騰訊地圖調用獲取經度緯度代碼 //騰訊地圖拼接好的數據返回經度和緯度 function getPositionInfo($address) { header("Content-type:text/html;charsetutf-8");//你騰訊地圖的k值$ak KDSDS-47CDS-G3NU5-DB3TB-21212-5UBD7;$url "http://apis.map.qq.c…

安裝一個插件、回饋給你一款屬于猿的絢麗瀏覽器

不知道大家有沒有了解&#xff0c;由CSDN推出的一款CSDN瀏覽器助手&#xff0c;其實哈就我個人而言對一些助手、插件還是很有興趣的&#xff0c;畢竟他能夠讓我們快速高效的去完成我們的操作。但是一直沒有找到一款稱心如意的&#xff0c;知道遇見了這款CSDN瀏覽器助手讓我愛不…

Python-DDT框架

Install pip install ddt 實例 import unittest from ddt import ddt, data, unpackddt class MyTestCase(unittest.TestCase):data((2, 4), (6, 8))# unpack 說明測試用例有多個參數unpackdef test1(self,value1,value2):self.assertEqual(value2,value12)if __name__ __main…

IT知識庫

http://www.it1352.com http://www.itdaan.com/ 轉載于:https://www.cnblogs.com/gcgc/p/10233732.html

《看完它面試必solo | 尋找C站寶藏》

今天給大家摟點干貨&#xff0c;2020 年 9 月 18 日晚 11 點半發布了 Vue 3.0 版本。到目前已經很多公司開始鼓勵大家去學習Vue3了&#xff0c;在這里小編就把自己所了解到的‘皮毛’貢獻給大家 Vue3.0 的突出亮點 Performance&#xff1a;性能比Vue2快1.2~2倍Tree shaking s…

KVC/KVO 本質

KVO 的實現原理 KVO是關于runtime機制實現的當某個類的對象屬性第一次被觀察時&#xff0c;系統就會在運行期動態地創建該類的一個派生類&#xff0c;在這個派生類中重寫基類中任何被觀察屬性的setter方法。派生類在被重寫的setter方法內實現真正的通知機制如果原類為Person&am…

mysql 各個版本驅動jar包

http://central.maven.org/maven2/mysql/mysql-connector-java/轉載于:https://www.cnblogs.com/mzdljgz/p/11063354.html