YOLO系列

这几天整理了一下目标检测的模型,整理一下以便以后参考。

目前,基于深度学习算法的一系列目标检测算法大致可以分为两大流派: 
1.两步走(two-stage)算法:先产生候选区域然后再进行CNN分类(RCNN系列), 
2.一步走(one-stage)算法:直接对输入图像应用算法并输出类别和相应的定位(YOLO系列)

 

RCNN系列

faster—Rcnn中也是整个图片输入,然后得到的是一个端到端的模型,但是Faster-Rcnn中还是采用的RCNN系列的proposal+classifier的思想即先识别出区域再用分类器进行分类,Faster-Rcnn只不过讲提取proposal的步骤方法了卷积层中。详情见上面的链接。

YOLO

YOLO算法的基本思想是

  1. 首先通过特征提取网络对输入图像提取特征,得到一定size的feature map,比如13*13,然后将输入图像分成13*13个grid cell.
  2. 接着如果ground truth中某个object的中心坐标落在哪个grid cell中,那么就由该grid cell来预测该object,因为每个grid cell都会预测固定数量的bounding box(YOLO v1中是2个,YOLO v2中是5个,YOLO v3中是3个,这几个bounding box的初始size是不一样的),那么这几个bounding box中最终是由哪一个来预测该object?答案是:这几个bounding box中只有和ground truth的IOU最大的bounding box才是用来预测该object的。
  3. 可以看出预测得到的输出feature map有两个维度是提取到的特征的维度,比如13*13,还有一个维度(深度)是B*(5+C),注:YOLO v1中是(B*5+C),其中B表示每个grid cell预测的bounding box的数量,比如YOLO v1中是2个,YOLO v2中是5个,YOLO v3中是3个,C表示bounding box的类别数(没有背景类,所以对于VOC数据集是20),5表示4个坐标信息和一个置信度(objectness score)。
     

yolo V1(CVPR 2016)

YOLO的检测思想不同于R-CNN系列的思想,它将目标检测作为回归任务来解决。它的核心思想就是直接以整张图作为输入,直接在输出层回归bounding box(边界框)的位置信息以及对象所属的类别。

粗略流程:

  • 给定一张输如图片,将图片粗暴的分为7*7的网格
  • 默认对于每一个网格默认有两个边框(包括边框中心、长、宽、是否有对象的confidence、在20个类别上的概率),就相当于提取了98个框
  • 根据阈值去除可能性较低的框(也就是网络认为没有对象),最后用NMS去除重叠高的窗

网络结构:

Yolo采用卷积网络来提取特征,然后使用全连接层来得到预测值。网络结构参考GooLeNet模型,包含24个卷积层和2个全连接层,如图所示。对于卷积层,主要使用1x1卷积来做channle reduction,然后紧跟3x3卷积。对于卷积层和全连接层,采用Leaky ReLU激活函数:。但是最后一层却采用线性激活函数

è¿éåå¾çæè¿°

448*448*3  卷积的stride是1,卷积两次,maxpooling 两次448/2/2得到下一层的特征图大小112*112,最后得到的是7*7大小的特征图所以把图片分成7*7大小的网格

坐标归一化

因为这里是当作回归问题来解决的,所以所有的输出包括坐标和宽高最好都定义在0到1之间。

来看一下每个单元格预测的B个(x,y,w,h,confidence)的向量和C的条件概率中,每个参数的含义(假设图片宽为{wi}高为{hi},将图片分为S×S): 

1.(x,y)是bbox的中心相对于单元格的offset :

对于上图中蓝色框的那个单元格(坐标为(x_{col}=1,y_{row}=4),假设它预测的输出是红色框的bbox,设bbox的中心坐标为(x_c,y_c),那么最终预测出来的(x,y)是经过归一化处理的,表示的是中心相对于单元格的offset,计算公式如下: 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值