聊聊怎样通过实习,直通多个“人才计划”
背景:
楼主是25届的应届生,国内计算机985本硕,目前在可灵大模型团队的数字人小组实习。非常荣幸参与了前阵子爆爆爆火🔥的可控人像视频生成开源项目LivePortrait。LivePortrait已经在可控人像视频生成与编辑子方向建立了良好的生态,我陪伴了这个项目从发布,到现在取得HugginFace🤗 150W+人次访问、GitHub 1.2W🌟的成绩,社区二次开发者贡献了多个数百上千🌟的项目,引导了良好的社区生态发展,多家竞品或者创业公司基于LivePortrait上线了一些业务或者做产品化。我也是借着本项目的“威风”,在25届秋招中拿到了多个人才计划的入场券,在秋招路上一帆风顺。
LivePortrait的成功离不开团队的各位同学对AI技术的深刻思考,以及整个团队在维护本项目,提升用户体验上做出的努力,我将以一名实习同学的角度谈谈我在本项目中的理解与收获,欢迎点赞、评论、收藏🙏。
思考与决策:
我的mentor是本项目的领导者和第一完成人!(牛不牛!你就说牛不牛!)
我非常佩服他敏锐的判断与决策:目前在人像视频生成领域,扩散模型占据了主导地位,如腾讯的AniPortrait、字节的X-Portrait和旷视的MegActor等一系列工作都采用了类似的框架。我们认为一项新技术脱颖而出的关键在于与其他已有技术的差异化,众所周知,扩散模型对计算资源有着较重的依赖,这个问题在视频生成领域被严重放大。开源社区的绝大部分普通用户没有那么好的GPU,等待一个视频生成的过程是痛苦且漫长的,甚至因为大显存需求望而却步。我们决定与当前主流的扩散模型方法背道而驰,探索基于隐式关键点GAN框架的潜力,以找到模型计算效率和可控性的平衡。
这个决策是绝对正确的,我们让许多只有4G/8G显存消费级显卡的用户也体验到了视频生成技术,LivePortrait的部分支持者来自于这一群体。
技术要点:
LivePortrait选择了著名的隐式关键点框架Face Vid2vid作为基础,在此之上做了一系列改进,在此我挑几点做简要介绍,欢迎感兴趣的大佬到论文查询更多细节。
第一阶段训练框架
第一阶段训练数据和训练策略:
LivePortrait的总训练数据有69M视频帧,包含18.9K身份和60K静态风格化人像。其中包括公开视频数据集Voxceleb,MEAD,RAVDESS和风格化图片数据集AAHQ、一个私有的数据集LightStage,以及一些风格化的视频和图片。此外,还使用了200余小时的4K分辨率的人像视频,其中包含不同的表情和姿态。我们将长视频分割成少于30秒的片段,并确保每个片段只包含一个人。为了保证训练数据的质量,我们使用了KVQ算法(快手自研的视频质量评估方法,能够综合感知视频的质量、内容、场景、美学、编码、音频等特征,执行多维度评价)来过滤低质量的视频片段。
仅使用真人人像视频训练的模型对于真人人像表现良好,但对风格化人像(例如动漫)的泛化能力不足。风格化视频数据较为稀有,我们从不到100个身份中收集了仅约1.3K视频片段,相比之下,高质量的风格化人像图片更为丰富,我们收集了大约60K身份互异的图片。为了利用这两种数据类型,我们将每张图片视为一帧视频片段,并同时在视频和图片上训练模型。这种混合训练提升了模型的泛化能力。
第二阶段贴合和重定向模块训练:
我们将隐式关键点视为隐式变形组合,并发现这种组合可以通过一个轻量级的 MLP 进行有效学习。为满足实际需求,我们设计了贴合、眼部重定向和嘴部重定向模块。贴合模块用于避免裁切图像反贴回原始空间时的像素错位问题,如肩膀区域错位。这样,LivePortrait 能够驱动更大尺寸的图片或多人合照。眼部重定向模块解决了跨身份驱动时眼睛闭合不完全的问题,尤其是小眼睛驱动大眼睛时。嘴部重定向模块的设计与眼部类似。
第二阶段训练框架
在训练时我们跨身份训练贴合模块,以提高泛化性,并在反贴过程中保持像素一致性,尤其是肩膀区域。眼部和嘴部重定向模块根据输入条件调整眼/嘴的张开程度,确保驱动过程中的视觉一致性,它们的变化量是独立的,推理时可以结合并更新隐式关键点。
维护:
我们一键三连地发布了论文、主页和代码后,短时间内收到了用户大量issues,邮箱处于爆炸的状态,我们非常耐心地复现着用户提到的每一个bug,并做出礼貌又及时的回复;我们严格把控每一次commit的质量与规范,以及对社区开发者们的PR测试审查。
我们还建立了一个文档,收集了用户的高频新功能需求,其中包括多操作系统支持、视频编辑、一键整合包、支持动物编辑等等,我们对这些需求进行优先级排列,排好了日程表。我们常常为了一个新功能发布ddl在公司熬到凌晨,我们不断兑现了一个又一个对用户的承诺...
还记得有一次,我们收到了大量Windows用户的错误反馈,以及对环境安装成本过高的抱怨。因为手上没有Windows的GPU机器,我的mentor二话不说拉上了小推车带着我到别的办公楼去借一台高性能的Windows机器...不久后我们推出了傻瓜也会使用的Windows一键包,无需安装任何环境双击即可运行项目,收到了用户大量好评,国内AI自媒体大V卡兹克也为此写下了积极的评价。
未来计划:
LivePortrait目前支持i2i/i2v/v2v多种驱动效果,我们注意到许多用户对audio驱动能力的关注。其中Talking Head领域的一些方法,例如阿里的EMO和字节的Loopy等能够实现这个功能,我们目前也在探索并提升在LivePortrait框架下audio驱动效果,同时也欢迎各位对LivePortrait有兴趣的大佬们来探索LivePortrait更多玩法,共建更好的生态。
我的分享到这里就结束了,最后,非常感谢我的mentor和我的团队带我参与了这个项目,同时也非常欢迎各位对技术有热情的同学加入快手,加入可灵大模型团队,得到历练和成长,给大家附上我的内推码,内推码:RGrzyPsBE,专属内推链接:https://campus.kuaishou.cn/#/campus/jobs?code=RGrzyPsBE 祝大佬们秋招春招实习顺利🦆!
#快手校招#