好的,我有一个对象数组。每个对象都有一个x和y坐标向量,以像素为单位。
我需要有效地通过并相互比较它们并说它们是相同的。 (它们分布在几个时间范围内,因此长度存在差异,每个点可能有几个像素差异)
到目前为止,我所做的工作还可以有效地在当前循环周围绘制一个框,然后比较未来时间框架。获取具有该相对位置的对象。 (在两侧有一些过剩以考虑移动)
然后我计算两个物体之间的欧几里德距离。这对某些人来说没问题,但是错过了帧,并且偶尔会出现虚假结果。为了尝试反作用,我计算坐标的互相关,然后在计算欧几里德时将其用作较长数组的偏移量。
然而,这似乎并不像我希望的那样好,通过研究我明白欧几里德可能不是最好的方法。
理想情况下,我想要两者之间的相似性评级,并且能够说“是的,这是以后的同一个对象”
人们建议什么?
答案 0 :(得分:1)
听起来你正在试图确定多个时间/空间坐标集合(a.k.a“轨迹”)是否可能对应于同一个对象。这在一些圈子中被称为“对象跟踪”,其中存在大量文献(例如,Object Tracking: A Survey - CRCV - University of Central Florida)。该文件指出了其他文献,这些文献可以解释用于预测物体未来位置的各种算法。
我认为您想要做的是推断时间/空间中的已知点,以便您可以在给定时间比较点。 (欧几里德距离可能没问题。)在距离函数中,您可能希望将“预测”位置的比较加权,而不是比较实际(捕获)位置的比较。
我希望我没有误解你的意图。
答案 1 :(得分:0)
我认为您应该将数据整理为k-d tree。