论文阅读:Lidar Annotation Is All You Need

目录

概要

Motivation

整体架构流程

技术细节

小结


概要

    论文重点在探讨利用点云的地面分割任务作为标注,直接训练Camera的精细2D分割。在以往的地面分割任务中,利用Lidar来做地面分割是目前采用激光雷达方案进行自动驾驶的常见手段。来自Evocargo LCC的学者认为在2D上直接做分割的标注(尤其是高精度的分割标注)是比较耗时耗力的,这会带来很多额外的成本,不利于大规模自动驾驶量产。作者提出使用3D的地面粗分割结果(例如patchwork++这种无需训练的模型)作为reference。解决了激光雷达点云的稀疏地面实况蒙版的问题。该方法的实验证明,在减轻注释负担的同时,能够保持与高质量图像分割模型相媲美的性能。

    论文方法的关键创新是masked损失,其解决了激光雷达点云中稀疏的真值masks。

    论文的贡献总结如下:

  1. 提出了一种新型的灵活且有效的图像分割方法,使用卷积神经网络和投影的激光雷达点云数据作为真值;
  2. 在若干数据集上评估了所提出的方法,将其与使用标准2D真值训练的模型进行比较,并且考虑了本文方法的细节,包括混合能力以及传感器设置的差异。

Motivation

  1. 虽然激光雷达数据提供准确的深度信息,但它们无法精确分割场景内的对象;
  2. 激光雷达测量在某些情况下的精度有限;例如,当处理透明或反射表面时,反射的激光脉冲可能会被扭曲或吸收。
  3. 减少了标注的负担,并且能够在不损失分割质量的情况下训练图像分割模型。

整体架构流程

    方法的整体流程如上图所示。它由四个主要部分组成:点云道路注释、数据准备、掩模损失和分割模型本身。首先,我们获取点云域中带有道路注释的数据。之后,我们使用齐次变换和相机参数来投影点。然后,使用投影点,获得道路地面实况和掩模,用于添加随机噪声的损失计算。来自相机的图像由分割模型处理。Masked 损失利用上一步的预测和掩码,从而允许使用稀疏的地面实况数据来训练模型。最后,经过模型训练,得到了具有分段道路的图像。训练过程以及Masked损失允许将投影的地面实况与传统的 2D掩模混合,这使得该方法在数据方面具有灵活性。  

技术细节

"Waymo full"数据集验证分割的道路分割结果(IoU 的百分比),该数据集针对在不同比率的 2D图像掩模和基于激光雷达的地面实况上训练的模型。

Waymo 开放数据集上三种模型的预测比较。从上到下:仅 2D、仅投影 3D、混合 2D + 投影 3D

    可以在训练过程中将数据集中的 2D 图像掩模与 3D 点云掩模结合起来。这种多功能性非常有价值,特别是当 3D 激光雷达点和图像的手动注释可能不切实际时(当数据集非常大时)。该方法使用两个公共数据集(Waymo 开放数据集和 KITTI-360)和一个专有数据集进行了测试,结果令人鼓舞。仅在投影激光雷达点掩模上训练的模型的性能略逊于二维掩模训练的模型,但前者的质量仍然很高,并且与后者的质量相当。在 2D 掩模和激光雷达投影组合上训练的模型的性能指标与传统的 2D 掩模模型相匹配甚至超过了传统的 2D 掩模模型,强调了这种混合方法的潜力。混合实验表明,可以将训练所需的图像量减少 50%,并在不损失预测质量的情况下增加投影3D 数据量。

小结

    在文中介绍了一种新的道路表面分割方法,其利用了标注的激光雷达点云和传统的2D图像掩膜。通过本文流程(包括点云道路标注、真值数据准备、分割神经网络和专门设计的masked损失函数),作者展示了激光雷达获得的道路masks如何使神经网络在图像分割任务中表现更好。论文方法使用较少的资源来标注来自不同类型传感器的数据。

    该方法的一个显著优势是其灵活性,它能够在训练过程中将数据集中的2D图像掩膜和3D点云掩膜相结合。这种多功能性非常有价值,尤其在3D激光雷达点云和图像的手动标注可能不切实际的情况下(当数据集非常大时)。该方法使用两个公开数据集(Waymo Open Dataset和KITTI-360)和一个专有数据集进行测试,结果非常良好。仅在投影的激光雷达点云掩膜上训练的模型的性能略低于2D掩膜训练的模型,但是前者的质量仍然很高,与后者的质量相当。在2D掩膜和激光雷达投影的组合上训练的模型的性能指标与传统的2D掩膜模型相当甚至超过2D掩膜模型,从而突出了这种混合方法的潜力。混合实验表明,可以将训练所需的图像数量减少50%,并且在不损失预测质量的情况下增加投影的3D数据数量。

    在Waymo和KITTI-360数据集上的分析结果表明,激光雷达的特性(例如图像上的点分布、距离和频率)会影响分割结果。这种可变性表明,尽管基于激光雷达的标注很重要,但是也应该考虑每个数据集的独特属性,包括硬件细节和环境变量。

    未来的研究可以使用不同的方法。增强投影的激光雷达点云的规模可能会提高覆盖范围,但是会损失一些精度。今后也能够扩展数据融合技术,利用车辆周围的多相机视角并且探索各种激光雷达设置。理解不同激光雷达之间的细微差别是至关重要的,并且需要在各种条件下(冬天和夜间场景等)测试本文方法。最后,需要额外研究将投影的激光雷达点作为输入的新型神经架构,可能会优化2D图像标注和3D激光雷达数据的组合,以增强分割。

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

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

相关文章

一篇文章了解Flutter Json系列化和反序列化

目录 一. 使用dart:convert实现JSON格式编解码1. 生成数据模型类2. 将JSON数据转化成数据模型类3. 数据模型类转化成JSON字符串 二、借助json_serializable实现Json编解码1.添加json_annotation、build_runner、json_serializable依赖2. 创建一个数据模型类3. 使用命令行生成JS…

819. 最常见的单词

819. 最常见的单词 Java:split() 过滤 class Solution {public String mostCommonWord(String paragraph, String[] banned) {String s paragraph.replaceAll("\\p{Punct}", " "); // 去除所有标点符号String arr[] s.split(" "…

遗传算法应用-- 栅格法机器人路径规划

文章目录 一、遗传算法1.1 编码与解码1.2 选择算子-轮盘赌法1.3 交叉算子1.4 变异算子1.5 遗传算法流程1.6 基于遗传算法的栅格法机器人路径规划 二、采用模拟退火算法改善适应度函数 一、遗传算法 遗传算法 (Genetic AIgorithm, 简称 GA)起源于对生物系统所进行的计算机模拟研…

1.3 第一个C程序

一、Dev-C的安装 下载地址:https://sourceforge.net/projects/orwelldevcpp/ 二、Dev-C简单的使用 2.1 首次打开配置 2.2 第一个程序的编辑、编译、运行 三、Hello Word程序讲解 3.1 程序框架 几乎所有的程序都需要这一段代码 3.2 输出 printf("Hello World…

workflow系列教程(4)Parallel并联任务流

往期教程 如果觉得写的可以,请给一个点赞关注支持一下 观看之前请先看,往期的博客教程,否则这篇博客没办法看懂 workFlow c异步网络库编译教程与简介 C异步网络库workflow入门教程(1)HTTP任务 C异步网络库workflow系列教程(2)redis任务 workflow系列教程(3)Series串联任务流…

AICore 带来了 Android 专属的 AI 能力,它要解决什么?采用什么架构思路?

前言 Google 最近发布的 Gemini 模型在全球引起了巨大反响,其在多模态领域的 Video demo 无比震撼。对于 Android 开发者而言,其中最振奋人心的消息莫过于 Gemini Nano 模型将内置到 Android 系统当中,并开放给开发者使用。 事实上&#xf…

【产品经理】产品专业化提升路径

产品专业化就是上山寻路,梳理一套作为产品经理的工作方法。本文作者从设计方法、三基座、专业强化、优秀产品拆解、零代码这五个方面,对产品经理的产品专业化进行了总结归纳,一起来看一下吧。 产品专业化就是上山寻路,梳理一套作为…

接口自动化测试框架【AIM】

最近在做公司项目的自动化接口测试,在现有几个小框架的基础上,反复研究和实践,搭建了新的测试框架。利用业余时间,把框架总结了下来。 AIM框架介绍 AIM,是Automatic Interface Monitoring的简称,即自动化…

c++ websocket 协议分析与实现

前言 网上有很多第三方库,nopoll,uwebsockets,libwebsockets,都喜欢回调或太复杂,个人只需要在后端用,所以手动写个; 1:环境 ubuntu18 g(支持c11即可) 第三方库:jsoncpp,openssl 2:安装 jsoncpp 读取json 配置文件 用 自动安装 网…

docker小白第五天

docker小白第五天 docker的私有库 有些涉密的信息代码不能放在阿里云的镜像仓库,因此需要构建一个个人内网专属的私有库,将镜像或者容器代码进行推送保存。 下载镜像docker registry 执行代码docker pull registry,用于搭建私服前的准备。…

微信小程序---使用npm包安装Vant组件库

在小程序项目中,安装Vant 组件库主要分为如下3步: 注意:如果你的文件中不存在pakage.json,请初始化一下包管理器 npm init -y 1.通过 npm 安装(建议指定版本为1.3.3) 通过npm npm i vant/weapp1.3.3 -S --production 通过y…

EasyExcel 简单导入

前边写过使用easyexcel进行简单、多sheet页的导出。今天周日利用空闲写一下对应简单的导入。 重点:springboot、easyExcel、桥接模式; 说明:本次使用实体类student:属性看前边章节内容; 1、公共导入service public …

gitee提交代码步骤介绍(含git环境搭建)

1、gitee官网地址 https://gitee.com; 2、Windows中安装git环境 参考博客:《Windows中安装Git软件和TortoiseGit软件》; 3、设置用户名和密码 这里的用户名和密码就是登录gitee网站的用户名和密码如果设置错误,可以在Windows系统的“凭据管理…

C#面试题

目录 基本概念 装箱和拆箱 1、装箱拆箱的“箱”是什么,“箱”存放在哪里? 2、装箱快还是拆箱快? 3、装箱和拆箱有什么性能影响? 值类型和引用类型分别是哪些 访问权限修饰符 委托(delegate) 什么是委托链 委托链用途 事件…

【C语言】实战项目——通讯录

引言 学会创建一个通讯录,对过往知识进行加深和巩固。 文章很长,要耐心学完哦! ✨ 猪巴戒:个人主页✨ 所属专栏:《C语言进阶》 🎈跟着猪巴戒,一起学习C语言🎈 目录 引言 实战 建…

VLAN间的通讯---三层交换

一.三层交换 1.概念 使用三层交换技术实现VLAN间通信 三层交换二层交换 三层转发 2.基于CEF的MLS CEF是一种基于拓补转发的模型 转发信息库(FIB)临接关系表 转发信息库(FIB)可以理解为路由表 邻接关系表可以理解为MAC地址表…

Linux驱动(中断、异步通知):红外对射,并在Qt StatusBus使用指示灯进行显示

本文工作: 1、Linux驱动与应用程序编写:使用了设备树、中断、异步通知知识点,实现了红外对射状态的异步信息提醒。 2、QT程序编写:自定义了一个“文本指示灯”类,并放置在QMainWidget的StatusBus中。 3、C与C混合编程与…

【华为数据之道学习笔记】5-4 数据入湖方式

数据入湖遵循华为信息架构,以逻辑数据实体为粒度入湖,逻辑数据实体在首次入湖时应该考虑信息的完整性。原则上,一个逻辑数据实体的所有属性应该一次性进湖,避免一个逻辑实体多次入湖,增加入湖工作量。 数据入湖的方式…

Android Studio好用的插件推荐

目录 一、插件推荐 二、如何下载 1.点击File—>Settings ​2.点击Plugins然后进行搜索下载 三、Android Studio 模板 一、插件推荐 这个插件可以为您自动生成Parcelable代码。Parcelable是一种用于在Android组件之间传递自定义对象的机制,但手动编写Parcela…

RabbitMQ搭建集群环境、配置镜像集群、负载均衡

RabbitMQ集群搭建 Linux安装RabbitMQ下载安装基本操作命令开启管理界面及配置 RabbitMQ集群搭建确定rabbitmq安装目录启动第一个节点启动第二个节点停止命令创建集群查看集群集群管理 RabbitMQ镜像集群配置启用HA策略创建一个镜像队列测试镜像队列 负载均衡-HAProxy安装HAProxy…