一种基于扩散模型的虚拟换发型方法与流程

专利2025-03-26  23

本发明涉及虚拟换发,特别是一种基于扩散模型的虚拟换发型方法。
背景技术
::1、随着科技发展,虚拟现实技术逐渐成熟,随之带来的是更多令人便利的虚拟现实应用,虚拟试穿一直以来是受大众欢迎的虚拟现实应用,而虚拟换发型技术即这个领域中一项更受瞩目且更具挑战的应用,用户可以根据自己的喜好,选择不同的发型、颜色和纹理,进行个性化的搭配和尝试,这种技术的应用,极大地丰富了用户的美发体验,同时也避免了因理发效果不理想而带来的失望和经济损失,这项任务的重点在于将目标发型的形状、颜色和纹理完好地转换到用户的头上,同时保证用户的身份信息和背景不发生变动,2、近年来,大部分虚拟换发型技术大都是基于gan的方法,然而随之带来的问题是它无法处理纹理复杂的发型,容易忽略掉细节,或者产生伪影,基于上述原因,本发明提出了基于扩散模型的虚拟换发型技术。技术实现思路1、鉴于上述现有存在的问题,提出了本发明。2、因此,本发明提供了一种基于扩散模型的虚拟换发型方法解决无法处理纹理复杂的发型,容易忽略掉细节,或者产生伪影的问题。3、为解决上述技术问题,本发明提供如下技术方案:4、一方面,本发明提供了一种基于扩散模型的虚拟换发型系统,其包括,5、一阶段图像处理模块,处理输入的源图片和发型参考图片,执行人脸检测、对齐和图像裁剪操作;6、秃顶生成器,用于生成源图片中人物秃顶图片,即没有头发的图片;7、发型参考网络,从发型参考图片中提取发型细节,该网络通过隐空间编码和交叉注意力机制提取发型信息,并将发型信息细节注入到发型生成扩散模型中;8、发型生成扩散模型,基于秃顶生成器生成的秃顶图片和发型参考网络提供的发型细节,生成粗糙换发型图片,捕捉发型的整体轮廓;9、二阶段图像处理模块,是对粗糙换发型图片进行处理,包括人脸检测、对齐和裁剪操作,此外还生成发型二值掩码;10、发型重绘扩散模型,将第一阶段生成的粗糙换发型图片进行精细化重绘,结合发型lora训练的发型特征,重新绘制发型区域,使发型与其他部分和谐融合,输出精细发型图片。11、另一方面,本发明提供了一种基于扩散模型的虚拟换发型方法,包括,12、步骤s1,在训练时选取同一人不同发型的图片,例如sketchhairsalon数据集;13、步骤s2,从同一人不同发型图片中,随机选取一张图片作为源图片,一张图片作为发型参考图片,然后经过图像处理模块处理成所需格式;14、步骤s3,将源图片isrc输入到秃顶生成器中,得到秃顶图片ibald;15、步骤s4,将发型参考图片iref输入到发型参考网络中,提取发型相关细节;16、步骤s5,将秃顶图片ibald输入到发型生成扩散模型中,提取的发型细节通过交叉注意力机制输入到发型生成扩散模型中,最终得到粗糙换发型图片;17、步骤s6,为每款发型准备510张不同角度图片(不需要背面)作为发型lora发型训练集,将发型训练集中的图片输入到图像处理模块,得到发型图片和发型描述词;18、步骤s7,将步骤s6得到的发型图片和发型描述词输入到扩散模型中,进行针对性发型的lora训练;19、步骤s8,经过vae解码器生成精细换发型图片;20、步骤s1-步骤s5为一阶段发型生成步骤,步骤s6-步骤s8为二阶段发型生成步骤;21、由于一阶段生成出来的发型图片比较粗糙,所以采用两阶段虚拟换发型图片的生成方式;22、第一阶段使用训练好的发型生成扩散模型生成粗糙的换发型图片,第二阶段使用发型重绘扩散模型对粗糙的换发型图片的发型区域进行重绘,得到最终更加精细换发型图片;23、此处的粗糙和精细为相对而言。24、进一步的,一阶段图像处理模块中:25、将源图片isrc,发型参考图片iref输入到图像处理模块,检测人脸,再进行人脸对齐,裁剪调整大小到所需尺寸;26、一阶段中的秃顶生成器包含一个vae编码器ε、秃顶生成扩散模型∈b、秃顶controlnetτb、秃顶生成扩散模型和一个vae解码器;27、秃顶生成扩散模型为隐空间扩散模型stablediffusion,采用sdv1.5的预训练权重,stablediffusion是经典的隐空间扩散模型(ldm,latentdiffusionmodel),ldm采用变分自编码器vae,给定输入图片,先经过编码器将图片映射到隐空间,使得扩散在隐空间中进行,在扩散的前向过程中,高斯噪声会在t次迭代中逐步添加到隐变量上,反向扩散过程是为了逐步去噪,最后再经过解码器恢复到rgb空间,得到最终图片;28、controlnet分支创建可训练的扩散模型unet编码块和中间块的副本,并添加额外的零卷积层,controlnet的编码块、中间块与扩散模型的解码块、中间块进行相加,此处的扩散模型即为秃顶生成扩散模型,将每个副本块的输出添加到原始扩散模型unet的跳跃连接中;29、随机采样4通道的隐空间高斯噪声输入到秃顶生成扩散模型中;30、将源图片输入到vae编码器中,得到隐空间编码zsrc=ε(isrc),将隐空间编码zsrc输入到秃顶controlnet中,即秃顶生成扩散模型的解码块和中间块的可训练副本,经过零卷积层,通过残差连接将秃顶controlnet的编码块和中间块与秃顶生成扩散模型的解码块和中间块相加,将源图片的参考信息输入到秃顶生成扩散模型中;31、最终秃顶生成扩散模型的输出,经过vae解码器,输出rgb空间的源图片中人物的秃顶图片ib;32、在训练秃顶生成器的过程中,只训练秃顶controlnet,秃顶生成扩散模型、vae编码器和vae解码器的权重固定,采用sdv1.5的预训练权重,秃顶controlnet参与训练,初始权重也采用sdv1.5的预训练权重,通过最小化损失函数,使用adam优化器进行优化迭代,训练秃顶生成器的损失函数为:其中,表示损失函数,表示期望值,即在给定源图片isrc的隐空间编码、从标准高斯分布采样的噪声∈,以及时间步长t下的期望,∈b表示秃顶生成扩散模型的噪声估计器,负责在每个时间步长t下预测输入的噪声分布,τb(ε(isrc)表示由秃顶controlnet模型τb生成的输入源图片的秃顶特征,经过vae编码器ε对源图片isrc进行隐空间编码,并在时间步长t进行处理,∈表示高斯噪声,表示l2范数。33、进一步的,一阶段中的发型参考网络中,34、发型参考网络τh是基于隐空间扩散模型stablediffusion训练得到:35、将发型参考图片iref输入到预训练的vae编码器ε中,得到隐空间编码z=ε(iref);36、将隐空间编码z输入到发型参考网络τh中,提取到发型细节特征ch,通过交叉注意力机制输入到发型生成扩散模型中,交叉注意力机制计算方式为:37、其中,z″表示交叉注意力机制的输出结果,q=zwq,k′=chw′k,v′=chw′v分别为图片特征的查询、键和值矩阵,wq、w′k和w′v为可训练的线性映射层,查询矩阵采用的是和自注意力机制相同的查询矩阵,d表示特征维度,t表示转置操作。38、进一步的,一阶段中的发型生成扩散模型中,39、发型生成扩散模型∈b是基于预训练的stablediffusion模型训练得到:40、将秃顶生成器生成的秃顶图片ib输入到预训练的vae编码器中,得到隐空间编码zb=ε(iref);41、随机生成隐空间高斯噪声加上得到的隐空间编码zb,输入到发型生成扩散模型中,经过特征层得到特征z,经过自注意力机制进行注意力计算:42、其中,q=zwq,k=zwk,v=zwv分别为图片特征的查询、键和值矩阵,wk和wv为可训练的线性映射层,查询矩阵q采用的是和发型参考网络发型交叉注意力机制相同的查询矩阵,经过自注意力机制后,再经过交叉注意力机制z′,将得到的注意力相加:znew=z′+z″,得到新的注意力znew,将头发准确地转移到源图像中区域;43、经过后续的特征层,将最终输出的隐空间特征层输入到预训练的vae解码器中,得到rgb空间的粗糙的换发型图片。44、进一步的,二阶段的发型生成训练过程中:45、针对每一款发型训练了一个lora小模型:w=w0+δw=w0+ba,其中,w表示微调后的权重矩阵,δw表示权重更新量,预训练权重为w0∈rd×k,另外的低秩矩阵b∈rd×r,a∈rr×k,并且秩r<<min(d,k),d,k分别表示特征维度和输出维度,减少训练负担,而且使得模型能够快速捕捉到每款发型的独特特征,从而在保持训练效率的同时,显著提升了生成图片的质量。46、进一步的,二阶段的图像处理模块中:47、使用大模型对输入的发型进行打标,即得到对发型的描述词;48、采用开源的图像分割模型sam对头发进行分割,得到发型图片ih。49、进一步的,二阶段的lora训练过程中,扩散模型∈θ采用预训练的sdv1.5作为预训练权重:50、将二阶段图像处理模块得到的发型描述词输入到预训练的clip文本编码器中,得到文本编码ct,通过文本交叉注意力机制输入到扩散模型中;51、将二阶段图像处理模块得到的发型图片输入到vae编码器中,得到隐空间编码zh=ε(ih),加上随机生成隐空间高斯噪声输入到扩散模型中,将发型lora的权重应用到扩散模型上;52、扩散模型的最后特征层输出,经过vae解码器,得到rgb空间的发型图片;53、在训练过程中,通过最小化损失函数,使用adam优化器进行优化迭代,扩散模型的权重固定,只训练发型lora,训练发型lora的损失函数为:54、其中,为损失函数,表示期望值,∈θ+δθ表示发型lora集成的扩散模型,经过权重调整θ+δθ后对噪声进行估计,δθ表示lora模型训练中微调的权重增量,zt表示隐空间的发型图片编码结果,ct表示文本描述词的编码结果,∈表示高斯噪声。55、进一步的,二阶段的图像处理模块中:56、在推理阶段,与训练阶段不同的是扩散模型采用的是预训练的stablediffusion重绘模型;57、重绘扩散模型的目标为在一张图片的用户指定区域,重新绘制用户所需的图像,且保证绘制区域能与原始图像和谐融合,重绘扩散模型用在虚拟换发型上,旨在将源图片的发型剥离,将发型lora训练的目标发型重新绘制在模特身上,使得其他部分保留在原始状态,生成的发型更加真实自然;58、在推理阶段,图像处理模块首先对输入粗糙换发型图片进行人脸检测、人脸对齐,裁剪调整到所需尺寸;59、再使用开源图像分割方法sam将发型从源图片、粗糙换发型图片中分割出来,叠加得到发型二值掩码i′m,再将发型二值掩码进行扩张,得到扩张之后的发型二值掩码im;60、将发型二值掩码im与粗糙换发型图片叠加得到遮挡发型的图片ibg;61、获取lora训练过程中达标得到的针对此次发型的描述词。62、进一步的,二阶段的发型重绘扩散模型中:63、将发型描述词输入到clip文本编码器中,得到文本编码ct;64、将遮挡发型的模特图片ibg输入到vae编码器ε中,得到4通道的重绘背景隐编码zbg=ε(ibg),生成隐空间随机高斯噪声将4通道的重绘背景隐编码zbg、4通道的隐空间噪声∈和二阶段的图像处理模块得到的1通道的发型二值掩码图im,沿通道拼接,得到9通道的输入;65、将9通道输入输入到发型lora集成的发型重绘扩散模型中,经过循环去噪,发型重绘扩散模型输出的特征层,最后经过vae解码器,得到精细换发型图片。66、本发明有益效果为:67、本发明,通过两阶段的生成方法,第一阶段生成较粗糙的发型图片,而第二阶段通过重绘机制将其精细化,使生成的发型图片具有更高的细节保真度,第二阶段采用发型重绘扩散模型,使得发型在复杂的纹理和细节上能够更好地呈现,避免出现传统方法中生成发型图片容易出现模糊或细节丢失。68、本发明,针对传统基于gan的方法往往难以处理复杂纹理的发型,容易产生伪影或忽略细节一问题,基于扩散模型的方案,结合交叉注意力机制,更好地捕捉发型细节,通过在生成过程中注入发型参考信息,保证发型细节的传递,可以处理更加复杂的发型样式,并且保持较高的稳定性。69、本发明,在第二阶段中引入lora模型进行发型微调,减少了训练参数的数量,提高了训练效率,轻量化的微调方法能够快速适应不同发型的生成需求,且不需要完全重新训练整个模型,节省计算资源和时间,适合个性化发型生成的需求。当前第1页12当前第1页12
技术特征:

1.一种基于扩散模型的虚拟换发型系统,其特征在于:包括,

2.一种基于扩散模型的虚拟换发型方法,其特征在于,基于权利要求1所述的一种基于扩散模型的虚拟换发型系统,包括以下步骤,

3.根据权利要求2所述的一种基于扩散模型的虚拟换发型方法,其特征在于,一阶段图像处理模块中:

4.根据权利要求3所述的一种基于扩散模型的虚拟换发型方法,其特征在于,一阶段中的发型参考网络中,

5.根据权利要求4所述的一种基于扩散模型的虚拟换发型方法,其特征在于,一阶段中的发型生成扩散模型中,

6.根据权利要求5所述的一种基于扩散模型的虚拟换发型方法,其特征在于,二阶段的发型生成训练过程中:

7.根据权利要求6所述的一种基于扩散模型的虚拟换发型方法,其特征在于,二阶段的图像处理模块中:

8.根据权利要求7所述的一种基于扩散模型的虚拟换发型方法,其特征在于,二阶段的lora训练过程中,扩散模型∈θ采用预训练的sdv1.5作为预训练权重:

9.根据权利要求8所述的一种基于扩散模型的虚拟换发型方法,其特征在于,二阶段的图像处理模块中:

10.根据权利要求9所述的一种基于扩散模型的虚拟换发型方法,其特征在于,二阶段的发型重绘扩散模型中:


技术总结
本发明公开了一种基于扩散模型的虚拟换发型方法,涉及虚拟换发技术领域,本发明采用两阶段的生成方法,第一阶段生成较粗糙的发型图片,第二阶段通过重绘机制将其精细化,使生成的发型图片具有更高的细节保真度,第二阶段采用发型重绘扩散模型,使得发型在复杂的纹理和细节上能够更好地呈现,避免出现传统方法中生成发型图片容易出现模糊或细节丢失,针对传统基于GAN的方法往往难以处理复杂纹理的发型,容易产生伪影或忽略细节问题,基于扩散模型的方案,结合交叉注意力机制,更好地捕捉发型细节,通过在生成过程中注入发型参考信息,保证发型细节的传递,可以处理更加复杂的发型样式,并且保持较高的稳定性。

技术研发人员:唐杰,闫浩男,周润楠,杨超杰,张涛
受保护的技术使用者:杭州像素互动科技有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-22795.html