YOLOV1

YOLOV1最后生成7×7的网格(grid cell),每个grid cell会产生两个预测框(bounding box),每个grid cell产生的两个预测框只能预测同一种类物体,也就是说YOLOV1最多只能预测49种物体,两个预测框中哪一个与标注框的IOU大就选哪一个(此即正样本),另外一个会被舍弃(负样本);特殊情况(如果有两个相同种类的物体中心点都落在同一个grid cell中,此时这个grid cell的两个预测框有可能都与真实框有最大的IOU,也即两个预测框都为正样本,这也就是说YOLOV1最多能预测49×2个目标)。如果标注框的中心点落在哪一个grid cell中就由这个grid cell产生的两个预测框去负责预测,没有标注框中心点落入的grid cell产生的两个预测框都视为负样本,置信度越小越好。

7×7意味着7×7个grid cell,30表示每个grid cell包含30个信息,其中两个预测框,每个预测框包含五个信息(x y w h c),分别为中心点位置坐标,宽高以及置信度,剩下20个是针对VOC数据集的20个种类的预测概率(即假设该grid cell负责预测物体,那么它是某个类别的概率)。

S²表示遍历所有的grid cell,B表示遍历所有的预测框;

对于每一个GTbox只分配一个正样本(预测框),也就是与它IOU最大的那个预测框,其余为负样本;

正样本有定位损失、类别损失和置信度损失;负样本只有置信度损失。

正样本的置信度标签值为预测框与标注框(ground truth)的IOU;

YOLOV1的类别归grid cell管(一个grid cell负责预测一个类别);

YOLOV3的类别归anchor管(一个anchor负责预测一个类别);

YOLOV3

边界框回归

最终产生三个预测特征层,分别预测大、中、小三种类型的物体,每个预测特征层的每个grid cell会产生三个anchor(先验框),预测框是在anchor的基础上调整得到的,下图中黑色虚线框为anchor,蓝色框为实际预测框;tx、ty、tw、th为YOLOV3网络最后预测的回归参数,Cx、Cy为此grid cell左上角的坐标,Pw、Ph为anchor的宽和高。

损失计算

置信度损失:二元交叉熵损失,正负样本都有置信度损失,上图中蓝色框代表anchor,绿色框代表真是标注框,黄色框为预测框,其中Oi(置信度标签)的值有不同的确定方法,一种为设置正样本的Oi值为1,负样本的Oi值为0;另一种为上图所示。

类别损失:二元交叉熵损失,只关注正样本。

定位损失:只关注正样本,bx、by、bw、bh为预测框的中心点坐标以及宽高值,假设我们用实际标注框的这四个值gx、gy、gw、gh代入式子反求出、tw、th,也就是上图中的,求与 、tw、th的差值的平方和再除上正样本总数就是定位损失。

S²表示遍历所有的grid cell,B表示遍历所有的预测框

正负样本匹配

原论文:对于每一个GTbox只分配一个正样本(预测框),也就是与它IOU最大的那个预测框;与GTbox的IOU小于0.5的预测框全都视为负样本;对于IOU大于0.5但不是最大的那部分预测框直接丢弃。

代码实现:一些代码实现中把IOU大于0.5的预测框都视为正样本,这样做是为了提高正样本的数量,这种方法也被证明效果不错。

YOLOV4

对于一些特殊情况,当GTbox的中心点落在grid cell网格的边界上时, 不可能取到0或者1,所以就对其施加了一个缩放因子,将预测框中心点相较于grid cell左上角的偏移量由原来的0~1变为了-0.5~1.5,这样做另一方面也可以增大正样本的数量,也就是说,这个预测框不仅可以由当前中心点所在的grid cell的anchor偏移得到,还可以通过上边或者左边的两个grid cell的anchor通过偏移得到。

下图对应GTbox中心点落在网格不同位置处所对应的负责预测预测框的grid cell

reference

YOLOV1论文精读:You only look once: Unified, real-time object detection_哔哩哔哩_bilibili

【精读AI论文】YOLO V3目标检测(附YOLOV3代码复现)_哔哩哔哩_bilibili

3.1 YOLO系列理论合集(YOLOv1~v3)_哔哩哔哩_bilibili

YOLO系列损失函数详解相关推荐

  1. 【目标检测】YOLO系列——YOLOv1详解

    本篇是关于目标检测算法YOLOv1的学习笔记.网上的博客大多是摘抄翻译论文中的重点内容加上自己的理解,或者是梳理论文的大致思路,在没看过原文的情况下可能总会有些看不懂的地方.所以强烈建议博客搭配原文食 ...

  2. YOLO系列算法详解(一)

    一.深度学习经典检测方法 1.检测任务中阶段的意义 对于单阶段(one-stage)检测来说,输入一张图像,经过一个卷积神经网络,输出一个边界框,只需要得到框的(x1,y1)和(x2,y2)四个值即可 ...

  3. Keras深度学习实战(4)——深度学习中常用激活函数和损失函数详解

    Keras深度学习实战(4)--深度学习中常用激活函数和损失函数详解 常用激活函数 Sigmoid 激活函数 Tanh 激活函数 ReLU 激活函数 线性激活函数 Softmax 激活函数 损失函数 ...

  4. 【论文精读3】MVSNet系列论文详解-P-MVSNet

    P-MVSNet全名为"P-MVSNet: Learning Patch-wise Matching Confidence Aggregation for Multi-View Stereo ...

  5. Windows 网络服务架构系列课程详解(六) ---利用NLB群集实现WEB服务器的可靠性...

    Windows 网络服务架构系列课程详解(六) -----利用NLB群集实现WEB服务器的可靠性   实验背景: 在大型网络环境中存在这样一种情景,公司内部的FTP服务器出现故障或脱机了,而且不能快速 ...

  6. 革命性存储:易安ESATA系列产品详解

    革命性存储:易安ESATA系列产品详解<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office& ...

  7. 大型企业网络配置系列课程详解(五) --Frame-Relay配置与相关概念的理解

    大型企业网络配置系列课程详解(五)             --Frame-Relay配置与相关概念的理解   实验原理: Frame-Relay(帧中继)简称FR,是国际电信联盟通信标准化组(ITU ...

  8. 大型企业网络配置系列课程详解(三)--OSPF高级配置与相关概念的理解

    大型企业网络配置系列课程详解(三)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu ...

  9. linux设置共享权限设置命令,Linux系列知识详解(三)--------- Linux链接命令和权限管理命令...

    Linux系列知识详解(三)--------- Linux链接命令和权限管理命令 一:链接命令ln 简介:什么是链接命令?链接命令分为软链接和硬链接.其中软链接产生的新文件是以路径的形式表示原文件,类 ...

最新文章

  1. 构建Chua 混沌电路 - 基本测试
  2. 2009_01_15_星期三
  3. 基于wifi的单片机无线通信研究_SKYLAB:智能家居无线协议WiFi/BLE/Zigbee介绍与对比...
  4. php语言培训费用,PHP语言编程的优势在哪里
  5. mysql脚本转成oracle脚本_mysql脚本手动修改成oracle脚本
  6. asm和file system之间数据文件的转换
  7. java数据类型及其说明
  8. python画图灰白_python 站点资料插值画图及白化
  9. ethtool如何让接口闪灯_如何解决专业家庭影院与卡拉OK的声学问题?
  10. 为什么真正的神经元学得更快
  11. Failed to start OpenLDAP Server Daemon
  12. C# 获取电脑序列号和主板序列号
  13. CO-PA: 获利能力分析数据的传送(日常业务)
  14. Rosalind第八题:将RNA转化成蛋白质
  15. uni-app+iconfont 实现星级评分(vue)
  16. 人工智能是什么?人工智能行业前景如何
  17. 利用预测分析改进欠款催收策略,控制欺诈风险和信贷风险
  18. 代码写的太乱?一分钟教你优化
  19. 在一台数据库服务器上创建多个金仓数据库
  20. java解包_Java的原始类型自动包装与解包机制

热门文章

  1. 前端如何准备数据结构和算法
  2. 十进制转化为八进制(计算机组成原理)
  3. css rem和px换算,移动端的vw px rem之间换算
  4. Win7共享WIFI iPhone上网无鸭梨
  5. Ubuntu19.10/20.04安装记录
  6. 基于node.js和vue的前后端分离影院售票系统电影院影片管理
  7. 用工资表做工资条详细介绍(excle简单的录制宏操作)
  8. webpack-merge合并规则
  9. git 虚拟合并策略merge.ours.driver
  10. HTML简介和标签练习(一)