pointcnn pointweb pointconv randla 阅读(一)

参考文献:

s1.(各种测评指标意义)(8条消息) 【深度理解】语义分割中常用的评价指标含义GA、OA、mAcc、IoU、mIoU_Gisleung的博客-CSDN博客_语义分割oahttps://blog.csdn.net/qq_27816785/article/details/125833556

 首先进行评测指标的学习,数据集有semantic3d,S3DIS数据集

s3dis数据集 室内数据集 只能脚本运行 13分类

semantic3d数据集  室外场景数据集 官网可测评 点数巨大 Semantic3D

semanticktti数据集 数据集较大 28分类

pointcnn

pointcnn提出利用局部结构学习的X转换算子(矩阵),将无序点云通过算子之后,转化为有序点云,解决点云的无序性问题。

pointcnn pointweb pointconv randla 阅读(一)_第1张图片

pointcnn pointweb pointconv randla 阅读(一)_第2张图片

 点云的输入顺序不同,经过普通卷积之后,他的输出也可能不同。

pointcnn pointweb pointconv randla 阅读(一)_第3张图片

pointcnn pointweb pointconv randla 阅读(一)_第4张图片

pointcnn pointweb pointconv randla 阅读(一)_第5张图片

 x算子 中心点-邻域点 MLP 得来的 K*K矩阵 (相对位置 随着点输入顺序变化变化)

F*= 中心点减去邻域点(相对位置)mlp学习 然后与中心点特征拼接 在经过mlp学习之后,得到特征。

对特征加权和置换  Fx=x*F*

对特征利用K矩阵进行普通卷积得到最终的特征Fp。

这样既进行了特征聚合,降低了size,每个点包含的信息变多,而且由于X算子的引入,使得点云无序性得到加强。

S3DIS数据集 上测试 MIOU 65.39%

并且文章进行了X算子的消融实验,确实有用。

pointcnn pointweb pointconv randla 阅读(一)_第6张图片多次使用X-conv,增加每个点的感受野。 

训练中混淆点的输入顺序。

补充说明:

在组会上讲解了这篇文章,但师兄说我理解略有偏颇,应该看看代码。

代码具体没看懂,我目前的理解还是 为了解决点云的无序性问题,作者根据局部特征设计加权矩阵,潜在意义上实现点云的排序(并不是真正的完全消除顺序带来的影响,而是考虑了点云的局部特征),而且在训练的时候,需要对点云打乱顺序进行学习,否则,在输入点云时,考虑局部特征进行点云的训练时,点云的顺序也会影响训练的模型,以至于在test环节出现错误。

新的参考:PointCNN: Convolution On X -Transformed Points 论文和代码详解 - 知乎 (zhihu.com)

pointcnn pointweb pointconv randla 阅读(一)_第7张图片

x新的理解:X-conv仅仅利用三维坐标进行一系列MLP 卷积等得到K变换矩阵,使得在特定邻近点序列下变的有序,变成一个类似图像的有序对,然后进行普通卷积K,也可以结合局部特征。

每个N*3的点进来之后,经过变化变成融合局部特征的N*32的矩阵;(结合局部信息,经过X的相乘之后实现了数据的规则化。)

pointcnn pointweb pointconv randla 阅读(一)_第8张图片

经过变化之后,三和四所得的N*32矩阵应该是一致的(一开始的N*3矩阵因为顺序不同应该是不一致的)

再利用K卷积 (类似普通的图像CNN卷积) 将N个点局部结合,提取特征。

K卷积为深度可分离卷积

0

 

 

如有不对,请多多指正。

你可能感兴趣的:(深度学习,人工智能)