一、问题背景:为什么需要新的技术方案?
传统的基于数值模拟的方法在处理以下问题时遇到了困难:
- 非线性碎片堆积
- 实时数据不可用
- 复杂的流体动力学
在这种情况下,洪水后的视觉信息被用于制定阻塞政策,但其中涉及几个假设,许多人认为这些假设不是阻塞的真实代表。这表明需要从技术角度更好地理解和探索堵塞问题,以帮助洪水管理官员和决策者。
小提示: 当传统数值模拟失效时,计算机视觉结合边缘计算可以成为替代方案,特别是当现场数据难以获取时。
二、StopBlock:监测涵洞视觉堵塞的技术倡议
为了帮助解决阻塞问题,StopBlock 作为 SMART Stormwater 管理 的一部分启动。总体而言,该项目涉及伊拉瓦拉(卧龙岗、Shellharbour 和 Kiama)和 Shoalha ven 地区的市议会、Lendlease 以及卧龙岗大学的 SMART 基础设施之间的合作。
StopBlock 旨在使用最新技术实时评估和监测涵洞的视觉堵塞,核心技术包括:
- 人工智能
- 计算机视觉
- 边缘计算
- 物联网(IoT)
- 智能视频分析
此外,我们使用 NVIDIA 边缘计算、最新的计算机视觉检测和分类模型、CCTV 摄像机和 4G 模块构建并部署了人工智能物联网(AIoT)解决方案。该解决方案在伊拉瓦拉地区的三个涵洞现场检测到视觉堵塞状态(堵塞、部分堵塞或清除)。
三、建立计算机视觉模型训练的视觉数据集
训练计算机视觉 CNN 模型需要大量与预期任务相关的图像。以前从未从这个角度解决过涵洞堵塞检测问题,不存在用于此目的的图像数据和数据集数据库。
我们开发了一个新的训练数据库,由与涵洞堵塞有关的各种图像数据组成。这些图像显示了不同的涵洞类型、碎片类型、摄像机角度、缩放比例和照明条件。
通过市议会的记录,可以获得真实涵洞堵塞的有限数据。我们采用了结合真实、实验室模拟和合成视觉数据的想法。
3.1 涵洞开口和堵塞图像(ICOB 数据集)
我们从多个来源收集了涵洞(堵塞和清理)的真实图像:
- 市议会历史记录
- 在线存储库
- 当地涵洞场地
收集的图像在涵洞类型、碎片类型、照明条件、摄像机视点、比例、分辨率甚至背景方面表现出极大的多样性。涵洞开口和堵塞(ICOB)数据集的图像总共包括 929 张图像。
3.2 可视化液压实验室堵塞数据集(VHD dataset)
我们从缩放的实验室实验中收集模拟图像,以优化现有的视觉数据集,因为没有足够的真实图像可用。
进行了彻底的水力学实验室调查,其中一系列实验使用了涵洞的缩放物理模型。在各种洪水条件下,阻塞场景使用了规模化碎片(城市和植被)。
图像在涵洞类型(单圆形、双圆形、单箱或双箱)、堵塞类型(城市、植被或混合)、模拟照明条件、摄像机视点(两台摄像机)和洪水条件(入口流量水平)方面表现出多样性。然而,数据集在反射、清澈的海水、相同的背景和相同的缩放方面受到限制。
总共,我们从这些实验中收集了 1630 张图像,以建立 VHD dataset。
3.3 涵洞合成图像(SIC 数据集)
我们使用基于 Unity 游戏引擎 的三维计算机应用程序生成了涵洞(SIC)的合成图像,目的是增强训练数据集。
该应用程序专为模拟涵洞堵塞情况而设计,可以生成几乎无数的堵塞涵洞实例,以及您可以想到的任何可能的堵塞情况。您还可以更改:
- 涵洞类型
- 水平
- 碎片类型
- 相机视点
- 一天中的时间
- 缩放比例
应用程序设计使您能够从下拉菜单中选择场景特征,并从库中拖动碎片对象以任何可能的方向放置在场景中的任何位置。您可以使用参数编写代码来重新创建多个场景,并批量捕获带有相应标签的图像,以帮助训练过程。
一些突出的限制包括不切实际的效果和动画以及单一的自然背景。
小提示: 合成数据可以大大弥补真实数据的不足,但需要注意合成图像与真实场景之间的差异,可能需要在后期进行微调。
四、AIoT 系统开发
我们使用边缘计算硬件、计算机视觉模型和传感器开发了 AIoT 解决方案,用于涵洞的实时可视堵塞监测:
- CCTV 摄像机 捕捉涵洞。
- NVIDIA Jetson TX2 – 支持边缘计算,使用经过训练的计算机视觉模型处理和推断堵塞图像。
- 4G 连接 将阻塞相关数据传输到基于 web 的仪表板。
- 计算机视觉模型 用于检测和分类涵洞处的视觉障碍。
4.1 两阶段检测分类流水线
更具体地说,在软件方面,采用了两阶段检测分类流水线:
检测阶段
在第一阶段,使用计算机视觉对象检测模型(YOLOv4)检测涵洞开口。从原始图像中裁剪检测到的开口,并在分类阶段进行处理。如果未检测到涵洞开口,则会发出警报,提示涵洞可能被淹没。
分类阶段
在第二阶段,使用 CNN 分类模型(如 ResNet-50)将修剪后的涵洞开口分类为三种堵塞类别(堵塞、部分堵塞或清除)之一。阻塞相关信息随后被传输到洪水管理官员的网络仪表板,以促进决策过程。
4.2 模型训练与四阶段开发方法
我们使用 Python、TensorFlow 和 Keras 支持的 NVIDIA TAO 平台 分别训练了用于检测和分类的 YOLOv4 和 ResNet-50 模型。我们使用配备 NVIDIA A100 GPU 的 Linux 机器,使用 ICOB、VHD 和 SIC 数据集中的图像训练模型。
以下是开发采用的四阶段方法:
- Stage I: 我们从真实和模拟图像中准备了数据集。
- Stage II: 我们从 NVIDIA TAO 模型动物园中选择检测和分类模型,并使用 TAO 平台对其进行训练。
- Stage III: 我们导出了经过训练的模型,以部署在 Jetson TX2 边缘计算机上。
- Stage IV: 在现场,我们部署了一个完整的硬件系统,并收集了用于微调计算机视觉算法的真实数据。
关于软件性能,涵洞开口检测模型的验证 mAP 为 0.90,而堵塞分类模型的验证精度为 0.88。
我们在 NVIDIA DeepStream 6 SDK 上开发了端到端视频分析管道,使用经过训练的计算机视觉模型在 Jetson TX2 驱动的边缘计算机上进行推断。使用这些检测和分类模型,DeepStream 流水线为 Jetson TX2 硬件实现了 24.8 FPS。
4.3 硬件部署与隐私保护
我们使用 CCTV 摄像机、Jetson TX2 边缘计算机和 4G 加密狗构建了涵洞堵塞监测智能设备。我们优化了开发的硬件的功耗和实时实用程序的计算时间。该硬件由太阳能电池板供电,平均功耗仅为 9.1W。AIoT 解决方案还配置为每小时将阻塞元数据传输到 web 仪表板。
该解决方案被配置为考虑隐私问题,避免将任何图像存储在板上或云中。相反,它只处理图像并传输阻塞元数据。图 5 显示了在一个远程站点安装 AIoT 硬件,以监控涵洞视觉堵塞。
小提示: 边缘计算在处理隐私敏感数据时具有天然优势,图像仅用于实时推理,不保存原始画面,符合隐私保护要求。
五、未来研究方向
可以进一步探索计算机视觉的潜力,通过提取障碍相关信息来更好地理解视觉障碍:
5.1 视觉阻塞估计百分比
在洪水管理决策的背景下,了解给定涵洞的堵塞状态并不总是足以做出与维护相关的决策。更进一步,估计给定涵洞的视觉堵塞百分比有助于洪水管理官员确定视觉堵塞程度高的涵洞的优先顺序。
从图像中分割可见开口并将分割的掩模分类为四个百分比视觉阻塞类之一的分割分类管道可以是潜在的解决方案之一。
5.2 洪水传播碎片类型识别
碎片类型的自动检测是有待探索的另一个关键方面。
5.3 部分自动化可视堵塞分类
CNN 分类模型可用于促进人工涵洞检查,这是一种简单的解决方案,同时让洪水管理官员了解情况。鉴于问题的复杂性和初步分析,不可能仅使用 CNN 分类模型来自动化该过程。然而,可以开发一个部分自动化的框架来促进该过程。
常见问题(FAQ)
Q1: 为什么要同时使用真实图像、实验室模拟图像和合成图像?
答: 真实涵洞堵塞的图像非常有限(来自市议会记录等),无法满足深度学习模型对大量多样化数据的需求。实验室模拟可以控制变量、生成更多样本,但背景单一。合成图像(使用 Unity 引擎生成)可以无限扩展场景,组合不同的涵洞类型、碎片、光照和视角。三者结合可以充分发挥各自优势,弥补数据不足。
Q2: 模型在真实场景中的表现如何?如何确保实际部署的效果?
答: 验证阶段,检测模型的 mAP 达到 0.90,分类精度达到 0.88。在边缘设备 Jetson TX2 上实现了 24.8 FPS 的实时推理。但实际部署时,我们采用了四阶段方法,最后一步就是“收集真实数据用于微调”,使得模型能够适应现场实际环境(如不同的光照、天气、摄像头角度等)。
Q3: 4G 连接下数据传输的安全性如何保障?
答: 系统设计上优先考虑隐私,不在设备或云端存储任何原始图像。仅传输处理后生成的阻塞元数据(如“堵塞”、“部分堵塞”、“清除”状态及时间戳),不包含图像本身,因此即使 4G 传输被截获,也不会泄露场景画面信息。
总结
我们为涵洞的视觉堵塞检测提供了边缘计算解决方案,以帮助及时维护并避免堵塞相关的洪水事件。使用 NVIDIA 边缘计算硬件开发和部署了一个分类检测计算机视觉模型,以检索涵洞的堵塞状态,即“畅通”、“堵塞”或“部分堵塞”。为了便于针对这个独特的问题域训练计算机视觉模型,我们使用了与涵洞视觉堵塞相关的模拟和人工生成的图像。
以多种方式扩展所提供的解决方案以实现进一步改进和附加的视觉阻塞信息的范围很大。视觉堵塞百分比的估计、洪水传播碎片的检测以及部分自动化视觉堵塞分类框架的开发是现有解决方案中可以进行的一些潜在增强。
