本发明属于人工智能,具体涉及一种基于多特征置信度分级融合的动态手势识别方法。
背景技术:
1、手势作为人类最古老的交流方式之一,动态手势在人机交互领域也有广泛的应用,由于动态手势属于天然、无接触的操作方式所以更适用于新一代的人机交互逻辑,因此动态手势已成为国内外研究的前沿和热点,根据手势数据采集方式的不同,动态手势识别可以分为非视觉和视觉两种。
2、非视觉手势数据采集依赖于特殊硬件设备,如数据手套、电容传感阵列等。虽然非视觉手势方法在遇到遮挡障碍时表现更出色,但也因设备体积和成本等因素在应用场景上存在一些限制,给用户带来不便。但是视觉手势识别方法更加便捷,因此许多研究人员更倾向于采用视觉方法进行手势识别。
3、视觉方法通常需要特殊的深度相机或红外相机,来获取手势信息。此外,一些研究人员也使用特定颜色的指套来定位手指位置,但是现有的动态手势识别方法通常只能根据关节点的位移特征来识别,但是当手掌角度发生偏转的时候无法有效识别出动态手势,导致动态手势识别准确率不高。
技术实现思路
1、本发明用于解决现有的动态手势识别方法通常只能根据关节点的位移特征来识别,但是当手掌角度发生偏转的时候无法有效识别出动态手势,导致动态手势识别准确率不高。
2、本发明的一种基于多特征置信度分级融合的动态手势识别方法采用如下技术方案:
3、获取待检测手势;其中,一个待检测手势包含多个手指关节点和一个掌心关节点;
4、根据每个手指关节点的变化幅度从待检测手势中截取出多帧有效图像;
5、根据每个手指关节点在相邻两帧有效图像之间的位移向量,得到待检测手势的位移特征;
6、根据每帧有效图像中每个手指关节点相对于掌心关节点的直线距离,得到待检测手势的长度特征;根据每帧有效图像中每个手指关节点相对于掌心关节点的直线斜率,得到待检测手势的角度特征;
7、获取样本手势训练集的位移分类类别、长度分类类别以及角度分类类别;对待检测手势的位移特征进行knn分类识别得到待检测手势相对位移分类类别的位移识别结果,同时计算出位移识别结果置信度;对待检测手势的长度特征进行knn分类识别得到待检测手势相对长度分类类别的长度识别结果,同时计算出长度识别结果置信度;对待检测手势的角度特征进行knn分类识别得到待检测手势相对角度分类类别的角度识别结果,同时计算出角度识别结果置信度;
8、根据待检测手势的位移识别结果、位移识别结果置信度、长度识别结果、长度识别结果置信度、角度识别结果、角度识别结果置信度,以及预设样本手势对应的优先级顺序和最佳置信度阈值,确定待检测手势的最终识别结果。
9、进一步地,确定待检测手势的最终识别结果的步骤包括:
10、将待检测手势的位移识别结果记为a1,位移识别结果置信度记为c1;
11、将待检测手势的长度识别结果记为a2,长度识别结果置信度记为c2;
12、将待检测手势的角度识别结果记为a3,角度识别结果置信度记为c3;
13、遍历识别结果(a1,c1)、(a2,c2)、(a3,c3),若识别结果a1对应预设样本手势的位移特征为最高优先级且识别结果置信度c1大于位移对应的最佳置信度,则认为a1可信并将位移识别结果a1作为待检测手势的最终识别结果;
14、否则继续遍历,若识别结果a2对应预设样本手势的长度特征为最高优先级且识别结果置信度c2大于长度对应的最佳置信度,则认为a2可信并将长度识别结果a2作为待检测手势的最终识别结果;
15、否则继续遍历,若识别结果a3对应预设样本手势的角度特征为最高优先级且识别结果置信度c3大于角度对应的最佳置信度,则认为a3可信并将角度识别结果a3作为待检测手势的最终识别结果;
16、若a1、a2、a3均不可信,则筛选识别结果(a1,c1)、(a2,c2)、(a3,c3)中重复结果;
17、若(a1,c1)、(a2,c2)、(a3,c3)中存在重复结果,则将重复结果作为待检测手势的最终识别结果;
18、若(a1,c1)、(a2,c2)、(a3,c3)中不存在重复结果,则筛选识别结果(a1,c1)、(a2,c2)、(a3,c3)中是否存在唯一的最高优先级,若存在唯一的最高优先级则将最高优先级对应的识别结果作为待检测手势的最终识别结果,若不存在唯一的最高优先级则此次待检测手势识别失败。
19、进一步地,根据每个手指关节点的变化幅度从待检测手势中截取出多帧有效图像的步骤包括:
20、获取动态手势视频的多帧时序图像;
21、计算出每帧时序图像中每个手指关节的变化幅度;
22、预设x帧起始窗口、预设y帧结束窗口同时预设变化幅度阈值;
23、当检测到连续x帧时序图像中每个手指关节的变化幅度均大于预设变化幅度阈值时,则判定手势开始;当检测到连续y帧时序图像中每个手指关节的变化幅度均小于预设变化幅度阈值时,则判定手势结束;
24、将从手势开始到手势结束之间的多帧图像记为多帧有效图像。
25、进一步地,根据每个手指关节点在相邻两帧有效图像之间的位移向量,得到待检测手势的位移特征的步骤包括:
26、获取每个手指关节点在每帧有效图像的坐标;
27、根据每个手指关节点在相邻两帧有效图像的坐标,计算出每个手指关节点在相邻两帧有效图像之间的帧间位移向量;
28、将每个手指关节点在相邻两帧有效图像之间的帧间位移向量和方向基准向量相乘,得到每个手指关节点在相邻两帧有效图像之间的编码向量;
29、将全部手指关节点在相邻两帧有效图像之间的编码向量序列,作为待检测手势的位移特征。
30、进一步地,根据每帧有效图像中每个手指关节点相对于掌心关节点的直线距离,得到待检测手势的长度特征的步骤包括:
31、获取每帧有效图像中每个手指关节点和掌心关节点的坐标;
32、计算出每帧有效图像中每个手指关节点相对于掌心关节点的直线距离;
33、将相邻两帧有效图像中每个手指关节点相对于掌心关节点的直线距离直接作差,得到每个手指关节点在相邻两帧有效图像之间的直线距离差值;
34、将全部手指关节点在相邻两帧有效图像之间的直线距离差值序列,作为待检测手势的长度特征。
35、进一步地,根据每帧有效图像中每个手指关节点相对于掌心关节点的直线斜率,得到待检测手势的角度特征的步骤包括:
36、获取每帧有效图像中每个手指关节点和掌心关节点的坐标;
37、计算出每帧有效图像中每个手指关节点相对于掌心关节点的直线斜率;
38、将相邻两帧有效图像中每个手指关节点相对于掌心关节点的直线斜率直接作差,得到每个手指关节点在相邻两帧有效图像之间的直线斜率差值;
39、将全部手指关节点在相邻两帧有效图像之间的直线斜率差值序列,作为待检测手势的角度特征。
40、进一步地,获取样本手势训练集的位移分类类别、长度分类类别以及角度分类类别的步骤包括:
41、利用样本手势训练集的位移特征进行knn分类得到位移分类类别;
42、利用样本手势训练集的长度特征进行knn分类得到长度分类类别;
43、利用样本手势训练集的角度特征进行knn分类得到角度分类类别。
44、进一步地,对待检测手势的位移特征进行knn分类识别得到待检测手势相对位移分类类别的位移识别结果的步骤包括:
45、计算出样本手势训练集中的每一个样本的位移特征与待检测手势的位移特征之间的位移相似度距离;选取与待检测手势的位移相似度距离最近的k个样本;获取k个样本所属类别最多的类别a1,将a1作为待检测手势的位移识别结果;
46、对待检测手势的长度特征进行knn分类识别得到待检测手势相对长度分类类别的长度识别结果的步骤包括:计算出样本手势训练集中的每一个样本的长度特征与待检测手势的长度特征之间的长度相似度距离;选取与待检测手势的长度相似度距离最近的k个样本;获取k个样本所属类别最多的类别a2,将a2作为待检测手势的长度识别结果;
47、对待检测手势的角度特征进行knn分类识别得到待检测手势相对角度分类类别的角度识别结果的步骤包括:计算出样本手势训练集中的每一个样本的角度特征与待检测手势的角度特征之间的角度相似度距离;选取与待检测手势的角度相似度距离最近的k个样本;获取k个样本所属类别最多的类别a3,将a3作为待检测手势的角度识别结果。
48、进一步地,位移识别结果置信度的计算公式为:
49、
50、其中,c(x,t)表示位移识别结果置信度,x表示待检测手势;t表示待检测手势的位移识别结果所属类别;k表示与待检测手势的位移相似度距离最近的k个样本;ki表示与待检测手势的位移相似度距离最近的k个样本属于类别t的个数;表示与待检测手势的位移相似度距离最近的k个样本不属于类别t的占比;表示待检测手势与类别t中包含的所有样本的位移相似度距离的平均值。
51、进一步地,还包括:
52、计算出样本手势训练集中的每一个样本的位移特征与待检测手势的位移特征之间的位移相似度距离的步骤包括:获取待检测手势中每个手指关节点在相邻两帧有效图像之间的编码向量a;从训练集中选取一个样本j,按照待检测手势中每个手指关节点在相邻两帧有效图像之间的编码向量a的获取方法,获取样本j中每个手指关节点在相邻两帧有效图像之间的编码向量b;将编码向量序列a和编码向量序列b之间的相似度距离,作为样本j中每个手指关节点与待检测手势中每个手指关节点之间的位移相似度距离;将样本j中全部手指关节点与待检测手势中对应手指关节点之间的位移相似度距离之和,作为样本j的位移特征与待检测手势的位移特征之间的位移相似度距离;
53、计算出样本手势训练集中的每一个样本的长度特征与待检测手势的长度特征之间的长度相似度距离的步骤包括:将样本j中每个手指关节点对应的长度特征与待检测手势中每个手指关节点对应的长度特征直接作差,得到样本j中每个手指关节点与待检测手势中每个手指关节点之间的长度相似度距离;将样本j中全部手指关节点与待检测手势中对应手指关节点之间的长度相似度距离之和,作为样本j的长度特征与待检测手势的长度特征之间的长度相似度距离;
54、计算训练集中的每一个样本的角度特征与待检测手势的角度特征之间的角度相似度距离的步骤为:将样本j中每个手指关节点对应的角度特征与待检测手势中每个手指关节点对应的角度特征直接作差,得到样本j中每个手指关节点与待检测手势中每个手指关节点之间的角度相似度距离;将样本j中全部手指关节点与待检测手势中对应手指关节点之间的角度相似度距离之和,作为样本j的角度特征与待检测手势的角度特征之间的角度相似度距离。
55、本发明的有益效果是:
56、本发明提供一种基于多特征置信度分级融合的动态手势识别方法,首先根据每个手指关节点的变化幅度从待检测手势视频中截取出多帧有效图像,从多帧有效图像中提取出待检测手势的位移特征、长度特征、角度特征,本发明提供的方法在现有位移特征的基础上增加了长度与角度特征,在不影响原有识别效果的情况下,能有效应对手势存在偏转时影响动态手势识别的问题。
57、同时本发明将待检测手势的三个特征分别输入到对应分类类别中得到每个分类类别对应的特征识别结果,同时计算出每个特征识别结果置信度;根据待检测手势每个特征识别结果置信度和预设样本手势对应的优先级顺序和最佳置信度阈值,确定待检测手势的最终识别结果;本发明利用优先级排序和最佳置信度阈值确定待检测手势的最终识别结果,提高了待检测手势的识别准确率。