Ultralytics YOLO27:
Get Started

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 instanciasSegmentación de instancias + seguimiento de objetos
Segmentación de instancias de UltralyticsSegmentación de instancias con seguimiento de objetos de Ultralytics
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.

Segmentación de instancias con Ultralytics YOLO
# 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:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo Ultralytics YOLO.
line_widthint2Grosor de línea de los cuadros, puntos clave y recuentos que dibuja la solución.
verboseboolTrueActiva 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:

ArgumentoTipoPredeterminadoDescripción
trackerstr'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.
conffloat0.25Establece el umbral de confianza de las detecciones; los valores más bajos permiten seguir más objetos, pero pueden incluir falsos positivos.
ioufloat0.7Establece el umbral de intersección sobre unión (IoU) para filtrar las detecciones solapadas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo sigue las clases especificadas.
devicestrNoneEspecifica 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.
imgszint or tuple640Tamañ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_detint300Nú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.
quantizeint or strNonePrecisió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:

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi 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_confboolTrueMuestra 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_labelsboolTrueMuestra etiquetas para cada detección en la salida visual. Facilita la identificación inmediata de los objetos detectados.
show_boxesboolTrueDibuja 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.

Comentarios