目标检测之SSD数据处理、训练与预测流程记录

写在前面:本文不详细介绍SSD,只记录一些大体流程,具体细节可见参考1,换用数据集训练SSD可见参考2
参考1:SSD代码细节讲解
参考2:SSD换数据集训练

给定图片如何得到对应的GT
  • SSD网络若指定了先验框的minsize和maxsize,则整个图片的所有先验框位置均固定。拿300SSD来说,可以得到8372个位置确定的先验框(存于model_data/prior_boxes_ssd300.pkl)
  • 图片所标注的物体位置(真实框)和所属类别(存于2007_train.txt)
  • 计算真实框对应的先验框,与这个先验框应当有的预测结果。
    【输入:8372先验框和图片标注的信息,输出:assignment(8372, 4+21+8)(4为先验框的位置坐标,21为分类得分,8中4个为偏移量,4个定值[0,0,0,0]为了和SSD的输出形式一致)】
    计算图片标注的真实框与所有的先验框的IOU,筛选出比阈值θ1大的先验框,将每个先验框对应的IOU值作为这些具有较大IOU先验框在预测时应该有的得分(即gt),并从中选取出最大的作为真实框的先验框,计算出此先验框与真实框的偏移量,将所有先验框保存至assignment,即为输入进来的这张图片,应该有的预测结果是什么样子的(Groundtruth)

给定图片如何训练网络
  • 给定一张图片,输入至SSD网络,输出3个量,所有先验框的位置信息(8372x4),所有先验框对应的偏移量(8372x8,前4个为偏移量,后四个为定值[0.1,0.1,0.2,0.2]),所有先验框对应预测框的分类得分(8372x21)
  • 将输出的结果与上一步的assignment存储的gt进行LOSS回归
    loss的计算分为三个部分:
    1、获取所有正标签的框的预测结果的回归loss。
    2、获取所有正标签的种类的预测结果的交叉熵loss。
    3、获取一定负标签的种类的预测结果的交叉熵loss。

给定图片通过网络预测
  • 同理给定一张图片,输入至SSD网络,输出输出3个量,所有先验框的位置信息(8372x4),所有先验框对应的偏移量(8372x8,前4个为偏移量,后四个为定值[0.1,0.1,0.2,0.2]),所有先验框对应预测框的分类得分(8372x21)。
  • 针对每一类别,选出得分大于阈值θ2(0.5)的先验框,再进行NMS去重,保留下较好的先验框,将label、置信度、框的位置进行堆叠存于results,选出topk(200)个先验框作为输出,最后在经过此阈值θ3(0.8)筛选,得到结果

图片标注

推荐使用LabelImg制作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值