“ 前段时间体验了ArcGIS Pro中的深度学习,最近体验一下ArcGIS API for Python中的深度学习模块。反正我不管,敲起代码来就可以装作很厉害的样子”
之前看到网友留言说,有的文章对于新手来说太不友好了,完全不知道整篇文章在说什么。因为刚开始写文章所以不是很熟练,所以慢慢改进。争取大家看了文章后都能学到东西。 本篇文章是一篇 概览性的文章,首先会从两个部分给大家介绍计算机视觉与深度学习:计算机视觉
ArcGIS API for Python深度学习模块
01
—
计算机视觉(Computer Vision)
首先得唠叨唠叨计算机视觉是啥,可能大家对这个词汇比较陌生。简单的说,计算机视觉其实就是让机器像人一样识别与理解图像/视频中的内容。举个最简单的例子:图片中的人物是老王还是老张?这就是计算机视觉领域要做的事情之一。(PS:让我想起12306中的图片验证码) 在本文中主要关注的计算机视觉领域四大基本任务,分别是 图像分类、目标检测、语义分割以及 实例分割,分别对应着下图中的a,b,c,d。 为了方便理解,列一个小表格通俗的说一下这四类任务在做一件什么事情:序号 | 分类 | 详情 |
a | 图片分类 | 判断图片中有杯子等物体 |
b | 目标检测 | 找到图片中杯子的位置,并用矩形框标注出来 |
c | 语义分割 | 将图片中每个像素归类 |
d | 实例分割 | 将图片中每个像素归类,并且归类到某一类的某一个物体上 |
02
—
ArcGIS API for Python深度学习模块
在上一部分主要给大家讲了计算机视觉主要任务,其实是为了这部分做准备的。考虑到很多人可能不太理解深度学习这个概念,所以先给大家科普一下深度学习:深度学习其实是一类模式分析方法的统称balabalabala。。。好吧,其实一时半会也是说不清楚的,慢慢实践起来你就懂了。我们需要知道的就是:想要通过深度学习可以让计算机从视频、图像中找到我们想要的东西,需要分为三步。第一步准备好我们想要的东西样本(图片)、比如说汽车;第二步,把第一步准备好的样本(汽车图片)丢进深度学习网络中;第三步,把我们想要识别的视频或者是图像给第二步中的深度学习网络,他给我们结果。这三步是深度学习常见的三步骤:准备样本->训练模型->推理。文字理解起来可能是比较晦涩的,所以建议大家有条件的话实践一下,可以参考之前的文章:ArcGIS Pro深度学习初体验(下)。那么在GIS领域中,对应着四大基本任务的应用如下: 围绕着这些任务,我们来看一下ArcGIS API for Python中深度学习模块。接口文档链接:
https://developers.arcgis.com/python/api-reference/arcgis.learn.htm
我们主要关注点在模型上,以场景与任务分类来概述这些模型。 要素分类(类似图像分类):主要应用场景:在已有建筑物矢量面的情况下,通过影像判断违建建筑物是否已拆除。 模型:FeatureClassifier
SingleShotDetector
RetinaNet
FasterRCNN
YOLOv3
MaskRCNN(比较特殊)
UnetClassifer
PSPNetClassifier
Deeplab
MaskRCNN
PointCNN
SuperResolution
FullyConnectedNetwork
MLModel
另外大家如果有想讨论的在此模块中讨论了: