Pose Estimation
L’estimation de pose localise des points clés, comme les articulations, pour décrire la position d’un corps ou d’un objet. Découvre les méthodes descendantes, ascendantes et à une seule étape, ainsi que OKS.
L’estimation de pose est la tâche de vision par ordinateur qui consiste à localiser un ensemble prédéfini de points clés sur un corps ou un objet, comme les épaules, les coudes et les genoux d’une personne, puis à les relier pour former un squelette qui décrit sa posture. Un modèle renvoie les coordonnées dans l’image de chaque point clé, ou sa position en 3D, ainsi qu’un score de confiance, afin que les applications puissent mesurer les angles des articulations, compter les répétitions ou reconnaître des actions. L’estimation de pose décrit comment chaque personne se tient ou se déplace, ce qu’une boîte englobante issue de la détection d’objets ou un masque issu de la segmentation d’instances ne permet pas de représenter.
Fonctionnement de l’estimation de pose#
Les estimateurs de pose 2D multi-personnes suivent l’une de trois stratégies, la troisième étant similaire aux détecteurs d’objets à une étape :
- Approche descendante : un détecteur de personnes repère toutes les personnes dans l’image, puis un modèle monoculaire prédit les points clés dans chaque recadrage, comme HRNet (2019) et ViTPose (2022). La précision est élevée pour les personnes grandes et bien visibles, mais le coût augmente avec leur nombre.
- Approche ascendante : le réseau repère tous les points clés de l’image en une seule fois, puis les regroupe par personne. OpenPose (2017) relie les articulations à l’aide de champs d’affinité des parties, des vecteurs 2D orientés le long de chaque membre ; son coût reste donc presque constant dans les foules.
- À une étape : le réseau prédit en un seul passage la boîte d’une personne et tous ses points clés à partir du même emplacement de la grille, sans recadrage ni étape de regroupement. YOLO-Pose (2022) a introduit cette conception dans YOLO.
Les positions des points clés sont obtenues à partir de cartes thermiques, une carte de probabilité par point clé dont le pic indique la position, ou par régression directe des coordonnées. Les cartes thermiques ont dominé les benchmarks pendant des années, mais elles coûtent en mémoire et sont limitées par la résolution de la carte. En 2021, la méthode Residual Log-likelihood Estimation (RLE) a réduit l’écart de précision de la régression en apprenant la distribution de l’erreur de prédiction à l’aide d’un flux normalisant. Les modèles de pose YOLO26 sont des régresseurs à une étape entraînés avec RLE : pendant l’entraînement, une branche supplémentaire prédit l’incertitude de chaque point clé et un flux RealNVP évalue l’erreur. Ces deux éléments sont supprimés lors de la fusion du modèle pour l’inférence et n’ajoutent donc aucun coût d’inférence.
from ultralytics import YOLO
# Charge un modèle de pose YOLO26 nano entraîné sur les 17 points clés du corps de COCO
model = YOLO("yolo26n-pose.pt")
# Repère en un seul passage toutes les personnes et leurs points clés
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# La forme est (personnes, points clés, xy) ; enregistre l’image avec les squelettes dessinés
print(result.keypoints.xy.shape)
result.save(filename="pose_result.jpg")La forme affichée correspond au nombre de personnes détectées, multiplié par 17 points clés et par 2 coordonnées de pixel. L’image enregistrée affiche le squelette de chaque personne.
Estimation de pose 2D et 3D#
Les estimateurs 2D renvoient des coordonnées en pixels. L’estimation de pose humaine 3D retrouve les positions des articulations dans l’espace en projetant une séquence de points clés 2D à l’aide d’un second réseau, comme dans VideoPose3D, en triangulant les points clés observés par plusieurs caméras calibrées ou en ajustant à l’image un maillage corporel paramétrique tel que SMPL. L’estimation de pose d’objet est une tâche distincte : elle retrouve la rotation et la translation 3D d’un objet rigide, souvent à partir de points clés sur sa surface, pour la saisie robotique et la réalité augmentée.
Évaluer l’estimation de pose#
Le benchmark COCO Keypoints, qui comprend environ 250 000 personnes annotées avec 17 points clés, évalue les prédictions avec la similarité des points clés des objets (OKS), l’équivalent pour les points clés de l’intersection sur union (IoU). Pour chaque point clé annoté, la distance d entre la prédiction et l’annotation devient une similarité exp(-d²/(2s²k²)), où s² est la surface segmentée de la personne et k une constante propre à chaque point clé, mesurée selon la cohérence du placement de ce point clé par les annotateurs. L’OKS fait la moyenne de ces termes sur les points clés annotés, et la précision moyenne (mAP) est calculée sur des seuils OKS allant de 0,50 à 0,95.
import numpy as np
# COCO falloff constants: annotators place eyes far more consistently than hips
sigmas = {"eye": 0.025, "hip": 0.107}
area = 20_000 # person's segmented area in pixels (s squared)
error = 5.0 # predicted keypoint lies 5 pixels from its label
# Per-keypoint OKS term: exp(-d^2 / (2 s^2 k^2)) with k = 2 * sigma
for name, sigma in sigmas.items():
similarity = np.exp(-(error**2) / (2 * area * (2 * sigma) ** 2))
print(f"{name}: {similarity:.2f}")Une erreur de 5 pixels obtient un score de 0,78 pour un œil et de 0,99 pour une hanche. D’autres benchmarks utilisent d’autres mesures : MPII rapporte le PCKh, la proportion de points clés situés à moins d’une demi-taille de tête de leur annotation. Les benchmarks 3D comme Human3.6M rapportent l’erreur moyenne de position par articulation en millimètres.
Applications concrètes#
- Analyse sportive : les entraîneurs mesurent les angles des articulations, la longueur des foulées et la mécanique des mouvements à partir de vidéos ordinaires, sans les marqueurs réfléchissants de la capture de mouvement en laboratoire.
- Rééducation : les applications de physiothérapie suivent à domicile l’amplitude des mouvements et la bonne exécution des exercices. Les systèmes de détection des chutes surveillent les points clés du corps pour repérer quand celui-ci tombe au niveau du sol.
- Reconnaissance d’actions : les séquences de squelettes constituent des entrées compactes pour classer des actions comme saluer, tomber ou soulever un objet, sans tenir compte des vêtements ni de l’arrière-plan.
- Recherche sur les animaux : des ensembles de points clés personnalisés suivent la posture des animaux, par exemple les 24 points clés par chien du jeu de données Dog-Pose, afin d’étudier leur démarche et leur comportement.










