Guía de detección de puntos de referencia de posiciones

La tarea MediaPipe Pose Landmarker te permite detectar puntos de referencia de cuerpos humanos en una imagen o un video. Puedes usar esta tarea para identificar ubicaciones clave del cuerpo, analizar la postura y categorizar los movimientos. En esta tarea, se usan modelos de aprendizaje automático (AA) que funcionan con imágenes o videos individuales. La tarea muestra los puntos de referencia de las posturas del cuerpo en coordenadas de imágenes y en coordenadas mundiales tridimensionales.

Probar

Comenzar

Comienza a utilizar esta tarea siguiendo la guía de implementación para tu plataforma de segmentación. En estas guías específicas de la plataforma, se explica la implementación básica de esta tarea, incluidos un modelo recomendado y un ejemplo de código con las opciones de configuración recomendadas:

Detalles de la tarea

En esta sección, se describen las capacidades, entradas, salidas y opciones de configuración de esta tarea.

Funciones

  • Procesamiento de imágenes de entrada: El procesamiento incluye la rotación, el cambio de tamaño, la normalización y la conversión del espacio de color de las imágenes.
  • Umbral de puntuación: Filtra los resultados en función de las puntuaciones de predicción.
Entradas de tareas Resultados de la tarea
El marcador de posición acepta una entrada de uno de los siguientes tipos de datos:
  • Imágenes fijas
  • Fotogramas de video decodificados
  • Feed de video en vivo
El marcador de posición de la posición genera los siguientes resultados:
  • Posiciona puntos de referencia en coordenadas normalizadas de imágenes
  • Posiciona puntos de referencia en coordenadas mundiales
  • Opcional: Una máscara de segmentación para la pose.

Opciones de configuración

Esta tarea incluye las siguientes opciones de configuración:

Nombre de la opción Descripción Rango de valores Valor predeterminado
running_mode Establece el modo de ejecución para la tarea. Existen tres modos:

IMAGE: El modo para entradas de una sola imagen.

VIDEO: Es el modo para los fotogramas decodificados de un video.

LIVE_STREAM: Es el modo para una transmisión en vivo de datos de entrada, como los que provienen de una cámara. En este modo, se debe llamar a resultListener para configurar un objeto de escucha a fin de recibir resultados de forma asíncrona.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
num_poses La cantidad máxima de poses que puede detectar el marcador de posiciones. Integer > 0 1
min_pose_detection_confidence La puntuación de confianza mínima para que la detección de poses se considere exitosa. Float [0.0,1.0] 0.5
min_pose_presence_confidence La puntuación de confianza mínima de la puntuación de presencia de pose en la detección de puntos de referencia de pose. Float [0.0,1.0] 0.5
min_tracking_confidence La puntuación de confianza mínima para que se considere exitoso el seguimiento de la postura. Float [0.0,1.0] 0.5
output_segmentation_masks Si Pose Landmarker genera una máscara de segmentación para la posición detectada. Boolean False
result_callback Configura el objeto de escucha de resultados para recibir los resultados del punto de referencia de forma asíncrona cuando Pose Landmarker está en el modo de transmisión en vivo. Solo se puede usar cuando el modo de ejecución está configurado en LIVE_STREAM ResultListener N/A

ajustables

El marcador de posición usa una serie de modelos para predecir puntos de referencia de poses. El primer modelo detecta la presencia de cuerpos humanos en el marco de una imagen y el segundo localiza puntos de referencia en los cuerpos.

Los siguientes modelos se empaquetan juntos en un paquete de modelos descargable:

  • Modelo de detección de poses: Detecta la presencia de cuerpos con algunos puntos de referencia clave de pose.
  • Modelo de punto de referencia de la postura: Agrega un mapeo completo de la pose. El resultado del modelo es una estimación de 33 puntos de referencia de pose tridimensionales.

Este paquete usa una red neuronal convolucional similar a MobileNetV2 y está optimizado para aplicaciones de fitness integradas en tiempo real. Esta variante del modelo BlazePose usa GHUM, una canalización de modelado de forma humana en 3D, para estimar la pose 3D completa del cuerpo de un individuo en imágenes o videos.

Paquete de modelos Forma de entrada Tipo de datos Model Cards Versiones
Punto de referencia de posición (lite) Detector de poses: 224 x 224 x 3
Punto de referencia de posición: 256 x 256 x 3
número de punto flotante 16 info Más reciente
Punto de referencia de posición (completo) Detector de poses: 224 x 224 x 3
Punto de referencia de posición: 256 x 256 x 3
número de punto flotante 16 info Más reciente
Punto de referencia de posición (intenso) Detector de poses: 224 x 224 x 3
Punto de referencia de posición: 256 x 256 x 3
número de punto flotante 16 info Más reciente

Modelo de punto de referencia de la posición

El modelo de punto de referencia de postura realiza un seguimiento de 33 ubicaciones de puntos de referencia del cuerpo, lo que representa la ubicación aproximada de las siguientes partes del cuerpo:

0 - nose
1 - left eye (inner)
2 - left eye
3 - left eye (outer)
4 - right eye (inner)
5 - right eye
6 - right eye (outer)
7 - left ear
8 - right ear
9 - mouth (left)
10 - mouth (right)
11 - left shoulder
12 - right shoulder
13 - left elbow
14 - right elbow
15 - left wrist
16 - right wrist
17 - left pinky
18 - right pinky
19 - left index
20 - right index
21 - left thumb
22 - right thumb
23 - left hip
24 - right hip
25 - left knee
26 - right knee
27 - left ankle
28 - right ankle
29 - left heel
30 - right heel
31 - left foot index
32 - right foot index

El resultado del modelo contiene coordenadas normalizadas (Landmarks) y coordenadas mundiales (WorldLandmarks) para cada punto de referencia.