YOLO v3

YOLO系列(三)——YOLO v3



前言

该系列为博主自主学习YOLO系列的自我总结。本篇是对YOLOv3进行一个总结和分析。本文主要从以下五个改进点进行分析和总结:Bounding Box Prediction、Class Prediction、Predictions Across Scales、 Feature Extractor、Training。


一、Bounding Box Prediction

YOLO v3的Bounding Box由YOLOV2又做出了更好的改进。在yolo_v2和yolo_v3中,都采用了对图像中的object采用k-means聚类。feature map中的每一个cell都会预测3个边界框(bounding box) ,每个bounding box都会预测三个东西:
(1)每个框的位置(4个值,中心坐标t_x和t_y,框的高度b_h和宽度b_w)
(2)一个objectness score
(3)N个类别
第二点的objectness score是YOLOv3的改进点,这个score是由logistic回归对anchor box进行计算得到的。如果当anchor box先验框是最优解时,score=1,先验框保留;反之,score=0,先验框剔除。判断是否为最优解可依据IOU的值。这一步骤是在predict之前,可以去掉多余的anchor boxes,减少计算量。


二、Class Prediction & Loss Function

在分类预测的训练过程中,采用的损失函数是二分类交叉熵损失函数。不采用Softmax的原因是很多目标存在重叠的类别标签,例如秋田犬既是秋田犬也是狗。Sotfmax只会输出预测值最大的那一个类别。多标签方法可以对数据进行更好的建模。


三、Predictions Across Scales

多尺寸输出预测算是YOLOv3的一个重大改进。
在这里插入图片描述
上图是YOLOv3的网络结构图。从图中可以看出y1、y2、y3代表着3种不同尺度的输出:13×1326×2652×52,深度都是255。 255是从*[3 ∗ (4 + 1 + 80)]=255*得来的。其中,3表示三种不同的尺寸输出,4表示预测框的坐标和宽高,1是置信度,80是类别个数。


四、Feature Extractor

在这里插入图片描述
在特征提取方面,YOLOv3采用的Darknet-53,包含53个卷积层。因为输出是3种不同尺寸的输出,所以在网络中涉及到网络层的拼接,属于残差结构。YOLOv3网络的残差结构中没有使用全连接层,最后采用的全连接只是为了分类。同时为了降低池化带来的梯度负面效果,也没有用池化层(反向传播中,池化不可导),而降采样是通过改变卷积层的stride实现的。
为了加强算法对小目标检测的精确度,YOLOv3中采用类似FPN的upsample和融合做法,最后融合了3个scale,分别是13×1326×2652×52,在多个scale的feature map上做检测。


YOLO (You Only Look Once) v3 是一种物体检测算法,它的特点是可以在一次前向传递中同时检测多个物体。 YOLO v3 的算法流程主要包括以下几个步骤: 1. 输入图像:将待检测的图像作为算法的输入。 2. 建立特征图:将输入图像通过多卷积网络(Darknet-53)进行处理,得到不同尺度的特征图。这些特征图对应不同大小的物体目标。 3. 物体分类:对特征图进行分类,使用卷积和全连接来学习和预测各个物体类别的概率。 4. 边框回归:使用卷积和全连接来预测每个物体的边界框,同时学习修正这些边界框的位置、尺寸和置信度。 5. 非极大值抑制(NMS):在同一个特征图上,使用非极大值抑制算法来排除重叠的边界框,只保留最具置信度的边界框。 6. 物体检测输出:将经过非极大值抑制的边界框输出到最终的检测结果。 YOLO v3 还有一些改进的地方,包括使用3个不同的尺度来进行物体检测,每个尺度上都有不同大小的边界框,以适应不同大小的物体目标;采用多尺度训练和测试,以提高对小物体的检测精度;在多尺度的特征图上进行预测,以提高对不同大小物体的检测能力。 总结来说,YOLO v3 的算法流程是通过卷积神经网络从输入图像中提取特征图,然后对特征图进行物体分类和边框回归,最后利用非极大值抑制算法得出最终的物体检测结果。这种算法流程使得 YOLO v3 能够以较快的速度实现准确的实时物体检测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值