带标注的茶叶缺陷识别数据集,可识别健康和7种病害叶子,识别率76.1%,3886张图,支持yolo,coco json,voc xml,文末有模型训练代码
模型训练指标参数:

模型训练图:
数据集拆分
总图数:3886 张图数 训练集
3503 张图
验证集
275 张图
测试集
108 张图
预处理
自动定向:应用
调整大小:拉伸到640×640
增强
单个训练样本扩增输出 3 张图片 图像翻转:水平翻转、垂直翻转 亮度调整:上下浮动 ±24% 模糊处理:最大模糊半径 1.6 像素
数据集标签:

[‘white_spot’, ‘red_leaf_spot’, ‘healthy’, ‘gray_light’, ‘brown_blight’, ‘algal_leaf’, ‘bird_eye_spot’, ‘Anthracnose’]
标签解释 | 英文标识 | 中文病害名称 | | —- | —- | | white_spot | 白斑病 | | red_leaf_spot | 红叶斑病 | | healthy | 健康植株(无病害) | | gray_light | 灰斑病 | | brown_blight | 褐疫病 | | algal_leaf | 藻斑病 | | bird_eye_spot | 鸟眼斑病 | | Anthracnose | 炭疽病 |
数据集图片和标注信息示例:







数据集下载:
yolo26:https://download.csdn.net/download/pbymw8iwm/92931576
yolo v12:https://download.csdn.net/download/pbymw8iwm/92931577
yolo v11:https://download.csdn.net/download/pbymw8iwm/92931575
yolo v9:https://download.csdn.net/download/pbymw8iwm/92931573
yolo v8:https://download.csdn.net/download/pbymw8iwm/92931570
yolo v7:https://download.csdn.net/download/pbymw8iwm/92931572
coco json:https://download.csdn.net/download/pbymw8iwm/92931574
pascal voc xml:https://download.csdn.net/download/pbymw8iwm/92931571
YOLO模型训练
下载数据集之后解压到当前文件夹,然后将 我的仓库 https://gitcode.com/pbymw8iwm/YOLOProject 里的训练模型脚本复制到文件夹下,假设你使用的是yolov8来训练你就用python train_yolov8.py 
模糊图片在模型训练中的优势分析
该数据集中包含了如果包含了一些模糊图片,这并非数据缺陷,而是一种精心设计的数据增强策略,能为模型训练带来以下显著优势:
模型验证测试情况:
验证测试代码:
#需要安装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”: 383.5, “y”: 537.5, “width”: 495, “height”: 961, “confidence”: 0.599, “class”: “brown_blight”, “class_id”: 3, “detection_id”: “faf5e177-9912-44c4-b882-272306cc1fef” } ] }


