Algorithm 如何从随机点识别椭圆/椭球?未加权平均数?

Algorithm 如何从随机点识别椭圆/椭球?未加权平均数?,algorithm,geometry,average,image-recognition,montecarlo,Algorithm,Geometry,Average,Image Recognition,Montecarlo,假设我们得到的是二维(或三维)中的随机点,这些点倾向于在椭圆(或椭球)上。我们不能保证点在椭圆(椭球面)上均匀分布 任务是确定椭圆(椭球)参数,即中心位置和半轴 我们不能取平均数,因为它是加权的。我的意思是,若点来自椭圆的一侧,平均值会给出错误的结果 因此,问题是如何UN-weight平均值 更新 我认为在椭圆的情况下,参数可以由统计量如矩来确定。他们能吗?椭圆上的任何一点都会遵循这个方程 x^2/a^2+y^2/b^2=1 如果你有两个这样的点,它应该可以用联立方程法求解任何椭圆都可以用5个点

假设我们得到的是二维(或三维)中的随机点,这些点倾向于在椭圆(或椭球)上。我们不能保证点在椭圆(椭球面)上均匀分布

任务是确定椭圆(椭球)参数,即中心位置和半轴

我们不能取平均数,因为它是加权的。我的意思是,若点来自椭圆的一侧,平均值会给出错误的结果

因此,问题是如何
UN-weight
平均值

更新


我认为在椭圆的情况下,参数可以由统计量如矩来确定。他们能吗?

椭圆上的任何一点都会遵循这个方程 x^2/a^2+y^2/b^2=1
如果你有两个这样的点,它应该可以用联立方程法求解

任何椭圆都可以用5个点完全定义(参见详细的推理)。因此,如果您知道这些点是无误差的,并且在椭圆上,您可以获取集合中的任意5个点,并获得椭圆参数

如果这些点可能有一个误差分量,那么可以使用类似梯度下降的方法在数据集上拟合一个椭圆。作为误差函数,我将使用数据点和椭圆之间距离的平方和。例如,对于每个数据点,你可以采用它定义的直线和当前椭圆中心,将它与椭圆相交,并考虑从点到最接近的2个交点的距离。
最后,一个Matlab软件包实现了这些方面的功能。函数文档也提供了丰富的信息。

看起来像一个例子。根据数据和要求,可能有不同的方法。某种简单的遗传算法可能会起作用。相关问题:是否所有的点都已知在曲线/曲面上,或者这像是一个图像分析问题,首先需要确定要包括哪些点?该方程仅适用于椭圆的轴为x和y时,但情况可能并非如此。这个问题明确指出参数是未知的。我最近实现了类似的东西,所以我可以确认它在原则上是有效的。我有嘈杂的数据落在任意三维椭球体的一部分上。我创建了一个3x4矩阵,将椭球体转换为单位球体,初始化为单位矩阵,并以循环方式对每个矩阵系数使用梯度下降。作为误差,我使用了单位长度转换样本的差值。如果我的初始数据跨越一个“足够大”的椭球面,它会正确地收敛到一个稳定、合理的拟合上。这并不快,但作为一个概念的证明,它是有效的。