Я використовую алгоритм RANSAC для оцінки гомографії між парами зображень, зроблених камерами, які не мають перекладу між ними (чисте обертання та зміна масштабу / масштабування). Це добре працює в половині випадків. Правильний вихід виглядає приблизно так:
Червоні лінії є відфільтрованими відповідностями, а чотирикутники ілюструють, як гомографія спотворює перспективу.
Однак іноді трапляється багато поганих випадків, таких як:
У мене вже є простий тест в циклі RANSAC. Він складає простий чотирикутник (одиничний квадрат) і перетворює його на зразок перетворення. Потім виглядає, чи зберегла трансформація свою опуклість.
Однак все ж виходять пучки увігнутих чотирикутників.
Чи маєте ви якесь уявлення, як правильно перевірити гомографію, якщо вона поводиться «красиво» і відфільтрувати неправильні рішення?
Я знайшов якийсь код, де вони перевіряють, що жодна з трьох перетворених точок не є колінеарною. Але це не здається достатнім, оскільки воно не відфільтрує дельтоїди та інші "недійсні" чотирикутники ...