@@@@GRNet: Gridding Residual Network for Dense Point Cloud Completion(补全,需要扩展C++)(7.14)

文献地址

这篇文章在2020年发表于ECCV,文章的主要工作有以下几点:

  • Gridding 和 Gridding Reverse 网格化和网格反转,在不丢失信息的情况下将点云数据转为3D网格状态。
  • 3D卷积网络提取网格数据特征,能够保留上下文的信息(应该就是点和点之间的联系)。
  • 新的损失函数,网格损失函数,用于计算预测点云和真点云的三维网格之间的L1距离。

相关工作(看word,感觉目前看也没啥用)
@@@@GRNet: Gridding Residual Network for Dense Point Cloud Completion(补全,需要扩展C++)(7.14)_第1张图片
对不完整的点云P,Gridding模块用于获取3D网格G
=< V, W > ,V和W分别是G的顶点集合和值集合。然后W被送入3DCNN,输出W’。然后。Gridding Reverse从 G’
=< V, W’ > 中产生一个粗的点云输出Pc。接下来,Cubic Feature Sampling从Pc中生成一个Fc。最后,用MLP把Pc和Fc作为输入得到细致的补全Pf。

Gridding

使用2D和3D卷积直接处理不规则的点云有困难,所以有一些将点云转换为体素再做卷积处理。但是将点云转换为体素会在成不可逆的几何特征损失。

所以后来的一些方式是用多层感知机(MLP)直接处理点云,但是这会损失掉点云之间上下文的联系信息。最近研究还表明这种方法并不总是有效的。

网格化:将原本不完整的点云P转换为常规的3D网格G=< V, W >的形式。
@@@@GRNet: Gridding Residual Network for Dense Point Cloud Completion(补全,需要扩展C++)(7.14)_第2张图片
V和W分别作为G的顶点集和值集。
什么是顶点集和值集?

N是G的resolution,什么是resolution?

下图的范围区间是代表每个wi之间的距离吗,每个wi距离为2?

V中的v是代表每个wi吗?
如果与顶点wi相邻的正方体空间中有point,wi就是1,如果没有则为0(体素化情况下)?

@@@@GRNet: Gridding Residual Network for Dense Point Cloud Completion(补全,需要扩展C++)(7.14)_第3张图片
下面则是为了让wi不仅只是0或1而是,可以让它趋于两者之间。
@@@@GRNet: Gridding Residual Network for Dense Point Cloud Completion(补全,需要扩展C++)(7.14)_第4张图片

设邻域N(v)的作用是为了保证位置的关联性,一个单元相邻的八个单元中顶点信息。

下面公式是邻域之间点坐标的插值。
在这里插入图片描述
这一段暂时还不能完全看懂,之后再补充笔记。

3D Convolutional Neural Network

@@@@GRNet: Gridding Residual Network for Dense Point Cloud Completion(补全,需要扩展C++)(7.14)_第5张图片
The 3D Convolutional Neural Network (3D CNN) with skip connections aims
to complete the missing parts of the incomplete point cloud.
带跳接的三维卷积神经网络完成不完整点云的缺失部分。
跳接层其实说白了就是ResNet那种将前层的参数传入到后面几层,可以减少过拟合。
遵循U-Net(没了解过)的Encoder和Decoder的设计。说实话编码器和解码器出现很多次了,一直没有研究过到底是怎么个反卷积法。
每层都有4^3个卷积核(这么耗资源的嘛?)

之后还介绍了各个网络层,直接看图就行,也没啥道理可讲的。

Gridding Reverse

@@@@GRNet: Gridding Residual Network for Dense Point Cloud Completion(补全,需要扩展C++)(7.14)_第6张图片

作者用W’网格逆向生成网格点云。
利用Θi作为第i个网格的顶点索引集,通过八个顶点v的加权值w’求得pc。
@@@@GRNet: Gridding Residual Network for Dense Point Cloud Completion(补全,需要扩展C++)(7.14)_第7张图片

Cubic Feature Sampling

三次特征采样,MLP使用Maxpool来汇集全局特征可能会带来上下文信息的损失,因此需要收集前3层反置卷积层提取的特征Fc,有助于精细点云的恢复。
用F作为3D CNN的特征图(理解为卷积过后输出的色彩通道,对于人可能是一些没有意义的图),fc作为pc上的特征。(懒得用csdn编辑公式了,直接截图得了)

在这里插入图片描述
[ ]是串联操作,在这里插入图片描述表示p上面八个顶点的特征。

减少这些特征的冗余并生成固定数量的点,从粗点云P中随机抽取2048个点Pc。因此,它生成一个2048×1792大小的特征图。(为什么是个二维图?)

Multi-layer Perceptron

多层感知机用于从粗点云恢复细点云,需要点云Pc和学习到的特征Fc作为输入得到补全点云Pf。
在这里插入图片描述
下面这句话不太明白rm,r和3这几个参数的含义。
3应该是空间三维坐标x,y,z轴。(PCN 7.15)
在这里插入图片描述

Gridding Loss

一般使用倒角距离(Chamfer Distance)作为loss,惩罚预测点与真实点之间的误差距离。但是不能遵循真实情况下物体的几何分布。(PCN用的EMD与CD结合的方式)
因为可以将点云转为网格,所以提出了Gridding Loss计算网格情况下Gpred和Ggt即预测值和真实值的L1距离。
在这里插入图片描述

Experiments

  1. 数据集
    采用了 ShapeNet、Completion3D、KITTI三个著名的数据集。

  2. 评估指标
    T作为真实样本,R作为生成样本。nT和nR是point的数量。
    采用Chamfer Distance函数
    在这里插入图片描述

由于CD函数可能带来误差
F-Score作为补充
在这里插入图片描述

你可能感兴趣的:(流水账,python,机器学习,计算机视觉,深度学习)