嘴巴模型训练方法、嘴巴识别方法、装置、设备及介质与流程

文档序号:16250199发布日期:2018-12-11 23:57阅读:412来源:国知局
嘴巴模型训练方法、嘴巴识别方法、装置、设备及介质与流程

本发明涉及计算机技术领域,尤其涉及一种嘴巴模型训练方法、嘴巴识别方法、装置、设备及介质。

背景技术

随着人工智能的快速发展,人脸五官定位识别得到了广泛的关注成为了人工智能领域的热门话题。传统地,在现有的人脸特征点识别算法中,可以从人脸图片中标注出不同器官的位置,例如眼睛、耳朵、嘴巴或者鼻子等,即使对应部位有所遮挡(眼镜、头发、捂嘴等动作),该算法还是可以识别不同部件的相对位置,并提供对应的图片。然而,在一些图片处理过程中,需要的是无遮挡的嘴巴图像,而常规采用人脸特征点识别算法识别出来的嘴巴图片却无法对有遮挡的图片进行筛选,容易引入误差,不利于后续进一步地处理需要。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种可以提高模型训练效率的嘴巴模型训练方法、装置、计算机设备及存储介质。

此外,还有必要提出一种嘴巴识别方法,其根据嘴巴模型训练方法进行训练后,利用训练好的嘴巴图片进行识别,以提高嘴巴识别的准确率。

一种嘴巴模型训练方法,包括:

获取人脸图像样本,并对所述人脸图像样本进行标记以得到人脸图像样本数据,及提取所述人脸图像样本数据中的人脸图像样本的特征向量,其中,人脸图像样本数据包括人脸图像样本和标注数据;

将所述人脸图像样本数据划分为训练样本数据和验证样本数据;

采用所述训练样本数据训练支持向量机分类器,得到所述支持向量机分类器的临界面;

计算所述验证样本数据中的验证样本的特征向量与所述临界面的向量距离;

获取预设真正类率或预设假正类率,根据所述向量距离和与验证样本数据对应的标注数据获取分类阈值;

根据所述分类阈值,获取嘴巴判断模型。

一种嘴巴模型训练装置,包括:

人脸图像样本数据获取模块,用于获取人脸图像样本,并对所述人脸图像样本进行标记以得到人脸图像样本数据,及提取所述人脸图像样本数据中的人脸图像样本的特征向量,其中,人脸图像样本数据包括人脸图像样本和标注数据;

人脸图像样本数据划分模块,用于将所述人脸图像样本数据划分为训练样本数据和验证样本数据;

临界面获取模块,用于采用所述训练样本数据训练支持向量机分类器,得到所述支持向量机分类器的临界面;

向量距离计算模块,用于计算所述验证样本数据中的验证样本的特征向量与所述临界面的向量距离;

分类阈值获取模块,用于获取预设真正类率或预设假正类率,根据所述向量距离和与验证样本数据对应的标注数据获取分类阈值;

嘴巴判断模型获取模块,用于根据所述分类阈值,获取嘴巴判断模型。

一种嘴巴识别方法,包括:

获取待识别人脸图片,采用人脸特征点检测算法获取正向的嘴巴区域图像;

对所述正向的嘴巴区域图像进行归一化处理,得到待识别嘴巴图像;

将所述待识别嘴巴图像输入到所述的嘴巴模型训练方法训练得到的嘴巴判断模型进行识别,获取识别结果。

一种嘴巴识别装置,包括:

待识别人脸图片获取模块,用于获取待识别人脸图片,采用人脸特征点检测算法获取正向的嘴巴区域图像;

待识别嘴巴图像获取模块,用于对所述正向的嘴巴区域图像进行归一化处理,得到待识别嘴巴图像;

识别结果获取模块,用于将所述待识别嘴巴图像输入到所述嘴巴模型训练方法训练得到的嘴巴判断模型进行识别,获取识别结果。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述嘴巴模型训练方法的步骤,或者,所述处理器执行所述计算机程序时实现上述嘴巴识别方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述嘴巴模型训练方法的步骤,或者,所述处理器执行所述计算机程序时实现上述嘴巴识别方法的步骤。

上述嘴巴模型训练方法、装置、设备及介质,首先获取人脸图像样本,并对人脸图像样本进行标记以得到人脸图像样本数据,提取人脸图像样本数据中的人脸图像样本的特征向量,其中,人脸图像样本数据包括人脸图像样本和标注数据;然后将人脸图像样本数据划分为训练样本数据和验证样本数据;采用所述训练样本数据训练支持向量机分类器,得到所述支持向量机分类器的临界面,简化了支持向量机分类器的分类过程。计算验证样本数据中的验证样本的特征向量与临界面的向量距离,直观地比较各个验证样本与其所属类别的接近程度。获取预设真正类率或预设假正类率,根据向量距离和与验证样本数据对应的标注数据获取分类阈值;并根据分类阈值,获取嘴巴判断模型,将待识别人脸图像输入到该嘴巴判断模型后,会直接根据分类阈值给出是或者否的分类结果,因而能够避免重复训练,提高嘴巴模型训练的效率。

上述嘴巴识别方法、装置、设备及介质,首先获取待识别人脸图片,采用人脸特征点检测算法获取正向的嘴巴区域图像,然后对正向的嘴巴区域图像进行归一化处理,得到待识别嘴巴图像,将待识别嘴巴图像输入到嘴巴判断模型中进行识别,获取识别结果。采用该嘴巴判断模型对待识别嘴巴图像进行识别时,可以快速识别出该人脸图片嘴巴有无遮挡,提高识别效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的嘴巴模型训练方法、嘴巴识别方法的应用环境示意图;

图2是本发明实施例提供的嘴巴模型训练方法的实现流程图;

图3是本发明实施例提供的嘴巴模型训练方法中步骤s10的实现流程图;

图4是本发明实施例提供的嘴巴模型训练方法中步骤s30的实现流程图;

图5是本发明实施例提供的嘴巴模型训练方法中步骤s15的实现流程图;

图6是本发明实施例提供的嘴巴模型训练方法中步骤s50的实现流程图;

图7是本发明实施例提供的嘴巴模型训练装置的示意图;

图8是本发明实施例提供的嘴巴识别方法的实现流程图;

图9是本发明实施例提供的嘴巴识别装置的示意图;

图10是本发明实施例提供的计算机设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的嘴巴模型训练方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信,服务端接收客户端发送的训练样本数据并建立嘴巴判断分类模型,进而接收客户端发送的验证样本,进行嘴巴模型训练。其中,客户端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,以该方法应用于图1中的服务端为例进行说明,包括如下步骤:

s10:获取人脸图像样本,并对人脸图像样本进行标记以得到人脸图像样本数据,及提取人脸图像样本数据中的人脸图像样本的特征向量,其中,人脸图像样本数据包括人脸图像样本和标注数据。

其中,人脸图像样本数据是用于进行模型训练的嘴巴图像数据。人脸图像样本的特征向量是指人脸图像样本数据中用于表征每一人脸图像样本的图像信息特征的向量,例如:hog(histogramoforientedgradient,梯度方向直方图)特征向量、lbp(localbinarypatterns,局部二值模式)特征向量或pca(principalcomponentanalysis,主成分分析)特征向量等。特征向量能够以简单的数据表征图像信息,避免后续训练过程重复的提取操作。

优选地,本实施例中可以提取人脸图像样本的hog特征向量。由于人脸图像样本的hog特征向量是通过人脸图像样本的局部信息的梯度来描述,因此,提取人脸图像样本的hog特征向量能够避免几何形变和光线变化等因素对嘴巴模型训练的影响。对人脸图像样本进行标记,是指将人脸图像样本依据样本的内容分为正样本(无遮挡的嘴巴图像)和负样本(有遮挡的嘴巴图像),对这两种样本数据分别进行标注后,得到了人脸图像样本数据。人脸图像样本中包括正样本和负样本,可以理解地,人脸图像样本数据包括人脸图像样本和标注数据。优选地,负样本数量是正样本数量的2-3倍,可以使得样本信息更加全面,提高模型训练的准确度。

在这个实施方式中,通过获取人脸图像样本数据,以便后续进行模型训练,并且通过把有遮挡的嘴巴图像作为人脸图像样本进行训练,从而能够降低误检率。

可选地,该人脸图像样本数据包括但不限于预先采集的人脸图像样本和预先存储在存储器中常用人脸库中的人脸图像样本。

s20:将人脸图像样本数据划分为训练样本数据和验证样本数据。

其中,训练样本数据是用于学习的样本数据,通过匹配一些参数来建立分类器,即采用训练样本数据中的人脸图像样本训练机器学习模型,以确定机器学习模型的参数。验证样本数据是用于验证训练好的机器学习模型的分辨能力(如识别率)的样本数据。可选地,将人脸图像样本数据的70%-75%的数目作为训练样本数据,其余的作为验证样本数据。在一具体实施方式中,选取300个正样本和700个负样本一共1000个人脸图像样本组合成人脸图像样本数据,其中的260个样本作为验证样本数据,740个样本作为训练样本数据。

s30:采用训练样本数据训练支持向量机分类器,得到支持向量机分类器的临界面。

支持向量机(supportvectormachine,svm)分类器是一个由分类临界面定义的判别分类器,用于对数据进行分类或者回归分析。临界面为能够将正样本和负样本这两类样本正确分开,并且使两类样本距离最大的分类面。具体地,根据人脸图像样本数据的特点,选取合适核函数,然后将训练样本数据的特征向量与核函数进行核函数运算,使得训练样本数据的特征向量映射到一个高维度特征空间,实现该特征向量在这个高维度特征空间的线性可分,得到临界面,并将临界面作为对训练样本数据进行分类的分类面,将正样本和负样本分开。具体地,输入训练样本数据,支持向量机分类器将会输出一个临界面对训练样本数据进行分类。通过获取临界面简化了支持向量机分类器的分类过程。

本实施例中,通过将人脸图像样本的特征向量训练支持向量机分类器,得到临界面,具有良好的分类能力,提高了嘴巴模型训练的效率。

s40:计算验证样本数据中的验证样本的特征向量与临界面的向量距离。

其中,验证样本数据是预先存储的用于验证的人脸图像样本数据,其中包括了正样本数据(无遮挡的嘴巴图像)和负样本数据(有遮挡的嘴巴图像),对这两种样本数据分别进行标注后得到验证样本。其中,验证样本的特征向量是指对验证样本进行特征向量提取后获得的特征向量。

验证样本的特征向量包括但不限于:hog特征向量、lbp特征向量和pca特征向量等。

其中,验证样本数据中的验证样本的特征向量与临界面的向量距离是指验证样本的特征向量在数学意义上对应的有向线段与临界面在数学意义上对应的一个平面二者的距离,即数学意义上线到面的距离,其距离为一数值,该距离即为向量距离。假设临界面的表达式为g(x)=wx+b,式中w为多维向量,可表示为w=[w1,w2,w3...wn],那么特征向量x到临界面的向量距离的表达式为式中||w||表示w的范数,即

通过计算验证样本数据中的验证样本的特征向量与临界面的向量距离,能够直观地比较各个验证样本与其所属类别的接近程度。

s50:获取预设真正类率或预设假正类率,根据向量距离和与验证样本数据对应的标注数据获取分类阈值。

预设真正类率是指预先设定的判断为正样本且结果正确的数量占总的正样本数量的比值,预设假正类率是指预先设定的判断为负样本且结果错误的数量占总的正样本数量的比值。在本实施例中,真正类率是指将无遮挡的嘴巴图像判断为无遮挡的嘴巴的人脸图像样本占总的无遮挡的嘴巴图像的人脸图像样本的比值,假正类率是指有遮挡的嘴巴图像判断为无遮挡的嘴巴的人脸图像样本占总的无遮挡的嘴巴图像的人脸图像样本的比值。容易理解地,真正类率越高或者假正类率越低,说明目标的分类要求越严格,能适应更多的应用场合。优选地,本实施例中的预设真正类率为95%时,或者预设假正类率5%时,能够取得很好的分类效果,能够适应多种不同应用场合,通过合理设置真正类率或假正类率,从而较好地扩展支持向量机分类器的适应性。

应理解,此处预设真正类率或预设假正类率,为本发明优选范围,但可以根据实际应用场合的需要进行设置,此处不做限制。

分类阈值是用于对样本进行分类的临界值,具体地,对样本进行分类时,低于分类阈值的判断为正样本,高于分类阈值的判断为负样本。

具体地,与验证样本数据对应的标注数据是指验证样本的标注,例如:将正样本标记为1,将负样本标记为-1。在获得了验证样本的特征向量与临界面的向量距离和验证样本的标注数据后,根据预设真正类率或预设假正类率计算得到分类阈值。

例如预设假正类率为10%,有s1,s2...s15共15个验证样本,其中有5个正样本,10个负样本,10个负样本的特征向量与临界面的向量距离分别为1,2…10,那么此时分类阈值在区间[1,2]时,如分类阈值取1.5,能够满足10%的预设假正类率。

s60:根据分类阈值,获取嘴巴判断模型。

具体地,嘴巴判断模型是指用于判断人脸图像样本中的嘴巴位置是否有遮挡的模型。确定分类阈值之后,通过将人脸图像样本数据的特征向量与支持向量机分类器的临界面的向量距离,并与分类阈值比较,根据比较结果对人脸图像样本数据进行分类,进而确定人脸图像样本中的嘴巴位置为有遮挡或者为无遮挡的两种情形。因此,给定分类阈值后,嘴巴判断模型就建立完成,将待识别人脸图像输入到该嘴巴判断模型后,会直接根据分类阈值给出是或者否的分类结果,因而能够避免重复训练,提高嘴巴模型训练的效率。

在本实施例中,首先获取人脸图像样本并对人脸图像样本进行标记以得到人脸图像样本数据,提取人脸图像样本数据中的人脸图像样本的特征向量,然后将人脸图像样本数据划分为训练样本数据和验证样本数据;采用训练样本数据训练支持向量机分类器,得到支持向量机分类器的临界面,从而简化了分类的过程,接着计算验证样本数据中的验证样本的特征向量与支持向量机分类器的临界面的向量距离,能够直观地比较各个验证样本与其所属类别的接近程度,获取预设真正类率或预设假正类率,以便扩展支持向量机分类器的适应性,根据向量距离和与验证样本数据对应的标注数据获取分类阈值,最后获取嘴巴判断模型,避免重复训练,提高嘴巴模型训练的效率。

在一实施例中,如图3所示,步骤s10中,即提取人脸图像样本数据中的人脸图像样本的特征向量,具体包括如下步骤:

s11:采用人脸特征点检测算法获取人脸特征点,人脸特征点包括:左嘴角点、右嘴角点和鼻尖点。

其中,人脸特征点检测算法是指用于检测人脸五官特征并标记出位置信息的算法。人脸特征点是指眼角点、鼻翼点和嘴角点等用于标志眼、鼻和嘴等脸部轮廓的点。具体地,人脸特征点检测算法包括但不限于根据深度学习的人脸特征点检测算法、根据模型的人脸特征点检测算法或者根据级联形状回归的人脸特征点检测算法等。

可选地,可以采用opencv自带的根据harr特征的viola-jones算法获取人脸特征点。其中,opencv是一个跨平台计算机视觉库,可以运行在linux、windows、android和macos操作系统上,由一系列c函数和少量c++类构成,同时提供了python、ruby、matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法,而根据harr特征的viola-jones算法是其中一种人脸特征点检测算法。haar特征是一种反映图像的灰度变化的特征,是反映像素分模块差值的一种特征。haar特征分为三类:边缘特征、线性特征和中心-对角线特征。viola-jones算法是根据人脸的haar特征值进行人脸检测的方法。

具体地,获取输入的人脸图像样本数据,对人脸图像样本数据进行预处理,接着依次进行肤色区域分割、人脸特征区域分割和人脸特征区域分类的步骤,最后根据harr特征的viola-jones算法与人脸特征区域分类进行匹配计算,得到人脸图像的人脸特征点信息。

本实施例中,通过采用人脸特征点检测算法获取到人脸图像样本的左嘴角点、右嘴角点和鼻尖点,以便根据这几个特征点的位置信息确定人脸图像样本的嘴巴所在区域。可以理解地,本步骤中提及的左嘴角点、右嘴角点和鼻尖点是指嘴巴对应的三个特征点。

s12:根据左嘴角点和右嘴角点对人脸图像样本进行正向调整。

其中,正向调整是对人脸特征点的方位进行规范化并设置为正向的调整。本实施例中,正向调整是指将左嘴角点和右嘴角点调整在同一水平线上(即左嘴角点和右嘴角点的纵坐标相等),从而将嘴巴特征点规范化到同一方位,以避免训练样本方位变化对模型训练的影响。提高人脸图像样本对方位变化的鲁棒性。

s13:根据左嘴角点、右嘴角点和鼻尖点构建嘴巴矩形区域。

其中,嘴巴矩形区域是指包括嘴巴图像的一个矩形区域,在一具体实施方式中,采用人脸特征点检测算法定位出左嘴角点、右嘴角点和鼻尖点的位置坐标,嘴巴矩形区域以左嘴角点的横坐标为左侧坐标,以右嘴角点的横坐标为右侧坐标,以鼻尖点的纵坐标为上侧坐标,以左嘴角点纵坐标(或者右嘴角点纵坐标)加上鼻尖点到左嘴角点垂直方向的距离为下侧坐标,以这四个点坐标(左侧坐标、右侧坐标、上侧坐标和下侧坐标)构成的矩形区域即为嘴巴矩形区域。

s14:对嘴巴矩形区域进行图像归一化处理,得到归一化嘴巴矩形区域。

其中,归一化处理是指对待处理的图像进行一系列变换以使待处理的图像转换成相应的标准形式。如图像的尺寸归一化、图像的灰度归一化等。优选地,归一化处理是指对嘴巴矩形区域进行尺寸归一化。具体地,将嘴巴矩形区域依据人脸图像样本的分辨率设置为固定尺寸,例如:嘴巴矩形区域可以设置为size(48,32)矩形,即长为48像素,宽为32像素的矩形区域,通过将嘴巴矩形区域设置为固定尺寸,以便后续减少特征向量提取的复杂度。

容易理解地,对嘴巴矩形区域进行图像归一化处理,有利于后续支持向量机模型的训练,能够避免大数值区间的属性过分支配了小数值区间的属性,而且还能避免计算过程中数值复杂度。

s15:根据归一化嘴巴矩形区域提取hog特征向量。

hog(histogramoforientedgradient,hog)特征向量,是用于描述图像局部区域的梯度方向信息的向量,该特征受图像尺寸位置等变化影响较大,输入图像范围固定使计算得到的hog特征向量更统一,模型训练时可以更多关注无遮挡嘴巴图像与有遮挡嘴巴图像的区别而不需要注意嘴巴位置的变化,训练更方便,同时hog特征向量本身关注的即是图像梯度特征而不是颜色特征,受光照变化以及几何形状变化的影响不大,因此,提取hog特征向量能够方便高效地对人脸图像样本进行特征向量的提取。其中,根据分类检测目标的不同,对于特征提取也不同的,一般是将颜色、纹理以及形状作为目标特征。根据对检测嘴巴图像准确度的要求,本实施例选择采用形状特征,采用训练样本的hog特征向量。

在本实施例中,采用人脸特征点检测算法获取人脸特征点的左嘴角点、右嘴角点和鼻尖点;然后对样本图像进行正向调整,以提高人脸图片对方向变化的鲁棒性,接着构建嘴巴矩形区域并对嘴巴矩形区域进行图像归一化处理,得到归一化嘴巴矩形区域,有利于后续支持向量机模型的训练,最后提取归一化嘴巴矩形区域hog特征向量,从而方便高效地对人脸图像样本数据中的人脸图像样本进行特征向量的提取。

在一实施例中,如图4所示,步骤s30中,即采用训练样本数据训练支持向量机分类器,得到支持向量机分类器的临界面,具体包括如下步骤:

s31:获取支持向量机分类器的核函数和支持向量机分类器的惩罚参数,采用以下公式求解拉格朗日乘子和决策阈值b:

式中,s.t.是数学公式中约束条件的缩写,min是指在约束条件下取代数式的最小值,k(xi,xj)为支持向量机分类器的核函数,c为支持向量机分类器的惩罚参数,c>0,αi与拉格朗日乘子是共轭关系,xi为训练样本数据的特征向量,l为训练样本数据的特征向量的个数,yi为训练样本数据的标注。

其中,核函数是支持向量机分类器中的核函数,用于对训练支持向量机分类器过程中输入的训练样本的特征向量进行核函数运算,支持向量机分类器的核函数包括但不限于线性核函数、多项式核函数、高斯核函数、高斯核函数和基于径向基核函数,因为本实施例中的支持向量机分类器是线性可分的,优选地,本实施例中采用线性核函数作为支持向量机分类器中的核函数,因此k(xi,xj)=(xi,xj),线性核参数具有参数少、运算速度快的特点,适用于线性可分的情况。yi为训练样本数据的标注,因为是支持向量机分类器的二分类问题,因此yi可以为1或者-1两类,若人脸图像样本为正样本则yi=1,若人脸图像样本为负样本则yi=-1。

惩罚参数c是用于对支持向量机分类器进行优化的参数,是一个确定数值。可以解决样本偏斜的分类问题,具体地,参与分类的两个类别(也可以指多个类别)样本数量差异很大,例如正样本有10000个而负样本有100个,如此会产生样本偏斜问题,此时正样本分布范围广,为解决样本偏斜问题,具体地,可依据正样本数量与负样本数量的比例合理增大c的取值。c越大,表示分类器的容错性小。决策阈值b用于确定支持向量机分类器过程中的决策分类的临界值,是一个实数。

具体地,通过获取合适的核函数k(xi,xj),并设定合适的惩罚参数c,采用公式

对训练样本数据的特征向量与核函数进行核函数运

算后,求解最优问题,即求取拉格朗日乘子的值,使得核函数运算后的结果达到最小,得到了然后,确定开区间(0,c)范围中的的分量并根据计算b值。

求解了支持向量机分类器的中的拉格朗日乘子和决策阈值b,从而获取较好的参数,以便构建高效的支持向量机分类器。

s32:根据拉格朗日乘子和决策阈值b,采用如下公式,得到支持向量机分类器的临界面g(x):

通过训练支持向量机分类器得到拉格朗日乘子和决策阈值b后,即调整训练样本的拉格朗日乘子和决策阈值b这两个参数后,并代入到公式中,即得到支持向量机分类器的临界面。

容易理解地,通过计算得到临界面,以便后续人脸图像样本根据临界面对训练样本分类,训练程序先提取并保存样本的特征向量,从而可以在不断调整训练参数多次训练过程中节省提取特征的时间,尽快得到符合要求的训练参数。这样可以调整临界面对某一分类的误报率和准确率,而不需要经常重复训练模型,提高了模型训练效率。

本实施例中,首先获取合适的核函数k(xi,xj),并设定合适的惩罚参数c,将训练样本数据的特征向量与核函数进行核函数运算,求解支持向量机分类器中的决策阈值b,从而获取较好的参数,构建支持向量机分类器,然后将拉格朗日乘子和决策阈值b这两个参数代入到公式中,得到临界面g(x),以便后续人脸图像样本根据临界面对训练样本数据分类,而不需要经常重复训练模型,提高了模型训练的效率。

在一实施例中,如图5所示,步骤s15中,即根据归一化嘴巴矩形区域提取hog特征向量,具体包括如下步骤:

s151:将归一化嘴巴矩形区域划分成细胞单元,并计算细胞单元的每个像素梯度的大小和方向。

具体地,根据实际需要及对支持向量机分类器的要求不同,对归一化嘴巴矩形区域划分的方式也不同。子区域与子区域可重叠也可以不重叠。细胞单元是指图像的连通子区域,即每个子区域是由多个细胞单元组成,例如,一幅48*32的归一化嘴巴矩形区域,假设一个细胞单元为4*4像素,将2*2个细胞组成一个子区域,那么这个归一化嘴巴矩形区域有6*4个子区域。每个细胞单元的梯度方向区间0°到180°分成了9个区间,因此可以用一个9维向量描述一个细胞单元。

获取归一化嘴巴矩形区域每个像素梯度的大小和方向具体过程为:首先获取每个像素的梯度,假如像素为(x,y),其梯度计算公式如下:

其中,gx(x,y)为像素(x,y)的水平方向梯度,其中gy(x,y)为像素(x,y)的垂直方向梯度,h(x,y)为像素(x,y)的灰度值。然后采用以下公式计算该像素的梯度大小:

其中,g(x,y)为像素梯度的大小。

最后,采用以下公式计算像素梯度的方向:

其中,α(x,y)为像素梯度的方向的方向角。

s152:统计细胞单元的每个像素梯度的大小和方向的梯度直方图。

其中,梯度直方图是指对像素梯度的大小和方向进行统计得到的直方图,用于表征每个细胞单元的梯度信息。具体地,首先将每个细胞单元的梯度方向从0°到180°均匀地分成9个方向块,即0°-20°是第一个方向块,20°-40°第二个方向块,依此类推,160°-180°为第九个方向块。然后判断细胞单元的像素梯度的方向所在的方向块,并加上该方向块的像素梯度的大小。例如:一个细胞单元的某一像素的方向落在40°-60°,就将梯度直方图第三个方向上的像素值加上该方向的像素梯度的大小,从而得到该细胞单元的梯度直方图。

s153:串联梯度直方图,得到hog特征向量。

其中,串联是指对各个细胞单元的梯度直方图按照自左向右、自上向下的顺序将所有梯度直方图合并,从而得到归一化嘴巴矩形区域的hog特征向量。

本实施例中,通过将归一化嘴巴矩形区域分成若干个小区域,然后计算各个小区域的梯度直方图,最后将各个小区域对应的梯度直方图串联一起,得到整幅归一化嘴巴矩形区域的梯度直方图,用于描述人脸图像样本的特征向量,同时hog特征向量本身关注的是图像梯度特征而不是颜色特征,受光照变化影响不大。提取hog特征向量能够方便高效地对嘴巴图像进行识别。

在一实施例中,如图6所示,步骤s50中,即获取预设真正类率或假正类率,根据向量距离和与验证样本数据对应的标注数据获取分类阈值,具体包括如下步骤:

s51:根据向量距离和与验证样本数据对应的标注数据绘制roc曲线。

其中,roc曲线指受试者工作特征曲线/接收器操作特性曲线(receiveroperatingcharacteristiccurve),是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性和特异性的相互关系。本实施例中,roc曲线显示的是支持向量机分类器真正类率和假正类率之间的关系,该曲线越靠近左上角分类器的准确性越高。

在验证训练样本中将样本进行了正负样本的分类:正样本(positive)或负样本(negative)。在对验证训练样本中的人脸图像数据进行分类的过程中,会出现四种情况:如果人脸图像数据是正样本并且也被预测成正样本,即为真正类(truepositive,tp),如果人脸图像数据是负样本被预测成正样本,称之为假正类(falsepositive,fp)。相应地,如果人脸图像数据是负样本被预测成负样本,称之为真负类(truenegative,tn),正样本被预测成负样本则为假负样本(falsenegative,fn)。

真正类率(truepositiverate,tpr)刻画的是分类器所识别出的正实例占所有正实例的比例,计算公式为tpr=tp/(tp+fn)。假正类率(falsepositiverate,fpr)刻画的是分类器错认为正样本的负实例占所有负实例的比例,计算公式为fpr=fp/(fp+tn)。

roc曲线的绘制过程为:根据验证样本数据的特征向量和临界面特征向量的向量距离和对应的验证样本数据标注,获得众多验证样本的真正类率和假正类率,roc曲线以假正类率为横轴,以真正类率为纵轴,连接各点即众多验证样本的真正类率和假正类率,绘制曲线,然后计算曲线下的面积,面积越大,判断价值越高。

在一具体实施方式中,可通过roc曲线绘制工具进行绘制,具体地,通过matlab中的plotsvmroc(true_labels,predict_labels,classnumber)函数绘制roc曲线。其中,true_labels为正确的标记,predict_labels为分类判断的标记,classnumber为分类类别的数量,本实施例因为是正负样本的二分类问题,因此classnumber=2。具体地,通过计算验证样本数据的特征向量和临界面特征向量的向量距离后,根据向量距离分布情况,即各个验证样本数据与临界面的接近程度的分布范围,并根据对应的验证样本数据的标注能够获取到验证样本数据的真正类率和假正类率,然后依据验证样本数据的真正类率和假正类率绘制roc曲线。

s52:根据预设真正类率或预设假正类率在roc曲线的横轴上获取分类阈值。

具体地,预设真正类率或预设假正类率通过实际的使用需要而进行设置,服务端在获取到预设真正类率或预设假正类率后,通过roc曲线中的横轴表示的假正类率和纵轴表示的真正类率与预设真正类率或预设假正类率比较大小,即预设真正类率或预设假正类率作为对测试样本数据进行分类的标准,从roc曲线的横轴上依据分类标准确定分类阈值,从而使得后续模型训练中通过roc曲线可以根据不同的场景选取不同的分类阈值,避免重复训练的需要,提高模型训练的效率。

本实施例中,首先通过计算验证样本数据的特征向量和临界面特征向量的向量距离后,并根据对应的验证样本数据的标注能够获取到验证样本数据的真正类率和假正类率,然后依据验证样本数据的真正类率和假正类率绘制roc曲线。通过预设真正类率或预设假正类率从roc曲线的横轴上获取分类阈值,从而使得后续模型训练中通过roc曲线可以根据不同的场景选取不同的分类阈值,避免重复训练的需要,提高模型训练的效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图7示出与实施例中嘴巴模型训练方法一一对应的嘴巴模型训练装置的原理框图。如图7所示,该嘴巴模型训练装置包括人脸图像样本数据获取模块10、人脸图像样本数据划分模块20、临界面获取模块30、向量距离计算模块40、分类阈值获取模块50和嘴巴判断模型获取模块60。其中,人脸图像样本数据获取模块10、人脸图像样本数据划分模块20、临界面获取模块30、向量距离计算模块40、分类阈值获取模块50和嘴巴判断模型获取模块60的实现功能与实施例中嘴巴模型训练方法对应的步骤一一对应,各功能模块详细说明如下:

人脸图像样本数据获取模块10,用于获取人脸图像样本,并对人脸图像样本进行标记以得到人脸图像样本数据,及提取人脸图像样本数据中的人脸图像样本的特征向量,其中,人脸图像样本数据包括人脸图像样本和标注数据;

人脸图像样本数据划分模块20,用于将人脸图像样本数据划分为训练样本数据和验证样本数据;

临界面获取模块30,用于采用训练样本数据训练支持向量机分类器,得到支持向量机分类器的临界面;

向量距离计算模块40,用于计算验证样本数据中的验证样本的特征向量与临界面的向量距离;

分类阈值获取模块50,用于获取预设真正类率或预设假正类率,根据向量距离和与验证样本数据对应的标注数据获取分类阈值;

嘴巴判断模型获取模块60,用于根据分类阈值,获取嘴巴判断模型。

具体地,人脸图像样本数据获取模块10包括人脸特征点获取单元11、正向调整单元12、嘴巴矩形区域构建单元13、嘴巴矩形区域获取单元14和特征向量提取单元15。

人脸特征点获取单元11,用于采用人脸特征点检测算法获取人脸特征点,该人脸特征点包括:左嘴角点、右嘴角点和鼻尖点;

正向调整单元12,用于根据左嘴角点和右嘴角点对人脸图像样本进行正向调整;

嘴巴矩形区域构建单元13,用于根据左嘴角点、右嘴角点和鼻尖点构建嘴巴矩形区域;

嘴巴矩形区域获取单元14,用于对嘴巴矩形区域进行图像归一化处理,得到归一化嘴巴矩形区域;

特征向量提取单元15,用于根据归一化嘴巴矩形区域提取hog特征向量。

具体地,特征向量提取单元15包括像素梯度获取子单元151、梯度直方图获取子单元152和hog特征向量获取子单元153。

像素梯度获取子单元151,用于将归一化嘴巴矩形区域划分成细胞单元,并计算细胞单元的每个像素梯度的大小和方向;

梯度直方图获取子单元152,用于统计细胞单元的每个像素梯度的大小和方向的梯度直方图;

hog特征向量获取子单元153,用于串联梯度直方图,得到hog特征向量。

具体地,临界面获取模块30包括参数获取单元31和临界面获取单元32。

参数获取单元31,用于获取支持向量机分类器的核函数和支持向量机分类器的惩罚参数,采用以下公式求解拉格朗日乘子和决策阈值b:

式中,s.t.是数学公式中约束条件的缩写,min是指在约束条件下取代数式的最小值,k(xi,xj)为支持向量机分类器的核函数,c为支持向量机分类器的惩罚参数,c>0,αi与拉格朗日乘子是共轭关系,xi为训练样本数据的特征向量,l为训练样本数据的特征向量的个数,yi为训练样本数据的标注;

临界面获取单元32:根据拉格朗日乘子和决策阈值b,采用如下公式,得到支持向量机分类器的临界面g(x):

具体地,分类阈值获取模块50包括roc曲线绘制单元51和分类阈值获取单元52。

roc曲线绘制单元51,用于根据向量距离和与验证样本数据对应的标注数据绘制roc曲线;

分类阈值获取单元52,用于根据预设真正类率或预设假正类率在roc曲线的横轴上获取分类阈值。

关于嘴巴模型训练装置的具体限定可以参见上文中对于嘴巴模型训练方法的限定,在此不再赘述。上述嘴巴模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一实施例中,提供一嘴巴识别方法,该嘴巴识别方法也可以应用在如图1的应用环境中,其中,计算机设备通过网络与服务端进行通信。客户端通过网络与服务端进行通信,服务端接收客户端发送待识别人脸图片,进行嘴巴识别。其中,客户端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图8所示,以该方法应用于图1中的服务端为例进行说明,包括如下步骤:

s70:获取待识别人脸图片,采用人脸特征点检测算法获取正向的嘴巴区域图像。

其中,待识别人脸图片是指需要进行嘴巴识别的人脸图片。具体地,获取人脸图像可通过预先采集人脸图片,或者直接从人脸库中获取人脸图片,例如ar人脸库。

本实施例中,待识别人脸图片包括无遮挡嘴巴图片和有遮挡嘴巴图片,并采用人脸特征点检测算法获取正向的嘴巴区域图像。该采用人脸特征点检测算法获取正向的嘴巴区域图像的实现过程和步骤s11至步骤s13的方法相同,在此不再赘述。

s80:对正向的嘴巴区域图像进行归一化处理,得到待识别嘴巴图像。

其中,待识别嘴巴图像是指实现了归一化处理后的正向的嘴巴区域图像,通过对正向的嘴巴区域图像进行归一化处理,可以提高识别效率。具体地,归一化处理得到的待识别嘴巴图像因为变换到统一的标准形式,从而避免了支持向量机分类器中的大数值区间的属性过分支配了小数值区间的属性,而且还能避免计算过程中数值复杂度。可选地,对正向的嘴巴区域图像进行归一化处理的实现过程和步骤s14相同,在此不再赘述。

s90:将待识别嘴巴图像输入到如步骤s10至步骤s60中的嘴巴模型训练方法训练得到的嘴巴判断模型进行识别,获取识别结果。

其中,识别结果是指对待识别嘴巴图像采用嘴巴判断模型进行识别所得到的结果,包括两种情形:待识别嘴巴图像是无遮挡的嘴巴图像和待识别嘴巴图像是有遮挡的嘴巴图像。具体地,将待识别嘴巴图像输入到嘴巴判断模型进行识别,以获取识别结果。

本实施例中,先获取待识别人脸图片,对正向的嘴巴区域图像进行归一化处理,得到待识别嘴巴图像,以便对归一化处理的待识别人脸图片输入到嘴巴判断模型进行识别,获取识别结果,快速识别出该人脸图片嘴巴有无遮挡,提高识别效率,从而避免影响后续的图像处理过程。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图9示出与实施例中嘴巴识别方法一一对应的嘴巴识别装置的原理框图。如图9所示,该嘴巴识别装置包括待识别嘴巴图像获取模块70、待识别嘴巴图像获取模块80和识别结果获取模块90。其中,待识别嘴巴图像获取模块70、待识别嘴巴图像获取模块80和识别结果获取模块90的实现功能与实施例中嘴巴识别方法对应的步骤一一对应,各功能模块详细说明如下:

待识别人脸图片获取模块70,用于获取待识别人脸图片,采用人脸特征点检测算法获取正向的嘴巴区域图像;

待识别嘴巴图像获取模块80,用于对正向的嘴巴区域图像进行归一化处理,得到待识别嘴巴图像;

识别结果获取模块90,用于将待识别嘴巴图像输入到嘴巴模型训练方法训练得到的嘴巴判断模型进行识别,获取识别结果。

关于嘴巴模型训练装置的具体限定可以参见上文中对于嘴巴识别方法的限定,在此不再赘述。上述嘴巴识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储嘴巴模型训练方法中的人脸图像样本数据的特征向量和嘴巴模型训练数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种嘴巴模型训练方法。或者,该计算机程序被处理器执行时实现实施例中嘴巴识别装置中各模块/单元的功能

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例嘴巴模型训练方法的步骤,例如图2所示的步骤s10至步骤s60。或者处理器执行计算机程序时实现上述实施例嘴巴识别方法的步骤,例如图8所示的步骤s70至步骤s90。或者,处理器执行计算机程序时实现上述实施例嘴巴模型训练装置的各模块/单元的功能,例如图7所示的模块10至模块60。或者,处理器执行计算机程序时实现上述实施例嘴巴识别装置的各模块/单元的功能,例如图9所示的模块70至模块90。为避免重复,这里不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例嘴巴模型训练方法的步骤,或者计算机程序被处理器执行时实现上述实施例嘴巴识别方法的步骤,或者,计算机程序被处理器执行时实现上述实施例嘴巴模型训练装置的各模块/单元的功能,或者,计算机程序被处理器执行时实现上述实施例嘴巴识别装置的各模块/单元的功能,为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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