(还需要阅读代码)FoldingNet论文阅读

本文介绍一种无监督的PointFeature提取方法,利用encoder编码点云并用codeword指导2D grid折叠还原,通过SVM进行分类。分析网络的排列不变性,证明网格折叠的可行性,并展示分类精度、稀疏性和插值效果,最后评估加入噪声后的鲁棒性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Main idea

unsupervise的point feature提取器。思路是用encoder编码point cloud然后用codeword去指导一个2D grid折叠成原来的模样,构成decoder,然后训练一个SVM进行分类。

Main structure

在这里插入图片描述

Theoretical Analysis

  1. 证明这个网络是permutation invariant的(显而易见)
  2. 证明存在一个function可以把grid折叠成这个样子(没看懂)

Result

Classify Accuracy

在这里插入图片描述

Sparsity analysis

在这里插入图片描述

interpolation

就是算出source的codeword1(X_pa),target的codeword2(X_pb),然后得出X_p=(1−i+1n+1)×X_pa+i+1n+1×X_pb{\rm{X\_p}} = (1{\rm{ - }}\frac{{i{\rm{ + 1}}}}{{n{\rm{ + }}1}}) \times {\rm{X\_pa}} + \frac{{i{\rm{ + 1}}}}{{n{\rm{ + }}1}} \times {\rm{X\_pb}}X_p=(1n+1i+1)×X_pa+n+1i+1×X_pb,其中i=1⋯ni = 1 \cdots ni=1n。一共n个X_p{\rm{X\_p}}X_p。再送入decoder得出点云。(除n+1n+1n+1是因为2点之间插值nnn个点,一共有n+1n+1n+1个interval)
在这里插入图片描述

Grid analysis

就是因为这里的3D point都是从mesh上采的,所以本质是一个3D空间里的2D manifold,所以用2D grid去折效果就很不错了在这里插入图片描述

Robust

在点云中加入5%的噪声之后,比较有graph layer和没有graph layer。graph layer增加了稳定性==(原因没想明白) ==
在这里插入图片描述

### FoldingNet 深度学习3D点云重建算法 FoldingNet 是一种用于无监督编码和解码3D形状的深度神经网络架构,能够有效地表示三维物体并实现点云自动编码[^1]。该方法通过引入折叠操作来构建紧凑而有效的模型结构,在保持较低计算成本的同时实现了高质量的3D点云集重构。 #### 折叠机制 为了减少参数数量并提高效率,FoldingNet采用了一种新颖的空间变换方式—即所谓的“折叠”。具体来说,就是先在一个二维平面上定义一组基点(通常取作单位正方形网格),再利用两个连续的一维卷积层将其映射到三维空间中的目标位置上形成最终输出的点集。 ```python import torch.nn as nn class FoldingLayer(nn.Module): def __init__(self, input_size=50, output_size=3): super(FoldingLayer, self).__init__() self.conv1d_1 = nn.Conv1d(input_size, 64, 1) self.conv1d_2 = nn.Conv1d(64, output_size, 1) def forward(self, x): y = F.relu(self.conv1d_1(x)) return self.conv1d_2(y) ``` 这种设计使得整个网络可以仅依赖少量可训练权重就能完成复杂的几何特征提取任务,并且允许直接从原始输入数据中学习有用的表征形式而不必预先指定特定模板或采样模式。 #### 编码器部分 对于给定的一个包含N个点坐标的集合P={p₁,..., pₙ},其中每个pi∈R³代表一个三维坐标向量;编码过程旨在找到一个低维度隐含状态z∈Rᵈ作为这些点的整体描述符。为此目的,FoldingNet采用了多层感知机(MLP)堆栈的形式来进行逐级抽象化处理: - 输入层接收大小为[N×3]矩阵; - 中间若干隐藏单元负责逐步压缩信息直至达到所需降维程度; - 输出则是一个固定长度(dimensional) 的特征向量 z ∈ Rᵈ. 此阶段的关键在于如何选取合适的激活函数以及层数配置以确保既能充分捕捉局部细节又能概括全局形态特性. #### 解码器部分 一旦获得了上述提到过的潜在变量Z之后,则可以通过反向传播的方式恢复出近似于原样本的新版本Q≈{q₁',..., q'ₙ} 。这里特别之处就在于运用到了之前介绍过的方法论——通过对预设格网上的节点实施两步式线性组合运算从而得到期望的结果分布: \[ Q=Fold(G,Z)=\left \{ Fold(g_i , Z)|g_i \in G \right \}\] 其中,G 表示由M × M均匀划分而成的标准平面区域;Fold() 函数接受来自任意单个grid cell gi 和整体contextual embedding之间的交互作用作为其内部逻辑依据。 综上所述,FoldingNet提供了一个创新性的解决方案用来解决传统基于体素栅格或者占用概率场等方式所面临的一些固有问题比如内存消耗过大、分辨率受限等等缺点。与此同时还具备良好的泛化性能适用于多种不同类型的对象类别之上。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值