PointNet家族

本文介绍了PointNet家族在处理点云数据中的应用,包括PointNet的基本结构及其在目标检测中的作用,以及PointNet++的局部到全局学习。讨论了规则化处理方法,如VoxelNet、SPLATNet和PointCNN等,它们通过规则化点云数据以适应深度学习。此外,还探讨了点云处理的其他方法,如基于图的建模和卷积核的优化,以增强模型的鲁棒性。

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

点云数据的特性和挑战

1)点云具有不规则性,顺序不相关性,置换排序不变性对深度学习具有很大的挑战。

(Irregular(unordered):permutation invariance)

2)刚性变换(scale transorfmation ration)的鲁棒性(Robustness to rigid transformations)

3)点云损害,噪声,部分数据,大场景数据 (Robustness to corruption outlier,noise, partial data large-scale data)需要保持鲁棒性,高效性。

PointNet家族

PointNet是将深度学习应用与点云上的应用


PointNet = shared MLP + maxPool(多层感知机+对称函数)

inputPoints映射到高维空间(1024维)之后,maxpool保证了平移不变形

针对刚性变换,Pointnet提出了T-Net,用迷你网络transform-Net(3*3的变化)将输入点云进行对其alignment。无论如何刚性变换,它的表示是规范的。思想应用到深层的特征空间。

PointNet ++ = PointNet + 局部到全局学习泛式

卷积神经网络是有局部的概念的,但是pointnet并没有。作者模仿cnn的架构,让pointnet更好的捕捉局部的模式。于是有了pointnet++。从输入点云采样一些点,以这些点为中心找局部邻域,将局部邻域作为卷积作用域,局部邻域共享pointnet,和卷积中共享卷积核一样。实现了由局部到全局的优化。性能和局部模式的挖掘上有很大提升

Sampling+Grouping+PointNet(capture local pattens better CNN like)

Pointnet backbone做目标检测

https://openaccess.thecvf.com/content_cvpr_2018/papers/Qi_Frustum_PointNets_for_CVPR_2018_paper.pdf

2d 图像里面,用与训练过的detector 生成一些proposal,再利用图像和深度图中的信息得到Frustum Proposal(屏截头体,从2dproplsal恢复出3d的结构)。在做3d的instance segmetation。分割结果进行3d box的估计,利用tnet pointnet的设计进行3d box的网络。

用pointnet思想做场景光流的预测

https://openaccess.thecvf.com/content_CVPR_2019/papers/Liu_FlowNet3D_Learning_Scene_Flow_in_3D_Point_Clouds_CVPR_2019_paper.pdf

对于输入的两个特征,最后是得到场景光流估计。核心是找到两针时间的关系。核心是设计flow embending的模块。同时利用pointnet做上采样。

规则化处理(regular processing)

既然电云上不好做深度学习,我们能否做规则化处理,以方便我们做深度学习的研究。

VoxelNet = 3D grid + PointNet + 3DCNN

讲点云规则的划分成3Dgrid,每个grid用pointnet做紧凑的特征表示,然后用3DCNN来做目标检测。

https://arxiv.org/pdf/1711.06396.pdf

https://github.com/qianguih/voxelnet

SPLATNet = lattice + bilateral convolution + hash index

把点云映射到高维的晶格空间,用双边卷积的操作,利用哈希表高效处理,卷积之后的分割结果再投射回点云空间。参考 Lattice CNNs. ICLR 2015, Bilateral Neural Networks CVPR 2016.

https://arxiv.org/pdf/1802.08275.pdf

### EfficientNet 网络架构详解 #### 一、前言 EfficientNet 的出现标志着卷积神经网络设计的重大进步,其核心在于通过复合系数来协调地增加网络宽度、深度以及分辨率,从而实现更高效的模型扩展[^2]。 #### 二、论文思想概述 该模型摒弃了传统的单一维度放大方式——即仅增大层数或特征图数量的做法;而是提出了一个新的框架用于构建一系列具有不同大小但保持相同拓扑特性的CNNs。这种做法不仅提高了资源利用率还增强了泛化能力[^1]。 #### 三、网络详细结构 ##### (一)基础模块:MBConv 结构 在网络主体部分采用了名为Mobile Inverted Bottlenecks (MBConvs) 的特殊单元作为基本组成单位。这些单元内部集成了逐点卷积(pointwise convolution),depth-wise separable convolutions 和 squeeze-and-excitation layers, 这使得它们能够在减少计算量的同时维持较高的表达力[^3]。 ```python class MBConv(nn.Module): def __init__(self, inp, oup, stride, expand_ratio): super(MBConv, self).__init__() hidden_dim = round(inp * expand_ratio) if expand_ratio == 1: self.conv = nn.Sequential( # dw nn.Conv2d(hidden_dim, hidden_dim, 3, stride, 1, groups=hidden_dim, bias=False), ... ) else: self.conv = nn.Sequential( # pw nn.Conv2d(inp, hidden_dim, 1, 1, 0, bias=False), ... # dw nn.Conv2d(hidden_dim, hidden_dim, 3, stride, 1, groups=hidden_dim, bias=False), ... # pw-linear nn.Conv2d(hidden_dim, oup, 1, 1, 0, bias=False), ... ) def forward(self, x): return x + self.conv(x) if isinstance(self.conv[-1], nn.Identity) else self.conv(x) ``` ##### (二)整体布局描述 整个网络被划分为多个阶段(stage), 其中第一个和最后一个阶段分别由普通的二维卷积层构成,而中间七个阶段则全部采用上述提到的MBConv 构建而成。具体来说: - **Stage1**: 初始输入经过一次标准的 $3\times3$ 卷积操作处理; - **Stages2~8**: 各自包含了若干个连续堆叠起来的MBConv 层; - **Stage9**: 经过全局平均池化(Global Average Pooling)之后连接到全连接层(Fully Connected Layer)。 #### 四、变体系列介绍 为了满足多样化的应用场景需求,EfficientNet 家族提供了从 B0 至 B7 总共八个版本的选择。随着编号递增,各成员之间的差异体现在三个方面—–宽度因子(width coefficient)、深度因子(depth coefficient) 及图像尺寸(Image Size)—–的变化上。这样的设定允许开发者根据实际硬件条件灵活调整模型规模,在精度速度之间找到最佳权衡点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值