自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 SwapTalk: Audio-Driven Talking Face Generation with One-Shot Customization in Latent Space

:将人脸交换与唇同步技术相结合,为定制化说话人脸生成提供了一种经济有效的解决方案。然而,直接将现有模型级联在一起往往会在任务之间引入明显的干扰,并降低视频清晰度,因为交互空间仅限于低级语义RGB空间。为了解决这一问题,本文提出了一个创新的统一框架SwapTalk,它在同一潜在空间内完成面部交换和嘴唇同步任务。

2024-05-16 11:40:42 716 1

原创 CodeFormer——Towards Robust Blind Face Restoration with Codebook Lookup Transformer

盲脸恢复是一个高度病态的问题,通常需要辅助引导来1)改善从退化输入到期望输出的映射;2) 补充输入中丢失的高质量细节在本文中,作者证明了在小代理空间中学习离散码本先验,通过将盲人脸恢复作为潜码预测任务,极大地减少了恢复映射的不确定性和模糊性,同时为生成高质量的人脸提供了丰富的视觉原子。在这种模式下,作者提出了一个基于transformer的预测网络,名为CodeFormer,用于对低质量人脸的全局组成和上下文进行建模,以进行潜码预测,即使在输入严重退化的情况下,也能发现与目标人脸非常接近的自然人脸。

2024-05-11 21:37:42 913 1

原创 Real-Time Intermediate Flow Estimation for Video Frame Interpolation

作者比较了SOTA光流模型和IFNet的运行耗时,现有的基于光流的视频插帧模型总是需要将他们的流模型跑两次然后再处理双向光流,因此本文中的中间流估计可以跑在一个更快的速度上,尽管这些光流模型可以准确预测中间帧运动,但是他们并不适用于直接迁移到视频插帧任务。使用另外一个称为优化网络的编解码结构的CNN网络来优化It’的高频区域,减少学生网络产生的artifacts,优化网络的计算量和IFNet近似,其最终产生一个重建的残差Δ(-1≤Δ≤1),最终得到一个优化的重建图像It’+Δ。这使得训练更稳定,收敛更快。

2024-04-29 11:41:03 304 1

原创 Jump Cut Smoothing for Talking Heads

进一步的,作者提出递归合成,如图5所示,对于长度为T的过渡序列,从离结束帧最近的两帧,即I1和IT开始合成,然后以之前合成的帧作为结束帧向中间移动,以提供背景信息。作者采用了最常用的注意力机制,其将Q作为目标的表征,K作为DensePose关键点的表征,V作为源图像特征的表征,对于q和k,使用基于StyleGAN2的编码器结构,在最后一个投影层将特征映射到dk维度,当编码源图像DensePose关键点时,将其和源图像级联在一起进行编码,源图像的外表特征也使用相似结构的编码器进行编码。

2024-04-26 14:16:10 602 1

原创 数字人动作生成方法

为了获得图像空间中的姿态相似性,对于每一帧m,根据已知的相机参数将拟合的3D SMPL人体网格投影到图像空间中,并将投影后在图像上可见的网格表面标记为Sm,对于每一对帧(m,n),图像空间不相似性通过它们的共同可见表面积之间的相交结合来估计:d_img(m,n) = 1 – (Sm ∩ Sn)/(Sm ∪ Sn).相似度约低,IoU越高,两个曲面重合区域越大,表征渲染图像之间有更高的姿态相似性。作者分析参考视频的语音,并检测音频起始峰以及一组来自其文本的关键字,作为添加到视频运动图上相应节点的音频特征。

2024-04-23 10:34:07 528 3

原创 IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models

IP-Adapter的工作是非常有意义的,它引入了一个轻量的Adapter网络,仅仅需要额外训练多一倍的交叉注意力层,就可以实现很好的图像提示,而且这一添加还可以在前向时关闭,同时具备泛化能力,对于后续InstantID等工作都有很好的指导作用,也让我们思考可以使用添加额外交叉注意力层的形式来进行更多模态的加入,非常有意义。图像特征通过调制模块中的解耦交叉注意力层加入到预训练文生图模型的UNet中,在原始的SD模型中文本特征是经由CLIP文本编码器,再通过交叉注意力层加入到UNet中的:给定一个查询向量。

2024-04-12 15:51:51 796

原创 T2I-Adapter: Learning Adapters to Dig out More Controllable Ability for Text-to-Image Diffusion Mode

作为早期对文生图模型进行控制生成的工作,T2I Adapter的工作确实是很有价值的,在后续的IP-Adapter、ControlNet以及一些基于参考图像、控制信号进行视频生成的工作中都可以看到该研究的影子,学习一下对于更好理解现在一些基于SD的文生图、图生图、视频生成等研究工作有很好的指导意义。为了增强Adapter的训练,作者采用了非均匀采样以增加t在采样前期下降的概率,作者采用三次函数作为t的分布,作者将所设计的非均匀与均匀采样进行了比较,从图中可以看到非均匀采样弥补了均匀采样控制力弱的问题。

2024-04-08 19:45:41 736

原创 AniPortrait: Audio-Driven Synthesis of Photorealistic Portrait Animation

该框架包含两个阶段:Audio2Lmk和Lmk2Video,第一阶段从给定的音频输入提取得到一系列表征人脸表情和嘴部运动的landmark序列,第二阶段使用这一landmark序列来生成高质量、时序稳定的人物视频。所有的图片都被resize到512x512的大小,采用4张A100 GPU用于模型训练,两步训练都分别用了两天,训练中使用AdamW优化器,以及一个恒定的学习率,1e-5。特别指出的,是该工作在网络中重新设计了姿态引导模块,这一设计既保持了轻量化的设计,而且在产生唇部运动时也展示出更高的精度。

2024-04-02 11:08:00 712 1

原创 VLOGGER: Multimodal Diffusion for Embodied Avatar Synthesis

但是从项目的主页来看似乎效果也有很多问题,可能第一个对于MENTOR这么大的数据集,音画同步的检查作者并没有提,这可能是影响最终质量的非常关键因素,另外在包含上半身的情况下基础模型的分辨率仅仅只有128x128,未免显得太小,使得模型对于面部尤其是口型的生成区域占比过小,生成效果变差。相较于之前的工作,该工作不再需要对每个人物进行特定的训练,不再依赖于脸部检测和裁剪,而是直接能生成完整的图像(而不仅仅是面部和嘴唇),同时考虑了广泛的场景(包含可见的身体或者多样的。模型通常难以生成一致的人类图像,比如眼睛。

2024-03-25 14:01:06 960

原创 EMO: Emote Portrait Alive

然后是去噪阶段,一个预训练好的音频编码器处理得到音频嵌入,表征人脸区域的mask与多帧噪声信号一起来控制人脸区域的生成,这一阶段中使用Backbone Network主干网络来进行去噪。这一阶段故意忽略了音频层,原因是表情、嘴部运动、头部运动频率主要受音频的影响,这些元素之间存在关联性,如果不忽略音频层,模型可能错误的学习到使用运动信号来控制这些运动,实验结果也证实了这一猜测。对于最初的视频片段的生成,使用。考虑头部旋转速度wf。的启发使用了帧维度上的自注意力机制,结合任务性质,又做了修改,将之前生成的。

2024-02-29 14:48:18 2634

原创 手动添加开机启动项

使用常见的管家类软件如360安全卫士、腾讯管家等用户都可以方便的为自己添加开机启动项,但由于最近刚入职公司,公司的电脑上没有安装这一类软件(不知道会不会不允许安装),所以就尝试手动添加开机启动项,通过搜索查阅并试验后发现一种简单的添加方式:win+R打开“运行”窗口; 输入命令:shell:Common Starup; 出现“启动文件夹”; 在该文件夹中添加所要开机启动软件的快捷...

2019-04-27 22:50:45 3052

原创 数据结构专题——二叉树的遍历(先序遍历、中序遍历、后序遍历、层序遍历)

二叉树的遍历可以分为先序遍历、中序遍历、后序遍历及层序遍历,前三者可以通过深度优先搜索来实现,层序遍历则可以通过广度优先搜索来遍历。对于先序遍历、中序遍历和后序遍历,其中的先、中、后都是针对根节点来说的,先序遍历的访问顺序是根节点->左子树->右子树,中序遍历的访问顺序是左子树->根节点->右子树,后序遍历的访问顺序是左子树->右子树->根节点。首先再贴...

2018-09-17 16:29:08 1060

原创 数据结构专题——二叉树的存储结构与基本操作

一般来说,二叉树使用链表来定义。与普通链表的差别在于,二叉树每个节点有两条出边,因此指针域变成了两个,分别指向左子树根节点地址和右子树的根节点地址,如果某个子树不存在,则指向NULL,其他地方与普通链表完全相同,这样的链表又被叫作二叉链表。二叉树数据结构的定义struct node{ typename data; //typename是数据的类型 node* lc...

2018-09-17 10:58:28 1042

原创 冒泡排序的简单实现

#include <cstdio>#include <cstdlib>#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} //定义一个取得数则长度的宏void BubbleSort(int arr[],int length);void ArrayShow(int a...

2018-03-05 13:50:33 550

转载 C/C++中传递数组参数的问题

将数组作为参数进行传递 有两种传递方法,一种是function(int a[]); 另一种是function(int *a)这两种两种方法在函数中对数组参数的修改都会影响到实参本身的值!对于第一种,根据之前所学,形参是实参的一份拷贝,是局部变量。但是数组是个例外,因为数组的数据太多了,将其一一赋值既麻烦又浪费空间,所以数组作为参数传递给函数的只是数组首元素的地址,数据还是在内存里的,函数在需要用到...

2018-03-05 11:18:49 1398

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除