目標檢測——R-FCN算法解讀

論文:R-FCN: Object Detection via Region-based Fully Convolutional Networks
作者:Jifeng Dai, Yi Li, Kaiming He and Jian Sun
鏈接:https://arxiv.org/pdf/1605.06409v2.pdf
代碼:https://github.com/daijifeng001/r-fcn

文章目錄

  • 1、算法概述
  • 2、R-FCN細節
  • 3、實驗結果

1、算法概述

之前基于區域的目標檢測方法,像Fast/Faster R-CNN雖然在提取區域特征這部分做了共享,但基于子區域的分類和回歸部分,還沒有達到計算共享,幾百個候選框,依然需要做幾百次分類和回歸操作,這大大消耗了推理時間。本文所提基于區域的檢測器是全部采用卷積操作,幾乎所有的計算都是在整個圖像上共享的,為了實現所有操作共享這一目的,作者提出了位置敏感的分數圖來解決圖像分類中的平移不變性(translation-invariance)和目標檢測中的平移敏感(translation-variance)之間的矛盾。作者以ResNet101作為主干,在VOC 2007測試集上能達到 83.6%的mAP。推理時間為每張圖片170ms,是Faster R-CNN的2.5到20倍。

2、R-FCN細節

先說之前的基于區域候選框的目標檢測算法,它們可看作以RoI pooling層為切入點將整個網絡分為兩個子網絡(subnetworks),前部分子網絡為RoI Pooling之前的共享計算的全卷積子網絡,后一部分為RoI-wise的子網絡(全連接層),它們不共享計算。這主要是由于前期采用的經典分類網絡就是卷積+全連接這樣的設計結構造成的。現在例如ResNets和GoogLeNets都被設計成了全卷積網絡,類比到目標檢測網絡,是不是也可以將后部分的RoI-wise子網絡層替換成全卷積網絡?

要想分類得比較準,那就要網絡學習到平移不變性,即目標從圖像左邊平移到右邊,該目標的類別還是一樣,即對位置不敏感;但對于回歸任務,又要網絡學習到平移可變性,讓網絡對位置敏感,這樣才能保證網絡對于目標從圖像左邊平移到右邊后能正確預測到平移后目標的位置。要同時滿足這兩點,Faster RCNN通過插入RoI Pooling層實現了,但RoI Pooling帶有位置截斷屬性,經過RoI截取后,RoI對目標的感受野也被截斷了,相同的目標經過RoI Pooling層后可能得到不同的類別。結合網絡越深能提取到越高層特征的特性,若RoI pooling越靠近網絡前部,則會導致分類不準確,若RoI Pooling約靠近網絡后部,則會導致回歸不準確。

由于卷積神經網絡擅長提取圖像特征,但是對特征所處的位置不太敏感,所以作者在網絡中增加了位置敏感因素,使得全卷積網絡對目標的位置具有敏感特性。R-FCN的整體結構如下:
在這里插入圖片描述
在這里插入圖片描述
可以看到R-FCN,主體結構還是和Faster R-CNN大體上類似的,只是RoI Pooling這里做了一些變化,另外R-FCN也將Faster R-CNN的RoI-wise部分全部換成了卷積操作,使得基于區域的分類/回歸任務都可以共享計算。對比效果如下表:
在這里插入圖片描述

  • Backbone architecture
    R-FCN主干網絡采用ResNet-101,它包含前面100層的卷積層加global average pooling層和1000類的fc層,作者只用了前面100層卷積層作為提取特征,最后一個卷積層輸出是2048維,作者用了一個隨機初始化的1024維的1x1卷積層作了降維處理,然后用了k*k(C+1)通道的卷積層用來生成分數圖。
  • Position-sensitive score maps & Position-sensitive RoI pooling
    為了顯式地將位置信息編碼到每個RoI中,作者通過網格將每個RoI矩形劃分為k * k個網絡格子。對于w * h的RoI區域,每個網格大小為w/k * h/k。作者通過最后一個卷積層將每個類別映射成k * k個分數圖。對第(i,j)個網絡(0<=i,j<=k-1),定義一個位置敏感RoI池化操作為:
    在這里插入圖片描述
  • 分類
    對該RoI每類的所有相對空間位置的分數取平均或者投票得到
    在這里插入圖片描述
    然后通過softmax做分類
    在這里插入圖片描述
  • Bounding-box回歸
    也是采用類似分類的方法,通過最后一個卷積層使得每個RoI產生4k2維向量,經過投票后,用Fast R-CNN的參數化得到1個4維向量(tx,ty,tw,th)。

3、實驗結果

作者在VOC2007,VOC2012上測試結果如下:
在這里插入圖片描述
可以看到,在mAP指標上,相對于Faster R-CNN,沒有掉點,但是在推理速度上提升很大。

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

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

相關文章

5.鴻蒙hap可以直接點擊包安裝嗎?

5.鴻蒙hap可以直接點擊包安裝嗎&#xff1f; hap與apk不同&#xff0c;獲取的hap不能直接安裝 安裝方法1&#xff1a; DevEco studio打開項目源文件&#xff0c;打開手機USB調試&#xff0c;DevEco識別到手機后&#xff0c;點擊播放按鈕安裝到手機 https://txwtech.blog.cs…

Rust 通用代碼生成器蓮花發布紅蓮嘗鮮版十八介紹視頻,初學者指南

Rust 通用代碼生成器蓮花發布紅蓮嘗鮮版十八介紹視頻&#xff0c;初學者指南 Rust 通用代碼生成器蓮花發布深度修復版紅蓮嘗鮮版十八介紹視頻&#xff0c;初學者指南&#xff0c;詳細介紹代碼生成器環境搭建&#xff0c;編譯&#xff0c;運行和使用代碼生成物&#xff0c;歡迎…

飛天使-linux操作的一些技巧與知識點6

文章目錄 在議playbook虛擬環境中安裝ansibleplaybook 結合變量的一些演示普通的vars_files 變量&#xff0c;在同級目錄創建目錄使用host_vars 定義變量group_vars定義變量根據不同系統操作不同版本傳遞多個外置變量舉例幾個不同的示例factswhenloophandlers 與 notifytags 任…

nginx中的正則表達式及location和rewrite

目錄 常用的Nginx 正則表達式 location和rewrite的區別 location location 大致可以分為三類 location 常用的匹配規則 location 優先級 location 示例說明 location優先級的總結 rewrite rewrite的功能 rewrite實現跳轉的條件 rewrite的執行順序 rewrite的語法格式…

ARM day3

題目&#xff1a;實現3盞燈的流水 代碼&#xff1a; .text .global _start _start: 設置RCC寄存器使能 LDR R0,0X50000A28 LDR R1,[R0] ORR R1,R1,#(0X1<<4) ORR R1,R1,#(0X1<<5) STR R1,[R0]設置PE10管腳為輸出模式 LDR R0,0X50006000 LDR R1,[R0] BIC R1,R1,…

文心ERNIE Bot SDK+LangChain:基于文檔、網頁的個性化問答系統

現在各行各業紛紛選擇接入大模型&#xff0c;其中最火且可行性最高的形式無異于智能文檔問答助手&#xff0c;而LangChain是其中主流技術實現工具&#xff0c;能夠輕松讓大語言模型與外部數據相結合&#xff0c;從而構建智能問答系統。ERNIE Bot SDK已接入文心大模型4.0能力&am…

如何使用Imagewheel本地搭建一個簡單的的私人圖床公網可訪問?

文章目錄 1.前言2. Imagewheel網站搭建2.1. Imagewheel下載和安裝2.2. Imagewheel網頁測試2.3.cpolar的安裝和注冊 3.本地網頁發布3.1.Cpolar臨時數據隧道3.2.Cpolar穩定隧道&#xff08;云端設置&#xff09;3.3.Cpolar穩定隧道&#xff08;本地設置&#xff09; 4.公網訪問測…

Java:字符流 文件輸出 與 讀入 方法

Java&#xff1a;字節流 文件輸出與讀入方法 并 實現文件拷貝 文章目錄 字符流FileReaderFileWrite 字符流 字符流底層就是字節流。 字符流 字節流 字符集 特點&#xff1a; 輸入流&#xff1a;一次讀入一個字節&#xff0c;遇到中文時&#xff0c;一次讀多個字節。 輸出流…

POJ-2777 Count Color

經典區間染色板子題 #include<iostream> #include<cstring> #include<algorithm> using namespace std; const int N 1e610; struct Segment{int l,r,id; }tr[N<<2]; int n,color,m;void pushdown(int u){if(tr[u].id){tr[u<<1].id tr[u<&l…

P5707 【深基2.例12】上學遲到題解

題目 學校和 yyy 的家之間的距離為s米&#xff0c;而 yyy 以v米每分鐘的速度勻速走向學校。 在上學的路上&#xff0c;yyy 還要額外花費10分鐘的時間進行垃圾分類。 學校要求必須在上午8:00到達&#xff0c;請計算在不遲到的前提下&#xff0c;yyy 最晚能什么時候出門。 由…

python中PDF2docx運行時出現錯誤提示:pixmap must be grayscale or rgb to write as png,怎樣解決?

這是由于pixmap&#xff08;像素圖&#xff09;的顏色空間不是灰度或RGB而導致的。可能是因為PDF2docx試圖將不支持的顏色空間轉換為PNG格式造成的。 要解決此問題&#xff0c;可以嘗試以下幾個步驟&#xff1a; 1.升級pdf2docx到最新版本。有時候最新版本已經解決了這個問題…

【影像組學入門百問】1#---#3

#1-影像組學的常規步驟是怎么樣的&#xff1f; 傳統影像組學的步驟包括&#xff1a; 1、影像獲取及預處理&#xff1b; 2、感興趣區(ROI)標定&#xff1b; 3、影像組學特征提取&#xff1b; 4、特征降維&#xff1b; 5、模型建立、優化。 #2-做影像組學用的電腦硬件配置有什么…

計算機視覺之手勢、面部、姿勢捕捉以Python Mediapipe為工具

計算機視覺之手勢、面部、姿勢捕捉以 Python Mediapipe為工具 文章目錄 1.Mediapipe庫概述2.手勢捕捉(hands)3.面部捕捉(face)4.姿勢捕捉(pose) 1.Mediapipe庫概述 Mediapipe是一個開源且強大的Python庫&#xff0c;由Google開發和維護。它提供了豐富的工具和功能&#xff0c…

ExecuteScalar()方法

ExecuteScalar()方法 大家好&#xff0c;我是免費搭建查券返利機器人賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天&#xff0c;我們將深入探討數據庫編程中的一個關鍵主題——ExecuteScalar()方法&#xff…

stm32學習總結:3、Proteus8+STM32CubeMX+MDK很有搞頭

stm32學習總結&#xff1a;3、Proteus8STM32CubeMXMDK很有搞頭 文章目錄 stm32學習總結&#xff1a;3、Proteus8STM32CubeMXMDK很有搞頭一、前言二、資料收集三、實際案例-點燈1、Proteus8安裝2、Proteus創建stm32F013C6項目并添加外圍LED電路3、STM32CubeMX配置F103C6引腳生成…

12.10_黑馬數據結構與算法筆記Java

目錄 058 鏈表 e10 判環算法1 thinking&#xff1a;什么是空指針&#xff1f; 058 鏈表 e10 判環算法2 059 數組 e01 合并有序數組1 059 數組 e01 合并有序數組2 060 隊列 鏈表實現1 061 隊列 鏈表實現2 062 隊列 環形數組實現 方法1-1 063 隊列 環形數組實現 方法1-2…

帶有 RaspiCam 的 Raspberry Pi 監控和延時攝影攝像機

一、說明 一段時間以來&#xff0c;我一直想構建一個運動激活且具有延時功能的樹莓派相機&#xff0c;但從未真正找到我喜歡的案例。我在thingiverse上找到了這個適合樹莓派和相機的好案例。它是為特定的魚眼相機設計的&#xff0c;但從模型來看&#xff0c;我擁有的廉價中國魚…

【Vulnhub 靶場】【Hackable: III】【簡單 - 中等】【20210602】

1、環境介紹 靶場介紹&#xff1a;https://www.vulnhub.com/entry/hackable-iii,720/ 靶場下載&#xff1a;https://download.vulnhub.com/hackable/hackable3.ova 靶場難度&#xff1a;簡單 - 中等 發布日期&#xff1a;2021年06月02日 文件大小&#xff1a;1.6 GB 靶場作者&…

k8s常用操作命令

目標 了解 Kubernetes基礎命令。對已部署的應用故障排除。 基礎命令&#xff1a;create&#xff0c;delete&#xff0c;get&#xff0c;run&#xff0c;expose&#xff0c;set&#xff0c;explain&#xff0c;edit create 命令&#xff1a;根據文件或者輸入來創建資源 # 創建…