LivePortrait – 快手推出的开源人像动画生成框架

一、LivePortrait的定义

LivePortrait是一项革新性的技术,它能够将静态的照片转换成动态的视频,使照片中的人物或动物做出各种表情和动作。具体来说,它是一个基于摄像头驱动的技术,通过高效的肖像动画算法,利用隐式关键点框架来平衡计算效率和可控性,从而实现将静态图像转换为实时动态视频,达成逼真的肖像动画效果。这项技术由快手科技、中国科学技术大学和复旦大学联合开发,是一种人工智能技术。

二、LivePortrait的特点和功能

(一)高效的肖像动画算法

  • LivePortrait的核心算法基于隐式关键点框架。这种框架能够智能地捕捉并分析图像中的人脸关键特征点,如眼睛、鼻子、嘴巴和轮廓等,而无需显式地标记每一个点。与传统的图像处理技术相比,明确地标记关键点往往需要消耗大量的计算资源,尤其是在处理高分辨率的图像时,而LivePortrait的隐式关键点方法,通过算法的优化和深度学习技术的应用,能够在保持图像质量的同时,显著减少处理时间,使实时图像处理成为可能。这意味着在直播、视频通话或是实时图像编辑场景中,LivePortrait都能提供流畅、无延迟的图像优化体验,无论是明亮的户外环境还是昏暗的室内空间,它都能准确捕捉人脸特征,优化图像细节,呈现出更加真实、生动的视觉效果。
  • 其模型训练分为两个阶段。第一阶段为基础模型训练,包括高质量训练数据收集,采用公开视频数据集(如Voxceleb、MEAD、RAVDESS等)和风格化图片数据集(如AAHQ),还有大规模4K分辨率的人像视频、200余小时的说话人像视频以及一个私有的数据集LightStage等,并且用快手自研的KVQ来过滤低质量的视频片段,采用视频 – 图像混合训练策略提升模型泛化能力,升级网络结构等;第二阶段为贴合和重定向模块训练,这两个模块是轻量MLP网络,在提升可控性的同时计算成本可以忽略。

(二)丰富多样的功能表现

  • 从单一图像生成生动动画:能够利用源图像的外观特征和驱动视频的运动信息,从单一的静态肖像图像中生成包含丰富面部表情和头部姿态变化的动态视频。例如,将一张静态的人物照片转化为该人物微笑、眨眼或转头的动画。这得益于它采用了大量高质量数据集(约6900万高质量的图像和视频帧)进行训练,从而保证模型能够泛化到各种场景,并引入隐式关键点作为中间的运动表示,平衡了生成质量和计算效率。
  • 精确控制眼睛和嘴唇动作
    • 眼睛:它内置的眼睛重定向模块可以独立控制眼睛的动作,使得在生成的动画中,眼睛可以根据需要自由移动,表现出不同的注视方向和眨眼动作。例如,在生成动画时,可以让人物的眼睛从左到右扫视,或者根据需要表现人物的眨眼动作,增强动画的真实感。
    • 嘴唇:嘴唇重定向模块则可以精确控制嘴唇的开合动作,这样人物在动画中的嘴唇动作能够与说话或表情变化同步,表现更加自然。例如在模拟人物说话的动画时,嘴唇能够根据输入的语音或文本内容精确同步,模拟出自然的说话动作。
  • 处理多个人物肖像的无缝拼接:LivePortrait的缝合模块用于处理多个肖像之间的无缝拼接,保证在多个动态人物之间过渡平滑,不会产生突兀的边界效果,从而满足多人物场景下的动画制作需求。
  • 支持多风格肖像:通过混合图像和视频训练策略,LivePortrait支持多种风格的肖像动画生成,无论是写实风格的人物照片,还是动漫风格的肖像,都能够生成高质量的动画。例如,不论照片中的是真实人物还是动漫风格的肖像,都可以生成对应风格的动态视频,适用于多种应用场景。
  • 生成高分辨率动画:采用SPADE解码器和PixelShuffle上采样层,LivePortrait能够生成高分辨率的动画。例如可以达到512×512的分辨率,这使得人物的面部细节更加清晰,从而适用于需要高画质的应用场景。
  • 在RTX4090GPU上的高效性能:在高性能显卡(如RTX4090)上表现出色,其生成速度达到了每帧12.8毫秒,若经过进一步优化(如TensorRT)预计能达10ms以内,这种高效性使其非常适合实时应用,能够快速地将静态图片转换为动态视频,满足实时交互和处理的要求。

三、LivePortrait的应用场景

(一)社交媒体互动

  • 用户可以将自己制作的LivePortrait分享在社交媒体(如Instagram、TikTok等)上。与普通照片相比,LivePortrait更具互动性和趣味性,能够让朋友们看到自己鲜活的一面,大大增加了社交平台上内容的吸引力。比如,可以把个人的静态照片转化为生动的动态形象,像动态的自我介绍或者展示特定时刻的有趣表情,吸引更多朋友的点赞和评论,有助于提升用户在社交媒体上的活跃度和个人影响力。

(二)创意内容制作

  • 对于短视频创作者来说是一个非常有用的工具。他们可以利用LivePortrait挖掘更多创意内容,将各种创意融入到原本的静态照片中,转化为生动的动态视频。例如,将历史人物的照片制作成仿佛正在讲述故事的动态画面用于历史文化类短视频创作;或者是为摄影作品增加动态元素,赋予作品新的生命力,使静态摄影作品变成动态艺术作品,与音乐、旁白等元素相结合,创作出形式多样、富有创意的短视频内容。

(三)专业视频编辑

  • 在影视制作、广告制作等专业领域,LivePortrait有着广泛的应用前景。比如在影视制作中,可以利用它将演员的定妆照制作成具有动态表情和动作的预览视频,帮助导演在前期更好地构思画面。在广告制作方面,产品宣传使用LivePortrait可以更生动地展示产品效果,例如化妆品广告展示化妆前后人物的动态对比,提高广告的吸引力,增强产品的展示效果,有助于产品销售。

(四)数字人领域

  • 在数字人创作方面,LivePortrait可以结合文字或者音频输入,自动生成专业的视频内容,如产品介绍、教学课程、趣味视频等。通过输入人脸照片和相应的文字或音频等信息,经过其算法解析和处理,利用生成对抗(GAN)等模型,合成出逼真的数字人视频。例如在教育领域,可以创建数字教师形象,制作教学视频讲解知识点,其能够保持人物表情的自然流畅、动作与语音的同步,从而提高学生的学习兴趣和效果;在娱乐领域,可以创建具有独特个性的数字角色用于游戏、动画等内容的创作。

(五)重新赋予老照片活力

  • 给老照片赋予新的生命,这是LivePortrait非常有意义的一个应用。很多老照片承载着珍贵的回忆,通过这项技术,可以让照片中的人物“复活”,让那些静止在过去的人像重新动起来,为这些老照片增添新的情感价值和观赏性,使它们在现代的数字环境下焕发出新的活力,比如可以让家族相册里的长辈照片变得生动起来,仿佛可以再次与他们互动交流。

(六)增强现实和虚拟现实体验

  • 在虚拟现实(VR)和增强现实(AR)环境中,LivePortrait能够创造更加互动性更强、更加逼真的体验。例如在VR游戏中,可以根据玩家的照片创建动态的角色形象,使其更好地融入游戏环境;在AR场景中,当用户扫描现实中的照片或者人物时,可以看到动态的肖像,增加现实环境与虚拟内容之间的互动性和趣味性。

四、LivePortrait与其他类似技术的比较

(一)计算效率方面

  • 许多传统基于扩散模型的方法计算开销巨大,难以实现实时处理。LivePortrait则采用隐式关键点方法,有效地提升了计算效率。例如,在RTX4090GPU上,LivePortrait的单帧生成速度能够达到12.8ms,若经过进一步优化(如TensorRT)预计能达10ms以内。相比之下,其他类似技术在相同硬件条件下无法达到这样的生成速度,这种高效性使得LivePortrait在实时应用场景(如视频直播)中具有更大的优势,可以快速地生成动态视频,减少用户等待时间,满足实时交互需求。

(二)可控性上的差异

  • 现有的一些方法往往缺乏对细节的精细控制,如眼睛和嘴唇的独立动作控制。LivePortrait通过专门设计的重定向模块(眼睛重定向模块和嘴唇重定向模块),可以精确控制眼睛和嘴唇的动作,让动画中的微表情和细节动作更加逼真。例如在人物动画中,可以精确模拟人物的眨眼、眼神方向变化以及嘴唇的发音同步等动作,而其他技术在这些细节的表现上不够精准和自然,无法进行如此细致的局部动作控制,使得生成的动画在表情和动作的生动性上不如LivePortrait。

(三)生成质量的高低

  • 在生成的动画中,LivePortrait所呈现的面部表情和头部运动自然逼真,与实际人物动作高度相似,其通过利用大量高质量的训练数据(如69M高质量训练帧)和精心设计的算法(如视频 – 图片混合训练策略、升级的网络结构等),保证了动画的质量。对比实验显示,LivePortrait生成的动画质量优于现有的非扩散模型和扩散模型方法,在画面清晰度、动作连贯性、表情自然度等方面表现出色。而其他类似技术在画面质量、动作连贯性或表情自然度等某个或多个方面往往存在不足,无法生成像LivePortrait这样高质量的动画,尤其在处理复杂表情和姿态的场景下更能体现出这种差距。

五、如何使用LivePortrait

(一)以Adobe版本为例的一般使用流程

  • 首先需要访问Adobe官方网站下载并安装LivePortrait应用程序,安装完成后打开软件,映入眼帘的是简洁明了的界面。
  • 在界面左上角,点击新项目按钮创建一个新的LivePortrait项目。在这里,可以为项目命名、选择存储位置并且能够设置拍摄参数(如分辨率、帧率等)。
  • 接着点击导入按钮,选择要拍摄的照片或视频。值得注意的是,LivePortrait支持多种格式的文件,包括JPEG、PNG、MP4等,确保素材已经成功导入到项目中。
  • 在项目设置环节,可以调整各种参数,像是曝光时间、白平衡、对比度等,这些参数会直接影响到最终生成的视频效果,建议先预览效果后再做调整。
  • 随后点击开始拍摄按钮,LivePortrait就会自动按照设定开始录制视频。在拍摄进程中,可以随时点击屏幕上的不同区域,对光线、颜色和纹理等参数进行实时调整,此外,还可以利用触摸板或鼠标滚轮来控制焦点和焦距。
  • 当拍摄完成后,点击停止拍摄按钮,LivePortrait就会自动将静态照片转换为具有动态效果的视频,生成的视频文件可以在项目文件夹中找到。

(二)创作专业级作品的建议

  • 熟悉基本操作:在使用LivePortrait之前,务必要熟悉其基本操作和功能,了解各个按钮、菜单、参数等的作用。只有对工具非常熟悉,在创作过程中才能够更加得心应手,对软件功能的熟悉程度直接关系到创作的效率和最终作品的质量。
  • 创意构图:在拍摄过程中要注重构图的创意性和趣味性。尝试从不同的拍摄角度、利用不同的光线条件以及背景元素进行拍摄,打破常规的构图模式,这样可以让作品更加与众不同,吸引观众的目光。
  • 保持稳定:为了保证视频的稳定性,建议使用三脚架或其他稳定设备进行拍摄。稳定的画面有助于提升观众的观看体验,减少晃动等不稳定因素可以让观众更加聚焦于作品的内容本身,特别是在拍摄一些特写或者需要长时间拍摄的场景下,稳定设备更是不可或缺。
  • 后期处理:虽然LivePortrait提供了比较强大的图像编辑功能,但在某些特定的情况下,还需要使用其他图像编辑软件(如Photoshop)来进行进一步的调整和优化。例如,可能需要进行更加复杂的颜色校正、画面剪辑或者添加特殊效果等操作时,就需要借助这些专业的后期处理软件来实现更精细的调整,让作品更加完美。

(三)快手团队开发版本的本地安装与使用(针对开发版本)

  • 本地安装 – 先保证本地电脑具备NVIDIA中高端显卡并且要懂一点CMD命令。 – 第一步克隆代码,使用命令“gitclonehttps://github.com/KwaiVGI/LivePortrait ”,之后使用“cd LivePortrait”命令进入到项目文件夹。 – 第二步创建虚拟环境,通过conda工具创建一个名为LivePortrait基于Python3.10的虚拟环境,命令为“conda create -n LivePortrait python = 3.10”,然后激活这个虚拟环境“conda activate LivePortrait”。 – 第三步安装依赖,针对Linux和Windows用户使用“pipinstall – r requirements.txt ”,针对macOSM系列使用“pipinstall – r requirements_macOS.txt ”,但要注意安装之前要保证网络通畅或者设置好了pip镜像。 – 第四步下载模型,先安装lfs(如果已经装过则可忽略),使用命令“gitlfsinstall”,接着通过命令“gitclonehttps://huggingface.co/KwaiVGI/LivePortraittemp_pretrained_weightsmvtemp_pretrained_weights/*pretrained_w ”下载模型。
  • 使用方法:模型安装完成之后,便可以通过输入相关的指令或者导入图片或视频素材等方式,利用LivePortrait的功能进行动态视频的制作,制作过程中可以根据需求调整各项参数,如通过特定的指令控制眼睛、嘴唇等部位的动作,或者选择不同的风格、分辨率等进行视频生成操作,具体使用方式要根据实际的制作需求和软件提供的功能菜单进行操作。