yolo系列——yolov2

v2 用coco数据集训练后,可以识别80个种类。Yolo9000可以使用coco数据集+ImageNet数据集联合训练,可以识别9000多个种类,但核心都是yolov2的算法。
(1)batch normlization
a)在目前的网络结构中,BN逐渐变成了标配,在YOLO的每个卷积层中加入BN之后,MAP提升了2%,并且除了Dropout。
(2)相比v1的改进
a)在v1中,网络的backbone部分会在ImageNet数据集上进行预训练,训练时网络输入图像的分辨率224*224
b)在V2中,输入图片提高为448*448的ImageNet数据集上训练10个epoch,再使用检测数据集(例如coco)进行微调。预训练时mAP提高了大约4%。
c)在v2中,神经网络不对预测框(宽,高)的绝对值进行预测,而是预测框与Anchor框的偏差
d)训练时,与最接近ground truth的框产生loss,其余框不产生loss。
e)v2中移除了最后两层全连接层,全连接层计算量大,耗时久。
(3)Anchor box产生的方法
a)在v2中,anchor Box的宽高不经人为获得,而是将训练数据集中的矩形框全部拿出来,用Kmeans聚类得到先验框的宽高,
b)例如使用5个anchor Box,那么Kmeans聚类的类别中心个数设置为5。
c)聚类必须要定义聚类点之间的距离数
步骤:
(1) 提取所有训练数据的bounding boxes 的宽高数据。将坐标数据转化为宽高大小,计算方法:长=右下角横坐标–左上角横坐标,宽=右下角纵坐标-左上角纵坐标
(2) 初始化k个anchor box,通过在所有的bounding boxes中随机选取K个值作为k个anchor boxes的初始值。
(3) 计算每个bounding box与每个anchor box 的iou值

(4) 分类:我们通过比较每个bounding box 与每个anchor box的误差大小,选取最小误差的那个anchor box,将这个bounding box 分类给它,对于每个bounding box都做这个操作,最后记录下来的每个anchor box 有哪些bounding box属与它。
(5) anchor box更新:对于每个anchor box中的那些bounding box,我们再求这些bounding box 的宽高中值大小,将其作为该anchor box新的尺寸
(6) 重复操作第3步到第五步,直到在第五步中发现对于全部bounding box 其所属的anchor box类与之前所属anchor box类完全一样(bounding box不再更新)。
(4)绝对值位置预测(用锚框表示图像中物体的真实框)
预测框数(bb)=网格数锚框数(ab)
预测框的坐标信息表示(tx,ty,tw,th)
每个锚框所对应的网格的左上角坐标(cx,cy)
锚框的的宽度和长度(ph,pw)
真实框的预测
在这里插入图片描述
(5)细粒度特征
26
26的特征图经过卷积层等,变为1313的特征图后,损失了很多细粒度的特征,导致小尺寸物体的识别效果不佳,因此加入了passthrough层(将26261的特征图变成13134的特征图,这种操作不损失细粒度特征)
(6)多尺度训练
• Yolo v2中只有卷积层与池化层, 所以对于网络的输入大小, 并没有限制, 整个网络的降采样倍数为32, 只要输入的特征图尺寸为32的倍数即可。
• 在每10个batch之后, 就将图片resize成{320, 352, …, 608}中的一种。 不同的输入,最后产生的格点数不同。
• 在引入了多尺寸训练方法后, 迫使卷积核学习不同比例大小尺寸的特征。 当输入设置为544
544甚至更大, Yolo v2的mAP已经超过了当时其他的物体检测算法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值