Articulo de referencia

algoritmo de caminante aleatorio

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 peq...

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 variableL{\displaystyle L}Se 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 nodovi{\displaystyle v_{i}}asociado a un píxel y a cada bordemiij{\displaystyle e_{ij}}conectar píxeles vecinosvi{\displaystyle v_{i}}yvj{\displaystyle v_{j}}Los 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.gramoi{\displaystyle g_{i}}en el nodovi{\displaystyle v_{i}}Es común utilizar la función de ponderación de bordes.

wij=exp(β(gramoigramoj)2).{\displaystyle w_{ij}=\exp {\left(-\beta (g_{i}-g_{j})^{2}\right)}.}

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

Q(incógnita)=incógnitaTLincógnita=miijwij(incógnitaiincógnitaj)2{\displaystyle Q(x)=x^{T}Lx=\sum _{e_{ij}}w_{ij}\left(x_{i}-x_{j}\right)^{2}}

dóndeincógnitai{\displaystyle x_{i}}representa una variable de valor real asociada a cada nodo del grafo y la optimización está restringida porincógnitai=1{\displaystyle x_{i}=1}paraviF{\displaystyle v_{i}\in F}yincógnitai=0{\displaystyle x_{i}=0}paraviB{\displaystyle v_{i}\in B}, dóndeF{\displaystyle F}yB{\displaystyle B}representan los conjuntos de semillas de primer plano y fondo, respectivamente. Si dejamosS{\displaystyle S}representan el conjunto de nodos que se siembran (es decir,S=FB{\displaystyle S=F\cup B}) yS¯{\displaystyle {\overline {S}}}representan el conjunto de nodos no sembrados (es decir,SS¯=V{\displaystyle S\cup {\overline {S}}=V}dóndeV{\displaystyle V}es el conjunto de todos los nodos), entonces el óptimo del problema de minimización de energía viene dado por la solución a

LS¯,S¯incógnitaS¯=LS¯,SincógnitaS,{\displaystyle L_{{\overline {S}},{\overline {S}}}x_{\overline {S}}=-L_{{\overline {S}},S}x_{S},}

donde los subíndices se utilizan para indicar la porción de la matriz laplaciana del gráfico.L{\displaystyle L}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.

Q(incógnita)=incógnitaTLincógnita+γ((1incógnita)TF(1incógnita)+incógnitaTBincógnita)=miijwij(incógnitaiincógnitaj)2+γ(viFi(1incógnitai)2+vibiincógnitai2),{\displaystyle Q(x)=x^{T}Lx+\gamma \left((1-x)^{T}F(1-x)+x^{T}Bx\right)=\sum _{e_{ij}}w_{ij}\left(x_{i}-x_{j}\right)^{2}+\gamma \left(\sum _{v_{i}}f_{i}(1-x_{i})^{2}+\sum _{v_{i}}b_{i}x_{i}^{2}\right),}

para matrices diagonales positivasF{\displaystyle F}yB{\displaystyle B}La optimización de esta energía conduce al sistema de ecuaciones lineales.

(LS¯,S¯+γFS¯,S¯+γBS¯,S¯)incógnitaS¯=LS¯,SincógnitaSγFS¯,S¯.{\displaystyle \left(L_{{\overline {S}},{\overline {S}}}+\gamma F_{{\overline {S}},{\overline {S}}}+\gamma B_{{\overline {S}},{\overline {S}}}\right)x_{\overline {S}}=-L_{{\overline {S}},S}x_{S}-\gamma F_{{\overline {S}},{\overline {S}}}.}

El conjunto de nodos sembrados,S{\displaystyle S}, puede estar vacío en este caso (es decir,S¯=V{\displaystyle {\overline {S}}=V}), 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, entoncesFi{\displaystyle f_{i}}representaría la confianza de que el color en el nodovi{\displaystyle v_{i}}pertenecería al objeto (es decir, un valor mayor deFi{\displaystyle f_{i}}indica mayor confianza en quevi{\displaystyle v_{i}}pertenecía a la etiqueta del objeto) ybi{\displaystyle b_{i}}representaría la confianza de que el color en el nodovi{\displaystyle v_{i}}pertenece 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,rij{\displaystyle r_{ij}}, asociado con el bordemiij{\displaystyle e_{ij}}se establece igual arij=1wij{\displaystyle r_{ij}={\frac {1}{w_{ij}}}}(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,viB{\displaystyle v_{i}\in B}, está vinculado directamente al suelo mientras que cada nodo está asociado con un objeto/semilla de primer plano,viF{\displaystyle v_{i}\in F}está conectado a una fuente de voltaje ideal de corriente continua unitaria conectada a tierra (es decir, para establecer un potencial unitario en cadaviF{\displaystyle v_{i}\in F}). 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,incógnitai{\displaystyle x_{i}}en el nodovi{\displaystyle v_{i}}será igual a la probabilidad de que un caminante aleatorio haya caído en el nodovi{\displaystyle v_{i}}llegará 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:

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:

Referencias

  1. 1 2 3 Grady, L.: " Paseos aleatorios para la segmentación de imágenes ". PAMI, 2006
  2. P. Doyle, JL Snell: Paseos aleatorios y redes eléctricas, Asociación Matemática de América, 1984
  3. 1 2 Leo Grady: " Segmentación de imágenes Multilabel Random Walker usando modelos previos ", Proc. de CVPR, Vol. 1, pp. 763–770, 2005.
  4. 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.
  5. PG Doyle, JL Snell: Paseos aleatorios y redes eléctricas, Carus Mathematical Monographs, 1984
  6. 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
  7. 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.
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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.
  15. 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
  16. 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
  17. 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.
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. P. Wattuya, K. Rothaus, JS Prassni, X. Jiang: Un enfoque basado en caminantes aleatorios para combinar múltiples segmentaciones , Actas de ICPR 2008
  24. 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
  25. J. Zhang, J. Zheng, J. Cai: Corte interactivo de mallas mediante recorridos aleatorios restringidos , IEEE Trans. on Visualization and Computer Graphics, 2010.
  26. 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
  27. 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
  28. 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
  29. 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.
  • 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.