文章目录
YOLO v2,又称为YOLO9000,是YOLO(You Only Look Once)系列算法中的一个重要版本,由Joseph Redmon等人在2016年提出。该算法在目标检测领域取得了显著的成就,以其高效、准确的特点受到了广泛关注。以下是对YOLO v2的详细介绍:
一、核心原理
YOLO v2将目标检测问题视为一个单个的回归问题,通过在图像上划分网格并在每个网格上预测边界框(Bounding Boxes)和类别概率来实现目标检测。这种方法的优点是能够快速地处理图像并给出检测结果。
二、网络框架
- Darknet-19:YOLO v2采用了一个新的基础模型(特征提取器),称为Darknet-19。它包括19个卷积层和5个最大池化(maxpooling)层,主要用于提取图像特征。Darknet-19的设计原则与VGG16一致,主要采用3x3卷积,并且在3x3卷积之间使用1x1卷积来压缩特征图通道数以降低模型计算量和参数。使用Darknet-19后,YOLOv2的计算量减少了约33%,同时保持了较高的检测精度。
- 如下图:
- Darknet-19最终采用global avgpooling 做预测
- 上图是yolov2的网络结构,前18层卷积结构和分类模型的前18层一样,第13个卷积层生成的特征图的尺寸为26x26x512,在这个卷积层接上paththrough结构
三、改进策略
相对于YOLO v1的改进,如下图:
-
Batch Normalization(批次归一化):
- YOLO v2在每个卷积层后面都添加了Batch Normalization层,以加快收敛速度,降低模型过拟合。
- 这一改进使得YOLO v2的平均准确率均值(mAP)提升了2.4%。
-
hi-res classifier(高分辨率分类器):
- YOLO v2使用ImageNet预训练模型,并将输入图像的分辨率从224x224提高到448x448进行了10轮训练的微调
- 使模型的mAP提升了约4%。
-
Convolutional With Anchor Boxes:
- 原来的YOLO是利用全连接层直接预测bounding box(预选框)的坐标,而YOLOv2借鉴了Faster R-CNN的思想,引入anchor。
- 首先将原网络的全连接层和最后一个pooling层去掉,使得最后的卷积层可以有更高分辨率的特征。
- 在检测模型中,YOLOv2不是采用448x448的图片作为输入,而是采用416x416大小的图片。因为YOLOv2模型下采样的总步长为32 ,对于416x416大小的图片,最终得到的特征图大小为13x13,维度是奇数,这样特征图恰好只有一个中心位置。
- 对于一些大物体,它们中心点往往落入图片中心位置,此时使用特征图的一个中心点去预测这些物体的边界框相对容易些(因为大的物体一般会占据图像的中心,所以希望用一个中心点去预测,而不是4个中心点去预测),所以在YOLOv2设计中要保证最终的特征图有奇数个位置。
-
Dimension Cluster:
- YOLOv2采用k-means聚类方法对训练集中的边界框做了聚类分析。
- 因为设置先验框的主要目的是为了使得预测框与ground truth(真实框)的IOU更好,到聚类中心的距离越小越好,但IOU值是越大越好,所以使用 1 - IOU,这样就保证距离越小,IOU值越大
- 因此:
- 下图为在VOC和COCO数据集上的聚类分析结果,随着聚类中心数目的增加,平均IOU值(各个边界框与聚类中心的IOU的平均值)是增加的,但是综合考虑模型复杂度和召回率,发表此模型论文的作者最终选取5个聚类中心作为先验框,其相对于图片的大小如右边图所示。
- 但值得注意的是,在YOLO v2的最终实现中,先验框还是采用了预设的方式。
-
New Network:Darknet-19 :
- 模型结构在上面的网络框架中 已经介绍过,使用Darknet-19后,YOLOv2的计算量减少了约33%,同时保持了较高的检测精度。
-
Direct Location Prediction:
- Direct Location Prediction:是一种方法,其目的是进行位置微调,预测偏移量。它用于限制偏移量,以防止在训练时出现发散。这种方法预测的是相对位置,即相对于网格的偏移量
- 边界框的中心坐标如下计算:
- 但是上面的公式是无约束的,预测的边界框很容易向任何方向偏移,因此每个位置预测的边界框可以落在图片任何位置,这导致模型的不稳定性,在训练时需要很长时间来预测出正确的偏移量。
- 所以,YOLOv2弃用了这种预测方式,而是沿用YOLOv1的方法,就是预测边界框中心点相对于对应网格左上角位置的相对偏移值,为了将边界框中心点约束在当前网格中,使用sigmoid函数处理偏移值,这样预测的偏移值在(0,1)范围内(每个网格的尺度看做1)
- 计算公式和示例如下图:
-
Fine-Grained Features:
- 在上面的网络结构中提到在卷积层接上paththrough结构,passthrough层中以前面更高分辨率的特征图为输入,然后将其连接到后面的低分辨率特征图上
- 高辨率的图片经passthrough层处理之后就变成4x13x13x512的新特征图,这样就可以与后面的13x13x1024特征图连接在一起形成13x13x3072大小的特征图
- 这样的融合方法,可以找到更多的特征目标
- 如下图:
-
Multi-Scale Training:
- 由于YOLOv2模型中只有卷积层和池化层,所以YOLOv2的输入可以不限于416x416大小的图片
- 由于YOLOv2的下采样总步长为32,输入图片大小选择一系列为32倍数的值,最小的图像尺寸为320x320,最大的图像尺寸为608x608
- YOLO v2 在训练过程中每间隔一定的训练轮数,便会改变输入图片的大小,以此来提高模型对不同尺寸图片处理的能力
四、性能表现
YOLO v2在速度和准确性方面取得了较大的改进。它能够在实时环境中运行,处理速度可达30~45 FPS(Frames Per Second),非常适合需要快速响应的应用场景,如视频监控和自动驾驶。同时,YOLO v2还通过数据增强等技术进一步提高了模型的泛化能力,能够检测多种尺寸和形状的目标。在VOC2007测试集上,YOLO v2以67FPS的推理速度达到76.8%mAP;在大尺寸输入下,以40FPS的推理速度达到78.6%mAP。
标签:YOLOv2,卷积,检测,模型,YOLO,19,v2 From: https://blog.csdn.net/weixin_73504499/article/details/143169874