什么是3D点云数据?该如何标注它?| 数据标注

news2025/1/9 15:38:25

自动驾驶汽车严重依赖输入数据来做出驾驶决策。一般来讲,数据越详细,车辆做出的决策就越好车辆行驶的也就更安全。虽然现代相机可以捕获非常详细的数据表示,但输出仍然是2D的,它限制了我们可以提供给操作车辆的神经网络的信息。相机捕捉信息的能力有限,相机可能无法在所有环境或情况下工作。例如,下雨可能会使图像几乎无用,而激光雷达仍可以获取信息。

激光雷达到底是什么?

激光雷达代表光检测和测距。简而言之,它是一种遥感技术,使用激光脉冲形式的光来测量传感器和目标物体之间的距离和尺寸。在自动驾驶汽车的背景下,激光雷达传感器用于检测和查明物体相对于车辆的位置,例如其他汽车、行人和建筑物。人工神经网络的日益普及使激光雷达比以前更有用。

激光雷达技术自1960年代以来一直被使用,当时它被安装在飞机上以扫描它们飞过的地形。随着GPS的出现,LiDAR在1980年代变得越来越流行,当时它开始被用于构建真实世界位置的3D模型。

激光雷达如何工作?

大多数LiDAR系统由四个元素组成:

1)激光:向物体发送光脉冲(通常是紫外线或近红外线)。

2)扫描仪:调节激光扫描目标物体的速度和激光到达的最大距离。

3)传感器:测量来自激光的光从目标物体反弹并返回系统所需的时间(从而测量距离)。

4) GPS:跟踪激光雷达系统的位置,以确保距离测量的准确性。

现代LiDAR系统通常每秒可以发送高达500k的脉冲。源自这些脉冲的测量值被聚合成一个点云,它本质上是一组坐标,代表系统已感应到的对象。点云用于创建LiDAR周围空间的3D模型。

每种颜色代表一个不同的语义类别。

有两种一般类型的LiDAR系统:机载和地面。由于我们感兴趣的用例是自动驾驶汽车,我们将主要关注地面激光雷达。地面激光雷达附着在固定在地面上的物体上,并在所有可见方向上进行扫描。它们可以是静态的(例如,连接到不动的三脚架或建筑物上)或移动的(例如,连接到汽车或火车上)。

使用激光雷达数据进行深度学习

考虑到LiDAR系统生成的输出类型,将它们与神经网络相结合似乎是一种自然而然的选择,事实上,在点云上运行的神经网络已被证明是有效的。激光雷达点云在自动驾驶汽车上的应用可以分为两类:

· 以对象检测和场景理解为目的的实时环境感知和处理。

· 生成用于对象定位和参考的高清地图和城市模型。

这听起来可能很复杂,但实际上它只是意味着LiDAR 数据用于语义分割、对象检测/定位和对象分类,唯一的区别是现在我们在3D中进行,这使得我们的模型有更多的细微差别.

对于在LiDAR数据上运行的神经网络来说,一个有趣的挑战是,基于扫描时间、天气条件、传感器类型、距离、背景和大量其他因素,存在大量变化。由于激光雷达的工作方式,物体的密度和强度变化很大。再加上传感器经常有噪声,尤其是LiDAR数据通常不完整(由于某些材料的低表面反射率和城市背景杂乱等因素),处理LiDAR数据的神经网络需要能够处理很多变化。3D数据的另一个问题是,与2D图像不同,LiDAR传感器的点没有直观的顺序,这就需要置换和方向不变性在我们的模型中,并非所有架构都满足。

为处理LiDAR数据而提出的四个有趣的架构系列如下:

1)基于点云的方法:这些网络使用不同的方法直接在点云上运行。

2)基于体素的方法:3D数据被划分为体素的3D网格(本质上是立方体网格),并且在类似CNN的架构中应用3D卷积和池化。

3)基于图的方法:这些方法使用点云中存在的固有几何来构建图,并应用常见的GNN架构,如图CNN和图注意网络(它们也恰好满足前面提到的置换不变性条件)。

4)基于视图的方法:这些方法依赖于使用来自2D计算机视觉的久经考验的架构创建点云的2D投影。在这种情况下,可以帮助提高模型性能的一种策略是从不同角度创建多个投影并投票支持最终预测。

标注LiDAR数据

正如我们现在所知,激光雷达数据上最常见的深度学习任务是语义分割、对象检测和分类的变体。因此,LiDAR标注与为这些任务标注图像非常相似。人工标注非常常见,但由于LiDAR数据更复杂且可能令人困惑的性质,公司正试图使用预先训练的网络尽可能地自动化该过程。

由于我们正在处理3D数据,由于其3D特性,对其进行标注似乎会变得很麻烦。情况不一定如此。对于3D语义分割和3D对象分类,钻头与2D对应物几乎相同,除了我们现在处理的空间中的稀疏点比2D图像中的像素要多。至于3D对象检测,唯一增加的复杂性标注是除了对象的位置之外,我们还需要标注它的方向,也就是对象所面对的方向。

可以看出,LiDAR数据标注的主要障碍并不是真正源于其3D特性。只是LiDAR数据看起来不像常规图像那样简单直观,因此标注可能需要更长的时间,尤其是对于不熟悉此类数据的人。

如前所述,LiDAR是一种使用激光脉冲和传感器构建传感器周围环境的3D视图的技术。虽然它自1960年代以来一直在使用,但如今最常见的用例之一是将LiDAR数据与自动驾驶汽车的神经网络相结合。常见的神经架构已被用于对LiDAR数据进行操作,尽管需要进行一些必要的调整。虽然LiDAR生成的点云的性质使得数据格式与2D图像截然不同,但LiDAR标注过程并没有太大变化。

AI基础数据服务|数据采集|数据标注|假指纹制作|指纹防伪算法

助力人工智能技术加速数字经济相关产业质量变革,赋能传统产业智能化转型升级

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

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

相关文章

Java 技术知识点汇总

背景 面向百度编程,基本能解决大部分的问题。然而,技术用的熟练,时间久了却容易遗忘背后的技术思想,倒成了妥妥的搬运工了。 所以,偶尔针对用的技术,发几个灵魂拷问,也是很有必要的&#xff0…

Linux 软件管理 YUM管理工具 配置本地YUM源

概念引入 : # 首先提出一个问题,我们在 Linux 操作系统中是如何 安装软件的 ?? >>> 在 Linux 系统中,安装软件是有三种方式 >>> 第一种 : RPM 管理工具 第二种 : YUM 管理工…

11、矩阵的分解

目录 一、对称正定矩阵的Cholesky分解 二、一般方阵的高斯消去法分解 三、矩形矩阵的正交分解 四、舒尔分解 矩阵分解是把一个矩阵分解成几个“较简单”的矩阵连乘的形式。在MATLAB中矩阵分解的相关函数有: 在MATLAB中,线性方程组的求解主要基于4种基…

剑指 Offer 第15天 搜索与回溯算法(中等)

目录 剑指 Offer 34. 二叉树中和为某一值的路径 剑指 Offer 36. 二叉搜索树与双向链表 剑指 Offer 54. 二叉搜索树的第k大节点 剑指 Offer 34. 二叉树中和为某一值的路径 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径…

【懒狗福音】设置Bios电源自启实现远程办公

目录前言正文需求分析开始实现需求1需求2总结前言 今年寒假升级了下家里台式机的配置,已经很能满足我的生产力需求。 尽管我是按着MATX主机的方向配的,选择的机箱也是净重较轻的铝合金材质,机身自带提手也还算便捷。 但是装配完毕后它的整…

前端开发:JS中数组常用方法汇总

前言 在前端开发中关于数组的使用想必前端开发者并不陌生,尤其是在处理业务逻辑的时候,从后端获取的数据类型中数组类型基本占到70%的比例,所以与其说是处理数据,不如说是处理数组,虽然说的有点夸张,前端实…

vue文件导出/下载

const blob new Blob([res.data]);const elink document.createElement(a);elink.download 导出数据.xlsx;elink.style.display none;elink.href URL.createObjectURL(blob);document.body.appendChild(elink);elink.click();URL.revokeObjectURL(elink.href);document.bo…

使用Coding管理项目代码记录

直接开门见山 一、创建项目 进入coding登录后,找到项目菜单,然后点击创建项目 二、创建代码仓库 进入项目中,针对不同需要创建代码仓库。大项目或者前后端分离分开开发的可以创建不同的代码仓库。 三、创建代码仓库与本地关联 项目管…

Java岗面试题--Java基础(日积月累,每日三题)

目录面试题一:JDK、JRE、JVM之间的区别面试题二:hashCode()与equals()之间的关系追问:为什么重写 equals() 就一定要重写 hashCode() 方法?面试题三:String、StringBuffer、StringBuilder的区别追问一:Stri…

vulfocus靶场通关(目录遍历)

uWSGI 目录穿越(CVE-2018-7490) uWSGI是一款Web应用程序服务器,它实现了WSGI、uwsgi和http等协议,并支持通过插件来运行各种语言,uWSGI 2.0.17之前的PHP插件,没有正确的处理DOCUMENT_ROOT检测,导致用户可以…

【运维】通过gotty实现网页代理访问服务器及K8S容器操作实践

Gotty 是Golang编写的可以方便的共享系统终端为web应用,是一个灵活强大的通过web访问终端的工具。本文将主要通过搭建Gotty实现对K8S容器的访问操作,开发如果想要正常的进行容器访问以及测试环境代码调试,最好是搭建一套与运维环境隔离的应用…

Gadget驱动程序框架

Gadget驱动程序框架 文章目录Gadget驱动程序框架参考资料:一、 怎样理解Gadget框架二、从硬件软件角度理解Gadget框架2.1 底层硬件操作_UDC驱动2.2 上层软件操作三、 从构造描述符的角度理解Gadget框架致谢参考资料: Linux下USB gadget设备详解Linux us…

Linux常用命令——quotaon命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) quotaon 激活Linux内核中指定文件系统的磁盘配额功能 补充说明 quotaon命令用于激活Linux内核中指定文件系统的磁盘配额功能。执行quotaon指令可开启用户和群组的才磅秒年空间限制,各分区的文件系统…

STM32——I2C外设总线

文章目录一、I2C外设简介二、I2C框图三、I2C基本结构四、主机发送五、主机接收六、I2C的中断请求七、软件/硬件波形对比八、硬件I2C读写MPU6050电路设计关键代码状态监控函数一、I2C外设简介 STM32内部集成了硬件I2C收发电路,可以由硬件自动执行时钟生成、起始终止条…

Go语言jwt无感刷新以及解决SSO单点登录限制

前言 为什么使用JWT? Jwt提供了生成token以及token验证的方法,而token是一种不用存储在服务端,只需要由用户携带即可实现认证的一种方式。在介绍JWT之前,我们也应该先了解cookie和session。 Cookie和Session 为每一位用户设定…

PLSQL Developer 代码助手卡顿优化

支持付费优化 原因分析 代码助手卡顿来源于(不考虑网络和软件版本等影响) A.从已连接的数据库的数据字典中,读取该表的列信息B.将读取到的列信息返回到plsql编辑器,并进行字符处理,然后显示如何优化B 这个勾勾是维…

【GPLT 二阶题目集】L2-034 口罩发放

为了抗击来势汹汹的 COVID19 新型冠状病毒,全国各地均启动了各项措施控制疫情发展,其中一个重要的环节是口罩的发放。 某市出于给市民发放口罩的需要,推出了一款小程序让市民填写信息,方便工作的开展。小程序收集了各种信息&#…

redis的配置文件

目录 介绍 1. 单位的设置方式 2. 可以包含其他文件内容 3. 网络配置相关 4. 通用 5. 安全 6. 限制 redis的配置文件名为redis.conf,一般会安装在/etc目录下。 如果找不到该文件可以使用find命令查找。 find . -name redis.conf 介绍 1. 单位的设置方式 只支持字…

client-go监听apiserver,监听http2逻辑分析

前言 最近做项目,需要写一个controller(k8s的插件),需要从k8s的apiserver取数据,就用了自带的client-go,但是client-go是怎么从apiserver获取数据的一直没有研究过,只是看网上,看官…

Hudi系列10:Flink流式插入

文章目录流式插入概述一. Hudi流式插入案例1(datagen)1.1 准备工作1.2 源端准备1.3 目标端表准备1.4 ETL准备1.5 数据验证1.6 通过SPARK SQL查看数据二. Hudi流式插入案例2(Kafka)2.1 准备工作2.2 源端准备2.2.1 创建kafka的topic (hudi_flink)2.2.2 Flink SQL Client消费kafka…