Ước tính tư thế
Ước tính tư thế là một nhiệm vụ liên quan đến việc xác định vị trí của các điểm cụ thể trong một hình ảnh, thường được gọi là các điểm chính. Các điểm chính có thể biểu diễn các phần khác nhau của đối tượng như khớp, điểm mốc hoặc các đặc điểm riêng biệt khác. Vị trí của các điểm chính thường được biểu diễn dưới dạng một tập hợp các điểm 2D [x, y]
hoặc 3D [x, y, visible]
tọa độ.
Đầu ra của mô hình ước lượng tư thế là một tập hợp các điểm biểu diễn các điểm chính trên một đối tượng trong hình ảnh, thường cùng với điểm tin cậy cho mỗi điểm. Ước lượng tư thế là một lựa chọn tốt khi bạn cần xác định các phần cụ thể của một đối tượng trong một cảnh và vị trí của chúng liên quan đến nhau.
Đồng hồ: Ultralytics YOLO11 Hướng dẫn ước tính tư thế | Theo dõi đối tượng thời gian thực và phát hiện tư thế của con người
Mẹo
YOLO11 tư thế các mô hình sử dụng -pose
hậu tố, tức là yolo11n-pose.pt
. Các mô hình này được đào tạo trên Điểm chính của COCO tập dữ liệu và phù hợp với nhiều nhiệm vụ ước tính tư thế khác nhau.
Trong mặc định YOLO11 mô hình tư thế, có 17 điểm chính, mỗi điểm đại diện cho một bộ phận khác nhau của cơ thể con người. Sau đây là bản đồ của từng chỉ số đến khớp cơ thể tương ứng:
0: Mũi 1: Mắt trái 2: Mắt phải 3: Tai trái 4: Tai phải 5: Vai trái 6: Vai phải 7: Khuỷu tay trái 8: Khuỷu tay phải 9: Cổ tay trái 10: Cổ tay phải 11: Hông trái 12: Hông phải 13: Đầu gối trái 14: Đầu gối phải 15: Mắt cá chân trái 16: Mắt cá chân phải
Mô hình
YOLO11 Các mô hình Pose được đào tạo trước được hiển thị ở đây. Các mô hình Detect, Segment và Pose được đào tạo trước trên tập dữ liệu COCO , trong khi các mô hình Classify được đào tạo trước trên tập dữ liệu ImageNet .
Các mô hình tải xuống tự động từ mới nhất Ultralytics phát hành ngay lần sử dụng đầu tiên.
Người mẫu | kích cỡ (điểm ảnh) |
tư thế mAP 50-95 |
tư thế mAP 50 |
Tốc độ CPU ONNX (bệnh đa xơ cứng) |
Tốc độ T4 TensorRT10 (bệnh đa xơ cứng) |
tham số (Nam) |
Thất bại (B) |
---|---|---|---|---|---|---|---|
YOLO11n-tư thế | 640 | 50.0 | 81.0 | 52,4 ± 0,5 | 1,7 ± 0,0 | 2.9 | 7.6 |
YOLO11s-tư thế | 640 | 58.9 | 86.3 | 90,5 ± 0,6 | 2,6 ± 0,0 | 9.9 | 23.2 |
YOLO11m-tư thế | 640 | 64.9 | 89.4 | 187,3 ± 0,8 | 4,9 ± 0,1 | 20.9 | 71.7 |
YOLO11l-tư thế | 640 | 66.1 | 89.9 | 247,7 ± 1,1 | 6,4 ± 0,1 | 26.2 | 90.7 |
YOLO11x-tư thế | 640 | 69.5 | 91.1 | 488,0 ± 13,9 | 12,1 ± 0,2 | 58.8 | 203.3 |
- giá trị mAP giá trị dành cho mô hình đơn lẻ đơn lẻ trên Điểm chính của COCO val2017 tập dữ liệu.
Sao chép bởiyolo val pose data=coco-pose.yaml device=0
- Tốc độ trung bình trên các hình ảnh COCO val sử dụng một Amazon EC2 P4d ví dụ.
Sao chép bởiyolo val pose data=coco-pose.yaml batch=1 device=0|cpu
Xe lửa
Đào tạo một YOLO11 -mô hình pose trên tập dữ liệu COCO8-pose.
Ví dụ
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
Định dạng tập dữ liệu
YOLO Định dạng tập dữ liệu pose có thể được tìm thấy chi tiết trong Hướng dẫn tập dữ liệu . Để chuyển đổi tập dữ liệu hiện tại của bạn từ các định dạng khác (như COCO, v.v.) sang YOLO định dạng, vui lòng sử dụng công cụ JSON2YOLO bằng Ultralytics .
Giá trị
Xác thực mô hình YOLO11n-pose đã được đào tạo sự chính xác trên tập dữ liệu COCO8-pose. Không cần đối số vì model
giữ lại sự đào tạo của mình data
và các đối số như các thuộc tính mô hình.
Ví dụ
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
Dự đoán
Sử dụng mô hình YOLO11n-pose đã được đào tạo để chạy dự đoán trên hình ảnh.
Ví dụ
Xem đầy đủ predict
chi tiết chế độ trong Dự đoán trang.
Xuất khẩu
Xuất mô hình YOLO11n Pose sang một định dạng khác như ONNX , CoreML , vân vân.
Ví dụ
Có sẵn YOLO11 -pose định dạng xuất khẩu nằm trong bảng dưới đây. Bạn có thể xuất sang bất kỳ định dạng nào bằng cách sử dụng format
lập luận, tức là format='onnx'
hoặc format='engine'
. Bạn có thể dự đoán hoặc xác thực trực tiếp trên các mô hình đã xuất, tức là yolo predict model=yolo11n-pose.onnx
. Các ví dụ sử dụng sẽ được hiển thị cho mô hình của bạn sau khi quá trình xuất hoàn tất.
Định dạng | format Lý lẽ |
Người mẫu | Siêu dữ liệu | Lập luận |
---|---|---|---|---|
PyTorch | - | yolo11n-pose.pt |
✅ | - |
TorchScript | torchscript |
yolo11n-pose.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolo11n-pose.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolo11n-pose_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolo11n-pose.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolo11n-pose.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n-pose_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolo11n-pose.pb |
❌ | imgsz , batch |
TF Nhẹ | tflite |
yolo11n-pose.tflite |
✅ | imgsz , half , int8 , batch |
TF Bờ rìa TPU | edgetpu |
yolo11n-pose_edgetpu.tflite |
✅ | imgsz |
TF .js | tfjs |
yolo11n-pose_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolo11n-pose_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n-pose.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n-pose_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolo11n-pose_imx_model/ |
✅ | imgsz , int8 |
Xem đầy đủ export
chi tiết trong Xuất khẩu trang.
CÂU HỎI THƯỜNG GẶP
Ước tính tư thế là gì? Ultralytics YOLO11 và nó hoạt động như thế nào?
Ước tính tư thế với Ultralytics YOLO11 bao gồm việc xác định các điểm cụ thể, được gọi là các điểm chính, trong một hình ảnh. Các điểm chính này thường biểu thị các khớp hoặc các đặc điểm quan trọng khác của đối tượng. Đầu ra bao gồm [x, y]
tọa độ và điểm tin cậy cho mỗi điểm. YOLO11 -các mô hình tư thế được thiết kế đặc biệt cho nhiệm vụ này và sử dụng -pose
hậu tố, chẳng hạn như yolo11n-pose.pt
. Các mô hình này được đào tạo trước trên các tập dữ liệu như Điểm chính của COCO và có thể được sử dụng cho nhiều nhiệm vụ ước tính tư thế khác nhau. Để biết thêm thông tin, hãy truy cập Trang ước tính tư thế.
Làm thế nào tôi có thể đào tạo một YOLO11 -pose mô hình trên một tập dữ liệu tùy chỉnh?
Đào tạo một YOLO11 -pose model trên một tập dữ liệu tùy chỉnh liên quan đến việc tải một mô hình, có thể là một mô hình mới được định nghĩa bởi tệp YAML hoặc một mô hình được đào tạo trước. Sau đó, bạn có thể bắt đầu quá trình đào tạo bằng cách sử dụng tập dữ liệu và các tham số đã chỉ định.
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)
Để biết thông tin chi tiết về đào tạo, hãy tham khảo Phần Đào tạo .
Làm thế nào để tôi xác nhận một đào tạo YOLO11 -người mẫu tạo dáng?
Xác thực của một YOLO11 -Mô hình tư thế liên quan đến việc đánh giá độ chính xác của nó bằng cách sử dụng cùng các tham số tập dữ liệu được giữ lại trong quá trình đào tạo. Sau đây là một ví dụ:
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
Để biết thêm thông tin, hãy truy cập Mục Val .
Tôi có thể xuất khẩu một YOLO11 -chuyển đổi mô hình sang các định dạng khác và bằng cách nào?
Có, bạn có thể xuất một YOLO11 -tạo dáng cho người mẫu theo nhiều định dạng khác nhau như ONNX , CoreML , TensorRT và nhiều hơn nữa. Điều này có thể được thực hiện bằng cách sử dụng Python hoặc Giao diện dòng lệnh ( 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")
Tham khảo Phần Xuất để biết thêm chi tiết.
Những gì có sẵn Ultralytics YOLO11 -các mô hình tư thế và số liệu hiệu suất của chúng?
Ultralytics YOLO11 cung cấp nhiều mô hình tư thế được đào tạo trước như YOLO11n-pose, YOLO11s-pose, YOLO11m-pose, v.v. Các mô hình này khác nhau về kích thước, độ chính xác (mAP) và tốc độ. Ví dụ, mô hình YOLO11n-pose đạt được tư thế mAP 50-95 là 50,4 và tư thế mAP 50 là 80,1. Để biết danh sách đầy đủ và thông tin chi tiết về hiệu suất, hãy truy cập Phần mô hình .