清华团队将Transformer用到3D点云分割上后,效果好极了

news/2024/7/3 2:31:41

萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI

当Transformer遇上3D点云,效果会怎么样?

一个是当下最热门的模型(NLP、图像领域表现都不错),另一个是自动驾驶领域、机器人抓取等领域的关键技术。

来自清华计算机系的团队,开发出了一个全新的PCT网络,相比于目前主流的点云分割模型PointNet,不仅参数量减少,准确度还从89.2%提升到了93.2%

而且,相比于主流的点云分割网络PointNet,分割的边缘明显更清晰:

但将Transformer推广到3D点云,相关研究还非常少。

为此,团队自己做出了一种Transformer模型,并创新了其中的一些结构,将之适配到了点云上。

将Transformer推广到点云上

点云是一个坐标系下点的数据集,包括坐标、颜色、强度等多种信息。

而3D点云,则是用点云表示三维世界的一种方法,可以想象成将三维物体进行原子化,用多个点来表示一种物体。

之所以3D建模采用点云这种方法,是因为它不仅建模速度快,而且精度高、细节更准确。

点云的生成方法,也符合激光雷达收集数据的特性,目前已经被用于自动驾驶技术中。

那么,为什么要用Transformer生成点云呢?

由于点云数据自身的不规则性和无序性,此前无法直接用卷积神经网络对点云进行处理。

如果想用深度学习处理点云相关的任务,就会非常不方便。

但当研究者们将目光放到Transformer上时,发现它的核心注意力机制,本身其实非常适合处理点云。

点云处理,需要设计一种排列不变、且不依赖于点之间连接关系的算子;注意力机制本身,就是这种算子。

加之Transformer在之前的图像任务上,都已经取得了非常不错的性能,用来做点云的话,说不定效果也不错。

因此,团队开发了一个名叫PCT(Point Cloud Transformer)的点云Transformer,成功实践了这一点。

网络结构整体分为三部分:输入嵌入、注意力层和分类分割。

输入嵌入部分的目的,是将点云从欧式空间xyz映射到128维空间。这里分为两种嵌入的方式,点嵌入和邻域嵌入,点嵌入负责单点信息,邻域嵌入则负责单点和邻域信息。

在注意力层中,作者采用了自注意力(self-attention)机制和偏置注意力(offset-attention)机制。

其中,offset-attention也是这篇论文的创新之处,作者为了让Transformer的注意力机制能更好地作用于点云,提出了这种注意力机制,性能要比自注意力机制更好。

而在分类分割操作上,作者选择对经过注意力层后的特征直接进行池化(采样),再分别进行分类和分割的下一步操作。

那么,这样的网络结构,是否效果真如想象中那么好?

参数少一半,效果还更好

事实上,从分类和分割的效果上来看,图像做得都还不错。

先看分类的效果,在ModelNet40数据集上的分类结果表明,PCT的分类精度可以达到93.2%,超越了目前所有点云的分类模型。

而在3D点云分割的效果上,模型做得也不错。

从注意力图(attention map,标量矩阵,查看层的重要性)的可视化来看,模型分割的边缘和形状也很清晰。

那么,与其他网络对比的分割效果如何呢?

下图是PCT与其他网络对比的效果。

从16类列出的物体检测精确度来看,PCT的效果达到了86.4%的水平,超过了目前所有3D点云分割的最新模型,同样达到了SOTA。

至于模型参数,最终的结果也非常不错。

其中参数最大的PCT,精度也达到了最高的93.2%,如果更侧重于小型参数量,那么NPCT和SPCT则在1.36M参数的情况下,精确度分别达到了91%和92%。

从实际对比情况来看,三种PCT网络结构的分割效果,都要比PointNet的效果好得多(最右边为初始模型)。

作者介绍

6名作者来自清华大学胡事民团队,卡迪夫大学。

清华大学计算机系的图形学实验室成立于1998年3月,相关论文曾多次在ACM SIGGRAPH、IEEE CVPR等重要国际刊物上发表。

实验室目前的主要研究方向为计算机图形学、计算机视觉、智能信息处理、智能机器人、系统软件等。

一作国孟昊,清华大学CS博士在读,来自胡事民团队。

国孟昊曾经是西安电子科技大学软件工程2016级本科生,大二曾获ACM金牌,数学建模美赛一等奖,在腾讯、商汤实习过。

目前,这一模型的相关代码已经开源,感兴趣的小伙伴可以戳文末地址查看~

PCT论文地址:
https://arxiv.org/abs/2012.09688

PCT项目地址:
https://github.com/MenghaoGuo/PCT

参考链接:
https://mp.weixin.qq.com/s/76fJy69LELdndbSqpbvRbw

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~


http://lihuaxi.xjx100.cn/news/273151.html

相关文章

程序员必备网站之一:No Design

点击上方“方志朋”,选择“设为星标”回复”666“获取新整理的面试文章大家好,我是小 G。昨天在逛 Hacker News 的时候,我偶然发现个宝藏网站:No Design。地址:https://nodesign.dev网站上收集了许多十分便利的 UI 设计…

文件解析库doctotext源码分析

doctotext中没有make install选项,make后生成可执行文件在buile目录下面有.so动态库和头文件,需要的可以从这里面拷贝build/doctotext就是可执行程序。doctotext内置了两种检测文件类型方法:1、以后缀为依据检测文件类型2、以内容为依据检测文…

学习OpenCV,新手常会问我的十个问题 | 视觉入门

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达初次学习OpenCV新手经常问我的十个问题,有你问我过下面的问题之一吗?Q1按照视频做的,我怎么显示了不了图像或者视频解答:最…

AI芯片行业发展的来龙去脉

作者 | 清华大学微电子学研究所尹首一来源 | 《微纳电子与智能制造》期刊引言人 工 智 能( aritificial intelligence ,AI )是 一 门融合了数学 、计算机科学 、统计学 、脑神经学和社会科学 的前沿综合性技术。它的目标是希望计算机可以像 人一样思考 ,…

Python爬虫入门教程:超级简单的Python爬虫教程

这是一篇详细介绍 [Python]爬虫入门的教程,从实战出发,适合初学者。读者只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。 这篇 Python 爬虫教程主要讲解以下 5 部分内容: 了…

134个预训练模型、精度高达85.1%,百度视觉算法最强基石PaddleClas全新升级

机器之心发布机器之心编辑部百度 PaddlePaddle 团队开发的 PaddleClas 是一个适用于业界和学界的图像分类任务工具集,可以帮助用户训练更好的计算机视觉模型并应用于真实场景中。近期 PaddleClas 迎来了全面升级,其中提供了更高精度的知识蒸馏模型、更丰…

列选主元guass消去法

200701020110 07计算机 王再#include <iostream.h>#include <iomanip.h>#include <stdlib.h>void main(){ int flag1;input(); //输入方程 while(flag){ print_menu(); //打印主菜单}void print_menu(){ system("cls");cout<…

实现indexOf

1.先判断Array数组是否含有indexOf方法&#xff0c;如果有直接返回结果&#xff1b;如果没有则利用循环比较得到结果。 function indexOf(arr, item) {if(Array.prototype.indexOf) {return arr.indexOf(item);}var len arr.length, i, idx -1;for(i0; i<len;i) {if(item …