YOLOV1_《You Only Look Once: Unfied,Real-Time Object Detection》论文概读

YOLO概述   

YoLo与传统检测算法相比较有以下几个优点:

  1.    YoLo运行特别快;
  2.    YoLo是对整幅图像进行预测的,背景错误比较少;
  3.    YoLo可以学到目标的广义特征,泛化性比较强;

具体的实现过程

        把输入图像分为s*s个grids,如果一个目标的中心在一个grid单元中,这个grid单元就表示识别该目标。每个grid预测B个目标框和每个目标框的confidence,confidence代表了所预测的box含有object的置信度和这个box预测的多准两重信息。如果没有目标存在单元格中,confidence就是0。每一个目标框包含5个预测值:x,y,w,h和confidence,还有包含目标的类别信息。

YoLo是一个回归的问题,把图片分成S*S的小格子,对于每一个grid预测B个目标框,这些目标框的估计值confidence和C个类别的概率。这些预测值被编码为S*S*(B*5+C)个tensor;

 模型结构

输入图像大小为448*448,经过若干个卷积层和池化层,变为7*7*1024张量(图中倒数第3个模块),最后经过两层全连接层,输出张量维度为7*7*30.和一般的卷积物体分类网络没有太大区别,最大的区别是:分类网络最后的全连接层,一般连接于一个一维向量,向量的不同代表不同类别的概率,而这里输出向量是一个三维的张量(7*7*30),代表每个grid中的类别概率。这个模型结构受启发于GoogleNet.

在具体实现时,对于目标框的w和h用图像的宽和高进行归一化到0和1之间,对于目标框的坐标x和y归一化到距离格子点坐标的偏移值,归一化到0和1之间。

损失函数

\lambda {_{coord}}\lambda _{noobj}的作用就是让含有目标物的格点在损失函数中的权重大,让模型更加重视含有物体的格点所造成的损失。

\mathbb{I}_{i}^{obj}表示在含有object的那些grid中该值为1,当不含有object时该值为0.

第二行中用根号是为了尽可能的消除大尺寸框与小尺寸框的差异。

第三行和第四行预测框的置信度C.当该grid不含物体时,该置信度的标签为0;若含有object时,该置信度为预测框与真实物体框的IOU数值。

第五行为物体的类别概率;

在损失函数计算中,只对真实物体最接近的框计算损失,其它框不进行修正,这样操作后,一个grid的两个框在尺寸上、长宽比、或者某些类别上逐渐有分工,总体召回率上升。

训练的规则

第一个epoch缓慢的把学习率由10e-3增加到10e-2,用10e-2的学习率训练75个epochs,用10e-3训练30个epochs,最后用10e-4训练30个epochs。为了防止过拟合用dropout和数据增强,

通常来说,在预测的时候,格点与格点并不会冲突,但是在预测一些大物体或者邻近物体时,会有多个格点预测了同一个物体,此时采用非极大抑制技巧可以过滤掉一些重叠的矩形框。yolo也有其应用个限制,对于小的目标并且成群出现的例如成群的鸟儿识别效果有限。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值