基于iDesktopX的深度学习实践之提取建筑面

基于iDesktopX的深度学习实践之提取建筑面

作者:Neshoir

       随着人工智能技术的迅速发展,越来越多从事GIS研究或应用的组织开始积极投入到GIS与AI结合的技术创新工作中。目前的技术发展情况可见,AI能够为GIS提升多个方向的能力,如遥感影像处理、中文地址解析、时空分布预测等。超图最新发布的10i iDesktopX产品提供了基于深度学习的建筑物地面提取、目标检测、场景分类、二元分类、地物分类等功能,降低用户使用门槛,提升效率。用户只需准备用于学习的数据,以二元分类为例,我们将对影像里的建筑物提取为面对象。

一、数据获取与准备
1. 影像数据
  • 尽可能选分辨率高,质量高的数据。
分类 说明
格式 .tiff/.tif/.img格式
通道 3通道,必须包含RGB
坐标 epsg4326
位宽 8 bit无符号
  • 目标提取蓝色厂房。

    基于iDesktopX的深度学习实践之提取建筑面_第1张图片

2. 标注数据
  • 用IDesktopX工具,进行影像对象目标外轮廓绘制及属性标签赋值。

    基于iDesktopX的深度学习实践之提取建筑面_第2张图片

二、训练数据制作
1.环境配置
  • 启动iDesktopX桌面工具,“开始”-“浏览”-“python”,默认Python环境是3.7,需要切换为Python3.6,否则会碰见各种模块不兼容问题。Python3.6环境可以自行安装。

    基于iDesktopX的深度学习实践之提取建筑面_第3张图片

  • 配置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
    

    ​ 下载地址:GDAL 、rasterio

  • 下载机器学习资源包 resource_ml ,包含了资源,数据,模型等,并解压到iDesktopX根目录,如图:

    基于iDesktopX的深度学习实践之提取建筑面_第4张图片
    注:所有路径不要带中文和特殊字符

2. 训练数据生成
  • iDesktopX软件启动,打开tif影像文件和标签数据集。

  • 切换到python3.6环境,“工具箱”-“机器学习”-“影像分析”-“训练数据生成”。

    基于iDesktopX的深度学习实践之提取建筑面_第5张图片

  • 参数解释

    影像数据源:tif或img格式的影像文件
    标签数据集:对影像进行标注的目标轮廓和属性
    图片大小:以像素为单位,大小的设置与内存消耗成正比
    训练用途:如目标检测、二元分类等
    类别字段:为影像目标对象的属性标签字段。二元分类的value值1代表兴趣类,0代表非兴趣类。
    
  • 训练数据生成,结果包含训练样本集,测试样本集,验证样本集。

    基于iDesktopX的深度学习实践之提取建筑面_第6张图片

三、模型训练
1. 介绍
  • 基于上一步生成的训练数据样本,训练神经网络模型,通过验证集和测试集对训练模型不断迭代评估,提供应用的准确度和精度。iDesktopX产品内置了TensorFlow、Keras等训练框架,默认提供了Faster-RCNN、U-Net等 模型用于影像分析。
2. 训练
  • “工具箱”-“机器学习”-“影像分析”-“模型训练”。

    基于iDesktopX的深度学习实践之提取建筑面_第7张图片

  • 参数说明

    训练数据:上一步训练数据结果。
    训练配置文件:可用resource_ml目录下的binary_cls_train_config.sdt配置文件,配置文件里指定了训练框架、训练模型、数据类型、主干网络、训练集等参数。
    训练次数:与训练时间成正比。
    单步运行算量:一个批次计算的图片数量,与内存消耗成正比,与训练时间成反比。
    学习率:根据经验设置一个相对合适的值。
    
  • 结果,每次迭代运行都会在控制台打印丢失率,得分率,精确度等信息。

    基于iDesktopX的深度学习实践之提取建筑面_第8张图片

四、二元分类
1. 分类
  • “工具箱”-“机器学习”-“影像分析”-“二元分类”。

    基于iDesktopX的深度学习实践之提取建筑面_第9张图片

  • 二元分类,得到二值化栅格图像。

    基于iDesktopX的深度学习实践之提取建筑面_第10张图片

2. 矢量化
  • 栅格矢量化,“空间分析”-“矢栅转换”-“栅格矢量化”

    基于iDesktopX的深度学习实践之提取建筑面_第11张图片

  • 参数解释

    勾选“只转换指定栅格值”
    栅格值:1代表目标兴趣类对象
    
  • 矢量化结果

    基于iDesktopX的深度学习实践之提取建筑面_第12张图片

五、总结
  • 结合不同的数据集类别对机器学习或深度学习模型进行训练,整体训练过程通过多次迭代(epoch)的方式来得到训练结果更优的网络模型,同时在训练模型中使用基于大规模基础训练数据的预训练模型,减少训练时间,通过超参数调优(学习率、Batchsize 等)提升模型训练效率和准确度。依照模型训练的周期时长,SuperMap 也提供支持短周期模型训练的SuperMap iDesktopX 桌面端训练工具和支持长周期模型训练的SuperMap iServer DataScience 服务方式训练工具。

你可能感兴趣的:(桌面GIS)