【SSD修改输入尺寸】how to change SSD input size?SSD640/BRFSSD_640

本文介绍如何在PyTorch环境下,通过修改SSD代码实现自定义输入图像大小,以适应不同应用场景。以640x640输入为例,详细解释了featuremaps、min_sizes、max_sizes等参数调整方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

再也不局限于SSD300 和SSD512这两个版本了!!!

BRFSSD_vgg实现修改input size!!!

1、首先准备好一份SSD代码

推荐使用:https://github.com/lzx1413/PytorchSSD

框架:pytorch0.4.0

运行遇到报错:关于Sample.py 下面什么说东西不能放在gpu之类的。进行如下修改

anaconda3/envs/pytorch0.4.0/lib/python3.6/site-packages/torch/utils/data/sampler.py打开之后,修改下面那样

2、首先需要理解,SSD产生预测bbox的机制!RFBSSD也是同样的道理!

打开项目路径下的/PytorchSSD/data/config.py在里面能够看到很多相关配置!

我们这里以512的输入为例子

‘feature maps’:代表了来自不同层的特征,上面有7个值,来表了7个来源!大小分别是64x64,32x32,16x16,8x8,4x4,2x2,1x1.

‘min_dim’:代表输入图像的大小size

‘steps’:代表了上面那些feature maps分别是原图 下采用倍率,都是一一对应的

‘min_sizes’:代表了在对应feature map上每一个cell(pixle)所采用的anchor的最小size,

‘max_sizes’:同上

‘aspect ratios’:代表了anchor将会使用的长宽比,每一个feature maps来源都会默认使用1,再加上手动设定的比如[2,3]!

其他的暂不讨论。

接下来以第一个64x64 的fearure maps为例子,根据上面的设置,这一层将会得到总共anchor数量为64*64*2(min/max size)*3(ratios)。其他层也一样

3、如何得到ssd 的input size=640

首先建立参数:

【注意】:feature maps的size必须写对,不然后面计算loss的时候网络产生的bbox数目和预先生成的label数目的mask会对不上

在网络模型中加入640这部分的内容,其他的话,记得在训练文件train.py头文件加上VOC_640,以及设定训练参数为VOC 640。

 

 

 

 

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值