[发明专利]基于手势滑动的人机验证方法有效
申请号: | 201811557562.0 | 申请日: | 2018-12-19 |
公开(公告)号: | CN109684803B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 高海昌;裴歌;罗赛男;常国沁;程诺;郑涵;张阳 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/31 | 分类号: | G06F21/31;G06F21/44;G06K9/00 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 陈宏社;王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 手势 滑动 人机 验证 方法 | ||
1.一种基于手势滑动的人机验证方法,其特征在于,包括如下步骤:
(1)构建手势数据集:
(1a)将摄像头拍摄的多帧手势动画以图片形式保存到JPEGImages文件夹中,并对每幅图片进行命名,然后将一半以上的图片作为训练样本集,剩余图片的部分作为验证样本集,另一部分作为测试样本集,最后将所有样本集中与train.txt文件中每幅图片名称相同的xml文件写入ImageSets/Main文件夹下的train.txt文件中,与val.txt文件中每幅图片名称相同的xml文件写入ImageSets/Main文件夹下的val.txt文件中,与test.txt文件中每幅图片的名称相同的xml文件写入ImageSets/Main文件夹下的test.txt文件中,将训练样本集和验证样本集的名称写入ImageSets/Main文件夹下的trainval.txt文件中;
(1b)对JPEGImages文件夹中每幅图片所包含的手势的边界框标注后的标注信息进行标准化处理,得到边界框为正方形的处理结果,并将处理结果以xml格式保存到Annotations文件夹中,每个xml格式文件的名称与其包含的标注信息所对应的图片名称相同,然后从Annotations文件夹中选取与train.txt文件中每幅图片名称相同的xml文件作为训练样本集的标注信息集,选取与val.txt文件中每幅图片名称相同的xml文件作为验证样本集的标注信息集,选取与test.txt文件中每幅图片的名称相同的xml文件作为测试样本集的标注信息集;
(1c)将训练样本集及其标注信息集作为训练集,将验证样本集及其标注信息集作为验证集,同时将测试样本集及其标注信息集作为测试集,并将训练集、验证集和测试集合并为手势数据集;
(2)对目标检测网络YOLO V3进行改进:
将目标检测网络YOLO V3中的特征提取模块重构为Conv_cRelu子模块、Mixed_5b_dilation_module子模块和InvertedResidual子模块,同时删除YOLO V3中目标预测模块中与最浅层特征融合的输出层,得到改进的目标检测网络YOLO V3,其中:
Conv_cRelu子模块:用于对该子模块输入的卷积结果及卷积结果的相反数分别输入到两个Relu非线性激活函数中,并将两个Relu非线性激活函数的输出拼接为该子模块的输出结果;
Mixed_5b_dilation_module子模块:包含四个分支,其中一个分支用于对该子模块的输入进行卷积核大小为1,步长为1的卷积操作,一个分支用于对该子模块的输入进行两个串行的卷积操作,卷积核大小分别为1、3,步长分别为1、1,一个分支用于对该子模块的输入进行三个串行的卷积操作,卷积核大小分别为1、3、3,步长分别为1、1、1,一个分支用于对该子模块的输入进行窗口大小为3,步长为1的平均池化操作,并连接一个卷积核大小为1,步长为1的卷积操作,然后将四个分支的输出进行拼接,得到该子模块的输出结果;
InvertedResidual子模块:包含三个操作组,第一个操作组对该子模块的输入进行卷积核大小为1,步长为1,边缘扩充参数为0的卷积操作并进行批量归一化以及Relu非线性映射;第二个操作组用于对第一个操作组的结果进行卷积核大小为3,步长为2,边缘扩充参数为1的卷积操作并进行批量归一化以及Relu非线性映射;第三个操作组用于对第二个操作组的结果进行卷积核大小为1,步长为1,边缘扩充参数为0的卷积操作并进行批量归一化;
(3)对改进的目标检测网络YOLO V3进行训练:
(3a)采用随机数对改进的目标检测网络YOLO V3中的训练参数进行初始化;
(3b)从手势数据集中的训练集中随机选取固定张图片作为一个批次进行数据增强,并将得到包含多样化样本的训练集,输入到改进后的目标检测网络YOLO V3中,共进行N次迭代,N≥10000,得到训练好的改进的目标检测网络YOLO V3;
(4)生成手势滑动验证码的用户验证界面:
(4a)在用户终端的屏幕上划定验证码的验证区域,并将用户终端中的摄像头拍摄的内容实时反馈在验证区域内,然后通过训练好的改进的目标检测网络YOLO V3对验证区域内反馈的内容进行持续检测,若反馈的内容中有手存在,则对手的中心位置进行标记;
(4b)在验证区域内标注两个以上随机点,并固定各随机点的位置,然后通过直线依次将各随机点连接,形成目标轨迹,并将验证区域内反馈的内容、手中心位置的标记和目标轨迹作为手势滑动验证码的用户验证界面;
(5)判断实时检测到的手中心位置的标记是否移动到目标轨迹的起点:
在T时间内持续判断实时检测到的手中心位置的标记是否移动到目标轨迹的起点,若是,持续记录用户手中心位置的坐标点,并执行步骤(6),否则执行步骤(4),T≥30s;
(6)判断实时检测到的手中心位置的标记是否移动到目标轨迹的终点:
在T时间内持续判断实时检测到的手中心位置的标记是否移动到目标轨迹的终点,若是,停止记录用户手中心位置的坐标点,并将所记录的内容作为用户手势滑动信息,并执行步骤(7),否则,执行步骤(4),T≥30s;
(7)对用户进行人机验证:
(7a)通过异常点对用户进行初步人机验证:
判断用户手势滑动信息中的每一个坐标点到目标轨迹的距离是否小于S,若是,则该坐标点为正常点,否则,则该坐标点为异常点;计算所有异常点的中心坐标以及每一个异常点到所有异常点中心坐标距离的平均值,若该平均值小于M,则判定所有异常点是由合法用户错误操作引起,并将其从手中心位置的坐标点的记录中去除,执行步骤(7b),否则,判定用户为机器,其中S≥100,M≥2;
(7b)通过目标轨迹对用户进行最终人机验证:
判断每个正常点到目标轨迹距离中的最大值D是否满足D≤20,若是,则用户合法,否则,判断αD内正常点占所有正常点的比例P是否满足P≥β,若是,则判定用户为人类,否则判定用户为机器,其中α≥0.5,β≥0.5。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811557562.0/1.html,转载请声明来源钻瓜专利网。