首页 > 其他分享 >yoloV2

yoloV2

时间:2023-02-24 16:46:17浏览次数:51  
标签:预测 网络 Batch YOLOv2 先验 使用 yoloV2

引用:

https://zhuanlan.zhihu.com/p/35325884
https://blog.csdn.net/qq_40716944/article/details/114822515

1.1 Batch Normalization

在YOLOv2中,每个卷积层后面都添加了Batch Normalization层,并且不再使用droput。使用Batch Normalization后,YOLOv2的mAP提升了2.4%。

1.2 High Resolution Classifier(finetune微调)

先使用224224图像YOLOv2增加了在ImageNet数据集上使用 448448输入来finetune分类网络这一中间过程(10 epochs),这可以使得模型在检测数据集上finetune之前已经适用高分辨率输入。即224224训练检测网络->448448图像训练分类部分网络->448*448图像训练检测网络。使用高分辨率分类器后,YOLOv2的mAP提升了约4%。

1.3 anchor boxes(预设置anchor,相对比v1可以有更多预测框)

YOLOv1包含有全连接层,从而能直接预测Bounding Boxes的坐标值(由于对BB没有限制,会导致预测框在图里乱飘,难以回归)。YOLOv2借鉴Faster RCNN的做法,YOLOv2也尝试采用先验框(anchor)。在每个grid预先设定一组不同大小和宽高比的边框,来覆盖整个图像的不同位置和多种尺度,这些先验框作为预定义的候选区在神经网络中将检测其中是否存在对象,以及微调边框的位置。
YOLOv1并没有采用先验框,并且每个grid只预测两个bounding box(中共最多772=98个框,导致可以预测的框很少,密集目标,小目标效果都不是很好),也就是整个图像只有98个bounding box。YOLOv2如果每个grid采用9个先验框,总共有13139=1521个先验框。

1.4 Dimension clusters(对框使用k-means,使用iou为衡量标准)

相对于ssd和faster rcnn,不再使用手动预先设置参数。YOLOv2的做法是对训练集中标注的边框进行K-means聚类分析,以寻找尽可能匹配样本的边框尺寸。如果用标准的欧式距离的k-means,尺寸大的框比小框产生更多的错误。因为我们的目的是提高IOU分数,这依赖于Box的大小,所以距离度量的使用:
我是图片

1.5 Direct location prediction (预测框位置限制)

按照之前YOLOv1的方法,网络不会预测偏移量,而是根据YOLOv1中的网格单元的位置来直接预测坐标,这就让Ground Truth的值介于0到1之间。而为了让网络的结果能落在这一范围内,网络使用一个 Logistic Activation来对于网络预测结果进行限制,让结果介于0到1之间。 网络在每一个网格单元中预测出5个Bounding Boxes,每个Bounding Boxes有五个坐标值tx,ty,tw,th,t0,他们的关系见下图。假设一个网格单元对于图片左上角的偏移量是cx,cy,Bounding Boxes Prior的宽度和高度是pw,ph,那么预测的结果见下图右面的公式:

1.6 Fine-Grained Features

YOLOv2引入一种称为passthrough层的方法在特征图中保留一些细节信息。具体来说,就是在最后一个pooling之前,特征图的大小是2626512,将其1拆4,直接传递(passthrough)到pooling后(并且又经过一组卷积)的特征图,两者叠加到一起作为输出的特征图。

具体怎样将1个特征图拆成4个特征图,见下图,图中示例的是1个44拆成4个22,因为深度不变,所以没有画出来。

1.7 多尺度训练策略

YOLOv2每迭代几次都会改变网络参数。每10个Batch,网络会随机地选择一个新的图片尺寸,由于使用了下采样参数是32,所以不同的尺寸大小也选择为32的倍数{320,352…..608},最小320320,最大608608,网络会自动改变尺寸,并继续训练的过程。这一政策让网络在不同的输入尺寸上都能达到一个很好的预测效果,同一网络能在不同分辨率上进行检测。当输入图片尺寸比较小的时候跑的比较快,输入图片尺寸比较大的时候精度高.

1.8 损失函数

标签:预测,网络,Batch,YOLOv2,先验,使用,yoloV2
From: https://www.cnblogs.com/chaojiwude/p/17151716.html

相关文章

  • OpenCV+yolov2-tiny实现目标检测(C++)
    OpenCV+yolov2-tiny实现目标检测(C++)  目标检测算法主要分为两类:一类是基于RegionProposal(候选区域)的算法,如R-CNN系算法(R-CNN,FastR-CNN,FasterR-CNN),它们是two-stag......