- RANSAC
-
RANSAC — (аббр. RANdom SAmple Consensus) стабильный метод оценки параметров модели на основе случайных выборок. Схема RANSAC устойчива к зашумлённости исходных данных. Метод был предложен в 1981 году Фишлером и Боллесом.
Часто возникает задача обработки данных, в которой необходимо определить параметры модели, которая должна удовлетворять исходным данным. Все исходные данные можно разделить на два типа: хорошие точки, удовлетворяющие модели, «не-выбросы» или «инлаеры» (англ. inlier) и ложные точки, шумы — случайные включения в исходные данные, «выбросы» или «аутлаеры» (англ. outlier).
Содержание
Пример
Рассмотрим простейший пример работы алгоритма: вписывание прямой в 2D точки. Принимая тот факт, что среди данных есть выбросы, оценка параметров стандартным способом, например, методом наименьших квадратов, приведёт к тому, что будет вычислена неверная модель, так как модель строится на основе всех точек. Метод RANSAC берёт за основу только две точки необходимые для построения прямой и с их помощью строит модель, после чего проверяет, какое количество точек соответствует модели, используя функцию оценки с заданным порогом.
Описание алгоритма
На вход алгоритма поступает:
- набор исходных данных
- функция , позволяющая вычислить параметры модели по набору данных из точек
- функция оценки соответствия точек полученной модели
- порог для функции оценки
- количество итераций метода
Весь алгоритм состоит из одного цикла, каждую итерацию которого можно логически разделить на два этапа.
- Первый этап — выбор точек и подсчёт модели.
- Из множества исходных точек случайным образом выбираются n различных точек.
- На основе выбранных точек вычисляются параметры модели с помощью функции , построенную модель принято называть гипотезой.
- Второй этап — проверка гипотезы.
- Для каждой точки проверяется её соответствие данной гипотезе с помощью функции оценки и порога
- Каждая точка помечается инлаером или выбросом
- После проверки всех точек, проверяется, является ли гипотеза лучшей на данный момент, и если является, то она замещает предыдущую лучшую гипотезу.
В конце работы цикла оставляется последняя лучшая гипотеза.
Результатом работы метода являются:
- Параметры модели
- Точки исходных данных, помеченные инлаерами или выбросами.
Оценка исходных данныx
Значение параметра должно быть определено в зависимости от конкретных требований, зависящих от данных, в большинстве случаев, только после экспериментальных оценок. Количество итераций может быть определено до выполнения алгоритма методом теоретической оценки. Пусть — вероятность того, что алгоритм RANSAC на некоторой итерации, выбирая точек, на основе которых строится модель, возьмёт для расчётов из исходного набора данных только инлаеры. В такой ситуации построенная по данным точкам модель, с большой вероятностью будет достаточно точной. Исходя из этого, мы можем использовать вероятность p для оценки точности работы алгоритма. Пусть — вероятность выбора одного инлаера из общего числа точек, то есть (количество инлаеров)/(общее число точек) В большинстве случаев доля инлаеров неизвестна до начала выполнения алгоритма, но практически всегда можно дать некоторую грубую оценку. Вероятность независимого выбора n инлаеров из исходных данных, в таком случае равна , а вероятность того, что хотя бы одна точка из набора выброс, то есть что будет построена некорректная модель — . Вероятность того, что за итераций алгоритм ни разу не выберет инлаеров — , такая ситуация означает, что точная модель не будет построена, а вероятноть этого события равна . Таким образом
Выразим необходимое нам количество итераций k
У этой оценки есть один очевидный недостаток: все точки выбираются независимо, что недопустимо для реальной работы алгоритма. Например, в случае вписывания линии в исходный набор данных (показано на рисунке выше) алгоритм RANSAC выбирает две точки на каждой итерации и вычисляет модель как линию между точками, в этом случае крайне важно, чтобы две точки различны. Исходя из этого, можно использовать как верхнюю оценку количество итераций метода.Преимущества и недостатки алгоритма RANSAC
Преимуществом алгоритма RANSAC является его способность дать надёжную оценку параметров модели, то есть возможность оценить параметры модели с высокой точностью, даже если в исходном наборе данных присутствует значительное количество выбросов.
Одним из недостатков метода RANSAC является отсутствие верхней границы времени, необходимого для вычисления параметров модели. Если использовать в качестве некоторой границы времени максимальное число итераций, полученное решение может быть не оптимальным, а также существует очень малая вероятность, что ни одна модель не будет соответствовать исходным данным. Точная модель может быть определена с некоторой вероятностью, которая становится больше, чем больше итераций, которые используются. Ещё одним недостатком метода RANSAC является то, что для выполнения алгоритма необходимо задать конкретное пороговое значение. Наконец методом RANSAC можно определить только одну модель для определённого набора данных. Как и для любого подхода, предназначенного для одной модели, существует следующая проблема: когда в исходных данных присутствуют две (или более) модели, RANSAC может не найти ни одну.
Применение
Алгоритм RANSAC часто используется в компьютерном зрении, например, для решение задачи сопоставления изображений и оценки фундаментальной матрицы, для определения параметров расположения камеры.
Ссылки
- Martin A. Fischler and Robert C. Bolles (June 1981). «Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography». Comm. Of the ACM 24: 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 (1997). «The Development and Comparison of Robust Methods for Estimating the Fundamental Matrix». International Journal of Computer Vision 24: 271–300. DOI:10.1023/A:1007927408552.
- Ondrej Chum (2005), "«Two-View Geometry Estimation by Random Sample and Consensus»", PhD Thesis, <http://cmp.felk.cvut.cz/~chum/Teze/Chum-PhD.pdf>
- Антон Конушин, "«Устойчивые алгоритмы оценки параметров модели на основе случайных выборок»", Компьютерная графика и мультимедиа, <http://cgm.computergraphics.ru/content/view/47>
На эту статью не ссылаются другие статьи Википедии. Пожалуйста, воспользуйтесь подсказкой и установите ссылки в соответствии с принятыми рекомендациями.Категории:- Факторный анализ
- Вычислительная математика
- Алгоритмы
- Компьютерное зрение
Wikimedia Foundation. 2010.