在閱讀《Rich feature hierarchies for accurate object detection and semantic segmentation》的paper中分析了使用RCNN模型的錯誤率主要的緣由來源於poor localization爲了解決這個問題做者使用了Bounding-Box regression的作法來對模型進行優化經過對生成的邊框進行調整。算法
如圖紅色框和綠色框所示,紅色框是咱們生成的Region Proposal(具體怎麼生成的不說明了)記爲R,而綠色是咱們的實際要達到的檢測框(Ground Truth)記爲G。那麼IOU就是(R∩G)/(R∪G) 。定義這個的目的就是爲了在訓練時爲已標定的Bounding-Box尋找一個可以擴張爲該Bounding-Box的Region Proposal,當IOU小於某個值得時候就必須被丟棄,這樣的具體緣由是由於可以進行Bounding-Box regression的兩個框的是差別比較小的,這樣才能進行線性模擬(下面會講述的)。函數
如上圖中P是訓練時生成的邊框(要知足IOU的條件)GM爲中間的通過迴歸的邊框,G使咱們訓練樣本中標定的邊框。咱們該如何從P生成到GM呢?首先咱們須要知道該如何肯定一個邊框在一幅圖的位置對於窗口通常使用四維向量(x,y,w,h)來表示, 分別表示窗口的中心點座標和寬高。咱們要將P變換到GM只須要進行平移後縮放就能夠了,這是幾何上的直觀想法(本文中GM與P變換後的窗體指代一個對象)學習
邊框迴歸學習就是dx(P),dy(P),dw(P),dh(P)這四個變換。下一步就是設計算法那獲得這四個映射。
那麼問題就來了,咱們從圖形中得到的數據不可能真的是座標,否則就成了在某個位置固定了對應得一個變換方法而無論該位置的圖形究竟是什麼東西。咱們得到的對象是該Region Proposal的特徵向量,這也是十分合理的,想象一下人在肯定一幅圖中某個固定大小區域的對象時,如該區域只有對象的一部分圖片,咱們也是進行擴大視野最後就能看到整個對象了呀,最後的視野也就是Ground Truth。而人接受的輸入時像素點,那麼對應的在迴歸中就接受特徵向量。
在人接受到圖片是就知道該如何移動本身的目光來尋找整個對象,至關於人知道當前看到的部分在實際物體對象中所處的位置後,就知道該如何變換本身的目光和視野範圍,如看到左半臉就知道將目光平移到右邊再擴大本身的視野。相似的在接收到特定Region Proposal的特徵向量,算法應該知道朝什麼方向移動和如何進行尺度縮放(這些都是從訓練中習得的)。這使用數學語言就是一種由特徵向量向dx(P),dy(P),dw(P),dh(P)的映射關係!
如何能獲得該關係呢,仍是要進行訓練,下圖是咱們追求的尺度變換的方法,也就是監督學習中的相似於label的量
優化
那麼咱們實際作的尺度變換能夠定義爲
d∗(P)=wT∗Φ5(P), Φ5(P)是輸入 Proposal 的特徵向量,w∗是要學習的參數(*表示 x,y,w,h, 也就是每個變換對應一個目標函數,也就是剛剛說的映射關係) , d∗(P)是獲得的預測值。 咱們要讓預測值跟真實值t∗=(tx,ty,tw,th)差距最小, 獲得損失函數爲:spa
優化函數爲.net
對於公式爲何才採用上述的格式參見參考的博主文章
http://m.blog.csdn.net/zijin0...
水平有限,敬請諒解設計