Articulo de referencia

Categorización de objetos basada en la segmentación

El problema de la segmentación de imágenes consiste en dividir una imagen en múltiples regiones según algún criterio de homogeneidad. Este artículo se centra principalmente en e...

El problema de la segmentación de imágenes consiste en dividir una imagen en múltiples regiones según algún criterio de homogeneidad. Este artículo se centra principalmente en enfoques basados ​​en la teoría de grafos para la segmentación de imágenes, aplicando la partición de grafos mediante corte mínimo o máximo . La categorización de objetos basada en la segmentación puede considerarse un caso específico de agrupamiento espectral aplicado a la segmentación de imágenes.

Aplicaciones de la segmentación de imágenes

  • Compresión de imágenes
    • Segmenta la imagen en componentes homogéneos y utiliza el algoritmo de compresión más adecuado para cada componente con el fin de mejorar la compresión.
  • diagnóstico médico
    • Segmentación automática de imágenes de resonancia magnética para la identificación de regiones cancerosas.
  • Cartografía y medición
    • Análisis automático de datos de teledetección procedentes de satélites para identificar y medir regiones de interés.
  • Transporte
    • La partición de una red de transporte permite identificar regiones caracterizadas por estados de tráfico homogéneos. [ 1 ]

Segmentación mediante cortes normalizados

Formulación basada en la teoría de grafos

El conjunto de puntos en un espacio de características arbitrario se puede representar como un grafo completo no dirigido ponderado G = (V, E), donde los nodos del grafo son los puntos en el espacio de características. El pesowij{\displaystyle w_{ij}}de un borde(i,j)mi{\displaystyle (i,j)\in E}es una función de la similitud entre los nodosi{\displaystyle i}yj{\displaystyle j}En este contexto, podemos formular el problema de segmentación de imágenes como un problema de partición de grafos que requiere una partición.V1,,Vk{\displaystyle V_{1},\cdots,V_{k}}del conjunto de vérticesV{\displaystyle V}donde, según alguna medida, los vértices en cualquier conjuntoVi{\displaystyle V_{i}}tienen alta similitud y los vértices en dos conjuntos diferentesVi,Vj{\displaystyle V_{i},V_{j}}tienen baja similitud.

Cortes normalizados

Sea G = ( V , E , w ) un grafo ponderado.A{\displaystyle A}yB{\displaystyle B}sean dos subconjuntos de vértices.

Dejar:

w(A,B)=iA,jBwij{\displaystyle w(A,B)=\sum \limits _{i\in A,j\in B}w_{ij}}
corte(A,B)=w(A,B)w(A,V)+w(A,B)w(B,V){\displaystyle \operatorname {ncut} (A,B)={\frac {w(A,B)}{w(A,V)}}+{\frac {w(A,B)}{w(B,V)}}}
nassoc(A,B)=w(A,A)w(A,V)+w(B,B)w(B,V){\displaystyle \operatorname {nassoc} (A,B)={\frac {w(A,A)}{w(A,V)}}+{\frac {w(B,B)}{w(B,V)}}}

En el enfoque de cortes normalizados, [ 2 ] para cualquier corte(S,S¯){\displaystyle (S,{\overline {S}})}enGRAMO{\displaystyle G},corte(S,S¯){\displaystyle \operatorname {ncut} (S,{\overline {S}})}mide la similitud entre diferentes partes ynassoc(S,S¯){\displaystyle \operatorname {nassoc} (S,{\overline {S}})}Mide la similitud total de los vértices en la misma parte.

Desdecorte(S,S¯)=2nassoc(S,S¯){\displaystyle \operatorname {ncut} (S,{\overline {S}})=2-\operatorname {nassoc} (S,{\overline {S}})}, un corte(S,S¯){\displaystyle (S^{*},{\overline {S}}^{*})}que minimizacorte(S,S¯){\displaystyle \operatorname {ncut} (S,{\overline {S}})}también maximizanassoc(S,S¯){\displaystyle \operatorname {nassoc} (S,{\overline {S}})}.

Calcular un corte(S,S¯){\displaystyle (S^{*},{\overline {S}}^{*})}que minimizacorte(S,S¯){\displaystyle \operatorname {ncut} (S,{\overline {S}})}es un problema NP-difícil . Sin embargo, podemos encontrar en tiempo polinomial un corte(S,S¯){\displaystyle (S,{\overline {S}})}de pequeño peso normalizadocorte(S,S¯){\displaystyle \operatorname {ncut} (S,{\overline {S}})}utilizando técnicas espectrales .

El algoritmo ncut

Dejar:

d(i)=jwij{\displaystyle d(i)=\sum \limits _{j}w_{ij}}

Además, sea D unnorte×norte{\displaystyle n\times n}matriz diagonal cond{\displaystyle d}en diagonal, y dejaW{\displaystyle W}frijolnorte×norte{\displaystyle n\times n}matriz simétrica conwij=wji{\displaystyle w_{ij}=w_{ji}}.

Tras algunas manipulaciones algebraicas, obtenemos:

min(S,S¯)corte(S,S¯)=minyyT(DW)yyTDy{\displaystyle \min \limits _{(S,{\overline {S}})}\operatorname {ncut} (S,{\overline {S}})=\min \limits _{y}{\frac {y^{T}(DW)y}{y^{T}Dy}}}

sujeto a las restricciones:

  • yi{1,b}{\displaystyle y_{i}\in \{1,-b\}}, por alguna constanteb{\displaystyle -b}
  • ytD1=0{\displaystyle y^{t}D1=0}

MinimizaryT(DW)yyTDy{\displaystyle {\frac {y^{T}(DW)y}{y^{T}Dy}}}sujeto a las restricciones anteriores es NP-difícil . Para que el problema sea manejable, relajamos las restricciones eny{\displaystyle y}y permitirle tomar valores reales. El problema relajado se puede resolver resolviendo el problema generalizado de valores propios.(DW)y=λDy{\displaystyle (D-W)y=\lambda Dy}para el segundo autovalor generalizado más pequeño.

El algoritmo de particionamiento:

  1. Dado un conjunto de características, configure un gráfico ponderado.GRAMO=(V,mi){\displaystyle G=(V,E)}, calcular el peso de cada arista y resumir la información enD{\displaystyle D}yW{\displaystyle W}.
  2. Resolver(DW)y=λDy{\displaystyle (D-W)y=\lambda Dy}para los autovectores con los segundos autovalores más pequeños.
  3. Utilice el vector propio con el segundo valor propio más pequeño para biparticionar el grafo (por ejemplo, agrupando según el signo).
  4. Decida si la partición actual debe subdividirse.
  5. Dividir recursivamente las partes segmentadas, si es necesario.

Complejidad computacional

Resolver un problema estándar de valores propios para todos los vectores propios (utilizando el algoritmo QR , por ejemplo) llevaO(norte3){\displaystyle O(n^{3})}tiempo. Esto no es práctico para aplicaciones de segmentación de imágenes dondenorte{\displaystyle n}es el número de píxeles de la imagen.

Dado que el algoritmo sin segmentación solo utiliza un vector propio, correspondiente al segundo valor propio generalizado más pequeño, la eficiencia puede mejorarse drásticamente si la resolución del problema de valores propios correspondiente se realiza sin utilizar matrices , es decir, sin manipular explícitamente ni calcular la matriz W, como, por ejemplo, en el algoritmo de Lanczos . Los métodos sin matrices solo requieren una función que realice un producto matriz-vector para un vector dado en cada iteración. Para la segmentación de imágenes, la matriz W suele ser dispersa, con un número de entradas distintas de cero.O(norte){\displaystyle O(n)}, por lo que dicho producto matriz-vector tomaO(norte){\displaystyle O(n)}tiempo.

Para imágenes de alta resolución, el segundo valor propio suele estar mal condicionado , lo que provoca una convergencia lenta de los solucionadores iterativos de valores propios, como el algoritmo de Lanczos . El precondicionamiento es una tecnología clave que acelera la convergencia, por ejemplo, en el método LOBPCG sin matriz . Calcular el vector propio utilizando un método sin matriz precondicionado de forma óptima requiereO(norte){\displaystyle O(n)}tiempo, que es la complejidad óptima, ya que el vector propio tienenorte{\displaystyle n}componentes.

Implementaciones de software

scikit-learn [ 3 ] utiliza LOBPCG de SciPy con precondicionamiento multigrid algebraico para resolver el problema de valores propios para el laplaciano del grafo para realizar la segmentación de imágenes a través de la partición espectral del grafo como se propuso por primera vez en [ 4 ] y se probó en [ 5 ] y [ 6 ] .

CORTE DE OBJETO

OBJ CUT [ 7 ] es un método eficiente que segmenta automáticamente un objeto. El método OBJ CUT es un método genérico y, por lo tanto, es aplicable a cualquier modelo de categoría de objetos. Dada una imagen D que contiene una instancia de una categoría de objeto conocida, por ejemplo, vacas, el algoritmo OBJ CUT calcula una segmentación del objeto, es decir, infiere un conjunto de etiquetas m . 

Sea m un conjunto de etiquetas binarias, y seaΘ{\displaystyle \Theta }ser un parámetro de forma(Θ{\displaystyle \Theta }es una forma previa en las etiquetas de un modelo de estructura pictórica en capas (LPS). Una función de energíami(metro,Θ){\displaystyle E(m,\Theta )}se define de la siguiente manera.

mi(metro,Θ)=ϕincógnita(D|metroincógnita)+ϕincógnita(metroincógnita|Θ)+Ψincógnitay(metroincógnita,metroy)+ϕ(D|metroincógnita,metroy){\displaystyle E(m,\Theta )=\sum \phi _{x}(D|m_{x})+\phi _{x}(m_{x}|\Theta )+\sum \Psi _{xy}(m_{x},m_{y})+\phi (D|m_{x},m_{y})} (1)

El términoϕincógnita(D|metroincógnita)+ϕincógnita(metroincógnita|Θ){\displaystyle \phi _{x}(D|m_{x})+\phi _{x}(m_{x}|\Theta )}se llama término unario, y el términoΨincógnitay(metroincógnita,metroy)+ϕ(D|metroincógnita,metroy){\displaystyle \Psi _{xy}(m_{x},m_{y})+\phi (D|m_{x},m_{y})}se denomina término por pares. Un término unario consiste en la probabilidadϕincógnita(D|metroincógnita){\displaystyle \phi _{x}(D|m_{x})}basado en el color y el potencial unarioϕincógnita(metroincógnita|Θ){\displaystyle \phi _{x}(m_{x}|\Theta )}basado en la distancia desdeΘ{\displaystyle \Theta }Un término por pares consiste en una a prioriΨincógnitay(metroincógnita,metroy){\displaystyle \Psi _{xy}(m_{x},m_{y})}y un término de contrasteϕ(D|metroincógnita,metroy){\displaystyle \phi (D|m_{x},m_{y})}.

El mejor etiquetadometro{\displaystyle m^{*}}minimizaiwimi(metro,Θi){\displaystyle \sum \limits _{i}w_{i}E(m,\Theta _{i})}, dóndewi{\displaystyle w_{i}}es el peso del parámetroΘi{\displaystyle \Theta _{i}}.

metro=argminmetroiwimi(metro,Θi){\displaystyle m^{*}=\arg \min \limits _{m}\sum \limits _{i}w_{i}E(m,\Theta _{i})} (2)

Algoritmo

  1. Dada una imagen D, se elige una categoría de objeto, por ejemplo, vacas o caballos.
  2. El modelo LPS correspondiente se ajusta a D para obtener las muestras.Θ1,,Θs{\displaystyle \Theta _{1},\cdots ,\Theta _{s}}
  3. La función objetivo dada por la ecuación (2) se determina calculandomi(metro,Θi){\displaystyle E(m,\Theta _{i})}y utilizandowi=gramo(Θi|Z){\displaystyle w_{i}=g(\Theta _{i}|Z)}
  4. La función objetivo se minimiza utilizando una única operación MINCUT para obtener la segmentación m .

Otros enfoques

Referencias

  1. Lopez, Clélia; Leclercq, Ludovic; Krishnakumari, Panchamy; Chiabaut, Nicolas; Van Lint, Hans (25 de octubre de 2017). "Revelando la regularidad diaria de los patrones de congestión urbana con mapas de velocidad 3D" . Scientific Reports . 7 (14029): 14029. Bibcode : 2017NatSR...714029L . doi : 10.1038/ s41598-017-14237-8 . PMC 5656590. PMID 29070859 .  
  2. Jianbo Shi y Jitendra Malik (1997): "Cortes normalizados y segmentación de imágenes", Conferencia IEEE sobre visión por computadora y reconocimiento de patrones, págs. 731–737
  3. "Agrupamiento espectral — documentación de scikit-learn" .
  4. Knyazev, Andrew V. (2003). Boley; Dhillon; Ghosh; Kogan (eds.). Solucionadores de valores propios precondicionados modernos para la segmentación de imágenes espectrales y la bisección de grafos . Agrupación de grandes conjuntos de datos; Tercera Conferencia Internacional IEEE sobre Minería de Datos (ICDM 2003) Melbourne, Florida: IEEE Computer Society. págs. 59–62 . 
  5. Knyazev, Andrew V. (2006). Segmentación de imágenes espectrales multiescala. Preacondicionamiento multiescala para el cálculo de valores propios de laplacianos de grafos en la segmentación de imágenes . Taller de aprendizaje rápido de variedades, WM Williamburg, VA. doi : 10.13140/RG.2.2.35280.02565 .
  6. Knyazev, Andrew V. (2006). Particionamiento de grafos espectrales multiescala y segmentación de imágenes . Taller sobre algoritmos para conjuntos de datos masivos modernos, Universidad de Stanford y Yahoo! Research.
  7. MP Kumar, PHS Torr y A. Zisserman. Obj cut. En Actas de la Conferencia IEEE sobre Visión por Computadora y Reconocimiento de Patrones , San Diego, páginas 18–25, 2005.
  8. E. Borenstein, S. Ullman: Segmentación descendente específica de clase . En Actas de la 7ª Conferencia Europea sobre Visión por Computadora, Copenhague, Dinamarca, páginas 109–124, 2002.
  9. Z. Tu, X. Chen, AL Yuille, SC Zhu: Análisis de imágenes: Unificación de la segmentación, detección y reconocimiento . Hacia el reconocimiento de objetos a nivel de categoría 2006: 545–576
  10. B. Leibe, A. Leonardis, B. Schiele: Un modelo de forma implícito para la categorización y segmentación combinadas de objetos . Hacia el reconocimiento de objetos a nivel de categoría 2006: 508–524
  11. J. Winn, N. Joijic. Locus: Aprendizaje de clases de objetos con segmentación no supervisada . En Actas de la Conferencia Internacional IEEE sobre Visión por Computadora, Pekín, 2005.
  12. JM Winn, J. Shotton: El campo aleatorio consistente en el diseño para el reconocimiento y la segmentación de objetos parcialmente ocluidos . CVPR (1) 2006: 37–44