La segmentación de imágenes es una técnica fundamental de la visión por ordenador (VC ) que consiste en dividir una imagen digital en varias regiones o segmentos distintos. El objetivo principal es asignar una etiqueta de clase a cada píxel de la imagen, esencialmente simplificando la representación de la imagen en algo más significativo y fácil de analizar por las máquinas. A diferencia de la detección de objetos, que identifica los objetos mediante recuadros rectangulares, la segmentación de imágenes proporciona una comprensión mucho más granular, a nivel de píxel, del contenido de la imagen, esbozando la forma exacta de los objetos. Esta precisión es crucial para las tareas que exigen un conocimiento espacial detallado.
Cómo funciona la segmentación de imágenes
Los algoritmos de segmentación de imágenes funcionan examinando una imagen píxel a píxel y agrupando los píxeles que comparten determinadas características -como el color, la intensidad, la textura o la ubicación espacial- en segmentos. Los primeros métodos se basaban en técnicas como el umbral, el crecimiento de regiones y la agrupación(K-Means, DBSCAN). Sin embargo, los enfoques modernos aprovechan en gran medida el aprendizaje profundo (AD), en particular las redes neuronales convolucionales (RNC). Estas redes neuronales aprenden características jerárquicas complejas directamente de los datos de entrenamiento para realizar una clasificación por píxeles. El resultado típico es una máscara de segmentación, una imagen en la que el valor de cada píxel corresponde a la etiqueta de clase a la que pertenece, resaltando visualmente los límites precisos de los objetos o regiones. Frameworks como PyTorch y TensorFlow se utilizan habitualmente para construir y entrenar estos modelos.
Tipos de segmentación de imágenes
Las tareas de segmentación de imágenes pueden variar en función de cómo se traten los objetos y las clases:
- Segmentación semántica: Asigna cada píxel a una categoría predefinida (por ejemplo, "coche", "carretera", "cielo"). No distingue entre diferentes instancias de la misma clase de objeto. Todos los coches, por ejemplo, compartirían la misma etiqueta.
- Segmentación de instancias: Va un paso más allá de la segmentación semántica al identificar y delinear cada instancia individual de objeto dentro de una imagen. Cada uno recibiría un identificador o máscara únicos, aunque pertenecieran a la misma clase. Esto es especialmente útil cuando es necesario contar o rastrear objetos individuales.
- Segmentación panóptica: Combina la segmentación semántica y la segmentación por instancias. Asigna una etiqueta de clase a cada píxel (como la segmentación semántica) e identifica unívocamente cada instancia de objeto (como la segmentación por instancias). Proporciona una comprensión global y unificada de la escena.
Distinguir la segmentación de imágenes de los términos relacionados
- Segmentación de imágenes vs. Detección de objetos: La detección de objetos dibuja recuadros delimitadores alrededor de los objetos, indicando su ubicación y clase. La segmentación de imágenes proporciona una máscara a nivel de píxel que esboza la forma exacta de cada objeto o región, ofreciendo más detalles que un simple recuadro.
- Segmentación de imágenes vs. Clasificación de imágenes: La clasificación de imágenes asigna una única etiqueta a toda la imagen (por ejemplo, "contiene un gato"). La segmentación de imágenes asigna una etiqueta a cada píxel dentro de la imagen, identificando múltiples objetos o regiones y sus formas.
- Segmentación de imágenes vs. Reconocimiento de imágenes: El reconocimiento de imágenes es un término más amplio para las tareas en las que la IA identifica objetos, personas, lugares, etc., en imágenes. La segmentación de imágenes es un tipo específico de reconocimiento de imágenes centrado en la partición a nivel de píxel.
Aplicaciones en el mundo real
El análisis detallado que proporciona la segmentación de imágenes permite numerosas aplicaciones:
- Análisis de imágenes médicas: La segmentación es fundamental para identificar y delinear tumores, órganos o anomalías en tomografías computarizadas, resonancias magnéticas y radiografías. Por ejemplo, los modelosYOLO Ultralytics pueden segmentar tumores con precisión, ayudando a los radiólogos en el diagnóstico y la planificación del tratamiento al cuantificar el tamaño y la forma exactos de las zonas afectadas, lo que a menudo es más informativo que limitarse a detectar su presencia con un cuadro delimitador. Varias técnicas de imagen médica se benefician significativamente de este nivel de detalle.
- Vehículos autónomos: Los coches autónomos dependen en gran medida de la segmentación para comprender su entorno a un nivel granular. Por ejemplo, segmentar la carretera, las marcas de los carriles, los peatones, otros vehículos y los obstáculos permite al coche circular con seguridad. Conocer con exactitud la zona conducible (segmentación de la carretera) frente a las zonas no conducibles (aceras, barreras) es crucial para planificar la trayectoria y alcanzar mayores niveles de automatización de la conducción.
- Análisis de imágenes de satélite: Se utiliza para la clasificación de la cubierta terrestre (identificación de bosques, masas de agua, zonas urbanas), el seguimiento de la deforestación y aplicaciones agrícolas como el seguimiento de cultivos(IA en agricultura).
- Fabricación: Detección de defectos o realización de inspecciones de calidad en líneas de montaje.
- Venta al por menor: Analizar la disposición de las estanterías o controlar el inventario.
Segmentación de imágenes y Ultralytics YOLO
Ultralytics YOLO como YOLOv8 y YOLO11proporcionan un rendimiento de vanguardia para tareas de segmentación de instancias, equilibrando velocidad y precisión para la inferencia en tiempo real. El marco de Ultralytics simplifica el proceso de entrenamiento de modelos de segmentación personalizados en conjuntos de datos como COCO o conjuntos de datos especializados como la segmentación de piezas de automóviles o grietas. Herramientas como Ultralytics HUB ofrecen una plataforma racionalizada para gestionar conjuntos de datos, entrenar modelos(entrenamiento en la nube disponible) y desplegarlos. Puedes explorar la documentación de la tarea de segmentación para conocer los detalles de la implementación o seguir guías como la segmentación con modelos YOLOv8 preentrenados o la segmentación de imágenes con YOLO11 en Google Colab.