RANSAC
RANSAC (аббр. RANdom SAmple Consensus) — стабильный метод оценки параметров модели на основе случайных выборок. Схема RANSAC устойчива к зашумлённости исходных данных. Метод был предложен в 1981 году Фишлером и Боллесом.
Часто возникает задача обработки данных, в которой необходимо определить параметры модели, которая должна удовлетворять исходным данным. Все исходные данные можно разделить на два типа: хорошие точки, удовлетворяющие модели, «не-выбросы» или «инлаеры» (англ. inlier) и ложные точки, шумы — случайные включения в исходные данные, «выбросы» или «аутлаеры» (англ. outlier).
Пример[править | править код]
Рассмотрим простейший пример работы алгоритма: вписывание прямой в 2D точки. Принимая тот факт, что среди данных есть выбросы, оценка параметров стандартным способом, например, методом наименьших квадратов, приведёт к тому, что будет вычислена неверная модель, так как модель строится на основе всех точек. Метод RANSAC берёт за основу только две точки необходимые для построения прямой и с их помощью строит модель, после чего проверяет, какое количество точек соответствует модели, используя функцию оценки с заданным порогом.
-
Набор данных, в который надо вписать прямую. выбросы присутствуют в большом количестве.
-
Предложенная алгоритмом RANSAC прямая. выбросы не влияют на результат.
Описание алгоритма[править | править код]
На вход алгоритма поступает:
- набор исходных данных
- функция , позволяющая вычислить параметры модели по набору данных из точек
- функция оценки соответствия точек полученной модели
- порог для функции оценки
- количество итераций метода
Весь алгоритм состоит из одного цикла, каждую итерацию которого можно логически разделить на два этапа.
- Первый этап — выбор точек и подсчёт модели.
- Из множества исходных точек случайным образом выбираются n различных точек.
- На основе выбранных точек вычисляются параметры модели с помощью функции , построенную модель принято называть гипотезой.
- Второй этап — проверка гипотезы.
- Для каждой точки проверяется её соответствие данной гипотезе с помощью функции оценки и порога
- Каждая точка помечается инлаером или выбросом
- После проверки всех точек, проверяется, является ли гипотеза лучшей на данный момент, и если является, то она замещает предыдущую лучшую гипотезу.
В конце работы цикла оставляется последняя лучшая гипотеза.
Результатом работы метода являются:
- Параметры модели
- Точки исходных данных, помеченные инлаерами или выбросами.
Оценка исходных данныx[править | править код]
Значение параметра должно быть определено в зависимости от конкретных требований, зависящих от данных, в большинстве случаев, только после экспериментальных оценок. Количество итераций может быть определено до выполнения алгоритма методом теоретической оценки. Пусть — вероятность того, что алгоритм RANSAC на некоторой итерации, выбирая точек, на основе которых строится модель, возьмёт для расчётов из исходного набора данных только инлаеры. В такой ситуации построенная по данным точкам модель, с большой вероятностью будет достаточно точной. Исходя из этого, мы можем использовать вероятность p для оценки точности работы алгоритма. Пусть — вероятность выбора одного инлаера из общего числа точек, то есть , где — количество инлаеров, — общее число точек. В большинстве случаев доля инлаеров неизвестна до начала выполнения алгоритма, но практически всегда можно дать некоторую грубую оценку. Вероятность независимого выбора n инлаеров из исходных данных, в таком случае равна , а вероятность того, что хотя бы одна точка из набора выброс, то есть что будет построена некорректная модель — . Вероятность того, что за итераций алгоритм ни разу не выберет инлаеров — , такая ситуация означает, что точная модель не будет построена, а вероятноть этого события равна . Таким образом
Выразим необходимое нам количество итераций k
Преимущества и недостатки алгоритма RANSAC[править | править код]
Преимуществом алгоритма RANSAC является его способность дать надёжную оценку параметров модели, то есть возможность оценить параметры модели с высокой точностью, даже если в исходном наборе данных присутствует значительное количество выбросов.
Одним из недостатков метода RANSAC является отсутствие верхней границы времени, необходимого для вычисления параметров модели. Если использовать в качестве некоторой границы времени максимальное число итераций, полученное решение может быть не оптимальным, а также существует очень малая вероятность, что ни одна модель не будет соответствовать исходным данным. Точная модель может быть определена с некоторой вероятностью, которая становится больше, чем больше итераций, которые используются. Ещё одним недостатком метода RANSAC является то, что для выполнения алгоритма необходимо задать конкретное пороговое значение. Наконец методом RANSAC можно определить только одну модель для определённого набора данных. Как и для любого подхода, предназначенного для одной модели, существует следующая проблема: когда в исходных данных присутствуют две (или более) модели, RANSAC может не найти ни одну.
Применение[править | править код]
Алгоритм RANSAC часто используется в компьютерном зрении, например, для решения задачи сопоставления изображений и оценки фундаментальной матрицы для определения параметров расположения камеры.
Ссылки[править | править код]
- Martin A. Fischler and Robert C. Bolles. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography (англ.) // Comm. Of the ACM : journal. — 1981. — June (vol. 24). — P. 381—395. — doi:10.1145/358669.358692.
- David A. Forsyth and Jean Ponce. Computer Vision, a modern approach (неопр.). — Prentice Hall, 2003. — ISBN ISBN 0-13-085198-1.
- Richard Hartley and Andrew Zisserman Multiple View Geometry in Computer Vision (англ.). — 2nd. — Cambridge University Press, 2003.
- P.H.S. Torr, and D.W. Murray. The Development and Comparison of Robust Methods for Estimating the Fundamental Matrix (англ.) // International Journal of Computer Vision : journal. — 1997. — Vol. 24. — P. 271—300. — doi:10.1023/A:1007927408552.
- Ondrej Chum (2005), "Two-View Geometry Estimation by Random Sample and Consensus" (PDF), PhD Thesis, Архивировано из оригинала (PDF) 16 августа 2009, Дата обращения: 30 мая 2010 Архивная копия от 16 августа 2009 на Wayback Machine
- Антон Конушин, "Устойчивые алгоритмы оценки параметров модели на основе случайных выборок", Компьютерная графика и мультимедиа Архивная копия от 30 января 2009 на Wayback Machine