Mask R-CNN Anchors 生成步骤

Mask R-CNN Anchors

  • base_size = (4,8,16,32,64)
  • ratio = (0.5, 1.0, 2.0)
  • anchor_size = (32, 64, 128, 256, 512)
  • scales = anchors / base_size 每个base_size 对应一个scales 8.
  1. 根据给定的base_size,生成一个base_anchor
    例: [0,0,base_size-1,base_size-1] = [0,0,15,15]
  2. 对base_anchor进行坐标变换,由[xmin,ymin,xmax,ymax] 转换成[w,h,xc,yc].
    例:[0,0,15,15] 转 [16, 16, 7.5, 7.5]
  3. 根据w和h计算矩形的面积,记为base_anchor的size.
    例:16x16=256
  4. 将size除以不同的ratio得到一个数组,记为size_ratio.
    例: ratio= [0.5,1.0,2.0] size_ratio = [512,256,128]
  5. 将每一个size_ratio开平方,得到的值记为ws, ws*ratio = hs,每一对(ws,hs,xc,yc) 经过转化为(xmin,ymin,xmax,ymax)格式,对应一个anchor。三个对应三对。
    例:ws=[22,16,11],hs=[12,16,22] ratio_anchors=[[ -3.5 2. 18.5 13.] ,[ 0. 0. 15. 15.],[ 2.5 -3. 12.5 18.]]
  6. 根据(xmin,ymin,xmax,ymax) 重新转正换成(w,h,xc,yc) ,乘以scales= 8 ,.
    例:[-3.5, 2, 18.5,13] 转化之后为 [23, 12, 7.5, 7.5 ] 乘以scales [ 184, 96, 7.5, 7.5 ]
  7. 将上一步生成的anchor 转成(xmin, ymin,xmax,ymax)格式.
    例:最终16对应的 anchor [[-84., -40., 99., 55.], [-56., -56., 71., 71.], [-36., -80., 51., 95.]]
tensor([[-22., -10.,  25.,  13.],[-14., -14.,  17.,  17.], [-10., -22.,  13.,  25.]]), 
tensor([[-40., -20.,  47.,  27.],[-28., -28.,  35.,  35.],[-20., -44.,  27.,  51.]]),
tensor([[-84., -40.,  99.,  55.], [-56., -56.,  71.,  71.], [-36., -80.,  51.,  95.]]),
tensor([[-164.,  -72.,  195.,  103.],[-112., -112.,  143.,  143.],[ -76., -168.,  107.,  199.]]), 
tensor([[-332., -152.,  395.,  215.],[-224., -224.,  287.,  287.],[-148., -328.,  211.,  391.]])
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值