基于YOLOv11的网球检测系统,针对RTX 3090训练优化,支持树莓派4B部署。
tennis_detection/
├── tennis detection.v2i.yolov11/ # 数据集目录
│ ├── data.yaml # 数据集配置
│ ├── train/ # 训练集
│ ├── valid/ # 验证集
│ └── test/ # 测试集
├── train.py # 训练脚本
├── detect_batch.py # 批量检测脚本
├── requirements.txt # 训练环境依赖
├── requirements_rpi.txt # 树莓派依赖
├── .gitignore # Git排除文件
└── README.md # 项目说明
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 验证CUDA可用性
python -c "import torch; print(torch.cuda.is_available())"# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装系统依赖
sudo apt install -y python3-pip python3-venv libopencv-dev python3-opencv
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装轻量化依赖
pip3 install -r requirements_rpi.txtpython train.py --model yolo11n.pt --epochs 100 --batch 32python train.py \
--model yolo11n.pt \
--epochs 150 \
--batch 32 \
--imgsz 640 \
--export--model: 预训练模型 (yolo11n.pt, yolo11s.pt, yolo11m.pt)--epochs: 训练轮数--batch: 批次大小 (RTX 3090推荐32)--imgsz: 输入图像尺寸--export: 训练后自动导出用于树莓派的模型
python detect_batch.py --model best.pt --source test_images/ --savepython detect_batch.py --model best.pt --source videos/ --save --output results/python detect_batch.py \
--model best.pt \
--source test_images/ \
--conf 0.25 \
--iou 0.45 \
--imgsz 640 \
--save-
CUDA内存不足
# 减少批次大小 python train.py --batch 16 -
树莓派性能不足
# 使用更小的输入尺寸 python deploy_raspberry_pi.py --model best.onnx --imgsz 320 -
依赖安装失败
# 更新pip pip install --upgrade pip # 使用预编译包 pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
-
提高树莓派FPS
- 降低输入分辨率 (320x320)
- 使用ONNX格式
- 启用多线程处理
- 优化系统设置
-
提高检测精度
- 增加训练轮数
- 调整置信度阈值
- 使用更大的模型 (yolo11s.pt)
- 增强数据集
主要配置文件: config.yaml
# 模型配置
model:
size: "n" # nano版本,适合树莓派
# 训练配置
training:
epochs: 100
batch_size: 32
imgsz: 640
# 树莓派优化
raspberry_pi:
target_fps: 10
export_formats: ["onnx", "torchscript"]本项目基于数据集许可证: CC BY 4.0
如有问题或建议,请提交Issue或Pull Request。