首页 / 专利库 / 多媒体工具与应用 / 静态图像压缩标准 / 一种视频身份的识别设备及其方法

一种视频身份的识别设备及其方法

阅读:253发布:2020-05-11

专利汇可以提供一种视频身份的识别设备及其方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种视频身份的识别设备及其方法,将一种将计算机识别( 图像识别 、 语音识别 )技术应用到视频身份的识别当中,形成一种综合性多策略的结合 深度学习 的方式,有效防视频身份识别错误带给交易的 风 险。本发明将语音识别、身份证 人脸识别 、活体识别、传统身份证和姓名实名验证相结合,主要包括身份信息录入步骤,语音识别模型构建步骤,人脸活体识别模型构建步骤,语音识别在线验证步骤,身份证信息在线验证人脸识别在线验证步骤等环节,是一种利用深度学习技术的更加灵活和可靠的视频身份的识别设备及方法。,下面是一种视频身份的识别设备及其方法专利的具体信息内容。

1.一种视频身份的识别方法,其特征在于,包括以下步骤:
步骤1:身份信息录入,录入身份信息,包括身份证号、姓名;
步骤2:语音识别模型构建:
步骤2.1:准备一定量的非连续中文数字音频文件形成音频样本数据库,建立相对应的声学模型内容文本;
步骤2.2:统计样本音频样本数据库,建立语言模型以word.2gram.lm文件的形式输入Kaldi框架
步骤2.3:对语音音频提取MFCC特征:将MFCC提取音频特征所需要的参数设置列于conf/mfcc.conf中,通过使用Kaldi工具箱提供的脚本make_mfcc.sh对音频样本文件提取MFCC特征,此脚本自动读取参数设置文件对音频进行MFCC特征提取,并将其存放在mfcc目录下,通过使用make_cmvn.sh对所提取的MFCC音频信号特征进行归一化处理,所生成的特征用于随后的单音素语音模型建立;
步骤2.4:建立GMM-HMM模型:在获取音频样本的MFCC特征后,随机抽取部分音频样本作为测试集,其余录音者样本作为训练集;调用Kaldi工具箱提供的train_mono.sh脚本训练训练集中的单音素模型;在实现过程中模型经过多次迭代,并且每两次或三次迭代后进行一次数据对齐;
步骤2.5:语音识别训练及参数优化:在单音素模型训练完毕之后,调用openFst开源库建立语音识别网络,此步骤由Kaldi工具箱所提供的mkgraph.sh脚本实现,其中输入为所建立的单音素模型和语言模型的有限状态转换器形式的数据;通过decode.sh对测试集的音频内容进行解码,给出相应语音内容的文字输出,同时提供测试音频样本的单词错误率;并根据测试结果对模型参数进行调优;
步骤3:人脸识别模型构建:
步骤3.1:样本准备,从真实业务场景中收集的用户人脸图片,并经过前端SDK裁剪压缩处理后形成图片样本库;
步骤3.2:建立模型,主要包括人脸检测环节,从静态图片或视频中找出人脸,输出人脸的位置、大小和数目,核实送检图片中含有人脸,为下一步预处理做准备;人脸特征提取环节,将人脸图片被转化成固定维数的特征向量,并利用得到的特征向量进行后续的对比和识别;
步骤4:语音识别在线验证:
步骤4.1:采集待识别语音;
步骤4.2:前端程序语音处理环节,将采集到的语音进行BASE64编码;
步骤4.3:语音识别系统统一还原处理,语音文件解码后送入步骤2优化后的及其学习模型中进行识别判断;
步骤5:身份信息在线验证:验证步骤1中录入的身份证号及姓名是否正确;
步骤6:人脸识别在线验证:
步骤6.1:手机摄像头拍摄用户人脸图片作为上传图片,经过SDK处理后保存为jpg格式图片,再转化为二进制流;
步骤6.2:调用人脸检测方法获得位置坐标,如图片检测失效则返回错误码;
步骤6.3:调用人脸矫正方法进行图片矫正,如果图片矫正失败返回错误码;
步骤6.4:调用人脸识别方法获得图片特征点,如果图片识别失败则返回错误码;
步骤6.5:对比上传图片和注册图片的特征点,获得人脸对比的分数,大于等于配置文件设置的分数阈值则代表不是同一个人,小于则代表同一个人。
2.根据权利要求1所述的视频身份的识别方法,其特征在于,所述步骤2.1中即创建文件包括text、utt2spk、wav.scp、spk2utt文件和phones.txt、lexicon.txt等字典文件。
3.根据权利要求1所述的视频身份的识别方法,其特征在于,所述步骤2.2中所述语言模型为n-gram模型。
4.根据权利要求1所述的视频身份的识别方法,其特征在于,所述步骤3.2中还包括图像预处理环节,去除图像噪声、模糊、光照、遮挡,并根据人脸中的关键点位置对人脸做几何校正,通过缩放、旋转、拉伸等图像变化方式将待识别的人脸区域标准化。
5.根据权利要求1所述的视频身份的识别方法,其特征在于,所述相语音识别在线验证步骤前还包括活体验证,要求客户根据提示做出活体动作,符合要求之后才能进入在先验证步骤。
6.根据权利要求1所述的视频身份的识别方法,其特征在于,所述步骤2中所述的需调优参数主要包括:移长度,三带通滤波器个数,MEL阶数,混合高斯函数数量。
7.根据权利要求1所述的视频身份的识别方法,其特征在于,所述步骤3.1中人脸图片通过手机摄像头拍摄。
8.根据权利要求1所述的视频身份的识别方法,其特征在于:所述步骤4语音识别在线验证过程中采集待识别语音可以加入音频训练样本库持续优化训练语音识别模型。
9.根据权利要求1所述的视频身份的识别方法,其特征在于:所述人脸识别模型的技术指标包括:误识率和本人通过率。
10.一种视频身份的识别设备,其特征在于,包括:
身份信息录入模,用于录入身份信息,包括身份证号、姓名;
语音识别模型构建模块,用于准备一定量的非连续中文数字音频文件形成音频样本数据库,建立相对应的声学模型内容文本;统计样本音频样本数据库,建立语言模型以word.2gram.lm文件的形式输入Kaldi框架;对语音音频提取MFCC特征:将MFCC提取音频特征所需要的参数设置列于conf/mfcc.conf中,通过使用Kaldi工具箱提供的脚本make_mfcc.sh对音频样本文件提取MFCC特征,此脚本自动读取参数设置文件对音频进行MFCC特征提取,并将其存放在mfcc目录下,通过使用make_cmvn.sh对所提取的MFCC音频信号特征进行归一化处理,所生成的特征用于随后的单音素语音模型建立;建立GMM-HMM模型:在获取音频样本的MFCC特征后,随机抽取部分音频样本作为测试集,其余录音者样本作为训练集;调用Kaldi工具箱提供的train_mono.sh脚本训练训练集中的单音素模型;在实现过程中模型经过多次迭代,并且每两次或三次迭代后进行一次数据对齐;语音识别训练及参数优化:在单音素模型训练完毕之后,调用openFst开源库建立语音识别网络,此步骤由Kaldi工具箱所提供的mkgraph.sh脚本实现,其中输入为所建立的单音素模型和语言模型的有限状态转换器形式的数据;通过decode.sh对测试集的音频内容进行解码,给出相应语音内容的文字输出,同时提供测试音频样本的单词错误率;并根据测试结果对模型参数进行调优;
人脸识别模型构建模块:用于样本准备,从真实业务场景中收集的用户人脸图片,并经过前端SDK裁剪压缩处理后形成图片样本库;建立模型,主要包括人脸检测环节,从静态图片或视频中找出人脸,输出人脸的位置、大小和数目,核实送检图片中含有人脸,为下一步预处理做准备;人脸特征提取环节,将人脸图片被转化成固定维数的特征向量,并利用得到的特征向量进行后续的对比和识别;
语音识别在线验证模块:用于采集待识别语音;前端程序语音处理环节,将采集到的语音进行BASE64编码;语音识别系统统一还原处理,语音文件解码后送入步骤2优化后的及其学习模型中进行识别判断;
身份信息在线验证模块:用于验证步骤1中录入的身份证号及姓名是否正确;
人脸识别在线验证模块:用于将手机摄像头拍摄用户人脸图片作为上传图片,经过SDK处理后保存为jpg格式图片,再转化为二进制流;调用人脸检测方法获得位置坐标,如图片检测失效则返回错误码;调用人脸矫正方法进行图片矫正,如果图片矫正失败返回错误码;
调用人脸识别方法获得图片特征点,如果图片识别失败则返回错误码;对比上传图片和注册图片的特征点,获得人脸对比的分数,大于等于配置文件设置的分数阈值则代表不是同一个人,小于则代表同一个人。

说明书全文

一种视频身份的识别设备及其方法

技术领域

[0001] 本发明涉及图像识别技术领域,尤其涉及一种视频身份识别的方法及其设备背景技术
[0002] 目前视频身份的识别主要通过单策略的语音识别人脸识别,人脸对比识别作为一项成熟的生物识别技术,目前已被应用于汇付用户登记、用户验证等场景中,然而人脸对比识别系统只能对采集图像中的人脸进行辨认,却无法判断采集到的人脸图像的真伪,因此极易受到各种蓄意攻击。而一旦这些攻击成功,可能会威胁用户账户和资金的安全,带来的后果与损失可能非常严重。为了解决这个问题,人脸活体识别技术应运而生,该技术旨在辨别人脸识别系统采集到的人脸图像是来自于真人实时录制,还是来自于非法用户的伪造攻击。人脸活体检测技术与人脸对比识别技术互相结合,能带来更加安全可靠的人脸识别性能。
[0003] 人脸识别技术主要面临三种攻击手段:
[0004] 1.合法用户的人脸图片,即伪造者通过各种途径,比如网络等渠道取得合法用户的人脸图片,保存在手机或电脑中来欺骗人脸识别系统。
[0005] 2.合法用户的人脸视频,即伪造者通过各种途径取得了合法用户的视频,以视频回放的方式欺骗人脸识别系统。
[0006] 3.合法用户的3D模型或面具头套,即用三维仿真技术模拟真人眨眼、说话等对系统进行欺骗,或通过3D打印制作的合法用户头套或面具来进行欺骗。这种攻击手段的欺骗性最强,但作假的成本也较高,不属于常见的攻击手段。
[0007] 人脸识别技术面临通常具有以下缺点:不稳定性:与其他生物特征,如指纹、虹膜相比,人脸的稳定性不高。人脸是非刚性物体,表情、姿态、拍摄度的不同使得同一个人的人脸图像千变万化。遮挡物影响:各类面部遮挡物,如眼镜、口罩、发型、胡须等都会影响识别的准确性。采集环境不可控性:在采集图像时,光照条件、人物背景往往不可控,而这些因素都会对识别准确性造成干扰。

发明内容

[0008] 本发明的目的是解决现有技术中的问题,提供一种结合语音识别、身份证人脸识别、活体识别、传统身份证和姓名实名验证相结合,利用深度学习技术的更加灵活和可靠的视频身份的识别设备及方法。
[0009] 本发明提供一种异常身份证的识别方法,包括以下步骤:
[0010] 步骤1:身份信息录入,录入身份信息,包括身份证号、姓名;
[0011] 步骤2:语音识别模型构建:
[0012] 步骤2.1:准备一定量的非连续中文数字音频文件形成音频样本数据库,建立相对应的声学模型内容文本;
[0013] 步骤2.2:统计样本音频样本数据库,建立语言模型以word.2gram.lm文件的形式输入Kaldi框架
[0014] 步骤2.3:对语音音频提取MFCC特征:将MFCC提取音频特征所需要的参数设置列于conf/mfcc.conf中,通过使用Kaldi工具箱提供的脚本make_mfcc.sh对音频样本文件提取MFCC特征,此脚本自动读取参数设置文件对音频进行MFCC特征提取,并将其存放在mfcc目录下,通过使用make_cmvn.sh对所提取的MFCC音频信号特征进行归一化处理,所生成的特征用于随后的单音素语音模型建立;
[0015] 步骤2.4:建立GMM-HMM模型:在获取音频样本的MFCC特征后,随机抽取部分音频样本作为测试集,其余录音者样本作为训练集;调用Kaldi工具箱提供的train_mono.sh脚本训练训练集中的单音素模型;在实现过程中模型经过多次迭代,并且每两次或三次迭代后进行一次数据对齐;
[0016] 步骤2.5:语音识别训练及参数优化:在单音素模型训练完毕之后,调用openFst开源库建立语音识别网络,此步骤由Kaldi工具箱所提供的mkgraph.sh脚本实现,其中输入为所建立的单音素模型和语言模型的有限状态转换器形式的数据;通过decode.sh对测试集的音频内容进行解码,给出相应语音内容的文字输出,同时提供测试音频样本的单词错误率;并根据测试结果对模型参数进行调优;
[0017] 步骤3:人脸识别模型构建:
[0018] 步骤3.1:样本准备,从真实业务场景中收集的用户人脸图片,并经过前端SDK裁剪压缩处理后形成图片样本库;
[0019] 步骤3.2:建立模型,主要包括人脸检测环节,从静态图片或视频中找出人脸,输出人脸的位置、大小和数目,核实送检图片中含有人脸,为下一步预处理做准备;人脸特征提取环节,将人脸图片被转化成固定维数的特征向量,并利用得到的特征向量进行后续的对比和识别;
[0020] 步骤4:语音识别在线验证:
[0021] 步骤4.1:采集待识别语音;
[0022] 步骤4.2:前端程序语音处理环节,将采集到的语音进行BASE64编码;
[0023] 步骤4.3:语音识别系统统一还原处理,语音文件解码后送入步骤2优化后的及其学习模型中进行识别判断;
[0024] 步骤5:身份证信息在线验证:验证步骤1中录入的身份证号及姓名是否正确;
[0025] 步骤6:人脸识别在线验证:
[0026] 步骤6.1:手机摄像头拍摄用户人脸图片作为上传图片,经过SDK处理后保存为jpg格式图片,再转化为二进制流;
[0027] 步骤6.2:调用人脸检测方法获得位置坐标,如图片检测失效则返回错误码;
[0028] 步骤6.3:调用人脸矫正方法进行图片矫正,如果图片矫正失败返回错误码;
[0029] 步骤6.4:调用人脸识别方法获得图片特征点,如果图片识别失败则返回错误码;
[0030] 步骤6.5:对比上传图片和注册图片的特征点,获得人脸对比的分数,大于等于配置文件设置的分数阈值则代表不是同一个人,小于则代表同一个人。
[0031] 优选地,所述步骤2.1中即创建文件包括text、utt2spk、wav.scp、spk2utt文件和phones.txt、lexicon.txt等字典文件。
[0032] 优选地,所述步骤2.2中所述语言模型为n-gram模型。
[0033] 优选地,所述步骤3.2中还包括图像预处理环节,去除图像噪声、模糊、光照、遮挡,并根据人脸中的关键点位置对人脸做几何校正,通过缩放、旋转、拉伸等图像变化方式将待识别的人脸区域标准化。
[0034] 优选地,所述相语音识别在线验证步骤前还包括活体验证,要求客户根据提示做出活体动作,符合要求之后才能进入在先验证步骤。
[0035] 优选地,所述步骤2中所述的需调优参数主要包括:移长度,三角带通滤波器个数,MEL阶数,混合高斯函数数量。
[0036] 优选地,所述步骤3.1中人脸图片通过手机摄像头拍摄。
[0037] 优选地,所述步骤4语音识别在线验证过程中采集待识别语音可以加入音频训练样本库持续优化训练语音识别模型。
[0038] 优选地,所述人脸识别模型的技术指标包括:误识率和本人通过率。
[0039] 一种视频身份的识别设备,其特征在于,包括:
[0040] 身份信息录入模,用于录入身份信息,包括身份证号、姓名;
[0041] 语音识别模型构建模块,用于准备一定量的非连续中文数字音频文件形成音频样本数据库,建立相对应的声学模型内容文本;统计样本音频样本数据库,建立语言模型以word.2gram.lm文件的形式输入Kaldi框架;对语音音频提取MFCC特征:将MFCC提取音频特征所需要的参数设置列于conf/mfcc.conf中,通过使用Kaldi工具箱提供的脚本make_mfcc.sh对音频样本文件提取MFCC特征,此脚本自动读取参数设置文件对音频进行MFCC特征提取,并将其存放在mfcc目录下,通过使用make_cmvn.sh对所提取的MFCC音频信号特征进行归一化处理,所生成的特征用于随后的单音素语音模型建立;建立GMM-HMM模型:在获取音频样本的MFCC特征后,随机抽取部分音频样本作为测试集,其余录音者样本作为训练集;调用Kaldi工具箱提供的train_mono.sh脚本训练训练集中的单音素模型;在实现过程中模型经过多次迭代,并且每两次或三次迭代后进行一次数据对齐;语音识别训练及参数优化:在单音素模型训练完毕之后,调用openFst开源库建立语音识别网络,此步骤由Kaldi工具箱所提供的mkgraph.sh脚本实现,其中输入为所建立的单音素模型和语言模型的有限状态转换器形式的数据;通过decode.sh对测试集的音频内容进行解码,给出相应语音内容的文字输出,同时提供测试音频样本的单词错误率;并根据测试结果对模型参数进行调优;
[0042] 人脸识别模型构建模块:用于样本准备,从真实业务场景中收集的用户人脸图片,并经过前端SDK裁剪压缩处理后形成图片样本库;建立模型,主要包括人脸检测环节,从静态图片或视频中找出人脸,输出人脸的位置、大小和数目,核实送检图片中含有人脸,为下一步预处理做准备;人脸特征提取环节,将人脸图片被转化成固定维数的特征向量,并利用得到的特征向量进行后续的对比和识别;
[0043] 语音识别在线验证模块:用于采集待识别语音;前端程序语音处理环节,将采集到的语音进行BASE64编码;语音识别系统统一还原处理,语音文件解码后送入步骤2优化后的及其学习模型中进行识别判断;
[0044] 身份信息在线验证模块:用于验证步骤1中录入的身份证号及姓名是否正确;
[0045] 人脸识别在线验证模块:用于将手机摄像头拍摄用户人脸图片作为上传图片,经过SDK处理后保存为jpg格式图片,再转化为二进制流;调用人脸检测方法获得位置坐标,如图片检测失效则返回错误码;调用人脸矫正方法进行图片矫正,如果图片矫正失败返回错误码;调用人脸识别方法获得图片特征点,如果图片识别失败则返回错误码;对比上传图片和注册图片的特征点,获得人脸对比的分数,大于等于配置文件设置的分数阈值则代表不是同一个人,小于则代表同一个人。
[0046] 本发明的优点是:1,本发明摈弃了原来耗费人、效率低下、人工成本高的方式,创新性地将语音识别、人脸识别等AI技术应用到身份验证中,2,在通过传统姓名和身份证号验证,保证客户身份信息真实的同时,通过活体识别和人脸比对保证保证客户信息不可伪造。最后通过用户录制随机语音数字,保证客户的主动意愿性。通过以上方式保证客户身份验证与临柜开户方式基本等同。3,通过大量实验选择了合理的语音识别验证模型及调优参数,能够有效适应在线语音识别的需求,输出效果理想。
[0047] 为了使本发明实现的技术手段、技术特征、发明目的与技术效果易于明白了解,下面结合具体图示,进一步阐述本发明。附图说明
[0048] 图1为本发明一种实施例的逻辑流程图
[0049] 图2为本发明实施例中声学模型结果示意图;
[0050] 图3为本发明实施例中的前端语音文件处理流程示意图;
[0051] 图4为本发明实施例中的后端语音文件处理流程示意图。

具体实施方式

[0052] 神经网络算法是一类模仿生物神经网络而构建的计算机算法的总称,由若干人工神经元结点(简称“神经元”)互联而成。神经元之间通过突触两两连接,突触记录了神经元间联系的强弱(权值)。人脑通过几十亿神经元和千万亿个突触对视觉、听觉等各类刺激物做出反应,而学习的过程,也就是神经元改变相互连接方式的过程,从而使得人类能对刺激做出合理的反应,神经网络即模拟了人脑神经工作的过程。
[0053] 卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络。现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。
[0054] 本发明将一种将计算机识别(图像识别、语音识别)技术应用到视频身份的识别当中,形成一种综合性多策略的结合深度学习的方式,有效防视频身份识别错误带给交易的险。
[0055] 一、技术背景及基础概念
[0056] 1.语音识别基本概念
[0057] 语音识别,主要是将已知内容的语音音频文件通过特征提取方法,将音频文件转化为音频特征,通过音频特征与对应的音频内容,建立声学模型,训练获得解码器,随后对未知音频样本经过特征提取,并通过解码器对提取的音频特征进行解码,从而获得相应的音频内容。解析获得的音频内容再经语言模型对音频识别后的内容进行修正,最终输出未知音频文件的语音内容。
[0058] 2.人脸识别基本概念
[0059] 人脸识别,是指给定一个场景的静态图像或动态视频,利用存储有若干已知身份的人脸图像的数据库验证和鉴别场景中单个或多个人的身份。
[0060] 作为生物识别的一个方面,人脸识别广泛应用于安全验证系统、公安系统的犯罪身份识别、行和海关的监控等领域。其优点主要包括:非接触性:用户不需要和设备直接接触。非强制性:被识别的人脸图像信息可以主动获取,不要求识别人的配合,非常适合监控任务场景。并发性:实际应用场景下可以进行多个人脸的分拣、判断及识别[0061] 3.卷积神经网络算法原理
[0062] (1)神经网络算法
[0063] 神经网络算法是一类模仿生物神经网络而构建的计算机算法的总称,由若干人工神经元结点(简称“神经元”)互联而成。神经元之间通过突触两两连接,突触记录了神经元间联系的强弱(权值)。人脑通过几十亿神经元和千万亿个突触对视觉、听觉等各类刺激物做出反应,而学习的过程,也就是神经元改变相互连接方式的过程,从而使得人类能对刺激做出合理的反应,神经网络即模拟了人脑神经工作的过程。
[0064] 以监督学习为例,假设有训练样本集(xi,yi),那么神经网络算法能够提供一种复杂且非线性的假设模型hW,b(x),它具有参数W和b,可以以此参数来拟合数据。
[0065] 当神经元是一个以(x1,x2,x3)和截距项+1作为输入值的运算单元,其输出是其中函数f被称为激活函数。如果选用Sigmoid函数作为激活函数 则这个神经元的输入-输出映射关系其实就是一
个逻辑回归。
[0066] 所谓的神经网络就是将许多个单一的神经元联结在一起,这样一个神经元的输出可以是另一个神经元的输入。
[0067] (2)卷积神经网络
[0068] 卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络。现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。
[0069] 图像处理中,由于图像往往像素过多,如果放到神经网络中训练,将会导致计算量过于巨大。因此,必须首先减少输入到神经网络中的参数,而卷积神经网络通过卷积和池化操作能有效的做到这一点。
[0070] 卷积:自然图像有其固有特性,也就是说,图像的一部分的统计特性与其他部分是一样的,这也意味着在图像一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。
[0071] 当从一个大尺寸图像中随机选取一小块,比如说8x8作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个8x8样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。特别是,我们可以用从8x8样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。
[0072] 假设给定了r×c的大尺寸图像,将其定义为xlarge。首先通过从大尺寸图像中抽取的a×b的小尺寸图像样本xsmall训练稀疏自编码,计算f=σ(W(1)xsmall+b(1)),其中σ是一个sigmoid型函数,得到了k个特征,其中W(1)和b(1)是可视层单元和隐含单元之间的权重和偏差值,对于每一个a×b大小的小图像xs,计算出对应的值fs=σ(W(1)xs+b(1)),对这些值做卷积,就可以得到k×(r-a+1)×(c-b+1)个卷积后的特征的矩阵。
[0073] 池化:通过卷积获得特征后,容易出现过拟合,且特征依然过多,通过池化的方法进一步减少特征值。池化的假设是,在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值(或最大值)。这些概要统计特征不仅具有低得多的维度(相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合)。这种聚合的操作就叫做池化,有时也称为平均池化或者最大池化(取决于计算池化的方法)。
[0074] 一般采用多层卷积+池化,然后使用全连接层(隐藏层)进行训练,多层卷积目的是一层卷积学到的特征往往是局部的,层数越高,学到的特征就越全局化。
[0075] (3)GMM-HMM模型
[0076] 在获得语音的特征后,通过GMM-HMM(混合高斯函数-隐尔科夫模型)算法建立声学模型,对语音进行识别。HMM(隐马尔科夫模型)是一种统计模型,用来描述一个含有隐含未知参数的马尔科夫过程,用于解决状态不能直接观察,但能通过观测序列得以确定,每一个观察序列均是通过某些概率密度分布而表现出的各种状态。
[0077] 对于HMM,其具有三个重要的假设:
[0078] 马尔科夫假设:p(Xi|Xi-1,…,X1)=P(Xi|Xi-1)
[0079] 不动性假设:P(Xi+1|Xi)=P(Xj+1|Xj)
[0080] 输出独立性假设:P(01,…,0T|X1,…,XT)=ПP(Ot|Xt)
[0081] 隐藏状态和观察序列之间具有概率关系,当隐藏状态H被认为是某个可以被观察的序列0的概率为:P(O|H),假设观察序列有三种则,P(01|H)+P(02|H)+P(03|H)=1。由此可以构建状态和观察序列之间的对应概率(被称为混淆矩阵):
[0082]
[0083] 一个HMM具有5个元素{N,M,π,A,B},其中N为隐藏状态数,由需求确切知道,M为观察序列数,通过训练集获得,π为初始状态概率,A为隐藏状态转移概率矩阵,B为混淆矩阵。HMM模型可写为:λ=(A,B,π)。通过训练集获得λ的各个参数便可建立HMM模型。对于使用RMM模型的声学模型,音频语音的实际内容即为状态,观察序列则由音频的每一帧通过GMM对MFCC的特征进行拟合获得,经过构建HMM模型的五个必要元素后,通过迭代的方法从而获得各个参数,完成声学模型的建立。(见图2)
[0084] 在进行识别时,通过语音的MFCC特征,并经过GMM计算获得观察序列,通过此观察序列计算出最高概率的状态,并将其作为结果进行输出,便是音频的内容(见图3)。
[0085] 在计算所有状态中最高概率是哪个状态时,若状态数过多则会导致计算量过大,通常使用Viterbi search方法(维特比算法)在RMM模型中找出最大概率的状态输出。Viterbi算法是一种动态规划算法,用于寻找最有可能由状态产生观测序列的维特比路径。
[0086] 假设在一个隐马尔科夫模型(HMM)中,状态空间为S,状态i的初始概率为πi,状态i至j的转移概率为ai,j。观察序列为y1,…,yT。产生观察值的最可能状态序列是x1,x2,…,xT可通过迭代关系获得:
[0087] P1,k=πk·P(y1|k)
[0088] Pt,k=max{Pt-1,x·ax,k·P(yT|k)}
[0089] 其中Pt,k是以k为最终状态的前t个观察值对应的最可能的状态序列的概率,P(yT|k)是在隐藏状态k对应的观察序列yT的生成概率。
[0090] HMM模型本质上是一个序列分类器,就是把一个长度的序列识别成另一个长度的序列,它的训练过程就是利用每个训练样本以及其对应的句子采用Viterbi方法不断迭代更新GMM中每个state的mean vector和covariance matrix以及它们的状态转移概率,最后达到收敛。
[0091] 二、实施流程
[0092] 本发明实施例的用于视频身份的识别方法流程如图1所示,在综合原有一些身份验证技术的技术上,本实施例加入了一些新技术,其中包括:
[0093] 活体识别:通过动作指令和识别保证用户是活体
[0094] 语音识别:用户通过朗读随机数字以及识别,来记录音频,保证用户主动意愿行为[0095] 身份证人脸识别:通过用户照片和公安部身份证图片比对,进行身份验证[0096] 传统身份证和姓名实名验证
[0097] 主要流程为,用户先输入身份证号码和姓名,然后通过完成动作指令进行活体识别,接着用户朗读随机中文数字进行语音识别,保证用户主动意愿,最后通过身份证和姓名实名验证后,进行用户照片和公安部身份证图片比对,完成身份验证。
[0098] (一)语音及活体识别模型训练流程
[0099] (1)样本准备和预处理
[0100] 本项目音频样本由汇付数据内部员工通过手机APP采集,音频内容包含0-9中文数字。样本采集流程如下:通过视频采集客户脸部信息,并要求客户进行抬头、眨眼等特定活体活动,活体活动验证成功后,点击屏幕中的“开始读数字”进行语音信息的采集,此时APP会随机显示数字,客户按照APP的显示朗读数字,朗读完毕后将所录制的视频上传,此视频中音频部分即为本项目语音音频样本。
[0101] 样本集中连续语音共363个,按照需求将录音拆分成单个数字的语音样本(其中连续的数字有6个,8个或者念数字的时候有中断的情况,所以非连续的样本量不是n*6或n*8得到的结果),共得到非连续样本2,040个,非连续数字样本中可用的有1,745个,采样频率16KHZ,其中包含不同的参与人数是36+人。
[0102] (2)建模步骤
[0103] 采用Kaldi工具箱提取音频信号的MFCC特征,建立GMM-HMM的单音素模型,并对建模时重要的参数进行优化。为了更好的评估模型的准确性,随机抽取部分录音者的音频样本作为测试集,其余录音者样本作为训练集(测试集与训练集样本完全无交叉)建立声学模型,对测试样本进行识别。建模时需要进行如下步骤:
[0104] A:数据准备
[0105] 在进行Kaldi语音识别训练之前,需要准备相应的数据(data)——非连续中文数字音频文件,准备好原始音频数据之后,我们需要建立相对应的声学模型内容文本,即创建text、utt2spk、wav.scp、spk2utt文件和phones.txt、lexicon.txt等字典文件。
[0106] B:建立语言模型
[0107] 语言模型是进行语音识别时所需要的模型之一,最为常见的模型为n-gram模型,其通过统计相关的语料库,从而建立相应的语言模型,可极大的提升语音识别的准确率。本项目中语料库为中文数字文本,所建立的语言模型以word.2gram.lm文件的形式输入Kaldi框架。
[0108] C:对语音音频提取MFCC特征
[0109] 将MFCC提取音频特征所需要的参数设置列于conf/mfcc.conf中,通过使用Kaldi提供的脚本make_mfcc.sh对音频样本文件提取MFCC特征,此脚本自动读取参数设置文件对音频进行MFCC特征提取,并将其存放在mfcc目录下,通过使用make_cmvn.sh对所提取的MFCC音频信号特征进行归一化处理,所生成的特征用于随后的单音素语音模型建立。
[0110] D:建立GMM-HMM模型
[0111] 在获取音频样本的MFCC特征后,调用train_mono.sh脚本训练HMM的单音素模型。在实现过程中模型经过多次迭代,并且每两次或三次迭代后进行一次数据对齐,其输入是经过MFCC所得语音信号特征及对应的字典文件,并把训练好的模型存放于exp/mono中。
[0112] E:使用模型对测试集进行识别
[0113] 在训练完单音素模型之后,调用openFst开源库来建立识别网络,此步骤由Kaldi所提供的mkgraph.sh脚本实现,其输入为所建立的单音素模型和语言模型的有限状态转换器形式的数据,该数据用于随后的解码部分。Kaldi训练完成后,需要建立此类识别网络进行随后的解码,解码过程由decode.sh完成,其对测试样本的音频内容进行解码通过上述构建的网络给出相应语音内容的文字输出,同时提供测试样本的单词错误率(WER)。
[0114] (3)参数优化
[0115] 参数优化集中在MFCC特征提取及GMM-HMM声学模型建立部分,包括:
[0116] 移帧长度:在MFCC提取特征的预处理分帧部分,为了减少分帧时帧与帧之间变换过大,故在临近帧之间有重叠部分,重叠部分的大小则是移帧长度,其大小对分帧时的效果有较大的关系。
[0117] 三角带通滤波器个数:在MFCC提取特征时,对经过快速傅里叶变换后获得的音频内容的功率谱进行滤波时,所用的滤波器组中滤波器的个数,其个数影响着在功率谱中提取的特征和其随后输入至离散余弦变换时的特征数量。
[0118] Mel阶数:是在进行离散余弦变换时,余弦变换的阶数,其影响着最终静态MFCC音频特征的输出数量。
[0119] 混合高斯函数数量:在建立GMM-HMM模型时,使用GMM对音频特征进行拟合,此参数为调整通过多少高斯函数对音频特征进行拟合。
[0120] (4)建模结果
[0121] 采用1745个非连续数字样本进行建模后的错误率分别为1.37%、4.55%、2.60%,具有比较好的稳定性;同时,使用最优参数组合对新采集的312个非连续样本数据集进行多次稳定性测试,获得单词错误率均在5%左右。图2为本项目计算建模后对测试集进行评估所得结果:
[0122] 通过对测试集的识别错误率可以看出:通过Kaldi建立的针对非连续中文数字语音文件识别的GMM-HMM模型获得了良好的准确率和稳定性。
[0123] 为进一步验证6个连续读音的准确率,采用以上所有可用的2056个样本作为训练集,对新采集的529个非连续样本(包含说话人11个)进行外部验证,单个读音的错误率是2.08%(11/529),6个连续读音的错误率为8.99%(8/89)。
[0124] (二)人脸识别模型训练流程
[0125] (1)样本准备
[0126] 本项目的图片样本来自于汇付真实业务场景中收集的用户人脸图片,均由手机摄像头拍摄,并经过前端SDK裁剪压缩处理。训练样本集中共包含人数308,127人,图片数1,249,665张,平均每人的样本数为4.1张/人。
[0127] (2)建模步骤
[0128] 采用OpenFace训练框架进行人脸识别模型的训练。整个建模步骤大致可以分为以下4步。
[0129] A:人脸检测:
[0130] 从静态图片或视频中找出人脸,输出人脸的位置、大小和数目。这一步的目地是核实送检图片中含有人脸,并为下一步预处理做准备。
[0131] B:图像预处理:
[0132] 通过各种技术手段,将图像噪声、模糊、光照、遮挡等不利于人脸识别的因素尽量去除,并且根据人脸中的关键点位置对人脸做几何校正,即把人脸通过缩放、旋转、拉伸等图像变化变到一个比较标准的大小位置,使得待识别的人脸区域更标准化。
[0133] C:人脸特征提取:
[0134] 特征提取的过程即一张人脸图片被转化成一个固定维数的特征向量的过程,利用得到的特征向量即可以完成后续的对比和识别任务。特征提取是整个人脸识别的核心步骤,决定着最终的识别结果,直接影响识别率的高低。
[0135] D:人脸对比与识别:
[0136] 验证与识别是人脸识别的最后一步,它是指根据人脸特征提取的结果,将送检人脸图片与数据库中的数据进行对比,判断出该送检人脸的身份信息。
[0137] 根据应用场景的不同,可以分为验证与识别两类任务。人脸对比,即验证“你是你”,它是指将一张图片与数据库里已有的一张图片做1∶1的对比,通过比较相似度来判断是否是同一个人。人脸识别,即识别“你是谁”,它是指在送检人像的身份未知的前提下,将该图片与数据库中所有图片比较,找出最匹配的图片,从而确定该人的身份。
[0138] (3)建模结果
[0139] 衡量人脸识别系统准确率的主要技术指标有:
[0140] 误识率(False Accept Rate,FAR):指系统错误接受冒充者发起的人脸比对申请的概率,即识别骗子的能力,误识率越低,算法越能将骗子拒之外。计算方法:系统错误接受冒充者申请的次数/所有冒充者申请次数。
[0141] 本人通过率(True Accept Rate,TAR):指系统正确接受本人发起的人脸对比申请的概率,即识别好人的能力,本人通过率越高,算法越能使好人正常通过。计算方法:系统接受本人申请的次数/所有本人申请次数。
[0142] 在2000张真实场景人脸图片上进行1000*1000次对比测试,结果如下:
[0143] 千分之一误识率下本人通过率:99.9%。
[0144] 万分之一误识率下本人通过率:97.3%。
[0145] (三)语音识别在线验证流程
[0146] 为了提升传输与存储效率,将采集到的语音进行base64编码,语音识别系统在识别与持续训练过程中,再对语音进行还原处理。
[0147] (1)前端程序语音处理,处理过程如图3所示
[0148] (2)语音识别系统的统一还原化处理
[0149] 将语音文件进行还原,送入机器学习引擎进行识别,流程如图4所示:
[0150] (3)人脸识别在线验证流程
[0151] 手机摄像头拍摄用户人脸图片,经过SDK处理后保存为jpg格式图片,再转化为二进制流。
[0152] 调用人脸检测方法getLargestFaceBoundingBox()获得对应的四个位置坐标,如果图片检测失败则返回错误码。
[0153] 调用人脸矫正方法getAffineTransform()获得矫正后的图片,如果图片矫正失败返回错误码。
[0154] 调用人脸识别的方法openface.TorchNeuralNet(model_path,96)获得128个特征点,如果图片识别失败则返回错误码。
[0155] 对入参的两张图片(用户上传图片和注册图片)上的128个特征点进行运算,获得人脸对比的分数,大于等于配置文件设置的分数阈值则代表不是同一个人,小于则代表同一个人。
[0156] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈