Keypoints
I keypoint sono punti denominati, come le articolazioni di una persona, memorizzati come coordinate con un indicatore di visibilità. Come vengono definiti, annotati, previsti e utilizzati.
I keypoint sono punti specifici e identificabili su un oggetto, come il polso sinistro di una persona, il centro della ruota di un'auto o gli angoli di una scatola, rappresentati come coordinate nell'immagine. Un modello di stima della posa prevede un insieme fisso di keypoint per ogni oggetto rilevato, ciascuno con un punteggio di confidenza; i collegamenti tra i punti formano uno scheletro che rappresenta la postura e la forma. I keypoint indicano le parti di un oggetto e ne forniscono una descrizione più dettagliata rispetto a un riquadro di delimitazione intorno all'intero oggetto o a una maschera di segmentazione del suo contorno. Landmark è un sinonimo usato soprattutto per i volti.
Definire ed etichettare i keypoint#
Ogni dataset definisce il proprio insieme e il proprio ordine di keypoint. COCO definisce 17 keypoint per il corpo umano: naso, occhi, orecchie, spalle, gomiti, polsi, anche, ginocchia e caviglie. Ogni etichetta contiene una coordinata x e una y, oltre a un indicatore di visibilità: 0 per non etichettato, 1 per etichettato ma nascosto e 2 per etichettato e visibile. Altri insiemi riguardano altri soggetti, come i 21 punti del dataset dei keypoint della mano, lo schema facciale a 68 punti di 300-W, i 24 punti per cane di Dog-Pose o gli angoli di un componente industriale. Poiché l'ordine è significativo, un'aumento dei dati che capovolge un'immagine orizzontalmente deve anche scambiare ogni keypoint sinistro con il corrispondente destro; altrimenti, il polso sinistro nell'immagine capovolta manterrebbe l'etichetta dell'altro braccio.
Come i modelli prevedono i keypoint#
I modelli di deep learning prevedono i punti chiave come mappe di calore, una per punto chiave, il cui picco ne indica la posizione, oppure regredendo direttamente le coordinate dalle caratteristiche dell'immagine. Ogni previsione è accompagnata da una confidenza che diminuisce per i punti chiave nascosti dietro un'altra persona, tagliati dal bordo dell'inquadratura o sfocati dal movimento, così le applicazioni possono ignorare i punti con bassa confidenza invece di affidarsi a una stima. Le previsioni vengono valutate con la similarità dei punti chiave degli oggetti (OKS), che tollera errori più grandi nei punti chiave etichettati in modo meno coerente, come le anche, rispetto a quelli precisi, come gli occhi.
from ultralytics import YOLO
# Load a YOLO26 pose model that predicts the 17 COCO body keypoints per person
model = YOLO("yolo26n-pose.pt")
results = model("https://ultralytics.com/images/bus.jpg")
keypoints = results[0].keypoints
# COCO order: index 0 is the nose, 9 and 10 are the left and right wrists
for index, name in [(0, "nose"), (9, "left wrist"), (10, "right wrist")]:
x, y = keypoints.xy[0, index].tolist()
print(f"{name}: ({x:.0f}, {y:.0f}), confidence {keypoints.conf[0, index]:.2f}")Ogni riga indica un keypoint della prima persona rilevata come posizione in pixel e valore di confidenza, mentre keypoints.xyn contiene le stesse posizioni normalizzate rispetto alle dimensioni dell'immagine.
Keypoint semantici e punti d'interesse#
I keypoint della posa sono semantici: un modello impara l'aspetto di un polso sinistro. I punti d'interesse, invece, vengono individuati da un rilevatore e non definiti in anticipo. SIFT (1999) individua regioni che restano stabili al variare della scala e della rotazione, ORB (2011) rileva angoli abbastanza velocemente da consentire la mappatura in tempo reale e SuperPoint (2018) apprende a trovare punti ripetibili. Un descrittore calcolato intorno a ogni punto consente a sistemi di corrispondenza come LightGlue di collegare lo stesso punto tra immagini per la registrazione delle immagini, la ricostruzione 3D e lo SLAM visivo; il tracciamento dei punti segue poi questi punti nel video.
Misurare con i keypoint#
I keypoint trasformano un'immagine in geometria: due keypoint forniscono una distanza, tre un angolo articolare e una sequenza di frame una velocità. La soluzione Ultralytics per il monitoraggio degli allenamenti conta le ripetizioni degli esercizi in questo modo; per impostazione predefinita, misura l'angolo del gomito destro usando i keypoint 6, 8 e 10 (spalla, gomito e polso destri) di un modello di stima della posa YOLO26 per ogni persona tracciata:
- Analisi sportiva: gli angoli articolari e la velocità degli arti ricavati dai keypoint descrivono, frame per frame, un colpo di golf, la falcata di un velocista o il movimento di lancio di un lanciatore.
- Monitoraggio del conducente: i landmark degli occhi e della bocca misurano per quanto tempo gli occhi restano chiusi e con quale frequenza il conducente sbadiglia, due segnali di sonnolenza.
- Comportamento animale: DeepLabCut traccia punti definiti dall'utente su animali da laboratorio, come la posizione delle zampe e del muso, e ha raggiunto una precisione pari a quella umana con circa 200 frame etichettati.










