YOLO v3(学习笔记)

目录

[1.YOLO v3 网络介绍](#1.YOLO v3 网络介绍)

(1)网络结构

(2)输入尺度3种

(3)网络输出

(4)边界框预测

(5)正负样本的划分

2.损失计算

[(1)置信度损失(confidence loss)](#(1)置信度损失(confidence loss))

(2)分类损失

(3)目标定位损失


1.YOLO v3 网络介绍
(1)网络结构
  • 网络叫Darknet-53是因为有53个卷积层,右下角有计算
  • 其中框起来的部分是残差结构,可以看出来整体Darknet-53的网络结构和残差网络区别不大,都是堆叠残差结构,但是Darknet-53中没有最大池化层(max pooling layer),所有的下采样都是通过卷积层(s=2)来实现的
  • 每个Convolutional也是由卷积+BN+激活函数组成;残差结构如图。
(2)输入尺度3种
  • YOLO v3选取了三种预测尺度(三种尺度的输出),每种尺度有对应的3种anchor。
(3)网络输出
  • YOLO v3每个网格生成3个边界框,80个类别,所以最后的输出维度为 N×N×(3×(5+80))
  • 上图是以YOLO v3 416模型进行绘制的,所以输入的尺寸是416x416,预测的三个特征层大小分别是13,26,52。
  • 可以看到,13×13的特征图,先经过第一个Convolutional Set,一个分支是去输出第一个尺度(13×13)的预测结果;另一个分支是通过上采样 ,使宽高扩大两倍变为26×26,并和上面浅层网络26×26的特征图拼接 ,得到的特征图再去进行第二个尺度(26×26)的预测;同样的操作,进行第三个尺度(52×52)的预测
(4)边界框预测
  • 在 YOLO v2 中没有仔细将关于目标边界框预测的东西,这里详细讲一下。
  • 和Faster RNN不同,YOLO v3的边界框预测不是相对于anchor,而是相对于每个网格的左上角的。
  • 如上图,虚线框是anchor,蓝色框是我们最终预测的目标框,cx、cy是当前cell左上角的坐标。我们网络输出的四个参数tx,ty,tw,th,套入公式得到bx,by,bw,bh。
(5)正负样本的划分
  • 每张图片中有几个目标就分配几个正样本。

  • 划分原则:对于每个目标:<1>每个和目标重合程度最大的anchor作为正样本;<2>重合程度不是最大的anchor,但超过了设定阈值的,直接丢弃;<3>其余的作为负样本

  • 上面是原论文中的划分方法,但是这种方法会使得样本数量太少,ultralytics版的划分方法更好一点:

  • ultralytics版中的划分方法是:针对每个目标每个预测特征层,将三个anchor和目标框左上角对齐,然后计算IOU,IOU大于设定阈值的anchor作为正样本(目标框中心落在哪个cell,就作为那个cell的正样本)。

2.损失计算
  • 损失包含三部分:置信度损失,分类损失,定位损失
(1)置信度损失(confidence loss)
  • 目标置信度可以理解为预测目标矩形框内存在目标的概率,目标置信度损失Lconf(o,c) ,其中oi​∈{0,1},表示预测目标边界框i中是否真实存在目标,0表示不存在,1表示存在。c^i表示预测目标矩形框i内是否存在目标的Sigmoid概率(将预测值​ci通过sigmoid函数得到)。
(2)分类损失
  • 目标类别损失Lcla(O,C)同样采用的是二值交叉熵损失(采用二值交叉熵损失的原因是,作者认为同一目标可同时归为多类,比如猫可归为猫类以及动物类,这样能够应对更加复杂的场景),注意论文中作者说了只有正样本才有目标类别损失。其中Oij∈{0,1},表示预测目标边界框i中是否真实存在第j类目标,0表示不存在,1表示存在。C^ij表示网络预测目标边界框i内存在第j类目标的Sigmoid概率(将预测值Cij通过sigmoid函数得到)。
(3)目标定位损失
  • 目标定位损失采用的是(Sum of Squared Error Loss),注意只有正样本才有目标定位损失。( gx, gy , gw , gh ) 分别代表真实目标框中心点的坐标x, y以及宽度和高度(映射在Grid网格中的)。
相关推荐
康康的AI博客1 小时前
农业工业变革:如何通过DMXAPI中转提升自动化效率
运维·人工智能·自动化
实在智能RPA2 小时前
从API集成到意图驱动:深度解析实在Agent在复杂ERP/OA环境下的非标接口处理架构
人工智能·ai·架构
北京耐用通信2 小时前
协议融合的工业钥匙:耐达讯自动化网关如何打通CC-Link IE转DeviceNet的通信壁垒
人工智能·物联网·网络协议·自动化·信息与通信
EasyGBS2 小时前
GB35114+GB28181:EasyGBS视频融合平台如何构建视频监控 “联网+安全” 双重保障体系
网络·人工智能·国标gb28181·gb35114
只说证事2 小时前
中专计算机专业必考的证书清单有哪些?
人工智能
臭东西的学习笔记2 小时前
论文学习——通过蛋白质片段-环境比对实现自我监督口袋预训练
人工智能
飞Link3 小时前
梯度下降的优化算法中,动量算法和指数加权平均的区别对比
人工智能·深度学习·算法
1941s3 小时前
02-LangChain 框架入门:模型抽象与 Prompt 模板
人工智能·langchain·prompt
猫咪老师19953 小时前
Claude Code从零开始不敲代码使用若依java框架开发-第1节部署篇
人工智能·claude code