推特900赞:开源AI画出超准街道地图,全球适用,刷新DeepGlobe最好成绩
栗子 发自 麦蒿寺
这个星球上,还有很多地方没有地图。
即便是已经有地图,也会有很多道路没标出来。
光靠人类的话,这项任务还是太费时费力,要是AI能帮忙就好了。
于是,出现了名叫Map With AI的应用,用深度学习分析卫星图像,标出道路 (也能标出建筑) 。
△
粉红色的就是AI标注
有了它,人类不用手动画出道路的走向,只要点一下AI标出的路,确认它真是一条路就够了。
应用来自Facebook,团队已经用它填补了泰国超过30万英里缺失的路。泰国全境一共60万英里路,便这样标注完整了:
研究人员说,原本需要三五年的事,这次只花了一年半。
LeCun大佬把这个成果发上推特,已有近千人赞许:
那么,道路标注完整很重要么?
举个例子,发生灾害的时候,地图缺失道路会严重影响救援工作。所以,还是标注完整的好。
比如,去年印度喀拉拉邦遇上洪水,几百万人受灾。Facebook收到求助消息,几天内在灾区地图上增加了大约21500条路,帮助救灾。
不止对泰国和印度有用,团队用弱监督方法训练的AI,在世界各地不同的道路网络上有效泛化。
团队说,这AI有足以商业化的精确度,不过编辑器的代码是开源的。
先来观察一下技术原理吧。
嘈杂的,才是世界的
介绍一点点前情:
2004年,世界上诞生了叫做OpenStreetMap (开放街道地图) 的地图协作计划,简称OSM,内容是开放的,人人皆可编辑。
2013年,又有了名叫iD的地图编辑器,人类可以用它在地图上标出桥梁和街道。这个工具成了OSM的默认编辑器。
Facebook便是在iD的基础上,用深度学习孕育了RapiD,一个新的编辑器。
编辑器背后的神经网络,叫做DLinkNet-34,有34层。
训练用的数据十分庞大,是用航天技术公司Maxar提供的、全球各地的卫星图像加工而来。
要让神经网络适应各地的道路差异,加工方法非常关键。
其实,泰国项目得出的地图非常完整,又有领域专家把关,Facebook对泰国地图数据十分自信。但用这些数据训练的模型,却在其他地区泛化很差。于是,团队才想了新方法:
借助OSM (开放街道地图) 系统里现有的数据,筛选出数据准确、数据充足的区域。
具体方法是,把地图分割成2048×2048大小的图块,每个像素大约代表实际土地的60公分;然后,把道路标注少于25条的图块都过滤掉。
为了和CVPR 2018举办的DeepGlobe地图比赛数据集保持一致,团队把余下的图块又截成了1024×1024大小。
最终得到180万个图块,覆盖六大洲70万平方英里(约180万平方公里) 土地。相比之下,DeepGlobe数据集只有630平方英里,千分之一不到。
这样一来,就不会像DeepGlobe比赛数据集那样,只包含印度、印尼和泰国这少数几个地区,也不会严重偏向某种特定的地区发展水平。
选出可用的图块后,要把OSM里的道路向量栅格化(Rasterize) 到5像素,生成分割掩码 (Segmentation Masks) ,就是嘈杂的标签。
注意,这和常规操作并不一样,一般的语义分割需要完美的标签;可这世上的道路千奇百怪,宽窄不一,形状各异,太完美的标签不易于泛化,嘈杂反而会有优势。
实验证明,只用嘈杂的标签,它就可以和DeepGlobe的其他选手起鼓相当。再加一点微调,就成了道路提取的State-of-the-Art。
最重要的是,它在全球范围内泛化得很好,不至于走出泰国便一脸蒙蔽。
为什么还需要人类?
就像开头说的那样,粉红色是AI识别的道路。
而粉红色的不同亮度,代表识别的置信度。
既有置信度,就是说AI标注的结果也不一定是正确答案。
有时候,它还是可能认错:比如河床,比如狭长的海滩,比如运河,都是容易混淆的特征;
另外,路与路之间的连接点,也有可能会被忽略。
于是,团队开源了RapiD编辑器。AI已经给出粉红色的街道标注,只要点一下,人类就可以确认那是一条路:
对比之下,它的前辈iD编辑器,每一条路都需要手动画:
有了RapiD,速度可以加快许多。
其实,RapiD是iD的一个扩展,而iD又是OSM默认的编辑器。
所以,RapiD的编辑结果,可以轻松和OSM现有的数据库结合并起来:
有个Conflation功能,提供了如何把新增道路和已有数据结合的建议,也能避免新路把老路抹掉。
△
左是AI标注,右是与现有数据结合
人机合作,十分美好。
如今,不止泰国的街道地图完整了,印尼的路也补全到了90%。
除此之外,AI生成的阿富汗、孟加拉国、印度尼西亚、墨西哥、尼日利亚、坦桑尼亚和乌干达街道地图,都可以在OSM上找到。
这些数据非常宝贵,对各个国家的灾难响应,社区规划,地区经济等等,可能都会有些帮助。
最后一句,有浏览器就可以试玩,据说会有City Skylines的感觉呢。