Segmentación (procesamiento de imágenes)

Por otro lado, uno de los casos más sofisticados es la segmentación semántica que clasifica objetos diversos.

Mask R-CNN es un segmentador semántico que clasifica 90 categorías del dataset COCO, reconociendo personas, vehículos, vegetación, calle, vereda, edificios, y demás elementos típicos en escenas urbanas.

La mínima clasificación posible es la que discrimina dos categorías; es un caso frecuente y se la denomina segmentación binaria.

Todos los algoritmos de segmentación operan sobre una imagen, típicamente a color o en blanco y negro, y generan otra imagen, artificial, del mismo tamaño que la analizada, en la que cada píxel expresa una etiqueta.

Los segmentadores binarios son los que tienen solo dos categorías, usualmente denominadas frente y fondo.

Estos métodos requieren que el usuario aporte indicaciones sobre la región de la imagen a segmentar.

Livewire es una técnica interactiva que traza el borde del segmento a partir de puntos indicados por el usuario.

Por este motivo los anteriores a 2015 son calificados como "clásicos", y solo sobrevivieron a la obsolescencia los dedicados a segmentaciones de bajo nivel, como la umbralización o la segmentación por color y algunas notables excepciones como GrabCut y Watershed.El estado del arte en 2018 estuvo dado por el modelo Mask R-CNN, segmentador semántico e instanciado entrenado sobre el dataset COCO, que distingue 90 categorías de objetos comunes.

La umbralización pertenece a esta categoría, y salvo esta excepción la segmentación por color no tiene particular relevancia en problemas de visión artificial, pero sí lo tiene en procesamiento de imágenes, por los efectos visuales que logra.

En esta técnica, un histograma se calcula a partir de todos los píxeles de la imagen, y los picos y valles en el histograma se utilizan para localizar los grupos en la imagen (el color o la intensidad pueden ser usados como medida).

El algoritmo de K-means es una técnica iterativa que se utiliza para dividir una imagen en K clusters.

El algoritmo básico es: En este caso, la varianza es la diferencia absoluta entre un píxel y el centro del clúster.

La diferencia se basa típicamente en color, la intensidad, la textura, y la localización del pixel, o una combinación ponderada de estos factores.

Este algoritmo garantiza la convergencia, pero puede devolver una solución que no sea óptima.

El modelo requiere que los atributos del objeto correspondan a los elementos de un espacio vectorial.

El objetivo es intentar alcanzar la mínima varianza total entre clusters, o, la función de error al cuadrado.

Se construye una nueva partición, asociando cada punto con el centro de gravedad más cercano.

En cuanto al rendimiento, el algoritmo no garantiza que se devuelva un óptimo global.

Para segmentar un objeto a partir de una imagen sin embargo, es necesario que los bordes formen figuras cerradas.

Comienza con una única región A1 - el píxel elegido aquí no influyen significativamente en la segmentación final.

En cada iteración se considera los píxeles vecinos de la misma manera que con el algoritmo anterior.

Además, pueden utilizarse para definir un marco de optimización como el propuesto por Zhao, Merriman y Osher en 1996.

que propuso un hyperstack para definir las relaciones probabilísticas entre las estructuras de la imagen a diferentes escalas.

En 1989, Eckhorn presentó un modelo neuronal para emular el mecanismo de la corteza visual del gato.

Los estímulos externos y locales se combinan en un sistema de activación interna, que acumula los estímulos hasta que se excede un umbral dinámico, dando como resultado una salida de pulsos.

Una observación muy importante hecha por los autores de FCN es que las capas totalmente conectadas pueden ser vistas como una convolución con filtros que cubren completamente la entrada, esto es equivalente a evaluar la red original de clasificación solapando ventanas, pero es más eficiente debido a que los cálculos son compartidos en las regiones donde se solapan las mismas.

DeepLab (versión 1 y 2) salen a la luz en los artículos “Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs” en diciembre de 2014 y “DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs” en junio de 2016 respectivamente, estos modelos usan convoluciones dilatadas, proponen una pirámide de dilatación espacial (ASPP) y usan CRFs totalmente conectados para el post-procesamiento.

Debido a que las capas totalmente conectadas son impracticables, esta arquitectura propone utilizar convoluciones de grandes kernels.

Esta arquitectura usa ResNet sin ninguna dilatación para el codificador, mientras que GCNs y deconvoluciones para el decodificador.

La segmentación es un problema general de la visión artificial y se suele usar como etapa en un proceso más complejo.

Segmentación binaria por umbralización, con umbral automático
3 métodos de segmentación asistida. Los métodos de izquierda y derecha requieren que el usuario indique con verde algunos de los píxeles incluidos en el objeto a segmentar, y con azul algunos de los píxeles que no se deben incluir. El método del medio requiere indicar con un recuadro rojo el objeto a segmentar.
Imagen a segmentar
Segmentación en 16 grupos (clusters) de color, logrando un efecto de posterizado
Segmentación en dos grupos de color