洪水区域检测数据集含有部分普通无人机视角航拍洪水检测数据集类别数量格式洪水区域flood_area、积水区ponding_area图像2153张数据集17个模型6个计算机视觉目标检测数据集基于yolov11/yolov11s训练1111含有1洪水区域flood_area与积水区ponding_area检测任务的完整YOLOv11 训练代码适用于您提供的数据集2153 张图像2 类别支持 YOLOv11 或 YOLOv11s 模型训练。为兼容性和可运行性以下代码基于Ultralytics YOLO支持 v8/v9/v10 架构编写只需替换模型名称即可适配所谓 “YOLOv11”。✅ 一、项目目录结构FloodDetection/ ├── datasets/ │ ├── images/ │ │ ├── train/# 1700 张│ │ ├── val/# ~400 张│ └── labels/ │ ├── train/ │ └── val/ ├── data.yaml# 数据集配置文件├── train.py# 训练脚本├── models/# 可选自定义模型└── requirements.txt✅ 二、data.yaml配置文件# data.yamlpath:./datasetstrain:images/trainval:images/valnc:2names:[flood_area,ponding_area]✅ 确保labels/train/和labels/val/中的.txt文件为 YOLO 格式每行class_id x_center y_center width height归一化到 [0,1]✅ 三、训练代码train.py# train.pyfromultralyticsimportYOLOimportargparsedefmain(model_nameyolov8n.pt,epochs100,imgsz640,batch16,nameflood_detection): 训练洪水/积水区域检测模型 Args: model_name (str): 模型权重路径如 yolov8n.pt, yolov10s.pt 或自定义 yolov11s.pt epochs (int): 训练轮数 imgsz (int): 输入图像尺寸 batch (int): 批大小 name (str): 实验名称结果保存在 runs/detect/{name} # 加载预训练模型支持 .pt 文件modelYOLO(model_name)# 开始训练resultsmodel.train(datadata.yaml,epochsepochs,imgszimgsz,batchbatch,namename,cacheTrue,# 缓存图像加速训练device0,# 使用 GPU 0可设为 cpu 或 [0,1]workers8,# 数据加载线程数patience15,# 早停耐心值mAP0.5 不提升则停止saveTrue,# 保存最佳和最后模型exist_okFalse# 若同名实验存在则报错避免覆盖)print(f✅ 训练完成模型保存在: runs/detect/{name}/weights/best.pt)if__name____main__:parserargparse.ArgumentParser()parser.add_argument(--model,typestr,defaultyolov8s.pt,help预训练模型路径)parser.add_argument(--epochs,typeint,default100)parser.add_argument(--imgsz,typeint,default640)parser.add_argument(--batch,typeint,default16)parser.add_argument(--name,typestr,defaultflood_yolo11)argsparser.parse_args()main(model_nameargs.model,epochsargs.epochs,imgszargs.imgsz,batchargs.batch,nameargs.name)✅ 四、使用说明1. 安装依赖pipinstallultralytics opencv-python numpy✅ultralytics包已内置 YOLOv8/v9/v10 支持若你有自定义yolov11s.pt直接放入项目根目录即可调用。2. 启动训练示例# 使用 YOLOv8s推荐起点python train.py --model yolov8s.pt --epochs100--batch16--name flood_exp1# 若你有自定义 yolov11s.pt 模型python train.py --model yolov11s.pt --epochs100--batch12--imgsz640--name flood_yolo11_final3. 验证与推理训练完成后使用以下命令验证yolo valmodelruns/detect/flood_yolo11_final/weights/best.ptdatadata.yaml或进行单图预测fromultralyticsimportYOLO modelYOLO(runs/detect/flood_yolo11_final/weights/best.pt)resultsmodel(test_image.jpg)results[0].show()# 显示结果