目录
1. 介绍
1.1 简介
YOLOv8-Pose是基于YOLOv4算法的姿势估计模型,旨在实现实时高效的人体姿势估计。姿势估计在计算机视觉领域具有重要意义,可广泛应用于视频监控、运动分析、健康管理等领域。
1.2 背景
传统的姿势估计方法常需复杂网络架构和大量计算资源,导致实时性不佳。YOLOv8-Pose通过对YOLOv4算法进行改进和优化,在目标检测和姿势估计两方面融合任务,提高了模型的精度和效率。同时,利用深度学习技术和大规模数据集训练,使模型具备更好的泛化能力和适用性。
1.3 应用领域
- 运动分析: 用于体育训练、舞蹈教学等领域,帮助教练和学员更好地分析和改进动作。
- 健康管理: 结合智能设备进行人体姿势监测,提供健身建议和健康管理。
- 视频监控: 在安防领域中,用于人体行为识别、异常检测等应用。
1.4 总结
YOLOv8-Pose旨在解决传统姿势估计方法的不足,提供更高效、更准确的姿势估计模型。其应用涵盖了多个领域,具有广泛的发展前景。
2. 实验过程
2.1 数据集下载
coco8-pose数据集下载链接:https://ultralytics.com/assets/coco8-pose.zip
环境配置:
python版本:3.10.16
显卡:xxx
cuda版本:cuda_11.1
python
安装包版本参考:
anyio==4.8.0
astor==0.8.1
attrdict==2.0.1
babel==2.17.0
bce-python-sdk==0.9.29
beautifulsoup4==4.13.3
blinker==1.9.0
cachetools==5.5.1
certifi==2025.1.31
charset-normalizer==3.4.1
click==8.1.8
colorama==0.4.6
contourpy==1.3.1
cssselect==1.2.0
cssutils==2.11.1
cycler==0.12.1
Cython==3.0.12
decorator==5.1.1
et_xmlfile==2.0.0
exceptiongroup==1.2.2
filelock==3.17.0
fire==0.7.0
Flask==3.1.0
flask-babel==4.0.0
fonttools==4.56.0
fsspec==2025.2.0
future==1.0.0
h11==0.14.0
httpcore==1.0.7
httpx==0.28.1
huggingface-hub==0.29.1
idna==3.10
imageio==2.37.0
imgaug==0.4.0
itsdangerous==2.2.0
Jinja2==3.1.5
joblib==1.4.2
kiwisolver==1.4.8
lazy_loader==0.4
lmdb==1.6.2
lxml==5.3.1
MarkupSafe==3.0.2
matplotlib==3.8.2
more-itertools==10.6.0
mpmath==1.3.0
networkx==3.4.2
numpy==1.26.3
opencv-contrib-python==4.6.0.66
opencv-python==4.6.0.66
opencv-python-headless==4.11.0.86
openpyxl==3.1.5
opt-einsum==3.3.0
packaging==24.2
paddleocr==2.7.3
paddlepaddle-gpu==2.6.2
pandas==2.2.3
pdf2docx==0.5.8
pillow==10.2.0
premailer==3.10.0
protobuf==3.20.2
psutil==7.0.0
py-cpuinfo==9.0.0
pyclipper==1.3.0.post6
pycryptodome==3.21.0
PyMuPDF==1.25.3
pyparsing==3.2.1
python-dateutil==2.9.0.post0
python-docx==1.1.2
pytz==2025.1
PyYAML==6.0.2
RapidFuzz==3.12.1
rarfile==4.2
requests==2.32.3
scikit-image==0.25.1
scikit-learn==1.6.1
scipy==1.15.1
seaborn==0.13.2
shapely==2.0.7
six==1.17.0
sniffio==1.3.1
soupsieve==2.6
sympy==1.13.1
termcolor==2.5.0
thop==0.1.1.post2209072238
threadpoolctl==3.5.0
tifffile==2025.1.10
torch==2.6.0
torchvision==0.21.0
tqdm==4.66.1
typing_extensions==4.12.2
tzdata==2025.1
ultralytics==8.1.9
urllib3==2.3.0
visualdl==2.5.3
Werkzeug==3.1.3
2.2 模型和数据配置文件修改
数据配置文件路径:yolov10/ultralytics/cfg/datasets/coco8-pose.yaml
修改点:(1)path路径替换
python
# Ultralytics YOLO 🚀, AGPL-3.0 license
# COCO8-pose dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/coco8-pose/
# Example usage: yolo train data=coco8-pose.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco8-pose ← downloads here (1 MB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco8-pose # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)
# Keypoints
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]
# Classes
names:
0: person
# Download script/URL (optional)
download: https://ultralytics.com/assets/coco8-pose.zip
模型配置文件路径:yolov10/ultralytics/cfg/models/v8/yolov8-pose.yaml
2.3 模型训练
在项目路径建立train_pose.py文件
预训练模型下载链接:https://github.com/Sousannah/YOLOv8-Projects/blob/main/yolov8n-pose.pt
python
from ultralytics import YOLO
# 加载模型
# model = YOLO('yolov8s-pose.yaml') # 从头训练
model = YOLO('yolov8n-pose.pt') # 使用预训练模型 (recommended for training)
# model = YOLO('yolov8s-pose.yaml').load('yolov8s-pose.pt') # 从yaml构建网络并从预训练模型中迁移权重
# 训练
results = model.train(data='./ultralytics/cfg/datasets/coco8-pose.yaml', epochs=5, imgsz=640, workers=0, batch=4, name="spose")
若出现类似_pickle.UnpicklingError: Weights only load failed. This file can still be loaded报错,则在yolov10/ultralytics/nn/tasks.py文件里类似ckpt = torch.load(file, map_location="cpu")语句后加上weights_only=False。
3. 参考链接
- https://github.com/THU-MIG/yolov10.git
- 加载模型时torch.load函数的安全性导致报错问题:https://blog.csdn.net/Water_7jjkk/article/details/144201970