技术领域
[0001] 本发明属于沉浸式场景试衣视技术领域,具体而言,涉及一种沉浸式场景试衣视频实时生成方法、介质及系统。
相关背景技术
[0002] 当前,互联网技术与电子商务的快速发展,为消费者提供了全新的购物体验。在服装行业,在线试衣已经成为购物流程中不可或缺的一环。与传统线下商城相比,消费者通过在线试衣,不仅可以大大提升自己的购物效率,还能够更好地了解服装在自己身上的效果,从而做出更加明智的购买决策。
[0003] 现有的在线试衣技术主要有两种实现方式:一种是基于二维图像的虚拟试衣,另一种是基于三维模型的沉浸式试衣。前者通常是利用消费者上传的照片,在图像上叠加服装效果,让消费者直观地感受服装的穿着效果。这种方法相对简单,但由于忽略了人体形态和动态效果,难以给消费者一种真实的试衣体验。后者则是利用三维扫描技术获取消费者的三维人体模型,并在此基础上模拟服装的穿戴效果,从而让消费者置身于沉浸式的虚拟试衣场景中。这种方法可以提供更加逼真的试衣体验,但也存在一些不足:首先,三维扫描设备的成本较高,普通消费者难以接受;其次,即便获取到了消费者的三维人体模型,也很难在虚拟场景中还原消费者的真实面貌和服装穿戴效果。
[0004] 针对以上问题,业界提出了一种基于计算机视觉和深度学习的沉浸式虚拟试衣技术。这种方法不需要专门的三维扫描设备,而是利用消费者上传的二维照片,通过三维重建、人体特征提取等计算机视觉技术,构建出消费者的三维人体模型。同时,利用深度学习模型,可以根据服装的二维图像和三维特征,准确预测消费者穿戴该服装后的三维效果。最后,将调整后的三维人体模型融入到预先设计好的虚拟试衣场景中,形成一个沉浸式的虚拟试衣体验。这种方法不仅可以提供更加逼真的试衣效果,而且对于消费者来说也更加方便易用。由于现有的深度学习模型通常是针对通用的服装种类和体型进行训练,难以针对不同的消费者和服装进行个性化优化,从而难以达到理想的试衣效果。
具体实施方式
[0063] 为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述。
[0064] 如图1所示,是本发明提供的一种沉浸式场景试衣视频实时生成方法流程图,本方法包括以下步骤:
[0065] S10、实时获取多个不同拍摄角度的摄像头获取的已穿了试穿服装的试衣人员的多张图像,并预处理得到多张试衣人员的基本图像;
[0066] S20、对于多张基本图像,提取每一张所述基本图像中试衣人员的面部特征和服装图像特征,并根据拍摄角度采用三维重构的方式,得到试衣人员的面部三维特征和服装三维特征;
[0067] S30、将所述服装三维特征输入到预先训练好的服装‑形体模型,得到试衣人员的形体三维特征;
[0068] S40、从预先设置好的试衣场景视频库中,获取试衣人员选定的试衣场景视频作为选定视频,所述试衣场景视频库包括多个试衣场景视频,每个试衣场景视频为在对应场景内的身穿的模特的动作视频,其中每个试衣场景都有不同性别、年龄、体型的模特的动作视频,每个试衣场景视频已标记关键帧;
[0069] S50、基于试衣人员的面部三维特征和形体三维特征,对所述选定视频的关键帧中的模特的面部特征和轮廓进行调整;
[0070] S60、采用多张基本图像,在所述服装‑形体模型上进行Lora微调,得到一个针对所述试衣人员和试穿服装的个性化Lora模型,用于从服装三维特征和服装图像准确推断出试所述衣人员的身穿所述试穿服装后的三维图像;
[0071] S70、在每一张关键帧中,根据模特的形体图像,计算模特的形体三维特征并输入到所述服装‑形体模型+Lora模型,得到模特的调整后的穿有所述试穿服装的服装三维图像;
[0072] S80、将调整后的模特面部特征、身材特征和服装三维图像融合到选定视频的对应关键帧中,形成试衣视频的关键帧序列。最后通过插值等方法生成试衣人员在选定场景中试衣的沉浸式视频。
[0073] 其中,所述Lora微调步骤采用并行的灰狼捕猎算法进行快速寻优,具体步骤包括:
[0074] S61、将输入的多张基本图像加载到GPU显存中;
[0075] S62、使用CUDA并行计算,启动多个线程分别执行Lora微调任务,其中每个线程负责一张基本图像对应的微调服装‑形体模型的参数;
[0076] S63、每个线程采用并行的灰狼捕猎算法进行快速寻优,具体是,初始化灰狼种群,每只灰狼代表一组Lora模型参数,并行计算每只灰狼对应的损失函数值,根据损失函数值更新alpha狼、beta狼和delta狼的位置,根据alpha狼、beta狼和delta狼的位置,并行更新其他灰狼的位置,重复上述步骤,直至达到最大迭代次数或收敛条件;
[0077] S64、将各个线程优化得到的Lora模型参数拼接,形成针对该试衣人员和试穿服装的个性化Lora模型。
[0078] 下面对上述步骤的具体实施方式进行详细描述:
[0079] 步骤S10的具体实施方式是:首先,系统实时获取多个不同拍摄角度的摄像头获取的已穿了试穿服装的试衣人员的多张图像。这些图像包含了试衣人员的面部特征和服装特征。为了进一步提取和利用这些特征,需要对图像进行预处理。预处理的主要步骤包括:图像校正、人体检测、人体分割、面部特征点检测等。经过预处理,可以得到多张试衣人员的基本图像。
[0080] 步骤S20的具体实施方式是:针对步骤S10得到的多张基本图像,首先提取每一张基本图像中试衣人员的面部特征和服装图像特征。面部特征包括眼睛、鼻子、嘴唇等关键特征点的位置和形状信息。服装图像特征则包括服装的纹理、色彩、形状等信息。
[0081] 为了充分利用多个视角获取的信息,采用三维重构的方法来估计试衣人员的面部三维特征和服装三维特征。具体来说,利用结构光扫描或者双目视觉的方法,通过分析不同视角的图像之间的几何关系,重建出试衣人员的三维面部模型和三维服装模型。这样不仅可以获取更加丰富的特征信息,而且还能够更好地描述试衣人员在空间中的姿态和服装的穿戴情况。
[0082] 步骤S30的具体实施方式是:将从步骤S20得到的服装三维特征输入到预先训练好的服装‑形体模型中。这个服装‑形体模型是一个深度神经网络模型,它的训练数据包括大量的服装样品和对应的人体三维模型。通过这个模型,可以根据输入的服装三维特征,预测出试衣人员的形体三维特征。也就是说,可以根据服装的尺寸、形状等信息,推断出穿着这件服装的人体的三维模型。
[0083] 步骤S40的具体实施方式是:首先,系统预先建立了一个试衣场景视频库,该库中包含多个试衣场景的视频。每个试衣场景视频都是在对应的场景内拍摄的,视频中的模特身穿不同类型的服装在场景中进行动作表演。这些视频中的模特具有不同的性别、年龄和体型。每个试衣场景视频都已经事先标记好了关键帧。
[0084] 当用户选择了想要在哪种场景下进行试衣时,系统就会从试衣场景视频库中提取对应的视频作为选定视频。这个选定视频将作为后续合成试衣视频的基础素材。
[0085] 步骤S50的具体实施方式是:首先,系统基于步骤S20得到的试衣人员的面部三维特征,对选定视频中模特的面部特征和轮廓进行调整。具体来说,会把试衣人员的面部三维特征映射到选定视频中模特的面部,使得模特的面部特征和轮廓与试衣人员更加相似。这样可以增强试衣视频的真实感和沉浸感。
[0086] 同时,也会基于步骤S30得到的试衣人员的形体三维特征,对选定视频中模特的身材特征进行调整。会把试衣人员的身材特征应用到模特身上,使得模特的体型更加接近试衣人员。
[0087] 通过上述对面部和身材特征的调整,可以使得选定视频中的模特更加贴近试衣人员的实际模样,从而增强试衣视频的逼真度。
[0088] 步骤S60的具体实施方式是:在步骤S10获得的多张基本图像的基础上,采用Lora微调的方法来训练一个针对当前试衣人员和试穿服装的个性化Lora模型。Lora是一种基于预训练模型的快速微调技术,可以在有限的训练数据条件下,快速地获得个性化的模型。
[0089] 具体来说,首先将输入的多张基本图像加载到GPU显存中。然后利用CUDA并行计算的能力,启动多个线程分别执行Lora微调任务,每个线程负责一张基本图像对应的微调。在每个线程中,采用并行的灰狼捕猎算法进行快速寻优。
[0090] 灰狼捕猎算法是一种群智能算法,模拟了灰狼在捕猎过程中的社会行为。算法初始化了一群灰狼,每只灰狼代表一组Lora模型参数。算法并行计算每只灰狼对应的损失函数值,然后根据损失函数值更新alpha狼、beta狼和delta狼的位置,并根据这三只狼的位置更新其他狼的位置。通过迭代这个过程,可以快速地找到一组最优的Lora模型参数,即针对当前试衣人员和试穿服装的个性化Lora模型。
[0091] 将各个线程优化得到的Lora模型参数拼接起来,就形成了最终使用的个性化Lora模型。这个Lora模型可以用于从服装三维特征和服装图像,准确地推断出试衣人员穿着该服装后的三维图像。
[0092] 步骤S70的具体实施方式是:首先,需要计算选定视频中每一个关键帧中模特的形体三维特征。这可以通过分析模特在视频中的动作和姿态信息来实现。
[0093] 然后,将计算得到的模特形体三维特征,输入到步骤S60训练得到的服装‑形体模型和个性化Lora模型中。这两个模型可以根据输入的形体特征和服装特征,输出模特穿着试穿服装后的三维服装图像。
[0094] 通过这个步骤,可以在每一个关键帧中,都生成试衣人员穿着试穿服装后的三维服装图像。这些三维服装图像将为后续的视频合成提供基础素材。
[0095] 步骤S80的具体实施方式是:最后,需要将步骤S50和步骤S70得到的调整后的模特面部特征、身材特征和服装三维图像,融合到选定视频的对应关键帧中。具体来说,需要把试衣人员的面部特征覆盖到模特的面部,把试衣人员的身材特征应用到模特的身材,并把服装三维图像融合到模特的服装之上。
[0096] 通过这一系列的融合操作,就得到了试衣视频的关键帧序列。最后,可以采用插值等方法,将这些关键帧序列转换成一个连续的、沉浸式的试衣视频。
[0097] 为了更好的理解本发明的方法,下面结合具体公式,对本方法的具体实施方式进行更加详细的描述:
[0098] 步骤S10的具体实施方式:
[0099] 实时获取多个不同拍摄角度的摄像头获取的已穿了试穿服装的试衣人员的多张图像,并预处理得到多张试衣人员的基本图像。
[0100] 具体来说,设有n个摄像头,分别以不同的角度捕获试衣人员的图像。对于第i个摄像头,它捕获的图像记为 其中H和W分别表示图像的高度和宽度,3表示RGB三个通道。
[0101] 为了进一步提取和利用这些图像特征,需要对获取的原始图像进行预处理。预处理的主要步骤包括:
[0102] 1.图像校正:由于摄像头的安装位置和角度不同,获取的图像可能存在畸变、旋转等问题,需要进行相应的校正,使得图像符合标准坐标系。校正后的图像记为
[0103] 2.人体检测:使用成熟的目标检测算法,如Faster R‑CNN,在校正后的图像 中定位试衣人员的位置,得到人体边界框。
[0104] 3.人体分割:采用语义分割网络,如DeepLabV3+,对校正后的图像 进行像素级别的人体分割,得到试衣人员的精细分割mask Mi。
[0105] 4.面部特征点检测:利用关键点检测算法,如OpenPose,在人体分割结果Mi上检测试衣人员的面部关键点,包括眼睛、鼻子、嘴唇等特征点的位置。
[0106] 经过上述预处理步骤,得到了多张试衣人员的基本图像,记为 其中Pi表示第i个图像中试衣人员的面部特征点集合。这些基本图像将作为后续步骤的输入。
[0107] 步骤S20的具体实施方式:
[0108] 对于步骤S10得到的多张基本图像,提取每一张基本图像中试衣人员的面部特征和服装图像特征,并根据拍摄角度采用三维重构的方式,得到试衣人员的面部三维特征和服装三维特征。
[0109] 1.面部特征提取:
[0110] 对于第i张基本图像 先利用检测到的面部关键点Pi,提取出试衣人员的面部几何特征,包括眼睛、鼻子、嘴唇等关键点的位置和形状信息。这些特征可以表示为一个面部特征向量
[0111] 2.服装特征提取:
[0112] 在人体分割mask Mi的指引下,从基本图像 中提取试衣服装的纹理、色彩、形状等视觉特征。这些特征可以表示为一个服装特征向量
[0113] 3.三维重构:
[0114] 为了充分利用多个视角获取的信息,采用三维重构的方法来估计试衣人员的面部三维特征和服装三维特征。具体来说,利用结构光扫描或者双目视觉的方法,通过分析不同视角的图像 之间的几何关系,重建出试衣人员的三维面部模型 和三维服装模型 其中N和M分别表示面部和服装模型的顶点数。
[0115] 综上所述,通过步骤S20,得到了试衣人员的面部特征向量 服装特征face cloth
向量 以及对应的三维面部模型M 和三维服装模型M 。这些特征将为后续
步骤提供重要的输入。
[0116] 步骤S30的具体实施方式:
[0117] 将从步骤S20获得的服装三维特征Mcloth输入到预先训练好的服装‑形体模型,得到试衣人员的形体三维特征。
[0118] 具体来说,采用一个深度神经网络模型作为服装‑形体模型,记为 该模型的训练数据包括大量的服装样品和对应的人体三维模型。cloth
[0119] 给定输入的服装三维特征M ,可以通过服装‑形体模型 预测出试衣人员的形体三维特征 其中K表示形体模型的顶点数。
[0120] 数学表达式如下:
[0121]
[0122] 这样,就可以根据输入的服装三维特征,推断出试衣人员的形体三维特征。这为后续的视频合成提供了重要的输入。
[0123] 步骤S40的具体实施方式:
[0124] 从预先设置好的试衣场景视频库中,获取试衣人员选定的试衣场景视频作为选定视频。该试衣场景视频库包括多个试衣场景视频,每个试衣场景视频为在对应场景内的身穿的模特的动作视频,其中每个试衣场景都有不同性别、年龄、体型的模特的动作视频,每个试衣场景视频已标记关键帧。
[0125] 设试衣场景视频库中共有M个试衣场景视频,记为 每个试衣场景视频Vm都包含了在对应场景内的模特动作序列,可以表示为:
[0126]
[0127] 其中 表示第m个试衣场景视频的第t帧图像,Tm表示该视频的总帧数。
[0128] 另外,每个试衣场景视频Vm都已经事先标记好了关键帧集合
[0129] 当用户选择了想要在哪种场景下进行试衣时,系统就会从试衣场景视频库中提取对应的视频Vm作为选定视频,这个选定视频将作为后续合成试衣视频的基础素材。
[0130] 步骤S50的具体实施方式:
[0131] 基于试衣人员的面部三维特征Mface和形体三维特征Mbody,对所述选定视频的关键帧中的模特的面部特征和轮廓进行调整。
[0132] 具体来说,对于选定视频Vm的每个关键帧 需要:
[0133] 1.将试衣人员的面部三维特征Mface映射到模特的面部特征上,使得模特的面部特征和轮廓与试衣人员更加相似。这可以通过一个面部特征迁移函数 来实现:
[0134]
[0135] 其中 表示调整后的关键帧图像。
[0136] 2.同时,也会基于试衣人员的形体三维特征Mbody,对模特的身材特征进行调整,使得模特的体型更加接近试衣人员。这可以通过一个形体特征迁移函数 来实现:
[0137]
[0138] 通过上述对面部和身材特征的调整,可以使得选定视频中的模特更加贴近试衣人员的实际模样,从而增强试衣视频的逼真度。
[0139] 步骤S60的具体实施方式:
[0140] 在步骤S10获得的多张基本图像的基础上,采用Lora微调的方法来训练一个针对当前试衣人员和试穿服装的个性化Lora模型。
[0141] 设有n张基本图像 首先将这些图像加载到GPU显存中。然后利用CUDA并行计算的能力,启动K个线程分别执行Lora微调任务,每个线程负责一张基本图像对应的微调。
[0142] 在每个线程中,采用并行的灰狼捕猎算法进行快速寻优。算法初始化了一群L只灰狼,每只灰狼代表一组Lora模型参数 算法并行计算每只灰狼对应的损失函数值然后根据损失函数值更新alpha狼、beta狼和delta狼的位置,并根据这三只狼
的位置更新其他狼的位置。
[0143] 数学描述如下:
[0144] 1.初始化灰狼群体:
[0145]
[0146] 其中d表示Lora模型的参数维度。
[0147] 2.所述损失函数设置为服装三维特征和形体三维特征对齐后的差异度,计算每只灰狼对应的损失函数值:
[0148]
[0149] 3.更新alpha狼、beta狼和delta狼的位置:
[0150]
[0151] 其中wα,wβ,wδ分别表示alpha狼、beta狼和delta狼的位置, 是随机系数, 是随机数,α是步长参数。
[0152] 4.更新其他灰狼的位置:
[0153]
[0154] 其中 是随机系数, 是随机数。
[0155] 5.重复步骤2‑4,直到达到最大迭代次数T或收敛条件
[0156] 通过迭代上述步骤,可以快速地找到一组最优的Lora模型参数 即针对当前试衣人员和试穿服装的个性化Lora模型。
[0157] 将各个线程优化得到的Lora模型参数拼接起来,就形成了最终使用的个性化Lora*模型 其中w 是拼接后的最优参数向量。这个Lora模型可以用于从服装三维特征cloth
M 和服装图像,准确地推断出试衣人员穿着该服装后的三维图像。
[0158] 步骤S70的具体实施方式:
[0159] 在每一张关键帧中,根据模特的形体图像,计算模特的形体三维特征并输入到所述服装‑形体模型+Lora模型,得到模特的调整后的穿有所述试穿服装的服装三维图像。
[0160] 具体来说,对于选定视频Vm的每个关键帧 需要:
[0161] 1.分析该关键帧中模特的动作和姿态信息,通过人体姿态估计算法,计算出模特的形体三维特征
[0162] 2.将所述形体三维特征 输入到步骤S60训练得到的个性化服装‑形体cloth
Lora模型 中,利用该Lora模型,根据输入的形体特征和服装特征M ,输出模特
穿着试穿服装后的三维服装图像
[0163] 数学表达式如下:
[0164]
[0165] 通过这个步骤,可以在每一个关键帧中,都生成试衣人员穿着试穿服装后的三维服装图像。这些三维服装图像将为后续的视频合成提供基础素材。
[0166] 步骤S80的具体实施方式:
[0167] 将调整后的模特面部特征、身材特征和服装三维图像融合到选定视频的对应关键帧中,形成试衣视频的关键帧序列,最后通过插值等方法生成试衣人员在选定场景中试衣的沉浸式视频。
[0168] 具体来说:
[0169] 1.将步骤S50得到的调整后的模特面部特征 覆盖到选定视频Vm中对应关键帧的模特面部。
[0170] 2.将步骤S50得到的调整后的模特身材特征,应用到选定视频中对应关键帧的模特身材。
[0171] 3.将步骤S70得到的服装三维图像 融合到选定视频中对应关键帧的模特服装上。融合的方式可以是纹理映射、3D模型嵌入等。
[0172] 4.将融合后的关键帧序列 通过线性插值、样条插值等视频插值算法转换成连续的沉浸式试衣视频。
[0173] 相关变量解释如下:n:摄像头的数量;H,W:图像的高度和宽度;Ii:第i个摄像头捕获的原始图像; 经过校正后的第i个图像;Mi:第i个图像中试衣人员的分割mask;Pi:第i个图像中试衣人员的面部关键点集合; 第i个图像中试衣人员的面部特征向量;face cloth
第i个图像中试衣人员的服装特征向量;M :试衣人员的三维面部模型;M :试衣body
人员的三维服装模型;M :试衣人员的三维形体模型;K:形体模型的顶点数;M:试衣场景视频的数量;Vm:第m个试衣场景视频;Tm:第m个试衣场景视频的总帧数; 第m个试衣场景视频的第t帧图像; 第m个试衣场景视频的关键帧集合; 经过面部和身材特征调整后的第m个视频的第t帧图像;L:灰狼算法中灰狼的数量;wl:第l只灰狼所代表的Lora模型参数;d:Lora模型的参数维度;wα,wβ,wδ:alpha狼、beta狼和delta狼的位置;c1,c2,c3,c4,c5,c6:灰狼算法中的随机系数;r1,r2,r3,r4,r5,r6:灰狼算法中的随机数;α:灰狼算法中的步长*
参数;T:灰狼算法的最大迭代次数;∈:灰狼算法的收敛条件;w:最终优化得到的Lora模型参数; 第m个视频第t帧中模特穿着试穿服装后的三维服装图像;dface:面部特征向量的维度;dcloth:服装特征向量的维度;N:面部模型的顶点数;d:Lora模型的参数维度;i:
表示第i个摄像头或图像;m:表示第m个试衣场景视频;t:表示第m个试衣场景视频的第t帧;
l:表示第l只灰狼; 服装‑形体模型; 面部特征迁移函数; 形体
特征迁移函数。
[0174] 通过上述步骤,最终得到了一个高度逼真的、沉浸式的试衣视频,能够真实地展示试衣人员在选定场景中穿着试穿服装的效果。
[0175] 本发明的第二方面提供一种计算机可读存储介质,其中,所述计算机可读存储介质中存储有程序指令,所述程序指令运行时,用于执行上述的一种沉浸式场景试衣视频实时生成方法。
[0176] 本发明的第三方面提供一种沉浸式场景试衣视频实时生成系统,其中,包含上述的计算机可读存储介质。
[0177] 具体的,本发明的原理是:本方案主要包括三个关键步骤:多视角图像采集与三维重建、基于个性化Lora模型的深度学习优化、以及预设沉浸式试衣场景的融合。这三个步骤协同工作,共同实现了本发明的技术目标。
[0178] 首先,在图像采集环节,系统使用多个摄像头从不同角度捕获消费者穿着试衣服装时的照片。这些多角度图像数据,为后续的三维重建奠定了基础。通过分析这些图像中的面部特征点、服装纹理等信息,结合三维重建算法,可以重建出消费者的精细三维人体模型,包括面部和服装的三维特征。相比单一视角的二维图像,这种多视角重建方式能够更加准确地还原消费者的真实面貌和服装效果。
[0179] 其次,在深度学习优化环节,采用了Lora微调技术来训练一个针对特定消费者和服装的个性化模型。Lora是一种基于预训练模型的快速微调方法,能够在有限的训练数据条件下,快速地获得定制化的模型。利用多线程并行计算的方式,采用灰狼算法快速优化Lora模型参数,从而得到一个能够精准预测该消费者穿着该服装效果的深度学习模型。这种个性化的模型优化,可以大幅提升试衣结果的准确性和贴合度。
[0180] 最后,在虚拟试衣场景融合环节,利用预先设计好的沉浸式试衣场景素材,包括不同环境、不同模特等,将调整后的消费者三维人体模型融入其中。通过对模特面部特征和身材特征的精细调整,使得虚拟场景中的模特更加贴近消费者的实际形象。同时,还将优化后的服装三维效果,叠加到模特身上,形成最终的试衣视频。这种将消费者个性特征融入预设场景的方法,大大增强了试衣体验的沉浸感和真实感。
[0181] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。