爆火「视频版ControlNet」开源了!靠提示词精准换画风,全华人团队出品

news2024/11/15 15:46:22

“视频版ControlNet”来了!

让蓝衣战神秒变迪士尼公举:

图片

视频处理前后,除了画风以外,其他都不更改。

女孩说话的口型都保持一致。

图片

正在插剑的姜文,也能“下一秒”变猩球崛起了。

图片

这就是由全华人团队打造的最新视频处理算法CoDeF,发布才几天,迅速在网上爆火。

网友们看了直呼:

这一天天的,虚实分辨越来越难了!

图片

只需要自己拍点东西,然后覆盖上去,就能变成各种各样的动画了。

图片

有人说,只需给它一年时间,就能被用在电影制作上了。

这马上引来其他人的肯定:技术发展真的非常疯狂、非常快。

图片

目前,团队已将这一方法在GitHub上开源。

姿势不变,画风“皮套”随便换

之所以会被称为是“视频版ControlNet”,主要原因在于CoDeF能够对原视频做到精准控制。

(ControlNet实现了根据提示词精准控制图像元素改变,如人物动作、图像结构等)

根据给到的提示词,它仅改变视频的画风,而且是针对完整视频。

比如输入“Chinese ink painting”,风景纪录片能秒变国风水墨大作。

图片

包括水流也能很好跟踪,整个流体动向都没有被改变。

图片

甚至一大片穗子,在原视频里怎么摆动,改变画风后频率和幅度也如出一辙。

图片

在画风改变上,CoDeF也做了很多细节处理,让效果更加逼真合理。

“由春入冬”后,原本有涟漪的河流静止了,天空中的云彩被换成了太阳,更加符合冬日景象。

图片

霉霉变成魔法少女后,耳环被换成了发光宝石,手里的苹果也换成了魔法球。

图片

这样一来,让电影角色一键变老也简单了许多。

皱纹可以“悄无声息”上脸,其他一切都没有变化。

图片

所以,CoDeF是怎么实现的呢?

可跟踪水和烟雾,跨帧一致性更强

CoDeF是英文“the content deformation field”的缩写,即作者在此提出了一种叫做内容形变场的新方法,来用于视频风格迁移任务

比起静态的图像风格迁移,这种任务的复杂点在于时间序列上的一致性和流畅度。

比如处理水、烟雾这种元素,两帧画面之间的一致性非常重要。

在此,作者“灵机一动”,提出用图片算法来直接解决视频任务。

他们只在一张图像上部署算法,再将图像-图像的转换,提升为视频-视频的转换,将关键点检测提升为关键点跟踪,而且不需要任何训练

这样一来,相较于传统方法,能够实现更好的跨帧一致性,甚至跟踪非刚性物体。

具体而言,CoDeF将输入视频分解为2D内容规范场(canonical content field)和3D时间形变场(temporal deformation field):

前者用于聚合整个视频中的静态内容;后者则负责记录图像沿时间轴的每个单独帧的转换过程。

利用MLP(多层感知器),每个场都用多分辨率2D或3D哈希表来表示。

图片

在此,作者特意引入了正则化,来保证内容规范场能够继承原视频中的语义信息(比如物体的形状)。

如上图所示,这一系列设计使得CoDeF可以自动支持各种图像算法直接应用于视频处理——

也就是只需利用相应算法提取出来一张规范图像,然后通过时间形变场沿着时间轴传播结果即可。

比如,给CoDeF“套上”本用于图片处理的ControlNet,就可以完成视频风格的“翻译”(也就是我们开头和第一段看的那一堆效果):

图片

“套上”分割一切算法SAM,我们就能轻松做到视频的对象跟踪,完成动态的分割任务:

图片

“套上”Real-ESRGAN,则给视频做超分也是信手拈来……

图片

整个过程非常轻松,不需要对待操作视频进行任何调整或处理

不仅能处理,还能保证效果,即良好的时间一致性和合成质量。

如下图所示,相比去年诞生的Layered neural atlas算法,CoDeF能够呈现非常忠于原视频的细节,既没有变形也无破坏。

图片

而在根据文本提示修改视频风格的任务对比中,CoDeF全部表现突出,不仅最匹配所给要求,也有着更高的完成度。

图片

跨帧一致性则如下图所示:

图片

一位一作刚本科毕业

这项研究由香港科技大学、蚂蚁团队、浙江大学CAD&CG实验室共同带来。

共同一作有三位,分别是欧阳豪、Yujun Shen和Yuxi Xiao。

其中欧阳豪为港科大博士,师从陈启峰(本文通讯作者之一);本科导师为贾佳亚。曾在MSRA、商汤、腾讯优图实验室实习过,现在正在谷歌实习。

图片

另一位是Qiuyu Wang。Yujun Shen是通讯作者之一。

他是蚂蚁研究所的高级研究科学家,主管交互智能实验室,研究方向为计算机视觉和深度学习,尤其对生成模型和3D视觉效果感兴趣。

图片

第三位一作为Yuxi Xiao才刚刚从武大本科毕业,今年9月开始在浙大CAD&CG实验室读博。

他以一作身份发表的论文Level-S2fM: Structure from Motion on Neural Level Set of Implicit Surfaces,被CVPR2023接收。

图片

论文地址:
https://arxiv.org/abs/2308.07926

项目地址:
https://qiuyu96.github.io/CoDeF/

参考链接:
https://twitter.com/LinusEkenstam/status/1692492872392626284

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

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

相关文章

四川玖璨电子商务有限公司:怎么拉升抖店体验分

抖音是中国最受欢迎的短视频分享平台之一,而在抖音上开设自己的抖店成为许多电商从业者的选择。为了提高抖店的曝光度和用户体验,抖店体验分成为了一个重要的指标。在本文中,小编将从两个方面来讨论怎么拉升抖店体验分,包括影响因…

你真的理解 shell 中的 $?

$? 是一个特殊变量,用于获取上一个命令或函数的退出状态码,这里要注意的是状态码和返回值是不同的概念。在函数中我们可以使用返回标志 return,return 的返回值会作为退出状态码供 $? 截取,当函数没有 return 返回值时&#xff…

【Jellyfin影音服务器】 本地部署公网远程影音库

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及,各种各样的使用需求也被开发出来&…

程序员至少要掌握几种编程语言?来看看这些编程语言的优势和用途

你可能听说过,作为一个程序员,你要学习很多种编程语言,才能应对各种不同的项目和需求。那么,程序员最少要掌握几种编程语言呢?其实,这个问题没有一个确定的答案,因为不同的编程语言有不同的优势…

若依vue打印的简单方法

像我们后端程序员做前端的话,有时候真不需要知道什么原理,直接塞就好了 我们选用基于hiprint 的vue-plugin-hiprint来打印 目的是为了实现点击某些行的数据,然后点击某个按钮直接弹出下面的打印 此链接 大佬是原创,我拿来总结梳理一下 插件进阶功能请移步: 链接 插件模板制作页…

直播购物系统开发定制:融合技术与个性化的未来购物体验

在数字化时代,直播购物已经成为了商业领域的一大趋势。而通过直播购物系统开发定制,商家能够更好地满足消费者的个性化需求,为购物体验带来前所未有的变革。在本文中,我们将探讨如何通过技术手段来实现直播购物系统的开发定制&…

Layer Normalization(层规范化)

详细内容在这篇论文:Layer Normalization 训练深度神经网络需要大量的计算,减少计算时间的一个有效方法是规范化神经元的活动,例如批量规范化BN(batch normalization)技术,然而,批量规范化对小批…

【若依管理系统 权限控制】

1.在菜单管理添加按钮权限,如图 2.在角色管理里面加上菜单,如图 3.前端控制: 4.后端控制: 5.重启后台后,重新登录用户。

无涯教程-Python - Dictionary(字典)

每个键都由一个冒号(:)与其值分隔,各元素之间以逗号分隔,并且整个内容都用花括号括起来。一个没有任何元素的空字典用两个大括号书写,如:{}。 键在字典中是唯一的,而值可能不是。字典的值可以是任何类型,但是键必须是…

【机器学习7】特征缩放

特征缩放 🍀特征缩放的重要性🌱归一化🌱标准化🌱更高级的缩放方法🌸导入数据集&将数据集划分为训练集和测试集🌸Sklearn-Learn算法实现归一化🌸Sklearn-Learn算法实现标准化 🍀特…

Activity 的启动流程(Android 13)

Activity 的启动过程分为两种:一种是普通 Activity 的启动过程,另一种是根 Activity 的启动过程。普通 Activity 指的是除应用程序启动的第一个 Activity 之外的其他 Activity。根 Activity 指的是应用程序启动的第一个 Activity,因此&#x…

春秋云镜 :CVE-2020-21650(MyuCMS后台rce)

一、题目 靶标介绍: MyuCMS开源内容管理系统,采用ThinkPHP开发而成的社区商城聚合,插件,模板,轻便快捷容易扩展 其2.2版本中admin.php/config/add方法存在任意命令执行漏洞. 进入题目: exp: url/index.p…

计算机网络 QA

DNS 的解析过程 浏览器缓存。当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的 IP 地址(曾经访问过该域名并且没有清空缓存)系统缓存。当浏览器缓存中无域名对应的 IP 地址时,会自动检测用户计算机…

opencv 进阶20-随机森林示例

OpenCV中的随机森林是一种强大的机器学习算法,旨在解决分类和回归问题。随机森林使用多个决策树来进行预测,每个决策树都是由随机选择的样本和特征组成的。在分类问题中,随机森林通过投票来确定最终的类别;在回归问题中&#xff0…

Blazor组件化开发心得:Blazor开发套路

文章目录 前言Blazor开发套路文件分类示意图 如何分工 前言 接触Blazor也快有一个多月了,了解Blazor之后发现确实是个好东西,开发速度太快了,前端直接拿数据,通过SSR保证安全。但是有一个问题,服务器能承受多大的压力…

Spark项目Java和Scala混合打包编译

文章目录 项目结构Pom完整文件编译查看 实际开发用有时候引用自己写的一些java工具类,但是整个项目是scala开发的spark程序,在项目打包时需要考虑到java和scala混合在一起编译。 今天看到之前很久之前写的一些打包编译文章,发现很多地方不太对…

【资料分享】基于NXP i.MX 8M Plus的异构多核核心板规格书

1 核心板简介 创龙科技SOM-TLIMX8MP是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 单核ARM Cortex-M7异构多核处理器设计的高端工业核心板,ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz,ARM Cortex-M7实时处理单元主频高达800MHz。处理器采用14…

【Java】代理实现重试功能

在有些调用http请求功能中,会因为网络的抖动,使得网络不稳定。这时需要一个功能来实现重试。 下面介绍使用JDK的代理功能和Cglib来实现简单的代理重试。 JDK的代理需要被代理的类实现接口,下面的newProxyInstance代码中需要interfaces参数&am…

element-table的动态操作,自动以表格,动态新增行、列,删除行列

灵活的自定义表格行列以及增删改查的操作,右键选中列则是列的删除&#xff0c;效果如下 <template><div class"st-table"><div style"width: 100%"><el-button click"addRow()" type"primary" icon"CircleP…

深入理解android线程池实现原理

为什么要引入线程池 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度。当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行提高线程的可管理性。线程是稀缺资源&#xff0c;如果无限制的创建&#xff0c;不仅会消耗系统的资源…