🌾 水稻病虫害目标检测数据集(YOLO格式)
覆盖15类水稻病虫害,20,115张图片,35,003个标注目标,YOLO格式即开即用。
数据集地址链接: https://pan.baidu.com/s/1sCPEGdwCv81btCyDXwmd7Q 提取码: 6822
一、数据集简介
水稻是我国最重要的粮食作物之一,病虫害每年造成大量减产。本数据集覆盖6类虫害和9类病害,适用于目标检测任务,可直接用于 YOLO等模型训练。
二、数据规模
| 数据集 | 图片数量 | 标签数量 |
|---|---|---|
| 训练集 | 14,030 | 14,030 |
| 验证集 | 3,974 | 3,974 |
| 测试集 | 2,111 | 2,111 |
| 合计 | 20,115 | 20,115 |
三、类别分布
数据集包含15类水稻病虫害,其中虫害6类、病害9类:
虫害类别
| 编号 | 英文名 | 中文名 | 训练集标注数 |
|---|---|---|---|
| 0 | Bhopper | 褐飞虱 | 2,833 |
| 1 | Ghopper | 灰飞虱 | 1,083 |
| 2 | Folder | 卷叶虫 | 1,536 |
| 3 | Rice-bug | 稻蝽象 | 1,252 |
| 4 | Stem-borer | 二化螟 | 1,031 |
| 5 | Whorl-maggot | 稻瘿蚊 | 2,199 |
病害类别
| 编号 | 英文名 | 中文名 | 训练集标注数 |
|---|---|---|---|
| 6 | False-smut | 稻曲病 | 2,339 |
| 7 | Sheath-blight | 纹枯病 | 4,251 |
| 8 | Streak | 条纹叶枯病 | 2,400 |
| 9 | Tungro | 东格鲁病毒病 | 2,148 |
| 10 | Blast | 稻瘟病 | 4,308 |
| 11 | Blight | 白叶枯病 | 4,093 |
| 12 | Brown-spot | 褐斑病 | 1,877 |
| 13 | Dead-heart | 枯心苗 | 2,322 |
| 14 | Downy-mildew | 霜霉病 | 1,331 |
总标注目标数:35,003,最大/最小类别比例 4.18,存在一定类别不平衡。
四、数据格式
采用 YOLO 标注格式,每张图片对应一个同名.txt标签文件:
class_id x_center y_center width height坐标均为归一化值(0~1),例如:
0 0.78046875 0.38515625 0.2125 0.403125 0 0.53984375 0.66484375 0.31875 0.421875五、目录结构
datasets/ ├── data.yaml # 数据集配置文件 ├── classes.txt # 类别名称文件 ├── train/ │ ├── images/ # 训练图片 (14,030) │ ├── labels/ # 训练标签 (14,030) │ └── classes.txt ├── val/ │ ├── images/ # 验证图片 (3,974) │ ├── labels/ # 验证标签 (3,974) │ └── classes.txt ├── test/ │ ├── images/ # 测试图片 (2,111) │ ├── labels/ # 测试标签 (2,111) │ └── classes.txt └── sample/ # 示例数据集 (每类5张) ├── data.yaml ├── train/ (75张) ├── val/ (75张) └── test/ (75张)六、data.yaml 配置
path:D:/Rice_Diseases_and_Pests/ultralytics-main/ultralytics-main/datasetstrain:train/imagesval:val/imagestest:test/imagesnc:15names:['Bhopper','Ghopper','Folder','Rice-bug','Stem-borer','Whorl-maggot','False-smut','Sheath-blight','Streak','Tungro','Blast','Blight','Brown-spot','Dead-heart','Downy-mildew']使用时将
path修改为本机数据集实际路径即可。
七、快速开始
7.1 环境准备
pipinstallultralytics7.2 训练
fromultralyticsimportYOLO model=YOLO('yolov8n.pt')model.train(data='data.yaml',epochs=100,imgsz=640,batch=16)7.3 验证
model=YOLO('best.pt')metrics=model.val()7.4 推理
results=model.predict(source='test.jpg',save=True)八、数据分析
8.1 类别平衡度
- 平均每类标注数:2,333
- 最大类(Blast 稻瘟病):4,308,占比 1.85x
- 最小类(Stem-borer 二化螟):1,031,占比 0.44x
- 最大/最小比例:4.18
- 标准差/平均值:0.46
8.2 目标尺寸分布
| 尺寸类别 | 划分标准 | 说明 |
|---|---|---|
| 小目标 | 面积 < 32×32 | 检测难度较大 |
| 中等目标 | 32×32 ≤ 面积 < 96×96 | 占比较高 |
| 大目标 | 面积 ≥ 96×96 | 检测相对容易 |
8.3 位置与宽高比
- 目标中心点基本均匀分布,图像中心区域目标密度略高
- 宽高比均值约 1.0,大部分目标接近正方形
- 极端宽高比目标较少
九、示例数据集
为方便快速验证,提供了sample/文件夹,每类取5张图片,结构与完整数据集一致:
sample/ ├── data.yaml ├── train/ (75张, 15类×5) ├── val/ (75张, 15类×5) └── test/ (75张, 15类×5)十、常见问题
Q1: 训练时显存不够怎么办?
- 减小
batch大小(如 8 或 4) - 使用更小的模型(yolov8n)
- 减小
imgsz(如 416)
Q2: 如何提升小目标检测效果?
- 增大输入分辨率(imgsz=1280)
- 添加SAHI(切片辅助推理)
- 数据增强中增加Mosaic、CopyPaste等策略
Q3: 类别不平衡如何处理?
- 对少数类进行过采样
- 使用Focal Loss
- 调整类别权重
十一、参考链接
- Ultralytics YOLOv8 官方文档
- YOLOv8 GitHub
如果这个数据集对你有帮助,欢迎 Star ⭐ 和引用!