stringtranslate.com

Modelo de contorno activo

El modelo de contorno activo , también llamado serpientes , es un marco de visión por computadora introducido por Michael Kass , Andrew Witkin y Demetri Terzopoulos [1] para delinear el contorno de un objeto a partir de una imagen 2D posiblemente ruidosa . El modelo de serpientes es popular en visión por computadora y las serpientes se usan ampliamente en aplicaciones como seguimiento de objetos, reconocimiento de formas, segmentación , detección de bordes y coincidencia 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 hacer coincidir un modelo deformable con una imagen mediante la minimización de 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 forma a un dominio explícito aprendido de un conjunto de entrenamiento.

Serpientes – modelos deformables activos

Las serpientes no resuelven todo el problema de encontrar contornos en imágenes, ya que el método requiere conocer de antemano la forma del contorno deseado. Más bien, dependen de otros mecanismos, como la interacción con un usuario, la interacción con algún proceso de comprensión de imágenes de nivel superior o información de datos de imágenes adyacentes en el tiempo o el espacio.

Motivación

En visión por computadora, los modelos de contorno describen los límites de las formas en una imagen. Las serpientes en particular están diseñadas para resolver problemas en los que 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 coincidencia estéreo y el seguimiento de movimiento. Además, el método puede encontrar contornos ilusorios en la imagen ignorando la información de límites faltante.

En comparación con las técnicas clásicas de extracción de características, las serpientes tienen múltiples ventajas:

Los principales inconvenientes de las serpientes tradicionales son

Formulación energética

Una serpiente elástica simple se define por un conjunto de n puntos para , el término de energía elástica interna y el término de energía externo basado en bordes . El propósito del término de energía interna es controlar las deformaciones realizadas en 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 su 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 .

[3]

Esto se puede ampliar como

donde y son pesos definidos por el usuario; estos controlan la sensibilidad de la función de energía interna a la cantidad de estiramiento de la serpiente y la cantidad de curvatura de la serpiente, respectivamente, y por lo tanto controlan el número de restricciones sobre la forma de la serpiente.

En la práctica, una ponderación grande para el término de continuidad penaliza los cambios en las distancias entre puntos del contorno. Un peso grande para el término de suavidad penaliza las oscilaciones en el contorno y hará que el contorno actúe como una placa delgada.

Energía de la imagen

La energía en la imagen es una función de las características de la imagen. Este es uno de los puntos de modificación más comunes en los métodos derivados. Las características de las imágenes y las imágenes mismas se pueden procesar de muchas 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

donde , son pesos de estas características destacadas. Los pesos más altos indican que la característica destacada tendrá una mayor contribución a la fuerza de la imagen.

Línea funcional

La línea funcional es la intensidad de la imagen, que se puede representar como

El signo de determinará si la línea será atraída por líneas oscuras o claras.

Se puede utilizar algo de suavizado o reducción de ruido en la imagen, por lo que la línea funcional aparece como

Borde funcional

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 algún mínimo local. Se puede utilizar la continuación del espacio de escala para evitar estos mínimos locales. Esto se logra usando un filtro de desenfoque en la imagen y reduciendo la cantidad de desenfoque a medida que avanza el cálculo para refinar el ajuste de la serpiente. La energía funcional usando la continuación del espacio de escala es

donde es un gaussiano con desviación estándar . Los mínimos de esta función caen en cuyos cruces por cero definen los bordes según la teoría de Marr-Hildreth .

Terminación funcional

La curvatura de líneas de nivel 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

La terminación funcional de la energía se puede representar como

Energía de restricción

Algunos sistemas, incluida la implementación original de las serpientes, permitieron la interacción del usuario para guiar a las serpientes, no sólo en su ubicación inicial sino también en sus términos energéticos. Esta energía de restricción se puede utilizar para guiar interactivamente a las serpientes hacia o lejos de características particulares.

Optimización mediante descenso de gradiente.

Dada una suposición inicial para una serpiente, la función energética de la serpiente se minimiza iterativamente. La minimización del 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 toma un paso en el gradiente negativo del punto con un tamaño de paso controlado para encontrar mínimos locales. Esta minimización del descenso de gradiente se puede implementar como

¿Dónde está la fuerza sobre la serpiente, que está definida por el negativo del gradiente del campo de energía?

Suponiendo que los pesos y son 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 sólo pueden integrarse en pasos de tiempo finitos . Como tal, se deben realizar aproximaciones discretas para la implementación práctica de serpientes.

La función energética de la serpiente se puede aproximar utilizando los puntos discretos de la serpiente.

En consecuencia, las fuerzas de la serpiente se pueden aproximar como

La aproximación del gradiente se puede realizar mediante cualquier método de aproximación finita con respecto a s , como la diferencia finita .

Inestabilidad numérica debido al tiempo discreto.

La introducción de tiempo discreto en el algoritmo puede introducir actualizaciones que mueven a la serpiente más allá de los mínimos que le atraen; Esto además puede causar oscilaciones alrededor de los mínimos o llevar a que se encuentren mínimos diferentes.

Esto se puede evitar ajustando el paso de tiempo de manera que el tamaño del paso 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 modo que las fuerzas de la imagen solo actualicen la serpiente en un píxel. Esto se puede formular como

donde está cerca del valor del tamaño del píxel. Esto evita el problema de dominar las energías internas que surgen al ajustar el paso del tiempo. [5]

Inestabilidad numérica debido 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 de la serpiente oscilaría entre los dos píxeles vecinos a este cruce por cero. Esta oscilación se puede evitar utilizando la interpolación entre píxeles en lugar del vecino más cercano. [5]

Algunas variantes de serpientes

El método predeterminado de las serpientes tiene varias limitaciones y casos extremos en los que la convergencia funciona mal. Existen varias alternativas que abordan cuestiones del método predeterminado, aunque con sus propias compensaciones. Algunos se enumeran aquí.

Modelo de serpiente GVF

El modelo de serpiente de flujo vectorial gradiente (GVF) [6] aborda dos problemas con las serpientes:

En 2D, el campo vectorial GVF minimiza la energía funcional

donde es un término de suavizado controlable. Esto se puede resolver resolviendo las ecuaciones de Euler.

Esto se puede resolver mediante la iteración hacia un valor de estado estacionario.

Este resultado reemplaza la fuerza externa predeterminada.

El principal problema con el uso de GVF es que el término de suavizado provoca que los bordes del contorno se redondeen. Reducir el valor de reduce el redondeo pero debilita la cantidad de suavizado.

El modelo del globo.

El modelo de globo [5] aborda estos problemas con el modelo de contorno activo predeterminado:

El modelo del globo introduce un término de inflación en las fuerzas que actúan sobre la serpiente.

donde es el vector unitario normal de la curva en y es la magnitud de la fuerza. debe tener la misma magnitud que el factor de normalización de la imagen y tener un valor menor que el necesario para permitir que las fuerzas en los bordes de la imagen superen la fuerza de inflación.

Surgen tres problemas al utilizar el modelo de globo:

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 dibujos animados e incorpora conocimiento estadístico de la forma. La función de energía de imagen predeterminada se reemplaza con

donde se basa en un funcional Mumford-Shah modificado

¿Dónde está el modelo suave por partes de la imagen del dominio ? Los límites se definen como

donde son las funciones básicas cuadráticas del B-spline y son los puntos de control de los splines. El límite de dibujos animados modificado se obtiene como y es una configuración válida de .

El funcional se basa en el entrenamiento a partir de imágenes binarias de varios contornos y está controlado en fuerza por el parámetro . Para una distribución gaussiana de vectores de puntos de control con vector de puntos de control medio y matriz de covarianza , la energía cuadrática que corresponde a la probabilidad gaussiana es

La solidez de este método depende de la solidez de los datos de entrenamiento, así como del ajuste del funcional Mumford-Shah modificado. Diferentes serpientes requerirán 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 del acortamiento de la curva euclidiana . Los contornos se dividen y fusionan según la detección de objetos en la imagen. Estos modelos están inspirados en gran medida en conjuntos de niveles y se han empleado ampliamente en la informática de imágenes médicas .

Por ejemplo, la ecuación de evolución de la curva de descenso de gradiente de GAC es [8]

donde es una función de parada, c es un multiplicador de Lagrange, es la curvatura y es la unidad normal hacia adentro. Esta forma particular de ecuación de evolución de la curva sólo depende de la velocidad en la dirección normal. Por lo tanto, se puede reescribir de manera equivalente en forma euleriana insertando la función de conjunto de niveles en él de la siguiente manera

Esta reforma de conjunto de niveles simple pero poderosa permite que los contornos activos manejen los cambios de topología durante la evolución de la curva de descenso de gradiente. Ha inspirado un enorme progreso en los campos relacionados, y el uso de métodos numéricos para resolver la reformulación del conjunto de niveles ahora se conoce comúnmente como método de conjunto de niveles . Aunque el método de conjunto de niveles se ha convertido en una herramienta bastante popular para implementar contornos activos, Wang y Chan argumentaron que no todas las ecuaciones de evolución de curvas deberían resolverse directamente con él. [10]

Los desarrollos más recientes en contornos activos abordan el modelado de propiedades regionales, la incorporación de formas previas flexibles y la segmentación totalmente automática, etc.

Lankton y Allen Tannenbaum han formulado modelos estadísticos que combinan características locales y globales . [11]

Relaciones con cortes de gráficos

Graph cuts , o max-flow/min-cut , es un método genérico para minimizar una forma particular de energía llamada energía de campo aleatorio de Markov (MRF). El método de corte de gráficos también se ha aplicado a la segmentación de imágenes y, a veces, supera al método de conjunto de niveles cuando el modelo es MRF o puede aproximarse mediante MRF.

Ver también

Referencias

  1. ^ ab Kass, M.; Witkin, A .; Terzopoulos, D. (1988). "Serpientes: modelos de contorno activos" (PDF) . Revista Internacional de Visión por Computadora . 1 (4): 321. CiteSeerX  10.1.1.124.5318 . doi :10.1007/BF00133570. S2CID  12849354. Archivado desde el original (PDF) el 12 de enero de 2016 . Consultado el 29 de agosto de 2015 .
  2. ^ Serpientes: un modelo activo, Ramani Pichumani, http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/RAMANI1/node31.html
  3. ^ Dr. George Bebis, Universidad de Nevada, http://www.cse.unr.edu/~bebis/CS791E/Notes/DeformableContours.pdf
  4. ^ 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
  5. ^ abc Cohen, Laurent D. (1991). "Sobre globos y modelos de contorno activos". CVGIP: comprensión de imágenes . 53 (2): 211–218. doi :10.1016/1049-9660(91)90028-N.
  6. ^ Chenyang Xu; Príncipe, JL (1997). "Flujo de vector gradiente: una nueva fuerza externa para las serpientes". Actas de la conferencia de la IEEE Computer Society 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.
  7. ^ Cremers, D.; Schnorr, C.; Weickert, J. (2001). "Serpientes de difusión: combinación de conocimiento estadístico de formas e información de imágenes en un marco variacional". Actas del taller IEEE sobre métodos variacionales y de conjunto de niveles en visión por computadora . vol. 50, págs. 137-144. CiteSeerX 10.1.1.28.3639 . doi :10.1109/VLSM.2001.938892. ISBN  978-0-7695-1278-5. S2CID  14929019.
  8. ^ ab Contornos activos geodésicos, V. Caselles, R. Kimmel, G. Sapiro http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.2196
  9. ^ Kichenassamy, Satyanad; Kumar, Arun; Olver, Peter; Tannenbaum, Allen; Yezzi, Antonio (1996). "Flujos de curvatura conforme: de las transiciones de fase a la visión activa". Archivo de Análisis y Mecánica Racional . 134 (3): 275–301. Código Bib : 1996ArRMA.134..275K. doi :10.1007/BF00379537. S2CID  116487549.
  10. ^ Wang, Junyan; Chan, Kap Luk (8 de julio de 2014). "Contorno activo con componente tangencial". Revista de visión y imágenes matemáticas . 51 (2): 229–247. arXiv : 1204.6458 . doi :10.1007/s10851-014-0519-y. ISSN  0924-9907. S2CID  13100077.
  11. ^ Lankton, S.; Tannenbaum, A. (2008). "Localización de contornos activos basados ​​en regiones". Transacciones IEEE sobre procesamiento de imágenes . 17 (11): 2029-2039. Código Bib : 2008ITIP...17.2029L. doi :10.1109/TIP.2008.2004611. PMC 2796112 . PMID  18854247. 

enlaces externos

Código de muestra