buildseg是一个基于ONNX的用于建筑提取的QGIS插件(使用PaddlePaddle训练并转为ONNX),使用PaddleSeg提供的语义分割能力,可以对大片区域进行分块提取并拼接。当前新增了自动下载栅格影像并进行建筑提取,用户需要在Mapbox进行注册并记录Token。
*说明:栅格根据矢量范围从Mapbox下载,且使用的模型为SegFormer_B2。
- xx 04 2022 [v0.3] : 1. 添加基于Mapbpx的在线地图分割; 2. 国际化支持。
- 08 02 2022 [v0.2] : 1. 使用ONNX代替PaddlePaddle; 2. 在Windows / Linux / Mac OS上进行了测试。
- 23 12 2021 [v0.1] : 1. 添加基于PaddlePaddle的语义分割功能; 2. 添加结果转为矢量数据; 3. 添加矢量简化。
-
下载并安装QGIS,然后克隆这个项目:
git clone git@github.com:deepbands/buildseg.git
-
安装依赖:
-
进入项目文件夹并且使用OSGeo4W shell(使用管理员打开)安装依赖库:
cd buildseg pip install -r requirements.txt
-
或者直接使用管理员权限打开OSGeo4W shell并且输入:
pip install opencv-python onnx onnxruntime --user
-
-
复制buildseg文件夹到QGIS配置文件夹并在QGIS的插件管理中选择此插件(如果未显示,请重新启动QGIS)。
- 你可以通过QGIS界面中左上方的菜单知道你的配置文件夹路径
[设置] > [用户配置] > [打开当前配置文件夹]
。 - 进入
python\plugins
然后粘贴buildseg文件夹。 - 完整的路径应该如下:
C:\Users\$USER\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\buildseg
。
- 你可以通过QGIS界面中左上方的菜单知道你的配置文件夹路径
-
打开QGIS,导入栅格图像并且选择ONNX文件(
*.onnx
)然后点击ok
。
- mIoU从PaddlePaddle模型测出,其他的参数由ONNX模型获得。
- 训练 / 评估 (5k)数据:AI Studio。
- 运行耗时的测试环境:[Win10] / [i7-10750H] / [RTX 2060] ,测试数据:百度云盘 | 谷歌云盘。
模型 | 骨干网络 | 分辨率 | 平均交并比 | 参数(MB) | 运行耗时(s) | 静态权重 |
---|---|---|---|---|---|---|
OCRNet | HRNet_W18 | 512x512 | 89.38% | 46.49 | 39.090 | 百度云盘 | 谷歌云盘 |
SegFormer_B2 | - | 512x512 | 89.47% | 104.56 | 59.498 | 百度云盘 | 谷歌云盘 |
BiSeNet_V2 | - | 512x512 | 84.61% | 8.94 | 7.004 | 百度云盘 | 谷歌云盘 |
*说明 :所有百度网盘的提取码均为band
.
这项工作正在进行中,目前相关的文档如下:
- 不使用plugin builder来构建一个更简单的插件。