Articulo de referencia

Técnica de segmentación Livewire

Ejemplo de segmentación de Livewire en la foto de un bebé Livewire es una técnica de segmentación que permite al usuario seleccionar regiones de interés para extraerlas de forma...

Ejemplo de segmentación de Livewire en la foto de un bebé

Livewire es una técnica de segmentación que permite al usuario seleccionar regiones de interés para extraerlas de forma rápida y precisa con simples clics del ratón. [ 1 ] Se basa en el algoritmo de ruta de menor coste , de Edsger W. Dijkstra . Primero, se aplica una convolución a la imagen con un filtro Sobel para extraer los bordes. Cada píxel de la imagen resultante es un vértice del grafo y tiene bordes que van a los 4 píxeles que lo rodean, como arriba, abajo, izquierda y derecha. Los costes de los bordes se definen en función de una función de coste. En 1995, Eric N. Mortensen y William A. Barrett realizaron una extensión de la herramienta de segmentación Livewire, conocida como Intelligent Scissors. [ 2 ]

Segmentación de Livewire

El usuario establece el punto de partida haciendo clic en un píxel de la imagen, conocido como ancla. A medida que mueve el ratón sobre otros puntos, se dibuja la ruta de menor coste desde el ancla hasta el píxel donde se encuentra el ratón, la cual se modifica con cada movimiento. Si desea elegir la ruta que se muestra, simplemente vuelve a hacer clic en la imagen.

En la imagen de la derecha se puede apreciar claramente que los puntos donde el usuario hizo clic para delimitar la región de interés están marcados con un pequeño cuadrado. También se observa que el cable de conexión se ha ajustado a los bordes de la imagen.

Algoritmo Livewire

Convoluciona la imagen con un filtro Sobel para extraer los bordes. Usando esta imagen filtrada, crea un grafo usando píxeles como nodos con bordes en cuatro direcciones (arriba, abajo, izquierda, derecha). [ 1 ] Los bordes se ponderan con características extraídas del filtro Sobel, lo que hace que sea menos costoso permanecer en un borde. Son posibles varios métodos de costo diferentes, pero el más importante es la magnitud del gradiente [ 1 ].

Algoritmo de búsqueda de grafos DP 2-D Live-Wire en pseudocódigo [ 2 ]

El algoritmo Livewire recibe como entrada: s {Píxel de inicio (o semilla).} l( q, r ) {Función de costo local para el enlace entre los píxeles q y r.} Estructuras de datos: L {Lista de píxeles activos ordenados por coste total (inicialmente vacía).} N( q ) {Conjunto de vecindario de q (contiene 8 vecinos del píxel).} e( q ) { Función booleana que indica si q ha sido expandido/procesado.} g( q ) {Función de costo total desde el punto semilla hasta q.} Salida: p {Punteros desde cada píxel que indican la ruta de costo mínimo.} g(s) ← 0; L ← s; {Inicializa la lista activa con un píxel semilla de coste cero.} mientras L≠∅ hacer begin {Mientras todavía haya puntos para expandir.} q ← min(L); {Eliminar el píxel de costo mínimo q de la lista activa.} e( q ) ← VERDADERO; {Marcar q como expandido (es decir, procesado).} para cada r∈N(q) tal que no e( r ) hacer comenzar gtmp ←g( q ) + l( q, r ); {Calcular el costo total al vecino.} si r ∈L y gtmp < g( r ) entonces {Eliminar los vecinos de mayor costo de la lista.} r ← L; Si r∉L, entonces comience {Si el vecino no está en la lista,} g( r ) ← gtmp; {asignar el costo total del vecino,} p( r ) ← q ; {establecer (o restablecer) el puntero de retroceso, } L ← r ; {y colocar en (o volver a) la lista activa.} fin fin fin

Extensión a 3D

En 2010, Leo Grady extendió el algoritmo Livewire a 3D. [ 3 ] Esta extensión trataba el algoritmo Livewire 2D como un método que permite al usuario especificar un límite 0-dimensional (dos puntos) y encontrar el colímite 1-dimensional mínimo (curva) que conecta esos puntos, donde el mínimo se define en términos de propiedades de la imagen. Para extender el algoritmo a 3D, se le pide al usuario que especifique uno o más límites 1-dimensionales (curvas cerradas) y el algoritmo encuentra el colímite 2-dimensional mínimo (superficie) delimitado por las curvas 1-dimensionales, donde la superficie mínima se define en términos de propiedades de la imagen. Esta extensión 3D de Livewire se basa en gran medida en conceptos de cálculo exterior discreto para reinterpretar el algoritmo Livewire 2D desde el punto de vista de los operadores de límite/colímite y luego aplicar estos conceptos en 3D. En el artículo de Grady también se proporciona un algoritmo eficiente para calcular la superficie mínima 3D.

Véase también

Referencias

  1. 1 2 3 BAGGIO, Daniel L´elis. Implementación del algoritmo Livewire para la segmentación de imágenes basada en GPGPU. 2007. 108f. Tesis de maestría en ciencias – Instituto Tecnológico de Aeronáutica, S˜ao José dos Campos. http://gpuwire.googlecode.com/files/Master%20Thesis%20-%20Updated%20February%2015th.pdf Archivado el 17 de diciembre de 2010 en Wayback Machine
  2. 1 2 MORTENSEN, EN; BARRETT, WA Tijeras inteligentes para la composición de imágenes. En: SIGGRAPH '95: Actas de la 22.ª conferencia anual sobre gráficos por computadora y técnicas interactivas. Nueva York, NY, EE. UU.: ACM Press, 1995. págs. 191-198. ISBN 0-89791-701-4.
  3. Leo Grady, “ Las superficies mínimas extienden los métodos de segmentación de ruta más corta a 3D ”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 32, n.° 2, págs. 321-334, febrero de 2010.
  • Implementación de código abierto en Java de la herramienta de segmentación de imágenes Livewire para ImageJ - Daniel Lelis Baggio
  • Vídeo de segmentación coronaria
  • Implementación de Python de código abierto