YOLOv8 Pose: la pose estimation que transforma la visión artificial

¡Hola!👋Soy Henry Navarro Hernández

Matemático, apasionado de los datos y la IA

Tabla de contenidos

Piensa un momento en una máquina que tiene el don de la vista, como si tuviera un par de ojos digitales. Pero con la capacidad no solo de ver sino de comprender, interpretar y tomar decisiones basadas en lo que observa. Esta capacidad abre posibilidades en diferentes áreas como la robótica, la seguridad y el entretenimiento.

Ha pasado un largo tiempo desde que las máquinas solo podían entender ceros y unos. Pero gracias a la visión artificial, ahora pueden analizar y comprender el mundo visual que les rodea. Pueden reconocer rostros en las fotos, distinguir objetos e incluso evaluar patrones. ¿Has pensado en cómo nuestros teléfonos móviles pueden hacer cosas como organizar fotos por ubicación o sugerir efectos para mejorar nuestras imágenes? Todo esto es posible gracias a la visión artificial.

Bueno, en el campo de la visión artificial, hay herramientas increíbles que están haciendo que lo imposible se vuelva realidad. Una de estas joyas es YOLOv8 Pose, una tecnología que representa un salto gigantesco en la detección y clasificación de objetos en tiempo real. ¿Estás listo para explorar cómo todo esto funciona en detalle? Acompáñame mientras te guío paso a paso en el entrenamiento del modelo de pose estimation YOLOv8 Pose utilizando el aprendizaje profundo.

¿Qué es la Visión Artificial? + Ejemplos

La visión artificial o la visión por computadora o en inglés Computer vision (CV) son términos similares que se refieren al campo de estudio centrado en el desarrollo de algoritmos y sistemas que permiten a las máquinas interpretar y procesar información visual de la misma manera que los humanos con ojos y cerebro.

Numerosas empresas líderes han integrado la visión artificial en su funcionamiento diario llevando su tecnología a otro nivel. Aquí tienes algunos ejemplos donde se utiliza esta tecnología de forma innovadora:

CaixaBank

Esta entidad bancaria top en España está utilizando tecnologías increíbles como la visión artificial y modelo YOLOv8 Pose para el reconocimiento facial en sus sucursales. Ahora, los clientes pueden identificarse rápidamente sin tener que buscar la tarjeta o recordar el PIN. ¿Cómo lo hacen? Pues, están empleando un modelo llamado YOLOv8 Pose que básicamente analiza las caras de los clientes. Este modelo fue entrenado con un montón de fotos de caras humanas, y ya está en más de 1.000 sucursales. La gente lo adora porque es más cómodo y seguro que los métodos antiguos.

Pero espera, hay más CaixaBank está utilizando YOLOv8 Pose para detectar objetos en las imágenes de nuestras transacciones. Este modelo ha sido entrenado con fotos de tarjetas de crédito y débito, así como con objetos comunes ayudando a reducir el número de casos de fraude.

Facebook (reconocimiento facial)

El sistema de reconocimiento facial de Facebook emplea algoritmos de aprendizaje profundo, que son una forma de inteligencia artificial, para analizar características faciales únicas y crear representaciones digitales llamadas «vectores de características» lo que permite identificar a una persona en diferentes fotos, incluso si la pose o iluminación cambia.

Además la visión artificial permite a la aplicación transformar tus fotos y videos en algo más allá de lo ordinario con el uso de filtros y efectos identifican los contornos y características de tu rostro. Luego, aplica una transformación basada en el filtro seleccionado, por ejemplo si escoges un filtro de envejecimiento la aplicación puede simular cómo se verían los rasgos de la cara con el paso del tiempo, basándose en características que ha detectado. Permitiendo así manipular y comprender la imagen en tiempo real gracias a la tecnología y la creatividad.

Inditex

En el mundo de la moda se está aprovechando la visión artificial para darle un giro moderno a las operaciones de fabricación y logística.

Imagínate esto: en las líneas de producción de Inditex, están usando visión artificial para examinar prendas de vestir y detectar cualquier defecto. Gracias a la instalación de cámaras que capturan imágenes de las prendas mientras van por la línea de producción. El software de visión artificial utiliza la pose estimation para señalar los keypoints en las prendas. Estos se usan para comparar las prendas con los estándares de calidad de Inditex. Si el software detecta un defecto, la prenda se saca de la línea para ser arreglada o eliminada.

Pero, no solo se quedan en la la inspección de prendas, sino que Inditex también está usando visión artificial para mantener en línea los niveles de inventario. Con cámaras dirigidas a las estanterías de las tiendas, el software usa la pose estimation para señalar los productos en esas estanterías.

Ahora, hablemos del campo que simplifica la dirección de keypoints la compresión espacial:

Pose estimation sin esfuerzo: simplificación en la detección de keypoints y la comprensión espacial

vision artificial 2

En los últimos años, el campo de la visión por computadora ha sido testigo de avances sin precedentes, debido gran parte de su progreso a las capacidades innovadoras del aprendizaje profundo y las herramientas de inteligencia artificial. Entre las muchas tareas que se han beneficiado de esta revolución, la estimación de pose se destaca como un problema fundamental y desafiante que juega un papel crucial en la visión artificial.

Modelos destacados para la pose estimation

Por un momento visualiza que las computadoras pueden ver al mundo con un ojo experto para los detalles. Eso es lo que hace la pose estimation en el campo de la visión artificial. Esta increíble tarea implica entender no sólo qué hay en una imagen, sino también la posición y orientación exactas de cada objeto o persona. Desde mejorar el rendimiento de atletas hasta dar a los robots la capacidad de moverse de manera autónoma, la pose estimation está en el corazón de muchas innovaciones tecnológicas que nos rodean.

AlphaPose

Este modelo se destaca por su alta precisión en la detección de keypoints en poses humanas, proporcionando una representación detallada y exacta de la postura. Además, su capacidad para detectar múltiples personas en una sola imagen o secuencia de video lo hace versátil en entornos con varios individuos. 

Lo más notable es su eficiencia en tiempo real, permitiendo el procesamiento y análisis de secuencias de vídeo con mínima demora, lo que lo convierte en una herramienta para aplicaciones que requieren una respuesta en tiempo casi real.

alphapose 2
Pose estimation utilizando AlphaPose framework 

OpenPose

Es un modelo de visión super ingenioso que actúa como una especie de ojo mágico digital que puede ver y seguir los keypoints en nuestro cuerpo. Para lograr todo esto Open pose combina un poco de aprendizaje automático con el procesamiento de imágenes. 

Imagina que pude detectar cosas como los ojos, la nariz, los dedos e incluso los talones. Y sabes que es lo mejor, este modelo es super poderoso y puede ser usado para un montón de cosas diferentes. Es una gran opción para los científicos y desarrolladores  que trabajan con la visión artificial.

openpose
Pose estimation utilizando el Framework OpenPose 

Detectron2 

Este modelo es una auténtica joya del mundo de la pose estimation y la visión artificial. Es como una caja de herramientas que te ayuda a identificar y dividir objetos en imágenes y videos. Es increíblemente útil en un montón de cosas de visión artificial, como identificar cosas en imágenes médicas o incluso para asegurarse de que la producción de una fábrica va bien.

Detectron
Pose estimation utilizando el Framework detectron2

En este artículo, nos centramos en el modelo de pose estimation YOLOv8 Pose de Ultralytics , que presenta un enfoque innovador para resolver los desafíos de la pose estimation mediante el aprendizaje profundo.

YOLOv8 Pose: 

¿Has oído hablar de YOLOv8 Pose? Es como una estrella del espectáculo en el mundo de la visión artificial, y viene directo de Ultralytics. Este modelo de detección de objetos, es como el super atleta de la visión por computadora, es rápido y preciso como ninguno.

Y lo mejor es que es una versión mejorada, prácticamente es un upgrade en todo ya que le dieron una red neuronal más potente, un método de entrenamiento mejor que hace el modelo aún más certero y hasta una nueva API que lo hace más fácil de usar y ajustar a lo que necesites.

YOLOv8Pose: Una nueva era en la pose estimation

Ahora te contamos las características especiales que tiene para detectar cosas en imágenes de forma rápida y precisa:

Primero su cerebro. YOLOv8 Pose tiene una forma de pensar, una arquitectura de red neuronal que es más lista y precisa que su versión anterior. Luego, se entrena de una manera súper efectiva, como si estuviera en un gimnasio para modelos de visión artificial. Empieza con un conocimiento básico y luego se ajusta específicamente para volverse un experto en detectar cosas en un tipo particular de imágenes.

Finalmente, su habilidad para comunicarse. Tiene una forma de hablar, una API que es como un lenguaje más fácil y flexible para los desarrolladores. Les da un montón de herramientas para hacer aplicaciones de detección de objetos.

Pose estimation con Ultralytics Framework

La pose estimation es como buscar puntos especiales, llamados keypoints, en una foto. Estos puntos son como las partes importantes de una imagen, como articulaciones o características únicas. Y lo interesante es que podemos decir dónde están usando coordenadas, ya sea en 2D [x, y] como en un dibujo, o en 3D [x, y, visible], donde «visible» nos dice si el punto es detectable. Así es como la computadora aprende a leer la imagen.

Yolov8 2 1 1
Pose estimation utilizando el Framework Ultralytics

El trabajo de un modelo de pose estimation es predecir donde están ubicados ciertos keypoints en objetos de una imagen y también decirnos que tan segura esta la máquina de esos keypoints. Este tipo de estimación se usa cuando necesitamos identificar muy detalladamente las partes de un objeto y cómo están colocadas entre sí.

Modelos de Ultralytics YOLOv8 Pose

El Framework Ultralytics YOLOv8  posee una especialización en pose estimation. Es como tener un experto en baile que puede identificar los movimientos clave de una persona. Con sus modelos de pose estimation, marcados con el -pose suffix (por ejemplo, yolov8n-pose.pt). ¿Recuerdas el conjunto de datos de keypoints COCO? Es como el banco de pruebas más famoso para evaluar cómo de bueno es un modelo en pose estimation. Ultralytics hizo un trabajo increíble al documentar todo de manera muy completa. Los fragmentos de código que te compartimos aquí provienen directamente de sus recursos, que están detallados de manera excelente. Así que tienes en tus manos una base sólida y confiable para tus proyectos de visión artificial.

Modelos de pose previamente entrenados

Ultralytics pone a tu disposición modelos de pose YOLOv8 Pose previamente entrenados con una variedad de tamaños y habilidades. Estos modelos han sido preparados con el conjunto de datos de keypoints de COCO y están listos para ser empleados en tus proyectos de visión artificial específicos de pose estimation. A continuación, encontrarás los detalles de algunos de los modelos disponibles:

yolov 8
Modelos preentrenados disponibles por Ultralytics.

Aprovecha el uso fácil de YOLOv8 Pose 

Usar un modelo de pose YOLOv8 Pose pre-entrenado para predecir keypoints es pan comido. Todo lo que necesitas hacer es darle una imagen al modelo y él hará el resto. Ahora te voy a mostrar cómo hacerlo, ¡es más sencillo de lo que crees!

Python 

From ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-pose.pt')  # Load an official model
model = YOLO('path/to/best.pt')  # Load a custom model

# Predict with the model
results = modelo('https://ultralytics.com/images/bus.jpg')  # Predict on an image

CLI

yolo pose predict model=yolov8n-pose.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo pose predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # predict with custom model

Hay un montón de recursos disponibles para hacer predicciones:

Tabla

Resultados

yolov8 resultados
Ejemplo de pose estimation utilizando el Framework Ultralytics .

Paso a paso: cómo entrenar tu modelo YOLOv8 Pose

Entrenar tu modelo de pose con YOLOv8 Pose utilizando el Framework Ultralytics es una tarea sencilla. Este Framework te ofrece formas de entrenar a través de Python y de comandos en la línea de consola. Tienes la opción de empezar desde cero o ajustar un modelo ya entrenado según tus necesidades en el campo de la visión artificial. Además, cuentas con ejemplos de código para guiar tu proceso de entrenamiento, ya sea que prefieras trabajar en Python o a través de la interfaz de línea de comandos.

Python


from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-pose.yaml')  # build a new model from YAML
model = YOLO('yolov8n-pose.pt')  # load a pretrained model (recommended for training)
model = YOLO('yolov8n-pose.yaml').load('yolov8n-pose.pt')  # build from YAML and transfer weights

# Train the model
results = model.train(data='coco8-pose.yaml', epochs=100, imgsz=640)

CLI

# Build a new model from YAML and start training from scratch
yolo pose train data=coco8-pose.yaml model=yolov8n-pose.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo pose train data=coco8-pose.yaml model=yolov8n-pose.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo pose train data=coco8-pose.yaml model=yolov8n-pose.yaml pretrained=yolov8n-pose.pt epochs=100 imgsz=640

Comprueba y has predicciones con tu modelo

Una vez que tengas tu modelo de pose YOLOv8 Pose listo, ya sea porque lo entrenaste o adquiriste uno previamente entrenado, es momento de ponerlo a prueba. Puedes verificar su precisión utilizando un conjunto de datos destinado a validar su rendimiento. Además, el Framework te da la capacidad de hacer predicciones en imágenes para que puedas ver en acción las habilidades de tu modelo

Python

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-pose.pt')  # load an official model
model = YOLO('path/to/best.pt')  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map    # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps   # a list contains map50-95 of each category

CLI

yolo pose val model=yolov8n-pose.pt  # val official model
yolo pose val model=path/to/best.pt  # val custom model

Exportando el modelo

Una vez que has entrenado tu modelo de pose estimation y estás satisfecho con los resultados, llega el momento de llevarlo más allá. Exportar tu modelo a formatos como ONNX o CoreML es una práctica estratégica en la visión artificial. Esto asegura que tu modelo se integre perfectamente en diversas aplicaciones y plataformas, mejorando su accesibilidad y versatilidad. 

Ya sea que lo implementes en dispositivos perimetrales, lo integres en una app móvil o lo formes parte de un proceso más amplio, la exportación desbloquea todo el potencial de tu solución de pose estimation en una amplia gama de situaciones. Así que, ¡cierra la brecha entre el desarrollo y el mundo real y haz que tus esfuerzos en la pose estimation brillen realmente! 

Además, con el Framework Ultralytics YOLOv8 Pose, exportar tu modelo es muy fácil. Puedes hacerlo en formatos como ONNX, CoreML, TensorFlow Lite, ¡y muchos más! Todos estos modelos tienen una licencia AGPL-3.0 de forma predeterminada. Sin embargo, si necesitas utilizarlos para investigación y desarrollo, o en proyectos y servicios comerciales manteniendo el control de tu trabajo, también tienes la opción de una licencia empresarial.

Python

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-pose.pt')  # load an official model
model = YOLO('path/to/best.pt')  # load a custom trained

# Export the model
model.export(format='onnx')

CLI

yolo export model=yolov8n-pose.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

Reflexion final

En una sociedad cada vez más visual, la visión artficial emerge como una tecnología precisa y asequible que pronto estará presente en una variedad de aplicaciones que no podremos imaginar. Una de las cosas más emocionantes es el desarrollo de modelos de aprendizaje automático que son verdaderas maravillas. Estos modelos tienen la capacidad de aprender de enormes cantidades de datos lo que los hace capaces de generar resultados más precisos que sus predecesores.

Sin embargo esto es solo el principio. YOLOv8 Pose es sin dudas, una joya en el mundo de la visión artificial. En los próximos años, esperamos que este modelo se despliegue en un espectro aún más amplio de aplicaciones. Imagina un mundo donde mejoremos la seguridad en el transporte, se automaticen tareas industriales y perfeccionemos el diagnóstico médico gracias a YOLOv8 Pose.

Te invitamos a probar, comprobar, predecir y analizar los resultados de los modelos que tiene YOLOv8 Pose para ti.  Así que, atrévete a entrar al mundo de posibilidades donde la visión artificial es solo el comienzo.

contacta

Desarrolla tu siguiente proyecto de Data, IA, Cloud o Transformación Digital con nosotros. Empieza hablando con nuestro equipo comercial.

Tech Matters

La Newsletter mensual para conocer los proyectos de tecnología e inteligencia artificial que están teniendo un impacto positivo en el mundo.

Plazas limitadas

Próximo evento
Lead&Inspire: Aplicación de IA en entornos de desarrollo de software