自动驾驶-2D目标检测

news2024/9/23 23:31:19

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.coloradmin.cn/o/1926788.html

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

相关文章

Ubuntu 安装 XRDP,替代系统自带RDP远程桌面

起因,Ubuntu的自带RDP远程桌面很好用,但很傻卵,必须登录。 而设置了自动登录也不能解开KEYRING,必须必须必须用GUI手动登录。 (我远程我用头给你坐机子面前开显示器先登录??) 比起VN…

vue3 快速入门 (二) : 实现第一个Vue网页,并在手机上浏览

1. 最简单的一个VUE网页 首先,我们可以看我的这篇文章 : vue3 快速入门 (一) : 环境配置与搭建 完成环境搭建。 接着就可以来实现我们的第一个Vue网页了。 本文环境 Vue版本 : 3.4.29Node.js版本 : v20.15.0系统 : Windows11 64位IDE : VsCode 1.1 基础模板 vu…

使用OpenCV寻找图像中的轮廓

引言 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它提供了大量的视觉处理功能,包括图像和视频捕获、特征检测与匹配、图像变换、图像分割、颜色空间转换等。在图像处理中,寻找图像中的…

Gocator Acquisition for Cognex VisionPro(LMI相机图像获取)

概述 VisionPro 是个很强大的视觉软件, 我们很乐意我们的客户在VisionPro 环境中使用Gocator产品。 实现方法 在 VisionPro 环境下配置 Gocator 产品两种方法: ● 方法一: 创建一个 QuickBuild Job,在 Job 编辑器添加 Job Script,插入 Gocator 的 SDK,编辑简 单脚本就 OK。 …

基于MATHCAD的傅里叶级数模拟和方波图像绘制

一、MATHCAD软件简介 MATHCAD是一款功能强大的数学计算软件,它允许用户以类似手写公式的方式输入数学表达式,并即时显示计算结果和图形。在工程研究和学术写作的世界里,MathCAD以其强大的符号运算能力和直观的数学书写体验脱颖而出。MATHCAD…

防火墙nat基础实验

一,实验拓扑: 二,实验需求: 1,办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换) 2,分公司设备可以通过总公司的移动链路和电信链路访问到Dmz区的ht…

以数据编织,重构数据管理新范式

大数据产业创新服务媒体 ——聚焦数据 改变商业 人工智能几乎统一了全球最顶尖科技公司的认知:这个时代,除了AI,没有第二条路可走。 人工智能的技术逻辑颇有一种“暴力美学”,它依托于海量大数据和超高算力的训练和推理&#xff…

MySQL里的累计求和

在MySQL中,你可以使用SUM()函数来进行累计求和。如果你想要对一个列进行累计求和,可以使用OVER()子句与ORDER BY子句结合,进行窗口函数的操作。 以下是一个简单的例子,假设我们有一个名为sales的表,它有两个列&#x…

Redis 三大高可用模式:主从、哨兵、集群

一、引言 Redis,作为一种开源的、基于内存的数据结构存储系统,被广泛应用于各种场景,包括缓存、消息队列、短期存储等。 单一实例的工作模式通常无法保证Redis的可用性和拓展性,Redis提供了三种分布式方案: 主从模式…

【精品资料】智慧党建信息化建设方案(32页PPT)

引言:随着信息技术的快速发展,传统党建模式面临着信息传递不及时、党员教育管理手段单一、党组织活动参与度不高等挑战。智慧党建作为数字化转型的重要方向,能够有效解决上述问题,推动党建工作向更高质量发展。 方案介绍&#xff…

MySQL高级面试点

Explain语句结果中各个字段分别代表什么 id:查询语句没出现一个select关键字,MySQL就会给他分配一个唯一id select_type: select关键字对应哪个查询的类型 simple:简单的查询 不包含任何子查询 primary:查询中如果…

SparkStreaming--scala

文章目录 第1关:QueueStream代码 第2关:File Streams代码 第1关:QueueStream 任务描述 本关任务:编写一个清洗QueueStream数据的SparkStreaming程序。 相关知识 为了完成本关任务,你需要掌握:1.如何使用S…

<数据集>光伏板缺陷识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:2400张 标注数量(xml文件个数):2400 标注数量(txt文件个数):2400 标注类别数:4 标注类别名称:[Crack,Grid,Spot] 序号类别名称图片数框数1Crack8688922Grid8248843S…

从汇编层看64位程序运行——栈帧(Stack Frame)边界

大纲 RBP,RSP栈帧边界总结参考资料 在《从汇编层看64位程序运行——栈帧(Stack Frame)入门》中,我们简单介绍了栈帧的概念,以及它和函数调用之间的关系。如文中所述,栈帧是一种虚拟的概念,它表达了一个执行中的函数的栈…

Python之Excel自动化处理(二)

一、Excel设置样式 1.1、常用方法与属性 函数名&属性含义xlwt.Font()创建字体样式font.name设置字体类型font.colour_index设置字体颜色font.height设置字体大小font.bold设置字体是否为加粗font.underline设置字体下划线font.italic设置字体斜体xlwt.Alignment()创建字体…

笔记 1 : 课本前 2 章

现在开始跟着彭老师学习 arm 。把重要的知识点归拢一下,便于复习。早日学有所成,为国为家为己,更幸福些。 (1)冯诺依曼架构与哈弗架构,与混合架构: 以及: (2&#xff0…

音视频入门基础:H.264专题(13)——FFmpeg源码中通过SPS属性获取视频色彩格式的实现

一、引言 通过FFmpeg命令可以获取到H.264裸流文件的色彩格式(又译作色度采样结构、像素格式): 在vlc中也可以获取到色彩格式(vlc底层也使用了FFmpeg进行解码): 这个色彩格式就是之前的文章《音视频入门基础…

03-Charles实战

一、抓包分析问题示例 1)问题描述 2)抓包分析 这是后台响应回来的错误信息,说明问题一是后台的原因;但是后台只响应了一条信息,而前端页面却显示两条错误信息,说明前端页面处理异常的时候逻辑有问题&#…

《昇思25天学习打卡营第3天|03张量Tensor》

说在开始 学习下mindspore中对tensor的处理逻辑。 Tensor属性 张量的属性包括形状、数据类型、转置张量、单个元素大小、占用字节数量、维数、元素个数和每一维步长。 形状(shape):Tensor的shape,是一个tuple。 数据类型&…

windows USB 设备驱动开发- USB Type-C支持(一)

传统的 USB 连接使用两端都有 USB A 和 USB B 接头的电缆。 USB A 连接器始终插入主机端,USB B 连接器连接功能端,该功能端是手机) 或外设 (鼠标、键盘) 的设备 (。 使用这些连接器,只能将主机连接到函数;绝不是另一个主机的主机或另一个函数…