一种基于智能机器人的人脸识别方法与流程

文档序号:17993454发布日期:2019-06-22 00:59阅读:675来源:国知局
一种基于智能机器人的人脸识别方法与流程

本发明涉及图像处理、深度学习领域,涉及人脸检测和人脸识别领域,尤其涉及一种基于智能机器人的人脸识别方法。



背景技术:

人脸识别中有两大类:

(1)验证/认证(1:1匹配)

(2)辨别/识别(1:n匹配)

最近,基于生物特征的技术已经成为访问控制的有前途的工具。例如,向建筑物中的人员授予权限通常基于不同的属性,例如pin(个人识别号码),rfid(无线射频识别)卡和密钥。这些属性存在诸如pin可能破裂,rfid和密钥可能被盗的弱点。相反,基于生物特征的技术检查个人的行为特征以验证身份。

在过去的15年里,研究人员发表了大量的论文,着重于人脸识别的理论和实践方面。已发表的论文报告了一般性研究和解决特定问题(照明,遮挡和姿势)的技术。其中一个有趣的人脸识别方案——利用非张量积形式二维小波,然后利用二维线性判别技术,以增强对面部特征的区分。最后,采用svm(支持向量机)进行分类。与传统的张量积小波相比,新的非张量积小波能可靠地检测出面部特征。一种结构化的字典学习方法——从面部数据中学习一个遮挡字典。在这项研究中开发了基于结构化稀疏表示的分类(ssrc)技术,该技术成功地处理了面部遮挡和光照变化。一种自主的姿势调整方法——提高了待检测与人脸库中每个人脸之间的匹配度。

人脸检测是定位一张图像或视频流中的人脸位置的技术,是人脸自动检测和识别系统的一个关键的环节,是发展人脸识别、人脸追踪等技术的基础,所以人脸检测的准确性至关重要,已经成为图像处理与模式识别领域研究的热点问题。目前,国外对人脸检测的研究很多,比较著名的人脸数据库有mit(由麻省理工大学媒体实验室创建)、cmu(由卡耐基梅隆大学建立)等。国内的清华大学、北京工业大学、亚洲微软研究院、中国科学院计算机技术研究所、中国科学院自动化研究所、中国科学院自动化研究所也一直致力于人脸检测的研究。随着人脸检测研究的逐步深入,世界上发表的相关论文数量也显著增加。1997年7月,ieee(国际电气与电子工程师协会)的pmai(模式识别与人工智能)出版了一张人脸识别专辑。在ieee、fg(自动人脸和手势识别国际会议)、icip(图像处理国际会议)和cvpr(计算机视觉与模式识别国际会议)等重要会议上,每年都有许多优秀的人脸检测论文发表。

如今,大量潜在的应用需要完全可靠的人脸识别系统。因此,该技术必须更加成熟,才能在常规实践中广泛部署。研究人员总的趋势是关注消除如低分辨率或姿态变化给人脸识别带来的影响。这对人脸识别的准确性是有利的,因为在大多数情况下系统的应用场景是已知的。这方面研究的突破使得自动人脸识别的应用开始发展,例如电子护照门禁和访问控制。然而,需要进一步的研究来使人脸识别在其他几个应用中自动化。例如,基于cctv(闭路电视监控系统)的安全系统可以识别罪犯。这类应用中存在的问题是遮挡和低分辨率。基于3d的方法已经显示出对解决诸如姿势变化等问题的结果。

尽管已经有大量的人脸识别算法,但是仍然面临这一些困难:

(1)精确的特征位置对于良好的识别性能来说至关重要。随着脸部旋转达到一定的角度,脸部变化的特征使得许多人脸识别算法难以处理。脸部姿势,年龄变化和不均匀照明的因素是困扰当前人脸识别算法的三个主要问题。

(2)如果脸部被遮挡,识别率会迅速下降。同样,胡须和眼镜等结构组件也会显著影响识别率。

(3)人脸识别中的一个重要因素是低分辨率,在远距离拍摄图像时容易出现低分辨率图像。此外,眼睛闭合也会影响大多数人脸识别系统的识别准确性,因为系统在识别之前会对图像进行归一化和重新缩放。

(4)细节的处理通常决定系统的性能。例如,输入图像后对面部旋转、缩放、遮挡和仿射变形进行归一化以规范人脸。

(5)人脸识别算法根据应用的需要进行选择。例如,基于特征的方法不能应用于低分辨率的面部图像,如15×15像素及以下。以及在开发系统时何时使用pca(主成分分析)/ica(独立成分分析)以及在哪使用lda(线性判别分析)。

(6)人脸识别是物体识别的一个特殊而困难的情况。人脸识别的困难在于正面视角中,面部图像看起来很相似,并且它们之间的差异对于分析很重要。对标准数据库中的最新人脸识别技术进行研究,例如feret,frvt和fat(均为人脸数据库)将姿势、照度和年龄确定为人脸识别算法的主要问题。

(7)大多数开发的人脸识别算法的性能在不受控制的条件下投入使用时识别准确率会迅速下降。迄今为止,没有一种人脸识别算法可以有效地用于处理上述问题。

(8)许多人脸图像数据库,例如参考文献已经收集了测试人脸识别的算法。每个数据库都旨在测试特定的方面,例如姿势、照明、表示方式和遮挡。先前的研究工作表明,受控条件下的人脸识别已经成熟。然而,人脸识别在室外环境中进行时变得具有挑战性。



技术实现要素:

本发明提供了一种基于智能机器人的人脸识别方法,本发明的目的是实现一个完整的人脸识别,并应用在furo-d机器人上,让furo-d机器人拥有人脸识别的功能,最终实现用户站在机器人面前,机器人能主动地向用户打招呼并叫出用户的名字,详见下文描述:

一种基于智能机器人的人脸识别方法,所述方法应用于furo-d机器人,所述方法包括:

人脸检测:利用机器人上的摄像头对人脸拍摄一张图片,并对人脸进行定位并圈出人脸所在位置;

人脸特征提取:从人脸区域提取特征;

人脸匹配:相关特征组合成一个特征向量,从人脸库中进行匹配搜索具有相似特征向量的人脸图像,作为识别结果。

本发明提供的技术方案的有益效果是:实现了一个可用于furo-d机器人的完成的人脸识别方法,在背景较为简单的情况下,具有较高识别率。

附图说明

图1为应用ssr(单尺度视网膜皮层图像增强算法)算法前的等级曲线的示意图;

图2为应用ssr算法后的等级曲线的示意图;

图3为需求分析数据流图;

图4为人脸识别模块数据流图;

图5为hsv(色调,饱和度,明度)六角锥颜色模型图;

图6为类人脸像素检测过程示意图;

图7为类人脸像素检测原理示意图;

其中,(a)为自我复制示意图;(b)为扩展示意图。

图8为3×3邻域lbp(局部二值模式)码示意图。

图9为lbp算子检测到的不同的纹理域

图10为三个不同p,r值的原型邻域集示意图;

图11为直方图。

其中,(a)用ssr算法处理前的图像直方图;(b)用ssr算法处理后的图像直方图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。

实施例1

为实现上述目的,本发明实施例主要应用lbp(局部二值模式)的方法,以达到比较好的特征提取的目的。此外,通过ssr算法,实现了对人脸的光照规范化,使人脸更为标准,进一步提高人脸识别的性能,使得基于智能机器人的人脸识别能给用户带来更好的体验。

基于智能机器人的人脸识别方法将分为三个阶段实施,分别为人脸检测、人脸特征提取、以及人脸识别。

人脸检测:利用机器人上的摄像头对人脸拍摄一张图片,并对人脸进行定位并圈出人脸所在位置;

人脸特征提取:从人脸区域提取特征;

人脸识别:相关特征组合成一个特征向量,从人脸库中进行匹配搜索具有相似特征向量的人脸图像,作为识别结果。

综上所述,本发明实施例实现了一个可用于furo-d机器人的人脸识别方法,在背景较为简单的情况下,具有较高识别率。

实施例2

下面结合具体的实例对实施例1中的方案进行进一步地介绍,详见下文描述:

该人脸识别方法需要用户点击人脸识别的功能模块运行人脸识别的功能,首先会利用webcam(调用设备默认摄像头的方法)调用机器人的默认摄像头,点击“拍照”按钮对人脸进行拍照,拍摄的图像会存入本地路径文件下,并将图像输入人脸识别模块进行人脸识别,识别出结果后将结果存为txt文件到本地,并调用语音读入模块,语音模块读入txt文件机器人读出txt文件内容,即语音读出识别结果。

人脸识别方法用于从数字图像中识别或验证人的身份。为了使用人脸识别方法识别人脸,数字图像需要经历三个主要阶段,即人脸检测、特征提取和人脸匹配。

1、人脸检测将面部区域与背景图像分隔开,用方框圈出人脸的位置。在特征提取阶段,提取面部图像的最有用并唯一的特征,并存入人脸库返回人脸图像的唯一标识。一旦获得这些特征,就可以在识别阶段,将拍摄的图像与人脸库中图像进行比较。与人脸库中人脸特征向量距离最小的人脸图像作为人脸识别结果。最终,智能机器人语音输出被识别人的名字。

2、人脸识别的数据流图如图4所示:

(1)基于肤色的人脸检测

本方法使用基于肤色的人脸检测算法,该方法利用演化计算的技术来检测和定位脸部区域。不同的种族、年龄和性别的人在肤色上的主要区别重要体现在亮度上,去除亮度这一因素,肤色在一定的肤色空间内具有一定的聚类性,通过对肤色的检测和分割,进一步检测到人脸区域,这是基于肤色特征的人脸检测算法的核心思想。

a.颜色模型

a)归一化的rgb颜色模型

其中,一个肤色模型是很重要的,这个模型会用来对不同的种族、年龄和性别的人进行人脸检测。一些研究结果显示:(1)人的肤色聚集在一个小的rgb颜色空间区域内;(2)人的肤色在亮度上比在颜色上差异更大。所以,归一化的rgb模型只能能够表征颜色变化较小的人脸。

通常,每个像素的颜色都是由r、g、b三个颜色值组合而成的,并且亮度值为i=r+g+b,并且每个分量的变化范围是[0,1,…,255]。由于颜色信息对像素的亮度值非常敏感,因此每个颜色分量值可以用亮度值i归一化如公式(1)所示:

r=r/i,g=g/i,b=b/i(1)

其中,r+g+b=1;因此归一化颜色值可以仅用r和g表示。

研究结果表明在归一化的rgb颜色空间中的颜色分布通过2d高斯分布表示,g(m,σ2),如公式(2)和(3)所示:

其中,mr,mg分别代表r和g颜色分布的高斯均值,σ2代表每个分布的简化的方差矩阵模型。

b)hsv颜色模型

除了上边提到的归一化的rgb模型,hsv(色调,饱和度,明度)模型,可以更加接近人对颜色的感知。hsv模型可以形象的由六角锥模型如图5所示。色调(h)是颜色的光谱组成的度量,并且表示为角度,其从0变化到360°。饱和度(s)是指颜色的纯度,其从0变化到1。颜色的明亮程度由明度(v)定义,其值范围也从0到1。可以使用公式(4)至(8)从rgb模型转换hsv颜色模型。

h=h1ifb≤g(5)

h=360°-h1ifb>g(6)

c)颜色模型选择

本方法的人脸检测同时使用了rgb模型和hsv模型,并选取了两个模型的参数如公式(9)和(10)所示:

0.36≤r≤0.465,0.28≤g≤0.363(9)

0≤h≤50,0.20≤s≤0.68,0.35≤v≤1.0(10)

公式(9)和(10)可用来检测类肤色像素。

b人脸区域检测和分割

a)用发展的智能体检测类皮肤像素

在人工智能中,一个智能体被定义为一个可以自主和协作行动的智能实体。而在这个方法中,一个智能体被定义为一个类皮肤像素的搜索器。更具体地说,它可以感知其本地位置,评估像素的颜色值,标记类皮肤点,并且具有自我复制和扩散的能力。

用发展的智能体的方法检测彩色图像中的类人脸区域描述如下:

(1)在图像中均匀分布一个智能体的初始集合a={agenti},i=1,2,3,…,n。如图7所示,白色的像素代表智能体。为了检测所有可能的人脸,智能体被分布在图像中的每个20×15的部分中,所以,n是图像/300的像素总数。

(2)对于每个在a中的智能体,用公式(4)至(8)计算智能体的点的hsv的值,然后用公式(9)至(10)判断这个点是否是类皮肤像素。

(3)如果这个点属于类人脸区域并且还没有被其他智能体访问,那么这个智能体将在这个点做一个标记。然后它将在四个邻域点再产生出四个子智能体,如图7(a)所示,并且这些子智能体也加入到集合a中,与父智能体具有相同的索引。在自我复制之后,父智能体会被从图像中移除。

(4)如果这个点不属于类人脸区域或者它已经被其他智能体访问过,则这个智能体将会随机扩展到其八个邻域中的一个,如图7(b)所示,并且其年龄会增加1。如果智能体的年龄超过它的寿命,智能体会被从图像环境中移除。对于人脸检测,由于脸部图像的连通性,设置一个智能体的寿命为1岁。

(5)如果集合a为空,那么发展计算停止,否则,从步骤(2)开始重复。被智能体标记的区域为类人脸区域。

用智能体进行类人脸像素检测如图6所示,其中(a)为在彩色图像中均匀分布的智能体的图片示例,(b)为智能体正在检测类皮肤像素的示例,(c)为最终肤色检测结果示例。

b)类人脸区域分割

在检测过程中,每个智能体家族可以检测一个区域并且一个类人脸区域可能是由多个智能体家族检测的,如图6(b)所示,这个类人脸区域就是由多个智能体家族检测到的。因此,为了确定图像中有多少面部区域,需要合并区域。在所提出的方法中合并区域的基本想法是,如果两个区域超过一定数量的点(在大量实验之后选择5个点)上连接在一起,则将这两个区域合并为一个更大的区域。否则,将这两个区域作为不同的面部区域进行处理。

更具体地说,对于每个最初的智能体i,i=0,1,...,n-1,如果它的最初位置属于一个类人脸区域,就称它为一个有效的智能体。因此,可以得到一个有效智能体的子集并且存储每个有效智能体的家族下标。那些非有效的智能体从图像中删除。在检测过程中,如果有超过5个点同时被一个家族中的智能体i和来自另一个家族中的智能体j访问,则让wij=1,也就意味着被两个智能体家族检测到的区域属于一个大的区域,否则wij=0。因此可以得到一个智能体关系矩阵(arm)[wij]。通过分析arm,可以确定有多少被不同智能体家族检测的区域属于一个类人脸区域。然后,合并这些区域到一个人脸候选区域并且人脸候选区域的数量也可以被确定。

(2)lbp特征提取

本方法采用lbp方法进行人脸识别。由于是近距离拍摄图像,并且通过图像预处理可以提高图像分辨率,所以可以应用特征提取的算法实现人脸识别。ojala等人在1996年介绍了lbp,被描述为中心像素与其周围像素之间的像素强度的二进制比较的有序集合。它用于从预处理图像中提取独特且有用的特征,并且是用于人脸识别的最有效和最新的方法。使用lbp可以描述数字图像的纹理和形状。图像的每个像素都标有lbp码,该码是通过将二进制码转换为十进制码获得的。如图8所示,在3×3邻域内,以邻域中心像素为阈值,8邻域像素值与阈值比较,比阈值小的标为0,比阈值大的标为1,二进制转换为十进制,最终中心像素产生的lbp码为124。首先它将图像分成几个小块,从中提取特征。然后它将开始从获得的特征中计算每个块的lbp直方图。之后,它将该图像的所有lbp直方图结合以获得一个连接的向量。然后可以通过测量其直方图之间的相似性(距离)来比较图像。几项研究和研究工作表明,使用lbp方法进行人脸识别可以在不同的面部表情,不同的照明条件,图像旋转和人员老化方面提供非常好的结果。lbp系统的速度和辨别性能也非常出色。

虽然最初采用lbp方法进行人脸识别和人脸验证,但它已经应用于世界各地的众多应用中。在过去几年的几年中已经做出了多项扩展和改进,并且仍然在进行大量研究以提高该方法的稳健性。

c等价lbp

lbp的一个重要特例是等价lbp。随着邻域集内采样点的增加,二进制模式的种类会急剧增加。在实际应用中,不仅要求所采用的算子尽量简单,同时也要求计算速度快、数据存储量小。为了解决这个问题,ojala提出了“等价模式”来对lbp算子的模式种类进行降维。等价lbp描述符包含从0到1的最大两个按位转换,反之亦然。由于二进制模式字符串是循环的,因此在lbp描述符中仅发生一次转换是不可能的。这意味着一个等价模式要么就没有转换,要么就有两次转换。11111111和10001111是分别具有零次转换和两次转换的等价二进制模式的示例。如果p是邻域集内的采样点数,那么根据文献,具有两个逐位过渡的模式数量计算为p(p-1),与具有2p的可能组合的不均匀模式相比,模式数量大量减少有利于工作。使用等价lbp的另一个原因是它只能检测预处理图像中最重要的特征,如图9所示的拐角、斑点、边缘和线端。

dlbp算子

如所描述的,原始lbp算子被定义在像素为3x3邻域内的,以邻域中心像素为阈值,与相邻的8个像素的灰度值与其比较,半径仅为一个像素,表示为lbpu28,11(如图10所示)。后来为了改进特征向量的长度,研究人员提出了不同的算子。使用这些扩展算子可以选择不同大小的邻域像素或采样点。根据文献,lbpu216,2(半径为2个像素的16个邻域像素)和lbpu28,2(半径为2个像素的8邻域像素),在大多数数据库中得出了比较好的结果。课题对这两个算子和原算子进行了实验。

e数学模块

为了使用不同大小的邻域,lbp算子通过从中心像素绘制具有半径r的圆来扩展。获取该圆的边缘上的p个采样点并与中心像素的值进行比较。如图10所示显示了三种不同的p和r值。

如果中心像素的坐标是(xc,yc),p个邻域像素坐标为(xp,yp),可以用公式(11)和公式(12)计算,p代表邻域集的采样点数,p是每个独立的样本点。

xp=xc+rcos(2πp/p)(11)

yp=yc+rsin(2πp/p)(12)

利用公式(13)来生成lbp,对于像素(xc,yc),二项分量2p被分配给每个这些二项式权重总计为:

(3)光照标准化

人脸识别系统的主要问题是处理光照变化和姿态变化。这些变化的发生会导致人脸识别系统性能的严重问题。大多数光照诱发的图像差异大于个体之间的差异,这当然是一个严重的问题。课题通过对这些变化进行归一化处理,对lbp方法的性能进行了测试和改进。

fssr

参见图11,通过ssr算法进行照明减少,以消除照明变化。ssr通过低通滤波器传递数字图像。在这个实验中,高斯滤波器被用作低通滤波器。根据文献,数字图像实际上由两个频率分量组成,即照明(低频分量)和反射率(高频分量),其中照明因子需要被去除。

f(x,y)=i(x,y)r(x,y)(14)

其中,(x,y)是数字图像的坐标,i是数字图像中的照明因子,r代表反射系数。如公式(15)所示扩展ssr的数学模型。

r=log(f(x,y))-log(f(x,y))*t(x,y)(15)

其中,f(x,y)代表实际数字图像,t(x,y)是高斯低通滤波器绕过实际图像中的低频分量,其在数学上可以由公式(16)表示。这里的c代表标准差,在本方法中标准差设为30。

在公式(15)中,实像用低通滤波器卷积,使得只有低频分量,即绕过照明因子。然后将这个卷积结果从实际图像中减去,并且输出是具有减少的照明因子的图像。

实施例3

lbp方法已经在matlab中从“耶鲁数据集”取得的不同类型的图像中实现,以测试方法的性能。lbp算子的采样点和半径是变化的,以观察这些参数对性能的影响。与没有应用ssr算法的结果相比,应用扩展后的ssr算法可以观察到高识别率。

预处理的图像和可能的训练数据被用于实验算法中,利用lbp方法产生每个图像的特征向量。通过使用卡方统计量(χ2)计算一个距离矩阵,其中包含每对图像之间相似度(距离)的度量。然后通过使用距离矩阵和给定人脸库图像和检测图像列表,系统计算等级曲线。等级曲线是检查图像与图库图像的累积匹配分数。识别率被绘制为分数列表中的等级的函数。例如,等级1是指检测图像与数据集中的图像的第一最小距离,等级2是第二最小距离以及等级3是第三最小距离。

实验是用耶鲁数据集进行的,数据集的特点是具有强烈的光照和表情的变化。因此,这个任务比其他标准数据集更复杂,结果相对更差。

应用ssr算法之前的等级曲线如图1所示。图1说明了lbpu28,1在等级1中的准确率是25%并且它的最大准确率是在等级6中的93%。lbpu28,2在等级13中实现了100%的准确率,在等级1中准确率是47%。lbpu216,2在等级9中实现了100%的准确率,在等级1中准确率是47%。所以lbpu216,2算子在这些算子中给出了最好的结果。

应用ssr算法之后的等级曲线如图2所示。ssr算法在耶鲁数据集中实现之后,可以观察到结果变好。如图2所示说明在lbpu28,1在扩展之后结果没有提高,事实上,经过几次排名后,情况变得更加糟糕。在lbpu28,2算子中可以观察到一些提高,它的准确率尤其在低等级中有更好的结果。lbpu216,2尤其在等级7中具有高识别率。

这是关于设计和实现一个高效的人脸识别所做的实验,它在人为控制的环境下表现良好。还进行了扩展以使系统的性能在相对无组织的环境中有效。在这项研究工作中,通过实施从实际图像中去除照明因子的ssr算法来对人脸标准化,从而使特征提取算法能够容易地将其与数据库中最相似的人脸图像进行匹配。通过从标准耶鲁数据集中提取人脸图像,也可以用不同的等价lbp算子绘制等级曲线。等级曲线显示lbpu28,1算子在其他算子之前达到最大精度,但根本不能达到100%的精度。与lbpu28,2相比,lbpu216,2算子可以在更小的等级值下实现100%的准确性。在对照明因子进行归一化之后,lbpu216,2算子可以获得更多改进的结果。因此可以得出结论,通过应用ssr算法和使用lbpu216,2作为lbp算子,可以提高识别系统的性能。

这些结果可以通过使用加权lbp进一步恢复,其中权重被分配给脸部的每个区域。该区域的特征越重要,分配给该区域的权重越高,从而使其更加精确地区分图像。

本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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