无人机航拍语义分割数据集|地表覆盖分类|耕地环保监测训练集

遥感航拍地物分割数据集|农业自然资源调查|低空视觉分割样本库

山川河道环保监测数据集|城市农田植被水体识别深度学习数据


低空遥感与智慧国土快速发展,耕地监测、环保督察、国土调查、河道治理、城乡规划对高精度地表语义分割需求激增。但航拍场景存在地物细碎、边界模糊、光照复杂、尺度差异大等难点,通用分割数据集难以适配真实低空视角。本文介绍无人机地表多类别语义分割数据集,配套分割模型训练、推理、可视化全流程代码,开箱即用,快速落地国土/农业/环保低空智能解译系统。10205


📁 项目总览

  • 项目领域:计算机视觉|语义分割|低空遥感|智慧农业|环保监测
  • 核心任务:无人机航拍图像高精度地表覆盖分类与像素级分割
  • 数据规模:220 张高清航拍图像,单数据集完整结构
  • 标注类别:裸土、建筑、农田、温室、草本、不透水面、透水面、植被、水体共9类
  • 数据格式:原图 JPG + 像素级掩码 PNG,标准分割格式
  • 适配算法:UNet、DeepLabv3+、SegFormer、YOLOv8‑seg 等主流分割框架
  • 应用场景:耕地提取、国土调查、环保监测、山川河道识别、城乡地物分类

🧾 数据集核心信息

信息项 详情
任务类型 计算机视觉 · 语义分割(Semantic Segmentation)
标注类别 裸土、建筑、农田、温室、草本、不透水层、透水层、植被、水体
数据总量 220 张无人机航拍图像 + 对应掩码标签
数据格式 图像:JPG;标注:PNG 掩码图(像素级分类)
场景特点 城乡混合、农业地块、山川河道、植被水体、建筑道路全覆盖
适用任务 小样本分割学习、地表解译、遥感分类、资源调查、环境监测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

✨ 核心优势

  • 低空视角专属:无人机真实航拍,完全匹配遥感巡检场景
  • 地物覆盖全面:9大类覆盖自然/人工/农业/水体全要素
  • 像素级精准标注:边界清晰、类别规范,适合分割模型训练
  • 小样本友好:规模精简,适合快速验证、算法原型、教学实验
  • 工程化就绪:兼容主流分割框架,配置简单、训练稳定、易部署

在这里插入图片描述
在这里插入图片描述

📂 标准目录结构

drone-semantic-seg/
├── images/                # 航拍原图
│   ├── train/
│   └── val/
├── masks/                 # 像素级分割掩码
│   ├── train/
│   └── val/
├── scripts/
│   ├── split_seg.py       # 分割数据集划分
│   ├── vis_mask.py        # 掩码可视化
│   └── mask2yolo.py       # 转YOLO分割格式
├── config.yaml            # 分割训练配置
├── train_seg.py           # 语义分割训练
├── predict_seg.py         # 推理与可视化
└── README.md

🧪 深度学习实战代码

1. config.yaml

# 场景注释:无人机低空遥感·9类地表语义分割配置
# 地物尺度差异大、边界细碎,建议 imgsz=640,开启多尺度训练
path: ./drone-semantic-seg
train:
  images: images/train
  masks: masks/train
val:
  images: images/val
  masks: masks/val

num_classes: 9
class_names: [
    "baresoil", "building", "farmland", "greenhouse",
    "herbaceous", "impervious", "pervious", "vegetation", "water"
]

# 分割调参经验:
# 1. imgsz=640/800 提升小地块、细边界精度
# 2. 开启水平翻转、旋转增强,提升泛化性
# 3. 使用 CrossEntropyLoss 平衡多类别

2. train_seg.py(YOLOv8‑seg 分割训练)

from ultralytics import YOLO

# 场景注释:无人机地表分割·城乡/农业/水体混合场景训练
# 针对边界模糊、小地块、多类别不均衡做优化
if __name__ == "__main__":
    model = YOLO("yolov8s-seg.pt")

    model.train(
        data="config.yaml",
        epochs=120,
        imgsz=640,
        batch=8,
        device=0,
        patience=10,
        lr0=0.001,
        lrf=0.01,
        weight_decay=0.0005,
        warmup_epochs=3,
        cos_lr=True,
        augment=True,
        hsv_h=0.015,
        hsv_s=0.7,
        hsv_v=0.4,
        degrees=15.0,
        name="drone_semantic_seg"
    )

3. predict_seg.py

from ultralytics import YOLO
import cv2

# 场景注释:无人机航拍分割推理·输出地物分类掩码与可视化图
def seg_predict():
    model = YOLO("./runs/segment/drone_semantic_seg/weights/best.pt")

    img_path = "drone_aerial.jpg"
    # 高分辨率提升细节分割效果
    results = model.predict(
        source=img_path,
        imgsz=640,
        conf=0.25,
        save=True
    )

    # 保存掩码结果
    res_img = results[0].plot()
    cv2.imwrite("seg_result.png", res_img)

if __name__ == "__main__":
    seg_predict()

4. vis_mask.py(掩码可视化查看)

import cv2
import numpy as np

# 场景注释:分割数据集可视化·查看掩码与原图叠加效果
def visualize_mask(img_path, mask_path, alpha=0.5):
    img = cv2.imread(img_path)
    mask = cv2.imread(mask_path, cv2.IMREAD_GRAYSCALE)

    # 生成彩色掩码
    colormap = np.random.randint(0, 255, (9, 3), dtype=np.uint8)
    color_mask = colormap[mask]

    # 叠加显示
    overlay = cv2.addWeighted(img, 1-alpha, color_mask, alpha, 0)
    cv2.imwrite("vis_mask.png", overlay)

if __name__ == "__main__":
    visualize_mask("test.jpg", "mask.png")

🎯 落地应用方向

  1. 耕地资源监测:精准提取农田、温室,支撑非粮化监测
  2. 环保河道监管:水体、植被、裸土自动提取,督察污染变化
  3. 国土空间调查:建筑、道路、地表覆盖自动分类入库
  4. 山川生态监测:植被覆盖、水土流失、生态环境智能解译
  5. 城乡规划测绘:快速生成地物分类图,辅助规划决策

📌 标签

#无人机语义分割 #航拍数据集 #地表分类 #遥感分割 #耕地监测 #环保监测 #语义分割数据集 #智慧农业 #国土调查 #低空遥感 #YOLO分割 #计算机视觉 #深度学习数据集

Logo

免费领 150 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐