首页 > 其他分享 >NVIDIA Maxine Video Effects SDK 編程指南 - 实践小记

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

时间:2023-06-13 15:58:41浏览次数:54  
标签:视频 Maxine 分辨率 伪影 像素 編程 Video Mode NVIDIA

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

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

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

使用条件:

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:

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

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

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

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 的强度对应于强效果,它更强调噪声消除,效果更明显。

原图:

 

降噪强度Strength=0:

 

 降噪强度Strength=1:

 

标签:视频,Maxine,分辨率,伪影,像素,編程,Video,Mode,NVIDIA
From: https://www.cnblogs.com/hyb1/p/NVIDIA-Maxine-Video-Effects-SDK.html

相关文章

  • LiveVideoStackCon 2020上海 6月见
    自强不息,否极泰来。当你在2020年底总结这一年的得失时,LiveVideoStackCon可能保留了难忘的瞬间——我们等待他太久了。原本计划于4月举行的LiveVideoStackCon2020上海由于COVID-19不得不推迟到6月13-14日,LiveVideoStack团队全体远程办公,线下活动全面停摆,并被每周四/周日晚间线上公......
  • LiveVideoStackCon 北京站,好久不见
    LiveVideoStackCon2020北京站定在10月31以及11月1日。在6月的线上峰会也有提过,等到条件允许了,一定要和大家好好聚一聚。后来想了想,再没有比北京的秋天更好的时候了。6号线转14号线,金台路中转站步行距离不超过200米,T恤已经汗湿,微微贴住了前襟后背。 四川人苏辙说“伏中苦热焦皮骨......
  • LiveVideoStackCon2021音视频技术大会北京站开幕在即,精彩抢鲜看
    10.29-10.30,LiveVideoStackCon2021音视频技术大会北京站将在北京丽亭华苑酒店举行。16个技术专题,67场技术分享,77位讲师,近500位多媒体生态技术代表将齐聚本届LiveVideoStackCon。本届大会主题为:新技术,新机会。在此主题下,大会将围绕技术创新和行业机会,为大家带来一场多媒体技术领域......
  • LiveVideoStack Meet | 杭州:CV与流媒体将走向融合
    11月14日,重启后的LiveVideoStackMeet在杭州中国(杭州)5G创新谷举行。由于杭州城市特使周昌印的努力,本次活动突出了计算机视觉相关的话题,这也引出了另一个问题——计算机视觉与流媒体两个领域是否会逐步融合?计算机视觉与流媒体彼此还有比较清晰的界限的,前者是通过计算机对生物视觉......
  • Intel Quick Sync Video(QSV)
    安装和使用过程:1.InstallIntelMediaServerStudioforLinux.Downloadfromsoftware.intel.com/intel-media-serverstudio.Thisisaprerequisiteforthe*_qsvcodecsasitprovidesthefoundationforencodeacceleration.Seethenextchapterformoreinfoon......
  • H5 qq浏览器video拦截处理
    QQ浏览器中如果使用video标签,那么浏览器会将video劫持,使用他们浏览器自带的video,那么层级会很高,之前写在video上面的样式就会被覆盖,因此可以把视频url转成blod,那么就可以解决从虎牙直播发现的,他们转为blod后,上面就可以加弹幕,滚动条等,因此发现了这个 1、将video的视频链接转为......
  • LiveVideoStack年终技术盘点总结
    年终盘点#009#在2021年底,LiveVideoStack策划了一次年终技术盘点,我们向音视频领域的一线技术工作者们发出了约稿邀请,希望他们能够输出一些音视频方向的技术内容。众所周知,年底正是技术人最忙碌的时刻,要写各种总结报告,还要做明年的规划,所以我们并没有对这次约稿抱有很高的期待。但是......
  • VideoEye源码编译错误记录
    最近在研究雷神的开源项目VideoEye,但是下载编译时用VS2013和VS2015都出现一些报错。分析是因为雷神调试的环境是VS2010,现在使用新版本VS编译时存在不兼容的问题。网上查找各种信息,最终问题得以解决,于是乎记录一下。【背景】项目地址http://git.oschina.net/leixiaohua1020/Vid......
  • GMail add 'voice and video chat' support
    GMail增加对视频聊天的支持(可能需要代理才可访问)需要安装额外的插件以支持插件会安装在C:\DocumentsandSettings\UserName\LocalSettings\ApplicationData\Google\GoogleTalkPlugin下,例如:我的在C:\DocumentsandSettings\Nick\LocalSettings\ApplicationData\Googl......
  • video控件去掉播放条
    两种方法如下:1、用css隐藏video视频播放控件:<styletype="text/css">video::-webkit-media-controls{ display:none!important;}</style>css隐藏原生html5videocontrols,这么设置后即使没有设置controls为false,nativecontrols也不会再出现。其他的按钮,包括播放按钮、播......