视频插针调研

视频插针

1、评估指标

参考:https://blog.csdn.net/weixin_43478836/article/details/104159648

https://blog.csdn.net/weixin_43605641/article/details/118088814

PSNR和SSIM

PSNR数值越大表示失真越小。,因为数值越大代表MSE越小。MSE越小代表两张图片越接近,失真就越小。

SSIM≤1,SSIM 越大,两张图像越相似。

PSNR(峰值信噪比,Peak Signal-to-Noise Ratio),用于衡量两张图像之间差异,例如压缩图像与原始图像,评估压缩图像质量;复原图像与ground truth,评估复原算法性能等。

SSIM(结构相似性,Structural Similarity)基于人眼会提取图像中结构化信息的假设,比传统方式更符合人眼视觉感知。

但是 PSNR 和 SSIM 都只适合画面复杂度低或完全对齐的图像,例如下图是同一地点的不同时期卫星图像及其重叠显示,对人眼来说相似度高,但由于没对齐导致 SSIM 很低。

2、准确度

参考:https://github.com/zdyshine/Video-Frame-Interpolation-Summary/blob/main/2023_before.md

https://zhuanlan.zhihu.com/p/362525023


3、实时

RIFE

IFRNet:CVPR 2022|上海交大&腾讯优图提出IFRNet:视频插帧新范式&新SOTA

CAIN ncnn Vulkan - 只能用于 0.5 时刻点(两帧插一帧)的 AI 视频补帧算法

rife-ncnn-vulkan - 只能用于 0.5 时刻点(两帧插一帧)的 AI 视频补帧算法(速度较快,效果非常好)

DAIN ncnn Vulkan - 支持任意时刻点插帧的 AI 视频补帧算法(速度最慢,占用最高,效果非常好)

谷歌的FILM: Frame Interpolation for Large Motion

https://github.com/google-research/frame-interpolation?tab=readme-ov-file

4、视频流处理

OpenCV、Kafka 和 Spark 技术

所谓视频流,就是一种视频数据信息的传输方式,使用这种方式,用户可以在没有接到完整的数据信息前就能处理那些已接收的信息。这种一边接收,一边处理的方式,很好地解决了视频数据信息在网络上的传输问题。使用者可以不必等待太长的时间,就能收看到视频数据信息。并且在此之后一边播放,一边接收,根本不会感觉到文件没有传完。

视频流是指将视频内容以连续的流式方式传输或播放,而不需要等待整个视频文件下载完毕。视频流使用户能够实时观看视频,而无需等待全部内容下载到本地设备。这种流式传输方式适用于各种视频应用,包括在线视频播放、视频会议、实时转播和直播流等。

视频流:

实时观看:视频流允许用户实时观看视频内容,而不需要等待整个视频文件下载完毕。视频数据以连续的流式方式传输到观众设备,观众可以在数据传输的同时观看内容。

连续性:视频流是连续的数据流,它们通常分为小段,每个段都可以独立下载和播放。观众可以随时开始观看视频,并且可以在观看过程中继续下载后续段。

动态自适应:视频流通常支持动态自适应,可以根据观众的网络带宽和设备性能实时调整视频质量和码率,以提供更好的观看体验。

opencv-python视频流基本操作【视频流是由一帧一帧的图像构成的,我们对视频流的处理,本质上就是对图像的处理,因此这里我们只说明从相机中读取视频,从 ...

5、预测视频的动态部分,生成i帧

视频预测是一项复杂的时间序列预测任务。

3、实时

RIFE

IFRNet:CVPR 2022|上海交大&腾讯优图提出IFRNet:视频插帧新范式&新SOTA

IFRNet

CAIN ncnn Vulkan - 只能用于 0.5 时刻点(两帧插一帧)的 AI 视频补帧算法

rife-ncnn-vulkan - 只能用于 0.5 时刻点(两帧插一帧)的 AI 视频补帧算法(速度较快,效果非常好)

DAIN ncnn Vulkan - 支持任意时刻点插帧的 AI 视频补帧算法(速度最慢,占用最高,效果非常好)

谷歌的FILM: Frame Interpolation for Large Motion (只有图片demo)效果可以

https://github.com/google-research/frame-interpolation?tab=readme-ov-file

EMA-VFI (只有图片demo)效果可以

VFIformer (要训练,只有图片)

集成工具

AaronFeng753/Waifu2x-Extension-GUI: Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, Real-ESRGAN, Real-CUGAN, RTX Video Super Resolution VSR, SRMD, RealSR, Anime4K, RIFE, IFRNet, CAIN, DAIN, and ACNet. (github.com)

1、 实时插帧算法对比

实时插针算法主要有:RIFE、IFRNet、DAIN、CAIN,他们的性能对比如下:

评估指标:PSNR、SSIM和FPS

PSNR(峰值信噪比,Peak Signal-to-Noise Ratio),用于衡量两张图像之间差异,例如压缩图像与原始图像,评估压缩图像质量;复原图像与ground truth,评估复原算法性能等。PSNR数值越大表示失真越小。,因为数值越大代表MSE越小。MSE越小代表两张图片越接近,失真就越小。

SSIM(结构相似性,Structural Similarity)基于人眼会提取图像中结构化信息的假设,比传统方式更符合人眼视觉感知。SSIM≤1,SSIM 越大,两张图像越相似。

FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数

2、 设备要求

2GB 以上显存, 4GB 左右的空余运行内存以及4GB+的磁盘剩余空间

3、 测试结果

RIFE

视频分辨率1280x720

1.没量化

2.开启fp16量化

3.开启scale=0.5

显卡v100占用

参考:

https://zhuanlan.zhihu.com/p/362525023

https://github.com/zdyshine/Video-Frame-Interpolation-Summary/blob/main/2023_before.md

RIFE视频插帧测试

1、环境部署

#拉取镜像

docker pull nvcr.io/nvidia/pytorch:23.12-py3

#创建docker

docker run --gpus all --cpus 48 --shm-size 16G --memory 500gb --privileged=true -itd --name rife_test

#git拉取源码

git clone https://github.com/megvii-research/ECCV2022-RIFE.git

#安装运行相关包

cd ECCV2022-RIFE

pip3 install -r requirements.txt

2、运行推理

插帧命令

插一帧:python3 inference_video.py --exp=1 --video=video.mp4

插两帧:python3 inference_video.py --exp=2 --video=video.mp4

参数说明:

python3 inference_video.py --exp=2 --video=video.mp4 --fps=60 --scale=0.5

exp:插多少帧

video:输入视频路径

fp16:是否使用半精度

scale:压缩视频质量(如果您的视频具有非常高的分辨率,例如 4K,我们建议设置 --scale=0.5(默认为 1.0)。如果您在视频上生成无序模式,请尝试设置 --scale=2.0。此参数控制光流模型的过程分辨率)

3、对比展示

对比方法:

对比方法:对比视频的流畅度,用ffmpeg将多个视频拼接在一起对比(会有压缩),高帧率的硬件不支持(测试设备最高支持60Hz)

横向2个视频排列命令:ffmpeg -i 0.mp4 -i 1.mp4 -filter_complex "0:vpad=iw2:ih 1a;a1:voverlay=w" out.mp4

4个视频排列命令:ffmpeg -i 0.mp4 -i 1.mp4 -i 2.mp4 -i 3.mp4 -filter_complex "0:vpad=iw2:ih2a;a1:voverlay=wb;b2:voverlay=0:hc;c3:voverlay=w:h" out.mp4

展示效果如下:

4、速度对比

对比方法:

1、同一显卡不同参数推理速度对比

2、不同显卡推理速度对比

V100显卡不同参数测试如下图:

1.没量化,推理速度20fps左右

2.开启fp16量化,推理速度25fps左右

3.开启scale=0.5,推理速度28fps左右

4.显卡占用,1G显存左右

2080TiV100显卡不同参数测试如下图:

1.没量化,推理速度17fps左右

2.fp16量化,推理速度22fps左右

3.scale=0.5量化,推理速度31fps左右

测试结论:V100和2080ti显卡的算力差不多,推理需要显存1G左右,在没有量化 的情况下推理速度最高20fps左右,量化情况下推理速度最高30fps。

相关推荐
论迹复利14 分钟前
Sniff 省电模式参数调优——续航与音频稳定性平衡实操
音视频·sniff·bt·功耗、
星核0penstarry2 小时前
从 Dialog-RSN-1 看语音 Agent 走向:企业如何评估音频原生模型与 API 服务
人工智能·音视频·音频·api
明如正午4 小时前
【python】Python + OpenCV 实现视频关键帧提取与智能去重
python·opencv·音视频
呆呆敲代码的小Y4 小时前
5 分钟上手 OpenMontage:把 AI 编程助手变成视频工作室
人工智能·aigc·音视频·ai视频生成·claude code·openmontage
奈斯先生Vector4 小时前
大模型 Agentic Workflow 架构解构:异构 API 调度与 Token 路由的多模态系统设计
开发语言·前端·架构·prompt·aigc·音视频
海带紫菜菠萝汤4 小时前
FFmpeg.wasm 实践:在浏览器中运行 FFmpeg 的能力边界与性能瓶颈
前端·javascript·ffmpeg·音视频·wasm
甜甜小酒窝4 小时前
通过Canvas在网页中将后端发来的一帧帧图片渲染成“视频”的实现过程
音视频
DogDaoDao5 小时前
深度学习增强的视频压缩框架:Neutron Star 如何超越 VVC
人工智能·深度学习·音视频·视频编解码·h266·vvc·视频压缩
byte轻骑兵5 小时前
蓝牙PBP公共广播协议:解锁LE Audio的公共音频新生态
音视频·蓝牙·蓝牙耳机·le audio·低功耗蓝牙音频
AI创界者5 小时前
【8G显存福音】最新LTX-2.3-22B-DISTILLED-1.1-VBVR 整合包文生视频、图生视频,支持首尾帧/单图无限时长,50系显卡全适配!
人工智能·音视频