基于深度学习的点云分割网络及点云分割数据集

点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分内的点云拥有相似的特征。点云的有效分割是许多应用的前提,例如在三维重建领域,需要对场景内的物体首先进行分类处理,然后才能进行后期的识别和重建。

传统的点云分割主要依赖聚类算法和基于随机采样一致性的分割算法,在很多技术上得到了广泛应用,但当点云规模不断增大时,传统的分割算法已经很难满足实际需要,这时就需要结合深度学习进行分割。

本文将重点介绍5种前沿的点云分割网络,包括PointNet/PointNet++、PCT、Cylinder以及JSNet网络,最后介绍5中常用的点云分割数据集。

1. PointNet/PointNet++

说起点云分割网络,就不得不介绍PointNet,它来源于CVPR的论文“Deep Learning on Point Sets for 3D Classification and Segmentation”。

PointNet是首个输入3D点云输出分割结果的深度学习网络,属于开山之作,成为了后续很多工作的BaseLine,网络的总体结构如图所示。

图片

整体的PointNet网络中,除了点云的感知以外,还有T-Net,即3D空间变换矩阵预测网络,这主要是由于点云分类的旋转不变性,当一个N×D在N的维度上随意的打乱之后,其表述的其实是同一个物体,因此针对点云的置换不变性,其设计的网络必须是一个对称的函数。

在PointNet网络中,对于每一个N×3的点云输入,网络先通过一个T-Net将其在空间上对齐(旋转到正面),再通过MLP将其映射到64维的空间上,再进行对齐,最后映射到1024维的空间上。

这时对于每一个点,都有一个1024维的向量表征,而这样的向量表征对于一个3维的点云明显是冗余的,因此这个时候引入最大池化操作,将1024维所有通道上都只保留最大的那一个,这样得到的1×1024的向量就是N个点云的全局特征。

从PointNet网络在ShapeNet数据集上的实验效果可以看出,大多数分割都取得了SOAT效果。部分分割结果如图所示,可以看出分割结果相当平稳,并且具有很强的鲁棒性。

图片

PointNet++主要是为了克服PointNet自身的一些缺点,其中最大的缺点就是缺失局部特征。由于PointNet直接暴力地将所有的点最大池化为一个全局特征,因此局部点与点之间的联系并没有被网络学习到。在分类和物体的Part Segmentation中,这样的问题还可以通过中心化物体的坐标轴部分地解决,但在场景分割中,这就会导致效果变差。

为了克服PointNet的缺点,作者在PointNet++中主要借鉴了CNN的多层感受野的思想。CNN通过分层不断地使用卷积核扫描图像上的像素并做内积,使得越到后面的特征图感受野越大,同时每个像素包含的信息也越多。而PointNet++就是仿照了这样的结构,先通过在整个点云的局部采样并划一个范围,将里面的点作为局部的特征,用PointNet进行一次特征的提取。

通过多次这样的操作以后,原本的点的个数变得越来越少,而每个点都是有上一层更多的点通过PointNet提取出来的局部特征,也就是每个点包含的信息变多。对比PointNet和PointNet++的分割效果,可见PointNet++的效果全面优于PointNet。

图片

2. PCT网络

NLP领域的Transformer大火,同时也有大量学者将其从NLP领域迁移到图像和点云领域。清华大学将Transformer应用于3D点云分割技术,设计了全新的PCT网络。PCT应用Transformer进行点云分割的具体原理如下图所示,其中星号代表Transformer的查询向量,黄色到蓝色代表注意力权重逐渐增加,最后一列代表分割结果。

图片

为了更好地捕获点云中的local context,作者在最远点采样和最近邻居搜索的支持下增强了输入嵌入,同时Transformer在点云分割领域的成功,也逐渐打通了NLP、图像、点云等不同领域的壁垒,对于“模型大一统”具有重要意义。PCT点云分割与其他分割算法进行对比,大量的实验表明,PCT在形状分类,part分割和法向量估算任务方面达到了最先进的性能。

图片

3. Cylinder网络

Cylinder网络来源于CVPR论文“Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation”,Cylinder网络由圆柱坐标体素划分和非对称3D卷积网络组成,认为圆柱分割可以有效提高分割精度,此外还引入一个point-wise模块来改进体素块输出,提高辨识精度。

图片

基于柱坐标的voxel的划分,可以与激光雷达扫描过程保持一致,进而有效地减少空voxel的比率。此外,将Cylinder网络在两个大型室外场景数据集(SemanticKITTI和nuScenes)上进行了评估。

评估显示,在SemanticKITTI数据集上,Cylinder网络排名第一。在nuScenes数据集上,新方法的表现也大大超过了之前的方法。

4. JSNet网络

JSNet来源于AAAI论文“JSNet: Joint Instance and Semantic Segmentation of 3D Point Clouds”,JSNet可以同时解决3D点云的实例和语义分割问题。JSNet首先建立有效的骨干网络,以从原始点云数据中提取鲁棒的特征。其次为了获得更多的判别特征,提出了一种点云特征融合模块来融合骨干网的不同层特征。

此外,JSNet开发了联合实例语义分割模块以将语义特征转换为实例嵌入空间,然后将转换后的特征进一步与实例特征融合以促进实例分割。同时,该模块还将实例特征聚合到语义特征空间中,以促进语义分割。最后,JSNet通过对实例嵌入应用简单的均值漂移聚类来生成实例预测。

JSNet网络在大型3D室内点云数据集S3DIS上的评估结果很不错,JSNet网络的分割效果在下图展示。实验结果表明,JSNet网络在3D实例分割中的性能优于最新方法,在3D语义预测方面有重大改进,同时有利于零件分割。

图片

5. 点云分割数据集

深度神经网络的训练往往需要大量的数据集,同时深度神经网络性能的优劣也往往是在公开数据集上进行评估,因此选择合适的数据集至关重要。常用的点云分割数据集主要有如下几个:

5.1 Semantic3D

经典的大型室外场景点云分割数据集,由激光雷达扫描周围场景得到。Semantic3D提供了一个带有大标签的自然场景的3D点云数据集,总计超过40亿个点,8个类别标签。

数据集包含了各种城市和乡村场景,如农场,市政厅,运动场,城堡和广场。该数据集包含15个训练数据集和15个测试数据集,另外还包括4个缩减了的测试数据集。

数据集中的点都含有RGB和深度信息,并被标记为8个语义类别,分别是1:人造地形;2:自然地形;3:高植被;4:低植被;5:建筑物;6:硬景观;7:扫描人工制品,8:汽车,附加标签0:未标记点,标记没有地面真值的点。

数据集地址:http://www.semantic3d.net/

图片

图片

 5.2 S3DIS

S3DIS数据集是斯坦福大学开发的带有像素级语义标注的语义数据集,是常用的室内场景分割数据集,使用Matterport相机收集数据,包含6个Area,13个语义元素,11种场景。

 其中13个语义元素分别包括:天花板ceiling、地板floor、墙壁wall、梁beam、柱column、窗window、门door、桌子table、椅子chair、沙发sofa、书柜bookcase、板board、混杂元素(其他)clutter。

11种场景分别包括办公室office、会议室conference room、走廊hallway、礼堂auditorium、开放空间open space、大堂lobby、休息室lounge、储藏室pantry、复印室copy room、储藏室storage和卫生间WC。

数据集地址:http://buildingparser.stanford.edu/dataset.html

图片

  

图片

5.3 SemanticKITTI

SemanticKITTI数据集是一个基于KITTI Vision Benchmark里程计数据集的大型户外点云数据集,显示了市中心的交通、住宅区,以及德国卡尔斯鲁厄周围的高速公路场景和乡村道路。

原始里程计数据集由22个序列组成,作者将序列00到10拆分为训练集,将11到21拆分为测试集,并且为了与原始基准保持一致,作者对训练和测试集采用相同的划分,采用和KITTI数据集相同的标定方法,这使得该数据集和KITTI数据集等数据集可以通用。

SemanticKITTI数据集作者提供了精确的序列扫描注释,并且在点注释中显示了前所未有的细节,包含28个类,确保了类与Mapillary Visiotas数据集和Cityscapes数据集有很大的重叠,并在必要时进行了修改,以考虑稀疏性和垂直视野。

数据集地址:http://www.semantic-kitti.org/index.html

图片

5.4 ShapeNet

ShapeNet数据集是一个由对象的三维CAD模型表示的形状存储库,注释丰富,规模较大。ShapeNet包含来自多种语义类别的3D模型,并按照WordNet分类法组织,能够完成部件分割任务,即不仅知道这个点云数据大的分割,还要将它的小部件进行分割。

它总共包括十六个大的类别,每个大的类别有可以分成若干个小类别,十六个类别具体包括:飞机Airplane、包Bag、帽子Cap、汽车Car、椅子Chair、耳机Earphone、吉他Guitar、刀Knife、灯Lamp、电脑Laptop、摩托车Motorbike、杯子Mug、手枪Pistol、火箭Rocket、滑板Skateboard、桌子Table。

数据集地址:https://www.shapenet.org/

图片

图片

5.5 PartNet

PartNet数据集是用于细粒度和分层零件级3D对象理解的大规模基准。数据集包含573585个零件实例,涵盖26671个3D模型,涵盖24个对象类别。

PartNet数据集启用并充当许多任务的催化剂,例如形状分析,动态3D场景建模和仿真,可负担性分析等。数据集建立了用于评估3D零件识别的三个基准测试任务:细粒度语义分割,分层语义分割和实例分割。

数据集地址:https://shapenet.org/download/parts

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/61574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel - VLOOKUP函数将指定列替换为字典值

背景:在根据各种复杂的口径导出报表数据时,因为关联的表较多、数据量较大,一行数据往往会存在三个以上的字典数据。 为了保证导出数据的效率,博主选择了导出字典code值后,在Excel中处理匹配字典值。在查询百度之后&am…

硬件知识 cadence16.6 原理图输出为pdf 网络名下划线偏移 (ORCAD)

1. cadence原理图输出为PDF网络名下划线偏移 生这种情况的原因 1. 设计的原理图图纸大小比正常的 A4图纸大。 2. 打印为PDF 的时候,打印机的设置有问题。 2.cadence原理图输出为 PDF网络名下划线偏移的情况 可以看到上图,网络名往上漂移。 3. 解决办法 …

随机森林(Random Forest)详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

对原jar包解压后修改原class文件后重新打包为jar

文章目录 背景三种修改方式1.POM中移除原jar中依赖的历史版本2.原jar它不使用pom依赖而是直接放在源码中再编译使用JarEditor 插件对源码进行修改(推荐)使用java-decompiler反编译后修改源码覆盖原class(不好用-不推荐直接跳过)提醒 参考资料-推荐阅读拓…

PyQt6+pyqtgraph折线图绘制显示

1、实现效果 2、环境: 确认已经安装pyqtgraph的模块,如果没有安装,使用命令安装: pip install pyqtgraph 3、代码实现: 绘制折线函数: import sys import random from PySide6.QtWidgets import QAppl…

Altium Designer学习笔记 1-5 工程创建_元件库创建

基于Altium Designer 23学习版,四层板智能小车PCB 目录 1、工程组成 2、AD工程创建 3、元件库的阻容模型创建 4、IC类的元件库模型创建 5、排针类的元件库模型创建 1、工程组成 主要包括原理图库----原理图----PCB库----PCB 2、AD工程创建 新建工程项目 …

Video Duplicate Finder 快速识别并去除重复的视频和图像!

文章目录 下载 后续升级 Video Duplicate Finder(视频重复查找器)是一款开源的跨平台视频(以及图像)去重软件,通过对比文件内容和特征,快速识别出重复的视频和图像文件,即使是被压缩裁剪过、…

力扣力扣力:860柠檬水找零

860. 柠檬水找零 - 力扣(LeetCode) 需要注意的是,我们一开始是没有任何钱的,也就是说我们需要拿着顾客的钱去找零。如果第一位顾客上来就是要找零那么我们无法完成,只能返回false。 分析: 上来我们先不分…

开源许可协议

何同学推动了开源协议的认识,功不可没,第一次对开源有了清晰的认识,最宽松的MIT开源协议 源自OSC开源社区:何同学使用开源软件“翻车”,都别吵了!扯什么违反MIT

装饰器---python

一、柯里化 概念:将原来接受两个参数的函数变成新的接受一个参数的函数过程,新的函数返回一个以原有第二个参数为参数的函数 例如: 例一 原函数是add(x,y),柯里化的目标是add(x)(y),如何实现呢? 相当于嵌套函数,有闭…

Spring AI 框架使用的核心概念

一、模型(Model) AI 模型是旨在处理和生成信息的算法,通常模仿人类的认知功能。通过从大型数据集中学习模式和见解,这些模型可以做出预测、文本、图像或其他输出,从而增强各个行业的各种应用。 AI 模型有很多种&…

知识见闻 - 数学: 均方根 Root Mean Square

What is Root Mean Square (RMS)? 在统计学上,均方根(RMS)是均方的平方根,而均方是一组数值的平方的算术平均数。均方根也称为二次均值,是指数为 2 的广义均值的一种特例。均方根也被定义为基于一个周期内瞬时值的平方…

基于Spring AI alibaba组件AI问答功能开发示例

基于Spring AI alibaba组件AI问答功能开发示例 功能效果图: http://localhost:9999/ai/test http://localhost:9999/ai/chat?inputai 配置 application.yaml 指定 API-KEY(可通过访问阿里云百炼模型服务平台获取,有免费额度可用。&#x…

Linux - 线程基础

文章目录 1.什么是线程2.线程vs进程3.线程调度4.线程控制4.1 POSIX线程库4.2创建线程4.3线程终止4.4线程等待4.5线程分离 5、线程封装 1.什么是线程 在Linux操作系统中,线程是进程内部的一个执行流。在Linux操作系统下,执行流统称为轻量级进程&#xff0…

5、AI测试辅助-生成测试用例思维导图

AI测试辅助-生成测试用例思维导图 创建测试用例两种方式1、Plantuml思维导图版本 (不推荐)2、Markdown思维导图版本(推荐) 创建测试用例两种方式 完整的测试用例通常需要包含以下的元素: 1、测试模块 2、测试标题 3、前置条件 4、…

PTA编程题:N个数求和

问题描述 思路分析 问题分解 输入处理:将分数拆解为分子和分母,存储并处理。 分数相加规则: 即分子相加、分母相乘。 结果化简:求分数的最大公因数(GCD),将其约分至最简形式。 带分数处理&…

Selenium + 数据驱动测试:从入门到实战!

引言 在软件测试中,测试数据的多样性和灵活性对测试覆盖率至关重要。而数据驱动测试(Data-Driven Testing)通过将测试逻辑与数据分离,极大地提高了测试用例的可维护性和可扩展性。本文将结合Selenium这一流行的测试工具&#xff0…

RK3568平台(中断篇)ARM中断流程

一.ARM 处理器程序运行的过程 ARM芯片属于精简指令集计算机 (RISC: Reduced Instruction Set Computing),它所用的指令比较简单,有如下特点: ① 对内存只有读、写指令 ② 对于数据的运算是在CPU内部实现 ③ 使用RISC指令的CPU复杂度小一点,易于设计 比如对于 a=a+b 这…

视频修复技术和实时在线处理

什么是视频修复? 视频修复技术的目标是填补视频中的缺失部分,使视频内容连贯合理。这项技术在对象移除、视频修复和视频补全等领域有着广泛的应用。传统方法通常需要处理整个视频,导致处理速度慢,难以满足实时处理的需求。 技术发…

推荐一款专业电脑护眼工具:CareUEyes Pro

CareUEyes Pro是一款非常好用的专业电脑护眼工具,软件小巧,界面简单,它可以自动过滤电脑屏幕的蓝光,让屏幕显示更加的不伤眼,更加舒适,有效保护你的眼睛,可以自定义调节屏幕的色调,从…