Press "Enter" to skip to content

四大视角、万字长文,欧盟MuMMER项目之商场服务机器人深入解读

项目介绍

 

欧盟 MuMMER 项目属于欧盟地平线 2020 项目,后者是欧盟有史以来规模最大的研究与创新计划,甚至吸引了一些私人投资。根据官网信息,其计划在 7 年内(2014 年至 2020 年)提供近 800 亿欧元资金,来推动将出色的想法从实验室推向市场的过程。

 

MuMMER 项目的研究人员由欧洲几所大学联合 softbank 组成。在这个长达 3 年的项目中,研究人员们利用软银的 pepper 机器人为主要平台,旨在与大型购物中心等公共场所的用户自然而灵活地互动。该系统包括视听传感(audio-visual sensing),社交信号处理(social signal processing),对话交互(conversational interaction),视角捕捉(perspective taking),几何推理(geometric reasoning)和运动规划(motion planning)。最终的系统框架是机器人操作系统(ROS),所有开发出的算法都在该系统中部署。

 

MuMMER 的主要部署地点是 Ideapark,一个位于芬兰 Lempäälä的大型购物中心。MuMMER 机器人已被带到购物中心多次,从而与购物中心的客户和零售商共同对产品进行设计。在 2018 年 9 月,2019 年 5 月和 2019 年 6 月 MuMMER 机器人曾经被短暂的测试过,并于 2019 年 9 月进行了为期三个月的长期部署。

 

本文旨在对欧盟 MuMMER 项目的研发情况做一个综述,由此管中窥豹,参考欧洲的学院派是如何将前沿技术部署到实际产品中的。

 

技术背景

 

根据该项目的结题论文,MuMMER 机器人系统开发过程主要涉及到视听传感(audio-visual sensing),社交信号处理(social signal processing),对话交互(conversational interaction)和路线导航(Route guidance supervision)四个方面的算法开发。我们接下来深挖该项目发表的相关论文,会简要介绍一下各个方面的技术特色。

 

视听传感(Audio-visual sensing)

 

该项目的视听传感主要是在互动过程中,对用户进行视觉跟踪和听觉定位。

 

视觉方面,整个算法基本循着 行人检测(person detection)[1]——头部姿势估计(head pose estimation)[2]——头部姿势追踪(head pose tracking)[5] 的流程,对于检测到的近距离行人(1.2 米以内),还可以添加凝视检测模块(gaze sensing module)。在 [6] 中,结合 Dlib』s facial landmarks extraction 算法 和 Basel Face 3D morphable model (3DMM) 来精确的进行眼部定位、分割,并通过 domain knowledge 来为凝视方向提供先验信息,研究者们开发的算法可以在 16 次测验中达到平均误差 7.64 度的精度。并且无需任何校准,可以直接在不同场景下使用。但为平衡算法的计算速度和鲁棒性,MuMMER 机器人系统最终没有添加凝视检测,而是选择直接根据头部姿势计算每个人的注意力的视觉焦点。

 

在这一部分,值得讨论主要是头部姿势估计的算法设计。[2] 中提出的算法用前一环节的 convolutional pose machines (CPM) 算法预测的关键点(keypoints)、置信图(confidence maps)、特征图(feature maps)作为输入,需要给出预测的头部姿势作为输出。下图 1 总结了机器人身上的相机拍下图像后视觉系统执行的前两步算法——即 CPM 算法 执行行人检测,[2] 中的算法接下来执行头部姿势估计。

 

首先是 CPM 算法完成行人检测。由机器人身上配置的相机捕捉 hw 大小的彩色图像,然后将图像送入预训练 VGG-19 网络,生成一组特征图 F。特征图输出几个分支:顶部分支输出置信图 S,底部分支输出 affinity fields L。然后将这些特征图输入到 6 个阶段(stage)中。每个阶段包含两个具有相同网络结构的分支(branch)。在每个分支之后,需要将特征图 F,置信度图 S 和 affinity fields L 串联起来,即图 1 中的「+」号运算,作为下一阶段的输入。

 

 

图 1: 行人检测 + 头部姿势检测流程。 图源: Cao, Y.; Cane ́vet, O.; and Odobez, J.-M. 2018. Leveraging convolutional pose machines for fast and accurate head pose estimation

 

这种叠加多个阶段(stage)并且保留最早通过 VGG-19 生成的特征的思路很像 ResNet 这类残差网络(residual netzork),在训练时网络可以有效的利用上下文,从而可以精确地定位人体关节。

 

在每个阶段的每个分支输出处,对每个分支分别计算 L2 损失函数,如输出置信图的顶部分支的损失函数为:

 

 

其中 p 为需要预测的身体关键点,一共有 P+1 个(P 个身体关键点加背景)。b_t^{p}(z) 代表图像 z 上的每个像素点属于关键点 p 的置信度,b_^{p}(z) 则为 ground truth。整个顶部分支的损失函数则为所有阶段的损失函数的加和,总的损失函数则是两个分支的损失函数的加和。CPM 网络在 Microsoft COCO 数据集上训练完成,并使用 18 个身体关键点(包括鼻子,眼睛,耳朵和肩膀)来提取特征。作者没有进行微调,直接使用该网络的输出作为自己算法的输入数据。

 

接下来,作者训练了多层感知器(MLP)或 卷积神经网络 (CNN)来预测以 pitch、roll 和 yaw 角度表示的头部姿势。图 2 左图给出了这三者是如何定义头部姿势的图示。虽然 CPM 算法给出 18 个关键点预测,但作者仅考虑上半身的 8 个关键点:鼻子,脖子,眼睛,耳朵和肩膀,并将其坐标以眼睛和鼻子的中点为中心,首先进行归一化处理。假如 CPM 算法没有检测到某些关键点,其预测中就会有缺失值,对这种情况作者使用概率主成分分析(PPCA)进行插值处理。

 

由于 pitch、roll 和 yaw 角度都是实数值,训练损失可以直接使用 MSE(mean squared error)。然而,MSE 一般用来衡量预测值和标签之间的距离,距离越远,损失越大。而这里的 pitch、roll 和 yaw 角度是周期性的,假设真实值 0°,则 1°和 359°的预测应具有相同的损失,而 MSE 不能将这种不连续性纳入考虑。为了考虑这种角度的误差,作者还提出了第二种损失函数的设计方法。

 

为此,需要首先将标签的角度离散化,然后比较估计的角度和标签的角度之间的似然度,如图 2 所示。具体来讲,作者首先将 [-π,π] 的范围均匀地离散化。然后,假如标签给出的角度为 d,只需要生成两个具有方差σ的高斯分布,并且平均值分别为 d 和 d-2π(以红色和蓝色显示)。这在处理回归类问题时是个很好的思路,可以缓解 MSE 等损失函数对异常值(outlier)过于敏感和模型预测波动过大的问题。

 

 

图 2: 训练标签,及其概率化。 图源: Cao, Y.; Cane ́vet, O.; and Odobez, J.-M. 2018. Leveraging convolutional pose ma- chines for fast and accurate head pose estimation

 

模型方面,由于 CPM 有多个输出,作者也设计了不同的神经网络来处理这些信息。关键点的估计仅是一系列坐标,作者使用一个结构比较简单的 MLP 来对其进行处理;对于置信度图和特征图,为提取更多特征,作者设计了 CNN 来对其中的信息进行处理。3 个模型的具体结构如图 3 所示。

 

 

图 3: [2] 提出的头部姿势估计模型的结构。 (a)将 MLP 使用 CPM 预测的关键点坐标作为输入(b)CNN 将关键点的置信度图作为输入(c)特征图作为 CNN 的输入。 图源: Cao, Y.; Cane ́vet, O.; and Odobez, J.-M. 2018. Leveraging convolutional pose ma- chines for fast and accurate head pose estimation

 

作者在 Wild (AFLW) 数据集上对这一整套流程进行了测试,以 MAE(mean absolute error)和准确度(accuracy)作为 evaluation metric。准确度衡量预测值和标签之间的距离小于预先确定的阈值的比例。

 

MLP 方面 (图 3a),作者主要比较了使用 3 个关键点预测值、5 个关键点预测值和数据集标签训练的模型的表现,不出所料,使用更多关键点预测可以带来更好的表现,而直接使用关键点的 ground truth——也就是 CPM 算法最理想的情况下——MLP 表现最好。

 

在使用置信图训练 CNN(图 3b)的结果中也可以看到同样的趋势——使用更多的关键点置信度图训练模型可以带来更好的性能。但是,使用 8 个关键点并不能进一步改善性能,主要是因为肩膀和头部的姿势有时并不一致,所以反而会引入误差。对于使用特征图为训练数据的 CNN(图 3c),作者提出一个问题:应该使用 VGG-19 输出的特征,还是应该使用 CPM 算法最后几个阶段的卷积层作为训练数据?结果证明:使用最后阶段的特征图的结果明显优于使用 VGG-19 特征图的结果。这是也是有道理的,因为阶段 6 的功能是专门针对身体部位(尤其是鼻子,耳朵和眼睛)进行训练的。

 

横向来看,使用 CPM 预测的关键点坐标直接预测头部姿势——即图 3a——的表现最差,如果使用最后阶段的特征图作为图 3c 的 CNN 模型的输入,则图 3b 和 3c 两个模型的表现接近。看来,还是应该为网络提供尽可能多的相关信息/特征,然后由网络自行从中学习。

 

笔者比较感兴趣的还是使用角度似然度训练模型的效果,结果显示在图 4 中。从表中可以看出,当将 [-π,π] 离散化为 180 bins 并且σ= 0.3 时,可以获得最佳性能。但是结果与直接回归角度大致相同。这一点还是让人有些失望的,特别是考虑到使用似然度还会带来超参数调优的问题,似乎这种 trade off 并不值得。

 

 

图 4: 使用角度似然回归的头部姿势估计模型表现。 图源: Cao, Y.; Cane ́vet, O.; and Odobez, J.-M. 2018. Leveraging convolutional pose ma- chines for fast and accurate head pose estimation

 

不仅仅通过视觉信息,人类也可以通过声音信息定位发声人(Sound source localization,SSL)。给定一段声音信号——在本项目中设定为 170ms 长——模型需要预测声音发出的方向。相对于大部分目前基于神经网络的算法,MuMMER 机器人的语音模块设计面对的挑战主要是开放式环境所带来的噪声和多个声源。因此,基于单个声源的算法很难直接被应用过来。[20] 中提出了一种基于似然性的算法输出数据编码方式,从而放松了对声源数量的限制。此外,作者研究了如何利用 domain knowledge 设计网络,从而更好地在混合声音中定位声源,以及基于不同动机的三种不同网络体系结构。

 

由于声源的数目不确定,可以是单个,也可以是多个,作者使用 N 表示声源数、M 表示麦克风数。输入的声音信号用短时傅立叶变换(short time Fourier transforms,STFT)表示:X_i(ω), i = 1, …, M,其中 i 是麦克风索引,ω是离散域中的频率。由于作者设计的算法并未利用上下文信息或时间关系,时间索引并没有被囊括进来。

 

在将声音信号输入神经网络之前,声音信号首先要经过预处理,来提取其中的特征。作者使用了两个基于广义互相关的相位变换(generalized cross-correlation with phase transform,GCC-PHAT)方法的预处理方法——GCC-PHAT 系数(GCC-PHAT coefficient)和 GCC-PHAT on mel-scale filter bank。GCC-PHAT 是估计估计麦克风之间的到达时间差(time difference of arrival,TDOA)的最流行方法,而 TDOA 是估计发声源的重要线索,通过预处理可以更好的把这类线索送给神经网络进行学习。

 

在编码输出值方面,作者的思路和前文介绍的 [2] 很像。作者将多个 SSL 输出编码设计为声音源在各个方向上的可能性,即将输出编码向量 {o_i},每个向量与单独的方位角 θ_i 相关联,也就是 i = 0, …, 360 代表 360 个角度:

 

 

o_i 衡量某一个角度 i 是第 j 个发声源的可能性,是以真正的发声源为中心的类高斯函数的最大值。其中θ^(s)_j 是第 j 个声源的 ground truth,σ 用于调整高斯曲线的宽度,而 d(·, ·)表示角距离。输出编码的例子在图 5 中有展示。

 

 

图 5: 多个声源的输出编码。 图源: He, W.; Motlicek, P.; and Odobez, J. 2018a. Deep neural networks for multiple speaker detection and localization. In 2018 IEEE International Conference on Robotics and Automation (ICRA), 74– 79.

 

将网络输出编码为高斯混合的好处主要在于输出可以有任意多个波峰,从而放松了对发声源数量的假设。在测试阶段,通过找到高于给定阈值ξ的峰值来解码输出,就可以获得对发声源的预测:

 

 

其中σ_n 代表邻域距离,也就是说在σ_n 范围内最大且高于阈值的预测将会被选为发声源。在实验中,作者选择σ_n= 8°。

 

模型方面,为处理两种预处理方法产生的不同特征,作者设计了两个神经网络,具体结构见图 6 左。

 

 

图 6:神经网络结构。 图源: He, W.; Motlicek, P.; and Odobez, J. 2018a. Deep neural networks for multiple speaker detection and localization. In 2018 IEEE Interna- tional Conference on Robotics and Automation (ICRA), 74– 79.

 

GCC-PHAT 特征的维度比较小(51×6),因此作者直接使用了 MLP 对其学习,而 GCC-FB 特征的维度则要高得多(51x40x6),使用 MLP 的开销过大。因此作者使用了卷积来减小模型参数数量,仅在最后一层使用了全连接层进行预测。但使用 CNN 的一个问题是神经网络是在 3 维输入特征上执行 2D 卷积,也就是说 CNN 将输入数据视为图像,而没有考虑输入数据的实际属性。为此,作者设计了两阶段神经网络(TSNN-GCCFB)来更好的利用输入的 GCC-FB 特征,主要思路是:

 

在每个时频(time-frequency bin)中,通常只有一个主要的语音源,因此可以在每个时频内先将此类信息汇总;

 

对于具有相同延迟的特征,如果它们来自于不同的麦克风,那幺它们仍然应该被分开考虑。

 

TSNN-GCCFB 含有两个子网络,subnet 1 和 subnet 2,具体结构见图 6 右。subnet 1 应用于整个延迟轴、所有麦克风和某一个具体频率,提取特征中的可能的声源的信息。subnet 2 则汇总相邻的声源区域中所有频率的信息,并输出每个位置中存在声音的可能性。subnet 1 是 2 层 MLP,而 subnet 2 是 1 层 MLP,所有层的大小均为 500。

 

为检测模型的表现,作者收集了两组真实数据:一组使用扬声器作为发声源,另一组则是人类受试者。机器人身上的麦克风采样率为 48 kHz,并且其接收到的音频信号会受到来自内部风扇噪声的强烈影响。

 

模型在来源数量已知或未知两种情况下都进行了测试。若来源数 N 已知,则选择模型输出的 N 个最高峰作为预测的发声源,并将它们与 ground truth 进行对比,计算平均绝对误差(MAE)。同样,作者也汇报了预测的准确度,即预测的误差小于给定的容许误差 E_a 的比例。若声源数量未知,则考虑模型检测和定位的能力。通过前文提到的对模型预测进行解码来生成最终预测,并汇报精度与召回率曲线。

 

图 7 显示了已知数量来源的模型表现。在扬声器数据集上,[20] 提出的三个 NN 模型均实现平均小于 5°的误差和大于 90%的精度,而最佳基线方法(SRP-PHAT)具有 21.5°的误差和仅 78%的精度。对于人类受试者数据集,基线方法在单一声源上的 MAE 更好,不过准确性稍低一点。

 

 

图 7: 已知声源数量的模型表现。 图源: He, W.; Motlicek, P.; and Odobez, J. 2018a. Deep neural networks for multiple speaker detection and localization. In 2018 IEEE Interna- tional Conference on Robotics and Automation (ICRA), 74– 79.

 

在同时检测和定位未知来源方面,文中提出的方法优于基线方法,在两个数据集上均达到约 90%的精度和召回率(图 8)。在所提出的三个模型中,TSNN-GCCFB 的确在重叠帧上具有更好的性能,说明使用 subnet 确实对多个声源的定位有帮助。另一个优势则是高斯混合编码带来的——模型表现受未知声源数量的影响较小。

 

 

图 8: 未知声源数量的模型表现(麦克风数据集)。 图源: He, W.; Motlicek, P.; and Odobez, J. 2018a. Deep neural networks for multiple speaker detection and localization. In 2018 IEEE Interna- tional Conference on Robotics and Automation (ICRA), 74– 79.

 

以 [20] 的研究为基础,[21] 又提出了直接使用原始的短时傅立叶变换作为输入,同时处理振幅和相位信息。为此,神经网络的结构和损失函数的设计也相应的需要改变。

 

机器人接收到的原始数据是以 48 kHz 采样的 4 通道音频信号,STFT 对每帧(包含 2048 样本,43 毫秒)进行计算,重叠率为 50%。然后,将 7 个连续帧(170 毫秒)视为一个分析单位,STFT 系数的实部和虚部被分为两个单独的通道。使用 100 至 8000 Hz 之间的 337 个频点(frequency bins)。因此,每个单元的结果输入特征的尺寸为 7×337×8(时间帧×频率点×通道)。

 

模型的输出仍然被模拟为高斯混合,不同的是,现在模型不仅要预测声源位置(DOA),还需要预测噪声位置 q_i:

 

 

图 9: 所需的多任务网络输出。 图源: He, W.; Motlicek, P.; and Odobez, J.-M. 2018b. Joint localization and classification of multiple sound sources using a multi-task neural network. In Proceedings of Interspeech 2018, 312–316.

 

具体如图 9 所示。对网络输出解码的思路也与 [20] 一样。

 

如前文提到的,相比于 [20],数据的输入和输出都发生了改变,神经网络的结构也需要进行相应的改变,见图 10。

 

 

图 10: 多任务神经网络结构。 图源: He, W.; Motlicek, P.; and Odobez, J.-M. 2018b. Joint localization and classification of multiple sound sources using a multi-task neural network. In Proceedings of Interspeech 2018, 312–316.

 

多任务网络是一个完全卷积的神经网络,由残差网络(ResNet)和两个特定于任务的分支组成。这两个特定于任务的分支的结构是完全相同的——它们都以 1×1 卷积层开始,具有 360 个输出通道(对应于 360 个方位角方向)。两阶段训练和 [20] 一样,每个分支的最终输出是 360 维向量,分别对应于对发声源和噪声源的预测。

 

测试数据的设置和前文一样,但数据量有所增加。这一新的模型在扬声器录音中的准确度超过 95%,在人类录音中的准确度超过 85%。

 

[22] 则讨论了使用仿真数据、弱监督和对抗训练神经网络的可能性,并在其此前提出的 STFT 网络 [21] 上进行了测试。结合机器人平台的半自动和综合数据收集程序,MuMMMER 项目的声音算法模块开发时可以快速收集数据以学习新模型。

 

社交信号处理(Social signal processing)

 

在我国很多购物中心,很多导览机器人在放置了一段时间后都没有顾客光顾,最后变成在角落尘封。 一个产品的使用体验不光取决于它使用的技术先进程度,还很大程度上取决于产品的交互设计。 在这方面,欧洲和日本的机器人研究者们倾向于从大量的人-人和人-机实验来理解如何定义一个好的服务机器人产品。 比如什幺决定了用户在如问路等场景下的最终体验,以及如何将这些发现应用到机器人系统上。

 

以下简介一下该项目下的一些人机交互的实验结果:

 

在该项目的商场场景里 [15],研究员设计了不同语言、目的等的实验场景,来观察人类在这种机器人导览的场景下是如何表现的。整个实验过程都有录像作为视频数据,受试者在测试结束后还需完成一个简单的问卷调查,用以了解在问路时指路者使用的路标。实验表明在指路者描述完或一部分路径时会将目光对准对象,通过注视检查问路者的理解; 以及使用最多的地标不是大型商店(例如 Prisma),而是门(例如 A 门),「中央公园」(购物中心中心的大广场)和「旧城区」(Ideapark 的一部分)。此外,由于道路路标不清晰可见,因此指路者不会使用街道名称来指明路线。[16] 同样是实验调查,研究者们进行了两项人与人之间的互动研究,其中购物中心的问讯处的工作人员作为指导,为在购物中心中执行预定问询任务的研究人员和学生提供指导。

 

另外根据用户的互动过程,也可以间接分析用户性格,使互动更个性化。[3] 研究了手势如何影响用户对机器人的主观反应以及他们对机器人个性的感知。他们发现了几种明显的关系,例如,控制振幅和速度会显着影响用户对机器人的外向性和神经质的感知。此外,[4] 发现大多数用户都喜欢他们认为自己的性格与自己的机器人相似的机器人,但由极少数人的一类人则喜欢与自己的个性不同的机器人。[7] 对一系列人机实验进行了录像和录音,从而收集基于语音的韵律和对话相关的特征、基于人脸表情的情绪强度特征以及基于对话记录的语言特征,并展示了这些特征如何与用户在对话后对机器人的印象相关联。[8] 也进行了一系列人机实验,来研究视觉反馈的哪些特征(幅度,频率,持续时间…)会影响注意力感知,以及视觉和言语反向通道(backchannels)哪个会让用户觉得机器人投入了更多注意力等。实验发现,人们通常认为点头比音频反向通道传达出更多的注意力,利用这些发现,可以使对话系统以更像人的方式描绘出听众的注意力水平。

 

最终的 MuMMER 机器人的社交信号处理模块中配置了 [19] 中描述的基于情感的姿势控制。该算法首先利用 IBM Watson Tone Analyzer 从对话文本中检测情感和语言 tone,并生成 ToneCategory,例如:愤怒,恐惧,喜悦和悲伤(情感 tone);分析,自信和尝试性(语言 tone)。另外,IBM Watson Tone Analyzer 还会计算 范围在 0.5 到 1 的 ToneScore,得分大于 0.75 表示在内容中感觉到该音调的可能性很高。

 

根据检测到的情感,算法可以在语音文本的上下文中映射适当的手势,并使用 ToneScore 作为参数来为该特定手势生成正确的强度(幅度和速度)。算法还可以在声音中反射这种检测到情感——作者使用 BEST-非语言声音工具包(B.E.S.T non-verbal sounds tool kit),该工具包的库中每个类别都有 20 种声音来表达情感,例如「愤怒」、「厌恶」、「享受」、「恐惧」、「兴趣」、「悲伤」、「羞耻、,「惊奇」。作者使用文本情感分析器中的 ToneScore 将 ToneCategory 映射到声音的情感类别和强度级别。声音库还具有 backchannel,可以在机器人聆听时使用,例如发出一些声音表达「确认」、「同意」、「不同意」、「鼓励」、「不确定」、「被理解」。

 

对话交互(Conversational interaction)

 

对话一直是最重要的信息传输和互动渠道。 因此如何设计对话系统(conversation system)或者聊天系统(chat-bot)对于互动机器人来说很重要。 MuMMER 机器人系统的对话系统主要基于 Alana,该系统由一系列聊天机器人组成,结合了基于规则的学习系统和机器学习系统,并使用上下文排名机制选择系统响应。

 

[9] 中解释道基于深度学习技术在大型公共数据集(如 OpenSubtitles 或 Twitter)进行训练,可以取得很好的效果,但是,也有内容不易控制,聊天没有主题的缺点,如 Tay bot——Tay bot 是由 Microsoft 于 2016 年推出的一款 AI聊天机器人,然而,在 Tay 推出仅一天之后,其就开始使用种族主义和带有性指控的信息回应其他 Twitter 用户——等最近的例子所示,在将系统部署到实际客户时,直接从数据中学习也有其陷阱。为此,Alana 虽然使用由神经网络训练的聊天机器人,但其利用手工制定的规则对聊天机器人的回应进行选择、在精心选择的数据集上训练机器学习模型,并且根据客户反馈进行验证和更新制定的规则,Alana 系统的具体架构如图 11 所示。

 

在接收到用户话语后,系统首先使用 AWS lambda 函数将其转换为 JSON 对象,称为 request。lambda 函数还分析用户话语以提取关键字,以便将用户目标分类为意图。

 

接下来,在 bucket 中,系统会从句子中提取其他信息,并将其与预处理的语音一起转发给聊天机器人。聊天机器人与 bucket 之间的通信都是通过简单的 HTTP GET 调用完成的。然后,聊天机器人会将一个或多个候选响应返回给 bucket,并由 bucket 选择(并进行 post processing)响应之一,然后输出。

 

 

图 11: Alana 系统架构。 图源: Papaioannou, I.; Cercas Curry, A.; Part, J.; Shalyminov, I.; Xinnuo, X.; Yu, Y.; Dusek, O.; Rieser, V.; and Lemon, O. 2017. Alana: Social dialogue using an ensemble model and a ranker trained on user feed- back. In 2017 Alexa Prize Proceedings.

 

如前文提到的,在用户发来 request 和聊天机器人响应后,系统需要进行预处理和后处理。当用户发来 request 时,系统执行的预处理主要有:

 

 

计算 ASR confidence,对于 confidence 值低的内容,系统不会发给 bucket,而是会向用户道歉、确认听到的内容、并要求用户重复刚才说的内容;

 

将用户发来的简单回应(是/否/也许)话语转换为完整的句子;

 

将间接句子转换为直接句子,比如将用户说的「我不认识 x」转换为「谁是 x」,这有助于事实信息检索机器人回答这些查询;

 

使用正则表达式从用户话语中提取一些其他意图,例如 StopIntent(停止对话的请求),TimeIntent(当前时间的请求)和 RepeatInte(要求重复先前的系统提示);

 

使用斯坦福词性标注器和命名实体识别器(NER)进一步注释用户话语。

 

 

当聊天机器人发回响应后,bucket 需要进行后处理:对所有返回的候选人进行后处理和标准化。不得体的回答、单字等回答需要被过滤掉。

 

根据收到的响应,系统会通过三个步骤选择最合适的相应:

 

 

优先级列表。某些已部署的聊天机器人会被确定优先级,即,如果它们产生响应,则始终将其选中。优先顺序如下:Quiz game, Factbot, Weatherbot, Persona, Evi;

 

上下文优先级。如果 NewsBot 的响应只停留在前面提到的新闻报道的主题上,则它的响应优先;

 

排名功能。如果没有一个优先级聊天机器人产生答案,则其余已部署的聊天机器人的响应将被填充到候选列表中,并通过排名函数选择最佳响应。

 

 

排名函数的设计有很多选择,最初在 [9] 中作者训练了一个线性排名器(linear classifier ranker)来选择最佳响应,到了 Amazon Alexa 挑战赛决赛时,他们用神经网络代替了线性排名器。然而,正如 [9] 开头所提到的,对聊天机器人的响应的选择不仅仅是为了选择最切题的回答,更是为了选择得体的回答。在笔者看来,使用神经网络代替线性排名器这类 white model 和这个目的有些互相矛盾,因为神经网络作为黑箱模型的可解释性很低、不稳定性较高,要如何保证训练好的神经网络可以持续选择得体的回答?

 

在挑战赛中,该系统的最终用户评分(整个半决赛期间的平均用户评分)为 3.12,在半决赛的最后一周(2017 年 8 月 8 日至 15 日)中,平均用户评分达到 3.3。半决赛结束后,系统的最高得分分别为 3.52(每日平均值),3.45(每周平均值),中位对话时长为 2.25 分钟(7 天平均值)。

 

路线导航(Route guidance supervision)

 

在商场机器人的导航中,机器人不仅仅要能够在静态环境下完成路径规划(等同于一般导航算法理论),而且必须考虑动态的行人因素:在不断有行人的干扰下完成动态规划任务。而且在这个项目中,更加着重研究导航过程中人的看法:行人在这个人机交互的过程中的感受如何?机器人有没有表现的足够像人、有没有影响行人的行动,等等。[13] 中作者设计了几个用例,在这些用例中,人类和机器人必须一起在环境中移动,然后对机器人在这种环境下的决策进行评估。被测试的规划算法分别为 [10] 中的 directional- cost planner 、[11] 中的 AKP planner 和 [12] 中的 cooperative planner。结果显示 cooperative planner 在更方面表现都要更佳,作者认为:

 

 

Directional-cost planner 在不受约束的情况下表现很好,但受限情况下表现不佳;

 

基于社会力量模型(Social force model)——一种描述人群动态的方法,该方法会根据此前的路径规划信息预测人类的移动路径,并将该信息纳入当前路径规划的考虑中——的机器人可以在空旷地区或大型室内环境中表现良好,但是由于计算排斥力和吸引力的方式,它们会规划不必要的弯路;

 

cooperative planner 在不受约束和受约束的情况下都表现良好,特别是在受限区域可以规划清晰而亲切的行为;

 

要让机器人对于人类能有所感知,算法必须与人类运动预测方法紧密结合。

 

 

根据这篇文章中的发现,作者还发表了 [14],在完成路径规划的同时还加强机器人的运动学约束,以避免为与机器人同处一个环境的人类带来障碍。根据这一目标,作者提出了社会约束(Social Constraints),将安全、用户体验等编码进路径规划的算法中。最终的算法是一个基于 elastic band 和图优化的框架,用于计算机器人的轨迹和预测附近的人类的运动路线。最终 MuMMER 机器人系统中运动规划的 local planner 就是基于该算法研发的。

 

这一 local planner 的架构如图 12 所示。其中最底层一行的节点 (rx0, rx1, . . . ) 用于表示机器人的移动路径:速度、加速度、运动动力学约束等。c_{vel_h},c_{acc_h},c_{kin_h} 则代表由连续节点之间的时间差决定的约束/惩罚。同样,中间和最上一行的节点则代表行人 1 和行人 2(如果有 2 名行人的话),并被赋予不同的重要性(h_0, h_1)。最右侧表示了检测到障碍物 o1,在优化过程中其位置是固定的。约束 c_obs 能够使机器人与障碍物保持一定距离的,c_sep 则使两名行人之间保持一定距离。需要被同时纳入规划的行人和机器人——即它们处于同一时间点——用边缘 c_safety, c_ttc 和 c_dir 连接,从而便于添加社会约束,如机器人与行人之间需要保持的最小距离等。

 

 

图 12: [14] 中的 local planner 的算法图示。 图源: Khambhaita, H., and Alami, R. 2017. Viewing Robot Navigation in Human Environment as a Cooperative Activity. In International Symposium on Robotics Research (ISSR 2017), 18p.

 

另一个较新颖的研究是 [18],该文提出的算法不仅要让机器人作为行人问询路线时的路线方向提供者,而且还要对人类作为听众进行建模,并在规划时将其考虑在内。利用对人类听众的位置和实现估计,机器人可以与人一起导航以达到与提供路线方向更相关的视角。具体来说,该算法应用于交互机器人,而该机器人的主要职责是在公共场所问讯处提供信息和路线指示。当有人问讯时,它可以移动一点(例如围绕其基座几米远),并要求问讯人跟随自己移动,以使他们两个都到达可以指向一个(或几个)地标的和更清楚地说明路线的位置。当然,交互机器人无意陪同人员到达目的地,只是为了更好的帮助其寻找道路。最终的算法使用 SVP (Shared Visual Perspective) 规划器,该规划器搜索共同搜索机器人和人类的最佳位置,以实现提供路线方向所需的有效视觉透视共享,并在有多个可用路标时选择最佳地标。SVP 随后也被应用到 MuMMER project 的运动规划算法中。

 

这部分比较有意思的研究有 [17],用于增强导航过程中人机交互、减少不愉快的体验,比如用户不清楚机器人会从自己面前穿行还是会停下来等待从而犹豫不决。作者提出使用机器人注视的方式来提供有关机器人运动计划和目标的明确信息,他们提出将移动机器人平台上的头部运动控制表述为一个多准则决策问题(multi-criteria decision-making problem),并使用层次分析法(analytic hierarchy process)对其进行求解。

 

为确定凝视方向,作者参考了 Srinivasan 等人总结的四种社交目光注视行为 [24]:

 

 

交流社会注意力,机器人通过注视人类表现出兴趣;

 

表现出互动,凝视转向与当前任务相关的物体,例如避开障碍物;

 

表达精神状态,包括表达运动意图;

 

增强机器人的类人性。

 

 

利用这些标准,算法可以衡量发起的凝视行为的合理性和有效性。

 

前文提到作者将机器人的头部活动视为一个多准则的决策问题(multi-criteria decision-making problem),因为在任何一个时候,机器人都需要从可行的头部动作中选择一个执行,如看向自己的前进方向、上下点头等,或什幺都不做。更抽象的来看,作者使用行为函数(Behavioral Functions)来处理来自不同来源的信息。

 

作者提出了两种与社交导航最相关的注视行为:1)查看路径:查看计划的导航路径。2)向行人投以注视,以及两种行为对应的行为函数。

 

针对查看路径的行为,作者只使用本地规划模块的输出轨迹(一般情况下导航规划具有静态环境图的几何路径的生成(全局规划)和避免动态障碍的运动指令计算(局部规划)两个模块),此功能对应于两种社交注视行为,即「表达精神状态」和「增强机器人的类人性」。作者将运动方向与凝视方向之间的角度定义为凝视运动角度(GMA),如图 13 所示。

 

 

图 13: 机器人头凝视点计算中涉及的角度的图示。 α_{maxGMA}: 最大凝视移动角,α_{vis}: 可见角,θ^{rbase}_h: 机器人底座与人之间的角度,θ^{rpan}_h: 机器人头的中轴与人之间的角度,IPS: 信息处理空间(浅灰色区域)。 图源: Harmish Khambhaita, Jorge Rios-Martinez, Rachid Alami. Head-Body Motion Coordination for Hu- man Aware Robot Navigation. 9th International workshop on Human-Friendlly Robotics (HFR 2016), Sep 2016, Gênes, Italy. 8p. hal-01568838

 

对此 GMA 值的限制定义了一个信息处理空间(IPS),这主要是为了让机器人更类人化而设计的。IPS 是一个概念区域,是根据人类用以避免潜在碰撞的观察空间的边界确定的。当路径规划器给出的轨迹的轨迹的最后一点在此最大允许 GMA 范围之外时,算法将限制机器人的平移角度以使其在 IPS 空间内。

 

向行人投以注视的行为主要用于机器人在周围环境中对人进行检测时,并用此计算可替代的凝视点,从而帮助机器人执行对人类进行类似扫视的行为。由于每种行为功能仅为决策过程提供一种选择,因此,当检测到多个人时,机器人会向它认为需要「最紧急」注意的人投以注视。同时,这部分算法会跟踪机器人已经确认的人类,即在定义的可见角α_{vis} 中确定的行人都会被添加到一个集合中,以避免在新的位置更新时触发多个扫视行为。

 

作者在这里提供的算法的验证主要是定性的,即机器人的头部行为有利于人机交互。具体来说,作者提出了两个假设:

 

假设 1:导航过程中的头部移动将积极影响行人对机器人导航意图的感知;

 

假设 2:具有注视路径和注视行人功能的头部行为将被认为比没有头部运动更有效。

 

在录制了机器人导航的视频后,作者还进行了用户的体验研究,最后考虑了上述关于头部运动的 2 点假设的设计,最受用户的欢迎。

 

结语

 

现在回头看 MuMMER 机器人的设计核心:MuMMER 的总体思想是,要使机器人在这种应用场景下成功,就必须具有娱乐性和吸引力:也就是说,它必须具有社交智能,才能理解用户的需求和交互行为,以及做出适当的回应 [23]。可以说,MuMMER 的设计从一开始就是以一个成熟的产品和有容错性、稳定性的功能为标的,它不是实验性的,也不以技术的先进程度为衡量标准。从这一点出发,所有的研究都以提高产品最终的表现和用户体验为目标,所有算法的设计也都基于此。也正因此,我们可以看到上述四个方面所用到的算法在其单独的研究领域很难算得上 state-of-art,更甚至出于对系统的稳健性考虑会舍弃一些高性能算法的部署。

 

另外,对国内服务机器人开发者有启发意义的是,该项目也回归到人方面的研究:比如说用户对于导航有什幺感受?社交信号处理中用户一般如何交互?这些内容涉及到一般行为学和工程学的交叉学科,课题值得进一步挖掘。

 

MuMMER 项目的挑战主要是实际运行方面的——如何在商场这样高度非结构化的环境中运行;如何为用户体验这样非定量的衡量标准设计 evaluation metric;如何融合多通道信息,比如将声音模块的说话人检测结果和视觉模块中的行人检测结果结合起来;随着系统模块的增加,系统性风险会加速上升,如何将总体误差控制在一个合理的范围内也是一个挑战。

 

在一个 end to end 产品中,许多对数据和计算结果的额外处理是十分必要的,即便有时使用的后处理算法仅仅是滑动平均这样简单的算法。从产品角度来看,不是一个算法研究出来就有了一个产品,技术落地的复杂度是超过很多研究者想象的。在这方面欧洲的产学联合做的很好,比如比利时的 IMEC 微电子研究中心就建在鲁汶大学旁边,并且和其一直保持着紧密联系,同时也吸纳了众多工业界驻派人员,占其雇员数量近 1/3。目前已经成为全球最大的独立的微电子研究中心之一,华为在其附近也开设了研究所。当然,结果导向也可能也推动一些研究机构忽略了一些不能立即有实际产出的基础研究,不过有关这些的探讨就又是另一个话题了。

 

另外,还可以看到在文中所有的神经网络的规模都比较小,都是借助预训练神经网络——如 VGG,RestNet——来生成特征,然后在特征上训练浅层卷积网络,甚至 MLP。这是工业界的一个常规做法,主要是为某一个特定项目收集数据的成本太高,甚至根本不可能。并且由于算法的开发是特定于某一个应用项目的,所设计的模型结构也是高度依赖于具体应用的 domain knowledge,比如 [20] 中的两阶段神经网络。虽然如 Meta Learning 一类的 Auto-ML 研究正在受到越来越多的关注,但笔者认为在很长的一段时间里——即便是使用神经网络——产品开发和算法落地还是会高度依赖 hand-engineering 的。

 

文本作者为机器之心分析师 Yuanyuan Li。她几次转行,本科国际贸易,研究生转向统计,毕业后留在欧洲,选择从事机械研发工作,主要负责图像处理,实现计算机视觉算法的落地。欣赏一切简单、优雅但有效的算法,试图在深度学习的簇拥者和怀疑者之间找到一个平衡。希望在这里通过分享自己的拙见、思想的碰撞可以拓宽自己的思路。

 

机器之心个人主页:https://www.jiqizhixin.com/users/a761197d-cdb9-4c9a-aa48-7a13fcb71f83

 

参考文献:

 

【1】Cao, Z.; Simon, T.; Wei, S.-E.; and Sheikh, Y. 2017. Realtime multi-person 2d pose estimation using part affinity fields. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 7291–7299.

 

【2】Cao, Y.; Cane ́vet, O.; and Odobez, J.-M. 2018. Leveraging convolutional pose ma- chines for fast and accurate head pose estimation.

 

【3】Craenen, B. G.; Deshmukh, A.; Fos- ter, M. E.; and Vinciarelli, A. 2018a. Shaping ges- tures to shape personalities: The relationship between ges- ture parameters, attributed personality traits, and Godspeed scores. In Proceedings of the 27th IEEE International Sym- posium on Robot and Human Interactive Communication (RO-MAN), 699–704.

 

【4】Craenen, B.; Deshmukh, A.; Foster, M. E.; and Vinciarelli, A. 2018b. Do we really like robots that match our personality? the case of big-five traits, god- speed scores and robotic gestures. In Proceedings of the 27th IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN).

 

【5】Khalidov, V., and Odobez, J.- M. 2017. Real-time multiple head tracking using texture and colour cues. Idiap-RR Idiap-RR-02-2017, Idiap

 

【6】Siegfried, R.; Yu, Y.; and Odobez, J.-M. 2017. Towards the use of social interaction conventions as prior for gaze model adaptation. In 19th ACM International Conference on Multimodal Interaction (ICMI).

 

【7】Novikova, J.; Dondrup, C.; Papaioannou, I.; Lemon, O. (2017). Sympathy Begins with a Smile, Intelligence Begins with a Word: Use of Multimodal Features in Spoken Human-Robot Interaction. 10.18653/v1/W17-2811

 

【8】Oertel, Catharine and Lopes, Jose and Yu, Yu and Mora, Kenneth A. Funes and Gustafson, Joakim and Black, Alan W. and Odobez, Jean-Marc. (2016). Towards Building an Attentive Artificial Listener: On the Perception of Attentiveness in Audio-Visual Feedback Tokens. Proceedings of the 18th ACM International Conference on Multimodal Interaction. pp 21 – 28.

 

【9】Papaioannou, I.; Cercas Curry, A.; Part, J.; Shalyminov, I.; Xinnuo, X.; Yu, Y.; Dusek, O.; Rieser, V.; and Lemon, O. 2017. Alana: Social dialogue using an ensemble model and a ranker trained on user feed- back. In 2017 Alexa Prize Proceedings.

 

【10】T. Kruse, A. Kirsch, et al.,「Evaluating Directional Cost Models in Navigation,」in Proc. ACM/IEEE International Conference on Human-Robot Interaction (HRI), 2014.

 

【11】G. Ferrer and A. Sanfeliu,「Multi-Objective Cost-to-Go Functions on Robot Navigation in Dynamic Environments,」in Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2015.]

 

【12】H. Khambhaita and R. Alami,「A Human-Robot Cooperative Naviga- tion Planner,」in Proc. the Companion of the ACM/IEEE International Conference on Human-Robot Interaction (HRI), 2017.

 

【13】H. Khambhaita and R. Alami. (2017). Assessing the social criteria for human-robot collaborative navigation: A comparison of human-aware navigation planners. 26th IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN), Lisbon, 2017, pp. 1140-1145.

 

【14】 Khambhaita, H., and Alami, R. 2017. Viewing Robot Navigation in Human Environment as a Cooperative Activity. In International Symposium on Robotics Research (ISSR 2017), 18p.

 

【15】Kathleen Belhassein, Aurélie Clodic, Hélène Cochet, Marketta Niemelä, Päivi Heikkilä, et al.. Human- Human Guidance Study. Rapport LAAS n° 17596. 2017.

 

【16】Päivi Heikkilä, Hanna Lammi, Kathleen Belhassein. Where Can I Find a Pharmacy? -Human-Driven Design of a Service Robot』s Guidance Behaviour. The 4th Workshop on Public Space Human-Robot Interaction (PubRob) as part of the International Conference on Human-Computer Interaction with Mobile Devices and Services (MobileHCI 2018), Sep 2018, Barcelone, Spain.

 

【17】Harmish Khambhaita, Jorge Rios-Martinez, Rachid Alami. Head-Body Motion Coordination for Human Aware Robot Navigation. 9th International workshop on Human-Friendlly Robotics (HFR 2016), Sep 2016, Gênes, Italy. 8p. hal-01568838

 

【18】Jules Waldhart, Aurélie Clodic, Rachid Alami. Planning Human and Robot Placements for Shared Visual Perspective. Workshop on Robotic Co-workers 4.0: Human Safety and Comfort in Human- Robot Interactive Social Environments 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct 2018, Madrid, Spain. hal-01972096

 

【19】Deshmukh, A.; Foster, M. E.; and Mazel, A. 2019. Contextual non-verbal be- haviour generation for humanoid robot using text senti- ment. In Proceedings of the 28th IEEE International Sympo- sium on Robot and Human Interactive Communication (RO- MAN)

 

【20】He, W.; Motlicek, P.; and Odobez, J. 2018a. Deep neural networks for multiple speaker detection and localization. In 2018 IEEE Interna- tional Conference on Robotics and Automation (ICRA), 74– 79.

 

【21】He, W.; Motlicek, P.; and Odobez, J.-M. 2018b. Joint localization and classification of multiple sound sources using a multi-task neural network. In Proceedings of Interspeech 2018, 312–316.

 

【22】He, W.; Motlicek, P.; and Odobez, J. 2019. Adaptation of multiple sound source local- ization neural networks with weak supervision and domain- adversarial training. In ICASSP 2019 – 2019 IEEE Interna- tional Conference on Acoustics, Speech and Signal Process- ing (ICASSP), 770–774.

 

【23】Mary Ellen Foster, Bart Craenen, Amol Deshmukh, Oliver Lemon, Emanuele Bastianelli, et al.. MuMMER: Socially Intelligent Human-Robot Interaction in Public Spaces. 2019.

 

【24】 V. Srinivasan, R. R. Murphy, and C. L. Bethel,「A Reference Ar- chitecture for Social Head Gaze Generation in Social Robotics,」International Journal of Social Robotics, vol. 7, no. 5, pp. 601–616, 2015.

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注