Разница кадров для нестатической камеры

Я пытаюсь обнаружить движение на видео, снятом нестатической камерой, в данном случае БПЛА. то, что я планировал сделать, это удалить эффект движения камеры, выровняв кадры настолько, насколько они перекрываются, а затем сделать простое различие. Вот что я сделал — я использовал SURF, чтобы получить совпадающие точки между кадрами — я передал эти точки гомографии, чтобы получить матрица H - я обернул новый кадр с помощью H * все сделано с использованием openCV * для экономии вычислительной мощности и времени я использовал маску с SURF, маска 4 квадрата по одному в каждом углу

эта концепция отлично работает для статического изображения, но в видео завернутый кадр дает странные результаты! иногда хорошо иногда плохо

https://www.youtube.com/watch?v=WKVoUR_-DFw @00:34


person Karam Abo Ghalieh    schedule 04.11.2015    source источник
comment
похоже, что ваше сопоставление не удалось. вы должны проверить свою вычисленную гомографию перед деформацией.   -  person Micka    schedule 04.11.2015
comment
ты смотрел видео? в одних кадрах выравнивается, а в других нет, не могу понять в чем проблема   -  person Karam Abo Ghalieh    schedule 04.11.2015
comment
в некоторых кадрах, где это не соответствует вашей гомографии, вероятно, это не так. Вы должны проанализировать соответствие от изображения к изображению, чтобы найти ошибку (визуально отобразить соответствие и показать, какие ключевые точки использовались для вычисления гомографии и т. д.). Вероятно, вы увидите, что неверные соответствия точек использовались для вычисления гомографии в случаях, когда выравнивание не удалось.   -  person Micka    schedule 04.11.2015
comment
Я прошел кадр за кадром и нарисовал совпадающие точки, они точны!   -  person Karam Abo Ghalieh    schedule 06.11.2015
comment
опубликуйте соответствующие изображения и преобразования, пожалуйста   -  person Micka    schedule 06.11.2015
comment
могут ли 3-4 балла из 20-40 сделать несоответствие? для нескольких масок каждая из них имеет небольшую площадь, а затем объединяет вектор совпадающих точек   -  person Karam Abo Ghalieh    schedule 07.11.2015
comment
если они выбраны в функции findHomography, то определенно да! Используйте параметр маски, чтобы проанализировать это. см. docs.opencv.org/2.4/modules /calib3d/doc/   -  person Micka    schedule 07.11.2015
comment
проверьте эту ссылку, чтобы проверить, в порядке ли ваша гомография: в opencv">stackoverflow.com/questions/10972438/   -  person Micka    schedule 07.11.2015
comment
3-4 из 20-40 не должны влиять на оценку гомографии, если вы используете RANSAC, поскольку он имеет точку останова около 0,5, что теоретически означает, что половина точек может быть повреждена. Получаете ли вы разные результаты, если используете CV_LMEDS или обычный 0 (наименьший квадрат) для разрешения гомографии?   -  person Tobias Senst    schedule 08.11.2015
comment
CV_LMEDS и метод 0 всегда дают плохую гомографию, RANSAC дает наилучшую   -  person Karam Abo Ghalieh    schedule 10.11.2015
comment
Я заметил, что использование масок с SURF или SIFT дает очень плохую производительность   -  person Karam Abo Ghalieh    schedule 18.11.2015