zoukankan      html  css  js  c++  java
  • PointNet++

    PointNet++

    标签(空格分隔): 论文


    点云应用

    AR VR RobotPerception ShapeDesign FaceID

    点云任务

    • Object classification | 物体分类
    • Parts segmentation | 部件分割
    • Object detection | 物体检测
    • Semantic segmentation | 场景语义分割

    主要存在的挑战

    不规则: 距离激光雷达近的点云数据密集,反之稀疏。

    无结构化: 点与点之间是独立的,点与点之间的距离不是固定的。

    无序:无序带来置换不变性(Invariance to permutations)

    顺序一致但点云结构不同,顺序不一致但点云结构相同、

    3D Representations

    点云: 通过很多的点构成的一个3D图形

    Mesh: 用很多三角形/正方形的面片拼成的一个图形

    Volumetric: 很多栅格去拼成一个3D图形

    Projected View(RGBD):通过图片在不同的角度构成的3D图像。

    thread local 内存泄漏

    RGB VS. RGBD VS. Points Clouds

    RGB: [r,g,b]
    RGBD:2.5D [r,g,b,d]
    Points Clouds:pos[x,y,z] color[r,g,b]

    PointNet和PointNet++

    PointNet: 在将所有的输入数据经过相同的MLPS之后得到抽象的特征, 再将其过一遍最大池化层,得到特征。

    • 很明显PointNet没有考虑到局部上下文信息

    PointNet++: 通过Sampling和Grouping获取局部上下文信息对其做出补充。

    点云数据非常接近原始雷达数据具有丰富的几何信息。在PointNet出现之前,点云数据在fed to神经网络之前需要转化为其他数据表达形式。

    • 例如:使用VoxNet的时候需要将其数据3D栅格化,然后使用3D CNN进行卷积。
    ID Conversion Deep Net 补充
    1 Voxelization 3D CNN 卷积时会丢失信息
    2 Projection 2D CNN 投影得到2D信息, 然后2D CNN
    3 Feature extraction Fully Connected 直接特征抽取、上全连接层

    对于VoxNet网络而言,从输入到输出主要经历一下几步:

    1. 获取到输入的点云网络
    2. 把点云填充的网格当中
    3. 32通道 555的卷积核 步长为5
    4. 32通道 333的卷积核, 之后进行222
    5. 128的全连接层 - n全连接层输出

    对于ID为2的来说,我们使用Multi-view CNN来举例。

    1. 将多视角得到的照片进行CNN
    2. 将上一步得到的信息进行View Pooling
    3. 继续CNN

    PointNet 提出的想法

    • Can we achieve effective feature learing directly on point clouds ?
    • End-to-end learing for scattered, unordered point data
    • Unified frameword for various tasks

    Challenges

    • Unordered point set as input

    • Model needs to be invariant to (N!) permutations

    • Invariance under geometric transformations

    • Point cloud rotations should not alter classification results.

    主要需要解决无序点集作为输入的时候Model 应该对(N!)排列保持不变。在进行几何旋转的时候不应该改变分类结果。这两点。

  • 相关阅读:
    安装的时候,突然安装程序关闭,的灵异问题。
    CSAPP阅读笔记(1)-序
    CSAPP阅读笔记(2)-虚存管理
    nafxcwd.lib(afxmem.obj) :error LNK2005:"void * __cdecl operator new(unsigned int)"
    Linux内核源代码情景分析读书笔记(5)-关于fork/clone/vfork
    [转]调试经验总结VC下的错误对话框
    IP数据包首部的校验和算法
    Matlab画图及生成exe文件
    VC++6.0中的new
    Linux内核模块编译、加载&卸载及查看运行结果
  • 原文地址:https://www.cnblogs.com/A-FM/p/15329944.html
Copyright © 2011-2022 走看看