当前位置: 首页 > news >正文

【AIGC-图片生成视频系列-2】八仙过海,各显神通:AI生成视频相关汇总剖析

最近「图片生成视频系列」层出不穷,我拜读并结合实践(对,就是手撕代码,有开源就撕),并对以下几篇文章的相似点以及关键点稍微做个总结:

一. 生成视频中图像的一致性

在图像生成视频的这个过程中,维持生成视频中图像的一致性是个很大的挑战,毕竟我们都不是很能接受,随着视频播放,画风逐渐不对劲。。。

因此,“八仙过海,各显神通”。

1.1 LivePhoto通过引入Reference latent, 并与输入Unet的噪声在通道维度cat操作,同时利用Content Encoder 把输入图片信息注入到Unet网络的每一层(down block, mid block, up block)中,利用‘双保险’来维持生成视频中图像的一致性。

LivePhoto: Real Image Animation with Text-guided Motion Control

1.2 DreaMoving利用Content Guider把人脸信息注入到Unet网络的每一层(down block, mid block, up block)中。其实这里Content Guider的作用与之前腾讯的工作IPAdapter 有点类似,利用IPAdapter的保持“概念”一致的能力来稳住生成视频中图像的一致性。

DreaMoving: A Human Dance Video Generation Framework based on Diffusion Models

1.3 MagicAnimate提出一个Appearance Encoder来专门保留人物的ID 信息,并把相关信息注入到Unet网络的(mid block 和up block)层,以此保证生成视频中人物ID一致性。

MagicAnimate: Temporally Consistent Human Image Animation using Diffusion Model

1.4 Animate Anyone 的做法和MagicAnimate类似, 也是专门训练了一个ReferenceNet, 用来维持Reference Image的人物形象的。

和MagicAnimate不同的是,这里ReferenceNet的Spatial-Attention层和Cross-Attention是逐层注入到对应的Unet网络所有层,包括(down block, mid block, up block)层。

Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character

二. 生成视频中的运动控制注入

2.1 LivePhoto 把视频中的运动划分为10级,在训练的时候,把运动对应的map与输入噪声latent作cat操作,一起送入Unet网络去噪。待训练完成,在推理阶段就可以通过输入运动的强度来控制生成视频中人物的运动幅度大小。

2.2 DreaMoving 则是专门训练了一个Video ControlNet, 注入控制信息到Unet网络的(mid block 和up block )中。这里的控制信息可以在姿态图(比如openpose或者DW pose),也可以是深度图。

2.3 MagicAnimate 和DreaMoving 类似,也是利用自己训练的Video ControlNet来控制人物的运动,不同的是,MagicAnimate 只能利用Densepose sequence来作为控制条件。不知为啥,MagicAnimate 这么独特,控制方式与众不同。

2.4 Animate Anyone 和DreaMoving 以及MagicAnimate 又有所不同,虽然也是利用姿态来作为控制条件,但并不是类似文本注入的方式直接注入到Unet网络结构中,而是与噪声一起作为输入进入到Unet网络中。


欢迎加入AI杰克王的免费知识星球,海量干货等着你,一起探讨学习AIGC!

移步公众号 「AI杰克王」,更多干货

喜欢的话就点个【赞】呗,您的鼓励和认可是我继续创作的动力。

喜欢就点个赞呗,您的鼓励和认可是我继续创作的动力。

http://www.lryc.cn/news/269899.html

相关文章:

  • SpringBoot集成RabbitMq消息队列【附源码】
  • MySQL数据库的安装与环境配置
  • 【广州华锐互动】VR科技科普展厅平台:快速、便捷地创建出属于自己的虚拟展馆
  • XML Extension Supplement
  • 手拉手Springboot获取yml配置文件信息
  • 行人重识别(ReID)基础知识入门
  • 【音视频 ffmpeg 学习】 跑示例程序 持续更新中
  • 前端axios与python库requests的区别
  • 达梦数据库文档
  • CorelDRAW2024新功能有哪些?CorelDRAW2024最新版本更新怎么样?
  • 基于Mapify的在线艺术地图设计
  • mxxWechatBot微信机器人V2版本文档说明
  • 红队打靶练习:MISDIRECTION: 1
  • Jmeter吞吐量控制器总结
  • 【XML】TinyXML 详解(二):接口详解
  • 【机器学习】人工智能概述
  • flink 实时写入 hudi 参数推荐
  • 传统项目基于tomcat cookie单体会话升级分布式会话解决方案
  • Unity 关于json数据的解析方式(LitJson.dll插件)
  • 智能监控平台/视频共享融合系统EasyCVR海康设备国标GB28181接入流程
  • expdp到ASM 文件系统 并拷贝
  • 【2023】通过docker安装hadoop以及常见报错
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率(C++)
  • SpringBoot项目部署及多环境
  • WebGL以及wasm的介绍以及简单应用
  • JS和TS的基础语法学习以及babel的基本使用
  • Centos安装Composer
  • 面试题:从 MySQL 读取 100w 数据进行处理,应该怎么做?
  • 销售转行上位机编程:我的学习与职业经历分享
  • 分库分表之Mycat应用学习一