Сравните сходство сущностей разной длины в IDL

Итак, у меня есть массив объектов. Каждый объект имеет вектор координат x и y в пикселях.

Мне нужно эффективно пройти и сравнить их друг с другом и сказать, что это одно и то же. (Они распределены по нескольким временным рамкам, поэтому существует разная длина, и в каждой точке может быть разница в пару пикселей)

Что я сделал до сих пор, и это работает нормально, так это эффективно нарисовал прямоугольник вокруг текущего цикла, а затем сравнил будущие временные рамки. Получите объекты с этим относительным положением. (с некоторым избытком по бокам для учета движения)

Затем я вычисляю евклидово расстояние между двумя объектами. Для некоторых это работает нормально, но пропускает кадры и иногда включает фиктивные результаты.

Чтобы попытаться противодействовать этому, я вычисляю взаимную корреляцию координат, а затем использую это как смещение в более длинном массиве при вычислении евклидова.

Однако, похоже, это работает не так хорошо, как я надеялся, и благодаря исследованиям я понимаю, что евклидов может быть не лучшим способом.

В идеале я хочу получить рейтинг сходства между ними и иметь возможность сказать: «Да, это тот же объект в более позднее время».

Что люди предлагают?


person IainS    schedule 18.06.2013    source источник
comment
Ваш вопрос не ясен. Что такое кадры? Что такое текущая петля?   -  person sds    schedule 24.06.2013


Ответы (2)


Похоже, вы пытаетесь определить, могут ли несколько наборов координат времени/пространства (также известных как «дорожки») соответствовать одному и тому же объекту. В некоторых кругах это известно как "отслеживание объектов", по которому имеется немало литературы (например, Отслеживание объекта: Обзор - CRCV - Университет Центральной Флориды). Этот документ указывает на другую литературу, в которой могут объясняться различные алгоритмы прогнозирования будущих местоположений объектов.

Я думаю, что вы хотите сделать, это экстраполировать известные точки во времени/пространстве, чтобы вы могли сравнивать точки в заданное время. (Евклидово расстояние может подойти.) В вашей функции расстояния вы, вероятно, захотите взвесить сравнение «предсказанных» местоположений меньше, чем для сравнения фактических (захваченных) местоположений.

Надеюсь, я не неправильно истолковал ваши намерения.

person kc2001    schedule 26.06.2013
comment
Это хорошо, спасибо. Я не сталкивался с этим конкретным произведением литературы. Моя проблема в том, что я реализовал евклидово расстояние между точками реального времени/пространства. Однако может быть изрядное количество движений и перекрытий объектов между кадрами, и я нахожу некоторые (улучшающиеся) фиктивные результаты. Какие-либо предложения? - person IainS; 26.06.2013
comment
Можете ли вы предоставить конкретный, краткий пример проблемы, или это потребует слишком большого количества данных? - person kc2001; 27.06.2013
comment
Слишком много данных. Я постараюсь дать краткое описание: Допустим, у меня есть 10 таймфреймов, и, допустим, всего 50 объектов на этих кадрах. Возьмем объект А из первого кадра. Я хочу перейти к следующему кадру и посмотреть, есть ли там объект А. Что мои решения в настоящее время делают, с оговоркой. Объекты могут перемещаться и накладываться друг на друга между кадрами. то есть объект A может быть на 5 пикселей левее того места, где он был в последнем кадре, и, что особенно важно, объект B мог переместиться, так что он имеет более близкое евклидово расстояние до объекта A из предыдущего кадра, чем фактический объект A. - person IainS; 27.06.2013

Я думаю, вам следует организовать свои данные в виде дерева k-d.

person sds    schedule 24.06.2013