一种身份验证系统汉语唇语识别的工程优化方法
文献发布时间:2023-06-19 10:51:07
技术领域
本发明涉及唇语识别,尤其涉及一种身份验证系统汉语唇语识别的工程优化方法。
背景技术
目前,身份验证系统很少使用唇语识别技术。原因有三:
1、唇语识别的准确率不高。到目前为止,识别效率最高的方法是有Chung等人提出的,他们采用CNN并且加入RNN来构建WLAS网络,并在LRC数据及上进行评估,在一万条样本的句子识别率达到了46.8%。
2、唇语识别的训练集是视频,数据集占有空间庞大。训练模型需要占用很多的计算资源和存储资源。
3、唇形相近的字非常多导致唇语识别本身的难度就很大。唇语不像语音,许多音的唇形是非常相近的,比如“德”“特”这一组和“零”“一”“四”“七”这一组。用在语音识别上的办法是通过识别音素并将一个一个音素连接起来拼成打次和句子,但是这个方法在唇语上并不好用。人类都挺得懂语言,这有赖于语言发音的高辨识度。但是,就算是受过专业训练的人类唇语识别大师在有上下文的情况下的识别率也仅为50%。较多字符发音唇形相近造就了唇语识别的难度。
发明内容
发明目的:针对以上问题,本发明提出一种身份验证系统汉语唇语识别的工程优化方法,大大提高了唇语识别的便利性与准确度。
上述的目的通过以下技术方案实现:
一种身份验证系统汉语唇语识别的工程优化方法,该方法包括以下步骤:
首先,在屏幕上显示便于唇语识别的口令,令被验证者朗读之,获取被验证者的唇动视频;
然后,提取唇动视频中的音频的MFCC特征向量,根据向量中的信息区分出元音和辅音,根据汉语一字一音的特征,将视频分成一字一段,并对唇动视频中人脸区域进行检测和唇部区域进行定位与提取;
最后,用RSNet分类网络对其进行分类,将分类的结果与口令及相比对,输出验证是否成功的信息。
所述的身份验证系统汉语唇语识别的工程优化方法,所述唇语识别的口令中将“0”、“1”、“4”、“7”的数字从口令中剔除出去。
所述的身份验证系统汉语唇语识别的工程优化方法,所述将视频分成一字一段是通过检测元音来进行音频分段,通过短时FFT计算,将音频随时间变化图细化成频谱图。
所述的身份验证系统汉语唇语识别的工程优化方法,所述对唇动视频中人脸区域进行检测和唇部区域进行定位与提取的具体方法是:采用的是Dlib进行人脸68个关键点的检测;采用68特征点中的第49-68特征点对唇部区域进行定位,作为唇语识别的特征数据进行训练输入,之后将提取出的唇部区域进行统一化处理并将数据集预处理完毕。
有益效果:本发明与现有技术相比有以下几个显著优点:
1、本发明针对身份验证这一个特殊环境进行了唇语识别方法的工程优化,使得该方法在这一种特殊情境下准确率高、验证速度快。
2、操作便捷,用户只需读出屏幕上的数字即可通过验证。
3、本发明提出的这一种方法安全性非常高高。单纯的照片攻击无法通过唇语识别验证。视频攻击对本发明也是不奏效的,因为几位数字组成的方式很多,不可能通过录制几万条视频进行攻击。
附图说明
图1是本发明提供的汉语唇语识别的工程优化方法的流程示意图。
图2是本发明的频谱提取示意图。
图3是本发明的3D ResNet结构图。
图4是本发明的卷积神经网络结构定义图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
如图1所示,本发明提供的一种身份验证系统汉语唇语识别的工程优化方法,该方法包括以下步骤:
首先,在屏幕上显示便于唇语识别的口令,令被验证者朗读之,获取被验证者的唇动视频;
然后,提取唇动视频中的音频的MFCC特征向量,根据向量中的信息区分出元音和辅音,根据汉语一字一音的特征,将视频分成一字一段,并对唇动视频中人脸区域进行检测和唇部区域进行定位与提取;
最后,用RSNet分类网络对其进行分类,将分类的结果与口令及相比对,输出验证是否成功的信息。
本实施例试验了由0-9是个数字组成的密集所生成的口令的唇语识别之后,发现识别错误率最高的是0、1、4、7这四个唇形相近的数字。本发明提出的第一种办法就是去掉0、1、4三个数字,保留剩下的7个数字。经过实验发现,唇语识别的准确率大大提高。
唇语验证:
但这样一来,造成口令集太少,过度单调的问题。为解决这问题,本发明提出将唇语识别改为唇语验证。传统的唇语识别是在不知道文本的情况下,从说话人的唇形中识别出说话人说的内容。而本发明的场景是知道文本的,也就是说,我们可以识别说话人唇形与口令对应唇形的相似度。这样就不会将字符识别成与其唇形相近的同唇形字,而是给出说话人的唇形与给定字符的唇形相似度。将唇语识别改为唇语验证这个方法大大提高了识别准确度。
唇语识别数据集预处理:
唇语识别数据集预处理主要包括唇动视频分段、人脸区域的检测和唇部区域的定位与提取。
对于采集到的唇动视频,首先分析其音频,将音量小于一定阈值的片段删掉,这一步骤删去了视频头尾的内容以及对音频中的停顿进行了粗略的切割。但是实验证明,人的连读习惯和重音发音习惯等因素导致这样粗略的切割效果很差。
所以,本发明提出,通过分析音频的其他特征来进行分段。汉语有一个特点,就是一字一音,特别是每一个字只有一个元音再加上首尾辅音。由此,本实施例提出,通过检测元音来进行音频分段。
在音频上,元音和辅音的特征为:元音段频率不高,在290~4000HZ左右,但是在这一段的声音能量较大;辅音在高频段声音能量较大。于是,本文用频谱图来分析识别句子中的元音和辅音。通过短时FFT计算,将图2中上方音频随时间变化图细化成下方的频谱图,这样就完成了数据的预处理。
通过神经网络算法,输入训练集,也就是预先标注好辅音段和元音段的音频信息,得到神经网络模型,这样就可以通过这个模型分析语音在音频信号上精确定位每个独立发音单元的开始时间和结束时间。因为每个发音序列持续约1秒,但截取的发音持续时间不相同。所以从每段独立的发音视频中采样出固定长度的序列,将该序列称为关键帧。
对于人脸区域的检测,本实施例采用采用的是Dlib进行人脸68个关键点的检测。
对于唇部区域的定位与提取,本实施例采用68特征点中的第49-68特征点对唇部区域进行定位,作为唇语识别的特征数据进行训练输入。其中包括了12个唇部外部轮廓特征点和8个内部轮廓特征点,而第49、51、53、55、58点分别为唇部的左右两个嘴角点,上嘴唇的两个最高点和下嘴唇的一个最低点。由这五个关键点可以确定一张图片中嘴唇的边界。之后将提取出的唇部区域进行统一化处理并将数据集预处理完毕。
本实施例提出3D-CNN模型从已经提取好的唇语图像序列中提取特征,通过执行3D卷积在时间和空间上提取特征,进行训练得到输出。
一般的CNN模型主要用于2D图像,但是对于视频的预测,需要结合视频的前后帧进行识别。要想将CNN用于视频中人体动作的识别,一种方法是可以将视频的每一帧视为精致图像,并且用CNN来识别单个帧的级别动作,但是这样忽略了多个连续帧的编码运动信息。为了有效的结合视频中的运动信息,可以在CNN卷积层中执行3D卷积,以便获取空间和时间维度的辨别特征。3D CNN架构可以从相邻的视频帧生成多个信息通道,并在每个通道中分别执行卷积和下采样,通过组合来自视频通道的信息获得最终特征表示。
实现过程
根据具体的实际情况,本实施例构造了3D ResNet模型来进行训练和预测。ResNet(深度残差神经网络),通过学习输入x和映射H(x)之间的残差模块H(x)=H(x)-x,引入了残差模块,并在对应元素的位置上执行假发运算,极大地简化了对于恒等层地学习。
3D ResNet的结构如图3。
根据前面工作中对于视频的切片和唇部特征的提取,我们对于卷积神经网络的结构进行如图4定义。
使用tensorflow搭建对应的神经网络结构其中内核kernel的深度和输入数据相同。此外,设置步长stride=2,增加了训练的鲁棒性。
以上显示和描述了本发明的基本原理、主要特征和优点。本领域的技术人员应该了解,本发明不受上述具体实施例的限制,上述具体实施例和说明书中的描述只是为了进一步说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由权利要求书及其等效物界定。
- 一种身份验证系统汉语唇语识别的工程优化方法
- 一种汉语唇语单音节识别分类器构建方法