CN116416376A - 一种三维头发的重建方法、***、电子设备及存储介质 - Google Patents

一种三维头发的重建方法、***、电子设备及存储介质 Download PDF

Info

Publication number
CN116416376A
CN116416376A CN202310191306.9A CN202310191306A CN116416376A CN 116416376 A CN116416376 A CN 116416376A CN 202310191306 A CN202310191306 A CN 202310191306A CN 116416376 A CN116416376 A CN 116416376A
Authority
CN
China
Prior art keywords
hair
dimensional
voxel
training
network
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.)
Pending
Application number
CN202310191306.9A
Other languages
English (en)
Inventor
周余
高欣
荣辰初
于耀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202310191306.9A priority Critical patent/CN116416376A/zh
Publication of CN116416376A publication Critical patent/CN116416376A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开一种三维头发的重建方法、***、电子设备及存储介质,涉及计算机图形学与计算机视觉技术领域,所述方法包括:获取待重建RGB人像;将待重建RGB人像输入三维体素头发重建模型中得到目标三维体素头发;三维体素头发重建模型利用训练人像集、三维头发训练集和对应的文本对重建网络训练得到;重建网络包括图像编码器和训练好的体素解码器,训练好的体素解码器根据训练好的VAE‑Patch_SNGAN网络确定,训练好的VAE‑Patch_SNGAN网络利用三维头发训练集对VAE‑Patch_SNGAN网络进行训练得到;根据目标三维体素头发重建目标三维头发图像。本发明提高了三维头发的重建速度和精度。

Description

一种三维头发的重建方法、***、电子设备及存储介质
技术领域
本发明涉及计算机图形学与计算机视觉技术领域,特别是涉及一种三维头发的重建方法、***、电子设备及存储介质。
背景技术
头发是人重要的外形特征。近年来随着游戏等行业的快速发展,数字虚拟人建模显得愈发重要。由于头发几何的复杂性,在建模高质量虚拟人角色时,创建高质量的三维头发是最耗时的任务之一。因此有许多工作致力于实现自动化的三维头发建模。
现有的从图片重建头发几何的方法,主要包括多视图和单视图两种技术方案。基于多视图的建模方案借鉴传统的多视角重建技术,通过特征匹配求解深度值,获得粗糙的头发点云,然后根据点云构造发丝。这类方案大多要借助昂贵的硬件设备,如使用全方位可控光源的头发捕捉***、使用Kinect扫描得到RGBD图像等。多视图方案可以重建出较为精确的头发几何,但是设备复杂、算法处理时间长,因此对普通用户不够友好,难以被广泛地部署和使用。
基于单视图的建模方案则以一张RGB人像为输入,使用数据驱动或者深度学习的方法实现。数据驱动方法通过比对输入图像与数据库中的头发相似性来检索出一个最像的发型作为输出,然后对检索到的发型进一步优化,使其向输入图像靠近。该方法较为耗时,且严重依赖数据库,生成新数据的能力有限。
深度学习方法则会构建一个监督数据集,通过神经网络学习二维图片与三维发型之间的映射关系。监督数据集,即真实的发型图片与对应的三维发型成对的数据集往往难以获取,因此大多采用渲染数据库中的三维头发来构建虚拟数据集。然而三维头发数据数量较少,且渲染得到的图片与真实图片存在差异,这给推理阶段的网络使用带来了困难。此外头发的几何不同于仅用表面的面片即可完整表征的人脸,因此在使用可微渲染处理时反向梯度只能回传至表面,给网络的无监督学习带来了困难。
单视图方法的优点是用户友好,可以直接使用人像作为输入重建出较为合理的头发结构。特别地,基于神经网络的方法且可以生成数据集中不存在但类似的发型,且推理速度快。缺点是往往只能还原出大致的头发形状和结构,缺乏细节,也难以对训练数据中缺少的头发种类(如辫子)进行建模。
因此,现有的三维头发的重建方法存在重建速度慢、精度低的问题。
发明内容
本发明的目的是提供一种三维头发的重建方法、***、电子设备及存储介质,提高了三维头发的重建速度和精度。
为实现上述目的,本发明提供了如下方案:
一种三维头发的重建方法,所述方法包括:
获取待重建RGB人像;
将所述待重建RGB人像输入至三维体素头发重建模型中,得到目标三维体素头发;所述三维体素头发重建模型是利用训练人像集、三维头发训练集和所述三维头发训练集对应的文本对重建网络训练得到的;所述重建网络包括图像编码器和训练好的体素解码器,所述训练好的体素解码器是根据训练好的VAE-Patch_SNGAN网络确定的,所述训练好的VAE-Patch_SNGAN网络是利用所述三维头发训练集对VAE-Patch_SNGAN网络进行训练得到的,所述VAE-Patch_SNGAN网络包括:三维体素生成器和第一判别器,所述三维体素生成器包括体素编码器和体素解码器;
根据所述目标三维体素头发重建目标三维头发图像。
可选地,所述三维体素头发重建模型的训练过程,包括:
确定训练人像集、三维头发训练集和所述三维头发训练集对应的文本;所述训练人像集包括多张训练用RGB人像,所述三维头发训练集包括多个初始发丝体素对应的占用真值和方向真值;
确定每张所述训练用RGB人像的头发分割掩膜和头发方向图;
根据所述训练人像集和所述三维头发训练集,确定投影视角参数;所述投影视角参数包括:旋转矩阵和平移向量;
基于所述三维头发训练集对VAE-Patch_SNGAN网络进行训练,得到训练好的VAE-Patch_SNGAN网络;
基于图像编码器和训练好的体素解码器,构建重建网络;
对所述三维头发训练集进行渲染,得到渲染图片集;
基于所述渲染图片集与所述三维头发训练集对应的文本,确定带有文字描述的渲染图片集;
基于所述投影视角参数、所述训练用RGB人像的头发分割掩膜和头发方向图以及所述带有文字描述的渲染图片集,对所述重建网络进行训练,得到所述三维体素头发重建模型。
可选地,根据所述训练人像集和所述三维头发训练集,确定投影视角参数,具体包括:
确定训练用RGB人像中的多个2D人脸关键点;
根据所有所述2D人脸关键点和3D人脸关键点,确定所述投影视角参数;所述3D人脸关键点为与所述三维头发训练集中各所述发丝体素对应的发丝相对齐的标准人体的3D人脸关键点。
可选地,基于所述三维头发训练集对VAE-Patch_SNGAN网络进行训练,得到训练好的VAE-Patch_SNGAN网络,具体包括:
基于所述三维体素生成器和所述第一判别器,构建所述VAE-Patch_SNGAN网络;
将所有所述初始发丝体素输入至所述VAE-Patch_SNGAN网络中,得到各所述初始发丝体素对应的重建发丝体素;
确定各所述重建发丝体素的占用值和方向值;
基于各所述重建发丝体素的占用值和方向值以及各所述初始发丝体素对应的占用真值和方向真值,构建所述VAE-Patch_SNGAN网络的第一损失函数;
基于所述第一损失函数对所述VAE-Patch_SNGAN网络进行微调,得到所述训练好的VAE-Patch_SNGAN网络。
可选地,基于所述投影视角参数、所述训练用RGB人像的头发分割掩膜和头发方向图以及所述带有文字描述的渲染图片集,对所述重建网络进行训练,得到所述三维体素头发重建模型,具体包括:
将所述训练用RGB人像的头发分割掩膜和头发方向图输入至所述重建网络中,得到多个重建三维体素头发;
确定各所述重建三维体素头发的占用值和方向值;
判断所述带有文字描述的渲染图片集中的各带有文字描述的渲染图片是否有三维真值;
若是,则根据有三维真值的带有文字描述的渲染图片对应的占用真值和方向真值以及各所述重建三维体素头发的占用值和方向值,构建所述重建网络的第二损失函数,并基于所述第二损失函数对所述重建网络进行微调,得到所述三维体素头发重建模型;
若否,则将没有三维真值的带有文字描述的渲染图片对应的所述重建三维体素头发输入至可微体渲染器中,基于所述投影视角参数进行渲染,得到渲染后的头发分割掩膜和头发方向图,并根据所述训练用RGB人像的头发分割掩膜和头发方向图以及渲染后的头发分割掩膜和头发方向图构建所述重建网络的第三损失函数,并基于所述第三损失函数对所述重建网络进行微调,得到所述三维体素头发重建模型。
可选地,所述三维头发训练集的确定方法,包括:
获取初始三维头发集;所述三维头发集包括多组初始发丝点云;
将每组初始发丝点云转化为所述初始发丝体素,并确定每个所述初始发丝体素的占用值和头发方向值,从而确定所述三维头发训练集。
一种三维头发的重建***,所述***包括:
待重建RGB人像获取模块,用于获取待重建RGB人像;
目标三维体素头发确定模块,用于将所述待重建RGB人像输入至三维体素头发重建模型中,得到目标三维体素头发;所述三维体素头发重建模型是利用训练人像集、三维头发训练集和所述三维头发训练集对应的文本对重建网络训练得到的;所述重建网络包括图像编码器和训练好的体素解码器,所述训练好的体素解码器是根据训练好的VAE-Patch_SNGAN网络确定的,所述训练好的VAE-Patch_SNGAN网络是利用所述三维头发训练集对VAE-Patch_SNGAN网络进行训练得到的,所述VAE-Patch_SNGAN网络包括:三维体素生成器和第一判别器,所述三维体素生成器包括体素编码器和体素解码器;
目标三维体素头发确定模块,用于根据所述目标三维体素头发重建目标三维头发图像。
一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述所述的三维头发的重建方法。
一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如上述所述的三维头发的重建方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种三维头发的重建方法、***、电子设备及存储介质,基于VAE-Patch_SNGAN网络构建三维体素头发重建模型,可以提升重建头发的细节,提高了三维头发的重建精度;且相较于传统的多视图重建方法,本发明仅需利用一张单视角的RGB人像就可实现三维头发的重建,提高了三维头发的重建速度和精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的三维头发的重建方法流程示意图;
图2为头发分割掩膜和对应的头发方向图的确定流程示意图;
图3为基于扩散模型的带有文字描述的渲染图片生成方法示意图;
图4为人脸关键点检测示意图;
图5为投影视角参数确定流程示意图;
图6为VAE-Patch_SNGAN的网络结构示意图;
图7为三维体素头发重建模型的训练过程示意图;
图8为三维方向投影到二维方向的投影过程示意图;
图9为三维发丝数据转化为三维体素头发示意图;
图10为结合训练和重建的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种三维头发的重建方法、***、电子设备及存储介质,旨在提高三维头发的重建速度和精度。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1
图1为本发明实施例1提供的三维头发的重建方法流程示意图。图10为结合训练和重建的流程图。如图1和图10所示,本实施例中的三维头发的重建方法,包括:
步骤201:获取待重建RGB人像。
步骤202:将待重建RGB人像输入至三维体素头发重建模型中,得到目标三维体素头发。
其中,三维体素头发重建模型是利用训练人像集、三维头发训练集和三维头发训练集对应的文本对重建网络训练得到的;重建网络包括图像编码器和训练好的体素解码器,训练好的体素解码器是根据训练好的VAE-Patch_SNGAN网络确定的,训练好的VAE-Patch_SNGAN网络是利用三维头发训练集对VAE-Patch_SNGAN网络进行训练得到的,VAE-Patch_SNGAN网络包括:三维体素生成器和第一判别器,三维体素生成器包括体素编码器和体素解码器。
步骤203:根据目标三维体素头发重建目标三维头发图像。
具体的,步骤203具体包括:
将三维体素头发(即目标三维体素头发)转换为对应发丝的数据格式,并输入渲染器,得到数字化的三维发型(即目标三维头发图像)。其中,体素数据转换为发丝数据的方法具体为:由头皮上固定的起点开始,沿其所在体素的方向场存储的空间向量,得到下一个发丝点。查询下一个发丝点在体素空间中的位置,读取存储的方向,再沿该方向值得到第三个点。重复此过程,直到新产生的点所在的体素占用值为0,则表示已经生长到边界,该发丝生长完成。公示表示为:
Figure SMS_1
其中,xn为当前发丝点,xn+1为下一个发丝点,s是步长,
Figure SMS_2
为当前发丝点在体素中存储的生长方向。
作为一种可选的实施方式,三维体素头发重建模型的训练过程,包括:
确定训练人像集、三维头发训练集和三维头发训练集对应的文本;训练人像集包括多张训练用RGB人像,三维头发训练集包括多个初始发丝体素对应的占用真值和方向真值。
确定每张训练用RGB人像的头发分割掩膜和头发方向图。
具体的,如图2所示,确定RGB人像的头发分割掩膜和对应的头发方向图,具体包括:
将RGB人像输入抠图网络,获得人像前景(人像前景指的是图像中属于人的部分)。本实施例中使用deep image matting作为抠图网络,实现前景与背景的分离。再将人像前景输入基于DeepLabV3+搭建的头发分割网络,获得人像的头发分割掩模。DeepLabV3+网络可以被替换为其它常用的分割网络。现有的获取头发分割掩模的方法存在的问题主要是当头发颜色与相邻背景颜色相似时,网络容易误判头发与背景的边界。本实施例中利用现有的抠图算法可以很好地区分前景和背景,使用人像前景作为分割网络的输入较好地解决了该问题。
将头发分割掩模和RGB人像求交,可以得到头发区域,将头发区域转换为灰度图,输入带方向的Gabor滤波器滤波,确定每个像素点的方向值,输出的灰度图即为头发方向图(即将灰度图与滤波器的传递函数进行卷积,卷积后得到的是图像经过各个角度的滤波器滤波后得到的响应值。每一个像素点在不同角度的滤波器滤波后有不同的响应值,最大响应值对应的角度即为该像素点上发丝的方向。水平方向为0度,卷积核的方向分布在0-180度,本实施例共使用了从0到179度的180个卷积核)。方向图是一张与输入图像大小相同的灰度图像,每个像素的灰度值代表该像素点上发丝的二维方向。由于噪声和黑暗区域的存在,原始输出的头发方向图可能存在不准确的结果。因此,再对原始头发方向图进行一次高斯平滑来计算最终的稠密方向图。计算头发方向图时,对头发分割掩模进行了腐蚀操作,以去除脸颊、边缘对方向提取的干扰。
根据训练人像集和三维头发训练集,确定投影视角参数;投影视角参数包括:旋转矩阵和平移向量。
基于三维头发训练集对VAE-Patch_SNGAN网络进行训练,得到训练好的VAE-Patch_SNGAN网络。
基于图像编码器和训练好的体素解码器,构建重建网络。
对三维头发训练集进行渲染,得到渲染图片集。
基于渲染图片集与三维头发训练集对应的文本,确定带有文字描述的渲染图片集。
具体的,如图3所示,基于渲染图片集与三维头发训练集对应的文本,确定带有文字描述的渲染图片集,具体包括:
使用LAION多模态数据集对作为基础网络的稳定扩散模型(Stable Diffusion)进行训练,得到预训练好的扩散模型(diffusion model)。Stable Diffusion是一个流行的文本转图像(应用于AI作画)网络模型,输入英文文本描述,输出文本描述的图片。LAION数据集拥有海量的文本与图像成对的数据。
利用预训练好的扩散模型,输入渲染图片和文本提示来生成真实风格的发型图片(即带有文字描述的渲染图片集),其中,文本提示(textprompt)指的对生成图片视觉效果的英文描述,如真实感头发(realistic hair)。文本提示是网络的一个输入,用于为图片增加文字描述的视觉效果尽量消除渲染得到的发型图片和真实发型图片存在的在非结构性分布差异。
其中,本实施例使用的扩散模型由CLIP图像编码器、CLIP文本编码器、隐式扩散模型(Latent Diffusion Model)和CLIP解码器构成。CLIP(Contrastive Language-ImagePre-Training,CLIP)是用于匹配图像和文本的预训练神经网络模型,可以对图像和文本进行编码,并通过解码器进行还原。扩散模型已在大规模数据集上预训练好,可直接调用。将渲染图片输入CLIP图像编码器得到图像编码,将文本提示(本实施例使用的文本描述为realistic hair,smooth light)输入CLIP文本编码得到文本编码。将图像编码和文本编码组合输入到隐式扩散模型网络中,编码经过前向过程(加入高斯噪声)和后向过程(去噪),最终输入到CLIP解码器中,得到带有文字描述的渲染图片(即图3中的真实感头发)。
基于投影视角参数、训练用RGB人像的头发分割掩膜和头发方向图以及带有文字描述的渲染图片集,对重建网络进行训练,得到三维体素头发重建模型。
作为一种可选的实施方式,根据训练人像集和三维头发训练集,确定投影视角参数,具体包括:
确定训练用RGB人像中的多个2D人脸关键点。
根据所有2D人脸关键点和3D人脸关键点,确定投影视角参数。3D人脸关键点为与三维头发训练集中各发丝体素对应的发丝相对齐的标准人体的3D人脸关键点。
具体的,根据训练人像集和三维头发训练集,确定投影视角参数,具体包括:
如图4所示,检测RGB人像中的2D人脸关键点k(常用68个2D人脸关键点,每个关键点都有固定的物理含义,如鼻尖、眼角等),本实施例中使用python的face_aligment库提取人脸的68个关键点。
如图5所示,根据人脸关键点的定义,标定与数据库中3D发丝对齐的标准人体的3D人脸关键点K,其中,对齐即将3D发丝的起点平移到3D人体的头皮顶点上。
通过约束K投影(将正面的3D人脸关键点投影到2D)得到的k’与k的残差最小,优化得到投影所需的视角参数(即投影视角参数,包括旋转矩阵R和平移向量T)。上述过程可表示为如下公式:k'=MprojK。
其中,Mproj表示投影的过程,包含对三维的人脸关键点的平移和旋转、透视投影、视口变换,旋转矩阵R和平移向量T为Mproj(投影过程)中待优化的参数。损失函数为||k-k'||2。|| ||2为L2范数。通过梯度下降,使用Adam等优化器最小化损失函数,迭代优化即可得到投影视角参数。本实施例使用PyTorch求解该优化问题。
作为一种可选的实施方式,基于三维头发训练集对VAE-Patch_SNGAN网络进行训练,得到训练好的VAE-Patch_SNGAN网络,具体包括:
基于三维体素生成器和第一判别器,构建VAE-Patch_SNGAN网络。
将所有初始发丝体素输入至VAE-Patch_SNGAN网络中,得到各初始发丝体素对应的重建发丝体素。
确定各重建发丝体素的占用值和方向值。
基于各重建发丝体素的占用值和方向值以及各初始发丝体素对应的占用真值和方向真值,构建VAE-Patch_SNGAN网络的第一损失函数。
基于第一损失函数对VAE-Patch_SNGAN网络进行微调,得到训练好的VAE-Patch_SNGAN网络。
具体的,如图6所示,带有参数谱归一化的分块判别器的变分自编码器(VariationalAuto Encoder-Patch_SpectralNormalization GAN,VAE-Patch_SNGAN)的网络结构由三维体素生成器(3DVAE)和第一判别器(SN_PatchDiscriminator)组成。3D VAE网络由体素编码器和体素解码器构成,其输入是三维体素头发(即初始发丝体素),输出也是三维体素头发(即重建发丝体素);SN_PatchDiscriminator网络,其输入是三维体素头发,输出是一个评价矩阵。VAE-Patch_SNGAN网络用于学习编码和三维体素头发之间的映射关系。本发明的优势在于搭建了3D卷积网络,在原始的变分自编码器基础上引入了SN_PatchDiscriminator,进一步提升了模型的生成能力和重建细节。谱归一化(SpectralNormalization,SN)可以使判别器参数满足Lipschitz连续性(利普希茨连续性),从而稳定生成式对抗网络的训练。原始GAN的判别器仅输出一个标量对生成器生成的整体进行评价。PatchGAN的判别器设计成全卷积的形式,将输入映射为一个评价矩阵,矩阵的每个元素即为对原图中局部区域的评价值,更关注局部的细节。
VAE-Patch_SNGAN网络使用的第一损失函数为:
LVAE-GAN=ω1Locc2Lori3*KL(z||N(0,1))+ω4Lg
Figure SMS_3
Figure SMS_4
Lg=-E(D(G(z)))。
Ld=E(max(0,1-D(v)))+E(max(0,1+D(G(z))))。
其中,LVAE-GAN是训练VAE-Patch_SNGAN使用的总损失函数(即第一损失函数)。Locc是三维体素占用场的损失函数(三维体素占用场指的是三维空间中有头发经过的体素占用值为1,没有头发经过的体素占用值为0。占用场用于标记某三维位置是否有头发经过,类似于二维头发分割掩模,它是三维体素头发的组成部分),Lori是三维体素方向场损失函数(三维体素方向场指的是穿过某一体素所有发丝生长方向的均值,存储的是三维单位向量。方向场用于标记某三维位置头发的生长方向,类似于二维头发方向图,它是三维体素头发的组成部分。占用场和方向场组合起来即为三维体素头发),Lg为三维体素生成器(3D VAE)的损失函数。Ld是第一判别器(SN_PatchDiscriminator)的损失函数。ω1是第一项的权重,是手动设定的超参数。ω2是第二项的权重,是手动设定的超参数。ω3是第三项的权重,是手动设定的超参数。ω4是第四项的权重,是手动设定的超参数。yi表示第i个体素占用场的真值。Oi表示第i个体素方向场的真值。
Figure SMS_5
为VAE-Patch_SNGAN网络输出的第i个体素占用场的值;
Figure SMS_6
为VAE-Patch_SNGAN网络输出的第i个体素方向场的值。N是参与计算的体素总数,|| ||1为L1范数。E表示均值函数,D是经过谱归一化的判别器网络(即第一判别器),v是三维体素头发的真值。z是VAE编码器输出的隐编码。G为三维体素生成器。
作为一种可选的实施方式,基于投影视角参数、训练用RGB人像的头发分割掩膜和头发方向图以及带有文字描述的渲染图片集,对重建网络进行训练,得到三维体素头发重建模型,具体包括:
将训练用RGB人像的头发分割掩膜和头发方向图输入至重建网络中,得到多个重建三维体素头发。
确定各重建三维体素头发的占用值和方向值。
判断带有文字描述的渲染图片集中的各带有文字描述的渲染图片是否有三维真值。
若是,则根据有三维真值的带有文字描述的渲染图片对应的占用真值和方向真值以及各重建三维体素头发的占用值和方向值,构建重建网络的第二损失函数,并基于第二损失函数对重建网络进行微调,得到三维体素头发重建模型。
若否,则将没有三维真值的带有文字描述的渲染图片对应的重建三维体素头发输入至可微体渲染器中,基于投影视角参数进行渲染,得到渲染后的头发分割掩膜和头发方向图,并根据训练用RGB人像的头发分割掩膜和头发方向图以及渲染后的头发分割掩膜和头发方向图构建重建网络的第三损失函数,并基于第三损失函数对重建网络进行微调,得到三维体素头发重建模型。
具体的,如图7所示,搭建图像编码器(骨干特征提取网络)、用于自监督学习的可微体渲染器以及用于监督训练的转换模块和判别器(即第二判别器),与训练好的VAE-Patch_SNGAN中的体素解码器一起构成重建网络。重建网络具体包括:
基于ResNet实现的图像编码器,它可以被替代为其他常见的卷积神经网络,能达到相近的效果。图像编码器的输入是训练用RGB人像的头发分割掩膜和头发方向图,输出是1024维的编码。
训练好的体素解码器,解码器紧跟图像编码器之后,其输入是图像编码器输出的1024维的编码,输出是三维体素头发。
基于体渲染方法实现的可微分体渲染器是用于自监督学***面,相机位置与投影平面上每个像素的中心连线得到发射光线。判断发射光线是否与头发的体素场相交。若相交,则从光线与体素头发包围盒的交点开始,沿着光线方向按一定的步长前进,直到遇到第一个存有有效占用值的体素。将该体素的占用值和方向值分别写入对应的投影图像(本实施例中投影平面定义为大小为400x320的图像)。本发明的优势在于,将体素存有的发丝的三维方向投影到了二维方向,与输入方向图的物理含义保持了一致。特别地,由于头发存在遮挡,因此只利用与光线相交第一个有效体素的存储值计算投影图的着色。公式表示为:I=Render(Vox,M)。
其中,I为渲染得到的图片,Vox为训练好的体素解码器输出的三维体素头发,M为投影视角参数(包括旋转矩阵R和平移向量T。投影过程如图8所示。
转换模块和判别器(第二判别器)是用于监督学习的组件。可学习的转换(Transform)模块T由2D卷积层、维度扩张层和3D卷积层构成,用于将输入的二维图片变换为与三维体素头发维度一致的特征。T的输入是渲染图片(渲染图片存在与图片对应的三维体素头发模型)经过预处理得到的头发方向图,输出是与三维体素头发维度一致的张量。判别器由3D卷积层构成。T输出的张量与体素解码器输出的三维体素头发拼接在一起组成的张量是判别器的输入,判别器的输出是一个0到1之间的标量,评价输入图像与三维体素头发之间的匹配程度。
当带有文字描述的渲染图片集中的各带有文字描述的渲染图片有三维真值时:
对于有三维真值(三维真值指的是与图片对应的三维体素头发模型。见图7中的输入(a),输入(a)是对三维发丝数据集中的样本渲染得到的渲染图片。该图片有三维头发模型与之对应,可以直接进行监督学习)的图像样本,直接进行监督学习,计算重建体素和体素真值之间的损失;即对于有三维真值的图像样本,直接计算重建体素和体素真值之间的损失。第二损失函数具体为:
Figure SMS_7
Figure SMS_8
Figure SMS_9
Figure SMS_10
Figure SMS_11
Figure SMS_12
其中,Locc_3d是重建时三维体素占用场的损失函数,Lori_3d是重建时三维体素方向场的损失函数,Lg为生成器(此处的生成器由重建网络中的图像编码器(骨干特征提取网络)与训练好的体素解码器组成)的损失函数,这三项是重建网络的损失函数。Ld是第二判别器的损失函数。xi表示重建时第i个体素占用场的真值。Pi表示重建时第i个体素方向场的真值。
Figure SMS_13
为重建时网络输出的第i个体素占用场的值。/>
Figure SMS_14
为重建时网络输出的第i个体素方向场的值。F为重建时三维体素头发的方向场真值,/>
Figure SMS_15
是重建时网络输出的三维体素头发的方向场。N是参与计算的体素总数,|| ||1为L1范数。E表示均值函数,D是经过谱归一化的判别器网络。特别地,本发明引入了可学习的转换(Transform)模块T。T模块由2d卷积层、维度扩张层、3d卷积层构成,用于将输入图片I变换为与方向场F张量维度一致的特征,并聚合在一起作为判别器的输入。T的引入进一步加强了输入图像与对应三维头发之间的联系,提升了重建细节。
当带有文字描述的渲染图片集中的各带有文字描述的渲染图片没有三维真值时:
对于无三维真值的图像样本,则进行自监督学习,将重建的体素头发输入可微体渲染器,按照步骤102获得的视角进行渲染,与输入的图像计算损失函数。
对于无三维真值的图像样本,将重建的体素头发输入可微体渲染器,按照投影视角参数进行渲染,输出头发掩模和头发方向图,将输出的头发分割掩模和头发方向图与输入的图像计算第三损失函数。第三损失函数具体为:
L2d=α1||Iocc-I'occ||22||Iori-I'ori||23Lstyle
Figure SMS_16
其中,L2d是计算二维图像之间误差的总损失函数,Lstyle是计算输入RGB人像的头发方向图与可微体渲染器输出的头发方向图之间风格差异的损失函数。α1为手动设定的超参数,用于调节第一项的权重。α2为手动设定的超参数,用于调节第二项的权重。α3为手动设定的超参数,用于调节第三项的权重。Iocc为输入RGB人像的头发分割掩模,Iori为输入RGB人像的头发方向图。I'occ为重建的三维体素头发经过可微体渲染器得到的头发分割掩模,I'ori为重建的三维体素头发经过可微体渲染器得到的头发方向图。fl为Iori输入预训练VGG网络后网络第l层输出的特征图,f'l为I'ori输入预训练VGG网络后网络第l层输出的特征图。G表示计算特征图的格拉姆矩阵,Cl、Hl、Wl分别为fl的通道数、高、宽(fl与f'l维度一致)。B为参与风格损失计算的网络层总数,||||2为L2范数。本发明的优势在于引入图像风格迁移常用的风格损失计算头发方向图之间的误差。风格损失计算的是两张方向图灰度分布的差异,对位置不敏感,可以更好地捕捉细节。特别地,在计算风格损失时可以对方向图进行分块操作,计算每一个小块的风格损失,能更好地帮助网络学习局部细节。
作为一种可选的实施方式,三维头发训练集的确定方法,包括:
获取初始三维头发集;三维头发集包括多组初始发丝点云。
将每组初始发丝点云转化为初始发丝体素,并确定每个初始发丝体素的占用值和头发方向值,从而确定三维头发训练集。
具体的,如图9所示,每一根发丝由三维空间中的一系列点构成,因此,初始三维头发集包括多组初始发丝点云。
体素类似于图像的像素,是三维空间中一个立方体。将发丝数据(初始发丝点云)转换为体素数据(初始发丝体素),可以通过3D卷积学习发型的特征。将发丝数据转换为体素数据,具体为:统计初始三维头发集中x、y、z坐标的范围,得到三维发丝边界框,对三维发丝边界框进行离散化,划分为分辨率128×192×128的体素空间;没有发丝穿过的体素占用值设为0;有发丝穿过的体素的占用值设为1,方向值设为穿过该体素所有发丝生长方向的均值。
实施例2
本实施例中的三维头发的重建***,包括:
待重建RGB人像获取模块,用于获取待重建RGB人像。
目标三维体素头发确定模块,用于将待重建RGB人像输入至三维体素头发重建模型中,得到目标三维体素头发;三维体素头发重建模型是利用训练人像集、三维头发训练集和三维头发训练集对应的文本对重建网络训练得到的;重建网络包括图像编码器和训练好的体素解码器,训练好的体素解码器是根据训练好的VAE-Patch_SNGAN网络确定的,训练好的VAE-Patch_SNGAN网络是利用三维头发训练集对VAE-Patch_SNGAN网络进行训练得到的,VAE-Patch_SNGAN网络包括:三维体素生成器和第一判别器,三维体素生成器包括体素编码器和体素解码器。
目标三维体素头发确定模块,用于根据目标三维体素头发重建目标三维头发图像。
实施例3
一种电子设备,包括:
一个或多个处理器。
存储装置,其上存储有一个或多个程序。
当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如实施例1中的三维头发的重建方法。
实施例4
一种存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如实施例1中的三维头发的重建方法。
本发明的技术效果:
(1)针对数据量不够丰富的问题,本发明引入了自监督学习,对应本发明中的可微体渲染器部分,该模块将网络重建得到的三维体素头发投影为2D图片,与输入的2D图片直接计算误差,从而可以在没有对应的三维头发真值的情况下进行学习。因此引入该模块后可以在没有对应的三维头发真值的情况下使用大量的自然图片训练网络。
(2)针对渲染图片不够真实的问题,本发明在构建监督数据集时,使用图像生成模型对渲染图片进行处理,为渲染得到的二维图片增加真实感光照,使其更接近自然图片的视觉效果。相较于现有的基于深度学习的单视图重建方法,本发明提升了渲染得到的虚拟数据集的真实效果,缓解了网络推理阶段真实图片与训练时使用的虚拟图片之间的差异。
(3)本发明引入的VAE-Patch_SNGAN网络可以提升重建头发的细节。原始生成式对抗网络(GAN)的判别器仅输出一个0到1之间的标量评价生成头发整体的好坏,基于分块的GAN(patchgan)则输出一个评价矩阵,矩阵中的每个元素是对生成头发的局部的评价值,会使得生成器在训练过程中更关注头发局部细节的生成好坏。
(4)相较于传统的多视图重建方法,本发明用户友好,仅仅需要一张正面RGB人像即可完成对三维头发的重建,建模质量较好。且推理速度快,单个头发建模时间在几秒左右,建模效率高。
(5)本发明结合了监督学习(输入输出映射关系明确)和自监督学习(数据量丰富,无需标注数据)的优点,使用单张RGB人像即可快速重建出对应的三维头发,可应用于数字化人体场景,准确高效地建模三维发型
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种三维头发的重建方法,其特征在于,所述方法包括:
获取待重建RGB人像;
将所述待重建RGB人像输入至三维体素头发重建模型中,得到目标三维体素头发;所述三维体素头发重建模型是利用训练人像集、三维头发训练集和所述三维头发训练集对应的文本对重建网络训练得到的;所述重建网络包括图像编码器和训练好的体素解码器,所述训练好的体素解码器是根据训练好的VAE-Patch_SNGAN网络确定的,所述训练好的VAE-Patch_SNGAN网络是利用所述三维头发训练集对VAE-Patch_SNGAN网络进行训练得到的,所述VAE-Patch_SNGAN网络包括:三维体素生成器和第一判别器,所述三维体素生成器包括体素编码器和体素解码器;
根据所述目标三维体素头发重建目标三维头发图像。
2.根据权利要求1所述的三维头发的重建方法,其特征在于,所述的训练过程,包括:
确定训练人像集、三维头发训练集和所述三维头发训练集对应的文本;所述训练人像集包括多张训练用RGB人像,所述三维头发训练集包括多个初始发丝体素对应的占用真值和方向真值;
确定每张所述训练用RGB人像的头发分割掩膜和头发方向图;
根据所述训练人像集和所述三维头发训练集,确定投影视角参数;所述投影视角参数包括:旋转矩阵和平移向量;
基于所述三维头发训练集对VAE-Patch_SNGAN网络进行训练,得到训练好的VAE-Patch_SNGAN网络;
基于图像编码器和训练好的体素解码器,构建重建网络;
对所述三维头发训练集进行渲染,得到渲染图片集;
基于所述渲染图片集与所述三维头发训练集对应的文本,确定带有文字描述的渲染图片集;
基于所述投影视角参数、所述训练用RGB人像的头发分割掩膜和头发方向图以及所述带有文字描述的渲染图片集,对所述重建网络进行训练,得到所述三维体素头发重建模型。
3.根据权利要求2所述的三维头发的重建方法,其特征在于,根据所述训练人像集和所述三维头发训练集,确定投影视角参数,具体包括:
确定训练用RGB人像中的多个2D人脸关键点;
根据所有所述2D人脸关键点和3D人脸关键点,确定所述投影视角参数;所述3D人脸关键点为与所述三维头发训练集中各所述发丝体素对应的发丝相对齐的标准人体的3D人脸关键点。
4.根据权利要求2所述的三维头发的重建方法,其特征在于,基于所述三维头发训练集对VAE-Patch_SNGAN网络进行训练,得到训练好的VAE-Patch_SNGAN网络,具体包括:
基于所述三维体素生成器和所述第一判别器,构建所述VAE-Patch_SNGAN网络;
将所有所述初始发丝体素输入至所述VAE-Patch_SNGAN网络中,得到各所述初始发丝体素对应的重建发丝体素;
确定各所述重建发丝体素的占用值和方向值;
基于各所述重建发丝体素的占用值和方向值以及各所述初始发丝体素对应的占用真值和方向真值,构建所述VAE-Patch_SNGAN网络的第一损失函数;
基于所述第一损失函数对所述VAE-Patch_SNGAN网络进行微调,得到所述训练好的VAE-Patch_SNGAN网络。
5.根据权利要求2所述的三维头发的重建方法,其特征在于,基于所述投影视角参数、所述训练用RGB人像的头发分割掩膜和头发方向图以及所述带有文字描述的渲染图片集,对所述重建网络进行训练,得到所述三维体素头发重建模型,具体包括:
将所述训练用RGB人像的头发分割掩膜和头发方向图输入至所述重建网络中,得到多个重建三维体素头发;
确定各所述重建三维体素头发的占用值和方向值;
判断所述带有文字描述的渲染图片集中的各带有文字描述的渲染图片是否有三维真值;
若是,则根据有三维真值的带有文字描述的渲染图片对应的占用真值和方向真值以及各所述重建三维体素头发的占用值和方向值,构建所述重建网络的第二损失函数,并基于所述第二损失函数对所述重建网络进行微调,得到所述三维体素头发重建模型;
若否,则将没有三维真值的带有文字描述的渲染图片对应的所述重建三维体素头发输入至可微体渲染器中,基于所述投影视角参数进行渲染,得到渲染后的头发分割掩膜和头发方向图,并根据所述训练用RGB人像的头发分割掩膜和头发方向图以及渲染后的头发分割掩膜和头发方向图构建所述重建网络的第三损失函数,并基于所述第三损失函数对所述重建网络进行微调,得到所述三维体素头发重建模型。
6.根据权利要求2所述的三维头发的重建方法,其特征在于,所述三维头发训练集的确定方法,包括:
获取初始三维头发集;所述三维头发集包括多组初始发丝点云;
将每组初始发丝点云转化为所述初始发丝体素,并确定每个所述初始发丝体素的占用值和头发方向值,从而确定所述三维头发训练集。
7.一种三维头发的重建***,其特征在于,所述***包括:
待重建RGB人像获取模块,用于获取待重建RGB人像;
目标三维体素头发确定模块,用于将所述待重建RGB人像输入至三维体素头发重建模型中,得到目标三维体素头发;所述三维体素头发重建模型是利用训练人像集、三维头发训练集和所述三维头发训练集对应的文本对重建网络训练得到的;所述重建网络包括图像编码器和训练好的体素解码器,所述训练好的体素解码器是根据训练好的VAE-Patch_SNGAN网络确定的,所述训练好的VAE-Patch_SNGAN网络是利用所述三维头发训练集对VAE-Patch_SNGAN网络进行训练得到的,所述VAE-Patch_SNGAN网络包括:三维体素生成器和第一判别器,所述三维体素生成器包括体素编码器和体素解码器;
目标三维体素头发确定模块,用于根据所述目标三维体素头发重建目标三维头发图像。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任意一项所述的三维头发的重建方法。
9.一种存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6中任意一项所述的三维头发的重建方法。
CN202310191306.9A 2023-03-02 2023-03-02 一种三维头发的重建方法、***、电子设备及存储介质 Pending CN116416376A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310191306.9A CN116416376A (zh) 2023-03-02 2023-03-02 一种三维头发的重建方法、***、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310191306.9A CN116416376A (zh) 2023-03-02 2023-03-02 一种三维头发的重建方法、***、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116416376A true CN116416376A (zh) 2023-07-11

Family

ID=87052306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310191306.9A Pending CN116416376A (zh) 2023-03-02 2023-03-02 一种三维头发的重建方法、***、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116416376A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116664456A (zh) * 2023-08-02 2023-08-29 暨南大学 一种基于梯度信息的图片重建方法、***及电子设备
CN116740220A (zh) * 2023-08-16 2023-09-12 海马云(天津)信息技术有限公司 模型构建的方法和装置、照片生成方法和装置
CN117036157A (zh) * 2023-10-09 2023-11-10 易方信息科技股份有限公司 可编辑的仿真数字人形象设计方法、***、设备及介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116664456A (zh) * 2023-08-02 2023-08-29 暨南大学 一种基于梯度信息的图片重建方法、***及电子设备
CN116664456B (zh) * 2023-08-02 2023-11-17 暨南大学 一种基于梯度信息的图片重建方法、***及电子设备
CN116740220A (zh) * 2023-08-16 2023-09-12 海马云(天津)信息技术有限公司 模型构建的方法和装置、照片生成方法和装置
CN116740220B (zh) * 2023-08-16 2023-10-13 海马云(天津)信息技术有限公司 模型构建的方法和装置、照片生成方法和装置
CN117036157A (zh) * 2023-10-09 2023-11-10 易方信息科技股份有限公司 可编辑的仿真数字人形象设计方法、***、设备及介质
CN117036157B (zh) * 2023-10-09 2024-02-20 易方信息科技股份有限公司 可编辑的仿真数字人形象设计方法、***、设备及介质

Similar Documents

Publication Publication Date Title
CN109255831B (zh) 基于多任务学习的单视图人脸三维重建及纹理生成的方法
Alldieck et al. Photorealistic monocular 3d reconstruction of humans wearing clothing
Mescheder et al. Occupancy networks: Learning 3d reconstruction in function space
Flynn et al. Deepstereo: Learning to predict new views from the world's imagery
Wynn et al. Diffusionerf: Regularizing neural radiance fields with denoising diffusion models
Su et al. Interactive sketch-based normal map generation with deep neural networks
Kuang et al. Neroic: Neural rendering of objects from online image collections
CN116416376A (zh) 一种三维头发的重建方法、***、电子设备及存储介质
CN111325851A (zh) 图像处理方法及装置、电子设备和计算机可读存储介质
Weng et al. Vid2actor: Free-viewpoint animatable person synthesis from video in the wild
CN112862807B (zh) 基于头发图像的数据处理方法及装置
Liu et al. High-quality textured 3D shape reconstruction with cascaded fully convolutional networks
Kang et al. Competitive learning of facial fitting and synthesis using uv energy
CN116681838A (zh) 基于姿态优化的单目视频动态人体三维重建方法
Salvi et al. Attention-based 3D object reconstruction from a single image
Purushwalkam et al. Conrad: Image constrained radiance fields for 3d generation from a single image
Manfredi et al. Treesketchnet: From sketch to 3d tree parameters generation
Maxim et al. A survey on the current state of the art on deep learning 3D reconstruction
Guénard et al. Reconstructing plants in 3D from a single image using analysis-by-synthesis
CN113129347B (zh) 一种自监督单视图三维发丝模型重建方法及***
CN115375839A (zh) 一种基于深度学习的多视角头发建模方法及***
CN114119923A (zh) 三维人脸重建方法、装置以及电子设备
Miao et al. Research on 3d reconstruction of furniture based on differentiable renderer
Saval-Calvo et al. Evaluation of sampling method effects in 3D non-rigid registration
CN117876609B (zh) 一种多特征三维人脸重建方法、***、设备及存储介质

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