콘텐츠로 건너뛰기

포즈 추정

포즈 추정 예제

포즈 추정은 이미지 내 특정 지점의 위치를 식별하는 작업으로, 일반적으로 키포인트라고 합니다. 키포인트는 관절, 랜드마크 또는 기타 식별 가능한 특징과 같은 객체의 다양한 부분을 나타낼 수 있습니다. 키포인트의 위치는 일반적으로 2D [x, y] 또는 3D [x, y, visible] 좌표 집합으로 표현됩니다.

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



참고: Ultralytics YOLO11 포즈 추정 튜토리얼 | 실시간 객체 추적 및 인간 포즈 감지

YOLO11 pose 모델은 -pose 접미사(예: yolo11n-pose.pt)를 사용합니다. 이러한 모델은 COCO 키포인트 데이터셋으로 훈련되었으며 다양한 포즈 추정 작업에 적합합니다.

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

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

모델

Ultralytics YOLO11 사전 훈련된 포즈 모델이 여기에 표시되어 있습니다. Detect, Segment 및 Pose 모델은 COCO 데이터 세트에서 사전 훈련되었으며, Classify 모델은 ImageNet 데이터 세트에서 사전 훈련되었습니다.

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

모델 크기
(픽셀)
mAPpose
50-95
mAPpose
50
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLO11n-pose 640 50.0 81.0 52.4 ± 0.5 1.7 ± 0.0 2.9 7.6
YOLO11s-pose 640 58.9 86.3 90.5 ± 0.6 2.6 ± 0.0 9.9 23.2
YOLO11m-pose 640 64.9 89.4 187.3 ± 0.8 4.9 ± 0.1 20.9 71.7
YOLO11l-pose 640 66.1 89.9 247.7 ± 1.1 6.4 ± 0.1 26.2 90.7
YOLO11x-pose 640 69.5 91.1 488.0 ± 13.9 12.1 ± 0.2 58.8 203.3

Train

COCO8-pose 데이터 세트에서 YOLO11-pose 모델을 학습합니다. COCO8-pose 데이터 세트는 포즈 추정 모델을 테스트하고 디버깅하는 데 적합한 작은 샘플 데이터 세트입니다.

예시

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo11n-pose.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n-pose.yaml").load("yolo11n-pose.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.yaml pretrained=yolo11n-pose.pt epochs=100 imgsz=640

데이터 세트 형식

YOLO 포즈 데이터 세트 형식에 대한 자세한 내용은 데이터 세트 가이드에서 확인할 수 있습니다. 기존 데이터 세트를 다른 형식(COCO 등)에서 YOLO 형식으로 변환하려면 Ultralytics의 JSON2YOLO 도구를 사용하십시오.

사용자 지정 포즈 추정 작업의 경우 동물 포즈 추정을 위한 Tiger-Pose, 핸드 추적을 위한 Hand Keypoints 또는 개 포즈 분석을 위한 Dog-Pose와 같은 특수 데이터 세트를 탐색할 수도 있습니다.

Val

훈련된 YOLO11n-pose 모델을 검증합니다. 정확도 COCO8-pose 데이터셋에서. 인수는 필요하지 않습니다. model 훈련을 유지 data 하고 인수를 모델 속성으로 사용합니다.

예시

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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 contains map50-95 of each category
metrics.pose.map  # map50-95(P)
metrics.pose.map50  # map50(P)
metrics.pose.map75  # map75(P)
metrics.pse.maps  # a list contains map50-95(P) of each category
yolo pose val model=yolo11n-pose.pt # val official model
yolo pose val model=path/to/best.pt # val custom model

예측

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

예시

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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)
yolo pose predict model=yolo11n-pose.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo pose predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model

전체 predict 모드에 대한 자세한 내용은 예측 페이지를 참조하세요.

내보내기

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

예시

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo11n-pose.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model

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

형식 format 인수 모델 메타데이터 인수
PyTorch - yolo11n-pose.pt -
TorchScript torchscript yolo11n-pose.torchscript imgsz, half, dynamic, optimize, nms, batch, device
ONNX onnx yolo11n-pose.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n-pose_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n-pose.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n-pose.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n-pose_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n-pose.pb imgsz, batch, device
TF Lite tflite yolo11n-pose.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n-pose_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n-pose_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n-pose_paddle_model/ imgsz, batch, device
MNN mnn yolo11n-pose.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n-pose_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n-pose_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n-pose_rknn_model/ imgsz, batch, name, device

전체 export 세부 정보는 내보내기 페이지를 참조하세요.

FAQ

Ultralytics YOLO11을 사용한 포즈 추정은 무엇이며 어떻게 작동합니까?

Ultralytics YOLO11을 사용한 포즈 추정은 이미지에서 키포인트로 알려진 특정 지점을 식별하는 것을 포함합니다. 이러한 키포인트는 일반적으로 객체의 관절 또는 기타 중요한 특징을 나타냅니다. 출력에는 다음이 포함됩니다. [x, y] 각 지점에 대한 좌표와 신뢰도 점수를 제공합니다. YOLO11-pose 모델은 이 작업을 위해 특별히 설계되었으며, -pose 와 같은 접미사를 사용합니다. yolo11n-pose.pt와 같은 데이터 세트에서 사전 훈련되었습니다. COCO 키포인트 다양한 자세 추정 작업에 사용할 수 있습니다. 자세한 내용은 다음 페이지를 참조하십시오. 자세 추정 페이지.

커스텀 데이터셋으로 YOLO11-pose 모델을 어떻게 훈련할 수 있나요?

사용자 정의 데이터 세트에서 YOLO11-pose 모델을 훈련하려면 YAML 파일로 정의된 새 모델 또는 사전 훈련된 모델을 로드해야 합니다. 그런 다음 지정된 데이터 세트 및 파라미터를 사용하여 훈련 프로세스를 시작할 수 있습니다.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo11n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

학습에 대한 자세한 내용은 학습 섹션을 참조하십시오. 코드 없이 사용자 지정 포즈 추정 모델을 학습하려면 Ultralytics HUB를 사용할 수도 있습니다.

훈련된 YOLO11-pose 모델을 어떻게 검증하나요?

YOLO11-pose 모델의 유효성 검사는 훈련 중에 유지된 동일한 데이터 세트 파라미터를 사용하여 정확도를 평가하는 것을 포함합니다. 다음은 예시입니다.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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 섹션을 참조하십시오.

YOLO11-pose 모델을 다른 형식으로 내보낼 수 있나요? 가능하다면 어떻게 해야 하나요?

예, YOLO11-pose 모델을 ONNX, CoreML, TensorRT 등과 같은 다양한 형식으로 내보낼 수 있습니다. 이는 python 또는 CLI(명령줄 인터페이스)를 사용하여 수행할 수 있습니다.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom trained model

# Export the model
model.export(format="onnx")

자세한 내용은 내보내기 섹션을 참조하십시오. 내보낸 모델은 피트니스 추적, 스포츠 분석 또는 로보틱스와 같은 실시간 애플리케이션을 위해 엣지 장치에 배포할 수 있습니다.

사용 가능한 Ultralytics YOLO11-pose 모델과 성능 지표는 무엇인가요?

Ultralytics YOLO11은 YOLO11n-pose, YOLO11s-pose, YOLO11m-pose 등과 같은 다양한 사전 훈련된 포즈 모델을 제공합니다. 이러한 모델은 크기, 정확도(mAP) 및 속도가 다릅니다. 예를 들어 YOLO11n-pose 모델은 50.0의 mAPpose50-95와 81.0의 mAPpose50을 달성합니다. 전체 목록 및 성능 세부 정보는 모델 섹션을 참조하십시오.



📅 1년 전에 생성됨 ✏️ 3개월 전에 업데이트됨

댓글