1 NVIDIA Maxine Video Effects SDK

NVIDIA Maxine Video Effects SDK 支持基于AI的视频效果,其底层使用的深度学习模型通过 NVIDIA AI 进行优化,使用 NVIDIA® TensorRT™ 进行高性能推理,使开发人员能够在实时应用程序中应用多种效果。

使用该SDK可以实现以下AI功能:

  • 虚拟背景,分割和屏蔽视频或图像中的背景区域,以实现人工智能驱动的背景去除、替换或模糊。
  • 伪影减少,可减少编码视频中的压缩伪影,同时保留原始视频的细节。
  • 超分辨率,可生成细节增强的视频,具有高达 4 倍的高质量缩放,同时还减少块状/噪声伪影并保留纹理和内容。它适合放大有损内容。
  • Upscaler,这是一种非常快速且轻量级的方法,可提供高达 4 倍的高质量缩放视频,并具有可调节的锐化参数。此功能可以选择与伪影减少功能一起使用,以在减少视频伪影的同时增强比例。
  • 视频噪声消除,从网络摄像头视频中消除低光相机噪声,同时保留纹理细节。

NVIDIA Maxine Video Effects SDK 编程指南:https://docs.nvidia.com/deeplearning/maxine/vfx-sdk-programming-guide/index.html

NVIDIA Maxine Video Effects SDK 系统指南:https://docs.nvidia.com/deeplearning/maxine/vfx-sdk-system-guide/index.html

NvCVImage API 指南:https://docs.nvidia.com/deeplearning/maxine/nvcvimage-api-guide/index.html

2 Visual Studio配置NVIDIA Maxine Video Effects SDK开发环境

2.1 下载NVIDIA Maxine Video Effects SDK

下载地址:https://catalog.ngc.nvidia.com/orgs/nvidia/teams/maxine/resources/maxine_windows_video_effects_sdk_ga

直接点击右上角的Download按钮或者在页面的File Browser中选择最新版本进行下载,下载需要登录NVIDIA账号以及填写一些相关的信息,登录完成之后就可以下载了。

下载完成之后解压缩,根文件夹下包含以下子文件夹:

Visual Studio配置NVIDIA Maxine Video Effects SDK开发环境-StubbornHuang Blog
  • bin:包含SDK所有的动态库文件,子目录models下包含SDK需要使用的所有深度学习模型
  • doc:文档文件夹
  • nvvfx:SDK的include目录和src目录
  • samples:包含了示例程序的代码文件和二进制文件

2.2 Visual Studio配置开发环境

NVIDIA Maxine Video Effects SDK环境配置非常简单,因为它不提供lib库,而是通过动态加载dll的方式进行接口调用,加载动态库和调用接口与的源文件主要是在nvvfx\src文件夹下的nvCVImageProxy.cppnvVideoEffectsProxy.cpp

2.2.1 编译环境配置

首先在Visual Studio项目属性中的C/C++的附加包含目录中添加nvvfx\include文件夹。

然后在项目中添加nvvfx\src文件夹下的nvCVImageProxy.cppnvVideoEffectsProxy.cpp两个文件。

另外NVIDIA Maxine Video Effects SDK依赖OpenCV,还需要在项目中配置OpenCV环境。

2.2.2 运行环境配置

程序编译完成之后,在运行程序时,需要将bin下所有的dll拷贝到程序的同级目录下,同时设置好深度学习模型的文件夹路径。

3 总结

NVIDIA Maxine Video Effects SDK开发环境配置非常简单,果然是易于部署。

具体开发可以参考samples文件夹下的各个示例程序的代码进行开发。