El modelo de contorno activo , también llamado serpiente , es un marco de trabajo en visión artificial introducido por Michael Kass , Andrew Witkin y Demetri Terzopoulos [ 1 ] para delinear el contorno de un objeto a partir de una imagen 2D que puede contener ruido . El modelo de serpiente es popular en visión artificial y se utiliza ampliamente en aplicaciones como seguimiento de objetos, reconocimiento de formas, segmentación , detección de bordes y correspondencia estéreo.
Una serpiente es una spline deformable que minimiza la energía, influenciada por fuerzas de restricción e imagen que la atraen hacia los contornos del objeto y fuerzas internas que resisten la deformación. Las serpientes pueden entenderse como un caso especial de la técnica general de ajuste de un modelo deformable a una imagen mediante la minimización de la energía. [ 1 ] En dos dimensiones, el modelo de forma activa representa una versión discreta de este enfoque, aprovechando el modelo de distribución de puntos para restringir el rango de la forma a un dominio explícito aprendido a partir de un conjunto de entrenamiento.

Las serpientes no resuelven por completo el problema de encontrar contornos en imágenes, ya que el método requiere conocer de antemano la forma del contorno deseado. En cambio, dependen de otros mecanismos, como la interacción con el usuario, la interacción con algún proceso de comprensión de imágenes de nivel superior o la información de datos de imágenes adyacentes en el tiempo o el espacio.
Motivación
En visión artificial, los modelos de contorno describen los límites de las formas en una imagen. Los modelos de serpiente, en particular, están diseñados para resolver problemas donde se conoce la forma aproximada del límite. Al ser un modelo deformable, las serpientes pueden adaptarse a las diferencias y al ruido en la correspondencia estéreo y el seguimiento de movimiento. Además, este método puede encontrar contornos ilusorios en la imagen al ignorar la información faltante del límite.
En comparación con las técnicas clásicas de extracción de características, las serpientes tienen múltiples ventajas:
- Buscan de forma autónoma y adaptativa el estado mínimo.
- Las fuerzas visuales externas actúan sobre la serpiente de manera intuitiva.
- La incorporación de un suavizado gaussiano en la función de energía de la imagen introduce sensibilidad a la escala.
- Pueden utilizarse para rastrear objetos dinámicos.
Los principales inconvenientes de las serpientes tradicionales son:
- Son sensibles a los estados de mínimos locales, lo cual puede contrarrestarse mediante técnicas de recocido simulado .
- Durante la minimización de energía en todo el contorno, a menudo se ignoran las características minúsculas.
- Su precisión depende de la política de convergencia. [ 2 ]
Formulación energética
Una serpiente elástica simple se define mediante un conjunto de n puntos.para, el término de energía elástica internay el término de energía basado en el borde externoEl propósito del término de energía interna es controlar las deformaciones realizadas a la serpiente, y el propósito del término de energía externa es controlar el ajuste del contorno a la imagen. La energía externa suele ser una combinación de las fuerzas debidas a la propia imagen.y las fuerzas de restricción introducidas por el usuario
La función energética de la serpiente es la suma de su energía externa y energía interna, o
energía interna
La energía interna de la serpiente se compone de la continuidad del contorno.y la suavidad del contorno.
Esto se puede ampliar como
dóndeyson pesos definidos por el usuario; estos controlan la sensibilidad de la función de energía interna a la cantidad de estiramiento en la serpiente y a la cantidad de curvatura en la serpiente, respectivamente, y por lo tanto controlan la cantidad de restricciones en la forma de la serpiente.
En la práctica, un gran pesopara el término de continuidad penaliza los cambios en las distancias entre puntos en el contorno. Un peso grandeEl término de suavidad penaliza las oscilaciones en el contorno y hará que este actúe como una placa delgada.
Energía de la imagen
La energía en la imagen depende en cierta medida de sus características. Este es uno de los puntos de modificación más comunes en los métodos derivados. Las características de las imágenes, así como las imágenes mismas, pueden procesarse de diversas maneras.
Para una imagen, líneas, bordes y terminaciones presentes en la imagen, la formulación general de la energía debida a la imagen es
dónde,,son pesos de estas características destacadas. Pesos más altos indican que la característica destacada tendrá una mayor contribución a la fuerza de la imagen.
Funcional de línea
La función de línea es la intensidad de la imagen, que puede representarse como
El signo dedeterminará si la línea se sentirá atraída por las líneas oscuras o por las líneas claras.
Se puede aplicar algún suavizado o reducción de ruido a la imagen, lo que hace que la función de línea aparezca como
Funcionalidad de borde
La función de borde se basa en el gradiente de la imagen . Una implementación de esto es
Una serpiente que se origina lejos del contorno del objeto deseado puede converger erróneamente a un mínimo local. Se puede utilizar la continuación del espacio de escalas para evitar estos mínimos locales. Esto se logra aplicando un filtro de desenfoque a la imagen y reduciendo la cantidad de desenfoque a medida que avanza el cálculo para refinar el ajuste de la serpiente. El funcional de energía que utiliza la continuación del espacio de escalas es:
dóndees una gaussiana con desviación estándarLos mínimos de esta función caen en los cruces por cero deque definen los bordes según la teoría de Marr-Hildreth .
Función de terminación
La curvatura de las líneas horizontales en una imagen ligeramente suavizada se puede utilizar para detectar esquinas y terminaciones en una imagen. Usando este método,sea la imagen suavizada por
con ángulo de gradiente
vectores unitarios a lo largo de la dirección del gradiente
y vectores unitarios perpendiculares a la dirección del gradiente
El funcional de terminación de la energía se puede representar como
Energía de restricción
Algunos sistemas, incluida la implementación original de serpientes, permitían la interacción del usuario para guiar a las serpientes, no solo en su colocación inicial sino también en términos de energía. Dicha restricción de energía Se puede utilizar para guiar interactivamente a las serpientes hacia o lejos de elementos específicos.
Optimización mediante descenso de gradiente
Dada una estimación inicial para una serpiente, la función de energía de la serpiente se minimiza iterativamente. La minimización por descenso de gradiente es una de las optimizaciones más simples que se pueden utilizar para minimizar la energía de la serpiente. [ 4 ] Cada iteración da un paso en el gradiente negativo del punto con un tamaño de paso controlado.para encontrar mínimos locales. Esta minimización por descenso de gradiente se puede implementar como
Dóndees la fuerza sobre la serpiente, que se define por el negativo del gradiente del campo de energía.
Suponiendo los pesosyson constantes con respecto a, este método iterativo se puede simplificar a
aproximación discreta
En la práctica, las imágenes tienen una resolución finita y solo pueden integrarse durante pasos de tiempo finitos.Por lo tanto, es necesario realizar aproximaciones discretas para la implementación práctica de las serpientes.
La función de energía de la serpiente se puede aproximar utilizando los puntos discretos de la misma.
En consecuencia, las fuerzas de la serpiente pueden aproximarse como
La aproximación del gradiente se puede realizar a través de cualquier método de aproximación finita con respecto a s , como por ejemplo la diferencia finita .
Inestabilidad numérica debida al tiempo discreto
La introducción del tiempo discreto en el algoritmo puede introducir actualizaciones que hacen que la serpiente se mueva más allá de los mínimos a los que se siente atraída; esto, a su vez, puede causar oscilaciones alrededor de los mínimos o llevar a que se encuentre un mínimo diferente.
Esto se puede evitar ajustando el paso de tiempo de manera que su tamaño nunca sea mayor que un píxel debido a las fuerzas de la imagen. Sin embargo, en regiones de baja energía, las energías internas dominarán la actualización.
Alternativamente, las fuerzas de la imagen se pueden normalizar para cada paso de manera que las fuerzas de la imagen solo actualicen la serpiente en un píxel. Esto se puede formular como
dóndeestá cerca del valor del tamaño del píxel. Esto evita el problema de las energías internas dominantes que surgen al ajustar el paso de tiempo. [ 5 ]
Inestabilidad numérica debida al espacio discreto
Las energías en una imagen continua pueden tener cruces por cero que no existen como píxeles en la imagen. En este caso, un punto en la serpiente oscilaría entre los dos píxeles vecinos a este cruce por cero. Esta oscilación se puede evitar utilizando interpolación entre píxeles en lugar de la interpolación del vecino más cercano. [ 5 ]
Algunas variantes de serpientes
El método predeterminado de búsqueda de serpientes presenta varias limitaciones y casos excepcionales donde la convergencia es deficiente. Existen varias alternativas que solucionan los problemas del método predeterminado, aunque cada una con sus propias desventajas. A continuación, se enumeran algunas.
Modelo de serpiente GVF
El modelo de serpiente de flujo vectorial de gradiente (GVF) [ 6 ] aborda dos problemas relacionados con las serpientes:
- Rendimiento de convergencia deficiente para límites cóncavos
- Rendimiento de convergencia deficiente cuando la serpiente se inicializa lejos del mínimo.
En 2D, el campo vectorial GVFminimiza la energía funcional
dóndees un término de suavizado controlable. Esto se puede resolver resolviendo las ecuaciones de Euler.
Esto se puede resolver mediante un proceso iterativo que conduzca a un valor de estado estacionario.
Este resultado reemplaza la fuerza externa predeterminada.
El principal problema al usar GVF es el término de suavizado.provoca el redondeo de los bordes del contorno. Reducir el valor deReduce el redondeo, pero disminuye la cantidad de suavizado.
El modelo de globo
El modelo de globo [ 5 ] aborda estos problemas con el modelo de contorno activo predeterminado:
- La serpiente no se siente atraída por los bordes lejanos.
- La serpiente se encogerá hacia adentro si no actúan sobre ella fuerzas visuales sustanciales.
- Una serpiente más grande que el contorno mínimo acabará encogiéndose hasta alcanzarlo, pero una serpiente más pequeña que el contorno mínimo no encontrará el mínimo y, en cambio, seguirá encogiéndose.
El modelo del globo introduce un término de inflación en las fuerzas que actúan sobre la serpiente.
dóndees el vector unitario normal de la curva enyes la magnitud de la fuerza.debe tener la misma magnitud que el factor de normalización de la imagen.y ser de menor valor quepara permitir que las fuerzas en los bordes de la imagen superen la fuerza de inflación.
Del uso del modelo del globo surgen tres problemas:
- En lugar de encogerse, la serpiente se expande hacia los mínimos y no encontrará contornos de mínimos más pequeños que ella.
- La fuerza hacia afuera provoca que el contorno sea ligeramente mayor que el mínimo real. Esto se puede solucionar disminuyendo la fuerza del globo una vez que se haya encontrado una solución estable.
- La fuerza de inflación puede superar las fuerzas de los bordes débiles, lo que amplifica el problema de que las serpientes ignoren las características más débiles de una imagen.
Modelo de serpientes de difusión
El modelo de serpiente de difusión [ 7 ] aborda la sensibilidad de las serpientes al ruido, el desorden y la oclusión. Implementa una modificación del funcional de Mumford-Shah y su límite de caricatura, e incorpora conocimiento estadístico de la forma. El funcional de energía de imagen predeterminadoes reemplazado por
dóndeSe basa en una función de Mumford-Shah modificada.
dóndees el modelo suave por partes de la imagendel dominio. Límitesse definen como
dóndeson funciones base B-spline cuadráticas yson los puntos de control de las splines. El límite de caricatura modificado se obtiene comoy es una configuración válida de.
El funcionalSe basa en el entrenamiento a partir de imágenes binarias de varios contornos y su intensidad se controla mediante el parámetroPara una distribución gaussiana de vectores de puntos de controlcon vector de punto de control medioy matriz de covarianza, la energía cuadrática que corresponde a la probabilidad gaussiana es
La eficacia de este método reside en la calidad de los datos de entrenamiento, así como en el ajuste de la función de Mumford-Shah modificada. Cada serpiente requerirá diferentes conjuntos de datos de entrenamiento y ajustes.
contornos activos geométricos
El contorno activo geométrico, o contorno activo geodésico (GAC) [ 8 ] o contornos activos conformes [ 9 ], emplea ideas de la evolución de acortamiento de curvas euclidianas . Los contornos se dividen y se fusionan según la detección de objetos en la imagen. Estos modelos se inspiran en gran medida en los conjuntos de nivel y se han utilizado ampliamente en el procesamiento de imágenes médicas .
Por ejemplo, la ecuación de evolución de la curva de descenso de gradiente de GAC es [ 8 ].
dóndees una función de parada, c es un multiplicador de Lagrange,es la curvatura, yes la unidad normal hacia adentro. Esta forma particular de ecuación de evolución de curva depende únicamente de la velocidad en la dirección normal. Por lo tanto, puede reescribirse de forma equivalente en una forma euleriana insertando la función de conjunto de nivel.en él de la siguiente manera
Esta reformulación de conjuntos de nivel, sencilla pero potente, permite que los contornos activos gestionen los cambios topológicos durante la evolución de la curva de descenso de gradiente. Ha impulsado un progreso extraordinario en campos relacionados, y el uso de métodos numéricos para resolver la reformulación de conjuntos de nivel se conoce actualmente como el método de conjuntos de nivel . Si bien este método se ha convertido en una herramienta muy popular para la implementación de contornos activos, Wang y Chan argumentaron que no todas las ecuaciones de evolución de curvas deberían resolverse directamente con él. [ 10 ]
Los avances más recientes en contornos activos abordan el modelado de propiedades regionales, la incorporación de priors de forma flexibles y la segmentación totalmente automática, etc.
Lankton y Allen Tannenbaum formularon modelos estadísticos que combinan características locales y globales . [ 11 ]
Relación con los cortes de grafos
El método de cortes de grafos , o flujo máximo/corte mínimo , es un método genérico para minimizar una forma particular de energía denominada energía de campo aleatorio de Markov (MRF). Este método también se ha aplicado a la segmentación de imágenes y, en ocasiones, supera al método de conjuntos de nivel cuando el modelo es MRF o puede aproximarse mediante MRF.
Véase también
Referencias
- 1 2 Kass, M.; Witkin, A. ; Terzopoulos, D. (1988). "Serpientes: modelos de contorno activo" (PDF) . International Journal of Computer Vision . 1 (4): 321. CiteSeerX 10.1.1.124.5318 . doi : 10.1007/BF00133570 . S2CID 12849354 . Archivado del original (PDF) el 12-01-2016 . Recuperado el 29-08-2015 .
- ^ Serpientes: un modelo activo, Ramani Pichumani, http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/RAMANI1/node31.html
- ^ Dr. George Bebis, Universidad de Nevada, http://www.cse.unr.edu/~bebis/CS791E/Notes/DeformableContours.pdf
- ↑ Comprensión de imágenes , Bryan S. Morse, Universidad Brigham Young, 1998–2000 http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MORSE/iu.pdf
- 1 2 3 Cohen, Laurent D. (1991). "Sobre modelos de contorno activo y globos". CVGIP: Image Understanding . 53 (2): 211– 218. doi : 10.1016/1049-9660(91)90028-N .
- ↑ Chenyang Xu; Prince, JL (1997). "Flujo vectorial de gradiente: una nueva fuerza externa para serpientes". Actas de la Conferencia de la Sociedad de Computación del IEEE sobre Visión por Computadora y Reconocimiento de Patrones (PDF) . págs. 66–71 . doi : 10.1109/CVPR.1997.609299 . ISBN 0-8186-7822-4. S2CID 980797 .
- ↑ Cremers, D.; Schnorr, C.; Weickert, J. (2001). "Serpientes de difusión: Combinando el conocimiento estadístico de la forma y la información de la imagen en un marco variacional". Actas del Taller IEEE sobre Métodos Variacionales y de Conjuntos de Nivel en Visión por Computadora . Vol. 50. pp. 137–144 . CiteSeerX 10.1.1.28.3639 . doi : 10.1109/VLSM.2001.938892 . ISBN 978-0-7695-1278-5. S2CID 14929019 .
- ^ Contornos activos geodésicos, V. Caselles, R. Kimmel, G. Sapiro http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.2196
- ↑ Kichenassamy, Satyanad; Kumar, Arun; Olver, Peter; Tannenbaum, Allen; Yezzi, Anthony (1996). "Flujos de curvatura conformes: De las transiciones de fase a la visión activa". Archivo de Mecánica Racional y Análisis . 134 (3): 275– 301. Bibcode : 1996ArRMA.134..275K . doi : 10.1007/BF00379537 . S2CID 116487549 .
- ↑ Wang, Junyan; Chan, Kap Luk (2014-07-08). "Contorno activo con un componente tangencial". Journal of Mathematical Imaging and Vision . 51 (2): 229– 247. arXiv : 1204.6458 . doi : 10.1007/s10851-014-0519-y . ISSN 0924-9907 . S2CID 13100077 .
- ↑ Lankton, S.; Tannenbaum, A. (2008). "Localizing Region-Based Active Contours" . IEEE Transactions on Image Processing . 17 (11): 2029–2039 . Bibcode : 2008ITIP...17.2029L . doi : 10.1109 /TIP.2008.2004611 . PMC 2796112. PMID 18854247 .
Enlaces externos
- David Young, marzo de 1995
- Serpientes: Contornos activos, CVOnline
- Contornos activos, modelos deformables y flujo de vectores gradiente por Chenyang Xu y Jerry L. Prince , incluyendo descarga del código.
- ICBE, Universidad de Manchester
- Interfaz gráfica de usuario (GUI) para la plataforma de pruebas e implementación de contornos activos
- Una implementación sencilla del juego de las serpientes por el profesor asociado Cris Luengo.
- Documentación de MATLAB para activecontour, que segmenta una imagen utilizando contornos activos.
Código de ejemplo
- Ejemplos prácticos de diferentes serpientes desarrolladas por Xu y Prince
- Herramienta básica para jugar con serpientes (modelos de contorno activo) de Tim Cootes, Universidad de Manchester.
- Implementación en Matlab de una serpiente 2D y 3D que incluye GVF y fuerza de globo.
- Demostración del problema de la serpiente en Matlab por Christoph Bregler y Malcolm Slaney , Interval Research Corporation.
- Una demostración usando Java
- Interfaz gráfica de usuario (GUI) para la plataforma de pruebas e implementación de Active Contours, desarrollada por Nikolay S. y Alex Blekhman, que implementa "Active Contours without Edges".
- Segmentación de contornos activos por Shawn Lankton implementando "Contornos activos sin bordes".
- Código de contorno activo geométrico archivado el 17/02/2019 en Wayback Machine por Jarno Ralli.
- Serpientes morfológicas
- visión por computadora