**番茄分割与YOLOv8 **
本仓库为我的毕业设计成果,主要内容是基于YOLOv8的番茄成熟度检测,并与Mask R-CNN模型进行对比。
Tomato-Segmentation-with-YOLOv8
数据集描述
Laboro番茄数据集 是一个专为目标检测与实例分割设计的综合数据集,包含温室中生长阶段的番茄图像,并按成熟度与番茄类型分类。
图1. 番茄数据集标注示例
关键特征
- 成熟阶段:番茄分为三类——成熟(ripe)、半熟(half-ripe)、未熟(green)。
- 番茄类型:包含樱桃番茄(cherry)和普通番茄(regular)两种。
- 标注信息:为支持分割任务,数据集提供边界框标注、番茄掩膜的顶点坐标及类别标签。
图像多样性
数据集中的图像由两种不同相机拍摄,因此存在画质与分辨率的差异。
分类标准
- 番茄类型:樱桃番茄的尺寸显著小于普通番茄。
- 成熟度判定:基于红色区域的百分比。
- 成熟(≥90%红色)
- 半熟(30%-89%红色)
- 未熟(0%-30%红色)
- 专家验证:最终分类由专家结合其他标准综合判定。
应用场景
该数据集可用于以下场景:
- 基于成熟度的番茄收成预测
- 自动化采收成熟番茄系统
- 针对特定成熟阶段的定向农药喷洒
环境配置
为避免库冲突,建议为YOLOv8和Mask R-CNN分别配置独立环境。环境配置完成后,可运行Jupyter Notebook或Python代码(需注意代码中的路径需与本地匹配)。
YOLOv8虚拟环境
# 创建或激活YOLOv8虚拟环境
conda create -n yolov8_env python=3.8
conda activate yolov8_env
# 安装ultralytics
pip install ultralytics
# 安装Ray(超参数调优)
pip install ray[tune]
Mask R-CNN虚拟环境
# 创建或激活Mask R-CNN虚拟环境
conda create -n maskrcnn_env python=3.7
conda activate maskrcnn_env
# 安装jedi(如未安装)
pip install jedi>=0.10
# 安装openmim
pip install openmim
# 安装mmcv-full
mim install mmcv-full
# 安装light-the-torch
pip install light-the-torch
ltt install torch torchvision
# 克隆mmdetection库
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
```cpp
# 安装mmdetection
pip install -e .
代码运行
-
Mask R-CNN与YOLOv8的Jupyter Notebook专为Google Colab设计,运行前需调整项目及数据集的路径。Notebook中包含无需超参数调优的基础训练代码。
-
-
其他Python脚本:
- 颜色算法:包含颜色分析与均方误差脚本,用于复现基准论文中的颜色分析技术。
- 掩膜提取与图像:存放提取的掩膜及预测结果图像(需注意真实标注图像需为COCO格式)。
-
YOLOv8代码文件夹:包含超参数调优脚本,可生成所有高效超参数组合及训练结果。本工作的最佳模型结果已附在
YOLOv8_model_tuned_results
中。