Link to this sectionEstimativa de pose#
A estimativa de pose é uma tarefa que envolve identificar a localização de pontos específicos em uma imagem, geralmente chamados de keypoints (pontos-chave). Os keypoints podem representar várias partes do objeto, como articulações, marcos ou outras características distintas. As localizações dos keypoints são geralmente representadas como um conjunto de coordenadas [x, y] em 2D, opcionalmente com um sinalizador de visibilidade [x, y, visible].
A saída de um modelo de estimativa de pose é um conjunto de pontos que representam os keypoints em um objeto na imagem, geralmente junto com as pontuações de confiança para cada ponto. A estimativa de pose é uma boa escolha quando você precisa identificar partes específicas de um objeto em uma cena e sua localização em relação umas às outras.
Watch: How to Run Real-Time Pose Estimation with Ultralytics YOLO26 | Tracking & Keypoints Extraction 🕺
Os modelos pose do YOLO26 usam o sufixo -pose, por exemplo, yolo26n-pose.pt. Esses modelos são treinados no conjunto de dados COCO keypoints e são adequados para uma variedade de tarefas de estimativa de pose.
No modelo de pose padrão do YOLO26, existem 17 keypoints, cada um representando uma parte diferente do corpo humano. Aqui está o mapeamento de cada índice para sua respectiva articulação corporal:
- Nariz
- Olho Esquerdo
- Olho Direito
- Orelha Esquerda
- Orelha Direita
- Ombro Esquerdo
- Ombro Direito
- Cotovelo Esquerdo
- Cotovelo Direito
- Pulso Esquerdo
- Pulso Direito
- Quadril Esquerdo
- Quadril Direito
- Joelho Esquerdo
- Joelho Direito
- Tornozelo Esquerdo
- Tornozelo Direito
Link to this sectionModelos#
Os modelos de Pose pré-treinados do Ultralytics YOLO26 são mostrados aqui. Modelos de Detecção (Detect), Segmentação (Segment) e Pose são pré-treinados no conjunto de dados COCO, modelos Semânticos são pré-treinados no Cityscapes, e modelos de Classificação (Classify) são pré-treinados no conjunto de dados ImageNet.
Os Modelos são baixados automaticamente da versão mais recente do Ultralytics no primeiro uso.
| Modelo | tamanho (pixels) | mAPpose 50-95(e2e) | mAPpose 50(e2e) | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n-pose | 640 | 57.2 | 83.3 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.5 |
| YOLO26s-pose | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 23.9 |
| YOLO26m-pose | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.1 |
| YOLO26l-pose | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.3 |
| YOLO26x-pose | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 201.7 |
- Os valores de mAPval são para modelo único em escala única no conjunto de dados COCO Keypoints val2017.
Reproduza comyolo val pose data=coco-pose.yaml device=0 - A Velocidade (Speed) é calculada com base na média das imagens de validação do COCO usando uma instância Amazon EC2 P4d.
Reproduza comyolo val pose data=coco-pose.yaml batch=1 device=0|cpu - Os valores de Parâmetros (Params) e FLOPs são para o modelo fundido após
model.fuse(), que mescla camadas Conv e BatchNorm e, para modelos end-to-end, remove a cabeça de detecção auxiliar one-to-many. Checkpoints pré-treinados mantêm a arquitetura de treinamento completa e podem apresentar contagens maiores.
Link to this sectionTreinar#
Treine um modelo YOLO26-pose no conjunto de dados COCO8-pose. O conjunto de dados COCO8-pose é um pequeno conjunto de dados de amostra perfeito para testar e depurar seus modelos de estimativa de pose.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-pose.yaml") # build a new model from YAML
model = YOLO("yolo26n-pose.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo26n-pose.yaml").load("yolo26n-pose.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)Veja detalhes completos do modo train na página Treinar. Modelos de pose também podem ser treinados em GPUs na nuvem através da Plataforma Ultralytics.
Link to this sectionFormato do conjunto de dados#
O formato do conjunto de dados de pose YOLO pode ser encontrado em detalhes no Guia de Conjuntos de Dados. Para converter seu conjunto de dados existente de outros formatos (como COCO etc.) para o formato YOLO, utilize a ferramenta JSON2YOLO da Ultralytics. A Plataforma Ultralytics também suporta anotação de pose com modelos de esqueleto integrados para pessoas, mãos, rostos e layouts de keypoints personalizados.
Para tarefas personalizadas de estimativa de pose, você também pode explorar conjuntos de dados especializados como Tiger-Pose para estimativa de pose animal, Hand Keypoints para rastreamento de mãos, ou Dog-Pose para análise de pose canina.
Link to this sectionValidar#
Valide a precisão do modelo YOLO26n-pose treinado no conjunto de dados COCO8-pose. Nenhum argumento é necessário, pois o model retém seus dados (data) de treinamento e argumentos como atributos do modelo.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-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 containing mAP50-95 for each category
metrics.box.image_metrics # per-image metrics dictionary for box with precision, recall, F1, TP, FP, and FN
metrics.pose.map # map50-95(P)
metrics.pose.map50 # map50(P)
metrics.pose.map75 # map75(P)
metrics.pose.maps # a list containing mAP50-95(P) for each category
metrics.pose.image_metrics # per-image metrics dictionary for pose with precision, recall, F1, TP, FP, and FNLink to this sectionPrever#
Use um modelo YOLO26n-pose treinado para realizar previsões em imagens. O modo predict permite que você execute inferência em imagens, vídeos ou fluxos em tempo real.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-pose.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
# Access the results
for result in results:
xy = result.keypoints.xy # x and y coordinates
xyn = result.keypoints.xyn # normalized
kpts = result.keypoints.data # x, y, visibility (if available)Veja os detalhes completos do modo predict na página Previsão.
Link to this sectionSaída de Resultados#
A estimativa de pose retorna um objeto Results por imagem. Os campos de previsão primários são result.keypoints para as coordenadas da pose e result.boxes para as instâncias detectadas às quais esses keypoints pertencem.
| Atributo | Tipo | Forma | Descrição |
|---|---|---|---|
result.keypoints | Keypoints | (N) | Keypoints. |
result.keypoints.data | torch.float32 | (N,K,2/3) | x,y mais visibilidade/confiança opcional. |
result.keypoints.xy | torch.float32 | (N,K,2) | Keypoints em pixels. |
result.keypoints.xyn | torch.float32 | (N,K,2) | Keypoints normalizados. |
result.boxes | Boxes | (N) | Caixas de instância. |
Para campos de Results específicos de cada tarefa em todas as tarefas, veja a seção Resultados de Previsão por Tarefa.
Link to this sectionExportar#
Exporte um modelo YOLO26n Pose para um formato diferente como ONNX, CoreML, etc. Isso permite que você implante seu modelo em várias plataformas e dispositivos para inferência em tempo real.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-pose.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom-trained model
# Export the model
model.export(format="onnx")Os formatos de exportação disponíveis para o YOLO26-pose estão na tabela abaixo. Você pode exportar para qualquer formato usando o argumento format, por exemplo, format='onnx' ou format='engine'. Você pode prever ou validar diretamente em modelos exportados, por exemplo, yolo predict model=yolo26n-pose.onnx. Exemplos de uso são mostrados para seu modelo após a conclusão da exportação.
| Formato | Argumento format | Modelo | Metadados | Argumentos |
|---|---|---|---|---|
| PyTorch | - | yolo26n-pose.pt | ✅ | - |
| TorchScript | torchscript | yolo26n-pose.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n-pose.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n-pose_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n-pose.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n-pose.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n-pose_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n-pose.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n-pose.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n-pose_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n-pose_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n-pose_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n-pose.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n-pose_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n-pose_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n-pose_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n-pose_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n-pose_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n-pose_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n-pose_qnn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
Veja detalhes completos de export na página Export.
Link to this sectionFAQ#
Link to this sectionO que é Estimativa de Pose com Ultralytics YOLO26 e como funciona?#
A estimativa de pose com o Ultralytics YOLO26 envolve a identificação de pontos específicos, conhecidos como keypoints, em uma imagem. Esses keypoints normalmente representam articulações ou outras características importantes do objeto. A saída inclui as coordenadas [x, y] e pontuações de confiança para cada ponto. Os modelos YOLO26-pose são projetados especificamente para esta tarefa e usam o sufixo -pose, como yolo26n-pose.pt. Esses modelos são pré-treinados em conjuntos de dados como COCO keypoints e podem ser usados para várias tarefas de estimativa de pose. Para mais informações, visite a Página de Estimativa de Pose.
Link to this sectionComo posso treinar um modelo YOLO26-pose em um conjunto de dados personalizado?#
Treinar um modelo YOLO26-pose em um conjunto de dados personalizado envolve carregar um modelo, seja um novo modelo definido por um arquivo YAML ou um modelo pré-treinado. Você pode então iniciar o processo de treinamento usando seu conjunto de dados e parâmetros especificados.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-pose.yaml") # build a new model from YAML
model = YOLO("yolo26n-pose.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)Para detalhes abrangentes sobre treinamento, consulte a Seção de Treinamento. Você também pode usar a Plataforma Ultralytics para uma abordagem sem código para treinar modelos personalizados de estimativa de pose.
Link to this sectionComo valido um modelo YOLO26-pose treinado?#
A validação de um modelo YOLO26-pose envolve avaliar sua precisão usando os mesmos parâmetros de conjunto de dados retidos durante o treinamento. Aqui está um exemplo:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-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 rememberedPara mais informações, visite a Seção de Validação.
Link to this sectionPosso exportar um modelo YOLO26-pose para outros formatos, e como?#
Sim, você pode exportar um modelo YOLO26-pose para vários formatos como ONNX, CoreML, TensorRT, entre outros. Isso pode ser feito usando Python ou a Interface de Linha de Comando (CLI).
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-pose.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom-trained model
# Export the model
model.export(format="onnx")Consulte a Seção de Exportação para mais detalhes. Modelos exportados podem ser implantados em dispositivos de borda para aplicações em tempo real como rastreamento de fitness, análise esportiva ou robótica.
Link to this sectionQuais são os modelos YOLO26-pose da Ultralytics disponíveis e suas métricas de desempenho?#
O Ultralytics YOLO26 oferece vários modelos de pose pré-treinados, como YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, entre outros. Esses modelos diferem em tamanho, precisão (mAP) e velocidade. Por exemplo, o modelo YOLO26n-pose atinge um mAPpose50-95 de 57.2 e um mAPpose50 de 83.3. Para uma lista completa e detalhes de desempenho, visite a Seção de Modelos.