El algoritmo de caminante aleatorio es un algoritmo para la segmentación de imágenes . En la primera descripción del algoritmo, [ 1 ] un usuario etiqueta interactivamente un pequeño número de píxeles con etiquetas conocidas (llamadas semillas), por ejemplo, "objeto" y "fondo". Se imagina que cada píxel sin etiquetar libera un caminante aleatorio, y se calcula la probabilidad de que el caminante aleatorio de cada píxel llegue primero a una semilla con cada etiqueta; es decir, si un usuario coloca K semillas, cada una con una etiqueta diferente, entonces es necesario calcular, para cada píxel, la probabilidad de que un caminante aleatorio que salga del píxel llegue primero a cada semilla. Estas probabilidades se pueden determinar analíticamente resolviendo un sistema de ecuaciones lineales. Después de calcular estas probabilidades para cada píxel, el píxel se asigna a la etiqueta para la cual es más probable que envíe un caminante aleatorio. La imagen se modela como un grafo , en el que cada píxel corresponde a un nodo que está conectado a los píxeles vecinos por aristas, y las aristas están ponderadas para reflejar la similitud entre los píxeles. Por lo tanto, el paseo aleatorio ocurre en el grafo ponderado (ver Doyle y Snell para una introducción a los paseos aleatorios en grafos [ 2 ] ).
Aunque el algoritmo inicial se formuló como un método interactivo para la segmentación de imágenes, se ha ampliado para convertirse en un algoritmo totalmente automático, dado un término de fidelidad de datos (por ejemplo, un prior de intensidad). [ 3 ] También se ha extendido a otras aplicaciones.
El algoritmo fue publicado inicialmente por Leo Grady como un artículo de conferencia [ 4 ] y posteriormente como un artículo de revista. [ 1 ]
Matemáticas
Aunque el algoritmo se describió en términos de caminatas aleatorias , la probabilidad de que cada nodo envíe un caminante aleatorio a las semillas se puede calcular analíticamente resolviendo un sistema disperso y definido positivo de ecuaciones lineales con la matriz laplaciana del grafo , que podemos representar con la variableSe demostró que el algoritmo se aplica a un número arbitrario de etiquetas (objetos), pero la explicación aquí se basa en dos etiquetas (para simplificar la exposición).
Supongamos que la imagen está representada por un grafo , donde cada nodoasociado a un píxel y a cada bordeconectar píxeles vecinosyLos pesos de los bordes se utilizan para codificar la similitud de los nodos, que puede derivarse de diferencias en la intensidad de la imagen, el color, la textura o cualquier otra característica significativa. Por ejemplo, utilizando la intensidad de la imagen.en el nodoEs común utilizar la función de ponderación de bordes.
Los nodos, las aristas y los pesos se pueden utilizar para construir la matriz laplaciana del grafo .
El algoritmo de caminante aleatorio optimiza la energía
dónderepresenta una variable de valor real asociada a cada nodo del grafo y la optimización está restringida porparaypara, dóndeyrepresentan los conjuntos de semillas de primer plano y fondo, respectivamente. Si dejamosrepresentan el conjunto de nodos que se siembran (es decir,) yrepresentan el conjunto de nodos no sembrados (es decir,dóndees el conjunto de todos los nodos), entonces el óptimo del problema de minimización de energía viene dado por la solución a
donde los subíndices se utilizan para indicar la porción de la matriz laplaciana del gráfico.indexados por los conjuntos respectivos.
Para incorporar términos de probabilidad (unarios) en el algoritmo, se demostró en [ 3 ] que se puede optimizar la energía.
para matrices diagonales positivasyLa optimización de esta energía conduce al sistema de ecuaciones lineales.
El conjunto de nodos sembrados,, puede estar vacío en este caso (es decir,), pero la presencia de las matrices diagonales positivas permite una solución única para este sistema lineal.
Por ejemplo, si se utilizan los términos de probabilidad/unarios para incorporar un modelo de color del objeto, entoncesrepresentaría la confianza de que el color en el nodopertenecería al objeto (es decir, un valor mayor deindica mayor confianza en quepertenecía a la etiqueta del objeto) yrepresentaría la confianza de que el color en el nodopertenece al fondo.
Interpretaciones de algoritmos
El algoritmo de caminante aleatorio se motivó inicialmente al etiquetar un píxel como objeto/fondo basándose en la probabilidad de que un caminante aleatorio lanzado a ese píxel alcanzara primero una semilla de objeto (primer plano) o una semilla de fondo. Sin embargo, existen varias otras interpretaciones de este mismo algoritmo que han aparecido en [ 1 ] .
Interpretaciones de la teoría de circuitos
Existen conexiones bien conocidas entre la teoría de circuitos eléctricos y los paseos aleatorios en grafos. [ 5 ] En consecuencia, el algoritmo del paseo aleatorio tiene dos interpretaciones diferentes en términos de un circuito eléctrico. En ambos casos, el grafo se considera un circuito eléctrico en el que cada arista se reemplaza por una resistencia lineal pasiva . La resistencia,, asociado con el bordese establece igual a(es decir, el peso del borde es igual a la conductancia eléctrica ).
En la primera interpretación, cada nodo asociado con una semilla de fondo,, está vinculado directamente al suelo mientras que cada nodo está asociado con un objeto/semilla de primer plano,está conectado a una fuente de voltaje ideal de corriente continua unitaria conectada a tierra (es decir, para establecer un potencial unitario en cada). Los potenciales de circuito eléctrico en estado estacionario establecidos en cada nodo por esta configuración de circuito serán exactamente iguales a las probabilidades del caminante aleatorio. Específicamente, el potencial eléctrico,en el nodoserá igual a la probabilidad de que un caminante aleatorio haya caído en el nodollegará a un objeto/nodo de primer plano antes de llegar a un nodo de fondo.
En la segunda interpretación, etiquetar un nodo como objeto o fondo mediante un umbral de probabilidad de caminante aleatorio de 0,5 equivale a etiquetarlo como objeto o fondo en función de la conductancia efectiva relativa entre el nodo y las semillas de objeto o fondo. Específicamente, si un nodo tiene una conductancia efectiva mayor (menor resistencia efectiva) con las semillas de objeto que con las semillas de fondo, entonces se etiqueta como objeto. Si un nodo tiene una conductancia efectiva mayor (menor resistencia efectiva) con las semillas de fondo que con las semillas de objeto, entonces se etiqueta como fondo.
Extensiones
El algoritmo tradicional de caminante aleatorio descrito anteriormente se ha ampliado de varias maneras:
- Caminatas aleatorias con reinicio [ 6 ]
- Matting alfa [ 7 ]
- Selección de umbral [ 8 ]
- Entradas suaves [ 9 ]
- Ejecutar sobre una imagen presegmentada [ 10 ]
- Paseo aleatorio en el espacio de escalas [ 11 ]
- Caminante aleatorio rápido que utiliza precomputación fuera de línea [ 12 ] [ 13 ]
- Caminatas aleatorias generalizadas que permiten funciones de compatibilidad flexibles [ 14 ]
- Cuencas hidrográficas de potencia que unifican cortes de grafos, caminante aleatorio y camino más corto [ 15 ]
- Cuencas hidrográficas de caminantes aleatorios [ 16 ]
- Campo aleatorio condicional gaussiano multivariado [ 17 ]
Aplicaciones
Más allá de la segmentación de imágenes, el algoritmo de caminante aleatorio o sus extensiones se han aplicado además a varios problemas en visión artificial y gráficos:
- Colorización de imágenes [ 18 ]
- Rotoscopia interactiva [ 19 ]
- Segmentación de imágenes médicas [ 20 ] [ 21 ] [ 22 ]
- Fusión de múltiples segmentaciones [ 23 ]
- Segmentación de malla [ 24 ] [ 25 ]
- Eliminación de ruido de malla [ 26 ]
- Edición de segmentación [ 27 ]
- Eliminación de sombras [ 28 ]
- Correspondencia estéreo (es decir, registro de imágenes unidimensionales ) [ 29 ]
- Fusión de imágenes [ 14 ] [ 17 ]
Referencias
- 1 2 3 Grady, L.: " Paseos aleatorios para la segmentación de imágenes ". PAMI, 2006
- ↑ P. Doyle, JL Snell: Paseos aleatorios y redes eléctricas, Asociación Matemática de América, 1984
- 1 2 Leo Grady: " Segmentación de imágenes Multilabel Random Walker usando modelos previos ", Proc. de CVPR, Vol. 1, pp. 763–770, 2005.
- ↑ Leo Grady, Gareth Funka-Lea: Segmentación de imágenes multietiqueta para aplicaciones médicas basada en potenciales eléctricos basados en la teoría de grafos , Actas del 8.º Taller ECCV sobre Enfoques de Visión por Computadora para el Análisis de Imágenes Médicas y Métodos Matemáticos en el Análisis de Imágenes Biomédicas, págs. 230–245, 2004.
- ↑ PG Doyle, JL Snell: Paseos aleatorios y redes eléctricas, Carus Mathematical Monographs, 1984
- ↑ TH Kim, KM Lee, SU Lee: Segmentación generativa de imágenes mediante paseos aleatorios con reinicio , Actas de ECCV 2008, págs. 264–275
- ↑ J. Wang, M. Agrawala, MF Cohen: Soft Scissors: una herramienta interactiva para el enmascaramiento de alta calidad en tiempo real. Archivado el 27/06/2021 en Wayback Machine , Actas de SIGGRAPH 2007.
- ↑ S. Rysavy, A. Flores, R. Enciso, K. Okada: Criterios de clasificabilidad para el refinamiento de la segmentación de caminatas aleatorias , Actas de ICPR 2008
- ↑ W. Yang, J. Cai, J. Zheng, J. Luo: Segmentación interactiva de imágenes fácil de usar mediante entradas combinatorias unificadas del usuario , IEEE Trans. on Image Proc., 2010
- ↑ C. Chefd'hotel, A. Sebbane: Caminata aleatoria y propagación frontal en grafos de adyacencia de cuencas hidrográficas para la segmentación de imágenes multietiqueta , Actas de ICV 2007
- ↑ R. Rzeszutek, T. El-Maraghi, D. Androutsos: Segmentación de imágenes mediante paseos aleatorios en el espacio de escalas , Actas de la 16.ª conferencia internacional sobre procesamiento digital de señales, págs. 458–461, 2009
- ↑ L. Grady, AK Sinop, " Segmentación rápida aproximada de caminantes aleatorios mediante precomputación de vectores propios ". En IEEE Conf. CVPR, págs. 1–8, 2008
- ↑ S. Andrews, G. Hamarneh, A. Saad. Caminante aleatorio rápido con priors usando precomputación para segmentación interactiva de imágenes médicas , Actas de MICCAI 2010
- 1 2 R. Shen, I. Cheng, J. Shi, A. Basu: Caminatas aleatorias generalizadas para la fusión de imágenes de múltiples exposiciones , IEEE Trans. on Image Processing, 2011.
- ↑ Camille Couprie, Leo Grady, Laurent Najman y Hugues Talbot, " Power Watersheds: A Unifying Graph-Based Optimization Framework ", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33, n.º 7, págs. 1384-1399, julio de 2011
- ↑ S. Ram, JJ Rodriguez: Random Walker Watersheds: A New Image Segmentation Approach , en IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), pp. 1473-1477, Vancouver, Canadá, mayo de 2013
- 1 2 R. Shen, I. Cheng, A. Basu: Fusión de múltiples exposiciones basada en QoE en CRF gaussiano multivariado jerárquico , IEEE Trans. on Image Processing, 2013.
- ↑ X. Liu, J. Liu, Z. Feng: Colorización mediante segmentación con recorrido aleatorio , Análisis informático de imágenes y patrones, págs. 468–475, 2009
- ↑ R. Rzeszutek, T. El-Maraghi, D. Androutsos: Rotoscopia interactiva mediante paseos aleatorios en el espacio de escalas , Actas de la conferencia internacional IEEE de 2009 sobre multimedia y exposiciones
- ↑ SP Dakua, JS Sahambi: Extracción del contorno del ventrículo izquierdo a partir de imágenes de resonancia magnética cardíaca mediante un enfoque de recorridos aleatorios , Revista Internacional de Tendencias Recientes en Ingeniería, Vol. 1, No. 3, mayo de 2009
- ↑ F. Maier, A. Wimmer, G. Soza, JN Kaftan, D. Fritz, R. Dillmann: Segmentación automática del hígado mediante el algoritmo Random Walker, Bildverarbeitung für die Medizin 2008
- ↑ P. Wighton, M. Sadeghi, TK Lee, MS Atkins: Segmentación totalmente automática mediante el algoritmo Random Walker para lesiones cutáneas en un entorno supervisado , Actas de MICCAI 2009
- ↑ P. Wattuya, K. Rothaus, JS Prassni, X. Jiang: Un enfoque basado en caminantes aleatorios para combinar múltiples segmentaciones , Actas de ICPR 2008
- ↑ Y.-K. Lai, S.-M. Hu, RR Martin, PL Rosin: Segmentación rápida de mallas mediante paseos aleatorios , Actas del simposio ACM de 2008 sobre modelado sólido y físico
- ↑ J. Zhang, J. Zheng, J. Cai: Corte interactivo de mallas mediante recorridos aleatorios restringidos , IEEE Trans. on Visualization and Computer Graphics, 2010.
- ↑ X. Sun, PL Rosin, RR Martin, FC Langbein: Paseos aleatorios para la eliminación de ruido en mallas que preservan características , Computer Aided Geometric Design, vol. 25, n.º 7, oct. 2008, págs. 437–456
- ↑ L. Grady, G. Funka-Lea: " Un enfoque de minimización de energía para la edición basada en datos de imágenes/volúmenes presegmentados ", Actas de MICCAI, vol. 2, 2006, págs. 888–895
- ↑ G. Li, L. Qingsheng, Q. Xiaoxu: Eliminación de sombras de vehículos en movimiento basada en características de paseo aleatorio y bordes, Actas de IITA 2008
- ↑ R. Shen, I. Cheng, X. Li, A. Basu: Correspondencia estéreo mediante recorridos aleatorios. Archivado el 27 de junio de 2021 en Wayback Machine , Actas de ICPR 2008.
Enlaces externos
- Código Matlab que implementa el algoritmo original de caminante aleatorio.
- Código Matlab que implementa el algoritmo de caminante aleatorio con precomputación.
- Implementación en Python del algoritmo original de caminante aleatorio. Archivado el 14/10/2012 en Wayback Machine , en la caja de herramientas de procesamiento de imágenes scikit-image.
- Segmentación de imágenes