基于SegFormer语义分割模型的遥感建筑物损伤检测工具-SegFormer
项目描述 基于SegFormer语义分割模型的遥感建筑物损伤检测工具
基于 SegFormer 语义分割模型的遥感建筑物损伤检测工具,通过对比灾前/灾后遥感图像,自动识别建筑物位置并评估损伤程度,计算损伤比率并分级标注。提供 PyQt6 桌面界面,支持图片上传、一键检测、结果可视化与历史记录管理。
项目功能
– 建筑物检测:对灾前图像进行语义分割,提取建筑物轮廓与外接区域
– 损伤评估:对每个建筑物区域分析灾后图像,计算损伤像素占比
– 分级标注:按损伤比率分为低(<20%,绿色)、中(20%–70%,黄色)、高(>70%,红色)三级
– 结果输出:生成建筑物分割叠加图和损伤标注结果图
– 桌面界面:上传灾前/灾后图片 → 点击检测 → 页面直接展示分割图与损伤标注图
– 历史记录:每次检测自动存档(含输入图片副本和结果),可随时回看或清空
运行环境
– 操作系统:Windows
– Python:≥3.12(实测 3.12.14)
– GPU:非必需,支持 CPU 推理(实测 torch 2.9.0+cpu)
– 依赖管理:uv
– 依赖包:torch、torchvision、opencv-python、matplotlib、PyQt6、requests、tqdm
– 模型权重:首次运行自动从 GitHub Release 下载(building.pth + damage.pth,共约 105 MB),带 SHA256 校验
项目技术
– 深度学习模型:SegFormer-B1(Mix Vision Transformer + 轻量 MLP 解码器),二分类语义分割
– 推理框架:PyTorch(CPU 模式,torch.no_grad)
– 图像处理:OpenCV(读取、resize、轮廓检测、掩膜叠加、结果写入)
– 桌面框架:PyQt6(QThread 后台加载模型与推理,界面不阻塞;QTabWidget 分页展示结果;自适应图片缩放)
– 可视化:OpenCV 图像叠加 + matplotlib 损伤树状图(可选)
– 数据持久化:本地文件系统存档 + JSON 索引(history/ 目录)
– 权重管理:requests 下载 + hashlib SHA256 校验 + tqdm 进度条
以上系统源码经过技术整理与调试,确保能正常运行


