水稻病害检测 (with YOLO11L)

模型简介

  • 模型功能:支持多种水稻病害的检测,返回图像中的病害位置(bounding box)以及病害类别(class label)。

  • 支持类别:{0: '水稻白叶枯病Bacterial_Leaf_Blight', 1: '水稻胡麻斑病Brown_Spot', 2: '健康水稻HealthyLeaf', 3: '稻瘟病Leaf_Blast', 4: '水稻叶鞘腐病Leaf_Scald', 5: '水稻窄褐斑病Narrow_Brown_Leaf_Spot', 6: '水稻穗颈瘟Neck_Blast', 7: '稻飞虱Rice_Hispa'}

  • 训练数据:3,567张水稻病害图像及对应标注信息(Rice Leaf Spot Disease Annotated Dataset),训练200epoch。

  • 评测指标:测试集 {mAP50: 56.3, mAP50-95: 34.9}

模型使用(with Data-Juicer)

  • 输出格式:
[{
    "images": image_path1,
    "objects": {
                "ref": [class_label1, class_label2, ...], 
                "bbox": [bbox1, bbox2, ...]
                }
    }, 
    ...
]
  • 可参考代码:
import json
from data_juicer.core.data import NestedDataset as Dataset
from data_juicer.ops.mapper.image_detection_yolo_mapper import ImageDetectionYoloMapper
from data_juicer.utils.constant import Fields, MetaKeys

if __name__ == "__main__":

    image_path1 = "test1.jpg"
    image_path2 = "test2.jpg"
    image_path3 = "test3.jpg"

    source_list = [{
        'images': [image_path1, image_path2, image_path3]
    }]

    class_names =['水稻白叶枯病Bacterial_Leaf_Blight', '水稻胡麻斑病Brown_Spot', '健康水稻HealthyLeaf', '稻瘟病Leaf_Blast', '水稻叶鞘腐病Leaf_Scald', '水稻窄褐斑病Narrow_Brown_Leaf_Spot', '水稻穗颈瘟Neck_Blast', '稻飞虱Rice_Hispa']

    op = ImageDetectionYoloMapper(
        imgsz=640, conf=0.05, iou=0.5, model_path='Path_to_YOLO11L-Rice-Disease-Detection.pt')


    dataset = Dataset.from_list(source_list)
    if Fields.meta not in dataset.features:
        dataset = dataset.add_column(name=Fields.meta,
                                        column=[{}] * dataset.num_rows)
    dataset = dataset.map(op.process, num_proc=1, with_rank=True)
    res_list = dataset.to_list()[0]

    new_data = []
    for temp_image_name, temp_bbox_lists, class_name_lists in zip(res_list["images"], res_list["__dj__meta__"]["__dj__bbox__"], res_list["__dj__meta__"]["__dj__class_label__"]):
        temp_json = {}
        temp_json["images"] = temp_image_name
        temp_json["objects"] = {"ref": [], "bbox":temp_bbox_lists}

        for temp_object_label in class_name_lists:
            temp_json["objects"]["ref"].append(class_names[int(temp_object_label)])
    
        new_data.append(temp_json)

    with open("./output.json", "w") as f:
        json.dump(new_data, f)
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for datajuicer/YOLO11L-Rice-Disease-Detection

Base model

Ultralytics/YOLO11
Finetuned
(82)
this model