YOLO的bounding boxes

news2024/11/20 12:30:01

YOLO使用了 7×7 网格 (S×S)、2 个bounding boxes (B=2) 和 20 个类别 ©。

1.YOLO将输入的图片resize成448 x 448,并且为 S x S(S = 7)个grid,如果物体的中心落入该grid中,那么该grid就需要负责检测该物体。
2.对于每一个网格(grid),都会预测出B个bounding boxes(B=2),这个bounding boxes有5个量,分别是物体的中心位置(x,y)和它的高(h)和宽(w),以及这次预测的置信度(confidence score)。
3.每个框还要负责预测这个框中的物体是什么类别的,共预测C个类。
在这里插入图片描述

4.综上,S×S 个网格,每个网格要预测 B个bounding box ,还要预测 C 个类。网络输出就是一个 S × S × (5×B+C)。

3.2.2 预测形状

在这里插入图片描述

Output = 7 × 7 × (2 x 5 + 20)= 1470

  • 通过图像的宽度和高度对bounding boxes的宽度w和高度h进行归一化。x和y是对应网络单元格*(grid)的偏移量。因此,x、y、w和h都在 0 和 1 之间。每个网络单元格有 20 个条件类概率。条件类概率是检测到的对象属于特定类别的概率(每个单元属于每个类别的概率)。因此,YOLO 的预测形状为 (S, S, B×5 + C) = (7, 7, 2×5 + 20) = (7, 7, 30)。

3.2.3 非极大值抑制(Non-Maximum Suppression)

算法原理图如下:

简化理解为:

作用
  • YOLO 可以对同一对象进行重复检测。为了解决这个问题,YOLO 应用非极大值抑制(NMS)来以删除重复的具有较低的置信度的预测。
  • NMS使得模型的 mAP 表现增加了 2-3%。
具体实现

1.设定置信度阈值(confidence score threshold),去掉无用的bounding box 再开始做NMS,可以有效减少多余的计算量。
2.设定IoU阈值(IoU threshold) (一般用0.5,如果太高会造成物件重复检测的问题),用来刪掉IoU值太高的两个框其中之一
3.使用置信度(confidence score)对Bounding box 排序然后用第一的Bounding box跟其他Bounding box算IoU,如果大于IoU threshould 就将其置信度归零。
4.重复步骤2-3,直到所有物件的IoU值为0,此时剩下的就是结果。

3.3 目标损失函数

在这里插入图片描述

总误差函数

3.3.1 思路

  • YOLO 预测每个网格单元的多个bouding boxes。为了计算TP(True positive)的损失,我们只希望其中一个bounding box负责检测物体。为此,我们选择与ground truth具有最高 IoU(交并比)的那个bounding box。这样便可以使得bounding boxes预测的更加精确。并且预测出来的某些尺寸和纵横比都会变得更好。

3.3.2 分类

YOLO用预测(predictions)和ground truth之间的平方和误差(sum-squared error)来计算损失。损失函数包括:

  • 分类预测损失
  • 坐标预测损失(预测的bounding box和ground truth之间的差距)
  • 置信度预测损失(框的客观真实性)

3.3.3 细节

分类预测损失

在这里插入图片描述

  • 如果检测到一个物体,则每个单元格的分类损失是每个类的类条件概率的平方差。
坐标预测损失

在这里插入图片描述

  • 坐标预测损失可算出预测bounding box位置和大小的误差(只计算负责检测物体的box)。
  • 使用差方和误差。w和h在进行误差计算的时候取的是它们的平方根,原因是对不同大小的bounding box预测中,相比于大bounding box预测偏一点,小box预测偏一点更不能忍受。我们不想对大的bounding box和小的bounding box中的绝对误差进行同等赋权。例如,一个大的bounding box中的 2 像素误差对于一个小的bounding box来说是相同的。
  • 而差方和误差函数中对同样的偏移loss是一样。 为了缓和这个问题,作者用了一个比较取巧的办法,就是将bounding box的w和h取平方根代替原本的w和h。为了部分解决这个问题,YOLO 实际上预测的是bounding boxes的宽度(w)和高度(h)的平方根(square root),而不仅仅是宽度和高度。
  • 因为坐标误差比分类误差大,为了增加对坐标误差为了提高bounding box的准确性,我们将损失乘以   λ c o o r d λ_{coord} λcoord​  (默认值:5)。

置信度预测损失
  • 如果在 box 中检测到物体,则置信度预测损失为:
    在这里插入图片描述

  • 如果在 box 中没有检测到物体,则置信度预测损失为:
    在这里插入图片描述

  • 大多数box不包含任何物体对象。这会导致类不平衡问题,即我们训练模型时检测背景比检测物体更加频繁。为了解决这个问题,我们通过乘以  λ n o o b j λ_{noobj} λnoobj​ (默认值:0.5),对这种损失进行赋权。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1204028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

行业寒冬下,给软件测试工程师or功能测试的一些建议

​行业寒冬下,给软件测试工程师的一些建议 【文章末尾给大家留下了大量的福利】 国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过…

No191.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

时钟丢失监控机制

文章目录 前言一、分析芯片手册1、6.2.4 Clock monitoring2、28.1.5 System clock and clock monitor requirement3、分析寄存器1) SCG_SOSCCSR[SOSCCM]2) SCG_SOSCCSR[SOSCCMRE] 二、EB配置1、检查复位源2、配置时钟监控 三、结果验证总结 前言 本文章主要基于恩智浦 S32K14x…

【代码随想录】算法训练计划20

1、654. 最大二叉树 题目: 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建…

LEEDCODE 75颜色分类

耍赖皮写法 嘻嘻 class Solution { public:void sortColors(vector<int>& nums) {int count1 0;int count2 0;int count3 0;for(int i 0; i<nums.size(); i){if(nums[i] 0)count1 1;else if(nums[i] 1)count2 1;else count3 1;}for(int i 0; i<nu…

如何使用内网穿透实现远程公网访问windows node.js的服务端

使用Nodejs搭建简单的web网页并实现公网访问 前言 Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架。 Node.js自带运行时环境可在Javascript脚本的基础上可以解释和执行(这类似于JVM的Java字节码)。这个运行时允许在浏览器以外的任何机器上执行JavaScri…

达索系统3DEXPERIENCE WORKS 2024流体仿真功能增强

设计工作中&#xff0c;网格划分和设计验证十分重要&#xff0c;它可以方便我们把复杂组件简单化处理&#xff0c;从而提升工作效率。 轻松应对&#xff0c;精准划分 在优化设计以获得更好的空气动力学性能时&#xff0c;需要了解空气在其周围产生的流动方式。达索系统3DEXPE…

真心建议测试工程师学完Pytest框架实战,跳槽必备,学完能涨薪5k

【文章末尾给大家留下了大量的福利】 应用场景&#xff1a; pytest 框架可以解决我们多个测试脚本一起执行的问题。 它提供了测试用例的详细失败信息&#xff0c;使得开发者可以快速准确地改正问题。它兼容最新版本的 Python。它还兼容 unittest、doctest 和 nose&#xff0…

【03】Istio Gateway示例配置

3.1 开放kiali至集群外部 首先将istio-inressateway暴露集群外部; 在node02的ens33网卡上面有多余的ip地址&#xff0c;将该地址绑定在igressgateway的svc 上面。 kubectl edit svc istio-ingressgateway -n istio-system定义kiali的ingress gateway的资源配置清单 apiVersion:…

JavaEE进阶学习:Spring核心和设计思想

Spring 是什么 我们通常所说的 Spring 指的是 Spring Framework&#xff08;Spring 框架&#xff09;&#xff0c;它是⼀个开源框架&#xff0c;有着活跃而庞大的社区&#xff0c;这就是它之所以能长久不衰的原因。Spring 支持广泛的应用场景&#xff0c;它可以让 Java 企业级…

Centos8上部署Zabbix5.0

1.关闭Selinux及防火墙&#xff0c;避免Web页面无法访问。 setenforce 0 vim /etc/selinux/config 修改“SELINUX”等号后的内容为disabled SELINUXdisabled\\关闭并关闭开机自启 systemctl stop firewalld systemctl disable firewalld 2.配置Centos8本地yum源。 mkdir /mn…

Element-Ui el-table 动态添加行

一、在项目需要使用 这个需求主要是在项目中需要用到 1.点击新增按钮&#xff0c;可以实现新增行。 2.在每个列里面可以进行输入。 3.可以删除新增的行&#xff0c;包括数据。 二、HTML代码 1.主要是循环每一个列&#xff0c;而且这些列都是动态&#xff0c;根据父组件传过来…

MAC在Linux上上传本地文件压缩包(tomcat)解决方法(炒鸡详细)

要将文件压缩包上传到Linux云服务器&#xff0c;并在服务器上解压打开&#xff0c;你可以使用以下步骤&#xff1a; 在本地的Mac上&#xff0c;将要上传的文件或文件夹压缩成一个压缩包&#xff08;如zip或tar.gz格式&#xff09;。 使用SSH连接到Linux云服务器。你可以使用Te…

如何制作一个有吸引力的电商小程序

随着互联网的快速发展&#xff0c;电商行业也在不断壮大&#xff0c;越来越多的商家开始进入电商领域。在这个竞争激烈的市场中&#xff0c;一个有吸引力的电商小程序能够为商家带来巨大的优势。那么&#xff0c;如何制作一个有吸引力的电商小程序呢&#xff1f;下面我们将以乔…

YOLO目标检测——海洋目标检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;海洋监管、海洋资源开发、海洋科学研究数据集说明&#xff1a;海洋目标检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富&#xff0c;含有“金属”、“未知”、“橡胶”、“平台”、“塑料”、“木材”、“布”、“纸张”、“…

JavaScript_动态表格,实现全选,全不选,反选功能,点击第一个复选框,获取所有的checkbox,给所有tr绑定鼠标移到元素之上和移出元素事件。

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>表格全选、全不选&#xff0c;反选</title><style>table{border: 1px solid;width: 500px;margin-left: 30%;}td,th{text-align: center;b…

基于Python美化图片亮度和噪点

支持添加噪点类型包括&#xff1a;添加高斯噪点、添加椒盐噪点、添加波动噪点、添加泊松噪点、添加周期性噪点、添加斑点噪点、添加相位噪点&#xff0c;还提供清除噪点的功能。 我们先看一下实测效果&#xff1a;&#xff08;test.jpg为原图&#xff0c;new.jpg为添加后的图片…

Oracle 11g安装教程

下载并安装Oracle数据库 首先&#xff0c;需要到Oracle官方网站下载Oracle数据库&#xff0c;在这里我们将下载Oracle 11g第2版的Microsoft Windows(x64)版本。由于安装文件过大&#xff0c;可以分两个文件下载或一次性下载&#xff0c;如下图所示 下载完成后&#xff0c;将下…

找工作在哪个app找比较真实可靠

吉鹿力招聘网是一款找工作比较真实靠谱的app。吉鹿力招聘网是一个新兴的人脉社交招聘平台&#xff0c;靠谱而且需求明确&#xff0c;可以依靠自己或者身边朋友推荐。在吉鹿力招聘网上可以有很多前辈的职场分享和行业八卦&#xff0c;对于刚毕业的大学生而言&#xff0c;很有参考…