Основы компьютерного зрения — RANSAC

искусственный интеллект компьютерное зрение OpenCV

Введение

К предыдущей статье -Объясните процесс получения «основной матрицы» за одну минуту, как надежно оценить существенную или фундаментальную матрицу? Именно этому посвящена данная статья.

Основные методы решения матриц в основном включают:

  1. прямое линейное преобразование
  • 8-точечный метод
  • Наименьших квадратов
  1. Надежный метод на основе RANSAC.

Во-первых, краткое введение в метод прямого линейного преобразования:

Примечание:Три уравнения, отмеченные тремя красными линиями, эквивалентны.

В ходе вышеуказанного анализаЕсли n>=8, является ли решение методом наименьших квадратов оптимальной оценкой?

Далее мы сосредоточимся на этом вопросе.

Две надежные оценки

2.1 Надежное определение

Надежный: чувствительность к шуму данных.

Для приведенной выше выборки, если есть выбросы (далекие от правильного значения), это повлияет на фактический эффект оценки.

2.2 RANSAC — Случайная согласованная выборка

RANSAC в основном решает проблему выбросов в выборке и может обрабатывать до 50% выбросов.

Основная идея:RANSAC достигает своей цели, многократно выбирая случайное подмножество данных. Предполагается, что выбранные подмножества являются точками в офисе и проверяются следующим образом:

  1. Есть модель, подходящая для гипотетической внутриофисной точки, т.е. все неизвестные параметры можно вычислить от гипотетической внутриофисной точки.
  2. Используйте модель, полученную в 1, для проверки всех остальных данных, и, если точка соответствует оценочной модели, считайте ее также служебной точкой.
  3. Если достаточное количество очков классифицируется как гипотетические внутриигровые очки, то оценочная модель является достаточно разумной.
  4. Затем переоцените модель со всеми гипотетическими игровыми точками, поскольку она была оценена только по исходным гипотетическим игровым точкам.
  5. Наконец, модель оценивается путем оценки частоты ошибок между вставками и моделью.

Этот процесс повторяется определенное количество раз, и каждый раз полученная модель либо отбрасывается, потому что у нее слишком мало внутриигровых очков, либо выбирается потому, что она лучше существующих моделей.

2.png

Вышеупомянутые шаги кратко резюмируются следующим образом:

3.png

Например:Использование RANSAC — подгоночные линии

4.png

5.png

6.png

7.png

8.png

9.png

2.3 О связанных функциях RANSAC, используемых в OpenCV

  1. solvePnPRansac
  2. findFundamentalMat