CN115049765A - 模型生成、3d发型生成方法、装置、电子设备及存储介质 - Google Patents
模型生成、3d发型生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115049765A CN115049765A CN202210752748.1A CN202210752748A CN115049765A CN 115049765 A CN115049765 A CN 115049765A CN 202210752748 A CN202210752748 A CN 202210752748A CN 115049765 A CN115049765 A CN 115049765A
- Authority
- CN
- China
- Prior art keywords
- image
- model
- loss function
- human head
- hair
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种模型生成、3D发型生成方法、装置、电子设备及存储介质。该模型生成方法包括:获取2D样本人头图像和2D样本人头图像对应的3D发型图;将2D样本人头图像作为输入图输入至主干模型,得到第一图像;将第一图像输入至生成式对抗网络的生成器,得到生成器生成的第二图像,将第二图像与输入图进行比较,对主干模型和生成式对抗网络进行训练,直至生成器生成的第二图像满足预设条件时,结束训练;将训练结束时的主干模型确定为3D头发重建模型。通过本方法,在模型训练过程中通过对抗式生成网络对主干模型的输出结果进行“精修”,从而使得训练出的3D头发重建模型能够输出效果好、与输入的二维平面图片更接近、更适配的3D发型。
Description
技术领域
本发明实施例涉及图像处理技术领域,特别是涉及一种模型生成、3D发型生成方法、装置、电子设备及存储介质。
背景技术
3D头发重建指的是根据平面人头图像重建得到三维立体的人头发型,由于头发形状以及纹理的多样性,3D头发重建是一项十分复杂且困难的任务。而在传统的3D头发重建方法中,无法兼顾众多头发点位的学习,通过传统的3D头发重建模型重建得到的3D发型与平面人头图像之间依旧有着较大的差异,普遍存在头发的纹理和色彩不匹配、不合适的情况,导致3D头发重建模型的精度较差,重建的3D发型的效果并不好。
发明内容
本发明实施例的目的在于提供一种模型生成、3D发型生成方法、装置、电子设备及存储介质,在训练过程中对3D头发重建模型的最终结果进行精修,以提高3D头发重建的精度。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种模型生成方法,该方法包括:
获取2D样本人头图像和所述2D样本人头图像对应的3D发型图;
将所述2D样本人头图像作为输入图输入至主干模型,得到第一图像;所述第一图像为3D发型图,所述主干模型用于根据2D人头图像生成3D发型图,所述2D样本人头图像对应的3D发型图为所述主干模型在训练过程中的标签;
将所述第一图像输入至生成式对抗网络的生成器,得到所述生成器生成的第二图像,将所述第二图像与所述输入图进行比较,对所述主干模型和所述生成式对抗网络进行训练,直至所述第二图像满足预设条件时,结束训练;所述预设条件为所述第二图像与所述输入图的像素值误差小于预设阈值;
将训练结束时的主干模型确定为3D头发重建模型。
可选的,在所述主干模型和所述生成式对抗网络的训练过程中,通过第一损失函数确定主干模型输出的第一图像对应的第一损失函数值;
通过第二损失函数确定生成器输出的第二图像对应的第二损失函数值;
根据所述第一损失函数值和所述第二损失函数值确定总损失函数值,根据所述总损失函数值对所述主干模型和所述生成式对抗网络的模型参数进行更新。
可选的,所述第二损失函数至少包括:对抗损失函数和重建损失函数,所述第一损失函数、所述对抗损失函数和所述重建损失函数均为L1损失函数;所述通过第二损失函数确定生成器输出的第二图像对应的第二损失函数值,包括:
通过所述对抗损失函数确定所述第二图像对应的对抗损失函数值;
通过所述重建损失函数确定所述第二图像对应的重建损失函数值;
根据所述对抗损失函数值和所述对抗损失函数对应的权重,以及,所述重建损失函数值和所述重建损失函数对应的权重,确定所述第二损失函数值。
可选的,在所述主干模型和所述生成式对抗网络的训练过程的初期阶段,所述重建损失函数的权重为0;在所述主干模型和所述生成式对抗网络的训练过程的中后期阶段,所述重建损失函数的权重由0增加到1。
可选的,所述获取2D样本人头图像和所述2D样本人头图像对应的3D发型图,包括:获取3D发型图,将所述3D发型图映射成2D样本人头图像;
所述将所述2D样本人头图像作为输入图输入至主干模型,得到第一图像,包括:
对所述2D样本人头图像进行预处理,得到所述2D样本人头图像对应的第一预处理数据,所述第一预处理数据至少包括2D样本人头图像对应的方向图;将所述第一预处理数据输入至主干模型,得到第一图像;
其中,所述主干模型的输入图为2D样本人头图像对应的方向图,所述主干模型的结构为:所述主干模型包括编码器和解码器,所述编码器和所述解码器均由多个串行的单元模块构成,所述编码器与所述解码器之间连接有多个并行的3D卷积模块;所述单元模块的输入端与输出端之间和所述3D卷积模块的输入端与输出端之间均具有直连分支,每个单元模块对数据流上游相连接的单元模块中输入的特征信息进行融合,使得所述单元模块能不断融合第一预处理数据的特征信息,所述特征信息至少包括位置信息,所述位置信息包括头发点的坐标信息。
在本发明实施的第二方面,还提供了一种3D发型生成方法,所述方法包括:
获取待处理的2D人头图像;
将所述待处理的2D人头图像输入至如本发明第一方面所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
可选的,所述将所述待处理的2D人头图像输入至如本发明第一方面所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图,包括:
对所述待处理的2D人头图像进行预处理,得到所述待处理的2D人头图像对应的第二预处理数据;
将所述第二预处理数据输入至如本发明第一方面所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
在本发明实施的第三方面,还提供了一种模型生成装置,所述装置包括:
第一图像获取模块,用于获取2D样本人头图像和所述2D样本人头图像对应的3D发型图;
第一模型训练模块,用于将所述2D样本人头图像作为输入图输入至主干模型,得到第一图像;所述第一图像为3D发型图,所述主干模型用于根据2D人头图像生成3D发型图,所述2D样本人头图像对应的3D发型图为所述主干模型在训练过程中的标签;
第二模型训练模块,用于将所述第一图像输入至生成式对抗网络的生成器,得到所述生成器生成的第二图像,将所述第二图像与所述输入图进行比较,对所述主干模型和所述生成式对抗网络进行训练,直至所述第二图像满足预设条件时,结束训练;所述预设条件为所述第二图像与所述输入图的像素值误差小于预设阈值;
模型生成模块,用于将训练结束时的主干模型确定为3D头发重建模型。
可选的,所述装置还包括:
第一损失函数值确定模块,用于在所述主干模型和所述生成式对抗网络的训练过程中,通过第一损失函数确定主干模型输出的第一图像对应的第一损失函数值;
第二损失函数值确定模块,用于通过第二损失函数确定生成器输出的第二图像对应的第二损失函数值;
模型参数更新模块,用于根据所述第一损失函数值和所述第二损失函数值确定总损失函数值,根据所述总损失函数值对所述主干模型和所述生成式对抗网络的模型参数进行更新。
可选的,所述第二损失函数至少包括:对抗损失函数和重建损失函数,所述第一损失函数、所述对抗损失函数和所述重建损失函数均为L1损失函数;
所述第二损失函数值确定模块包括:
对抗损失函数值确定模块,用于通过所述对抗损失函数确定所述第二图像对应的对抗损失函数值;
重建损失函数值确定模块,用于通过所述重建损失函数确定所述第二图像对应的重建损失函数值;
第二损失函数值确定子模块,用于根据所述对抗损失函数值和所述对抗损失函数对应的权重,以及,所述重建损失函数值和所述重建损失函数对应的权重,确定所述第二损失函数值。
可选的,在所述主干模型和所述生成式对抗网络的训练过程的初期阶段,所述重建损失函数的权重为0;在所述主干模型和所述生成式对抗网络的训练过程的中后期阶段,所述重建损失函数的权重由0增加到1。
可选的,第一图像获取模块包括:第一图像获取子模块,用于获取3D发型图,将所述3D发型图映射成2D样本人头图像;
第一模型训练模块包括:第一模型训练子模块,用于对所述2D样本人头图像进行预处理,得到所述2D样本人头图像对应的第一预处理数据,所述第一预处理数据至少包括2D样本人头图像对应的方向图;将所述第一预处理数据输入至主干模型,得到第一图像;
其中,所述主干模型的输入图为2D样本人头图像对应的方向图,所述主干模型的结构为:所述主干模型包括编码器和解码器,所述编码器和所述解码器均由多个串行的单元模块构成,所述编码器与所述解码器之间连接有多个并行的3D卷积模块;所述单元模块的输入端与输出端之间和所述3D卷积模块的输入端与输出端之间均具有直连分支,每个单元模块对数据流上游相连接的单元模块中输入的特征信息进行融合,使得所述单元模块能不断融合第一预处理数据的特征信息,所述特征信息至少包括位置信息,所述位置信息包括头发点的坐标信息。
在本发明实施的第四方面,还提供了一种3D发型生成装置,所述装置包括:
第二图像获取模块,用于获取待处理的2D人头图像;
第一3D发型获取模块,用于将所述待处理的2D人头图像输入至如本发明第一方面所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
可选的,所述第一3D发型获取模块,包括:
第一数据处理模块,用于对所述待处理的2D人头图像进行预处理,得到所述待处理的2D人头图像对应的第二预处理数据;
第二3D发型获取模块,用于将所述第二预处理数据输入至如本发明第一方面所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
在本发明实施的第五方面,还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如本发明实施例第一方面所述的模型生成方法的步骤或本发明实施例第二方面所述的3D发型生成方法中的步骤。
在本发明实施的第六方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如实现本发明实施例第一方面所述的模型生成方法的步骤或本发明实施例第二方面所述的3D发型生成方法中的步骤。
采用本发明实施例提供的模型生成方法,可以修正3D头发重建模型的学习过程,以保证3D头发重建模型生成的3D发型图符合预期,与输入3D头发重建模型的2D人头图像相适应。本方法通过对抗式生成网络的生成器对3D头发重建模型所输出的第一图像作进一步处理,并将生成器生成的第二图像与3D头发重建模型的输入图相比较,当生成器生成的第二图像满足预设条件(即第二图与输入图基本一致)时结束训练,从而得到重建效果更好的3D头发重建模型,以实现在训练过程中通过对抗式生成网络对3D头发重建模型输出结果的“精修”。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例示出的一种模型生成方法的流程图;
图2是本发明一实施例示出的一种模型输出效果示意图;
图3是本发明一实施例示出的一种模型更新方法的流程图;
图4是本发明一实施例示出的一种模型更新方法的流程图;
图5是本发明一实施例示出的一种模型生成方法的流程图;
图6是本发明一实施例示出的一种主干模型的结构示意图;
图7是本发明一实施例示出的一种模型生成方法的示意图;
图8是本发明一实施例示出的一种3D发型生成方法的流程图;
图9是本发明另一实施例示出的一种3D发型生成方法的流程图;
图10是本发明一实施例提供的模型生成装置的结构框图;
图11是本发明一实施例提供的3D发型生成装置的结构框图;
图12是本发明一实施例示出的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于当前通过传统3D头发重建模型重建出来的3D发型与输入的平面人头图像之间依旧存在较大的差异,普遍存在头发的纹理和色彩不匹配、不合适的情况,导致3D头发重建模型的精度较差,重建出的3D发型的效果并不好。基于此,本发明实施例提出了一种模型生成方法,该方法可在训练3D头发重建模型时,引入对抗式生成网络对3D头发重建模型的输出结果进行精修,通过将对抗式生成网络对3D头发重建模型的输出结果进行处理后生成的生成图,与3D头发重建模型的输入图进行比较,当生成图与输入图基本一致(即两者像素值误差小于预设阈值)时,结束训练,从而使得训练出的3D头发重建模型能够输出效果好、与输入的二维平面图片更接近、更适配的3D发型。
参考图1,图1是本发明一实施例示出的一种模型生成方法的流程图。如图1所示,本实施例的模型生成方法可以包括以下步骤:
步骤S11:获取2D样本人头图像和所述2D样本人头图像对应的3D发型图。
本实施例中,构建模型需先获取训练样本集,本实施例中的训练样本集为多个2D样本人头图像以及该多个2D样本人头图像所各自对应的3D发型图。可以理解为本实施例中的训练样本集为多组样本图像对,每组样本图像对为一个2D样本人头图像和该2D样本人头图像对应的一个3D发型图,且在训练过程中,2D样本人头图像的标签为2D样本人头图像对应的3D发型图。此外,需要说明的是,本实施例中的3D发型图为包含人头结构的3D发型图。
步骤S12:将所述2D样本人头图像作为输入图输入至主干模型,得到第一图像;所述第一图像为3D发型图,所述主干模型用于根据2D人头图像生成3D发型图,所述2D样本人头图像对应的3D发型图为所述主干模型在训练过程中的标签。
本实施例中,预先设置有主干模型,本实施例的主干模型可以为任意的3D头发重建模型,用于根据2D人头图像生成3D发型图。其中,主干模型的输入为训练样本集中的2D样本人头图像,将2D样本人头图像作为输入图输入至主干模型,通过主干模型对2D样本人头图像进行处理后得到第一图像,该第一图像即为主干模型生成的3D发型图,也就是主干模型的输出。
步骤S13:将所述第一图像输入至生成式对抗网络的生成器,得到所述生成器生成的第二图像,将所述第二图像与所述输入图进行比较,对所述主干模型和所述生成式对抗网络进行训练,直至所述第二图像满足预设条件时,结束训练;所述预设条件为所述第二图像与所述输入图的像素值误差小于预设阈值。
本实施例中,在主干模型的最后输出部分引入生成式对抗网络分支进行辅助学习,以对主干模型的输出进行“精修”。其中,生成式对抗网络是一种深度学习模型,该模型通过生成器和判别器的互相博弈学习产生效果好的输出,其具有强大的学习能力。在生成式对抗网络的训练过程中,生成器与判别器相互抗衡,以逐步调整生成器和判别器的模型参数,可以理解,生成式对抗生成网络的训练过程为:对生成器的训练(更新)和对判别器的训练(更新)交替进行。
本实施例在模型训练过程中,在主干模型的最后输出部分引入生成式对抗网络的生成器部分,将主干模型输出的第一图像输入至生成式对抗网络的生成器,以使生成器对第一图像进行处理得到第二图像,第二图像为平面人头图像。再将第二图像(即生成器的生成图)与主干模型的输入图进行比较,对主干模型和生成式对抗网络进行训练,直至生成器生成一个与输入图基本一致的生成图时,结束训练。至此,本实施例通过生成式对抗网络来修正主干模型的学习过程,确保主干模型的学习过程是朝着一个相对正确的方向进行(即主干模型生成的3D发型图符合预期,与主干模型的输入图相适应)。
其中,生成图与输入图基本一致可以理解为:生成器生成的第二图像满足预设条件,且该预设条件为第二图像与输入图的像素值误差小于预设阈值;其中,像素值误差可以通过L1 loss(L1损失函数)获得,预设阈值为事先根据经验设置好的、表征生成图与输入图基本一致时,第二图像与输入图之间的最大像素值误差。预设阈值可以根据训练效果和人工经验进行相应调整,本实施例对预设阈值的具体数值不作任何限制。
而生成式对抗网络的判别器就是使用输入图与生成器生成的第二图像去训练,使得判别器能判别哪些是输入图,哪些是生成的第二图像(这样才能告知生成器:你生成的第二图像与输入图不一致,还要继续优化),也就是说,判别器的作用就是促使第二图像更加接近输入图。
也就是说,生成式对抗网络的判别器可以根据生成器输出的第二图像以及主干模型的输入图,判断两者是否一致,例如可以是判别器判断第二图像与输入图之间的像素值误差是否小于预设阈值,并根据判断结果(例如第二图像与输入图是否一致,或第二图像与输入图之间的像素值误差是否小于预设阈值)来决定该判别器对应的生成器是否需要继续进行训练。
步骤S14:将训练结束时的主干模型确定为3D头发重建模型。
本实施例中,在对主干模型和生成式对抗网络的训练过程中,当训练到生成器生成满足上述预设条件的第二图像时,则将训练结束时的主干模型确定为3D头发重建模型,该3D头发重建模型能够输出效果更好、与模型输入的二维平面图片更接近、更适配的3D发型图。如图2所示,图2是本发明一实施例示出的一种模型输出效果示意图,图2中的左图为输入的2D人头图像,右图为3D头发重建模型输出的3D发型图。
通过本实施例的模型生成方法,在对3D头发重建模型进行训练时,在3D头发重建模型的最后输出部分引入对抗式生成网络,对3D头发重建模型的输出结果进行精修,以提高3D头发重建的精度。通过对抗式生成网络的生成器对3D头发重建模型输出的第一图像进行处理,得到第二图像,并将第二图像与3D头发重建模型的输入图进行比较,当生成器生成的第二图像满足预设条件时结束训练,从而得到效果更好的3D头发重建模型。通过该方法可以修正3D头发重建模型的学习过程,以保证3D头发重建模型生成的3D发型图符合预期,与输入3D头发重建模型的2D人头图像相适应。
结合以上实施例,在一种实施方式中,生成式对抗网络的生成器为解码器结构,即为一个提升分辨率的解码器部分,该解码器部分由多个残差模块构成,且每个残差模块内部包括一个跳跃连接,该跳跃连接的作用就是进行残差模块输入输出的特征融合。生成器对主干模型的输出(如输出的最终的32*32的特征图)进行进一步的上采样,如输出一个256*256*3的特征图,该特征图所对应的ground truth(正确的标签)即为主干网络的真实输入图,从而需要充分利用已有的输入,对模型的最终结果进行精修,以保证主干模型朝着一个相对正确的方向进行学习。
结合以上实施例,在一种实施方式中,本发明实施例还提供了一种模型更新方法,如图3所示,图3是本发明一实施例示出的一种模型更新方法的流程图。具体地,该方法包括步骤S31至步骤S33:
步骤S31:在所述主干模型和所述生成式对抗网络的训练过程中,通过第一损失函数确定主干模型输出的第一图像对应的第一损失函数值。
本实施例中,在对主干模型和生成式对抗网络的训练过程中,可以通过损失函数对主干模型和生成式对抗网络的模型参数进行迭代更新,以优化主干模型使其能够输出效果更好的3D发型图。其中,本实施例中的第一损失函数为主干模型的损失函数,可以通过第一损失函数确定主干模型输出的第一图像所对应的第一损失函数值,即根据主干模型输出的第一图像与主干模型的标签(2D样本人头图像对应的3D发型图)通过第一损失函数计算出第一损失函数值。
步骤S32:通过第二损失函数确定生成器输出的第二图像对应的第二损失函数值。
本实施例中的第二损失函数为生成式对抗网络的损失函数,可以通过第二损失函数确定生成器输出的第二图像所对应的第二损失函数值,即根据生成器输出的第二图像与主干模型的输入图(2D样本人头图像)通过第二损失函数计算出第二损失函数值。需要说明的是,本实施例中的步骤S32与步骤S31的先后顺序不作任何限制,两者可以同时,可以先步骤S31后步骤S32,也可以先步骤S32后步骤S31。
步骤S33:根据所述第一损失函数值和所述第二损失函数值确定总损失函数值,根据所述总损失函数值对所述主干模型和所述生成式对抗网络的模型参数进行更新。
本实施例中,得到第一损失函数值和第二损失函数值,可以根据第一损失函数值和第二损失函数值确定出总损失函数值,再根据总损失函数值分别对主干模型的模型参数和生成式对抗网络的模型参数进行更新。可选的,本实施例中总损失函数值的确定方法可以根据实际训练效果确定,如总损失函数值可以是第一损失函数值与第二损失函数值之和,也可以是第一损失函数值与第二损失函数值进行加权求和得到总损失函数值等等,本实施例对此不作任何限制。
在本实施例中,通过第一损失函数和第二损失函数对训练过程中的主干模型和生成式对抗网络的模型参数进行更新,从而使得训练出来的主干模型能够输出与2D样本人头图像更接近、更匹配的3D发型图,从而进一步提高3D头发重建的精度。
结合以上实施例,在一种实施方式中,本发明还提供了一种模型更新方法,在该方法中,所述第二损失函数至少包括:对抗损失函数和重建损失函数,所述第一损失函数、所述对抗损失函数和所述重建损失函数均为L1损失函数。如图4所示,图4是本发明一实施例示出的一种模型更新方法的流程图。具体地,在该方法中,步骤S32具体包括步骤S41至步骤S43:
步骤S41:通过所述对抗损失函数确定所述第二图像对应的对抗损失函数值。
本实施例中,生成式对抗网络的损失函数至少包括:对抗损失函数和重建损失函数。其中,对抗损失函数用于利用判别器迫使第二图像更接近主干模型输入图,具体地,对抗损失函数是利用判别器去监督生成器所生成的第二图片,迫使生成器生成的第二图片不断接近主干模型的输入图,直至第二图像与输入图“基本一致”。
本实施例中的第一损失函数、对抗损失函数和重建损失函数均可以为L1损失函数,L1损失函数为平均绝对误差损失函数。如此,主干模型的第一损失函数计算的就是第一图像与主干模型的标签(2D样本人头图像对应的3D发型图)的头发坐标点的绝对值误差,生成式对抗网络的对抗损失函数和重建损失函数计算的就是第二图像与主干模型的输入图(2D样本人头图像)的像素值的绝对值误差。在步骤S41中,本实施例可以通过对抗损失函数确定第二图像对应的对抗损失函数值,即根据生成器输出的第二图像与主干模型的输入图(2D样本人头图像)通过对抗损失函数计算出对抗损失函数值。
步骤S42:通过所述重建损失函数确定所述第二图像对应的重建损失函数值。
本实施例中,可以通过重建损失函数确定第二图像对应的重建损失函数值,即根据生成器输出的第二图像与主干模型的输入图(2D样本人头图像)通过重建损失函数计算出重建损失函数值。
步骤S43:根据所述对抗损失函数值和所述对抗损失函数对应的权重,以及,所述重建损失函数值和所述重建损失函数对应的权重,确定所述第二损失函数值。
本实施例中,事先设置有对抗损失函数和重建损失函数所分别对应的权重,在确定出对抗损失函数值和对抗损失函数值后,可以根据对抗损失函数值和该对抗损失函数对应的权重,以及,重建损失函数值和该重建损失函数对应的权重,来确定第二损失函数值。例如本实施例中的第二损失函数值的确定方法可以为:第二损失函数值=对抗损失函数值*对抗损失函数对应的权重+重建损失函数值*重建损失函数对应的权重。
在本实施例中,将第二损失函数设置为至少包括对抗损失函数和重建损失函数,且将L1损失函数作为第一损失函数、对抗损失函数和重建损失函数的损失函数,利用L1损失函数的强约束性对主干模型和生成式对抗网络进行更好的训练,以更好地精修主干模型的学习结果。
结合以上实施例,在一种实施方式中,考虑到L1损失函数的强约束性,难免会对主干模型的学习进行过多的干扰,因此,本实施例在主干模型和生成式对抗网络的训练过程的初期阶段,将重建损失函数的权重设置为0;在主干模型和生成式对抗网络的训练过程的中后期阶段,逐步增大重建损失函数的权重,将重建损失函数的权重由0增加到1。
举例来说,如整个模型的训练分为300epoches,其中,一个epoch就是将所有训练样本训练一次的过程,则本实施例中的训练过程的初期阶段则为0-100epoch阶段,训练过程的中后期阶段则为100epoch-300epoch阶段。本实施例可用在模型训练过程中通过训练阶段以及训练效果逐步增大重建损失函数,以精修整个网络的学习结果。
在本实施例中,分阶段设置重建损失函数的权重值,在训练初期将权重设置为0,在中后期逐步增大重建损失函数的权重值,实验证明本实施例这种权重渐增的训练方式相比于模型网络初期就设置由权重有更好的结果,从而进一步提高模型3D头发重建的精度。
结合以上实施例,在一种实施方式中,考虑到当下传统的通过回归重建3D头发的模型中,随着模型网络结构的加深必然会伴随着头发位置信息的不断丢失,从而最终导致模型生成的3D发型效果不好,与平面人头图像的差距较大。因此,在本实施例中,不仅通过生成式对抗网络对主干模型的输出结果进行精修以提升3D头发重建模型的效果,还主干模型的结构做了进一步改进,以使其训练成能很好适用于回归任务的3D头发重建模型。
如图5所示,图5是本发明一实施例示出的一种模型生成方法的流程图。具体地,在该方法中,上述步骤S11具体包括步骤S51,上述步骤S12具体包括步骤S52:
步骤S51:获取3D发型图,将所述3D发型图映射成2D样本人头图像。
本实施例中,先获取多个3D发型图,再对3D发型图映射得到3D发型图所对应的2D样本人头图像。在一种实施方式中,可以是将3D发型图正交投影,将3D发型图里的Z轴去掉转换为平面图像,可以理解,将3D发型图映射成2D样本人头图像有多种方式,本实施例对此不作限制。
步骤S52:对所述2D样本人头图像进行预处理,得到所述2D样本人头图像对应的第一预处理数据,所述第一预处理数据至少包括2D样本人头图像对应的方向图;将所述第一预处理数据输入至主干模型,得到第一图像。
本实施例中,考虑到2D样本人头图像是通过3D发型图映射得到的,其与3D头发重建模型应用时所输入的2D人头图像(即真实人头平面图像)存在差异。因此,为了使模型训练与模型应用时用到的2D人头图像的差异尽可能不会对模型应用时生成的3D发型图造成影响,不影响模型的训练效果,本实施例在获得2D样本人头图像后,对2D样本人头图像进行预处理,以得到2D样本人头图像对应的第一预处理数据。其中,本实施例中的预处理可以为从2D样本人头图像中提取出与真实人头发型平面图像差距较小的特征信息的处理方法。本实施例中的第一预处理数据为:2D样本人头图像中进行模型训练时有用、且与真实人头图像差别较小的数据;第一预处理数据至少包括2D样本人头图像对应的方向图。本实施例用第一预处理数据进行模型训练,更利于训练出效果更好的3D头发重建模型。
本实施例中,得到2D样本人头图像对应的第一预处理数据后,将第一预处理数据作为主干模型的输入,将2D样本人头图像对应的3D发型图作为输出的目标,对主干模型进行训练,以得到主干模型输出的第一图像。
其中,本实施例中主干模型的结构设计如下:主干模型包括编码器和解码器,且编码器和解码器均由多个串行的单元模块构成,每个单元模块的输入端与输出端之间均具有直连分支,而编码器与解码器之间连接有多个并行的3D卷积模块,每个3D卷积模块的输入端与输出端之间也均具有直连分支。其中直连分支可以是跳跃连接,用以将模块的输入通过直连边加入卷积后的输出,从而进行模块输入与输出的特征融合。如图6所示,图6是本发明一实施例示出的一种主干模型的结构示意图,需要说明的是,图6中示意的直连分支只是为了更好地表明数据流的流向,实际上,直连分支均在各模块(各单元模块和各3D卷积模块)的内部,用以进行模块输入和输出的特征融合。
如图7所示,图7是本发明一实施例示出的一种模型生成方法的示意图。在图7中,Input即为主干模型的输入(第一预处理数据),Down和Up即代表主干模型,其中Down代表编码器,Up代表解码器,通过主干模型的编解码器部分输出第一图像,第一图像即为3D发型图。图7中的Gan即代表生成式对抗网络的生成器部分,通过生成式对抗网络的生成器对主干模型的输出结果进行“精修”,以使生成器生成与主干模型输入图“基本一致”的生成图(第二图像)。在本实施例中,主干模型的生成图为2D样本人头图像对应的方向图,生成式对抗网络的判别器用于使第二图像与2D样本人头图像对应的方向图更接近。
在本实施例中,通过整个主干模型结构和模块中的直连分支,单元模块能够对自身的输入与输出进行特征融合,自身的输入为其数据流上游相连接的单元模块的最终输出,而该单元模块数据流上游相连接的单元模块的最终输出为该单元模块数据流上游相连接的单元模块的输入与输出的特征融合的结果,因此,主干模型中每个单元模块均能对其数据流上游相连接的单元模块中输入的特征信息进行融合,其中,特征信息至少包括:头发的位置信息(如头发点的坐标信息)和头发的语义信息(如头发的颜色、纹理等信息),从而使得在模型训练过程中,主干模型的单元模块能不断融合第一预处理数据的位置信息,充分利用2D样本人头图像中头发的位置信息进行训练,以使主干模型最终输出的3D发型图能与输入的2D样本人头图像更接近、更匹配。
通过本实施例提出的模型生成方法,每个串行的单元模块均能对其数据流上游相连接的单元模块中输入的特征信息进行融合,且解码器能够通过多个并行的3D卷积模块不断地对编码器的信息进行融合,从而使得3D头发重建模型中的每个单元模块均能对其数据流上游相连接的单元模块中输入的特征信息进行融合,也就使得模型中的单元模块能不断融合模型低层的位置信息,保证了模型随着网络结构的加深能尽可能地少减少头发的位置信息,使得训练出的3D头发重建模型能够充分利用图像中头发的位置信息进行处理,与此同时,通过引入对抗式生成网络对主干模型的输出结果进行“精修”,以使3D头发重建模型最终输出的3D发型图与输入的2D人头图像更接近、更匹配,从而生成能很好适用于回归任务、且模型输出效果更好的3D头发重建模型。
结合以上实施例,在一实施方式中,如图6所示,所述主干模型的编码器和解码器分别由多个单元模块串联构成,且编码器中的最后一个单元模块与解码器中的第一个单元模块串联连接;其中,编码器中的单元模块与解码器中的单元模块一一对应;编码器中的各单元模块与各单元模块在解码器中对应的单元模块之间连接有3D卷积模块。
本实施例中的编码器由多个相同的单元模块串联构成,解码器也由多个相同的单元模块串联构成,且编码器中的最后一个单元模块与解码器中的第一个单元模块串联连接,从而构成了主干模型中的编解码器。其中,编码器中的单元模块与解码器中的单元模块一一对应,也就是说,编码器中的每一个单元模块都有一个对应的解码器中的单元模块,且为基于编解码器连接处呈对称关系。举例来说,如编码器和解码器分别由3个单元模块串联构成,则编码器中的第一个单元模块对应解码器中的第三个单元模块,编码器中的第二个单元模块对应解码器中的第二个单元模块,编码器中的第三个单元模块对应解码器中的第一个单元模块。
本实施例中,编码器中的各单元模块与各单元模块在解码器中对应的单元模块之间连接有3D卷积模块,本实施例中的3D卷积模块本质上为一个3D卷积操作,用于将编码器和解码器的信息融合起来。继续以上述示例举例:如编码器和解码器分别由3个单元模块串联构成,则编码器中的第一个单元模块与其对应的解码器中的第三个单元模块之间,连接有一个3D卷积模块;编码器中的第二个单元模块与其对应的解码器中的第二个单元模块之间,连接有一个3D卷积模块;编码器中的第三个单元模块与其对应的解码器中的第一个单元模块之间,连接有一个3D卷积模块。
在本实施例中,主干模型中各模块的输出为:
针对单元模块:单元模块对输入进行处理后得到的输出并不会直接给到下一单元模块,或与其连接的3D卷积模块,而是会将单元模块的输入与输出通过单元模块中的直连分支(如跳跃连接,用以将模块的输入通过直连边加入卷积后的输出)进行特征融合,从而得到单元模块的最终输出,再将最终输出给到下一单元模块,或与其连接的3D卷积模块。
针对3D卷积模块:3D卷积模块对输入进行处理后得到的输出也并不会直接给到与其连接的解码器中的单元模块,而是会将3D卷积模块的输入与输出通过3D卷积模块中的直连分支(如跳跃连接)进行特征融合,从而得到3D卷积模块的最终输出,再将最终输出与其连接的解码器中的单元模块。
其中,本实施例中各模块的输入为:编码器中的首个单元模块的输入为:第一预处理数据;编码器中除首个单元模块外的其他单元模块的输入为:上一个单元模块的最终输出;3D卷积模块的输入为:与其连接的编码器中的单元模块的最终输出;解码器的单元模块的输入为:上一个单元模块的最终输出,以及,与解码器的单元模块相连接的3D卷积模块的最终输出。
通过本实施例所提出的主干模型的结构,编码器与解码器中的各单元模块一一对应,且编解码器中对应的单元模块之间连接有3D卷积模块,从而使得编码器与解码器之间能够通过多个并行的3D卷积模块进行信息融合,从而进一步不断融合模型中的低层位置信息,在模型训练过程中尽可能少减少模型中的位置信息。本实施例解码器中的各单元模块能够不断融合前一单元模块(即指数据流上游相连接的单元模块)的输入信息,而解码器中的各单元模块不仅能融合前一单元模块的输入信息,还能通过3D卷积模块对编码器中相对应模块的输入信息进行融合,从而使得在模型训练过程中,单元模块能不断融合模型低层的位置信息(第一预处理数据的位置信息),以保证随着模型网络结构的加深,在尽可能保证单元模块内语义信息增多的同时位置信息少减少,以提升模型的训练效果,与此同时,通过引入对抗式生成网络对主干模型的输出结果进行“精修”,以使3D头发重建模型最终输出的3D发型图与输入的2D人头图像更接近、更匹配,从而生成能很好适用于回归任务、且模型输出效果更好的3D头发重建模型。
在一种可选实施方式中,第一预处理数据包括2D样本人头图像的方向图、2D样本人头图像头发区域对应的掩膜和2D样本人头图像的人头轮廓信息
其中,可以是通过滤波器对2D样本人头图像进行处理,得到2D样本人头图像的方向图。其中,本实施例可以是通过Gabor Filter对2D样本人头图像进行处理,从而得到2D样本人头图像的方向图。本实施例可以是通过图像分割算法或专门的图像分割模型对2D样本人头图像进行图像分割,得到2D样本人头图像的掩膜,再从2D样本人头图像的掩膜中确定2D样本人头图像中头发区域对应的掩膜。本实施例可以是通过人体轮廓识别模型对2D样本人头图像进行处理,从而得到2D样本人头图像中的人头轮廓信息。
在一种实施方式中,主干模型还包括一个初始卷积模块,该初始卷积模块设置在编码器外部的数据流上游。该初始卷积模块用于对第一预处理数据进行升维处理,得到初步特征图,以作为编码器中首个单元模块的输入。
而在本实施例中,每个单元模块执行的步骤可以包括:
首先,对单元模块的输入进行信息提取,得到分辨率降低的第一特征图。
本实施例中每个单元模块均会先对单元模块的输入进行信息提取,如通过一个stride=2的卷积完成输入的信息提取,从而得到分辨率降低的第一特征图。
其次,通过双线性插值的方法将第一特征图的分辨率恢复到输入的分辨率,得到中间特征图。
本实施例在得到第一特征图后,单元模块接着会通过双线性插值的方法将第一特征图的分辨率恢复到单元模块输入的分辨率,从而得到中间特征图。本实施例的单元模块进行信息提取时会伴随着分辨率的下降,由于分辨率不断下降会丢失一定信息,因此单元模块再通过双线性插值方法将特征图的分辨率恢复,这样单元模块就能保持特征图的恒分辨率,尽可能避免信息的丢失。
然后,增加中间特征图的通道数,得到最终特征图。
本实施例得到中间特征图后,还可以通过一个1*1卷积增加中间特征图的通道数,如将通道数变为单元模块输入时的两倍,从而得到最终特征图。由于卷积会在一定程度上减少输入的特征信息,因此本实施例的单元模块通过增加通道数来弥补丢失的信息。
最后,通过直连分支将最终特征图和输入进行特征融合,得到单元模块的最终输出。
本实施例中,单元模块的输入端与输出端之间具有直连分支,单元模块可通过该直连分支将最终特征图和该单元模块的输入进行特征融合,以得到单元模块的最终输出。如本实施可以是通过带有1*1卷积的跳跃连接,以将该单元模块的输入的特征通道数与单元模块的输出的通道数保持一致,从而方便单元模块输入输出的特征融合。
本实施例的单元模块内部通过提取特征信息、保持特征图恒分辨率,增加特征通道数以及输入输出的特征融合,使得由单元模块构成的整个模型网络结构能够尽可能地避免特征的丢失,进一步保持了模型训练过程中的头发位置信息和语义信息。
结合以上实施例,在一种实施方式中,本发明还提供了一种3D发型生成方法,在该方法中,还包括步骤S81至步骤S82。步骤S81和步骤S82的关系如图8所示,图8是本发明一实施例示出的一种3D发型生成方法的流程图。
步骤S81:获取待处理的2D人头图像。
本实施例中,在需要进行3D发型重建时,可获取需要进行3D发型重建的2D人头图像,即获取待处理的2D人头图像。
步骤S82:将所述待处理的2D人头图像输入至如本发明上述任一实施例所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
本实施例中,在得到需要进行3D发型重建的2D人头图像,将2D人头图像输入至预先训练好的3D头发重建模型,即可得到该3D头发重建模型输出的3D发型图。本实施例中预先训练好的3D头发重建模型即为本发明上述任一实施例所述的模型生成方法生成的、最后训练得到的3D头发重建模型。
在本实施例中,通过预先训练好的、且经过输出结果“精修”的3D头发重建模型来对2D人头图像进行3D发型重建,从而能够得到效果更好、与输入的2D人头图像更接近、更匹配的3D发型。
结合以上实施例,在另一种实施方式中,本发明还提供了另一种3D发型生成方法,在该方法中,上述步骤S82可以包括步骤S91至步骤S92。如图9所示,图9是本发明另一实施例示出的一种3D发型生成方法的流程图。
步骤S91:对所述待处理的2D人头图像进行预处理,得到所述待处理的2D人头图像对应的第二预处理数据。
本实施例中,需对获取到的待处理的2D人头图像进行预处理,从而得到待处理的2D人头图像对应的第二预处理数据。其中,本步骤中进行预处理的方法可以与在进行模型训练中进行预处理的方法(如上述步骤S52)相同,本实施例对此不作任何限制。
步骤S92:将所述第二预处理数据输入至如本发明上述任一实施例所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
本实施例中,将预处理后得到的第二预处理数据输入至预先训练好的3D头发重建模型,即可得到该3D头发重建模型输出的3D发型图。本实施例中预先训练好的3D头发重建模型即为本发明上述如本发明上述任一实施例所述的模型生成方法生成的最后训练得到的3D头发重建模型。
在本实施例中,通过预先训练好的、位置信息尽可能少减少且经过输出结果“精修”的3D头发重建模型来对2D人头图像进行3D发型重建,从而能够得到效果更好、与输入的2D人头图像更接近、更匹配的3D发型。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
基于同一发明构思,本发明一实施例提供了一种模型生成装置1000,参考图10,图10是本发明一实施例提供的模型生成装置的结构框图。如图10所示,该装置1000包括:
第一图像获取模块1001,用于获取2D样本人头图像和所述2D样本人头图像对应的3D发型图;
第一模型训练模块1002,用于将所述2D样本人头图像作为输入图输入至主干模型,得到第一图像;所述第一图像为3D发型图,所述主干模型用于根据2D人头图像生成3D发型图,所述2D样本人头图像对应的3D发型图为所述主干模型在训练过程中的标签;
第二模型训练模块1003,用于将所述第一图像输入至生成式对抗网络的生成器,得到所述生成器生成的第二图像,将所述第二图像与所述输入图进行比较,对所述主干模型和所述生成式对抗网络进行训练,直至所述第二图像满足预设条件时,结束训练;所述预设条件为所述第二图像与所述输入图的像素值误差小于预设阈值;
模型生成模块1004,用于将训练结束时的主干模型确定为3D头发重建模型。
可选的,所述装置1000还包括:
第一损失函数值确定模块,用于在所述主干模型和所述生成式对抗网络的训练过程中,通过第一损失函数确定主干模型输出的第一图像对应的第一损失函数值;
第二损失函数值确定模块,用于通过第二损失函数确定生成器输出的第二图像对应的第二损失函数值;
模型参数更新模块,用于根据所述第一损失函数值和所述第二损失函数值确定总损失函数值,根据所述总损失函数值对所述主干模型和所述生成式对抗网络的模型参数进行更新。
可选的,所述第二损失函数至少包括:对抗损失函数和重建损失函数,所述第一损失函数、所述对抗损失函数和所述重建损失函数均为L1损失函数;
所述第二损失函数值确定模块包括:
对抗损失函数值确定模块,用于通过所述对抗损失函数确定所述第二图像对应的对抗损失函数值;
重建损失函数值确定模块,用于通过所述重建损失函数确定所述第二图像对应的重建损失函数值;
第二损失函数值确定子模块,用于根据所述对抗损失函数值和所述对抗损失函数对应的权重,以及,所述重建损失函数值和所述重建损失函数对应的权重,确定所述第二损失函数值。
可选的,在所述主干模型和所述生成式对抗网络的训练过程的初期阶段,所述重建损失函数的权重为0;在所述主干模型和所述生成式对抗网络的训练过程的中后期阶段,所述重建损失函数的权重由0增加到1。
可选的,第一图像获取模块1001包括:第一图像获取子模块,用于获取3D发型图,将所述3D发型图映射成2D样本人头图像;
第一模型训练模块1002包括:第一模型训练子模块,用于对所述2D样本人头图像进行预处理,得到所述2D样本人头图像对应的第一预处理数据,所述第一预处理数据至少包括2D样本人头图像对应的方向图;将所述第一预处理数据输入至主干模型,得到第一图像;
其中,所述主干模型的输入图为2D样本人头图像对应的方向图,所述主干模型的结构为:所述主干模型包括编码器和解码器,所述编码器和所述解码器均由多个串行的单元模块构成,所述编码器与所述解码器之间连接有多个并行的3D卷积模块;所述单元模块的输入端与输出端之间和所述3D卷积模块的输入端与输出端之间均具有直连分支,每个单元模块对数据流上游相连接的单元模块中输入的特征信息进行融合,使得所述单元模块能不断融合第一预处理数据的特征信息,所述特征信息至少包括位置信息,所述位置信息包括头发点的坐标信息。
基于同一发明构思,本发明一实施例提供了一种3D发型生成装置1100,参考图11,图11是本发明一实施例提供的3D发型生成装置的结构框图。如图11所示,该装置1100包括:
第二图像获取模块1101,用于获取待处理的2D人头图像;
第一3D发型获取模块1102,用于将所述待处理的2D人头图像输入至如本发明上述任一实施例所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
可选的,所述第一3D发型获取模块1102包括:
第一数据处理模块,用于对所述待处理的2D人头图像进行预处理,得到所述待处理的2D人头图像对应的第二预处理数据;
第二3D发型获取模块,用于将所述第二预处理数据输入至如本发明上述任一实施例所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
基于同一发明构思,本发明另一实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如本发明上述任一实施例所述的模型生成方法中的步骤或本发明上述任一实施例所述的3D发型生成方法中的步骤。
基于同一发明构思,本发明另一实施例提供一种电子设备1200,如图12所示。图12是本发明一实施例示出的一种电子设备的示意图。该电子设备包括存储器1202、处理器1201及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本发明上述任一实施例所述的模型生成方法中的步骤或本发明上述任一实施例所述的3D发型生成方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种模型生成、3D发型生成方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种模型生成方法,其特征在于,所述方法包括:
获取2D样本人头图像和所述2D样本人头图像对应的3D发型图;
将所述2D样本人头图像作为输入图输入至主干模型,得到第一图像;所述第一图像为3D发型图,所述主干模型用于根据2D人头图像生成3D发型图,所述2D样本人头图像对应的3D发型图为所述主干模型在训练过程中的标签;
将所述第一图像输入至生成式对抗网络的生成器,得到所述生成器生成的第二图像,将所述第二图像与所述输入图进行比较,对所述主干模型和所述生成式对抗网络进行训练,直至所述第二图像满足预设条件时,结束训练;所述预设条件为所述第二图像与所述输入图的像素值误差小于预设阈值;
将训练结束时的主干模型确定为3D头发重建模型。
2.根据权利要求1所述的方法,其特征在于,
在所述主干模型和所述生成式对抗网络的训练过程中,通过第一损失函数确定主干模型输出的第一图像对应的第一损失函数值;
通过第二损失函数确定生成器输出的第二图像对应的第二损失函数值;
根据所述第一损失函数值和所述第二损失函数值确定总损失函数值,根据所述总损失函数值对所述主干模型和所述生成式对抗网络的模型参数进行更新。
3.根据权利要求2所述的方法,其特征在于,所述第二损失函数至少包括:对抗损失函数和重建损失函数,所述第一损失函数、所述对抗损失函数和所述重建损失函数均为L1损失函数;所述通过第二损失函数确定生成器输出的第二图像对应的第二损失函数值,包括:
通过所述对抗损失函数确定所述第二图像对应的对抗损失函数值;
通过所述重建损失函数确定所述第二图像对应的重建损失函数值;
根据所述对抗损失函数值和所述对抗损失函数对应的权重,以及,所述重建损失函数值和所述重建损失函数对应的权重,确定所述第二损失函数值。
4.根据权利要求3所述的方法,其特征在于,在所述主干模型和所述生成式对抗网络的训练过程的初期阶段,所述重建损失函数的权重为0;在所述主干模型和所述生成式对抗网络的训练过程的中后期阶段,所述重建损失函数的权重由0增加到1。
5.根据权利要求1所述的方法,其特征在于,所述获取2D样本人头图像和所述2D样本人头图像对应的3D发型图,包括:获取3D发型图,将所述3D发型图映射成2D样本人头图像;
所述将所述2D样本人头图像作为输入图输入至主干模型,得到第一图像,包括:
对所述2D样本人头图像进行预处理,得到所述2D样本人头图像对应的第一预处理数据,所述第一预处理数据至少包括2D样本人头图像对应的方向图;将所述第一预处理数据输入至主干模型,得到第一图像;
其中,所述主干模型的输入图为2D样本人头图像对应的方向图,所述主干模型的结构为:所述主干模型包括编码器和解码器,所述编码器和所述解码器均由多个串行的单元模块构成,所述编码器与所述解码器之间连接有多个并行的3D卷积模块;所述单元模块的输入端与输出端之间和所述3D卷积模块的输入端与输出端之间均具有直连分支,每个单元模块对数据流上游相连接的单元模块中输入的特征信息进行融合,使得所述单元模块能不断融合第一预处理数据的特征信息,所述特征信息至少包括位置信息,所述位置信息包括头发点的坐标信息。
6.一种3D发型生成方法,其特征在于,所述方法包括:
获取待处理的2D人头图像;
将所述待处理的2D人头图像输入至如权利要求1-5任一所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
7.根据权利要求6所述的方法,其特征在于,所述将所述待处理的2D人头图像输入至如权利要求1-5任一所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图,包括:
对所述待处理的2D人头图像进行预处理,得到所述待处理的2D人头图像对应的第二预处理数据;
将所述第二预处理数据输入至如权利要求1-5任一所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
8.一种模型生成装置,其特征在于,所述装置包括:
第一图像获取模块,用于获取2D样本人头图像和所述2D样本人头图像对应的3D发型图;
第一模型训练模块,用于将所述2D样本人头图像作为输入图输入至主干模型,得到第一图像;所述第一图像为3D发型图,所述主干模型用于根据2D人头图像生成3D发型图,所述2D样本人头图像对应的3D发型图为所述主干模型在训练过程中的标签;
第二模型训练模块,用于将所述第一图像输入至生成式对抗网络的生成器,得到所述生成器生成的第二图像,将所述第二图像与所述输入图进行比较,对所述主干模型和所述生成式对抗网络进行训练,直至所述第二图像满足预设条件时,结束训练;所述预设条件为所述第二图像与所述输入图的像素值误差小于预设阈值;
模型生成模块,用于将训练结束时的主干模型确定为3D头发重建模型。
9.一种3D发型生成装置,其特征在于,所述装置包括:
第二图像获取模块,用于获取待处理的2D人头图像;
第一3D发型获取模块,用于将所述待处理的2D人头图像输入至如权利要求1-5任一所述的模型生成方法生成的3D头发重建模型,得到所述3D头发重建模型输出的3D发型图。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7任一所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210752748.1A CN115049765A (zh) | 2022-06-29 | 2022-06-29 | 模型生成、3d发型生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210752748.1A CN115049765A (zh) | 2022-06-29 | 2022-06-29 | 模型生成、3d发型生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115049765A true CN115049765A (zh) | 2022-09-13 |
Family
ID=83164510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210752748.1A Pending CN115049765A (zh) | 2022-06-29 | 2022-06-29 | 模型生成、3d发型生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115049765A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116030201A (zh) * | 2023-03-28 | 2023-04-28 | 美众(天津)科技有限公司 | 多颜色发型演示图像的生成方法、装置、终端及存储介质 |
-
2022
- 2022-06-29 CN CN202210752748.1A patent/CN115049765A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116030201A (zh) * | 2023-03-28 | 2023-04-28 | 美众(天津)科技有限公司 | 多颜色发型演示图像的生成方法、装置、终端及存储介质 |
CN116030201B (zh) * | 2023-03-28 | 2023-06-02 | 美众(天津)科技有限公司 | 多颜色发型演示图像的生成方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111160085A (zh) | 一种人体图像关键点姿态估计方法 | |
CN111192201B (zh) | 一种生成人脸图像及其模型训练的方法、装置及电子设备 | |
CN111652049A (zh) | 人脸图像处理模型训练方法、装置、电子设备及存储介质 | |
CN111814566A (zh) | 图像编辑方法、装置、电子设备及存储介质 | |
CN111861945B (zh) | 一种文本引导的图像修复方法和系统 | |
CN111598111B (zh) | 三维模型生成方法、装置、计算机设备及存储介质 | |
CN113343705A (zh) | 一种基于文本语义的细节保持图像生成方法及系统 | |
CN112686816A (zh) | 一种基于内容注意力机制和掩码先验的图像补全方法 | |
CN112686817B (zh) | 一种基于不确定性估计的图像补全方法 | |
CN112734887B (zh) | 基于深度学习的人脸混合-变形生成方法和装置 | |
CN115049765A (zh) | 模型生成、3d发型生成方法、装置、电子设备及存储介质 | |
CN111738270A (zh) | 模型生成方法、装置、设备和可读存储介质 | |
CN111340011B (zh) | 一种自适应时序移位神经网络时序行为识别方法 | |
CN117788629B (zh) | 一种具有风格个性化的图像生成方法、装置及存储介质 | |
CN115115744A (zh) | 图像处理方法、装置、设备、存储介质和程序产品 | |
CN113516604B (zh) | 图像修复方法 | |
CN111738092B (zh) | 一种基于深度学习的恢复被遮挡人体姿态序列方法 | |
CN117593178A (zh) | 一种基于特征引导的虚拟试衣方法 | |
CN112990123B (zh) | 图像处理方法、装置、计算机设备和介质 | |
CN112862920B (zh) | 基于手绘草图的人体图像生成方法及系统 | |
CN115100330A (zh) | 模型生成、3d发型生成方法、装置、电子设备及存储介质 | |
CN114331894A (zh) | 一种基于潜在特征重构和掩模感知的人脸图像修复方法 | |
CN113822790A (zh) | 一种图像处理方法、装置、设备及计算机可读存储介质 | |
CN113592971A (zh) | 一种虚拟人体图像生成方法、系统、设备及介质 | |
CN113469221A (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 |