一种采用草图创建三维人脸模型的方法

文档序号:6602517阅读:263来源:国知局
专利名称:一种采用草图创建三维人脸模型的方法
技术领域
本发明专利涉及一种图形分析与解释软件方法,属于计算机软件和计算机图形学 技术领域,具体地说,是一种运用草图识别、形状特征提取、形状映射和模型形变等过程采 用草图创建三维人脸模型的方法。
背景技术
自文献 1 Parke F, Computer generated animation of faces, In :Proc. ACM NationalConference, 1972 451-457开创三维人脸建模和动画研究以来,涌现了如文献2 徐成华,王蕴红,谭铁牛,三维人脸建模与应用,中国图象图形学报,2004,9 (8) 893-903和 文献 3Deng Z, Noh J Y, Computer facial animation :A survey, Data-Driven 3D Facial Animations, Springer,2007 :1-28所述大量的三维人脸建模研究和应用成果。但是,现有 的大多三维人脸建模方法是如文献4 Liu Z,Zhang Z,Jacobs C,Cohen M,Rapid Modeling ofAnimated Faces From Video. Technical Report, Microsoft Research, April 1999 99-21 禾口文献5Zha H B,ffang P,Realistic face modeling by registration of 3D mesh models andmulti-view color images, In :Proc. of the 8th Int'l Conf. Computer Aided Design andComputer Graphics, 2003 :217_222所述利用各种视频、图像或三维扫描数据 进行三维真实感人脸模型的重建,这种方式难以满足动漫和游戏等拟人化人脸模型交互创 意设计的需要;现行诸如AutoCAD、Maya等三维建模软件系统可用于交互式三维人脸建模, 且可借助如文献6龚勋,王国胤,基于特征点的三维人脸形变模型,软件学报,2009,20 (3) 724-733所述的形变方法来生成各种人脸模型,但由于这些工具注重于模型细节定型的局 部编辑且其传统WIMP界面复杂而又专业化的交互方式对大多数动漫设计师而言是巨大的 挑战,也无法满足动漫创作自然而流畅的艺术创意表达要求。显然,对于这种应用,更理想 的三维人脸模型创建方式是为设计师提供其所偏爱传统纸笔草绘创作方式。利用手绘草图创建三维人脸模型方式有两类一类是利用如文献7 Igarashi T, Matsuoka S, Tanaka H, Teddy -.a sketching interface for 3d freeform design, In Proceedingsof the SIGGRAPH,99,1999 :409_416所述的通用草图绘制工具,通过对草图 人脸轮廓的膨胀和构造来生成三维模型,这种方法类似于传统三维建模工具,其优点是不 依赖于已有三维人脸模型,但其创建过程复杂且计算复杂度高;另一类则充分利用如文 献8胡永利,尹宝才,程世铨,谷春亮,刘文韬,创建中国人三维人脸库关键技术研究,计算 机研究与发展,2005,42(4) :622-628所述的已有三维人脸模型技术和资源,先对草图人 脸进行识别,再利用已有三维人脸模型来生成新的三维人脸模型。如文献9 Nataneli G, Faloutsos P, Sketching Facial Expressions, In ACM SIGGRAPH 2007 sketches, Article No. 60,2007提出了一种用草图人脸表情的方法,该方法先识别出草图人脸的表情 语义类别,再利用语义所对应的三维人脸表情模板生成相应的表情;文献10 Gunnarsson 0, Maddock S A, Statistically-Assisted Sketch-Based Interface for Creating Arbitrary3-dimensional Faces,In :Proc. Theory and Practice of Computer Graphics2007提出了一个草图人脸建模系统,它采用从标准人脸库中建立的统计人脸模型对草图人 脸进行识别,再以一组特定人脸的线性组合来生成新的人脸模型。显然,这两种方法所能生 成的人脸类型取决于预定义模板库规模,且无法完全反映表现设计者的绘制效果。为能更 好地反映设计者的设计意图,文献 11 Chang E, Jenkins 0 C, Sketching articulation and posefor facial animation, Data-Driven 3D Facial Animation, 2007 :132-144提出了一 种利用草绘编辑三维人脸模型的方法,它允许用户利用笔画(线段)选定待修改人脸区域 及修改目标位置,再利用三维网格形变生成新的人脸模型,这种方法的局限性是显然的,且 主要适于人脸模型内部特征的编辑。而在实际应用中,设计师大多更惯于连续勾画出人脸 轮廓,再检验三维人脸模型效果并进行局部修改。因此,利用已有三维人脸模型直接从草图 人脸中快速生成新的三维人脸模型是满足这一需求的根本问题。

发明内容
发明目的本发明所要解决的技术问题是针对现有技术的不足,提供一种采用草 图创建三维人脸模型的方法,方法支持用户利用已有三维人脸模型以手绘人脸轮廓的方式 创建新的三维模型。技术方案本发明公开了一种采用草图创建三维人脸模型的方法,包括以下步 骤步骤一,草图人脸识别将待处理的草图人脸进行预处理,并根据人脸面部器官空 间分布规则识别出草图人脸轮廓,即各建立草图人脸笔画与草图人脸轮廓的对应关系;步骤二,三维人脸特征提取导入三维人脸网格模型作为三维人脸的模板模型,分 别从三维人脸网格模型上提取出三维人脸轮廓,所述三维人脸轮廓包括三维人脸内轮廓和 三维人脸外轮廓;步骤三,轮廓匹配从草图人脸轮廓上提取二维形状特征点集,从三维人脸轮廓上 提取出对应的三维形状特征点集,根据每一个二维形状特征点相对于草图人脸中心之间的 归一化距离,计算三维形状特征点集中每一点的位移向量;步骤四,三维人脸模型形变根据三维形状特征点集和各三维特征点的位移向量, 通过三维人脸网格模型形变生成所述三维人脸模型。本发明步骤一中包括以下步骤修正各草图人脸笔画的首尾端以校正笔画的封闭性误差,所述封闭性误差是指用 户在绘制封闭性笔画(如多边形、椭圆)时,笔画的首尾端并不总是能够精确地重合,一般 会出现交叉或者分离的情况;判断各草图人脸笔画的绘制时针顺序,将各草图人脸笔画统一调整为顺时针方 向;采用基于人脸器官空间分布规则的匹配策略,确定草图人脸笔画与人脸外轮廓和 各面部器官轮廓(即人脸内轮廓)的对应关系,所述人脸器官空间分布规则包含如下两条 规则在人脸正视图投影上,眉毛、眼睛、鼻子和嘴巴依次从上到下分布在人脸外轮廓内,耳 朵则分布在人脸外轮廓两侧。本发明步骤二中包括以下步骤导入三维人脸网格模型作为三维人脸的模板模型,校正三维人脸网格模型在三维空间中的位置;根据草图人脸外轮廓的整体形状对三维人脸网格模型进行全局调整,使得 三维人脸网格模型正投影的闭包矩形长宽比与草图人脸外轮廓长宽比相等,并保持全局调 整前后三维人脸网格模型侧投影的闭包矩形长宽比不变,所述草图人脸外轮廓长宽比为r = a/b,其中a为草图人脸外轮廓闭包矩形的长、b为草图人脸外轮廓闭包矩形的宽;计算网格模型每一节点所在曲面的高斯曲率值,输出曲面上高斯曲率大于一定阈 值的点,所述高斯曲率为& ,其中&和k2是指曲面上一点p处的两个主方向的法曲率; 根据人脸器官空间分布规则预设面部各器官在正投影平面上的中心位置,根据正投影平面 上的平面距离关系将所述曲面上高斯曲率大于一定阈值的点聚类为多个人脸器官区域点 的集合,计算各人脸器官区域点的集合在正投影下的凸包得到三维人脸各内轮廓;根据三维观察规律选取满足条件的点作为三维人脸外轮廓的点,所述三维观察规 律即n(p) .v(p) =0,其中,p为三维网格上一点,n(p)为点p在网格上的单位法向量,v(p) 为视向量,其计算公式为v(P) = c-p,其中,c为三维观察空间的视点位置。本发明步骤三通过草图人脸轮廓和三维人脸轮廓的匹配来实现草图人脸和三维 人脸模型之间的形状映射,包括如下步骤从草图人脸轮廓上提取出二维形状特征点集 fp2d ;从三维人脸内轮廓和三维人脸外轮廓上提取出对应的三维形状特征点集fp3d ;根据每 一个二维形状特征点相对于草图人脸中心之间的归一化距离,计算三维形状特征点集中每 一点的位移向量。所述二维形状特征点提取包括如下步骤针对每一条草图人脸轮廓笔画,进行笔 画的折线段拟合,将折线段的各端点作为初步的二维形状特征点,相邻的端点构成折线段 的子线段;计算各子线段的平均长度,在长度大于1.5倍平均子线段长度的子线段上插值 加入新的形状特征点;提取出各条轮廓笔画的形状特征点,构成二维形状特征点集;所述三维形状特征点提取包括如下步骤针对每一条草图人脸轮廓,计算所述草 图人脸轮廓上相邻二维形状特征点之间的距离占所在轮廓笔画总长度的比例;在对应的三 维人脸轮廓上,按相等的长度比例插值提取出相同数量的三维形状特征点;提取出各条三 维人脸轮廓的形状特征点,构成三维形状特征点集。本发明步骤四中包括以下步骤将三维形状特征点集和各特征点的位移向量分别作为形变控制点集和形变参数, 采用径向基函数方法进行三维人脸模型的形变生成计算,所述形变控制点集为C = {cPl, cp2,…,cpN},形变参数为Displacement = {diSl, dis2,…,disN},其中N为控制点的数 目,cPi为控制点的在形变前的三维坐标向量,dis,为控制点在形变后与形变前的坐标差值 向量。所述径向基函数方法包括如下步骤列出如下线性方程组/(X)=艺- cp,||)+ px + q-,
i=l
N5^=0;
i=l
N= 0;
,/=i每一个控制点cPi对应一个基函数,有f (cPi) = diSi ;w = {W1,W2,,%}是N维 权重向量,其中&是第i个基函数的权重;px+q是修正项,P和q均为三维向量;本发明中
6r
取= o求解该方程组可得到w、p和q ;三维人脸网格模型各节点在形变后的位移向量可 通过f(Pi)计算得出,其中Pi是三维人脸网格模型原始节点集合中每一点在形变前的坐标 向量,所述原始点集为P= {Pl,P2,…,PM},M为网格模型节点的数目。有益效果本发明具有以下优点1、允许利用手绘草图交互方式进行三维人脸的 自由设计,提高了绘制方式的自然性和自由度;2、可以从导入三维人脸模板模型上自动提 取出三维人脸轮廓,使得该方法具有较高的可操作性;3、本发明通过提取少量的形状特征 点进行形状映射,三维模型形变过程的求解空间不大,满足了三维人脸设计实时性的要求。


下面结合附图和具体实施方式
对本发明做更进一步的具体说明,本发明的上述和 /或其他方面的优点将会变得更加清楚。图la和图lb为本发明的一个应用实施例示意图。图2是本发明的处理流程示意图。
具体实施例方式本发明公开了一种采用草图创建三维人脸模型的方法,包括以下步骤步骤一,草图人脸识别将待处理的草图人脸进行预处理,并根据人脸面部器官空 间分布规则识别出草图人脸轮廓,即建立草图人脸各笔画与草图人脸轮廓的对应关系;步骤二,三维人脸特征提取导入三维人脸网格模型(所述三维人脸网格模型可 通过Maya、3DMaX等软件生成)作为三维人脸的模板模型,分别从三维人脸网格模型上提取 出三维人脸内轮廓和三维人脸外轮廓;步骤三,轮廓匹配从草图人脸轮廓上提取二维形状特征点集,从三维人脸轮廓上 提取出对应的三维形状特征点集,根据每一个二维形状特征点相对于草图人脸中心之间的 归一化距离,计算三维形状特征点集中每一点的位移向量;步骤四,三维人脸模型形变根据三维形状特征点集和各三维特征点的位移向量, 通过三维人脸网格模型形变生成所述三维人脸模型。更具体地说,本发明支持用户采用 字图形输入环境提交手绘草图并自动生成三 维人脸模型,其实施主要涉及草图人脸识别、三维人脸特征提取、轮廓匹配和三维人脸模型 形变四大关键技术,其处理流程如图2所示。草图人脸识别是将用户提交的手绘草图人脸 笔画作为人脸外形轮廓和内部器官的轮廓笔画进行识别处理,提取草图人脸轮廓;三维人 脸特征提取是指采用高斯曲率算法和三维观察规律自动计算导入的三维人脸网格模型的 三维人脸轮廓;轮廓匹配是在草图人脸轮廓和三维人脸轮廓之间建立映射关系的过程,本 发明首先在草图人脸轮廓上提取二维形状特征点,然后在对应的三维人脸轮廓上等距离比 例计算三维特征点建立映射关系;三维人脸模型形变是将三维人脸特征点作为形变控制 点,通过求解径向基函数线性方程组的方法实现三维人脸模型的生成。下面分别介绍各部 分的主要流程1、二维草图人脸识别二维草图人脸识别首先需要对草图人脸进行预处理,然后通过草图人脸特征提取找出输入笔画和人脸器官之间的对应关系。1. 1草图人脸预处理人脸外轮廓、眼睛、嘴巴等线条应该是封闭的曲线,然而用户在绘制这类笔画时有 可能出现首尾交叉或者分离的情况,即为封闭性曲线的闭合性误差。对首尾交叉的校正需 要判断笔画的起点和终点附近的子笔画段是否相交,如果相交则剔除交点到起点和交点到 终点的子笔画段。对首尾分离的处理时将笔画的起点和终点附近的子笔画段分别按一定比 例(相对于整条笔画长度)进行延长,起点处延长的方向与整条笔画的绘制方向(时针顺 序)相反,终点处延长的方向与该处的绘制方向相同;接下来的校正处理可转化为对首尾 交叉情况进行处理。不同笔画在绘制的时针方向上可能不同,为方便后期处理需要进行统一,本发明 将笔画按笔画总长度进行五等分,除了笔画首尾端点外有三个五等分点,判断这三个点之 间是否是逆时针顺序绘制,如果是则判断该笔画为逆时针绘制顺序,将笔画各点的顺序进 行反转,可将笔画调整为顺时针顺序。1. 2草图人脸特征提取草图人脸特征提取的目的是找出人脸外轮廓和面部各器官所对应的草图人脸笔 画,这一过程实质上也是对草图人脸进行解析的过程。用户在设计人脸模型时,或者希望绘 制完整幅人脸再进行建模,或者希望在绘制的同时及时生成人脸模型,为了支持这两种设 计方式,本发明提出了草图人脸的离线解析和在线解析方法。离线解析是指对用户绘制完成的草图人脸进行解析,然后再进行人脸建模。假定 一个人脸草图由9部分组成外轮廓、左右眉毛、左右眼、鼻子、嘴以及左右耳朵。用户对人 脸的绘制可以用多个笔画来描述,而不限定每个部分用一个笔画刻画。因此如果当前笔画 数大于9,首先需要将这些笔画进行合并,方法如下输入原始草图经数据过滤后的笔画集合S= {Sl,S2,…,sN},其中N>9。输出经过合并后的笔画集合S' = {s' pS' 2,…,s' 9}具体包括如下步骤步骤1 将每个笔画的采样点按平面上顺时针顺序重新排列;步骤2 如果笔画集合中笔画数目等于9则转步骤7执行,如果笔画数目小于9则 转步骤8退出;步骤3 根据笔画端点间的最小欧式距离找出两个距离最近的笔画;步骤4 合并这两个笔画,从笔画集合中删除这两个笔画;步骤5 在笔画集合中加入合并笔画;步骤6 转到步骤2继续执行;步骤7 依次调整每个笔画步骤7. 1 如果是封闭笔画,找出竖直方向最上方点为起点,将笔画调整为顺时针 封闭曲线;步骤7. 2 如果是非封闭笔画,判断起始点位置,将笔画调整为自屏幕左端起;步骤8:退出。本发明采用了人脸器官空间分布规则作为先验知识,即如下两条规则在人脸正 视图投影上,眉毛、眼睛、鼻子和嘴巴依次从上到下分布在人脸外轮廓内,耳朵则分布在人脸外轮廓两侧。通过分析草图人脸各笔画之间的空间关系可以定位外轮廓和人脸各面部器 官所对应的草图人脸笔画,具体算法步骤如下输入经过合并处理的笔画集合S' = {s' pS' 2,…,s' 9}输出草图人脸笔画与草图人脸轮廓对应关系具体包括如下步骤步骤1 如果笔画数目小于9则转步骤8退出(解析出错);步骤2 计算每个笔画的闭包矩形;步骤3 找出最大闭包所对应的笔画,该笔画对应于人脸外轮廓;步骤4 在剩余笔画中找出闭包矩形处于外轮廓内且处于上方的四个笔画,即为 眼睛和眉毛;步骤4. 1 根据闭包矩形的左右空间关系,判别左眉毛和左眼笔画,右眉毛和右眼 睛笔画;步骤4.2 根据闭包矩形的上下关系,分别区分左眉毛和左眼,以及右眉毛和右眼 对应的笔画;步骤5 剩余笔画中找出闭包位于外轮廓内切空间关系位于上方的,即为鼻子所 对应的笔画;步骤6 位于外轮廓内的最后剩余的笔画为嘴巴对应的笔画;步骤7 最后剩余的两个笔画分别为左右耳朵笔画;步骤8:退出。草图人脸的在线解析也是根据人脸器官空间分布规则完成。在观察和分析设计师 设计人脸的绘制习惯后可以发现,设计师通常首先绘制人脸的外部轮廓,然后绘制面部各 器官(次序不确定)。在确定了人脸的外轮廓后,后续输入的面部器官笔画可以根据笔画之 间的空间关系(设定一定的阈值)进行定位。在外轮廓笔画的矩形闭包已确定的情形下引 入各器官可判定区域的概念,即如果笔画重心落在该区域中,则可初步判断该笔画为相关 器官的输入笔画,所述笔画重心为该笔画所有点的横坐标平均值和纵坐标平均值所构成的 点。以嘴巴的判定区域为例,根据嘴巴在人脸面部的位置设定阈值(本发明设定横坐标的 阈值区间为
,纵坐标的阈值区间为
),即如果一条输入笔画的重心的 落在该区域则可视为嘴巴笔画。由于眼睛和眉毛所处的区域接近,根据笔画的类型(封闭 的椭圆和非封闭笔画)作进一步分析,以区分眉毛和眼睛,其中眼睛是封闭的椭圆型。2、三维人脸特征提取三维人脸特征提取是指从三维人脸网格模型中自动提取出各主要轮廓线,包括外 轮廓和内部器官轮廓两类。本发明首先对导入的三维人脸网格模型在三维空间中的进行全 局调整,然后分别根据高斯曲率算法和三维观察规律提取三维人脸网格模型的内轮廓和外 轮廓。2. 1三维人脸网格模型全局调整首先对三维人脸网格模型的位置进行调整,使得人脸的正面朝向深度轴(Z轴)正 方向,人脸模型的头顶朝向纵轴(Y轴)正方向,与Y轴垂直的水平横轴为X轴,即XYZ轴与 OpenGL世界坐标系相同;计算三维人脸网格模型的闭包立方体,将闭包立方体的中心平移 到三维坐标原点;将Y坐标值缩放至区间[-1,1],X坐标和Z坐标按同比例进行缩放,保持三维人脸网格模型的闭包立方体的长宽高比例不变;然后根据草图人脸外轮廓的整体形状对三维人脸网格模型进行全局调整,保持三 维人脸网格模型纵向高度不变,根据草图人脸外轮廓长宽比,将三维人脸网格模型沿着横 轴方向进行缩放,使得三维人脸网格模型正投影的闭包矩形长宽比与草图人脸外轮廓长宽 比相等,在深度坐标轴上也按同比例进行缩放,保持缩放前后三维人脸网格模型侧投影的 闭包矩形长宽比不变,所述草图人脸外轮廓长宽比为r = a/b,其中a为草图人脸外轮廓闭 包矩形的长、b为草图人脸外轮廓闭包矩形的宽。2. 2三维人脸内轮廓自动提取曲面上一点p的两个方向,如果它们既正交又共轭,则称为曲面在p点的主方向; 两个主方向上的法曲率(k” k2)称为曲面在此点的主曲率;主曲率的乘积㈨ k2)称为曲 面在P点的高斯曲率。曲面的高斯曲率是用来分析曲面形状的一种重要工具,其值反映了 曲面在某一点处的弯曲程度(以及弯曲方向)。高斯曲率为正值表示该曲面是凸起的形状, 为负值表示凹面形状。人脸内部器官轮廓上的点通常包含了大量凸起的点,如嘴唇,其对应 较大的高斯曲率值。将曲面上高斯曲率大于某一阈值的点输出并根据平面距离进行聚类处 理可得到人脸器官区域点的集合,进而可得到三维人脸的内轮廓线。三维人脸网格模型的 内轮廓自动提取方法如下输入三维人脸网格模型输出三维人脸网格模型的内轮廓线具体包括如下步骤步骤1 计算三维人脸网格模型每个节点处的高斯曲率(该节点处两个主曲率的 乘积);步骤2 输出高斯曲率大于阈值的点,本实施方式中所述阈值预设为100,一般可 以设定范围是[100,1000],数值越大,所输出的点越少;步骤3 根据人脸器官空间分布规则以及鼻尖位置预设左右眼中点、嘴巴中点、左 右耳朵在正投影平面上的中心位置,其中鼻尖的横坐标和纵坐标都预设为0 ;步骤4 根据平面距离关系进行各人脸器官区域点的集合的聚类生成步骤4. 1 依次计算步骤2中所输出的点与步骤3中所预设的各器官的中点位置 的平面距离,根据最短距离将步骤2输出的点进行聚类(生成左右耳朵、左右眼睛、鼻子、嘴 巴共6个人脸器官区域点的集合),以人脸左眼睛为例,如果步骤2中输出的某一点与左眼 睛的中心位置的平面距离最短,则将该点划分到人脸左眼睛区域;步骤4.2 计算各人脸器官区域点的集合的中心,去除集合中离中心点的平面距 离超出一定阈值的点(本发明实施例中取阈值为0.3士0. 1),并按照步骤4. 1重新进行人脸 器官区域点的聚类;步骤4. 3 计算各人脸器官区域点的集合的闭包立方体,根据正常人脸的眼睛、嘴 巴高度占人脸高度的比例去除离闭包中心距离超出一定阈值的点(本发明实施例取阈值 为 0. 1 士 0. 02);步骤5 计算对各人脸器官区域点的集合在正投影下的平面点集的凸包,以凸包 点的连线或者拟合抛物线作为各器官的轮廓线,所述平面点集的凸包是指一个最小凸多边 形,满足该点集中的点或者在多边形边上或者在其内部,将相邻的凸包点使用直线段相连可得到内轮廓线;步骤6:结束。2. 3三维人脸外轮廓自动提取从三维观察的角度看,如果三维网格模型上某一点的法向量与当前视向量相垂直 (即两个向量的点积为0),则该点可能是边缘轮廓线上的点。具体为n(p) v(p) =0,其 中,p为三维人脸网格模型上某一节点,n(p)为节点p在该三维网格模型上的单位法向量, v(p)为视向量,其计算公式为v(p) =c_P,其中,c为三维观察空间的视点位置。三维人脸 外轮廓的自动提取方法如下输入三维人脸网格模型输出三维人脸网格模型的外轮廓具体包括如下步骤步骤1 计算三维人脸网格模型每个节点的法向量,即计算各节点所在网格面片 的法向量的平均值;步骤2 在Z轴正方向上设定观察点,本发明中取观察点的坐标为(0,0,5);步骤3 依次计算三维网格中每个节点的法向量与视向量的点积;步骤4 依次遍历三维网格的每一各三角形面片步骤4. 1 测试当前面在正投影下是否可见,不可见则继续循环遍历三角形面;步骤4. 2 若当前三角形面片的三个顶点中某两个点按步骤3所计算出的点积值 异号,即一个为正值,一个为负值,则认为这两个异号点所在边上有点积为0的点存在,在 异号边上插值计算出点积为0的点,加入候选轮廓点集合;步骤5 上述计算出的候选轮廓点不全是外轮廓点(如鼻梁和嘴巴也会有少量点 积为0的点存在),需要如下进一步处理步骤5. 1 依次遍历候选轮廓点,如果两个点所在的边在同一个三角形面片上,则 认为这两个点属于同一条轮廓线,将所有点分成若干条相连的轮廓线;步骤5. 2 找出两条节点数最多的线,并判断空间上下关系确定为上下外轮廓线, 二者共同组成三维人脸网格模型的外轮廓;步骤6:结束。3、轮廓匹配本发明将草图人脸和三维人脸之间的形状映射转化为草图人脸轮廓之间的映射, 即草图人脸轮廓与三维人脸轮廓匹配。首先从草图人脸轮廓中抽出能刻画该轮廓笔画几何 形状的特征点集,然后在三维人脸轮廓上提取出一一对应的三维形状特征点,最后根据每 一个二维形状特征点相对于草图人脸中心之间的归一化距离,计算三维形状特征点集中每 一点的位移向量。3.1 二维形状特征点提取草图人脸的形状使用轮廓上的特征点来表征,即从轮廓笔画上提取一些离散点来 表征该轮廓曲线的形状,整个草图人脸的形状特征点构成了一个二维形状特征点集。二维 形状特征点集有两个性能要求1)能保留原始草图中的刻画人脸细节的局部特征;2) 二维 形状特征点分布比较均勻。主要计算步骤如下首先在笔画上找出包含更多形状信息的点称为笔画关键点,其中关键点之间的笔画段比较平滑,可近似认为是直线段,整个笔画也相应地可看成由这些关键点相连所构成 的折线段,本发明采用了笔画的折线段拟合方法来找出这些笔画关键点,作为初始的二维 形状特征点,所述笔画的折线段拟合是指将笔画识别为折线段。相邻的笔画关键点构成折线段的子线段,为了使得二维形状特征点分布均勻, 计算出该笔画折线段拟合后所有子线段的平均长度MeanLength;针对每一个子线段, 计算其长度为CurrentLength,如果CurrentLength超出一定阈值(本发明实施例中取 1. 5*MeanLength,阈值范围可取[1. 4*MeanLength,2. 0*MeanLength]),则将该子线段平均 分为N段(N= [CurrentLength/MeanLengtW+1),在该子线段首尾两个关键点之间等比线 性插值加入N-1个新的二维形状特征点。依次处理每一条子线段后,可得到二维形状特征点的集合。3. 2三维形状特征点提取根据草图人脸外轮廓特征点的最高点和最低点分别将人脸外轮廓划分为左右半 脸(如果草图人脸上部和下部比较平,分别按一定阈值取上部和下部点的中间点作为最高 和最低点)。嘴巴和眼睛的形状相似,作相同处理,分别找出草图人脸特征点中最左和最右 点,将轮廓分上下半部分。鼻子形状较为特殊,本发明将其分为三个部分左边部分、下面部 分和右边部分。三维人脸网格模型的三维人脸轮廓也作相同划分处理。草图人脸外轮廓右半部分的特征点集合为FPright_outer_face_2D — {f"P2D—1,fP2D—2,,f"P2D_N^,其中fp2D」是最顶端点,fp2D N是最底部点,N为草图人脸外轮廓右半部分的二维形 状特征点数目。三维人脸网格模型外轮廓右半部分上对应的特征点集合为FPright_outer_face_3D 一 {f"P3D—1,f"P3D—2,,f"P3D_N^,其中fp3D」是最顶端点,fp3D N是最底部点,三维人脸网格模型外轮廓右半部分上三 维形状特征点数目也为N。上述二维—形状特征点和三维形状特征点之间的关系可由下面的 公式表示
Dis2D、fp2D fp2D jjy3D i) t Ar
Lengthright _outer _ jace 2D Lengthrigfu 一 outer _ jace—3D其中Dis2I^nDis3D分别为二维空间和三维空间中点之间的欧式距离计算函数; Lengthright 0Uter_face 2D和LengthHght—。utCT—fa。e—3D分别为草图人脸外轮廓右半部分和三维人脸网 格模型外轮廓右半部分的长度。草图人脸外轮廓左半部分的特征点集合为FPleft_outer_face_2D 一 {f"P 2D—1,f P 2D—2, ,f P 2D—|J,其中fp ‘ 2DJ是最顶端点,与fp2D」相同,fp ‘ 2D M是最底部点,与fp2D N相同,M为 草图人脸外轮廓左半部分的二维形状特征点数目。三维人脸网格模型外轮廓左半部分上对 应的特征点集合为FPleft_outer_face_3D — {f"P 3D—1,f P 3D—2, ,f P 3D—|J,其中fp' 3DJ是最顶端点,与fp3D—i相同,fp ‘ 3DJ是最底部点,与fp3D—N相同,三维 人脸网格模型外轮廓左半部分上三维形状特征点数目也为M。上述二维形状特征点和三维 形状特征点之间的关系可由下面的公式表示
Dis1D(Jp1D丄叫 ’fp1D i) = Dis^jfp^ ^ ,fp3D_, )M .
Lengthy一ouler_face_2D Length坤—ouler_face 3D其中Lengthleft。utCT fa。e 2D和Lengthleft。utCT fa。e 3D分别为草图人脸外轮廓左半部分 和三维人脸网格模型外轮廓左半部分的长度。分别对嘴巴、眼睛和鼻子部分进行类似计算,最终可得出与二维形状特征点集合 可一一对应的三维人脸形状特征点集合。3. 3特征点位移向量计算计算二维形状特征点相对于草图人脸中心的归一化距离(水平方向距离除以草 图人脸外轮廓的宽度widths,竖直方向距离除以草图人脸外轮廓的高度heights),以此作 为对应的三维形状特征点在形变后相对于三维人脸网格模型中心(即三维坐标轴原点)的 在正投影下的归一化距离,计算出三维形状特征点在形变过后的新的坐标位置,每一个三 维形状特征点的新旧坐标值的差值构成该三维形状特征点的位移向量。所述草图人脸中心的坐标为(lefts+rights/2,tops+bottoms/2),width,= rights-lefts|, heights = tops-bottoms |,其中(lefts,tops)为草图人脸外轮廓闭包矩
形的左上角坐标、(rights, bottom,)为草图人脸外轮廓闭包矩形的右下角坐标。4、三维人脸模型形变将三维形状特征点集和各特征点的位移向量分别作为形变控制点集和形变参数, 采用径向基函数方法进行三维人脸模型的形变生成计算,所述形变控制点集为C = {cPl, cp2,…,cpN},形变参数为Displacement = {diSl, dis2,…,disN},其中N为控制点的数 目,cPi为控制点的在形变前的三维坐标向量,dis,为控制点在形变后与形变前的坐标差值 向量。所述径向基函数方法包括如下步骤列出如下线性方程组=- cp,||)+ px + q-,
i=l
N= 0 ;
;=1
N= 0; i=i每一个控制点cPi对应一个基函数,有f(cPi) = diSi ;w = {W1,W2,,%}是N维 权重向量,其中&是第i个基函数的权重;px+q是修正项,P和q均为三维向量;本发明中
r
取①= 。求解该方程组可得到w、p和q ;三维人脸网格模型各节点在形变后的位移向量可 通过f(Pi)计算得出,其中Pi是三维人脸网格模型原始节点集合中每一点在形变前的坐标 向量,所述原始点集为P= {Pl,P2,…,PM},M为网格模型节点的数目。该方法中线性方程组的方程数目仅与特征点的数目相关,在求解出方程组的解之 后,网格模型各节点的位移通过函数f(x)直接计算可得,整个形变过程的计算量较小,可 满足实时形变的要求。本发明中,如图la所示的输入的手绘草图人脸正视图,通过本发明所述的创建三 维人脸模型的方法,处理成如图lb所述的三维人脸模型立体图。本发明提供了一种采用草图创建三维人脸模型的方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术 领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这 些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技 术加以实现。
权利要求
一种采用草图创建三维人脸模型的方法,其特征在于,包括以下步骤步骤一,草图人脸识别将待处理的草图人脸进行预处理,并根据人脸面部器官空间分布规则识别出草图人脸轮廓,即建立各草图人脸笔画与草图人脸轮廓的对应关系;步骤二,三维人脸特征提取导入三维人脸网格模型作为三维人脸的模板模型,分别从三维人脸网格模型上提取出三维人脸轮廓,所述三维人脸轮廓包括三维人脸内轮廓和三维人脸外轮廓;步骤三,轮廓匹配从草图人脸轮廓上提取二维形状特征点集,从三维人脸轮廓上提取出对应的三维形状特征点集,根据每一个二维形状特征点相对于草图人脸轮廓中心之间的归一化距离,计算三维形状特征点集中每一点的位移向量;步骤四,三维人脸模型形变根据三维形状特征点集和各三维特征点的位移向量,通过三维人脸网格模型形变生成所述三维人脸模型。
2.根据权利要求1所述的一种采用草图创建三维人脸模型的方法,其特征在于,步骤 一中包括以下步骤修正各草图人脸笔画的首尾端以校正笔画的封闭性误差从而完成所述预处理; 判断各草图人脸笔画的绘制时针顺序,将各笔画统一调整为顺时针方向; 采用基于人脸器官空间分布规则的匹配策略,确定草图人脸笔画与草图人脸轮廓的对 应关系;所述人脸器官空间分布规则的匹配策略包含如下规则在人脸正视图投影上,眉 毛、眼睛、鼻子和嘴巴依次从上到下分布在人脸外轮廓内,耳朵分布在人脸外轮廓两侧。
3.根据权利要求2所述的一种采用草图创建三维人脸模型的方法,其特征在于,步骤 二中还包括以下步骤校正三维人脸网格模型在三维空间中的位置,使得三维人脸网格模型的正面朝向深度 轴正方向,三维人脸网格模型的头顶朝向纵轴正方向;计算三维人脸网格模型的闭包立方 体,将闭包立方体的中心平移到三维坐标原点;将纵轴坐标值缩放至区间[_1,1];根据草图人脸外轮廓的整体形状对三维人脸网格模型进行全局调整,保持三维人脸网 格模型纵向高度不变,根据草图人脸轮廓中外轮廓的长宽比,将三维人脸网格模型沿着横 轴方向进行缩放,使得三维人脸网格模型正投影的闭包矩形长宽比与草图人脸轮廓中外轮 廓的长宽比相等,在深度坐标轴上也按同比例进行缩放,保持缩放前后三维人脸网格模型 侧投影的闭包矩形长宽比不变,所述草图人脸轮廓中外轮廓的长宽比为r = a/b,其中a为 草图人脸轮廓中外轮廓的闭包矩形的长、b为草图人脸轮廓中外轮廓的闭包矩形的宽,从而 得到三维人脸外轮廓;计算三维人脸网格模型每一节点所在曲面的高斯曲率值,输出曲面上高斯曲率大于一 定阈值的点,所述高斯曲率为h · k2,其中Ic1和k2是指曲面上一点ρ处的两个主方向的法 曲率;根据人脸器官空间分布规则预设面部各器官在正投影平面上的中心位置,根据正投 影平面上的平面距离关系将所述曲面上高斯曲率大于一定阈值的点聚类为各人脸器官区 域点的集合,计算各人脸器官区域点的集合在正投影下的凸包得到三维人脸内轮廓;根据三维观察规则选取满足条件的点作为三维人脸外轮廓的点,所述三维观察规则 为η(ρ) ·ν(ρ) = 0,其中,ρ为三维网格上一点,η(ρ)为点ρ在网格上的单位法向量,ν(ρ) 为视向量,其计算公式为V(P) = c-p,其中,c为三维观察空间的视点位置。
4.根据权利要求3所述的一种采用草图创建三维人脸模型的方法,其特征在于,步骤三中通过草图人脸轮廓和三维人脸轮廓的匹配实现草图人脸和三维人脸模型之间的形状 映射,包括如下步骤从草图人脸轮廓上提取二维形状特征点集FP2d ;从三维人脸内轮廓和三维人脸外轮廓 上提取出对应的三维形状特征点集FP3d ;计算二维形状特征点集FP2d中的每一个二维形状 特征点相对于草图人脸中心之间的归一化距离,计算三维形状特征点集中每一点的位移向 量;所述提取二维形状特征点集FP2d包括如下步骤针对每一条草图人脸轮廓笔画,进行 笔画的折线段拟合,将折线段的各端点作为初步的二维形状特征点,相邻的端点构成折线 段的子线段;在长度大于一定阈值的子线段上插值加入新的二维形状特征点;提取出各条 轮廓笔画的形状特征点,构成二维形状特征点集;所述三维形状特征点集FP3d提取包括如下步骤针对每一条草图人脸轮廓笔画,计算 所述草图人脸轮廓上相邻二维形状特征点之间的距离占该笔画总长度的比例;在对应的三 维人脸轮廓上,按相等的长度比例插值提取出相同数量的三维形状特征点;提取出各三维 人脸轮廓的形状特征点,构成三维形状特征点集。
5.根据权利要求4所述的一种采用草图创建三维人脸模型的方法,其特征在于,步骤 四中,将三维形状特征点集和各特征点的位移向量分别作为形变控制点集和形变参数,采 用径向基函数方法进行三维人脸模型的形变生成计算。
全文摘要
本发明公开了一种采用手绘草图创建三维人脸模型的方法,包括以下步骤对待处理的草图人脸进行预处理,并根据人脸面部器官空间分布规则识别出草图人脸轮廓,建立草图人脸笔画与草图人脸轮廓的对应关系;根据高斯曲率算法和三维观察规律分别从作为模板的三维人脸网格模型上提取出三维人脸内轮廓和三维人脸外轮廓;从草图人脸轮廓上提取二维形状特征点集,从三维人脸轮廓上提取出对应的三维形状特征点集,根据每一个二维形状特征点相对于草图人脸中心之间的归一化距离,计算三维形状特征点集中每一点的位移向量;根据三维形状特征点集和各特征点的位移向量,通过三维人脸网格模型形变生成与草图人脸相似的三维人脸模型。本发明支持利用已有三维人脸模型以手绘人脸轮廓的方式创建新的三维人脸模型。
文档编号G06K9/46GK101853523SQ201010175220
公开日2010年10月6日 申请日期2010年5月18日 优先权日2010年5月18日
发明者孙正兴, 宋沫飞, 张尧烨, 蒋维 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1