论文部分内容阅读
生物识别技术利用人体所固有的生理或行为特征进行个人身份鉴定,人体难以隐藏和模仿的步态是生物识别的重要研究领域。通过视频采集和图像分析进行步态识别采集成本高,易被衣着影响。而通过专用外置传感器采集和分析则因需额外购买难以推广。近年来,基于智能手机的人体步态识别尤其是行为识别方法得到广泛研究并投入应用,但是对身份识别还缺少研究。本文针对基于智能手机的步态识别在身份鉴定中尚无应用的问题,提出一套完整的解决方法。通过智能手机采集人体步态数据,然后使用双树复小波变换进行特征提取,最后运用随机森林等机器学习技术构建分类模型并进行身份识别。该方法在基于客户端/服务器架构的步态识别系统得到验证。具体的工作内容如下:(1)数据采集和特征提取。开发Android平台的软件,基于智能手机中加速度计等传感器采集不同年龄和性别人群的步态数据,并分析不同对象在步态上的区别,进而根据年龄和性别构建不同的数据模型。针对实际滤波器受长度限制不能完全满足希尔伯特变换对条件所导致的诸多缺陷,采用Q-shift改进的双树复小波提取步态数据的时频特征,并对参数选择进行分析和优化。(2)构建分类模型。采用Weka作为机器学习的工具,以正确分类的实例数和比率,Kappa统计,混淆矩阵等指标作为评估标准。经过分析,选用RandomForest、Adaboost、K-NN、Bagging共4种机器学习方法构建分类模型,使用知识流工具以加速度传感器和旋转矢量传感器的数据对比讨论他们的性能。采用坐标下降法对4种算法的内部参数进行细致的研究,统计他们的影响效果,选择最优的参数方案构建分类模型。最后,通过对比不同数据模型表明:年龄和性别在步态分析中的确具有重要的影响。(3)开发一款基于Android客户端/Servlet服务器的步态识别系统进行验证。采用三层架构,和MVP、建造者、工厂等设计模式进行开发实现“高内聚低耦合”的软件开发要求。在界面布局,电池损耗和长耗时任务方面优化客户端;在服务器的高并发和高消耗方面,采用Servlet3.0的异步处理机制,以及线程池和数据库连接池进行优化。设计一种基于投票策略的算法,在多个模型和多个实例两层分别投票进行最终表决,并给出身份识别的准确度达到95%的模型达标极小值和算法达标极小值。