论文阅读:Image-to-Lidar Self-Supervised Distillation for Autonomous Driving Data

目录

摘要

Motivation

整体架构流程

技术细节

雷达和图像数据的同步

小结


论文地址: [2203.16258] Image-to-Lidar Self-Supervised Distillation for Autonomous Driving Data (arxiv.org)

论文代码:GitHub - valeoai/SLidR: Official PyTorch implementation of "Image-to-Lidar Self-Supervised Distillation for Autonomous Driving Data"

摘要

    自动驾驶汽车的图像到雷达自我监督蒸馏。

    在自动驾驶中两项重要任务:分割或检测稀疏激光雷达点云目标(使车辆在3D环境中安全运行)。在3D语义分割或目标检测中,性能最好的方法依赖于大量带标注数据(注释3D激光雷达数据既复杂又昂贵)。 论文提出一种自监督预训练方法,适用于自动驾驶数据的3D感知模型。即,利用自动驾驶设备中同步和校准的图像和激光雷达传感器的可用性,将自监督的预训练图像表征蒸馏到3D模型中(不需要任何点云或图像标注)。

    方法关键是使用超像素(superpixel),用于在视觉相似区域中池化3D点特征和2D像素特征,然后训练一个3D网络进行自监督任务,再匹配池化点特征与相应的池化图像像素特征。通过超像素获得的对比区域优势在于:

  1. 将视觉上相干区域的像素和点组合在一起,可以产生更具意义的对比任务,从而产生非常适合3D语义分割和3D目标检测的特征;
  2. 所有不同区域在对比损失中权重相同,与这些区域中采样的3D点数量无关;
  3.  减轻由于不同传感器之间遮挡而导致的点和像素不正确匹配所产生的噪声。在自动驾驶数据集上的大量实验表明,我们的图像到激光雷达蒸馏策略能够产生良好的语义分割和目标检测任务的3D表征。

Motivation

  1. 对三维激光雷达点云进行标注是一项耗时耗力的任务;
  2. 目前的SSL方法多适用于室内密集点云,如PointContrast;
  3. 自动驾驶汽车装置中同步和校准的多模态数据的可用性。

整体架构流程

    利用自动驾驶汽车的同步和校准的摄像头和激光雷达传感器将自我监督的预训练图像表示提取到3D网络中。这个3D网络就是实际需要得到的表征,可以很好地转移到2D中各种复杂的下游任务中,通常超过监督预训练(实现无需标注和少量标注)。即,自我监督的2D到3D表征蒸馏,SLidR。SLidR 将预训练和固定 2D 网络的知识提炼成一个 3D 网络。它使用超像素将视觉上相似区域的特征汇集在一起,无论是在图像上,还是在通过超像素反投影的点云上。超像素驱动的对比损失对齐池化点和图像特征。如图所示:

  对雷达数据和相机的图像数据进行超像素分割得到超像素,经过点云到图像的一个反投影可以得到点与像素的映射关系,且得到superpoint与superpixel对应关系,然后图像数据经过预训练的2D网络再经过一个project head与雷达数据经过3D网络,再经过一个projection head,这样得到的就是相同维度的特征,再经过一个平均池化,就可以进行对比损失优化。(来自于:[论文阅读] Image-to-Lidar Self-Supervised Distillation for Autonomous Driving Data - 知乎 (zhihu.com))

    流程如下图所示,图像经过超像素分割得到超像素,且反投影到点云上,然后图像经过2D网络(先经过预训练网络再经过一个projection head),然后进行池化;点云数据经过3D网络(先预训练然后经过一个projection head),然后进行池化。这个时候就得到superpixel特征和superpoint特征,然后计算损失loss,匹配superpoint与其对应的superpixel,从而联合训练3D网络和两个head的参数。3D网络的backbone用于迁移到下游任务。

技术细节

雷达和图像数据的同步

对于某一个场景的t0时刻获取得到的点云数据:

P=(pi) 

与之对应的 一个相机获取得到图像数据:

通过一个mapping公式进行同步:

小结

      提出基于超像素(superpixel)到超点(superpoint)的对比损失和精心设计的图像特征上采样架构(即将strided convolution替换为dilated convolution)的自监督2D-3D表示蒸馏,该方法允许在不改变网络结构以及不影响结果的情况下提取高分辨率图像特征。这种方法称为SLidR,Superpixel-driven Lidar Representations。这是一种自我监督的图像到图像到 Lidar 蒸馏方法,用于处理同步激光雷达和相机数据,通常在应用于自动驾驶。SLidR 产生了强大的点云表示,这些表示可以很好地转移到多个任务和数据集上,超过了相关的最先进方法。

    首次面向自动驾驶数据的自监督图像到激光雷达的表示蒸馏问题的研究。在论文选取评估设置中,image-to-Lidar pre-training strategy超过了SOTA的3D self-supervised pre-training方法和2D-to-3D distillation方法(设计用于捕捉室内场景中的密集点云)。

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

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

相关文章

【随笔】论多线程CPU离线渲染器的实现:A CPU BASED OFFLINE RENDERING ENGINE

前言 小熊挺喜欢玩游戏的,对于游戏画面有所追求,记得高中第一次玩战地的时候,惊叹于画面细腻的表现,并且还能开坦克车,这样的事情深深吸引了我。我是一个画面党,为了追求更好的画质表现我开始研究设置面板…

mysql误删误操作恢复数据,比传统方式和binlog2sql更快速用的恢复方式-reverse_sql恢复数据(单表多表)

场景: 误操作删除了某个表的数据,本文只讲工具的使用,首先自己通过mysqlbinlog或者记录找到误操作的时间范围:开始时间和结束时间,已经确定好是哪个binlog了下面以误删为例。 查看binlog是否开启 show variables like …

SpringBoot面试题2:SpringBoot与SpringCloud 区别?SpringBoot和Spring、SpringMVC的区别

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:SpringBoot与SpringCloud 区别? Spring Boot 和 Spring Cloud 是 Spring 生态系统中的两个关键组件,它们有以下区别: 定位:Spring Boot 用于简…

数据结构:队列

特点 只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out) 入队列:进行插入操作的一端称为 队尾( Tail/Rear ) 出队列:进行删除操作的一端称…

c#设计模式-行为型模式 之 备忘录模式

🚀简介 备忘录模式(Memento Pattern)是一种行为型设计模式,它保存一个对象的某个状态,以便在适当的时候恢复对象。所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象…

Matlab-ODE45:求解状态变量(微分方程组)

ode45函数 ode45实际上是数值分析中数值求解微分方程组的一种方法,4阶五级Runge-Kutta算法。 调用方法 ​ 其实这种方程的每一个状态变量都是t 的函数,我们可以从现代控制理论的状态空间来想。因此返回[ t , x ],其中t是一个列向量&#xf…

Hadoop3教程(十一):MapReduce的详细工作流程

文章目录 (94)MR工作流程Map阶段Reduce阶段 参考文献 (94)MR工作流程 本小节将展示一下整个MapReduce的全工作流程。 Map阶段 首先是Map阶段: 首先,我们有一个待处理文本文件的集合; 客户端…

机器学习——奇异值分解二(特征分解+SVD纯理解)

矩阵的特征分解 特征值和特征向量的定义 抄来的:奇异值分解 困惑1:特征值和特征向量,和原矩阵是怎样的关系,需要一个栗子进行更具象的认识 困惑2:为什么多个特征向量组合成的矩阵,可以构成矩阵A的特征分解…

自动驾驶中的数据安全和隐私

自动驾驶技术的发展已经改变了我们的出行方式,但伴随着这项技术的普及,数据安全和隐私问题也变得愈发重要。本文将探讨自动驾驶中的数据收集、数据隐私和安全挑战,以及如何保护自动驾驶系统的数据。 自动驾驶中的数据收集 在自动驾驶技术中…

【Wifi】Wifi架构介绍

Wifi架构介绍 本文基于Android介绍其Wifi架构。Wifi是许多操作系统提供的重要功能之一,特别是越来越多的车载系统wifi是其必备功能。为啥wifi是必备功能? 一方面是传统的上网(现在有些车载使用DCM模块管理网络),另一方…

Spring MVC 和Spring JDBC

目录 Spring MVC MVC模式 核心组件 工作流程 Spring JDBC Spring JDBC功能和优势 Spring JDBC的关键组件 Spring MVC Spring MVC(Model-View-Controller)是Spring框架的一个模块,用于构建Web应用程序。它的主要目标是将Web应用程序的不…

B2R Raven: 2靶机渗透

B2R Raven: 2靶机渗透 视频参考:ajest :https://www.zhihu.com/zvideo/1547357583714775040?utm_id0 原文参考:ajest :https://zhuanlan.zhihu.com/p/270343652 文章目录 B2R Raven: 2靶机渗透1 启动靶机,查看后网卡…

CocosCreator 面试题(十一)Cocos Creator 屏幕适配

Cocos Creator 提供了多种屏幕适配的方式,以确保游戏在不同设备上能够正确显示和布局。 以下是 Cocos Creator 中常用的屏幕适配方式及其说明。 1、 Cocos Creator 项目设置中统一配置设计分辨率和屏幕适配 在同一个项目里的多个 Canvas 的设计分辨率仍然采用同一…

HBuilder创建uniapp默认项目导入uview(胎教)

1:更新HBuilder 建议更新 2:更新插件 我本人在没有更新插件的情况下报错了,找到了**这个大佬**解决问题,所以建议更新插件 先卸载uni-app(Vue2)编译 再重新安装 uni-app(Vue2)…

qemu基础篇——VSCode 配置 GDB 调试

文章目录 VSCode 配置 GDB 调试安装 VSCode 插件调试文件创建调试配置配置脚本qemu 启动脚 启动调试报错情况一报错情况二报错情况三 调试界面运行 GDB 命令查看反汇编断点查看内核寄存器查看变量参考链接 VSCode 配置 GDB 调试 qemu-基础篇——arm 裸机调试环境搭建 上一节中…

LuaJit交叉编译移植到ARM Linux

简述 Lua与LuaJit的主要区别在于LuaJIT是基于JIT(Just-In-Time)技术开发的,可以实现动态编译和执行代码,从而提高了程序的运行效率。而Lua是基于解释器技术开发的,不能像LuaJIT那样进行代码的即时编译和执行。因此&…

利用ChatGPT练习口语

目录 ChatGPT 这两天发布了一个激动人心的新功能,App端(包括iOS和Android)开始支持语音对话以及图片识别功能。 这两个功能一如既往的优先开放给Plus用户使用,现在将App更新到最新版本,就能体验。 为什么说激动人心&a…

2023年中国汽车智能工厂市场规模不断增大,智能化已成趋势[图]

汽车智能工厂是在数字化工厂的基础上,通过互联网技术与工业技术结合,数据监管设备以及AI等技术的结合,实现汽车整车从原材料及零部件的生产到运输、组装一系列的自动化生产。汽车智能工厂很大程度上降低成本和人为干扰,实现自动化…

19 | 如何搞清楚事务、连接池的关系?正确配置是怎样的

事务的基本原理 在学习 Spring 的事务之前,你首先要了解数据库的事务原理,我们以 MySQL 5.7 为例,讲解一下数据库事务的基础知识。 我们都知道 当 MySQL 使用 InnoDB 数据库引擎的时候,数据库是对事务有支持的。而事务最主要的作…

2018-2019 ACM-ICPC, Asia Nanjing Regional Contest G. Pyramid(组合数学 计数)

题目 t(t<1e6)组样例&#xff0c;每次给定一个n(n<1e9)&#xff0c;统计边长为n的上述三角形的等边三角形个数 其中等边三角形的三个顶点&#xff0c;可以在所有黑色三角形&白色三角形的顶点中任取&#xff0c; 答案对1e97取模 思路来源 申老师 & oeis A0003…