随着视觉人工智能复杂性的增加,精简的部署解决方案对优化空间和流程至关重要。NVIDIA 通过 NVIDIA Metropolis AI 工作流和微服务 加速开发,将想法在数周而非数月内转化为现实。
在这篇文章中,我们将探讨Metropolis 微服务的功能:
- 使用 NVIDIA Metropolis 微服务开发和部署云原生人工智能应用程序
- NVIDIA Isaac Sim 模拟和合成数据生成
- 使用 NVIDIA TAO Toolkit 进行 AI 模型训练和微调
- 使用 PipeTuner 进行自动精度调整
视频 1。从数字孪生到多摄像机跟踪的端到端工作流程
使用 Metropolis 微服务和工作流开发并部署云原生人工智能应用程序
使用人工智能管理和自动化基础设施具有挑战性,尤其是对于超市、仓库、机场、港口和城市等大型复杂空间。这不仅仅是为了扩大摄像头的数量,而是构建视觉人工智能应用程序,可以智能地监控、提取见解,并在数万或数十万平方英尺空间内数百或数千台摄像头中突出显示异常情况。
微服务架构通过将复杂的多摄像头 AI 应用程序分解为更小、独立的单元,并通过定义良好的 API 进行交互,从而实现其可扩展性、灵活性和弹性,这种方法实现了每个微服务的独立开发、部署和扩展,使整个应用程序更加模块化,更易于维护。
实时、可扩展的多摄像头跟踪和分析应用程序的关键组件包括以下内容:
- 多摄像机跟踪模块,用于聚合来自每个摄像机的本地信息,并维护整个场景中对象的全局 ID
- 用于行为分析和异常检测的不同模块
- 软件基础设施,如实时可扩展消息代理(例如 Kafka)、数据库(例如 Elasticsearch)
- 连接需要按需元数据和视频流的下游服务的标准接口
- 每个模块都必须是云原生微服务,以使您的应用程序具有可扩展性、分布式和弹性
Metropolis 微服务为您提供强大、可定制的云原生构建块,用于开发视觉人工智能应用程序和解决方案。它们使从边缘到云的原型、构建、测试和扩展部署变得更容易、更快,并增强了弹性和安全性。加快您的路径,以释放从仓库、超市到机场和道路的各种空间的商业洞察力。
有关微服务的更多信息和完整列表,请参阅 NVIDIA Metropolis 微服务文档。
下一节将更详细地介绍一些关键的微服务:
- 媒体管理
- 知觉
- 多摄像头融合
媒体管理微服务
媒体管理微服务基于NVIDIA 视频存储工具包(VST),提供了管理相机和视频的一种有效方式。VST 具有硬件加速的视频解码、流媒体和存储功能。
它支持 ONVIF S-profile 设备的 ONVIF 发现,包括控制和数据流。您可以通过 IP 地址或 RTSP URL 手动管理设备。它同时支持 H264 和 H265 视频格式。VST 是为安全性、行业标准协议和多平台而设计的。
感知微服务
Perception 微服务从媒体管理微服务获取输入数据,并在各个流中生成感知元数据(边界框、单摄像机轨迹、Re-ID 嵌入向量),然后将这些数据发送到下游的分析微服务,以进行进一步的推理和洞察。
该微服务是使用NVIDIA DeepStream SDK构建的。它提供了一种低代码或无代码的实时视频人工智能推理方法,由预先构建的模块和 API 抽象低级别的编程任务。 使用 DeepStream,您可以通过一个简单的配置文件配置复杂的视频分析管道,指定任务如对象检测、分类、跟踪等。
多摄像头融合微服务
Multi-Camera Fusion 微服务聚合和处理多个相机视图的信息,通过 Kafka(或任何具有类似消息模式的自定义源)从Perception 微服务获取感知元数据,并从Camera Calibration Toolkit获取外部校准信息作为输入。
- 在微服务内部,数据进入行为状态管理模块,以维护先前批次的行为,并与来自传入微批次的数据相连接,创建轨迹。
- 接下来,微服务执行两步分层聚类,重新分配共存的行为并抑制重叠的行为。
- 最后,ID 合并模块将单个对象 ID 合并为全局 ID,从而保持跨多个传感器观察到的对象的相关性。
Metropolis AI 工作流程
提供了参考工作流和应用程序,以帮助您评估和集成高级功能。
例如,多摄像机跟踪(MTMC)工作流是视频分析的参考工作流,它执行多目标、多摄像机跟踪,并提供看到的唯一对象数量随时间的变化。
- 应用程序工作流将实时摄像机馈送作为媒体管理微服务的输入。
- 它通过 Perception 微服务执行对象检测和跟踪。
- Perception 微服务的元数据进入 Multi-Camera Fusion 微服务,用于跟踪多个相机中的对象。
- 一个并行线程进入扩展的行为分析微服务,首先对元数据进行预处理,将图像坐标转换为世界坐标,然后运行状态管理服务。
- 然后,数据进入行为分析微服务,该服务与 MTMC 微服务一起提供各种分析功能作为 API 端点。
- Web UI 微服务将结果可视化。
有关详细信息,请参阅多摄像头跟踪快速入门指南。
接口摄像头校准
在大多数 Metropolis 工作流中,分析都是在真实世界的坐标系中执行的。为了将相机坐标转换为真实世界的坐标,提供了一个用户友好的基于网络的Camera Calibration Toolkit,其功能包括如下:
- 从 VMS 轻松导入相机
- 摄像机图像和平面布置图之间的参考点选择界面
- 自检的动态重投影错误
- ROI 和绊网的附加组件
- 上传图像或建筑地图的文件
- 导出到 web 或 API
此直观的工具包简化了设置和校准摄像头的过程,可与 Metropolis 工作流和微服务无缝集成。
2024 人工智能城市挑战赛
NVIDIA 多摄像头追踪工作流程是使用第八届2024 年人工智能城市挑战研讨会的多摄像头人物追踪数据集与 CVPR 2024 一起进行评估的,该数据集是该领域最大的数据集,包括 953 台摄像机、2491 人和超过 100M 的边界框,分为 90 个子集,其视频的总持续时间为 212 分钟,以每秒 30 帧的帧速率,以高清晰度(1080p)拍摄。
NVIDIA 方法获得了 68.7%的 HOTA 得分,在 19 支国际球队中排名第二(图 9)。
此基准测试仅关注批处理模式下的准确性,在批处理模式中,应用程序可以访问整个视频。在在线或流操作条件下,应用程序只能访问历史数据,而不能访问当前帧之后的数据。这可能会使一些提交的方法变得不切实际,或者需要对实际部署进行重大的重新架构设计。未考虑的因素包括以下几个方面:
- 从输入到预测的延迟
- 运行时吞吐量(给定计算平台或预算可以运行多少流)
- 可部署性
- 可扩展性
因此,大多数团队不必针对这些因素进行优化。
相比之下,多摄像头跟踪作为 Metropolis 微服务的一部分,必须考虑并优化所有这些因素,以实现在生产用例中部署实时、可扩展、多摄像头跟踪的准确性。
一键微服务部署
Metropolis 微服务支持在 AWS、Azure 和 GCP 上一键部署。部署工件和说明可在 NGC 上下载,因此您可以通过提供一些先决条件参数,在自己的云帐户上快速启动端到端的 MTMC 应用程序。每个工作流都打包了一个 Compose 文件,启用使用 Docker Compose 进行部署。
对于边缘到云的摄像机流,摄像机可以使用运行在边缘的媒体管理客户端(VST Proxy),将边缘的摄像机连接到在任何云服务提供商中的 Metropolis 应用程序,以进行分析。
这种简化的部署流程使您能够在各种云平台上快速原型化、测试和扩展视觉 AI 应用程序,从而减少将解决方案投入生产所需的时间和精力。
利用 Isaac Sim 进行仿真和合成数据生成
针对特定用例训练人工智能模型需要多样化、标记的数据集,这些数据集的收集往往成本高昂且耗时。通过计算机模拟生成的合成数据提供了一种具有成本效益的替代方案,可以减少训练时间和费用。
模拟和合成数据在现代视觉人工智能开发周期中发挥着至关重要的作用:
- 生成合成数据并将其与真实数据相结合,以提高模型的准确性和可推广性
- 通过多摄像头跟踪和分析帮助开发和验证应用程序
- 调整部署环境,如提出优化的相机角度或覆盖范围
NVIDIA Isaac Sim无缝集成到合成数据生成(SDG)管道中,为增强人工智能模型训练和端到端应用程序设计与验证提供了一个复杂的伴侣您可以跨广泛应用程序生成合成数据,从机器人和工业自动化到智能城市和零售分析。
Omni.Replicator.Agent(ORA)扩展在 Isaac Sim 中简化了对人和自主移动机器人(AMRs)等 agent 的模拟,以及从包含它们的场景中生成合成数据。
ORA 提供具有默认环境、资产和动画的 GPU 加速解决方案,支持自定义集成,它包括一个自动相机校准功能,生成与 Metropolis 微服务中的工作流程兼容的校准信息,如多相机跟踪(MTMC)工作流程。
使用 TAO Toolkit 进行 AI 模型训练和微调
Metropolis 微服务采用了一些基于 CNN 和 Transformer 的模型,这些模型最初在真实数据集上进行预训练,并使用合成数据进行增强,以实现更稳健的泛化和罕见情况的处理。
- 基于 CNN 的模型:
- PeopleNet:基于 NVIDIA DetectNet_v2 架构,预训练了超过 760 万张图像,包含超过 7100 万个人对象。
- 基于变压器的模型:
- PeopleNet-Transformer:使用 DINO 目标检测器与 FAN-Small 特征提取器。预训练于 OpenImages 数据集,并在拥有超过 1.5M 图像和 27M 人对象的专有数据集上微调。
除了直接使用这些模型外,您还可以使用NVIDIA TAO Toolkit轻松微调自定义数据集,以提高准确性,并优化新训练的模型,从而在几乎任何平台上提高推理吞吐量。TAO 工具包是建立在 TensorFlow 和 PyTorch 之上的。
使用 PipeTuner 进行自动精度调整
PipeTuner是一个旨在简化人工智能管道调整的新的开发工具。
人工智能服务通常包含一系列用于推理和跟踪的参数,找到最佳设置以最大限度地提高特定用例的准确性可能具有挑战性。手动调整需要对每个管道模块有深入的了解,而在广泛的高维参数空间中变得不切实际。
PipeTuner 通过自动化识别最佳参数的过程来解决这些挑战,以根据提供的数据集实现尽可能高的关键性能指标(KPI)。通过高效地探索参数空间,PipeTuner 简化了优化过程,使其无需具有管道及其参数的技术知识即可访问。
总结
Metropolis 微服务简化并加速了从边缘到云的原型设计、构建、测试和扩展部署过程,提高了弹性和安全性。微服务灵活、易于配置,零编码,并与高效的 CNN 和基于转换器的模型打包,以满足您的需求。只需点击几下,即可将整个端到端工作流部署到公共云或生产中。
您可以使用 NVIDIA Isaac Sim、NVIDIA TAO Toolkit、PipeTuner 和 NVIDIA Metropolis 微服务轻松创建强大的实时多摄像头 AI 解决方案,这个全面的平台使您的企业能够在广泛的行业中释放宝贵的见解并优化您的空间和流程。
有关更多信息,请参阅以下资源:
- 下载 NVIDIA Metropolis 微服务组件
- 更多“入门”资源
- NVIDIA Metropolis 微服务开发者指南
- 了解更多关于 AI 驱动的多摄像头跟踪用例。
- 访问论坛以获取技术支持。请注意,您必须首先使用此表格申请软件访问权限,论坛访问权限将在软件访问获得批准后授予。