基于心率传感器的用户手势指纹认证方法

文档序号:30424073发布日期:2022-06-15 14:21阅读:154来源:国知局
基于心率传感器的用户手势指纹认证方法

1.本发明涉及一种用户手势指纹认证方法,尤其是涉及一种基于心率传感器的用户手势指纹认证方法。


背景技术:

2.当前的持续性身份认证方法,主要通过每隔一段时间对用户进行一次身份认证,从而达到对用户的持续性身份认证。目前的持续性身份认证主要方式是通过人脸和指纹来认证,人脸认证需要采用高精度摄像头拍摄人脸图像,而指纹认证需要采用指纹传感器。而高精度摄像头和指纹传感器的价格均较高,由此导致持续性身份认证的成本较高。另外,人脸数据和指纹数据都是用户的敏感数据,存在认证机构滥用和盗窃人脸和指纹的风险。同时,随着3d打印技术的成熟,在硬件模仿人脸和指纹方面对人脸以及指纹认证形成了安全威胁,以及虚拟软件的模拟攻击同样对人脸识别造成威胁。由此,现有的持续性身份认证方法不但成本较高,容易破解,安全性并不高,而且用户个人信息可能会被盗用,存在较大的安全隐患。
3.随着可穿戴设备的发展,智能手表和智能手环等可穿戴设备的进一步普及,依托于嵌入式物联网技术的发展,以及移动设备的芯片处理能力的飞速提高,智能手表和智能手环等可穿戴物联网设备的功能越发完善。同时由于人们对健康生活的追求,使心率传感器等健康监测模块迅速在智能手表和智能手环等可穿戴设备上普及。心率传感器读数对人的信息安全威胁不大,而且是可穿戴设备依赖的,一旦用户更换可穿戴设备,其上的心率传感器指纹随即发生变化;同时,每个人的心率传感器读数无法轻易模仿,从而使得基于心率传感器的持续性身份认证更安全;另外,心率传感器的成本远比高精度摄像头和指纹传感器便宜得多。鉴此,将心率传感器用于持续性身份认证,设计一种成本较低,不容易破解,安全性较高,而且不存在用户个人信息被盗用的安全隐患的基于心率传感器的用户手势指纹认证方法具有重要意义。


技术实现要素:

4.本发明所要解决的技术问题是提供一种成本较低,不容易破解,安全性较高,而且不存在用户个人信息被盗用的安全隐患的基于心率传感器的用户手势指纹认证方法。
5.本发明解决上述技术问题所采用的技术方案为:一种基于心率传感器的用户手势指纹认证方法,包括如下步骤:
6.步骤1:构建总数据集,具体过程为:将用户的总数量记为i,让i名用户作为i名测试人员,让i名测试人员分别佩戴同一款具有心率传感器的可穿戴设备,并将心率传感器的采样频率均设定为100hz,让每名测试人员分别作出表示1-9这9个数字的9种手势动作,其中每种手势动作连续进行40次,9种手势预先按照1-9进行编号,此时每名测试人员佩戴的心率传感器对该名测试人员进行采样,并输出各个采样点对应的读数;认证服务器获取每名测试人员在做9种手势期间其携带的心率传感器输出的读数,并分别将获取的每名测试
人员携带的心率传感器的读数按照输出先后顺序排列后构成每名测试人员的数据集,i名测试人员按照1-i随机编号,将第i名测试人员的数据集记为ai,i=1,2,

,i;采用i名测试人员的数据集构成总数据集,将该总数据集记为a,a={a1,a2,a3,

,ai};将第i名测试人员的第j种手势的数据集记为a
i,j
,j=1,2,

,9,将a
i,j
中包含的数据数量记为m
i,j
,每个数据对应为心率传感器的一个采样点,即a
i,j
包含m
i,j
个采样点;
7.步骤2:对步骤1得到的总数据集a进行数据预处理,得到预处理后的总数据集b,对预处理后的总数据集进行数据分析,提取与手势相关的数据片段,具体过程为:
8.s2-1、采用低通滤波器对总数据集a中所有数据集分别进行低通滤波处理,使数据更平滑,将第i名测试人员的数据集ai滤波后得到的数据集记为bi,将第i名测试人员的第j种手势的数据集a
i,j
滤波后得到的数据集记为b
i,j
,数据集b
i,j
中也具有m
i,j
个采样点,采用滤波后的i名测试人员的数据集构成滤波总数据集b,b={b1,b2,b3,

,bi};
9.s2-2、在空置的情况下,心率传感器的输出读数会在一个固定值附近小幅波动,通过直接读取空置情况下心率传感器的读数得到该固定值,并将该固定值记为
10.s2-3、将0.75秒作为每个手势动作的时长,则在100hz的采样频率情况下每个手势动作具有75个采样点,为数据集b
i,j
定义一个长度为(m
i,j-75)的数组y
i,j
,y
i,j
中的第n个元素记为y
i,j
[n],n=1,2,

,(m
i,j-75),n表示y
i,j
[n]在y
i,j
中的位置,通过以下公式(1)求出y
i,j

[0011][0012]
式(1)中,b
i,j
[g]为数据集b
i,j
的第g个采样点,︳︱为取绝对值符号,g代表b
i,j
[g]在数据集b
i,j
中的位置;
[0013]
s2-4、确定y
i,j
中的极大值点,将y
i,j
中的极大值点的数量记为m
i,j
,获取每个y
i,j
中的极大值点在y
i,j
中的位置,y
i,j
中所有极大值点的位置的集合记为a
i,j
,为将y
i,j
中的第u个极大值点的位置记为a
i,j
[u],u=1,2,

,m
i,j
,,将b
i,j
[a
i,j
[u]]作为b
i,j
中第u个手势切片的起始点,b
i,j
[a
i,j
[u]]之后的第74个采样点作为b
i,j
中第u个手势切片的结束点,b
i,j
中第u个手势切片的起始点至b
i,j
中第u个手势切片的结束点,共75个采样点即为b
i,j
中的第u个手势切片,由此得到b
i,j
中m
i,j
个手势切片;
[0014]
s2-5、采用数据集b
i,j
中m
i,j
个手势切片构成第i名测试人员的第j种手势的切片数据集c
i,j
,数据集b
i,j
中第m个手势切片即为切片数据集c
i,j
中的第m个数据,记为c
i,j,m
,c
i,j,m
表示第i名测试人员的第j种手势的第m个手势切片,其中m=1,2,

,m
i,j

[0015]
步骤3.提取手势运动指纹,具体过程为:
[0016]
s3-1、将c
i,j,m
中的第k个采样点记c
i,j,m
[k],k=1,2,

,75,c
i,j,m
是时域数据,采用公式(2)至公式(7)计算c
i,j,m
的时域特征值,其中c
i,j,m
的时域特征值包括平均值x
i,j,m
、标准差σ
i,j,m
、均差d
i,j,m
、偏度γ
i,j,m
、峰度γ
i,j,m
和均方根振幅a
i,j,m

[0017]
[0018][0019][0020][0021][0022][0023]
s3-2、通过快速傅里叶变换(fft)将时域数据c
i,j,m
进行转换,得到c
i,j,m
频域相关的数据,c
i,j,m
频域相关的数据包括频率震级系数数据和频率间隔数据,将示c
i,j,m
傅里叶变换后的频率震级系数数据记为p
i,j,m
,c
i,j,m
的傅里叶变换后的频率间隔数据记为f
i,j,m
,f
i,j,m
和p
i,j,m
中的数据数量相同,将该数据数量记为n
i,j,m
;将p
i,j,m
中的第k

个数据记为p
i,j,m
[k

],将f
i,j,m
中第k

个数据记为f
i,j,m
[k

],k

的取值范围是=1,2,

,n
i,j,m
。;采用公式(8)至公式(13)计算c
i,j,m
的频域特征值,c
i,j,m
的频域特征值包括标准差σs
i,j,m
、频谱质心cs
i,j,m
、光谱波峰crs
i,j,m
、平滑度fs
i,j,m
、偏度γs
i,j,m
和峰度βs
i,j,m

[0024][0025][0026]
crs
i,j,m
=(max(p
i,j,m
[k'])|k′
=1 to h
)/cs
i,j,m
,h=n
i,j,m
ꢀꢀꢀꢀ
(10)
[0027][0028]
[0029][0030]
上式中,符号*为乘运算符号,符号/为除运算符号,∏为连乘符号,∑为连加符号,max为取最大值符号,max(p
i,j,m
[k

])|k′
=1 to h
表示取p
i,j,m
[1]至p
i,j,m
[h]中的最大值;
[0031]
s3-3、通过离散小波变换(dwt)以“haar”小波的模式对c
i,j,m
进行一次离散小波变换,得到c
i,j,m
的时频域数据,c
i,j,m
的时频域数据包括c
i,j,m
经离散小波变换后的低频数据以及c
i,j,m
经离散小波变换后的高频数据,将c
i,j,m
经离散小波变换后的低频数据记为q
i,j,m
,c
i,j,m
经离散小波变换后的高频数据记为t
i,j,m
,将q
i,j,m
中的第h个低频值记为q
i,j,m
[h],t
i,j,m
中的第h个高频值记为t
i,j,m
[h],h=1,2,

,37;采用公式(14)至公式(23)计算c
i,j,m
的时频域特征值,c
i,j,m
的时频域特征值包括平均值xz
i,j,m
,、均差dz
i,j,m
,、偏度γz
i,j,m
,、峰度βz
i,j,m
,、最大值maxz
i,j,m
和最小值minz
i,j,m

[0032][0033][0034][0035][0036][0037][0038][0039][0040][0041]
[0042]
其中,max(q
i,j,m
)表示取q
i,j,m
中的最大值,max(t
i,j,m
)表示取t
i,j,m
中的最大值,min(q
i,j,m
)表示取q
i,j,m
中的最小值,min(t
i,j,m
)表示取t
i,j,m
中的最小值;
[0043]
s3-4、采用c
i,j,m
的6个时域特征值、6个频域特征值和6个时频域特征值组成一个18维的向量,该向量即为第i名测试人员的第j种手势的第m个手势运动指纹,记为d
i,j,m
,将第i名测试人员的第j种手势的所有手势运动指纹的集合记为d
i,j
,所有测试人员的所有手势的所有手势运动指纹的集合记为d;
[0044]
步骤4:采用集合d训练得到身份认证模型,具体为:从集合d中随机选择第i名测试人员以外的其他测试人员的100个手势运动指纹以及d
i,j
中的所有手势运动指纹,采用随机森林(random forest)、svm和梯度增强树(gradient boosting tree,gbt)方法,将d
i,j
中的所有手势运动指纹和选择的100个手势运动指纹一起进行分类学习,构建得到d
i,j
的身份认证模型并保存在认证服务器中,d
i,j
的身份认证模型即为第i名用户的第j种手势的身份认证模型;
[0045]
步骤5:当需要认证某用户合法性时,该用户做出1-9种手势的某个手势动作,此时该用户佩戴的心率传感器实时采集该用户做出手势时的数据发送至认证服务器,认证服务器采用步骤2和步骤3相同的方法得到一个18维的向量作为该用户的手势运动指纹p,然后认证服务器通过其内存储的该用户的9种手势的身份认证模型对该手势运动指纹p进行识别,如果有一种身份认证模型判定为手势符合,则判定认证成功,该用户认证通过,否则判定认证失败,该用户认证未通过。
[0046]
每隔l天(l的取值大于等于7)对认证服务器中所有的身份认证模型进行更新,具体为:每隔l天按照步骤2和步骤3相同的方法获取用户最新的手势运动指纹,并将用户最新的手势运动指纹加入到集合d中,然后随机删除集合d中超过30天的手势运动指纹,实现集合d的更新,然后基于步骤4的方法,采用更新后d再次训练得到身份认证模型,实现身份认证模型的跟新,以适应用户的日常生理变化,保证身份认证的精确度。
[0047]
与现有技术相比,本发明的优点在于通过心率传感器提取手势动作时的数据来确定身份认证指纹,最终构建身份认证模型,由此用户身份认证指纹是完全基于设备的心率传感器的,这样的用户身份指纹不具备移植性,另外,基于腕部穿戴设备中的心率传感器的用户身份指纹是基于人的生理运动特性的,在不改变心率传感器和用户手势风格和用户腕部穿戴设备穿戴习惯的前提下,通过心率传感器提取的身份认证指纹不可在硬件级别被修改,由此本发明成本较低,不容易破解,安全性较高,而且不存在用户个人信息被盗用的安全隐患。
附图说明
[0048]
图1为用户的9种手势示意图;
[0049]
图2为在有做手势动作和没有做手势动作情况下心率传感器的读数和对应的y
i,j
的结果。
具体实施方式
[0050]
以下结合附图实施例对本发明作进一步详细描述。
[0051]
实施例:一种基于心率传感器的用户手势指纹认证方法,包括如下步骤:
[0052]
步骤1:构建总数据集,具体过程为:将用户的总数量记为i,让i名用户作为i名测试人员,让i名测试人员分别佩戴同一款具有心率传感器的可穿戴设备,并将心率传感器的采样频率均设定为100hz,让每名测试人员分别作出表示1-9这9个数字的9种手势动作,9种手势动作如图1所示,其中每种手势动作连续进行40次,每次手势动作的间隔时间是2秒,9种手势预先按照1-9进行编号,此时每名测试人员佩戴的心率传感器对该名测试人员进行采样,并输出各个采样点对应的读数;认证服务器获取每名测试人员在做9种手势期间其携带的心率传感器输出的读数,并分别将获取的每名测试人员携带的心率传感器的读数按照输出先后顺序排列后构成每名测试人员的数据集,i名测试人员按照1-i随机编号,将第i名测试人员的数据集记为ai,i=1,2,

,i;采用i名测试人员的数据集构成总数据集,将该总数据集记为a,a={a1,a2,a3,

,ai};将第i名测试人员的第j种手势的数据集记为a
i,j
,j=1,2,

,9,将a
i,j
中包含的数据数量记为m
i,j
,每个数据对应为心率传感器的一个采样点,即a
i,j
包含m
i,j
个采样点;
[0053]
步骤2:对步骤1得到的总数据集a进行数据预处理,得到预处理后的总数据集b,对预处理后的总数据集进行数据分析,提取与手势相关的数据片段,具体过程为:
[0054]
s2-1、采用低通滤波器对总数据集a中所有数据集分别进行低通滤波处理,使数据更平滑,将第i名测试人员的数据集ai滤波后得到的数据集记为bi,将第i名测试人员的第j种手势的数据集a
i,j
滤波后得到的数据集记为b
i,j
,数据集b
i,j
中也具有m
i,j
个采样点,采用滤波后的i名测试人员的数据集构成滤波总数据集b,b={b1,b2,b3,

,bi};
[0055]
s2-2、在空置的情况下,心率传感器的输出读数会在一个固定值附近小幅波动,通过直接读取空置情况下心率传感器的读数得到该固定值,并将该固定值记为
[0056]
s2-3、将0.75秒作为每个手势的时长,则在100hz的采样频率情况下每个手势动作具有75个采样点,为数据集b
i,j
定义一个长度为(m
i,j-75)的数组y
i,j
,y
i,j
中的第n个元素记为y
i,j
[n],n=1,2,

,(m
i,j-75),n表示y
i,j
[n]在y
i,j
中的位置,通过以下公式(1)求出y
i,j

[0057][0058]
式(1)中,b
i,j
[g]为数据集b
i,j
的第g个采样点,︳︱为取绝对值符号,g代表b
i,j
[g]在数据集b
i,j
中的位置;
[0059]
s2-4、确定y
i,j
中的极大值点,将y
i,j
中的极大值点的数量记为m
i,j
,获取每个y
i,j
中的极大值点在y
i,j
中的位置,y
i,j
中所有极大值点的位置的集合记为a
i,j
,为将y
i,j
中的第u个极大值点的位置记为a
i,j
[u],u=1,2,

,m
i,j
,,将b
i,j
[a
i,j
[u]]作为b
i,j
中第u个手势切片的起始点,b
i,j
[a
i,j
[u]]之后的第74个采样点作为b
i,j
中第u个手势切片的结束点,b
i,j
中第u个手势切片的起始点至b
i,j
中第u个手势切片的结束点,共75个采样点即为b
i,j
中的第u个手势切片,由此得到b
i,j
中m
i,j
个手势切片;
[0060]
s2-5、采用数据集b
i,j
中m
i,j
个手势切片构成第i名测试人员的第j种手势的切片数据集c
i,j
,数据集b
i,j
中第m个手势切片即为切片数据集c
i,j
中的第m个数据,记为c
i,j,m
,c
i,j,m
表示第i名测试人员的第j种手势的第m个手势切片,其中m=1,2,

,m
i,j

[0061]
步骤3.提取手势运动指纹,具体过程为:
[0062]
s3-1、将c
i,j,m
中的第k个采样点记c
i,j,m
[k],k=1,2,

,75,c
i,j,m
是时域数据,采用
公式(2)至公式(7)计算c
i,j,m
的时域特征值,其中c
i,j,m
的时域特征值包括平均值x
i,j,m
、标准差σ
i,j,m
、均差d
i,j,m
、偏度γ
i,j,m
、峰度γ
i,j,m
和均方根振幅a
i,j,m

[0063][0064][0065][0066][0067][0068][0069]
s3-2、通过快速傅里叶变换(fft)将时域数据c
i,j,m
进行转换,得到c
i,j,m
频域相关的数据,c
i,j,m
频域相关的数据包括频率震级系数数据和频率间隔数据,将示c
i,j,m
傅里叶变换后的频率震级系数数据记为p
i,j,m
,c
i,j,m
的傅里叶变换后的频率间隔数据记为f
i,j,m
,f
i,j,m
和p
i,j,m
中的数据数量相同,将该数据数量记为n
i,j,m
;将p
i,j,m
中的第k

个数据记为p
i,j,m
[k

],将f
i,j,m
中第k

个数据记为f
i,j,m
[k

],k

的取值范围是=1,2,

,n
i,j,m
。;采用公式(8)至公式(13)计算c
i,j,m
的频域特征值,c
i,j,m
的频域特征值包括标准差σs
i,j,m
、频谱质心cs
i,j,m
、光谱波峰crs
i,j,m
、平滑度fs
i,j,m
、偏度γs
i,j,m
和峰度βs
i,j,m

[0070][0071][0072]
crs
i,j,m
=(max(p
i,j,m
[k'])|k′
=1 to h
)/cs
i,j,m
,h=n
i,j,m
ꢀꢀꢀꢀꢀ
(10)
[0073]
[0074][0075][0076]
上式中,符号*为乘运算符号,符号/为除运算符号,∏为连乘符号,∑为连加符号,max为取最大值符号,max(p
i,j,m
[k

])|k′
=1 to h
表示取p
i,j,m
[1]至p
i,j,m
[h]中的最大值;
[0077]
s3-3、通过离散小波变换(dwt)以“haar”小波的模式对c
i,j,m
进行一次离散小波变换,得到c
i,j,m
的时频域数据,c
i,j,m
的时频域数据包括c
i,j,m
经离散小波变换后的低频数据以及c
i,j,m
经离散小波变换后的高频数据,将c
i,j,m
经离散小波变换后的低频数据记为q
i,j,m
,c
i,j,m
经离散小波变换后的高频数据记为t
i,j,m
,q
i,j,m
中的第h个低频值记为q
i,j,m
[h],t
i,j,m
中的第h个高频值记为t
i,j,m
[h],h=1,2,

,37;采用公式(14)至公式(23)计算c
i,j,m
的时频域特征值,c
i,j,m
的时频域特征值包括平均值xz
i,j,m
,、均差dz
i,j,m
,、偏度γz
i,j,m
,、峰度βz
i,j,m
,、最大值maxz
i,j,m
和最小值minz
i,j,m

[0078][0079][0080][0081][0082][0083][0084][0085]
[0086][0087][0088]
其中,max(q
i,j,m
)表示取q
i,j,m
中的最大值,max(t
i,j,m
)表示取t
i,j,m
中的最大值,min(q
i,j,m
)表示取q
i,j,m
中的最小值,min(t
i,j,m
)表示取t
i,j,m
中的最小值;
[0089]
s3-4、采用c
i,j,m
的6个时域特征值、6个频域特征值和6个时频域特征值组成一个18维的向量,该向量即为第i名测试人员的第j种手势的第m个手势运动指纹,记为d
i,j,m
,将第i名测试人员的第j种手势的所有手势运动指纹的集合记为d
i,j
,所有测试人员的所有手势的所有手势运动指纹的集合记为d;
[0090]
步骤4:采用集合d训练得到身份认证模型,具体为:从集合d中随机选择第i名测试人员以外的其他测试人员的100个手势运动指纹以及d
i,j
中的所有手势运动指纹,采用随机森林(random forest)、svm和梯度增强树(gradient boosting tree,gbt)方法,将d
i,j
中的所有手势运动指纹和选择的100个手势运动指纹一起进行分类学习,构建得到d
i,j
的身份认证模型并保存在认证服务器中,d
i,j
的身份认证模型即为第i名用户的第j种手势的身份认证模型;
[0091]
步骤5:当需要认证某用户合法性时,该用户做出1-9种手势的某个手势,此时该用户佩戴的心率传感器实时采集该用户做出手势时的数据发送至认证服务器,认证服务器采用步骤2和步骤3相同的方法得到一个18维的向量作为该用户的手势运动指纹p,然后认证服务器通过其内存储的该用户的9种手势的身份认证模型对该手势运动指纹p进行识别,如果有一种身份认证模型判定为手势符合,则判定认证成功,该用户认证通过,否则判定认证失败,该用户认证未通过。
[0092]
本实施例中,每隔l天(l的取值大于等于7)对认证服务器中所有的身份认证模型进行更新,具体为:每隔l天按照步骤2和步骤3相同的方法获取用户最新的手势运动指纹,并将用户最新的手势运动指纹加入到集合d中,然后随机删除集合d中超过30天的手势运动指纹,实现集合d的更新,然后基于步骤4的方法,采用更新后d再次训练得到身份认证模型,实现身份认证模型的跟新,以适应用户的日常生理变化,保证身份认证的精确度。
[0093]
用户在有做手势动作和没有做手势动作情况下心率传感器的读数和对应的y
i,j
的结果如图2所示,分析图2可知,如果没有手势动作进行,则心率传感器的读数波动很小,对应的结果y
i,j
也很小,相反如果有手势动作进行,则读数波动会很大,对应的y
i,j
也会很大,由此通过y
i,j
中极大值的确定,能够准确的确定手势切片,进而基于手势切片提取手势运动指纹来构建身份认证模型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1