YOLOV3网络


一、YOLOV3网络结构

在这里插入图片描述

1.1 边界框的预测

网络使用维度集群作为锚点盒来预测边界框。网络预测每个边界框的4个坐标tx, ty, tw, th,具有维度先验和位置预测的边界框如图3.4所示,如果单元格与图像左上角偏移(cx, cy),且边界框先验具有宽度和高度pw, ph,则预测结果为:

在这里插入图片描述

在训练过程中,使用了误差损失平方和。如果某坐标预测的参考标准是,则梯度是参考标准值减去预测值:。这个参考标准值可以很容易地通过上述转换方程来计算。
在这里插入图片描述
网络使用逻辑回归预测每个边界框的对象得分。如果边界框先验与参考标准对象的重叠比任何其它边界框先验都多,那么这个值应该是1;如果边界框优先级不是最好的,但是与参考标准对象重叠超过某个阈值就忽略预测。本文使用的阈值是5,该网络仅为每个参考标准对象预先分配一个边界框。如果一个边界框先验没有分配给一个参考标准对象,它不会导致坐标或类预测的损失,而仅仅是一个对象。

1.2 分类预测

输入的图像被网络划分为S×S的网格,每个网络预测是否有物体的中心落入其内部。若某网格预测为是,则该网格再预测出B个检测边界框以及每个框的置信度(Confidence)。其中,置信度反映了检测边界框对其检测出物体的自信程度。计算公式为:
在这里插入图片描述
式中,Pr(Object)为边界框包含目标物体的概率;BBgt为基于训练标签的参考标准框(Uround Truth Box);BBdt为检测边界框;area(·)表示面积。每个框使用多标签分类来预测边界框可能包含的类。网络没有使用softmax,因为它对于良好的性能是不必要的,而是简单地使用独立的逻辑分类器。在训练过程中,使用二元交叉熵损失进行分类预测。

1.3 跨尺度预测

网络采用了三种不同尺度的预测边框,该网络提取特征来源使用了与特征金字塔网络[43]相似的概念,从基本特征提取器中添加了几个卷积层。最后预测了一个三维张量,包括编码边界框、目标和分类预测。

二、算法使用步骤

采用深度预警网络对高速行驶的侧后方车辆进行检测,其算法过程如下:
第一步:离线数据集的获取和网络的训练
基于本章所述的数据集制作过程进行数据集的制作,建立好深度预警网,在完整的图像上进行训练,使用多尺度的训练,大量的数据扩充,批处理标准化,使用Keras深度学习框架来训练和测试。在训练过程中,使用二元交叉熵损失进行分类预测。损失函数由坐标误差、IOU误差以及分类误差三部分组成,如公式 (3.11)。
在这里插入图片描述
最后通过前向传播和反向传播算法确定神经元之间的传递权值。
第二步:算法在线实时检测
通过第一步训练好的深度预警网络就可以实现高速环境下car、turck、bus不同车型的检测,深度预警网络算法流程如图3.7所示,该网络主要由卷积、残差块、上采样、连接块等操作完成,具体的操作流程和结构在第二章和本章3.1节已经进行了详细的介绍。算法的实质是:首先通过特征提取网络对输入416×416×3的图像进行提取特征,得到S×S大小的特征图,然后将输入图像分成S×S个网格单元,接着如果ground truth中某个检测目标的中心坐标落在某个网格单元中,那么就由该网格单元来预测该目标,因为每个网格单元都会预测3个边界框,这几个边界框中只有和ground truth的IOU最大的边界框才是用来预测该目标的。预测得到的输出特征图有两个维度是提取到的特征的维度,比如S×S,还有一个维度是B×(5+C)的深度,从而实现对高速驾驶环境下的目标车辆进行检测。

在这里插入图片描述

三、损失函数

我们都知道V3是经过V2,V1迭代而来的,接下来就分别介绍一下各个损失函数。

3.1 V1 loss 计算

在这里插入图片描述

3.2 V2 loss 计算

V2在v1基础上改动了关于bbox的w和h的损失计算方式 即从:
在这里插入图片描述

3.3 V3 loss 计算

在这里插入图片描述

3.3.1 V3 loss 计算

3.3.2 V3 loss 计算

3.3.2 V3 loss 计算

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Yolov3网络结构由几个基本组件组成。其中,CBL是Yolov3网络结构中的最小组件,由Conv+Bn+Leaky_relu激活函数三者组成。Res unit是借鉴了Resnet网络中的残差结构,使得网络可以构建得更深。ResX由一个CBL和X个残差组件构成,是Yolov3中的大组件。每个Res模块前面的CBL起到下采样的作用,因此经过5次Res模块后,得到的特征图大小从608变为304、152、76、38、19。除了这些基本组件外,还有一些其他基础操作,如Concat(张量拼接)和add(张量相加)。在Yolov3的主干网络Backbone中,共有52个卷积层,再加上一个FC全连接层,组成了Darknet53分类网络。需要注意的是,在目标检测Yolov3中,去掉了FC层,但仍然称其为Darknet53结构。\[1\] 另外,通过观察预测层的结构,我们可以清晰地看到它们分别来自哪个部分,并且Concatenate层与哪个层进行拼接。需要注意的是,Convolutional指的是Conv2d+BN+LeakyReLU,与Darknet53图中的一样,而生成预测结果的最后三层只是Conv2d。通过这些信息,我们可以更容易地搭建出Yolov3网络框架。\[2\] 如果对Yolov3网络结构还有疑惑,可以参考Github上一些大牛们基于Tensorflow搭建的Yolov3模型的代码进行进一步分析。\[3\] #### 引用[.reference_title] - *1* [Yolov3网络架构分析](https://blog.csdn.net/wujianing_110117/article/details/119381158)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [YOLO v3网络结构分析](https://blog.csdn.net/qq_37541097/article/details/81214953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZhiBing_Ding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值