3 候选框生成_Faster RCNN之Anchors的生成过程理解

本文详细解读Faster RCNN中Anchors(候选框)的生成过程,包括base_size、ratios和scales参数的作用。通过对generate_anchors函数的分析,阐述了如何从16x16的基础区域,通过宽高比和尺度变换,生成覆盖不同大小目标的9种Anchors,以适应不同物体尺寸的检测需求。
摘要由CSDN通过智能技术生成

主要是对generate_anchors的解读,帮助理解anchor的生成过程。

参考代码:

https://github.com/kevinjliang/tf-Faster-RCNN​github.com

Faster RCNN详细介绍:

白裳:一文读懂Faster RCNN​zhuanlan.zhihu.com
c0b7f5ee5ef31f3ecf454d190be05c46.png

首先看main函数

if __name__ == '__main__':
    import time
    t = time.time()
    a = generate_anchors()   #最主要的就是这个函数
    print time.time() - t
    print a
    from IPython import embed; embed()

进入到generate_anchors函数中:

def generate_anchors(base_size=16, ratios=[0.5, 1, 2],
                     scales=2 ** np.arange(3, 6)):
    """
    Generate anchor (reference) windows by enumerating aspect ratios X
    scales wrt a reference (0, 0, 15, 15) window.
    """
    # 请注意anchor的表示形式有两种,一种是记录左上角和右下角的坐标,一种是记录中心坐标和宽高
    # 这里生成一个基准anchor,采用左上角和右下角的坐标表示[0,0,15,15]
    base_anchor = np.array([1, 1, base_size, base_size]) - 1  # [0,0,15,15]
    ratio_anchors = _ratio_enum(base_anchor, ratios)  # shape: [3,4],返回的是不同长宽比的anchor
    anchors = np.vstack([_scale_enum(ratio_anchors[i, :], scales)
                         for i in range(ratio_anchors.shape[0])])  # 生成九个候选
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值