# 匹克球3.0 **Repository Path**: hmx0718/pickball-3.0 ## Basic Information - **Project Name**: 匹克球3.0 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-21 - **Last Updated**: 2025-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 匹克球动作检测系统 本项目基于YOLOv12,支持对匹克球运动员的动作状态进行检测,支持图片、视频、摄像头实时检测,界面友好,适合科研、教学和实际应用。 ## 主要功能 - 支持图片、视频、摄像头检测 - 检测类别:player_ready, player_swing, player_idle - 实时显示检测结果和类别统计 - 支持批量检测、结果导出 - 兼容Windows系统 ## 安装与运行 1. 安装依赖 ```bash pip install -r requirements.txt ``` 2. 运行软件 ```bash python simple_app.py ``` ## 软件界面 (此处可插入软件主界面、检测效果截图) ## 目录结构 ``` . ├── pickleball/ # 原始数据集目录 │ ├── frame_00000.jpg # 图像文件 │ ├── frame_00000.json # 标注文件 (labelme格式) │ └── ... ├── yolo_dataset/ # 转换后的YOLO格式数据集 │ ├── images/ # 图像目录 │ │ ├── train/ # 训练集图像 │ │ └── val/ # 验证集图像 │ ├── labels/ # 标注目录 │ │ ├── train/ # 训练集标注 │ │ └── val/ # 验证集标注 │ └── data.yaml # 数据集配置文件 ├── convert_to_yolo.py # 数据集转换脚本 ├── train_yolov12.py # 模型训练脚本 └── predict.py # 模型预测脚本 ``` ## 数据集转换 原始数据集使用labelme格式进行标注,需要转换为YOLO格式才能进行训练。使用以下命令进行转换: ```bash python convert_to_yolo.py ``` 转换脚本会自动将原始数据集分割为训练集和验证集,并生成YOLO格式的标注文件和配置文件。 ## 模型训练 使用以下命令训练YOLOv12模型: ```bash python train_yolov12.py --model yolov12n.pt --epochs 100 --batch-size 16 ``` 参数说明: - `--model`: 预训练模型,可选值包括 yolov12n.pt (最小), yolov12s.pt (小), yolov12m.pt (中), yolov12l.pt (大), yolov12x.pt (超大) - `--epochs`: 训练轮数 - `--batch-size`: 批次大小 - `--img-size`: 图像大小 - `--device`: 训练设备,例如 "0" 表示第一个GPU,"cpu" 表示CPU - `--workers`: 数据加载线程数 - `--resume`: 恢复中断的训练 - `--hyp`: 超参数文件路径 训练完成后,最佳模型将保存在 `runs/train/weights/best.pt`。 ## 模型预测 使用以下命令对图像或视频进行预测: ```bash python predict.py --model runs/train/weights/best.pt --source path/to/image.jpg ``` 参数说明: - `--model`: 模型路径 - `--source`: 输入源,可以是图像路径、视频路径或摄像头编号(例如 0 表示第一个摄像头) - `--conf`: 置信度阈值 - `--iou`: NMS IoU阈值 - `--img-size`: 图像大小 - `--device`: 预测设备 - `--save`: 保存预测结果 - `--show`: 显示预测结果 - `--classes`: 过滤特定类别,例如 "--classes 0 1" 表示只检测类别0和类别1 ## 类别说明 本项目包含以下三个类别: - 0: player_ready - 球员准备状态 - 1: player_swing - 球员挥拍状态 - 2: player_idle - 球员空闲状态 ## 环境要求 - Python 3.8+ - YOLOv12 - OpenCV - PyTorch - 其他依赖项可通过以下命令安装: ```bash pip install -r requirements.txt ``` ## 注意事项 ``` 1. 对于大型数据集,可能需要调整批次大小以适应GPU内存。 2. 训练时间取决于硬件配置和数据集大小,可能需要几小时到几天不等。 ## 常见问题FAQ - Q: 如何切换检测模型? A: 修改 simple_app.py 里的模型路径即可。 - Q: 视频检测黑屏怎么办? A: 请确保视频路径为英文,且依赖已正确安装。 - Q: 如何打包为exe? A: 可用 pyinstaller,命令:`pyinstaller --onefile simple_app.py`。