教练,我想学跳舞:NBA球星变身“舞王”,都是托机器学习的福

栗子 发自 凹非寺量子位 报道 | 公众号 QbitAI

500

注意屏幕右下角,那随性的舞步 (↑↑↑) 。

他是杰伦·布伦森,达拉斯独行侠 (小牛) 的新秀控卫。几天前,在主场对马刺的比赛上,他砍下了全场最高的34分。

但重点不在比赛,而在中场休息的“Dance Cam”时间:布伦森出现在大屏一角,和看台上的球迷一起“舞蹈”,前所未有。

并且,除了与民同乐的画风之外,他也会“跳”火星哥的舞:

500

那么,NBA球员是怎样解锁这样精湛的动作的?

布伦森先站在绿幕前面,录下了一些基本动作:

500

然后,回去练球,学舞的事交给机器学习就好。

捕捉一下姿态

500

要学跳舞,第一步是用姿态估计算法,一帧一帧处理录好的视频,把布伦森变成火柴人。

卡耐基梅隆大学出品的OpenPose,就是一个优秀的选择:

500

OpenPose会标出人体的18个关键点:

500

把这些点连成一个火柴人,来表示人物的姿态。

训练一下舞步

既然是和火星哥学跳舞,就要用同样的方法,把火星哥的舞蹈视频处理一下,变出火柴人。

500

然后,参照伯克利Everybody Dance Now的做法:

AI会探索出一种规则,把两个火柴人身上的每个关键点,一一匹配起来。

500

这样,就算两人身材比例有差别,舞姿也不会在传递的过程中走了样。

(如果下一次,要和另外一位老师学舞,只要让AI再找出一套匹配规则就可以了。)

当布伦森的火柴人解锁了火星哥的舞姿,就要训练一只GAN,把火柴人变成完整的人形。

500

来自英伟达 (和伯克利) 的pix2pixHD便可以完成这个任务:

GAN的生成器要造出足够逼真的图像,让判别器分辨不出谁是真实视频的截图,谁是生成器的作品。

最终,布伦森便拥有了火星哥精致的舞步:

500

其实,除了布伦森,还有很多人偷偷向火星哥“学”过舞:

500

 来自伯克利,Everybody Dance Now!

One More Thing

那么问题来了,冉冉升起的NBA新星,怎么会想去“学跳舞”?

布伦森“练舞”的成果,来自一间叫做Xpire的AI公司,总部也在达拉斯。

而他效力的球队小牛的老板库班,是这间公司的联合创始人。

500

OpenPose:https://github.com/CMU-Perceptual-Computing-Lab/openpose

Everybody Dance Now论文传送门:https://arxiv.org/pdf/1808.07371.pdf

pix2pixHD项目传送门:https://github.com/NVIDIA/pix2pixHD

全部专栏