一种基于智能安防机器人非受限条件下的人脸识别方法与流程

文档序号:18622022发布日期:2019-09-06 22:34阅读:293来源:国知局
一种基于智能安防机器人非受限条件下的人脸识别方法与流程

本发明涉及计算机视觉技术领域,更具体地,涉及一种基于智能安防机器人非受限条件下的人脸识别方法。



背景技术:

现有的安防主要利用视频监控,需要有专门的安防人员24小时不间断的查看和安保人员定时执行巡逻任务,人力资源开销大,而且靠人进行监视和巡逻容易在夜间疲惫等情况下发生疏漏情况。且当发生大面积停电时,传统安防系统多数都会瘫痪。智能安防机器人可应用于室内外的安防巡逻任务,并进行环境数据收集,构成灵活的监控系统。安防机器人能够在比较恶劣的环境下继续安防巡逻工作,大大节省人力资源,在安全性上具备绝对优势。由于智能安防机器人巡逻时获得的图像质量有好有坏,对于人脸识别而言不能要求被识别人员的高度配合,而传统的人脸识别方法大多基于被识别人员的高度配合才能达到高精度的识别率。鉴于此,研究一种高精度的非受限的人脸识别技术是本技术领域人员需要解决的技术问题。



技术实现要素:

有鉴于此,本发明提出一种基于智能安防机器人非受限条件下的人脸识别方法,该方法经过图像去模糊、变光照、超分辨处理的图像帧序列,解决了现有智能安防机器人巡逻过程中获得图像模糊、光照条件复杂多变、人脸姿态变化和人脸图像低分辨率等造成的人脸识别精度降低或识别不成功的问题。

本发明的基于智能安防机器人非受限条件下的人脸识别方法,包括以下步骤:

s1,利用hog特征对图像进行人脸检测,并截取对应的人脸图像;

s2,通过预先训练好的基于cnn卷积神经网络的二分类分类器判断截取的人脸图像是否模糊,若是,则进入步骤s3;反之,则进入步骤s4;

s3,对步骤s2中分类得到的模糊人脸图像使用lucy-richardson算法作去模糊处理,再进入步骤s4;

s4,对步骤s2或s3处理后的人脸图像通过srcnn图像超分辨算法处理,得到高分辨率图像后归一化统一大小;

s5,通过预先训练好的cnn卷积神经网络提取特征向量;

s6,通过预先训练好的svm分类器对步骤ss5得到的特征向量进行分类,实现人脸识别。

进一步地,步骤s1中利用hog特征对图像进行人脸检测的具体实现方法为:

s11,开始并载入彩色人脸图像;

s12,将彩色人脸图像转换为灰度图;

s13,将灰度图分割为若干8*8像素的小方块;

s14,计算每个小方块的方向梯度分布直方图;

s15,选取直方图中梯度分布数量最大的方向作为该小方块的总方向;

s16,将小方块用方向箭头代替,得到由许多箭头表示的人脸hog特征图;

s17,通过比对与人脸hog特征图相似部分检测出图像中的人脸区域。

进一步地,步骤s14中小方块的方向梯度分布直方图通过如下步骤得到:

s141,利用梯度算子对小方块进行卷积,计算得到每个像素点处的梯度方向和幅值,具体公式如下:

式中,ix为水平方向上的梯度值,iy为垂直方向上的梯度值,g(x,y)代表梯度的幅值,θ(x,y)代表梯度的方向;

s142,将360度角根据需要分割成12个区域,每个区域包含30度,整个直方图包含12维;

s143,根据每个像素点的梯度方向,利用三线性插值法将其幅值累加到直方图中,得到每个小方块的方向梯度直方图。

进一步地,步骤s2中基于cnn卷积神经网络的二分类分类器通过如下方法训练验证:

s21,准备好训练所用的数据集,数据集中包含有清晰图像和模糊图像,分别放在两个不同的文件夹;

s22,搭建训练用的cnn卷积神经网络;

s23,采用批量随机梯度下降算法进行优化算法求解;

s24,运用步骤s21中准备的数据集重复迭代进行训练;

s25,训练完成后,将该cnn卷积神经网络用于模糊图像的识别。

进一步地,步骤s22中cnn卷积神经网络包括一个输入层、四个卷积层、四个池化层、两个全连接层及一个输出层,其中,卷积层均采用relu激活函数,输出层采用softmax回归输出两个类别的概率。

进一步地,步骤s3中所采用的对步骤s2分类得到的模糊图像使用lucy-richardson算法作去模糊处理的具体实现方法为:

s31,建立基本模型

y=γ*p(2)

式中,y表示退化图像,γ表示原始图像,p表示点扩散函数,表示卷积操作,其中,

式中,i和j均为像素点,n为原始图像像素点个数,d为退化图像像素点个数,p(i,j)为点扩散函数,λi为像素点i的真实像素值,yj为像素点j的观测像素值;

s32,假设观测图像和真实图像包含数量相同的像素点;

s33,yj满足泊松分布,即:

yj~poisson(μj)(4)

其中,uj表示泊松分布的参数,其公式为:

s34,引入泊松分布的概率函数和高斯型点扩展函数:

式中,λ表示泊松分布的期望和方差,k表示变量的值,d(i,j)表示像素点i和j的距离,δ表示方差;

s35,将公式(4)转换为如下公式:

z(i,j)~poisson(λip(i,j))(7)

式中,z(i,j)表示像素点i在像素点j上的映射贡献,故yj可由下式表示:

式中,λk表示像素点k的真实像素值,p(k,j)表示点扩散函数在像素点(k,j)处的值;

s36,假定图像γ已知,z(i,j)可由下式估计:

则λ可由下式估计:

s37,得到最后的迭代式:

式中,t表示迭代的次数,λk(t)表示t时刻像素点k的真实像素值,λi(t)表示t时刻像素点i的真实像素值,λi(t+1)表示t+1时刻像素点i的真实像素值。

进一步地,步骤s4中人脸图像通过srcnn图像超分辨算法处理,得到高分辨率图像后归一化的统一大小为128*128,具体通过如下方法实现:

s41,利用bicubic插值法,构造bicubic插值函数

式中,a为变化系数,x为该像素点到p点的距离,w(x)为该像素点的权重;

s42,对待插值的像素点(x,y),取其附近的4x4邻域点(xi,yj),其中,x和y可以为浮点数,i,j=0,1,2,3;

s43,通过如下公式进行插值计算,将图像转换为128*128的大小:

式中,f(x,y)表示转换后的图像函数,f(xi,yj)表示表示原始图像函数,w(x-xi)表示表示xi的权重,w(y-yj)表示表示yj的权重。

进一步地,步骤s4中所采用的使用srcnn图像超分辨算法基于三层卷积神经网络,其中,第一个卷积层:卷积核尺寸9×9,卷积核数目64;第二个卷积层:卷积核尺寸1×1,卷积核数目32;第三个卷积层:卷积核尺寸5×5,卷积核数目1。

进一步地,步骤s5中所采用的训练一个提取特征向量的cnn卷积神经网络的具体实现方法为:

s51,通过tripletloss损失函数训练cnn卷积神经网络,使用欧式距离作为相似性度量,所述tripletloss损失函数的为:

式中,为锚示例,为正示例,为负示例,为锚示例与正示例的欧式距离度量,为锚示例与负示例的欧式距离度量,a为锚示例与正示例之间的距离和锚示例与负示例之间的距离的最小间隔;

s52,步骤s51中的cnn卷积神经网络的网络结构包括四个卷积层、四个最大池化层、一个全连接层,模型输入为一个三元组,大小为128*128*3,第一个卷积层:卷积核尺寸11×11,卷积核数目为48,使用最大值池化,步长为2;第二个卷积层:卷积核尺寸5×5,卷积核数目为128,使用最大值池化,步长为2;第三个卷积层:卷积核尺寸3×3,卷积核数目为192,使用最大值池化,步长为2;第四个卷积层:卷积核尺寸3×3,卷积核数目为128,使用最大值池化,步长为2;全连接层输出128维特征向量。

进一步地,步骤s6中所采用的svm分类器预先训练的具体实现方法为:

s61,提前建立人脸数据库;

s62,将数据库中所有图像通过步骤s5训练的cnn卷积神经网络分别提取出128维的特征向量;

s63,任意两类样本之间设计一个svm,进行一对一法分类训练,当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。

本发明提供的基于智能安防机器人非受限条件下的人脸识别方法,(1)由于人脸识别工作只需要对人脸区域图像处理,为避免处理其余区域图像造成计算资源浪费,所以第一步先利用hog特征对图像进行人脸检测,然后提取人脸区域图像用于后续处理;(2)为克服智能安防机器人抖动造成运动图像模糊的问题,利用lucy-richardson算法对运动图像帧序列进行去模糊处理,考虑到对本身已经清晰的图像进行去模糊处理造成的计算资源浪费,所以利用cnn卷积神经网络训练一个对清晰图像和模糊图像进行二分类的分类器,之后再对分类出来的模糊图像进行去模糊处理,清晰图像则跳过这一步骤;(3)使用srcnn图像超分辨算法将图像归一化到同一大小尺度;(4)将经过以上步骤处理的图像输入到训练好的cnn卷积神经网络中提取特征向量;(5)通过svm对提取出的特征向量进行分类,从而实现人脸识别。故此,采用本发明的基于智能安防机器人非受限条件下的人脸识别方法具有有效地提高智能安防机器人在巡逻过程中识别人脸的效率和精度的优点。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例提供的基于智能安防机器人非受限条件下的人脸识别方法的流程图;

图2为本发明中利用hog特征人脸检测方法的流程图;

图3为本发明中对清晰图像和模糊图像进行二分类的cnn卷积神经网络结构图;

图4为本发明中图像超分辨算法srcnn的卷积神经网络结构图;

图5为本发明中提取特征向量的cnn卷积神经网络的网络结构图;

图6为本发明中人脸识别方法和两种传统算法的对比图;

图7为本发明中人脸识别方法和两种传统算法随距离变化精度曲线图(其中,①号曲线为本发明人脸识别方法在不同距离下的识别精度曲线,②号曲线为vggface算法下人脸识别在不同距离下的识别精度曲线,③号曲线为facenet算法下人脸识别在不同距离下的识别精度曲线)。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

需要说明的是,为更好地阐述本发明,此处做出如下解释:

hog(histogramoforientedgradient),方向梯度直方图;

cnn(convolutionalneuralnetworks),卷积神经网络;

lucy-richardson算法,又称lr算法,是一种非线性方法;

srcnn(super-resolutionconvolutionalneuralnetwork),基于卷积神经网络来实现图像重构;

svm(supportvectormachine),支持向量机;

relu激活函数,(rectifiedlinearunits)激活函数;

softmax回归(softmaxregression),用于解决多分类问题;

bicubic插值法,双三次的插值法;

tripletloss,三元组损失函数。

图1是本发明实施例提供的本发明实施例提供的基于智能安防机器人非受限条件下的人脸识别方法的流程图。如图1所示,本发明的基于智能安防机器人非受限条件下的人脸识别方法,包括以下步骤:

s1,利用hog特征对图像进行人脸检测,并截取对应的人脸图像;

s2,通过预先训练好的基于cnn卷积神经网络的二分类分类器判断截取的人脸图像是否模糊,若是,则进入步骤s3;反之,则进入步骤s4;

s3,对步骤s2中分类得到的模糊人脸图像使用lucy-richardson算法作去模糊处理,再进入步骤s4;

s4,对步骤s2或s3处理后的人脸图像通过srcnn图像超分辨算法处理,得到高分辨率图像后归一化统一大小;

s5,通过预先训练好的cnn卷积神经网络提取特征向量;

s6,通过预先训练好的svm分类器对步骤ss5得到的特征向量进行分类,实现人脸识别。

需要说明的是步骤s3与s4之前还包括如下步骤:使用伽马矫正算法对去模糊后的图像进行光照处理;

同时,如图2所示,步骤s1中利用hog特征对图像进行人脸检测的具体实现方法为:

s11,开始并载入彩色人脸图像;

s12,将彩色人脸图像转换为灰度图;

s13,将灰度图分割为若干8*8像素的小方块;

s14,计算每个小方块的方向梯度分布直方图;

具体地,步骤s14中小方块的方向梯度分布直方图通过如下步骤得到:

s141,利用梯度算子对小方块进行卷积,计算得到每个像素点处的梯度方向和幅值,具体公式如下:

式中,ix为水平方向上的梯度值,iy为垂直方向上的梯度值,g(x,y)代表梯度的幅值,θ(x,y)代表梯度的方向;

s142,将360度角根据需要分割成12个区域,每个区域包含30度,整个直方图包含12维;

s143,根据每个像素点的梯度方向,利用三线性插值法将其幅值累加到直方图中,得到每个小方块的方向梯度直方图。即将当前像素的梯度方向大小、像素在小方块中的x坐标与y坐标这三个值来作为插值权重,而被用来插入的值为像素的梯度幅值,就可以得到每个小方块的方向梯度直方图。

需要说明的是,前述梯度算子可为sobel算子(索贝尔算子),laplacian算子(拉普拉斯算子)等任意一种。

s15,选取直方图中梯度分布数量最大的方向作为该小方块的总方向;

s16,将小方块用方向箭头代替,得到由许多箭头表示的人脸hog特征图;

s17,通过比对与人脸hog特征图相似部分检测出图像中的人脸区域。

在进一步地技术方案中,步骤s2中基于cnn卷积神经网络的二分类分类器通过如下方法训练验证:

s21,准备好训练所用的数据集,数据集中包含有清晰图像和模糊图像,分别放在两个不同的文件夹;此处,以清晰图像和模糊图像各500张为例;

s22,搭建训练用的cnn卷积神经网络;

需要说明的是,由于只是处理二分类任务,所以网络不需要太深,如图3所示,cnn卷积神经网络包括一个输入层、四个卷积层、四个池化层、两个全连接层及一个输出层,其中,卷积层均采用relu激活函数,输出层采用softmax回归输出两个类别的概率。

s23,采用批量随机梯度下降算法进行优化算法求解;

由于采用批量随机梯度下降算法(msgd),因此,要先定义msgd的一些要素,主要包括:代价函数,训练、验证、测试model、参数更新规则(即梯度下降);

s24,运用步骤s21中准备的数据集重复迭代进行训练;

训练过程有训练步数和迭代次数的设置,每步会遍历所有的训练数据,本例中也就是1000个图像,一次迭代遍历一个数据集里的所有样本;

s25,训练完成后,将该cnn卷积神经网络用于模糊图像的识别。

优选地,步骤s3中所采用的对步骤s2分类得到的模糊图像使用lucy-richardson算法作去模糊处理的具体实现方法为:

s31,建立基本模型

y=γ*p(2)

式中,y表示退化图像,γ表示原始图像,p表示点扩散函数,表示卷积操作,其中,

式中,i和j均为像素点,n为原始图像像素点个数,d为退化图像像素点个数,p(i,j)为点扩散函数,λi为像素点i的真实像素值,yj为像素点j的观测像素值;

s32,假设观测图像和真实图像包含数量相同的像素点;

s33,yj满足泊松分布,即:

yj~poisson(μj)(4)

其中,uj表示泊松分布的参数,其公式为:

s34,引入泊松分布的概率函数和高斯型点扩展函数:

式中,λ表示泊松分布的期望和方差,也是单位时间(或单位面积)内随机事件的平均发生率,k表示变量的值,d(i,j)表示像素点i和j的距离,δ表示方差;

s35,将公式(4)转换为如下公式:

z(i,j)~poisson(λip(i,j))(7)

式中,z(i,j)表示像素点i在像素点j上的映射贡献,故yj可由下式表示:

式中,λk表示像素点k的真实像素值,p(k,j)表示表示点扩散函数在像素点(k,j)处的值;

s36,假定图像γ已知,z(i,j)可由下式估计:

则λ可由下式估计:

s37,得到最后的迭代式:

式中,t表示迭代的次数,λk(t)表示t时刻像素点k的真实像素值,λi(t)表示t时刻像素点i的真实像素值,λi(t+1)表示t+1时刻像素点i的真实像素值。

此外值得提及的是,步骤s4中人脸图像通过srcnn图像超分辨算法处理,得到高分辨率图像后归一化的统一大小为128*128,具体通过如下方法实现:

s41,利用bicubic插值法,构造bicubic插值函数

式中,a为变化系数,x表示该像素点到p点的距离,w(x)为该像素点的权重;

s42,对待插值的像素点(x,y),取其附近的4x4邻域点(xi,yj),其中,x和y可以为浮点数,i,j=0,1,2,3;

s43,通过如下公式进行插值计算,将图像转换为128*128的大小:

式中,f(x,y)表示转换后的图像函数,f(xi,yj)表示原始图像函数,w(x-xi)表示xi的权重,w(y-yj)表示yj的权重。

将低分辨率图像输入三层卷积神经网络,对ycrcb(即yuv,主要用于优化彩色视频信号的传输,其中,y表示明亮度,也就是灰阶值,是个基带信号;而u和v表示的则是色度,作用是描述影像色彩及饱和度,用于指定像素的颜色,u和v不是基带信号,它俩是被正交调制了的)颜色空间中的y通道进行重建,网络形式为(conv1+relu1)—(conv2+relu2)—(conv3)),srcnn图像超分辨算法基于三层卷积神经网络,如图4所示,该卷积神经网络第一个卷积层:卷积核尺寸9×9,卷积核数目64,输出64张特征图;第二个卷积层:卷积核尺寸1×1,卷积核数目32,输出32张特征图;第三个卷积层:卷积核尺寸5×5,卷积核数目1,输出1张特征图即为最终重建高分辨率图像。

进一步地,步骤s5中所采用的训练一个提取特征向量的cnn卷积神经网络的具体实现方法为:

s51,通过tripletloss损失函数训练cnn卷积神经网络,使用欧式距离作为相似性度量,所述tripletloss损失函数的为:

式中,为锚示例,为正示例,为负示例,为锚示例与正示例的欧式距离度量,为锚示例与负示例的欧式距离度量,a为锚示例与正示例之间的距离和锚示例与负示例之间的距离的最小间隔;

s52,步骤s51中的cnn卷积神经网络的网络结构包括四个卷积层、四个最大池化层、一个全连接层,模型输入为一个三元组,大小为128*128*3,第一个卷积层:卷积核尺寸11×11,卷积核数目为48,使用最大值池化,步长为2;第二个卷积层:卷积核尺寸5×5,卷积核数目为128,使用最大值池化,步长为2;第三个卷积层:卷积核尺寸3×3,卷积核数目为192,使用最大值池化,步长为2;第四个卷积层:卷积核尺寸3×3,卷积核数目为128,使用最大值池化,步长为2;全连接层输出128维特征向量。需要说明的是,本网络结构的网络形式为(conv1+relu1+max_pool1)—(conv2+relu2+max_pool2)—(conv3+relu3+max_pool3)—(conv4+relu4+max_pool4)—(dropout1)—(flatten1)—(flatten2)—(dense1);全连接层包括两个flatten层和一个dense层,flatten1层输出为2048d,flatten2层输出为1024d,dense层输出128维特征向量,具体见图5。

同时,本发明中步骤s6中所采用的svm分类器预先训练的具体实现方法为:

s61,提前建立人脸数据库;

数据库具体包括智能安防机器人执行任务的场所中所有可进入人员每人一张正面清晰图像,每张图像拥有独立标签;

s62,将数据库中所有图像通过步骤s5训练的cnn卷积神经网络分别提取出128维的特征向量;

s63,任意两类样本之间设计一个svm,进行一对一法分类训练,当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。

以k个样本为例,假设有k个类别的样本就需要设计k(k-1)/2个svm,每当数据库增加图像时,不需要重新训练所有的svm,只需要重新训练和增加图像样本相关的分类器。

图6为本发明中人脸识别方法和两种传统算法的对比图。图7为本发明中人脸识别方法和两种传统算法随距离变化精度曲线图(其中,①号曲线为本发明人脸识别方法在不同距离下的识别精度曲线,②号曲线为vggface算法下人脸识别在不同距离下的识别精度曲线,③号曲线为facenet算法下人脸识别在不同距离下的识别精度曲线。依据图6和图7可知,采用本发明的基于智能安防机器人非受限条件下的人脸识别方法具有有效地提高智能安防机器人在巡逻过程中识别人脸精度的优点。

综上所述,本发明具有如下优点:

(1)对于模糊图像使用lucy-richardson算法作去模糊处理,提高了智能安防机器人巡逻时由于抖动造成的模糊图像的识别率;

(2)采用bicubic插值法和srcnn图像超分辨算法提高图像分辨率,提高了远距离、低分辨率图像的识别率;

(3)采用tripletloss损失函数训练cnn卷积神经网络,有效提高了人脸识别的精度;

(4)采用一对一法(one-versus-one,简称ovo)来训练一个多分类的svm分类器,每当数据库增加图像时,不需要重新训练所有的svm,只需要重新训练和增加图像样本相关的分类器。

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

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