视频插针调研

2024-04-09 21:52
文章标签 视频 调研 插针

本文主要是介绍视频插针调研,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

视频插针

  • 1、评估指标
  • 2、准确度
  • 3、实时
  • 4、视频流处理
  • 3、实时
  • RIFE视频插帧测试

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:v]pad=iw2:ih1[a];[a][1:v]overlay=w” out.mp4
4个视频排列命令:ffmpeg -i 0.mp4 -i 1.mp4 -i 2.mp4 -i 3.mp4 -filter_complex “[0:v]pad=iw2:ih2[a];[a][1:v]overlay=w[b];[b][2:v]overlay=0:h[c];[c][3:v]overlay=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。

这篇关于视频插针调研的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/889308

相关文章

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试