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

news2024/11/26 0:26:18

目录

摘要

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.coloradmin.cn/o/1093018.html

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

相关文章

股票买卖问题I、II、III、IV、V、VI

力控121、122、123、188、714、309。 买卖股票的第一题 121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设…

tomcat部署jenkins

tomcat部署jenkins 1.简介: Jenkins是一个开源的自动化服务器工具,用于持续集成和持续交付。它能够自动化构建、测试和部署软件项目,提高开发团队的效率和软件质量。 jenkins就是一个整合工具,把代码从git或者其他代码托管平台…

windows10 sockect tcp

1. 在vs下添加ws2_32.lib库 右键【项目】-【属性】-【链接器】-【输入】-【附加依赖项】,进行编辑,添加 ws2_32.lib库,去掉从父级或项目默认设置继承的勾选,如下图所示: 这是因为inet_addr是一个老函数,而…

【MySQL】索引的作用及知识储备

为什么要有索引 索引可以提高数据库的性能。不用加内存,不用改程序,不用调sql,只要执行正确的create indix,查询的速度就可能提高成百上千倍。但相应的代价是,插入,更新,删除的速度有所减弱。 …

【重新定义matlab强大系列十六】求解混合整数线性问题

🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好🤗&#x1f91…

【算法|动态规划No.18】leetcode718. 最长重复子数组

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

数据结构与算法-单链表小练习

🎈类定义 typedef int ElemType; typedef struct LNode {ElemType data;LNode* next; }LNode; class LinkList { private:LNode* head;public:LinkList();~LinkList();int deletelist(int x);void CreatList_h(int n);void print_evennode();void divide_LinkList(…

『GitHub Actions』部署静态博客指南

前言 之前博主是使用的 Jenkins 实现 vuepress 博客的自动部署与持续交付,但是因为现在迁移服务器到海外,并且服务器配置降低。现在经常出现服务器的 Jenkins 构建过程中 CPU 占用率过高,导致服务器卡死 然后我想的话既然只是部署静态博客&…

基于Java的博客管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

Puppeteer实现上下滚动、打开新Tab、用户数据保存(三)

Puppeteer实现上下滚动、打开新Tab、用户数据保存(三) Puppeteer实现上下滚动、打开新Tab、用户数据保存(三)一、实现上下滚动二、打开新Tab三、用户数据保存四、效果演示 一、实现上下滚动 在自动化测试中,我们需要能…

计算机毕业设计选题推荐-springboot 蛋糕甜品店管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

YOLO目标检测——跌倒摔倒数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用:公共安全监控、智能家居、工业安全等活动区域无监管情况下的人员摔倒事故数据集说明:YOLO目标检测数据集,真实场景的高质量图片数据,数据场景丰富。使用lableimg标注软件标注,标注框质量高,含…

SpringBoot面试题1:什么是SpringBoot?为什么要用SpringBoot?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:什么是SpringBoot? Spring Boot 是一个用于快速开发独立的、基于 Spring 框架的应用程序的开源框架。它简化了 Spring 应用的配置和部署过程,使…

稚晖君项目复刻:L-ink门禁卡(1)——环境搭建与第一个项目创建

行文目录 前言其他文章正文开始STM32CubeMX安装STM32CubeMX安装L0的固件支持包Clion安装OpenOCD安装MinGw安装arm-none-eabi-gcc安装Clion配置 创建STM32工程创建STM32CubeMX工程更改芯片型号 参考文献 前言 其实关于稚晖君的L-ink门禁卡在我本科阶段就已经刷过好几次了&#x…

前端页面布局之【响应式布局】

目录 🌟前言🌟优点🌟缺点🌟media兼容性🌟利用CSS3-Media Query实现响应式布局🌟常见的媒体类型🌟常见的操作符🌟属性值🌟设备检测🌟响应式阈值选取&#x1f3…

使用vue3+element-ui plus 快速构建后台管理模板

一、安装 vue3 脚手架 npm create vuelatestcd vue-ui-template #切换到刚刚创建好的vue项目根目录中 npm install #下载项目所需要的依赖包 npm run dev #启动运行项目服务项目启动后,默认页面显示如下: 二、安装element-ui plus 官网链接:…

CDN到底有什么魅力,值得网站接入

当谈到提高网站性能和用户体验时,内容分发网络(Content Delivery Network,CDN)是一项不可忽视的技术。CDN加速已经成为许多在线企业的首选,用以减少加载时间、提高安全性和全球可访问性。本文将深入探讨CDN的原理、工作…

2023-10-14 LeetCode每日一题(只出现一次的数字)

2023-10-14每日一题 一、题目编号 136. 只出现一次的数字二、题目链接 点击跳转到题目位置 三、题目描述 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时…

基于Java的大学生实习管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…