自动驾驶-2D目标检测

yolo及yolo的变体

anchor boxes (锚框)

intersection over union 并集交集

用于计算两个边界框的差异程度

bounding box predictions 边界框预测

non maximum suppression非极大值抑制

为了分离这些边界框并为每个对象获得单个边界框,我们使用IOU。这种获取单个边界框并分离不同边界框的技术称为非极大值抑制。分别对这些边界框应用非最大抑制

YOLO(You Only Look Once)是一种广泛使用的实时对象检测算法,因其速度快且性能优越而受到欢迎。YOLO的变体,如YOLOv2、YOLOv3和YOLOv4,进一步改进了算法的精度和效率。理解YOLO及其变体需要掌握几个关键概念:锚框(Anchor Boxes)、交并比(Intersection over Union, IoU)、边界框预测(Bounding Box Predictions)和非极大值抑制(Non-Maximum Suppression, NMS)。

YOLO及其变体

YOLO系列算法的基本思想是将对象检测问题转化为一个单阶段的回归问题,将输入图像分割成一个网格,每个网格单元直接预测对象的类别和边界框。YOLO的变体在多个方面进行了改进,例如:

  • YOLOv2:引入了批归一化、锚框、更多的预测边界框等技术。
  • YOLOv3:使用了多尺度特征图进行预测,引入了更深的网络结构和FPN(特征金字塔网络)。
  • YOLOv4:集成了许多最新的技术,例如CSPDarknet53主干网络、Mish激活函数、PANet路径聚合网络等。

锚框(Anchor Boxes)

锚框是预定义的一组矩形框,用于在图像中提供不同的比例和宽高比的初始边界框。这些锚框通过与预测的偏移量相结合,生成最终的边界框。YOLOv2及以后的版本使用锚框来提高检测精度和对不同大小和形状对象的适应能力。

如何生成锚框

锚框是在训练数据中通过K-means聚类或其他方法预定义的。每个锚框有一个固定的宽高比和尺寸,网络学习的是如何调整这些锚框以更好地匹配对象。

交并比(Intersection over Union, IoU)

IoU是衡量两个边界框重叠程度的指标,计算公式如下:

KaTeX parse error: Undefined control sequence: \[ at position 2: \̲[̲ \text{IoU} = \…
其中,交集(Intersection Area)是两个边界框重叠区域的面积,并集(Union Area)是两个边界框的总面积减去重叠区域的面积。IoU的取值范围是0到1,值越高表示两个边界框越相似。

边界框预测(Bounding Box Predictions)

在YOLO算法中,每个网格单元预测多个边界框(通常与锚框相关)。每个边界框预测包含以下信息:

  1. 中心坐标(x, y):相对于网格单元的位置。
  2. 宽度和高度(w, h):相对于锚框的尺寸。
  3. 置信度分数:该边界框包含对象的概率。
  4. 类别概率分布:该边界框中对象属于每个类别的概率。

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

NMS用于从大量重叠的边界框中选择最优的边界框,步骤如下:

  1. 选择具有最高置信度分数的边界框
  2. 计算该边界框与其他边界框的IoU
  3. 删除IoU超过阈值的边界框(即重叠程度过高的边界框)
  4. 重复上述步骤,直到没有剩余的边界框

NMS的目的是减少重叠的预测框,只保留最有可能的框,从而提高检测的准确性。

关联与流程

  1. 图像输入:将输入图像分割成网格。
  2. 锚框生成:每个网格单元生成多个锚框。
  3. 边界框预测:每个锚框预测偏移量、置信度和类别。
  4. 计算IoU:用于评估预测边界框与真实边界框的重叠程度。
  5. 应用NMS:通过NMS选择最终的边界框,去除重叠框。
  6. 输出结果:最终检测结果包括图像中的对象类别和对应的边界框。

image-20240714192029838

image-20240714194102835

2D目标检测几乎是一个已经完成的任务,但是3D目标检测还需要进一步研究。https://www.kaggle.com/code/sakshaymahna/lyft-3d-object-detection-eda#Videos

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

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

相关文章

2024-07-15 Unity插件 Odin Inspector4 —— Collection Attributes

文章目录 1 说明2 集合相关特性2.1 DictionaryDrawerSettings2.2 ListDrawerSettings2.3 TableColumnWidth2.4 TableList2.5 TableMatrix 1 说明 ​ 本章介绍 Odin Inspector 插件中集合(Dictionary、List)相关特性的使用方法。 2 集合相关特性 2.1 D…

2-34 小波神经网络采用传统 BP 算法

小波神经网络采用传统 BP 算法,存在收敛速度慢和易陷入局部极小值两个突出弱点。建立了基于遗传算法的小波神经网络股票预测模型 GA-WNN。该模型结合了遗传算法的全局优化搜索能力以及小波神经网络良好的时频局部特性。运用 MATLAB 对拟合和预测过程进行仿真。结果表…

<数据集>绝缘子缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:2139张 标注数量(xml文件个数):2139 标注数量(txt文件个数):2139 标注类别数:8 标注类别名称:[insulator, broken disc, pollution-flashover, Two glass, Glassdirt…

李笑来思考框架的结晶《思考的真相》(2024 年新书)

点开文章的你肯定读过李笑来的书,比如讲认知的《财富自由之路》、讲管理自己的《把时间当做朋友》、讲财富底层逻辑的《财富的真相》、讲定投的《让时间陪你慢慢变富》等等。 李笑来的书不讲究华丽的文字,在意逻辑、论证的严谨,层层递进&…

数据结构之通过“ 队列 ”实现的“ 栈 ”功能。

🌹个人主页🌹:喜欢草莓熊的bear 🌹专栏🌹:数据结构 前言 本节内容是利用“ 队列 ”先进先出的特点 实现 “ 栈 ” 先进后出。 一、题目 1.1 题目描述: 请你仅使用两个队列实现一个后入先出&…

成为CMake砖家(1): 在Windows上查看CMake文档

大家好,我是白鱼。 在使用 CMake 的过程中,想必有不少朋友像我一样, 想在本地查看 CMake 文档。 首先安装 CMake, Installer 版本: 安装后,从开始菜单输入 CMake, 选择结果中的 “CMake Documentation”…

如何在 Shell 脚本中使用函数 ?

函数是一个可重用的代码块。我们经常把重复的代码放入一个函数中,并从不同的地方调用该函数,库是函数的集合。我们可以在库中定义常用的函数,其他脚本可以使用它们而无需复制代码。 Calling function 在 Shell 中,调用函数和调用…

1.33、激活可视化卷积神经网络(matalb)

1、激活可视化卷积神经网络原理及流程 激活可视化(Activation Visualization)指的是通过可视化神经网络中激活函数的输出,来理解神经网络是如何学习并提取特征的过程。在卷积神经网络(CNN)中,我们可以通过…

tomcat的优化、动静分离

tomcat的优化 tomcat自身的优化 tomcat的并发处理能力不强,大项目不适应tomcat做为转发动态的中间件(k8s集群,pytnon rubby),小项目会使用(内部使用的)动静分离 默认配置不适合生产环境&…

MySQl高级篇 -索引优化篇

索引 InnoDB采用了一个B数来存储索引,使得在千万级数据量的一个情况下,树的高度可以控制在3层以内,而层高代表磁盘IO的一个次数,因此基于索引查找可以减少磁盘IO的次数 MySQL的索引是在存储引擎层实现的,不同的存储引…

头歌资源库(31)象棋中马遍历棋盘的问题

一、 问题描述 二、算法思想 这是一个典型的深度优先搜索问题。 首先,我们创建一个mn的棋盘,并初始化所有的点为未访问状态。 然后,我们从(0, 0)位置开始进行深度优先搜索。 在每一步中,我们先标记当前位置为已访问&#xff0…

Android Viewpager2 remove fragmen不生效解决方案

一、介绍 在如今的开发过程只,内容变化已多单一的fragment,变成连续的,特别是以短视频或者直播为主的场景很多。从早起的Viewpage只能横向滑动,到如今的viewpage2可以支持横向或者竖向滑动。由于viewpage2的adapter在设计时支持缓…

解决mysql,Navicat for MySQL,IntelliJ IDEA之间中文乱码

使用软件版本 jdk-8u171-windows-x64 ideaIU-2021.1.3 mysql-essential-5.0.87-win32 navicat8_mysql_cs 这个问题我调试了好久,网上的方法基本上都试过了,终于是解决了。 三个地方结果都不一样。 方法一 首先大家可以尝试下面这种方法&#xff1a…

基于Python+Django+MySQL+Echarts的租房数据可视化分析系统

租房数据可视化 DjangoMySQLEcharts 基于PythonDjangoMySQLEcharts的租房数据可视化分析系统 Echarts 信息存储在数据库中 不含爬虫代码,或爬虫代码已失效 不支持登录注册 简介 基于DjangoMySQLEcharts的租房数据可视化系统通过连接数据库获取数据&#xff0c…

【格密码基础】旋转格的性质

目录 一. 回顾ZSVP问题 二. 基于ZSVP问题的密码系统 三. 格基旋转与Gram矩阵 四. 补充矩阵QR分解 4.1 矩阵分解 4.2 举例 前序文章请参考: 【格密码基础】详解ZSVP问题-CSDN博客 一. 回顾ZSVP问题 根据之前的讨论我们知道解决ZSVP问题的计算复杂度为&#x…

一款IM即时通讯聊天系统源码,包含app和后台源码

一款IM即时通讯聊天系统源码 聊天APP 附APP,后端是基于spring boot开发的。 这是一款独立服务器部署的即时通讯解决方案,可以帮助你快速拥有一套自己的移动社交、 企业办公、多功能业务产品。可以 独立部署!加密通道!牢牢掌握通…

您需要了解的欧盟网络弹性法案

了解CRA包含的内容以及如何遵守。 什么是CRA? 《网络弹性法案》(CRA)是即将出台的欧盟法规,旨在确保在欧盟销售的所有数字产品和服务(如连接到互联网的软件和硬件)都采用强大的网络安全措施。 该法案要求…

【数据结构与算法】选择排序篇----详解直接插入排序和哈希排序【图文讲解】

欢迎来到CILMY23的博客 🏆本篇主题为:【数据结构与算法】选择排序篇----详解直接插入排序和哈希排序 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux…

Chrome浏览器的Profile数据内容简介

前文简介了Chrome存储的账密/Cookie数据:一段代码读取Chrome存储的所有账号密码和Cookie 本文再扩展介绍一下Chrome存储的其它一些隐私数据。 注:因为业务需要,简单调研了一些基本内容和存储路径,没有深入去研究,有啥…

新160个crackme - 002-abexcm5

运行分析 猜测需要输入正确序列号 PE分析 32位,ASM程序,无壳 静态分析 ida shift F12 ,发现字符串定位主函数 分析主函数 lstrcat:拼接字符串 lstrcmpiA:比较字符串 动态调试 serial输入123456调试 发现序列号…