1. 程式人生 > >邊框迴歸(Bounding Box Regression)詳解

邊框迴歸(Bounding Box Regression)詳解

Bounding-Box regression

最近一直看檢測有關的Paper, 從rcnn, fast rcnn, faster rcnn, yolo, r-fcn, ssd,到今年cvpr最新的yolo9000。這些paper中損失函式都包含了邊框迴歸,除了rcnn詳細介紹了,其他的paper都是一筆帶過,或者直接引用rcnn就把損失函式寫出來了。前三條網上解釋比較多,後面的兩條我看了很多paper,才得出這些結論。

  • 為什麼要邊框迴歸?
  • 什麼是邊框迴歸?
  • 邊框迴歸怎麼做的?
  • 邊框迴歸為什麼寬高,座標會設計這種形式?
  • 為什麼邊框迴歸只能微調,在離Ground Truth近的時候才能生效?

為什麼要邊框迴歸?

這裡引用王斌師兄的理解,如下圖所示:


這裡寫圖片描述

對於上圖,綠色的框表示Ground Truth, 紅色的框為Selective Search提取的Region Proposal。那麼即便紅色的框被分類器識別為飛機,但是由於紅色的框定位不準(IoU<0.5), 那麼這張圖相當於沒有正確的檢測出飛機。 如果我們能對紅色的框進行微調, 使得經過微調後的視窗跟Ground Truth 更接近, 這樣豈不是定位會更準確。 確實,Bounding-box regression 就是用來微調這個視窗的。

邊框迴歸是什麼?

繼續借用師兄的理解:對於視窗一般使用四維向量(x,y,w,h) 來表示, 分別表示視窗的中心點座標和寬高。 對於圖 2, 紅色的框 P 代表原始的Proposal, 綠色的框 G 代表目標的 Ground Truth, 我們的目標是尋找一種關係使得輸入原始的視窗 P 經過對映得到一個跟真實視窗 G 更接近的迴歸視窗G

^


這裡寫圖片描述

邊框迴歸的目的既是:給定(Px,Py,Pw,Ph)尋找一種對映f, 使得f(Px,Py,Pw,Ph)=(Gx^,Gy^,Gw^,Gh^) 並且(Gx^,Gy^,Gw^,Gh^)(Gx,Gy,Gw,Gh)

邊框迴歸怎麼做的?

那麼經過何種變換才能從圖 2 中的視窗 P 變為視窗G^呢? 比較簡單的思路就是: 平移+尺度放縮

  1. 先做平移(Δx,Δy)Δx=Pwdx(P),Δy=Phdy(P) 這是R-CNN論文的:G^x=Pwdx(P)+Px,(1) G^y=Phdy(P)+Py,(2)
  2. 然後再做尺度縮放(Sw,Sh), Sw=exp(dw(P)),Sh=exp(dh(
    P))
    , 對應論文中:G^w=Pwexp(dw(P)),(3) G^h=Phexp(dh(P)),(4)

觀察(1)-(4)我們發現, 邊框迴歸學習就是dx(P),dy(P),dw(P),dh(P)這四個變換。下一步就是設計演算法那得到這四個對映。

線性迴歸就是給定輸入的特徵向量 X, 學習一組引數 W, 使得經過線性迴歸後的值跟真實值 Y(Ground Truth)非常接近. 即YWX 。 那麼 Bounding-box 中我們的輸入以及輸出分別是什麼呢?

Input:

RegionProposalP=(Px,Py,Pw,Ph),這個是什麼? 輸入就是這四個數值嗎?其實真正的輸入是這個視窗對應的 CNN 特徵,也就是 R-CNN 中的 Pool5 feature(特徵向量)。 (注:訓練階段輸入還包括 Ground Truth, 也就是下邊提到的t

相關推薦

邊框迴歸(Bounding Box Regression)

Bounding-Box regression 最近一直看檢測有關的Paper, 從rcnn, fast rcnn, faster rcnn, yolo, r-fcn, ssd,到今年cvpr最新的yolo9000。這些paper中損失函式都包含了邊框迴歸,除

人臉檢測中的bounding box regression

0. 引言 在人臉檢測演算法如R-CNN、Fast RCNN中都用到了bounding box迴歸,迴歸的目標是使得預測的物體視窗向groundtruth視窗相接近。我一開始沒理解如何能迴歸出一個框來,看完下文就理解了^^ 1. 為什麼要做Bounding-bo

RCNN中的bounding box regression

總結下上面大神所陳述的內容: 1.關於 公式1~4是怎麼來的,從原paper來看,作者是引入了scale-invariant translation 分別對於x和y,即對於xy座標引入同一個scale,加上作者在他的另一篇論文Rich feature hi

【Faster RCNN 】bounding box regression

引言 在人臉檢測演算法如R-CNN、Fast RCNN中都用到了bounding box迴歸,迴歸的目標是使得預測的物體視窗向groundtruth視窗相接近。我一開始沒理解如何能迴歸出一個框來,看完下文就理解了 1. 為什麼要做Bounding-box regres

邏輯迴歸-logistic regression

一, 為什麼要使用logistic 函式 從線性分類器談起   給定一些資料集合,他們分別屬於兩個不同的類別。例如對於廣告資料來說,是典型的二分類問題,一般將被點選的資料稱為正樣本,沒被點選的資料稱為負樣本。現在我們要找到一個線性分類器,將這些資料分為

邏輯迴歸(Logistic Regression),公式推導及程式碼實現

邏輯迴歸(Logistic Regression) 什麼是邏輯迴歸:   邏輯迴歸(Logistic Regression)是一種基於概率的模式識別演算法,雖然名字中帶"迴歸",但實際上是一種分類方法,在實際應用中,邏輯迴歸可以說是應用最廣泛的機器學習演算法之一 迴歸問題怎麼解決分類問題?   將樣本的特徵和

Windows滲透利器之Pentest BOX使用(一)

內存 標簽 配置 ram 添加 概覽 測試環境 功能 ruby 內容概覽: 知識科普 優缺點總結 功能參數詳解翻譯: 控制臺參

DeepLearning tutorial(1)Softmax迴歸原理簡介+程式碼

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

迴歸Java基礎, Java 內部類

今日科技快訊近日,一篇《估值175億的馬蜂窩 竟是一座殭屍和水軍構成的鬼城?》在網路上刷屏。今天

simple linear regression

這裡主要是想詳細說明一下有關linear regression的知識,包括其中蘊含的數學知識和計算過程,為自己今後學習打下基礎,也希望分享給需要的人。部分圖片與公式來源於網上。 首先說明什麼是simple linear regression, 一個變數x,中

邏輯迴歸梯度下降法

引言 邏輯迴歸常用於預測疾病發生的概率,例如因變數是是否惡性腫瘤,自變數是腫瘤的大小、位置、硬度、患者性別、年齡、職業等等(很多文章裡舉了這個例子,但現代醫學發達,可以通過病理檢查,即獲取標本放到顯微鏡下觀察是否惡變來判斷);廣告界中也常用於預測點選率或者轉化

box-shadow

box-shadow前言box-shadow是css3的一個新屬性,用來實現陰影效果,陰影分為內陰影和外陰影兩個效果,可以通過逗號新增多個陰影效果。box-shadow陰影用法box-shadow:inset offset-x offset-y blur-radius spr

Faster RCNN:從region proposal到bounding box迴歸

一基於Region Proposal候選區域的深度學習目標檢測演算法 二R-CNNFast R-CNNFaster R-CNN三者關係 1 R-CNN目標檢測流程介紹 2 Fast R-CNN目標檢測流程介紹

機器學習經典演算法及Python實現--線性迴歸(Linear Regression)演算法

(一)認識迴歸 迴歸是統計學中最有力的工具之一。機器學習監督學習演算法分為分類演算法和迴歸演算法兩種,其實就是根據類別標籤分佈型別為離散型、連續性而定義的。顧名思義,分類演算法用於離散型分佈預測,如前

box-shadow陰影

多個 chrom color lur 表示 技術 com .com lac 每次使用box-shadow,都要查閱資料才能實現對應的效果,現在總結一下,方便以後查看。 使用語法:   element{box-shadow: inset x-offset y-offset b

Bounding-Box(BB)regression

tails bject 區域 AS 復雜 比較 png 論文 mage 最近在學習RCNN,對於Bounding-Box(BB)regression能夠提高邊界框的精確度,對於其內容產生了很大興趣。 主要內容學習自大神博客:https://blog.csdn.net/bix

CSS3_邊框 border

(面試題) 怎麼樣通過 CSS 畫一個三角形: 1. 元素的 width 和 height 設定為 0   2. 邊框 足夠大       3. 需要的三角形的部分, border-top-color 設定為 有色 &nb

SSD + default box生成過程

在mxnet上面看李沐大神的視訊,自己看了SSD的paper裡面還是有些一知半解的東西,於是就用篇部落格記錄下來。文章中的圖和部分見解都來自於網路有些錯誤的圖已經修正,如有侵權,聯絡我刪除。 先放一張SSD演算法的模型圖。SSD採用不用卷積層的feature map進行綜合,將VGG16的

機器學習演算法——邏輯迴歸

簡介 邏輯迴歸(Logistic Regression)既是迴歸演算法,也是分類演算法。通常情況下用於解決分類問題。 之前線性迴歸中,迴歸函式 y = Wx + b 中,y實際上就是我們要預測的值,如房價的價格預測。 而線上性迴歸中,我們實際要求的函式為 p =

線性迴歸-

演算法描述 X∈Rm×1\mathbf{X} \in R^{m \times 1 }X∈Rm×1 ,y∈Rm×1\mathbf{y} \in R^{m \times 1}y∈Rm×1,找到一個函式f(x)f(x)f(x)實現f:X→yf:\mathbf{X