点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

本文由知乎作者Slumbers授权转载,不得擅自二次转载。原文链接:https://zhuanlan.zhihu.com/p/123142370

AtlasNet/FoldineNet

其实这两不是同一篇论文,但是放到一起是因为他们的idea比较类似,意会一下就好了。AtlasNet的原理是将latent vector和一个包含2D的unit square(这些2D点是自行sample的)输入到多个MLP中,来生成"deform"后的3D points,其实就是说把2D unit square的点投影到三维空间上。他的Encoder根据input分了两种,主要是提取latent vector:如果输入是点云,主干网络选用ShapeNet,输出维度为1024的隐向量;如果输入是图片,主干网络使用ResNet,

Decoder实际上才是AtlasNet的主要结构: 输入前面的latent vector+基于2D点的unit square, 输出3D pointcloud。其损失函数是Chamfer Distance。注意,在3D网络中,使用Normalize这种在2D中很常见的操作会使得效果变差,所以会发现基本下面的3D网络也很少有用normalize的

PointNet

应该说PointNet是处理点云结构最常用的网络之一,后续许多网络结构都是在PointNet的基础上进行改进。他的输入是点云,每个点用(x,y,z)表示。它的思想很简单,将点云通过MLP提取local feature,然后将local feature合并并进行最大池化,生成global feature(见下图)

PointNet解决的一个很重要的问题是确保点云输入的无顺序性,为此使用了MLP+Max Pooling的层操作消除input排列的影响。同时加上了T-Net解决transform不变性的问题。T-Net实际上实际上是对Input进行一系列卷积和池化后与weight相乘的操作,而weight是在训练过程中学出来的,也就是说,作者是预先假定T-Net能够解决transform不变性的问题,然后去训练,那么T-Net到底有没有解决transform的问题,由于深度学习的黑箱性,不太好做判断。

损失函数上,依旧是Chamfer Loss,但是加上了对T-Net参数的正则化限制

其缺点是没有考虑3D点和周围的neigbhour信息,同时没有点云密度不均匀的特点进行特殊设计。作者后面又出了PointNet++,对这些问题做了改进

最近开始流行的一些点云的处理方式是用autoencoder+无监督学习方式来做3D点云的特征提取。下面两篇都是这个思路

3D Point Capsule Networks(2018)

Capsule Network胶囊网络由Hinton提出,前一段时间也火了一下,本质上是用一个个capsule去表达事物的一个具体部分或者局部特征。关于胶囊网络的解释,这篇解答写的还挺好的。而3D Point Capsule Networks这篇Paper是最早用胶囊网络处理点云数据的,在论文中也显示实现了较好的效果。前面讲到的pointNet, atlasNet,其中间产物都是一个全局的latent vector, 而在3D-PointCapsNet中,其中间产物是latent capsules。每个capsule对应的是object的一个特定的部位。

该网络分为encoder和decoder两个部分,如下图,encode方面,输入3D点云,使用MLP+最大池化提取出多个1024维向量,将这些1024维向量concate起来组成了Primary Point  Capsules。通过DR过程后,生成最终的Latent Capsules,然后类似AtlasNet的过程,sample 2D point grid和latent capsules一起,生成一个个的Local Patches ,将这些patches组合就来就形成了最终的object

损失也是chamfer loss,计算的事encoder+decodert后重构的Object和输入的点云的loss

论文中也提到了该网络对于旋转变换也同一样有效(胶囊网络本来就能处理transform ,rotation等变换)。目前在各种3D任务上,Paper中都取得了比前面列举网络更佳的效果。

Geometric Capsule Autoencoders(2019)

这一篇是19年底出来的论文,继承了上面的3D Capsule Network的基础。在这篇Paper中,每个capsule包含有两个信息,pose和feature,如下图所示

总地来说,作者设计了一个叫做"PointsToParts Autoencoder"的网络。该Autoencoder分为两部分,如下图所示,一部分是PointsToParts Encoder,一部分是PartsToPoints Decoder,这部分将PointsToPart Encoder生成的Capsule encoder为object。其主干网络分为3个部分,feature-voting network F, pose-voting network Q, decoding network G,其中Q,F的主干网络都类似于PointNet。G的结构类似FoldingNet(与前面我说AtlasNet原理类似)。

在Encoder中,通过联合学习F和Q,来得到Object Capsule。

G的结构可见下图的(b)部分。总地来说,其中 是part的pose, 是part的feature, hq 是整个object的pose。对于任何一个part来说,它的pose可能会有很多种,但是feature却是唯一的。因此,如果从pose的角度去匹配groundtruth,会有很多种情况,但是从feature的角度去匹配ground_truth, 则只有一种情况。

三个网络的Loss都是Chamfer Loss

实际上这篇文章搞得挺复杂的,但核心思想就是让每个Capsule能同时学到pose和feature,用了一个autoencoder来搞定这个事情

上述内容,如有侵犯版权,请联系作者,会自行删文。

推荐阅读:

吐血整理|3D视觉系统化学习路线

那些精贵的3D视觉系统学习资源总结(附书籍、网址与视频教程)

超全的3D视觉数据集汇总

大盘点|6D姿态估计算法汇总(上)

大盘点|6D姿态估计算法汇总(下)

机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划

汇总|3D点云目标检测算法

汇总|3D人脸重建算法

那些年,我们一起刷过的计算机视觉比赛

总结|深度学习实现缺陷检测

深度学习在3-D环境重建中的应用

汇总|医学图像分析领域论文

大盘点|OCR算法汇总

重磅!3DCVer-知识星球和学术交流群已成立

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导,820+的星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

欢迎加入我们公众号读者群一起和同行交流,目前有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加群或投稿

基于点云的3D深度学习主干网络进展综述相关推荐

  1. 3D点云数据结合深度学习入门基础(目标篇)

    最近,老师让我们研究深度学习与3D点云数据的研究方向,开始时,确实也不清楚何为3D点云,以及深度学习. 由于实验室师弟师妹全部是做深度学习识图相关横向研究工作的,所以很快的就掌握了,深度学习识图技术, ...

  2. CVPR 2020丨基于点云的3D物体检测新框架

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本文介绍的是CVPR2020入选论文<HVNet: Hybrid Voxel ...

  3. 自动驾驶中图像与点云融合的深度学习研究进展综述

    点云PCL免费知识星球,点云论文速读. 文章:Deep Learning for Image and Point Cloud Fusion in Autonomous Driving: A Revie ...

  4. 未能加载程序集或它的一个依赖项_英伟达发布kaolin:一个用于加速3D深度学习研究的PyTorch库...

    由于大多数现实环境是三维的,因此理想情况下,应针对3D数据训练旨在分析视频或现实环境中的完整任务的深度学习模型.诸如机器人,自动驾驶汽车,智能手机和其他设备之类的技术工具目前正在产生越来越多的3-D数 ...

  5. 3D深度学习总结(聚焦3D深度学习的现在于未来)

    3D深度学习总结(聚焦3D深度学习的现在于未来) 本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载 选自The gradient[点击此处],作者:Mihir Gar ...

  6. 点云上的深度学习及其在三维场景理解中的应用————PointNet(一)

    最近在学3D方向的语义分析. 师兄推荐了一个哔哩大学的将门创投 | 斯坦福大学在读博士生祁芮中台:点云上的深度学习及其在三维场景理解中的应用!的宝藏视频,我会多看几遍,并写下每次观看笔记. 下文的截图 ...

  7. 基于点云的3D障碍物检测

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|新机器视觉 基于点云的3D障碍物检测主要有以下步骤: 点 ...

  8. 「可解释ML/3D深度学习等」Github六月最受欢迎的机器学习库来啦

    https://www.toutiao.com/a6706469836307825163/ SHUBHAM SINGH总结了Github上6月份最火的7个项目.这七个项目涵盖可解释性机器学习.3D深度 ...

  9. 雅虎开源CaffeOnSpark:基于Hadoop/Spark的分布式深度学习

    雅虎开源CaffeOnSpark:基于Hadoop/Spark的分布式深度学习 [日期:2016-02-26] 来源:极客头条 作者: [字体:大 中 小] 在基于Hadoop集群的大规模分布式深度学 ...

最新文章

  1. linuxquot;/quot;分区名称,linux分区,磁盘系统的管理,文件系统制作
  2. Scrapy八小时快速入门第一小时:安装,创建与执行我们的Scrapy爬虫
  3. python自动化功能测试_python、selenium自动化功能测试
  4. 编译OpenJDK及JDK题外话
  5. 【C语言简单说】十七:数组(补)
  6. eclipse.jsp文件放哪_来自小师弟的灵魂拷问之数据泵导出丢失的那些数据量去哪了?...
  7. SIP、SAP与SDP
  8. 人民日报发推欢迎Google重返大陆,FB上长文阐述详细立场
  9. Flash捕神--swf seeker 下载试用版
  10. 进制转换的方法 详解
  11. ArcFace 论文阅读及 pytorch 实现
  12. android 行政区域,Android高德之旅(14)行政区划搜索
  13. 验证码短信是如何实现的?怎么用短信平台发送验证码短信?
  14. 针式打印机打印显示传真服务器,针式打印机怎么设置【图文详解】
  15. 关于缩比F16模型配平结果异常的解释说明
  16. Matter Commissioning
  17. **阿里云ECS Linux服务器图形化界面安装方法 Ubuntu**
  18. Facebook公布2012年Q2财务数据
  19. 中国企业“战略迷失悲剧”逼近高发期--中国房地产企业即将迎来倒闭潮
  20. Agile EC3010 MCAD UserGuide-1

热门文章

  1. NDK断点无法调试Unable to detect application ABI's
  2. 大厂面试必问的 4 大开源框架,你真会吗?
  3. 对比 5 种分布式事务方案,还是宠幸了阿里的 Seata(原理 + 实战)
  4. 出现这四种情况,才是考虑分库分表的时候!
  5. 200 道 Java 面试题解!某阿里 P7 只答上来 70%!
  6. 看完这篇Exception 和 Error,和面试官扯皮就没问题了
  7. Java 分布式系统下的 9 点设计与实现
  8. 微服务该如何进行服务治理?
  9. 看板与Scrum:哪个更适合你的团队?
  10. 职场中如何与别人高效沟通?