带标注的番茄病叶分类识别数据集,可识别8种病害和健康叶,识别率93.3%,4128张图,支持yolo,coco json,voc xml,文末有模型训练代码

模型训练指标参数:

在这里插入图片描述
在这里插入图片描述

模型训练图:

在这里插入图片描述

数据集拆分

总图数:4128 张图数
训练集

3095 张图

验证集

633 张图

测试集

400 张图

预处理

自动定向:应用

调整大小:拉伸到448x448

增强

数据集标签:

[‘Late Blight’, ‘Spider Mites’, ‘Leaf Mold’, ‘Mosaic Virus’, ‘Leaf Miner’, ‘Septoria’, ‘Healthy’, ‘Yellow Leaf Curl Virus’, ‘Early Blight’]

西红柿叶子病虫害标签中英对照表

英文名称 中文译名 类别 简要说明
Late Blight 晚疫病 真菌病害 茄科作物高发病害,发病快、破坏性强
Spider Mites 红蜘蛛(叶螨) 虫害 常见刺吸式害虫,吸食叶片汁液导致叶片失绿
Leaf Mold 叶霉病 真菌病害 主要危害叶片,叶面出现霉层、发黄枯萎
Mosaic Virus 花叶病毒病 病毒病害 叶片出现黄绿斑驳、褶皱畸形,植株生长受阻
Leaf Miner 潜叶虫 虫害 幼虫潜入叶肉啃食,叶片形成不规则虫道
Septoria 壳针孢斑枯病 真菌病害 俗称褐斑病,叶片产生圆形/不规则褐色病斑
Healthy 健康(无病虫害) 正常状态 植株/叶片生长状态良好,无病变、无虫害
Yellow Leaf Curl Virus 黄化曲叶病毒病 病毒病害 典型作物病毒病,叶片发黄、向上卷曲
Early Blight 早疫病 真菌病害 多发于植株中下部叶片,产生轮纹状褐色病斑

数据集图片和标注信息示例:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

数据集下载:

yolo26:https://download.csdn.net/download/pbymw8iwm/92968952

yolo v12:https://download.csdn.net/download/pbymw8iwm/92968949

yolo v11:https://download.csdn.net/download/pbymw8iwm/92968951

yolo v9:https://download.csdn.net/download/pbymw8iwm/92968948

yolo v8:https://download.csdn.net/download/pbymw8iwm/92968946

yolo v7:https://download.csdn.net/download/pbymw8iwm/92968947

coco json:https://download.csdn.net/download/pbymw8iwm/92968950

pascal voc xml:https://download.csdn.net/download/pbymw8iwm/92968945

YOLO模型训练

下载数据集之后解压到当前文件夹,然后将 我的仓库 https://gitcode.com/pbymw8iwm/YOLOProject 里的训练模型脚本复制到文件夹下,假设你使用的是yolov8来训练你就用python train_yolov8.py
​​在这里插入图片描述

模糊图片在模型训练中的优势分析

该数据集中包含了如果包含了一些模糊图片,这并非数据缺陷,而是一种精心设计的数据增强策略,能为模型训练带来以下显著优势:

  1. 提升模型鲁棒性:现实场景中,可能发生在运动模糊,对焦不准或光线不足的情况下。在训练集中引入模糊样本,可以迫使模型学习更本质的特征,而不是过度依赖清晰的边缘或纹理细节,从而提升模型在复杂、非理想成像条件下的识别能力。
  2. 模拟真实世界噪声:监控摄像头、手机等设备在低光照或快速移动时极易产生模糊。包含此类图片的数据集能让模型提前“见识”并适应这种噪声,减少在实际部署时因图像质量下降而导致的性能骤降。
  3. 防止模型过拟合:如果训练集全是高清、摆拍的完美图片,模型容易记住这些特定场景下的“干净”特征,而对新的、稍有模糊的图片泛化能力差。模糊图片作为一种有效的正则化手段,可以增加数据分布的多样性,防止模型过拟合到有限的清晰样本上。
    总结:因此,数据集中包含的模糊图片,与你看到的“水平翻转”、“剪切形变”、“随机遮挡”等增强操作一样,都是为了构建一个更接近真实世界复杂分布的数据环境,从而训练出更健壮、更泛化、更实用的模型。

模型验证测试情况:

验证测试代码:

#需要安装pip install ultralytics
from ultralytics import YOLO
import cv2

# ===================== 1. 加载YOLO模型 =====================
# 自动下载预训练模型(yolov8n最轻量快速),也可换 yolov8s/m/l/x
model = YOLO("best.pt")
# ===================== 2. 推理配置 =====================
image_path = "326_jpg.rf.8ad64cc0668df32c4e5f59b50e899e9c.jpg"  # 你的图片路径
save_result = True       # 是否保存标注后的图
# ===================== 3. 执行推理 =====================
results = model.predict(
    source=image_path,
    conf=0.01,          # 置信度阈值(低于该值忽略)
    save=False,         # 关闭默认保存,自定义保存
    verbose=False       # 关闭冗余日志
)

# ===================== 4. 解析结果:目标区域 + 标注信息 =====================
print("="*50)
print("YOLO 推理结果(目标区域 + 标注信息)")
print("="*50)

# 获取图片(用于绘制框)
img = cv2.imread(image_path)

# 遍历所有检测目标
for idx, result in enumerate(results):
    boxes = result.boxes  # 所有检测框
    
    for box in boxes:
        # ========== 提取目标区域(坐标) ==========
        # xyxy: 左上角x, 左上角y, 右下角x, 右下角y
        x1, y1, x2, y2 = box.xyxy[0].cpu().numpy()
        # 宽高
        w = x2 - x1
        h = y2 - y1
        
        # ========== 提取标注信息 ==========
        cls_id = int(box.cls[0])          # 类别ID
        cls_name = model.names[cls_id]    # 类别名称
        conf = float(box.conf[0])         # 置信度
        
        # ========== 打印信息 ==========
        print(f"目标 {idx+1}:")
        print(f"  标注类别:{cls_name}")
        print(f"  置信度:{conf:.2f}")
        print(f"  目标区域坐标:")
        print(f"    左上角 ({x1:.1f}, {y1:.1f})")
        print(f"    右下角 ({x2:.1f}, {y2:.1f})")
        print(f"    宽×高:{w:.1f} × {h:.1f}")
        print("-"*30)
        
        # ========== 在图片上绘制检测框 ==========
        cv2.rectangle(img, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
        cv2.putText(img, f"{cls_name} {conf:.2f}", 
                    (int(x1), int(y1)-10), 
                    cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)

# ===================== 5. 保存/显示结果 =====================
if save_result:
    cv2.imwrite("yolo_result.jpg", img)
    print("✅ 标注图片已保存为:yolo_result.jpg")

# 显示图片(可选)
cv2.imshow("YOLO Result", img)
#cv2.waitKey(0)
#cv2.destroyAllWindows()

在这里插入图片描述
推理结果:

{
“predictions”: [
{
“x”: 367,
“y”: 374,
“width”: 190,
“height”: 228,
“confidence”: 0.968,
“class”: “Early Blight”,
“class_id”: 0,
“detection_id”: “c686bd03-3afb-49a8-ad33-23f5758ab515”
},
{
“x”: 123,
“y”: 378,
“width”: 206,
“height”: 212,
“confidence”: 0.967,
“class”: “Yellow Leaf Curl Virus”,
“class_id”: 8,
“detection_id”: “07048039-cf7a-44a3-a76c-90c6783a5956”
},
{
“x”: 371.5,
“y”: 142.5,
“width”: 111,
“height”: 97,
“confidence”: 0.949,
“class”: “Late Blight”,
“class_id”: 2,
“detection_id”: “b767d489-a9f7-45ce-bea8-310927667639”
},
{
“x”: 133.5,
“y”: 129.5,
“width”: 119,
“height”: 213,
“confidence”: 0.808,
“class”: “Late Blight”,
“class_id”: 2,
“detection_id”: “c342e806-d0cb-464a-9594-25034838f1b0”
}
]
}

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐