NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

这篇具有很好参考价值的文章主要介绍了NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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文件,如下图所示:

NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

 文章来源地址https://www.toymoban.com/news/detail-481110.html

开发时软件要求:

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:

原图:NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

0(显示遮罩 - compMatte) NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记


1(在前景上覆盖遮罩 - compLight)NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记
2(复合绿色 - compGreen)NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记
3(复合白色 - compWhite)NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记
4(显示输入 - compNone)NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记
5(在指定的背景图像上合成 - compBG)NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记(可以自己设置背景图片,即可替换成自己提供的图片)
6(模糊图像的背景 - compBlur)NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

 

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 倍高质量缩放的细节增强视频,同时还减少了块状/噪声伪影并保留了纹理和内容。 它适用于升级有损内容。

超分辨率滤镜在保留内容的同时,提高了低分辨率视频的分辨率,增强了细节,并锐化了输出。

此超分辨率过滤器可增强低分辨率视频的分辨率,并在保留内容的同时增强细节并锐化输出。

使用条件:

a). 输入输出分辨率和放大倍率的限制:

 
比例(放大倍率) 输入分辨率支持范围 输出分辨率范围
4/3 [90p, 2160p] [120p, 2880p]
1.5 [90p, 2160p] [135p, 3240p]
2 [90p, 2160p] [180p, 4320p]
3 [90p, 720p] [270p, 2160p]
4 [90p, 540p] [360p, 2160p]

b). NVIDIA特别清楚注明了,一些低端GPU,可能没有足够的内存来支持超分辨率功能允许的最大输入分辨率,而导致报错。

c). 输入的图像是BGR(GPU 缓冲区中提供),每个像素分量都要求是一个 32 位浮点值。

d). 输出图像尺寸会和输入一致,同样也是BGR平面格式,每个像素分量也是32位浮点值。

 

可调的参数:

Strength:

strength of the upscaling effect, 浮点数 [0.0, 1.0]

Mode:

超分辨率或伪影减少效果的模式,0 或 1

0 - 保守,1 - 激进。

 

效果展示:

原图360p:

NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

超分放大3倍后(strength=1 mode=1):

NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

超分放大3倍后(strength=1 mode=0):

NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

 超分放大3倍后(strength=0 mode=0):

NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

PS:上传到网站上被压缩过,效果看起来所以不是很明显,如果放大在大屏幕上进行比较的话,可以看出原图是很多锯齿的~

 

4. Upscaler 放大器(轻量版超分辨率)

Upscaler是一种非常快速且轻量级的方法,可提供高达 4 倍的高质量缩放视频,并具有可调节的锐化参数。

此功能可以选择与伪影减少功能进行流水线处理,以在减少视频伪影的同时增强比例。

 

使用条件:

a). 支持任何输入分辨率(不像超分辨率那样有各种90p以上1080p以下之类的限制),适合比较差的显卡或者比较大尺寸的视频

b). 放大倍率和超分辨率一样,必须是4/3x、1.5x、2x、3x 或 4x之间的一种。

c). 输入的图像是RGBA (GPU 缓冲区中提供),每个像素分量都要求是一个8位浮点值,每个像素为 32 位。

d). 输出图像尺寸会和输入一致,同样也是RGBA平面格式,每个像素分量也是8位浮点值,每个像素为 32 位。

 

可调的参数:

Artifact Reduction Mode:

伪影去除模式,0或1:

0:可去除较少的伪影,更好地保留低梯度信息(适用于更高比特率的视频)

1:去除较多的伪影(更适合较低比特率的视频)

Upscale Strength:

提供介于 0.0 和 1.0 之间的浮点强度值,即为锐化参数来锐化生成的图像输出。默认值为 0.4。

强度设置为 0 意味着没有锐化增强,只是放大。

强度设置为 1 意味着最大的锐化增强。

 

NVIDIA关于超分SuperResolution和放大UpScaler两种方法的选择的建议:

1. 如果没有编码伪影的视频需要快速提高分辨率,请使用“UpScaler”。
2. 如果视频没有编码伪影,要提高分辨率,请将 SuperResolution 与 Mode=1 配合使用,以获得更大的增强功能。
3. 如果视频的编码伪影较少,要去除伪影,请仅在 Mode=0 下使用伪影减少。
4. 如果视频具有更多编码伪影,要去除伪影,请仅在 Mode=1 中使用伪影减少。
5. 要提高带有编码工件的视频的分辨率,请执行以下操作:
    (1). 对于是轻微伪像的视频,请使用 Mode=0 的超分辨率。
    (2). 否则,请使用去除伪影,然后使用 Mode=1 的超分辨率。

 

放大UpScaler作为轻量级的超分,效果就不展示了。

5. Video Noise Removal 视频噪音消除

视频噪声消除,可从网络摄像头视频中消除低光相机噪声,同时保留纹理细节。

 

使用条件:

a). 仅支持80p-1080p分辨率尺寸的视频输入。

b). 输入的图像是BGR(GPU 缓冲区中提供),每个像素分量都要求是一个 32 位浮点值。

c). 输出图像尺寸会和输入一致,同样也是BGR平面格式,每个像素分量也是32位浮点值。

 

可调的参数:

Strength:

降噪滤波器的强度,默认值为 0。

0 的强度对应于弱效果,这更强调纹理保留。

1 的强度对应于强效果,它更强调噪声消除,效果更明显。

原图:

NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

 

降噪强度Strength=0:

NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

 

 降噪强度Strength=1:

NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

 

到了这里,关于NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Ubuntu18.04配置ZED_SDK 4.0, 安装Nvidia显卡驱动、cuda12.1

    Ubuntu18.04配置ZED_SDK 4.0, 安装Nvidia显卡驱动、cuda12.1

    首先卸载nvidia相关的、卸载cuda sudo apt-get purge nvidia* sudo apt-get autoremove sudo apt-get remove --auto remove nvidia-cuda-toolkit sudo apt-get purge nvidia-cuda-toolkit 官方卸载cuda的方法: 检查cuda还在不在: locate libcudart9.1 在软件更新中心里,手动安装显卡驱动。 ubuntu桌面-左下角九宫格-software upda

    2024年02月14日
    浏览(31)
  • 「HTML和CSS入门指南」video 标签详解

            在 HTML 中, video 标签用于向网页添加视频。它是一个独立的标签,没有结束标记,并且可以设置多种属性来控制视频播放器的行为和外观。使用 video 标签可以帮助您更好地展示您的内容,提高用户体验并且能够在不同设备和平台上播放视频。 以下是 video 标签的

    2024年02月08日
    浏览(15)
  • Unity中使用AVPro Video播放视频的完全指南

    Unity中使用AVPro Video播放视频的完全指南

    Unity AVPro是一款强大的视频播放解决方案,它支持多种视频格式和编解码器,能够在Unity中实现高质量的视频播放。本教程将指导你如何在Unity项目中使用AVPro播放视频。 1、安装AVPro Video 2、在UI上显示视频 3、在3D物体上显示视频,介绍两种播放到物体的方法 4、编写脚本,用按

    2024年04月16日
    浏览(112)
  • Debian 12 + NVIDIA驱动:给人工智能爱好者的安装指南

    Debian 12 + NVIDIA驱动:给人工智能爱好者的安装指南

    Debian 12是最新发布的Debian GNU/Linux发行版,代号为Bookworm。人工智能程序通常需要大量的计算资源,尤其是GPU,来加速训练和推理过程。为了让Debian 12系统能够正常渲染桌面,并充分利用Nvidia GPU的性能,我们需要安装合适的显卡驱动。 本文介绍如何安装Debian 12系统和Nvidia显卡

    2024年02月16日
    浏览(13)
  • 《向量数据库指南》——开源框架NVIDIA Merlin & 向量数据库Milvus

    《向量数据库指南》——开源框架NVIDIA Merlin & 向量数据库Milvus

    推荐系统 pipeline 中至关重要的一环便是为用户检索并找到最相关的商品。为了实现这一目标,通常会使用低维向量(embedding)表示商品,使用数据库存储及索引数据,最终对数据库中数据进行近似最近邻(ANN)搜索。这些向量表示是通过深度学习模型获取的,而这些深度学习

    2024年02月05日
    浏览(11)
  • Vivado SDK工程创建指南

    Vivado SDK工程创建指南

    在完成工程创建后,详见: Vivado使用指南 第一步先选择主页左侧菜单栏中的模块创建,如下图所示: 可自定义模块名称,然后选择ok即可。 输入zynq后,双击该IP核完成创建。 最后我们可以得到如下图所示模块: 接着双击该IP核进行设置,我们可以看到ZYNQ模块的结构框图。

    2023年04月08日
    浏览(14)
  • NVIDIA GPU驱动和CUDA工具包 Linux CentOS 7 在线安装指南

    NVIDIA GPU驱动和CUDA工具包 Linux CentOS 7 在线安装指南

    挑选指定系统和对应的GPU型号下载驱动和CUDA工具包: Linux CentOS安装NVIDIA GPU驱动程序和NVIDIA CUDA工具包_centos安装显卡驱动和cuda_Entropy-Go的博客-CSDN博客 相比之下,本文是在线安装NVIDIA GPU驱动和CUDA工具包方式,省去挑选对应正确安装包的烦恼。 Nvidia官网指导: NVIDIA CUDA Insta

    2024年02月04日
    浏览(15)
  • MobPush:Android SDK 集成指南

    MobPush:Android SDK 集成指南

    开发工具:Android Studio 集成方式:Gradle在线集成 安卓版本支持:minSdkVersion 19 使用PushSDK之前,需要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情可以点击查看注册流程 注册MobTech账号后,需要在MobTech后台进行相关信息的配置,详情可以点击查看具体

    2024年02月20日
    浏览(10)
  • 《向量数据库指南》——用 Milvus Cloud和 NVIDIA Merlin 搭建高效推荐系统结果

    《向量数据库指南》——用 Milvus Cloud和 NVIDIA Merlin 搭建高效推荐系统结果

    结果 以下展示基于 CPU 和 GPU 的 3 组性能测试结果。该测试使用了 Milvus 的 HNSW(仅 CPU)和IVF_PQ(CPU 和 GPU)索引类型。 对于给定的参数组合,将 50% 的商品向量作为查询向量,并从剩余的向量中查询出 top-100 个相似向量。我们发现,在测试的参数设置范围内,HNSW 和 IVF_PQ 的召

    2024年02月05日
    浏览(11)
  • 接入 NVIDIA A100、吞吐量提高 10 倍!Milvus GPU 版本使用指南

    接入 NVIDIA A100、吞吐量提高 10 倍!Milvus GPU 版本使用指南

    Milvus 2.3 正式支持 NVIDIA A100! 作为为数不多的支持 GPU 的向量数据库产品,Milvus 2.3 在吞吐量和低延迟方面都带来了显著的变化,尤其是与此前的 CPU 版本相比,不仅吞吐量提高了 10 倍,还能将延迟控制在极低的水准。 不过,正如我前面提到的,鲜有向量数据库支持 GPU,这其

    2024年02月09日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包