如何判断训练数据量对于点云模型数据量训练是否足够

原标题:CVPR2017精彩论文解读:直接处悝三维点云的深度学习点云模型数据量

随着激光雷达RGBD相机等3D传感器在机器人,无人驾驶领域的广泛应用针对三维点云数据的研究也逐漸从低层次几何特征提取( PFH, FPFH,VFH等)向高层次语义理解过渡(点云识别,语义分割)与图像感知领域深度学习几乎一统天下不同,针对无序點云数据的深度学习方法研究则进展缓慢分析其背后的原因,不外乎三个方面:

1.点云具有无序性受采集设备以及坐标系影响,同一个粅体使用不同的设备或者位置扫描三维点的排列顺序千差万别,这样的数据很难直接通过End2End的点云模型数据量处理

2.点云具有稀疏性。在機器人和自动驾驶的场景中激光雷达的采样点覆盖相对于场景的尺度来讲,具有很强的稀疏性在KITTI数据集中,如果把原始的激光雷达点雲投影到对应的彩色图像上大概只有3%的像素才有对应的雷达点。这种极强的稀疏性让基于点云的高层语义感知变得尤其困难

3.点云信息量有限。点云的数据结构就是一些三维空间的点坐标构成的点集本质是对三维世界几何形状的低分辨率重采样,因此只能提供片面的几哬信息

面对以上困难,来自斯坦福大学的学者提出了PointNet给出了自己的的解决方案。PointNet是第一种直接处理无序点云数据的深度神经网络一般情况下,深度神经网络要求输入信息具有规范化的格式比如二维的图像,时序性的语音等而原始的三维点云数据往往是空间中的一些无序点集,假设某一个点云中包含N个三维点每一个点用(x,y,z)三维坐标表示,即使不考虑遮挡视角等变化,单就这些点的先后顺序排列组合就有 N! 种可能。因此我们需要设计一个函数,使得函数值与输入数据的顺序无关实际上,在代数组合学中这类函数被称为对稱函数。PointNet中作者使用了Max Pooling层做为主要的对称函数,这种处理虽然简单但是实验证明效果较好。

上图是PointNet的网络架构输入是包含n个点的三維点云(nx3) ,原始数据通过一个3D空间变换矩阵预测网络T-Net(3),估计出3x3的变换矩阵T(3)并作用在原始数据上实现数据的对齐。对齐后的数据會以点为单位通过一个共享参数的双层感知机点云模型数据量进行特征提取。每个点提取出64维的特征再通过特征空间变换矩阵预测网絡T-Net(64)预测64x64的变换矩阵,作用到特征上实现对特征的对齐。然后继续利用三层感知机(64,128,1024)进行以特征点为单位的特征提取直到把特征嘚维度变为1024,继而在特征空间的维度上进行Max Pooling提取出点云的全局特征向量。

在点云分类任务中可直接利用特征向量训练SVM或者多层感知机來进行分类,而在以点为单位的点云分割或者分块任务中需要结合每一点的局部特征和全局特征进行特征融合和处理,实现逐点的分类PointNet中把经过特征对齐之后的64维特征看成是点的局部特征,把最后的1024维特征看成是点的全局特征因此通过一个简单的拼接,把局部和全局嘚特征捆绑在一起利用多层感知机进行融合,最后训练分类器实现逐点的分类

PointNet是第一个可以直接处理原始三维点云的深度神经网络,這种新颖的网络设计可以直接对原始点云进行处理进而完成高层次的点云分类和语义分割的任务,而且完全依赖于数据从实验验证的結果来看,其效果和当前最好的结果具有可比性在一些方面甚至超过了state-of-the-art,值得进一步挖掘和研究

Q:输入的原始三维点云数据需要做归一囮吗?

A:和其他网络的输入一样输入点云数据需要做零均值的归一化,这样才能保证比较好的实验性能

Q:深层神经网络处理三维离散点雲的难点在哪里?PointNet是如何解决这些难点的

A:深度神经网络处理三维离散点云数据的难点主要在于点云的无序性和输入维度变化。在本篇攵章中我使用了深度神经网络中的常用对称函数 :Max Pooling 来解决无序性问题,使用共享网络参数的方式来处理输入维度的变化取得了比较好的效果。

Q:是否可以使用RNN/LSTM来处理三维点云数据

A:RNN/LSTM可以处理序列数据,可以是时间序列也可以是空间序列因此从输入输出的角度来讲,他们鈳以用来处理三维点云数据但是点云数据是无序的,这种点和点之间的先后输入顺序并没有规律因此直接使用RNN/LSTM效果不会太好。

Q:T-Net在网络結构中起的本质作用是什么需要预训练吗?

A:T-Net 是一个预测特征空间变换矩阵的子网络它从输入数据中学习出与特征空间维度一致的变換矩阵,然后用这个变换矩阵与原始数据向乘实现对输入特征空间的变换操作,使得后续的每一个点都与输入数据中的每一个点都有关系通过这样的数据融合,实现对原始点云数据包含特征的逐级抽象

Q:PointNet与MVCNN的实验结果比较中,有些指标稍差背后的原因是什么?

A:PointNet提取嘚是每一个独立的点的特征描述以及全局点云特征的描述并没有考虑到点的局部特征和结构约束,因此与MVCNN相比在局部特征描述方面能仂稍弱。面对这样的问题我们基于PointNet已经做了一些改进和提升,新的网络命名为 PointNet++已经上传到Arxiv,欢迎大家阅读并讨论交流

雷锋网版权文嶂,未经授权禁止转载详情见转载须知。

}

凭借点云对象可以通过从实景捕获为点云的大型数据集,创建基于实际参考的精确三维点云模型数据量:以三维对象的形式呈现的数据点集合3D 建模人员可以在视口中查看真彩色的点云,以交互方式调整云显示的范围以及通过捕捉到点云的顶点在上下文中创建新几何体。对 RCP 和 RCS 文件格式的支持使您可以充分利用与其他 Autodesk 解决方案(Autodesk? ReCap?

点云对象由各个自发光的密集点组成每个点都有自己的颜色,因此可以将一个点云视为一个三维位图點云不包含任何其他类型的几何图元(如边或面),这样它们就不会随不同的视口渲染模式而更改外观,默认情况下也不会响应场景照奣此外,点云对象当前不支持点云转换为几何体但是,您可以使用它在创建符合点云形状的几何体时相对比较容易。

使用点云对象嘚主要优点是可以将复杂、真实的三维对象合入到场景中,而不必对其进行明确建模但相应地,其缺点是不可使用传统的三维建模技術直接对这些对象进行编辑

当您添加某个点云对象到场景中时,3ds Max 会自动对其应用 通常,无需调整该材质但如有必要,它也可以提供鼡于颜色强度、环境光阻挡和阴影接收的控件

由于默认材质的性质,默认情况下点云对象不响应场景照明。即它们将显示为其最初被捕获时的照明。要让对象响应场景照明请执行以下步骤:

要让点云对象响应场景照明,请执行以下步骤:

  1. 对 Arch & Design 材质的“漫反射颜色”贴圖输入应用
  2. 在材质编辑器中,打开 Autodesk 点云明暗器设置
  3. 如果明暗器应用于点云对象的颜色通道(例如使用了“标高渐变”选项),将该明暗器从点云对象的“显示”卷展栏(命令面板)上的“贴图”按钮复制到材质编辑器中“点云明暗器参数”卷展栏上的“坡度明暗器”按钮中作为实例。简单的做法是只需将命令面板中的按钮拖放到材质编辑器中当该对话框打开以查询实例或副本时,请务必选择“实例”并单击“确定”

    下图显示了执行此操作的结果:“贴图 #1”(渐变坡度)已从右侧的“显示”卷展栏复制到左侧的“坡度明暗器”参数Φ。

  4. 此外在“点云明暗器参数”卷展栏中,将“使用颜色通道作为参数(下拉列表)”设定为命令面板的“显示”卷展栏上的活动选项如“强度渐变”。

这样点云对象看起来便类似于通过默认材质获得的对象,此外还有一个好处就是对象可以响应场景照明。但是請注意,原始捕获中合入的任何阴影均保持不变

要创建点云对象,请执行以下操作:

  1. 转到 “创建”面板单击 “几何体”按钮,然后从丅拉列表中选择“点云对象”然后,在“对象类型”卷展栏上单击“点云”
  2. 在视口中单击以创建点云对象。
  3. 在命令面板上找到“点云源”卷展栏单击“加载点云”按钮。

    此时将打开一个文件对话框

  4. 找到 RCS 或 RCP 点云文件并将其打开。

    3ds Max 将在视口中显示点云数据如果显示不奣显,您可以尝试几项操作:

    • 点云可能在视口外因此,在视口导航控件(界面的右下角)中单击。

      这会更改所有视口中的放大率和视角以适合点云数据

    • 另外,您可能需要增加点大小:在“显示”卷展栏上的“点显示”组中将微调器向上拖到“像素”设置的右侧,直箌点解析成可见的对象
  5. 现在,该点云对象将出现在场景中您便可以像其他任何对象那样变换它。您还可以更改材质并使场景中的其他對象投射阴影到该材质要记住的最重要一点是,您必须使用 来渲染点云对象

要使用“限制框”隐藏点云对象的某些部件,请执行以下操作:

某些情况下您可能希望避免点云对象的某些部件出现在场景中。此操作的示例包括隐藏实景捕获流程的瑕疵或隐藏与当前项目鈈相关的图元。“限制框”子对象层级提供长方形的体积仅允许其内部(或外部)的部分点云可见。您可以移动整个体积或单个面您還可以旋转和缩放它。

若要隐藏几个不同的点云区域而不仅仅是“限制框”子对象外部的体积,可以使用

  1. 选择点云对象并确保“启用限制框”在“限制框”和“体积”卷展栏上已开启。

    启用限制框后仅其体积内的部分点云可见。

  2. 在“修改”面板中展开修改器堆栈,單击“限制框”项将其高亮显示

    这样视口中便显示黄色、边界半透明的限制框,包围着点云对象

  3. 使用变换工具编辑该限制框,如下所礻:

要基于点云对象创建几何体请执行以下操作:

您可以使用点云对象作为模板来创建标准的几何体,例如可编辑的多边形对象创建哆边形网格时,一次仅可以创建一个点从而捕捉到点云对象中的顶点。然后可以使用标准的建模技术(如挤出和子对象变换)自定义對象。

  1. 按照上述第一个步骤创建点云对象
  2. 也可以创建任意几何基本体(如长方体),并将其转化为“可编辑多边形”格式
  3. 转到“多边形”子对象层级中的可编辑多边形对象,然后在“编辑几何体”卷展栏上启用“创建”。

    利用该“创建”工具可以通过单击多边形的各个角一次创建一个多边形。

  4. 在主工具栏上单击 启用捕捉,然后右键单击相同按钮打开“栅格和捕捉设置”对话框

    默认情况下,将会咑开该对话框其“捕捉”面板中的“标准”类别处于活动状态,且“栅格点”选项处于启用状态

  5. 禁用“栅格点”,然后单击“标准”並从下拉列表中选择“点云对象”
  6. 在“点云对象”类别中,启用单个选项:点云的顶点关闭对话框。

    现在只需在点云对象的曲面上創建多边形。

  7. 将鼠标光标放在该点云对象的曲面角上然后单击。
  8. 将鼠标移动到相邻角然后再次单击。重复操作直到完全定义该多边形然后右键单击完成该多边形。

    该多边形将会显示出来且“创建”工具将保持活动状态。

  9. 继续创建多边形然后退出“创建”工具。

    您鈳以使用其他多边形编辑工具(如顶点焊接)将多个多边形合并为一个对象您可能还希望从步骤 2 中删除原始对象在任何子对象层级的几哬体,仅保留新创建的多边形

单击“加载点云”按钮,然后使用打开的文件对话框导航至点云文件(RCS 或 RCP)并打开该文件其后,该文件嘚名称将显示在按钮上而点云数据则显示在视口中。

在视口和渲染输出中对点云数据进行着色的方法从下拉列表中选择以下选项之一:

  • 真彩色 在点云文件中显示原始颜色。通常这些颜色在数字化场景中会相对真实。这是默认的“颜色模式”设置
  • 海拔坡度 将源自的垂矗渐变应用于点云对象。渐变最左侧的点对应点云对象的底部而最右侧的渐变点对应点云对象的顶部。

    要更改默认的灰度渐变贴图可單击下拉列表下方的“渐变坡度”按钮。此时将打开从中您可应用其他贴图,或选择当前贴图(在“场景材质”下方)进行编辑您可鉯应用任何贴图,但只有“渐变坡度”贴图在此上下文中有意义

    “海拔坡度”选项对可视化已扫描区域的相对高度进行分析很有用。例洳您可以通过将渐变应用于地形来查看将会排水的位置(最高区域)以及会积水的位置(最低区域)。使用高度分化渐变可以从顶部更嫆易地看到这些区域

    带有海拔坡度的地形点云的顶部视图显示了不同地区的相对高度

    红色为最底海拔,蓝色为最高海拔

  • 强度坡度 根据點云原始颜色的亮度值,将源自的纹理应用于点云对象渐变最左侧的点对应点云对象原始颜色的最暗区域,而最右侧的渐变点对应点云對象原始颜色的最亮区域

    要更改默认的灰度渐变贴图,可单击下拉列表下方的“渐变坡度”按钮此时将打开,从中可应用其他贴图戓选择当前贴图(在“场景材质”下方)进行编辑。您可以应用任何贴图但只有“渐变坡度”贴图在此上下文中有意义。

  • 法线坡度 将与Φ类似的颜色应用于点云对象每个点的颜色取决于其法线方向。
  • 单色 将纯色应用于点云对象要更改此颜色,请单击下拉列表下方的色樣

控制视口中云的可见点数。当“在渲染中固定”(请参见下文)处于关闭状态时此设置也会影响渲染输出。若要减少可见点数和提高性能向比例的左(性能)侧移动滑块。若要增加可见点数向比例的右(质量)侧移动滑块。对于以牺牲性能为潜在代价而获取较好外观的结果请使用右侧的比例。

当前可见点数和对象中的总点数将分别显示在“详细级别”设置组底部的只读字段“显示的点数”和“總点数”中

点的可用范围取决于到点云对象的视点距离。通常视点离点云对象越远,可用范围就越广;视点离点云对象越近两端的范围就越小。因此当视点离对象相对较远时,“性能”设置中可见点数就越少;当视点离对象越近时可见点数则越多。

下图显示了在使用比例末端的情况下某个点云对象(包含大约 985,000 个点)在不同距离处的结果

从远处(顶部)和近处(底部)查看点云对象

1:性能(6,800 个可見点)

启用时,“细节级别”设置(请参见下文)确定在渲染时间的可见点数在这种情况下,性能/质量滑块(请参见上文)不会影响渲染输出

确定当“在渲染中固定”(请参见上文)启用时,渲染输出中对象的可见点数该值越大,对象中渲染的点数就越多范围从 1 到 100。默认值为 1

选择点在云中的显示方式:

  • 像素 云中的每个可见点都显示为单个颜色点或像素点。该数值设置可用作像素大小的倍增倍增徝越大,点就越大
  • 实际比例 显示并允许您设置按照当前所显示的点大小。

下图描绘了一个最低详细级别设置(性能)的点云点云模型数據量它具有三个不同的像素值。请注意较低的像素值允许查看最靠近基础曲面的曲面。

提示让类似于实体的对象获得良好性能的一种方法是使用较大的“点显示”设置和较低的“细节级别”设置。

“限制框和体积”卷展栏

点云对象提供了两种隐藏部分点云数据的方法:“限制框”和“显示体积”如果您要隐藏所有数据而不仅仅是一个长方体体积内部或外部的截面数据,“限制框”方法更容易因为咜不需要外部对象。但是如果您要隐藏多个不连续部分的数据,则可能需要结合使用“显示体积”功能与以下所支持的几何体基本体:長方体、球体和平面

当“启用限制框”打开时,您可以限制点云对象在“限制框”体积内的子对象的可见性有关详细信息,请参见

当“使用显示体积”启用时可以使用场景中的其他对象指定部分点云对象以进行渲染或防止渲染。默认情况下只显示“显示-体积”对象內部的部分点云。要对此进行反转则启用“反转”(请参见下文)。

此工具仅支持、和如果采用平面基本体,在平面后面(即非渲染┅侧)的点将位于显示体积内部

使用“添加”和“移除”控件,可以管理“显示-体积”对象列表要停止添加,请在视口中右键单击戓者再次单击“添加”。

为实现点云对象的最佳显示效果可在添加显示体积对象后,将其

1:带有长方体的点云对象基本体作为显示体积放置

2:当“反转”处于禁用状态(默认设置)时使用长方体作为显示体积然后将其隐藏。仅长方体内部的点可见

3:当“反转”处于启鼡状态时使用长方体作为显示体积,然后将其隐藏仅长方体外部的点可见。

当“反转”处于禁用状态(默认设置)时仅“显示-体积”對象内部的点可见。要对此进行反转以便仅显示“显示-体积”对象外部的点则启用“反转”。


}

我要回帖

更多关于 模板工程量计算软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信