Мне нужно отслеживать свободно движущийся деформируемый объект в видео (но только в 2D-пространстве). На протяжении всего видео объект движется с различной скоростью, а иногда даже в состоянии покоя (от нескольких минут до нескольких минут). Во время видео объект отслеживает части своего пути (подпути) или отслеживает пути очень близко к более ранним путям (или подпутям). Скажем, объект движется от p0 .... p100 (две отдельные точки). Здесь p0, p1, ..., p100 представляют положения объектов в (x, y) пиксельных координатах в соответствующие моменты времени.
Предполагая, что ближайший путь обозначен через p0 ', p1' .... p100 '(где p0', p1 '.. и т. Д. Находятся в пределах 13x13 окрестности p0, p1 .. и т. Д.), Если объект однажды проследил позиции p6, p7, p8, p9, p10, p11, p12, p13, p14, когда он отслеживает p8 ', p9', p10 ', p11', мы можем сказать, что он проследовал ближайший путь.
Выходной файл для видео дает текстовый файл (или CSV-файл), который будет содержать номер кадра и (x, y) позиции, скорость и ускорение объекта в этом кадре. В видео около 4000 кадров.
Как узнать, сколько раз это поведение происходило (найти общее количество повторных проходов объекта и ближайших путей), а также количество кадров, которое потребовалось объекту для завершения подпутей или ближайших путей каждый время, когда он отслеживал подпуть или ближайший путь (например, для подпути от p2 до p20, объект может проследить подпуть от p3 до p7 в 3 кадрах, а затем вернуться от p3 к p7 в 8 кадрах (при перемещении в более медленная скорость) и восстановите p4 к p11 в 6 кадрах (с большей скоростью)).