pointcloud sota 综述 三维点云深度学习算法综述 (point词组)
本文目录导航:
【综述】三维点云深度学习算法综述,sota pointcloud
在三维空间的深度学习探索中,点云技术的应用正在重塑无人驾驶、机器人技术等前沿领域。
一种新兴的研究热点是Transformer模型在点云处理中的创新应用,如Deep Learning for 3D Point Clouds: A Survey,它为分类、分割等任务提供了深入的综述。
点云处理方法多种多样,大致可以分为多视图、点基、体素基和混合策略。
点基方法的代表作有PointNet和PointNet++,PointNet通过独特的设计解决了点云的无序性问题,而PointNet++则通过增强局部信息的整合,实现了性能的显著提升。
追踪最新的进展,pointcloud-sota为我们揭示了不断演进的技术前沿。
点云深度学习涉及的任务繁多,包括分类、分割、目标检测等,每个任务都有其独特的挑战和解决方案。
以PointNet为例,它通过FPS采样和球形Grouping,利用PointNet提取点特征,其中包括邻域特征。
在分割任务中,上采样和反距离加权插值是常见的技术。
PointNet++的提升并非仅来自网络结构的创新,而是训练策略的改进。
PointNext则通过InvResMLP优化,如增加MLP通道数,以增强特征的丰富度,尤其在S3DIS数据集上表现出色。
卷积方法如Pointconv和KPConv各具特色,前者学习位置相关的权重,而KPConv则为每个核心点分配权重矩阵。
而Point Transformer引入了注意力机制,以高效处理点云的复杂性。
图方法如DGCNN通过EdgeConv层,强化了点之间的联系和表达能力。
在更复杂的网络结构中,体素法如VoxelNet和VoTr采用了3D卷积和Transformer技术,而点云检测则涉及Voxel划分、特征编码和稀疏张量表示等步骤。
多视图方法如MVCNN通过多视角投影进行训练,融合方法如PVCNN则结合点云和体素信息,提升了效率和准确性。
分类任务如PointGPT在ModelNet40和ScanObjectNN上展现出卓越性能,而语义分割数据集如ShapeNetPart、S3DIS、SemanticKITTI和ScribbleKITTI,则展示了不同模型的卓越表现。
在最新技术方面,如Window-Normalization处理不同密度的点云,Superpoint_transformer则以高效和低参数量实现卓越性能。
Stratified-Transformer、RepSurf、Point Transformer V2、PointNext和ContrastBoundary等模型都在各自领域取得了突破。
在目标检测和实例分割方面,Kitti、nuScenes、Apollo等数据集与CAGroup3D、3D-Dual-Fusion等模型相互印证。
而配准和重构技术,如3DMatch、GEDI和AdaPoinTr,正解决着点云完整性的问题。
数据集方面,Scenes、STPLS3D、SensatUrban、ScanNetV2和npm3d等提供了丰富的数据资源,为研究提供了坚实的基础。
在点云重建和变化检测领域,Sformer-Encoder、Transformer-Decoder和Siamese KPConv等模型展现了强大的潜力。
开源项目如MMDetection3D、Paddle3D等则为开发者提供了丰富的工具和算法,如Open3D-ml中的randla、kpconv和PointTransformer,以及CloudCompare的交互式标注和分类功能。

Transformer(十二)T2T
Transformer在视觉领域的应用,如ViT在ImageNet上曾面临挑战,其相较于经典的CNN模型稍显逊色。
问题的关键在于ViT的简单tokenization无法捕捉图像中的局部结构,且其设计中可能存在冗余,限制了特征的丰富度。
为解决这些问题,新加坡国立大学与依图科技团队携手提出了一种创新的解决方案——Tokens-to-Token ViT(T2T-ViT)。
通过实验,研究团队发现,T2T-ViT在小参数量条件下展现出超越vanilla ViT和ResNet50的性能,尤其在与MobileNet的轻量版本对比中,表现更为突出。
Transformer在视觉任务中成为主流,尽管ViT在图像分类上达到了SOTA,但T2T-ViT凭借其改进,能够在资源有限的情况下取得优异效果。
T2T-ViT的自注意力机制在处理图像时超越了传统的CNN,尤其是通过Progressive Tokenization技术,它能够逐步解析图像结构,提升处理效率。
T2T模块通过重构和软拆分,将图像分解为固定长度的tokens,而T2T-ViT的主干则负责处理全局关系,优化了计算密集部分。
在优化T2T模块以应对MAC和内存问题上,T2T-ViT采用了低通道维和高效Transformer(如Performer层),这进一步提升了模型的效率。
在骨干网络设计上,团队探索了多种架构,深窄(DenseNet)、宽浅(Wide-ResNets)等,实验结果显示,深窄结构在T2T-ViT中展现出最佳性能。
T2T-ViT的核心架构由T2T模块和深窄架构的主干组成,通过n=2的软拆分,图像被逐步缩小,这使得主干的参数和计算开销得到显著降低。
为了与CNN如ResNets和MobileNets进行对比,团队构建了不同规模的T2T-ViT模型,如T2T-ViT-14、19、24等。
整体而言,T2T-ViT通过精简设计,降低了深度、维度和MLP比率,从而实现了更高效的图像分类。
在ImageNet上进行的详细实验与多种CNN和ViT结构的对比,证实了深窄结构在T2T-ViT中的关键作用。
通过消融研究,团队深入理解了T2T模块和结构选择对性能的影响,为视觉Transformer的发展提供了新的视角和实践指导。
算法大鉴赏:一文理解Transformer算法
Transformer算法由Alex Graves提出,用于解决序列转换问题,如语音识别、文本翻译和人机对话等。
一切要从Self-Attention开始讲起。
假设输入已知序列为[公式],长度为[公式]。
其中每个[公式]是一个[公式]维向量,我们可以将输入序列表示为矩阵[公式]。
Self-Attention的目的是建立输入序列的邻接矩阵,量化每个顶点[公式]之间的注意力(相关度),对高度相关的边赋予高的注意力分数。
我们定义Self-Attention的输出[公式]是输入序列的线性加权组合,即对原始数据进行线性映射,通过attention score保留重要的信息。
通过这种表达方式,表达了[公式]对输入序列每个元素对[公式]的注意力程度,我们可以将所有的[公式]组合成为一个注意力矩阵[公式],表达输入序列中任意元素之间的注意力。
Self-Attention有三个小伙伴:Queries, keys and values。
KV存储是一种用于键值数据存储、检索和关联的数据存储方式。
举个例子,假设我们在论文检索引擎上搜索Transformer,这是查询(Query),搜索引擎会与所有的文献索引或关键词(Key)做匹配,将所有与Transformer相关的文献标题和摘要(Value)展现出来。
Attention机制可以让搜索更加智能化,通过训练[公式]函数,对所有的结果赋予不同的注意力分数,产生一个概率分布[公式],对于机器学习算法相关的文献,Transformer将被赋予高注意力分数。
Multi-head Attention是Transformer中使用的Self-Attention,即多头注意力。
Multi-head Attention通过多层Self-Attention的并行堆叠,让每个head关注不同的侧重点,给与模型更大的Power。
Self-Attention是一种自编码机制。
在深度学习中,自编码器是一种无监督的神经网络模型,它可以学习输入数据[公式]的隐含特征[公式],称之为编码(Encoder),同时用学习到的新特征可以重构出原始输出数据[公式],称之为解码(Decoder)。
Transformer的整体结构如下所示。
4.1 Transformer的编码器(Encoder):编码器的输入是一组序列[公式],因为没有位置信息,不能区分[公式]先后顺序,需要对其嵌入一个位置向量Positional Encoding,有助于确定单词的位置。
4.2 Transformer的解码器(Decoder):解码器是一个循环结构,将之前[公式]步的预测输出内容,作为[公式]步的输入,通过编码器生成[公式],在左侧编码器输出的上下文[公式]中进行匹配。
4.3 Linear and Softmax Layer(基于Decoder输出预测结果):解码器的输出是一个浮点向量[公式],如何将其变为最终的结果(单词)?第一步:通过一个全连接层(FC),将[公式]线性映射到一个维度为10,000的向量中,每个单元格对应一个词汇的分数。
第二步:通过Softmax将这些分数转换为概率分布,累计和为1,选择概率最高的词汇作为预测结果输出。