介绍
当标准导航技术(例如谷歌地图)失效,而时间紧迫时,如何才能从危险区域(或将援助运送到危险区域)进行最佳疏散?在本篇博文中,我将探讨一种名为项目沙克尔顿的方案。在通信不可靠的灾难场景(例如地震或入侵)中,空中图像通常提供对地面状况的第一手了解。因此,项目沙克尔顿将卫星/航空图像与先进的计算机视觉相结合,以提取当前道路网络和感兴趣区域内所有车辆的精确位置。
这些预测使大量图论分析成为可能,这些分析被整合到一个交互式仪表盘中,该仪表盘构建在 Anaconda 的 Bokeh 交互式可视化库之上。该仪表盘允许我们计算和显示许多疏散和路由场景。在本篇博文中,我将探讨这些场景,并提供有关开源 代码库 的详细信息。对于那些希望看到代码实际应用的人,我们还提供了一个 解释视频。
动机
在许多需要快速反应且通信网络不稳定的场景中(例如自然灾害、战争),卫星图像通常是为数不多的可靠数据源之一。例如,Planet 星座的频繁访问为乌克兰战争提供了宝贵的 见解。因此,对这种图像进行自动化分析可以证明非常有价值。在本篇博文中,我将重点介绍基于空中图像快速提取车辆和道路网络,这使得我们可以解决许多有趣的问题,例如缓解拥堵、优化物流、疏散路线等。
人口密度的一个可靠指标对于有效应对自然灾害和人道主义危机至关重要。汽车是这种指标的一个体现。人们往往会待在自己的汽车附近,因此了解车辆的实时位置对于灾难响应场景非常有用。在本项目中,我们部署了 YOLTv5 代码库,以快速识别和地理定位大面积区域的车辆。区域内所有车辆的地理位置使响应者能够优先处理响应区域。
然而,车辆检测与道路网络数据结合使用时,才能真正发挥其价值。我们使用 CRESI 框架提取道路网络,并估计行车时间,从而允许优化路线。CRESI 代码库能够仅使用图像提取道路,因此洪水区域或被阻塞的道路将切断 CRESI 道路图;这对于灾后场景至关重要,因为现有的道路地图可能已过时,现有的导航服务建议的路线可能无法通行或存在危险。
将检测到的车辆放置在道路图上,可以使我们运用大量的图论分析方法(拥堵、疏散、交叉路口中心度等)。值得注意的是,下面选择的测试城市(达累斯萨拉姆)没有出现在 CRESI 或 YOLTv5 的任何训练数据中。这意味着这种方法非常健壮,可以立即应用于未曾见过的地理位置,无论何时出现新的需求。
数据和深度学习推理
我们使用 SpaceNet 5 的达累斯萨拉姆图像作为我们的测试图像。理想情况下,高级计算机视觉算法将在 GPU 上执行,我们使用免费提供的 Amazon SageMaker StudioLab 进行深度学习推理。设置一个 StudioLab 环境来执行 CRESI 和 YOLTv5 都非常容易,我们的 12 平方公里测试区域的推理大约需要 3 分钟。详细的步骤可以在这个 笔记本 中找到。
沙克尔顿仪表盘
沙克尔顿仪表盘创建了一个 Bokeh 服务器,它显示数据并连接回底层的 Python 库(例如 NetworkX、OSMnx 和 scikit-learn)。虽然存在许多用于启动交互式仪表盘的选项,但使用 Bokeh 有一些优势。其中之一是,所有绘图都可以使用数据科学的标准语言:Python 完成;无需了解 HTML(或任何其他语言)。另一个优势是,Bokeh 服务器能够连接到底层的 Python 数据科学库,这使得可以实时计算任意复杂的量。为了支持绘制大型卫星图像,除了 Bokeh 服务器之外,我们还使用 localtileserver 启动了一个瓦片服务器。
仪表盘可以使用简单的命令启动,例如
这将调用交互式仪表盘,该仪表盘将看起来类似于下面的图像
路由计算是实时完成的,因此可以使用仪表盘探索任何数量的场景,例如
-
实时道路网络状态
-
车辆定位和分类
-
优化的批量疏散或进入
-
拥堵估计和重新路由
-
关键通信/物流节点
-
从敌对行动者推断出的风险
单击网络中的任何节点将把疏散/进入点移动到该节点,这大大扩展了可以探索的场景数量。图 2 显示了一些可能的用例。
结论
在本篇博文中,我展示了如何将机器学习与图论相结合,以构建一个用于探索大量交通和物流场景的仪表盘。我们只依靠空中图像,就能估计拥堵情况,确定批量疏散/进入路线,标记道路网络中的关键节点,以及执行其他大量分析。我们的 代码库 是开源的,包含独立的预测和示例数据,可以轻松启动仪表盘,这个 解释视频 说明了如何使用沙克尔顿。
项目沙克尔顿可以进行一些增强,例如使用 HoloViz 简化仪表盘(并有效地绘制非常大的数据集)。自定义图分析模块也很容易整合到仪表盘中;例如,如果需要了解如何在避开主要高速公路的情况下进行疏散,可以将其添加到仪表盘中。我鼓励感兴趣的读者尝试进行这些增强,或者联系 [email protected] 提出意见或建议。
关于作者
Adam Van Etten 是一位机器学习研究员,专注于遥感和计算机视觉。Adam 帮助创立了 SpaceNet 计划,并主持了 SpaceNet 3、5 和 7 挑战赛。最近的研究重点包括半自动化数据集生成以及探索机器学习技术的局限性和效用函数。Adam 于 2018 年创建了 Geodesic Labs,旨在探索灾难响应环境下计算机视觉与图论之间的相互作用。
关于 Maker 博客系列
今年,Anaconda 在 每月博客系列 中,努力扩大其最活跃和最受欢迎的社区成员的声音。如果您是 Maker,并且一直在寻找一个机会来讲述您的故事、详细说明您最喜欢的项目、教育您的同龄人以及建立您的个人品牌,请考虑 向 Anaconda 提交内容。要访问丰富的教育数据科学资源和讨论线程,请访问 Anaconda Nucleus。