激光雷达的强度标定及路标提取

2024-08-25 06:08

本文主要是介绍激光雷达的强度标定及路标提取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

自动驾驶对高精地图的需求日益重要,本文主要是研究3D激光雷达传感器如何进行强度标定,能够利用标定后的强度信息实现路标的提取和识别, 典型的激光雷达传感器测量值包含了距离信息和强度信息,所谓的强度信息即是从物体表面反射的强度,在物理上分析,强度的值取决于三个因素:物体反射率,到物体表面的距离,以及入射角,因此相同反射率的路标值相对于传感器的不同的距离和入射角,将得到不同的强度值。通过对激光雷达的强度标定,确保对同一物体的具有相同的强度值。为了解决这一问题,利用了传感器相对于参考物体表面的强度特性,估算了物体表面的反射率,利用Ostu阈值法进行道路路标线的提取,验证标定结果的可行性。

介绍

随着自动驾驶相关研究的日益发展,很多公司和研究机构都在致力于研究如何在城市中复杂的城市街景中提取鲁棒的特征,其中非常有价值的就是如何提取路标,一般道路的标线包含了箭头,车道虚线和数字,都是十分广泛的信息特征,这些特征可用于定位或者复杂场景中的SLAM问题。

可用于道路路标检测的典型的车载传感器主要是相机和激光雷达,相机相比较于激光雷达更是廉价很多,且更容易获取道路信息,但是相机是更容易受光照的影响,在一些场景下很难或者准确的度量信息,相反,激光雷达却是可以获取更为准确的距离信息。

  图1  没有强度标定点云信息

图2   具有强度标定的点云信息

对比标定前和标定后的强度可视化结果,基于距离车载传感器的远近和入射角,路标信息的轻度是不断的递减的,这些影响是可以通过标定来得到补偿。

这篇文章的主要贡献有:

(1)使用距离和入射角对激光雷达强度的概率传感器强度模型进行校准。

(2)使用强度概率模型进行体素过滤。

激光雷达强度标定

一般情况下,使用3D LiDAR收集的3D点云的密度对车辆速度的依赖性较小。由于点云越是密集对提取道路标线更有优势,因此选择了3D激光雷达进行强度校准。

在以往的研究中,参考曲面的性质将特定的信息存储在用于强度标定的LUT中,而本文提出了一种随机的表示标定结果的方法,该方法考虑了参考平面的强度概率特性,并生成了具有均值和标准方差的LUT。论文中以一栋五层大楼作为强度标定的实例。

图3 是强度校准目标,以五层大楼且具有黄色参考平面的墙体来获得入射角和距离。采集到的强度可视化图如下:

图4  LUT是根据左右激光雷达传感器标定的结果,左右激光雷达传感器特性是略有不同的,与距离和入射角相对应的平均强度和标准偏差存储为LUT作为强度校准的过程。(N是对应于每个表元素的数据数)

A . 激光雷达强度模型

激光雷达获取的强度值 I_id 依赖于入射角 i ,传感器与物体表面的距离d 和表面具有的反射率 p,所以强度信息可以表示为一个以(i,d)作为自变量的函数f(i,d)

两个在同一入射角和距离的条件下物体,其强度之比应该与物体表面的实际反射率之比相同,因此,如果已知参考平面的入射角和距离以及强度信息I_ref,那么反射率p 是可以使用测量得到的强度信息I_id来计算的,在这篇文章中,计算反射率是作为标定强度值得其中一步。

在强度的标定阶段,参考平面表面的反射率是必须的,但是真实的参考平面的反射率是未知的,P_ref设为常熟。P_ref=15。

B . 参考平面的数据获取

根据入射角和距离需要一个由恒定的曲面组成的宽大平面来获取参考平面的强度特性,文本以等界面的建筑外墙作为参考平面。从外墙获取的三维激光雷达的数据,通过估计每个点的表面法向量计算入射角,并且入射角的LUT的分辨率为1度,传感器距离物体表面的距离LUT的分辨率为1cm。使用存储的点云数据,计算平均值 avg(u_id)和标准方差(delta_id)生成LUT

图5 没有进行强度标定的路标可视化点云

图6 经过强度标定的路标可视化点云

图7 经过强度体素滤波的路标可视化点云

对比图4可知,当入射距离和入射角较小时,得到的强度值较大,标准差较大。随着距离的增加,强度值减小,标准差减小。因此,如果校准后在同一位置上有多个点,可以用标准偏差来衡量高度可靠的校准值。

LUT的平均值用作基准面I_ref的强度值。因此,校准的强度值(反射值)可以使用测量的强度、入射角和与表面的距离来计算,使用公式(3)

C. 强度标定后滤波

一旦进行校准,远处道路标线的亮度将与附近道路标线的亮度相似。在这种情况下,不可避免产生一些噪声,原因如下:

•在距离和入射角较大的区域,道路标线和沥青的强度值差异较小。在这种情况下,传感器强度值的误差会导致噪声。

•错误计算的入射角或距离测量中的传感器误差可能导致噪声。

对于具有角度的三维激光雷达的系统,一个区域是以不同的角度和距离多次测量的。因此,可以使用校准的强度值和每个点的标准偏差来执行体素过滤。这里,n是属于单个体素的点数。每个体素的强度值和标准差分别用方程(6)和(7)中每个体素中点的校准强度和标准差计算。

结论

本文介绍了一种利用三维激光雷达传感器提取道路信息时对强度值进行校正的方法。我们的发现是,传感器的原始强度值可能与入射角度和距离高度不一致。为了解决这一问题,提出了基于参考曲面的强度标定和体素滤波方法。

本文仅做简单分享介绍,详情可查看具体论文!欢迎各位群友一起加入我们!

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:微信“920177957”(务必按照“姓名+学校/公司+研究方向”备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

这篇关于激光雷达的强度标定及路标提取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104758

相关文章

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

ROS - C++实现RosBag包回放/提取

文章目录 1. 回放原理2. 回放/提取 多个话题3. 回放/提取数据包,并实时发布 1. 回放原理 #include <ros/ros.h>#include <rosbag/bag.h>#include <std_msgs/String.h>int main(int argc, char** argv){// 初始化ROS节点ros::init(argc, argv,

解析apollo纵向控制标定表程序

百度apollo采用标定表描述车辆速度、加速度与油门/刹车之间的关系。该表可使无人车根据当前车速与期望加速度得到合适的油门/刹车开合度。除了文献《Baidu Apollo Auto-Calibration System - An Industry-Level Data-Driven and Learning based Vehicle Longitude Dynamic Calibrating

【LVI-SAM】激光雷达点云处理特征提取LIO-SAM 之FeatureExtraction实现细节

激光雷达点云处理特征提取LIO-SAM 之FeatureExtraction实现细节 1. 特征提取实现过程总结1.0 特征提取过程小结1.1 类 `FeatureExtraction` 的整体结构与作用1.2 详细特征提取的过程1. 平滑度计算(`calculateSmoothness()`)2. 标记遮挡点(`markOccludedPoints()`)3. 特征提取(`extractF

HalconDotNet中的图像特征与提取详解

文章目录 简介一、边缘特征提取二、角点特征提取三、区域特征提取四、纹理特征提取五、形状特征提取 简介   图像特征提取是图像处理中的一个重要步骤,用于从图像中提取有意义的特征,以便进行进一步的分析和处理。HalconDotNet提供了多种图像特征提取方法,每种方法都有其特定的应用场景和优缺点。 一、边缘特征提取   边缘特征提取是图像处理中最基本的特征提取方法之一,通过检

如何根据相同分隔符提取间隔数据?

最近遇到很多提问怎么提取字符的,而这些问题都有一个相同的特征,就是要提取的内容与内容之间,都有着相同的分隔符。当然,这种问题直接用“数据” →  “分列”功能就可以一步到位实现的,但有人喜欢折腾,而更多的人又非得指定函数公式的方法,或者更多的是要保持数据的同步性。   下面,我们就来讲讲用函数公式应该怎么实现这个提取,首先来个数据和要求,如下图,将 - 号间隔的内容依次提取到右边单元格内:

Java8特性:分组、提取字段、去重、过滤、差集、交集

总结下自己使用过的特性 将对象集合根据某个字段分组 //根据id分组Map<String, List<Bean>> newMap = successCf.stream().collect(Collectors.groupingBy(b -> b.getId().trim())); 获取对象集合里面的某个字段的集合 List<Bean> list = new ArrayList<>

OpenCV结构分析与形状描述符(10)检测并提取轮廓函数findContours()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 在二值图像中查找轮廓。 该函数使用算法 253从二值图像中检索轮廓。轮廓是有用的工具,可用于形状分析和对象检测与识别。参见 OpenCV 示例目录中的 squares.cpp。 findContours 是 OpenCV 库中的一个重要函数

【python 走进pytotch】pytorch实现用Resnet提取特征

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂, 而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。人工智能教程 准备一张图片,pytorch可以方便地实现用预训练的网络提取特征。 下面我们用pytorch提取图片采用预训练网络resnet50,提取图片特征。 # -*- coding: utf-8 -*-import os

mhtml图片提取 百度图片下载

如果你需要找一些图片,可以先去百度一下,待相关网页加载完成后,点击保存,即可得到一个mhtml文件。这个文件里的图片会用base64进行存储,只需要找到他们并转化就可以。目前在美篇之类的网站上效果还一般,需要继续排查问题。 效果 代码 大概分为提取所有base64、转化为图片两步。 import base64from io import BytesIOfrom PIL import