Jetson 平台服务#

Jetson 平台服务提供了一个平台,以简化 NVIDIA Jetson 上边缘 AI 应用程序的开发、部署和管理。它们为开发者提供了一个模块化和可扩展的架构,可以将大型复杂应用程序提炼成更小的模块化微服务,并提供 API 以集成到其他应用程序和服务中。其核心是一系列利用生成式 AI、深度学习和分析的 AI 服务,这些服务提供了最先进的功能,包括视频分析、视频理解和摘要、基于文本的提示、零样本检测以及物体运动的时空分析。这些服务与 Metropolis 生态系统中现有的组件(如视频存储工具包 (VST) 和 DeepStream)相结合,为快速组装用于视觉和其他边缘 AI 应用程序的完整功能系统提供了构建模块。

通过启用产品化所需的功能(包括安全性、监控和警报、IoT/API 网关和部署),解决系统成熟度是另一个目标——所有这些功能都作为开箱即用的功能提供,开发者可以随时利用。

_images/jps_overview.png

软件栈#

下图显示了包含新 Jetson 平台服务层的 Jetson 软件栈。它基于 Jetpack 6.1 GA,并支持各种 Jetson Orin 变体,包括:Orin AGX、NX16、NX8 和 Nano 8GB。它包含一套预构建和可定制的服务,分为两个主要软件类别:(a)AI 服务(b)基础服务。参考 AI 工作流程(随版本发布)演示了如何通过利用平台服务组装端到端应用程序。

_images/jps_stack.png

AI 服务#

AI 服务通过标准化的 API 提供开箱即用、优化的视频处理和分析功能,利用了生成式 AI、深度学习、计算机视觉(跟踪)和流式分析技术的组合。这些是容器化的软件,可以使用部署框架(如 docker compose)集成到用户应用程序中,如参考工作流程所示。

AI 服务列表总结在下表中

名称

描述

功能特性

支持的 Orin 平台

DeepStream 感知服务

使用 NVIDIA DeepStream SDK 实现的优化视频分析管道

使用 PeopleNet 或 YOLO (v8s) 模型的多流对象检测和跟踪

AGX, NX16, NX8, Nano

VLM 推理服务

使用基于生成式 AI 的 VILA 视频语言模型 (VLM) 的流式推理服务

视频问答 (VQA)、视频摘要和基于提示的警报

AGX, NX16, Nano (实验性)

零样本检测推理服务

开放世界对象检测

使用为 Jetson 定制的 Nano OWL 生成式 AI 模型,无需任何预先训练即可对大量对象类别进行对象检测

AGX, NX16, Nano (实验性)

Grounding DINO (GDINO)

开放词汇对象检测

使用生成式 AI 支持无限对象类别的对象检测

AGX

VLM 视频摘要

基于 API 的视频摘要

基于自然语言接口的准确、可推广的技术,用于使用视频语言模型 (VLM) 总结视频文件

AGX

分析 AI 服务

空间中物体运动的时空分析

使用流式分析实现用例,包括越线检测、感兴趣区域计数、轨迹和热图

AGX, NX16, NX8, Nano

AI 服务的核心是使用 REST API,它统一实现了与这些服务相关的配置和结果检索。开发者通过构建在这些 API 之上,创建终端应用程序以解决现实世界中的用例。AI 服务 API 可以选择通过 API 网关(又名 Ingress)平台服务(见下文)在系统外部呈现,该平台服务可以开箱即用进行配置和使用。

基础服务#

基础服务是领域无关的服务,支持通常需要的系统功能,包括

  • 视频存储工具包:启用摄像头发现、视频存储、硬件加速视频解码和流式传输

  • Redis(消息总线):为微服务提供共享消息总线和存储

  • Ingress(API 网关):启用一种标准机制,向客户端呈现微服务 API

  • 存储:提供外部存储并分配给各种微服务

  • 网络:管理用于连接 IP 摄像头的网络接口

  • 监控:使用仪表板可视化系统利用率和应用程序指标

  • 防火墙:控制进出系统的网络流量

参考工作流程#

应用程序通过配置和实例化利用底层基础服务的 AI 服务,以及使用 API 与微服务交互的用例特定逻辑来构建。REST API 的使用允许客户端通过 HTTP 远程安全地与系统交互。Jetson 服务和应用程序逻辑作为容器在系统上运行,并使用 docker compose 以捆绑包形式部署。容器化部署允许软件被打包并独立远程部署。

此版本提供了下面列出的参考工作流程,这些工作流程利用架构的多个部分来支持端到端应用程序

  • AI 使能的网络视频录像机 (AI-NVR) 除了支持传统的 NVR 功能(如流捕获、存储和视频流)外,还能够使用深度学习、计算机视觉和流式分析的组合对多个流进行实时分析。

  • 视频洞察代理 (VIA),用于使用生成式 AI 进行实时视频摘要

这些工作流程利用了多个微服务,这些微服务通过容器作为“应用程序捆绑包”与应用程序逻辑集成,并通过使用 docker-compose 实用程序进行部署。

参考云#

先前作为 Jetson 平台服务一部分包含的参考云未包含在 v2.0 版本中。请注意,先前版本的参考云部署可能与 v2.0 版本的设备软件不兼容。

参考移动应用程序#

此版本包含一个参考 Android 应用程序,用于可视化最终用户客户端如何与运行 AI-NVR 和 VIA 工作流程的系统进行交互。该应用程序展示了如何使用 API 远程访问底层软件的各种功能,包括:通过 VST 支持的 webRTC 进行实时和录制视频流、分析创建和可视化以及分析推理服务支持的警报(见下图),以及 VIA 支持的视频聊天功能。该应用程序仅使用 REST API 与系统交互。

_images/app_metrics.png _images/app_streaming.png

解聚#

虽然软件栈的规范形式是 AI 服务和基础服务都完整安装以实现全部功能,但总体理念是软件栈中的各个部分可以根据特定用例以解聚、零散的方式安装。特定微服务的选择将取决于与其特定情况相关的功能以及它们是否具有自定义功能。例如,开发者引入他们非基于 DeepStream 的推理可以利用 VST 来摄取摄像头视频,并使用由此产生的 RTSP 流输出,以馈送到他们的自定义 AI 软件。

文档组织#

文档的其余部分组织如下。我们建议按相同的顺序阅读文档。

  • 《快速入门指南》提供了关于如何在 Orin 硬件上部署 Jetson 平台服务栈的入门说明,展示了流媒体视频、推理和分析功能。

  • 请参阅《适用于 Jetson 的 NVIDIA AI 服务》,以概述各种推理服务以及每个服务的详细描述。

  • 请参阅《概述》,以了解平台服务的描述,这些平台服务提供构建成熟、生产级 Jetson 系统所需的一系列通用、可重用的 Linux 服务。

    • VST:具体而言,请参阅视频存储工具包 (VST),了解摄像头发现、视频存储、视频流

  • 请参阅《AI NVR》,以了解如何扩展“快速入门”部署,以使用该平台构建一个高性能、成熟的 AI 应用程序,形式为网络视频录像机。

  • 请参阅《AI-NVR 移动应用程序用户指南》,了解如何使用功能丰富的基于 Android 的客户端与 AI-NVR 和 VIA 系统交互,并查看视频、与视频聊天以及创建和查看分析和警报。