自动驾驶---Perception之Lidar点云3D检测

1 背景

        Lidar点云技术的出现是基于摄影测量技术的发展、计算机及高新技术的推动以及全球定位系统和惯性导航系统的发展,使得通过激光束获取高精度的三维数据成为可能。随着技术的不断进步和应用领域的拓展,Lidar点云技术将在测绘、遥感、环境监测、机器人等领域发挥越来越重要的作用。

        目前全球范围内纯视觉方案的车企主要包括特斯拉和集越,在达到同等性能的前提下,纯视觉方案对算法的要求更高。因此国内很多车企都选择了一个折中的方案,增加一个激光雷达来确保感知性能更好。

        在前面的博客中介绍过Lidar点云的部分内容《自动驾驶---Perception之视觉点云&雷达点云》,本篇博客主要介绍Lidar点云3D检测方面的应用。

2 Lidar点云3D检测

        Lidar(Light Detection and Ranging,激光雷达)点云3D检测是一种利用激光雷达获取周围环境的三维数据,并对其进行处理和分析,以识别和定位物体的技术。

        Lidar点云3D检测是一种复杂而强大的技术,可以广泛应用于自动驾驶、机器人导航、地形测绘等领域。通过不断优化算法和提高数据处理能力,可以实现更高精度和更高效的3D检测。

67f61d35579542e086a38245e79f328d.png

2.1 Lidar点云3D检测步骤

        下面将详细介绍Lidar点云3D检测的过程和关键步骤。

(1)Lidar点云数据的获取

        Lidar系统通过发射激光束并测量其返回时间来计算与物体的距离。这些激光束扫描周围环境,形成一系列的点,这些点以三维坐标的形式表示,构成了点云数据。点云数据包含了丰富的空间信息,如物体的形状、大小、位置等。

(2)点云数据的预处理

        在进行3D检测之前,通常需要对点云数据进行预处理,以提高数据质量和检测效果。预处理步骤包括滤波、降噪、分割等。

  1. 滤波:去除点云数据中的噪声和冗余点,提高数据质量。常用的滤波方法包括统计滤波、半径滤波等。
  2. 降噪:通过平滑处理或特征提取来减少点云数据中的噪声,提高后续处理的准确性。
  3. 分割:将点云数据划分为不同的区域或对象,以便进行后续的识别和定位。常用的分割方法包括基于距离的分割、基于密度的分割等。

(3)点云数据的特征提取

        在点云数据中提取有用的特征是实现3D检测的关键步骤。特征提取可以基于点的几何属性(如位置、方向、曲率等)或基于点的上下文信息(如与其他点的关系、与环境的交互等)。常用的特征提取方法包括法线估计、曲率估计、特征描述子等。

(4)3D检测算法

        基于点云数据提取的特征,可以采用各种3D检测算法来识别和定位物体。以下是一些常用的3D检测算法:

  1. 基于模型匹配的算法:通过比较点云数据与预定义的模型库中的模型,找到最匹配的模型并确定其位置和方向。
  2. 基于学习的算法:利用深度学习等方法训练一个分类器或回归器,将点云数据映射到目标类别或位置。这类算法需要大量的标注数据进行训练,但通常具有较高的准确性和鲁棒性。
  3. 基于聚类的算法:将点云数据中的点按照某种相似性度量进行聚类,形成不同的对象或区域。然后对每个聚类进行进一步的分析和处理,以识别和定位物体。

(5)后处理与结果输出

        在得到初步的检测结果后,可能还需要进行后处理步骤来优化结果或提高准确性。例如,可以对检测到的物体进行跟踪和滤波,以去除误检或提高稳定性。最后,将检测结果以适当的形式输出,如可视化显示、文件保存等。

2.2 Lidar点云模型训练

        Lidar点云模型训练是自动驾驶等领域中重要的技术环节,对Lidar点云模型训练的详细介绍如下所示:

(1)数据准备

  • Lidar数据:Lidar(Light Detection and Ranging,激光雷达)通过发射激光并测量激光的返回时间来获取目标物体的距离、角度等信息,进而形成点云数据。这些数据是点云模型训练的基础。
  • 标注数据:对于监督学习任务,需要对Lidar点云数据进行标注,如标注出目标物体的类别、位置、边界等。标注数据的质量对模型训练的效果有重要影响。

(2)模型选择与设计

  • 常用的Lidar点云模型包括PointNet、PointNet++、VoxelNet、PointPillars等。这些模型具有不同的特点,适用于不同的任务和数据集。
  • 根据具体任务和数据集的特点,可以选择合适的模型或设计新的模型。模型设计时需要考虑如何有效地提取点云数据的特征,并处理点云数据的无序性和稀疏性等问题。

(3)模型训练

  • 损失函数:根据任务的不同,选择合适的损失函数。例如,在分类任务中,可以使用交叉熵损失函数;在回归任务中,可以使用均方误差损失函数。
  • 优化器:常用的优化器包括随机梯度下降(SGD)、Adam等。优化器的选择对模型的训练速度和效果有重要影响。
  • 训练过程:将标注好的Lidar点云数据输入到模型中,通过前向传播计算模型的输出,然后计算损失函数值,并通过反向传播算法更新模型的参数。不断迭代这个过程,直到模型在验证集上的性能达到预设的要求或达到最大迭代次数。

(4)模型评估与调优

  • 使用测试集对训练好的模型进行评估,计算模型的准确率、召回率、F1值等指标,以评估模型的性能。
  • 根据评估结果对模型进行调优,包括调整模型的参数、尝试不同的模型结构、增加数据增强等方法。

(5)应用部署

  • 将训练好的模型部署到实际应用中,对实时获取的Lidar点云数据进行处理和分析,实现目标检测、分类、跟踪等功能。

        需要注意的是,Lidar点云模型训练是一个复杂且耗时的过程,需要耐心和细心地调整模型的参数和结构,以获得最佳的性能。同时,随着深度学习技术的不断发展,新的模型和方法不断涌现,需要不断学习和探索新的技术来提高模型的性能。

1d62296b2b9d4b48af4f6042ffe52826.png

2.3 Lidar 3D检测算法

        目前在学术及量产领域,常用的Lidar 3D检测算法主要包括以下几种:

(1)基于点云的算法

  • PointNet系列:PointNet是首个直接处理无序点集的深度学习架构,用于分类和分割3D点云数据。PointNet++是PointNet的扩展,它解决了PointNet不能捕获局部区域特征的问题,通过层次化的网络结构学习局部和全局的点云特征。
  • VoxelNet:VoxelNet将点云空间划分为规则的体素(Voxel),并将每个体素内的点通过体素特征编码(VFE)层转换为统一的体素特征表示,然后使用3D卷积神经网络进行特征学习和目标检测。
  • PointPillars:PointPillars是一种高效的Lidar 3D检测方法,它将点云投影到鸟瞰图(Bird's Eye View, BEV)上,并沿高度方向将点云划分为多个柱(Pillars),然后在柱上应用类似于2D卷积的操作进行特征提取和目标检测。

(2)基于多传感器融合的算法

  • MV3D:MV3D是一种多视图3D目标检测方法,它融合了Lidar点云和RGB图像的信息。MV3D首先将Lidar点云投影到BEV和前视图(Front View)上,并与RGB图像一起输入到融合网络中,通过多视图特征融合实现3D目标检测。
  • AVOD(Aggregate View Object Detection):AVOD也结合了Lidar点云和RGB图像的信息,但与MV3D不同,它采用了特征金字塔网络(FPN)来提取不同尺度的特征,并通过融合网络将Lidar和图像的特征融合在一起,以实现更准确的3D目标检测。

(3)基于深度学习的端到端算法

  • SECOND:SECOND是一种高效的基于点云的3D目标检测算法,它采用了稀疏卷积(Sparse Convolution)来加速计算,并通过端到端的方式直接输出目标的3D边界框和类别。
  • CenterPoint:CenterPoint是一种基于关键点(中心点)的3D目标检测方法,它首先检测目标的中心点,然后回归目标的尺寸、方向和速度等属性。CenterPoint在多个数据集上都取得了领先的性能。

        这些算法各有优缺点,适用于不同的应用场景和需求。在选择合适的Lidar 3D检测算法时,需要考虑具体的任务要求、数据集规模和计算资源等因素。

2.4 Lidar 3D检测算法的优缺点

        Lidar 3D检测算法在多个领域中都表现出了其独特的优势,但同时也存在一些挑战。Lidar 3D检测算法的主要优缺点如下所示:

(1)优点

  • 高精度三维测量:Lidar 3D检测算法能够获取高精度的三维空间信息,通过测量激光脉冲的往返时间,可以准确计算出目标与传感器之间的距离,进而构建出目标的三维模型。
  • 全天候工作能力:相比于依赖可见光的相机,Lidar传感器不受光照条件的影响,能够在夜间、雾霾等恶劣环境下正常工作,具有较强的环境适应性。
  • 抗干扰能力强:Lidar传感器发射的激光束具有较强的抗干扰能力,能够穿透部分遮挡物,获取被遮挡物体的信息,提高检测的准确性。
  • 数据丰富:Lidar点云数据包含了丰富的空间信息,如物体的形状、大小、位置等,为后续的物体识别、分类、跟踪等任务提供了有力的数据支持。

(2)缺点

  • 成本较高:Lidar传感器的制造成本相对较高,导致整个系统的成本也较高。这在一定程度上限制了Lidar 3D检测算法的普及和应用。
  • 数据处理复杂:Lidar点云数据量大、结构复杂,需要进行复杂的预处理和特征提取操作,增加了算法的复杂度和计算量。
  • 对硬件要求高:Lidar 3D检测算法对硬件的要求较高,需要高性能的计算机和存储设备来支持大规模数据的处理和分析。
  • 天气因素影响:虽然Lidar传感器具有较强的环境适应性,但在某些极端天气条件下(如大雨、浓雾等),激光束的传播会受到严重影响,导致测距精度下降或完全失效。
  • “拖尾”和“吸点”问题:激光雷达在探测近距离物体时,可能会出现测距不准的问题,这被称为“拖尾”或“吸点”现象。这是困扰整个行业的难题,需要底层硬件不断进化来解决。该现象在自动泊车中可能更加明显。

3 总结

        通过上面几小节的描述,想必读者朋友们对Lidar点云用于3D检测有了更深的认识。Lidar 3D检测算法具有高精度、全天候工作能力、抗干扰能力强和数据丰富等优点,但也存在成本较高、数据处理复杂、对硬件要求高、天气因素影响以及“拖尾”和“吸点”问题等缺点。未来自动驾驶的传感器方案是多传感器融合还是纯视觉目前仍没有定论。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中

CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中 code review! 文章目录 CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中1.CMAKE_INSTALL_PREFIX详解变量作用设置 CMAKE_INSTALL_PREFIX示例影响范围常见用法特别…

maya模型仓鼠制作

小仓鼠建模(6)_哔哩哔哩_bilibili 20240623作品---个人评价:第一次做的,虽然有点丑,但是还能看!希望后面有些进步

第10章 启动过程组 (识别干系人)

第10章 启动过程组 10.2识别干系人,在第三版教材第361~362页; 文字图片音频方式 视频13 第一个知识点:主要工具与技术 1、数据收集 问卷调查 包括一对一调查、焦点小组讨论,或其他大规模信息收集技术 头脑风暴 头脑风暴&#xff…

章十九、JavaVUE —— 框架、指令、声明周期、Vue-cli、组件路由、Element

目录 一、 框架 ● vue.js 框架 ● 特点 ● Vue 安装 二、 第一个vue程序 ● 创建项目 ​编辑 ● 导入 vue.js ● 创建vue对象,设置属性,使用模版渲染到页面 介绍 — Vue.js (vuejs.org) 三、 vue指令 ● v-text ● v-html ● v-…

5个wordpress成品站主题

Sora索啦高端制造业wordpress主题 红色高端制造业wordpress主题,适合外贸企业出海建独立站的wordpress模板。 https://www.jianzhanpress.com/?p5885 Polar钋啦wordpress外贸主题 制造业wordpress网站模板,适合生产制造企业官方网站使用的wordpress外…

产品体验周刊第1期(2024-6-24)

产品体验 微信公众号改版 微信公众号文章底部改版,原“点赞”“再看”相关的读者互动模块固定底部栏。作者内容与读者反馈本就是一起组成内容的必要元素,相比较于抖音、小红书,微信公众号的改版可能来的稍微晚了一点。 微信输入法 平常发微…

Linux根目录挂载点(/dev/mapper/centos-root)扩容

如果我们在安装系统是采用自定义分区的话,就可以提前规划好这个事情。但是如果平常没注意就直接采用默认安装的方式的话。一旦 根目录的容量耗尽,将会影响业务的运行。今天我们来扩容逻辑卷。 默认安装的话会给home目录分比较多的空间,我们可…

浅析缓存技术

缓存技术的原理 缓存技术通过在内存中存储数据副本来加速数据访问。当应用程序需要数据时,首先检查缓存是否存在数据副本,如果有则直接返回,否则再从原始数据源获取。这种机制大大减少了访问时间,提升了系统的响应速度和整体性能。…

家政预约小程序14权限配置

目录 1 创建用户2 创建角色3 启用登录4 实现退出总结 我们现在小程序端的功能基本开发好了,小程序开发好之后需要给运营人员提供管理后台,要分配账号、配置权限,我们本篇就介绍一下权限如何分配。 1 创建用户 在微搭中,用户分为内…

使用Fiddler如何创造大量数据!

1、找到评论提交接口 找到我们的评论 2、构造数据 怎么再次发送呢? 这里发送了4次 我们创造了4条数据,我们再去评论区瞅瞅 3、如何解决图片显示问题? 手机端-设置-Wlan-高级-网址不适用代理,将不需要图片的域名加入 4、不抓包的…

MySQL锁、加锁机制(超详细)—— 锁分类、全局锁、共享锁、排他锁;表锁、元数据锁、意向锁;行锁、间隙锁、临键锁;乐观锁、悲观锁

文章目录 一、概述1.1 MySQL锁的由来1.2 锁定义1.3 锁分类 二、共享锁与排他锁2.1 共享锁(S锁)2.2 排他锁(X锁)2.3 MySQL锁的释放 三、全局锁3.1 介绍3.2 语法3.3 特点 四、表级锁4.1 介绍4.2 表锁4.3 元数据锁(Meta D…

SpringUtils.getBean 空指针异常问题

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 今天在新的jeecg-boot里加入下面的代码 /*** 部门经理处理类** author nbacheng* date 2023-08-06*/ AllArgsConstructor Component("DepManagerHandler") DependsOn({"Sp…

基于SSM+Jsp的校园餐厅管理

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

Ftrans文件安全传输系统 无缝替代FTP实现安全可靠传输

文件安全传输系统是专门设计用来确保文件在传输过程中安全性的软件或服务,现在这类产品很多都被用于替代FTP。 替代FTP的需求主要源于FTP在安全性、效率和功能方面存在一些限制和不足。下面是FTP的优势和劣势的概述: FTP的优势: 普及性和广…

[Centos7] 部署Zabbix5.0

目录 0 卸载 Zabbix1 准备工作1.1 关闭防火墙1.2 关闭SELinux1.3 重启服务器1.4 安装MySQL 2 配置 Zabbix yum 源2.1 安装zabbix的软件仓库配置包2.2 安装 Software Collections 仓库2.3 修改 Zabbix 仓库配置文件 3 安装 Zabbix3.1 遇到报错Requires: libmysqlclient.so.183.2…

图片在线加水印工具,快速将图片铺满水印

有些同学为了防止图片未经授权的使用和传播,想要将图片添加铺满水印,但是不知道如何操作。下面小编就来和大家分享如何使用图片在线加水印工具,快速的将图片铺满水印。 有许多在线工具可以帮助我们快速、高效地给图片添加水印。在线添加水印&…

使用SpringBootTest测试项目

当我们开发项目后,通常需要进行单元测试,确保开发符合预期。但是对于Springboot项目,依赖部分IOC容器对象的注入。比如代码中存在Autowired、Service、Mapper等。 1、确保pom.xml中包含了依赖,其中的version和scope,大…

面向遥感图像的小目标检测最新方法 FFCA-YOLO

论文简介 在遥感图像中,小目标检测面临着特征表示不足和背景混淆等挑战,特别是当算法需要在有限计算资源的约束下进行实时处理时,对准确性和速度的优化要求尤为严格。为解决这些问题,本文提出了一种高效的目标检测器——特征增强、…

驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法

在连接数据库的时候出现了下面图面中的错误,尝试集中方法后终于解决了这个问题。 1.修改驱动程序版本 出现这种错误可能是因为你的驱动程序版本不兼容,我们可以尝试修改版本解决。而我们的驱动程序往往是以依赖的形式导入,因此可以在maven仓…

【Linux 基础】文件与目录管理

1. 文件和目录的基本概念 文件:是数据的集合,可以是文本、图像、视频等。 目录(也称为文件夹):是文件和子目录的集合,用于组织文件。 2. 目录和路径 绝对路径:从根目录(/&#x…