机器人 2022, Vol. 44 Issue (3): 310-320  
0
引用本文
杨天昊, 李云开, 王雅昕, 孟庆浩. 服务机器人的触觉手势识别[J]. 机器人, 2022, 44(3): 310-320.  
YANG Tianhao, LI Yunkai, WANG Yaxin, MENG Qinghao. Touch Gesture Recognition for Service Robots[J]. ROBOT, 2022, 44(3): 310-320.  

服务机器人的触觉手势识别
杨天昊 , 李云开 , 王雅昕 , 孟庆浩     
天津大学电气自动化与信息工程学院机器人与自主系统研究所,天津 300072
摘要:为了实现机器人在人机交互过程中的触觉感知,提出了一种用于服务机器人的触觉手势识别方法。首先,将电子皮肤安装在服务机器人上,通过采集15位被试者的10种手势动作信号,构建了情感手势数据集。然后,使用时空分离卷积神经网络,对被试者触摸服务机器人时做出的触摸手势进行分类。结果表明,被试内手势识别率为90.25%,跨被试手势识别率为83.44%。通过调节模型中的时空通道调节因子,在几乎不降低识别率的同时,可以大幅减少模型参数量。基于电子皮肤的触觉手势识别实验,初步认为使用时空分离卷积神经网络能够以较高的准确率和较低的计算代价实现对人的触觉手势识别,这为服务机器人通过电子皮肤与人实现情感交互提供了可能。
关键词触觉    手势识别    人机交互    卷积神经网络    
中图分类号:TP391.4            文献标志码:A            文章编号:1002-0446(2022)-03-0310-11
Touch Gesture Recognition for Service Robots
YANG Tianhao , LI Yunkai , WANG Yaxin , MENG Qinghao     
Institute of Robotics and Autonomous Systems, School of Electrical and Information Engineering, Tianjin University, Tianjin 300072, China
Abstract: In order to realize tactile perception of robots in the process of human-robot interaction, a touch gesture recognition method for service robots is proposed. Firstly, the electronic skin is installed on the service robot, and an affective gesture dataset is built by collecting 10 kinds of touch gesture signals from 15 subjects. Then, a factorized spatio-temporal convolutional neural network ((2+1)D CNN) is used to classify the gestures applied to the service robot. The results show that the gesture recognition accuracies within-subject and across-subject are 90.25% and 83.44%, respectively. By changing the adjustment factors of spatio-temporal channels in the model, the model parameters can be greatly reduced while the recognition accuracy decreases slightly. Based on the touch gesture recognition experiment using electronic skin, it is preliminarily believed that the use of (2+1)D CNN can achieve human touch gesture recognition with higher accuracy and lower computational cost, which can realize the emotional interaction between service robots and humans through electronic skin.
Keywords: haptics    gesture recognition    human-robot interaction    convolutional neural network    

1 引言(Introduction)

随着科技的快速发展,服务机器人越来越多地出现在人类生活和工作场景中。服务机器人,顾名思义,主要用于服务人类,因此其与人类的直接交互明显多于工业机器人。除了感知、导航等基本的机器人功能外,人们越来越多地关注其所带来的服务质量,尤其是情感体验以及背后的情感内涵[1]。目前,服务机器人可以通过面部表情或语音、语调等信息与人类进行简单的情感交互。但是,在一些诸如无法大声说话、光线昏暗等场景下,通过视觉或声音等信息不能很好地实现人机交互。

触觉作为一种最基本的人际交互方式,可实现意图传递与情感表达[2-3]。在人机交互中,人类有时也倾向于使用触觉方式传递情感与信息,且触觉在人机交互中能以更高的灵敏度获得交互信息[4-5]。Šabanović 等[6]开发了一种海豹机器人以帮助有认知障碍的老年人。研究结果表明,抚摸海豹机器人能有效改善这些老年人的情绪。如果机器人能在识别出人类的触摸手势后给出相应的反馈,那么它将实现触觉智能,提升人机交互水平[7]。然而触觉模态在现有的人机交互研究中尚未得到广泛关注。

现有研究表明,人机触觉交互的第一步是识别触觉手势类型[8]。Jung等[9]实验采集了31名被试者在3种力度(正常、轻柔和粗暴)下的7805组触觉数据,建立了一个包含14种社交触摸手势的数据集CoST(corpus of social touch)。基于该数据集,一些学者采用人工特征提取[7-13]和深度学习[14-16]等方法开展了触觉手势分类研究。人工提取的特征主要包括统计特征与时域特征,这些特征无法完全表示手势的时空信息且易受噪声影响。深度学习方法无需提取手动特征,分类效果普遍优于传统方法,但模型参数量一般较大,无法满足服务机器人等移动设备的实时性需求。在触觉交互过程中,触觉手势动作除了能表达不同的意图,还可以体现人的情感状态[2]。Hertenstein等[3]通过人际触觉交互实验发现,在没有看到触觉刺激的情况下,被触碰的人可以根据触摸感觉准确地识别多数情感。Yohanan等[11]总结了人类在日常生活中常用的30种手势动作,并通过实验探究了这些动作在不同情感下的使用频率。但是,根据现有调查研究,尚未找到公开的触觉情感手势数据集用于人机交互。

针对上述问题,本文设计了触觉情感手势实验,使用电子皮肤采集了15名被试者在12种情感下的10种手势压力信息,建立了触觉情感手势数据集。搭建了用于触觉手势分类的时空分离卷积神经网络(factorized spatio-temporal convolutional neural network,($ 2+1 $)D CNN)模型,该模型对3维卷积核进行时空分解,增加了网络模型深度与非线性。模型引入了时空通道调节因子,可以保证模型准确率与模型参数量之间的平衡。实验结果显示,使用CoST数据集,跨被试手势识别率为64.9%;使用本文创建的数据集,被试内手势识别率为90.25%,跨被试手势识别率为83.44%,识别结果优于现有相关研究,可以用于服务机器人的触觉手势识别。此外,对触觉情感手势数据集进行了被试内情感识别研究,识别准确率为70.84%。本文研究的主要贡献为:

1) 建立了触觉情感手势数据集。同时还实现了触觉手势与情感之间的联系,为人机交互中触觉情感识别建立数据基础。

2) 构建了用于触觉手势特征提取的($ 2+1 $)D CNN。($ 2+1 $)D CNN改进了传统的特征提取方式,得到了充足的手势时空特征。

3) 提出了时空通道调节因子。通过调节时空通道调节因子,可以以小幅降低识别准确率为代价,大幅降低模型参数量和计算量。

2 相关工作(Related work) 2.1 触觉传感器

人类通过复杂的感官系统获取外界信息,机器人感知则需要使用各类传感器采集数据。目前可用于机器人采集人类触觉手势的传感器种类包括加速度传感器[17]、接触式麦克风[18]、光纤布拉格光栅(FBG)式柔性传感器[19]、阵列式压力传感器[9, 20]等。加速度传感器和接触式麦克风采集的信号单一且易受噪声影响,无法准确表征手势信息。阵列式压力传感器在柔性材料内嵌入压力敏感元件组成的阵列,类似于人类的皮肤,能够采集到精细的触觉手势信号。近些年来,随着微电子技术和新型有机材料的发展,触觉传感器开始逐渐向高灵敏度和柔性化的趋势发展。日本东京大学Someya等[21]使用微机电系统(MEMS)加工工艺,将有机场效应管阵列以及具有压阻效应的石墨结合到柔性材料内,研发了一种能够同时测量压力和温度的电子皮肤。中国科学院张挺[22]团队开发出一种以碳纳米管薄膜作为导电材料的柔性电阻式传感器,当在其表面施加压力时,碳纳米管的阻值会改变。在实际应用中,电子皮肤可以准确地量化触摸压力幅值,进行手势的运动形式表征,适合作为人机触觉交互的交互介质[23]

2.2 触觉手势识别

为丰富人机交互的方式,提升交互水平,研究人员开始探索将触觉信息用于人机交互,使用不同类型的设备进行了触觉手势识别研究,如可穿戴设备[24-25]和电子皮肤[2, 20]

在触觉手势识别中,可穿戴设备可以实时捕捉人类操作动作、获取手势信息[26]。Sun等[24]设计了触觉感知手套,并通过极限学习机和卷积神经网络实现了对手势的准确捕捉与动态识别。MIT人工智能实验室Sundaram等[25]通过装有548个传感器的数据手套采集触觉信息,并对不同的抓取手势和被抓取物体进行识别。而将电子皮肤安装在机器人表面进行人机交互时,用户不需要装备额外的交互设备,可以提升用户的交互体验[27]。Silvera-Tawil等[20]将人造皮肤置于人体模特手臂上,采集5种手势动作,通过提取压力、时间等信息特征,采用LogitBoost算法进行分类。Jung等[9]从CoST数据集的手势数据中提取了28种特征,采用留一被试交叉验证的方法对分类结果进行评估,贝叶斯分类器的识别结果为24%~75%(平均值为54%,标准差为12%),支持向量机(SVM)的识别结果为32%~75%(平均值为53%,标准差为11%)。Hughes等[15]使用3维卷积神经网络(CNN3D)、循环卷积神经网络(CNN-RNN)和自编码递归神经网络(Autoencoder-RNN)分别对CoST数据集进行自动特征提取以及分类。网络使用数据集中85% 的样本进行训练,15% 的样本进行验证,3种网络的准确率分别为42.34%、52.86% 和33.52%。

2.3 触觉情感识别

除了对于触觉手势的分类研究,一些学者进一步研究了基于触觉的情感识别方法。Altun等[17]用装有压力传感器和加速度计的毛绒玩具采集人在9种情感下的手势动作,并通过传统特征提取方法建立手势与情感之间的联系,根据先验知识预测情感,得到被试内验证分类结果准确率为48%。此外,Silvera-Tawil等[20]设计情感动作实验,将电子皮肤安装到机器人的手臂上,被试者在6种情感下对手臂做不同的手势动作,提取数据特征并进行分类,使用留一被试交叉验证策略得到的情感分类结果为39.76%。

本文参考并结合了触觉采集实验的相关工作,设计了触觉情感手势数据采集实验,并使用本文设计的网络模型进行了分类识别验证,得到了较好的结果。

3 触觉情感手势数据集(Affective touch gesture dataset)

为识别人与机器人触觉交互过程中触摸手势的类型,并推断出人的情感状态,本文创建了一个触觉情感手势数据集。此数据集后续将会公开。情感手势数据集包含15名被试者在12种情感下的10种手势动作数据。每个手势动作由服务机器人背部覆盖的电子皮肤采集。

3.1 数据采集设备

实验平台选用研究团队自行开发的“天天”服务机器人,如图 1(a)所示。将电子皮肤安装在“天天”服务机器人背部,用于感知人的触觉手势和情感。实验使用的电子皮肤为意大利Plug and Wear公司生产的压力传感器阵列。传感器阵列共包含100个(10$ \times $10分布)传感单元,有效面积为200 mm$ \times $200 mm,空间分辨率为20 mm,厚度为4 mm。将0~3 kgf/cm$ ^{2} $范围内的压力模拟信号归一化,转化为浮点型数字信号输出(范围0~1024),采样频率为50 Hz。

图 1 “天天”服务机器人 Fig.1 Service robot TianTian

将电子皮肤固定在服务机器人的背部,如图 1(b)所示。之所以选择服务机器人背部作为触摸部位,是因为机器人背部的有效面积更大、更为平整,且在人机交互过程中,人类更习惯触摸服务机器人的背部。电子皮肤传感器与Arduino微控制器(Arduino Mega2560 Rev3)相连,Arduino将电子皮肤采集到的数据发送至ECS-9100工控机系统。

3.2 情感手势动作实验设计

总结现有基于触觉的情感研究工作[14, 20],选取了12种不同的离散情感标签,分别是:喜悦、兴奋、惊讶、恐惧、愤怒、厌恶、悲伤、烦闷、疲倦、平静、放松和满意,其在2维连续情感空间[28]下的分布如图 2所示,其中红色标记的为Ekman提出的6种基本情感[29]。参考Yohanan的手势字典[11],本文结合电子皮肤的安装位置选择了10种最有可能在机器人背部表达的动作手势(每种动作又分为轻柔和粗暴2种变化),如表 1所示。

图 2 离散情感在2维情感空间下的分布 Fig.2 The distribution of discrete emotion classes in 2D emotion space
表 1 触觉手势动作定义表 Tab. 1 Definition of touch gestures

在实验开始之前,请被试者想像这个机器人是自己的朋友,并且和机器人有亲密舒适的关系。机器人在当前试验中是被动的,不会做出任何反应。对于每个情感标签,被试者需要根据日常生活习惯,仔细考虑每种情感下每种手势动作的使用可能性,并进行评估。评估等级的定义是:1(非常不可能)、2(不可能)、3(不是很确定)、4(可能)、5(非常可能)。对于评分为1到3的手势,我们认为被试者不会在该情感下做出该手势,因而在对应情感下不进行该类手势数据的采集。此外,被试者将根据表 1中的定义理解每项动作,我们不会给被试者演示动作,以保证在实验采集中所有人使用自己习惯的手势动作。

共有15名被试者参与实验,其中包括5名女性和10名男性(最大26岁,最小20岁)。在实验过程中,随机展示给被试者情感标签,被试者需要想像正在感受该情感,并在机器人的后背做出对应手势动作,我们同时询问并记录了被试者进行该动作的轻柔程度。对每个情感下的所选动作重复采集10次数据,每个动作的采样时间不限,动作次数也不限制(例如:进行拍打时可以多次拍打机器人后背)。

此外,被试者在进行手势采集时,有一部分手势也许在每种情感下都不会选择,因此对于这部分手势动作,需要被试者在平静状态下做出这部分手势动作,以用于触觉手势的分类识别。

3.3 情感手势数据集构建

实验中采集的手势数据记录在服务机器人工控机中,在实验结束后进行导出并处理。数据集由文件夹列表组成,每个被试者数据存储在一个文件夹中,文件夹以“subject $ + $被试者索引(1到15)$ + $性别索引(男性(M)或女性(F))”命名,例如“subject_1_M”,代表第1个受试者,其性别为男。每个文件夹内包含13个子文件夹:其中的12个子文件夹以12种情感命名,每个子文件夹内包含一种情感下所做出的手势动作,每个文件以“手势序号$ + $动作轻重程度(1代表轻柔,2代表粗暴)$ + $动作次数索引(1到10)”命名,例如“B_1_2”,代表轻柔地抚摸第2次的记录文件;另外,子文件夹“rest”内包含其余手势动作数据。

触觉压力时序数据以逗号分隔值文件格式存储。每一个样本的记录形式为$ [T_{i}, 100] $,采样频率为50 Hz。$ T_{i} $代表每个样本的采样帧数,100代表传感器的传感单元数。样本中每个单元的压力记录值范围为0~1024,数据类型为float64。

在采集完所有被试者手势数据后,对所有数据进行了可视化检查。结果发现部分数据因为压力值差异过小而无法与传感器的噪声区分开,因而在数据集中删除了这些样本。最终,数据集由5765个触觉手势序列组成。其中,4号被试者仅有260个数据样本,数量最少;8号被试者有589个数据样本,数量最多。所有样本的帧数范围为49~593(均值为126帧,方差为44.2)。

4 基于时空分离CNN的手势分类模型(A gesture classification model based on factorized spatio-temporal convolutional neural network) 4.1 CNN

CNN是一种人工神经网络,常用于时间序列和图像等信号的特征提取,可以从原始数据中自动提取特征,并且特征具有旋转平移不变性[30]。CNN主要包含数据输入层、卷积计算层、非线性层、池化层和全连接层。在CNN中,卷积层的卷积滤波器通过反向传播更新权重。本文的目的是建立紧凑的网络模型提取手势特征,从而使用较少的模型参数获得较好的分类效果。

4.1.1 时空卷积神经网络(3D CNN)

在时空卷积神经网络(spatio-temporal convolutional neural network,又称3D CNN)框架中,空间信息与时间信息都会在网络层中传播,提取的结果是空间与时间的融合特征。3维卷积的输入数据是5维张量$ [B, N, D, H, W] $,其中$ B $代表批大小,$ N $是输入通道数量,$ D $代表数据的帧数,$ H $$ W $表示每帧数据的长和宽。

3D CNN网络的卷积层计算公式如下:

$ \begin{align} &\mathit{\boldsymbol{L}}_{lj}^{xyz}\\ =&{\mathit{\boldsymbol{f}}}\Bigg(\sum\limits_{i=0}^{N_{l-1} -1} \sum\limits_{s=0}^{S_{l-1} -1} \sum\limits_{q=0}^{Q_{l-1} -1} \sum\limits_{u=0}^{U_{l-1} -1} {\mathit{\boldsymbol{w}}}_{(l-1)ij}^{squ} {\mathit{\boldsymbol{L}}}_{(l-1)i}^{(x+s)(y+q) (z+u)} +\\ &{\mathit{\boldsymbol{b}}}_{(l-1)i}\Bigg) \end{align} $ (1)

其中,$ {\mathit{\boldsymbol{f}}} $是激活函数;$ N_{l} $代表第$ l $层的通道数,$ i $ $ \in $ $ (0, N_{l-1}) $$ j $ $ \in $ $ (0, N_{l}) $$ {\mathit{\boldsymbol{L}}}_{lj}^{xyz} $是一个3维张量,表示第$ l $层的第$ j $个特征图,其中$ [ x, y, z ] $代表 3个维度上的位置;$ {\mathit{\boldsymbol{w}}}_{(l-1)ij}^{squ} $为第$ l $层与第$ l -1 $层之间的卷积核,其中$ [ s, q, u ] $代表卷积核在3个维度上的位置,$ S_{l-1}, Q_{l-1}, U_{l-1} $表示卷积核在3个维度上的尺寸;$ {\mathit{\boldsymbol{b}}}_{(l-1)i} $是偏置值。

4.1.2 时空分离卷积神经网络(($ 2+1 $)D CNN)

时空分离卷积神经网络(($ 2+1 $)D CNN)是将3D CNN中的卷积运算进行拆分,将卷积过程分解为2个单独的步骤,通过先进行2D卷积再进行1D卷积来近似3D卷积的过程,因此称为($ 2+1 $)D CNN[31]

图 3为($ 2+1 $)D卷积模块图。其中,输入数据格式为$ [N_{l-1}, H_{l-1}, W_{l-1}, D_{l-1}] $(不考虑批处理),$ N_{(l-1)m} $代表第$ l -1 $层的中间层通道数,$ N_{l-1} $$ N_{l} $分别表示输入层和输出层的通道数。其中2D卷积核和1D卷积核个数由输入层、中间层以及输出层通道数决定。

图 3 (2+1)D卷积模块 Fig.3 (2+1)D convolutional module

图 3可推出($ 2+1 $)D卷积的计算公式如下:

$ \begin{align} &{\mathit{\boldsymbol{L}}}_{lj}^{xyz}\\ =&{\mathit{\boldsymbol{f}}}\Bigg[\sum\limits_{m=0}^{N_{(l-1)m}} \sum\limits_{u=0}^{U_{l-1} -1} {\mathit{\boldsymbol{v}}}_{(l-1)mj}^{u} f\Bigg( \sum\limits_{i=0}^{N_{l-1}} \sum\limits_{s=0}^{S_{l-1} -1} \sum\limits_{q=0}^{Q_{l-1} -1} {\mathit{\boldsymbol{w}}}_{(l-1)im}^{sq}\times \\ &{\mathit{\boldsymbol{L}}}_{(l-1)i}^{(x+s)(y+q)z} +{\mathit{\boldsymbol{b}}}_{(l-1)im}\Bigg)+{\mathit{\boldsymbol{c}}}_{(l-1)mj}\Bigg] \end{align} $ (2)

$ \begin{align*} &{\mathit{\boldsymbol{h}}}_{(l-1)im}^{xyz}\\ =&{\mathit{\boldsymbol{f}}} \Bigg(\sum\limits_{i=0}^{N_{l-1}} \sum\limits_{s=0}^{S_{l-1} -1} \sum\limits_{q=0}^{Q_{l-1} -1} {\mathit{\boldsymbol{w}}}_{(l-1)im}^{sq}{\mathit{\boldsymbol{L}}}_{(l-1)i}^{(x+s) (y+q)z} + {\mathit{\boldsymbol{b}}}_{(l-1)im}\Bigg) \end{align*} $

则($ 2+1 $)D卷积过程表示为

$ \begin{align} {\mathit{\boldsymbol{L}}}_{lj}^{xyz} ={\mathit{\boldsymbol{f}}}\Bigg({\sum\limits_{m=0}^{N_{(l-1)m}} {\sum\limits_{u=0}^{U_{l-1} -1} {{\mathit{\boldsymbol{v}}}_{(l-1)mj}^{u} {\mathit{\boldsymbol{h}}}_{(l-1)im}^{xyz}}} +{\mathit{\boldsymbol{c}}}_{(l-1)mj}}\Bigg) \end{align} $ (3)

其中,$ {\mathit{\boldsymbol{h}}}_{(l-1)im}^{xyz} $表示输入层进行2D卷积后中间层的特征图张量,$ {\mathit{\boldsymbol{w}}}_{(l-1)im}^{sq} $代表第$ l -1 $层与$ l $层之间的2D卷积核;$ [ s, q ] $表示卷积核在2个方向上的坐标,$ S_{l-1} $$ Q_{l-1} $代表卷积核的大小;$ {\mathit{\boldsymbol{v}}}_{(l-1)mj}^{u} $为1D卷积核,$ u $是1D卷积核的长度方向的坐标,$ U_{l-1} $表示卷积核的长度;$ {\mathit{\boldsymbol{b}}}_{(l-1)im} $$ {\mathit{\boldsymbol{c}}}_{(l-1)mj} $分别为2D和1D卷积部分的偏置值。

从式(3) 可以看出,($ 2+1 $)D CNN分别在时间维度和空间维度提取卷积特征。在时间卷积和空间卷积运算之间增加的激活函数,增强了整个网络的非线性表达能力,使得在训练的过程中网络能够更快地收敛[32]

4.1.3 ($ 2+1 $)D CNN参数对模型参数量的影响

根据式(1)(3),可以分别得出3D CNN和($ 2 $ $ + $ $ 1 $)D CNN模型的单次卷积模型参数量。假设3D卷积核$ {\mathit{\boldsymbol{F}}}\in \mathbb{R}^{d\times d\times t} $,则3D卷积核的参数量为$ N_{l-1} \times d\times d\times t\times N_{l} $。其中,$ N $代表输入通道数,$ d $为2D卷积核的空间维度大小,$ t $表示时间维度大小。

通过对卷积核进行时空分解,得到空间卷积核$ {\mathit{\boldsymbol{F}}}_{\rm S}\in \mathbb{R}^{d\times d} $,时间卷积核$ {\mathit{\boldsymbol{F}}}_{\rm T}\in \mathbb{R}^{t} $。则($ 2+1 $)D卷积核的参数量为$ N_{l-1} \times d\times d\times N_{(l-1)m} +N_{(l-1)m} \times N_{l} \times t $。其中,$ N_{(l-1)m} $代表中间层通道数,$ d $为2D卷积核的大小,$ t $表示1D卷积核的大小。

因此,设置($ 2+1 $)D CNN模型默认参数量与3D卷积一致,可以得出在($ 2+1 $)D模块中,中间层通道数与输入输出层的关系:

$ \begin{align} N_{(l-1)m} =\frac{td^{2}N_{l-1} N_{l}} {d^{2}N_{l-1} +tN_{l}} \cdot \lambda \end{align} $ (4)

其中,$ \lambda $为时空通道调节因子。当确定输入输出通道数的大小后,通过改变$ \lambda $的大小,可以调整中间层的通道数,进而调节网络模型的大小。$ \lambda = $ 1时,($ 2+1 $)D模块与3D模块的参数量大小相同;当$ \lambda > $ 1时,在相同输入输出通道数情况下增加了中间层通道数,网络提取的空间特征变多,相对应($ 2+1 $)D模块的参数量大于3D模块参数量;当$ \lambda < $ 1时,减少了中间层通道数,网络的模型也随之减小,($ 2+1 $)D模块的参数量小于3D模块参数量。

4.2 触觉手势分类模型的网络结构

图 4为基于($ 2+1 $)D CNN的触觉手势分类模型,其中包含($ 2+1 $)D卷积层、池化层、全局平均池化层和全连接层。将手势序列$ {\mathit{\boldsymbol{G}}}\in \mathbb{R}^{32\times 1\times 48\times 10\times 10} $输入到触觉手势分类模型,经过3层的($ 2+1 $)D卷积和池化运算可以得到特征维度为$ \mathbb{R}^{32\times 256\times 7\times 2\times 2} $的特征向量。由于手势数据样本数量较少,且具有低分辨率的特点,直接将256$ \times $7$ \times $2$ \times $2的张量展开成1维向量会增加全连接层的参数,而且训练过程中容易产生过拟合现象。因此在每个卷积层中间使用弃权算法(Dropout)[33],将弃权比率$ p $设置为0.2,并且通过时空全局平均池化对最后一层卷积的输出张量进行特征压缩。时空全局平均池化是将每个通道的所有参数进行平均,最终每个通道只包含1个特征,压缩了特征数量,同时也大幅减少了全连接层的参数量。由于在卷积运算后,数据的分布特征会产生变化,因此在每个($ 2+1 $)D卷积模块的2D和1D卷积后都加入了批标准化(BatchNorm)操作。批标准化是一种包含可训练参数的归一化方法,因此可以在保证不丢失特征的情况下,控制数据的分布情况[34]

图 4 触觉手势分类网络框图 Fig.4 Schematic of the proposed framework for touch gesture classification
5 结果与分析(Results and analyses) 5.1 数据预处理

由于在采集数据时,压力传感器收集的每个手势的原始数据包含了动作开始之前以及动作结束之后所采集的额外数据,如图 5示出的一个“按压”动作样本的传感器输出曲线,横坐标为样本的帧数,纵坐标为传感器输出的归一化压力测量值,其中2条红色虚线内的数据为有效数据。因此为了减少无用数据对网络特征提取所造成的影响,使用滑动窗口法删除额外帧。首先,将100个通道的压力数据相加得到单通道时间序列,在该序列上以给定的步长移动一个固定宽度的窗口。然后通过比较2个相邻窗口的压力差和阈值,可以确定有效数据的起始帧和终止帧。为了确保有效动作手势被充分捕捉,通过多次试验确定了最佳的窗口宽度、步长和压力阈值。

图 5 电子皮肤采集的触觉手势数据(“按压”手势)及数据截取 Fig.5 Touch gesture data acquired by the electronic skin (the "press" gesture) and data segmentation

对于剪切后的有效数据仍存在长短不一的问题,根据CNN的特点,输入数据必须保证维度以及大小的一致性,因此需要对数据进行截取或填充处理。选取48帧作为实验默认值,对于帧数大于48帧的样本,按每48帧一个子样本进行分割,剩余不足48帧的部分舍弃;对于有效数据帧数不足48帧的样本,使用最后一帧的数据将样本填充为48帧。

由于不同被试者对同一手势的表达可能存在差异,因此数据的分布也会存在差异。为尽可能消除此差异,将数据在输入训练网络前进行标准化,如式(6) 所示:

$ \begin{align} \hat{{\mathit{\boldsymbol{X}}}_{i}}=\frac{{\mathit{\boldsymbol{X}}}_{i} -\mu_{\rm B} {\mathit{\boldsymbol{J}}}}{\sigma_{\rm B}^{2}} \end{align} $ (5)

其中$ \mathit{\boldsymbol{X}}_{i} $表示训练集中第$ i $个触觉手势数据,$ \mathit{\boldsymbol{J}} $表示与$ \mathit{\boldsymbol{X}}_{i} $相同维度的全1张量,$ \mu_{\rm B} $为所有训练集数据的均值,$ \sigma_{\rm B} ^{2} $为所有训练集数据的方差。触觉手势数据是3维的,且各传感器在空间与时间上有很强的相关性,因此需要将训练集的所有传感器通道的所有帧数据进行标准化。当测试数据输入网络时,同样要对测试集数据进行标准化处理,让其数据分布接近于训练集。

5.2 模型验证方法

为验证网络对于手势识别的分类效果,使用被试内分类和跨被试分类分别对网络进行训练及测试。对于被试内分类模型,对每个被试者的手势数据进行3折交叉验证,计算所有被试者手势识别准确率的平均值作为被试内手势识别准确率。对于跨被试验证,采用留一被试交叉验证的方法,使用14个人的数据作为训练集,剩余被试者的数据作为测试集。分别对每名被试者作为测试集时训练的网络进行验证,计算所有被试者作为测试集的手势识别准确率的平均值作为跨被试手势识别准确率。

被试内分类验证可以展现网络在小样本训练过程中,能否准确提取分类特征,而不产生过拟合现象[35]。跨被试分类验证时,使用不同的被试者数据样本作为训练集和测试集,数据分布差异远大于被试内测试,因此能够体现出网络的泛化性[36]

5.3 实验结果

对于手势识别,使用Python 3.6和PyTorch 1.6.0机器学习库构建($ 2+1 $)D CNN,并采用Intel Xeon E5430和NVIDIA GTX 1660 Ti GPU对其进行训练。训练次数设置为100次,批大小为32。损失函数选用简单随机梯度下降(SGD)函数,动量项设置为0.9,初始学习率为0.05,每10次训练降低为原学习率的50%。由于CNN要求保证输入数据的大小一致,因此需要将数据帧数截到相同长度,选择帧数为48帧,时空通道调节因子$ \lambda $默认等于1,采用被试内与跨被试2种验证方法训练以及验证网络。

图 6给出了2号被试者在被试内和跨被试验证实验中的训练损失曲线。从图 6可以看出,被试内模型与跨被试模型的训练损失与测试损失均随训练周期快速下降并收敛。对比被试内模型与跨被试模型可以看出,被试内模型在第20个训练周期后逐渐收敛,而跨被试模型在第15个训练周期后逐渐收敛。这是由于跨被试模型使用的训练集为14个被试者的样本总数,远大于被试内模型使用的训练样本数,因而训练损失下降快于被试内模型。

图 6 2号被试者在跨被试和被试内验证下的训练和测试损失曲线 Fig.6 Training and testing losses in user-independent and user-dependent models for No.2 subject

2种验证方法的结果如表 2所示,被试内验证法的准确率为90.25%,跨被试验证法的准确率为83.44%。表 2还给出了模型的参数量与计算复杂度(本文采用浮点运算次数(FLOP)衡量)比较。图 7展示了2种不同验证方法下每名被试者的手势识别准确率。可以看出,被试内验证法的准确率相对高于被试间验证法,由此可以分析出跨被试训练时,由于各被试者数据样本之间存在差异,数据分布相比被试内数据分布更加分散。因此跨被试验证的准确率要低于被试内验证。

表 2 (2+1)D CNN与现有手势识别方法的比较 Tab. 2 Comparison of (2+1)D CNN and other existing gesture recognition methods
图 7 所有被试者在跨被试和被试内验证下的手势识别准确率 Fig.7 The accuracies of gesture recognition for all subjects in the user-independent and user-dependent models

跨被试交叉验证的混淆矩阵如表 3所示。由表 3可知,“拍打”在分类中的召回率最高(91.3%),相反,“挠”在分类中的召回率最低,仅63.9%。在分类精确度方面,“揉搓”和“胳肢”在所有手势中是最高和最低的,分别是92.9% 和54.2%。最容易混淆的手势包括“挠”和“胳肢”(共分错208个数据)、“推”和“按压”(共分错185个数据)。误分类主要是因为手势的相似性,在社交接触中人类也可能对这些手势产生错误的识别[8]。然而,这些误分类并不影响人类对触摸所传达意图的理解,因为在社交过程中,人类往往更关注动作的力度与频率。

表 3 跨被试手势识别混淆矩阵 Tab. 3 Confusion matrix of gesture recognition in user-independent model
5.4 数据帧数与模型参数优化

在对数据帧数和模型参数进行优化时,都采用跨被试训练验证法作为评价标准。

5.4.1 数据帧数

使用($ 2+1 $)D CNN模型测试了将数据截取到16、32、48、64、80、96、112帧时的识别准确率,结果如图 8所示。可以看出,当截取的帧数为16帧和32帧时,测试准确率较低;当截取帧数大于32帧时,测试准确率基本保持在83%。由此可知,48帧的数据基本能涵盖大部分手势动作的特征信息,因此选取48帧作为截取样本的时间长度。

图 8 手势识别准确率与手势数据帧数关系图 Fig.8 Relationship between the gesture recognition accuracy and the frame number of gesture data
5.4.2 时空通道调节因子

对于时空通道调节因子$ \lambda $,选择$ \lambda = 0.2, 0.4, $ $ \cdots, 2.0 $进行训练验证,结果如图 9所示。结合表 2图 9可以看出,对于($ 2+1 $)D CNN模型,在$ \lambda $ $ = $ $ 1 $时识别准确率最高,为83.44%,此时模型参数量为3.81 MB,FLOP为5.581G。$ \lambda <1 $时,模型准确率略微下降,参数量与FLOP大幅降低;$ \lambda >1 $时,模型准确率略微下降,参数量与FLOP有所上升。分析网络结构特点可知,当$ \lambda <1 $时,网络模型提取的空间特征信息不足,而$ \lambda >1 $时提取了冗余的空间信息,导致训练产生过拟合,最终影响了跨被试验证的准确率。

图 9 ($2+1$)D CNN模型识别准确率与$\lambda$的关系图 Fig.9 Relationship between the recognition accuracy of ($2+1$)D CNN model and $\lambda$

图 9中,虚线为与($ 2+1 $)D CNN具有相同参数量($ \lambda = $ 1)的3D CNN训练得到的结果。结合表 2可以看出,3D CNN的识别准确率为81.64%,而取相同参数量(3.81 MB)时($ 2+1 $)D CNN模型的识别准确率为83.44%,高于3D模型。当调节$ \lambda $使其处于0.2~2.0之间时,其准确率均高于3D模型。当$ \lambda = $ 0.2时,网络的参数量(0.77 MB)减小为$ \lambda = $ 1时的20%,但模型的识别准确率只降低1.5%,为81.90%,且FLOP为1.110 G,其参数量和计算量远小于3D CNN。

为比较模型在机器人平台上的运行时间,将($ 2 $ $ + $ $ 1 $)D CNN和3D CNN模型在“天天”机器人平台上进行了测试(CPU:i7-7700)。不同数据输入维度下的模型运行时间如表 4所示。当输入数据维度为48$ \times $10$ \times $10,且时空通道调节因子为0.2时,($ 2 $ $ + $ $ 1 $)D CNN模型的计算时间为3D CNN模型的1/2;随着数据时空维度分辨率的增加,2个模型的计算时间都增加,而($ 2+1 $)D CNN仍具备更快的计算速度。结果表明,与3D CNN相比,($ 2+1 $)D CNN可以通过调节时空通道调节因子大幅提升计算速度,满足机器人等移动设备的实时性要求。

表 4 不同网络模型在机器人平台上的计算时间对比 Tab. 4 Comparison of the runtime for different networks on the robot platform
5.5 模型比较

表 2给出了2D CNN[16]和3D CNN[15]网络模型在本文提出的数据集上的测试结果。可以看出文[16]和文[15]的网络虽然具有较小的参数量,但识别准确率为64.94% 和75.19%,远低于本文提出的($ 2+1 $)D CNN模型达到的83.44%。文[16]使用的2D CNN无法提取时间维度上的特征,文[15]使用的3D CNN采用了较大的时间步长和较小的通道数,因而现有用于手势识别的网络无法有效提取手势特征。($ 2+1 $)D CNN增加了网络非线性和网络深度,可以有效地提取手势信号的时间特征和空间特征,因而具有较高的识别准确率。

此外,将文中提出的($ 2+1 $)D CNN在CoST数据集上进行了测试,测试结果如表 5所示,表 5还给出了其他研究方法在CoST数据集上的测试结果。实验结果表明,本文提出的($ 2+1 $)D CNN目前在CoST数据集上获得了最高的准确率,为64.9%。通过表 2表 5可以看出,本文提出的手势识别($ 2+ $ $ 1 $)D CNN对于不同的手势数据集均可以达到较好的分类效果。

表 5 (2+1)D CNN在CoST数据集上的识别结果与现有方法的比较 Tab. 5 Comparison of the recognition results for (2+1)D CNN and other existing methods on CoST dataset
5.6 情感识别结果

现有研究表明,由于每个人的性格和在幼年时期的触摸经历不同,因此个体间对于情感的认知和触觉表达存在差异[37-38]。为此,选择被试内分类验证方法,使用与手势识别相同的网络结构进行情感识别实验。

通过实验结果可知,($ 2+1 $)D CNN在触觉情感手势数据集上的被试内情感识别的平均准确率可以达到70.84%,其中9号被试者的识别准确率最高,为84.78%;8号被试者的识别准确率最低,为54.12%。使用15位被试者的情感分类结果绘制了情感识别混淆矩阵,如图 10所示。从图中可以看出,“喜悦”的识别准确率最高,为83%,而“厌恶”的识别准确率最低,仅62%。实验结果表明,建立的被试内情感分类模型可以有效地根据被试者手势识别情感状态。在图 10中,用虚线将不同维度的情感进行分割,可以发现,误分类率较高的情感大多都在同一个维度内,例如“厌恶”情感中,11% 被分为“愤怒”,7% 被分为“恐惧”,而这3类情感均在2维连续情感模型(见图 2)的第2象限。而对于“兴奋”和“惊讶”,则有一部分被误识别为“愤怒”和“恐惧”,因为这些动作的唤醒维度较高,容易相互混淆。

图 10 被试内情感识别混淆矩阵 Fig.10 Confusion matrix for emotion recognition in user-dependent model
6 结论(Conclusion)

为解决服务机器人的触觉识别分类问题,本文采用一种轻薄、可弯曲、可伸缩的柔性电子皮肤进行触觉情感手势实验,组建触觉情感手势数据集,并提出了一种时空分离卷积神经网络模型,对模型进行了训练和测试。测试结果表明,时空分离卷积神经网络能够有效地提取触觉手势时空特征,识别准确率高,具有良好的泛化能力。所提出的时空通道调节因子以稍微降低识别准确率为代价,大幅地缩小了网络的模型参数量和计算量,当将模型中的时空通道调节因子设置为0.2时,参数量减小为3D卷积模型的20%,识别准确率仅仅下降1.5%。通过对模型参数量的调节,易于将本文模型应用到服务机器人平台。此外,建立了被试内情感分类模型,对于12种情感的平均识别准确率达到了70.84%。

参考文献(References)
[1]
邓卫斌, 于国龙. 社交机器人发展现状及关键技术研究[J]. 科学技术与工程, 2016, 16(12): 163-170.
Deng W B, Yu G L. Development and key technology of social robot[J]. Science Technology and Engineering, 2016, 16(12): 163-170. DOI:10.3969/j.issn.1671-1815.2016.12.027
[2]
Keshmiri S, Shiomi M, Sumioka H, et al. Gentle versus strong touch classification: Preliminary results, challenges, and potentials[J]. Sensors, 2020, 20(11). DOI:10.3390/s20113033
[3]
Hertenstein M J, Holmes R, McCullough M, et al. The communication of emotion via touch[J]. Emotion, 2009, 9(4): 566-573. DOI:10.1037/a0016108
[4]
彭玉青, 赵晓松, 陶慧芳, 等. 复杂背景下基于深度学习的手势识别[J]. 机器人, 2019, 41(4): 534-542.
Peng Y Q, Zhao X S, Tao H F, et al. Hand gesture recognition against complex background based on deep learning[J]. Robot, 2019, 41(4): 534-542.
[5]
Li Y K, Wang B W, Li Y Y, et al. Design and output characteristics of magnetostrictive tactile sensor for detecting force and stiffness of manipulated objects[J]. IEEE Transactions on Industrial Informatics, 2019, 15(2): 1219-1225. DOI:10.1109/TII.2018.2862912
[6]
Šabanović S, Bennett C C, Chang W L, et al. PARO robot affects diverse interaction modalities in group sensory therapy for older adults with dementia[C]//IEEE 13th International Conference on Rehabilitation Robotics. Piscataway, USA: IEEE, 2013. DOI: 10.1109/ICORR.2013.6650427.
[7]
Saunderson S, Nejat G. How robots influence humans: A survey of nonverbal communication in social human-robot interaction[J]. International Journal of Social Robotics, 2019, 11(4): 575-608. DOI:10.1007/s12369-019-00523-0
[8]
Jung M M, Poel M, Poppe R, et al. Automatic recognition of touch gestures in the corpus of social touch[J]. Journal on Multimodal User Interfaces, 2017, 11(1): 81-96. DOI:10.1007/s12193-016-0232-9
[9]
Jung M M, Poppe R, Poel M, et al. Touching the void - Introducing CoST: corpus of social touch[C]//16th International Conference on Multimodal Interaction. New York, USA: ACM, 2014: 120-127.
[10]
van Wingerden S, Uebbing T J, Jung M M, et al. A neural network based approach to social touch classification[C]// 2014 Workshop on Emotion Representation and Modelling in Human-Computer-Interaction-Systems. New York, USA: ACM, 2014: 7-12.
[11]
Yohanan S, MacLean K E. The role of affective touch in human-robot interaction: Human intent and expectations in touching the haptic creature[J]. International Journal of Social Robotics, 2012, 4(2): 163-180. DOI:10.1007/s12369-011-0126-7
[12]
Hughes D, Farrow N, Profita H, et al. Detecting and identifying tactile gestures using deep autoencoders, geometric moments and gesture level features[C]//ACM International Conference on Multimodal Interaction. New York, USA: ACM, 2015: 415-422.
[13]
Ta V C, Johal W, Portaz M, et al. The Grenoble system for the social touch challenge at ICMI 2015[C]//ACM International Conference on Multimodal Interaction. New York, USA: ACM, 2015: 391-398.
[14]
Altuglu T B, Altun K. Recognizing touch gestures for social human-robot interaction[C]//ACM International Conference on Multimodal Interaction. New York, USA: ACM, 2015: 407-413.
[15]
Hughes D, Krauthammer A, Correll N. Recognizing social touch gestures using recurrent and convolutional neural networks[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2017: 2315-2321.
[16]
Albawi S, Bayat O, Al-Azawi S, et al. Social touch gesture recognition using convolutional neural network[J]. Computational Intelligence and Neuroscience, 2018. DOI: 10.1155/2018/6973103.
[17]
Altun K, MacLean K E. Recognizing affect in human touch of a robot[J]. Pattern Recognition Letters, 2015, 66(15): 31-40.
[18]
Gamboa-Montero J J, Alonso-Martin F, Castillo J C, et al. Detecting, locating and recognising human touches in social robots with contact microphones[J]. Engineering Applications of Artificial Intelligence, 2020, 92. DOI:10.1016/j.engappai.2020.103670
[19]
许会超, 苗新刚, 汪苏. 基于FBG的机器人柔性触觉传感器[J]. 机器人, 2018, 40(5): 634-639, 722.
Xu H C, Miao X G, Wang S. A flexible tactile sensor for robot based on FBG[J]. Robot, 2018, 40(5): 634-639, 722.
[20]
Silvera-Tawil D, Rye D, Velonaki M. Interpretation of social touch on an artificial arm covered with an EIT-based sensitive skin[J]. International Journal of Social Robotics, 2014, 6(4): 489-505. DOI:10.1007/s12369-013-0223-x
[21]
Someya T, Sekitani T, Iba S, et al. A large-area, flexible pressure sensor matrix with organic field-effect transistors for artificial skin applications[J]. PNAS, 2004, 101(27): 9966-9970. DOI:10.1073/pnas.0401918101
[22]
Wang X W, Gu Y, Xiong Z P, et al. Silk-molded flexible, ultrasensitive, and highly stable electronic skin for monitoring human physiological signals[J]. Advanced Materials, 2014, 26(9): 1336-1342.
[23]
Zhao X, Zhang Z, Liao Q, et al. Self-powered user-interactive electronic skin for programmable touch operation platform[J]. Science Advances, 2020, 6(28). DOI:10.1126/sciadv.aba4294
[24]
Fang B, Sun F C, Liu H P, et al. Wearable technology for robotic manipulation and learning[M]. Singapore: Springer, 2020.
[25]
Sundaram S, Kellnhofer P, Li Y, et al. Learning the signatures of the human grasp using a scalable tactile glove[J]. Nature, 2019, 569(7758): 698-702.
[26]
Kale S, Mane S, Patil P. Wearable biomedical parameter monitoring system: A review[C]//International Conference of Electronics, Communication and Aerospace Technology. Piscataway, USA: IEEE, 2017: 614-617.
[27]
Flagg A, MacLean K. Affective touch gesture recognition for a furry zoomorphic machine[C]//7th International Conference on Tangible, Embedded and Embodied Interaction. New York, USA: ACM, 2013: 25-32.
[28]
Russell J A, Weiss A, Mendelsohn G A. Affect grid: A single-item scale of pleasure and arousal[J]. Journal of Personality and Social Psychology, 1989, 57: 493-502.
[29]
Ekman P. An argument for basic emotions[J]. Cognition and Emotion, 1992, 6(3-4): 169-200.
[30]
Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84-90.
[31]
Tran D, Wang H, Torresani L, et al. A closer look at spatio-temporal convolutions for action recognition[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2018: 6450-6459.
[32]
Glorot X, Bordes A, Bengio Y. Deep sparse rectifier neural networks[C]//14th International Conference on Artificial Intelligence and Statistics. 2011: 315-323.
[33]
Srivastava N, Hinton G E, Krizhevsky A, et al. Dropout: A simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(1): 1929-1958.
[34]
Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[C]//32nd International Conference on Machine Learning. New York, USA: ACM, 2015: 448-456.
[35]
Krauledat M, Tangermann M, Blankertz B, et al. Towards zero training for brain-computer interfacing[J]. PLoS One, 2008, 3(8). DOI:10.1371/journal.pone.0002967
[36]
Li X, Song D, Zhang P, et al. Exploring EEG features in cross-subject emotion recognition[J]. Frontiers in Neuroscience, 2018, 12. DOI:10.3389/fnins.2018.00162
[37]
Jones S E, Brown B C. Touch attitudes and behaviors, recollections of early childhood touch, and social self-confidence[J]. Journal of Nonverbal Behavior, 1996, 20(3): 147-163.
[38]
Deethardt J F, Hines D G. Tactile communication and personality differences[J]. Journal of Nonverbal Behavior, 1983, 8(2): 143-156.