“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够

Xsens动作捕捉 2023-04-21 4059

来源:Jack Cui

今天分享一个算法 KalidoKit,我们看下效果:

“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够  第1张

根据真实的人物肢体、面部、手的动作,来驱动虚拟形象。

KalidoKit 是整合了多种算法实现的,Facemesh、Blazepose、Handpose、Holistic。

这个技术的主流应用方向就是虚拟主播。

可以驱动虚拟人物跳舞:

“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够  第2张

也可以像开头的动图那样,捕捉全身的动作,面部表情、手势等。

除了这种驱动虚拟形象类型的,还可以发挥自己的想象力,做一些有趣的小应用。

“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够  第3张


KalidoKit

该项目是基于 Tensorflow.js 实现的。

项目地址:

https://github.com/yeemachine/kalidokit

捕捉的关键点信息,可以用来驱动 2D 和 3D 的虚拟形象,结合一些虚拟形象的驱动引擎,即可实现文章开头所展示的效果。

既可以驱动 Live2D 形象,又可以驱动 3D VRM 形象。

这里涉及的技术点一篇文章讲不完,今天主要讲述基础的关键点检测技术:人脸关键点检测、人体姿态估计、手势姿态估计。

人脸关键点检测

人脸关键点检测,有稀疏的,有稠密的。

像基础一点的,68 个关键点检测。

“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够  第4张

一般来说,一些闭眼、头部姿态、张闭嘴的检测,用这种简单的 68 个关键点就够了。

当然,也有更加稠密的关键点检测。

“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够  第5张

对于一些皮肤美容类的应用场景,就需要稠密的关键点检测算法了,成千上万的那种。

不过算法的思想都是一样的,回归出这些关键点的位置坐标,通常搭配人脸检测算法使用。

想要学习人脸关键点检测算法的,推荐两个入门项目:

https://github.com/1adrianb/face-alignment

https://github.com/ChanChiChoi/awesome-Face_Recognition

一个是基础的入门项目,一个整合了人脸关键点的主流算法。

人体姿态估计

人体姿态估计也是计算机视觉中一个很基础的问题。

从名字的角度来看,可以理解为对“人体”的姿态(关键点,比如头,左手,右脚等)的位置估计。

一般可以分为 4 种任务:

  • 单人姿态估计 (Single-Person Skeleton Estimation)
  • 多人姿态估计 (Multi-person Pose Estimation)
  • 人体姿态跟踪 (Video Pose Tracking)
  • 3D人体姿态估计 (3D Skeleton Estimation)

简单来说,就是对于人体骨骼关节点进行检测,定位人体的姿态。

“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够  第6张

人体姿态估计,应用范围宽广,比如在自动驾驶行业进行街景中行人的姿态检测、动作预测;在安防领域的行人再识别问题,特殊场景的特定动作监控;影视产业的电影特效等。

想要学习的小伙伴,可以看这整理的论文:

https://github.com/cbsudux/awesome-human-pose-estimation

手势姿态估计

手关节更加灵活,动作敏捷和存在自我遮挡,因此略复杂一些。

“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够  第7张

不过原理和人体姿态估计类似。

“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够  第8张

除了这种常规的手势识别,也可以用来做一些特效。

“每天一篇,爱上Python”AI虚拟主播,这个项目一年都玩不够  第9张

其实,很多这种人体特效,位置的定位,都是借助这些关键点实现的。

总结

本文介绍了一些基础的算法,并推荐了一些学习资料,比较基础。

The End