使用 ArcGIS Pro 进行土地利用分类的机器学习和深度学习

news2024/10/7 12:21:27

 

随着技术进步,尤其是地理信息系统 (GIS)工具的进步,可以更有效地对土地利用进行分类。分类的使用可用于识别植被覆盖变化、非法采矿区和植被抑制区域,这些只是土地利用分类的众多示例中的一部分。

分类的一大困难是确定要解决的问题的级别。我分类的目的是什么?分类是否需要具有高精度以减少对人工交互进行校正的需要?分类的目的只是为了识别随时间的变化吗?是否会使用机器学习分类来减轻地理团队的工作量?只有免费图片才能解决我的问题?

简要介绍这项工作中使用的两种学习类型,机器学习深度学习有什么区别?

机器学习是机器学习的一种形式,是人工智能 (AI) 领域的一个子集,它使系统能够向操作员学习。这个学习领域使用数据来训练和找到准确的结果。

深度学习 或深度学习已经是机器学习的一个子集,模型将从更复杂的神经网络中学习。算法的创建就像机器学习一样,但包含更复杂的层次和更强大的计算能力。

理解这种差异的一种更简单的方法是,机器学习更依赖于人为干预进行学习,而深度学习则不依赖于人为干预。根据 Lex Fridman 的说法,深度学习是一种“更具可扩展性的机器学习” 。

第一种方法是使用机器学习技术进行分类,在这种分类中可以使用两种类型的方法,例如无监督或监督,并联合使用,称为混合分类。

假设类的数量和迭代次数给定,算法能够识别类的无监督方法。这种分类通常由称为聚类的分组方法使用。

监督方法需要一个运算符,该运算符将从图像中创建样本并表示要分类的每个类。关于这项工作,我选择仅使用监督方法进行机器学习。

这项工作的第一阶段是使用Earth Explorer平台下载Sentinel-2A图像。下载图像后,我将 4 个感兴趣的波段导出到 ArcGIS,蓝色 (B2)、绿色 (B3)、红色 (B4) 和红外 (B8) 波段。在条带之间进行假色合成 (8,4,3),并使用感兴趣区域 (ROI) 切割合成。

 机器学习分类

为分类定义的类别是:水、原始森林、裸露的土壤、农业、人工林和田地,记住这项工作只是一个应用示例。

定义类后,我创建了多边形格式的样本,包含要作为一个整体分类的图像。我将面向对象的方法与随机树分类器结合使用,除了这些分类器之外还有其他分类器,例如:最大似然,支持向量机,k-最近邻。

随机分类器由一起运行的决策树组成,每棵树决定类别,得票最多的类别成为模型预测。下面是一个例子,说明最后一类的票数最高,在这种情况下,在一个水果篮中,我们有 2 棵苹果树和 1 棵香蕉树,最后一类将被定义为苹果,用于展示 2/3总票数。

 

为了进行分类,我对复合材料进行了分段,因为它是面向对象方法的必要步骤。分割对具有相似特征的像素进行分组,是减少逐像素分类中分散像素的替代方法。

这一步使用的工具是Image Classification Wizard,分类结果如下图所示。左图代表 RGB 合成,右图代表分类。

 

混淆矩阵

分类后,我用推理样本执行了混淆矩阵。主对角线表示以“正确”方式分配给每个类别的样本数量,行和列表示样本“出错”的位置,使用此数据可以为我们的模型执行准确性Kappa索引. 混淆矩阵显示89% 的准确度85% 的 kappa

 

深度学习排名

为了利用上次分类的结果,我会将栅格文件转换为多边形,并在“为深度学习导出训练数据”工具中使用它,之后使用一些参数作为模型的基础,以及一个 45°使用旋转角度,这将有助于增加我的图像(样本)。此步骤耗时约 2 小时 51 分钟。

随着数据的导出,现在是训练深度学习模型的步骤。下一个工具是Train Deep Learning Model,我使用10个epochs,也就是模型通过整个层的次数,以及Resnet34架构,一种用于更复杂训练的神经网络,之后我使用10这些数据的百分比用于模型验证。

1 小时 40 分钟后,模型得到训练,其准确率约为 79%。现在是最期待的一步,我们要测试我们的模型,我将使用相同的组合,但在不同的地方训练。这一步使用的工具是Classify Pixels Using Deep Learning结果如下图所示,我将真彩色图像与分类结果进行了比较。

 

在这两种分类中,原生植被和人工林之间以及田野和农业之间都存在问题,但这项工作的主要目的是基于机器学习提出这两种分类形式。

机器学习分类的准确率为 89%,而深度学习分类为79%。这并不意味着一种分类比另一种更好,而是需要在两种学习中进行更多的测试。

在某些情况下,使用机器学习对土地利用进行分类已经是一种解决方案,但在更复杂的情况下,有必要使用深度学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/415979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MongoDB 聚合管道中使用数组表达式运算符断言数组($isArray)

数组表达式运算符主要用于文档中数组的操作,接上一篇: MongoDB 聚合管道中使用数组表达式运算符($concatArrays合并数组)https://blog.csdn.net/m1729339749/article/details/130162048本篇我们主要介绍数组表达式运算符中用于断…

在windows上安装部署cicd

安装步骤 下载gitlab-runner,官网地址如下: https://docs.gitlab.com/runner/install/windows.html在任意位置创建文件夹,并把安装程序放入文件夹中 安装gitlab-runner 注意需要使用管理员权限,打开powershell才能运行 cd C:\Gi…

多智能体深度强化学习在移动边缘计算的联合多通道访问和任务卸载中的应用

多智能体深度强化学习在移动边缘计算的联合多通道访问和任务卸载中的应用主要贡献与相关工作比较的贡献三、系统模型(only 2 pages)3.1 网络模型3.2 通信模型3.3 计算模型3.3.1 本地计算3.3.2 卸载计算四、预备知识(only 1 page)五…

Autosar COM Stack系列介绍01_一文看懂各层PDU

本文框架1. 概述1.1 缩写2. OSI模型在Autosar中应用3. 各层PDU介绍3.1 L-PDU3.2 N-PDU3.2.1 N_AI3.2.2 N_PCI3.3 I-PDU1. 概述 在学习Autosar通信栈时中会遇到关于PDU的各种缩写,例如,L-PDU,N-PDU,I-PDU还有SDU等,它们…

Kafka3.0.0版本——生产者自定义分区器

目录一、生产者自定义分区器代码示例1.1、自定义分区器类1.2、生产者发送消息代码(生产者的配置中添加分区器参数)1.3、测试一、生产者自定义分区器代码示例 1.1、自定义分区器类 代码 package com.xz.kafka.producer;import org.apache.kafka.clients.…

Web API学习笔记1(DOM学习)

一、API 和 web API 1API API —— 应用程序编程接口,是给程序员提供的一种工具,以便能更轻松的实现想要完成的功能。可以比作为充电接口 2.Web API 是浏览器提供的一套操作浏览器功能和页面元素的API(BOM和DOM),主…

HarmonyOS/OpenHarmony应用开发-ArkTS画布组件CanvasRenderingContext2D对象(十一)

measureText measureText(text: string): TextMetrics 该方法返回一个文本测算的对象,通过该对象可以获取指定文本的宽度值。 示例: // xxx.etsEntryComponentstruct MeasureText { private settings: RenderingContextSettings new RenderingConte…

机器学习 异常值检测与处理

文章目录一、异常值检测1.1 简单统计1.2 3σ原则检测1.3 箱线图检测1.4 DBScan密度聚类二、异常值处理异常值是指不属于某一特定群体的数据点。它是一个与其他数值大不相同的异常观测值,与良好构成的数据组相背离。在机器学习建模准备数据集时,检测出所有…

Day940.开发分支 -系统重构实战

开发分支 Hi,我是阿昌,今天学习记录的是关于开发分支的内容。 组件化,软件变得更加高内聚、低耦合,开发及维护的效率也更高了,但是组件化的架构又会引入新的复杂度。 举个例子,在重构前我们基于一个模块…

解决Failed to load ApplicationContext问题的思路

中文翻译&#xff1a; 加载ApplicationContext失败 第一步&#xff1a;首先检查测试类的注解 以及 依赖 SpringBootTest <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope…

【数据库复习】第三章关系数据库标准语言SQL 集合查询 2

用EXISTS/NOT EXISTS实现全称量词 SQL语言中没有全称量词" &#xff08;For all&#xff09; 可以把带有全称量词的谓词转换为等价的带有存在量词的谓词&#xff1a; 查询学生S没有选修的课程 查询选修了全部课程的学生姓名。 等价于&#xff1a;查询这样的学生&#xf…

基于灵动微SPIN系列开发的水泵方案介绍 以 MM32SPIN040C/MM32SPIN560C为主控

水泵是输送液体或使液体增压的机械。它将原动机的机械能或其他外部能量传送给液体&#xff0c;使液体能量增加&#xff0c;主要用来输送液体包括水、油、酸碱液、乳化液、悬乳液和液态金属等。 水泵以 MM32SPIN040C/MM32SPIN560C为主控。 水泵方案 MCU: MM32SPIN系列 1.输入…

redis主从复制详解

文章目录主从复制概述主从复制的作用主要包括&#xff1a;数据冗余故障恢复负载均衡高可用基石主从库之间采用的是读写分离的方式读操作写操作主从复制原理全量复制确立主从关系全量复制的三个阶段第一阶段是主从库间建立连接、协商同步的过程&#xff0c;主要是为全量复制做准…

业务逻辑复杂如何解决性能问题

0 前言 上节针对生成订单信息这个接口做了三个阶段的分析定位和优化动作&#xff0c;让TPS变得正常。不过&#xff0c;系统资源并没有完全用起来&#xff0c;这个接口显然还有优化空间。性能优化的过程中&#xff0c;要把资源都用起来。 在性能环境中做优化&#xff0c;把资源…

自动化测试框架之selenium

目录1 自动化测试1.1 单元测试1.2 接口测试1.3 UI测试1.3.1 UI自动化测试的优点&#xff1a;1.3.2 UI自动化测试的适用对象1.4 自动化测试流程2 selenium3 selenium IDE 录制脚本1 自动化测试 自动化测试指软件测试的自动化&#xff0c;在预设状态下运行应用程序或者系统&…

50 openEuler搭建PostgreSQL数据库服务器-配置环境

文章目录50 openEuler搭建PostgreSQL数据库服务器-配置环境50.1 关闭防火墙并取消开机自启动50.2 修改SELINUX为disabled50.3 创建组和用户50.4 创建数据盘50.4.1 方法一&#xff1a;在root权限下使用fdisk进行磁盘管理50.4.2 方法二&#xff1a;在root权限下使用LVM进行磁盘管…

图解HTTP阅读笔记:第5章 与HTTP协作的Web服务器

《图解HTTP》第五章读书笔记 图解HTTP第5章 与HTTP协作的Web服务器5.1 用单台虚拟主机实现多个域名5.2 通信数据转发程序&#xff1a;代理、网关、隧道5.2.1 代理5.2.2 网关5.2.3 隧道5.3 保存资源的缓存5.3.1 缓存的有限期限5.3.2 客户端的缓存第5章 与HTTP协作的Web服务器 5…

学习系统编程No.18【进程间通信之管道实战】

引言&#xff1a; 北京时间&#xff1a;2023/4/11/21:17&#xff0c;今天的文章更新啦&#xff01;但是还是没有上热榜&#xff0c;所以我们需要继续更文啦&#xff01;我相信下一篇博客肯定是可以上热榜的&#xff0c;加油&#xff01;并且今天晚上因为有一节体育课&#xff…

Linux下让进程不再被拉起

Linux下为了防止应用挂掉&#xff0c;我们会设置服务进程来拉起这些应用。但某些流氓软件也会利用该机制使得它们被杀掉后能再被拉起来。本文讲述让这些进程不再被拉起的方法。 比如&#xff0c;有名称为recordmain.bin的进程&#xff0c;使用kill -9 杀掉它后&#xff0c;过几…

NVIDIA jetson tensorrt加速yolov5摄像头检测

link 在使用摄像头直接检测目标时&#xff0c;检测的实时画面还是有点慢&#xff0c;下面是tensorrt加速过程记录。 一、设备 1、设备jetson agx xavier 2、jetpack4.6.1 3、tensorrt 8.2.1.8 4、conda虚拟环境 python3.6 二、虚拟环境搭建及依赖 1、参考此博客安装torch Nvidi…