官网:https://github.com/charlesq34/pointnet

 

 

简介
这项工作是基于我们的arXiv技术报告,该报告将出现在CVPR 2017。

我们为点云(作为无序点集)提出了一种新的深度网络架构。您也可以查看我们的项目网页,以获得更深入的介绍。

点云是一种重要的几何数据结构。由于其不规则的格式,大多数研究人员将这些数据转换为规则的3D体素网格或图像集合。然而,这使得数据不必要地庞大,并导致问题。

在本文中,我们设计了一种新型的直接消耗点云的神经网络,它很好地尊重了输入点的排列不变性。我们的网络名为PointNet,为从对象分类、零件分割到场景语义解析等应用程序提供了统一的架构。虽然简单,但PointNet非常高效。

在这个存储库中,我们发布了代码和数据,用于在从3D形状采样的点云上训练PointNet分类网络,以及在ShapeNet part数据集上训练零件分割网络。

 

安装
安装TensorFlow。您可能还需要安装h5py。代码已经在Ubuntu 14.04上使用Python 2.7, TensorFlow 1.0.1, CUDA 8.0和cuDNN 5.1进行了测试。

如果你正在使用PyTorch,你可以在这里找到第三方PyTorch实现。

安装h5py for Python:

 

使用
训练一个模型来分类从3D形状中采样的点云:

python train.py
日志文件和网络参数默认保存在日志文件夹中。HDF5文件中的ModelNet40型号点云会自动下载(416MB)到数据文件夹。每个点云包含从形状表面均匀采样的2048个点。每个云都是零均值,并归一化为一个单位球体。data/modelnet40_ply_hdf5_2048中还有文本文件,指定h5文件中形状的id。

要查看培训脚本的HELP:

Python train.py -h
我们可以使用TensorBoard来查看网络架构并监控训练进度。

Tensorboard——logdir log
经过上述训练,我们可以对模型进行评估,并输出一些错误案例的可视化结果。

Python evaluate.py——visu
分类错误的点云默认保存到dump文件夹。我们通过将点云渲染成三视图图像来可视化点云。

如果您想准备自己的数据,可以参考utils/data_prep_util.py中的一些帮助函数来保存和加载HDF5文件。

 

部分细分
为了训练对象部分分割的模型,首先下载数据:

cd part_seg
sh download_data.sh
下载脚本将下载ShapeNetPart数据集(约1.08GB)和我们准备好的HDF5文件(约346MB)。

然后您可以运行part_seg文件夹中的train.py和test.py进行训练和测试(计算mIoU用于评估)。

 

作用

  们的网络名为 PointNet,为从对象分类部分分割场景语义解析等应用提供了统一的架构

原理

  是什么样的模型结构,能直接从点云中学习特征

  点云的特征是啥?不规则。所以采用了symmetric function

  

 

   

 

 

 

 

 

 

分类网络:

  分类就是这个物体是什么。

  mlp:多层感知机

  input point:n×3 的点云坐标矩阵,就是三维坐标

  input transform:‘变换’,就是一个位姿变换矩阵,输入的点云数据在与该矩阵相乘后可以实现空间上 的对齐,即将点云旋转到正面

  mlp:点云数据在经过 1个 多层感知器(Multi-Layer Perceptron,MLP)的操作 后被映射到 64 维的空间上

  feature transform:64 维空间点云进行特征变换

  mlp:再经过 1个 MLP完成升维操作,进而 将原点云坐标映射到 1 024 维的空间上。

  max pool:经过最大池化操作(Max Pooling)后便得到了一个 1 024维的行向量,该列向量 被称为点云的全局特征向量

  

  mlp:用全局特征过一个 MLP 来做分类

 

分割网络:

  分割就是在一个物体的基础上,再次分类。

   point features:相比分类,分割需要每个点捕捉全局信息后才能知道自己是哪一类,于是把每个点的 feature 和全局 feature 做一个 对比,过 MLP,之后对每个点做分类。

 

 

参考:

  Research on Structure Recognition of Spatial Non-cooperative Objects Based on Point Cloud Data

 

posted on   黑逍逍  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!



点击右上角即可分享
微信分享提示