1、基于三支决策的触摸手势识别算法 时煜斌 刘群 重庆邮电大学计算智能重庆市重点实验室 摘 要: 为了提高人与机器人交互过程中对触摸手势的识别能力, 提出一种基于三支决策的触摸手势识别算法。通过对触摸手势数据集 Co ST (corpus of social touch) 的分析以及结合其他领域的研究, 提出 2 种数据预处理方法“截取”和“去背景”, 并从 6 个不同角度提取了特征, 包括基本特征、基于直方图的特征、序列特征、梯度特征、接触面积特征和基于每个传感器的特征。以随机森林为分类器采用十折交叉方法进行了验证, 发现不同的预处理对于不同触摸手势的识别有不同的效果。为了融合不同预处理的优势,
2、 引入三支决策的思想, 将 m 分类问题转化为 m 个 2 分类问题, 使用统计的方法计算每个二分类的三支决策阈值, 按照一定的先后顺序和权重指标对经过不同预处理的分类结果进行决策筛选。仿真实验结果表明, 基于三支决策的触摸手势识别算法在一定程度上达到了融合的效果, 并提高了触摸手势的识别率。关键词: 触摸手势; 数据预处理; 三支决策; 分类识别; 作者简介:时煜斌 (1991-) , 男, 陕西汉中人, 硕士研究生, 主要研究方向为机器人触摸手势识别。E-mail:。作者简介:刘群 (1969-) , 女, 江西南昌人, 教授, 博士, 研究方向为数据挖掘、智能信息处理、复杂网络。E-ma
3、il:。收稿日期:2016-12-08基金:重庆市研究生科研创新项目 (CYS16161) Algorithm of touch gesture recognition based on three-way decisionsSHI Yubin LIU Qun Chongqing key laboratory of computational intelligence, Chongqing University of Posts and Telecommunications; Abstract: In order to improve the recognition ability of th
4、e touch gesture in the interaction between human and robot, an algorithm of touch gesture recognition based on three-way decisions is proposed.Through the analysis of touch gesture data set Co ST (Corpus of Social Touch) and combining with other fields of study, we put forward two data preprocessing
5、 methods, “ cutout“ and “ instant mask“, and extract features from six different perspectives including basic features, histogrambased features, sequence features, gradient-based features, contact area features and channel-based features.Using random forest as classifier and validating with 10-fold
6、cross method, it is found that different preprocessing methods have different effects on the recognition of different gestures.In order to combine the advantage of different preprocessing, threeway decisions is introduced, and the m-category classification problems are changed into m two-category cl
7、assification problems.The three-way decisions thresholds for each two-category classification problem are calculated by statistical method.According to a certain order and indicators, the classification results through different preprocessing are screened.The experimental results show that the algor
8、ithm achieves a certain degree of fusion effect and improves the recognition rate of the touch gesture.Keyword: touch gesture; preprocessing; three-way decisions; classification; Received: 2016-12-080 引言情感是人类独有的特征, 在感知、决策、学习和处理人际关系等方面都有至关重要的作用。在人与机器人交互的过程中, 给予机器人识别人类情感的能力, 会使得机器人更加的人性化、智能化。未来情感机器人可被
9、应用到机器人伙伴、远程交互以及机器人治疗1-2, 特别是机器人治疗, 有着深远的意义3。目前对于情感机器人交互的研究主要集中在视觉和听觉方面, 而触摸行为作为一种重要的非语言的社会交流方式, 却没有引起足够的关注。触摸行为就像面部表情和肢体语言一样, 在人与人的交流过程中, 对于建立和保持社会关系有着重要的作用4。对触摸行为的研究主要是通过类动物或者类人的机器人收集数据, 然后分析数据进行触摸行为的分类、识别5-6。根据构成机器人的不同形态, 当前的研究可以分为 3 种:模拟人工皮肤7、全身覆盖传感器的特殊机器人8和其他方式9。为了扩大研究者们对触摸手势的研究关注度以及促进研究进展, 国际计算
10、机学会 (association for computing machinery, ACM) 举办了以提高触摸手势识别率为目标的竞赛 the Social Touch Gesture Challenge201510。竞赛提供了 2 个数据集:Co ST11 (corpus of social touch) 和 HARRT12 (human-animal affective robot touch) , 结果在 the 2015 ACM International Conference on Multi-model Interaction (ICMI) 上进行了公布。竞赛中, 文献13使用深层神
11、经网络与隐马尔可夫模型 (DNN-HMMs) 、几何矩以及手势级别的特征来识别数据, 其中 Co ST 达到 56%的准确率, HAART 达到 71%的准确率。文献14中以压力数据图像特征、赫斯特指数、Hjorth 参数、autoregressive model 系数作为特征, 使用随机森林作为分类器, Co ST 识别率达到了 26%95%, HAART 识别率为 60%70%。文献15提出了 5 种特征集, 使用随机森林和 Boosting 的组合分类器进行分类, Co ST 达到 59%的识别率, HAART 达到 67%的识别率。文献16中提取了全局特征 (如平均压力, 最大压力,
12、等) 、基于 channel 的特征、以及 sequence 特征共 273 个特征, 经过特征选择和演化, 使用随机森林和支持向量机 (support vector machine, SVM) 进行分类, Co ST 达到 60.8%识别率, HAART 达到 70.91%识别率。本文的工作目标是提高触摸手势的识别率, 通过对数据的分析, 提出了 2 种数据预处理方法, 在此基础上引入三支决策的思想, 提出了一种融合不同预处理方法优势的触摸手势识别算法。三支决策是一种基于符合人类认知的决策模式, 它认为人们在实际决策过程中, 对于具有充分把握接受或拒绝的事物能够立即做出快速的判断;对于那些不
13、能立即做出决策的事物, 人们往往会推迟对事件的判断, 即延迟决策17。三支决策的思想在日常生活中是比较常见的, 同时广泛应用于许多领域和学科, 包括医学决策18-20, 社会判断理论21, 统计学假设检验22, 对等审查23以及管理科学24-25。1 数据的处理与分析1.1 数据集描述本文的工作主要针对于 Co ST 数据集, 对数据集的具体介绍可以查看文献11。数据集中包含 14 种手势如表 1 所示, 由 31 个测试者实施, 其中每种手势 2 种强度, 每个手势被实施 6 次。每一个手势数据由若干个 88 的压力矩阵帧组成, 类似于视频数据。数据集分为训练集 (3 524 个手势数据)
14、和测试集 (1 769 个手势数据) 。表 1 Co ST:14 种手势 Tab.1 14 touch gestures in Co ST 下载原表 1.2 数据预处理根据 Co ST 的实验过程和 14 种手势的特性, 本文分析了 2 种噪声数据, 并针对这 2 种噪声, 提出了对应的处理方法:“截取”和“去背景”。“截取”:由于在数据集的收集过程中, 需要人为地进行手势的前后切分, 所以, 一些手势数据开始和结束部分存在无效的帧。我们以手势数据每一帧的最大值序列为参照进行分析, 如图 1 所示。图 1 中手势“hit”的一组数据, 其中有效部分仅为垂直虚线中间的部分, 其他部分需要被去除掉
15、。为了找到合适的阈值进行数据的“截取”, 实验中分别以手势数据每一帧最大值序列的均值、中位数、最大值的不同比例值为阈值进行测试, 其中均值和中位数的比例值为10%150%, 最大值的比例值为 10%80%, 以 5%为步长。为了验证不同阈值的效果, 我们在经过不同阈值截取的训练数据集上提取 1.3 节描述的特征, 以随机森林为分类器使用十折交叉验证方法进行验证, 结果显示, 取均值的 99%左右时, 具有较好的表现。因此, 我们以手势数据每一帧最大值序列的均值 100%比例作为最终的阈值选择。图 1 中, 水平方向虚线代表“截取”的阈值, 将数据开始和结束部分低于阈值的帧去除掉。图 1 手势“
16、hit”每帧压力最大值序列 Fig.1 Sequences of the maximum pressure value for each frame of gesture“hit” 下载原图“去背景”:一些手势由于本身的特性过于轻微或者实施的过快, 很难捕捉到有效的特征信息。图 2 为手势“tap”原始数据的部分帧, 88 的方框代表数据的 88 矩阵, 黑色区域代表压力敏感的区域, 颜色越深压力越大。为了将这部分手势的有效部分凸显出来, 实验中参照灰度图二值化的方法, 对手势数据的每一帧的压力矩阵做了“二值化”处理, 选取合适的阈值, 将小于阈值的压力点作为“背景”, 大于阈值的作为“前景”
17、, 保留“前景”去掉“背景”即压力置为零。实验中尝试了最大类间方差法, 均值以及最大值的 50%, 同样在训练集上采用十折交叉进行测试, 最终选择最大类间方差法作为“去背景”的阈值计算方法。图 3 为对应帧经过预处理后的数据。1.3 特征提取通过对数据的分析以及参考其他研究者的工作, 本文从 6 个角度提取了共 331个特征, 其中包括基本特征、基于直方图的特征、序列特征、梯度特征、接触面积特征以及基于每个传感器的特征。1) 基本特征。这部分特征选取自文献11, 从宏观的角度对触摸手势进行特征的提取。包括手势持续时间, 手势平均压力值, 最大压力值, 行列平均压力值, 压力变化值以及位移, 详
18、细描述可以参照文献11, 共计 24 个特征。2) 基于直方图的特征。数据集 Co ST 中触摸手势的数据为若干帧的压力矩阵, 不同手势实施过程中动作、力度大小不同, 则必然会使得压力的分布有所差异。为了获取不同手势压力分布的情况, 本文采用图像直方图的方法来提取特征。数据集中压力值变化为 01 023, 实验中将这个区间均等划分为若干块, 以手势数据中压力落在不同块里的个数为特征。文献26中测试了分别将区间划分为 2 到 32 块的效果, 其中 8 块的时候具有较好的效果。图 2 手势“tap”预处理前压力矩阵图 Fig.2 Frames of gesture“tap”before prep
19、rocessing 下载原图3) 序列特征。每一个手势都是一个连续的过程, 为了准确地对手势进行识别, 提取针对手势持续过程的特征是有必要的。文献16中以每个手势的平均压力序列为参照, 使用快速傅里叶变换 (fast Fourier transformation, FFT) 和离散余弦变换 (discrete cosine transform, DCT) 计算序列的特征, 其中FFT 取前 16 个最大频率, DCT 取前 25 个值。本文将这种方法提取的特征和其他特征结合起来进行测试, 发现这部分的特征反而会降低识别准确率。因此, 我们使用统计的方法提取手势数据的序列特征。图 3 手势“ta
20、p”预处理后压力矩阵图 Fig.3 Frames of gesture“tap”after preprocessing 下载原图实验中, 我们分别计算了由每一帧压力矩阵的均值、最大值以及求和值组成的序列的统计指标。文中用到的统计指标包括最大值、均值、中位数、众数、极差、中程数、方差、标准差、变异系数以及峰值个数。峰值个数为序列曲线与特定阈值直线的交叉点个数, 我们取了 4 个阈值, 分别为最大值的 50%、均值、中程数和中位数。一共 39 个特征。4) 梯度特征。为了获取手势数据中点与相邻点之间的压力差异情况, 我们从压力梯度的角度进行特征的提取, 计算每一帧中每个点和它相邻点 (前后, 上下
21、, 对角线) 的压力差再取绝对值, 共 210 个值, 作为这一帧的梯度。计算由每一帧梯度的均值和最大值组成的 2 个序列的统计指标。共计 26 个特征。5) 接触面积特征。手势的实施是在一个压力敏感的模拟皮肤上进行, 不同的手势因其自身的社会特性不同, 和模拟皮肤的接触面积必然会不同, 因此, 提取接触面积特征具有必要性。接触面积的计算方法如下:每一帧的接触面积为这一帧中大于特定阈值的压力点个数。本文中分别使用了每一帧的最大类间方差法所得值、压力均值、最大值的 50%作为计算接触面积的阈值。最后以由每一帧的接触面积组成的序列的统计指标, 以及有着最大求和压力帧的接触面积作为手势识别的特征,
22、一共 42 个特征。6) 基于每个传感器的特征。获取手势压力数据的模拟皮肤包含 88 个压力传感器, 手势的变化均由这 64 个传感器来捕获, 从每个传感器的角度来进行手势特征的提取, 可以在一定程度获取到更细致全面的信息。提取方法如下:计算每个传感器在整个手势持续过程中的压力的均值、平均压力的变化值以及压力值大于所在帧最大类间方差法阈值的次数占总帧数的比例, 共计 192 个特征。1.4 分类分析由 1.2 节可知, 本文一共提出 2 种数据预处理的方法, 由这 2 种预处理方法的组合我们可以得到 4 种预处理方案。数据集经过不同预处理方案处理可以得到如下 4 个数据集:原始数据集、“截取”
23、后数据集、“去背景”数据集和“截取”并“去背景”后数据集。我们首先在训练集进行不同预处理得到以上 4 个数据集并分别提取特征, 然后以随机森林为分类器, 采用十折交叉的方法分别进行验证。其中随机森林是利用多棵决策树对样本进行训练并预测的分类模型, 具有可以处理高维度数据和训练速度快的优势, 同时在 Touch Challenge 2015 竞赛中也有着较好的表现, 因此文中选择随机森林作为实验的分类器。表 2 描述了在训练集上使用 4 种预处理方案后分类的查全率。由表 2 可以发现, 不同的预处理方案对于不同手势的识别有着不同的效果, 例如其中差别较大的手势“squeeze”经过“截取”后有将
24、近 5%的提升。为了融合不同预处理的优势, 本文提出了一种基于三支决策的触摸手势识别算法。表 2 训练集上 4 种预处理后十折交叉分类的查全率 Tab.2 Recall of 10-fold cross validation on train set with 4 different preprocessing% 下载原表 2 基于三支决策的触摸手势识别算法受启发于姚一豫教授序贯性三支决策27的思想, 本文在 4 种预处理方案的基础上提出了基于三支决策的触摸手势识别算法。由于三支决策解决的是“2 分类”问题, 因此, 实验中需要将本文的“m 分类”问题转换为 m 个“2 分类”问题。2.1 三
25、支决策阈值图 4 描述了三支决策的模型28。图 4 三支决策模型 Fig.4 Model of three-way decisions. 下载原图根据阈值 (, ) 和概率 Pr (X|x) 决策域被划分为接受域 (positive, POS) 、边界域 (boundary, BND) 和拒绝域 (negative, NEG) 3 个域, 如公式1 所示。在使用三支决策解决现实的决策问题时, 选择合理的 和 阈值是最关键的一步。文献29提出了一种自适应求三支决策中决策阈值的算法。本文实验中尝试了这种算法, 但是无法得到合理的阈值, 总是出现边界域过宽或过窄的情况, 根据文献29的方法调整参数后
26、也不能解决, 因而, 本文使用统计的方法来计算阈值。首先使用 weka 平台 API weka.classifiers.Classifier.distribution For Instance 计算分类的条件概率, 通过 leave-one-out 的方式在训练集上获取阈值计算的样本, 进而分析样本中概率的分布情况得出最后的阈值。表 3 为手势“slap”的二分类经过 4 种预处理的概率分布情况, 按照真阳性 (true positive, TP) , 真阴性 (true negative, TN) , 假阳性 (false positive, FP) 和假阴性 (false negative
27、, FN) 进行统计。可以发现每个二分类器中 TP部分概率值的各项指标要大于 FP, TN 和 FN 部分, 而 FN 部分概率值的各项指标要小于 TP, FP 和 TN 部分。实验中我们分析了其余手势的情况, 发现具有相同的规律。因此, 我们认为分类器在 TP 部分和 FN 部分做出的决策分别是有充分把握的接受和有充分把握的拒绝, 而在 FP 和 TN 部分为不能确定的决策, 并在TP 部分的统计指标中选取 值, 在 FN 部分的统计指标中选取 值。经过实验测试, 我们最终以 TP 部分第一分位数作为 值, 以 FN 部分的第三分位数作为 值。2.2 m 个二分类的决策m 个二分类融合 4
28、种预处理的决策方法如表 4 所示, 共有 m 个二分类, 每个二分类都可通过 4 种预处理方案得到的数据集训练出 4 个分类器, 其中水平方向为 m 个二分类, 垂直方向为 4 种预处理方案。按照文献27中的理论, 序贯性决策的顺序是基于信息粒度的, 本文中无法得到 4 种预处理方案在信息粒度上的指标, 因此, 我们参照在训练集上使用 4 种预处理后分类的 F 值来决定决策的顺序, “截取”“原始数据集”“截取”且“去背景”“去背景”。每个二分类按照表 4 从左往右进行决策, 如果当前分类器无法得到 POS 或者NEG 的结果, 则使用下一个分类器继续进行决策过程, 直到结果不为延迟决策 (B
29、ND) 或者用完 4 个分类器。表 3 手势“slap”的二分类经过 4 种预处理的分类概率分布情况 Tab.3 Probability distribution of two-category classification of gesture“slap”under 4 preprocessing% 下载原表 表 4 m 个二分类融合 4 种预处理的决策方法 Tab.4 Decision method of m two-category classification fusion 4 kinds of preprocessing 下载原表 2.3 决策结果选择在 m 个二分类决策结果中采取相
30、同决策动作的二分类可能有多个, 要选择出最终的预测值, 则需要给每个二分类器的决策一个可以比较的权重指标。本文将二分类的分类条件概率 pij和对应二分类在每种预处理后训练集上分类的可靠程度 confij相结合, 给出了每个决策的权重 wij, 其中 i=1, 2, 3, , m表示 m 个二分类, j=1, 2, 3, 4表示 4 种不同预处理, 文中 confij取对应的分类的评价指标 F 值。算法过程详细描述如下所示。算法复杂度分析。根据以上的算法流程我们分步对算法的时间复杂度进行分析: (1) 预处理与特征提取过程为 O (NR) , 其中 N 为训练集中 3 524 个手势数据的总帧数
31、, 共 642 431 帧, R 为每一帧中压力数组长度 64; (2) 训练 4 个分类器的时间复杂度 O (vnlog (n) ) , v 为特征数 331, n 为手势个数 3 524; (3) 计算每个分类器对每种手势分类的可靠程度 confij的时间复杂度为 O (vnlog (n) ) ; (4) 计算每个分类器对每种手势的三支决策阈值 (, ) ij的时间复杂度为 O (vnlog (n) ) ; (5) 预测阶段的时间复杂度为 O (npM) , np 为 4 种预处理, M 为总的类别数 14。其中最耗时的是计算三支决策阈值的阶段, 之所以如此, 是因为我们使用了 leave
32、-one-out 的方式。算法的空间复杂度为 O (vn) 。2.4 实验结果将算法和单独使用某种预处理的分类效果进行对比, 表 5 为查全率的对比结果, 其中算法对于手势“grab”, “massage”, “pinch”, “stroke”和“tickle”的识别有了一定的提升, 并且平均查全率高于所有使用单独预处理方法的分类效果。表 6 对比了查准率的结果, 识别率有所提升的手势有“pat”, “rub”, “scratch”和“tap”, 同时平均查准率也高于使用单独预处理方法的分类效果。表 5 测试集上的分类查全率 Tab.5 Classification recall on tes
33、t set 下载原表 每种预处理对手势识别的作用, 因手势自身特性的不同, 并非都是正向的提升效果, 部分手势经过预处理后反而降低了识别率。出于融合不同预处理方案优势的目的, 本文提出了基于三支决策的触摸手势识别算法, 算法采用序贯性三支决策的思想, 将 4 种预处理方案按照其在训练集上作用后的识别率高低进行决策顺序的排列, 由高到低, 旨在让决策过程层层补充, 以达到融合不同预处理优势的效果。通过以上的实验结果可以说明, 本文算法一定程度上提高了手势的分类识别率, 具有融合 4 种预处理优势的效果。表 6 测试集上的分类查准率 Tab.6 Classification precession
34、on test set 下载原表 表 7 将本文算法结果和在 Co ST 数据集上进行触摸手势研究工作中的其他文献结果进行了对比, 文献16具有最高的识别率 60.8%, 本文的算法效果优于文献13-15的结果, 接近于文献16的结果。与文献16相比, 本文算法对于手势“grab”, “hit”, “massage”, “pinch”, “poke”, “press”和“slap”的识别具有更好的效果。3 总结本文通过对触摸手势数据的分析, 提出了 2 种数据预处理的方法, 组合 2 种方法得到了 4 种预处理的方案。为了融合不同预处理的效果, 本文提出了一种基于三支决策的触摸手势识别算法,
35、通过表 5 和表 6 的分类评价指标可以说明本文的算法在一定程度上融合了不同预处理的优势, 提高了触摸手势的识别率。表 7 实验结果对比 Tab.7 Comparison of experimental results 下载原表 在未来的工作中, 本文算法需要改进的地方如下: (1) 每个二分类的三支决策阈值计算需要进一步研究提出更合理的方案; (2) 未来可能会找到其他有效的数据预处理方法, 如何决定每个二分类的决策顺序, 需要继续研究。参考文献1CHANG J, MACLEAN K, YOHANAN S.Gesture Recognition in the Haptic CreatureC
36、/L Naish.Lecture Notes in Computer Science.Berlin:Springer Berlin Heidelberg, 2010:385-391. 2SILVERA T D, RYE D, VELONAKI M.Interpretation of Social Touch on an Artificial Arm Covered with an EITbased Sensitive SkinJ.International Journal of Social Robotics, 2014, 6 (4) :489-505. 3刘欣.基于表情认知的服务机器人情感计
37、算研究D.北京:北京科技大学, 2015.LIU Xin.Service Robots Affective Computing based on Facial Expression CognitionD.Beijing:University of Science and Technology Beijing, 2015 4VINCIARELLI A, PANTIC M, BOURLARD H, et al.Social signals, their function, and automatic analysis:a surveyC/Proceedings of the 10th intern
38、ational conference on Multimodal interfaces.CHANIA, CRETE, Greece:ACM, 2008:61-68. 5HAANS A, IJSSELSTEIJN W.Mediated social touch:a review of current research and future directionsJ.Virtual Reality, 2006, 9 (2) :149-159. 6HERTENSTEIN M J, VERKAMP J M, KERESTES A M, et al.The communicative functions of touch in humans, nonhuman primates, and rats:a review and synthesis of the empirical research.J.Genetic Social&General Psychology Monographs, 2006, 132 (1) :5-94. 7DAHIYA R S, METTA G, VALLE M, et al.Tactile sensing:from humans to humanoidsJ.IEEE Transactions on Robotics, 2010, 26 (1) :1-20.