苹果叶部叶片病害检测数据集
九类
8000张高清标注,手动标注,YOLO直接训练 SCI验证过的数据集
规格一:
1️⃣ 8000张高质量图像 尺寸统一614×614
2️⃣ 双格式标注支持:VOC(XML)+YOLO(TXT)
3️⃣ 九大病害完整覆盖:
✔️ 褐斑病 Brown Spot
✔️ 花叶病 Mosaic
✔️ 灰斑病 Grey spot
✔️ 锈病 Rust
✔️ 蛙眼病 Frogeye leaf spot
✔️ 白粉病 Powdery mildew
✔️ 黑星病 Scab
✔️ 交链孢病 Alternaria Boltch
✔️ 健康叶片 health
可直接用于训练
4️⃣ 单图多标签标注 框体总量超15000+
5️⃣ 已助力SCI论文发表 经学术验证
适用场景:
▸ YOLOv5/v7/v8/v11全系算法训练
▸ 植物病理智能诊断系统
▸ 农业AI科研项目
▸ 毕业设计/期刊论文数据源
“SCI同款苹果叶部病害检测数据集”的结构化信息表格,清晰呈现其规格、类别、标注质量及适用场景:
🍎SCI同款苹果叶部病害检测数据集(9类)
| 项目 | 内容说明 |
|---|---|
| 数据集名称 | 苹果叶部病害检测数据集(SCI 同款) |
| 总图像数量 | 8,000 张高清图像 |
| 图像尺寸 | 统一为 614 × 614 像素(便于直接训练,无需裁剪/缩放) |
| 标注状态 | ✅已全部手动标注 ✅经过多轮人工校验 ✅可直接用于 YOLO 训练 |
| 标注格式 | 双格式支持: •PASCAL VOC(.xml) •YOLO(.txt) |
| 目标框总数 | >15,000 个边界框(平均每图约 1.88 个目标,含单图多病害共存) |
| 类别数量 | 9 类(覆盖主要苹果叶部病害 + 健康对照) |
| 应用场景 | • 植物病理智能诊断 • 农业AI科研 • 毕业设计 / SCI论文数据源 • 病害监测系统 |
📊九大病害类别详情表
| 类别ID | 英文名称 | 中文名称 | 特征简述 |
|---|---|---|---|
| 0 | Brown Spot | 褐斑病 | 叶面褐色圆形斑点,边缘清晰 |
| 1 | Mosaic | 花叶病 | 叶片黄绿相间 mosaic 状斑驳 |
| 2 | Grey spot | 灰斑病 | 灰色椭圆形病斑,常伴晕圈 |
| 3 | Rust | 锈病 | 橙黄色粉状锈斑,背面隆起 |
| 4 | Frogeye leaf spot | 蛙眼病 | 病斑中心灰白,形似蛙眼 |
| 5 | Powdery mildew | 白粉病 | 叶面覆盖白色粉状霉层 |
| 6 | Scab | 黑星病 | 黑色硬质病斑,常致叶片卷曲 |
| 7 | Alternaria Blotch | 交链孢病 | 深褐色不规则大斑,易破裂 |
| 8 | health | 健康叶片 | 无病斑、色泽均匀的正常叶片 |
✅所有类别均包含在标注文件中,标签 ID 与上述顺序一致
📁推荐目录结构(YOLO 格式)
apple_leaf_disease/ ├── images/ │ ├── train/ # ~6400 张 │ └── val/ # ~1600 张 ├── labels/ │ ├── train/ │ └── val/ └── data.yaml # YOLO 配置文件🧪额外赠送数据集(用于泛化验证)
| 数据集名称 | 描述 | 用途 |
|---|---|---|
| PlantDoc | 公开植物病害数据集,含多种作物(番茄、苹果、葡萄等) | 跨作物泛化测试 |
| ALDOD | Apple Leaf Disease Open Dataset(公开苹果叶病数据集) | 对比实验、消融研究 |
💡 所有数据集均经作者亲测有效,可用于提升模型鲁棒性与论文可信度。
✅兼容性与训练支持
| 模型系列 | 是否支持 | 说明 |
|---|---|---|
| YOLOv5 | ✅ | 直接使用data.yaml |
| YOLOv7 | ✅ | 需调整配置文件 |
| YOLOv8 / v10 | ✅ | 推荐使用 Ultralytics 官方 API |
| YOLOv11(假设) | ✅ | 兼容标准 YOLO 格式 |
| Faster R-CNN | ✅ | 使用 VOC XML 格式 |
| DETR / RT-DETR | ✅ | 可转换为 COCO 格式 |
📄YOLO 配置文件示例(data.yaml)
# data.yamlpath:./apple_leaf_diseasetrain:images/trainval:images/valnc:9names:['Brown Spot','Mosaic','Grey spot','Rust','Frogeye leaf spot','Powdery mildew','Scab','Alternaria Blotch','health']📈学术价值亮点
- ✅已助力多篇 SCI/EI 论文发表
- ✅标注质量高:人工精标 + 多轮交叉验证
- ✅真实场景覆盖:不同光照、角度、遮挡、病害共存
- ✅科研友好:提供双格式 + 对比数据集
🌿总结:
该数据集是农业AI与植物病理学研究的高质量资源,专为苹果叶部病害智能识别设计,开箱即用,极大降低科研与工程落地门槛,特别适合用于高水平论文、毕业设计、智慧农业系统开发。
以下是基于您提供的“SCI同款苹果叶部病害检测数据集(9类,8000张,614×614,YOLO格式)”的完整 YOLOv8 训练与推理代码,包含:
- ✅ 数据集划分脚本
- ✅
data.yaml配置 - ✅ 模型训练代码(含数据增强优化)
- ✅ 单图/批量推理示例
- ✅ 模型评估与结果可视化
所有代码可直接运行,适配YOLOv8(Ultralytics)。
📁 一、项目目录结构
apple_leaf_yolo/ ├── dataset/ # 原始数据(已标注) │ ├── images/ # 所有图像(614x614) │ └── labels/ # YOLO .txt 标签 ├── split_dataset.py # 划分 train/val ├── data.yaml # YOLO 配置文件 ├── train.py # 训练脚本 ├── predict_single.py # 单图预测 └── evaluate.py # 模型评估💡 假设您已将 8000 张图像和对应
.txt标签放入dataset/images/和dataset/labels/
🔧 二、步骤1:划分训练集与验证集(8:2)
脚本:split_dataset.py
# split_dataset.pyimportosimportrandomimportshutilfrompathlibimportPath random.seed(42)# 路径配置IMG_DIR="dataset/images"LBL_DIR="dataset/labels"# 获取所有图像images=list(Path(IMG_DIR).glob("*.jpg"))+list(Path(IMG_DIR).glob("*.png"))random.shuffle(images)# 划分比例:80% train, 20% valn=len(images)n_train=int(n*0.8)train_imgs=images[:n_train]val_imgs=images[n_train:]# 创建子目录forsplitin["train","val"]:os.makedirs(f"dataset/images/{split}",exist_ok=True)os.makedirs(f"dataset/labels/{split}",exist_ok=True)# 移动图像和标签defmove_files(file_list,split):forimg_pathinfile_list:# 移动图像shutil.move(str(img_path),f"dataset/images/{split}/{img_path.name}")# 移动对应标签lbl_path=Path(LBL_DIR)/(img_path.stem+".txt")iflbl_path.exists():shutil.move(str(lbl_path),f"dataset/labels/{split}/{lbl_path.name}")move_files(train_imgs,"train")move_files(val_imgs,"val")print(f"✅ 划分完成!训练集:{len(train_imgs)}张,验证集:{len(val_imgs)}张")📄 三、步骤2:创建data.yaml
# data.yamlpath:./datasettrain:images/trainval:images/valnc:9names:['Brown Spot','Mosaic','Grey spot','Rust','Frogeye leaf spot','Powdery mildew','Scab','Alternaria Blotch','health']⚠️ 注意:类别顺序必须与标注时的
class_id一致(0~8)
🚀 四、步骤3:训练 YOLOv8 模型
脚本:train.py
# train.pyfromultralyticsimportYOLO# 加载预训练模型(推荐 yolov8s 提升精度,或 yolov8n 加快速度)model=YOLO('yolov8s.pt')# 可选: yolov8n, yolov8m, yolov8l# 开始训练(针对植物病害优化)results=model.train(data='data.yaml',epochs=100,imgsz=640,# 接近原图 614,自动填充至 640batch=16,# 根据 GPU 显存调整(RTX 3060 可用 16)name='apple_leaf_yolov8s',device=0,# 使用 GPUpatience=25,# 早停:25 轮无提升则停止hsv_h=0.015,# 色调扰动(模拟光照变化)hsv_s=0.7,hsv_v=0.4,degrees=10.0,# 旋转增强(±10°)translate=0.1,scale=0.2,mosaic=0.8,# Mosaic 增强(提升小目标和多病共存检测)flipud=0.0,fliplr=0.5,close_mosaic=10# 最后10轮关闭 Mosaic)print("✅ 训练完成!模型保存在 runs/detect/apple_leaf_yolov8s/")💡训练建议:
- 若显存不足,改用
yolov8n.pt+batch=32- 农业图像纹理复杂,Mosaic 和 HSV 增强对泛化至关重要
🔍 五、步骤4:单图预测(带可视化)
脚本:predict_single.py
# predict_single.pyfromultralyticsimportYOLOimportcv2# 加载最佳模型model=YOLO('runs/detect/apple_leaf_yolov8s/weights/best.pt')defpredict_image(image_path,output_path="prediction.jpg"):# 推理(conf 阈值设为 0.25,因病斑可能较小)results=model(image_path,imgsz=640,conf=0.25,iou=0.45,save=False)# 绘制结果annotated_img=results[0].plot()# 保存cv2.imwrite(output_path,annotated_img)print(f"✅ 预测完成!结果保存至{output_path}")# 打印检测结果boxes=results[0].boxesforboxinboxes:cls_id=int(box.cls.item())conf=float(box.conf.item())class_name=model.names[cls_id]print(f"→{class_name}| 置信度:{conf:.2f}")# 使用示例if__name__=="__main__":predict_image("test_leaf.jpg","result.jpg")📊 六、步骤5:模型评估(mAP、混淆矩阵)
脚本:evaluate.py
# evaluate.pyfromultralyticsimportYOLO model=YOLO('runs/detect/apple_leaf_yolov8s/weights/best.pt')# 在验证集上评估metrics=model.val(data='data.yaml',imgsz=640)print("📊 评估结果:")print(f"mAP@0.5 :{metrics.box.map50:.4f}")print(f"mAP@0.5:0.95 :{metrics.box.map:.4f}")print(f"Precision :{metrics.box.mp:.4f}")print(f"Recall :{metrics.box.mr:.4f}")# 自动生成混淆矩阵、PR曲线等(保存在 runs/detect/apple_leaf_yolov8s/val/)🌐 七、支持其他 YOLO 版本(YOLOv5 示例)
若需使用YOLOv5,只需:
- 将
data.yaml中路径改为绝对路径(YOLOv5 要求) - 使用官方 YOLOv5 仓库训练:
gitclone https://github.com/ultralytics/yolov5cdyolov5 pipinstall-r requirements.txt python train.py --img640--batch16--epochs100--data../apple_leaf_yolo/data.yaml --weights yolov5s.pt本方案专为农业AI科研与应用设计,利用高质量标注 + YOLOv8 强大能力,实现苹果叶部九大病害高精度识别。