yolo 深度学习_YoLo v1-v3深度学习网络-结构简介

引言:如今基于深度学习的目标检测已经逐渐成为自动驾驶,视频监控,机械加工,智能机器人等领域的核心技术,而现存的大多数精度高的目标检测算法,速度较慢,无法适应工业界对于目标检测实时性的需求,这时YOLO算法横空出世,以近乎极致的速度和出色的准确度赢得了大家的一致好评。基于此,我们选择YOLO算法来实现目标检测。YOLO算法目前已经经过了3个版本的迭代,在速度和精确度上获得了巨大的提升,我们将从YOLOV1开始讲起,直至目前最新的版本YOLOV3。

一、YOLO V1 一步检测的开山之作

相对于传统的分类问题,目标检测显然更符合现实需求,因为往往现实中不可能在某一个场景只有一个物体,因此目标检测的需求变得更为复杂,不仅仅要求算法能够检验出是什么物体,还需要确定这个物体在图片哪里。在这一过程中,目标检测经历了一个高度的符合人类的直觉的过程。既需要识别出目标的位置,将图片划分成小图片扔进算法中去,当算法认为某物体在这个小区域上之时,那么检测完成。那我们就认为这个物体在这个小图片上了。而这个思路,正是比较早期的目标检测思路,比如R-CNN。后来的Fast R-CNN,Faster R-CNN[16]虽有改进,比如不再是将图片一块块的传进CNN提取特征,而是整体放进CNN提取特征图后,再做进一步处理,但依旧是整体流程分为 ‘区域提取’和‘目标分类’两部分(two-stage),这样做的一个特点是虽然确保了精度,但速度非常慢,于是以YOLO(You only look once)为主要代表的这种一步到位(one-stage)即端到端的目标检测算法应运而生了。

1.1  YOLO v1基本思想

YOLO v1的核心思想在于将目标检测作为回归问题解决 ,YOLO v1首先会把原始图片放缩到448×448的尺寸,放缩到这个尺寸是为了后面整除来的方便。然后将图片划分成SxS个区域,注意这个区域的概念不同于上文提及将图片划分成N个区域扔进算法的区域不同。上文提及的区域是将图片进行剪裁,或者说把图片的某个局部的像素输入算法中,而这里的划分区域,只的是逻辑上的划分。

如果一个对象的中心落在某个单元格上,那么这个单元格负责预测这个物体。每个单元格需要预测B个边界框(bbox)值(bbox值包括坐标和宽高),同时为每个bbox值预测一个置信度(confidence scores)。

此后以每个单元格为单位进行预测分析。

这个置信度并不只是该边界框是待检测目标的概率,而是该边界框是待检测目标的概率乘上该边界框和真实位置的IoU(框之间的交集除以并集)的积。通过乘上这个交并比,反映出该边界框预测位置的精度。如下式所示:

每个边界框对应于5个输出,分别是x,y,w,h和置信度。其中x,y代表边界框的中心离开其所在网格单元格边界的偏移。w,h代表边界框真实宽高相对于整幅图像的比例。x,y,w,h这几个参数都已经被限制到了区间[0,1]上。除此以外,每个单元格还产生C个条件概率,。注意,我们不管B的大小,每个单元格只产生一组这样的概率。

图一:YOLO预测图示

在test的非极大值抑制阶段,对于每个边界框,按照下式衡量该框是否应该予以保留。

这就是每个单元格的个体分类置信度得分(class-specific confidence scores),这即包含了预测的类别信息,也包含了对bbox值的准确度。 我们可以设置一个阈值,把低分的class-specific confidence scores滤掉,剩下的留给给非极大值抑制,得到最终的标定框。

在PASCAL VOC进行测试时,使用S=7, B=2。由于共有20类,故C=20。所以,网络输出大小为7×7×30

1.2网络模型结构

图二:网络框架

该网络结构包括 24 个卷积层,最后接 2 个全连接层。Draknet[13]网络借鉴 GoogleNet 的思想,在每个1x1的卷积层之后再接一个3?3的卷积层的结构替代 GoogleNet 的Inception结构。论文中还提到了更快版本的 Yolo,只有 9 个卷积层,其他则保持一致。

1.3损失函数

YOLO v1全部使用了均方差(mean squared error)作为损失(loss)函数。由三部分组成:坐标误差、IOU误差和分类误差。

考虑到每种loss的贡献率,YOLO v1给坐标误差(coordErr)设置权重λcoord=5。在计算IoU误差时,包含物体的格子与不包含物体的格子,二者的IOU误差对网络loss的贡献值是不同的。若采用相同的权值,那么不包含物体的格子的置信度值近似为0,变相放大了包含物体的格子的置信度误差,在计算网络参数梯度时的影响。为解决这个问题,YOLO 使用λnoobj=0.5修正(置信度误差)iouErr。(此处的‘包含’是指存在一个物体,它的中心坐标落入到格子内)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值