清华大学提出点云Transformer!在3D点云分类、分割上表现优秀,核心代码已开源!...
点击上方,选择星标或置顶,不定期资源大放送!
阅读大概需要5分钟
Follow小博主,每天更新前沿干货
转载自:量子位
当Transformer遇上3D点云,效果会怎么样?
一个是当下最热门的模型(NLP、图像领域表现都不错),另一个是自动驾驶领域、机器人抓取等领域的关键技术。
PCT论文地址:
https://arxiv.org/abs/2012.09688
PCT项目地址:
https://github.com/MenghaoGuo/PCT
来自清华计算机系的团队,开发出了一个全新的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金牌,数学建模美赛一等奖,在腾讯、商汤实习过。
目前,这一模型的相关代码已经开源,感兴趣的小伙伴可以戳文末地址查看~
参考链接:
https://mp.weixin.qq.com/s/76fJy69LELdndbSqpbvRbw
重磅!DLer-计算机视觉交流群已成立!
大家好,这是DLer-计算机视觉微信交流群!欢迎各位Cver加入DLer-计算机视觉微信交流大家庭 。
本群旨在学习交流图像分类、目标检测、目标跟踪、点云与语义分割、GAN、超分辨率、人脸检测与识别、动作行为与时空运动、模型压缩和量化剪枝、迁移学习、人体姿态估计等内容。希望能给大家提供一个更精准的研讨交流平台!!!
进群请备注:研究方向+学校/公司+昵称(如图像分类+上交+小明)
???? 长按识别添加,即可进群!
清华大学提出点云Transformer!在3D点云分类、分割上表现优秀,核心代码已开源!...相关推荐
- 基于java的语义分割,NeruIPS2019 | 深圳大学提出点云语义分割框架ELGS,效果拔群(代码已开源)...
标题:Exploiting Local and Global Structure for Point Cloud Semantic Segmentation with Contextual Point ...
- 清华大学胡事民是计算机视觉,清华团队将Transformer用到3D点云分割上后,效果好极了丨开源...
萧箫 发自 凹非寺量子位 报道 | 公众号 QbitAI 当Transformer遇上3D点云,效果会怎么样? 一个是当下最热门的模型(NLP.图像领域表现都不错),另一个是自动驾驶领域.机器人抓取等 ...
- 清华团队将Transformer用到3D点云分割上后,效果好极了丨开源
萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 当Transformer遇上3D点云,效果会怎么样? 一个是当下最热门的模型(NLP.图像领域表现都不错),另一个是自动驾驶领域.机器人抓取 ...
- 3D-BoNet:比3D点云实例分割算法快10倍!代码已开源
点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自新智元(AI_era) 新智元报道 来源:投稿 编辑:元子 [新智元导读]本文提出了一种基于边界框回归的高效点云实例分割算法,通过最小 ...
- ICCV2021 视频领域的纯Transformer方案!谷歌提出ViViT,在多个视频分类基准上SOTA!代码已开源!...
关注公众号,发现CV技术之美 ▊ 写在前面 在本文中,作者提出了纯基于Transformer的视频分类模型.本文的模型从输入视频中提取时空token,然后由一系列Transformer层进行编码.为了 ...
- 北大FAIR自动化所快手提出基于动量对比学习的层次Transformer—HiT,用于视频文本检索!代码已开源!...
关注公众号,发现CV技术之美 ▊ 写在前面 随着互联网上多媒体数据的增长,视频文本检索已经成为一个热门的研究课题.用于视频文本学习的Transformer因其良好的性能而受到越来越多的关注.然而,现有 ...
- ICCV2021 2D和3D通用!新医疗影像自监督SOTA(代码已开源)
关注公众号,发现CV技术之美 本文为52CV粉丝投稿. 文章链接: https://arxiv.org/abs/2109.04379 开源代码: https://github.com/Luchixia ...
- 【3D点云】算法总结(持续汇总)
文章目录 前言(Related work) 一.PointNet++(分类+分割2018) 1.关键代码 1.点云采样 2.卷积下采样(升维) 3.上采样:self.fp4(l3_xyz, l4_xy ...
- Transformer在3D点云中的应用综述(检测/跟踪/分割/降噪/补全)
1 摘要 Transformer 一直是自然语言处理 (NLP) 和计算机视觉 (CV) 的核心.NLP 和 CV 的巨大成功激发了研究者对 Transformer 在点云处理中的使用的探索.但是,T ...
最新文章
- 使用HtmlHelper 写自己的 mvc 分页
- 命令行神器 Click 简明笔记
- AJAX(Asynchronous JavaScript And XML)
- 游戏开发-从零开始 002
- iptables 开放远程_JavaWeb项目的部署以及远程调试
- Arduino笔记-有源蜂鸣器结合开关(多瑞咪发声)
- C++ 之const的使用
- sql年月日加减法,计算两个日期之间的天数
- 为什么很多程序员不用switch,而是大量的if……else if?
- python短信验证码_玩转python之获取短信验证码
- STM8L低功耗模式
- 三分钟学会数据库, INSERT INTO 插入
- java 生成csv文件_Java生成CSV文件实例详解
- 企业微信微信社群运营该怎么做?
- “值得”关注公司:我们应该向优衣库学习什么?
- 【小样本基础】Meta-Learning 元学习流程:图解MAML代码
- Directx+CEGUI把界面集成到游戏中,支持全屏方式(c++)
- 顺序栈—栈顶指针的两种初始化
- 使用开源实时监控系统 HertzBeat 5分钟搞定 Mysql 数据库监控告警
- c# 将EF查询出的日期格式化
热门文章
- ip别名删除第一个,其余别名就自动删除的分析
- 用python解“12-24小时制”题
- python pandas rename_使用Pandas重命名文件
- html(超链接定义锚点与特殊符号转义)
- 激活函数GELU()
- Pytorch optimizer.step() 和loss.backward()和scheduler.step()的关系与区别 (Pytorch 代码讲解)
- tensorflow1.14.0 包含了1.x和2.x内容,此后版本要求兼容该版本
- 《Go并发编程实战》第2版 紧跟Go的1.8版本
- CSS与HTML设计模式全集(350余种)
- 语音标注自动音段对齐工具SPPAS使用笔记