应用ArcGIS Pro深度学习(Deep Learning)模块识别棕榈树案例

深度学习(Deep Learning)是最近比较热门的一门技术,小编就ArcGIS官网的这个例子也来凑个热闹,体验下这门高深的技术。

但是,一上来就说这么高深莫测的词容易让人打退堂鼓,我就先举一个不太恰当的例子先让大家初步理解一下流程,本文中做的是下图中的第一和第四部分,因为第二部分比较难,没有仔细研究过,就不在这里班门弄斧了


目录

1、准备相应的python环境

1.1克隆arcgis pro的python环境

1.2将目录导航至新的环境并激活

1.3 安装深度学习所需要的tensflow相关包

1.4管理pro中使用的python环境并激活

1.5重启Pro使上述设置生效

2、创建比例尺、书签(在1部分中安装的过程中,可以同步进行下面的步骤)

3、创建训练模式

3.1打开训练样本管理器

4、棕榈树检测


要求:

  • ArcGIS组织中的发布者或管理员角色(免费试用
  • ArcGIS Pro(推荐2.4及以上版本)
  • ArcGIS Image Analyst(影像许可)
  • 可选:具有GTX 1080ti或更高版本的GPU且至少6 GB内存的计算机

相关资料链接:内容包括:1、深度学习包   2、本案例中用到的影像数据

因为要用到emd模型,模型中数据的位置在C:\DeepLearning\Data\frozen_inference_graph.pb,因此上面资料中除影像外,都需要放在C盘中。


1、准备相应的python环境

按照官网的教程中写的,首先应该是处理和影像相关的步骤,为什么我这里先提到先准备python环境呢?这个就好比我们小学时做过的数学题一样,小明早上起床后,要洗漱5分钟,听广播15分钟,煮鸡蛋7分钟,怎样可以更节省时间完成这些事情呢?这个也是类似的,准备相应的python环境大部分时间都是等待机器操作,人为干预的时间比较短,因此我先说这部分。

1.1克隆arcgis pro的python环境

   arcgis pro自带了一套python3的环境,但是这个是只读的,而DeepLearning需要的不是一个只读的环境,因此需要克隆一个一模一样的环境,让只读环境变为读写环境

conda create -n palm-detection –-clone arcgispro-py3

上述命令的意思是,新建一个名为palm-detection的文件夹,用来克隆arcgispro-py3的环境,因此,palm-detection这个参数可以更改。

因此,我在运行上面那个命令的时候,将文件夹名称命名为:newdeeplearning,文件路径如下

运行命令方式,打开如图所示界面

启动python命令窗口的时候一定记得区分,尤其是像小编这样,电脑中同时安装了server和ArcGIS Pro的,在第一次克隆的时候没有仔细看,克隆完了才发现克隆错了

补充一些基础知识,在最前面的括号里写的arcgispro-py3代表的是当前激活的是arcgispro-py3这个环境

1.2将目录导航至新的环境并激活

cd ../(这个命令的意思是从第一张图的路径切换到第二张图的路径)
cd newdeeplearning(进入到第二张图newdeeplearning路径)
activate newdeeplearning

1.3 安装深度学习所需要的tensflow相关包

(采用conda命令,在实验中我用过pip命令,并不适用于我的电脑,Pro是用conda管理python环境,所以安装相应包推荐用conda命令)

需要在上面的界面中逐个安装,有的会提示需要升级或者已有,要注意区分,本案例中用到的是这些版本。

conda install tensorflow-gpu=1.14.0
conda install keras-gpu=2.2.4
conda install scikit-image=0.15.0
conda install Pillow=6.1.0
conda install fastai=1.0.54
conda install pytorch=1.1.0
conda install libtiff=4.0.10 --no-deps

安装中的截图

1.4管理pro中使用的python环境并激活

1.5重启Pro使上述设置生效

2、创建比例尺、书签(在1部分中安装的过程中,可以同步进行下面的步骤)

将上述资料中的数据下载下来,加载到Pro中,如图所示(强烈建议在做本文中的练习时保存工程文件)

在Map左下角的比例尺中,自定义一个1:500的比例尺并保存,后面新建书签会用到。

打开Map标签下的Locate功能,搜索如下几个坐标,将地图切换至1:500比例尺,创建书签。

在Locate中输入的值在书签中保存的名称
175.3458501°W 21.0901350°S西北棕榈
175.3413074°W21.0949798°S中央东棕榈
175.3479054°W 21.1018014°S西南棕榈
175.3409475°W 21.1035265°S东南棕榈
175.3479457°W 21.0959058°S中西部棕榈

 

书签创建完如下图所示

3、创建训练模式

3.1打开训练样本管理器

步骤如图所示

如果上述页面中Training Samples Manager是灰色的不可用,那就说明是许可的问题,需要检查下Pro中是否有Image AnalystSpatial Analyst两种许可。

打开后,按照如下步骤操作。(这个地方类似于遥感中的监督分类)

点击之前保存好的书签,将比例尺固定在1:500,圈棕榈树即可,为了保证识别的更加准确,可以多圈几个。圈好的界面如图所示

需要在五个书签处都圈出来一些,如下图,创建完成后保存该成果。

3.2导出学习培训数据

在地理处理窗口中搜索Export Training Data for Deep Learning,导出即可。

导出的成果如下图所示

至此,所有前提条件需要准备好,才能进行接下来的步骤,前提条件为上面1、2、3三个步骤。

接下来就需要训练深度学习模型审查模型了,这是深度学习中的难点,小编因为水平有限,本文中就用esri提供的训练好的模型直接去用,为了梳理下整个工作流,感兴趣的小伙伴儿可以在这个地方多花些精力去做。

4、棕榈树检测

因为在上文中准备好了工程,python环境、Pro也重启了,这里需要在地理处理工具中搜索Detect Objects Using Deep Learning工具,并按照下图方式填写

参数说明:Input Raster:当前要识别的影像

                  Output Detected Objects:识别后输出的结果,为featureClass

                  Model Defintion:前面训练好的模型,需要输入的文件格式为emd文件

在填写第3个参数的时候,如果识别的到如下错误,那么大概率是python环境的问题,最主要的没装tensflow相对应版本的python(这个解决方法仅对本文中的案例,对于别的案例不一定适用,可以确定的是缺少对应正确的python环境,是不是tensflow需要具体模型具体分析)

接下来就是运行,这个过程会比较漫长,根据电脑性能和要识别的影像来决定。

成果如下:

可以看下识别出来的结果还是蛮准的。

内容概要:本文档详细介绍了在三台CentOS 7服务器(IP地址分别为192.168.0.157、192.168.0.158和192.168.0.159)上安装和配置Hadoop、Flink及其他大数据组件(如Hive、MySQL、Sqoop、Kafka、Zookeeper、HBase、Spark、Scala)的具体步骤。首先,文档说明了环境准备,包括配置主机名映射、SSH免密登录、JDK安装等。接着,详细描述了Hadoop集群的安装配置,包括SSH免密登录、JDK配置、Hadoop环境变量设置、HDFS和YARN配置文件修改、集群启动与测试。随后,依次介绍了MySQL、Hive、Sqoop、Kafka、Zookeeper、HBase、Spark、Scala和Flink的安装配置过程,包括解压、环境变量配置、配置文件修改、服务启动等关键步骤。最后,文档提供了每个组件的基本测试方法,确保安装成功。 适合人群:具备一定Linux基础和大数据组件基础知识的运维人员、大数据开发工程师以及系统管理员。 使用场景及目标:①为大数据平台建提供详细的安装指南,确保各组件能够顺利安装和配置;②帮助技术人员快速掌握Hadoop、Flink等大数据组件的安装与配置,提升工作效率;③适用于企业级大数据平台的建与维护,确保集群稳定运行。 其他说明:本文档不仅提供了详细的安装步骤,还涵盖了常见的配置项解释和故障排查建议。建议读者在安装过程中仔细阅读每一步骤,并根据实际情况调整配置参数。此外,文档中的命令和配置文件路径均为示例,实际操作时需根据具体环境进行适当修改。
在无线通信领域,天线阵列设计对于信号传播方向和覆盖范围的优化至关重要。本题要求设计一个广播电台的天线布局,形成特定的水平面波瓣图,即在东北方向实现最大辐射强度,在正东到正北的90°范围内辐射衰减最小且无零点;而在其余270°范围内允许出现零点,且正西和西南方向必须为零。为此,设计了一个由4个铅垂铁塔组成的阵列,各铁塔上的电流幅度相等,相位关系可自由调整,几何布置和间距不受限制。设计过程如下: 第一步:构建初级波瓣图 选取南北方向上的两个点源,间距为0.2λ(λ为电磁波波长),形成一个端射阵。通过调整相位差,使正南方向的辐射为零,计算得到初始相位差δ=252°。为了满足西南方向零辐射的要求,整体相位再偏移45°,得到初级波瓣图的表达式为E1=cos(36°cos(φ+45°)+126°)。 第二步:构建次级波瓣图 再选取一个点源位于正北方向,另一个点源位于西南方向,间距为0.4λ。调整相位差使西南方向的辐射为零,计算得到相位差δ=280°。同样整体偏移45°,得到次级波瓣图的表达式为E2=cos(72°cos(φ+45°)+140°)。 最终组合: 将初级波瓣图E1和次级波瓣图E2相乘,得到总阵的波瓣图E=E1×E2=cos(36°cos(φ+45°)+126°)×cos(72°cos(φ+45°)+140°)。通过编程实现计算并绘制波瓣图,可以看到三个阶段的波瓣图分别对应初级波瓣、次级波瓣和总波瓣,最终得到满足广播电台需求的总波瓣图。实验代码使用MATLAB编写,利用polar函数在极坐标下绘制波瓣图,并通过subplot分块显示不同阶段的波瓣图。这种设计方法体现了天线阵列设计的基本原理,即通过调整天线间的相对位置和相位关系,控制电磁波的辐射方向和强度,以满足特定的覆盖需求。这种设计在雷达、卫星通信和移动通信基站等无线通信系统中得到了广泛应用。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值