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