Meet YOLO26: next-gen vision AI.

Link to this sectionMapeo de objetos VisionEye View utilizando Ultralytics YOLO26 🚀#

Link to this section¿Qué es el mapeo de objetos VisionEye?#

VisionEye de Ultralytics YOLO26 ofrece a las computadoras la capacidad de identificar y localizar objetos, simulando la precisión observacional del ojo humano. Esta funcionalidad permite que las computadoras disciernan y se enfoquen en objetos específicos, de manera similar a como el ojo humano observa los detalles desde un punto de vista determinado.

VisionEye object mapping with YOLO tracking

Mapeo VisionEye utilizando Ultralytics YOLO
# Monitor objects position with visioneye
yolo solutions visioneye show=True

# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"

# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"

Link to this sectionArgumentos de VisionEye#

Aquí tienes una tabla con los argumentos de VisionEye:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo YOLO de Ultralytics.
vision_pointtuple[int, int](20, 20)El punto donde la visión rastreará objetos y dibujará trayectorias usando la solución VisionEye.

También puedes utilizar varios argumentos de track dentro de la solución VisionEye:

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento a utilizar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1Establece el umbral de confianza para las detecciones; valores más bajos permiten el seguimiento de más objetos, pero pueden incluir falsos positivos.
ioufloat0.7Establece el umbral de Intersection over Union (IoU) para filtrar detecciones superpuestas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo rastrea las clases especificadas.
verboseboolTrueControla la visualización de los resultados de seguimiento, proporcionando una salida visual de los objetos rastreados.
devicestrNoneEspecifica el dispositivo para la inferencia (p. ej., cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, una GPU específica u otros dispositivos de computación para la ejecución del modelo.

Además, se admiten algunos argumentos de visualización, como se enumera a continuación:

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi es True, muestra las imágenes o vídeos anotados en una ventana. Útil para una retroalimentación visual inmediata durante el desarrollo o las pruebas.
line_widthint or NoneNoneEspecifica el ancho de línea de los cuadros delimitadores. Si es None, el ancho de línea se ajusta automáticamente según el tamaño de la imagen. Proporciona personalización visual para mayor claridad.
show_confboolTrueMuestra la puntuación de confianza para cada detección junto a la etiqueta. Proporciona información sobre la certeza del modelo para cada detección.
show_labelsboolTrueMuestra las etiquetas para cada detección en la salida visual. Proporciona una comprensión inmediata de los objetos detectados.

Link to this sectionCómo funciona VisionEye#

VisionEye funciona estableciendo un punto de visión fijo en el fotograma y trazando líneas desde este punto hasta los objetos detectados. Esto simula cómo la visión humana se enfoca en múltiples objetos desde un único punto de vista. La solución utiliza seguimiento de objetos para mantener una identificación consistente de los objetos a través de los fotogramas, creando una representación visual de la relación espacial entre el observador (punto de visión) y los objetos en la escena.

El método process en la clase VisionEye realiza varias operaciones clave:

  1. Extrae seguimientos (cuadros delimitadores, clases y máscaras) de la imagen de entrada
  2. Crea un anotador para dibujar cuadros delimitadores y etiquetas
  3. Para cada objeto detectado, dibuja una etiqueta de cuadro y crea una línea de visión desde el punto de visión
  4. Devuelve la imagen anotada con estadísticas de seguimiento

Este enfoque es particularmente útil para aplicaciones que requieren conciencia espacial y visualización de relaciones entre objetos, tales como sistemas de vigilancia, navegación autónoma e instalaciones interactivas.

Link to this sectionAplicaciones de VisionEye#

El mapeo de objetos VisionEye tiene numerosas aplicaciones prácticas en diversas industrias:

  • Seguridad y vigilancia: Monitorea múltiples objetos de interés desde una posición fija de cámara
  • Análisis minorista: Rastrea los patrones de movimiento de los clientes en relación con las exhibiciones de la tienda
  • Análisis deportivo: Analiza el posicionamiento y movimiento de los jugadores desde la perspectiva de un entrenador
  • Vehículos autónomos: Visualiza cómo un vehículo "ve" y prioriza los objetos en su entorno
  • Interacción humano-computadora: Crea interfaces más intuitivas que responden a las relaciones espaciales

Al combinar VisionEye con otras soluciones de Ultralytics como el cálculo de distancia o la estimación de velocidad, puedes construir sistemas integrales que no solo rastrean objetos, sino que también comprenden sus relaciones espaciales y comportamientos.

Link to this sectionNota#

Para cualquier consulta, no dudes en publicar tus preguntas en la sección de problemas de Ultralytics o en la sección de discusión que se menciona a continuación.

Link to this sectionFAQ#

Link to this section¿Cómo empiezo a usar el mapeo de objetos VisionEye con Ultralytics YOLO26?#

Para empezar a utilizar el mapeo de objetos VisionEye con Ultralytics YOLO26, primero deberás instalar el paquete Ultralytics YOLO a través de pip. Luego, puedes usar el código de muestra proporcionado en la documentación para configurar la detección de objetos con VisionEye. Aquí tienes un ejemplo sencillo para empezar:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
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("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init vision eye object
visioneye = solutions.VisionEye(
    show=True,  # display the output
    model="yolo26n.pt",  # use any model that Ultralytics supports, e.g., YOLOv10
    classes=[0, 2],  # generate visioneye view for specific classes
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break

    results = visioneye(im0)

    print(results)  # access the output

    video_writer.write(results.plot_im)  # write the video file

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Link to this section¿Por qué debería usar Ultralytics YOLO26 para el mapeo y seguimiento de objetos?#

Ultralytics YOLO26 es reconocido por su velocidad, precisión y facilidad de integración, lo que lo convierte en una opción líder para el mapeo y seguimiento de objetos. Sus ventajas clave incluyen:

  1. Rendimiento de vanguardia: Ofrece una alta precisión en la detección de objetos en tiempo real.
  2. Flexibilidad: Admite varias tareas, tales como detección, seguimiento y cálculo de distancia.
  3. Comunidad y soporte: Documentación extensa y una comunidad activa en GitHub para solución de problemas y mejoras.
  4. Facilidad de uso: La API intuitiva simplifica tareas complejas, permitiendo una implementación e iteración rápidas.

Para obtener más información sobre aplicaciones y beneficios, consulta la documentación de Ultralytics YOLO26.

Link to this section¿Cómo puedo integrar VisionEye con otras herramientas de aprendizaje automático como Comet o ClearML?#

Ultralytics YOLO26 puede integrarse sin problemas con diversas herramientas de aprendizaje automático como Comet y ClearML, mejorando el seguimiento de experimentos, la colaboración y la reproducibilidad. Sigue las guías detalladas sobre cómo usar YOLOv5 con Comet e integrar YOLO26 con ClearML para empezar.

Para una mayor exploración y ejemplos de integración, consulta nuestra Guía de integraciones de Ultralytics.

Comentarios