2DPASS激光雷达点云语义分割简介

导读

香港中文大学深圳深度比特实验室提出了一种基于二维图像先验辅助的激光雷达点云语义分割 (2DPASS)。不同于先前的多模态方法(训练和推理阶段均需要成对的图像和点云数据作为输入),该方法仅在训练阶段利用额外的图像数据,从相机数据中获取更丰富的语义和结构信息,并将其提炼蒸馏至三维语义分割网络中。在测试阶段,该方法可实现实时感知,无需图像数据输入,即可实现又快又准的三维语义分割,并在多个大型语义分割比赛(SemanticKITTI单帧、多帧和Nuscenes)都达到了最先进的水平
在这里插入图片描述论文地址:
https://arxiv.org/pdf/2207.04397.pdf
GitHub:
https://github.com/yanx27/2DPASS

一、研究动机

随着越来越多的方法同时使用相机和激光雷达传感器捕获互补信息,通过多模态数据融合的语义分割已经实现了巨大的进步。这些基于融合的方法首先将点云投影到图像平面上来建立三维点和二维像素之间的映射,基于该映射,这些模型将相应的图像信息融合到点云,并获得最终的语义分割结果。然而,上述方法却有以下不可避免的局限性:

1.在一些情况下,相机和激光雷达之间的视野不同,而无法建立点到像素的映射关系。如SemanticKITTI数据集中相机的视野仅占据激光雷达视野的一小部分(如下图),这极大地限制了基于融合的方法的应用。
2.基于融合的方法往往需要消耗更多的计算资源,因为它们在训练和推理阶段需要同时处理图像和点云数据,这为自动驾驶应用的实时性带来了巨大的挑战。
在这里插入图片描述

二、方法

为了解决上述两个问题,该团队提出了一种基于二维图像先验的训练方案,2D Priors Assisted Semantic Segmentation (2DPASS),以促进三维点云上的表征学习。2DPASS具有以下的优势:

通用性:2DPASS不限制所使用的三维语义分割模型的类型,可应用在多种已有的模型上提升其效果。
高效性:额外的二维图像仅在训练阶段使用,在部署模型进行推理时,2DPASS仅使用三维点云作为输入。
有效性:即使激光雷达与图片仅有一小部分的重叠区域,2DPASS依旧能有效地提升模型,并在两大基准数据集上达到最先进的水平。
如下图所示,2DPASS首先从原始相机图像中随机抽取一个区域作为二维输入,将裁剪后的图像和点云分别经过独立的2D和3D编码器,并提取两个主干网络中的多尺度特征。然后,其通过多尺度-多模态到单模态知识蒸馏 (Multi-Scale Fusion-to-Single Knowledge Distillation,MSFSKD) 增强三维网络。该方法即充分利用纹理和颜色感知的二维先验,同时保留原始的三维的特定知识。最后,2DPASS利用每个尺度的二维和三维特征生成语义分割预测,由三维点云标签进行监督。在实时推理过程中,2DPASS丢弃与图像相关的分支,与基于融合的多模态方法相比,有效地避免了额外的计算负担。
在这里插入图片描述
其中,MSFSKD是2DPASS的关键,其目的是利用多尺度的二维先验信息,通过融合再蒸馏的方式,提高每个尺度的三维特征表示。具体如下图所示:
在这里插入图片描述
首先,对于每个2D和3D主干网络的每个尺度,2DPASS都会提取相应的特征,并将其映射成原始点云的尺度。有了相互对齐的2D和3D特征,其采用先融合后蒸馏的方式将2D网络的先验信息在训练中传输给3D网络。
在这里插入图片描述

三、实验效果

在论文提交时,2DPASS在SemanticKITTI数据集的单帧和多帧语义分割比赛中均登顶榜首,并在Nuscenes数据集上也达到了最先进的精度。
在这里插入图片描述
同时,2DPASS对于其他的点云语义分割网络(如MinkowskiNet和SPVCNN)也能产生显著的提升。
在这里插入图片描述

四、可视化结果

在这里插入图片描述
在这里插入图片描述

五、结语

本文介绍了一个基于二维先验辅助的激光雷达点云语义分割算法2DPASS,其在模型训练阶段从多模态数据中获取更丰富的语义和结构信息将其提炼到点云分割网络中。该方法具有良好的通用性,且在推理时仅基于点云数据输入即可实现又快又准的三维语义分割。该方法在SemanticKITTI数据集单帧和多帧语义分割,以及Nuscenes数据集都达到了最先进的水平。

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

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

相关文章

如何关闭微信视频号的详细步骤

随着移动互联网的发展,越来越多的人开始使用各种社交平台来分享自己的生活和工作。而微信作为一款全民级别的应用,自然也不例外。在微信中,除了传统的聊天、朋友圈等功能外,还推出了一个名为“视频号”的功能,可以让用…

54 代码审计-TP5框架审计写法分析及代码追踪

目录 知识点1知识点2演示案例:demo代码段自写和规则写分析hsycms-TP框架-不安全写法-未过滤weipan21-TP框架-规则写法-内置过滤 知识点1 调试,访问,路由,配置,版本等 知识点2 自写写法:自己写代码,一步步…

新闻管理系统

其他项目,点击作者主页 目录 1 系统简介 2 系统相关技术 2.1 Java开发语言 2.1.1 Spring框架 2.1.2 Spring MVC框架 2.1.3 Mybatis框架 2.2 MySQL数据库 3 需求分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 经济可行性 3.1.3 操作可行性 3.2 业务流…

C语言-实验题目:运动会成绩模拟统计

实验题目:运动会成绩模拟统计 为推动学校体育工作的开展,计算机科学技术学院将在近期举办院运会。本届运动会只设学生组,比赛项目为田径、游泳、篮球、排球、足球、武术、健美操、兵乓球8项。 名次奖励 田径、游泳、健美操、武术 1&#…

【SpringBoot】Starter的使用与案例讲解

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《SpringBoot》。🎯🎯 &…

快速入门Tailwind CSS:从零开始构建现代化界面

快速入门Tailwind CSS:从零开始构建现代化界面 介绍 Tailwind CSS 是一个以原子类的方式快速构建界面的 CSS 框架。它提供了丰富的预定义类,使得开发者能够快速构建样式和布局。 安装和设置 首先,我们需要在项目中安装 Tailwind CSS。可以…

【超详细前后端项目搭建】前端vue3+ts项目(引入ElementPlus、Axios)、后端springboot搭建(创建接口操作mysql数据库)实现前后端联调

目录 前言一、前端项目1、使用vue脚手架创建项目1.1检查vue版本1.2 使用vue脚手架创建项目 2、删除项目多余文件,修改配置项目2.1、删除以下文件2.1、在views下创建index文件2.2、修改router/index.ts路由文件:2.3、修改App.vue文件:2.4、初始…

ElementPlus中的分页逻辑与实现

ElementPlus中的分页逻辑与实现 分页是web开发中必不可少的组件,element团队提供了简洁美观的分页组件,配合table数据可以实现即插即用的分页效果。分页的实现可以分成两种,一是前端分页,二是后端分页。这两种分页分别适用于不同…

C语言:指针与数组易错辨析

前言: 在学校学习指针和数组的联系时,对指针与数组的结合产生了很大的疑惑,后来不断查找资料,本人对指针与数组的综合有了一定的理解,现进行综合讨论辨析 数组指针: 数组指针,即为指向数组类…

【Pytorch】Transposed Convolution

文章目录 1 卷积2 反/逆卷积3 MaxUnpool / ConvTranspose4 encoder-decoder5 可视化 学习参考来自: 详解逆卷积操作–Up-sampling with Transposed Convolution PyTorch使用记录 https://github.com/naokishibuya/deep-learning/blob/master/python/transposed_co…

【改进YOLOv8】车辆测距预警系统:融合空间和通道重建卷积SCConv改进YOLOv8

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义: 随着交通工具的普及和道路交通的不断增加,车辆安全问题日益凸显。特别是在高速公路等高速道路上,车辆之间的距离和速度差异较…

java-两个列表进行比较,判断那些是需要新增的、删除的、和更新的

文章目录 前言两个列表进行比较,判断那些是需要新增的、删除的、和更新的 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实…

计算机网络编程 | 并发服务器代码实现(多进程/多线程)

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

深入了解空号检测API:提升通信效率的关键

引言 随着通信技术的不断发展,人们对于通信效率的要求也越来越高。在通信过程中,空号检测是一个非常重要的环节,它可以帮助我们避免无效的通信,提高通信效率。而空号检测API则是实现空号检测功能的重要工具。 空号检测API 空号…

Seata Server与Nacos Server搭建(商城7)

一、Nacos简介 (一)Nacos是什么 1、Nacos是 Dynamic Naming and Configuration Service的首字母简称,相较之下,它更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 2、Nacos 帮助您发现、配置和管理微服务。Nacos…

【seata】 seata整合nacos + springcloud alibaba 真保姆级教程 解决各种坑点

前言: 坑点太多了,以至于需要单独写篇博客记录一下。 网上教程五花八门且不声明版本,文档不对应以及seata本身的bug,就造成了部署时各种踩坑,如果你和博主一样,已经又恰好很久没碰过nacos了,那可…

pandas读取Excel表指定数值 计算总和

题目要求:在一个文件夹里面有424个Excel表格,每个表格中都是统一的,如下图。要求计算所有表格中金额的总和。 上代码: import os import glob import pandas as pd# 指定文件夹路径 folder_path C:\\Users\\Administrator\\Desk…

Java—基于SpringBootWeb的综合小案例(智能学习辅助系统)

简介:这篇帖子是小编在看哔哩哔哩网课是的一个小案例,来自于黑马程序员,我觉得他们的课讲的很好,而且这个案例很有实用性,就在看视频的基础上,边温故知新,边实现了这个代码,在一些重…

Three.js中文网1-12入门案例

Three.js中文网 <template><div id"webgl"></div> </template><script setup> import * as THREE from three; import { OrbitControls } from three/addons/controls/OrbitControls.js;// 创建3D场景对象Scene const scene new THR…

【Axure RP9】动态面板使用------案例:包括轮播图和多方式登入及左侧菜单栏案例

目录 一 动态面板简介 1.1 动态面板是什么 二 轮播图 2.1 轮播图是什么 2.2 轮播图应用场景 2.3 制作实播图 三 多方式登入 3.1多方式登入是什么 3.3 多方式登入实现 四 左侧菜单栏 4.1左侧菜单栏是什么 4.2 左侧菜单栏实现 一 动态面板简介 1.1 动态面板是什么…