机器之心原创
作者:杜伟
继让老照片动起来、唱歌之后,腾讯微视又解锁了照片的跳舞技能。
80、90 后的小伙伴,应该很熟悉香港歌手陈慧琳的热门歌曲《不如跳舞》吧,歌词中的「聊天不如跳舞,谈恋爱不如跳舞……」风靡了大街小巷,使很多人爱上了跳舞。遗憾的是,对于一些四肢不协调的小伙伴,在人前跳舞无异于一种折磨。但是,不会跳并不意味着看不到自己跳舞的样子。
随着计算机视觉和生成对抗网络的快速发展,人体动作迁移技术的出现使那些没有跳舞天赋的小伙伴也有机会展示自己的舞姿。简单来讲,给定一段别人跳舞的视频和用户的一张照片,通过人体 3D 重建与人体分割技术、背景修复和 GAN 生成技术,可以实现用户静态照片随驱动舞蹈动起来,并达到真实、和谐、以假乱真的姿态生成效果。
然而,学界近年提出的一些人体姿态迁移方案,如 DanceNet 等,都存在着一定程度的不足,如生成结果模糊、肢体形状不完整、舞蹈动作僵硬等。此外,这些方案对于普通用户而言技术门槛过高,实操性不强,导致参与度不高、落地困难,亟须改变。
近日,腾讯微视 APP 上线的「照片会跳舞」新特效玩法实现了人体姿态迁移技术的真正落地,让不会跳舞的你也能在手机上舞动起来。
玩法非常简单,用户只需下载微视 APP,上传单人 / 多人全身正面照,系统即自动对照片进行 3D 建模,生成以假乱真的虚拟形象;接着选择舞种,通过技术能力使虚拟形象按照选定的舞蹈模板「舞动」起来,模拟效果十分逼真,动作也流畅自然。
单人舞蹈选 1 张照片,多人舞蹈选 2-3 张照片。
目前,用户可以在「照片会跳舞」中选择 10 种舞蹈模板,涵盖了广场舞(筷子兄弟小苹果、八神摇)、宅舞、炫舞(迈克尔杰克逊 Beat It)、全国中小学生广播体操(2002 年第二套《时代在召唤》)和儿歌(鲨鱼宝宝)等多种类型,更有网络上传播甚广的魔性蹦迪「接着奏乐接着舞」。
部分舞蹈模板,从左至右依次是夹腿舞、两只老虎、Bangbangbang 和大风吹。
跳舞动态效果怎么样呢?欣赏下魔性的「小苹果」和蹦迪神曲「接着奏乐接着舞」:
新玩法上线以来,便吸引了大量的微视用户,相关视频数十多万,播放量更是达到5000余万。用户纷纷秀出了自己狂放不羁的舞姿,也有明星加入到了这场「舞蹈狂欢」中。这不,硬核大叔腾格尔向「最强舞者」发起了挑战:
据了解,这是腾讯微视在前段时间火遍全网的「蚂蚁牙黑」表情迁移玩法的基础上推出的 APP 端单人或多人跳舞动作迁移玩法,也是腾讯光影研究室针对人体姿态迁移技术研究的突破性落地。
目前主流的人体姿态迁移技术为了达到较好的动作迁移生成效果,以及缓解自遮挡问题引入的纹理不可见问题,一般需要用户上传多张不同姿态的全身图片或一段视频,并且需要较长时间的后台微调处理。
QQ 影像中心技术团队经过对人体 3D 重建技术、GAN 网络的不断挖掘与优化,最后实现了使用单张用户图,就能达到业界需要复杂技术方可实现的人体姿态迁移效果。同时还支持更高分辨率的输出,解决了动作僵硬等问题,既保证了舞蹈素材的动作准确性,也使动作更加连贯自然。
主流人体姿态迁移方案有哪些不足?
在人体动作迁移实现过程中,动作跨度大、像素搬移多、纹理复杂、动作自由度高和自遮挡频繁等干扰因素导致生成指定姿态的人体一直比较困难。
目前,学界解决人体姿态迁移的主流方案仍然需要原始姿态到目标姿态的 warp 操作,分为像素级别和特征图(feature map)级别。根据使用的技术方案不同,warp 操作又可以分为 2D warp 和 3D warp。
2D warp 方案中具有代表性的是 NeurIPS 2019 论文《First Order Motion Model for Image Animation》中提出的核心模型「First Order Motion」,其中预测 warp 流的网络需要输入用户图与目标姿态图的 2D 关键点信息,然后利用 warp 流得到目标姿态下地图,GAN 网络对 warp 后的图片(或特征)进行修复。虽然生成的动作较为和谐自然,但 warp 流不够精确与稳定,导致结果模糊、肢体形状不完整、纹理还原度不高。
红框内人脸模糊不清。图源:arxiv/pdf/2003.00196.pdf
3D warp 方案借助 3D 重建出的用户图 mesh 与目标图 3D mesh,并根据这两个 3D mesh 进行 warp 流的计算,同时 warp 用户图,最后同样通过 GAN 网络对 warp 后的结果图进行精修得到最终结果。由于采用 3D 人体重建,重建后依据 3D mesh 构造 warp 流,因此 warp 流的精细度高,最终结果的纹理清晰度高、还原度高。但由于目标姿态依赖 3D 人体重建,因此受限于 3D 重建技术,生成的舞蹈动作稍显僵硬。
学术界还有一些不依赖 warp 的解决方案,比如 FAIR 提出的「Single-Shot Freestyle Dance Reenactment」。此方案首先预测用户图的解析(parsing) 图的驱动结果图,即根据用户图原始姿态下的 parsing 预测目标姿态下的 parsing 图;接着借助人体 parsing map,将人体各个部位的纹理分解开,得到纹理的 embedding。纹理向量拼接成人体纹理向量,然后与目标姿态下的 parsing 图借助 SPADE 图到图框架生成目标姿态结果。对于自遮挡用户图表现较好,但其纹理生成来源于纹理 embedding,导致在复杂纹理条件下还原度不高。
FAIR「Single-Shot Freestyle Dance Reenactment」方法的舞蹈动作迁移效果,稍显不自然。
图源:arxiv/pdf/2012.01158.pdf
因此,由于主流方案自身存在的种种不足,并未真正落地于实际商业生产应用。
腾讯人体姿态迁移方案有哪些独到之处?
针对上述 2D warp、3D warp 和不依赖 warp 的方案的不足,并考虑到实际业务场景下,多图或视频输入的姿态迁移方法由于输入图片多、用户使用门槛高、单独训练模型导致成本较高,团队基于对学界技术方案的探索与实践,采用基于多角度用户图的 3D 人体重建、并结合人体分割技术与 GAN 生成技术的方案路线。
本方案在以下三方面实现了重要的技术突破:
首先,单张用户图完成姿态迁移,不需要在线微调。主流方案多用户图和视频输入以及在线微调的方式极大增加了用户交互难度,等待时间久,可玩性低。团队经过对人体 3D 重建技术的不断挖掘与优化、GAN 网络优化,最终使用单张用户图即可达到业界方法在线微调后的效果。
其次,生成清晰度高,纹理还原度高,支持更高分辨率输出(1024x1024)。
最后,改善 3D warp 方案中动作僵硬问题。基于 3D 的技术方案容易遇到动作僵硬的问题,通过平滑策略、2D 点辅助优化等策略,既保证了舞蹈素材的动作准确性,也使动作更加连贯自然。
基于多角度用户图的人体 3D 重建算法
传统的姿态迁移方法多选择人体骨骼关键点作为人体姿态的重表示,但骨骼关键点覆盖的人体部位较少,多以关节、五官为主,因此姿态迁移难度比较大,生成质量也较低。相比之下,用户图 3D 与驱动图 3D 模型对姿态的表示更加丰富。
但应看到,3D 人体重建难度非常大。一方面,数据获取成本很高,获得高质量人体 3D mesh 数据非常困难,一些开源数据集覆盖的场景比较有限;另一方面,人体肢体动作较多,存在自遮挡和自旋转等各种问题,这也给 3D 重建带来非常大的挑战。一些开源的 3D mesh 数据库,如加州大学伯克利分校等开源的端到端框架 HMR,效果难以令人满意。
团队研发了一套基于多角度用户图的人体 3D 重建算法,并针对人脸部分单独建模,使得 warp 图在人脸部分可以保持较好的纹理细节与 ID 信息,最终根据用户提供的图像生成 3D 模型。其亮点在于,单张用户图即可生成准确的 3D 模型,用户提供的视角越全,重建的效果越好。
基于多角度用户图的人体 3D 重建算法分为人体 mesh 重建、人体纹理重建以及人脸 mesh 和纹理重建三大部分,其中人体 mesh 重建首先通过步骤 1 和步骤 2 完成:
1、提取多角度用户图的 2D 人体关键点和人体 mask,使重建的姿态和投影更准确;
2、基于参数化人体模型,拟合人体 mesh,确保在同一个人体 shape 下。仅通过改变姿态,使人体 mesh 的关键点投影和每张输入图像的 2D 人体关键点相同,mesh 投影和每张输入图像的人体 mask 相同;
接着,人体纹理重建通过步骤 3 和步骤 4 完成:
3、基于步骤 2 得到的人体 mesh,从各自对应的图像中提取可见纹理;
4、基于多张可见纹理,使用混合高斯模型融合可见纹理。对融合后依然缺失的部分,再根据人体部位各自做填充;
然后,人脸 mesh 和纹理重建通过步骤 5 完成:
5、基于步骤 1 中提取的人脸关键点,提取一张正面人脸图像,输入人脸重建网络,同时重建人脸 mesh 和纹理。
最后,融合步骤 2、5 获得的人体和人脸 mesh,再融合步骤 4、5 获得的人体和人脸纹理,得到最终的用户 3D 重建模型。整体流程如下图所示:
人体分割与背景填充
图像分割是计算机视觉领域的重要研究方向,随着近年来 GAN 等深度学习技术的逐步深入,图像分割技术有了突飞猛进的发展。人体前背景分割是该领域的重要分支之一。
借助精细的人体分割,人体生成质量可以更高。具体地,人体分割可以去除复杂的背景,降低 GAN 生成难度。精准的人体分割还可以更好地帮助背景 inpainting 网络完成背景修补。因此,人体分割可以作为姿态迁移 GAN 网络的多任务监督之一,更好地约束用户图在目标姿态下的 shape 生成。
目标姿态下的人体生成
在 3D 模块将用户图 warp 到目标姿态后,3D 建模是「裸体」的,缺少衣服、发饰等建模信息,因此 warp 后的用户图存在鞋子缺失、没有头发等很多问题。此外,目标姿态的 3D 模型还有可能存在用户图没有的部位以及被遮挡的部位,比如用户是正面,目标姿态是侧身,此时 warp 侧身纹理被拉扯或者错误。
基于上述问题,GAN 模块的作用是进一步修饰 warp 图,一方面将 warp 图「多去少补」,另一方面增加和谐度。团队采取的方案是利用用户图的纹理信息,将用户信息与 warp 图信息在 GAN 网络中融合,生成自然的目标姿态的用户图。
GAN 网络又分为两个子网络:重建网络与姿态生成网络。生成网络的生成步骤具体如下:
重建网络自编码器结构,将用户图重建,网络中间层特征图具有构成用户图的所有信息;
目标姿态生成网络输入粗粒度 warp 图,在网络中间层接收重建网络的特征图,进行特征融合,得到新的特征图。此时特征图具备了 warp 图丢失的细节信息;
特征图进入解码器(decoder),将特征图经过卷积层生成具有目标姿态的 RGB 图与 mask 图;
mask 图与 RGB 图融合得到前景,结合用户的背景图,得到最终输出图。
整体流程图如下所示:
得益于多角度用户图 3D 人体重建、人体分割与 GAN 生成技术三者合一的人体姿态迁移方案,才有了「照片会跳舞」新特效玩法中用户舞蹈的完美呈现。
从人脸到人体,腾讯不断探索迁移技术,创新视频特效玩法
从人脸到人体动作迁移,腾讯微视正一步步深挖迁移技术在爆款社交玩法上的延展空间,并持续探索前沿 AI 和 CV 算法在内容生产和消费领域的应用和落地。
人脸动作迁移是指将一段人脸视频中的面部动作,包括头部位置和朝向、面部表情、五官动作等,迁移至另一张静态人脸图片中,使得静态图片呈现出相同面部动作的效果。今年 3 月,微视上线了一种基于人脸图像修复和人脸动作迁移技术的特效玩法「会动的老照片」,不仅可以一键修复老照片、让照片中的人物动起来,还能通过手机实时控制生成图像的面部动作,实现人脸动作迁移。
与此同时,作为隶属于腾讯平台与内容事业群(PCG)的技术团队,光影实验室(Tencent GY-Lab)为逼真特效的实现提供了坚实的技术支撑,致力于将前沿的 AI 能力、3D 渲染技术以及先进的玩法赋能产品。光影技术团队在语义分割、目标检测、分类识别、GAN 生成对抗等方面均有深厚的技术积累,在 AI 生成领域已经进行了相关算法的研发和落地工作。
目前,QQ、微视等 20 多款业务产品中均有光影研究室技术的身影,如手机 QQ 相机里的热门 AI 玩法——漫画脸,以及微视 APP 的王者变脸、迪士尼童话脸等。其中,QQ 相机漫画脸特效使用的技术是光影实验室自研算法 GYSeg,该算法在 MIT 场景解析国际竞赛(Scene Parsing Benchmark)中斩获冠军;微视 APP 中的迪士尼童话脸特效则是全球首家在手机上为用户提供实时个性化 3D 卡通化形象。
光影实验室也一直致力于人体姿态迁移技术的研究,此次「照片会跳舞」正是针对该技术的真正落地。与主流人体姿态迁移技术方案相比,用户参与更加简单,可玩性更高,实现效果也更好。此外,作为从人脸动作迁移到人体姿态迁移的巨大跨越,新增跳舞功能使得用户在微视 APP 中的体验更加丰富有趣,同时也为用户之间的交流提供了更丰富的内容。
参考链接:
sohu/a/447487081_114877
thepaper/newsDetail_forward_8875767
163/news/article/FSRQUCEL00019OH3.html
,