CN108509866B - 一种人脸轮廓提取方法 - Google Patents
一种人脸轮廓提取方法 Download PDFInfo
- Publication number
- CN108509866B CN108509866B CN201810199612.6A CN201810199612A CN108509866B CN 108509866 B CN108509866 B CN 108509866B CN 201810199612 A CN201810199612 A CN 201810199612A CN 108509866 B CN108509866 B CN 108509866B
- Authority
- CN
- China
- Prior art keywords
- contour
- local
- curve
- face
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 17
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000000513 principal component analysis Methods 0.000 claims abstract description 25
- 238000005070 sampling Methods 0.000 claims abstract description 23
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 230000004927 fusion Effects 0.000 claims abstract description 11
- 239000011159 matrix material Substances 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000002790 cross-validation Methods 0.000 claims description 3
- 238000005452 bending Methods 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 241000270295 Serpentes Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/169—Holistic features and representations, i.e. based on the facial image taken as a whole
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种人脸轮廓提取方法,包括步骤:1)输入一张图像之后,使用人脸检测的算法提取出其中人脸的区域,并通过关键特征点定位算法找到人脸轮廓的大致区域;2)在沿着人脸轮廓的大致区域采样生成一系列稠密的正方形,将整个人脸轮廓区域包含其中;3)在每个局部正方形区域中,都提取一条抛物线引导基于梯度信息的局部轮廓曲线,构成局部轮廓曲线组成的局部结果集合;4)通过基于PCA的全局融合算法,将稠密冗余的局部轮廓曲线融合成为一条全局轮廓曲线结果,得到完整的人脸轮廓线。本发明方法具有精度高,速度快,可以全自动也可以用户交互,最后得到的人脸轮廓曲线具有像素级别的高精度,符合人脸轮廓抛物线状的特点等优点。
Description
技术领域
本发明涉及图像处理的技术领域,尤其是指一种人脸轮廓提取方法。
背景技术
在人脸图像的相关应用中,经常需要根据输入的人脸图像,自动定位出脸部的关键特征点,如眼睛、鼻尖、嘴角点以及人脸的轮廓。现有的方法可以精确地定位眼睛、鼻尖和嘴角等特征明显的位置,而位于脸颊以及下巴的人脸轮廓则具有挑战性。对于目前大部分基于特征点的人脸对齐方法只是在人脸边缘设置几个特征点,难以提取出人脸轮廓线的弯曲的形状细节。但是这些细节特征在很多计算机视觉应用中非常重要,例如人脸识别、表情识别和三维人脸重构等。提高人脸轮廓的精确度对于数字图像处理和计算机视觉研究领域具有重要的意义和价值,但是目前提取出像素级别精确的连续人脸轮廓曲线是一个非常挑战的问题。
人脸轮廓检测的较早期一些方法是简单地使用一条抛物线拟合人脸的下巴区域,但是这种方法过于简单,只能用于下巴区域,而且一条抛物线无法表现出人脸轮廓的弯曲特征。Kass等[M.Kass,A.Witkin,and D.Terzopoulos,“Snakes:Active contour models,”IJCV,vol.1,no.4,pp.321–331,1988.]提出的主动轮廓模型,可以用来描述目标轮廓曲线,主要应用于基于形状的目标分割。一些研究者[V.Perlibakas,“Automatical detectionof face features and exact face contour,”Pattern Recognition Letters,vol.24,no.16,pp.2977–2985,2003.]将这种方法应用在人脸领域提取人脸轮廓线。主动轮廓模型对于其中的参数较为敏感,并且会因为初始化位置的不同而收敛到不同的局部最优解,而得到不理想的结果。所以主动轮廓法通常需要不断调整参数以及准确的初始化,而这在自然环境下很难做到。同时主动轮廓模型通过迭代将曲线从初始化的位置向目标轮廓拟合,而这个过程通常很容易受到噪音干扰,以至于经常在中途或者局部最优停止。
人脸分割也是一种可以提取人脸轮廓的方法,例如Wang等[B.Wang,X.Chang,andC.Liu,“Skin detection and segmentation of human face in color images,”International Journal of Intelligent Engineering and Systems,vol.4,no.1,pp.10–17,2011.]提出的皮肤检测和人脸分割方法,通常这类方法通常是将图像分为人脸区域和非人脸区域,如此两部分之间的边界就可以作为人脸轮廓。但是这些方法对于人脸边界的处理比较粗糙,以至于边界曲线过于曲折而且不贴合人脸的实际轮廓,同时经常将靠近脸部的一部分脖子区域和上部的头发部分囊括到人脸的区域中,而无法得到良好的人脸轮廓曲线。
人脸对齐的方法则是在人脸照片上寻找预先定义好的人脸关键点,比如眼睛、鼻尖、嘴角点、眉毛以及人脸各部分轮廓点,是一种基于有监督学习的策略。近年来,级联形状回归模型在关键特征点定位问题上有着不错的表现,例如Kazemi等[V.Kazemi andJ.Sullivan,“One millisecond face alignment with an ensemble of regressiontrees,”in CVPR,2014,pp.1867–1874.]使用回归模型,直接学习从人脸图像到人脸形状模型额映射函数,简单高效,在实验室场景和自然场景中都获得了不错的实验结果。人脸对齐的方法大大提升了人脸关键点定位的鲁棒性。但是在人脸轮廓上关键点数目稀少,而且由于真实情况下的复杂情景,会出现偏内或者偏外的情况。所以这样稀疏的几个点,难以表现出不同人的脸部轮廓线各不相同的特征。
以上的几种方法或过于受参数和初始化的限制无法鲁棒在自然图片上正常运行,或能找到人脸轮廓的大致位置无法准描述人脸轮廓的弯曲特征。在目前的日益爆发的各种视觉应用中,需要能够鲁棒、快速得获取高精度的人脸轮廓的方法,为上层的例如人脸识别,人脸表情识别,3D人脸重建等应用提供关键的轮廓信息。
发明内容
本发明的目的在于克服现有技术的缺陷和不足,提出了一种人脸轮廓提取方法,在任意输入一张人脸图像,能够迅速找到精确到像素级别的完整连续人脸轮廓曲线。
为实现上述目的,本发明所提供的技术方案为:一种人脸轮廓提取方法,包括以下步骤:
1)人脸图像预处理
输入一张图像之后,使用人脸检测的算法提取出其中人脸的区域,并通过关键特征点定位算法找到人脸轮廓的大致区域;
2)局部正方形区域采样
在沿着人脸轮廓的大致区域采样生成一系列稠密的正方形,将整个人脸轮廓区域包含其中;
3)局部轮廓曲线提取
在每个局部正方形区域中,都提取一条抛物线引导基于梯度信息的局部轮廓曲线,构成局部轮廓曲线组成的局部结果集合;
4)全局轮廓曲线融合
通过基于PCA的全局融合算法,将稠密冗余的局部轮廓曲线融合成为一条全局轮廓曲线结果,得到完整的人脸轮廓线。
在步骤1)中,所述的通过关键特征点定位算法找到人脸轮廓的大致区域,对初始化位置有鲁棒性,具体如下:
使用人脸检测算法提取人脸在图片中所在的区域,得到人脸区域的包围框,同时获取这张图片中人脸的位置以及尺度的大小信息;然后使用人脸对齐算法得到脸部轮廓上的几个粗糙的关键点作为初始化,连成一条表示人脸轮廓区域的初始化曲线;
在步骤2)中,所述的在沿着人脸轮廓的大致区域采样生成一系列稠密的正方形,将整个人脸轮廓区域包含其中,具体如下:
步骤1)中已经得到表征人脸轮廓区域的一条初始化曲线,沿着这条曲线将整个人脸轮廓区域划分为多个重叠的正方形区域,且这些正方形区域的中心点位于初始化曲线上,正方形区域的大小设置为人脸检测算法提取的人脸包围框大小的预设倍率,这些重叠的正方形区域要覆盖全部的人脸轮廓区域,正方形区域的方向设置为当前中心点的初始化曲线的切线方向,得到的局部轮廓曲线结果总是从正方形区域的顶部开始,到正方形底部结束,初始化曲线位于真实人脸轮廓的附近,这些重叠的正方形区域就覆盖住整个真实的人脸轮廓;另外,在此采用密集采样人脸轮廓区域的方法能够得到大量重叠冗余的局部轮廓曲线结果,满足在步骤4)全局轮廓曲线提取步骤中交叉验证的需要;
在步骤3)中,所述的在每个局部正方形区域中,都提取一条抛物线引导基于梯度信息的局部轮廓曲线,构成局部轮廓曲线组成的局部结果集合,具体如下:
步骤2)中得到大量重叠的正方形区域,在每个正方形区域中都包含一段真实的人脸轮廓曲线,而且每一块正方形区域的方向,即任意一个正方形边的垂直方向,均与初始化曲线的方向一致;在这一步骤中根据以下方法得到抛物线引导基于梯度信息的局部轮廓曲线:
每一块正方形的方向均与初始化曲线的方向一致,则局部以这个正方形区域的边作为直角坐标系单独看这块正方形区域,局部的人脸轮廓线C一定是从正方形区域的顶部开始,到正方形区域的底部结束;这个正方形区域是N×N的像素矩阵,那么局部轮廓曲线C表示为N个来自不同行的像素集合:
C=<p1,p2,...,pi,...,pN>
其中,C是局部轮廓曲线,pi=(i,j)是这个局部轮廓曲线C上的第i个点,而且这个点的位置是在这个正方形区域的第i行、第j列,其中i和j的范围都是[1,N];p1是第一个点,pN是最后一个点;对于局部人脸轮廓线上相邻的两个点pi和pi+1,要求其相邻两列数差不大于1,确保像素之间的平滑性;
抛物线引导基于梯度信息的局部轮廓曲线通过下面能量函数确定所在位置:
其中,是优化得到最优的局部轮廓曲线,G(C)表示局部轮廓曲线C的梯度值,而S(C)表示局部轮廓曲线C的曲率,α值是调节这条局部轮廓曲线C的平滑程度;上面的能量函数难以直接求解,因此使用动态规划的方法来求解这个问题,同时没有直接求解整条局部轮廓曲线的平滑度S(C),而是利用贪心算法引导结果更像一条抛物线;C*(i,j)是使用动态规划算法得到的从第0行到第i行区域内以(i,j)点终止的局部轮廓曲线,那么它一定来自于之前的{C*(i-1,j-1),C*(i-1,j),C*(i-1,j+1)}三条轮廓线中的一个,使用di-1,j+Δ(i,j)表示点(i,j)到抛物线C*(i-1,j+Δ),Δ={-1,0,1}的距离,使用表示偏离抛物线的误差,动态规划算法的过程如下表示:
其中,M表示动态规划的矩阵,M(i-1,j+Δ)是矩阵上一行对应点的能量,g(i,j)表示这个点处的梯度值,i是行数,j是列数,ei-1,j+Δ(i,j)表示偏离抛物线的误差,α值是控制平滑度的参数,不同α值对局部轮廓曲线C结果有影响,需经过实验取一个合适的值。
在步骤4)中,所述的通过基于PCA的全局融合算法,将稠密冗余的局部轮廓曲线融合成为一条全局轮廓曲线结果,得到完整的人脸轮廓线,具体如下:
通过步骤2)在人脸轮廓区域上通过密集采样得到正方形区域集合,然后通过步骤3)在每个正方形区域中得到一条局部轮廓曲线;现在就得到由多段重叠的局部轮廓曲线的集合;令表示第k条局部轮廓曲线上的第i个点;M表示局部人脸轮廓线的数目,N表示每条局部人脸轮廓线的长度;如此所有的局部轮廓曲线通过一系列的点表示因为步骤2)对人脸轮廓区域的密集采样,P点的集合大量冗余,不仅包含真是人脸轮廓上的点,而且还有失败的局部轮廓曲线上的点,在全局轮廓曲线融合中找出一条单像素宽度精确的全局轮廓曲线;
人脸轮廓曲线通常包含大量的弯曲细节特征,无法通过简单的参数化形式表示;因此需要使用一系列点Q={ql}l∈[1,L]的队列来表示最终的全局轮廓曲线结果,其中L为全局轮廓曲线的长度,同时Q中的点都来自于P以保持全局轮廓曲线的弯曲细节特征;
在最开始队列Q是空的,很显然q0就是第一条局部轮廓曲线上的第一个点p0,然后每次通过PCA算法来寻找下一个点;
其中,就是点的协方差矩阵,表示第k条局部轮廓曲线上的第i个点,表示其他的点,并且i'∈[1,N]\{i},k'∈[1,M]\{k},M表示局部人脸轮廓线的数目,N表示每条局部人脸轮廓线的长度;函数θ(·)表示r是两点之间的距离,h是一个固定阈值;当点之间的距离越远,则之间的影响越小;所以PCA并不是作用在整个点的集合上的,使用一个阈值h来加速计算;通过这步计算就得到协方差矩阵的特征值和对应最大特征值的特征向量就是所需要的点处的主方向
当队列Q中最后一个点为ql,对应P中的点为为了获取下一个点ql+1,先使用K近邻算法找到离点ql最近的K个点在此将K设为7,如果所有K个点都是属于第k条局部轮廓曲线,则沿着这条局部轮廓曲线往下走,如果有不属于第k条局部轮廓曲线的点,那么需要找到点处最符合PCA方向的一个点,通过下面公式计算:
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明在初始人脸轮廓区域上采用了密集采样的方法,不同采样所得的正方形区域包含不同的图像信息,会找到不同的局部轮廓曲线结果。在其中一个区域无法贴合真实人脸轮廓曲线,也许在另外一个区域会得到准确的结果。这种交叉验证的机制,保证了算法的准确性和鲁棒性。
2、本发明采用抛物线引导的局部轮廓曲线的方式,生成局部的人脸轮廓线,充分利用真实人脸轮廓线是符合抛物线状的特点,巧妙地利用动态规划算法找到布局最优解。抛物线引导的方法既加速了算法的速度,又使得全局轮廓曲线符合真实情况。
3、本发明采用从局部到全局三个步骤获取高质量的连续人脸曲线,计算过程简单,准确率较高,具有像素级别的精度,且不易受到图片光照变化的干扰。
4、在实际应用中可以全自动,也可以用户交互,对人脸轮廓提取的初始化的位置鲁棒。
附图说明
图1是人脸轮廓提取方法流程图。
图2是人脸轮廓提取方法各个步骤结果示例图。
图3是预处理和采样正方形区域示例图。
图4是不同α值局部轮廓曲线变化的对比图。
图5是(a)(b)抛物线引导和(c)(d)没有抛物线引导的对比图。
图6是本发明和ERT等方法的比较的示例图。
图7是本发明(g)(h)(i)与ACM方法(d)(e)(f)在不同初始化位置的结果对比图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
如图1和图2所示,本实施例所提供的人脸轮廓提取方法,包括以下步骤:
1)人脸图像预处理:输入一张图像之后,使用人脸检测的算法提取出其中人脸的区域,并通过关键特征点定位算法找到人脸轮廓的大致区域;
2)局部正方形区域采样,在沿着人脸轮廓的大致区域采样生成一系列稠密的正方形,将整个人脸轮廓区域包含其中;
3)局部轮廓曲线提取,在每个局部正方形区域中,都提取一条抛物线引导基于梯度信息的局部轮廓曲线,构成局部轮廓曲线组成的局部结果集合;
4)全局轮廓曲线融合,通过基于PCA的全局融合算法,将稠密冗余的局部轮廓曲线融合成为一条全局轮廓曲线结果,得到完整的人脸轮廓线。
在步骤1)中,输入一张图像,首先对其进行预处理,提取图像中人脸部分所在的区域,并找到人脸轮廓的大致区域,对人脸轮廓提取算法进行初始化。
首先使用人脸检测算法提取人脸在图片中所在的区域,得到人脸区域的包围框,同时可以确定这张图片中人脸尺度的大小。然后使用任意一种人脸对齐算法为本发明的人脸轮廓提取算法提供脸部轮廓上的几个粗糙的关键点作为初始化,连成一条表示人脸轮廓区域的初始化曲线。
在本发明中,使用了Kazemi等[V.Kazemi and J.Sullivan,“One millisecondface alignment with an ensemble of regression trees,”in CVPR,2014,pp.1867–1874.]提出的Ensembles of Regression Trees(ERT)算法,本发明的人脸轮廓提取算法并不要求初始化具有较高的准确性,只需要指示出人脸轮廓所在的大致区域。为了加速整个算法,本发明使用ERT算法检测出5个人脸轮廓附近的关键特征点。他们的位置分别在眼睛两边、嘴巴两边以及下巴尖的区域。图3(a)显示了5个关键特征点位置的一个例子,由图可见本发明仅仅使用了非常粗糙的初始化位置的输入。
之后通过曲线拟合算法将这5个点构成一条初始化曲线,表示这个人脸轮廓区域,并为下一步的局部正方形区域采样提供正方形中心位置和方向信息。关键点只有5个非常稀疏,为了保证这条拟合曲线通过所有的关键点而不会偏离人脸区域,本发明使用了Catmull-Rom算法。图3(b)显示了使用Catmull-Rom曲线将5个关键特征点拟合成为一个初始化曲线。
在步骤2)中,所述的局部正方形区域采样的方法,具体如下:
在上面步骤1)中已经得到表征人脸轮廓区域的一条初始化曲线,沿着这条曲线我们可以将整个人脸轮廓区域划分为很多较小重叠的正方形区域。这些正方形区域的中心点位于初始化曲线上,正方形区域的大小设置为人脸检测算法提取的人脸包围框大小的一定倍率(范围在0~0.5之间),本发明设置为人脸包围框大小的0.2倍。正方形区域的方向设置为当前中心点的初始化曲线的切线方向,以便于得到的局部轮廓曲线结果总是从正方形区域的顶部开始,到正方形底部结束。
初始化曲线位于真实人脸轮廓的附近,这些重叠的正方形区域就可以覆盖住整个真实的人脸轮廓。为了结果的准确度,采用密集采样人脸轮廓区域的方法,本发明默认值设置为70个正方形区域。这样可以得到大量重叠冗余的局部轮廓曲线结果,满足在步骤4)全局轮廓曲线提取步骤中得到高精度的全局轮廓曲线结果的需要。图3(c)显示了密集采样的正方形区域。
在步骤3)中,所述的局部轮廓曲线提取的方法,具体如下:
上一步骤中得到了大量重叠的正方形区域,在每个正方形区域中都包含了一段真实的人脸轮廓曲线,而且每一块正方形区域的方向(任意一个正方形边的垂直方向)均与初始化曲线的方向一致。在这步中将要找出抛物线引导基于梯度信息的局部轮廓曲线。
每一块正方形的方向均与初始化曲线的方向一致,则局部以这个正方形区域的边作为直角坐标系单独看这块正方形区域,局部的人脸轮廓线C一定是从正方形区域的顶部开始,到正方形区域的底部结束。这条曲线不仅拥有最大的梯度,同时还拥有尽可能地像抛物线一样平滑。这个正方形区域是N×N的像素矩阵,那么局部轮廓曲线C可以表示为N个来自不同行的像素集合:
C=<p1,p2,...,pi,...,pN>
其中pi=(i,j)是这个局部轮廓曲线C上的第i个点,而且这个点的位置是在这个正方形区域的第i行、第j列,其中i和j的范围都是[1,N]。p1是第一个点,pN是第一个点。对于局部人脸轮廓线上相邻的两个点pi和pi+1,本发明要求其相邻两列数差不大于1,确保像素之间的平滑性。
局部轮廓曲线拥有很大的梯度值,并且有像抛物线一样的平滑性。本发明中的抛物线引导基于梯度信息的局部轮廓曲线通过下面能量函数确定所在位置:
其中是优化得到最优的局部轮廓曲线,G(C)表示局部轮廓曲线C的梯度值,而S(C)表示局部轮廓曲线C的曲率,α值是调节这条局部轮廓曲线C的平滑程度。上面的能量函数难以直接求解,本发明使用动态规划的方法来求解这个问题。同时为了便利本发明并没有求解整条局部轮廓曲线的平滑度S(C),而是利用了贪心算法引导结果更像一条抛物线。
C*(i,j)是使用动态规划算法得到的从第0行到第i行区域内以(i,j)点终止的局部轮廓曲线,那么它一定来自于之前的{C*(i-1,j-1),C*(i-1,j),C*(i-1,j+1)}三条轮廓线中的一个,使用di-1,j+Δ(i,j)表示点(i,j)到抛物线C*(i-1,j+Δ),Δ={-1,0,1}的距离,使用表示偏离抛物线的误差。动态规划算法的过程如下表示:
其中M表示动态规划的矩阵,M(i-1,j+Δ)是矩阵上一行对应点的能量,g(i,j)表示这个点处的梯度值,i是行数,j是列数。ei-1,j+Δ(i,j)表示偏离抛物线的误差。α值是控制平滑度的参数,图4显示了不同α值对局部轮廓曲线C结果的影响。本发明中将平滑参数的α值设为0.7。图5显示了抛物线引导和没有抛物线引导的单纯基于梯度的动态规划算法得到的不同结果。
在步骤4)中,所述的全局轮廓曲线融合的方法,具体如下:
之前的步骤2)在人脸轮廓区域上通过密集采样得到了正方形区域集合,然后通过步骤3)在每个正方形区域中得到了一条局部轮廓曲线。现在就得到了由很多较短且重叠的局部轮廓曲线的集合。令表示第k条局部轮廓曲线上的第i个点。M表示局部人脸轮廓线的数目,N表示每条局部人脸轮廓线的长度。如此所有的局部轮廓曲线可以通过一系列的点表示步骤2)对人脸轮廓区域的密集采样,P点的集合大量冗余,不仅包含真是人脸轮廓上的点,而且还有失败的局部轮廓曲线上的点。在全局轮廓曲线融合中本发明找出一条单像素宽度精确的全局轮廓曲线。
人脸轮廓曲线通常包含大量的弯曲细节特征,无法通过简单的参数化形式表示。因此需要使用一系列点Q={ql}l∈[1,L]的队列来表示最终的全局轮廓曲线结果,其中L为全局轮廓曲线的长度。同时Q中的点都来自于P以保持全局轮廓曲线的弯曲细节特征。
在最开始队列Q是空的,很显然q0就是第一条局部轮廓曲线上的第一个点p0,然后每次通过PCA算法来寻找下一个点;
其中就是点的协方差矩阵。表示第k条局部轮廓曲线上的第i个点,表示其他的点,并且i'∈[1,N]\{i},k'∈[1,M]\{k},M表示局部人脸轮廓线的数目,N表示每条局部人脸轮廓线的长度。函数θ(·)表示r是两点之间的距离,h是一个固定阈值。当点之间的距离越远,则之间的影响越小。所以PCA并不是作用在整个点的集合上的,本发明使用一个阈值h来加速计算。然后就获得了协方差矩阵的特征值和对应最大特征值的特征向量就是所需要的点处的主方向
当队列Q中最后一个点为ql,对应P中的点为为了获取下一个点ql+1,先使用K近邻算法找到离点ql最近的K个点本发明中将K设为7。如果所有K个点都是属于第k条局部轮廓曲线,则沿着这条局部轮廓曲线往下走,如果有不属于第k条局部轮廓曲线的点,那么需要找到点处最符合PCA方向的一个点,通过下面公式计算:
综上所述,本发明方法具有精度高,速度快,在实际应用中可以全自动,也可以用户交互,最后得到的人脸轮廓曲线具有像素级别的精度,并且符合人脸轮廓抛物线状的特点。本发明与已有方法进行了比较实验,结果如图6表明本发明具有优越的性能。同时本发明的方法对人脸轮廓提取的初始化的位置鲁棒,在原有初始化位置进行一些改变并不影响结果,如图7所示使用了3个初始化位置,本发明的结果依然精确,而对比的ACM的方法没有得到正确的结果。
以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (3)
1.一种人脸轮廓提取方法,其特征在于,包括以下步骤:
1)人脸图像预处理
输入一张图像之后,使用人脸检测的算法提取出其中人脸的区域,并通过关键特征点定位算法找到人脸轮廓的大致区域;
2)局部正方形区域采样
在沿着人脸轮廓的大致区域采样生成一系列稠密的正方形,将整个人脸轮廓区域包含其中;
3)局部轮廓曲线提取
在每个局部正方形区域中,都提取一条抛物线引导基于梯度信息的局部轮廓曲线,构成局部轮廓曲线组成的局部结果集合;
4)全局轮廓曲线融合
通过基于PCA的全局融合算法,将稠密冗余的局部轮廓曲线融合成为一条全局轮廓曲线结果,得到完整的人脸轮廓线。
2.根据权利要求1所述的一种人脸轮廓提取方法,其特征在于,在步骤1)中,所述的通过关键特征点定位算法找到人脸轮廓的大致区域,对初始化位置有鲁棒性,具体如下:
使用人脸检测算法提取人脸在图片中所在的区域,得到人脸区域的包围框,同时获取这张图片中人脸的位置以及尺度的大小信息;然后使用人脸对齐算法得到脸部轮廓上的几个粗糙的关键点作为初始化,连成一条表示人脸轮廓区域的初始化曲线;
在步骤2)中,所述的在沿着人脸轮廓的大致区域采样生成一系列稠密的正方形,将整个人脸轮廓区域包含其中,具体如下:
步骤1)中已经得到表征人脸轮廓区域的一条初始化曲线,沿着这条曲线将整个人脸轮廓区域划分为多个重叠的正方形区域,且这些正方形区域的中心点位于初始化曲线上,正方形区域的大小设置为人脸检测算法提取的人脸包围框大小的预设倍率,这些重叠的正方形区域要覆盖全部的人脸轮廓区域,正方形区域的方向设置为当前中心点的初始化曲线的切线方向,得到的局部轮廓曲线结果总是从正方形区域的顶部开始,到正方形底部结束,初始化曲线位于真实人脸轮廓的附近,这些重叠的正方形区域就覆盖住整个真实的人脸轮廓;另外,在此采用密集采样人脸轮廓区域的方法能够得到大量重叠冗余的局部轮廓曲线结果,满足在步骤4)全局轮廓曲线提取步骤中交叉验证的需要;
在步骤3)中,所述的在每个局部正方形区域中,都提取一条抛物线引导基于梯度信息的局部轮廓曲线,构成局部轮廓曲线组成的局部结果集合,具体如下:
步骤2)中得到大量重叠的正方形区域,在每个正方形区域中都包含一段真实的人脸轮廓曲线,而且每一块正方形区域的方向,即任意一个正方形边的垂直方向,均与初始化曲线的方向一致;在这一步骤中根据以下方法得到抛物线引导基于梯度信息的局部轮廓曲线:
每一块正方形的方向均与初始化曲线的方向一致,则局部以这个正方形区域的边作为直角坐标系单独看这块正方形区域,局部的人脸轮廓线C一定是从正方形区域的顶部开始,到正方形区域的底部结束;这个正方形区域是N×N的像素矩阵,那么局部轮廓曲线C表示为N个来自不同行的像素集合:
C=<p1,p2,...,pi,...,pN>
其中,C是局部轮廓曲线,pi=(i,j)是这个局部轮廓曲线C上的第i个点,而且这个点的位置是在这个正方形区域的第i行、第j列,其中i和j的范围都是[1,N];p1是第一个点,pN是最后一个点;对于局部人脸轮廓线上相邻的两个点pi和pi+1,要求其相邻两列数差不大于1,确保像素之间的平滑性;
抛物线引导基于梯度信息的局部轮廓曲线通过下面能量函数确定所在位置:
其中,是优化得到最优的局部轮廓曲线,G(C)表示局部轮廓曲线C的梯度值,而S(C)表示局部轮廓曲线C的曲率,α值是调节这条局部轮廓曲线C的平滑程度;上面的能量函数难以直接求解,因此使用动态规划的方法来求解这个问题,同时没有直接求解整条局部轮廓曲线的平滑度S(C),而是利用贪心算法引导结果更像一条抛物线;C*(i,j)是使用动态规划算法得到的从第0行到第i行区域内以(i,j)点终止的局部轮廓曲线,那么它一定来自于之前的{C*(i-1,j-1),C*(i-1,j),C*(i-1,j+1)}三条轮廓线中的一个,使用di-1,j+Δ(i,j)表示点(i,j)到抛物线C*(i-1,j+Δ),Δ={-1,0,1}的距离,使用表示偏离抛物线的误差,动态规划算法的过程如下表示:
其中,M表示动态规划的矩阵,M(i-1,j+Δ)是矩阵上一行对应点的能量,g(i,j)表示这个点处的梯度值,i是行数,j是列数,ei-1,j+Δ(i,j)表示偏离抛物线的误差,α值是控制平滑度的参数,不同α值对局部轮廓曲线C结果有影响,需经过实验取一个合适的值。
3.根据权利要求1所述的一种人脸轮廓提取方法,其特征在于:在步骤4)中,所述的通过基于PCA的全局融合算法,将稠密冗余的局部轮廓曲线融合成为一条全局轮廓曲线结果,得到完整的人脸轮廓线,具体如下:
通过步骤2)在人脸轮廓区域上通过密集采样得到正方形区域集合,然后通过步骤3)在每个正方形区域中得到一条局部轮廓曲线;现在就得到由多段重叠的局部轮廓曲线的集合;令表示第k条局部轮廓曲线上的第i个点;M表示局部人脸轮廓线的数目,N表示每条局部人脸轮廓线的长度;如此所有的局部轮廓曲线通过一系列的点表示因为步骤2)对人脸轮廓区域的密集采样,P点的集合大量冗余,不仅包含真是人脸轮廓上的点,而且还有失败的局部轮廓曲线上的点,在全局轮廓曲线融合中找出一条单像素宽度精确的全局轮廓曲线;
人脸轮廓曲线通常包含大量的弯曲细节特征,无法通过简单的参数化形式表示;因此需要使用一系列点Q={ql}l∈[1,L]的队列来表示最终的全局轮廓曲线结果,其中L为全局轮廓曲线的长度,同时Q中的点都来自于P以保持全局轮廓曲线的弯曲细节特征;
在最开始队列Q是空的,很显然q0就是第一条局部轮廓曲线上的第一个点p0,然后每次通过PCA算法来寻找下一个点;
其中,就是点的协方差矩阵,表示第k条局部轮廓曲线上的第i个点,表示其他的点,并且i'∈[1,N]\{i},k'∈[1,M]\{k},M表示局部人脸轮廓线的数目,N表示每条局部人脸轮廓线的长度;函数θ(·)表示r是两点之间的距离,h是一个固定阈值;当点之间的距离越远,则之间的影响越小;所以PCA并不是作用在整个点的集合上的,使用一个阈值h来加速计算;通过这步计算就得到协方差矩阵的特征值和对应最大特征值的特征向量就是所需要的点处的主方向
当队列Q中最后一个点为ql,对应P中的点为为了获取下一个点ql+1,先使用K近邻算法找到离点ql最近的K个点在此将K设为7,如果所有K个点都是属于第k条局部轮廓曲线,则沿着这条局部轮廓曲线往下走,如果有不属于第k条局部轮廓曲线的点,那么需要找到点处最符合PCA方向的一个点,通过下面公式计算:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810199612.6A CN108509866B (zh) | 2018-03-12 | 2018-03-12 | 一种人脸轮廓提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810199612.6A CN108509866B (zh) | 2018-03-12 | 2018-03-12 | 一种人脸轮廓提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108509866A CN108509866A (zh) | 2018-09-07 |
CN108509866B true CN108509866B (zh) | 2020-06-19 |
Family
ID=63377528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810199612.6A Active CN108509866B (zh) | 2018-03-12 | 2018-03-12 | 一种人脸轮廓提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108509866B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109409262A (zh) * | 2018-10-11 | 2019-03-01 | 北京迈格威科技有限公司 | 图像处理方法、图像处理装置、计算机可读存储介质 |
CN109558880B (zh) * | 2018-10-16 | 2021-06-04 | 杭州电子科技大学 | 一种基于视觉整体和局部特征融合的轮廓检测方法 |
CN111667400B (zh) * | 2020-05-30 | 2021-03-30 | 温州大学大数据与信息技术研究院 | 一种基于无监督学习的人脸轮廓特征风格化生成方法 |
CN113297893B (zh) * | 2021-02-05 | 2024-06-11 | 深圳高通半导体有限公司 | 笔画轮廓点集的提取方法 |
CN113160223A (zh) * | 2021-05-17 | 2021-07-23 | 深圳中科飞测科技股份有限公司 | 轮廓的确定方法、确定装置、检测设备及存储介质 |
CN113837067B (zh) * | 2021-09-18 | 2023-06-02 | 成都数字天空科技有限公司 | 器官轮廓检测方法、装置、电子设备及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136105A (zh) * | 2007-05-11 | 2008-03-05 | 辽宁师范大学 | 自由差分运算与可变形轮廓提取*** |
CN101339612A (zh) * | 2008-08-19 | 2009-01-07 | 陈建峰 | 一种脸型轮廓的检测与分类方法 |
CN102063727A (zh) * | 2011-01-09 | 2011-05-18 | 北京理工大学 | 一种基于协方差匹配的主动轮廓跟踪方法 |
CN106156739A (zh) * | 2016-07-05 | 2016-11-23 | 华南理工大学 | 一种基于脸部轮廓分析的证件照耳朵检测与提取方法 |
CN106156692A (zh) * | 2015-03-25 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种用于人脸边缘特征点定位的方法及装置 |
CN106529437A (zh) * | 2016-10-25 | 2017-03-22 | 广州酷狗计算机科技有限公司 | 一种人脸检测的方法和装置 |
CN106650635A (zh) * | 2016-11-30 | 2017-05-10 | 厦门理工学院 | 一种驾驶员后视镜查看行为检测方法及*** |
CN107403144A (zh) * | 2017-07-11 | 2017-11-28 | 北京小米移动软件有限公司 | 嘴巴定位方法及装置 |
CN107452030A (zh) * | 2017-08-04 | 2017-12-08 | 南京理工大学 | 基于轮廓检测和特征匹配的图像配准方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014165972A1 (en) * | 2013-04-09 | 2014-10-16 | Laboratoires Bodycad Inc. | Concurrent active contour segmentation |
-
2018
- 2018-03-12 CN CN201810199612.6A patent/CN108509866B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136105A (zh) * | 2007-05-11 | 2008-03-05 | 辽宁师范大学 | 自由差分运算与可变形轮廓提取*** |
CN101339612A (zh) * | 2008-08-19 | 2009-01-07 | 陈建峰 | 一种脸型轮廓的检测与分类方法 |
CN102063727A (zh) * | 2011-01-09 | 2011-05-18 | 北京理工大学 | 一种基于协方差匹配的主动轮廓跟踪方法 |
CN106156692A (zh) * | 2015-03-25 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种用于人脸边缘特征点定位的方法及装置 |
CN106156739A (zh) * | 2016-07-05 | 2016-11-23 | 华南理工大学 | 一种基于脸部轮廓分析的证件照耳朵检测与提取方法 |
CN106529437A (zh) * | 2016-10-25 | 2017-03-22 | 广州酷狗计算机科技有限公司 | 一种人脸检测的方法和装置 |
CN106650635A (zh) * | 2016-11-30 | 2017-05-10 | 厦门理工学院 | 一种驾驶员后视镜查看行为检测方法及*** |
CN107403144A (zh) * | 2017-07-11 | 2017-11-28 | 北京小米移动软件有限公司 | 嘴巴定位方法及装置 |
CN107452030A (zh) * | 2017-08-04 | 2017-12-08 | 南京理工大学 | 基于轮廓检测和特征匹配的图像配准方法 |
Non-Patent Citations (3)
Title |
---|
《Facial feature extraction and image warping using PCA based statistic model》;Zhong Xue等;《Proceedings 2001 International Conference on Image Processing》;20011231;第2卷;第689-692页 * |
《人脸特征点提取方法综述》;李月龙等;《计算机学报》;20160731;第39卷(第7期);第1356-1374页 * |
《基于形状识别的人脸轮廓线提取》;陈鹏飞等;《计算机工程与设计》;20140331;第35卷(第3期);第890-894页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108509866A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509866B (zh) | 一种人脸轮廓提取方法 | |
Dai et al. | A 3d morphable model of craniofacial shape and texture variation | |
CN109408653B (zh) | 基于多特征检索和形变的人体发型生成方法 | |
CN111899334B (zh) | 一种基于点线特征的视觉同步定位与地图构建方法及装置 | |
EP1650711B1 (en) | Image processing device, imaging device, image processing method | |
Nikolaidis et al. | Facial feature extraction and pose determination | |
US7835568B2 (en) | Method and apparatus for image-based photorealistic 3D face modeling | |
US9262671B2 (en) | Systems, methods, and software for detecting an object in an image | |
US7266225B2 (en) | Face direction estimation using a single gray-level image | |
KR101184097B1 (ko) | 얼굴 정면포즈 판단 방법 | |
KR100930994B1 (ko) | 3차원 영상 모델 생성 방법 및 장치, 이를 이용한 영상인식 방법 및 장치 그리고 상기 방법들을 수행하는프로그램이 기록된 기록 매체 | |
EP1510973A2 (en) | Method and apparatus for image-based photorealistic 3D face modeling | |
WO1994023390A1 (en) | Apparatus for identifying person | |
CN110110694B (zh) | 一种基于目标检测的视觉slam闭环检测方法 | |
KR20010042659A (ko) | 비디오 화상으로부터의 얼굴 인식 | |
Pan et al. | 3D face recognition from range data | |
Jang et al. | Robust 3D head tracking by online feature registration | |
CN110991258B (zh) | 一种人脸融合特征提取方法及*** | |
CN102081733A (zh) | 多模态信息结合的多姿态三维人脸面部五官标志点定位方法 | |
CN114270417A (zh) | 能够更新注册人脸模板的人脸识别***及方法 | |
Zhu et al. | Robust 3d morphable model fitting by sparse sift flow | |
Chen et al. | Eyes localization algorithm based on prior MTCNN face detection | |
CN108665470B (zh) | 一种交互式轮廓提取方法 | |
CN113780040A (zh) | 唇部关键点的定位方法及装置、存储介质、电子设备 | |
Gökberk et al. | 3D face recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |