Project Shackleton:用于卫星图像实时路径规划的开源仪表板

简介

当标准导航技术(即 Google 地图)宕机且时间紧迫时,如何最佳地从危险区域撤离(或向其运送援助)?在这篇文章中,我将探讨一个名为 Project Shackleton 的选项。在灾难情景(无论是地震还是入侵)中,当通信不可靠时,高空图像通常会提供对地面情况的第一瞥。因此,Project Shackleton 将卫星/航空图像与先进的计算机视觉相结合,以提取当前的道路网络以及感兴趣区域内所有车辆的精确位置。

这些预测支持大量图论分析,这些分析被整合到一个交互式仪表板中,该仪表板构建于 Anaconda 的 Bokeh 交互式可视化库之上。此仪表板允许我们计算和显示许多疏散和路径规划方案。在这篇文章中,我将探讨这些方案,并提供有关开源 代码库 的详细信息。对于那些想观看代码实际运行效果的人,还可以观看 解释视频

动机

在许多需要快速反应且通信网络不稳定的情况下(例如自然灾害、战争),卫星图像经常提供为数不多的可靠数据源之一。例如,Planet 星座的频繁重访提供了关于乌克兰战争的宝贵 见解。因此,使用此类图像的自动化分析可能非常宝贵。在这篇文章中,我专注于基于高空图像快速提取车辆和道路网络,这使得能够解决许多有趣的问题,例如缓解拥堵、优化物流、疏散路径规划等。

可靠的人口密度代理对于有效应对自然灾害和人道主义危机至关重要。汽车提供了这样一种代理。人们倾向于待在汽车附近,因此实时了解汽车的位置有助于灾难响应情景。在这个项目中,我们部署 YOLTv5 代码库,以快速识别和地理定位大面积区域内的车辆。区域内所有车辆的地理位置允许响应者优先考虑响应区域。

然而,当车辆检测与道路网络数据结合使用时,才能真正发挥其作用。我们使用 CRESI 框架来提取具有行程时间估计的道路网络,从而允许优化路径规划。CRESI 代码库仅使用图像就能够提取道路,因此洪水区域或受阻道路将切断 CRESI 道路图;这对于灾后情景至关重要,在灾后情景中,现有的道路地图可能已过时,并且现有导航服务建议的路线可能无法通行或存在危险。

将检测到的车辆放置在道路图上可以使用多种图论分析(拥堵、疏散、交叉口中心性等)。特别值得注意的是,下面选择的测试城市(达累斯萨拉姆)未在 CRESI 或 YOLTv5 的任何训练数据中表示。这意味着这种方法非常稳健,可以立即应用于任何可能出现新需求的未知地理区域。

数据和深度学习推理

我们使用 SpaceNet 5 达累斯萨拉姆图像作为我们的测试图像。理想情况下,高级计算机视觉算法将在 GPU 上执行,我们利用免费的 Amazon SageMaker StudioLab 进行深度学习推理。设置 StudioLab 环境以执行 CRESI 和 YOLTv5 非常容易,对于我们 12 平方公里的测试区域,推理大约需要 3 分钟。此 notebook 中详细介绍了精确步骤。

Shackleton 仪表板

Shackleton 仪表板创建了一个 Bokeh 服务器,该服务器显示数据并连接回底层 Python 库(例如 NetworkXOSMnxscikit-learn)。虽然存在许多用于启动交互式仪表板的选项,但使用 Bokeh 有其优势。其中之一是所有绘图都可以使用数据科学的标准语言 Python 完成;无需 HTML(或任何其他语言)的知识。另一个优势是 Bokeh 服务器能够连接到底层 Python 数据科学库,这使得能够实时计算任意复杂的量。为了支持绘制大型卫星图像,除了 Bokeh 服务器之外,我们还启动了一个由 localtileserver 提供的瓦片服务器。

可以使用简单的命令启动仪表板,例如

这将调用交互式仪表板,其外观类似于下图

图 1. Shackleton 仪表板的示例视图。

路径规划计算是动态完成的,因此可以使用仪表板探索任意数量的方案,例如

  • 实时道路网络状态

  • 车辆定位和分类

  • 优化的批量疏散或进入

  • 拥堵估计和重新规划路线

  • 关键通信/物流节点

  • 从敌对行动者推断的风险

单击网络中的任何节点会将疏散/进入点移动到该节点,这大大扩展了可以探索的方案数量。图 2 显示了许多可能的用例中的一部分。

placeholder

图 2. 仪表板的示例用法。

结论

在这篇博客中,我展示了如何将机器学习与图论相结合,以构建一个仪表板,用于探索大量的交通运输和物流方案。仅依靠高空图像,我们就能估计拥堵情况、确定批量疏散/进入路线、标记道路网络中的关键节点,以及进行大量其他分析。我们的 代码库 是开源的,具有自包含的预测和示例数据,使得仪表板能够非常容易地启动,并且这个 解释视频 说明了如何使用 Shackleton。

Project Shackleton 有许多可能的增强功能,例如使用 HoloViz 来简化仪表板(并高效地绘制非常大的数据集)。定制的图分析模块也很容易集成到仪表板中;例如,如果需要知道如何在疏散时避开主要高速公路,则可以将其添加到仪表板中。我鼓励感兴趣的读者着手进行此类增强,或通过 [email protected] 联系我们,提出意见或建议。


关于作者

Adam Van Etten 是一位机器学习研究员,专注于遥感和计算机视觉。Adam 帮助创立了 SpaceNet 计划,并运行了 SpaceNet 3、5 和 7 挑战赛。最近的研究重点包括半自动化数据集生成以及探索机器学习技术的局限性和效用函数。Adam 于 2018 年创建了 Geodesic Labs,作为探索计算机视觉和图论在灾难响应背景下相互作用的一种手段。

关于创客博客系列

今年,Anaconda 试图在其 每月博客系列 中扩大其最活跃和最受珍视的社区成员的声音。如果您是一位创客,并且一直在寻找机会讲述您的故事、详细阐述您最喜欢的项目、教育您的同行并建立您的个人品牌,请考虑 向 Anaconda 提交内容。要访问丰富的教育数据科学资源和讨论主题,请访问 Anaconda Nucleus

与专家交谈

与我们的专家之一交谈,为您的 AI 之旅找到解决方案。

与专家交谈