一种基于单幅图像的全自动三维头发建模方法

文档序号:10489812阅读:430来源:国知局
一种基于单幅图像的全自动三维头发建模方法
【专利摘要】本发明公开了一种基于单幅人像图像的全自动三维头发建模方法,该方法主要分为四个步骤:头发图像训练数据的生成,基于分层深度神经网络的头发分割和生长方向估计,三维头发样本的生成和组织,以及数据驱动的三维头发建模;本发明可以全自动地鲁棒地生成完整的高质量的三维模型,质量达到当前最先进的基于用户交互的技术的水平。本发明技术可以用在一系列应用中,如人像发型编辑,发型风格空间的浏览,以及搜索相似发型的互联网图像。
【专利说明】
一种基于单幅图像的全自动三维头发建模方法
技术领域
[0001] 本发明涉及基于单幅图像的三维建模领域,尤其涉及对人像图片的头发进行自动 三维建模的方法。
【背景技术】
[0002] 基于图像的头发建模是一个创造高质量头发几何的有效途径。基于多视角图像的 头发采集技术经常需要复杂的设备配置和较长的处理周期(LUO,L.,LI,H.,AND RUSINKIEffICZ,S.2013.Structure-aware hair capture.ACM Transactions on Graphics (TOG )32,4,76.)(ECHEVARRIA ,J. I . , BRADLEY,D., GUTIERREZ ,D. ,AND BEELER, T.2014.Capturing and stylizing hair for 3d fabrication.ACM Transactions on Graphics(T0G)33,4,125.)(HU,L.,MA,C.,LU0,L.,AND LI,H.2014.Robust hair capture using simulated examples.ACM Transactions on Graphics(TOG)33,4,126.)(HU,L., MA,C.,LUO,L.,WEI,L.-Y.,AND LI,H.2014.Capturing braided hairstyles . ACM Transactions on Graphics(T0G)33,6,225.),所以不适用于普通用户,而且要生成大量三 维头发模型的话代价太大。
[0003] 最近基于单幅图像的头发建模技术取得了令人印象深刻的结果。现有技术使用不 同类型的先验知识完成建模,如使用图层边界和遮挡(CHAI,M.,WANG,L.,WENG,Y.,YU,Y., GUO,B.,AND ZHOU,K.2012.Single-view hair modeling for portrait manipulation.CM Transactions on Graphics(T0G)31,4,116)(CHAI,M.,WANG,L.,WENG,Y.,JIN,X.,AND ZHOU,K.2013.Dynamic hair manipulation in images and videos.ACM Transactions 〇116抑口11化8(1'06)32,4,75.),使用三维头发模型数据库(!11]丄.,]\^,(:.,〇]〇,1^,厶冊1^1, H.2015. Single-view hair modeling using a hairstyle database.ACM Transactions 〇116以口1^。8(1'06)34,4,125.),以及使用阴影线索(〇^1,]\1.,〇]0,1^,51]疆厶¥厶1^1,1(·, CARR,N.,HADAP,S.,747AND ZHOU,K.2015.High-quality hair modeling from a single portrait photo.ACM Transactions on Graphics(T0G)34,6,204·)。但是这些技术都需要 不同类型的用户交互,如需要手动将头发从图片中分割出来,或需要用户提供笔画提供头 发方向信息,或需要用户画二维发束完成搜索。这些用户交互通常需要5分钟,而得到最终 结果需要20分钟左右,这就限制了大规模头发模型的生成。和上述方法不同,本发明是全自 动,而且效率高,可以处理互联网级别的大量图片。

【发明内容】

[0004] 本发明的目的在于针对现有技术的不足,提供了一种新的全自动的基于单幅图像 的三维头发建模方法,通过分层深度卷积神经网络取得鲁棒、高精度的头发分割结果和方 向估计,再利用数据驱动的方法将三维头发样本模型匹配到分割出的头发和方向图,得到 最终的以发束表达的头发模型。该方法的结果可媲美当前借助用户交互的方法的结果,具 有很高的实用价值。
[0005] 本发明是通过以下技术方案实现的,一种基于单幅图像的全自动三维头发建模方 法,包括以下步骤:
[0006] (1)头发训练数据的预处理:标记头发的二维掩码和生长方向,并通过无监督聚类 方法得到不同发型的分类。
[0007] (2)全自动高精度的头发分割方法:基于步骤(1)的标记数据训练深度神经网络, 利用训练得到的分层深度卷积神经网络完成头发的类型识别,头发的分割和头发生长方向 的估计;
[0008] (3)三维头发样本的生成和组织:通过对原始头发模型的发束分解和再组合生成 大量新发型样本,并投影生成二维掩码图和方向图,方便后续匹配;
[0009] (4)数据驱动的头发建模:将步骤(3)中的三维头发样本和步骤(2)分割出的头发 掩码图和方向图进行匹配、变形,并生成最终模型;
[0010] 本发明的有益效果是,本发明首次提出了基于单幅图像的全自动三维头发建模的 方法,借助深度神经网络完成高精度鲁棒的头发分割和生长方向估计,并借助数据驱动的 方法完成高效的头发匹配和建模。本发明取得的效果可媲美当今借助用户交互的方法取得 的效果,自动高效,可用于大范围的互联网人像图片的建模。
【附图说明】
[0011] 图1是训练数据的标记图;左列:原始图片冲列:头发分割掩码图;右列:基于方向 的子区域分割和方向图;
[0012] 图2是发型识别、头发分割和方向估计的流程图;给定头发区域的估计,首先识别 发型的类别,再根据类别选择对应的分割网络和方向估计网络得到分割掩码图和方向图;
[0013] 图3是三维头发样本的分割和再组合生成新样本的过程图;每行左列:两个原始头 发样本;每行右边三列:分解原始发束再组合生成的三个新头发样本;
[0014] 图4是本发明自动从单幅图像建模出的三维头发结果图;每行从左到右:输入图 像,自动分割的头发掩码图和方向估计图,变形后的匹配头发样本,最终3个不同视角下的 最终发束级别的头发模型。
【具体实施方式】
[0015] 本发明的核心技术利用深度神经网络完成全自动的头发高精度分割和方向估计, 并利用数据驱动的头发匹配方法,完成高质量头发三维建模。该方法主要分为如下四个主 要步骤:头发训练数据的预处理、基于深度神经网络的头发分割和方向估计、三维头发样本 的生成和组织、数据驱动的三维头发建模。
[0016] 1.头发训练数据的预处理:标记头发的二维掩码和生长方向,并通过无监督聚类 方法得到不同发型的分类;
[0017] 1.1训练数据标记:
[0018] 使用两万张人像照片作为训练数据,这些照片具有清晰可见的人脸和头发,并且 具有常见的发型和足够的光照亮度。使用?&1的5 616(^1〇11〇^11],1.,51^,^冊3!1·,!!.-Y.2009.Paint selection.In ACM Transactions on Graphics(ToG),vol.28,ACM,69.)枢 图得到头发的二值区域掩码Mh。对于每张照片,将头发区域M h分成数个具有一致的平滑变化 的头发生长方向子区域。对于每个子区域用一个笔画标记发束的生长方向,然后将该方向 传播到子区域所有像素,并和在每个像素上计算的不定向朝向图O合在一起产生方向图D。 最后,将连续的方向范围[0,2π)离散化为四个区间([0,0.5π),[0.531,π),[π,1.5π),[1.531, 24),然后将这四个标记分配给每个像素得到方向标记图Md。不在头发区域的像素也会有 一个标记。图1给出了标记头发掩码图和方向图的例子。
[0019] 1.2发型分类计算
[0020]对于每个标记的图片I,首先使用鲁棒的人脸对齐方法(CA0,X.,WEI,Y.,WEN,F., AND SUN,J.2014.Face alignment by explicit shape regression.International Journal of Computer Vision 107,2,177-190.)来检测和定位人脸标志,再将I匹配到参 考人脸坐标系中的Γ,完成大小和正方向的矫正。接着围绕人脸中心的极坐标系统构建了 环形分布直方图(划分为M个区间,n H=16)。每个区间记录了极角度落在该区间的头发像素 的数目。归一化后,该直方图可被看成图片的特征向量。最后,基于这些分布特征向量,使用 K-means聚类方法,将训练图片的发型分为四类。两个直方图H a、Hb的距离使用Ll范式的 Earth Mover距离(EMD)(LING,H. ,AND 0KADA,K.2007.An efficient earth mover's distance algorithm for robust histogram comparison. Pattern Analysis and Machine Intelligence,IEEE Transactions on 29,5,820 840-853.)计算。各聚类中心g 是和类内其它成员距离之和最小的成员。
[0021] 2.基于深度神经网络的头发分割和方向估计:基于步骤1的标记数据训练深度神 经网络,利用训练得到的分层深度卷积神经网络完成头发的类型识别,头发的分割和头发 生长方向的估计;算法流程如图2所示。
[0022] 2.1头发区域的估计
[0023]给定一张人像照片,首先使用步骤1.2中的人脸对齐方法检测一系列人脸特征点, 将该照片对齐到参考人脸坐标系。接着,对于每一类发型分布,挑选20个典型的头发包围 盒,通过旋转和缩放对齐到照片的人脸区域,产生一组候选头发区域。典型的头发包围盒是 通过将每一类头发的包围盒预聚类产生。这些候选区域将被裁剪,并独立传给后续识别器 进行发型识别。
[0024] 2.2发型识别,头发分割和方向估计
[0025]基于步骤2.1得到的头发区域,进行发型识别。发型识别是使用R-CNN的深度卷积 神经网络结构(GIRSHICK,R.,D0NAHUE,J.,DARRELL,T. ,AND MALIK,J.2014.Rich feature hierarchies for accurate object detection and semantic segmentation. In Computer Vision and Pattern Recognition(CVPR),2014IEEE Conference on, IEEE, 580-587.),并在步骤I. I标记好的头发训练数据上进行进一步学习。得到发型的类别后,进 行头发区域的分割和方向估计。头发分割和头发方向估计都是基于公共的深度神经网络 VGG16设计的(SIM0NYAN,K. ,AND ZISSERMAN,A.2014.Very deep convolutional networks for large-scale image recognition · arXivpreprint859arXiv: 1409 · 1556 ·),该网络是 在公共数据集ImageNet上预训练的识别1000种类别的分类网络,本发明在此基础上做了改 动使得网络的输出是每个像素的标记(分割器的输出标记数是2,方向估计器的输出标记数 是5)。首先,最后两层的2X2的max-pooling层被去除,以提高网络的层分辨率,而且跟随卷 积层之后的接受域也分别从3 X 3和7 X 7扩展为5 X 5和25 X 25(用0填充)。其次,所有的全连 接层被换成了卷基层,这样可以让单一识别网络和本发明的逐像素标记的分割器兼容。第 三,在训练阶段,损失层在整张图像上计算了输出标记和人工标注标记间的交叉熵之和(由 于VGG16中有三个max-pooling层,图像的分辨率降采样了八倍)。最后,在测试阶段,通过双 线性差值将输出的标记图升采样到原图片大小,并使用全连接的CRF进行改善。
[0026]本发明在训练和测试阶段的图像大小均为512X512。在测试阶段,给定人像照片 I,人脸检测器首先将图像对齐到人脸坐标系中并产生围绕人脸的一组头发区域估计。然后 发型识别网络测试每个候选区域,选择得分最高的作为类型作为头发的发型类别。对应于 此类别的头发分割网络和方向估计网络会依次施加到I上。分割网络的输出是和I相同大小 的头发分割掩码此(带有一个alpha通道),而方向估计网络的输出是一个等大小的方向标 记图,该图会和不定向朝向图结合在一起生成最终的方向图D:。
[0027] 3.三维头发样本的生成和组织:通过对原始头发模型的发束分解和再组合生成大 量新发型样本,并投影生成二维掩码图和方向图,方便后续匹配;
[0028] 3.1预处理
[0029]搜集300个不同发型的三维模型{H}。所有的模型已经被对齐到同一个参考人头模 型,并且由大量的独立薄多边形发束{SH}组成。每个发束代表一缕生长一致的头发,生长方 向被编码在参数化纹理坐标中。对于每一个模型做进一步处理以提升模型质量:对于没有 连接在头皮上的发束,寻找连接头皮的且和这些发束最近的发束,将它们平滑连接起来形 成更长的发束,连接到头皮上;对于过粗的发束(超过人头半径的十分之一),均匀将这些发 束沿着生长方向分成两组发束,知道发束的宽度达到要求。
[0030] 3.2样本的生成
[0031] 将步骤3.1得到的三维头发样本分解成不同的发束组,首先使用简化的内部表达 来表示每个发束{SJ,即用穿过发束中心的均匀划分的折线{ρ?,&,...,<丨和平均半径口表 示。接着对于每个头发模型,将它的发束聚类成不同的发束组,发束间的距离定义为:
[0032]
[0033] 其中Sa、Sb是发束,na、nb是发束的折线数目,乂、#是折线,发束的平均半 径。每个头发模型被分解成十个发束组左右,并将这些发束组组合起来生成更多的新样本。 图3给出了头发样本分解和再组合生成新样本的例子。
[0034] 3.3样本的组织
[0035] 生成新的样本后,本发明按照样本正视图的头发掩码面积的大小,升序将所有模 型组织起来。为了进一步提升匹配效率,进一步地为每个头发样本H生成两个投影图:
[0036] 头发区域掩码图它是头发样本的二维投影的掩码图。为了避免杂散发束的影 响,本发明使用高斯滤波来平滑处理掩码图。
[0037] 方向图本发明使用颜色来表示投影的头发方向,即用方向向量的XYZ表示RGB 三通道的值。这样可绘制出头发样本的二维投影的方向图。
[0038]为了处理非正面视角,本发明在偏航角和俯仰角的[-V4,Jt/4]范围内均匀采样6 个角度。这样每个样本会有6X6组头发掩码图和方向图。为了后续的匹配计算效率,所有的 图都降采样到100 X 100。
[0039] 4.数据驱动的头发建模:将步骤3中的三维头发样本和步骤2分割出的头发掩码图 和方向图进行匹配、变形,并生成最终模型;
[0040] 4.1基于图像的三维头发样本匹配
[0041] 使用步骤2.2得到头发掩码图和方向图来选择一组合适的三维样本。通过两步比 较来完成快速的大量数据样本的搜索:
[0042] 面积比较:首先根据脸部特征点,将输入图像对齐到样本投影图的坐标系中。然后 比较输入图像的头发掩码面积IM11和样本投影的头发掩码面积I Mh I。样本的掩码面积在 (〇.8IM11,1.25 ImiI)范围内得以保留。
[0043] 图像匹配:对于每一个通过第一步比较的样本,本发明进一步将样本的头发掩码 图和方向图(Μ;;,/);)与输入图像的头发掩码图和方向图(M;/);:)进行比较。如果输入图像 不是正面图,本发明从预计算的6X6组样本投影图中挑选出视角最接近的图进行比较。头 发掩码图的比较是基于Mi边界的距离场<(BALAN,A.0.,SIGAL,L.,BLACK,M. J.,DAVIS, J.E.,AND HAUSSECKER,H.ff.2007.Detailed human shape and pose from images. In Computer Vision and Pattern Recognition,2007.CVPR'07.IEEE Conference on,IEEE, 1_8.)讲彳丁计覚:
[0044]

[0045] 其中分别是样本的头发掩码图和输入图像的头发掩码图,表示 两个掩码间的对称差,W/(/)是距离场的值。方向图的距离定义为像素的方向差d de[0,ji) 的和:
[0046]
[0047] 其中,戌,D;分别是样本的方向图和输入图像的方向图,财;。M;是两个掩码图 的重叠区域,是重叠区域的像素数目,尤(%(〇, A、))是重叠的像素的方向差。最后 保留满足和冬(成,贫)<0.5的样本作为最终候选样本{H}。
[0048] 4.2头发变形
[0049] 首先进行样本头发掩码图和输入图像的掩码图的边界匹配。对于每个候选样本H, 首先将它变换到I中脸的姿势,然后按照步骤3.3的方法渲染得到头发掩码和方向图(Mh, Dh)。这里渲染图的分辨率和输入图一样,而不是降采样的小图。然后分别在掩码Mh/M〗的边 界分别均匀采样200/2000个点{Ρ^ΛΡ 1}。对于每个边界点P1fVP11,将它的位置标记为 ,/太,向外法向标记为W。计算边界间的点对点对应MQpHHiP 1})。对于候选模型的 头发掩码边界的每个点P1H,它在输入头发掩码边界的最优对应点通过优化如下匹配能 量方程求得:
[0050]
[0051] 其中Ep和Ee是衡量点匹配和边匹配的能量项。Ep希望点对的位置和法向尽可能接 近,权重λη的值为10;E e希望映射M尽可能维持原边界的长度:
[0052]
[0053]
[0054] 其中是候选样本的头发掩码图的边界点位置,i4(i)是它在输入头发掩码边界 的最优对应点位置,《f,分别是/f和的法向,权重,/4, /4/+?分别是和 的相邻的采样点。上述能量方程在隐式马尔科夫模型(HMM)框架下,使用经典的 Viterbi算法(FORNEY JR,G.D.1973.The viterbi algorithm.Proceedings of the IEEE 61,3,268-278)求解。
[0055] 边界匹配后,进一步通过全局平滑映射函数W(Mh^Mi)将边界的对应扩散到Mh的所 有像素。该函数使用了Thin-Plate-Spline(TPS)算法:
[0056]
[0057] 其中是在输入图像I中的对应位置C3Ef(W)是对应矩阵W的二阶偏导的 Frobenius 范式。权重 λ= 1〇〇〇。
[0058] 最后诵忖下而的优化函数将候诜样太樟型H的每个顶点V变形到目标ν' :
[0059]
[0060]其中Vh是样本H的所有顶点。W(Vi)是Vi的对应位置,它的XY坐标由上述全局平滑映 射函数W得到,而保持Z坐标不变。△是基于余切函数的离散网格拉普拉斯操作符(DESBRUN, Μ.,MEYER,M.,SCHRODER,Ρ.,AND BARR,A.Η.1999.Implicit fairing of irregular meshes using diffusion and curvature flow.In Proceedings of ACM SIGGRAPH,317-324.) ",是原模型H上的顶点^的拉普拉斯坐标的大小。权重As = l。该优化函数可以使用非 精确高斯牛顿方法求解(HUANG ,SHI ,X. ,LIU,X. ,ZHOU,K. ,WEI ,L.-Y· ,TENG,S.-Η. ,ΒΑ0, H.,GU0,B-,AND SHUM,H.-Y.2006. Subspace gradient domain mesh deformation.ACM Trans.Graph.25,3(July),1126-1134.)。经过变形后,可以得到与输入图像匹配更好的头 发样本IH'}。
[0061 ] 4.3最终头发生成
[0062]对于步骤4.2变形得到的候选样本{H'},在全像素图上进行最终方向图的比较(比 较函数和步骤4.1 一致),并挑选方向图匹配最好的模型H*来生成最终头发模型。接着将H* 在整个模型的包围盒内转化为三维方向体表达,再以H*的方向向量和头皮区域的表面法向 作为约束,将方向扩散到整个体内。然后以体方向场为引导,在头皮上均匀采样种子生成 10000个发束。最后,将这些发束根据生长方向估计图进行变形得到最终头发模型(HU,L., MA,C.,LUO,L.,AND LI,Η.2015.Single-view hair modeling using a hairstyle database.ACM Transactions on Graphics(T0G)34,4,125·)。图4给出了从单幅图像生成 最终头发模型的例子。
[0063] 实施实例
[0064] 发明人在一台配备Intel Core i7-3770中央处理器,NVidia GTX970图形处理器 及32GB内存的机器上实现了本发明的实施实例。发明人采用所有在【具体实施方式】中列出的 参数值,得到了附图中所示的所有实验结果。本发明可以有效地从大量英特网图片中生成 多种发型的三维模型,这些发束级别的三维模型很好地匹配了输入的图像。对于一张典型 的800X800图像,整个处理流程可在1分钟之内完成:头发分割和方向估计少于3秒,三维头 发样本的匹配和变形大概需要20秒,最终发束生成少于30秒。在准备训练数据方面,处理一 张图片需要平均1分钟;原始三维头发样本的分解和再生成需要少于10小时;而神经网络的 训练大概需要8小时。
【主权项】
1. 一种基于单幅图像的全自动三维头发建模方法,其特征在于,包括以下步骤: (1) 头发训练数据的预处理:标记头发掩码和头发生长方向图,并通过无监督聚类方法 得到不同发型的分类。 (2) 全自动高精度的头发分割和方向估计方法:基于步骤1的标记数据训练深度神经网 络,利用训练得到的分层深度卷积神经网络完成头发的类型识别,头发的分割和头发生长 方向的估计。 (3) 三维头发样本的生成和组织:通过对原始头发模型的发束分解和再组合生成大量 新发型样本,并投影生成头发掩码图和方向图,方便后续匹配。 (4) 数据驱动的头发建模:将步骤3中的三维头发样本和步骤2分割出的头发掩码图和 方向图进行匹配、变形,并生成最终模型。2. 根据权利要求1所述的基于单幅图像的全自动三维头发建模方法,其特征在于,所述 步骤1包括如下子步骤: (1.1) 从英特网下载大量包含头发的人像图片,标记出头发掩码和头发生长方向图。 (1.2) 利用步骤1.1中得到的头发标记数据,计算各种发型的分布特征,进行聚类。3. 根据权利要求1所述的基于单幅图像的全自动三维头发建模方法,其特征在于,所述 步骤2包括如下子步骤: (2.1) 对输入图像中的头发区域进行自动估计。 (2.2) 基于步骤2.1得到的头发区域,利用深度神经网络R-CNN进行发型类别的识别。 (2.3) 基于步骤2.2得到的头发类型选择对应的分割神经网络进行将头发从图片中分 割出来,得到头发掩码图。 (2.4) 基于步骤2.2得到的头发类型选择对应的方向估计神经网络预测对应头发的方 向图。4. 根据权利要求1所述的基于单幅图像的全自动三维头发建模方法,其特征在于,所述 步骤3包括如下子步骤: (3.1) 将原始三维头发模型的发束进行分解,再混合分解的发束生成新头发样本。 (3.2) 将步骤3.1得到的头发样本投影生成头发掩码图和方向图,方便后续匹配。5. 根据权利要求1所述的基于单幅图像的全自动三维头发建模方法,其特征在于,所述 步骤4包括如下子步骤: (4.1) 将步骤2中分割出的头发掩码图和生长方向图,与步骤3中的样本投影生成的头 发掩码图和生长方向图进行匹配,挑选一组合适的样本。 (4.2) 将步骤4.1的头发样本进行变形,更好地匹配图像中的头发。 (4.3) 将步骤4.2得到的变形样本按照步骤4.1的方法进行方向图的匹配,挑选最佳样 本生成最终头发模型。
【文档编号】G06T17/00GK105844706SQ201610244614
【公开日】2016年8月10日
【申请日】2016年4月19日
【发明人】周昆, 柴蒙磊
【申请人】浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1