把卫星和无人机图像到你的数据科学工作流

下载幻灯片

开销意象从卫星和无人机已进入主流如何探索,理解,并告诉我们的世界的故事。他们是不可否认的,醒目的文化活动的描述,环境灾害、经济变化等等。数据科学家认识到它们的价值远远超出了有趣的故事。非结构化数据在高维空间中充满了独特的模式。通过机器学习,我们可以从大量的图像中提取结构化数据可用。RasterFrames延伸火花SQL和强大的Python API,使处理的卫星,无人驾驶飞机和其他空间图像数据。这个演讲将讨论基本思想意义的图像数据。我们将讨论如何RasterFrames自定义数据源利用收敛趋势公共和私人提供商发布图片。通过深火花SQL集成,RasterFrames允许用户考虑图像和其他位置感知的数据集在他们现有的数据管道。RasterFrames完全支持火花毫升和互操作顺利,TensorFlow Keras, PyTorch。 To crystallize these ideas, we will discuss a practical data science case study using overhead imagery in PySpark.

看更多的火花+人工智能会话

免费试着砖

视频记录

——嗨,火花AI峰会。我的名字叫杰森·布朗,我的高级数据科学家阿斯特来亚。阿斯特来亚是在弗吉尼亚州的一个创业公司在美国和我们正在构建一个云平台和web应用程序启用数据科学家和其他分析师发现,分析和使用卫星和无人机图像,图像的开销。bob体育客户端下载在这个演讲,我认为观众会熟悉一些基本的数据科学和Apache火花但可能从来没有接触过开销意象在实践中。在我们公司,我们的技术堆栈在很大程度上依赖于Apache火花,为了处理这种火花的图像数据,我们建立了一个名为RasterFrames的开源库使我们能够这样做。bob下载地址这是我今天的演讲的的焦点。但是首先让我们来谈谈开销图像。你可能熟悉它从没有别的,如果你的地图应用程序在你的手机上,这是非常有用的方式,但是还有很多。

我们有可能这个意象艺术。这是一个打印店。你可以买这些,挂在你的墙上,他们都来自《每日概述Instagram帐户。美丽的图片。我们有这个新闻图像。

故事通常是非常强大的,你可以看到巨大的变化和知道他们何时会发生。

这是非常有用的和有效的方法来解释和理解在我们的世界发生了什么。这种思考意象在国防和情报中非常普遍。有历史悠久的处理这种数据在军事和情报机构出于同样的原因了解谁,什么,为什么,什么时候,在哪里,以及如何。另一个社区,特别是使用卫星数据的历史悠久是地球科学。你在这里看到的图像序列来自卫星称为Sentinel-5,测量从太空大气中污染物的浓度,这是相当惊人的。这是一系列的图像从2019年的头几个星期,然后第一个周的2020在中国武汉。你可以看到戏剧性的减少二氧化氮污染在这个领域他们是在一个非常严格的封锁。作为一个数据科学家,你看看这些图片和这些类型的例子,并且认为这是一个很好的信号数据。这里有很多有用的信息。它是大的和其他方面的数据。

大数据

和大数据在所有的方式,我们讨论大数据粘度的各种数据是惊人的,不仅如果你来自另一个处理交易数据等其他类型的数据,这是非常不同的。而且即使在社区,有很多不同的名称取决于使用的人的背景。有很多不同的文件格式。有很多不同的方法,过去人们发表了这些数据。数据的速度是非常惊人的。有一个任务由欧洲航天局称作Sentinel-2。这是一对一起工作的卫星图像的整个土地质量地球每五天。和产生大约6 tb的图像每一天。还有政府的卫星运营商在美国,日本和其他国家,以及许多小型和大型私营企业。所以总共有数百个卫星拍摄的地球每一天。 And on top of that we have an unknowable number of drone operators that are doing this, taking these kinds of images. So from all of that velocity, you get very high volume of data. This chart that I’m showing you is a couple of years old and shows this exponential growth in the US NASA archives.

此时接近30字节。

这肯定有很多数据越来越容易。在美国和欧洲,有开放数据政策大部分的科学产生和收集的数据。社区中也有非常重要的努力,创造开放标准如何访问数据和编目在云中,这是非常激动人心的真正民主化访问这些数据。

数据科学呢?

数据科学呢?所有的这些序列和图像信号,所有可用的图像,在阿斯特来亚,我们开始环顾四周,说,我们可以使用真正利用这些数据?我将着重介绍一个图书馆是非常重要的我们如何做到这一点,叫做GDAL。很成熟,但它真的很多低水平操作文件IO和转换数据。你需要能够处理这些数据,但在我们看来,是不够确实数据科学家想要做的事。所以RasterFrames当我们问几个问题,一个是,这个开销图像数据特别,感觉我们可以处理这些数据的,我们可以施加在多面手的工具。在这里,我说的是真的Apache火花。

让我们来回答这个问题,是什么让这些数据特别?让我们开始从数据科学家的心智模型的任何图片如果您使用Python公益诉讼,或者如果你正在使用规划库,你基本上有一个多维数组或数组一个张量数据的三维,它的高度和宽度,以及渠道。

开销图像数据在5分钟

如果是一个频道,灰度,如果是三个频道,这是红色,绿色和蓝色。所以从这一想法,开销意象是不同的发布和在实践中你会发现。图片往往是巨大的,就像100像素或更大。

在每个频道通常会多,更多信息,16位每通道。渠道可能会存储在不同的文件中。常常有更多的渠道。我提到过Sentinel-2。紫外和红外数据,8到10乐队。

所以这些差异,重要的还有其他因素需要考虑。图像描述的位置是非常重要的,是帮助我们理解这个关键数据与其它数据在我们宣布。

所以我们需要了解位置数据描述,我们需要确保我们密切跟踪它。

第二件事是有很多其他元数据附加到每个图像,图像时的事情,通过传感器谁处理等等。然后有一些经常帮助我们正确地理解一些特殊元数据如何解释数组中的值。我们会在这个想法上一点的位置。要理解开销图像的位置,我们需要知道两件事。首先是投影或CRS,我推荐视频,我这里有联系。

这个可怜的绅士是试图把地球仪,把它变成一个平坦的地图。这基本上就是什么投影或坐标参考系统。它基本上是一个算法,帮助我们把2 d坐标系统点变成一个位置地球表面的3 d模型。不幸的是我们在实践中,这将只是一个字符串,该字符串名称算法,也许给了几个参数。

接下来,我们需要稍微听上去吓人的仿射变换。基本上都是告诉我们如何从张量空间,消除空间进入我们的CRS, 2 d坐标平面。我们有这两件事仿射变换,我们可以从张量空间投影,如像素任意二维平面三维确切位置在三维地球表面。

一般而言,我们代表变换。我们能做的,只有西南和东北角落的形象,如果我们知道,我们指的形象。

所以我们考虑所有这些事情,我们建议在RasterFrames和实现以下数据模型。

如果你看左边,我们有什么样的像一个非常大的图像的物理模型。这可能是像100像素的图像,它有四个通道所代表的不同的颜色,你看到的。我们需要非常大的图像,这是大到真的情感地过程中引发的任务。我们要把它分成更小的部分,我们将称之为瓷砖。所以每个通道会以同样的方式。和每个瓷砖是一个值连续的Apache火花SQL数据帧为每个通道有不同的列。然后我们坐在其他列相关联的元数据,我们可以原因。我们认为这是一个非常强大的数据模型。不仅是对一个图像,但在这种情况下,也许你有很多图片覆盖不同时期和略有重叠位置和其他东西不是同质的东西被列,我们可以开始在一个真正强大的推理方式。

RasterFrames

所以RasterFrames正在数据帧的概念模型和一个实际的现实。我们做的第一件事是我们要有实际的现实数据科学家,这意味着有一个很强的Python API。

和我们有一个自定义数据源读取这个数据,其中包括像引擎盖下面GDAL来读取光栅数据。

我们有瓷砖UDT,用户定义的类型,基本上有数组张量,张量或数组的图像数据,以及图像的小截面的位置数据。在Python中,当你把到Python驱动程序,我们看到,基本上Numpy ndarray,这是你期望什么。然后在RasterFrames,我们有大约200个不同的列函数来操作位置或者张量瓷砖和工作与其他相关类型的元素。

所以我们会给一个例子,我们会在几分钟内给一个代码演示,是什么样子。

我们也有火花。毫升变形金刚,帮助我们使用这个瓷砖UDT火花。毫升管道。然后我们有一些支持写出和可视化的瓷砖UDT特别是在IPython或木星上下文很重要。

这就是我们要做的。接下来,我们将向你展示一个现场演示。如果你去我的GitHub要点,你可以看到笔记本的代码以及一些支持数据文件。

这是我们的演示笔记本。

这是我们的演示的笔记本,你可以找到依据,我们要做的是我们要从Kaggle读取的数据集。它是加州野火事件从2013年到现在。这是一个CSV文件1600行,您可以看到列在这里。我们有重要的强调一个经度和纬度,所以火的点位置,然后英亩烧毁。我们上面定义一个函数,基本上会帮助我们创建像泡沫,点位置的同一地区英亩的品牌。你可以看到我们有其他类型的信息,其中一些是行政,其中一些是关于其他的资源被用来对抗火,和一些关于损害的是,受伤,死亡,和结构受火灾影响的数量。所以一个有趣的数据集,我们将试图找到一些卫星数据来提高的。

所以我们有一些功能来清理一些东西,然后我们会选择在这里2019年的火灾

帮助这个东西沿着更迅速。所以我们要查找一些地球卫星图像使用我公司阿斯特来亚的AI专有的图书馆。

木星实验室笔记本,我们在地球现在被称为人工智能笔记本。你可以得到一个免费试用运行这段代码,如果你想要在我们的网站上,我们会有一些细节。我们首先要做的就是寻找可用的集合,我们也许一打不同的卫星任务的数据。我们在这里展示的这一个叫做MODIS MOD11A1。

地表温度,基本上你能想到的它指向地球的热感摄像机成像地球,我认为,每一个日夜。所以它很快速的回顾。这里我们可以看到乐队或通道相关联

这一使命,我们将使用地表温度白天通道和其他人作为练习留给您探索之后,但是你可以看到一些图像和相关元数据还有一个夜间温度。所以接下来我们要做的就是为每一个火,我们有我们的几何泡沫,我们有一个起始日期从我们Kaggle数据和日期被扑灭。所以我们要查询这个目录和要求任何图像从MOD11A1相交与泡沫和开始和扑灭日期之间,它有一个低的云层。然后如果你不想担心这样做或者进入专利库,结果等我保存这个GeoJSON文件,这是附加到一样好。

所以你可以从这一点开始,如果你想我们有我们读取的数据目录从地球上的需求基本上是我们的惟一ID Kaggle火灾数据。我们有照片拍摄日期。在这种情况下,我们有一些元数据的投影数据,然后是地表温度在这里表示为一个URL。这是一个链接到一个S3对象。

下一步,我们会在我们的分析是我们要合并Kaggle火灾数据与这些图像url和其他图像数据。最后我们将进入Apache火花和我们做spark.read.raster。我们要读这个合并后的数据帧,我们要告诉它治疗LSTD列,列通过url的年代我们想阅读的图像。所以它会创建一个悠闲地评估瓦列从这个路径,然后它会在新的文件存储路径。所以你可以看到我们的模式这瓦列。这个结构有瓷砖,CRS,正如我们之前所讨论的范围。然后我们有这些Kaggle驼峰式大小写字段的数据。然后下面我们有蛇字段,从地球的需求目录。所以图像本身的信息。所以现在我们的数据帧是为每一个火一个或多个行

这取决于有多少图片我们发现。接下来,我们需要做的,我们会进入细节,但是我们使用我们的一些列函数限制或限制我们的数据帧数只有相交的瓷砖我们消防泡沫。这就是这个df。geos字段包含。然后我们会发现我们有剩余625行数据帧。现在我们可以快速检查数据帧。这是一个我们RasterFrames图书馆与IPython的互操作性的一部分。所以我们的瓦列是呈现为一个图像。图像的清晰的部分你看就像那里有缺失的数据。他们可能是由于云在水或像素。我们也看到有一些关于火的细节,如名称和日期,它开始被扑灭。 And then we have some other details about the location of the image and the date the image was taken. So this one was like the second day of the fire, this Hill fire.

我们也可以看看个别瓷砖在Python驱动程序。你可以看到,在SQL行只是一个蒙面的数组。Numpy蒙面数组,它是16位无符号整数。大规模数组,如果你从来没有和他们一起工作基本上是一个数组和一个二进制数组相同的形状和它告诉你缺失值的位置。

所以从这个无符号意象,我们想要得到的温度数据MOD11A1开尔文和元数据,我们可以发现这些整数值乘以0.02,

这就是这个RasterFrames列函数就可以了。它会做一个细胞明智的乘法。现在我们有一个新的瓦列数据。然后结束我们的例子中,我们要做一个总在每一个火。我们有一些火列想组选择,然后我会吸引你的注意力总。rf_agg-stats会,瓦列上运行,它要做的所有行集团和所有的细胞,它会找到最小值、最大值、家庭报告类似细胞的数量,有效值等等。

我们将这样做计算和把它变成一个熊猫数据帧,然后给你的总结。

请稍等。

好了。你可以看到我们有一些关于火灾的人口统计信息,然后我们的最高温度读数。这就是最大的图片,我们有过任何的细胞内像素分割的泡沫。这是我们的最高温度。然后我们有一些其他细节。他们中的一些人非常差。我们有一些其他细节从Kaggle数据的一些资源和火灾的影响。

所以,我们准备总结一下,我认为,并邀请你来看看我们的项目。

商业友好的许可协议,Apache 2.8许可执照火花和声音剪辑站下,定位技术,它提供了一些IP治理。你可以查看项目的网站或在PyPI寻找我们。你可以去阿斯特来亚的试验演示,免费的演示,我们只是使用笔记本的环境。我们邀请你有任何问题或想法我们git通道或GitHub页面问题或寻找请求。和非常感谢你的时间。我们希望看到你git和其他地方。

看更多的火花+人工智能会话

免费试着砖
«回来
杰森·布朗

阿斯特来亚公司

杰森·t·布朗是一个阿斯特来亚高级数据科学家,inc .)将机器学习应用于观测数据向客户提供可行的见解和合作伙伴的挑战。bob体育外网下载他把背景的数学建模和统计与数据可视化的升值,地理,和软件开发。