Meet YOLO26: next-gen vision AI.

Link to this section포즈 추정(Pose Estimation)#

YOLO pose estimation with human body keypoint detection

포즈 추정은 일반적으로 키포인트(keypoints)라고 불리는 이미지 내 특정 지점의 위치를 식별하는 작업입니다. 키포인트는 관절, 랜드마크 또는 기타 뚜렷한 특징과 같이 객체의 다양한 부분을 나타낼 수 있습니다. 키포인트의 위치는 일반적으로 2D [x, y] 좌표 세트로 표현되며, 선택적으로 가시성 플래그를 포함하여 [x, y, visible]로 나타냅니다.

포즈 추정 모델의 출력은 이미지 내 객체의 키포인트를 나타내는 일련의 포인트이며, 일반적으로 각 포인트에 대한 신뢰도 점수가 함께 제공됩니다. 포즈 추정은 장면 내 객체의 특정 부분과 서로의 상대적 위치를 식별해야 할 때 유용한 선택입니다.



Watch: How to Run Real-Time Pose Estimation with Ultralytics YOLO26 | Tracking & Keypoints Extraction 🕺

YOLO26 pose 모델은 -pose 접미사를 사용합니다(예: yolo26n-pose.pt). 이 모델들은 COCO keypoints 데이터셋으로 학습되었으며 다양한 포즈 추정 작업에 적합합니다.

기본 YOLO26 포즈 모델에는 17개의 키포인트가 있으며, 각 키포인트는 인체의 서로 다른 부분을 나타냅니다. 각 인덱스와 해당 신체 관절의 매핑은 다음과 같습니다:

  1. 왼쪽 눈
  2. 오른쪽 눈
  3. 왼쪽 귀
  4. 오른쪽 귀
  5. 왼쪽 어깨
  6. 오른쪽 어깨
  7. 왼쪽 팔꿈치
  8. 오른쪽 팔꿈치
  9. 왼쪽 손목
  10. 오른쪽 손목
  11. 왼쪽 엉덩이
  12. 오른쪽 엉덩이
  13. 왼쪽 무릎
  14. 오른쪽 무릎
  15. 왼쪽 발목
  16. 오른쪽 발목

Link to this section모델#

Ultralytics YOLO26 사전 학습된 Pose 모델은 여기에 표시됩니다. Detect, Segment 및 Pose 모델은 COCO 데이터셋으로 사전 학습되었으며, Semantic 모델은 Cityscapes로, Classify 모델은 ImageNet 데이터셋으로 사전 학습되었습니다.

모델은 처음 사용할 때 최신 Ultralytics 릴리스에서 자동으로 다운로드됩니다.

모델크기
(픽셀)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7
  • mAPval 값은 COCO Keypoints val2017 데이터셋에 대한 단일 모델 단일 스케일 기준입니다.
    yolo val pose data=coco-pose.yaml device=0 명령어로 재현할 수 있습니다.
  • 속도Amazon EC2 P4d 인스턴스를 사용하여 COCO val 이미지에서 평균을 낸 값입니다.
    yolo val pose data=coco-pose.yaml batch=1 device=0|cpu 명령어로 재현할 수 있습니다.
  • 파라미터(Params)FLOPs 값은 Conv 및 BatchNorm 레이어를 병합하고 엔드투엔드(end2end) 모델의 경우 보조 일대다(one-to-many) 감지 헤드를 제거하는 model.fuse() 이후의 융합 모델 기준입니다. 사전 학습된 체크포인트는 전체 학습 아키텍처를 유지하므로 더 높은 수치를 보일 수 있습니다.

Link to this section학습(Train)#

COCO8-pose 데이터셋으로 YOLO26-pose 모델을 학습합니다. COCO8-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)

전체 train 모드 상세 정보는 Train 페이지를 참조하십시오. 포즈 모델은 Ultralytics Platform을 통해 클라우드 GPU에서 학습할 수도 있습니다.

Link to this section데이터셋 형식#

YOLO 포즈 데이터셋 형식은 Dataset Guide에서 자세히 확인할 수 있습니다. 기존 데이터셋을 다른 형식(예: COCO 등)에서 YOLO 형식으로 변환하려면 Ultralytics의 JSON2YOLO 도구를 사용하십시오. Ultralytics Platform은 사람, 손, 얼굴 및 사용자 정의 키포인트 레이아웃을 위한 내장 골격 템플릿을 사용하여 포즈 어노테이션을 지원합니다.

사용자 정의 포즈 추정 작업을 위해 동물 포즈 추정을 위한 Tiger-Pose, 손 추적을 위한 Hand Keypoints, 또는 개 포즈 분석을 위한 Dog-Pose와 같은 특화된 데이터셋을 탐색할 수 있습니다.

Link to this section검증(Val)#

COCO8-pose 데이터셋에서 학습된 YOLO26n-pose 모델의 정확도(accuracy)를 검증합니다. model이 학습 data와 인수를 모델 속성으로 유지하므로 인수가 필요하지 않습니다.

예시
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 FN

Link to this section추론(Predict)#

학습된 YOLO26n-pose 모델을 사용하여 이미지에 대한 예측을 실행합니다. predict 모드를 사용하면 이미지, 비디오 또는 실시간 스트림에서 추론을 수행할 수 있습니다.

예시
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)

전체 predict 모드 세부 정보는 Predict 페이지를 확인하십시오.

Link to this section결과 출력#

포즈 추정은 이미지당 하나의 Results 객체를 반환합니다. 주요 예측 필드는 포즈 좌표를 위한 result.keypoints와 해당 키포인트가 속한 감지된 인스턴스를 위한 result.boxes입니다.

속성유형모양설명
result.keypointsKeypoints(N)키포인트.
result.keypoints.datatorch.float32(N,K,2/3)x,y 및 선택적 가시성/신뢰도.
result.keypoints.xytorch.float32(N,K,2)픽셀 키포인트.
result.keypoints.xyntorch.float32(N,K,2)정규화된 키포인트.
result.boxesBoxes(N)인스턴스 박스.

모든 작업에 걸친 작업별 Results 필드는 작업별 예측 결과 섹션을 참조하십시오.

Link to this section내보내기(Export)#

YOLO26n Pose 모델을 ONNX, CoreML 등과 같은 다른 형식으로 내보냅니다. 이를 통해 실시간 추론을 위해 다양한 플랫폼과 장치에 모델을 배포할 수 있습니다.

예시
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")

사용 가능한 YOLO26-pose 내보내기 형식은 아래 표에 있습니다. format 인수를 사용하여 모든 형식으로 내보낼 수 있습니다(예: format='onnx' 또는 format='engine'). 내보낸 모델에서 직접 예측하거나 검증할 수 있습니다(예: yolo predict model=yolo26n-pose.onnx). 내보내기가 완료된 후 모델에 대한 사용 예시가 표시됩니다.

형식format 인수모델메타데이터인수
PyTorch-yolo26n-pose.pt-
TorchScripttorchscriptyolo26n-pose.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n-pose.onnximgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n-pose_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n-pose.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n-pose.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n-pose_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n-pose.pbimgsz, batch, device
TF Litetfliteyolo26n-pose.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n-pose_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n-pose_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n-pose_paddle_model/imgsz, batch, device
MNNmnnyolo26n-pose.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n-pose_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n-pose_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n-pose_rknn_model/imgsz, batch, name, int8, data, fraction, device
ExecuTorchexecutorchyolo26n-pose_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n-pose_axelera_model/imgsz, batch, int8, data, fraction, device
DEEPXdeepxyolo26n-pose_deepx_model/imgsz, int8, data, optimize, device
Qualcomm QNNqnnyolo26n-pose_qnn_model/imgsz, batch, name, int8, data, fraction, device

전체 export 세부 사항은 Export 페이지에서 확인하십시오.

Link to this sectionFAQ#

Link to this sectionUltralytics YOLO26을 이용한 포즈 추정이란 무엇이며 어떻게 작동합니까?#

Pose estimation with Ultralytics YOLO26 involves identifying specific points, known as keypoints, in an image. These keypoints typically represent joints or other important features of the object. The output includes the [x, y] coordinates and confidence scores for each point. YOLO26-pose models are specifically designed for this task and use the -pose suffix, such as yolo26n-pose.pt. These models are pretrained on datasets like COCO keypoints and can be used for various pose estimation tasks. For more information, visit the Pose Estimation Page.

Link to this section사용자 정의 데이터셋에서 YOLO26-pose 모델을 학습하려면 어떻게 해야 합니까?#

사용자 정의 데이터셋에서 YOLO26-pose 모델을 학습하는 것은 YAML 파일로 정의된 새 모델이나 사전 학습된 모델을 로드하는 것을 포함합니다. 그런 다음 지정한 데이터셋과 매개변수를 사용하여 학습 프로세스를 시작할 수 있습니다.

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)

학습에 대한 포괄적인 상세 정보는 Train 섹션을 참조하십시오. 또한 Ultralytics Platform을 사용하여 코드 없이 사용자 정의 포즈 추정 모델을 학습할 수도 있습니다.

Link to this section학습된 YOLO26-pose 모델을 어떻게 검증합니까?#

YOLO26-pose 모델의 검증은 학습 중에 유지된 동일한 데이터셋 매개변수를 사용하여 정확도를 평가하는 것을 포함합니다. 다음은 그 예시입니다:

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

자세한 내용은 Val 섹션을 방문하십시오.

Link to this sectionYOLO26-pose 모델을 다른 형식으로 내보낼 수 있습니까? 내보내는 방법은 무엇입니까?#

네, YOLO26-pose 모델을 ONNX, CoreML, TensorRT 등 다양한 형식으로 내보낼 수 있습니다. 이는 Python 또는 명령줄 인터페이스(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")

Refer to the Export Section for more details. Exported models can be deployed on edge devices for real-time applications like fitness tracking, sports analysis, or robotics.

Link to this section사용 가능한 Ultralytics YOLO26-pose 모델과 그 성능 지표는 무엇입니까?#

Ultralytics YOLO26은 YOLO26n-pose, YOLO26s-pose, YOLO26m-pose 등 다양한 사전 학습된 포즈 모델을 제공합니다. 이 모델들은 크기, 정확도(mAP) 및 속도 면에서 차이가 있습니다. 예를 들어, YOLO26n-pose 모델은 57.2의 mAPpose50-95와 83.3의 mAPpose50을 달성합니다. 전체 목록과 성능 상세 정보는 Models 섹션을 방문하십시오.

댓글