NeurIPS 2022 | 涨点神器!利用图像辅助三维点云分析的训练新范式

news2024/11/28 13:41:21

原文链接:https://www.techbeat.net/article-info?id=4212
作者:颜旭

点云作为一种基本的三维表征形式,活跃在自动驾驶、机器人感知等多种任务上。尽管三维点云分析在近年来取得了良好的发展,但由于点云其本身往往是无序、无纹理以及稀疏的存在,故基于单模态的点云分析正逐渐走向瓶颈。为了获得具备更强辨识能力的表征,有些方法引入了额外的二维图像信息(例如纹理、颜色和阴影等),然而这类方法严重增加模型的复杂性和计算量,且在应用场景中额外的图像信息往往是不存在的。

为了解决上述问题,香港中文大学深圳深度比特实验室提出了基于点云分析的跨模态知识蒸馏框架PointCMT作为点云多模态表征学习的新范式。PointCMT仅需要在训练阶段使用额外的图像数据,就能有效提升模型的表征能力,在测试阶段中被强化的模型可以单模态部署。在PointCMT的训练范式下,仅使用非常早期的基线模型PointNet++便可以在多个数据集上得到巨大提升,甚至在ModelNet40数据集上达到最先进的水平(94.4%)。不仅如此,更强的基线模型(例如PointMLP等)依然可以被PointCMT有效提升。该工作目前已发表在机器学习顶级会议NeurIPS 2022上。

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

论文地址:
https://arxiv.org/abs/2210.04208
GitHub:
https://github.com/ZhanHeshen/PointCMT

一、研究动机和方法

点云的跨模态学习

点云与图像的表征有明显差异——前者由三维空间中稀疏且无序的散点组成,而后者则由密集且规整的矩阵表示。其中,点云擅长描绘物体的空间信息与几何形状,但却常常稀疏且无纹理;图像有着丰富的颜色与纹理信息,但在深度与形状感知上却不如点云。因此,在改进点云分析时,我们自然会有疑问:是否可以利用图像中特有的信息来帮助点云进行表征学习?

上述问题被定义为点云的跨模态学习,而解决该问题的直接方法是对上述两种模态的信息进行融合。然而,直接融合不仅需要设计新的多模态模型,在测试阶段也需要成对的数据并进行更复杂的计算。本篇工作采用知识蒸馏作为基础的跨模态训练,该方法可以有效避免上述问题。

作为全新的多模态学习范式,PointCMT具有以下优势:

  • 通用性: PointCMT可以应用于任意的点云分析模型,并不需要对模型结构进行修改;
  • 有效性: PointCMT可以有效地提升数个基线方法在多个数据集上的效果;
  • 高效性: PointCMT只在训练阶段使用额外的图像数据,在测试阶段中被强化的模型可以单模态独立部署;
  • 灵活性: PointCMT可以通过简单的投影点云生成额外图片数据,不依赖于自然图像。

二、基于知识蒸馏

知识蒸馏是获取高效小规模网络的一种新兴方法,其主要思想是将学习能力强的复杂教师模型中的“知识”迁移到简单的学生模型中。传统的知识蒸馏往往假设学生模型与教师模型的训练数据有着相同的分布,甚至是相同的数据。但如果将传统的知识蒸馏放在跨模态的设定中,由于点云与图像在数据表征上有较大的差异且点云和图像的特征提取网络往往具有较大的差别,使得其很难直接被应用。

该工作首先从理论上证明了完成跨模态知识蒸馏的概率下确界(推导请参见原文)。
在这里插入图片描述
基于以上的问题定义,该工作设计了全新的跨模态知识蒸馏训练范式,可以让点云网络有效地获得来自图片信息的增益。

点云跨模态训练新范式

在这里插入图片描述

该工作提出的点云跨模态训练新范式PointCMT如上图所示。总体来说,PointCMT采取知识蒸馏常用的老师-学生框架。考虑到应用于点云和图片的网络结构往往在特征提取上完全不同,但都使用类似的线性层作为分类器,基于这个观察,PointCMT分别设计了两个损失项:特征增强(Feature Enhancement)和分类器增强(Classifier Enhancement)。其训练流程分为三个阶段:

阶段1: 训练图片网络

要利用图像对点云网络进行知识蒸馏,首先要获得具有强大先验的图片网络。针对每一个三维物体点云,PointCMT使用多视角图像作为额外数据——该图像既可以是通过渲染得到的自然图像,也可以是由点云投影得到的深度图。其通过共享权重的卷积神经网络得到逐个视角的图像特征,然后通过聚合函数得到该物体的全局特征,该全局特征通过分类器进行分类得到最终的分类结果。

阶段2: 训练跨模态点云生成器

跨模态点云生成器(CMPG)是该工作的核心之一,它的作用是将一个物体的全局特征重建成三维点云。在实验中,它可以仅仅由数个线性层组成。如上图(b)中所示,PointCMT使用预训练的图片网络提取三维物体的全局特征,并送入CMPG中生成原始点云,其中Earth Mover’s distance (EMD)作为损失函数来监督。

阶段3: 图像辅助点云训练

跨模态训练的过程如上图(a)所示,其中点云网络特征提取器得到的全局特征将被特征增强所强化;最终的分类概率除了受到物体类别标签的监督之外,还会受到分类器增强的监督。

特征增强

如上图(c)所示,利用阶段2中预训练的CMPG作为媒介,PointCMT对齐分别由点云和图像全局特征通过CMPG后重建的两个点云,其中EMD作为监督。
在这里插入图片描述

分类器增强

除了特征增强之外,PointCMT还利用图片网络得到的全局特征来增强点云的分类器。受到Hinton知识蒸馏的启发,PointCMT将图像与点云的特征分别输入点云网络的分类器,并用KL散度对齐两个特征得到的概率分布。这个部分,梯度会回传给点云的分类器,使得点云分类器能够处理两种模态的特征。两种损失的对比如下:
在这里插入图片描述
通过以上的设计,PointCMT不仅避免了传统知识蒸馏在跨模态场景中直接特征对齐而引入的知识负迁移影响,还可以同时提升特征提取器和分类器的性能。

三、实验结果

在PointCMT的训练范式下,PointNet++和PointMLP可以在多个基准(ModelNet40,ScanObjectNN)上达到最先进的水平。

图片输入

值得注意的是,由于ModelNet40中每一个物体的CAD模型可以获得,在该数据上额外的图片信息可以通过渲染CAD模型而获得。而在ScanObjectNN数据上(包含OBJ_ONLY和PB_T50_RS),图片信息仅能通过投影点云而获得(如下图所示)。
在这里插入图片描述

点云分类

以下为PointCMT在ModelNet40和ScanObjectNN上的实验结果。
在这里插入图片描述
在这里插入图片描述

性能分析

特征增强和分类器增强均对模型具有极大的提升作用,尤其是在更加困难的ScanObjectNN数据上。
在这里插入图片描述

对比传统知识蒸馏

由于数据分布和模型差异,直接使用传统的知识蒸馏在点云跨模态学习这个情景下很难有效地提升模型性能,甚至会出现负迁移,而PointCMT在各数据上都获得了更大的提升。
在这里插入图片描述
更多实验与细节可以参见原文。

四、结语

本文介绍了一种由图像辅助的跨模态三维点云学习新范式(PointCMT)。该方法利用知识蒸馏来进行跨模态训练,从而在不改变网络结构、不引入额外模态测试样本的情况下有效提高点云网络的分类效果。该方法在多个基准上达到了最先进结果。

Illustration by Manypixels Gallery from IconScout

-The End-

关于我“门”

将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门-TechBeat技术社区以及将门创投基金。

将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。

如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:

bp@thejiangmen.com

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

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

相关文章

OpenCV笔记--人脸识别算法Eigenfaces和Fisherfaces

目录 1--前言 2--处理ORL数据集 3--Eigenfaces复现过程 4--Fisherfaces复现过程 5--分析 1--前言 ①SYSU模式识别课程作业 ②配置:基于Windows11、OpenCV4.5.5、VSCode、CMake(参考OpenCV配置方式) ③原理及源码介绍:Face…

云栖探馆!云小宝首秀遇上老司机小龙,猜猜谁赢了?

为啥人人都喜欢秋天呢?因为我们打喷嚏都是“爱秋”啊~ 为啥大家会来云栖大会呢?因为云栖大会让我们在一“栖”啊~ 2022云栖大会龙蜥峰会,小龙来啦~! ​ 去年,小龙作为萌新来到云栖大会&#…

归并排序.

归并排序介绍 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用金典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各个答案"修补"在一起,即分而治之) 归并排序的思想示…

为什么程序员会秃头?盘点程序员糟心的几大因素

程序员与脱发似乎存在某种必然的逻辑连接,程序员秃头已经成为大家心中的思维定势。 一提到程序员,难免会想起来java, c, python以及无休止的debug环节,不难想象经常会有程序员跳楼自杀的情况。因为实在是生存不易&…

L5W1作业1 手把手实现循环神经网络

欢迎来到课程5的第一个作业!在此作业中,你将使用numpy实现你的第一个循环神经网络。 循环神经网络(RNN)在解决自然语言处理和其他序列任务上非常有效,因为它们具有“记忆”,可以一次读取一个输入 x⟨t⟩x^…

C语言百日刷题第六天

C语言百日刷题第六天51.鸡兔同笼问题52.输出所有形如aabb的完全平方数53.3n1问题54.输出100~999的所有水仙花数55.韩信点兵56.倒三角形57.求子序列的和58.分数化小数59.开灯问题60.蛇形填数51.鸡兔同笼问题 分析:小学生数学问题。设鸡为a个,兔为b个&…

大数据技术基础实验十:Hive实验——新建Hive表

大数据技术基础实验十:Hive实验——新建Hive表 文章目录大数据技术基础实验十:Hive实验——新建Hive表一、前言二、实验目的三、实验要求四、实验原理五、实验步骤1、启动Hive2、创建表3、显示表4、显示表列5、更改表6、删除表或者列六、最后我想说一、前…

vue学习笔记——简单入门总结(三)

文章目录1.Vue的理解:1.1.mvvm模型:1.2.vue2的数据代理:1.3.vue2的生命周期:1.4.vue中的render函数:1.5. mixin混入:2.Vue组件间通信:2.0.props:2.1.全局事件总线:2.2.消…

WeMos Mini ESP32-S2FN4R2介绍

WeMos Mini ESP32-S2FN4R2介绍LOLIN S2 Mini V1.0.0 ESP32-S2 4MB FLASH 2MB PSRAM WIFI开发板 🌼功能介绍 基于 ESP32-S2FN4R2TYPE-C USB27个数字输入/输出引脚,所有引脚都支持中断/pwm/I2C/单线ADC、DAC、I2C、SPI、UART、USB OTG 📍 详细…

棋盘(马蹄集)

棋盘 难度&#xff1a;白银 0时间限制&#xff1a;1秒 巴占用内存&#xff1a;64M 求一个N*N棋盘中的方块总数。 格式 输入格式&#xff1a;输入整型N 输出格式&#xff1a;输出整型 CSDN盛溪的猫 #include<bits/stdc.h> using namespace std; int main(){ long n,sum1;…

Mybatis要点总结

一、了解orm框架 1.什么是ORM框架&#xff1a;对象关系映射&#xff08;Object Relational Mapping&#xff0c;简称ORM&#xff09;&#xff0c;该模式是为了解决面向对象与关系数据库互补匹配的现象的技术&#xff1b;orm框架是连接数据库的桥梁&#xff0c;主要提供了人持久…

大数据技术之Zookeeper总结Ⅰ

zookeeper总结目录1. Zookeeper 入门1.1 zookeeper概述1.2 Zookeeper特点1.3 ZooKeeper 数据模型的结构2. Zookeeper 本地安装2.1 本地模式安装2.2 配置参数解读3. Zookeeper 集群操作3.1 集群操作3.2 Zookeeper 集群启动停止脚本3.3 客户端命令行语法1. Zookeeper 入门 1.1 z…

数据结构七:七大排序

目录 1&#xff1a;排序的概率 2.插入排序 2.1&#xff1a;直接插入排序-----稳定 2.1.1&#xff1a;基本思想 2.2&#xff1a;希尔排序 2.2.1&#xff1a;概念&#xff1a; 3.选择排序 3.1&#xff1a;选择排序 3.1.1&#xff1a;概念 3.2:堆排序 4.交换排序 4.1&…

微信小程序自动化测试之路

1. 前言 在每次发布新版本之前、都需要回归核心功能、已确保上线后小程序也能按照预期运行. 目前这部分回归工作是由测试同事手工去验证测试用例、按照每周一版本的迭代节奏、回归就花了测试挺多时间的. 最近前端工作比较轻松、故在思考能否把这部分重复的工作交给程序自动来进…

【EhCache: 一款Java的进程内缓存框架】EhCache 是什么、代码实战 Demo

文章目录1 EhCache 是什么2 代码实战 DemoTestEH.javaehcache.xml1 EhCache 是什么 Ehcache 是一种开源的、基于标准的缓存&#xff0c;可提高性能、卸载数据库并简化可扩展性。它是最广泛使用的基于 Java 的缓存&#xff0c;因为它健壮、经过验证、功能齐全&#xff0c;并且与…

python 基于PHP+MySQL的装修网站的设计与实现

至今为止,越来越多企业公司都已经实现了线上推广,提高了企业的运营工作效率,为装修公司设计一款强大的智能装修网,集企业信息展示和信息管理于一体,结合企业与外部的在线交流功能,主要用于大力宣传企业服务、企业产品等信息,让更多的人了解,提高企业的知名度 1&#xff1a;系统…

Spring Data Neo4j(1.对象映射)

文章目录一、Spring Data Neo4j二、注释NodeIdVersion(乐观锁)PropertyRelationship一、Spring Data Neo4j Spring Data Neo4j或简称SDN是下一代Spring Data模块&#xff0c;由Neo4j&#xff0c;Inc.创建和维护。与VMware的Spring Data Team密切合作。 它支持所有官方支持的Ne…

<Linux> shell运行原理及Linux权限的理解

文章目录一、shell 命令及其运行原理shell外壳shell运行原理二、Linux 权限的概念1.用户分类2.切换用户3.用户提权三、Linux 权限管理1.文件访问者的分类&#xff08;人&#xff09;2.文件类型和访问权限&#xff08;事物属性&#xff09;四、文件权限值的表示方法1.字符表示法…

Pycharm 配置远程SSH服务器环境(切换不同虚拟环境)

1.首先在Xshell上通过conda创建新的虚拟环境 2.此时在 /home/y210101004/.conda/envs下多了刚刚创建的环境的文件夹 3.路径说明&#xff01; &#xff08;注意&#xff01;&#xff09;该环境的编译器python3.6就在.../jiayan_test/bin里面 &#xff08;注意&#xff01;&…

04.函数

一、 函数 在计算机科学中&#xff0c;子程序&#xff08;英语&#xff1a;Subroutine, procedure, function, routine, method, subprogram, callable unit&#xff09;&#xff0c;是一个大型程序中的某部分代码&#xff0c; 由一个或多个语句块组 成。它负责完成某项特定任务…