Path: blob/master/site/es-419/lite/models/pose_estimation/overview.md
25118 views
Estimación de la pose
La estimación de la pose es la tarea de usar un modelo ML para estimar la pose de una persona a partir de una imagen o un vídeo mediante la estimación de las ubicaciones espaciales de las articulaciones clave del cuerpo (puntos clave).
Empecemos
Si es nuevo en TensorFlow Lite y trabaja con Android o iOS, explore las siguientes aplicaciones de ejemplo que pueden ayudarle a empezar.
Ejemplo de Android Ejemplo de iOS
Si está familiarizado con las APIs TensorFlow Lite, descargue el modelo de estimación de pose MoveNet de inicio y los archivos de apoyo.
Si desea probar la estimación de pose en un navegador web, eche un vistazo a la TensorFlow JS Demo.
Descripción del modelo
Cómo funciona
La estimación de la pose se refiere a las técnicas de visión por computadora que detectan figuras humanas en imágenes y vídeos, de forma que se pueda determinar, por ejemplo, dónde aparece el codo de alguien en una imagen. Es importante ser consciente del hecho de que la estimación de la pose se limita a estimar dónde están las articulaciones clave del cuerpo y no reconoce quién aparece en una imagen o un vídeo.
Los modelos de estimación de la pose toman como entrada una imagen de cámara procesada y emiten información sobre los puntos clave. Los puntos clave detectados se indexan mediante un ID de pieza, con una puntuación de confianza entre 0.0 y 1.0. Las puntuaciones de confianza indican la probabilidad de que exista un punto clave en esa posición.
Proporcionamos la implementación de referencia de dos modelos de estimación de la pose de TensorFlow Lite:
MoveNet: el modelo de estimación de poses más avanzado disponible en dos versiones: Lighting y Thunder. Vea una comparación entre estos dos en la sección siguiente.
PoseNet: el modelo de estimación de la pose de la generación anterior lanzado en 2017.
Las distintas articulaciones del cuerpo detectadas por el modelo de estimación de la pose se tabulan a continuación:
Id | Parte |
---|---|
0 | nose |
1 | leftEye |
2 | rightEye |
3 | leftEar |
4 | rightEar |
5 | leftShoulder |
6 | rightShoulder |
7 | leftElbow |
8 | rightElbow |
9 | leftWrist |
10 | rightWrist |
11 | leftHip |
12 | rightHip |
13 | leftKnee |
14 | rightKnee |
15 | leftAnkle |
16 | rightAnkle |
A continuación se muestra un ejemplo de salida:
Puntos de referencia del rendimiento
MoveNet está disponible en dos versiones:
MoveNet.Lightning es más pequeño, más rápido pero menos preciso que la versión Thunder. Puede funcionar en tiempo real en los smartphones modernos.
MoveNet.Thunder es la versión más precisa pero también más grande y lenta que Lightning. Es útil para los casos de uso que requieren una precisión más alta.
MoveNet supera a PoseNet en diversos conjuntos de datos, especialmente en las imágenes de acciones de fitness. Por lo tanto, recomendamos usar MoveNet en lugar de PoseNet.
Los números de referencia del rendimiento se generan con la herramienta descrita aquí. Las cifras de precisión (mAP) se miden en un subconjunto del conjunto de datos COCO en el que filtramos y recortamos cada imagen para que contenga una sola persona .
Modelo | Tamaño (MB) | mAP | Latencia (ms) | ||
---|---|---|---|---|---|
Pixel 5 - 4 hilos de CPU | Pixel 5 - GPU | Raspberry Pi 4 - 4 hilos de CPU | |||
MoveNet.Thunder (FP16 cuantizado) | 12.6 MB | 72.0 | 155 ms | 45 ms | 594 ms |
MoveNet.Thunder (INT8 cuantizado) | 7.1 MB | 68.9 | 100 ms | 52 ms | 251 ms |
MoveNet.Lightning (FP16 cuantizado) | 4.8 MB | 63.0 | 60 ms | 25 ms | 186 ms |
MoveNet.Lightning (INT8 cuantizado) | 2.9 MB | 57.4 | 52 ms | 28 ms | 95 ms |
PoseNet(MobileNetV1 backbone, FP32) | 13.3 MB | 45.6 | 80 ms | 40 ms | 338 ms |
Lecturas y recursos complementarios
Visite este artículo de blog para saber más sobre la estimación de la pose usando MoveNet y TensorFlow Lite.
Consulte este artículo de blog para saber más sobre la estimación de la pose en la web.
Vea este tutorial para aprender a ejecutar MoveNet en Python usando un modelo de TensorFlow Hub.
Coral/EdgeTPU puede hacer que la estimación de la pose se ejecute mucho más rápido en los dispositivos periféricos. Consulte EdgeTPU-optimized models para más detalles.
Lea el documento de PoseNet aquí
Además, eche un vistazo a estos casos de uso de la estimación de la pose.