本发明属于人身安全领域,具体涉及一种基于智能手机的盲人识别及引导式导盲的方法。
背景技术:
据2014年12月12日的一项调查表明,根据国际导盲犬联盟的评估,视障者与导盲犬的理想比例为100:1。但是目前,全国约1731万视障人士,导盲犬仅70只左右。并且一条导盲犬的培养成本在12万-15万元之间,在现实生活中,盲人和导盲犬面临的公共空间同时也受到极大的限制。上述种种因素导致导盲犬并不能得到极大的普及。在一定程度上,导盲犬的出现并没有给大多数的盲人带来福音。
随着科技的不断发展,智能手机已经不仅仅局限于打电话、发信息等应用。智能手机大都配备了摄像头、加速度传感器、陀螺仪等各种传感器,这些传感器能够记录下每个人所特有的生理特征或行为特征,利用这些生物特征进行身份识别能够克服传统的身份认证的缺陷,且省去了手动输入认证信息的麻烦。还可以通过智能手机的惯性导航进行人员位置的定位导航。
技术实现要素:
针对目前盲人的现状以及智能手机的普及性,本发明利用智能手机为盲人解决这些难题。一方面可以利用智能手机对盲人的身份进行识别,以检测出盲人的手机出现丢失、被盗等现象。另一方面针对智能手机的传感器对盲人进行位置的定位和路径的导航。解决了长久以来困扰盲人出行不便的难题。
实现本发明的技术方案如下:
一种基于智能手机的盲人识别及引导式导盲的方法,包括身份识别的步骤和引导导航的步骤;
所述身份识别的步骤包括:
(1)数据获取:利用手机内置加速度传感器,测得三轴加速度值,将手机放置在手中采集用户的生理振动数据;
(2)数据预处理:将获取的数据先去除重力的影响,再进行去噪处理;
(3)特征提取:提取均值、标准差特征,并对数据进行标准化处理;
(4)训练认证:利用DTW算法通过动态规划使两个序列的特征排列一致,并使序列间的总距离最小化,设x轴上的模板序列P=p1,p2,...,pj,...,pn和信号的特征序列S=s1,s2,...,sk,...,sn,序列长度均为n,构造一个n×n的矩阵,矩阵中的元素点pj和sk的距离如下:
d(pj-sk)=(pj-sk)2
定义w=w1,w2,...,wm,...,wM,n≤M≤2n,W为p,s间的映射,W中的第m个元素为wm=(j,k),1≤j,k≤n,则DTW可表示为如下最优化问题:
设置一个阈值:即在初始阶段,将采集到的初始信号分别获取其均值标准差σ,设三条模板的x轴上的均值、标准差分别为σ1,σ2,σ3,取均值即:
采用同样方法,得到其他两条轴的的模板Py,Pz,再用DTW算法与认证模板进行匹配,得到三个DTW距离,求其平均:
Sx为测试序列S=s1,s2,...,sk,...,sn的信号值的均值:
分别为采集的三条测试序列的均值。
设置y轴和z轴的阈值为:
μ1=α(μx+μy+μz)
其中:
α为不小于1的常数,α越接近1,则要求认证信号越接近模板;μx,μy,μz:分别表示模板与三条测试序列的x轴,y轴,z轴的DTW距离的均值,其中,用来计算的模板通过分别选取三条模板各轴数值的均值,最后取平均;μ1,μ2均为阈值;分别表示模板与三条测试序列的x轴,y轴,z轴的DTW距离的均值,其中模板取三条模板序列的标准差值的平均,测试序列分别取三条测试序列各轴的标准差。
用户采集一个新的数据,经过预处理后,得到三个轴上的特征序列为Sγx,Sγy,Sγz,然后分别利用DTW算法,得到三个DTW距离,求三个距离之和:
θ=D(Px,Sγx)+D(Py,Sγy)+D(Pz,Sγz)
最后,将θ与阈值μ进行比较,若θ<μ,则认证成功;否则,认证失败;
所述引导导航采用基于地标修正的机器学习的惯性导航定位方法,包括如下步骤:
(5)计步:对加速度峰值进行检测和计算,并将加速度的值与阈值进行比较,判断用户的步行状态;
(6)判断行走状态:在步行收脚的动作中,由于重心向上单只脚触地,垂直方向加速度是呈正向增加的趋势,之后继续向前,重心下移两脚触底,加速度相反;水平加速度在收脚时减小,在迈步时增加;
(7)计算步数:首先得出3个加速度的大小和方向,从而获得一条步行运动的正弦曲线轨迹;然后进行峰值检测,通过和上一次记录的加速度大小进行比较,如果相反,表示刚过峰值状态,则进行计步,否则舍弃;通过对峰值的次数的累积可得到用户步行步数;并生成轨迹,最终根据运动轨迹进行导航。
进一步,所述步骤(5)中计步的算法采用基于Mealy状态机的计步算法。
进一步,所述步骤(7)的具体步骤如下:
1)计算方向:利用手机的方向传感器可获得方向数据,方向传感器返回的3个角度分别表示手机顶部的朝向与正北方向的夹角、手机的顶部或尾部翘起的角度和左侧或右侧翘起的角度,利用这3个角度即可确定手机的摆放位置;
2)基于最小二乘法计算步长:人行走时的步长由行走时的所产生的加速度估算出来,具体步骤包括:
④采集用户以规定步长行走时所产生的加速度,记作a,所对应的步长,记作l;
⑤计算加速度的方差,记作s;
⑥利用最小二乘法对s和l作最佳线性拟合,得到两者的关系:
l=(s-q)/p
其中,p和q是最佳线性拟合系数,其中为多次采样的均方差,为平均步长;
3)生成轨迹:根据人的步数、步长、行走的方向来计算人的位置;首先将起点的坐标(x0,y0)为原点,第j步的坐标为(xj,yj),则第j步坐标为:
(xj,yj)=(x0+Lcos(φ+γj),y0+Lcos(φ+γj))
其中,L为步长,φ为j步内所发生的方向变化之和;
最终根据实际得出的运动轨迹进行导航。
进一步,所述步骤1)还包括校正的步骤:
③记录人在行走过程中的水平手持手机时三轴陀螺仪所产生的数据,利用数据叠加去除高频噪声;得到人在水平方向的行走的角速度变化,即为R={r1,r2,...,rn};
④计算每一步所发生的方向变化,第j步过程中的方向变化为:
行走过程中同时记录指南针读数,记作:C={c1,c2,...,cn},对数据进行滤波平滑处理;获取指南针的第j步和第j+k步之间的方向变化获取三轴陀螺仪的第j步和第j+k步之间的方向变化设置的角度阈值,当超过阈值时,利用指南针第j+k步的方向对三轴陀螺仪读数计算得到的第j+k步的方向变化进行修正,并将修正后的数据作为人在第j+k步的方向。
进一步,所述步骤(7)还包括:在轨迹路段中每个一段距离设置一个定标,盲人触碰到定标后提示手机进行下一个定标的导航。
进一步,所述定标可以是楼梯扶手,或者柱子,或者桌子。
进一步,在室外时采用GPS导航系统,在室内时采用手机惯性导航系统。
本发明的有益效果:
1、首先进行身份认证。让盲人所持手机能够识别出是否是本人,如果手机被盲人及家人以外的陌生人窃取,则手机会自动发出警告。在一定程度上做到真正的对盲人的识别而不是对设备的识别。
2、其次在盲人室内短距离导航。主要通过惯性导航系统定位导航,并且结合在有限距离内设定定标进行误差修正的方法,从而达到高精度导航。
3、市面上针对盲人发明的产品也很多,比如导航手杖,GPS导航仪等,这些都是需要额外的花费。该发明无需额外的费用,利用目前普及的智能手机,也无需高精度、昂贵的惯性传感器,只需要利用手机中内置的传感器即可,实用性强,成本低廉。
附图说明
图1基于Mealy状态机的计步算法;
图2商场模拟路径图。
具体实施方式
在身份识别方面:盲人把手机放置在口袋或拿在手上,手机加速度传感器记录采集到的用户的三轴加速度序列,并求得序列的特征值作为用户的相关行为特征,通过DTW算法对特征数据进行训练归类,以识别出盲人身份。
在导航定位方面:当用户在室内时,由于室内GPS信号不能够很好的接收,利用手机的加速度传感器和陀螺仪能够协助盲人进行路径导航;在室外则利用GPS导航。
具体方案:
首先对盲人的智能手机进行训练,让盲人的手机能够识别出主人身份,当出现以下情况:手机不小心掉落到地上,手机从手上掉落到地上这一个过程,加速度传感器的数据发生一个突然的变化,手机掉落到地上之后,手机此时处于静止状态,则内置加速度传感器的数据恒定不变,当手机检测到这一系列变化之后,显示手机处于不小心掉落,此时手机发出滴滴声,让盲人能够顺着滴滴声找到手机。如果手机被他人窃取,则内置加速度传感器的数据还是发生变化,并且识别的身份并非盲人本人,则会自动给监护人发出报警信息,提醒监护人手机脱离。
其次对盲人的行走路径进行导航。据调查显示,盲人一般都会固定的去几个自己常去的地方,首先监护人带盲人将平时所走过的常用路径走一遍,并且记录下该条路径。监护人尽可能将沿途的各种路障、特征点,例如何处为楼梯,何处为阴井盖等都记录到手机中的路径中。
第一种情况比如从家到医院,该种情形属于室外导航,此时盲人通过语音提示手机自动开启室外GPS导航。手机记录下该条路径及路径上的各种特征点。因为室外的GPS导航精度较高,所以精度方面比较准确。
第二种情况如果盲人目前处在商场中,商场的环境比较复杂,GPS在室内的导航精度较差。所以在室内不使用GPS导航,本发明利用手机的惯性导航系统进行定位,但手机的惯性导航系统本身存在着累积误差,所以,本发明提出一种基于地标误差修正的导航系统。即在利用惯性导航的过程中,通过路径中的定标点进行误差的修正。
下面结合附图对本发明作进一步说明。
一、身份识别:
作为身份识别的一种,生物特征识别具有高识别率、高安全性、特征稳定、不易被窃取等特点。目前比较流行的生物特征身份识别即通过步态对身份进行识别,同时步态识别需要不断的进行步态的训练。考虑到盲人的不便性,本文使用一种比较新颖的且更加便利的生物特征识别技术——生理振动。通过手机采集用户的生理振动信号数据,进行数据预处理、提取特征、识别认证等步骤,最终实现用户的身份识别。
(1)数据获取:手机中的传感器众多,但是本文主要利用手机内置加速度传感器,利用其测得三轴加速度值,当手机放置在手中时,采取用户的生理振动数据,获取手机内置的加速度传感器的数据,单位m/s2。
(2)数据预处理:重力加速度的影响要求在样本的训练和识别过程中都必须让手机在空间中处于相同的位置,这将很大程度上会影响身份识别的精确度。因此要测量实际加速度,重力作用的影响必须要从加速度传感器中去除。所以第一步需要将手机获取的数据去除重力的影响,其次由于手机加速度数据还受到其他一些外在因素的影响,需要再进行去噪处理。
(3)特征提取:特征提取即寻找某一信号特征来区别一种信号与另一种信号的不同,从原始数据中提取数据特征,本实验中以均值、标准差等作为特征。最后为了消除数值大小和变量自身变异大小和量纲影响的影响,对数据进行标准化处理。
(4)训练认证:利用DTW算法通过动态规划方法使两个序列的重要特征排列一致,并使序列间的总距离最小化,设x轴上的模板序列P=p1,p2,...,pj,...,pn和信号的特征序列S=s1,s2,...,sk,...,sn,序列长度均为n。构造一个n×n的矩阵,矩阵中的元素点pj和sk的距离如下:
d(pj-sk)=(pj-sk)2 (1)
为了找到两序列间的最佳匹配,定义w=w1,w2,...,wm,...,wM,n≤M≤2n。W为p,s间的映射,W中的第m个元素为wm=(j,k),1≤j,k≤n。于是DTW可表示为如下最优化问题:
首先设置一个阈值:即在初始阶段,将采集到的初始信号分别获取其均值标准差σ,设三条模板的x轴上的均值、标准差分别为σ1,σ2,σ3,取均值即:
同理,得到其他两条轴的的模板Py,Pz。再用DTW算法与认证模板进行匹配,得到三个DTW距离,求其平均:
同样得到y轴和z轴的阈值为:
μ1=α(μx+μy+μz) (7)
其中:
其中,α为不小于1的常数,α越接近1,则要求认证信号越接近模板;μx,μy,μz:分别表示模板与三条测试序列的x轴,y轴,z轴的DTW距离的均值,其中模板取三条模板序列均值的平均,测试序列取三条测试序列各轴的均值;μ1,μ2均为阈值;分别表示模板与三条测试序列的x轴,y轴,z轴的DTW距离的均值,其中模板取三条模板序列的标准差值的平均,测试序列分别取三条测试序列各轴的标准差。
用户采集一个新的数据,经过预处理后,得到三个轴上的特征序列为Sγx,Sγy,Sγz,然后分别利用DTW算法,得到三个DTW距离,求三个距离之和:
θ=D(Px,Sγx)+D(Py,Sγy)+D(Pz,Sγz) (10)
最后,将θ与阈值μ进行比较,若θ<μ,则认证成功;否则,认证失败。
本文中如果手机被他人窃取,则通过身份认证,当显示此时手机持有人为陌生人时,因为之前盲人的手机与监护人的手机号码进行了绑定,手机自动给监护人发送报警信息,提醒监护人此时手机脱离被监护的盲人之手。
二、引导导航:
根据研究调查表明,由于生活的不便,盲人通常只会去固定的几个地点,在室外,强大的GPS能够发挥高精度的导航的作用,但是鉴于GPS的10m范围的误差,考虑到盲人群体的特殊性,故结合惯导进行导航,利用GPS进行累积误差修正;在室内,GPS定位精度相对比较差,故以惯性导航为主的室内的导航定位,使用了一种基于地标修正的机器学习的惯性导航定位方法。
首先监护人带着盲人将盲人平时常去的几个固定地点的路径都走一遍,将路径图记录到手机中,并且将该条路径中的各种路障,例如何处有楼梯、何处有井盖等,尽可能详细的记录下各种路障,考虑到盲人群体的特殊性,甚至将楼梯的阶数都记录其中。当处于室外,可以直接动过GPS进行路径导航,但是也要记录下路径中的各种路障,例如何处何时该上楼梯、拐弯、红绿灯等;若在商场中,考虑到商场中环境的复杂性,监护人应该在多种环境下训练路径,比如工作日人少的时候、周末人多的时候等。这样可以避免日后外在环境的变化对导航精度的影响。在室外可以利用GPS导航,但是在室内,需要借助于手机中的传感器导航,此处涉及到惯性导航的轨迹生成。分成如下步骤:
1、基于Mealy状态机的计步算法:
获取加速度数据:当人拿着手机进行轨迹生成时,一般将手机拿在手上,手机加速度传感器记录下三轴的加速度值,即为:A={a1,a2,...,an}。对手机原始加速度进行降噪及去除重力影响:
其中,α∈[0,1],i={1,2,3,...,n},n表示加速度序列的长度,g为重力。
基于Mealy状态机的计步算法包括如下:
在步行运动时,垂直方向和步行方向所产生的加速度与时间的关系大致上市一条正弦曲线,而且在某一点上会出现峰值,通过对峰值的检测和计算,并将加速度的值与阈值进行比较和决策,就可以判断用户的步行状态。
2、判断行走状态:用户在水平步行运动中,垂直和前进两个加速度会呈现周期性变化,如图1所示,在步行收脚的动作中,由于重心向上单只脚触地,垂直方向加速度是呈正向增加的趋势,之后继续向前,重心下移两脚触底,加速度相反。水平加速度在收脚时减小,在迈步时增加。
3、计算步数:由于多重因素的影响,用户放置手机位置的不确定性,导致无法确定手机的放置方向,为解决此类问题,首先通过计算得出3个加速度的大小和方向,从而获得一条步行运动的正弦曲线轨迹。然后进行峰值检测,通过和上一次记录的加速度大小进行比较,如果相反,表示刚过峰值状态,则进入计步逻辑进行计步,否则舍弃。通过对峰值的次数的累积可得到用户步行步数。并且由于手持设备会有一些低幅度和快速的抽动状态,或是我们自己的手抖,对这些所谓的干扰数据进行剔除。可以通过给检测加上阈值和步频来判断过滤干扰数据。最后获取用户的每一步的时间戳T。
1)计算方向:利用手机的方向传感器可获得方向数据,方向传感器返回的3个角度分别表示手机顶部的朝向与正北方向的夹角、手机的顶部或尾部翘起的角度和左侧或右侧翘起的角度,利用这3个角度即可确定手机的摆放位置。但是此时由于外部环境的干扰和三轴陀螺仪捕捉数据时产生的噪声,导致三轴陀螺仪捕捉的加速度数据存在偏差,此时需要借助其他传感器进行校正。
校正步骤如下:
⑤首先记录人在行走过程中的水平手持手机时三轴陀螺仪所产生的数据,利用数据叠加去除高频噪声。由此得到人在水平方向的行走的角速度变化,即为R={r1,r2,...,rn}。
⑥计算每一步所发生的方向变化,则第j步过程中的方向变化为:
⑦行走过程中同时记录指南针读数,记作:C={c1,c2,...,cn},对数据进行滤波平滑处理;获取指南针的第j步和第j+k步之间的方向变化获取三轴陀螺仪的第j步和第j+k步之间的方向变化设置的角度阈值,当超过阈值时,利用指南针第j+k步的方向对三轴陀螺仪读数计算得到的第j+k步的方向变化进行修正,并将修正后的数据作为人在第j+k步的方向。
2)基于最小二乘法计算步长:惯性导航中,运动的距离由步数与步长相乘所得,因此,每一步步长的准确度对惯性导航的精度都有很大的影响。其中人行走时的步长可由行走时的所产生的加速度估算出来。
步骤如下:
⑦采集用户以规定步长行走时所产生的加速度,记作a,所对应的步长,记作l。
⑧计算加速度的方差,记作s。
⑨利用最小二乘法对s和l作最佳线性拟合,得到两者的关系:
l=(s-q)/p (13)
其中,p和q是最佳线性拟合系数,其中为多次采样的均方差,为平均步长。
3)生成轨迹:惯性导航轨迹生成算法根据人的步数、步长、行走的方向来计算人的位置。首先将起点的坐标(x0,y0)为原点,第j步的坐标为(xj,yj),则第j步坐标为:
(xj,yj)=(x0+Lcos(φ+γj),y0+Lcos(φ+γj)) (14)
其中,L为步长,φ为j步内所发生的方向变化之和。最终根据实际得出的运动轨迹进行导航。
4)考虑到上述的惯性导航存在较大累积误差的情况,此时可以通过设置定标点对误差进行修正。假设盲人从甲地到达乙地,总共20m,在这段路径中,可以通过每5m进行设置一个定标,总共设置4个定标。设定的定标都是比较常见,例如楼梯扶手,柱子,桌子等,让盲人触碰这些定标,如果触碰到,则说明盲人在既定的那段路线中,此时盲人通过语音表示触碰到定标,提示手机进行下一个定标的导航;如果触碰不到,则说明由于累积误差较大,盲人已经偏离原本路径,也有可能之前记录的定标由于某种原因被移除了,此时,盲人进行语音输入提示未触碰到既定的定标,手机接收到语音之后,迅速做出判断,向监护人发送此时盲人所处的位置,监护人迅速调出地图,确定盲人位置,指导盲人做出判断;也可以通过求助路人,将盲人带到手机上显示的下一个定标。每次手机都将盲人走过的路径实时的记录下来,多次记录之后,随着手机中记录的路径数量的增加,导航的精度也得到极大的提高。根据上诉轨迹生成过程,将盲人在现实生活中有可能去过的地点的轨迹路径都实时记录下来。接下来即实现路径的匹配。
如图2所示,模拟商场的路径,虚线表示记录到手机中的路径图。环形圈表示定标,通过定标来进行当前位置的校正。当盲人开始导航的时候,手机进行实时的提醒,如果与既定路线匹配,并且成功到达定标处,则导航成功,以此类推,完成最终轨迹路线的导航。因为外界环境的复杂性,使得每一次手机记录的路径都会有些偏差,因此每一次成功导航的路线都将记录在手机中,图2中的2条虚线路径存在差异,但是能够成功导航,将这两条路径都记录到手机中,多次之后,手机中的路线逐渐丰富。导航的精度也将得到很大的提高。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。