Skip to content

LinFei83/tennis-detection

Repository files navigation

网球检测 YOLOv11 项目

基于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                         # 项目说明

环境安装

训练环境 (RTX 3090)

# 创建虚拟环境
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.txt

使用方法

1. 模型训练

基础训练

python train.py --model yolo11n.pt --epochs 100 --batch 32

自定义配置训练

python 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: 训练后自动导出用于树莓派的模型

2. 批量检测

批量处理图像

python detect_batch.py --model best.pt --source test_images/ --save

批量处理视频

python 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

故障排除

常见问题

  1. CUDA内存不足

    # 减少批次大小
    python train.py --batch 16
  2. 树莓派性能不足

    # 使用更小的输入尺寸
    python deploy_raspberry_pi.py --model best.onnx --imgsz 320
  3. 依赖安装失败

    # 更新pip
    pip install --upgrade pip
    
    # 使用预编译包
    pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

性能调优

  1. 提高树莓派FPS

    • 降低输入分辨率 (320x320)
    • 使用ONNX格式
    • 启用多线程处理
    • 优化系统设置
  2. 提高检测精度

    • 增加训练轮数
    • 调整置信度阈值
    • 使用更大的模型 (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。

About

基于YOLOv11的网球检测系统,针对RTX 3090训练优化,支持树莓派4B部署。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages