曲线之间的相似性度量?

机器算法验证 多重比较 相似之处 曲线 procrustes-分析
2022-01-22 23:40:56

我想计算两组有序点之间的相似性度量——用户下的点与教师下的点的比较:

![示例](http://i50.tinypic.com/2uj0580.jpg)

这些点是 3D 空间中的曲线,但我认为如果我将它们绘制成 2 维,如图中所示,问题会得到简化。如果点重叠,相似度应该是 100%。

4个回答

您正在比较轨迹曲线这是一个研究课题。正如 EMS 所说,Procrustes 分析动态时间扭曲是行业的工具。对齐曲线后,您将要测量距离,例如Fréchet 距离如果您想分享您的一些数据,我们可以自己进行破解。

相关阅读:

如果您忽略时间维度:

您可以让用户和教师适应多元高斯密度并找到他们产品的体积——这很容易。如果您想要更高的准确性,您可以改用非参数密度估计。

您可能会考虑Procrustes distance或基于动态时间扭曲的某个距离(即使您的维度之一本身不是“时间”,您仍然可以使用这种转换思想)。请参阅最近在 Tracklets上的工作,了解动态时间扭曲的说明性用例,用于测量视频中由点轨迹雕刻的 3D 空间曲线之间的相似性。

有许多内置 Procrustes 距离计算的库,例如 Matlab,或 Python 的PyGeometry库。

原始帖子要求提供 3D 中的 ORDERED 点之间的度量。唯一这样的度量标准是 Frechet 距离。没有提到时间作为维度之一,所以我假设所有维度都有距离单位(即单位没有混合)。这可以通过修改最近上传到 MathWorks 文件交换的函数来完成(Frechet 距离计算: http: //www.mathworks.com/matlabcentral/fileexchange/38714)。这些例程是为平面中的点编写的,但对 3D 点的扩展很简单。

Hausdorff 距离可能是您正在寻找的。Hausdorff 两个点集 $X$ 和 $Y$ 之间的距离定义为,$d_H(X, Y) = \max \{\sup_{x \in X} \inf_{y \in Y} ||x - y ||, \sup_{y \in Y} \inf_{x \in X} ||x - y||\}$。