ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

智慧农业水稻病害检测数据集发布:948张图片,覆盖10种常见病虫害

智慧农业水稻病害检测数据集发布:948张图片,覆盖10种常见病虫害 智慧农业水稻病害检测数据集发布948张图片覆盖10种常见病虫害精准农业的基石在于高质量数据。近日一个专注于水稻稻瘟病、霜霉病、枯心病等病害检测的视觉数据集正式公开为相关研究与模型训练提供了重要素材。数据集核心概览该数据集以智慧农业为背景专门用于水稻主要病虫害的目标检测任务。它包含948张JPEG图像并同时提供了Pascal VOCXML文件和YOLOTXT文件两种主流标注格式方便不同框架直接使用。关键统计信息一览总图片数948张约310张原图 638张增强图标注文件数948个XML 948个TXT图片分辨率统一为500x500像素标注工具LabelImg采用矩形框标注数据集划分未预先划分训练/验证/测试集需用户自行处理来源仓库firc-dataset10类病虫害详解与样本分布数据集涵盖了水稻生长过程中10种常见状态包括9种病害/虫害和1类健康样本。但需特别注意各类别的样本数量极不均衡类别名称英文类别名称中文标注框总数包含图片数dead_heart枯心2007921bacterial_leaf_streak细菌性叶条斑病93hispa水稻铁甲虫93bacterial_panicle_blight细菌性穗枯病63brown_spot褐斑病63bacterial_leaf_blight细菌性叶枯病33blast稻瘟病33downy_mildew霜霉病33normal正常健康33tungro东格鲁病毒病33总计2052948数据特点提示“枯心”类数据占绝对主导921张图2007个框而其他9类各自仅有3张图片和极少标注框。此外数据集说明中提到约638张图片是由原图通过1:2比例增强生成的这可能进一步影响数据分布。数据集使用与知识扩展1. 格式兼容性说明同时提供VOC和YOLO格式是此数据集的一大优点。VOC格式XML记录了每个目标框的左上角与右下角坐标(xmin, ymin, xmax, ymax)适合传统目标检测框架。YOLO格式TXT记录了归一化的中心点坐标和宽高(class_id, x_center, y_center, width, height)是YOLO系列模型的直接输入格式。使用前务必以labels/classes.txt文件中的类别顺序为准。2. 数据不均衡问题的应对策略鉴于“枯心”与其他类别数据量悬殊直接训练会导致模型严重偏向多数类。建议采用以下策略欠采样从“枯心”类中随机抽取与少数类相近数量的样本参与训练。过采样对9种少数类应用数据增强如随机旋转、裁剪、颜色抖动、马赛克增强等人工扩增其样本量。损失函数加权在计算损失时为少数类分配更高的权重惩罚对其的误判。使用Focal Loss该损失函数可降低易分类样本的权重让模型更关注难分类的少数类样本。3. 代码扩展数据划分与YOLO格式读取示例由于数据集未提供划分以下Python代码可帮你按比例随机划分为训练集和验证集并演示读取YOLO标签importosimportrandomimportshutilfrompathlibimportPath# 1. 数据集路径请修改为你的实际路径dataset_dirPath(./rice_disease_dataset)image_dirdataset_dir/images# 存放所有jpglabel_dirdataset_dir/labels# 存放所有txtoutput_dirPath(./rice_split)train_img_diroutput_dir/images/trainval_img_diroutput_dir/images/valtrain_lbl_diroutput_dir/labels/trainval_lbl_diroutput_dir/labels/valforpin[train_img_dir,val_img_dir,train_lbl_dir,val_lbl_dir]:p.mkdir(parentsTrue,exist_okTrue)# 2. 获取所有图片文件名并随机划分比例 8:2all_imageslist(image_dir.glob(*.jpg))random.seed(42)# 固定随机种子确保可重复random.shuffle(all_images)split_idxint(len(all_images)*0.8)train_imagesall_images[:split_idx]val_imagesall_images[split_idx:]# 3. 复制文件defcopy_files(image_list,img_dst,lbl_dst):forimg_pathinimage_list:shutil.copy2(img_path,img_dst/img_path.name)lbl_pathlabel_dir/img_path.stem.txtiflbl_path.exists():shutil.copy2(lbl_path,lbl_dst/lbl_path.name)copy_files(train_images,train_img_dir,train_lbl_dir)copy_files(val_images,val_img_dir,val_lbl_dir)print(f训练集:{len(train_images)}张, 验证集:{len(val_images)}张)# 4. 读取YOLO格式标签示例defread_yolo_label(txt_path,img_width500,img_height500):将归一化的YOLO坐标转换为像素坐标左上角和右下角boxes[]withopen(txt_path,r)asf:forlineinf.readlines():partsline.strip().split()iflen(parts)!5:continueclass_id,x_c,y_c,w,hmap(float,parts)# 转换为像素坐标x_min(x_c-w/2)*img_width y_min(y_c-h/2)*img_height x_max(x_cw/2)*img_width y_max(y_ch/2)*img_height boxes.append({class_id:int(class_id),bbox_pixel:[x_min,y_min,x_max,y_max]})returnboxes# 示例使用sample_labellabel_dir/some_image.txtifsample_label.exists():boxesread_yolo_label(sample_label)print(f读取到{len(boxes)}个目标框)forbinboxes[:3]:# 打印前3个print(b)总结与标签本数据集聚焦智慧农业与水稻病虫害视觉检测提供了统一尺寸的多格式标注数据。其最显著特点是**“枯心”类数据高度丰富而其他9类样本极为稀缺**。它非常适合用于目标检测算法的研究尤其适合测试模型在极端类别不均衡情况下的鲁棒性以及小样本学习、数据增强等技术的有效性。文章标签#智慧农业#水稻病虫害#目标检测#深度学习#数据集#YOLO#PascalVOC#稻瘟病#霜霉病#枯心病#数据不均衡#农业AI
返回列表