美文网首页读书简友广场机器学习与深度学习
POINTNET:利用深度学习对点云进行3D分类和语义分割

POINTNET:利用深度学习对点云进行3D分类和语义分割

作者: Mezereon | 来源:发表于2023-05-07 17:03 被阅读0次

POINTNET:利用深度学习对点云进行3D分类和语义分割

参考自,PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

代码仓库地址为:https://github.com/charlesq34/pointnet/

介绍

这次介绍的是一个比较基础的工作,针对空间点云,进行分类或者语义分割的框架,现在通常也被用作对RGB-D图像进行特征提取的部分。

该工作的目的就是,输入点云信息,得到每一个点的语义,或者是得到整个点云代表的物体信息。

PointNet Application

如上图所示,该工作可以对点云数据进行分类,语义分割,部分分割等。

具体细节

首先,我们假设点云为一系列点的集合,记为\{P_1, P_2, ...,P_n\}

每一个点,都有坐标(x,y,z),以及代表色彩的通道值,如果是rgb,那就是3个通道的值

这里直接给出整个PointNet的结构图

overview

我们首先来看蓝色背景的部分,代表一个分类网络,输入是一个 n\times 3 的点云信息,其中 n 是点的数目,3 代表着空间坐标的维度

最终输出一个 k 维的分数,代表对 k 个物体的分类置信度。

我们来仔细看一下处理的过程:

1. Input Transform

这一部分由一个T-Net和矩阵乘法构成,最终输出的形状还是 n\times 3

通过分析其代码,可以知道,该T-Net由3个卷积层,1个最大池化层以及2个线性层组合而成

最终输出一个 3\times 3 的变换矩阵,然后右乘上输入(输入的形状是 n\times 3 )得到 n\times 3 的输出

直觉上看,就是用一个小的网络学习一个线性变换,对输入的点云做处理

2. MLP

代码中使用的是两个卷积层:

  • 先用一个 1\times 3 的卷积,输出通道数为 64

  • 然后是一个 1\times 1 的卷积,输出通道也是 64

所以最终的输出是 n\times 64 的形状

3. Feature Transform

和先前一样,用T-Net输出一个 64\times 64 的线性变换矩阵右乘上去

4. MLP

用三个 1\times1 的卷积,将通道数直接提升到了 1024,输出的形状也就是 n\times 1024

本质上和线性层是一样的

5. MaxPool

过一个MaxPool,kernel大小设置成 1\times n ,直接得到一个 1024 维的特征向量

6. MLP

最后直接用三个线性层,将输出转换成 k 维的分类置信度

语义分割的细节

这里合并了两个特征,形状分别是 n\times 641024

1024 长度的特征向量复制 n 次,接在 64 维的向量后面,便得到 n\times 1088 的输出

过一系列MLP,最终输出 n \times m 形状的矩阵,m 代表语义分割的类别

实验分析

物体分类

首先是在ModelNet40数据集上分类的准确率

cls

基本上在3D输入上达到了SOTA的性能,整体正确率为89.2%。

语义分割

seg

可以看到,比起3D全卷积的baseline,mIoU也是达到SOTA的性能

相关文章

  • Hand PointNet: 3D Hand Pose Esti

    文章链接 摘要 基于PointNet++,直接处理3D点云数据预测输出3D手势 关键 PointNet++接受深度...

  • PointNet:基于深度学习的3D点云分类和分割模型 详解

    转载请注明出处 如果学习深度学习在点云处理上的应用,那PointNet一定是你躲不开的一个模型。这个模型由斯坦福大...

  • u-net小结

    什么是语义分割 对图片的每个像素都做分类。较为重要的语义分割数据集有:VOC2012 以及 MSCOCO 。深度学...

  • 基于深度学习的语义分割

    基于深度学习的语义分割 1 什么是语义分割(Semantic Segmentation) 语义分割是在像素层面...

  • Pointnet++官方代码解读(tensorflow)

    由于pointnet是对整个点云进行处理后maxpooling得到全局特征,没有考虑到局部特征。pointnet+...

  • 语义分割入门

    语义分割是什么? 语义分割是将标签或类别与图片的每个像素关联的一种深度学习算法。它用来识别构成可区分类别的像素集合...

  • 2018-04-21 语义分割Semantic segmenta

    按难易程度进行分类:从易到难*--->*** 一、易 1、图像语义分析学习(一):图像语义分割的概念与原理以及常用...

  • 常用数据集介绍及转换

    研究背景 在深度学习中常用的数据集进行归纳和总结 语义分割的数据集 1、COCO 数据集 COCO(Common ...

  • TensorFlow 计算机图像视觉算法模型

    目标跟踪轨迹/目标检测/实例分割/语义分割 由于需要使用 python 开发,使用到机器学习和深度学习框架。作为小...

  • Adversarial Learning for Semi-su

    目标:利用对抗学习解决半监督语义分割问题 方法:通过融合对抗学习损失和分割交叉熵损失,提升语义分割的精度(详见co...

网友评论

    本文标题:POINTNET:利用深度学习对点云进行3D分类和语义分割

    本文链接:https://www.haomeiwen.com/subject/krxksdtx.html