RANSAC

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 25 de febrero de 2020; la verificación requiere 1 edición .

RANSAC ( abreviado como RANdom SAmple Consensus ) es un método estable para estimar los parámetros del modelo basado en muestras aleatorias . El esquema RANSAC es resistente a datos de entrada ruidosos. El método fue propuesto en 1981 por Fischler y Bolles.

A menudo hay una tarea de procesamiento de datos en la que es necesario determinar los parámetros del modelo, que deben satisfacer los datos iniciales. Todos los datos iniciales se pueden dividir en dos tipos: puntos buenos que satisfacen el modelo, “non-outliers” o “inlayers” ( inglés  inlier ) y puntos falsos, los ruidos son inclusiones aleatorias en los datos originales, “outliers” o “outlayers” ( Inglés  ) .outlier

Ejemplo

Considere el ejemplo más simple de cómo funciona el algoritmo: inscribir una línea recta en un punto 2D . Suponiendo que hay valores atípicos en los datos, la estimación de parámetros de forma estándar, como los mínimos cuadrados , dará como resultado que se calcule un modelo incorrecto, ya que el modelo se construye a partir de todos los puntos. El método RANSAC toma como base solo dos puntos necesarios para construir una línea recta y construye un modelo con su ayuda, después de lo cual verifica cuántos puntos corresponden al modelo utilizando una función de estimación con un umbral dado.

Descripción del algoritmo

La entrada del algoritmo es:

  1. conjunto de datos inicial
  2. una función que le permite calcular los parámetros del modelo a partir de un conjunto de datos de puntos
  3. función para evaluar la correspondencia de puntos con el modelo resultante
  4. umbral para la función de evaluación
  5. número de iteraciones del método

Todo el algoritmo consta de un ciclo, cada iteración del cual se puede dividir lógicamente en dos etapas.

Al final del ciclo, queda la última mejor hipótesis.

Los resultados del método son:

  1. Parámetros del modelo
  2. Puntos de datos de origen etiquetados con capas o valores atípicos.

Evaluación de datos iniciales

El valor del parámetro debe determinarse según los requisitos específicos según los datos, en la mayoría de los casos, solo después de evaluaciones experimentales. El número de iteraciones se puede determinar antes de ejecutar el algoritmo mediante estimación teórica. Sea  la probabilidad de que el algoritmo RANSAC en alguna iteración , eligiendo los puntos en los que se basa el modelo, tome solo capas internas del conjunto de datos inicial para los cálculos. En tal situación, es probable que el modelo construido a partir de estos puntos sea bastante preciso. Con base en esto, podemos usar la probabilidad p para estimar la precisión del algoritmo. Sea  la probabilidad de elegir una capa interna del número total de puntos, es decir , donde es el número de capas internas y es el número total de puntos. En la mayoría de los casos, el porcentaje de capas internas no se conoce antes de que comience el algoritmo, pero casi siempre se puede hacer una estimación aproximada. La probabilidad de una elección independiente de n capas internas de los datos iniciales, en este caso, es , y la probabilidad de que al menos un punto del conjunto sea un valor atípico, es decir, que se construya un modelo incorrecto, es . La probabilidad de que durante las iteraciones el algoritmo nunca seleccione las capas internas es , esta situación significa que no se construirá el modelo exacto y la probabilidad de este evento es . De este modo

Expresemos el número de iteraciones que necesitamos k

Ventajas y desventajas del algoritmo RANSAC

La ventaja del algoritmo RANSAC es su capacidad para brindar una estimación confiable de los parámetros del modelo, es decir, la capacidad de estimar los parámetros del modelo con alta precisión, incluso si hay una cantidad significativa de valores atípicos en el conjunto de datos original.

Una de las desventajas del método RANSAC es la ausencia de un límite superior en el tiempo requerido para calcular los parámetros del modelo. Si usamos el número máximo de iteraciones como límite de tiempo, la solución resultante puede no ser óptima, y ​​también hay una probabilidad muy pequeña de que ningún modelo coincida con los datos originales. Se puede determinar un modelo exacto con una cierta probabilidad que aumenta cuantas más iteraciones se utilicen. Otra desventaja del método RANSAC es que es necesario establecer un valor de umbral específico para ejecutar el algoritmo. Finalmente, el método RANSAC puede determinar solo un modelo para un conjunto de datos en particular. Al igual que con cualquier enfoque de modelo único, existe un problema: cuando dos (o más) modelos están presentes en los datos de entrada, es posible que RANSAC no encuentre ninguno.

Aplicación

El algoritmo RANSAC se usa a menudo en visión por computadora , por ejemplo, para resolver el problema de la coincidencia de imágenes y la estimación de matriz fundamental para determinar los parámetros de posición de la cámara.

Enlaces