YOLO11番茄检测与分割系统
项目概述
本项目采用YOLO11实现先进的实例分割技术,用于番茄成熟度分类。在Laboro Tomato数据集上达到90.1% mAP@0.5(边界框)和89.8% mAP@0.5(掩码)的精度,适用于实际农业应用场景tomato。
应用场景
- 机器人采摘:自动化果实收获系统
- 产量预估:温室监测与分析
- 分拣系统:采后质量控制
- 移动应用:农场管理工具
- 科研:农业计算机视觉研究
成熟度分类
- 🟢 绿色:未成熟番茄
- 🟡 半熟:部分成熟番茄
- 🔴 全熟:可采收番茄
性能指标
指标 | 边界框检测 | 实例分割 |
---|---|---|
mAP@0.5 | 90.1% | 89.8% |
mAP@0.5:0.95 | 80.5% | 77.1% |
推理速度 | 28ms | 28ms |
![]() |
各类别表现
类别 | 精确率 | 召回率 | mAP@0.5 |
---|---|---|---|
全熟 | 91.4% | 91.4% | 91.3% |
绿色 | 86.8% | 91.8% | 91.8% |
半熟 | 85.0% | 87.1% | 87.1% |
快速开始
系统要求
- Python 3.10+
- 支持CUDA的NVIDIA GPU(推荐)
- 8GB以上内存
安装步骤
git clone https://github.com/Fonyuy45/yolo11-tomato-segmentation.git
cd yolo11-tomato-segmentation
chmod +x scripts/setup_environment.sh
./scripts/setup_environment.sh
source venv/bin/activate
wget -O models/best.pt "https://github.com/Fonyuy45/yolo11-tomato-segmentation/releases/download/v1.0/best.pt"
推理预测
单张图片预测
python src/predict.py --model models/best.pt --source data/sample_images/tomato1.jpg
`
``
**批量处理**
```bash
python src/predict.py --model models/best.pt --source data/sample_images/ --save-dir results/batch_predictions
Python API
from ultralytics import YOLO
model = YOLO('models/best.pt')
results = model('path/to/tomato_image.jpg')
results[0].show()
模型训练
数据集配置
python scripts/download_data.py
python src/train.py --data data/data_config.yaml --model x --epochs 100 --batch 4
训练参数
- 模型:YOLO11x-seg (6200万参数)
- 输入尺寸:640×640
- 批大小:4
- 训练轮数:100
- 优化器:AdamW
- GPU显存:约6GB(RTX 4060)
数据集信息
Laboro Tomato数据集
- 训练图像:2,001张
- 验证图像:86张
- 总实例数:898个
- 标注格式:YOLO分割掩码
- 许可协议:CC BY 4.0
模型架构
- 主干网络:YOLO11x-seg
- 输入分辨率:640×640
- 参数量:62,053,721
- 计算量:319.7 GFLOPs
- 输出:边界框+分割掩码
硬件要求
最低配置
- GPU:GTX 1060 6GB / RTX 3050
- 内存:8GB+
- 存储:5GB可用空间
推荐配置
- GPU:RTX 4060+ / RTX 3070+
- 内存:16GB+
- 存储:10GB+ SSD