Я пытаюсь написать простую процедуру отслеживания, чтобы отслеживать некоторые моменты в фильме.
По сути, у меня есть серия видеороликов длиной в 100 кадров, в которых показаны яркие пятна на темном фоне. У меня есть ~100-150 точек на кадр, и они перемещаются по ходу фильма. Я хотел бы отслеживать их, поэтому я ищу какую-то эффективную (но, возможно, не излишнюю для реализации) процедуру для этого.
Еще немного информации:
- пятна имеют размер в несколько (например, 5x5) пикселей
- движения не большие. Пятно обычно не перемещается более чем на 5-10 пикселей от своего исходного положения. Движения в целом плавные.
- «форма» этих пятен обычно фиксирована, они не увеличиваются и не уменьшаются, НО становятся менее яркими по ходу фильма.
- пятна не двигаются в определенном направлении. Они могут двигаться вправо, затем влево, а затем снова вправо
- пользователь будет выбирать область вокруг каждой точки, а затем эта область будет отслеживаться, поэтому мне не нужно автоматически находить точки.
Поскольку видео черно-белые, я думаю, что должен полагаться на яркость. Например, я думал, что могу перемещаться по региону и вычислять корреляцию площади региона в предыдущем кадре с площадью в различных позициях в следующем кадре. Я понимаю, что это довольно наивное решение, но как вы думаете, оно может сработать? Кто-нибудь знает конкретные алгоритмы, которые это делают? Это не должно быть сверхбыстрым, пока это точно, я счастлив.
Спасибо
Нико