一种基于唇语识别的验证方法以及系统与流程

文档序号:16975560发布日期:2019-02-26 18:57阅读:634来源:国知局
一种基于唇语识别的验证方法以及系统与流程

本发明涉及计算机应用领域,尤其涉及一种基于唇语识别的验证方法以及系统。



背景技术:

人工智能(artificialintelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学,人工智能技术的发展给人们带来了方便,但是目前存在大量模仿人类的程序或行为在进行不正当使用的情况,例如,机器人注册、用人脸照片骗过人脸识别系统、刷票软件、群发垃圾邮件等。这些不正当使用行为不仅大量占用了互联网资源,还可能导致诈骗、服务器瘫痪等严重后果。因而需要用户在访问网络资源、人脸辅助认证时进行真人验证,以识别出当前系统面对的是真人而不是机器人或者照片、视频。

目前,现有技术中通常采用的方式是通过使用对机器具有一定识别难度的验证码来进行身份验证。验证码(captcha:completelyautomatedpublicturingtesttotellcomputersandhumansapart,全自动区分计算机和人类的图灵测试)是一种区分用户是计算机和人的公共全自动程序。现有的验证码主要包含:ocr(opticalcharacterrecognition,光学字符识别技术)验证码、非ocr的图片验证码、交互式验证码、语音验证码。然而,目前的验证码技术还存在以下局限性:

一、易被攻破,现在的验证码大部分都能被人工智能技术攻破,因而这类验证码已经起不到区分人类和机器程序的作用。

二、复杂度不断提升,为了减小验证码易被攻破的风险,往往会加大验证码的复杂度,从而也给人类的识别带来较大的困难,大大降低了用户体验。

三、应用范围局限性,以语音验证码为代表的验证码技术需要给用户播放一段语音,因而需要用户在一个相对安静的环境中接听,对环境的局限性限制了这类技术的应用。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明提供一种基于唇语识别的验证方法及系统,以解决上述技术问题。

本发明提供的基于唇语识别的验证方法,包括:

随机生成验证码,并采集待验证者的人脸信息;

根据所述人脸信息获取待验证者朗读该验证码的唇语信息;

提取所述唇语信息中的特征向量,并与预设的验证码特征向量进行对比,对所述唇语信息进行识别;

根据识别结果,判定待验证者朗读是否正确,如果正确则通过验证。

进一步,所述人脸信息包括视频信息,对所述视频信息进行分割处理,分割处理包括对视频中信息中的包括唇语信息的每一帧唇形图片进行提取;

分别对每一帧唇形图片中的唇形进行关键点检测,并获取各关键点的坐标。

进一步,根据验证码字符的唇形特征以及朗读的行为特征来将所有验证码对应的唇形图片集进行分组,每组唇形图片集代表朗读的验证码中的一个字符;分别计算每组唇形图片集的特征向量,并与验证码已知的特征向量进行对比,判断每组唇形图片集与对应的验证码是否符合,并根据预设的评分等级,对每个字符的朗读结果进行评分。

进一步,分别根据每个字符的朗读结果的评分,以及朗读验证码过程中的行为特征,获取整段唇语朗读的通过分,所述行为特征至少包括朗读速度波动、每个字符或单词之间的唇形过渡动作的完整性以及过渡速度中的一种或几种的组合。

进一步,还包括根据通过分进行风险评估:

当通过分高于于预设的第一阈值时,则判定无风险,并验证通过;

当通过分低于预设的第一阈值且高于第二阈值时,则判定有一定风险,并使待验证者进行二次验证,根据二次验证第三结果判定是否进入进入下一步业务操作;

当通过分低于第二阈值时,则判定为高风险,无法进入下一步业务操作。

进一步,还包括对采集的人脸信息进行质量评估,获取人脸质量评分,当人脸质量评分高于预设的阈值时,判定人脸质量合格,所述阈值包括预设的固定阈值,或根据历史质量评分获取的动态阈值。

本发明还提供一种基于唇语识别的验证系统,包括唇语识别子系统和辅助验证子系统,

所述唇语识别子系统包括:

验证码库,用于存储验证码;

唇语采集模块,用于采集待验证者朗读该验证码的唇语信息;

唇语识别模块,用于提取所述唇语信息中的特征向量,并与预设的验证码特征向量进行对比,对所述唇语信息进行识别;

所述辅助验证子系统包括:

人脸检测模块,用于采集采集待验证者的人脸信息;

验证码生成模块,用于随机生成验证码;

风险控制模块,用于根据识别结果,对下一步业务操作进行风险控制。

进一步,所述唇语识别子系统还包括唇语预处理模块,用于提取视频帧图片并进行唇形校正;

所述唇语识别模块根据验证码字符的唇形特征以及朗读的行为特征来将所有验证码对应的唇形图片集进行分组,每组唇形图片集代表朗读的验证码中的一个字符。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法。

本发明还提供一种电子终端,包括:处理器及存储器;

所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上述任一项所述方法。

本发明的有益效果:本发明中的基于唇语识别的验证方法及系统,通过自动识别唇语的方式来替代传统的ocr、图片、语音等验证码方式,通过采集和分析唇语视频,智能的判别出用户是否朗读正确,以及从唇语行为中判断是否存在风险,本发明突破了传统的ocr验证码、非ocr的图片验证码、交互式验证码、语音验证码等验证码方法,使得验证更准确、更可靠;避免了传统验证码中的文字扭曲、噪声/随机线条干扰、近似图片干扰等情形,增加了系统的易用性;另外,在验证时只需要对口型而不需要真正发音,不会对周边环境造成干扰,因此也没有类似语音验证码的环境局限性;本发明对硬件要求较低,部署成本和维护成本都较低,适用于广泛的推广应用。

附图说明

图1是本发明实施例中基于唇语识别的验证方法的流程示意图。

图2是本发明实施例中基于唇语识别的验证方法的人脸关键点的一种实现方式图。

图3是本发明实施例中基于唇语识别的验证方法的唇形关键点的一种实现方式图。

图4是本发明实施例中基于唇语识别的验证方法的人脸相对于相机坐标系的角度定义图。

图5是本发明实施例中基于唇语识别的验证系统架构图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实时本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公职的结构和设备,以避免使本发明的实施例难以理解。

本实施例中的基于唇语识别的验证方法,包括:

随机生成验证码,并采集待验证者的人脸信息;

根据所述人脸信息获取待验证者朗读该验证码的唇语信息;

提取所述唇语信息中的特征向量,并与预设的验证码特征向量进行对比,对所述唇语信息进行识别;

根据识别结果,判定待验证者朗读是否正确,如果正确则通过验证。

在本实施例中主要包括唇语采集、唇语识别、风险控制三个阶段的步骤。其中,唇语采集阶段步骤包括生成验证码、人脸检测、唇语采集、视频帧分割、唇形校正;唇语识别阶段步骤包括唇语关键点检测和唇语识别;风险控制阶段步骤包括风险评估、风险决策。

在本实施例中,人脸信息包括视频信息,针对人脸信息,需要根据采集的人脸信息计算质量分、人脸的图像坐标以及人脸尺寸,提取出其中尺寸最大的待检人脸图片用作之后的分析。当人脸质量评分高于预设的阈值时,判定人脸质量合格,阈值包括预设的固定阈值,或根据历史质量评分获取的动态阈值。

在本实施例中还需要对视频进行帧分割处理,分割处理包括对视频中信息中的包括唇语信息的每一帧唇形图片进行提取;优选地,在本实施例中,由于嘴唇发音的方向可能和视频采集方向存在倾斜角度,因而需要根据一定的算法检测出这个倾斜角度并进行纠正,这样才能保证唇语识别的准确性。

在本实施例中,首先对唇语视频和的每一帧图片进行唇形关键点检测;保存这些关键点的坐标用于后续计算。再根据验证码字符的唇形特征、朗读的行为特征来将唇形图片集分组,每组图片集代表朗读了一个字符;可以利用唇语识别算法,最终判断用户朗读的唇形是否与验证码符合,并且为用户的朗读行为评分。

在本实施例中,还需要对验证的结果进行风险评估和风险控制,首先分析用户的朗读行为,并为整体行为评分;综合每一个字符的朗读结果评分、整体行为评分,来为用户最终评估通过分。再根据用户的通过分,结合预设的风险控制策略,来判断系统进一步的操作,包括验证通过、再次验证、验证拒绝。当通过分高于于预设的第一阈值时,则判定无风险,并验证通过;当通过分低于预设的第一阈值且高于第二阈值时,则判定有一定风险,并使待验证者进行二次验证,根据二次验证第三结果判定是否进入进入下一步业务操作;当通过分低于第二阈值时,则判定为高风险,无法进入下一步业务操作。

下面通过一个具体实施例进行说明,如图1所示,在本实施例中:

步骤s101,生成验证码;

从验证码库中随机取出n个字符或单词,组成一个完整的验证码字符串并展示给客户。

其中,n是不同应用场景中根据系统安全性要求和操作便捷性要求来提取设定的,若n取值越大则系统越安全,但这样会相应的增加了用户的朗读时间。

字符包括但不限于单个数字、英文字母;单词包括但不限于英文单词、中文词组。

步骤s102,人脸检测;

控制预设的相机开始拍摄人脸图片,并从图片中运用一定的人脸检测算法来检测人脸,以及评估出人脸质量分。

人脸检测算法包括但不限于深度神经网络算法、模板匹配算法。

步骤s103,人脸质量筛选;

将步骤s102中得到的人脸质量分结合阈值来进行分析,判断人脸质量是否合格。

人脸质量分在[0,1]的取值空间内,取值越大代表人脸质量越好,优选地,阈值在0.8以上算优。

阈值包括但不限于提前设定的固定阈值和结合历史质量分计算出的动态阈值。

步骤s104,唇语采集;

系统控制预设的相机开始录像,并将视频流传给唇语预处理模块。

步骤s105,视频帧分割;

从步骤s104得到的视频流中提取出每一帧的图片,并进行降噪、边缘增强等图片预处理变换,得到边缘特征较明显的图片集。

步骤s106,唇形校正;

依据唇形校正算法,将步骤s105中得到的图片集进行校正,以补偿因为拍摄角度带来的唇形变形。

本实施例中的唇形校正算法其中一种实现方式如下:

利用人脸关键点检测算法,检测出口、鼻、嘴的人脸关键点,如图2所示的其中一种关键点定义,根据这些点的实际坐标关系来计算出当前拍摄的人脸的俯仰角(pitch)、横滚角(roll)、偏航角(yaw)。

其中人脸的俯仰角、横滚角、偏航角都是相对于相机坐标系而定义,如图4所示。

唇形校正算法包括但不限于上述描述的算法,还包括只利用唇形关键点来校正等方式实现的算法。

步骤s107,唇形关键点检测;

利用唇形关键点检测算法,检测出唇形关键点,如图3所示的其中一种关键点定义。

步骤s108,唇形识别;

利用唇形识别算法,将唇语图片集分成n组,每组代表一个验证码的朗读过程。然后利用唇形识别算法计算每组图片集的特征向量,并与验证码已知的特征向量进行对比,以此判断出每组唇语图片代表的字符/单词以及每个字符/单词的分数。

唇形识别算法包括但不限于深度神经网络算法、模板匹配算法。

步骤s109,风险评估;

由步骤s108已经得到每个字符/单词的分数,再结合朗读过程中的行为特征,来综合判断整段唇语朗读的通过分。

朗读过程中的行为特征包括但不限于朗读速度波动、每个字符或单词之间的唇形过渡动作的完整性以及过渡速度。

步骤s110,风险决策;

风险决策是根据步骤s109给出的通过分进行后续操作控制的环节。

后续操作的策略包括但不限于验证通过、再次验证、验证不通过。其中的一种实现方式为:

验证通过:风险评估的通过分大于80分(满分为100分),则认为基本无风险,验证直接通过,可以直接进行业务操作;

再次验证:风险评估的通过分为60~80分时,认为有一定风险,可能出现照片或视频欺骗等情况,此时系统会让用户进行二次验证,例如采用回答计算题、挥舞手势等再次验证方式,用户成功完成后,才回通过验证;

验证不通过:风险评估的通过分小于60时,认为是高风险,此时无法进入下一步业务操作。

相应地,本实施例还提供一种基于唇语识别的验证系统,包括唇语识别子系统和辅助验证子系统,

所述唇语识别子系统包括:

验证码库,用于存储验证码;验证码库中包含了系统支持的验证码字符/单词以及它们对应的特征向量。

唇语采集模块,用于采集待验证者朗读该验证码的唇语信息;通过唇语采集模块可以控制预设的视频采集设备来对人脸进行录像。

唇语识别模块,用于提取所述唇语信息中的特征向量,并与预设的验证码特征向量进行对比,对所述唇语信息进行识别;通过唇语识别模块可以结合唇语视频、验证码库、验证码来综合分析出用户是否朗读正确,以及评价出每个字符/单词的分数。

辅助验证子系统包括:

人脸检测模块,用于采集采集待验证者的人脸信息;通过人脸检测模块可以检测图片是否存在人脸,以及计算人脸图片的质量分和人脸尺寸。

验证码生成模块,用于随机生成验证码;

风险控制模块,用于根据识别结果,对下一步业务操作进行风险控制。通过风险控制模块可以计算整个朗读视频的通过分,并根据预设风控策略进行控制。

唇语预处理模块,用于提取视频帧图片并进行唇形校正。

本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本实施例中的任一项方法。

本实施例还提供一种电子终端,包括:处理器及存储器;

所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行本实施例中任一项方法。

本实施例中的计算机可读存储介质,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

本实施例提供的电子终端,包括处理器、存储器、收发器和通信接口,存储器和通信接口与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于进行通信,处理器和收发器用于运行计算机程序,使电子终端执行如上方法的各个步骤。

在本实施例中,存储器可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

注意,在实施例的对应附图中,用线来表示信号,一些线比较粗,以表示更多的构成信号路径(consituentsignalpath)和/或一些线的一个或多个末端具有箭头,以表示主要信息流向,这些标识不是想要进行限制,事实上,结合一个或多个事例性实施例使用这些线有助于更容易地接电路或逻辑单元,任何所代表的信号(由设计需求或偏好所决定)实际上可以包括可以在任意一个方向传送的并且可以以任何适当类型的信号方案实现的一个或多个信号。

除非另外规定,否则使用序数形容词“第一”、“第二”等来描述共同的对象,仅表示指代相同对象的不同实例,而并不是要暗示这样描述的对象必须采用给定的顺序,无论是时间地、空间地、排序地或任何其他方式。

说明书对“实施例”、“一个实施例”、“一些实施例”、或“其他实施例”的提及表示结合实施例说明的特定特征、结构或特性包括在至少一些实施例中,但不必是全部实施例。“实施例”、“一个实施例”、“一些实施例”的多次出现不一定全部都指代相同的实施例。如果说明书描述了部件、特征、结构或特性“可以”、“或许”或“能够”被包括,则该特定部件、特征、结构或特性“可以”、“或许”或“能够”被包括,则该特定部件、特征、结构或特性不是必须被包括的。如果说明书或权利要求提及“一”元件,并非表示仅有一个元件。如果说明书或权利要求提及“一另外的”元件,并不排除存在多于一个的另外的元件。

尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变形对本领域普通技术人员来说将是显而易见的。例如,其他存储结构(例如,动态ram(dram))可以使用所讨论的实施例。本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1