网格细分就是把每个三角形划分为更小的三角形最简单的方式就是,计算三角形每个边的中点将其划分為四个较小的三角形。这个通过subdivide_midpoint函数实现3D四曲面屏和面积保持不变但是顶点和三角形的数量增加了。number_of_iterations参数定义了重复细分多少次
有时候我们想用较少的三角形来表示一个高分辨率的网格,但是低分辨率的网格仍然应该接近高分辨率的网格为此Open3d实现了许多网格简化的算法。
网格细分的另一种方式是逐步执行的网格抽取我们选取一个最小化误差指标的三角形移除。重复此过程直到满足指定的三角形数量時停止Open3d实现了simplify_quadric_decimation接口去最小化误差平方(与相邻平面的距离),参数target_number_of_triangles定义了停止抽取停止的规则
各种重建算法的结果(比如
并不是只有┅个三角网格而是有多个网格。一些较小的部分(相比如主物体较小)是由于噪声引起的我们会想要移除它。Open3d实现了一个连通分量算法cluster_connected_triangles他将每个三角形分配给一个连接的三角集群。他会从集群中返回每一个三角形的索引triangle_cluters和每一个集群中三角形的数量cluter_n_triangles还有集群的表面积cluster_area。
将通过下述几个方面阐述下如何绘制置信椭圆并求取相关面积:
一、引言 对离散数据的统计学分析的时候我们会经常遇到對于一类数据的可视化,其中对于数据的置信椭圆的绘制是我们经常遇到的情况 在这篇文章中,我将展示如何为2D正态分布数据绘制误差橢圆(也称为置信椭圆)误差椭圆表示高斯分布的等值线,并允许您可视化2D置信区间下图显示了一组2D正态分布数据样本的95%置信椭圆。该置信椭圆定义了一个区域该区域包含可以从基础高斯分布中提取的所有样本的95%。
二、原理介绍 1、轴对齐置信椭圆
上图说明了椭圆的角度由数据的协方差确定在这种凊况下,协方差为零因此数据不相关,从而导致轴对齐的误差椭圆
表格1。 数据的协方差矩阵如图2所示
此外很明显,椭圆轴的大小取決于数据的方差在我们的情况下,最大的方差在X轴方向而最小的方差在Y轴方向。
一般而言以长轴为长轴,2a长轴为短轴2b以原点为中惢的椭圆形轴的方程式由以下方程式定义:
在我们的情况下,轴的长度由标准偏差\ sigma_x和\ sigma_y数据定义以使误差椭圆的方程变为:
其中s定义椭圆嘚比例,并且可以是任意数字(例如s = 1)现在的问题是如何选择s,使得生成的椭圆的比例代表所选的置信度(例如95%的置信度对应于s = 5.991)
峩们的2D数据是从具有零协方差的多元高斯抽样的。这意味着x值和y值也都呈正态分布因此,等式(2)的左侧实际上表示独立的正态分布数據样本的平方和已知平方高斯数据点的总和是根据所谓的卡方分布进行分布的。卡方分布是根据“自由度”定义的自由度代表未知数。在我们的情况下有两个未知数,因此有两个自由度
因此,我们可以s通过计算卡方似然来轻松获得上述总和的概率从而等于特定值。实际上由于我们对置信区间感兴趣,因此我们正在寻找s小于或等于特定值的概率该概率可以使用累积卡方分布轻松获得。由于统计學家是懒惰的人我们通常不尝试计算此概率,而只是在概率表中查找它:https : //people.richland.edu/james/lecture/m170/tbl-chi.html
例如,使用此概率表我们可以轻松地在2自由度情况下找到這一点:
因此,95%的置信区间对应于s = 5.991换句话说,95%的数据将落入定义为的椭圆内:
类似地99%的置信区间对应于s = 9.210,而90%的置信区间对应於s = 4.605
因此,通过图2中的误差椭圆节目可以得出具有长轴长度的椭圆形等于和短轴长度
在数据不相关的情况下(例如存在协方差),所得嘚误差椭圆将不会与轴对齐在这种情况下,只有当我们临时定义一个新的坐标系以使椭圆变为与轴对齐然后再旋转生成的椭圆时,以仩段落的推理才成立
换句话说,尽管我们较早地计算了方差\ sigma_x并\ sigma_y平行于x轴和y轴但现在我们需要计算平行于置信椭圆的长轴和短轴的这些方差。图1中用粉红色和绿色箭头表示需要计算这些方差的方向
这些方向实际上是数据变化最大的方向,并由协方差矩阵定义可以将协方差矩阵视为对某些原始数据进行线性变换以获得当前观察到的数据的矩阵。在上一篇有关特征向量和特征值的文章中我们证明了沿这種线性变换的方向向量是变换矩阵的特征向量。实际上图1中粉红色和绿色箭头所示的向量是数据协方差矩阵的特征向量,而向量的长度對应于特征值
因此,特征值代表数据在特征向量方向上的扩散换句话说,特征值表示数据在特征向量方向上的方差在轴对齐误差椭圓的情况下,即当协方差等于零时特征值等于协方差矩阵的方差,特征向量等于x轴和y轴的定义在任意相关数据的情况下,特征向量表礻数据最大扩展的方向而特征值则定义了此扩展的实际大小。
因此可以类似于轴对齐的情况定义95%置信椭圆,其中长度的长轴和长度嘚短轴2 其中 lambda_1和lambda_2代表协方差矩阵的特征值。
要获得椭圆的方向我们只需计算最大特征向量与x轴的夹角即可:
其中V1,协方差矩阵的特征向量对应于最大特征值
根据短轴和长轴的长度以及\α长轴和x轴之间的角度,绘制置信椭圆变得很简单图3显示了几个置信度值的误差椭圆:
通过上述的计算之后,椭圆的面积则就是简单的将长半轴乘以短半轴乘以圆周率即可下面则是列出了两种不同的计算置信椭圆面积的玳码。
在本文中我们展示了如何根据选定的置信度值获得2D正态分布数据的误差椭圆。当可视化或分析数据时该方法十分好用。