1.一种基于人脸特征识别的移动终端电子投票方法,其特征在于:移动终端通过互联网或移动通讯网络访问投票服务器SS,投票服务器SS有三个子服务器,分别是图像处理子服务器SS_G、投票子服务器SS_T、验证子服务器SS_V,三个子服务器都可以访问数据库服务器SS_D,所述电子投票方法包括以下步骤:(1)投票服务器SS数据的初始化
(1.1)投票子服务器SS_T对本次投票受评人信息进行管理,包括添加新的受评人,修改受评人信息和删除无效的受评人;
(1.2)投票子服务器SS_T对本次投票的投票人信息进行管理,包括添加新的投票人,修改投票人信息和删除无效的投票人,投票人信息包括预设邮箱T_maili和照片T_pici,照片T_pici用于人脸特征T_characi提取和验证,邮箱T_maili用于接收投票码T_codei;
(1.3)图像处理子服务器SS_G对步骤(1.2)中预设的所有照片T_pici进行图片预处理;
(1.4)图像处理子服务器SS_G将预处理过的照片T_pici进行人脸特征T_characi提取;
(1.5)投票子服务器SS_T将提取的人脸特征T_characi与对应投票人信息进行二元组绑定
(2)移动终端开始投票,投票人在投票过程中需要经过系统的交叉验证,过程如下:(2.1)第一次验证
(2.1.1)自动启动移动终端的摄像头;
(2.1.2)用户进行选择是否上传照片,若选择不上传,则回到步骤(2.1.1)重新拍摄;
(2.1.3)拍摄的照片上传至投票服务器SS,由投票服务器SS将信息转发给验证子服务器SS_V进行人脸特征匹配验证;
(2.1.4)验证子服务器SS_V人脸特征匹配验证通过后,确定了投票人T_idi,投票子服务器SS_T随机生成投票码T_codei,并将该投票码与已确定的投票人信息绑定
(2.1.5)投票子服务器SS_T将生成的投票码T_codei发送至对应投票人T_idi的邮箱T_miali,并通知移动终端;
在完成第一次验证后,跳转至登录界面开始登录验证,登录验证需要投票码T_codei、设备T_UUIDi、人脸照片T_pici,其中投票码T_codei由用户从邮箱T_maili中获取,从邮箱获取投票码是第二次验证;设备T_UUIDi由APP自动从设备中获取、人脸照片T_pici由APP摄像头进行拍摄;
(2.2)第二次验证:输入从邮箱T_maili获得的投票码T_codei,(2.3)第三次验证
(2.3.1)使用移动终端的摄像头拍摄照片,不能从本地相册中获取;
(2.3.2)确定是否提交,若是,则将填写的投票码T_codei、拍摄的照片T_pici、自动获取的移动终端T_UUIDi发送至投票服务器SS;若否,则回到登录开始页面,重新填写信息,(2.3.3)投票服务器SS将验证请求转发至验证子服务器SS_V,验证子服务器SS_V获取图片T_pici、投票码T_codei、终端T_UUIDi,对图片T_pici预处理后进行特征T_characi提取;
(2.3.4)验证子服务器SS_V根据T_pici提取的人脸特征T_characi查询对应投票码T_codei,然后将该投票码与用户提交的投票码T_codei进行对比,若投票码不相同,则验证失败;若相同,则验证通过,验证子服务器记录设备的T_UUIDi为合法UUID,绑定投票码和T_UUIDi后跳转至投票页面;
(2.4)投票
(2.4.1)跳转至投票界面后,向投票服务器SS发送查看受评人信息请求;
(2.4.2)投票服务器将查看受评人信息请求转发给投票子服务器SS_T,投票子服务器SS_T从数据库服务器SS_D中查询受评人信息,将信息发送给移动终端;
(2.4.3)投票人在移动终端对受评人进行投票;
(2.4.4)投票完成后进行提交,在提交投票数据时会自动提交终端的T_UUIDi,提交的数据由投票服务器SS转发给验证子服务器SS_V进行验证。
2.如权利要求1所述的一种基于人脸特征识别的移动终端电子投票方法,其特征在于:所述投票方法还包括以下步骤:(3)选票有效性验证
(3.1)验证子服务器SS_V获取APP端提交的投票码和T_UUIDi;
(3.2)验证子服务器SS_V查询该T_UUIDi是否存在于合法UUID队列中,若存在,则对T_UUIDi和投票码T_codei是否匹配进行验证,若匹配,则验证通过,否则,验证失败;
(3.3)验证子服务器SS_V对选票有效性验证通过后将选票内容转发给投票子服务器SS_T,投票子服务器SS_T根据选票内容进行计票;若有效性验证失败,作废票处理。
3.如权利要求2所述的一种基于人脸特征识别的移动终端电子投票方法,其特征在于:所述投票方法还包括以下步骤:(4)投票人信息盲化
计票完成后,投票子服务器SS_T向移动终端主动推送投票情况,并使用HmacMD5对投票人进行盲加密,并将投票人设为已投;
投票子服务器SS_T根据投票内容产生校验码vcode,在查询数据库数据时候会对校验码进行校验,若校验失败则表示数据被篡改。
4.如权利要求3所述的一种基于人脸特征识别的移动终端电子投票方法,其特征在于:所述步骤4)中,使用HmacMD5对投票人进行盲加密过程如下:(4.1)将三元组{T_idi,T_codei,T_UUIDi}转换为比特数组;
(4.2)生成HmacMD5的密钥生成器;
(4.3)获取当前系统时间;
(4.4)以当前毫秒数为因子,使用密钥生成器产生密钥;
(4.5)通过密钥获得还原密钥;
(4.6)通过还原密钥初始化mac并执行盲化加密。
5.如权利要求3所述的一种基于人脸特征识别的移动终端电子投票方法,其特征在于:所述投票方法还包括以下步骤:(5)投票人对投票内容确定
投票人在投票结束后允许实时查看投票情况,在投票结束之前若对投票结果无异议,需要拍摄人脸照片并上传服务器,投票服务器对该照片进行验证后存档;若有异议通过移动终端进行提交,经投票举办方审核后进行处理。
6.如权利要求5所述的一种基于人脸特征识别的移动终端电子投票方法,其特征在于:所述步骤(5)中,投票完成后,系统根据当前时间毫秒数生成8位随机字符串并将其发送至投票人邮箱,投票人通过该8位随机字符串追溯和验证自己的投票结果。
7.如权利要求1~6之一所述的一种基于人脸特征识别的移动终端电子投票方法,其特征在于:所述步骤(2.1.2)中,在设定时间内拍摄三张人脸照片,分别是V1_pici1,V1_pici2,V1_pici3,所述步骤(2.1.3)中,人脸特征匹配验证的过程为:(2.1.3.1)计算照片的HSV,通过局部亮点来判断是否使用了照片进行伪造。若有局部亮点,则系统判定非正常情况,验证失败。若验证通过,计算照片的RGB,将三张照片的RGB做差值运算。差值运算结果若为0,则表示3张照片完全一样,系统判定非正常情况,验证失败,否则,验证通过;
(2.1.3.2)验证子服务器SS_V将照片V1_pici转发至图像处理子服务器SS_G进行预处理;
(2.1.3.3)图像处理子服务器SS_G对预处理过的照片V1_pici进行人脸特征V1_characi提取,并将特征V1_characi转发至验证子服务器SS_V;
(2.1.3.4)验证子服务器SS_V使用提取的特征查找绑定的投票人T_idi,若能够找到对应的投票人,则表示匹配成功,即验证通过,否则匹配失败验证不通过。
8.一种实现如权利要求1所述的一种基于人脸特征识别的移动终端电子投票方法的电子投票系统,其特征在于:所述电子投票系统包括移动终端、投票服务器SS和数据库服务器SS_D,所述投票服务器SS有三个子服务器,分别是图像处理子服务器SS_G、投票子服务器SS_T、验证子服务器SS_V,移动终端通过互联网或移动通讯网络访问投票服务器SS,三个子服务器都可以访问数据库服务器SS_D;
所述移动终端包括:
拍照上传模块,用于通过摄像头拍摄照片上传到投票服务器,无法从相册中选取照片,杜绝盗用照片进行验证的可能性,登录请求模块,用于向投票服务器发送登录请求,请求信息包括投票码T_codei、照片V3_pic3和终端T_UUIDi,投票码T_codei从邮箱T_maili获取,照片V3_pic3通过移动终端摄像头获取,终端T_UUIDi由APP自动从设备中获取,验证服务器对登录请求进行验证,验证通过后投票服务器会将终端T_UUIDi与投票人信息绑定
查看受评人信息模块,用于登录成功后,APP自动从投票服务器获取受评人信息并显示,供用户查看并进行投票;
提交投票数据模块,用于在完成投票后提交投票数据,投票服务器SS对投票的有效性进行验证,若验证通过则计票,验证不通过作废票处理;
实时查看投票情况模块,用于在完成投票数据的提交后,可实时查看投票情况,投票情况指各受评人选票的统计数据,图像处理子服务器包括:
图像预处理模块,用于对图像库中的人脸进行预处理,预处理包括对图像大小裁剪、亮度增强、对比度增强;
人脸特征提取模块,用于对预处理过的图像进行人脸特征提取;
图像库管理模块,用于指对合法投票人的图像的管理,包括图像的增删改查;
投票子服务器包括:
受评人管理模块,用于进行受评人相关信息的增删改查,
投票人管理:用于进行投票人相关信息的增删改查,相关信息包括投票人的照片T_pici,姓名T_namei,邮箱T_maili,计票模块,用于对提交的有效选票进行记录,盲化投票人信息后,并汇总至投票情况中,投票码生成模块,用于随机生成8位投票码字符串T_codei,该投票码在APP端登录时使用,发送投票码至邮箱模块,用于第一次验证后,系统将随机生成的投票码T_codei发送至对应投票人的邮箱T_maili中,受评人信息查询模块,用于查询数据库服务器中受评人信息并发送至移动终端;
实时推送投票情况模块,用于在投票数据有变化时主动将投票数据推送至移动终端;
验证服务器包括:
人脸验证模块,用于对提交的照片进行验证,对APP提交的人脸照片进行特征提取并且与二元组
登录请求验证模块,用于对提交的照片V3_pici和投票码T_codei进行验证,首先进行人脸验证之外,再验证人脸特征与投票码是否匹配,即通过V3_pici提取的特征V3_characi查找到与V3_characi匹配的T_charai对应的三元组
选票有效性验证模块,用于对提交的选票进行有效性验证,验证提交选票的终端T_UUIDi是否合法,以及T_UUIDi与投票码T_codei是否匹配;
查询合法性验证模块,用于对提交的查询进行合法性验证,验证提交请求的终端T_UUIDi是否合法,以及T_UUIDi与投票码T_codei是否匹配。
9.如权利要求8所述的电子投票系统,其特征在于:所述移动终端还包括:实时查看投票情况模块,用于在完成投票数据的提交后,可实时查看投票情况,投票情况指各受评人选票的统计数据。
10.如权利要求8或9所述的电子投票系统,其特征在于:所述投票子服务器还包括:查询合法性验证模块,用于对提交的查询进行合法性验证,验证提交请求的终端T_UUIDi是否合法,以及T_UUIDi与投票码T_codei是否匹配。