基于iDesktopX的深度学习实践之提取建筑面
作者:Neshoir
随着人工智能技术的迅速发展,越来越多从事GIS研究或应用的组织开始积极投入到GIS与AI结合的技术创新工作中。目前的技术发展情况可见,AI能够为GIS提升多个方向的能力,如遥感影像处理、中文地址解析、时空分布预测等。超图最新发布的10i iDesktopX产品提供了基于深度学习的建筑物地面提取、目标检测、场景分类、二元分类、地物分类等功能,降低用户使用门槛,提升效率。用户只需准备用于学习的数据,以二元分类为例,我们将对影像里的建筑物提取为面对象。
一、数据获取与准备
1. 影像数据
- 尽可能选分辨率高,质量高的数据。
分类 | 说明 |
---|---|
格式 | .tiff/.tif/.img格式 |
通道 | 3通道,必须包含RGB |
坐标 | epsg4326 |
位宽 | 8 bit无符号 |
-
目标提取蓝色厂房。
2. 标注数据
-
用IDesktopX工具,进行影像对象目标外轮廓绘制及属性标签赋值。
二、训练数据制作
1.环境配置
-
启动iDesktopX桌面工具,“开始”-“浏览”-“python”,默认Python环境是3.7,需要切换为Python3.6,否则会碰见各种模块不兼容问题。Python3.6环境可以自行安装。
-
配置java组件环境变量,将bin文件夹的目录添加到系统path变量里。
-
安装Python组件包,在bin_python目录下,执行命令:
#注意一定要Python3.6环境 python setup.py install
-
安装机器学习依赖库,步骤如下:
# 在线安装依赖库,requirement.txt使用CPU进行机器学习(默认),requirement_gpu.txt使用GPU进行机器学习(性能更优) python -m pip install -r requirement.txt #Linux系统安装rasterio依赖库 python -m pip install rasterio #Windows系统需要根据系统环境下载两个二进制文件( GDAL 和 rasterio ) python -m pip install GDAL-2.3.2-cp36-cp36m-win_amd64.whl python -m pip install rasterio-1.0.11-CP36-cp36m-win_amd64.whl
-
下载机器学习资源包 resource_ml ,包含了资源,数据,模型等,并解压到iDesktopX根目录,如图:
注:所有路径不要带中文和特殊字符
2. 训练数据生成
-
iDesktopX软件启动,打开tif影像文件和标签数据集。
-
切换到python3.6环境,“工具箱”-“机器学习”-“影像分析”-“训练数据生成”。
-
参数解释
影像数据源:tif或img格式的影像文件 标签数据集:对影像进行标注的目标轮廓和属性 图片大小:以像素为单位,大小的设置与内存消耗成正比 训练用途:如目标检测、二元分类等 类别字段:为影像目标对象的属性标签字段。二元分类的value值1代表兴趣类,0代表非兴趣类。
-
训练数据生成,结果包含训练样本集,测试样本集,验证样本集。
三、模型训练
1. 介绍
- 基于上一步生成的训练数据样本,训练神经网络模型,通过验证集和测试集对训练模型不断迭代评估,提供应用的准确度和精度。iDesktopX产品内置了TensorFlow、Keras等训练框架,默认提供了Faster-RCNN、U-Net等 模型用于影像分析。
2. 训练
-
“工具箱”-“机器学习”-“影像分析”-“模型训练”。
-
参数说明
训练数据:上一步训练数据结果。 训练配置文件:可用resource_ml目录下的binary_cls_train_config.sdt配置文件,配置文件里指定了训练框架、训练模型、数据类型、主干网络、训练集等参数。 训练次数:与训练时间成正比。 单步运行算量:一个批次计算的图片数量,与内存消耗成正比,与训练时间成反比。 学习率:根据经验设置一个相对合适的值。
-
结果,每次迭代运行都会在控制台打印丢失率,得分率,精确度等信息。
四、二元分类
1. 分类
-
“工具箱”-“机器学习”-“影像分析”-“二元分类”。
-
二元分类,得到二值化栅格图像。
2. 矢量化
-
栅格矢量化,“空间分析”-“矢栅转换”-“栅格矢量化”
-
参数解释
勾选“只转换指定栅格值” 栅格值:1代表目标兴趣类对象
-
矢量化结果
五、总结
- 结合不同的数据集类别对机器学习或深度学习模型进行训练,整体训练过程通过多次迭代(epoch)的方式来得到训练结果更优的网络模型,同时在训练模型中使用基于大规模基础训练数据的预训练模型,减少训练时间,通过超参数调优(学习率、Batchsize 等)提升模型训练效率和准确度。依照模型训练的周期时长,SuperMap 也提供支持短周期模型训练的SuperMap iDesktopX 桌面端训练工具和支持长周期模型训练的SuperMap iServer DataScience 服务方式训练工具。