计算机视觉/视频分析

NVIDIA Optical Flow SDK 为 Vulkan 带来加速动作处理

NVIDIA Optical Flow 加速器( NVOFA )是新 NVIDIA GPU 上的专用硬件单元,用于高性能计算一对图像之间的光流。 NVIDIA Optical Flow SDK 公开了开发者 API ,使您能够在应用程序中利用 NVOFA 硬件的强大功能。

我们很高兴地宣布 Optical Flow SDK 5.0 的可用性,它增加了对 Vulkan 应用程序中生成光流的支持。

Vulkan 启用显式 GPU 控制

Vulkan 是一个低开销, 跨平台、开放标准 API 三维图形 和 计算 Vulkan 提供更高的性能和更高效 CPU 和 GPU 与上一代 API (如 OpenGL )相比的使用情况 和 Direct3D 11 。

您可以利用 Vulkan 提供的显式 GPU 访问来优化您的应用程序,并完全控制资源管理和同步。自 2016 年发布以来, Vulkan 在游戏和图形应用程序开发人员中的采用率迅速增长。

Optical Flow SDK 有什么新功能?

NVIDIA Optical Flow SDK 5.0 现在允许 Vulkan 应用程序在 NVIDIA Ampere 架构和新一代 GPU 上运行时使用 NVIDIA 光流引擎。

使用 NVOFA 计算的光流通过提高帧速率和实现视频分析的有效对象跟踪,为游戏和视频创造了更流畅的体验。

为了增加帧速率,Frame Rate Up Conversion (FRUC)技术在原始帧之间插入插值帧。插值算法使用帧对之间的流来生成中间帧。

有了新的 Computer Vision / Video Analytics,Rendering / Ray Tracing,Gaming,Optical Flow SDK,Beginner Technical,Release,Video Processing,Vulkan SDK ,您现在可以在 Vulkan 应用程序中使用 NVIDIA Optical Flow FRUC 技术( NvOFFRUC )来提高视觉流动性。

这个Optical Flow SDK package包含标头、演示用法的示例应用程序、可以根据需要重新使用或修改的 C ++包装类以及文档。用于访问光流硬件的所有其他“隐藏”组件均包含在NVIDIA display driver,其中包含NVIDIA Optical Flow Vulkan extension.

您不必直接使用 Vulkan 扩展名。相反,您可以使用 Vulkan Optical Flow SDK API ,这些 API 在 Windows 10 、 11 和 Linux 上都受支持。

Vulkan 光流 API 被设计为尽可能类似于 SDK 中已经可用的其他接口,包括 CUDA 、 DirectX 11 和 DirectX 12 。它由三个核心功能组成:初始化、流量估计和销毁。

typedef NV_OF_STATUS(NVOFAPI* PFNNVOFINIT) (NvOFHandle hOf, const NV_OF_INIT_PARAMS* initParams);

typedef NV_OF_STATUS(NVOFAPI* PFNNVOFEXECUTEVK) (NvOFHandle hOf, const NV_OF_EXECUTE_INPUT_PARAMS_VK* executeInParams, NV_OF_EXECUTE_OUTPUT_PARAMS_VK* executeOutParams);

typedef NV_OF_STATUS(NVOFAPI* PFNNVOFDESTROY) (NvOFHandle hOf);

初始化和销毁 API 在所有接口上都是相同的,但 Vulkan 执行 API 需要显式的信号量和信号量值输入参数来提供对同步的直接控制。这些信号量对象用于同步 CPU 到 – GPU 和 GPU – 到 – GPU 操作。

Vulkan 中的缓冲区管理 API 接口也需要栅栏对象进行同步。有关详细信息,请参阅NVOFA Programming Guide.

无论使用 Vulkan 、 DX11 、 DX12 还是 CUDA ,光流输出质量都是相同的,所有接口的性能都相当

开始使用

将 NVIDIA 光流加速器与光流 SDK 结合在您的 Vulkan 应用程序中Optical Flow SDK 5.0.

有关开始使用 Vulkan 的更多信息,请参阅以下资源:

有关 NVIDIA Optical Flow SDK 的更多信息,请参阅以下资源:

 

Tags