news 2026/1/29 6:13:14

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
无人机滑坡分割数据集 无人机自然灾害实例分割检测数据集 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 真实对比图(含掩码)

🌐 应用场景

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/27 16:27:18

Excalidraw鼠标右键菜单:快捷入口提高效率

Excalidraw中的右键菜单:效率背后的智能交互设计 在远程协作成为常态的今天,团队对可视化工具的要求早已超越“能画图”的基础功能。设计师、工程师和产品经理需要的是一个既能快速表达想法,又能高效协同修改的数字白板。Excalidraw 正是在这…

作者头像 李华
网站建设 2026/1/25 6:58:04

Excalidraw缓存策略设计:减少重复计算开销

Excalidraw缓存策略设计:减少重复计算开销 在AI驱动的协作工具日益普及的今天,一个看似简单的问题却频频困扰开发者——用户反复输入“画一个微服务架构图”,系统是否每次都得重新调用大模型生成一遍?对于Excalidraw这类基于自然语…

作者头像 李华
网站建设 2026/1/26 11:07:27

2、脚本编程入门指南

脚本编程入门指南 1. 使用脚本编程的原因 除了能够访问ADSI的对象和服务外,使用脚本编程还有很多其他的理由。与批处理文件相比,脚本编程具有更高的灵活性。像VBScript和JScript这样的脚本语言,允许在代码中进行决策,并根据结果执行不同的操作。可以通过输入框征求用户反…

作者头像 李华
网站建设 2026/1/22 4:00:42

19、Windows Scripting Host (WSH) 方法与使用示例

Windows Scripting Host (WSH) 方法与使用示例 1. 引言 Windows Scripting Host (WSH) 提供了一系列强大的方法,可用于执行各种操作,如创建对象、管理打印机、操作注册表等。本文将详细介绍这些方法及其使用示例。 2. 快捷方式相关操作 2.1 创建快捷方式示例 Dim objSh…

作者头像 李华
网站建设 2026/1/20 3:46:17

Excalidraw API自动化脚本:批量创建模板库

Excalidraw API自动化脚本:批量创建模板库 在技术文档和系统设计日益依赖可视化表达的今天,团队对图表的一致性、可复用性和协作效率提出了更高要求。传统的绘图方式——打开工具、手动拖拽形状、调整样式、保存分享——虽然直观,但在面对“…

作者头像 李华
网站建设 2026/1/24 2:14:24

Excalidraw Helm Chart发布:一键部署生产环境

Excalidraw Helm Chart发布:一键部署生产环境 在远程协作成为常态的今天,技术团队对高效、直观且安全的可视化工具需求愈发迫切。无论是架构设计评审、产品原型讨论,还是教学演示,一张“能说清楚问题”的草图往往胜过千言万语。然…

作者头像 李华