伴随着视觉 AI 复杂性的增加,精简的部署解决方案已成为优化空间和流程的关键。NVIDIA 能够加快企业的开发速度,借助 NVIDIA Metropolis AI 工作流和微服务,企业只需数周就能将想法变成现实,而原本这项工作需要耗费数月时间。
本文将探讨 Metropolis 微服务的功能:
- 借助 NVIDIA Metropolis 微服务进行云原生 AI 应用开发和部署
- 借助 NVIDIA Isaac Sim 进行仿真和合成数据生成
- 借助 NVIDIA TAO 套件进行 AI 模型训练和微调
- 借助 PipeTuner 自动调整准确性
图 1. 可扩展的现代视觉 AI 开发秘诀
借助 Metropolis 微服务和工作流进行云原生 AI 应用开发和部署
使用 AI 对基础设施进行管理和自动化具有一定的挑战性,尤其是在超市、仓库、机场、港口和城市等大而复杂的空间。这不仅需要增加摄像头的数量,还需要在数万乃至数十万平方英尺的空间内,通过数百或数千个摄像头构建能够进行智能监控、提取洞察,并突出显示异常情况的视觉 AI 应用。
微服务架构可将复杂的多摄像头 AI 应用分解成较小的独立单位,这些单位通过定义明确的 API 进行交互,实现可扩展性、灵活性和弹性。该方法实现了每项微服务的独立开发、部署和扩展,使整个应用更加模块化和易于维护。
实时、可扩展的多摄像头追踪和分析应用包含以下关键组件:
- 多摄像头追踪模块,用于汇总来自每个摄像头的本地信息,并维护整个场景中的对象全局 ID
- 用于行为分析和异常检测的各种模块
- 软件基础设施,比如实时、可扩展的消息代理(例如 Kafka)、数据库(例如 Elasticsearch)等
- 标准接口,用于连接需要请求式元数据和视频流的下游服务
- 每个模块必须是云原生微服务,以使您的应用具有可扩展性、分散性和弹性
图 2. 使用 Metropolis 微服务的可扩展视觉 AI 应用工作流
Metropolis 微服务为您开发视觉 AI 应用和解决方案提供了强大且可定制的云原生构建模块,在提高弹性与安全性的同时,使从边缘部署到云部署的原型设计、构建、测试和扩展过程变得更加简单快捷。无论是仓库和超市,还是机场和公路,这些微服务能够加快各种空间获得业务洞察的速度。
图 3. 适用于视觉 AI 应用的 Metropolis 微服务套件
如需了解更多信息并获得微服务的完整列表,请参见 NVIDIA Metropolis 微服务文档:
https://docs.nvidia.com/mms/t...
接下来的章节将详细介绍一些关键的微服务:
- 媒体管理
- 感知
- 多摄像头融合
媒体管理微服务
媒体管理微服务基于 NVIDIA 视频存储套件(VST),并提供了一种管理摄像头和视频的高效方式。VST 具有由硬件提供加速的视频解码、流式传输和存储功能。
图 4. 使用媒体管理微服务来管理摄像头和视频文件
该微服务支持带有控制和数据流的 ONVIF S 型配置文件设备 ONVIF 发现。您可以通过 IP 地址或 RTSP URL 手动管理设备。它还支持 H264 和 H265 视频格式。VST 专为安全的行业标准协议和多平台而设计。
感知微服务
感知微服务从媒体管理微服务获取输入数据,并在单个数据流中生成感知元数据(边界框、单摄像机轨迹、Re-ID 嵌入向量)。随后,它将这些数据发送到下游分析微服务,以进行进一步推理和深入分析。
图 5. 使用感知微服务检测并追踪对象
该微服务使用 NVIDIA DeepStream SDK 构建。它通过提供能够抽象化低级编程任务的预构建模块和 API,为实时视频 AI 推理提供了一种低代码或无代码方法。借助 DeepStream,您可以通过一个简单的配置文件来配置复杂的视频分析管线,指定对象检测、分类、追踪等任务。
多摄像头融合微服务
多摄像头融合微服务能够聚合并处理多个摄像头视图的信息,通过 Kafka(或任何具有类似消息模式的自定义源)从感知微服务获取感知元数据,并从摄像头校准套件获取外在校准信息作为输入。
图 6. 使用多摄像头融合微服务追踪多个摄像头中的对象
- 在这项微服务的内部,数据会进入行为状态管理模块,以维护之前批次的行为,并与传入微批次的数据串接,创建出轨迹。
- 接下来,该微服务执行分层聚类的两个步骤,重新分配共存的行为并抑制重叠的行为。
- 最后,ID 合并模块将单个对象的 ID 合并为全局 ID,从而保持多个传感器观测到的对象之间的相关性。
Metropolis AI 工作流
所提供的参考工作流和应用能帮助您评估和整合高级功能。
例如,多摄像头追踪(MTMC)工作流作为一项视频分析参考工作流,可执行多目标、多摄像头追踪,并提供一段时间内观察到的唯一对象的计数。
图 7. 使用多个 Metropolis 微服务的多摄像头追踪工作流
- 该应用工作流从媒体管理微服务中获取实时摄像头视频作为输入。
- 它通过感知微服务执行对象检测和追踪。
- 来自感知微服务的元数据进入多摄像头融合微服务,以追踪多个摄像头中的对象。
- 并行线程进入经过扩展的行为分析微服务,首先对元数据进行预处理,并将图像坐标转换为世界坐标,然后运行状态管理服务。
- 随后,数据进入行为分析微服务,它与 MTMC 微服务一起以 API 端点的形式提供各种分析功能。
- Web UI 微服务将结果可视化。
更多信息,请参见多摄像头追踪快速入门指导:
https://docs.nvidia.com/mms/t...
接口摄像头校准
在大多数 Metropolis 工作流中,分析都是在真实世界坐标系中进行的。为了将摄像头坐标转换为真实世界坐标,我们提供了一个对用户友好、基于网络的摄像头校准套件。该套件具有以下功能:
从 VMS 轻松导入摄像头
- 用于在摄像头图像和平面图之间选择参考点的界面
- 用于自检的即时重投影误差
- 用于 ROI 和绊线的附加组件
- 图像或建筑平面图文件上传
- 导出至网络或 API
图 8. Metropolis 摄像头校准套件
这个直观的套件简化了摄像头的设置和校准过程,实现了与 Metropolis 工作流和微服务的无缝集成。
2024 年 AI 城市挑战赛
NVIDIA 多摄像头追踪工作流使用了多摄像头人员追踪数据集进行评估,该数据集来自与 CVPR 2024 联合举办的第 8 届 AI 城市挑战赛(2024 年)研讨会。这一数据集是该领域最大的数据集,涵盖了 953 个摄像头、2491 个人物和超过 1 亿个边界框,分为 90 个子集。数据集的视频总时长为 212 分钟,以每秒 30 帧的帧率高清(1080p)录制。
NVIDIA 的这一方法取得了 68.7% 的 HOTA 高分,在 19 支国际团队中排名第二(图 9)。
图 9. 2024 年 AI 城市挑战赛 MTMC 追踪基准测试排行榜
该基准测试仅关注批处理模式(即应用可以访问整个视频)下的准确性。在线运行或流式运行的应用只能访问历史数据,不能访问相对于当前帧的未来数据。这可能会使某些已提交的方法变得不切实际,或需要进行大规模的重构才能进行实际部署。该基准测试未考虑的因素包括:
- 从输入到预测的延迟
- 运行时吞吐量(在既定计算平台或预算范围内可运行多少流)
- 可部署性
- 可扩展性
大多数团队无需对这些方面进行优化。
而 Metropolis 微服务中的多摄像头追踪除准确性外还必须考虑和优化所有这些因素,以便能够将实时、可扩展的多摄像头追踪部署到生产用例中。
一键式微服务部署
Metropolis 微服务支持在 AWS、Azure 和 GCP 上一键部署。部署工件和说明可在 NGC 上下载,因此您只需提供一些前提参数,就能在自己的云账户上快速启动端到端 MTMC 应用。每个工作流都打包了一个 Compose 文件,因此也可以使用 Docker Compose 进行部署。
对于边缘到云摄像头流式传输,可以使用在边缘运行的媒体管理客户端(VST 代理),将边缘的摄像头连接到在任何一家 CSP 中运行的 Metropolis 应用,以进行分析。
这一简化的部署流程使您能够在各种云平台上快速构建、测试和扩展视觉 AI 应用,从而减少将解决方案投入生产所需的时间和精力。
借助 Isaac Sim 进行仿真和合成数据生成
训练专用于特定用例的 AI 模型需要各种经过标记的数据集,而采集这些数据集往往成本高昂且耗时漫长。通过计算机仿真生成的合成数据是一种性价比更高的替代方法,能够减少训练的时间和费用。
仿真与合成数据在现代视觉 AI 开发周期中发挥着至关重要的作用:
- 生成合成数据并将其与真实数据相结合,以提高模型的准确性和通用性
- 帮助开发和验证具有多摄像头追踪与分析功能的应用
- 调整部署环境,例如提出优化的摄像头角度或覆盖范围
NVIDIA Isaac Sim 可与合成数据生成(SDG)管线无缝集成,为加强 AI 模型训练以及改进端到端应用设计与验证提供了精密的配套工具。无论是机器人、工业自动化,还是智慧城市、零售分析,您都可以生成适用于各种应用的合成数据。
图 10. 借助 NVIDIA Isaac Sim 创建用于 AI 训练的合成数据集
Isaac Sim 中的 Omni.Replicator.Agent (ORA) 扩展程序可简化人员和自主移动机器人(AMR)等智能体的仿真,并从包含这些智能体的场景中生成合成数据。
ORA 提供带有默认环境、资产和动画的 GPU 加速解决方案,为自定义集成提供助力。其自动摄像头校准功能能够生成与 Metropolis 微服务中的工作流兼容的校准信息,例如后文提到的多摄像头追踪(MTMC)工作流。
图 11. 借助 ORA 扩展程序创建的场景
借助 TAO 套件进行 AI 模型训练和微调
Metropolis 微服务采用一些基于 CNN 和 Transformer 的模型,这些模型最初在真实数据集上进行预训练,然后使用合成数据进行增强,以实现更加强大的泛化和应对罕见情况。
基于 CNN 的模型:
a. PeopleNet:基于 NVIDIA DetectNet_v2 架构。已在 760 多万张图像上进行了预训练,其中包含 7100 多万个人物对象。
b. ReidentificationNet:使用 ResNet-50 骨干。在真实数据集与合成数据集所组成的组合数据集上训练而成,包括 Market-1501 数据集中的 751 个唯一 ID 和 MTMC 人员追踪数据集中的 156 个唯一 ID。
基于转换器的模型:
a. PeopleNet 转换器:使用带有 FAN-Small 特征提取器的 DINO 对象检测器。在 OpenImages 数据集上进行预训练,并在包含 150 多万张图像和 2700 多万个人物对象的专有数据集上进行微调。
b. ReID 转换器模型:采用 Swin 骨干并结合 SOLIDER 等自我监督学习技术,生成适用于人员再识别的强大人类表征。该预训练数据集包含由专有数据集与 Open Image V5 等开放数据集组成的组合数据集,共有 14392 张合成图像(包含 156 个唯一 ID)和 67563 张真实图像(包含 4470 个 ID)。
除了直接使用这些模型外,您还可以使用 NVIDIA TAO 套件在自定义数据集上轻松地对这些模型进行微调,以提高它们的准确性,并优化新训练的模型在几乎任何平台上的推理吞吐量。TAO 套件基于 TensorFlow 和 PyTorch 构建。
图 12. NVIDIA TAO 套件架构
借助 PipeTuner 自动调整准确性
PipeTuner 是一款专门用于简化 AI 管线调整工作的全新开发者工具。
AI 服务通常包含大量用于推理和追踪的参数,因此要找到能够最大程度提高特定用例准确性的最佳设置具有一定的挑战性。而要进行手动调整,就需要对每个管线模块有深入的了解,这在大量高维参数空间的情况下不切实际。
PipeTuner 能够解决此类问题,它可以根据所提供的数据集自动识别最佳参数,使关键性能指标(KPI)达到最佳。通过高效探索参数空间,PipeTuner 简化了整个优化过程,使用户即便不具备管线及其参数方面的技术知识也能使用。
图 13. NVIDIA PipeTuner 套件工作流
总结
Metropolis 微服务在提高弹性和安全性的同时,简化并加速了从边缘部署到云部署的原型设计、构建、测试和扩展过程。这些微服务不但十分灵活、易于配置且无需编码,而且封装了高效的 CNN 和基于 Transformer 的模型,以满足您的要求。只需点击几下,即可将整个端到端工作流部署到公有云或生产中。
通过使用 NVIDIA Isaac Sim、NVIDIA TAO 套件、PipeTuner 和 NVIDIA Metropolis 微服务,您可以轻松创建功能强大的实时多摄像头 AI 解决方案。这一综合全面的平台能够帮助各个行业的企业获得有价值的洞察,并优化空间和流程。
如需了解更多信息,参见以下资源:
- 下载 NVIDIA Metropolis 微服务:
https://developer.nvidia.com/...
- 更多“入门”资源:
https://developer.nvidia.com/...
- NVIDIA Metropolis 微服务开发者指南:
https://docs.nvidia.com/mms/t...
- 进一步了解 AI 赋能的多摄像头追踪用例:
https://www.nvidia.com/en-us/...
如有技术问题,请访问论坛。请注意,您必须首先使用本表申请软件访问权限,只有在软件访问权限获得批准后,才能访问论坛: