Extracción de resultados de Ultralytics YOLOv8
Aprende a extraer cajas delimitadoras, máscaras, puntos clave y probabilidades de clase de los objetos Results de Ultralytics YOLOv8 y a utilizarlos en tu propio código Python.
Nuvola Ladi4 min de lectura
Ultralytics YOLOv8 es un modelo de visión artificial muy utilizado en tareas como la detección de objetos, la segmentación y el seguimiento. Tanto si eres un desarrollador con experiencia como si estás empezando en inteligencia artificial (AI), entender cómo extraer eficazmente los resultados de YOLOv8 puede mejorar considerablemente tus proyectos. En esta entrada del blog se explican los pasos prácticos para extraer y utilizar los resultados del modelo YOLOv8.
Configuración de Ultralytics YOLOv8#
Antes de empezar a extraer los resultados, es fundamental tener el modelo Ultralytics YOLOv8 instalado y en funcionamiento. Si estás empezando, puedes ver nuestros vídeos anteriores, en los que explicamos los conceptos básicos para configurar y utilizar modelos YOLO en distintas tareas de visión artificial. Para empezar a extraer resultados, asegúrate de que el modelo esté configurado correctamente:
- Inicialización del modelo: Inicializa el modelo Ultralytics YOLOv8 correctamente y asegúrate de elegir la configuración que mejor se adapte a tus necesidades específicas, ya sea para la detección de objetos o para tareas más complejas, como la estimación de pose.
- Ejecución de la inferencia: introduce los datos en el modelo para realizar la inferencia. Este proceso generará una lista de objetos Results, uno por imagen o fotograma, que te permitirá acceder a todos los datos de detección.
Comprender el objeto de resultados#
Cada objeto Results de Ultralytics YOLOv8 contiene todos los datos de detección que necesitas para seguir con tu proyecto, incluidos los siguientes:
- Cajas delimitadoras: usa
result.boxespara acceder a las coordenadas de los objetos detectados. - Máscaras y puntos clave: accede a las máscaras de segmentación y a los puntos clave para estimar la pose mediante
result.masksyresult.keypoints, respectivamente. - Probabilidades de clase:
result.probscontiene las probabilidades de clase de los modelos de clasificación, mientras queresult.boxes.confproporciona la puntuación de confianza de cada cuadro detectado, útil para filtrar detecciones.
Extraer datos para usos personalizados#
Para usar estos resultados en tus aplicaciones, sigue estos pasos:
- Convertir los datos para procesarlos: si ejecutas el modelo en una GPU, convierte los resultados al formato CPU con
.cpu()para poder manipularlos. - Acceder a las coordenadas de las cajas delimitadoras: recupera y manipula las coordenadas de las cajas delimitadoras directamente desde el objeto de resultados. Esto incluye acceder a coordenadas normalizadas o a atributos específicos, como la anchura y la altura.
- Gestionar las clasificaciones: extrae las clasificaciones principales para utilizar eficazmente los ID de clase y los niveles de confianza.
Aplicación práctica en código#
Para pasar de la teoría a la práctica, Nicolai Nielsen muestra cómo implementar estos conceptos en un script personalizado de Python con Visual Studio Code. El script incluye:
- Configurar una clase de detección: inicializa y configura tu modelo Ultralytics YOLOv8 dentro de una estructura de clase y prepáralo para recibir datos en directo.
- Extraer resultados: ejecuta la detección y extrae las cajas delimitadoras, las máscaras y las clasificaciones directamente del objeto de resultados.
- Utilizar los resultados: convierte los resultados a formatos que puedas usar, como JSON o CSV, o utilízalos directamente para dibujar cajas delimitadoras en imágenes o secuencias de vídeo.
Visualización y mucho más#
Aunque extraer datos sin procesar es fundamental, visualizar estas detecciones puede ofrecerte información inmediata sobre el rendimiento del modelo:
- Dibujar rectángulos: usa los datos de las cajas delimitadoras para dibujar rectángulos alrededor de los objetos detectados en las imágenes o los vídeos resultantes.
- Representación gráfica directa: utiliza el método integrado
result.plot()para visualizar las detecciones sin escribir código adicional.
Amplía tu conjunto de herramientas de IA con Ultralytics YOLOv8#
Dominar la extracción de resultados de Ultralytics YOLOv8 no solo aumenta las capacidades de tu proyecto, sino que también profundiza tu comprensión de los sistemas de detección de objetos.
Si sigues estos pasos, podrás adaptar las detecciones de Ultralytics YOLOv8 a tus necesidades específicas, tanto si desarrollas aplicaciones avanzadas basadas en AI como si realizas análisis de datos exhaustivos.
No te pierdas nuestros próximos tutoriales sobre Ultralytics YOLOv8 y otras tecnologías de AI. Únete a nuestra comunidad para estar al día de las últimas novedades y consulta nuestra documentación para obtener más información.
Escrito por
Comentarios
Haz una pregunta, comparte tus resultados o ayuda a otra persona.










