一种快速的基于人脸检测的人脸追踪方法与流程

文档序号:19682116发布日期:2020-01-14 17:31阅读:321来源:国知局
一种快速的基于人脸检测的人脸追踪方法与流程

本发明涉及计算机多媒体技术领域,具体为一种快速的基于人脸检测的人脸追踪方法。



背景技术:

目标追踪有很多的应用场合,应用在视频监控领域,可以对视频中的特定目标进行追踪,应用在无人机自动跟踪中,可以实现自主跟随行人飞行,应用在智能交互系统中,可以对人的手势进行追踪,增强互动体验;

目标追踪的方法分为基于产生式模型的方法和基于判别式模型的方法,基于产生式模型的方法有以下几种,meanshift方法是一种基于概率密度分布的方法,沿着概率密度梯度上升的方向搜索目标,通过不断迭代,收敛到概率密度分布的局部极大值上,该方法优点是计算速度快,但是其只能用于目标的色彩和背景色彩差异比较大的场合,粒子滤波(particlefilter)方法是一种基于粒子分布统计的方法,首先对目标进行建模,并定义粒子与目标的相似性,在对目标进行搜索时,通过在当前帧中撒下粒子,并统计粒子和目标的相似度,进而预测目标可能的位置,kalmanfilter方法是建立目标的运动模型,可以用来估计在下一帧中目标的位置;

基于判别式模型的方法是用分类的方法进行追踪,利用检测进行追踪(trackingbydetection)的方法越来越普遍,tld(trackinglearningdetection)方法有三部分组成,追踪器采用特征点统计的方法预测目标在下一帧的位置,检测器进行目标检测,并与追踪器的结果进行综合,学习器用来修正追踪结果和检测器,csk方法是一种基于相关滤波的方法,通过循环矩阵实现密集采样,采用傅里叶变换进行分类器学习,kcf方法运算速度非常快,可以达到100fps以上,dsst方法对mosse方法进行了改进,能够处理目标的尺度变化,相关滤波方法的优点是运行速度快,缺点是不能适应目标的快速移动和形状变化;

基于深度学习的追踪方法应用越来越广泛,因为人工设计的特征对目标的表达能力较弱,而通过深度学习得到的目标特征信息更加丰富,利用数据训练深度网络模型,从而提取出目标的卷积特征,初期是将目标的卷积特征直接应用到相关滤波中,然后可以得到更好的追踪结果,deepsrdcf将srdcf中的hog特征改成卷积特征,追踪精度有了较大提高,eco方法从模型大小,样本集大小,更新策略三个方面进行加速,在保证追踪准确率的同时,提高了运算速度,goturn方法从当前帧和前一帧中提取卷积特征,然后送到全连接层中,预测目标位置的变化;

传统的追踪方法追踪精度低,而基于深度学习的方法运算速度慢,多数目标追踪方法存在运算速度慢或者追踪准确率和追踪轨迹召回率低的问题。

为此,提出一种快速的基于人脸检测的人脸追踪方法。



技术实现要素:

本发明的目的在于提供一种快速的基于人脸检测的人脸追踪方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种快速的基于人脸检测的人脸追踪方法,包括以下步骤:

s1:输入当前帧图像,对当前帧的图像进行人脸检测,得到当前帧的人脸集合d,在进行人脸追踪之前,已经得到了截止到前一帧的轨迹集合t,然后计算集合d中每一个人脸与轨迹t中每一个轨迹的关联度;

s2:匹配,将关联度矩阵计算出来后,利用kuhn-munkres算法进行二分匹配,对于轨迹集合t中的轨迹,根据轨迹的质量进行评价,将其分为高质量轨迹和低质量轨迹;

s3:经过上述过程之后,就得到了当前帧上的人脸追踪结果,对视频中的后续所有帧,依次执行上述的操作,就可以得到在整个视频上的人脸轨迹。

优选的,在s2中,关联度计算时,需要考虑两者之间的特征距离、两者位置的中心点偏移、两者位置的形状变化。

优选的,在s1中,在计算当前帧的人脸和轨迹中的人脸的关联度时,需要考虑人脸的位置信息和人脸的特征信息,人脸的特征信息是由人脸重识别网络提取出来。

优选的,在s2中,首先尝试将d中每个人脸与t中的高质量轨迹进行匹配,然后d中会剩余部分没有成功匹配的人脸,再将这些人脸与t中的低质量轨迹进行匹配。

优选的,在上述匹配过程结束之后,如果d中还有未成功匹配的人脸,则将其视为新加入的人脸,并将其作为一个新的人脸轨迹的起点,并加入到轨迹集合t中。

优选的,如果t中存在未成功匹配的轨迹,并不能直接认为该轨迹已经结束,而是给该轨迹连续丢失的帧数设置一个阈值,如果该轨迹连续未成功匹配的帧数超过阈值,则认为该轨迹确实已经结束,否则,使用卡尔曼滤波的方法对该轨迹预测一个人脸的位置,并将其作为在当前帧上的轨迹结果,经过上述过程之后,就得到了当前帧上的人脸追踪结果。

与现有技术相比,本发明的有益效果是:本发明通过对人脸位置信息和人脸外观特征信息联合计算匹配度,能够提高人脸追踪的准确率,并尽可能降低人脸受遮挡和光照的影响;提出一种小型的人脸重识别网络,用于提取人脸特征,这种网络相比大型的人脸特征提取网络可以节约计算时间,并同时能够为人脸匹配提供足够的人脸信息;一种汉明距离加优化映射哈希的方法来替代传统欧式距离的计算,这种改进可以大幅减少计算时间;采用级联的关联匹配方案,可以提高追踪精度,能够有效应对人脸丢失、复现的问题。

附图说明

图1为本发明的整体工作流程图。

具体实施方式

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

请参阅图1,本发明提供一种技术方案:一种快速的基于人脸检测的人脸追踪方法,包括以下步骤:

s1:输入当前帧图像,对当前帧的图像进行人脸检测,得到当前帧的人脸集合d,在进行人脸追踪之前,已经得到了截止到前一帧的轨迹集合t,然后计算集合d中每一个人脸与轨迹t中每一个轨迹的关联度,关联度计算时,需要考虑两者之间的特征距离、两者位置的中心点偏移、两者位置的形状变化;

在计算当前帧的人脸和轨迹中的人脸的关联度时,需要考虑人脸的位置信息和人脸的特征信息,人脸的位置信息是一个五维的向量,由人脸框的中心位置坐标、人脸框的高度、人脸框的宽高比例和人脸框的置信度组成,人脸的特征信息是由下面所提到的人脸特征网络提取出来;

人脸特征提取:

因为在视频中不同帧之间出现的人脸数量不是很多,并且只需要人脸的特征有一定的区分度即可,并不需要非常详细的人脸特征,所以提取人脸特征的网络规模可以设计的小一些;

首先训练一个用于人脸分类的网络,因为该网络在输出层之前会提取出人脸的特征,所以在输入层之前就可以提取到人脸的特征;由于resnet可以很好的实现分类任务,因此这里基于resnet设计一个人脸重识别网络tfnet(trackingfeaturenet),该网络的结构如表1所示:

表1人脸重识别网络结构

网络的前两层为卷积网络,接下来是四层的resnet,再接下来是有128个节点的全连接层,最后是有2622个节点的softmax层,该层是实现人脸分类的网络,因此在全连接层的128个节点,输出的是人脸特征,可以将该人脸特征用在后续的人脸追踪上;

空间位置关联度计算:

因为当前帧的人脸位置和轨迹中的所有人脸位置存在某种内在联系,所以不能单独计算当前帧的人脸与某条轨迹中一个人脸的关联度,而是要综合考虑当前帧的人脸与某条轨迹中所有人脸的关联度,这里选取能够描述一条轨迹中所有人脸分布特点的信息,即一条轨迹中人脸位置的均值向量和协方差矩阵,这里计算两者的马氏距离作为对其相似性的评价:

式中,dj表示当前帧中第j个人脸的位置向量,yi表示第i条轨迹人脸位置的均值向量,si表示第i条轨迹的协方差矩阵,然后定义对关联度进行筛选的方法:

g1(i,j)=1(d(1)(i,j)≤t1)(式2)

上式表示,如果当前帧的第j个人脸与第i条轨迹的关联度大于筛选阈值t1,就认为这两者之间没有关系;

外观特征关联度计算:

因为视频中的人脸可能会受到遮挡、光照等干扰,如果只使用位置信息,这时该人脸便不能与轨迹成功匹配,所以要考虑人脸外观特征的信息,这样即使在某一帧图像上,人脸受到遮挡、光照等因素干扰,假如在之前的某一帧中,也出现过这种图像,那么该帧中的人脸还是可以成功匹配上轨迹,计算当前帧中某个人脸和某条轨迹的外观特征关联度的公式为:

式中,rj是当前帧中第j个人脸的外观特征,是第i条轨迹中的第k个人脸的外观特征,ri是第i条轨迹中的人脸特征集合,是计算两者的欧式距离,在计算外观特征关联度时,选取的是两者的最小距离,对于该关联度也定义一个筛选矩阵:

g2(i,j)=1(d2(i,j)≤t2)(式4)

该公式表示,如果当前帧中第j个人脸和第i条轨迹的人脸外观关联度大于阈值t2,则认为这两者之间没有关系;

在式(3)中计算人脸外观特征的关联度时,考虑到要计算所有轨迹中,截止到前一帧的n个人脸与当前帧人脸的欧式距离,因此计算量很大,所以要对该计算进行优化;

这里可以采用汉明距离加优化映射哈希的方法来计算人脸外观特征的关联度,oph(optimizedprojectionforhashing,优化映射哈希)方法,该方法是对特征进行哈希编码,在计算距离时能够节省计算时间,并且能够保留大部分的特征信息,因此在计算两个人脸外观特征的距离时,采用如下的公式:

首先对当前帧中第j个人脸和第i条轨迹中的第k个人脸的外观特征进行哈希编码,然后计算编码后两者的汉明距离,作为两个特征的距离度量,这种优化可以大幅降低计算时间,尤其当要计算的人脸的数量比较大时,这种优化所带来的计算量的减少更加显著;

关联矩阵计算:

在得到人脸空间位置关联度矩阵和人脸外观特征关联度矩阵后,需要定义一个综合关联度矩阵,用来综合考虑两个关联度的信息;

c(i,j)=λd1(i,j)+(1-λ)d2(i,j)(式6)

上式中,λ为权重,一般设置成0.8,定义综合筛选表达式的形式为:

g(i,j)=g1(i,j)*g2(i,j)(式7)

s2:匹配,将关联度矩阵计算出来后,利用kuhn-munkres算法进行二分匹配,对于轨迹集合t中的轨迹,根据轨迹的质量进行评价,将其分为高质量轨迹和低质量轨迹,首先尝试将d中每个人脸与t中的高质量轨迹进行匹配,然后d中会剩余部分没有成功匹配的人脸,再将这些人脸与t中的低质量轨迹进行匹配;

级联的关联匹配方法:

对于传统的目标追踪方法,在获得关联度后,就采用km(kuhn-munkres)算法进行关联匹配,km算法是一种二分图的最佳匹配方法,但是对于人脸追踪的问题,因为视频帧中的人脸会经常受到遮挡、光照影响,km方法是不能直接使用的;

这里借鉴sort算法中的思路,使用级联的关联匹配方法可以解决人脸跟踪过程中,人脸丢失、复现的问题;

对于该方法,输入为当前帧的人脸集合d,截止到前一帧的人脸轨迹集合t,轨迹允许的最大丢失帧数a,输出为匹配成功的人脸与轨迹集合和匹配失败的人脸集合;

第一步,根据式(6)计算人脸与轨迹的关联度矩阵,根据式(7)计算筛选矩阵;

第二步,令匹配成功的人脸与轨迹集合为s,初始化为空集;令匹配失败的人脸集合为u,初始化为d;

令n=0;

第三步,如果n>a,转第四步;

bn={ti|ti∈t,ti中已经有n帧没有匹配上人脸};

将c,bn,u输入到km算法中,得到bn与人脸的匹配结果{x(i,j)};

通过筛选矩阵更新s,s=s∪{(i,j)g(i,j)*x(i,j)>0};

在u中把上一步匹配成功的人脸删除掉;

n=n+1,并转第三步;

第四步,输出匹配成功的人脸与轨迹集合s和匹配失败的人脸集合u;

对于在上面的方法中匹配成功的人脸与轨迹,认为轨迹在当前帧的追踪结果就是其匹配出的人脸,对于上面方法中匹配失败的人脸集合u,并不是直接丢弃,而是将其当作新加入的人脸,并将其作为一条新轨迹的起点,在后续的轨迹追踪中,也要对新加入的人脸轨迹进行追踪,对于匹配失败的轨迹集,则对每个轨迹使用卡尔曼滤波的方法预测一个人脸的位置,并将其作为在当前帧上的轨迹结果,如果该轨迹连续没有匹配成功的帧数超过阈值,则认为该轨迹已经结束;

s3:经过上述过程之后,就得到了当前帧上的人脸追踪结果,对视频中的后续所有帧,依次执行上述的操作,就可以得到在整个视频上的人脸轨迹,本发明提出的人脸追踪方法,与多个单目标追踪器组合的kcf方法和poi方法相比追踪准确率和追踪轨迹召回率都有提高,同时运算速度得到较大提升,达到35fps。

本发明主要针对一种快速的基于人脸检测的人脸追踪方法,通过对人脸位置信息和人脸外观特征信息联合计算匹配度,能够提高人脸追踪的准确率,并尽可能降低人脸受遮挡和光照的影响;通过提出一种小型的人脸重识别网络,用于提取人脸特征,这种网络相比大型的人脸特征提取网络可以节约计算时间,并同时能够为人脸匹配提供足够的人脸信息;通过提出一种汉明距离加优化映射哈希的方法来替代传统欧式距离的计算,这种改进可以大幅减少计算时间;通过采用级联的关联匹配方案,可以提高追踪精度,能够有效应对人脸丢失、复现的问题。

本领域技术人员通过提供的该技术方案可以达成对应的使用效果,故没有一一阐述,尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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