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

滑坡智能识别|遥感卫星无人机多源影像数据集|深度学习语义分割开源基准

滑坡智能识别遥感卫星无人机多源影像数据集深度学习语义分割开源基准地质灾害应急监测正从人工目视解译迈向AI自动化解译滑坡识别作为地质灾害防控核心环节面临样本稀缺、场景单一、尺度不均、标注粗糙四大痛点严重制约模型泛化与工程落地。本项目发布多区域、多分辨率、高精度标注滑坡遥感数据集配套完整深度学习训练推理代码为科研与工程提供开箱即用的基准方案助力滑坡智能识别技术快速迭代。数据集信息数据规模20,865张高分辨率遥感影像总容量8.55GB覆盖区域9大典型滑坡灾区含国内外地震诱发滑坡场景影像来源PlanetScope、SuperView-1、GF-1卫星无人机航拍分辨率0.2m/0.5m/0.6m/1.0m多尺度覆盖标准格式512×512像素TIFF格式RGB三波段标注体系分类标签像素级掩码适配语义分割/目标检测应用方向滑坡识别、灾害清单制图、语义分割模型训练区域与数据明细序号英文标识核心说明1Hokkaido Iburi-Tobu2018日本北海道地震滑坡PlanetScope卫星2Jiuzhai Valley(UAV-0.2m)2017九寨沟地震0.2m无人机掩膜标注3Jiuzhai Valley(UAV-0.5m)九寨沟区域0.5m无人机影像4Lombok2018印尼龙目岛地震滑坡遥感提取5Longxi River(SAT)四川陇西河0.8m卫星滑坡提取6Longxi River(UAV)陇西河区域0.2m无人机滑坡掩膜7Mengdong Township云南勐董乡0.5m影像掩膜8Moxi Town(UAV)四川莫溪镇0.2m/1m多尺度变化检测9Palu2018印尼帕卢地震滑坡液化10Tiburon Peninsula2021海地地震多源卫星融合目录结构landslide-remote-sensing-dataset/ ├── README.md # 说明文档 ├── images/ # 原始影像TIFF ├── masks/ # 像素级掩码 ├── labels/ # 分类标签 ├── splits/ # 训练/验证/测试划分 ├── code/ │ ├── dataset.py # 数据加载 │ ├── model.py # 网络定义 │ ├── train.py # 训练脚本 │ ├── infer.py # 推理脚本 │ └── utils.py # 工具函数 └── docs/ # 技术文档深度学习核心代码# -*- coding: utf-8 -*- 主题 遥感滑坡语义分割标准训练流程 场景 适配卫星无人机多源数据解决小目标/边缘模糊/样本不均衡 框架 PyTorch segmentation_models_pytorch 数据 本项目512×512 TIFF像素级掩码标注 importosimporttorchimporttorch.nnasnnimportalbumentationsasAfromalbumentations.pytorchimportToTensorV2fromtorch.utils.dataimportDataset,DataLoaderimportsegmentation_models_pytorchassmpfromtqdmimporttqdmimportcv2importnumpyasnp# 1. 全局配置滑坡场景优化DEVICEcudaiftorch.cuda.is_available()elsecpuIMG_SIZE512IN_CHANNELS3NUM_CLASSES1LEARNING_RATE1e-4BATCH_SIZE8EPOCHS50DATA_ROOT./IMG_DIRos.path.join(DATA_ROOT,images)MASK_DIRos.path.join(DATA_ROOT,masks)# 2. 数据增强遥感滑坡专用# 保留地物纹理/坡度信息避免畸变导致边界误判train_transformA.Compose([A.Resize(IMG_SIZE,IMG_SIZE),A.HorizontalFlip(p0.5),A.VerticalFlip(p0.5),A.RandomRotate90(p0.5),A.Normalize(mean(0.485,0.456,0.406),std(0.229,0.224,0.225)),ToTensorV2()])val_transformA.Compose([A.Resize(IMG_SIZE,IMG_SIZE),A.Normalize(mean(0.485,0.456,0.406),std(0.229,0.224,0.225)),ToTensorV2()])# 3. 数据集加载适配TIFF与掩码classLandslideDataset(Dataset):def__init__(self,img_dir,mask_dir,transformNone):self.img_pathssorted([os.path.join(img_dir,f)forfinos.listdir(img_dir)iff.endswith(.tif)])self.mask_pathssorted([os.path.join(mask_dir,f)forfinos.listdir(mask_dir)iff.endswith(.tif)])self.transformtransformdef__len__(self):returnlen(self.img_paths)def__getitem__(self,idx):imgcv2.imread(self.img_paths[idx])imgcv2.cvtColor(img,cv2.COLOR_BGR2RGB)maskcv2.imread(self.mask_paths[idx],cv2.IMREAD_GRAYSCALE)mask(mask0).astype(np.float32)# 二值化滑坡1背景0ifself.transform:augmentedself.transform(imageimg,maskmask)imgaugmented[image]maskaugmented[mask].unsqueeze(0)returnimg,mask# 4. 模型构建U-NetResNet34兼顾精度速度modelsmp.Unet(encoder_nameresnet34,encoder_weightsimagenet,in_channelsIN_CHANNELS,classesNUM_CLASSES,activationsigmoid).to(DEVICE)# 5. 损失函数解决滑坡样本不均衡# 混合DiceBCE降低背景主导、提升滑坡边界召回率loss_fnsmp.losses.DiceLoss(smp.losses.BINARY_MODE)smp.losses.BCELoss()# 6. 优化器与指标optimizertorch.optim.AdamW(model.parameters(),lrLEARNING_RATE)schedulertorch.optim.lr_scheduler.CosineAnnealingLR(optimizer,T_maxEPOCHS)metrics[smp.metrics.IoU(threshold0.5)]# 7. 训练验证核心逻辑deftrain_one_epoch(model,loader,loss_fn,optimizer,device):model.train()total_loss0forimg,maskintqdm(loader):img,maskimg.to(device),mask.to(device)predmodel(img)lossloss_fn(pred,mask)optimizer.zero_grad()loss.backward()optimizer.step()total_lossloss.item()returntotal_loss/len(loader)defval_one_epoch(model,loader,loss_fn,metrics,device):model.eval()total_loss0total_metrics{m.__name__:0forminmetrics}withtorch.no_grad():forimg,maskintqdm(loader):img,maskimg.to(device),mask.to(device)predmodel(img)lossloss_fn(pred,mask)total_lossloss.item()forminmetrics:total_metrics[m.__name__]m(pred,mask).item()returntotal_loss/len(loader),{k:v/len(loader)fork,vintotal_metrics.items()}# 8. 启动训练if__name____main__:train_dsLandslideDataset(IMG_DIR,MASK_DIR,train_transform)train_loaderDataLoader(train_ds,batch_sizeBATCH_SIZE,shuffleTrue)val_loaderDataLoader(train_ds,batch_sizeBATCH_SIZE,shuffleFalse)forepochinrange(EPOCHS):train_losstrain_one_epoch(model,train_loader,loss_fn,optimizer,DEVICE)val_loss,val_metricsval_one_epoch(model,val_loader,loss_fn,metrics,DEVICE)scheduler.step()print(fEpoch{epoch1:2d}| TrainLoss:{train_loss:.4f}| ValLoss:{val_loss:.4f}| IoU:{val_metrics[iou_score]:.4f})torch.save(model.state_dict(),landslide_segmentation_best.pth)技术优势多源融合卫星无人机互补覆盖广域与精细场景尺度齐全0.2m–1m分辨率适配大/中/小尺度滑坡标注精准像素级掩码直接训练主流分割模型工程友好标准格式、目录清晰、开箱即用泛化性强多区域多地貌提升模型跨区域迁移能力典型应用方向地震/降雨诱发滑坡快速识别与提取地质灾害风险区划与监测预警遥感AI语义分割模型训练与 benchmark应急测绘、灾害评估、灾后重建规划使用说明下载数据集按标准目录放置配置环境pip install torch segmentation-models-pytorch albumentations opencv-python tqdm调整路径与超参数运行train.py启动训练用infer.py对新影像批量推理输出滑坡掩码标签#遥感影像 #滑坡识别 #语义分割 #深度学习 #无人机航拍 #地质灾害 #数据集 #PyTorch #U-Net #智能解译
http://www.rkmt.cn/news/1403692.html

相关文章:

  • FinalBurn Neo:终极复古街机模拟器完整使用指南
  • ProperTree:3个核心技巧解决跨平台plist编辑难题
  • Android手把手编写儿童手机远程监控App之WebRtc音视频通信2
  • 如何免费激活IDM?3种简单方法永久解锁下载神器
  • 船载无人机自主降落:YOLOv8改进与多传感器融合实战
  • 低成本自制星链无线路由器,灵活配置还能多样升级!
  • 5分钟上手:浏览器多URL批量打开工具Open-Multiple-URLs
  • 别再死磕手册了!手把手教你用CIA402状态机搞定EtherCAT伺服驱动(附状态切换流程图)
  • 基于虚拟本地振荡器与三次样条插值的低成本厘米级可见光定位系统
  • 如何用res-downloader轻松下载视频号、抖音和小红书的加密内容?
  • 《大模型微调成本从 10 万降到 1000 元!LoRA+QLoRA 实战指南》
  • Pearcleaner:重新定义macOS清理体验的开源工具
  • 字节跳动开发岗面试常见问题有哪些
  • 如何用本地AI从视频中精准提取硬字幕:视频字幕提取器的技术实践
  • JAX与TensorFlow在Intel/AMD/NVIDIA平台上的功耗优化实战指南
  • 5大核心功能揭秘:AI视频编辑中的智能镜头控制技术革命
  • 燃料电池空气供给系统控制与故障诊断策略【附程序】
  • Boss-Key:Windows办公隐私保护终极指南,一键隐藏窗口告别尴尬时刻
  • 什么是阻抗匹配?功率传输和防止信号反射的理由及原理
  • ONVIF协议背景及视频网关接入
  • Winhance中文版:让Windows系统重获新生的性能魔法三部曲
  • 基于SDN/SDS的动态公平共享缓冲区策略解决TCP Incast问题
  • 如何通过图像识别技术实现鸣潮游戏自动化:完整指南与架构解析
  • ResNet深度剖析:残差连接如何破解深度网络训练难题?
  • 基于Petri网与FPGA的矩阵变换器高可靠并发控制实现
  • 基于深度可分离卷积与FPGA的激光雷达可行驶区域分割系统设计
  • 基于本地大模型与RAG架构的加密货币内存取证智能分析系统
  • 3步构建专业级数据大屏:Big Screen可视化框架完整指南
  • 通过Nodejs轻松将Taotoken大模型API集成到前端项目
  • AI视觉智慧矿山