当前位置: 首页 > news >正文

无人机滑坡分割数据集 无人机自然灾害实例分割检测数据集 YOLOV8 SEG分割模型如何训练无人机滑坡落石实例分割数据集

1

1

1

1

1

1

1

1

1


📊 滑坡数据集核心信息表

信息类别具体内容
数据集名称滑坡实例分割数据集(Instance Segmentation Dataset)
总图像数量6709 张
标注格式实例分割(Instance Segmentation),支持 YOLO 或 Mask R-CNN 等模型
标注方式多边形(Polygon)标注,用于精确勾勒滑坡区域边界
图像分辨率统一预处理为640×640(原始尺寸可能不同,已拉伸至该大小)
数据集划分已自动划分,未设置测试集
- 训练集(Train Set)5917 张(占比 88%)
- 验证集(Valid Set)792 张(占比 12%)
- 测试集(Test Set)0 张(尚未划分)
预处理操作✅ Auto-Orient(自动定向)
✅ Resize: Stretch to 640×640(拉伸至固定尺寸)
适用任务地质灾害检测、滑坡识别、遥感影像分析、智能预警系统
典型场景山区道路、山坡、采石场、水库周边等易发滑坡区域

🔍 补充说明

  • 标注精度高:使用多边形(Polygon)而非矩形框,适合不规则滑坡区域。
  • 无测试集:当前未划分测试集,建议从验证集中分出 10%~15% 作为独立测试集以评估泛化能力。
  • 图像来源:多为航拍或卫星遥感图像,包含山体、植被、道路等复杂背景。
  • 可转换格式
    • 可导出为YOLOv8 分割格式.txt+ mask)
    • 或转换为COCO 格式用于训练 Faster R-CNN / Mask R-CNN
    • 支持直接导入Ultralytics YOLOv8进行实例分割训练

📁 推荐目录结构(若导出为本地文件)

landslide_dataset/ ├── images/ │ ├── train/# 5917 张 .jpg│ └── val/# 792 张 .jpg├── labels/ │ ├── train/# 对应 .txt 文件(含 mask 或 bbox)│ └── val/ └── dataset.yaml

📄 示例dataset.yaml(适用于 YOLOv8)

train:./images/trainval:./images/valtest:./images/test# 可留空或后续补充nc:1names:['landslide']

✅ 若为实例分割任务,需使用YOLOv8-seg模型:

model=YOLO('yolov8s-seg.pt')


YOLOv8 实例分割(Instance Segmentation)训练代码,适用于您提到的滑坡、


✅ 一、前提条件

  1. 数据集格式:必须为YOLO 分割格式(每张图对应一个.txt标签文件,含归一化多边形坐标)

  2. 目录结构

    your_dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ # .txt 文件,格式:class_id x1 y1 x2 y2 ... xn yn │ └── val/ └── dataset.yaml
  3. 安装依赖

    pipinstallultralytics opencv-python

📄 二、dataset.yaml配置(以滑坡为例)

# dataset.yamltrain:./images/trainval:./images/val# test: ./images/test # 可选nc:1# 类别数names:['landslide']# 类别名称(与标签中的 class_id=0 对应)

⚠️ 注意:YOLO 分割标签中,第一列为类别 ID,后续为归一化的多边形顶点坐标(x, y),成对出现,数量可变。

示例labels/train/xxx.txt内容:

0 0.452 0.612 0.467 0.631 0.489 0.625 0.475 0.602 ...

🚀 三、YOLOv8 分割训练代码(train_seg.py

# train_seg.pyfromultralyticsimportYOLOdefmain():# 加载 YOLOv8 分割预训练模型model=YOLO('yolov8s-seg.pt')# 可选: yolov8n-seg, yolov8m-seg, yolov8l-seg# 开始训练results=model.train(data='dataset.yaml',# 数据配置文件epochs=100,# 训练轮数imgsz=640,# 输入图像尺寸(可设为 1280 提升精度)batch=16,# 批次大小(根据 GPU 显存调整)name='landslide_seg_v8s',# 实验名称optimizer='AdamW',lr0=0.001,weight_decay=0.0005,hsv_h=0.015,# 色调增强hsv_s=0.7,hsv_v=0.4,degrees=10.0,# 旋转translate=0.1,scale=0.5,fliplr=0.5,# 左右翻转mosaic=0.8,# Mosaic 增强(对小目标有效)mixup=0.2,copy_paste=0.3,# Copy-Paste 增强(强烈推荐用于分割!)close_mosaic=10,# 最后10轮关闭 Mosaicdevice=0,# GPU 编号,'cpu' 表示使用 CPUworkers=4,save=True,save_period=10,exist_ok=False,verbose=True)if__name__=='__main__':main()

🔍 四、推理与可视化(detect_seg.py

# detect_seg.pyfromultralyticsimportYOLOimportcv2# 加载训练好的最佳分割模型model=YOLO('runs/segment/landslide_seg_v8s/weights/best.pt')defdetect_image(image_path,conf_thres=0.3):results=model(image_path,conf=conf_thres)# 绘制带掩码的检测结果annotated=results[0].plot()# 自动叠加 mask + bbox + labelcv2.imshow("Segmentation Result",annotated)cv2.waitKey(0)cv2.destroyAllWindows()# 或保存# cv2.imwrite("output_seg.jpg", annotated)# 示例detect_image("test_landslide.jpg")

📊 五、评估分割性能(evaluate_seg.py

# evaluate_seg.pyfromultralyticsimportYOLO model=YOLO('runs/segment/landslide_seg_v8s/weights/best.pt')metrics=model.val(data='dataset.yaml',split='val')print(f"mAP@0.5 (Box):{metrics.box.map50:.4f}")print(f"mAP@0.5 (Mask):{metrics.seg.map50:.4f}")# 关键指标!print(f"mAP@0.5:0.95 (Mask):{metrics.seg.map:.4f}")print(f"Precision (Mask):{metrics.seg.mp:.4f}")print(f"Recall (Mask):{metrics.seg.mr:.4f}")

重点关注metrics.seg.map50:这是实例分割任务的核心评价指标。


💡 六、关键技巧(针对分割任务)

技巧说明
启用copy_paste将目标从一张图“粘贴”到另一张,极大提升稀疏目标(如滑坡)的泛化能力
使用高分辨率imgsz=1280可更好保留滑坡边界细节
避免拉伸变形若原始图像比例差异大,建议使用letterbox(YOLO 默认),而非 stretch
检查标签格式确保.txt中坐标是归一化(0~1)偶数个数值

📦 七、输出结果说明

训练完成后,结果保存在:

runs/segment/landslide_seg_v8s/ ├── weights/best.pt # 最佳模型(按 mAP50-mask 选择) ├── results.csv # 训练指标日志 ├── results.png # 损失 & mAP 曲线图 └── val_batch0_labels.jpg # 验证集预测 vs 真实对比图(含掩码)

🌐 应用场景

  • 地质灾害监测(滑坡、泥石流)
  • 农业遥感(作物分割、病害区域提取)
  • 海上搜救(落水人员轮廓分割)
  • 城市规划(建筑物、道路提取)

http://www.jsqmd.com/news/117988/

相关文章:

  • 3、脚本编程与Windows Script Host 5.6新特性全解析
  • 11.Python 常用数据类型「增删改查」操作总结表格
  • Excalidraw双因素认证:强化账户登录安全性
  • Excalidraw工厂模式实现:对象创建更加优雅
  • Excalidraw API自动化脚本:批量创建模板库
  • Excalidraw单例模式应用:全局状态统一管理
  • Excalidraw备忘录模式保存:内部状态随时还原
  • 4、WSH 5.6 新特性全解析
  • 21、脚本编程及相关技术全面解析
  • Excalidraw权限管理最佳实践:保障企业信息安全
  • 包头型材2025年口碑推荐榜出炉 - 2025年品牌推荐榜
  • Excalidraw乐观锁机制:提升并发编辑体验
  • 2025年12月江苏新沂条纹砖服务商Top 5榜单解析 - 2025年品牌推荐榜
  • Excalidraw缓存策略设计:减少重复计算开销
  • 15、深入探索 Active Directory 搜索:优化策略与实用技巧
  • Excalidraw语音输入实验:边说边画的未来已来
  • NUC970 SoC Linux BSP架构深度分析 - 第一部分:总体架构与设计模式
  • 详细介绍:LeetCode 每日一题笔记 日期:2025.11.23 题目:1262.可被三整除的最大和
  • 16、活动目录搜索全解析
  • Excalidraw鼠标右键菜单:快捷入口提高效率
  • 17、探索ADSI安全与.NET框架语言的奥秘
  • 2025年12月值得信赖的果脯蜜饯冷柜定制公司 - 2025年品牌推荐榜
  • Excalidraw依赖注入模式:提升代码可测试性
  • 【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通
  • 18、C、脚本语言与WSH对象的深入解析
  • 轨迹记录软件哪个好?看是否支持多终端查看 - 企业数字化观察家
  • 区块链手艺:重塑信任与安全的未来
  • 2025 五大主流学习机品牌选购指南:适配孩子需求才是最优解 - 品牌测评鉴赏家
  • 油雾粉尘集收器生产厂家排行top5 - 2025年品牌推荐榜
  • Excalidraw社区最火的5个AI增强插件