YOLOv3 姿态分类

项目说明

这是一个基于 YOLOv3 的姿态分类项目,在原版 keras-yolo3 基础上增加了以下功能:

- gitee:LJJ/yolov3_姿态分类

1. 资源下载

  1. 预训练模型和权重文件:
model_data/yolo_weights.h5
model_data/tiny_yolo_weights.h5
model_data/darknet53.weights
logs/pose_detection/*.h5  # 训练好的模型
converted_models/*.pb     # 转换后的部署模型
  1. MPII数据集:
data/mpii_human_pose_v1_u12_1.mat  # 标注文件
data/images/                        # 图片目录

2. 新增工具脚本

  • download_cfg.py: 自动下载 YOLOv3 配置文件
  • download_weights.py: 自动下载预训练权重
  • convert_h5_to_pb.py: 将 Keras 的 .h5 模型转换为 TensorFlow 的 .pb 格式
  • test_pose.py: 批量测试姿态分类效果
  • data/mpii_to_voc.py: MPII数据集转VOC格式
  • data/create_pose_dataset.py: 创建训练集和测试集

3. 项目结构

├── model_data/          # 模型配置文件
│   ├── pose_classes.txt # 姿态类别定义
│   ├── yolov3.cfg      # YOLOv3 配置
│   ├── yolov3-tiny.cfg # YOLOv3-tiny 配置
│   └── darknet53.cfg   # Darknet53 配置
├── logs/               # 训练日志和权重
│   ├── pose_detection/ # 完整训练模型
│   └── fine_tune/     # 微调模型
├── results/           # 测试结果输出
├── test_images/      # 测试图片目录
└── data/             # 数据集处理
    ├── mpii_to_voc.py    # MPII转换脚本
    └── create_pose_dataset.py  # 数据集划分脚本

4. 环境要求

python==3.7
tensorflow==1.14.0
keras==2.2.4
opencv-python==4.10.0.84
pillow==9.5.0
scipy  # 用于处理MPII数据集
numpy  # 数据处理

5. 数据集准备

  1. MPII数据集转换:
# 将MPII数据集转换为VOC格式
python data/mpii_to_voc.py

# 支持的姿态类别:
- standing (站立)
- sitting (坐着)
- lying (躺着)
- unknown (未知)
  1. 创建训练集和测试集:
python data/create_pose_dataset.py

6. 模型训练

  1. 完整训练:
# 从头开始训练模型
python train.py
  1. 快速微调:
# 使用预训练模型进行微调
python train.py --fine-tune \
    --weights logs/pose_detection/ep015-loss16.844-val_loss16.818.h5 \
    --epochs 5 \
    --batch-size 16 \
    --lr 1e-4

# 微调参数说明:
--weights: 预训练权重路径
--epochs: 训练轮次,默认5
--batch-size: 批次大小,默认16
--lr: 学习率,默认0.0001

7. 模型测试

批量测试:

python test_pb.py

8. 模型部署

转换模型格式:

# 将训练好的模型转换为TensorFlow的.pb格式
python convert_h5_to_pb.py

9. 注意事项

  • 支持 GPU 训练和推理
  • 自动内存管理,避免显存溢出
  • 详细的日志输出
  • 完整的错误处理
  • MPII数据集转换支持自动姿态分类
  • 支持模型快速微调

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值