一种基于数据驱动的单幅图像头发重建方法与流程

文档序号:16364363发布日期:2018-12-22 08:20阅读:203来源:国知局
一种基于数据驱动的单幅图像头发重建方法与流程

本发明属于计算机视觉与计算机图形领域,具体地说是一种基于数据驱动的单幅图像头发重建方法,主要用于游戏、影视动画以及虚拟现实等领域。

背景技术

在计算机图形学中,对虚拟人物的三维建模,一直是备受研究者关注的一个重要的课题。无论是虚拟现实,电影特效,视频游戏或是其他计算机图形学、视觉相关的领域,视觉真实的人物建模技术都有广泛的应用。而头发则是人物的一个重要特征,头发的形态因人而异,有时甚至是区别不同人的重要标志。同时,构成头发的发丝非常多,头发的造型、运动及其光学特性都十分复杂,真实感的头发建模成为了计算机图形学的一个研究热点和难点。对特定形态的头发模型的几何建模一直是一件繁琐的工作。目前,大部分头发模型仍然依靠艺术家利用交互工具手工进行三维头发造型与建模的工作。近年来,不断开始有研究者尝试用自动化的方法,从图像数据中重建出与真实头发相近似的模型。然而目前基于图像的三维头发重建方法集中在基于多视点采集图像的建模,需要搭建复杂的采集环境,无法应用到实验室以外的环境。仅有的一些基于单幅图像的头发建模方法结果并不理想,所能建模的发型也比较有限且无法保证头发生长的均匀性和发丝深度的可靠性。由于头发存在的自遮挡以及背部头发信息的缺失,大部分头发建模技术只能得到实际为2.5维的头发模型,并且其发丝较为细碎。本发明能够生成完全3维的发丝级别的头发模型,与原始图像中发型相似,并且能进行后续头发渲染及动态仿真等应用场景。



技术实现要素:

本发明的技术解决问题:克服现有技术的一些局限性,提供一种基于数据驱动的单幅图像头发重建方法,该方法机能重建出外观和原始图像相似的头发模型,也能保证发丝生长和连续性的可靠性,具有较高的实用价值。

本发明解决上述技术问题所采用的技术是:构建模型数据库,基于该数据库进行单幅图像头发重建,包括以下步骤:

步骤1:输入图像,使用人脸特征点检测算法在图像中脸部区域自动标定出人脸特征点,并根据usc-hairsalon头发模型数据库中提供的适配所有头发模型的标准头部模型计算出三维到二维的变换矩阵t,然后基于用户的观察,在输入图像中绘制笔画,这些绘制笔画必须从发丝到发梢都遵循图像中的发束方向的关键笔画,也需要体现出整个发型的几何拓扑结构;所述图像为单幅图像;

步骤2:利用步骤1中计算得到的所述变换矩阵t,将头发模型数据库中的发型模型投影到输入图像上,然后与步骤一中输入的绘制发丝计算差异,对每一个用户绘制发丝都获得一个最佳匹配发丝和匹配发型;

步骤3:针对每一次的当前最佳匹配发丝和匹配发型进行确认,首先获取目标发型中目标发丝周围的发丝,使用带系数的豪斯多夫距离作为度量空间中两根发丝之间的距离,计算出目标发丝与其周围发丝之间的相似比率,决定是否采用所述目标发丝及发型,然后继续步骤2寻找最佳匹配发丝和匹配发型,最终得到目标发丝和发型;

步骤4:基于获取的目标发丝和发型,生成对应方向场,后续的融合过程视为一个多标签分配问题,通过最优化能量公式,得到最终融合的方向场;然后依据这个方向场从头皮追踪生长发丝,直至得到最终的3d头发模型,利用所述头发模型进行渲染以及动态仿真应用操作。

所述步骤1具体实现如下:

三维到二维的变换矩阵t的计算如下:输入单幅图像,使用人脸特征点检测算法获取图像中人脸的68个特征点;然后与usc-hairsalon头发模型数据库所提供的适配所有头发模型的标准头部模型上预先标定的特征点进行匹配,使用goldenstandard算法计算出从三维到二维的变换矩阵t。利用所获取的变换矩阵t,基于用户观察,在输入图像中输入绘制笔画,这些绘制笔画需要体现出整个发型的几何拓扑结构。

所述步骤2中具体实现如下:

(1)利用步骤1中获取的变换矩阵t,将头发模型数据库中的头发模型投影到输入图像中,并与步骤1中输入的绘制笔画进行比较:对绘制笔画上的每个样本点找到在投影发丝上最接近的样本点,并计算投影发丝与绘制笔画的差异值;

(2)通过简单的遍历搜索整个头发模型数据库,为每一条绘制笔画计算得到一个差异最小的最佳匹配样例发丝及其对应的样例头发模型。

所述步骤3具体实现如下:

考虑步骤2中计算得到的匹配样例发丝及其周围发丝在对应样例头发模型上的一致性,针对当前最佳匹配发丝和匹配发型进行确认。使用带系数的豪斯多夫距离作为衡量空间中两条曲线之间的距离,并设定距离阈值,计算样例发丝与其周围发丝的匹配率,设定匹配阈值,若匹配结果超过该阈值则更新最佳匹配样例发丝及其对应样例头发模型,否则弃用所述样例发丝。

所述步骤4具体实现如下:

(1)针对计算得到的最佳匹配样例发丝及其对应样例头发模型,首先对每个样例头发模型生成三维方向场,利用样例发丝作为指导,通过最优化能量公式得到融合后的方向场;

(2)根据融合后的发型方向场的指导,从头皮开始追踪生长发丝,直至生成最终的3d头发模型。

相比现有技术,本发明的优势在于:

(1)本发明利用扩建了的头发模型数据库,使得数据驱动算法能适应更多的目标发型,并且仅需单张图像即可重建出完整的与输入图像相似的头发模型。

(2)本发明提出了增强匹配算法,在匹配完成后进一步确认,改进了单纯匹配时结果发丝存在的随机性,这样使得算法更加鲁棒,匹配步骤得到的样例发丝及其对应头发模型更加精确有效。并通过融合算法使得融合边缘能平滑过渡,使得融合结果既能遵从绘制笔画的引导保持细节,也能保持整体上的连续性。

(3)本发明生成的完全3d的发丝级别的头发模型允许进行后续渲染以及运动仿真等应用操作,并可用于很多需要用到复杂发型的场景。

附图说明

图1为本发明方法的数据流程图;

图2为本发明方法的过程展示示意图。

具体实施方式

下面结合附图和具体实施对本发明进行详细说明。

本发明的主要流程如图1所示,主要分为以下四个步骤:

(1)绘制关键发丝

输入图像,利用图像中脸部区域自动标定出人脸特征点,并根据数据库中标准头部模型计算三维到二维的变换矩阵t,然后基于用户的观察和简单交互在输入图像中绘制笔画,这些绘制笔画必须从发丝到发梢都遵循图像中的发束方向的关键笔画,并且能较好的体现出整个发型的几何拓扑结构。

(2)匹配算法

为了衡量2d的用户绘制信息u和3d发型中发丝s的之间的差异,利用步骤(1)中计算得到的变换矩阵t,将模型数据库中头发模型投影到输入图像中。在绘制笔画u上的每个样本点si上找到在投影发丝上最接近的样本点sj,并如下计算差异值:

其中||p(si)-p(sj)||是图像平面上两个点si和sj之间的欧氏距离。len()计算绘制发丝以及投影发丝的长度。该公式有个约束条件,就是当用于比较的u和s有着差不多的长度时才有进行比较的价值。

通过计算图像平面中绘制信息和发束的差异来定义u和s之间的差异,公式如下:

通过简单的遍历搜索最小化上述公式,为每一个用户输入u计算得到一个最佳匹配发丝及其对应的数据库发型。

(3)确认算法

由于步骤(2)的方法只能确保单根发丝的准确性,导致最后匹配的发型可能存在着不确定性。考虑到步骤(2)中获取的样例发丝与其周围发丝的一致性,采用的方法是在匹配时加入确认过程决定是否要采用该样例发丝对应的样例发型。

先获取目标发型δi中的目标发丝si周围的发丝{s},为了区分具有不同形状的3d发丝,定义了一个衡量指标,主要考虑了:空间位置、发丝长度以及切角值:

其中dh(si,sj)是两根发丝之间的豪斯多夫距离,作为一个常用于衡量空间中两条曲线之间的距离,它表示如下:

其中,si,sj分别代表目标发型δ中的第i根和第j根发丝,p和q分别是分布在这两根发丝上的点,||p-q||是两个空间点之间的欧式距离。

为了防止不同形状的两根发丝因为距离较近而得到较小的dh,对豪斯多夫距离公式添加了一个系数θi,j,这里θi,j代表着两根发丝之间切角信息变量。它由两根发丝之间的切角向量点积计算得到,定义如下:

tan(pk),tan(qk)分别代表si和sj上点pk和qk的单位切角向量,n是较短发丝上的点数量。其中,为了使得在发丝上的所有点均匀分布,预先使用三次样条插值对所有发丝进行重采样操作。公式(3)中表现了有着相近分布、相似长度和切角的两根发丝之间计算所得距离值比较小。

使用上面的度量方法来评估目标发型δi中的目标发丝si周围的发丝{s}之间的连续性,首先为{s}中每根发丝计算其与目标发丝si的距离{ds},如果{ds}中85%满足公式(6),则决定使用该目标发型,然后继续寻找直到找到最佳发丝及发型。

这里β是一个阈值参数,本发明实施例,将其设置为0.01。

(4)发型融合算法

前两个步骤得到的最佳匹配发丝和模型,接下来需要将这些发型融合起来。融合的结果不仅要遵循用户绘制信息的指导,而且还要保持发型整体的连续性,因为匹配到的发型可能存在很大的差异。因此,先对所有最佳匹配发型生成方向场,并且基于方向场中网格来进行融合操作。

这个模型融合的任务可以视为一个多标签分配问题,具体来说就是,令匹配得到的目标发型δi及其最佳匹配发丝si的标签为li,然后通过最小化下面的能量公式来为3d空间中每一个网格分配最佳标签:

其中第一项是数据项,用来确保融合方向场遵循绘制信息的指导,通过最小化网格中心和最佳匹配发丝si对应的标签li之间的距离来求得:

p(gi)和p(sk)分别是网格中心gi和发丝si上点sk的空间位置。公式(7)中的第二项是平滑项,保证了方向场融合边界平滑过渡,具有一致性,其中n(g)代表网格g周围的网格,公式定义如下:

上面公式中,两个邻接网格的两个标签视为兼容当且仅当其对应的方向场有着相似的方向场值,也就是gi和gj的方向场值fi(gi)和fj(gj)之间的点积结果大于阈值τ=0.7。

公式(7)中的多标签分配能量函数可以通过图割算法来进行求解。计算得到每个网格的最优标签后,得到了融合后的方向场,其场值根据其对应标签来获取。然后根据最终的方向场,从头皮开始追踪生长发丝,追踪完成后获得最终的发丝级别的完整三维头发模型。结果如图2所示,针对输入图片,基于观察绘制了三根发丝(图中头发区域的黑色绘制笔画)。使用前面描述的匹配确认算法获取与绘制发丝匹配的三个发型,输入图像下方即为这三个发型的展示效果图,最右侧即为使用融合算法得到最终的融合结果。

本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

以上所述仅为本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应该视为本发明的保护范围。

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