news 2026/6/23 12:03:25

无人机滑坡分割数据集 无人机自然灾害实例分割检测数据集 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进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 14:16:20

7、脚本开发与使用全攻略

脚本开发与使用全攻略 在脚本开发和使用的领域中,有许多强大的工具和特性值得我们去探索。下面将为你详细介绍相关内容。 WshScriptExec对象 在脚本模型里,WshScriptExec对象扮演着重要角色,它用于返回通过Exec方法运行或已执行的脚本的状态信息。常见用法是提供一个变量…

作者头像 李华
网站建设 2026/6/23 10:14:13

14、ADSI数据访问与对象枚举全解析

ADSI数据访问与对象枚举全解析 1. 日期时间表示示例 在处理数据时,日期和时间的表示至关重要。以下是一些具体示例: | 表示形式 | 含义 | | — | — | | 0101312145Z | 表示2001年1月31日,当地时间晚上9:45 | | 751225050035 | 表示1975年圣诞节,当地时间早上5:00:35…

作者头像 李华
网站建设 2026/6/23 8:35:16

必须精通了hyperf才算学会了swoole吗?

不必精通 Hyperf 才算学会 Swoole。 这是一个常见的认知误区。Swoole 是底层引擎,Hyperf 是上层框架,二者是“引擎与整车”的关系。你可以只学引擎(Swoole),也可以直接开整车(Hyperf)&#xff0…

作者头像 李华
网站建设 2026/6/23 16:34:31

Excalidraw与Figma对比:哪个更适合早期原型设计?

Excalidraw与Figma对比:哪个更适合早期原型设计? 在一场产品需求评审会上,团队围坐在虚拟会议室中,产品经理刚抛出一个新功能设想。有人立刻打开Figma开始排布界面元素,而另一位工程师则打开了Excalidraw——几秒钟后&…

作者头像 李华
网站建设 2026/6/23 18:18:10

Excalidraw二维码分享:移动端访问一键直达

Excalidraw二维码分享:移动端访问一键直达 在一场远程产品评审会上,主持人刚把架构图投屏,会议室里的同事已经纷纷掏出手机扫码加入编辑——不到十秒,所有人同步看到了同一块白板。这种“所见即所得”的协作体验,正是现…

作者头像 李华