三种不同的3D数据表示的基本深度学习方法

导读:我们将专注于最近的深度学习技术,这些技术支持3D对象分类和语义分割。我们将首先回顾一些有关捕获和表示3D数据的常用方法的背景信息。然后,我们将描述三种不同的3D数据表示的基本深度学习方法。最后,我们将描述有前途的新研究方向,并总结我们对该领域前进方向的看法。

假设你正在建造一辆需要了解周围环境的自动驾驶汽车。为了能够感知行人、骑自行车的人和周围的其他车辆以便安全行驶,你将如何设计你的汽车?你可以使用相机,但这似乎并不特别有效,因为相机拍出来的照片是2D的,而你只能将3D“挤压”为从相机捕获的2D图像,然后你尝试从2D图像信息(比如到你前面的行人或汽车的距离)中恢复实际的3D环境信息。通过将3D环境压缩到2D图像,你将丢弃对你最重要的许多信息。尝试将这些信息重新组合在一起很困难,即使对于最先进的算法,也容易出错。

相反,最好是能够使用3D数据扩充你的2D世界视图。你可以直接通过传感器找到这些物体,而不是尝试估算2D图像与行人或其他车辆的距离。但现在感知这一部分是比较困难的。你如何在3D数据中真正识别人?如骑自行车的人和汽车等物体。传统的深度学习技术,如卷积神经网络(CNN),可以使这些物体在2D图像中直接识别,需要适应3D工作。幸运的是,在过去的几年里,人们已经对3D中的感知问题进行了相当多的研究,我们在本文中的任务是简要概述这项工作。

特别是,我们将专注于最近的深度学习技术,这些技术支持3D对象分类和语义分割。我们将首先回顾一些有关捕获和表示3D数据的常用方法的背景信息。然后,我们将描述三种不同的3D数据表示的基本深度学习方法。最后,我们将描述有前途的新研究方向,并总结我们对该领域前进方向的看法。

我们如何捕获和表示3D数据?

很明显,我们需要能够直接在3D中运行的计算机视觉方法,但这提出了三个明显的挑战:感知,表示和理解3D数据。

感知

捕获3D数据的过程很复杂。虽然2D相机便宜且广泛,但3D感测通常需要专门的硬件设置。

1、立体视觉将两个或以上摄像机相对于彼此固定在特定位置,并使用此设置捕获场景的不同图像,匹配相应的像素,并计算每个像素在图像之间的位置差异以计算其在3D空间中的位置。这大致是人类感知世界的方式-我们的眼睛捕捉到现实世界中两个独立的“图像”,然后我们的大脑会看到物体的位置在我们的左眼和右眼之间的位置如何不同以确定其3D位置。立体视觉很有吸引力,因为它涉及的硬件很简单-只有两个或以上普通相机。然而,在精度或速度很重要的应用中,这种方法并不是很好。

3D表示

一旦捕获了3D数据,你需要以一种有意义的方式表示它,作为您正在构建的处理管道的输入。您应该知道四种主要表示形式:

a、点云只是3D空间中点的集合;每个点由(xyz)位置指定,可与一些其他属性(如rgb颜色)一起指定。它们是捕获LiDAR数据的原始形式,立体和RGB-D数据(由标记为每像素深度值的图像组成)通常在进一步处理之前转换为点云。

b、体素网格源自点云。“体素”就像3D中的像素;将体素网格视为量化的固定大小的点云。虽然点云可以在空间中的任何位置具有无限数量的点与浮点像素坐标,但是体素网格是3D网格,其中每个单元格或“体素”具有固定大小和离散坐标。

c、多边形网格由一组多边形面组成,这些面具有接近几何表面的共享顶点。将点云视为来自底层连续几何表面的采样3D点的集合;多边形网格旨在以易于渲染的方式表示那些底层表面。虽然最初是为计算机图形创建的,但多边形网格也可用于3D视觉。有几种方法可以从点云中获得多边形网格,包括Kazhdan等人的泊松曲面重构。

d、多视图表示是从不同的模拟视点(“虚拟相机”)捕获的渲染多边形网格的2D图像的集合,以便以简单的方式传达3D几何。简单地从多个摄像机(如立体声)捕获图像和构建多视图表示之间的区别在于多视图需要实际构建完整的3D模型并从几个任意视点渲染它以完全传达底层几何。与上面用于存储和处理3D数据的其他三种表示不同,多视图表示通常仅用于将3D数据转换为用于处理或可视化的简单格式。

理解

既然已经将3D数据转换为易于理解的格式,那么你就需要构建一个计算机视觉管道来理解它。这里的问题是,根据数据的表示,扩展在2D图像(如CNN)上运行良好的传统深度学习技术可能很难处理,使得诸如对象检测或分段之类的传统任务具有挑战性。

学习多视图输入

使用3D数据的多视图表示是使2D深度学习技术适应3D的最简单方法。这是将3D感知问题转换为2D感知问题的一种聪明方式,但仍然允许您推断对象的3D几何结构。使用这种想法的早期基于深度学习的工作是Su等人的多视图CNN一种简单而有效的架构,可以从3D对象的多个2D视图中学习特征描述符。与将单个2D图像用于对象分类任务相比,该方法实现了该方法,提高了性能。这是通过将单个图像输入到在ImageNet上预训练的VGG网络来实现的,以便提取显着特征,汇集这些产生的激活图,并将该信息传递到附加的卷积层以进行进一步的特征学习。

多视图CNN架构

但是,多视图图像表示具有许多限制。主要问题是你并没有真正学习3D-固定数量的2D视图仍然只是底层3D结构的不完美近似。因此,由于从2D图像获得的有限特征信息,诸如语义分割之类的任务(尤其是在更复杂的对象和场景上)的任务变得具有挑战性。此外,这种可视化3D数据的形式对于计算受限的任务(如自动驾驶和虚拟现实)而言不可扩展-请记住,生成多视图表示需要渲染完整的3D模型并模拟多个任意视点。最终,多视图学习面临许多缺点,这些缺点促使研究直接从3D数据学习的方法。

学习体积表示法

使用体素网格进行学习可以解决多视图表示的主要缺点。体素网格弥合了2D和3D视觉之间的差距-它们是最接近图像的3D表示,使得将2D深度学习概念(如卷积算子)与3D相匹配变得相对容易。Maturana和Scherer的VoxNet是第一个在给定体素网格输入的情况下在对象分类任务上获得令人信服的结果的深度学习方法之一。VoxNet对概率占用网格进行操作,其中每个体素包含该体素在空间中占据的概率。该方法的益处在于其允许网络区分已知自由的体素(例如,LiDAR束穿过的体素)和占用未知的体素(例如,LiDAR束撞击的体素后面的体素)。

VoxNet架构

VoxNet代表了迈向真正3D学习的重要一步,但体素网格仍然存在许多缺点。首先,与点云相比,它们会失去分辨率,因为如果它们靠近在一起,则表示复杂结构的几个不同点将被分类到一个体素中。同时,与稀疏环境中的点云相比,体素网格可能导致不必要的高内存使用,因为它们主动消耗内存来表示自由和未知空间,而点云仅包含已知点。

点云学习

PointNet

鉴于基于体素的方法存在这些问题,最近的工作主要集中在直接在原始点云上运行的架构上。最值得注意的是,Qi等人的PointNet(2016)是最早提出的处理这种形式的不规则三维数据的方法之一。然而,正如作者所指出的,点云只是一组由xyz位置以3D表示的点。更具体地说,给定在点云中,网络需要学习不变的独特功能输入数据的排列,因为馈入网络的点的排序不会影响基础几何。此外,网络应该对点云的变换具有鲁棒性-旋转,平移和缩放不应影响预测。

为了确保输入排序的不变性,PointNet背后的关键洞察力是使用简单的对称函数,为输入的任何排序产生一致的输出(此类函数中的示例包括加法和乘法)。在这种直觉的指导下,PointNet架构背后的基本模块(称为PointNetVanilla)定义如下:

这里是是一个对称函数,将输入点转换为维向量(用于对象分类)。这个功能可以近似,使得存在另一个对称函数,在等式中是一个多层感知器(MLP),它将各个输入点(及其相应的特征,如xyz位置,颜色,表面法线等)映射到更高维度的潜在空间。max-pooling操作用作对称函数,将学习的特征聚合到点云的全局描述符中。传递这个单一特征向量另一个输出对象预测的MLP。

为了解决学习对点云几何变换不变的表示的挑战,PointNet采用了一种称为T-Net的迷你网络,它将仿射变换应用于输入点云。这个概念类似于Jaderberg等人的空间变压器网络。但更简单,因为不需要定义新类型的图层。T-Net由可学习的参数组成,使PointNet能够将输入点云转换为固定的规范空间-确保整个网络即使是最轻微的变化也能保持稳健。

PointNet架构

整个PointNet架构将vanilla方法和T-Net与多个MLP层集成在一起,为层云创建特征表示。然而,除了对象分类之外,PointNet还支持对象和场景的语义分割。为实现此目的,该体系结构将来自最大池对称函数的全局特征向量与输入数据通过几个MLP后学习的每点特征相结合。通过连接这两个向量,每个点都知道其全局语义和本地特征,使网络能够学习更有意义的功能,以帮助进行分段。

使用PointNet的室内场景的语义分割结果

PointNet++

尽管PointNet取得了令人瞩目的成果,但其中一个主要缺点是架构无法捕获点邻域内的底层局部结构-这一想法类似于使用CNN从图像中增加感知域大小来提取特征。为了解决这个问题,齐等开发了PointNet++(2017),从PointNet架构衍生出来,但也能够在点云中学习本地区域的功能。这种方法背后的基础是一个分层特征学习层,它有三个关键步骤。它(1)采样点作为局部区域的质心,(2)基于距质心的距离对这些局部区域中的相邻点进行分组,以及(3)使用迷你PointNet对这些区域的特征进行编码。

逐步重复这些步骤,以便在点云内的不同大小的点组中学习特征。通过这样做,网络可以更好地理解整个点云中本地点集群内的底层关系-最终有助于提高泛化性能。这项工作的结果表明,PointNet++能够对包括PointNet在内的现有方法进行重大改进,并在3D点云分析基准测试(ModelNet40和ShapeNet)上实现了最先进的性能。

有希望的新研究领域—图CNN

目前关于处理三维数据的深度学习架构的研究主要集中在点云表示上,最近的大部分工作都是从PointNet/PointNet++扩展思路,并从其他领域中汲取灵感,以进一步提高性能。一篇这样的论文的例子是Wang等人的动态图形细胞神经网络(2018),其使用基于图的深度学习方法来改进点云中的特征提取。想法是PointNet和PointNet++无法捕获各个点之间的几何关系,因为这些方法需要保持不同输入排列的不变性。然而,通过考虑一个点并将它作为有向图周围的最近邻居,Wang等人。构造EdgeConv,一个在数据中的点之间生成唯一特征的运算符。

SPLATNet

SPLATNet架构

另一方面,一些研究已经远离PointNet/PointNet++中提出的经典特征提取方法,选择设计一种处理点云的新方法。苏等人的SPLATNet(2018)体系结构是点云研究中这一新焦点的一个很好的例子-作者设计了一种新颖的体系结构和卷积运算符,而不是直接在点云上运行。本文背后的关键见解是将“感受野”的概念转化为不规则点云,这使得即使在稀疏区域也能保留空间信息(PointNet/PointNet++的一个关键缺点)。特别令人着迷的是,SPLATNet可以将从多视图图像中提取的特征投影到3D空间中,将这些2D数据与端到端可学习架构中的原始点云融合在一起。使用这种2D-3D联合学习,SPLATNet实现了语义分割的最新技术。

FrustumPointNets

可视化从2D边界框估计生成的3D平截头体

第三个有希望的研究方向涉及扩展我们上面描述的基本架构构建块,以构建更复杂的网络,用于3D等物体检测等有用任务。基于使用2D和3D数据的想法,Qi等人的FrustumPointNets(2017)提出了一种融合RGB图像和点云的新方法,以提高在大型3D场景中定位对象的效率。用于该任务的常规方法通过直接在整个点云上对滑动窗口执行分类来确定对象的可能3D边界框,这在计算上是昂贵的并且使得实时预测变得困难。齐等人做出两个关键贡献。

首先,他们建议最初使用标准CNN在2D图像上进行物体检测,挤出对应于检测到的物体可能存在的点云区域的3D平截头体,然后仅对此“切片”执行搜索过程。点云。这显着缩小了边界框估计的搜索空间,降低了错误检测的可能性并大大加快了处理流水线,这对于自动驾驶应用至关重要。

其次,Qi等人不是在边界框搜索过程中执行典型的滑动窗口分类。设计一种新颖的基于PointNet的架构,可以直接执行实例分割(将点云分割成单个对象),并在一次通过中对整个3D平截头体进行边界框估计,使得它们的方法对于遮挡和稀疏性都快速且稳健。最终,作为这些改进的结果,这项工作在出版KITTI和SUNRGB-D3D检测基准时的表现优于所有先前的方法。

一点想法

在过去的5年中,3D深度学习方法已经从使用派生(多视图)到3D数据的原始(点云)表示。在此过程中,我们已经从简单适应2DCNN的方法转变为3D数据(多视图CNN甚至VoxNet),再到手工制作3D(PointNet和其他点云方法)的方法,大大提高了任务的性能喜欢对象分类和语义分割。这些结果很有希望,因为它们证实了在3D中观察和表现世界确实有价值。

然而,这一领域的进步才刚刚开始。当前的工作不仅侧重于提高这些算法的准确性和性能,还侧重于确保稳健性和可扩展性。虽然目前的大部分研究都是由自主车辆应用推动的,但直接在点云上运行的新方法将在3D医学成像、虚拟现实和室内地图中发挥重要作用。

THE END
1.福彩3d走势分析方法大全彩民可以通过3D彩票历史开奖数据手动计算出重号出现的概率,从而预测下一期的出号情况。 4.跨度分析法: 跨度指的是开奖号码中的最大号码与最小号码的差值,通过跟踪和分析3D彩票的历史开奖数据,彩民可以发现跨度的走势规律,得出跨度的常出数字,从而预计下一期开奖的跨度。https://res.17500.cn/arts/sdetail-10118236.html
2.抖音热点3d数据分析怎么做?在数据大屏上实现不难!3d数据分析3d开机号近100期_3d最近100期开机号_福彩3d开机号近100期_|3d开机号,王者超级触控下载-王者超级触控免费版下载9.1_5577安卓网|王者,下载,科普|“zztt42.ccm黑料不打烊”-快科技-\-科技改变未来|黑料不打烊,独家视频丨66m66成长模式视频 - 威九国际_世界就在眼前66m|66m66成长模式视频,威九国际,上课勃起http://m.ruhrg.com/v/video/483449_20241128.shtml
3.CTF实战数据包解题及思路数据包分析题在CTF中基本是必考题目,这类题目一般是给出一个pcap包文件,要求从中分析出Flag。 1.数据包解题方法及思路 数据包分析题在CTF中基本是必考题目,这类题目一般是给出一个pcap包文件,要求从中分析出Flag。有的简单,直接通过字符串检索就可以获取,有点需要破解密码,有的需要保存文件,虽然样式很多,但仍然有https://www.51cto.com/article/790160.html
4.JELLY写给大家看的数据分析思路(二)·分析方法在上一篇文章[写给大家看的数据分析思路(一)]中,着重介绍了数据分析6步的的前3步:构建X问题、提出假设&选择指标、数据采集与整理,这3步如果没有足够的数据处理经验,可能会耗费整个数据分析60%-70%的时间,但下面一个环节--数据分析,虽然耗时不如准备阶段那么多,却是所有环节中专业门槛最高、含金量最高的环节。https://jelly.jd.com/article/5e4b5afb01a3a70183dfa877
5.3d数据分析3D数据分析是一种新兴的技术,它能够将数据以3D形式呈现,使得数据更加直观、立体。通过3D数据分析,我们可以更好地理解和分析大量的数据,从而提高决策的准确性。本文将介绍3D数据分析的基本概念、应用场景、实现方式,以及它所带来的优势和挑战。https://aiqicha.baidu.com/qifuknowledge/detail?id=10058195794
6.2023年山东大众报业(集团)有限公司权属单位招聘岗位表2.具备财经类新闻新作能力,有敏锐的市场洞察力,有经营思路,具备策划、执行活动的能力,有良好的沟通能力及服务意识。 1 北京市 商务经理 负责客户渠道拓展和销售工作。 1.全日制本科及以上学历; 2.熟悉新闻类APP已有平台运营、数据分析、策略调整等,能够总结最佳广告变现投放方式; 3.具备客户信息收集、商务资源开拓、http://www.sdsgwy.com/article/html/5471952.html
7.tabby静态分析实践代码属性图生成阶段:如何抽象代码、如何分析代码的执行、如何设计图结构等等,这些设计细节、实现细节可以暂时不管,但要知道该阶段结束时生成的代码属性图是什么结构。查找代码属性图阶段:先了解 Neo4j 图数据库再看。1b 安装和运行参考文章 Neo4j 环境配置 V5,访问官网下载 dmg 安装包并自动下载 Neo4j 5.12.0,分别https://xz.aliyun.com/t/13233
8.全球碳盘点卫星遥感监测方法进展与挑战2019年第49届IPCC全会明确增加了基于卫星遥感的排放清单校验方法。欧盟、美国、日本、加拿大等正在大力发展温室气体排放的MVS(Monitoring and Verification Support)能力。本文调研分析了全球碳盘点对卫星遥感技术的需求,介绍了全球碳盘点卫星遥感的技术原理,梳理了温室气体卫星遥感、生态系统碳源汇卫星遥感估算、人为源碳排放http://www.jors.cn/jrs/article/html/202202001
9.许嘉宾–西安图谱云端信息技术有限公司申请方法如下:进入Jiabin Science Laboratory (嘉宾科学实验室)官方网站,点击“全球招募”,下载申请表格,根据申请要求完成申请。 五、医学、生物、机械设计和制造、统计学计算和分析软件 (1)3D Printing CAM数据整理软件:WPS-Excel、Microsoft Word-Excel、PPT、PDF https://www.mapsciencecloud.com/author/adminxujiabin
10.2D数据如何做出3D成果?基于GIS的空间分析与可视化展示丨城市数据派那么,如何才能用二维的数据做出三维的效果呢? arcscene的非典型用法 arcscene是美国esri公司开发的arcgis软件桌面系统3d分析扩展模块中的一部分,是一个适合于展示三维透视场景的平台,可以在三维场景中漫游并与三维矢量和栅格数据进行交互,比较https://mp.weixin.qq.com/s?__biz=MzA3OTU3ODgxNA==&mid=2650633612&idx=1&sn=c9b5c0945bf89ad74bd70d0de2df2152&chksm=87b8865db0cf0f4b9dac147e3dc17076a0a3267a5e528e39d2e4ede3ef5d46e94ea9df1076c1&scene=27
11.2022爱分析?人工智能应用实践报告在本报告中,爱分析基于大量调研和过往研究积累,从战略、数据、场景规划、应用解决方案开发、技术基础设施、组织和人才六个维度梳理出了目前人工智能在产业中落地面临的20个主要挑战。 评估AI应用成熟度,因地制宜推进智能化 智能化转型没有统一的路径和方法,不同企业在不同阶段面临的问题通常也各不相同。因此,企业在https://tech.china.com/article/20220302/032022_1021065.html
12.wechatspider3.3.1 anyroxy代码及思路讲解打开\node-v6.11.0-win-x64_wechat\node_modules\anyproxy\lib\rule_default.js 查看replaceServerResDataAsync方法,通过该方法,可以劫持服务端到客户端的数据,处理入库,然后篡改数据再给客户端。代码如下: replaceServerResDataAsync: function(req,res,serverResData,callback){ thttps://github.com/tigercm/wechat-spider-1/blob/b50fd735f41c05955101bbb92f4429620f7b1069/README.md
13.科学网—车辆再识别技术综述第3节对现有的车辆再识别研究进行分类,对传统的车辆再识别方法进行简短地总结与回顾,从解决问题的着手点出发,详细地介绍基于深度学习的车辆再识别方法。第 4 节介绍具有代表性的车辆再识别数据集,并对取得优异性能的方法进行比较和分析。第 5 节对车辆再识别技术面临的挑战和研究趋势进行总结和展望。https://blog.sciencenet.cn/blog-951291-1232372.html