今天刚刚得到消息,之前投给IROS 2017的文章收录了。很久很久没有写过博客,今天正好借这个机会来谈谈点云卷积网络的一些细节。

1、点云与三维表达

三维数据后者说空间数据有很多种表达方式,比如:RGB-D 图像,体素图像,三维点云等。这些三维数据的表达方式各有特点:RGB-D 图像可以直接从Kinect 读到,而且是规整的,适合直接用于现存的图像处理框架。体素图像更直观的展示物体的三维形貌,更直接的表达物体表面空间位置关系,同时,很容易将图像中成功的方法推广到体素图像中。而三维点云的表达更加紧凑,同样分辨考虑情况下,三维点云的表达占更小的空间(三维点云可以认为是体素图像的紧凑编码,即记录体素图像中 occupied voxel 的坐标)。同时,LiDAR 点云转RGB - D 会有很多空洞。所以,我们致力于设计一种通用的方法,利用点云来分析物体表面所传达的信息。

2、点云卷积

卷积神经网络是深度学习中具有代表性的一种模型,很成功的解决了图像分割,识别,检测,分析,caption,questioning等不同层次的问题。根据我们的理解,卷积网络的成功之处在于巨大的容量,可以容纳更多信息,在流形中容易形成更好的连续性;从局部到整体层级式的映射,卷积核经过多层映射后有巨大的接受域,模型既含有局部信息又含有物体的整体信息;去中心化的结构,卷积过程中对所有的像素都没有主观偏好性。最让我们感兴趣的,是卷积这种操作通过综合周边信息和非线性映射来优化局部的表达,又通过局部表达的综合来给出整体描述。同时,和卷积配合的池化操作可以给模型带来微小的局部不变性。这些优良的性质启发了我们将卷积这种操作用在三维数据上。

最容易实现的三维卷积网络是在体素图像上进行三维卷积操作。但体素图像往往都有其缺点:1、所谓三维往往是2.5维,物体的自遮挡是无法忽略的,2、三维卷积操作需要多搜索一个维度,3*3*3的三维卷积核计算量近大于在图像上进行5*5卷积核的操作。同时,100*100*100的三维体素图像尺寸上相当于1000*1000的二维图像,所以三维卷积是比较昂贵的操作。3、三维体素图像(binary, VoxNet)含有大量的空白,也就是0,物体自遮挡,内部信息都是无法访问的。所以大量的卷积操作都不是很划算。所以我们考虑将卷积这种操作移植到点云上。

点云本身具有无序性。也就是对点云进行随意排序它对物体的表达都是一致的。对无序序列进行训练本身似乎听起来是一件不太可能的事情。当前阶段的分类网络都是以泛化(generalization)为主,训练样本如果是无序的,那么同一件东西则有完全 非近似 的表达,遑论统一。所以,IROS的工作介绍了如何在点云上建立顺序、卷积操作、以及最后形成网络的方法。

3D Object Classification With Point Convolution —— 点云卷积网络的更多相关文章

  1. ICCV2019论文点评:3D Object Detect疏密度点云三维目标检测

    ICCV2019论文点评:3D Object Detect疏密度点云三维目标检测 STD: Sparse-to-Dense 3D Object Detector for Point Cloud 论文链 ...

  2. CVPR2020论文解读:3D Object Detection三维目标检测

    CVPR2020论文解读:3D Object Detection三维目标检测 PV-RCNN:Point-Voxel Feature Se tAbstraction for 3D Object Det ...

  3. 三维目标检测论文阅读:Deep Continuous Fusion for Multi-Sensor 3D Object Detection

    题目:Deep Continuous Fusion for Multi-Sensor 3D Object Detection 来自:Uber: Ming Liang Note: 没有代码,主要看思想吧 ...

  4. Look Further to Recognize Better: Learning Shared Topics and Category-Specific Dictionaries for Open-Ended 3D Object Recognition

    张宁 Look Further to Recognize Better: Learning Shared Topics and Category-Specific Dictionaries for O ...

  5. Unity UGUI和特效(含粒子系统和3D Object)之间层级问题

    撰写本文时使用Unity的版本为2017.4.10f1(64bit) 1.描述问题 需求:通过UGUI制作一个界面之后,我需要在界面的后面跟前面各添加一个特效. 问题:同一层级UI是最后渲染的,所以U ...

  6. CVPR2020:点云分析中三维图形卷积网络中可变形核的学习

    CVPR2020:点云分析中三维图形卷积网络中可变形核的学习 Convolution in the Cloud: Learning Deformable Kernels in 3D Graph Con ...

  7. 百度云+ KeePass 网络同步你的密码

     百度云+ KeePass 网络同步你的密码   百度云一个目前不限流量不限格式能直链的网盘,速度在我这里很快,难得了!KeePass(小众介绍过 KeePass.) 是一个免费开源的密码管理类软件, ...

  8. 实时音视频互动系列(上):又拍云UTUN网络详解

    如何定义实时音视频互动, 延迟 400ms 内才能无异步感 实时音视频互动如果存在1秒左右的延时会给交流者带来异步感,必须将视频播放延迟限制在400ms以内,才能给用户较好的交互体验. 当延迟控制在4 ...

  9. OpenStack云平台网络模式及其工作机制

    转自:http://openstack.csdn.net/content.html?arcid=2808381 OpenStack云平台网络模式及其工作机制 网络,是OpenStack的部署中最容易出 ...

随机推荐

  1. 通用的ProtostuffSerializer for Java

    以前使用 protobuf或protostuff的时候觉得很麻烦,每个类都要单独定制,于是封装了一个类. 同事测试过,性能和压缩率都很好,尤其是相比json的序列化. 需注意:只支持Pojo类(即需要 ...

  2. java内部类(一)

    内部类(一) 一.定义: 内部类就是定义在另一个类内部的类,与之对应,包含内部类的类就是外部类. 二.作用: 1.内部类提供更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包之中的其他类访问该类 ...

  3. java static learning

    /*static learning */ class one { public int a = 5; static { // 类加载时就运行代码码 System.out.println("s ...

  4. 弄懂JDK、JRE和JVM到底是什么 关系区别

    首先是JDKJDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK).在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin ...

  5. oracle显示一个月的所有天数

    效率高: ) s_date from dual connect 效率低: select to_date() s_date from all_tables where rownum <= ( fr ...

  6. ionic ion-tab图标修改, 自定义tab图标

    遇到需要自定义tab图标很简单, 只需要自定义相应的css就可以了, 这里要注意的是如何调整背景图片的大小. <ion-view hide-back-button="false&quo ...

  7. VC 预定义宏

    列出预定义的 ANSI C和C++ Microsoft实现宏. 编译器识别预定义的ANSI C宏,并且Microsoft C++实现提供几个更多.这些宏不带参数,并且不能重定义.下面列出的某些预定义的 ...

  8. Python的虚拟机安装已经如何配置Scrapy for Mac

    时间:2018年2月21日 因为时间问题,以下笔记就粗略记录.仅作为个人笔记为用 安装virtualenv和virtualenvwrapper 如何安装的细节下面这篇也有介绍,包括如何使用切换虚拟机也 ...

  9. Down Payment 和 Deposit的差异

    If you’re like most homeowners, purchasing a home represents the single biggest financial transactio ...

  10. js 时间戳转时间工具类 js时间戳与时间互转

    /** * 时间戳格式化函数 * @param {string} format 格式 * @param {int} timestamp 要格式化的时间 默认为当前时间 * @return {strin ...