SSD论文阅读

SSD:Single Shot MuiltiBox Dectector论文阅读

实时one-stage目标检测:端到端训练,比YOLO更快但准确度和Faster RCNN相当

预测类别分数和相对于gt box的位置偏移

在不同层级的feature map预测不同宽高比DBox(Default Box,类似于archor),以检测不同形状和宽高比的物体

网络架构

在这里插入图片描述
VGG结构加多层feature map预测,以conv5为例,对feature map的每一个像素点设定不同框宽高比的DBox,预测过程就是预测这些DBox与BBox的位置偏差,以及当前DBox中存在什么样的物体
在这里插入图片描述

训练过程

训练过程的关键是怎么将原图中的BBox与feature map 中的DBox 对应起来并给出相应的位置偏移损失与置信度损失。

在具体操作时,首先将每一个BBOx的坐标归一化到[0,1],然后在不同的feature map上直接与当前同样归一化的DBox相比较即可。

DBox具体设置

对每一个feature map上的每个cell,都会定义不同大小和宽高比的K个DBox,对于每一个DBox
都预测c+4个值,c为要预测的种类数加一,4表示坐标位置。当预测时,对于一个H*W的feature map,使用3x3的卷积核输出k(c+4)个通道的值,用这些值与对应的BBox进行匹配与计算误差

DBox个数及大小选择:是可调整的超参数,我们对于不同层级的feature map,选择[0.2,0.9]之间等差数列为大小size,因为后面的feature map 更倾向于预测大的物体;我们选择6个宽高比为{1,2,3,1/2,1/3}的Box以及 s = s ∗ s + 1 s= \sqrt{s*s+1} s=ss+1 作为DBox的宽高

DBox坐标的设置:若当前特征图为[H,W],我们设置每一个[i,j]处DBox的中心为 ( i + 0.5 H , j + 0.5 W ) ( \frac{i+0.5}{H},\frac{j+0.5}{W}) (Hi+0.5,Wj+0.5)

其实这些DBox设置都是根据只管来的,也可以设置更好的DBox

DBox与BBox的匹配策略

现在我们在每一个feature map上都得到了一堆DBox,BBox,下面讲解怎么将其进行匹配:

对每一个DBox,只要其IOU与一个BBOx超过0.5(且是最大IOU的BBox),我们将其配对,这样一个BBox可能与多个DBox进行配对,其余的分为负样本

网络预训练

原文中网络是根据VGG16的模型参数进行训练,使用一直到conv5_3的参数,将原文中pool5层改为size3,stride1的卷积,然后使用空洞卷积来适应之后的维数,其中conv6和conv7的参数分别是从原VGG16中fc6和fc7的参数中采样而来,(暂时还不知道为什么这么做)

Loss计算过程

Loss分为置信度损失(softmax)和位置损失(smoothL1), x i j p = 1 x_{ij}^p=1 xijp=1表明第i个DBox与第j个BBox匹配成功且类别为p。N为正样本的数目。则:
L ( x , c , l , g ) = 1 N ( L c o n f ( x , c ) + α L l o c ( x , l , g ) ) L(x,c,l,g) = \frac{1}{N}(L_{conf}(x,c) + \alpha L_{loc}(x,l,g)) L(x,c,l,g)=N1(Lconf(x,c)+αLloc(x,l,g))
在这里插入图片描述

Hard negative mining

由于一个图片中的目标很少,会导致负样本比较多,从而带来类别不平衡问题,我们将负样本按照其置信度损失排序,选择损失较高的一些作为实际的负样本,一般来说:负:正=3:1

数据增强策略

  1. 使用原始的图像
  2. 在图像上进行裁剪使得新的图片对目标框的IOU为[0.1,0.3,0.5,0.7,0.9]
  3. 随机进行裁剪

每一个新图像的大小为[0.1,1],宽高比为[0.5,2],采样后对图像块进行resize,以0.5概率进行左右翻转,然后应用一般的图像像素级别变形。

网络测试

我们对一张图片预测出的框以置信度损失阈值(0.01)进行筛选,然后进行非极大值抑制来得到结果

一些其他的结论

  1. 对于小的目标表现不好
  2. 对于相似的类别表现不好
  3. 数据增强的策略非常重要
  4. 设置更多的输出层进行预测会更好
  5. 更多的DBox形状会更好
  6. 使用atrous策略会更快
  7. 512的输入比300更好
针对小目标的数据增强
  1. 将图像边缘进行扩充(一般来说以均值方式)然后resize,放入训练
  2. 设置更好的DBox
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值