本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
机器人只能用一张扑克脸、上面两只空洞的塑料珠子来面对人类吗?
不一定,它也可以冲你微笑!
下面这个拥有着柔软面部的“小蓝人”,可以模仿人类的微笑等表情。
就像这样:
“尬笑”、“龇牙咧嘴”……一改机器人“冷若冰霜、呆若木鸡”的形象。
可一向由金属或硬塑料制成的机器人,是如何露出微笑的呢?
由线和电机组成的人造“肌肉”
哥伦比亚大学(Columbia Engineering)创意机器实验室(Creative Machines Lab)的研究人员一直对机器人与人类之间的互动感兴趣。
面部表情在建立信任方面发挥着巨大作用,随着机器人已经被越来越多地用于疗养院、医院等与人类紧密合作的地方,相比“冷冰冰”,我们更需要灵敏、有“温度”的机器人。
于是,研究人员花了五年时间来创造上面这个可以模仿人类表情、叫做 EVA的机器人。
EVA的机械设计含以下四个模块,如下图:
A为电机伺服模块(motor servo module ),EVA就是由它驱动,该模块通过底部的树莓派4控制。“皮肤”通过尼龙绳与10个电机相连,以受到控制作出相应表情。
B为有6个转动角度的自由度的眼睛模块,与前颅骨分离。
C为RGB摄像机,用于人表情的随机数据采集。
D为6自由度的颈部模块。
其中,要想在机器人整个头部设计出一个足够紧凑的系统以适应人类头骨的大小,同时仍然具有足够的功能以产生各种面部表情可不容易。
里面要塞下电路、传感器和电机(motor)等各种体积不小的玩意儿。
为此,研究人员决定用3D 打印来制造形状复杂的零件,让这些零件在EVA 的脑瓜里无缝地集成在一起。
EVA通过由尼龙绳和电机(cables and motors)组成的人工“肌肉”,拉动脸上的特定点,模仿人类面部皮肤和骨骼上不同部位的42多块细小肌肉的运动,来表达愤怒、厌恶、恐惧、喜悦、悲伤和惊讶六种基本情绪,甚至更细微的表情。
“有一天,当 EVA 突然给我一个大大的、友好的微笑时,我正忙着自己的事情,我知道这纯粹是机械性的,但我发现自己条件反射地回以微笑。”
深度学习“阅读”人类表情,作出反应
上面的机械设计,表明EVA这个机器人在物理上具备作出各种表情的能力。那它又是如何自主完成模仿的呢?
下面就来揭开这款机器人的软件部分。
由于人类面部表情太复杂,预先设定好的规则根本不够随机应变,研究人员利用几个深度学习神经网络构建了EVA的“大脑”。
这个大脑需掌握两种能力:一是通过“阅读”人类的脸知道自己要做哪些表情;二是能把这些表情通过控制面部“肌肉”而呈现出来。
为了教EVA认清自己的“脸”是什么样子,团队拍摄了数小时它做各种“鬼脸”的视频。
眉毛也可以动~
然后,就像一个人类在Zoom视频软件里看着自己一样,EVA的内部神经网络学会了将肌肉运动和视频片段中自己的脸“配对”。
EVA对自己的脸是如何“运动”有了原始的感觉后,让它将自己与摄像机拍摄的人脸表情匹配上也就不难了。
经过多次改进和迭代,EVA终于获得了从相机读取人脸“姿势”的能力,并通过模仿人类面部表情来做出反应。
整个模仿过程如下:
EVA的大脑主要有两个神经网络:生成网络和逆生成网络(inverse network)。
给定一幅由普通RGB相机拍摄的人脸图像后,系统首先用OpenPose提取面部标志。
OpenPose,人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以caffe为框架开发的开源库。
然后将人脸面部标志标准化为机器人尺寸,将它与静态机器人脸图像连接到生成网络,生成合成表情后的机器人图像。
逆生成网络以该图像为基础,输出电机指令让机器人执行,最终机器人脸上浮现出人类表情。
再来看一组EVA的模仿:
发现EVA还会眨眼睛、扭脖子,但是从正面看的话表情还是有点僵硬。
研究人员指出,EVA 还只是一项实验室实验,只会模仿,也与真正和人类进行面部表情交流还相去甚远。但他们相信这种技术终有一天会在现实世界中产生有益的应用。
该研究于 2021 年 5 月 30 日在 ICRA 会议上发表,机器人的蓝图已在 Hardware-X(2021 年 4 月)开源。
关于作者
此次EVA机器人的研究团队主要成员一共5人,其中3名华人。
机器人软件部分的项目领导人为Chen Boyuan,吉大本科毕业,现哥伦比亚大学博士生,专业计算机科学与技术,研究方向:机器人、计算机视觉、机器学习。
文中出镜的小哥胡宇航 ,也是哥伦比亚大学的博士生。本科毕业于厦门大学嘉庚学院,本科期间就申请了多项国家专利,还开了公司,被称为“科创达人”。
Li Lianfeng, 哥伦比亚大学机器人技术与控制机械工程硕士。
论文地址:https://arxiv.org/abs/2105.12724
项目网站:http://www.cs.columbia.edu/~bchen/aiface/