2. 福建师范大学 数学与信息学院, 福州 350007;
3. 物联网福建省高校应用工程中心, 福州 350108
2. College of Mathematics and Informatics, Fujian Normal University, Fuzhou 350117, China;
3. IOT Application Engineering Center of Colleges and Universities in Fujian Province, Fuzhou 350108, China
随着智能移动设备的普及, 智能移动终端正面临着越来越多的安全威胁, 设计安全高效的移动设备身份认证方案显得尤为必要. 传统的基于密码学机制的认证方法存在密码被盗用、密码被遗忘等问题, 通过生物特征识别技术可以很好的解决这些问题. 文献[1–3]的研究者提出了通过采集人的生物特征样本进行身份识别的生物特征识别技术.生物特征可以分为: 生理特征和行为特征, 其中生理特征是先天因素决定的, 如指纹、虹膜、人脸以及DNA等, 行为特征是由后天造成的, 如签名、手势姿势、滑屏解锁姿势等. 由于生物特征能够区分不同的人身份, 且难以被模仿, 可以有效的保护个人的隐私安全. 加速度传感器以其低廉的价格、较高的灵敏性和较小的体积被广泛内置于智能手机中, 利用手机内置的加速度传感器获取用户认证手势产生的加速度信号作为生物特征识别具有可操作性[4]. 基于动态手势特征的身份认证方法比较流行的方法有: 基于DTW的方法[4,5]、基于HMM的方法[6]和基于支持向量机的方法[7]等. Varga J[8]等提出了一种新的智能手机和类似设备的认证方法, 该方法基于用户对设备本身所做的手势, 结合密码信息对用户认证. 刘威[9]等人改进了了全局序列对齐(GSA) 算法, 对匹配后的序列进行插值操作, 提高了中文空中签名身份认证效果. Liu Q[10]等人提出了一种能够抵抗用户姿势变化的手势认证方法, 通过手机内置传感器采集姿态行为数据, 采用K-means算法获取用户的每个姿态, 并为每个姿态训练一个认证模型. 苗敏敏[11]等提出了差分至底向上线性分段方法对有效手势动作端点自动检测, 最后利用DTW算法对测试手势与模板手势进行匹配计算. 刘乐乐[12]等利用手机加速度传感器、陀螺仪传感器以及距离传感器等采集用户接听电话时的数据, 使用DTW算法的识别结果构造概率分配函数, 采用Dempster/Shafer证据理论进行融合. 庞永春[13]等通过提取手势运动一阶、二阶归一化导数序列及运动方向为身份验证特征序列, 采用DTW算法比较注册模板特征序列与测试特征序列, 判断用户身份真实性. 文献[4,11–13]均是基于DTW算法实现动态手势特征的身份认证, 但DTW算法在计算时间序列之间的相似度时的计算复杂度较高. 刘贤梅[14]等人基于窗口距离构造距离矩阵, 采用基于全局和局部约束的DTW优化算法进行运动的相似度计算, 以提高算法的效率. Niennattrakul V[15]等人将累积距离矩阵限制在一个小的平行四边形中, 并通过记录限制的下边界的值以查表的方式进行累积距离矩阵的计算, 减少了计算时间, 提高了算法效率. 但这些算法在获得计算效率的同时, 却降低了匹配的精度识别的错误相应的提高了. 为此, 本文针对DTW算法在智能手机动态手势身份认证进行研究, 提出了基于CM-DTW算法的智能手机动态手势身份认证方法, CM-DTW算法首先采集用户解锁时的加速度传感器三轴坐标值以及压力传感器的触屏面积值全面反映用户行为特点, 对采集的特征数据标准化和平滑去噪处理, 其次通过Sakoe-Chiba窗约束降低DTW算法的累积距离计算并训练获取候选模板集, 采用线性插值或线性降采样归一化候选模板, 得到一个标准化的用户模板作为算法的认证模板.
1 手势数据处理 1.1 数据采集利用智能手机内置加速度传感器以及压力传感器获取用户滑动解锁过程中的数据值, 用户滑动解锁的手指接触屏幕时开始采集, 直到手指离开屏幕时结束采集. 采集数据的频率设定为50 Hz, 从开始到结束采集的数据序列称为手势数据. 手势数据的定义如下:
$ R{\rm{ = }}\left\{ {{r_1}, {r_2}, \cdots , {r_n}} \right\} $ | (1) |
其中, ri={ri1, ri2, ri3, ri4}(i=1, 2, …, n)是一个4维数据, 其中ri1, ri2, ri3是手机内置加速度传感器的X, Y, Z三轴的参数值, ri4是手机内置压力传感器的值.
1.2 数据标准化本文算法将采用欧几里德距离计算各特征点之间的距离, 为了避免各维度的量值不一致造成距离向量值较大的维度倾斜, 需对采集的手势数据进行标准化处理, 以降低各维度的量值不同造成距离无法准确反映特征数据之间关系的影响. 采用z-score[16]标准化法对式(1)中的手势数据标准化处理, 手势数据的标准化处理后的结果如式(2)所示:
$\overline r = \frac{{r - \mu }}{\sigma }$ | (2) |
$\mu = \frac{1}{m}\sum\limits_{i = 1}^m {{r_i}} $ | (3) |
${\sigma ^2} = \frac{1}{m}\sum\limits_{i = 1}^m {\left({r_i}^2 - {\mu ^2}\right)} $ | (4) |
其中, r为集合R的一个数据序列,
由于用户解锁时, 手指在屏幕上滑动时会有不同幅度的抖动, 因此采集的数据中可能会产生噪声数据. 通过对手势数据进行平滑处理, 可以有效的消除采集数据环境因素造成的误差. 基于加权移动平均法[18]的思想, 将式(2)的结果通过式(5)进行平滑处理计算.
${\bar r_{kw}} = \sum\limits_{i = k - \left\lfloor {N/2} \right\rfloor }^{k + \left\lfloor {N/2} \right\rfloor } {{w_i}\overline {{r_i}} } $ | (5) |
其中,
DTW算法解决了语音识别中的发音长短不一的模板匹配问题, 在孤立语音识别中被广泛使用. 由于滑动解锁时的手势数据与语音信号数据类似, 具有时序关系和时空变化性, 因此很多研究者将DTW算法应用于手势身份认证中. DTW算法是一种将时间规整和距离测度相结合的一种非线性规整技术. 对长短不一的两个时间序列计算最小距离, 距离越小则说明这两个时间序列越相似. 使用DTW算法进行身份认证时, 需要测试序列与用户参考模板序列之间的距离, 以此距离的大小确定合法身份和非法身份. 对于测试序列和参考模板序列描述如式(6)和式(7)所示:
$ G\left( M \right) = \left\{ {{g_1}, {g_2}, \cdots , {g_M}} \right\} $ | (6) |
$ T\left( N \right) = \left\{ {{t_1}, {t_2}, \cdots , {t_N}} \right\} $ | (7) |
G(M)和T(N)分别表示经过数据处理后的M个数据点的测试序列和N个数据点的参考模板序列. 采用欧几里德距离计算两个序列数据点之间的距离, 对于测试序列的第i个数据gi和参考模板序列的第j个数据tj之间的距离计算如式(8)所示:
$d\left({g_i}, {t_j}\right) = \sqrt {\sum\limits_{l = 1}^L {{{\left({g_{il}} - {t_{jl}}\right)}^2}} } $ | (8) |
由测试序列和参考模板序列的数据点两两计算欧几里德距离可以创建一个M×N维距离矩阵D, 元素(gi, tj)的值d(gi, tj)表示数据点gi和tj的欧几里德距离. DTW算法计算两个序列之间的距离, 实质上寻找一个合适的规整函数j= f(i), 并使该函数满足式(9):
$P(G, T) = \mathop {{\rm{min}}}\limits_{f(i)} \sum\limits_{i = 1}^M {d\left({g_i}, {t_{f(i)}}\right)} $ | (9) |
P(G, T)是测试序列G(M)和参考模板序列T(N)的最优的匹配距离. 动态规整算法的原理是矩阵D在寻找一条从起始点(g1, t1)到终止点(gM, tN)之间的路径, 且该路径的累积距离是最小的. 为了实现累积距离最优, DTW算法的规整函数需要满足全局约束和局部约束的限制. 其中规整函数需要满足的局部约束条件有以下三点:
1) 端点约束, 端点约束要求两个序列的起始点和终止点保持一致.
$ \left\{ \begin{array}{l} f\left( 1 \right) = 1\\ f\left( N \right) = M \end{array} \right. $ | (10) |
2) 单调约束, 手势数据的产生具有先后顺序, 规整函数必须保证匹配路径不违背手势数据产生的时间先后顺序, 因此必须满足式(11).
$f(n + 1) \geqslant f(n)$ | (11) |
3) 连续性约束, 为了保证匹配信息的损失最小, 规整函数不能跳过任何一个匹配点, 通过DTW算法求解最优化问题, 可以得到最佳路径的累积距离为:
$p({{\rm{g}}_i}, {t_j}) = d({{\rm{g}}_i}, {t_j}) + \min \left\{ {\begin{aligned} & {p({{\rm{g}}_i} - 1, {t_j} - 1)} \\ & {p({{\rm{g}}_i} - 1, {t_j})} \\ & {p({{\rm{g}}_i}, {t_j} - 1)} \end{aligned}} \right.$ | (12) |
其中, p(gi, tj)表示矩阵D的点(1, 1)到点(i, j)所寻路径的最小累积距离, 因此p(gM, tN)的值是测试序列G(M)和参考模板序列T(N)的最小累积距离, 即这两者的DTW距离.
2.2 全局路径约束采用经典DTW算法计算两个序列的距离时, 使用动态规划方法需要计算存储一个较大的矩阵, 计算需要的时间复杂度为O(mn). 为了提高DTW算法计算手势序列距离的计算效率, 在序列弯曲计算中引入了全局约束窗口避免无效的路径搜索. CM-DTW算法采用Sakoe-Chiba[19]窗降低对无效数据点之间距离的计算, 从而提高计算两个序列的效率. 图1中的全局路径约束下, DTW算法需要计算的空间其实不是一个完整的矩阵, 而是局限于对角线附近的带状区域.
Sakoe-Chiba全局约束可以理解为对点(gi, tj)中下标的限制, 使满足
在Sakoe-Chiba约束条件下, 测试序列G(M)和参考模板序列T(N)两个序列计算DTW距离的匹配规整路径依次为c1, c2, …, cK(其中ck = (i, j)), 如图2所示.
由于手势数据序列的长度可能差异较大, 需要对搜索路径斜率做一定的约束, 使下标满足:
$\frac{{N*i}}{M} - f \leqslant j \leqslant \frac{{N*i}}{M} + f$ |
用户手势身份认证是将测试手势数据与用户的模板手势数据计算相似度, 通过阈值划分测试手势数据为合法用户手势数据或非法用户手势数据. 手势身份认证中手势模板代表合法用户的身份, 因此手势模板的正确选取直接影响到手势身份认证结果.
CM-DTW算法的手势模板的生成: 首先通过合法用户的手势数据构建候选模板集, 然后将候选模板集的手势模板采用线性升降采样归一化生成标准的用户手势模板. 标准手势模板生成的具体步骤如下:
1) 用户重复采集手势数据n次, 采集到n组手势数据R1, R2, …, Rn, 以同样的方式采集m个用户数据作为干扰手势数据;
2)运用式(2)和式(5)对用户采集的n组数据进行标准化和平滑去噪处理, 并划分训练数据和测试数据;
3)利用Sakoe-Chiba窗约束下的DTW算法计算用户的每组训练手势数据与其他训练手势数据(同一用户下的其他手势数据与干扰手势数据)之间的规整距离;
4)对每组手势数据与同一用户下的其他手势数据的规整距离求均值作为该手势的标准阈值, 其中第i个用户的j组数据的均值为Mean(i, j);
5)以Mean(i, j)×rate(i, j)作为第i个用户的第j条数据的最优阈值, 对其他所有数据进行身份认证, 其中rate(i, j)是第i个用户的第j条数据的最优阈值比例;
6)根据步骤3)中计算的结果, 在步骤5)的最优阈值分类下, 获得各组手势数据的身份认证结果, 并采用加权的准确率指标WA对其评价, 计算每组数据的身份认证指标值, 其中WA(i, j)为第i个用户的第j组数据的WA指标值. 计算同一个用户下的所有数据的指标均值AVG_WA(i). 当WA(i, j)
$WA(i, j) = \frac{{\beta *a + c}}{{\beta *(a + b) + c + d}}$ | (13) |
其中, a为合法手势认证为合法手势数, b为合法手势认证为非法手势数, c为非法手势认证为非法手势数, d为非法手势认证为合法手势数,
$\beta = \frac{{c + d}}{{a + b}}$ | (14) |
7)对候选模板集的所有手势数据长度, 求平均值L;
8)为便于标准化模板, 将候选模板集里所有的手势数据进行伸缩处理, 处理成长度L的归一化模板. 模板的伸缩处理采用文献[20]中数据序列长度归一化方法实现, 其中模板R(S)(S为手势模板序列的长度)归一化处理有3种情况:
① 当S=L时, R(L)= R(S);
② 当S>L时, 通过对R(S)进行降采样实现模板收缩. 首先将R(S)中的第i数据点ri映射到R(L)中的gj, 则相对应的下标映射按照式(15)实现:
$j = \left\lfloor {(L \times i)/S} \right\rfloor $ | (15) |
其中,
③ 当S<L时, 通过线性插值方法来实现R(S)延伸. 首先按照式 (15)将R(S)中的第i数据点ri映射到R(L)中的gj, 然后将所有gj的按照j递增依次进行排列为
${g_j} = \frac{{\left(j - {j_k}\right)}}{{\left({j_{k + 1}} - {j_k}\right)}}\left({g_{{j_{k + 1}}}} - {y_{{j_k}}}\right) + {g_{{j_k}}}$ | (16) |
9)将步骤8)处理后的候选模板求均值, 将该均值模板作为用户的标准模板
基于CM-DTW算法的手势身份认证主要包含两个阶段: 手势模板训练和身份认证. 手势模板训练首先将采集的多条用户信息进行数据标准化、平滑去噪处理, 并挑选候选模板, 然后采用线性升降采样对候选模板归一化, 生成每个用户的标准手势模板, 通过标准手势模板对训练集进行认证, 在加权准确率指标的约束下, 获得最优的身份认证阈值, 最终获得一个标准模板库. 身份认证阶段对用户测试手势数据进行数据标准化、平滑去噪处理, 使用处理后的数据与用户标准手势模板计算CM-DTW规整距离, 如果该规整距离小于该模板的最优认证阈值, 则该测试数据与模板数据属于同一个用户, 否则, 测试数据与模板数据不属于同一用户. 身份认证流程如图3所示.
3 实验分析实验仿真平台采用Matlab R2017a (9.2.0 538062), 实验数据的采集通过华为p10手机采集完成. 实验数据共征集40人参与采集, 年龄分布于20到47岁之间, 其中男生26人, 女生14人. 按照要求采集数据时, 一只手手持手机, 且将手机屏幕正面向上, 根据软件提示, 另一只手的食指以“Z”字滑动解锁屏幕. 每个人连续采集手势数据15组, 共采集600组手势数据. 其中每个人采集的15组手势数据中, 10组数据用于训练算法的手势模板, 另外5组数据用于测试验证算法.
训练数据与测试数据通过归一化和平滑处理等预处理操作. 为了突出数据的特点, 通常给予需平滑的数据最高的权重, 求得中间位置的数据的加权平均值作为平滑后的结果[21]. 因此, 数据平滑处理时的窗口大小设定为5, 同时权重值依次设定为1, 2, 3, 2, 1.验证阶段的Sakoe-Chiba窗约束参数f的值取
本实验通过经典DTW算法对训练数据进行身份认证, 其中最优模板是指训练手势数据作为模板对其他训练手势数据认证获得最优WA的模板, 其中阈值的比例变化范围是(0.5, 1.5), 以0.1的变化幅度递增. 两种模板对训练数据的身份认证结果如表1和图4所示, 其中TP(True Positive)为合法用户样本被正确认证的比例, TN(True Negtive)表示非法用户被认证为非法用户的比例.
从表1可以发现, 多数用户在使用标准模板进行身份认证的TP值和TN值较高于最优模板, 且对40个用户的TP和TN的平均值, 标准模板相比于最优模板的效果更优. 图4显示了标准模板的折线高于最优模板, 说明标准模板可以得到一个较好的准确率. 综合表1和图4的结果, 将标准模板应用于用户的手势身份认证将取得很好的结果.
3.2 CM-DTW算法与经典DTW算法运行时间对比本实验选择40名用户的训练数据, 采用CM-DTW算法和经典DTW算法分别计算同一个用户手势之间的距离和该用户手势与其他用户手势数据之间的距离, 并记录相应的运算耗时均值, 如图5所示.
从图5可知, CM-DTW算法在同用户和不同用户的认证认证耗时明显小于经典DTW算法, 提高了手势识别的认证效率.将CM-DTW算法应用于手机身份认证过程, 可以降低用户认证的时间, 提高用户的体验效果.
3.3 CM-DTW算法与经典DTW算法的认证对比本实验中, CM-DTW算法首先通过训练数据训练获得40组用户的模板和最优阈值, 并与经典DTW算法对测试数据进行身份认证, 其中阈值的比例变化范围是(0.5, 1.5), 以0.1的变化幅度递增, 获得的最优WA指标值作为最终的验证结果, 两个算法的手势验证结果如表2和图6所示.
从表2可以发现, 与经典DTW算法相比, CM-DTW算法身份认证的TN均值略高, TP均值略低. 对比两种算法在40组用户的TN、TP值, 两种算法的TP、TN指标值均各有高低. 图6中显示两种算法的折线较为接近, 说明CM-DTW算法与经典DTW算法的WA值相差较小. 综合表1和图6的指标值可知, 对比经典DTW算法, CM-DTW算法在对40组用户手势数据的身份认证中能够保证准确率.
4 结语
本文提出了一种基于CM-DTW算法的智能手机动态手势身份认证方法, 通过全局规整路径约束, 实现了提高智能手机动态手势认证的效率, 通过归一化的方法伸缩手势数据长度得到标准化的手势模板, 消除了手势模板选择不够精确的问题, 提高了手势身份认证的认证精度.
[1] |
吴微, 苑玮琦. 手掌静脉图像识别技术综述. 中国图象图形学报, 2018, 18(10): 1215-1224. |
[2] |
石祥滨, 厉复圳, 张德园. 采用强制稀疏编码的人脸识别方法. 小型微型计算机系统, 2017, 38(2): 381-385. |
[3] |
Imura S, Hosobe H. A hand gesture-based method for biometric authentication. Proceedings of the 20th International Conference on Human-Computer Interaction. Theories, Methods, and Human Issues. Las Vegas, NV, USA. 2018. 554–566.
|
[4] |
周治平, 苗敏敏. 基于改进DTW及互信息去噪的手势认证研究. 传感技术学报, 2014, 27(8): 1070-1076. DOI:10.3969/j.issn.1004-1699.2014.08.013 |
[5] |
Ducray B, Cobourne S, Mayes K, et al. Gesture recognition implemented on a personal limited device. Proceedings of the 8th International Conference on Information and Communication Systems (ICICS). Irbid, Jordan. 2017. 171–176.
|
[6] |
李富, 孙子文. 手势识别身份认证的连续隐马尔可夫模型. 小型微型计算机系统, 2018, 39(3): 474-477. DOI:10.3969/j.issn.1000-1220.2018.03.013 |
[7] |
Wu JY, Chen ZD. An implicit identity authentication system considering changes of gesture based on keystroke behaviors. International Journal of Distributed Sensor Networks, 2015, 2015: 110. |
[8] |
Varga J, Švanda D, Varchola M, et al. Authentication based on gestures with smartphone in hand. Journal of Electrical Engineering, 2017, 68(4): 256-266. DOI:10.1515/jee-2017-0037 |
[9] |
刘威, 汪阳, 郑建彬, 等. 基于加速度传感器的中文签名身份认证. 计算机应用, 2017, 37(4): 1004-1007. DOI:10.3969/j.issn.1001-3695.2017.04.010 |
[10] |
Liu Q, Wang MM, Zhao PH, et al. A behavioral authentication method for mobile gesture against resilient user posture. Proceedings of the 3rd International Conference on Systems and Informatics (ICSAI). Shanghai, China. 2016. 324–331.
|
[11] |
苗敏敏, 周治平, 王杰锋. 基于加速度传感器的手机用户认证方法. 计算机工程与科学, 2015, 37(3): 508-513. DOI:10.3969/j.issn.1007-130X.2015.03.016 |
[12] |
刘乐乐, 周治平. 基于多传感器信息融合的用户认证方法. 激光与光电子学进展, 2017, 54(7): 071204. |
[13] |
庞永春, 孙子文, 王尧. 基于手机触摸屏传感器多点触摸身份认证算法. 计算机应用, 2015, 35(6): 1780-1784. DOI:10.11772/j.issn.1001-9081.2015.06.1780 |
[14] |
刘贤梅, 赵丹, 郝爱民. 基于优化的DTW算法的人体运动数据检索. 模式识别与人工智能, 2012, 25(2): 352-360. DOI:10.3969/j.issn.1003-6059.2012.02.025 |
[15] |
Niennattrakul V, Ruengronghirunya P, Ratanamahatana CA. Exact indexing for massive time series databases under time warping distance. Data Mining and Knowledge Discovery, 2010, 21(3): 509-541. DOI:10.1007/s10618-010-0165-y |
[16] |
郭小萍, 姜芹芹, 李元. 近邻标准化样本核特征量驱动的间歇过程故障检测. 计算机与应用化学, 2014, 31(10): 1157-1161. |
[17] |
陶洋, 李鹏亮, 沈敬红, 等. 基于DTW的时间序列流相似性搜索方法. 计算机工程与设计, 2017, 38(12): 3291-3297. |
[18] |
池其才, 周世健, 王奉伟. 基于时间序列的变形监测数据处理方法比较研究. 测绘与空间地理信息, 2015, 38(7): 193-195. DOI:10.3969/j.issn.1672-5867.2015.07.066 |
[19] |
Sakoe H, Chiba S. Dynamic programming algorithm optimization for spoken word recognition. IEEE Transactions on Acoustics, Speech, and Signal Processing, 1978, 26(1): 43-49. DOI:10.1109/TASSP.1978.1163055 |
[20] |
高焕芝, 刘志丹, 郭云镝, 等. 基于加速度传感器与小波变换的手机端手势特征身份认证方法. 中南大学学报(自然科学版), 2014, 45(11): 3817-3823. |
[21] |
王海鹏, 龚岩, 刘武, 等. 一种时空多尺度适应的手势识别方法研究. 计算机科学, 2017, 44(12): 287-291. DOI:10.11896/j.issn.1002-137X.2017.12.052 |