Faster RCNN图
https://zhuanlan.zhihu.com/p/35922980
二、 Get all Anchor
這一塊呢是對feature map上的每個點,我們都產生9個anchor值。則一共有 [公式] 個anchor。這里什么是anchor,其實就是以每個點為中心產生的box。
作者寫的generate_anchor函數運行之后得到的9個anchor輸出如下:
-83 -39 100 56
-175 -87 192 104
-359 -183 376 200
-55 -55 72 72
-119 -119 136 136
-247 -247 264 264
-35 -79 52 96
-79 -167 96 184
-167 -343 184 360
每一行四個數分別代表xmin, ymin, xmax, yamx。中心點坐標都是(7.5, 7.5)。分別對應了三個box面積尺寸分別為[128, 256, 512],進行寬高ratio=[0.5, 1, 2]三個尺寸的縮放。過程:
首先三個面積分別為:[512, 256, 128],然后開方求對應邊長(取整數):[23, 16, 11]作為寬w。高h等于w*ratio=[12, 16, 22]。以7.5,7.5為中心以上面w, h可以得到如下anchor:
(xmin, ymin, xmax, ymax) <—> (w, h, x_ctr, y_ctr)
[[-3.5 2 18.5 13], [[23.0 12.0 7.5 7.5],
[0, 0, 15, 15], [16.0 16.0 7.5 7.5],
[2.5, -3, 12.5, 18]] [11.0 22.0 7.5 7.5]]
這樣得到對每一行處理,第一行[-3.5,2,18.5,13]得到[23.0,12.0,7.5,7.5]。對寬和高取 [8, 16, 32] 三個比例值得到w:[ 184,368,736.],h:[96,192, 384]。這樣然后再以(7.5, 7.5)為中心得到3個anchor。比如w=184,h=96。得到:-83 -39 100 56這個anchor。同理其他兩行也一樣。
anchor得到以后都要映射到原圖像上的。上面說了一個點有9個anchor,那么對于特征圖大小[P,
Q]每個點都有9個anchor。但是[P, Q, 512]不是原圖像,我們要找到[P, Q]上每個點和原圖像[W, H]每個點的對應關系。方便說明我們假設P =4, Q=4。那么P,Q在原圖像對應點左邊就是:
P/Q:[0, 1, 2, 3] 原圖上W/H:[0, 16, 32, 48]
因為一般圖像上原點是圖像左上角,向下為y軸正方向(高),向右為x正方向(寬)。分別以W為圖像橫坐標位置,H為縱坐標得到(0, 0),(0, 16), (0, 32), (0, 48), (16, 0), (16, 16), ….(48, 48)。一共16個坐標點。然后以每個坐標點為中心在應用上面9個anchor,每個點得到9個box。每個新的anchor=[xmin + x_ctre, ymin+y_ctre, xmax+x_ctre, ymax+y_ctre]。這樣就得到了初始的每個點的anchor。
總結
以上是生活随笔為你收集整理的Faster RCNN图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何制作一个U盘启动盘并进行装机?
- 下一篇: lcd显示字体