【Faster R-CNN论文精度系列】代码解读并深入理解Anchor和Anchor Box

【Faster R-CNN论文精度系列】

(如下为建议阅读顺序)
1【Faster R-CNN论文精度系列】从Faster R-CNN源码中,我们“学习”到了什么?
2【Faster R-CNN论文精度系列】代码解读并深入理解Region Proposal Network
3【Faster R-CNN论文精度系列】代码解读并深入理解Anchor和Anchor Box
4【Faster R-CNN论文精度系列】原文精析

Preview

先来回顾一下Faster R-CNN原文中RPN(first module)的实现过程,其中涉及到对Anchor机制的描述,这是一个很值得深入研究的点,所以本文在前人的研究基础对anchor机制进一步展开研究,通过引入-源码-分析-举例的结构来帮助理解,转载请注明出处,感谢阅读。
如下图,是Faster R-CNN中first module的框架实现,输入一张任意的图片,然后resize到固定的图大小(实际上resize后的大小不确定,这里方便描述取了一个固定值),再进行特征提取(卷积神经网络),根据feature map的大小产生了一系列的anchor和anchor box:
在这里插入图片描述
可以看到,anchor box实际上是基于feature map的,而anchorbox的数量为:75 x 100 x 9 = 67500,这里的9就是论文中的k,后面会说道,也就是说,anchorbox的数量是依赖与featuremap的,featuremap上的每个点,都对应着k个anchor box。

源码分析

"""
# --------------------------------------------------------
# Faster R-CNN
# Copyright (c) 2015 Microsoft
# Licensed under The MIT License [see LICENSE for details]
# Written by Ross Girshick and Sean Bell
# --------------------------------------------------------

# --------------------------------------------------------
# generate_anchors.py功能描述:
# 生成多尺度、多宽高比的anchors
# 尺度分别为:128,256,512
# 宽高比分别为:宽高比为:1:2,1:1,2:1 
# --------------------------------------------------------
"""
import numpy as np #提供矩阵运算功能的库
"""
# 生成anchors的main函数:定义了一个列表ratios(表示宽高比)为:1:2,1:1,2:1  
# 定义了一个列表scales:[2^3 2^4 2^5],即:[8 16 32]
# 其中2**x表示:2^x,
"""
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.
    """
    base_anchor = np.array([1, 1, base_size, base_size]) - 1	#新建一个参考anchor数组:base_anchor:[0 0 15 15]  
    ratio_anchors = _ratio_enum(base_anchor, ratios)	#枚举各种宽高比
    anchors = np.vstack([_scale_enum(ratio_anchors[i, :], scales)
                         for i in xrange
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值