点击上方,选择星标置顶,不定期资源大放送

阅读大概需要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点云分类、分割上表现优秀,核心代码已开源!...相关推荐

  1. 基于java的语义分割,NeruIPS2019 | 深圳大学提出点云语义分割框架ELGS,效果拔群(代码已开源)...

    标题:Exploiting Local and Global Structure for Point Cloud Semantic Segmentation with Contextual Point ...

  2. 清华大学胡事民是计算机视觉,清华团队将Transformer用到3D点云分割上后,效果好极了丨开源...

    萧箫 发自 凹非寺量子位 报道 | 公众号 QbitAI 当Transformer遇上3D点云,效果会怎么样? 一个是当下最热门的模型(NLP.图像领域表现都不错),另一个是自动驾驶领域.机器人抓取等 ...

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

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 当Transformer遇上3D点云,效果会怎么样? 一个是当下最热门的模型(NLP.图像领域表现都不错),另一个是自动驾驶领域.机器人抓取 ...

  4. 3D-BoNet:比3D点云实例分割算法快10倍!代码已开源

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自新智元(AI_era)   新智元报道   来源:投稿 编辑:元子 [新智元导读]本文提出了一种基于边界框回归的高效点云实例分割算法,通过最小 ...

  5. ICCV2021 视频领域的纯Transformer方案!谷歌提出ViViT,在多个视频分类基准上SOTA!代码已开源!...

    关注公众号,发现CV技术之美 ▊ 写在前面 在本文中,作者提出了纯基于Transformer的视频分类模型.本文的模型从输入视频中提取时空token,然后由一系列Transformer层进行编码.为了 ...

  6. 北大FAIR自动化所快手提出基于动量对比学习的层次Transformer—HiT,用于视频文本检索!代码已开源!...

    关注公众号,发现CV技术之美 ▊ 写在前面 随着互联网上多媒体数据的增长,视频文本检索已经成为一个热门的研究课题.用于视频文本学习的Transformer因其良好的性能而受到越来越多的关注.然而,现有 ...

  7. ICCV2021 2D和3D通用!新医疗影像自监督SOTA(代码已开源)

    关注公众号,发现CV技术之美 本文为52CV粉丝投稿. 文章链接: https://arxiv.org/abs/2109.04379 开源代码: https://github.com/Luchixia ...

  8. 【3D点云】算法总结(持续汇总)

    文章目录 前言(Related work) 一.PointNet++(分类+分割2018) 1.关键代码 1.点云采样 2.卷积下采样(升维) 3.上采样:self.fp4(l3_xyz, l4_xy ...

  9. Transformer在3D点云中的应用综述(检测/跟踪/分割/降噪/补全)

    1 摘要 Transformer 一直是自然语言处理 (NLP) 和计算机视觉 (CV) 的核心.NLP 和 CV 的巨大成功激发了研究者对 Transformer 在点云处理中的使用的探索.但是,T ...

最新文章

  1. 使用HtmlHelper 写自己的 mvc 分页
  2. 命令行神器 Click 简明笔记
  3. AJAX(Asynchronous JavaScript And XML)
  4. 游戏开发-从零开始 002
  5. iptables 开放远程_JavaWeb项目的部署以及远程调试
  6. Arduino笔记-有源蜂鸣器结合开关(多瑞咪发声)
  7. C++ 之const的使用
  8. sql年月日加减法,计算两个日期之间的天数
  9. 为什么很多程序员不用switch,而是大量的if……else if?
  10. python短信验证码_玩转python之获取短信验证码
  11. STM8L低功耗模式
  12. 三分钟学会数据库, INSERT INTO 插入
  13. java 生成csv文件_Java生成CSV文件实例详解
  14. 企业微信微信社群运营该怎么做?
  15. “值得”关注公司:我们应该向优衣库学习什么?
  16. 【小样本基础】Meta-Learning 元学习流程:图解MAML代码
  17. Directx+CEGUI把界面集成到游戏中,支持全屏方式(c++)
  18. 顺序栈—栈顶指针的两种初始化
  19. 使用开源实时监控系统 HertzBeat 5分钟搞定 Mysql 数据库监控告警
  20. c# 将EF查询出的日期格式化

热门文章

  1. ip别名删除第一个,其余别名就自动删除的分析
  2. 用python解“12-24小时制”题
  3. python pandas rename_使用Pandas重命名文件
  4. html(超链接定义锚点与特殊符号转义)
  5. 激活函数GELU()
  6. Pytorch optimizer.step() 和loss.backward()和scheduler.step()的关系与区别 (Pytorch 代码讲解)
  7. tensorflow1.14.0  包含了1.x和2.x内容,此后版本要求兼容该版本
  8. 《Go并发编程实战》第2版 紧跟Go的1.8版本
  9. CSS与HTML设计模式全集(350余种)
  10. 语音标注自动音段对齐工具SPPAS使用笔记