首页 / 专利库 / 数学与统计 / 扩散张量 / 一种基于多方向场的逼真的静态头发建模方法

一种基于多方向场的逼真的静态头发建模方法

阅读:353发布:2020-09-06

专利汇可以提供一种基于多方向场的逼真的静态头发建模方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于多方向场的逼真的静态头发建模方法,分为3个阶段:第1阶段从采集的多视点头发图像出发,首先得到可靠的二维发丝段和头发点 云 模型,再生成带方向的三维发丝段头发模型;第2阶段,根据第1阶段的结果进行方向场求解及保留结构的方向场规则化;第3阶段,构建基于多方向场的静态头发模型,该阶段分为3个步骤,分别为生成逼真的发根、构建发丝生长规则和优化三维发丝头发模型。本发明相比其他基于多视点图像的头发建模方法,既能从外表上保留头发的结构,逼近采集数据,又能使内部发丝的生长分布更加真实可靠。,下面是一种基于多方向场的逼真的静态头发建模方法专利的具体信息内容。

1.一种基于多方向场的逼真的静态头发建模方法,其特征在于:所述的建模方法分为
3个阶段,具体如下:
第1阶段,生成带方向的三维发丝段头发模型,该阶段首先利用方向滤波算子求解二
维方向场,并求解可靠的二维发丝段,然后利用PMVS(Patch-based Multi-View Stereo)算法生成带方向的头发点数据,最后利用发丝段生成算法生成带方向的三维发丝段头发模型;
第2阶段,基于第1阶段的结果求解方向场并进行保留结构的规则化,该阶段分为2个
步骤:
(1)根据第1阶段的结果,利用带约束的热扩散方程分别求解内部方向场、内部距离场
和表面结构方向场;
(2)对内部方向场进行规则化映射和扩散,得到保留结构的规则化方向场;
第3阶段,基于第2阶段的结果构建基于多方向场的静态头发模型,该阶段分为3个步
骤:
(1)使用构建形状分布的方法,在头模型上指定区域生成均匀分布的发根,发根点方向由该点的切线和法线方向确定;
(2)使用保留结构的方向场和头发模型结构约束,构建发丝生长规则,逐点生长发丝;
(3)对生成的头发模型进行能量优化,生成逼真的三维发丝头发模型。
2.根据权利要求1所述一种基于多方向场的逼真的静态头发建模方法,其特征在于:
所述第1阶段中利用发丝段生成算法生成三维发丝段头发模型的方法包括以下子步骤:
步骤(A1)、从PMVS算法生成的头发点云P中选取可信度大于某一阈值的点组合生成三
维发丝段头发模型的种子点{SPi},并将种子点按可信度由大到小排序;
步骤(A2)、从一个种子点SPi出发,追踪出一段三维发丝段S,S是由三维空间中一系列的点{p1,p2,...,pn}连接而成,通过如下追踪操作生成一条三维发丝段上的点:
步骤(A2.1)、对于一个种子点SPi,首先求得该种子点处的头发生长方向t(SPi)=
±O(SPi),O(SPi)为带方向的头发点云P中SPi处的三维方向场;
步骤(A2.2)、对于发丝段S中每一步生长的新点pi,当生长步长是δ时,求得临时新
点的位置pi_temp=pi+t(SPi)δ;
步骤(A2.3)、通过移动最小二乘法MLS函数求得pi_temp在点云P表面上对应的新点pi_
MLS=MLS(pi_temp,P);
步骤(A2.4)、通过二维发丝段修正函数对pi_MLS进行可靠的二维发丝段修正,得到修正后的点pi_2DCorr,修正函数定义为pi_2DCorr=Tra2DCorr(pi_MLS,VJ,S2D),其中,VJ为所有标定的多视点图像,S2D为所有生成的可靠二维发丝段,其处理过程为:对于输入点pi_MLS,首先将其投影到所有的VJ中,若在可靠的二维发丝段S2D中能够找到该点,则为可靠的生长点,pi_2DCorr=pi_MLS,否则通过最小化能量函数 进行修正,Vj表示第j个
视点图像,图像Vj的投影矩阵为 通过公式 来
求得,其中(x1,x2,x3)是pi_MLS对应的三维空间点, 是S2D上距离二维投影点 在阈
值0.1mm内的最近点,最终修正后的点为
步骤(A2.5)、对pi_2DCorr使用最小二乘法MLS函数得到最终的点pi_final=
MLS(pi_2DCorr,P),若满足以下两条件,则pi_final终止生长:1)|O(pi_final)·O(pi)|<0.9,点云P中点pi_final和点pi处的方向O(pi_final)和O(pi)不兼容,2) 表
示点云P中点pi_final处周围点的数量;否则将点pi_final加入到三维发丝段S中,继续生长新点,直到满足终止条件;
步骤(A3)、将生成的三维发丝段S进行平滑操作,并将平滑后的S添加到三维发丝段头
发模型S3D中,同时将种子点SPi从{SPi}移除;
步骤(A4)、重复步骤(A2)(A3),直到{SPi}中所有种子点都被移除为止;
步骤(A5)、对生成的三维发丝段头发模型S3D进行方向一致性计算,使得每根发丝S的
方向都是沿重方向生长,同时沿远离头皮方向生长。
3.根据权利要求1所述一种基于多方向场的逼真的静态头发建模方法,其特征在于:
所述第2阶段的步骤(1)中求解多个方向场的方法包括以下步骤:
步骤(B1)、由头发点云数据P求解头发区域边界盒,并将其离散化为三维规则化网格,网格分辨率设置为2mm;
步骤(B2)、将三维发丝段头发模型S3D映射到规则化网格上,构建内部方向场V,三维
发丝经过的网格点处的方向由发丝上该点的切线方向确定,没有三维发丝经过的网格点的方向通过热扩散方程 确定,已知方向的网格点作为边界约束,V
T
=vv,v是网格点处的方向;
步骤(B3)、根据局部相似性由三维发丝段头发模型S3D得到保留头发局部结构的发丝
带Ribbon,在进行方向一致性求解后将带方向的Ribbon映射到规则化网格上,构建表面结构方向场Sdir,同步骤(B2),有发丝带通过的网格点处的方向由发丝带上该点的切线方向确定,其余未知点则通过求解热扩散方程求得;
步骤(B4)、在三维规则化网格内部求解内部距离场I,头皮表面经过的网格点值为0,
三维发丝段头发模型S3D经过的网格点值为1,网格边界上点的值为该网格点到三维发丝段头发模型S3D上最近发丝点的距离加上1,其余点的方向通过热扩散方程求得。
4.根据权利要求1所述一种基于多方向场的逼真的静态头发建模方法,其特征在于:
所述第2阶段的步骤(2)中保留结构的方向场规则化方法包括以下步骤:
步骤(C1)、将步骤B2中得到的头发内部方向场V每个网格点处的方向v通过结构张
T
量乘积V=vv求得,对称矩阵V(V,v,V分别表示不同的含义,V表示矢量场,比如方向场,都是用大写黑体斜体表示,一般的矢量用小写黑体表示,比如方向v;大写黑体用于表示矩阵,比如V以及Vσ)的最大特征值对应的特征向量仍是网格点处的方向v;
步骤(C2)、将步骤C1中得到的V通过球面三维高斯核K(σ)进行卷积得到
λ1≥λ2≥λ3是Vσ对应的由大到小排列的特征值,其均值为 定义规则
化映射为 m可以体现所期望的结构;
步骤(C3)、定义规则化扩散矩阵为 μi(i=
1,2,3)决定了沿着ui(i=1,2,3)扩散的平滑程度;
步骤(C4)、根据步骤(C3)得到的规则化扩散矩阵D,更新结构张量V中的每一个分量
值为 其中i=1...9,V对应最大特征值的特征向量v为规则化网格上每
个网格点处的最终方向。
5.根据权利要求1所述一种基于多方向场的逼真的静态头发建模方法,其特征在于:
所述第3阶段的步骤(1)中使用构建形状分布的方法生成逼真的发根,具体为:首先,手动选定头发区域并计算每个三面片对应的面积和头发生长区域的总面积;其次在每个三角面片上按面积比例生成均匀分布的发根;最后对生成的发根赋予发根生长方向,最终获得逼真的发根。
6.根据权利要求1所述一种基于多方向场的逼真的静态头发建模方法,其特征在于:
所述第3阶段的步骤(2)中使用保留结构的方向场和头发模型结构约束,构建发丝生长规则,逐点生长发丝包括以下步骤:
步骤(E1)、将步骤(B3)得到的保留头发局部结构的发丝带Ribbon转化为发丝束
Wisp,再将发丝束Wisp转化为非连接到头皮的头发段NAS,NAS能够保留头发的局部结构;
步骤(E2)、每根发丝段S={p1,p2,...,pn}是由三维空间中一系列连续
的点连接而成,p1表示发根点,对于每一个新生长的点pi,其新位置由公式
决定,其中,pi-1是头发段
S上pi的前一个点的位置,V(pi-1)和I(pi-1)分别表示在点pi-1处的内部方向场值和内部距离场值, 表示在点pi-1处的距离场梯度值,Ogrow(pi-1)表示在发丝段S上位置
pi-1处的生长方向,S上第一个点的生长方向由发根方向决定,S上其余点处的生长方向由(pi-1-pi-2)来决定,Sdir(pi-1)是头发表面上距离点pi-1处距离最近的表面结构方向场处的值,α1,α2,α3,α4是分别对应于各个受约束方向的权重,重复生长新点,直至S达到最大长度或新点pi超出头发区域为止;
步骤(E3)、为保留外部头发的结构细节,在得到新点pi之后,从NAS中查找距离pi最
近的点q,若满足以下两个条件(i)||pi-q||<△(ii)|Ogrow(pi)·Ogrow(q)|>To,则将q所在头发段中q点及其以后的所有的点都加入到新生长的头发段S中,△和To是阈值,分别设为△=0.2mm,To=0.7;
步骤(E4)、重复步骤(E2)(E3),直到从发根生长的所有头发都达到终止条件为止。
7.根据权利要求1所述一种基于多方向场的逼真的静态头发建模方法,其特征在于:
所述第3阶段的步骤(3)中为生成逼真的三维发丝头发模型,对头发模型进行能量优化的步骤以下:对生成的头发模型中的每一根发丝,分别构建规则化能量项Ereg、方向一致能量项Eort、邻居能量项Enei和平滑能量项Esmth,总的能量项Etotal由四者加权累加得到,Etotal=αregEreg+αortEort+αneiEnei+αsmthEsmth,αreg,αort,αnei,αsmth是分别对应于各能量项的权值,根据对总能量的贡献程度分别设置为αreg=0.1,αort=2,αnei=5,αsmth=10,最后使用最小二乘法求解此能量最优化问题。

说明书全文

一种基于多方向场的逼真的静态头发建模方法

技术领域

[0001] 本发明属于虚拟现实技术和计算机视觉领域,特别是基于多幅图像的静态头发建模领域,具体地说是由不同视点拍摄的多幅头发照片进行三维重建,包括生成带方向的三维发丝段头发模型、方向场求解及保留结构的方向场规则化以及构建基于多方向场的静态头发模型,主要用于数字游戏、影视动画及广告等领域。

背景技术

[0002] 头发建模是虚拟现实和计算机图形学领域研究的重要内容之一。头发建模主要有两种方法:一是基于物理的头发建模方法,采用符合物理规律的头发物理模型,通过设置不同的参数构造出不同的头发模型;二是基于图像的头发建模方法,利用采集的头发数据构造头发模型。
[0003] 一、基于物理的头发建模
[0004] 传统的头发建模是根据物理模型构造的,包括(Bertails,F.,Audoly,B.,Cani,M.,Querleux,B.,Leroy,F.and Lévêque,J.2006.Super-helices for predicting the dynamics of natural hair.ACM Transactions on Graphics(TOG),25,3,1180-1187.)(Selle,A.,Lentine,M.and Fedkiw,R.2008.A mass spring model for hair simulation.ACM Transactions on Graphics(TOG),27,3,64.)(Derouet-Jourdan,A.,Bertails-Descoubes,F.,Daviet,G.and Thollot,J.2013.Inverse dynamic hair modeling with frictional contact.ACM Transactions on Graphics(TOG),32,6,159.)(Chai,M.,Zheng,C.,Xu,W.and Zhou,K.2014.A Reduced Model for Interactive Hairs.ACM Transactions on Graphics(TOG),33,4,124.)。这些方法利用不同的物理模型来表示头发模型,之后用于仿真头发运动。这类方法建模过程不够直观,难以控制,计算量很大,构造的模型逼真度不高。本发明利用多视点采集的图像构造头发模型,具有建模速度快、模型逼真度高等优势。
[0005] 二、基于图像的头发建模
[0006] 基于图像的头发建模方法主要包括单视点图像建模和多视点图像建模。近期在单视点图像建模领域研究内容主要包括(Chai,M.,Wang,L.,Weng,Y.,Yu,Y.,Guo,B.and Zhou,K.2012.Single-view hair modeling for portrait manipulation.ACM Transactions on Graphics(TOG),31,4,116.)(Chai,M.,Wang,L.,Weng,Y.,Jin,X.and Zhou,K.2013.Dynamic hair manipulation in images and videos.ACM Transactions on Graphics(TOG),32,4,75.)(Hu L,Ma C,Luo L,et al.2015.Single-view hair modeling using a hairstyle database.ACM Transactions on Graphics(TOG),34,4,125)(Chai M,Luo L,Sunkavalli K,et al.2015.High-quality hair modeling from a single portrait photo.ACM Transactions on Graphics(TOG),34,6,204)。这些方法从单视点拍摄的单张照片或视频出发,重建三维头发模型。由于单视点建模问题在本质上是不适定问题,因此并不能得到完全真实的三维头发模型。本发明采用多视点采集的头发图像重建真实的三维头发模型,与此相关的研究方法主要包括(Paris,S.,H.M.and Sillion,F.X.,2004.Capture of hair geometry from multiple images.ACM Transactions on Graphics(TOG),23,3,712-719)(Wei,Y.,Ofek,E.,Quan,L.
and Shum,H.2005.Modeling hair from multiple views.ACM Transactions on
Graphics(TOG),24,3,816-820)(Paris,S.,Chang,W.,Kozhushnyan,O.I.,Jarosz,W.,Matusik,W.,Zwicker,M.and Durand,F.2008.Hair photobooth:geometric and photometric acquisition of real hairstyles.ACM Transactions on Graphics(TOG),27,3,30)。这类方法首先构造方向场,之后在头发区域从头皮生长发丝,但由于没有考虑头发的外部结构,重建的发型不能很好的保留头发外部结构,也不能很好的重建卷曲、波浪等复杂发型。
另外一类方法从头发的外部结构出发,采用自下而上的方法构建发型,包括(Luo,L.,Li,H.and Rusinkiewicz,S.2013.Structure-aware hair capture.ACM Transactions on Graphics(TOG),32,4,76)(Hu,L.,Ma,C.,Luo,L.and Li,H.,2014.Robust Hair Capture Using Simulated Examples.ACM Transactions on Graphics(TOG),33,4,126)。这类方法能够较好的保留头发的外部结构,但不能保证发根及发丝的分布符合真实。

发明内容

[0007] 本发明要解决的技术问题为:克服现有技术的不足,提供一种基于多方向场的逼真的静态头发建模方法,该方法既能保持头发的外部结构,使头发外表与采集图像近似,又能使发根和内部头发分布更加真实,具有较高的实用价值。
[0008] 本发明解决上述技术问题所采用的技术方案是:基于多方向场的逼真的静态头发建模方法,分为3个阶段:
[0009] 第1阶段,生成带方向的三维发丝段头发模型,该阶段首先利用方向滤波算子求解二维方向场,并求解可靠的二维发丝段,然后利用PMVS(Patch-based Multi-View Stereo)算法生成带方向的头发点数据,最后利用发丝段生成算法生成三维发丝段头发模型;
[0010] 第2阶段,基于第1阶段的结果求解方向场并进行保留结构的方向场规则化,该阶段分为2个步骤:
[0011] (1)根据第1阶段的结果,利用带约束的热扩散方程分别求解内部方向场、内部距离场和表面结构方向场;
[0012] (2)对内部方向场进行规则化映射和扩散,得到保留结构的规则化方向场;
[0013] 第3阶段,基于第2阶段的结果构建基于多方向场的静态头发模型,该阶段分为3个步骤:
[0014] (1)使用构建形状分布的方法,在头模型上指定区域生成均匀分布的发根,发根点方向由该点的切线和法线方向确定;
[0015] (2)使用保留结构的方向场和头发模型结构约束,构建发丝生长规则,逐点生长发丝;
[0016] (3)对生成的头发模型进行能量优化,生成逼真的三维发丝头发模型。
[0017] 本发明与现有技术相比的优点在于:
[0018] (1)本发明在生成三维发丝段头发模型中,使用了可靠的二维发丝段作为约束生长条件,提高了发丝逐点生长的准确程度,保证得到的三维发丝段头发模型与采集的头发图像更加相似。
[0019] (2)本发明从带方向的三维发丝段头发模型生成多个方向场,并对内部方向场使用保留结构的方向场规则化,保证发型内部发丝分布均匀,发丝的生长方向连续,同时能够保持发型外部结构。
[0020] (3)本发明在构建基于多方向场的静态头发模型中,从均匀分布的发根出发,逐点生长发丝,并对最终发丝模型进行基于发丝的能量优化,使得构建的头发模型更加真实[0021] 总之,本发明既能获得准确的三维发丝段头发模型,又能保证最终头发模型的发根及内部发丝分布符合物理直觉,同时还能够保持头发的外部结构,得到更加真实的三维头发模型。附图说明
[0022] 图1是本发明一种基于多方向场的逼真的静态头发建模方法流程图
[0023] 图2是本发明生成三维发丝段头发模型结果图;
[0024] 图3是本发明生成均匀分布的发根示意图;
[0025] 图4是本发明针对不同发型的三维重建效果图。

具体实施方式

[0026] 下面结合附图与实例对本发明作进一步详细描述:
[0027] 如图1所示,本发明的具体步骤如下(虚线框内步骤为已有技术):
[0028] 1、从标定后拍摄的多视点图像出发生成带方向的三维发丝段头发模型。
[0029] 首先利用已有技术对每一视点下的二维图像求解其方向场,再利用二维发丝段追踪算法求得可靠的二维发丝段S2D,方向场由32个对称的Gabor核函数构成,方向θ在[0,π]间均匀分布:
[0030]
[0031] 在上述核函数中,u、v分别表示在单幅图像中横向和竖向上的像素位置,本方法使用的参数值为σu=σv=2,λ=3。
[0032] 其次,利用PMVS(Patch-based Multi-View Stereo)算法生成初始头发点云数据,再结合每一视点对应的二维方向场和各个视点的标定信息,求解头发点云数据中各个点的方向,形成带方向的头发点云数据P。
[0033] 最后,利用发丝段生成算法生成三维发丝段头发模型,生成的三维发丝段头发模型结果如图2所示,该方法包括以下子步骤:
[0034] 1.1生成种子点{SPi}
[0035] 从PMVS算法生成的头发点云P中选取可信度大于某一阈值(如0.5)的点组合生成三维发丝段头发模型的种子点{SPi},并将种子点按可信度由大到小排序。
[0036] 1.2从一个种子点出发,追踪出一段三维发丝段S
[0037] 三维发丝段S是由三维空间中一系列的点{p1,p2,...,pn}连接而成,通过如下追踪操作生成一条三维发丝段上的点:1)对于一个种子点SPi,首先求得该种子点处的头发生长方向t(SPi)=±O(SPi),O(SPi)为头发点云P中SPi处的三维方向场;2)对于发丝段S中每一步生长的新点pi,当生长步长是δ(δ=1.0mm)时,求得临时新点的位置pi_temp=pi+t(SPi)δ;3)通过移动最小二乘法MLS函数求得pi_temp在点云P表面上对应的新点pi_MLS=MLS(pi_temp,P);4)通过二维发丝段修正函数对pi_MLS进行可靠的二维发丝段修正,得到修正后的点pi_2DCorr,修正函数定义为pi_2DCorr=Tra2DCorr(pi_MLS,VJ,S2D),其中,VJ为所有标定的多视点图像,S2D为所有生成的可靠二维发丝段,其处理过程为:对于输入点pi_MLS,首先将其投影到所有的VJ中,若在可靠的二维发丝段S2D中能够找到该点,则为可靠的生长点,pi_2DCorr=pi_MLS,否则通过最小化能量函数 进行修正,Vj表示第j个视点图像,图像Vj的投影矩阵为 通过公式 来
求得,其中(x1,x2,x3)是pi_MLS对应的三维空间点, 是S2D上距离二维投影点 在阈值0.1mm内的最近点,最终修正后的点为 5)对pi_2DCorr使用
移动最小二乘法MLS函数得到最终的点pi_final=MLS(pi_2DCorr,P),若满足以下两条件,则pi_final终止生长:1)|O(pi_final)·O(pi)|<0.9,点云P中点pi_final和点pi处的方向O(pi_final)和O(pi)不兼容,2) 表示点云P中点pi_final处周围点的数量;否
则将点pi_final加入到三维发丝段S中,继续生长新点,直到满足终止条件;6)将生成的三维发丝段S进行平滑操作,并将平滑后的S添加到三维发丝段头发模型S3D中,同时将种子点SPi从{SPi}移除。
[0038] 1.3方向一致性计算
[0039] 重复步骤1.2,直到{SPi}中所有种子点都被移除为止。最后对生成的三维发丝段头发模型S3D进行方向一致性计算,使得每根发丝S的方向都是沿重方向生长,同时沿远离头皮方向生长,对每根发丝定义发丝能量如公式(1)所示:
[0040] E(S)=H(S0)-H(Sl)+Dis(S0)-Dis(Sl) (1)
[0041] 公式(1)中,S0和Sl分别对应长度为l的发丝S上第1个位置处的点和第l个位置处的点,H是一个深度函数,对于发丝S上的一点p,其深度能量为H(p)=p·Vdown,Vdown是发丝上从发根到发梢的一个参考方向,Dis(p)表示发丝S上点p到最近发根点的距离。当发丝能量E(S)小于等于0时,表示发丝S上点是从发根到发梢排列,当发丝能量E(S)大于0时,需要将发丝S上的点进行反向重排列,确保所有发丝的方向都是由发根到发梢排列。
[0042] 2、求解多个方向场
[0043] 由头发点云数据得到三维规则化网格,再将三维发丝段头发模型映射到规则化网格上,由热扩散方程得到内部方向场,同时求解内部距离场和表面结构方向场,步骤如下:
[0044] 第一步,由头发点云数据P求解头发区域边界盒,并将其离散化为三维规则化网格,网格分辨率设置为2mm;
[0045] 第二步,将三维发丝段头发模型S3D映射到规则化网格上,构建内部方向场V,三维发丝经过的网格点处的方向由发丝上该点的切线方向确定,没有三维发丝经过的网格点的方向通过热扩散方程 确定,已知方向的网格点作为边界约束,T
V=vv,v是网格点处的方向;
[0046] 第三步,从三维发丝段头发模型S3D出发,根据现有方法生成保留头发局部结构的发丝带子Ribbon,在进行方向一致性求解后将带方向的Ribbon映射到规则化网格上,构建表面结构方向场Sdir,有发丝带Ribbon通过的网格点处的方向由发丝带上该点的切线方向确定,其余未知点通过求解热扩散方程求得;
[0047] 第四步,在三维规则化网格内部求解内部距离场I,在头皮表面经过的网格点值为0,三维发丝段头发模型S3D经过的网格点值为1,网格边界上点的值为该网格点到三维发丝段头发模型S3D上最近发丝点的距离加上1,其余点的方向通过热扩散方程求得。
[0048] 3、保留结构的方向场规则化
[0049] 保留结构的方向场规则化主要是对内部方向场V进行规则化映射,使得在内部距离场I值为1处外部结构能够保留,在内部距离场I中值小于1处的内部头发平滑,步骤如下:
[0050] 第一步,首先对头发内部方向场V每个网格点处的方向v转化为结构张量V=vvT,则对称矩阵V的最大特征值对应的特征向量仍是网格点处的方向v;
[0051] 第二步,将第一步中得到的V通过球面三维高斯核K(σ)进行卷积得到λ1≥λ2≥λ3是Vσ对应的由大到小排列的特征值,其均值为 定义规则
化映射为 m可以体现所期望的结构;
[0052] 第三步,定义规则化扩散矩阵为 μi(i=1,2,3)决定了沿着ui(i=1,2,3)扩散的平滑程度;
[0053] 第四步,根据第三步得到的规则化扩散矩阵D,更新结构张量V中的每一个分量值为 V对应最大特征值的特征向量v为规则化网格上每个网格点处的最终方向。
[0054] 4、生成逼真的发根
[0055] 生成逼真的发根主要包括以下三步:首先,手动选定头发区域并计算每个三面片对应的面积和头发生长区域的总面积;其次在每个三角面片上按面积比例生成均匀分布的发根;最后对生成的发根赋予发根生长方向,最终获得逼真的发根,生成均匀分布的发根如图3所示,具体步骤如下:
[0056] 第一步,在三角面片表示的头模型中手动选取头发生长区域,计算每个三角面片对应的面积Si(i=1,2,...,Ntotal_patch)和头发生长区域对应的全部三角面片的总面积[0057] 第二步,整个头发模型对应的头发总数量为Ntotal_hair,则每个三角面片对应的头发数量为Ni_hair=Ntotal_hair*(Si/Stotal_patch)(i=1,2,...,Ntotal_patch),在顶点为(Vertex0,Vertex1,Vertex2)的第i个三角面片上随机生成Ni_hair个发根点,每一个发根点的位置由 确定,rand1和rand2在0到1之间,且 设为顶点Vertex0到对面边Vertex1Vertex2的
百分比,rand2表示沿着边Vertex1Vertex2的百分比,使用rand1的平方根可以得到对应于三角面片表面面积的均匀的随机采样发根点;
[0058] 第三步,分别求得每一个发根点处的法向和切向,设定发根倾斜因子inclineFactor,求得每一个发根点处的头发生长方向,使其在法向和切向之间,最终生成逼真的发根。
[0059] 5、构建发丝生长规则
[0060] 根据已有方法可将保留头发局部结构的发丝带Ribbon转化为发丝束Wisp,从发丝束Wisp中得到非连接到头皮的头发段NAS,NAS能够保留头发的局部结构,使用保留结构的方向场和头发模型结构约束,构建发丝生长规则,逐点生长单根发丝的步骤如下:
[0061] 第一步,每根发丝段S={p1,p2,...,pn}是由三维空间中一系列连续的点连接而成,p1表示发根点,对于每一个新生长的点pi,其新位置由公式(2)决定,
[0062]
[0063] 其中,pi-1是头发段S上pi的前一个点的位置,V(pi-1)和I(pi-1)分别表示在点pi-1处的内部方向场值和内部距离场值, 表示在点pi-1处的内部距离场梯度值,Ogrow(pi-1)表示在发丝段S上位置pi-1处的生长方向,S上第一个点的生长方向由发根方向决定,S上其余点处的生长方向由(pi-1-pi-2)来决定,Sdir(pi-1)是头发表面上距离点pi-1处距离最近的表面结构方向场处的值,α1,α2,α3,α4是动态变化的权重值,分别对应于各个受约束的方向场;
[0064] 第二步,为了求解新点pi,先计算点pi-1到发丝带Ribbon上最近点的距离dsur,根据dsur的值,α1,α2,α4的取值动态变化,如果dsur
[0065] 第三步,重复生长新点pi,若新生长的点pi位置超过头发边界区域,即:I(pi)>Ibound,(取阈值Ibound=1.1),或生长的单根头发S长度达到最大长度,则停止生长;
[0066] 第四步,为保留外部头发的结构细节,在得到新点pi之后,从NAS中查找距离pi最近的点q,若满足以下两个条件(i)||pi-q||<△,(ii)|Ogrow(pi)·Ogrow(q)|>To,则将q所在头发段中q点及其以后的所有的点都加入到新生长的头发段S中,△和To是阈值,根据实践经验分别设为△=0.2mm,To=0.7。
[0067] 6、优化三维发丝头发模型
[0068] 为生成逼真的三维发丝头发模型,对生成的头发模型中的每一根发丝S构建能量项,使用最小二乘法求解能量最优化问题,求得发丝上点的新位置,具体步骤为:
[0069] 第一步,构建规则化能量项Ereg, Ereg确保新生成的点pi尽量靠近初始位置
[0070] 第二步,构建方向一致能量项Eort, Eort确保头发的生长尽可能与内部方向场V一致,δ是生长步长,其取值同公式(2);
[0071] 第三步,构建邻居能量项Enei, Enei使得发丝S尽可能与其周围的发丝相一致, 是距离 在Rp(Rp=1mm)范围内的所有头发丝
中的每一条头发丝上距离 最近的点的集合, Ogrow(q)表示发丝上q点处的生长
方向,wtotal是所有权重wq的总和, 取σd=2.0;
[0072] 第四步,构建平滑能量项Esmth, Esmth使发丝S从整体上能够平滑;
[0073] 第五步,总的能量项Etotal由四者加权累加得到,Etotal=αregEreg+αortEort+αneiEnei+αsmthEsmth,αreg,αort,αnei,αsmth是分别对应于各能量项的权值,根据对总能量的贡献程度分别设置为αreg=0.1,αort=2,αnei=5,αsmth=10,最后使用最小二乘法求解能量最优化问题,即可得到发丝S上所有新点的位置,最终得到的针对不同发型的三维重建效果如图4所示。
[0074] 本发明说明书中未作详细阐述的内容属于本领域专业技术人员公知的现有技术。
[0075] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈