除了这些硬件升级外,研究人员还引入了一个由两个神经网络组成的学习框架——一个用于预测Emo自身的面部表情(自我模型),另一个用于预测对话者的面部表情(对话者模型)。
研究人员的软皮人脸机器人有23个专用于控制面部表情的电机和3个用于颈部运动的电机。
整个面部皮肤由硅胶制成,并用30块磁铁固定在机器人面部之上。
机器人面部皮肤可以更换成其他设计,以获得不同的外观和皮肤材质。
表情生成模型研究人员还提出了一个升级版逆向模型,可使机器人在相同的计算硬件上生成电机指令的速度比上一代产品快五倍以上。
他们提出了一种自我监督学习过程,以训练研究人员的面部机器人在没有明确的动作编排和人类标签的情况下生成人类面部表情。
控制机器人的传统方法依赖于运动学方程和模拟,但这只适用于具有已知运动学的刚体机器人。
机器人有柔软的可变形皮肤和几个带有四个套筒关节的被动机构,因此很难获得机器人运动学的运动方程。
研究人员利用基于视觉的自我监督学习方法克服了这一难题,在这种方法中,机器人可以通过观察镜子中的自己来学习运动指令与所产生的面部表情之间的关系。
机器人的面部表情由19个电机控制,其中18个电机对称分布,一个电机控制下颌运动。
在研究人员的案例中,面部数据集中的表情都是对称的;
因此,对称分布的电机在控制机器人时可以共享相同的电机指令。
因此,实际的控制指令只需要11个归一化为 [0, 1] 范围的参数。
面部反演模型是利用机器人自身生成的数据集(下图)进行训练的,其中包括电机指令和由此产生的面部地标。
研究人员以自我监督的方式,通过随机的 「电机咿呀学语 」过程收集数据。在将指令发送到控制器之前,该过程会自动删除可能会撕裂面部皮肤或导致自碰撞的电机指令。
在伺服电机到达指令定义的目标位置后,研究人员使用RGB摄像头捕捉机器人的面部图像,并提取机器人的面部地标。
通过将自我模型和预测对话者模型相结合,机器人可以执行协同表达。
表情预测模型研究人员还开发了一个预测模型,它可以实时预测对话者的目标面部表情。
为使机器人能及时做出真实的面部表情,它必须提前预测面部表情,使其机械装置有足够的时间启动。
为此,研究人员开发了一个预测面部表情模型,并使用人类表情视频数据集对其进行了训练。该模型能够根据一个人面部的初始和细微变化,预测其将要做出的目标表情。
首先,研究人员使用每组面部地标与每个视频中初始(「静止」)面部表情的面部地标之间的欧氏距离来量化面部表情动态。
研究人员将静止面部地标定义为前五帧的平均地标,目标面部地标则定义为与静止面部地标差异最大的地标。
静态面部地标的欧氏距离与其他帧的地标的欧氏距离会不断变化,并且可以区分。
因此,研究人员可以通过地标距离相对于时间的二阶导数来计算表情变化的趋势。
研究人员将表情变化加速度最大时的视频帧作为 「激活峰值」。
为了提高准确性并避免过度拟合,研究人员通过对周围帧的采样来增强每个数据。
具体来说,在训练过程中,预测模型的输入是从峰值激活前后总共九帧图像中任意抽取四帧图像。
同样,标签也是从目标脸部之后的四帧图像中随机取样的。
数据集共包含45名人类参与者和970个视频。其中80%的数据用于训练模型,其余数据用于验证。
研究人员对整个数据集进行了分析,得出人类通常做出面部表情所需的平均时间为0.841 ± 0.713秒。
预测模型和逆向模型(仅指研究人员论文中使用的神经网络模型的处理速度)在不带 GPU 设备的 MacBook Pro 2019上的运行速度分别约为每秒 650 帧(fps)和 8000 帧(fps)。
这一帧频还不包括数据捕获或地标提取时间。
研究人员的机器人可以0.002秒内成功预测目标人类面部表情并生成相应的电机指令。这一时间留给捕捉面部地标和执行电机指令以在实体机器人面部生成目标面部表情的时间约为0.839秒。
为了定量评估预测面部表情的准确性,研究人员将研究人员的方法与两个基线进行了比较。
第一种基线是在逆模型训练数据集中随机选择一张图片作为预测对象。
该基线的数据集包含大量由咿呀学语产生的机器人表情图片。
第二条基线是模仿基线,它选择激活峰值处的面部地标作为预测地标。如果激活峰值接近目标脸部,那么该基线与研究人员的方法相比就很有竞争力。
然而,实验结果表明,研究人员的方法优于这一基线,表明预测模型通过归纳面部的细微变化,而不是简单地复制最后输入帧中的面部表情,成功地学会了预测未来的目标面部。
图4B显示了对预测模型的定量评估。