对SSD代码的一些理解

论文疑惑

1、anchor_sizes 设定了 21、45、99、153、207、261、315几个anchor尺寸,这些尺寸定义在输入图像300*300上。例如,对于anchor_size=21的default box,其对应的特征图尺寸为38*38,那么对于特征图38*38上的任意一个像素来说,像素值是由原图上的3*3 经过卷积后得到,因此将原图的3*3区域看做特征图该像素的感受野,那么对整个feature map来说,感受野是整个输入图像。那么,anchor_size即为原图对应感受野的尺寸,feature map上一个像素相当于原图中的300/38=7.89 个像素,anchor_size = 21,相当于输入图像上尺寸为21/7.89 =  2.66 的区域。

2、在每一个feature map上,default boxes的anchor_size固定,只通过改变先验框的长宽比anchor_ratio,即可生成不同的先验框。在较大的图像上,适合检测较小的物体,较小的图像上检测大物体,因此采用较小的anchor_size作为前面的feature map,后面的feature map采用较大的anchor_size。

为什么用加法?ssd_multibox_layer中的代码:num_anchors = len(sizes) + len(ratios),这其实是针对每个extra feature layer而言,default boxes 的个数由纵横比的个数决定,举例来说,对于archor_ratio={1, 2, 3,1/2, 1/3},根据原文可知,除了列表中提供的五个纵横比以外,还包括有一个纵横比等于1的box,只不过相对于当前层对应的archor_size来说,这个box的尺寸会发生变化,其值等于当前层对应的archor_size与下层archor_size乘积的平方根,增加这一default box的目的是为了添加一个较大的先验框。

 

代码疑惑

from collections import namedtuple

SSDParams = namedtuple('SSDParameters', ['img_shape',
                                         'num_classes',
                                         'no_annotation_label',
                                         'feat_layers',
                                         'feat_shapes',
                                         'anchor_size_bounds',
                                         'anchor_sizes',
                                         'anchor_ratios',
                                         'anchor_steps',
                                         'anchor_offset',
                                         'normalizations',
                                         'prior_scaling'
                                         ])

namedtuple 是用来创建一个自定义的tuple对象(数据类型),它既具备tuple元素的个数,也可以用属性而不是索引来引用tuple的某个元素。例如,SSDParameters.img_shape就可以访问img_shape的值。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值