一种用于养老机器人的人脸识别及主动跟踪的方法技术

技术编号:15792443 阅读:316 留言:0更新日期:2017-07-10 00:40
本发明专利技术的目的是提出一种用于养老机器人的人脸识别及主动跟踪的方法,属于计算机视觉领域。在利用灰度梯度直方图和支持向量机的实现人脸检测的基础上,利用卷积神经网络提取人脸图像特征实现人脸识别。并采用粒子滤波跟踪算法为机器人设计一种主动视觉系统,以便让养老机器人头部摄像机可以主动跟踪家庭成员的面部。当人脸偏转角度、俯仰角度过大时,养老机器人不能识别出人脸,摄像机依赖头部俯仰电机以及轮子电机实现2个自由度旋转,完成对目标的有效主动跟踪,确保目标始终在视场中。

【技术实现步骤摘要】
一种用于养老机器人的人脸识别及主动跟踪的方法
本专利技术涉及一种用于养老机器人的人脸识别及主动跟踪的方法,属于计算机视觉领域。
技术介绍
对于服务型机器人,视觉系统是机器人中的一个关键技术,为机器人感知外部环境提供视觉信息。目前的家庭服务型机器人中,摄像机被大量应用,主要提供了人脸检测功能,并没有针对家庭成员建立有效的数据库,且摄像机不能有效跟踪家庭成员的面部,在人脸不能够被检测到的角度情况下,不能主动调整机器人头部视角以及机器人的正面方向。现有的技术文献中,专利技术专利“一种用于智能机器人的人脸识别方法及系统”,公开号为CN201510145184.5,提出了一种面向机器人的人脸识别。该方法的缺点是,当人脸偏转角度、俯仰角度过大时,机器人不能识别出人脸,摄像机也不能有对目标实现有效的主动跟踪。另外,该方法摄像机保持不动,无法确保目标始终在视场中。
技术实现思路
本专利技术的目的是提出一种用于养老机器人的人脸识别及主动跟踪的方法,在利用卷积神经网络实现人脸识别的基础上,为机器人设计一种主动视觉系统,以便让养老机器人头部可以主动跟踪家庭成员的面部。本专利技术提出的一种用于养老机器人的人脸识别及主动跟踪的方法,包括以下步骤:(1)对养老机器人头部摄像机得到的图像进行人脸检测,得到人脸图像Tn'×n,具体包括以下几个步骤:(1‐1)养老机器人头部摄像机获取图像I,对图像I进行灰度化,得到灰度图I';(1‐2)对上述步骤得到的灰度图I'进行归一化,得到归一化后的图像I”,其中,I'max为灰度图I'中最大像素值,I'min为灰度图I'中最小像素值,x,y分别为灰度图I'中的像素横纵坐标;(1‐3)对上述步骤得到的归一化后的图像I”进行下采样,得到图像Mm×m,其中m=250;(1‐4)利用基于灰度梯度直方图的支持向量机人脸检测模型对图像Mm×m进行检测,得到人脸检测区域;如果检测到人脸区域,记为R0,则进行下一步;否则重复过程(1‐1)~(1‐4);(1‐5)设人脸的初始标准标记点为l0,提取步骤(1‐4)中检测到人脸区域的图像Mm×m的标记点l*,得到仿射矩阵其中f为仿射变换函数;(1‐6)根据步骤(1‐5)中得到的仿射矩阵按照如下公式得到对齐之后的图像M′m×m:(1‐7)重复步骤(1‐4),得到人脸区域,记为R(x,y,w,h),其中,x,y为人脸区域R的初始坐标,w为人脸区域R的宽度,h为人脸区域R的高度;(1‐8)截取上述步骤(1‐7)中的人脸区域R(x,y,w,h),得到人脸图像T;(1‐9)将上述步骤(1‐8)得到的人脸图像T归一化,得到人脸图像T′n×n,其中,n=128;(2)利用卷积神经网络对步骤(1‐9)中得到的人脸图像T′n×n进行特征提取,得到特征向量p;(3)养老机器人头部摄像机对多个家庭成员建立人脸数据库,具体包括以下步骤:(3‐1)重复步骤(1),提取每个家庭成员的人脸图像;(3‐2)遍历(3‐1)中的所有家庭成员人脸图像,重复步骤(2),得到家庭成员特征矩阵P=[p1p2…pN],其中,pi为第i个家庭成员的人脸特征向量,i=1,2,...,N,N为家庭成员人数;(4)根据上述步骤(1)~(2)得到的的人脸图像的特征向量,记为p*,以及根据步骤(3)得到的家庭成员特征矩阵P,进行人脸识别,具体包括以下几个步骤;(4‐1)计算当前图像的特征向量p*与家庭成员特征矩阵P=[p1p2…pN]中的每一个特征的余弦距离,得到N个距离值dist:其中,pi为第i个家庭成员的人脸特征向量,<p*,pi>为当前图像的特征向量p*和pi的内积,i=1,2,...,N,N为家庭成员人数;(4‐2)将上述步骤得到的N个距离值dist从小到大排序,选取最小的距离值作为最终的识别结果,记为dist*;(4‐3)设一个阈值λ=0.3,如果dist*≤λ,那么将得到dist*的特征向量所对应的家庭成员作为最终识别结果,把步骤(1‐7)中得到的人脸区域R(x,y,w,h)作为最终的人脸区域;如果dist*>λ,当前图像无法识别;(5)根据上述步骤得到的人脸区域R(x,y,w,h),养老机器人头部的摄像机主动跟踪该区域,具体包括以下步骤:(5-1)按下式计算人脸区域R(x,y,w,h)的中心,记为O(x',y'),其中,x'为人脸区域中心的横坐标,y'为人脸区域中心的纵坐标,x'=x+w/2y'=y+h/2,其中,x,y为人脸区域R的初始坐标,w为人脸区域R的宽度,h为人脸区域R的高度;(5-2)计算人脸区域中心O(x',y')与摄像机成像平面的中心C(x0,y0)之间的欧式距离d,设定距离阈值threshold,对距离d进行判断,若d>threshold,则向养老机器人发送一个调整指令,使养老机器人头部摄像机向使距离d减小的方向转动,直到d≤threshold,若d≤threshold,则机器人保持原来位姿;(5-3)采用粒子滤波跟踪算法,养老机器人主动跟踪待人脸,具体步骤如下:(5-3-1)养老机器人头部的摄像机获取待家庭成员的视频图像序列,重复上述步骤(1)~(4)对视频图像序列中t0时刻的图像进行人脸检测,得到人脸区域R,将该区域标标记为待跟踪的目标区域;(5-3-2)根据(5-3-1)得到的待跟踪目标区域的中心为原点,产生一个粒子集其中m为该集合中的粒子个数,m=1,...,M;设粒子集中的粒子的运动服从正态分布,粒子集中的每个粒子独立传播,得到t时刻的粒子集和t+1时刻的粒子集(5-3-3)设t0时刻粒子集的参考直方图为参考直方图q*共有L个灰度级,设t时刻粒子集的颜色直方图为qt(x)=qt(n;x),n=1,2...L,x为粒子集中的粒子,对t时刻粒子集中的每个粒子独立传播后,得到的t+1时刻粒子集进行观测,得到粒子集中每个粒子区域的颜色直方图和参考直方图,计算粒子集中每个粒子区域的颜色直方图和参考直方图之间的巴氏距离D:定义粒子权值为ω,使ω=D,N的取值为300;(5-3-4)对上述粒子权值进行后验概率计算,得到t+1时刻粒子的存在概率期望值E(xt+1):其中,ωt+1是t+1时刻的每个粒子权值;(5-3-5)将上述概率期望值E(xt+1)作为待跟踪目标在t+1时刻的存在概率最优估计,并将上述粒子集中的存在概率最优粒子所覆盖的区域的中心作为待跟踪目标区域中心;(5-3-6)重复上述步骤(5-3-2)~步骤(5-3-5),得到待跟踪目标在时刻t到下一时刻t+1的存在概率最优估计和待跟踪目标区域中心;(5-3-7)重复步骤(5-2),使养老机器人头部的摄像机对准上述步骤(5-3-6)的待跟踪目标区域中心;本专利技术的目的是提出一种用于养老机器人的人脸识别及主动跟踪的方法,具有以下优点:1、本专利技术提出的一种用于养老机器人的人脸识别及主动跟踪的方法,采用深度学习提取家庭成员人脸特征进行识别;2、本专利技术采用了粒子滤波跟踪算法,并通过控制养老机器人的头部电机和轮子电机,实现摄像机的主动跟踪,提高摄像机跟踪的鲁棒性。附图说明图1是本专利技术方法中摄像机控制模型示意图。具体实施方式本专利技术提出的一种用于养老机器人的人脸识别及主动跟踪的方法,包括以下步骤:(1)对养老机器人头部摄像机得到的图像进行人脸检测,得本文档来自技高网...
一种用于养老机器人的人脸识别及主动跟踪的方法

【技术保护点】
一种用于养老机器人的人脸识别及主动跟踪的方法,其特征在于该方法包括以下步骤:(1)对养老机器人头部摄像机得到的图像进行人脸检测,得到人脸图像T′

【技术特征摘要】
1.一种用于养老机器人的人脸识别及主动跟踪的方法,其特征在于该方法包括以下步骤:(1)对养老机器人头部摄像机得到的图像进行人脸检测,得到人脸图像T′n×n,具体包括以下几个步骤:(1‐1)养老机器人头部摄像机获取图像I,对图像I进行灰度化,得到灰度图I';(1‐2)对上述步骤得到的灰度图I'进行归一化,得到归一化后的图像I”,其中,I'max为灰度图I'中最大像素值,I'min为灰度图I'中最小像素值,x,y分别为灰度图I'中的像素横纵坐标;(1‐3)对上述步骤得到的归一化后的图像I”进行下采样,得到图像Mm×m,其中m=250;(1‐4)利用基于灰度梯度直方图的支持向量机人脸检测模型对图像Mm×m进行检测,得到人脸检测区域;如果检测到人脸区域,记为R0,则进行下一步;否则重复过程(1‐1)~(1‐4);(1‐5)设人脸的初始标准标记点为l0,提取步骤(1‐4)中检测到人脸区域的图像Mm×m的标记点l*,得到仿射矩阵其中f为仿射变换函数;(1‐6)根据步骤(1‐5)中得到的仿射矩阵按照如下公式得到对齐之后的图像M'm×m:(1‐7)重复步骤(1‐4),得到人脸区域,记为R(x,y,w,h),其中,x,y为人脸区域R的初始坐标,w为人脸区域R的宽度,h为人脸区域R的高度;(1‐8)截取上述步骤(1‐7)中的人脸区域R(x,y,w,h),得到人脸图像T;(1‐9)将上述步骤(1‐8)得到的人脸图像T归一化,得到人脸图像T′n×n,其中,n=128;(2)利用卷积神经网络对步骤(1‐9)中得到的人脸图像T′n×n进行特征提取,得到特征向量p;(3)养老机器人头部摄像机对多个家庭成员建立人脸数据库,具体包括以下步骤:(3‐1)重复步骤(1),提取每个家庭成员的人脸图像;(3‐2)遍历(3‐1)中的所有家庭成员人脸图像,重复步骤(2),得到家庭成员特征矩阵P=[p1p2…pN],其中,pi为第i个家庭成员的人脸特征向量,i=1,2,...,N,N为家庭成员人数;(4)根据上述步骤(1)~(2)得到的的人脸图像的特征向量,记为p*,以及根据步骤(3)得到的家庭成员特征矩阵P,进行人脸识别,具体包括以下几个步骤;(4‐1)计算当前图像的特征向量p*与家庭成员特征矩阵P=[p1p2…pN]中的每一个特征的余弦距离,得到N个距离值dist:其中,pi为第i个家庭成员的人脸特征向量,<p*,pi>为当前图像的特征向量p*和pi的内积,i=1,2,...,N,N为家庭成员人数;(4‐2)将上述步骤得到的N个距离值dist从小到大排序,选取最小的距离值作为最终的识别结果,记为dist*;(4‐3)设一个阈值λ=0.3,如果dist*≤λ,那么...

【专利技术属性】
技术研发人员:王裕基腾辉刘华平
申请(专利权)人:北京奥开信息科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1