视频插针调研

视频插针

  • 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.rhkb.cn/news/303362.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【springboot开发】Gradle VS Maven

前言: java构建工具的主要作用是依赖管理和构建的生命周期管理。gradle和maven是目前java中最流行的两个构建工具,springboot常用maven,Android studio使用gradle。 目录 1. 简介2. Maven2.1 安装2.2 依赖管理2.3 构建生命周期管理 3. Gradle…

Utilize webcam to capture photo with camera

1. Official Guide& my github Official course my github 2. Overcome Webcam js Error in Chrome: Could not access webcam link 直接把代码拷贝到本机的下述目录下 To ignore Chrome’s secure origin policy, follow these steps. Navigate to chrome://flags/#un…

大语言模型如何工作?

此为观看视频How Large Language Model works的笔记。 GPT(Generative Pre-trained Transformer)是一个大语言模型(LLM),可以生成类似人类的文本。本文阐述: 什么是LLMLLM如何工作LLM的应用场景 什么是…

基于JSP的网上订餐系统

第一章 绪论 1.1课题背景与意义 自新世纪以来,我国经济发生翻天覆地的变化。中国经济发展迎来空前巨大的机遇与挑战,世界性的发展交流在这三十年较近四十年的时间中整体性上升发展,东西文化的碰撞,不断为国民经济的发展注入新鲜…

通信分类3G,4G,5G,通信专用名词

Generation: 2G: GSM全名为:Global System for Mobile Communications,中文为全球移动通信系统,俗称"全球通",是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术 3G:WCDMA 4G&#xff1a…

计算机视觉——基于傅里叶幅度谱文档倾斜度检测与校正

概述 在计算机视觉领域,处理文档数据时,OCR算法的性能往往会受到文档的倾斜度影响。如果文档在输入到模型之前没有经过恰当的校正,模型就无法期待模型能够提供准确的预测结果,或者模型预测的精度会降低。例如,在信息提…

Day106:代码审计-PHP原生开发篇文件安全上传监控功能定位关键搜索1day挖掘

目录 emlog-文件上传&文件删除 emlog-模板文件上传 emlog-插件文件上传 emlog-任意文件删除 通达OA-文件上传&文件包含 知识点: PHP审计-原生开发-文件上传&文件删除-Emlog PHP审计-原生开发-文件上传&文件包含-通达OA emlog-文件上传&文件…

基于YOLOv8的摄像头下铁路工人安全作业检测系统

💡💡💡本文摘要:基于YOLOv8的铁路工人安全作业检测系统,属于小目标检测范畴,并阐述了整个数据制作和训练可视化过程, 博主简介 AI小怪兽,YOLO骨灰级玩家,1&#xff0…

【计算机考研】408网课汇总+资源分享

王道的四件套无疑是大多数同学的首选。相比其他课程来说,也是属于市面上最好的408课程了。 从今年的难度来看选择题部分和计网,比起往年来看是有很多偏题,大题除了计网的冷门外,其他倒是中规中矩。总体来看24考研的408难度是非常…

Vue - 4( 8000 字 Vue 入门级教程)

一: Vue 初阶 1.1 关于不同版本的 Vue Vue.js 有不同版本,如 vue.js 与 vue.runtime.xxx.js,这些版本主要针对不同的使用场景和需求进行了优化,区别主要体现在以下几个方面: 完整版 vs 运行时版: vue.js&…

软件可靠性基本概念_1.定义和定量描述

1.软件可靠性定义 软件可靠性(Software Reliability)是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件&am…

LeetCode-2529题:正整数和负整数的最大计数(原创)

【题目描述】 给你一个按 非递减顺序 排列的数组 nums ,返回正整数数目和负整数数目中的最大值。换句话讲,如果 nums 中正整数的数目是 pos ,而负整数的数目是 neg ,返回 pos 和 neg二者中的最大值。注意:0 既不是正整…

开启RabbitMQ的WEB管理功能。

前言 今天讲下如何快速开启RabbitMQ的WEB管理功能,以及遇到的问题。 前期准备,需要安装好docker、docker-compose的运行环境。 一、安装RabbitMQ 1、创建相关目录,执行如下命令。 mkdir -p /docker/rabbitmq/data cd /docker/rabbitmq 2…

【数据结构】考研真题攻克与重点知识点剖析 - 第 7 篇:查找

前言 本文基础知识部分来自于b站:分享笔记的好人儿的思维导图与王道考研课程,感谢大佬的开源精神,习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析,本人技术…

无人机低空数字摄影测量系统

一、 系统概述 系统完全基于IDL设计实现,包括界面布局到人机交互再到底层核心函数功能。整体设计框架基于数字摄影测量的专业处理流程,实现了数据输入、数据预处理、影像信息检测、空间定向、地形三维建模、专题信息提取、成果输出与更新等功能。同时为…

【教程】App打包成IPA文件类型的四种方法

摘要 本教程总结了将App应用程序打包为IPA包的四种常用方法,包括Apple推荐的方式、iTunes拖入方法、自动编译脚本和解压改后缀名方法。每种方法都有其特点和适用场景,在实际开发中可以根据需求选择合适的方式进行打包。通过本教程,您将了解到…

Linux--进程的概念(二)

目录 一、进程的优先级1.1 基本概念1.2 查看进程优先级1.3 PRI&NI1.4 如何更改进程的优先级1.4.1 用top命令更改进程的nice1.4.2 用renice命令更改进程的nice 1.5 其他概念 二、环境变量2.1 基本概念2.2 常见的环境变量2.3 查看环境变量2.3.1 测试PATH2.3.2 测试HOME2.3.3 …

Adobe Photoshop 2024 v25.6强大的图形编辑工具

Adobe Photoshop 2024是一款非常强大的图像处理软件,具有丰富的功能和工具,可以满足各种图像处理需求。 软件下载:Adobe Photoshop 2024 v25.6中文激活版 它不仅支持基本的图像编辑和调整,还具有高级的特性,如智能对象…

自定义类型—结构体

目录 1 . 结构体类型的声明 1.1 结构的声明 1.2 结构体变量的创建与初始化 1.3 结构体的特殊声明 1.4 结构体的自引用 2. 结构体内存对齐 2.1 对齐规则 2.2 为什么存在内存对齐 2.3 修改默认对齐数 3. 结构体传参 4.结构体实现位段 4.1 位段的内存分配 1 . 结构体类…

idea中jdk版本的配置

配置JDK版本的步骤如下: 下载JDK安装文件:首先,需要从Oracle官方网站(https://www.oracle.com/java/technologies/javase-jdk8-downloads.html)下载适合您操作系统的JDK版本。 安装JDK:双击下载的安装文件…