【论文笔记】3D点云分割-PointNet
paper:PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
与普通的2D图片不同,点云数据是空间中离散的点(和3D图像不同的是,点云是稀疏的),见下图:
上图左为2D图像,右图为点云,点云数据包含点的颜色位置等信息。
点云由3D扫描技术得到,点云具有以下特点:
- 稀疏性:点云数据仅存在于物体表面。
- 数据缺失:由于遮挡导致部分表面未被扫描到。
- 数据噪声:仪器本身的精度或者环境因素导致。
- 非均匀性:由仪器的采样策略、相对位置、扫描范围等因素引起。
一、引言
在语义分割任务中,通常 使用卷积神经网络完成分割任务(2D图片使用2D卷积,3D医疗图像使用3D卷积),但是由于点云数据的稀疏性,卷积神经网络不能直接应用到点云分割任务中。
PointNet提出使用神经网络实现点云分类和点云分割,并且获得了极好的效果,主要贡献如下:
1、针对3D无序的数据点集,设计了一个新的神经网络模型;
2、使用神经网络完成了3D数据形状分类、分割任务;
二、PointNet
1、数据特点
点云数据有以下几个特点:
无序性(Unordered):点云是空间中离散的点,没有顺序,对于3D空间中的N个点,共有N!种排序;
关联性( Interaction among points):对于某个点,该点和其相邻的点具有相关性;
不变性(Invariance):整体的旋转和平移不改变点云的种类和语义分割的结果。
2、PointNet
PointNet网络结构如下图所示,需要注意的是分类网络和语义分割网络的区别,语义分割网络需要对每个像素点分类,故将全局特征和局部特征结合后再进行像素分类。
a、Symmetry Function for Unordered Input
对于无序的点云输入,它的排列有很多种,然而多种排列对于点云的分类和分割结果应该无影响,故需要设计一个函数,它能对不同顺序的输入点集输出相同的结果。这里简单说一下论文实现的流程。
假设有N个点,每个点数据维度为6(x,y,z,r,g,b),那么输入的维度为[N, 6],将输入放入多层mlp网络,得到输出维度为[N,C](这个时候N个无序的点有N!种排序),在维度N取最大值得到输出[C],即可实现对任意排序得到相同的特征。
b、Local and Global Information Aggregation
对于语义分割任务,使用max pool提取全局特征后,将全局特征和像素级特征concat,增加特征图的上下文语义信息。
c、Joint Alignment Network
点云数据经过旋转平移等变换后,它的像素标签并不会变化,故网络需要学习到一种表征能力,使得点云数据经过变换后的特征表示不会发生改变。
PointNet引入了TNet来预测变换矩阵,再高维空间中变换矩阵难以优化(网络结构中当特征维度为64时),故限制特征变换矩阵接近于正交矩阵。
三、PointNet体验
这里使用torch实现的PointNet进行快速,链接:https://github.com/yanx27/Pointnet_Pointnet2_pytorch
Readme中使用方法作者介绍的非常详细,这里不再进行赘述,直接上作者给出的预训练模型在S3DIS上的预测结果,使用MeshLab可视化。(Area5_WC_1)
area_5_hallway_11:
参考:
PointNet 家族简介(一)
【论文笔记】3D点云分割-PointNet相关推荐
- 收藏 | 清华团队将Transformer用到3D点云分割
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习> ...
- 清华团队将Transformer用到3D点云分割上后,效果好极了
萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 当Transformer遇上3D点云,效果会怎么样? 一个是当下最热门的模型(NLP.图像领域表现都不错),另一个是自动驾驶领域.机器人抓取 ...
- 清华团队将Transformer用到3D点云分割
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 当Transformer遇上3D点云,效果会怎么样? 一个是当下最 ...
- 清华团队将Transformer用到3D点云分割上后,效果好极了丨开源
萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 当Transformer遇上3D点云,效果会怎么样? 一个是当下最热门的模型(NLP.图像领域表现都不错),另一个是自动驾驶领域.机器人抓取 ...
- 详解3D点云分割网络 Cylindrical and Asymmetrical 3D Convolution Networksfor LiDAR Segmentation
本文介绍一篇3D点云分割网络:Cylinder3D,论文已收录于 CVPR 2021. 这里重点是理解本文提出的 Cylindrical Partition 和 Asymmetrical 3D Con ...
- 清华大学胡事民是计算机视觉,清华团队将Transformer用到3D点云分割上后,效果好极了丨开源...
萧箫 发自 凹非寺量子位 报道 | 公众号 QbitAI 当Transformer遇上3D点云,效果会怎么样? 一个是当下最热门的模型(NLP.图像领域表现都不错),另一个是自动驾驶领域.机器人抓取等 ...
- segMatch:基于3D点云分割的回环检测
该论文的地址是:https://arxiv.org/pdf/1609.07720.pdf segmatch是一个提供车辆的回环检测的技术,使用提取和匹配分割的三维激光点云技术.分割的例子可以在下面的图 ...
- 阿里巴巴自动驾驶三维点云分割PointNet实现
阿里巴巴点云分割(PointNet) 项目地址:https://github.com/Summit11/PointNet_AliData 本项目是点云分割模型PointNet在DataFountain ...
- CVPR2020中关于3D点云分割
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:不知道叫什么好 | 来源:知乎 https://zhuanlan.zhihu.com/p/152 ...
最新文章
- Jeff Dean竟在谷歌成众矢之的!开除“论文不合格”AI伦理研究员,被1400名员工批斗...
- 郁闷心情——电话聊天排解法
- 【Python进阶】Python进阶专栏、编程与开源框架知识星球上线,等你来follow
- 作业综合练习-初始化工作
- javascript 之---正则表达式
- 工作197:判断对象里面是否有0和1
- Python爬取“Python小屋”公众号所有文章生成独立Word文档
- DNN网络(三)python下用Tensorflow实现DNN网络以及Adagrad优化器
- python成绩管理系统设计 gui csdn_用golang简单编写学生信息管理系统
- 爬去图片插件_学不会你打我,一个插件爬取亚马逊数据!
- Exchange2013 企业部署解决方案-Part 2
- 关于WIN10下NVIDIA安装驱动后没有控制面板的解决办法
- 运动重构(SFM)学习笔记一
- 【周赛266】leetcode2062.统计字符串中的的元音子字符串
- 代码读智识 笔墨知人心 1
- Java实现 LeetCode 55 跳跃游戏
- 波束管理(Beam Management)
- 【cocos2d-x入门实战】微信飞机大战之八:自定义敌机精灵
- mongodb基本语法及操作(增删改查)
- Linux配置ssh无密登录
热门文章
- 彩虹韩漫《物种起源》物种起源漫画全文在线阅读
- 8A计算机游戏问题课文翻译,2013-新译林牛津英语8a课文翻译.pdf
- html5 vido切换超清高清标清,H5 video标签我要做一个切换清晰度的按钮,请问如何解决...
- 青岛联通大数据助建智能交通平台
- 使用HTML+Css+transform实现3D导航栏-小白进阶必备
- 推特CEO:马斯克决定不加入推特公司董事会
- 橙色云CDS让制造业难题迎刃而解
- 线性回归阶段学习总结
- Solidworks模型导入MATLAB过程
- 知识图谱火了,但你知道它的发展历史吗?|赠书5本