一种人脸毛孔跟踪方法及系统与流程

文档序号:16633896发布日期:2019-01-16 06:50阅读:198来源:国知局
一种人脸毛孔跟踪方法及系统与流程

本申请涉及毛孔跟踪领域,特别涉及一种人脸毛孔跟踪方法、系统、计算机及计算机可读存储介质。



背景技术:

目前,人脸毛孔跟踪的相关技术为:二维图像上提取sift特征点等作为毛孔特征点,然后在相邻两帧的图像之间通过ransac算法寻找匹配度最高的毛孔特征点作为最佳匹配点,最后最佳匹配点在两帧之间的变化为毛孔特征点的运动轨迹。但是,由于相关技术获取的毛孔特征点运动轨迹的参数不够精确,导致毛孔特征点跟踪的准确率不高。

因此,如何更加精确地获取毛孔特征点运动轨迹的参数,进而提高毛孔特征点跟踪的准确率是本领域技术人员需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种人脸毛孔跟踪方法、系统、计算机及计算机可读存储介质,能够更加精确地获取毛孔特征点运动轨迹的参数,进而提高毛孔特征点跟踪的准确率。

为解决上述技术问题,本申请提供一种人脸毛孔跟踪方法,包括:

获取表情变化视频连续的两帧图片;

利用稠密光流算法对所述两帧图片进行计算得出光流图;

对所述两帧图片进行slic超像素分割得到二维超像素块集;

利用所述光流图对所述二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵;

利用组合优化函数对所述三维超像素块集及所述变换矩阵进行处理得到优化变换矩阵;

利用各个毛孔特征点的坐标以及所述优化变换矩阵分别得到各个所述毛孔特征点对应的三维变化向量。

优选地,所述利用所述光流图对所述二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵,包括:

利用所述光流图将所述二维超像素块集中的所有二维超像素块映射到三维空间,得到所述三维超像素块集;

将所述三维超像素块集中的各个三维超像素块的旋转矩阵和平移矩阵组合成对应的变换矩阵。

优选地,所述利用各个毛孔特征点的坐标以及所述优化变换矩阵分别得到各个所述毛孔特征点对应的三维变化向量,包括:

将所述三维超像素块集中的所有三维超像素块的中点确定为各个所述毛孔特征点;

利用各个所述毛孔特征点的坐标以及所述优化变换矩阵分别得到对应的三维变化向量。

优选地,所述利用组合优化函数对所述三维超像素块集及所述变换矩阵进行处理得到优化变换矩阵,包括:

将局部刚性优化函数和重投影优化函数相加得到所述组合优化函数;

将所述三维超像素块集及所述变换矩阵带入所述组合优化函数进行迭代得到所述优化变换矩阵。

本申请还提供一种人脸毛孔跟踪系统,包括:

获取模块,用于获取表情变化视频连续的两帧图片;

稠密光流算法模块,用于利用稠密光流算法对所述两帧图片进行计算得出光流图;

slic超像素分割模块,用于对所述两帧图片进行slic超像素分割得到二维超像素块集;

处理模块,用于利用所述光流图对所述二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵;

组合优化函数处理模块,用于利用组合优化函数对所述三维超像素块集及所述变换矩阵进行处理得到优化变换矩阵;

三维变化向量获取模块,用于利用各个毛孔特征点的坐标以及所述优化变换矩阵分别得到各个所述毛孔特征点对应的三维变化向量。

优选地,所述处理模块,包括:

映射单元,用于利用所述光流图将所述二维超像素块集中的所有二维超像素块映射到三维空间,得到所述三维超像素块集;

合成单元,用于将所述三维超像素块集中的各个三维超像素块的旋转矩阵和平移矩阵组合成对应的变换矩阵。

优选地,所述三维变化向量获取模块,包括:

毛孔特征点确定单元,用于将所述三维超像素块集中的所有三维超像素块的中点确定为各个所述毛孔特征点;

三维变化向量获取单元,用于利用各个所述毛孔特征点的坐标以及所述优化变换矩阵分别得到对应的三维变化向量。

优选地,所述组合优化函数处理模块,包括:

叠加单元,用于将局部刚性优化函数和重投影优化函数相加得到所述组合优化函数;

迭代单元,用于将所述三维超像素块集及所述变换矩阵带入所述组合优化函数进行迭代得到所述优化变换矩阵。

本申请还提供一种计算机,包括:

存储器和处理器;其中,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现上述所述的人脸毛孔跟踪方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的人脸毛孔跟踪方法的步骤。

本申请所提供的一种人脸毛孔跟踪方法,包括:获取表情变化视频连续的两帧图片;利用稠密光流算法对所述两帧图片进行计算得出光流图;对所述两帧图片进行slic超像素分割得到二维超像素块集;利用所述光流图对所述二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵;利用组合优化函数对所述三维超像素块集及所述变换矩阵进行处理得到优化变换矩阵;利用各个毛孔特征点的坐标以及所述优化变换矩阵分别得到各个所述毛孔特征点对应的三维变化向量。

该方法先是利用获取的表情变化视频连续的两帧图片分别得到光流图和二维超像素块集,然后利用光流图对二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵,再利用组合优化函数对三维超像素块集及变换矩阵进行处理得到优化变换矩阵,最后利用各个毛孔特征点的坐标以及优化变换矩阵分别得到各个毛孔特征点对应的三维变化向量。可见,该方法利用组合优化函数获取了毛孔特征点运动轨迹的优化变换矩阵即精确的运动轨迹参数,进而提高毛孔特征点跟踪的准确率。本申请还提供一种表情变化人脸毛孔跟踪系统、计算机及计算机可读存储介质,均具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请实施例所提供的一种人脸毛孔跟踪方法的流程图;

图2为本申请实施例所提供的一种人脸毛孔跟踪系统的结构框图。

具体实施方式

本申请的核心是提供一种人脸毛孔跟踪方法,能够更加精确地获取毛孔特征点运动轨迹的参数,进而提高毛孔特征点跟踪的准确率。本申请的另一核心是提供一种人脸毛孔跟踪系统、计算机及计算机可读存储介质。

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

目前,人脸毛孔跟踪的相关技术为:二维图像上提取sift特征点等作为毛孔特征点,然后在相邻两帧的图像之间通过ransac算法寻找匹配度最高的毛孔特征点作为最佳匹配点,最后最佳匹配点在两帧之间的变化为毛孔特征点的运动轨迹。但是,由于相关技术获取的毛孔特征点运动轨迹的参数不够精确,导致毛孔特征点跟踪的准确率不高。本申请实施例利用组合优化函数获取了毛孔特征点运动轨迹的优化变换矩阵即精确的运动轨迹参数,进而提高毛孔特征点跟踪的准确率。具体请参考图1,图1为本申请实施例所提供的一种人脸毛孔跟踪方法的流程图,该人脸毛孔跟踪方法具体包括:

s101、获取表情变化视频连续的两帧图片;

本申请实施例先获取表情变化视频连续的两帧图片,在此对表情变化视频的类型不作具体限定,应由本领域技术人员根据实际情况作出相应的设定,该表情变化视频可以是只有表情变化的视频,也可以是一段普通的视频,但是这普通的视频中必须有一段是表情变化的视频。进一步地,在此对表情变化视频的时长及帧率均不作具体限定,应由本领域技术人员根据实际情况作出相应的设定,例如视频的帧率为30赫兹。连续的两帧图片之间的时间间隔取决于视频的帧率,已知对视频的帧率不作具体限定,相应的对该时间间隔也不作具体限定。例如,当视频的帧率为30赫兹时,时间间隔为1/30秒。

s102、利用稠密光流算法对两帧图片进行计算得出光流图;

本申请实施例获取表情变化视频连续的两帧图片后,利用稠密光流算法对两帧图片进行计算得出光流图。稠密光流是一种针对图像进行逐点匹配的图像配准方法,不同于稀疏光流只针对图像上若干个特征点,稠密光流计算图像上所有的点的偏移量,从而形成一个稠密的光流图。本申请实施例对稠密光流的精度要求不是十分高,仅仅是用来初始化本申请实施例算法的初步参数,用opencv中相应的库函数就可以满足精度的要求。

s103、对两帧图片进行slic超像素分割得到二维超像素块集;

本申请实施例获取表情变化视频连续的两帧图片后,对两帧图片进行slic超像素分割得到二维超像素块集。对两帧图片分别进行slic超像素分割即把两张图片分割成n个小的面片,就像拼图一样是一块块的,但是slic超像素分割分割出来的面片是不规则的面片。在此对n的大小不作具体限定,应由本领域技术人员根据实际情况作出相应的设定。由于在人脸表情变化过程的一帧时间内,人脸表面形变不大,可以看成人脸上的一个个小块进行旋转和平移运动。我们通过slic超像素分割,把两帧图片中的人脸分割成一个个超像素块,这些超像素块几乎都是进行类刚性运动的,即两帧之间这些分割出来的超像素块几乎不发生形变。分割两帧图片后获得了两帧图片对应的二维超像素块集s和s'。其中,s={s1,s2,...,si,...,sn},s'={s'1,s'2,...,s'i,...,s'n},si和s'i包含两个参数xai和xbi。其中,{xbi=[ubi,vbi,1]t|b=1,...,bi},这个参数代表一个超像素块的边界点,用边界点来描述超像素块的位置,形状和大小。xai=[xai,yai]t是每一个二维超像素块的中点坐标。

s104、利用光流图对二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵;

本申请实施例在步骤s102和步骤s103分别得到光流图和二维超像素集块后,利用光流图对二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵,通常包括:利用光流图将二维超像素块集中的所有二维超像素块映射到三维空间,得到三维超像素块集;将三维超像素块集中的各个三维超像素块的旋转矩阵和平移矩阵组合成对应的变换矩阵。

从上文步骤s103的内容可知,超像素块几乎都是进行类刚性运动的,所以每一个超像素块都有其对应的旋转矩阵ri和平移矩阵ti。本申请实施例在步骤s102中获得稠密光流图有两帧图像的相关联超像素块的匹配点,故可以把超像素块看成单独的一个成像平面,根据两个超像素块中的匹配点,通过传统的多视图几何的方法,估算出每一个超像素块各自的旋转矩阵和平移矩阵,并且把二维的超像素块映射到三维空间中去,这样就获得了每一个三维空间中超像素块的三维坐标集s和s'。其中,s={s1,s2,...,si,...,sn},s'={s'1,s'2,...,s'i,...,s'n},si和s'i包含四个参数分别为xai,xbi,ni和di。其中,{xbi=[xbi,ybi,zbi,1]t|b=1,...,bi},这个参数代表一个三维超像素块的边界点,用边界点来描述超像素块的位置、形状和大小;xai=[xai,yai,zai]t是每一个三维超像素块的中点坐标;ni是三维超像素块的法向;di是每一个超像素块中点的深度。

将三维超像素块集中的各个三维超像素块的旋转矩阵和平移矩阵组合成对应的变换矩阵mi,如下所示:

其中,λi是未知尺度比例,是优化参数之一,初始值设为1/n,mi代表的是第i个三维超像素块的像素点从前一帧到后一帧运动变化的变换矩阵。

s105、利用组合优化函数对三维超像素块集及变换矩阵进行处理得到优化变换矩阵;

本申请实施例在利用光流图对二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵后,利用组合优化函数对三维超像素块集及变换矩阵进行处理得到优化变换矩阵,通常包括:将局部刚性优化函数和重投影优化函数相加得到组合优化函数;将三维超像素块集及变换矩阵带入组合优化函数进行迭代得到优化变换矩阵。

通常先用k最近邻算法根据三维超像素块中点的欧式距离建立k-nn图,也即把三维空间中的超像素块根据相互之间的中点距离进行分组,相近的分成一组,用节点连接起来。设总共分成n组,第i组超像素块的数量为ni,在此对n和ni的大小均不作具体限定,应由本领域技术人员根据实际情况作出相应的设定。

由步骤s103的内容可知,超像素块几乎都是进行类刚性运动的即超像素块不完全是进行刚性运动的。为了保证超像素块在局部上的运动是刚性运动,也即从前一帧到后一帧只有超像素块的旋转和平移运动。本申请实施例提出一个局部刚性优化函数,对超像素块的刚性运动性质进行优化,公式如下:

其中,w1(xai,xak)=w2(xai,xak)=exp(-3||xai-xak||),公式中加号前一部分优化是使超像素块两帧间平滑运动,后一部分是使k个最近邻点的节点间距离在前后两帧中保持不变。

由于在步骤s102中得出的光流图的精度不是十分高,在步骤s104中利用该光流图行二维平面映射到三维空间的操作,所以超像素块的空间坐标会存在一定的误差。本申请实施例提出了一个重投影优化函数,对超像素块的旋转矩阵、平移矩阵和法线进行限制,公式如下:

其中,|si|代表的是第i个二维超像素快的所有像素点的个数。代表的是第i的二维超像素块的第j个点。k为摄像头的内部参数,内部参数包括焦距参数和摄像头主点坐标。

本申请实施例把局部刚性优化函数和重投影优化函数结合起来即将局部刚性优化函数和重投影优化函数相加,得到组合优化函数,公式如下:

再通过n次的迭代,当e最小时,可以获得最优的λi,di,ri,ti。进一步地,可以获得每一个超像素块中点在前后两帧间的优化变换矩阵

s106、利用各个毛孔特征点的坐标以及优化变换矩阵分别得到各个毛孔特征点对应的三维变化向量。

本申请实施例在利用组合优化函数对三维超像素块集及变换矩阵进行处理得到优化变换矩阵后,利用各个毛孔特征点的坐标以及优化变换矩阵分别得到各个毛孔特征点对应的三维变化向量,通常包括:将三维超像素块集中的所有三维超像素块的中点确定为各个毛孔特征点;利用各个毛孔特征点的坐标以及优化变换矩阵分别得到对应的三维变化向量。在步骤s104中已获得所有超像素块的中点坐标xai,步骤s105中已获得优化变换矩阵mi,可得所有毛孔特征点在两帧间的三维变化向量为vi=(r-i)xai+λiti。进一步地,重复上述步骤直至读取完整个表情变化视频,即可获得该表情变化视频中每一帧毛孔特征点三维变化向量vij(第j帧的毛孔特征点三维变化向量)。

本申请实施例先是利用获取的表情变化视频连续的两帧图片分别得到光流图和二维超像素块集,然后利用光流图对二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵,再利用组合优化函数对三维超像素块集及变换矩阵进行处理得到优化变换矩阵,最后利用各个毛孔特征点的坐标以及优化变换矩阵分别得到各个毛孔特征点对应的三维变化向量。可见,该方法利用组合优化函数获取了毛孔特征点运动轨迹的优化变换矩阵即精确的运动轨迹参数,进而提高毛孔特征点跟踪的准确率。而且,该方法以超像素块中点作为毛孔特征点可以获得更多的毛孔特征点信息,而不是普通的sift、surf特征点,这样解决了普通毛孔特征点在变形模型上容易匹配出错的问题,并且实现了三维空间的特征点追踪,提升了毛孔特诊点追踪信息的完整度。

该方法主要应用范围在人的心情识别和vr虚拟现实中。比如:在人的心情识别中,可以通过我们的算法识别出人脸毛孔特征点的运动轨迹,然后根据大量人脸毛孔特征点的三维运动轨迹进行相应规则的判断,进而确定人类当前的实际心情;在vr虚拟现实中,可以通过拍摄人脸的表情变化,运用算法跟踪毛孔特征点的轨迹,然后映射到虚拟现实中虚拟人物的人脸上,实现虚拟现实中人脸和现实人脸表情的同步变化。

此外,也可以通过传统三维重建方法和普通二维图像的毛孔特征点追踪方法相结合,来实现毛孔特征点在三维空间上的追踪。但是由于传统三维重建应用在动态场景中,会产生较大的误差,所以相对较难实现。

下面对本申请实施例提供的一种人脸毛孔跟踪系统、计算机及计算机可读存储介质进行介绍,下文描述的人脸毛孔跟踪系统、计算机及计算机可读存储介质与上文描述的人脸毛孔跟踪方法可相互对应参照。

请参考图2,图2为本申请实施例所提供的一种人脸毛孔跟踪系统的结构框图;该人脸毛孔跟踪系统包括:

获取模块201,用于获取表情变化视频连续的两帧图片;

稠密光流算法模块202,用于利用稠密光流算法对两帧图片进行计算得出光流图;

slic超像素分割模块203,用于对两帧图片进行slic超像素分割得到二维超像素块集;

处理模块204,用于利用光流图对二维超像素块集进行处理分别得到三维超像素块集以及对应的变换矩阵;

组合优化函数处理模块205,用于利用组合优化函数对三维超像素块集及变换矩阵进行处理得到优化变换矩阵;

三维变化向量获取模块206,用于利用各个毛孔特征点的坐标以及优化变换矩阵分别得到各个毛孔特征点对应的三维变化向量。

基于上述实施例,处理模块204通常包括:

映射单元,用于利用光流图将二维超像素块集中的所有二维超像素块映射到三维空间,得到三维超像素块集;

合成单元,用于将三维超像素块集中的各个三维超像素块的旋转矩阵和平移矩阵组合成对应的变换矩阵。

基于上述实施例,三维变化向量获取模块206通常包括:

毛孔特征点确定单元,用于将三维超像素块集中的所有三维超像素块的中点确定为各个毛孔特征点;

三维变化向量获取单元,用于利用各个毛孔特征点的坐标以及优化变换矩阵分别得到对应的三维变化向量。

基于上述实施例,组合优化函数处理模块205通常包括:

叠加单元,用于将局部刚性优化函数和重投影优化函数相加得到组合优化函数;

迭代单元,用于将三维超像素块集及变换矩阵带入组合优化函数进行迭代得到优化变换矩阵。

本申请还提供一种计算机,包括:存储器和处理器;其中,存储器用于存储计算机程序,处理器用于执行计算机程序时实现上述任意实施例的人脸毛孔跟踪方法的步骤。

本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的人脸毛孔跟踪方法的步骤。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种人脸毛孔跟踪方法、系统、计算机以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

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