NVIDIA Maxine Video Effects SDK 编程指南实践小记如何应用?

摘要:NVIDIA Maxine Video Effects SDK 編程指南 NVIDIA Maxine Video Effects支持基于 AI 的视觉效果,这些效果可以输入标准网络摄像头画面数据,同时也可以传入一张图或者来自ffmpeg解码
NVIDIA Maxine Video Effects SDK 編程指南- 实践小记 本篇博客重点只说Video Effect的部分,此外还有Audio Effect的部分、还有AR部分,不在本篇范围内。本文由重庆Debug原创 NVIDIA Maxine Video Effects支持基于 AI 的视觉效果,这些效果可以输入标准网络摄像头画面数据,同时也可以传入一张图或者来自ffmpeg解码器的帧数据,让使用者可以轻松集成到视频会议和视频特效内容创建管道中; 底层深度学习模型使用 NVIDIA® TensorRT™ 通过 NVIDIA AI 进行优化以实现高性能推理,使开发人员能够在实时应用程序中应用多种效果。 NVIDIA Maxine Video Effects提供了一系列TensorRT训练好的模型, 截止到本稿前2023年6月13日,可以做到的功能有下列5个: 1. Virtual Background 虚拟背景(抠人物) 2. Artifact Reduction 伪影减少 3. Super Resolution 超分辨率 4. Upscaler 放大器(轻量版超分辨率) 5. Video Noise Removal 视频噪音消除 硬件要求: Video Effects SDK要求必须电脑至少拥有一个GPU是基于NVIDIA Turing™或NVIDIA Ampere™或NVIDIA Ada™架构并具有TensorRT核心功能。 运行时软件要求: Windows系统必须满足64-bit Windows 10或更新版本 NVIDIA Graphics Driver for Windows必须满足版本号大于等于511.65 分发包需用户提前去英伟达官网(NVIDIA Broadcast)下载安装对应显卡所需的模型及dll文件,如下图所示: 开发时软件要求: Microsoft Visual Studio 2017或更新的版本 CMake 3.12或更新的版本 下面分别介绍这些功能和可以调控的参数及演示效果: 1. Virtual Background 虚拟背景(抠人物) 虚拟背景可以分割和屏蔽视频或图像中的背景区域,以启用 AI 支持的背景去除、替换或模糊。 限制条件: a). 用于虚拟背景的原图像的尺寸必须大于等于:512x288(即宽和高都要同时满足大于等于这个数)。 b). 虚拟背景的效果在一个人坐在相机前录制的视频上是可达到最佳的效果。该功能在全身视频、场景中的多个人或与前置摄像头偏差太大的摄像头角度上表现会有不佳。 c). 图像文件的纵横比建议为 16:9,才能获得最佳效果。 d). 输入的图像是BGR,每个像素是一个 24 位无符号字符值,因此每个像素分量为 8 位 可调的参数: Mode: 0:质量优先模式、1:性能优先模式 Composition Mode: 原图: 0(显示遮罩 - compMatte) 1(在前景上覆盖遮罩 - compLight) 2(复合绿色 - compGreen) 3(复合白色 - compWhite) 4(显示输入 - compNone) 5(在指定的背景图像上合成 - compBG)(可以自己设置背景图片,即可替换成自己提供的图片) 6(模糊图像的背景 - compBlur) 2. Artifact Reduction 伪影减少 Artifact Reduction,减少编码视频的压缩伪影,同时保留原始视频的细节。 此伪影滤波器可减少编码器造成的伪影,例如低比特率视频中的阻塞伪影、振铃、蚊音,同时保留原始视频的细节。 编码器伪影减少已针对 H.264 编码器进行了优化。 使用条件: a). 输入的图像是BGR(GPU 缓冲区中提供),每个像素分量都要求是一个 32 位浮点值(fp32)。 b). 输出图像尺寸会和输入一致,同样也是BGR平面格式,每个像素分量也是32位浮点值。 c). 输入的视频的尺寸支持区间是:90p ~ 1080p 可调的参数: Mode: 0:可去除较少的伪影,更好地保留低梯度信息(适用于更高比特率的视频) 1:去除较多的伪影(更适合较低比特率的视频) 3. Super Resolution 超分辨率 全称:超级分辨率,生成具有高达 4 倍高质量缩放的细节增强视频,同时还减少了块状/噪声伪影并保留了纹理和内容。 它适用于升级有损内容。 超分辨率滤镜在保留内容的同时,提高了低分辨率视频的分辨率,增强了细节,并锐化了输出。 此超分辨率过滤器可增强低分辨率视频的分辨率,并在保留内容的同时增强细节并锐化输出。
阅读全文