拨云见图的图箱——给世界绘制一副“最美的肖像画”

2023-11-05 11:50

本文主要是介绍拨云见图的图箱——给世界绘制一副“最美的肖像画”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

27110040_UT4F.jpg

图箱视野中的青藏高原

借着开放式数据,图箱(Map box)在网络地图的市场上正扮演一个大玩家的角色。而现在他们想要做的就是修复卫星视图。

2013年二月,影像专家查理·劳埃德当时正在找工作。他一直致力于一种可以使得卫星图像更加美丽的方法,但他需要更好的资源去完成这个项目,于是他在推特上发了一张格陵兰岛北端的对比图,三分钟之后,图箱回复了这条推。没过多久,劳埃德就被雇佣了。通过对图箱的卫星层大量的修整,他们之间的合作在今天开花结果。

作为一个地图公司,图箱为客户提供了一个基于OSM[1]和其他公开数据的平台,用户可以在这个平台上制作自定义地图。要想了解他为什么这么强烈的渴求将劳埃德收入麾下,我们需要做个小示范。

打开你最喜欢的地图网址(谷歌、必应、求图(Mapquest),或是雅虎都可以)并且转换到卫星模式。缩小的所有道路。发现奇怪点了吗?首先你会注意到,莫名其妙的夏天随处可见,北部和南半球都少有积雪,处处绿意盎然;其次,便是没有云。

再放大点,你就会发现更奇怪的事情。有时候图中会有裂缝。在某些地区地面景观的颜色会发生巨大的变化。还有一些地方的地面看起来非常不清楚,好像是用摄像头照的似得。

Blue Marble NG July v. Cloudless Atlas

这就是让劳埃德在图箱找到工作的那幅图。左边是格陵兰岛最北端在谷歌地图上的样子,数据来源于NASA的蓝色大理石项目。右边则是通过劳埃德的算法输出的样图。

这些槽点告诉我们,我们现在所看到的地图是由来自各种不同源头的图像东拼西凑在一起的。这是大数据的问题,而且这样常常会造成错误和缺陷。对于某些人来说,在地图里“找茬儿”可是一种爱好。所以图箱的使命便是消除这些缺陷。下面我们来看看他们在屏幕背后是怎样完成这个过程的。

图箱的执行总裁埃里克·冈德森说,图像托生于个人对于更好的地图自定义工具的需求。公司最早只是利用OSM的数据来进行一系列的公开资源项目。当他们证实了人们确实需要这种服务时,图箱转向了商业运作。而把这项业务做大的时机便是谷歌开始为地图介入接口收费的那一刻。今天,图箱为类似四方网(Foursquare)和全能便签(Evernote)等网站的地图设备提供了动力,而它们过去的客户还包括NPR, The Guardian, Greenpeace 以及FCC。“哪儿需要地图,哪儿就有我们,”他说道。

图箱此前的地图都是通过OSM的矢量数据制作出来的,冈德森说。客户可以通过公开数据制作软件TileMill 以及一种叫做CartoCSS的类CSS语言去修改地图,以自定义视觉和感觉,并把他们当做数据视觉化工具,或者只是简单地给地图打上商标。2012年12月,在数据分析师克里斯·荷瑞格的带领下,图箱放出了卫星图像层的第一版本。劳埃德加入这个队伍则是来帮助他们完善这个成果。

Raw MODIS Terra imagery stitched together

这是一幅漂亮的地图的原始版本。是由MODIS的泰拉卫星于2013年3月28日捕捉到的地球图像合成的。地球被云覆盖着,在卫星没有扫描到的地方有裂缝,赤道附近还有太阳的闪光。图片来源:美国宇航局LANCE-MODIS。

那么你是怎样将卫星捕捉的混乱数据演变成现在图像所提供的美丽而理想化的地图的呢?答案就是:一个像素一个像素地来。

图箱最开始使用的公共领域数据来自于NASA的LANCE-MODIS数据系统。图像由一对卫星,泰拉和水蓝拍摄,这两个卫星分别自1999和2002年开始绕地球运行。他们能够捕获多种波长的数据,包括视觉领域,这便是图箱一直在使用的。

“为了准备新版本我们已经进行了两年的图像处理,所有自2011年1月1日至2012年12月13日间捕获的图像,”劳埃德说,“这相当于超过339,000的1600万像素+的卫星图像,共计超过5,687,476,224,000像素。我们将其浓缩至五十亿像素左右”。

首要的问题在于获取数据。这在公共领域全部可以取得,但是因为体积问题,但是将这些数据传输到图箱就是大工程了。渲染这些图像需要下载三分之二TB的压缩数据。“我们用了30到40台的服务器来从NASA下载数据,”贺维格说。“我们给NASA打个电话说,‘嘿,我们要敲一敲你家的硬件了,你说怎么做才最方便呢?’”

NASA有一个专门负责从服务器抓取数据的团队,确保在下载的同时不占用整个网络。“为此向NASA脱帽致敬,”冈德森说道。“而到了政府开放的地步,这就是API的问题了。我们真正需要的是政府为批量下载提供基础设施”

一旦这些图像数据为图箱可利用,问题就由图像本身转向了过滤云层,闪耀的阳光和大气雾霾,将之转变为清晰地面图像。

通常情况下,我们要做的就是找出每一个地区最清楚的日子,然后把那天的图像拼接起来。“不幸的是,这样会留下裂缝”劳埃德写道,“相邻的图像可能发生冲突(例如当这些图像来自不同季节的时候)并且将人们的注意力吸引到基础层,制图人可不希望这样。”

为了解决这个问题,图箱用了一种更细粒度的方法。将一个地区的所有的图像重叠起来。接着,基于图箱对云的含量的判断,重新排列重叠图像中每一列的像素。“我们对世界上每一个像素进行了这项工作”劳埃德说。

27110056_RuMC.jpg

制作没有云的地图,第一步:这些是2012年一个小地区的图像输入。如果你近距离观察,你也许能发现这是哪儿。“正如你所看到的,整个地区全年中仅有几天是非常清晰的,放大看看,你会在图中发现当时的云,”劳埃德说道。

图箱会重组这些像素,首先取得最少云的像素的平均值,借着这个平均值就成为了地图上这一特定点的标准像素,像素之多令人眼花缭乱。劳埃德说,当他和他的团队在完成了大概百分之四十的工作时,他计算出如果他们把地图用300dpi打印出来,将会占据2公顷的土地。

27110106_hPKi.jpg

制作没有云的地图,第二步:当图箱获取了图像,图箱的算法会首先将图像过滤一遍,并将这些图像按像素由最暗到最亮排列。地形开始将自身和云剥离开来,然后你就可以看清楚你眼前的东西了。

当然图箱也得玩些别的花样。地表的颜色是在一年中是不断变化的,夏季的绿叶在秋季变黄,冬日里的白雪覆盖,接着在春天重返欣欣向荣。将这些色彩平均化的话就会得到一种像泥巴似得棕黄。所以团队用一些技术来确保他们能捕获色彩高峰值,也就是北半球的五月或六月,南半球的十二月或一月。而且,因为程序比较喜欢较暗的像素,第一次输出看起来会非常的暗淡而且曝光不足,劳埃德告诉我们。

这是一个完全自然的产物,“劳埃德说到。“每个像素都是真实的像素,由摄像头在空中捕捉到的。但是这也是一个完全人工的产品。”地图的目标是去粗略的捕捉空间中肉眼可见的事物,但是却能将之以呈现为一颗理想化的,万里无云的,处于永恒夏季的星球。“我们的目标是制作出最美丽的地图,”冈德森说。

“这是一个如何平衡的问题,你需要在借助数据的前提下做的正确,精准,同时你还要让它看起来像是我们每个人心中的地球的摸样。”

27110114_Qq7o.jpg

制作没有云的地图,第三步:英国在历史上可没有过这种样子(译者注:英国常年多云有雨)。但是这又是恰恰是它本来的样子。这是最暗像素的平均值,但是这并不是最终版本。“因为在最终的渲染层,我们输入了更多的数据并且做了一些后期加工来去掉卫星传感器带来的瑕疵,但是我认为我们加工的不错,”劳埃德说。

现在地图已经完成了,图箱有了一个完整的,无缝的卫星底图。“这是无云地图的第一章,”冈德森说。下一章就是回来再重新做一遍,只不过是在更深的缩放层次上。这之后,他们将会有一个让人们可以在上面建设的极好的基线地图,和一套用来分析的工具。

“到了最后,这就不仅仅是做个漂亮的地图的事儿了,你要做的是如何以极快的速度处理大量的数据”冈德森在一封邮件里这么说。“我们现有的快速渲染堆栈以及云端基础架构表明了我们能够处理多少数据——今夏晚些时候你会见到我们一些基于现有的堆栈的红外分析工作。这是一个广泛开放的空间,而传统的卫星通讯公司是做不到这一点的,他们总是纠结在卖像素上——要想利用大数据,你就必须成为一个软件公司。”

图箱团队表示,通过良好的基线平均值,追寻地表的变化变得更容易了,例如那些因自然或人类活动导致的地区性的植被变化。“如果你在网上搜索,例如,红外遥感,你会得到一个充满可能性的想法,而且你可以开始想象,由于跨界剪辑的需求,这些庞大的开放的多光谱卫星数据的资料可随意使用,”劳埃德写道。“冰川,野火,作物,干旱和洪灾,城市和森林,地表温度,浮游生物繁生,季节动态,甚至于烟雾 ——都在这儿了。你只需要做点什么让它更清楚”

“根据谷歌最新的报道,这是一个价值270亿美元的空间,”冈德森写道。“我们并不是买下一个平庸的点子,然后花一百万美元开一个小小的地图公司。数据开放并不仅仅为我们创造了机会,还会给我们带来长期的优势”

作为一家只有30人,坐落在华盛顿郊区,但是掌握了核心技术的小公司,图箱团队认为自身将在大科学和大商业中扮演具足轻重的地位。

“我们是在公开资源和公开数据的基础上玩这个游戏,而且我们成功了,借此我们得了客户。”


译者注:


[1] OSM: OpenStreetMap是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。OSM的地图由用户根据手提GPS装置、航空摄影照片、其他自由内容甚至单靠地方智慧绘制。网站里的地图图像及向量数据皆以共享创意姓名标示-相同方式分享2.0授权。OSM网站的灵感来自维基百科等网站。这可从该网地图页的“编辑”按钮及其完整修订历史获知。经注册的用户可上载GPS路径及使用内置的编辑程式编辑数据。

版权声明:
本译文仅用于学习和交流目的。非商业转载请注明译者、出处,并保留文章在译言的完整链接。
  • 原文来源:wired.com
  • 原文标题:A Cloudless Atlas — How MapBox Aims to Make the Worlds Most Beautiful Map | Wired Design | Wired.com
  • 原文地址:http://www.wired.com/design/2013/05/a-cloudless-atlas/

转载于:https://my.oschina.net/kiwivip/blog/133637

这篇关于拨云见图的图箱——给世界绘制一副“最美的肖像画”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/349662

相关文章

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

【Linux】萌新看过来!一篇文章带你走进Linux世界

🚀个人主页:奋斗的小羊 🚀所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言💥1、初识Linux💥1.1 什么是操作系统?💥1.2 各种操作系统对比💥1.3 现代Linux应用💥1.4 Linux常用版本 💥2、Linux 和 Windows 目录结构对比💥2.1 文件系统组织方式💥2.2

Elasticsearch:无状态世界中的数据安全

作者:来自 Elastic Henning Andersen 在最近的博客文章中,我们宣布了支持 Elastic Cloud Serverless 产品的无状态架构。通过将持久性保证和复制卸载到对象存储(例如 Amazon S3),我们获得了许多优势和简化。 从历史上看,Elasticsearch 依靠本地磁盘持久性来确保数据安全并处理陈旧或孤立的节点。在本博客中,我们将讨论无状态的数据持

【AI大模型应用开发】2.1 Function Calling连接外部世界 - 入门与实战(1)

Function Calling是大模型连接外部世界的通道,目前出现的插件(Plugins )、OpenAI的Actions、各个大模型平台中出现的tools工具集,其实都是Function Calling的范畴。时下大火的OpenAI的GPTs,原理就是使用了Function Calling,例如联网检索、code interpreter。 本文带大家了解下Function calling,看