Segmentación de instancias y seguimiento con Ultralytics YOLO26#
¿Qué es la segmentación de instancias?#
La segmentación de instancias es una tarea de visión artificial que consiste en identificar y delimitar objetos individuales de una imagen a nivel de píxel. A diferencia de la segmentación semántica, que solo clasifica los píxeles por categoría, la segmentación de instancias asigna etiquetas únicas y delimita con precisión cada instancia de objeto, por lo que es fundamental para aplicaciones que requieren una comprensión espacial detallada, como el diagnóstico por imagen, la conducción autónoma y la automatización industrial.
Ultralytics YOLO26 ofrece potentes capacidades de segmentación de instancias que permiten detectar con precisión los límites de los objetos, manteniendo la velocidad y la eficiencia por las que se conocen los modelos YOLO.
El paquete Ultralytics ofrece dos tipos de seguimiento de segmentación de instancias:
-
Segmentación de instancias con objetos de clase: A cada objeto de clase se le asigna un color único para distinguirlo visualmente con claridad.
-
Segmentación de instancias con seguimiento de objetos: Cada seguimiento se representa con un color distinto, lo que facilita su identificación y seguimiento a través de los fotogramas del vídeo.
Ver: Segmentación de instancias con seguimiento de objetos mediante Ultralytics YOLO26
Muestras#
| Segmentación de instancias | Segmentación de instancias + seguimiento de objetos |
|---|---|
![]() | ![]() |
| Segmentación de instancias de Ultralytics 😍 | Segmentación de instancias de Ultralytics con seguimiento de objetos 🔥 |
Segmenta y sigue con YOLO26#
La solución InstanceSegmentation ejecuta un modelo de segmentación YOLO26 en cada fotograma, dibuja máscaras para cada objeto y colorea cada instancia por separado para que puedas seguir objetos individuales en un vídeo. Carga un modelo -seg y ejecútalo en tu fuente con la API de Python o la CLI.
# Instance segmentation using Ultralytics YOLO26
yolo solutions isegment show=True
# Pass a source video
yolo solutions isegment source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"Argumentos de InstanceSegmentation#
Aquí tienes una tabla con los argumentos de InstanceSegmentation:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
model | str | None | Ruta a un archivo de modelo Ultralytics YOLO. |
line_width | int | 2 | Grosor de línea de los cuadros, puntos clave y recuentos que dibuja la solución. |
verbose | bool | True | Activa el registro por fotograma de la forma de entrada, los recuentos por clase y la velocidad de procesamiento de la solución. La llamada de seguimiento en sí siempre es silenciosa. |
También puedes aprovechar los argumentos track en la solución InstanceSegmentation:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Especifica el algoritmo de seguimiento que se va a usar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Establece el umbral de confianza de las detecciones; los valores más bajos permiten seguir más objetos, pero pueden incluir falsos positivos. |
iou | float | 0.7 | Establece el umbral de intersección sobre unión (IoU) para filtrar las detecciones solapadas. |
classes | list | None | Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo sigue las clases especificadas. |
device | str | None | Especifica el dispositivo para la inferencia (p. ej., cpu, cuda:0 o 0). Permite elegir entre CPU, una GPU concreta u otros dispositivos de cálculo para ejecutar el modelo. |
imgsz | int or tuple | 640 | Tamaño de imagen de destino para la inferencia: un entero para una imagen cuadrada o una pareja (height, width). Las dimensiones se ajustan al stride del modelo. |
max_det | int | 300 | Número máximo de detecciones que se conservan por fotograma antes del seguimiento, lo que limita los objetos que procesa una solución en escenas densas. |
quantize | int or str | None | Precisión de inferencia: 16 (FP16) o 32/unset (FP32) para los modelos PyTorch y TorchScript fuera de CPU; los demás formatos usan la precisión que seleccionen el artefacto y el entorno de ejecución. Sustituye al argumento obsoleto half. |
Además, están disponibles los siguientes argumentos de visualización:
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
show | bool | False | Si True, muestra las imágenes o los vídeos anotados en una ventana. Es útil para obtener información visual inmediata durante el desarrollo o las pruebas. |
show_conf | bool | True | Muestra la puntuación de confianza de cada detección junto a su etiqueta. Permite conocer el grado de certeza del modelo para cada detección. |
show_labels | bool | True | Muestra etiquetas para cada detección en la salida visual. Facilita la identificación inmediata de los objetos detectados. |
show_boxes | bool | True | Dibuja cuadros delimitadores alrededor de los objetos detectados. Es esencial para identificar visualmente y localizar objetos en imágenes o fotogramas de vídeo. |
Aplicaciones de la segmentación de instancias#
La segmentación de instancias con YOLO26 tiene numerosas aplicaciones reales en diversos sectores:
Gestión y reciclaje de residuos#
YOLO26 se puede utilizar en instalaciones de gestión de residuos para identificar y clasificar distintos tipos de materiales. El modelo puede segmentar residuos de plástico, cartón, metal y otros materiales reciclables con gran precisión, lo que permite a los sistemas de clasificación automatizados procesar los residuos de forma más eficiente. Esto es especialmente valioso si se tiene en cuenta que solo se recicla alrededor del 10 % de los 7 000 millones de toneladas de residuos plásticos que se generan en todo el mundo.
Vehículos autónomos#
En los coches autónomos, la segmentación de instancias ayuda a identificar y seguir peatones, vehículos, señales de tráfico y otros elementos de la carretera a nivel de píxel. Esta comprensión precisa del entorno es fundamental para la navegación y las decisiones de seguridad. El rendimiento en tiempo real de YOLO26 lo hace ideal para estas aplicaciones en las que el tiempo es crucial.
Diagnóstico por imagen#
La segmentación de instancias puede identificar y delimitar tumores, órganos o estructuras celulares en exploraciones médicas. La capacidad de YOLO26 para delimitar con precisión los límites de los objetos resulta valiosa para el diagnóstico médico y la planificación de tratamientos.
Supervisión de obras#
En las obras, la segmentación de instancias puede seguir maquinaria pesada, trabajadores y materiales. Esto ayuda a garantizar la seguridad al supervisar la ubicación de los equipos y detectar cuándo entran trabajadores en zonas peligrosas, además de optimizar el flujo de trabajo y la asignación de recursos.
Preguntas frecuentes#
Para realizar una segmentación de instancias con Ultralytics YOLO26, inicializa el modelo YOLO con una versión de YOLO26 para segmentación y procesa los fotogramas de vídeo con él. Aquí tienes un ejemplo de código simplificado:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" # Escritor de vídeo w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) video_writer = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) # Inicializar InstanceSegmentation isegment = solutions.InstanceSegmentation( show=True, # mostrar el resultado model="yolo26n-seg.pt", # model="yolo26n-seg.pt" para segmentar objetos con YOLO26. ) # Procesar el vídeo while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or processing is complete.") break results = isegment(im0) video_writer.write(results.plot_im) cap.release() video_writer.release() cv2.destroyAllWindows()Obtén más información sobre la segmentación de instancias en la guía de Ultralytics YOLO26.
La segmentación de instancias identifica y delimita objetos individuales en una imagen, y asigna a cada objeto una etiqueta y una máscara únicas. El seguimiento de objetos va un paso más allá y asigna identificadores coherentes a los objetos a través de los fotogramas del vídeo, lo que permite seguir continuamente los mismos objetos a lo largo del tiempo. Al combinar ambas técnicas, como en la implementación de YOLO26, obtienes potentes capacidades para analizar el movimiento y el comportamiento de los objetos en vídeos, sin perder información precisa sobre sus límites.
Ultralytics YOLO26 ofrece rendimiento en tiempo real, una precisión superior y facilidad de uso frente a otros modelos como Mask R-CNN o Faster R-CNN. YOLO26 procesa las imágenes en una sola pasada (detección de una etapa), por lo que es mucho más rápido y mantiene una gran precisión. Además, se integra fácilmente con Ultralytics Platform, lo que permite gestionar modelos, conjuntos de datos y canalizaciones de entrenamiento de forma eficiente. Para las aplicaciones que requieren velocidad y precisión, YOLO26 ofrece un equilibrio óptimo.
Sí, Ultralytics ofrece varios conjuntos de datos adecuados para entrenar modelos YOLO26 de segmentación de instancias, como COCO-Seg, COCO8-Seg (un subconjunto más pequeño para realizar pruebas rápidas), Package-Seg y Crack-Seg. Estos conjuntos de datos incluyen las anotaciones a nivel de píxel necesarias para las tareas de segmentación de instancias. Para aplicaciones más especializadas, también puedes crear conjuntos de datos personalizados siguiendo el formato de Ultralytics. Encontrarás toda la información sobre los conjuntos de datos y las instrucciones de uso en la documentación de conjuntos de datos de Ultralytics.

