AI视频实战教程:DiffIR2VR-Zero-模糊视频8K高清修复技术

news2024/11/28 19:53:31

探索AI的无限可能,微信关注“AIGCmagic”公众号,让AIGC科技点亮生活

本文作者:AIGCmagic社区   猫先生

一、简 介

DiffIR2VR-Zero:一种创新的零样本视频恢复技术,该技术利用预训练的图像恢复模型,解决了传统方法在不同场景下泛化能力不足的问题。

通过关键帧与局部帧的分层合并策略和混合对应机制,该方法在无需重新训练的情况下,实现了卓越的视频恢复效果,甚至在极端退化条件下超越了训练模型。这项研究不仅提升了视频恢复的效率和适用性,也为高质量视频输出需求的领域带来了技术革新。

项目主页:https://jimmycv07.github.io/DiffIR2VR_web/

官方演示:https://huggingface.co/spaces/Koi953215/DiffIR2VR

图片

二、视频超分辨率

图片

(a) 传统的基于回归的方法(例如 FMA-Net)仅限于训练数据域,并且在遇到域外输入时往往会产生模糊的结果。

(b) 虽然将基于图像的扩散模型(例如 DiffBIR)应用于各个帧可以生成真实的细节,但这些细节通常缺乏帧间的一致性。

(c) DiffIR2VR-Zero方法利用图像扩散模型来恢复视频,无需任何额外的训练即可实现真实且一致的结果。

三、方法概述

图片

使用扩散模型批量处理低质量 (LQ) 视频,并在每批中随机采样关键帧。(a) 在扩散去噪过程开始时,分层潜在扭曲通过关键帧之间的潜在扭曲在全局提供粗略的形状指导,并通过在批次内传播这些潜在扭曲在局部提供粗略的形状指导。(b) 在大部分去噪过程中,标记在自注意力层之前合并。对于下采样块,使用光流来查找标记之间的对应关系,对于上采样块,利用余弦相似度。这种混合流引导、空间感知的Token合并通过利用流和空间信息准确地识别Token之间的对应关系,从而增强Token级别的整体一致性。

分层潜在变形

图片

无需任何训练,分层潜在变形即可提供全局和局部形状指导,并可以通过增强潜在空间中的时间稳定性来实现跨帧的一致性。

混合空间感知Token合并

在自注意力层之前,利用光流和余弦相似性匹配相似的Token,提高时间一致性。

图片

自注意力层之前的混合空间感知令牌合并通过使用 UNet 的下行块中的光流和上行块中的**余弦相似性**来匹配相似的令牌,从而提高了时间一致性。

令牌对应关系

通过光流和余弦相似性找到不同的对应关系,采用混合方法提高效果。

图片

通过余弦相似度和光流找到对应关系。在去噪过程开始时,UNet下块中的潜在噪声太大,余弦相似性无法有效,而从 LQ 帧估计的光流仍然可靠。流和余弦相似度通常会识别不同的对应关系,因此混合方法更有效。

四、实操部署

为了方便访问huggingface不方便的朋友,关于DiffIR2VR-Zero的代码和模型文件,已打包好了,关注【魔方AI空间】,回复“111”即可领取!!

安装依赖
# clone this repo
git clone https://github.com/jimmycv07/DiffIR2VR-Zero.git
cd DiffIR2VR-Zero

# create environment
conda create -n diffir2vr python=3.10
conda activate diffir2vr
pip install -r requirements.txt
 下载模型文件

请按照以下文件夹结构放置预训练权重。

weights
└─── gmflow_sintel-0c07dcb3.pth
└─── v2.pth
└─── v2-1_512-ema-pruned.ckpt
推理命令

视频去噪

python -u inference.py \
--version v2 \
--task dn \
--upscale 1 \
--cfg_scale 4.0 \
--batch_size 10 \
--input inputs/noise_50/flamingo \
--output results/Denoise/flamingo  \
--config configs/inference/my_cldm.yaml \
--final_size "(480, 854)" \
--merge_ratio "(0.6, 0)" \
--better_start 

视频超分

python -u inference.py \
--version v2 \
--task sr \
--upscale 4 \
--cfg_scale 4.0 \
--batch_size 10 \
--input inputs/BDx4/rhino \
--output results/SR/rhino  \
--config configs/inference/my_cldm.yaml \
--final_size "(480, 854)" \
--merge_ratio "(0.6, 0)" 

 推荐阅读:

《AIGCmagic星球》,五大AIGC方向正式上线!让我们在AIGC时代携手同行!限量活动
《三年面试五年模拟》版本更新白皮书,迎接AIGC时代
AIGC |「多模态模型」系列之OneChart:端到端图表理解信息提取模型
AI多模态模型架构之模态编码器:图像编码、音频编码、视频编码
AI多模态模型架构之输入投影器:LP、MLP和Cross-Attention

AI多模态模型架构之LLM主干(1):ChatGLM系列

AI多模态模型架构之LLM主干(2):Qwen系列

AI多模态模型架构之LLM主干(3):Llama系列  

AI多模态模型架构之输出映射器:Output Projector

AI多模态教程:从0到1搭建VisualGLM图文大模型案例

AI多模态教程:Mini-InternVL1.5多模态大模型实践指南

AI多模态教程:Qwen-VL多模态大模型实践指南

AI多模态实战教程:面壁智能MiniCPM-V多模态大模型问答交互、llama.cpp模型量化和推理

智谱推出创新AI模型GLM-4-9B:国家队开源生态的新里程碑

技术交流:

加入「AIGCmagic社区」群聊,一起交流讨论,涉及 「AI视频、AI绘画、Sora技术拆解、数字人、多模态、大模型、传统深度学习、自动驾驶」等多个不同方向,可私信或添加微信号:【lzz9527288】,备注不同方向邀请入群!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1961391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++高性能通信:图形简述高性能中间件Iceoryx

文章目录 1. 概述2. 支持一个发布者多个订阅者2.2 Iceoryx为何不支持多个发布者发布到同一个主题 3. Iceoryx的架构和数据传输示意图3.1 发布者与订阅者的通信机制3.2 零拷贝共享内存通信机制 4. 使用事件驱动机制4.1 WaitSet机制4.2 Listener机制 5. 已知限制6. 参考 1. 概述 …

sci-hub下载不了的文献去哪里获取全文

我们在查找外文文献时经常会用到sci-hub,但sci-hub也有没有收录的文献,遇到这种情况我们可以用另一个途径来获取该文献。 例如这篇Wiley数据库中的文献:Unveiling Gating Behavior in Piezoionic Effect: toward Neuromimetic Tactile Sensin…

Linux服务管理(四)Apache服务

Apache服务 1、基于IP的虚拟主机2、基于IP端口的虚拟主机3、基于域名的虚拟主机4、prefork模式5、worker模式6、event模式7、细说驱动工作模式和MPM(多处理模块)工作模式 新旧域名都保留,因为旧域名已有一定的知名度和流量,直接下…

Cocos Creator2D游戏开发(8)-飞机大战(6)-炸机

碰撞 飞机与飞机碰撞 子弹与飞机碰撞 ① 设置碰撞矩阵 设置碰撞矩阵,就是设置谁跟谁碰撞(添加Enemy,PlayerBullet,Player) ②设置刚体和碰撞体 两个预制体设置(Enemy和PlayerBullet) 注意点: 1. 都在预制体节点上,不在图片上; 2.碰撞体Collider2D中的Editing悬着好之后可以调整…

C#-读取测序数据的ABI文件并绘制svg格式峰图-施工中

本地环境:win10,visual studio 2022 community 目录 前言问题描述解决思路实现效果 前言 本文是在已有的代码基础上进行的开发,前期已经实现: ABI文件的解析峰图的简单绘制svg绘图 对于1,主要用到之前重写的struct包…

大模型面经之bert和gpt区别

BERT和GPT是自然语言处理(NLP)领域中的两种重要预训练语言模型,它们在多个方面存在显著的区别。以下是对BERT和GPT区别的详细分析。 一、模型基础与架构 BERT: 全称:Bidirectional Encoder Representations from Trans…

系统移植(九)Linux内核移植(未整理)

文章目录 一、概念二、在linux内核源码的arch/arm/configs目录下生成FSMP1A板子对应的默认配置文件三、将自己编写的驱动通过图形化界面的方式编译到内核的镜像文件uImage中(一)拷贝myled.c和myled.h文件到linux内核源码的drivers/char目录下&#xff08…

第15周 15.1 Zookeeper简介安装及基础使用

1. Zookeeper介绍 1.1 介绍 1.2 应用场景简介 1.3 zookeeper工作原理 1.4 zookeeper特点

Canva收购Leonardo.ai,增强生成式AI技术能力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

MyBatis-Plus自动生成代码

目录 前言一. 什么是 MyBatis-Plus1. Mybatis-Plus 的特点2. Mybatis-Plus 结构二. MyBatis-Plus 自动生成步骤1. 数据库准备2. 环境准备(1) 创建一个空的 Spring Boot 工程(2) 导入pom依赖(3) 编辑application.yml文件(4) 在启动类加入 @MapperScan 注解3. 配置代码4. 运行三.…

Hutool SoapClient 调用使用@webservice 发布的webService接口,参数传递为空

一.发布webService接口 (1)接口声明 import javax.jws.WebService;WebService public interface Calculator {String add(String a, String b);int multi(int a, int b);}(2)实现方法 import com.maxnerva.cloud.webservice.ser…

初始mybatis

一、J D B C 编程和 ORM 模 型 1.JDBC回顾 加载驱动 :导入JDBC 连接数据库的 jar包,利用CLASS.forName 加载驱动; 获取连接 : 利用 DriverManager 获取 Connection,然后创建 Statement ; 执行SQL语句 &…

算法刷题day20|回溯:39. 组合总和、40. 组合总和 II、131. 分割回文串

39. 组合总和 回溯 class Solution { private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& candidates, int target, int sum, int startIndex) {if (sum > target) {return;}if (sum target) {result.push…

valideer,一个超强的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个超强的 Python 库 - valideer。 Github地址&#xff1a;https://github.com/podio/valideer 在开发应用程序时&#xff0c;数据验证是一个至关重要的环节。它确保了输入数…

【SpringBoot】5 Swagger

官网 https://swagger.io/ 介绍 Swagger 是一套基于 OpenAPI 规范构建的开源工具&#xff0c;可以帮助开发者实现设计、构建、记录、使用 Rest API。 Swagger 是一款根据 Restful 风格生成的接口开发文档&#xff0c;并且支持做测试的一款中间软件。 Swagger主要包括三部分&…

jfif怎么改成jpg?分享给大家三个小技巧!

在数字时代&#xff0c;图片是我们日常生活和工作中不可或缺的一部分。然而&#xff0c;在处理图片时&#xff0c;我们可能会遇到各种格式的问题&#xff0c;比如JFIF格式的图片在某些平台上无法直接打开或编辑。别担心&#xff0c;今天我就给大家分享三个简单实用的小技巧&…

spring自动装配读取引用jar包下的META-INF文件里的类,将其加载进spring启动容器.

总结: 0.ComponentScan默认只扫描同包、子包下的所有类, 因此扫描不到引的其他jar包依赖里的类 1.引的其他jar包依赖里的类想要被spring加载进容器, 在spring2.7之前,要把类的全类名写在自己项目包下的resources/META-INF/spring.factories下的文件中, 从spring boot2.7开…

【Linux】软连接|硬链接|当前路径(.)|上级路径(..)|硬链接不能链接目录

目录 前言 软连接 ​编辑 删除源文件 快捷应用 总结 硬链接 硬链接为何不能链接目录 为什么软连接可以 软硬链接区别 当前路径(.)和上级路径(..) ​编辑 前言 在 Linux 中&#xff0c;文件的存储位置和数据&#xff08;属性内容&#xff09;是由 inode 号来唯一标…

spring源码 bean的生命周期

问&#xff1a;谈谈对spring的理解 答&#xff1a;总分思想&#xff0c;先说对spring的总体认知&#xff0c;再说小一点的比如&#xff1a;IOC,AOP,IOC如何实现&#xff0c;生命周期&#xff0c;循环依赖等 IOC&#xff1a;控制反转 xml和注解创建对象的流程 xm文件通过IO流读…

RVC-AI声音克隆-你的声音不再是唯一

RVC是一个基于Hubert模型的AI语音转换工具&#xff0c;可以实现男女声的互换和降噪。 本文将要介绍RVC的安装和使用方法 首先感谢花儿不哭大佬带来的RVC声音克隆 花儿不哭&#xff1a; 花儿不哭的个人空间-花儿不哭个人主页-哔哩哔哩视频 (bilibili.com) RVC下载地址&#xff…