当前位置: 首页 > news >正文

论文阅读:Segment Any Point Cloud Sequences by Distilling Vision Foundation Models

目录

概要

Motivation

整体架构流程

技术细节

小结


论文地址:[2306.09347] Segment Any Point Cloud Sequences by Distilling Vision Foundation Models (arxiv.org)

代码地址:GitHub - youquanl/Segment-Any-Point-Cloud: [NeurIPS'23 Spotlight] Segment Any Point Cloud Sequences by Distilling Vision Foundation Models

概要

  视觉基础模型 (VFMs) 的最新进展为通用且高效的视觉感知开辟了新的可能性。在这项工作中,论文中介绍了 一个新颖的框架Seal,利用 VFM 来分割不同的汽车点云序列。Seal 表现出三个吸引人的特性:

  1. 可扩展性:VFMs 直接提炼成点云,消除了在预训练期间 2D 或 3D 中的注释需求;
  2. 一致性:空间和时间关系在相机到激光雷达和点到段阶段都强制执行,促进了跨模态表示学习;
  3. 通用性:Seal 能够将知识转移以现成的方式转移到涉及不同点云的下游任务,包括来自真实/合成、低/高分辨率、大/小规模和干净/损坏的数据集的任务。

    在实现以下目标的同时,能够学习有用的特征:

  1. 利用原始点云作为输入,从而消除对半或弱标签的需要,并降低标注成本。
  2. 利用驾驶场景中固有的空间和时间线索来增强表示学习。
  3. 确保可推广到不同的下游点云,超出预训练阶段使用的点云。

从跨模态表征学习的最新进展中获得灵感,并以VFMs的成功为基础,从VFMs中提取语义丰富的知识,以支持具有挑战性的汽车点云上的自监督表示学习。该论文的核心思想是利用LiDAR和相机传感器之间的2D-3D对应,构建高质量的对比样本进行跨模态表征学习

Motivation

  1. 现有的点云分割模型严重依赖于用于训练的大型带注释的数据集,即点云标记的劳动密集型性质;
  2. 不同传感器之间存在显著的配置差异(如波束数、摄像机角度、发射速率),这种局限性不可避免地阻碍了点云分割的可扩展性;
  3. LiDAR与摄像机之间往往很难实现完美的校准。

整体架构流程

  Seal通过超像素驱动的对比学习,从VFMs到点云在摄像机视图上蒸馏语义感知。[第1行]由SLIC和VFMs生成的语义超像素(Semantic superpixels),其中每个颜色代表一个“语义块”(segment)。[第2行]语义超点(Semantic superpoints)通过camera-LiDAR对应将超像素投影到3D进行聚合。[第3行]由SLIC和不同的VFMs驱动的框架的 linear probing 结果的可视化。

技术细节

    语义超点时间一致性依赖于来自点云的精确几何信息,并利用实例跨不同时间戳的不同视图来学习时间一致的表示。考虑到最坏的情况,LiDAR和相机传感器之间的2D-3D对应变得不可靠,这种几何约束仍然可以有效地缓解在不准确的交叉传感器校准和同步中出现的潜在误差。此外,本文的point-to-segment正则化机制可以对空间信息进行聚合,从而在lidar获取的场景中起到更好的区分实例的作用,例如“car”和“truck”。正如本文将在下面的章节中展示的,本文的实验结果能够验证提出的一致性正则化目标的有效性和优越性。

    使用MinkUNet作为3D骨干,以0.10m大小的圆柱体素(cylindrical voxels)作为输入。2D骨干是用MoCoV2预训练的ResNet-50。使用带动量的SGD和余弦退火scheduler,在32 batch size的两个GPUs上对分割网络进行50个epochs的预训练。为了进行微调,在nuScenes和SemanticKITTI上采用了与SLidR完全相同的数据分割、扩展和验证协议,并在其他数据集上采用了类似的过程。训练目标是最小化交叉熵损失和Lovasz-Softmax损失的组合。

小结

    本文提出了Seal,是利用二维视觉基础模型在大规模3D点云上进行自监督表示学习的首次尝试。这是一个可伸缩的、一致的、可泛化的框架,旨在捕获语义感知的空间和时间一致性,从而能够从汽车点云序列中提取信息特征。

    在11个不同的点云数据集上进行的大量实验证明了Seal的有效性和优越性。Seal在线性探测后在nuScenes上实现了显著的45.0% mIoU,超过了随机初始化36.9% mIoU,比现有技术高出6.1% mIoU。此外,Seal 在所有 11 个测试点云数据集上的 20 个不同的小样本微调任务中显示出比现有方法显着的性能提升。跨11个不同数据配置的点云数据集对下游任务的linear probing和微调方面明显优于以前的最先进的(SoTA)方法。

相关文章:

论文阅读:Segment Any Point Cloud Sequences by Distilling Vision Foundation Models

目录 概要 Motivation 整体架构流程 技术细节 小结 论文地址:[2306.09347] Segment Any Point Cloud Sequences by Distilling Vision Foundation Models (arxiv.org) 代码地址:GitHub - youquanl/Segment-Any-Point-Cloud: [NeurIPS23 Spotlight]…...

Netty 入门 — 亘古不变的Hello World

这篇文章我们正式开始学习 Netty,在入门之前我们还是需要了解什么是 Netty。 什么是 Netty 为什么很多人都推崇 Java boy 去研究 Netty?Netty 这么高大上,它到底是何方神圣? 用官方的话说:Netty 是一款异步的、基于事…...

idea插件开发javax.net.ssl.SSLException: No PSK available. Unable to resume.

idea插件开发,编译出错 javax.net.ssl.SSLException: No PSK available. Unable to resume.at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:129)at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)at java.base/sun.security.ssl.…...

Selenium的WebDriver操作页面的超时或者元素重叠引起的ElementClickInterceptedException

超时 处理由页面加载引起的超时是在使用 Selenium 进行自动化测试中常见的任务。页面加载可能因网络速度慢、页面复杂性或异步操作而导致超时。以下是一些处理页面加载超时的方法: 1.设置隐式等待时间: 使用 implicitly_wait 方法可以设置隐式等待时间…...

oracle数据库的缓存设置

Oracle缓存由两个参数控制SGA_TARGET和PGA_AGGREGATE_TARGET,设置了这两个参数,其他的基本内存部分都由Oracle自动配置为最优值,这也是Oracle推荐的方式。 SGA_TARGET 和PGA_AGGREGATE_TARGET是动态参数,可以在不重启数据库的情况…...

算法通关村第一关-链表青铜挑战笔记

欢迎来到 : 第一关青铜关 java如何创建链表链表怎么增删改查 我们先了解链表 单链表的概念 我们从简单的创建和增删改查开始. 链表的概念 线性表分为顺序表(数组组成)和链表(节点组成) . 链表又分: 单向 双向有哨兵节点 无哨兵节点循环 不循环 链表是一种物理存储单…...

✔ ★【备战实习(面经+项目+算法)】 10.15学习时间表

✔ ★【备战实习(面经项目算法)】 坚持完成每天必做如何找到好工作1. 科学的学习方法(专注!效率!记忆!心流!)2. 每天认真完成必做项,踏实学习技术 认真完成每天必做&…...

pytorch 训练时raise EOFError EOFError

训练到一半时获取验证数据报错 报错代码 imgs next(iter(val_dataloader)) val_dataloader DataLoader(ImageDataset("data/%s" % opt.dataset_name, transforms_transforms_, unalignedTrue, mode"test"),batch_size5,shuffleTrue,num_workers2,)def …...

node.js+NPM包管理器+Webpack打包工具+前端项目搭建

javascript运行环境(无需依赖html文件) BFF,服务于前端的后端 官网下载安装,node -v查看是否安装成功 ①、创建一个01.js文件 //引入http模块 const httprequire(http)//创建服务器 http.createServer(function(request,respo…...

PCL点云处理之基于FPFH特征的全局配准流程具体实现(二百二十一)

PCL点云处理之基于FPFH特征的全局配准流程具体实现(二百二十一) 一、算法介绍二、算法实现1.代码2.效果一、算法介绍 PCL点云库提供的多种工具,可以组合为一套完整的点云配准流程,这里选择FPFH特征,进行具体的配准流程实现,主要内容包括点云读取、点云法线计算、点云特征…...

ai_drive67_基于不确定性的多视图决策融合

论文链接:https://openreview.net/forum?idOOsR8BzCnl5 https://arxiv.org/abs/2102.02051 代码链接:https://github.com/hanmenghan/TMC Zongbo Han, Changqing Zhang, Huazhu Fu, Joey Tianyi Zhou, Trusted Multi-View Classification, Internatio…...

Docker逃逸---procfs文件挂载

一、产生原因 将宿主机/proc目录挂载进了容器,而该目录内的/proc/sys/kernel/core_pattern文件是负责进程奔溃时内存数据转储的,当第一个字符是| 管道符时,后面的部分会以命令行的方式进行解析并运行,攻击者可以将恶意文件写入该…...

[Python小项目] 从桌面壁纸到AI绘画

从桌面壁纸到AI绘画 一、前言 1.1 确认问题 由于生活和工作需要,小编要长时间的使用电脑,小编又懒,一个主题用半年的那种,所以桌面壁纸也是处于常年不更换的状态。即时改变主题也是在微软自带的壁纸中选择,而这些自…...

【Docker 内核详解】namespace 资源隔离(五):User namespaces

【Docker 内核详解 - namespace 资源隔离】系列包含: namespace 资源隔离(一):进行 namespace API 操作的 4 种方式namespace 资源隔离(二):UTS namespace & IPC namespacenamespace 资源隔…...

网络原理必知会

衔接上文:网络原理必知会_念君思宁的博客-CSDN博客 流量控制: 流量控制也是保证可靠性的机制 对于滑动窗口,批量发送数据而言,窗口越大,相当于批量发送的数据越多,整体的速度也就越快了,但是&…...

ELK 日志分析系统介绍与部署

目录 一、ELK 简介: 1.开源工具介绍: 2.其它组件: 2.1 Filebeat: 2.2 Fluentd: 2.3 缓存/消息队列(redis、kafka、RabbitMQ等): 3. filebeat 结合 logstash 带来好处: 二、为什么要…...

Android 内存治理之线程

1、 前言 当我们在应用程序中启动一个线程的时候,也是有可能发生OOM错误的。当我们看到以下log的时候,就说明系统分配线程栈失败了。 java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Out of memory这种情况可能是两种原因导致的。…...

三、K8S之ReplicaSet

ReplicaSet 一、概述 Kubernetes最核心的功能是编排,编排操作都是依靠控制器对象来完成,高级控制器控制着基础的控制器,基础控制器再去控制Pod,Pod里面再包容器。K8S项目里API对象层级大概就是这样。 而ReplicaSet这个控制器是…...

【基础篇】四、本地部署Flink

文章目录 1、本地独立部署会话模式的Flink2、本地独立部署会话模式的Flink集群3、向Flink集群提交作业4、Standalone方式部署单作业模式5、Standalone方式部署应用模式的Flink Flink的常见三种部署方式: 独立部署(Standalone部署)基于K8S部署…...

简述什么是迭代器(Iterator)?

迭代器(Iterator)是一种设计模式,Java 中的迭代器是集合框架中的一个接口,它可以让程序员遍历集合中的元素而无需暴露集合的内部结构。使用迭代器可以遍历任何类型的集合,例如 List、Set 和 Map 等。 通过调用集合类的 iterator() 方法可以获取一个迭代器,并使用 hasNext…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

消息队列系统设计与实践全解析

文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...