CN117475258A - 虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 - Google Patents
虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 Download PDFInfo
- Publication number
- CN117475258A CN117475258A CN202311406990.4A CN202311406990A CN117475258A CN 117475258 A CN117475258 A CN 117475258A CN 202311406990 A CN202311406990 A CN 202311406990A CN 117475258 A CN117475258 A CN 117475258A
- Authority
- CN
- China
- Prior art keywords
- image
- model
- fitting
- network
- diffusion
- 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
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012549 training Methods 0.000 title claims abstract description 71
- 230000000694 effects Effects 0.000 claims abstract description 175
- 238000009792 diffusion process Methods 0.000 claims abstract description 106
- 238000000605 extraction Methods 0.000 claims abstract description 32
- 230000001815 facial effect Effects 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 116
- 238000010586 diagram Methods 0.000 claims description 110
- 238000013528 artificial neural network Methods 0.000 claims description 59
- 230000004913 activation Effects 0.000 claims description 30
- 230000008447 perception Effects 0.000 claims description 24
- 238000010606 normalization Methods 0.000 claims description 23
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 description 27
- 238000004458 analytical method Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- 230000009466 transformation Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 239000013598 vector Substances 0.000 description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 7
- 230000017105 transposition Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 210000002683 foot Anatomy 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000010030 laminating Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 210000003423 ankle Anatomy 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 210000002414 leg Anatomy 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/16—Image acquisition using multiple overlapping images; Image stitching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/467—Encoded features or binary features, e.g. local binary patterns [LBP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/54—Extraction of image or video features relating to texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例涉及人脸图像识别技术领域,公开了一种虚拟试衣模型的训练方法、虚拟试衣方法及电子设备,该虚拟试衣模型的训练方法包括:通过人像特征编码模块对模特图像特征提取,得到第一特征图,通过衣服风格编码模块对衣服图像进行特征提取,得到第二特征图,对第一特征图和第二特征图进行拼接,得到拼接特征图,并将拼接特征图输入初步试衣解码模块进行解码,得到初步试衣效果图,进一步,通过纹理重构扩散网络对初步试衣效果图进行特征提取,得到高清纹理试衣效果图,并构建第二模型损失函数对模型进行训练,以得到高清纹理试衣效果图,本申请能够提高试衣效果图的清晰度以及增强试衣效果。
Description
技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种虚拟试衣模型的训练方法、虚拟试衣方法及电子设备。
背景技术
虚拟试衣,指的是通过虚拟的技术手段,通过虚拟试衣装置将自动显示试穿新衣以后的三维图像。虚拟试衣技术让客户不用脱去身上衣服的情况下,实现换上新衣查看效果的一种技术应用。
目前,线下智能试装多采用的是互动试衣镜设备,购物者站在试衣镜前,选择试穿服装,试衣镜会根据用户的基本特征和服装款式进行整体的着装展示,用户可以自由进行服装的切换。线上试装一般通过拍摄用户图像,选择系统提供的目标服饰,进行自动替换。然而无论是智能试衣镜还是线上虚拟试装,现有技术大多采用的都是通过采集人体数据,经3D建模的方式重塑用户形象,服饰与用户形象的结合往往不够贴切,缺少自然感,导致用户体验较差,同时采集人体和服饰的3D信息通常成本较高且较为繁琐。因此近年来基于2D图像的虚拟试衣成为主要的研究方向。
现有的虚拟试衣算法需要先对衣服进行变形,然后通过生成网络进行图像生成,但是,这种方式很大程度上依赖于衣服变形的效果以及衣服图片本身的立体感,衣服变形效果不佳,会导致衣服图片的分辨率低,同时,衣服图片缺少立体感将导致试衣效果不佳。
发明内容
本申请实施例提供一种虚拟试衣模型的训练方法、虚拟试衣方法及电子设备,以解决目前先对衣服进行变形,然后通过生成网络进行图像生成存在的试衣效果不佳的问题,增强衣服图像的清晰度以及虚拟试衣效果。
第一方面,本申请实施例中提供一种虚拟试衣模型的训练方法,虚拟试衣网络包括初步试衣网络和纹理重构扩散网络,初步试衣网络包括衣服风格编码模块、人像特征编码模块及初步试衣解码模块,方法包括:
获取图像数据集,其中,图像数据集包括衣服图像和模特图像;
通过人像特征编码模块对模特图像进行特征提取,得到第一特征图;
通过衣服风格编码模块对衣服图像进行特征提取,得到第二特征图;
对第一特征图和第二特征图进行拼接,得到拼接特征图,并将拼接特征图输入初步试衣解码模块进行解码,得到初步试衣效果图;
将初步试衣效果图输入到纹理重构扩散网络,得到高清纹理试衣效果图;
构建第一模型损失函数,基于图像数据集对初步试衣网络进行训练,直至第一模型损失函数收敛,第一模型损失函数包括内容损失和感知损失;
构建第二模型损失函数,基于初步试衣效果图对纹理重构扩散网络进行训练,直至第二模型损失函数收敛,以生成虚拟试衣模型,其中,第二模型损失函数包括扩散偏量损失和扩散感知损失。
在一些实施例中,衣服图像和模特图像一一对应,方法还包括:
对衣服图像和模特图像进行预处理,具体包括:
通过U2-Net网络对衣服图像和模特图像进行外轮廓提取,并分别去除衣服图像和模特图像的背景信息,分别得到处理之后的衣服图像和处理之后的模特图像。
在一些实施例中,纹理重构扩散网络包括编码模块、卷积模块以及解码模块;
将初步试衣效果图输入到纹理重构扩散网络,得到高清纹理试衣效果图,包括:
将初步试衣效果图输入到编码模块,得到第三特征图;
对第三特征图添加高斯噪声,得到加噪后的特征图,并将加噪后的特征图输入到卷积模块,得到第四特征图;
将第四特征图输入到解码模块,得到高清纹理试衣效果图。
在一些实施例中,编码模块包括若干层第一神经网络层,其中,每一层第一神经网络层包括卷积层、激活函数层以及批归一化层;
解码模块包括若干层第二神经网络层,其中,每一层第二神经网络层包括转置卷积层、激活函数层以及批实例归一化层。
在一些实施例中,第一模型损失函数,包括:
其中,Loss1为第一模型总损失,Lcon为内容损失,为感知损失,λ1为第一超参数。
在一些实施例中,内容损失,包括:
Lcon=||xgt-xfirst||L1
其中,Lcon为内容损失,xgt为真实样本,xfirst为初步试衣效果图,||xgt-xfirst||L1为计算xgt和xfirst的绝对差值。
在一些实施例中,感知损失,包括:
其中,为感知损失,xgt为真实样本,xfirst为初步试衣效果图,VGGi(xgt)为真实样本输入到VGG网络中获得第i个特征尺度的特征值,Ni为VGG网络第i层的特征元素数,M为VGG网络的层数,||VGGi(xgt)-VGGi(xfirst)||L1为计算VGGi(xgt)和VGGi(xfirst)的绝对差值。
在一些实施例中,第二模型损失函数,包括:
Loss2=Ldiffusion+λ2Lpercept
其中,Loss2为第二模型总损失,Ldiffusion为扩散偏量损失,λ2为第二超参数,Lpercept为扩散感知损失。
在一些实施例中,扩散偏量损失,包括:
其中,Ldiffusion为扩散偏量损失,Mhead为人体保留区域图中的人体头部区域,θ(xfirst)为将初步试衣效果图输入到扩散模型后输出的结果,为高清纹理试衣效果图,为计算的平均标准差。
在一些实施例中,扩散感知损失,包括:
其中,Lpercept为扩散感知损失,Mhead为人体保留区域图中的人体头部区域,θ(xfirst)为将初步试衣效果图输入到扩散模型后输出的结果,为高清纹理试衣效果图,Ni为VGG网络第i层的特征元素数,(1-Mhead)·θ(xfirst)为除开脸部区域的初步试衣效果图经过扩散模型输出的结果,/>为除开脸部区域的高清纹理试衣效果图,VGGi((1-Mhead)·θ(xfirst))为除开脸部区域的初步试衣效果图经过扩散模型输出的结果的非脸部区域经过VGG网络编码输出的特征图,VGGi((1-Mhead)·xt为高清纹理试衣效果图的非脸部区域经过VGG网络输出的特征图,M为VGG网络的层数,为计算VGGi((1-Mhead)·θ(xfirst))和的平均标准差。
第二方面,本申请实施例提供一种虚拟试衣方法,包括:
获取待试衣的衣服图像和用户图像;
将待试衣的衣服图像和用户图像输入虚拟试衣模型,得到待试衣的衣服图像对应的试衣图像,其中,虚拟试衣模型是基于上述的方法进行训练得到的。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器,以及
与至少一个处理器通信连接的存储器,其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面或第二方面的方法。
第四方面,本申请实施例提供一种非易失性计算机可读存储介质,非易失性计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使电子设备执行如上述第一方面提供的虚拟试衣模型的训练方法或者第二方面提供的虚拟试衣方法。
本申请实施例的有益效果:区别于现有技术的情况,本申请实施例提供的一种虚拟试衣模型的训练方法,虚拟试衣网络包括初步试衣网络和纹理重构扩散网络,初步试衣网络包括衣服风格编码模块、人像特征编码模块及初步试衣解码模块,方法包括:获取图像数据集,其中,图像数据集包括衣服图像和模特图像;通过衣服风格编码模块对衣服图像进行特征提取,得到第一特征图;通过人像特征编码模块对模特图像进行特征提取,得到第二特征图;对第一特征图和第二特征图进行拼接,得到拼接特征图,并将拼接特征图输入初步试衣解码模块进行解码,得到初步试衣效果图;将初步试衣效果图输入到纹理重构扩散网络,得到高清纹理试衣效果图;构建第一模型损失函数,基于图像数据集对初步试衣网络进行训练,直至第一模型损失函数收敛,第一模型损失函数包括内容损失和感知损失;构建第二模型损失函数,基于初步试衣效果图对纹理重构扩散网络进行训练,直至第二模型损失函数收敛,以生成虚拟试衣模型,其中,第二模型损失函数包括扩散偏量损失和扩散感知损失。
一方面,通过将衣服风格编码模块对衣服图像进行特征提取,得到第一特征图,通过人像特征编码模块对模特图像特征提取,得到第二特征图,对第一特征图和第二特征图进行拼接,得到拼接特征图,并将拼接特征图输入初步试衣解码模块进行解码,得到初步试衣效果图,进一步,通过纹理重构扩散网络对初步试衣效果图进行纹理重构,得到高清纹理试衣效果图,能够提高试衣效果图的清晰度;
另一方面,构建第一模型损失函数进行训练,第一模型损失函数包括内容损失和感知损失,得到初步试衣效果图,构建第二模型损失函数,并将初步试衣效果图作为第二模型损失函数的输入数据,第二模型损失函数包括扩散偏量损失和扩散感知损失,对虚拟试衣网络进行训练,以生成虚拟试衣模型,本申请能够增强试衣效果。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请实施例提供的一种虚拟试衣模型的训练方法的应用环境示意图;
图2是本申请实施例提供的一种虚拟试衣模型的训练方法的流程示意图;
图3是本申请实施例提供的对模特图像进行外轮廓提取的示例示意图;
图4是本申请实施例提供的提取人像关键点的示例示意图;
图5是本申请实施例提供的提取人体解析图的示例示意图;
图6是本申请实施例提供的一种生成初步试衣效果图的整体结构示意图;
图7是图2中的步骤S205的细化流程图;
图8是本申请实施例提供的一种生成高清纹理试衣效果图的整体结构示意图;
图9是本申请实施例提供的一种虚拟试衣方法的流程示意图;
图10是本申请实施例提供的一种电子设备的结构示意图。
附图标号说明:
标号 | 名称 | 标号 | 名称 |
100 | 应用场景 | 1000 | 电子设备 |
101 | 终端 | 1001 | 处理器 |
102 | 服务器 | 1002 | 存储器 |
具体实施方式
下面结合具体实施例对本申请进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本申请,但不以任何形式限制本申请。应当指出的是,对本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进。这些都属于本申请的保护范围。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本说明书中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在对本申请进行详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:
(1)神经网络,也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。神经网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。具体的,神经网络可以是由神经单元组成的,具体可以理解为具有输入层、隐含层、输出层的神经网络,一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。其中,具有很多层隐含层的神经网络则称为深度神经网络(deep neural network,DNN)。神经网络中的每一层的工作可以用数学表达式y=a(W·x+b)来描述,从物理层面,神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由“W·x”完成,4的操作由“+b”完成,5的操作则由“a()”来实现这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合,其中,W是神经网络各层的权重矩阵,该矩阵中的每一个值表示该层的一个神经元的权重值。该矩阵W决定着上文的输入空间到输出空间的空间变换,即神经网络每一层的W控制着如何变换空间。训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
需要注意的是,在本申请实施例中,基于机器学习任务所采用的模型,本质都是神经网络。神经网络中的常用组件有卷积层、激活函数层和批归一化层等,通过组装神经网络中的这些常用组件,设计得到模型,当确定模型参数(各层的权重矩阵)使得模型误差满足预设条件或调整模型参数的数量达到预设阈值时,模型收敛。
其中,卷积层配置有多个卷积核、每个卷积核设置有对应的步长,以对图像进行卷积运算。卷积运算的目的是提取输入图像的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更深的卷积层能从低级特征中迭代提取更复杂的特征。
激活函数层用于使神经网络中的每个神经元接受上一层的输出值作为本神经元的输入值,并将处理结果传递给下一层。激活函数层常用的激活函数包括但不限于修正线性单位(Rectified Linear Unit,Relu)函数、Swish函数、带参数的修正线性单位(Parametric Rectified Linear Unit,PRelu)函数等。
批归一化层(Batch Normalization,BN层),用于对网络中某层特征进行标准化处理,其目的是解决深层神经网络中的数值不稳定的问题,即解决随着网络层数加深,训练过程中参数的更新容易造成靠近输出层的特征输出产生剧烈地变化,不利于训练出有效的神经网络的问题。
(2)损失函数,指的是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。损失函数是一个非负实数函数,用来量化模型预测的预测标签和真实标签之间的差异。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计(parametric estimation)。在训练神经网络的过程中,因为希望神经网络的输出尽可能的接近真正想要预测的值,可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重矩阵(然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重矩阵让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个loss的过程。
下面结合说明书附图具体阐述本申请的技术方案。
请参阅图1,图1是本申请实施例提供的一种虚拟试衣模型的训练方法的应用环境示意图;
如图1所示,该应用环境100包括:终端101和服务器102,该终端101和服务器102通过有线或无线通信方式进行通信。
其中,终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端101中可以设有客户端,该客户端可以是视频客户端、浏览器客户端、线上购物客户端、即时通信客户端等,本申请对客户端的类型不加以限定。
终端101以及服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。终端101可以接收服务器102发送的待试衣的衣服图像和模特图像,并在可视化界面上对待试衣的衣服图像、模特图像以及两者进行试衣得到的待试衣的衣服图像对应的试衣图像进行展示。终端可以响应于用户触发的虚拟试衣指令,通过图像采集器件来获取待试衣的衣服图像和模特图像,该图像采集器件可以内置于终端101中,还可以外接于终端101,本申请对此不加以限定。
终端101可以将该虚拟试衣指令和采集到的待试衣的衣服图像、模特图像均发送给服务器102,并接收服务器102返回的待试衣的衣服图像对应的试衣图像,进而将该待试衣的衣服图像对应的试衣图像展示在可视化界面上,以使用户查看该待试衣的衣服图像对应的试衣图像。
可以理解的是,终端101可以泛指多个终端中的一个,本申请实施例仅以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量,本申请实施例对终端的数量和设备类型不加以限定。
其中,服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
服务器102以及终端101可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器102可以维护有一个衣服图像数据库,用于存储多张衣服图像。服务器102可以接收终端101发送的虚拟试衣指令和待试衣的衣服图像、模特图像,并根据该虚拟试衣指令,对该待试衣的衣服图像、模特图像进行虚拟试衣,得到的该待试衣的衣服图像对应的试衣图像,进而将该待试衣的衣服图像对应的试衣图像发送给终端101。
可以理解的是,上述服务器102的数量可以更多或更少,本申请实施例对此不加以限定。当然,服务器102还可以包括其他功能服务器,以便提供更全面且多样化的服务。
本申请的技术方案可适用于虚拟试衣的各种场景,具体地,本申请的技术方案可用于在虚拟试衣的场景中用于对待试衣的衣服图像和模特图像进行融合。在虚拟试衣的场景中,在一些实现方式中,是通过虚拟试衣模型对该场景的待试衣的衣服图像和模特图像进行融合,从而确定该待试衣的衣服图像对应的试衣图像,其中,该虚拟试衣模型经过预先训练得到。
目前,虚拟试衣算法需要先对衣服进行变形,然后通过生成网络进行图像生成,但是,这种方式很大程度上依赖于衣服变形的效果以及衣服图片本身的立体感,衣服变形效果不佳,会导致衣服图片的分辨率低,同时,衣服图片缺少立体感将导致试衣效果不佳。
有鉴于此,本申请实施例提供一种虚拟试衣模型的训练方法、虚拟试衣方法及电子设备,以提高试衣效果图的清晰度以及增强虚拟试衣效果。
实施例一
请参阅图2,图2是本申请实施例提供的一种虚拟试衣模型的训练方法的流程示意图;
其中,该方法可应用于各种电子设备上,例如:终端、服务器等电子设备,具体的,该方法的执行主体为电子设备的一个或至少两个处理器。
其中,该虚拟试衣网络包括初步试衣网络和纹理重构扩散网络,初步试衣网络包括衣服风格编码模块、人像特征编码模块及初步试衣解码模块。
如图2所示,该虚拟试衣模型的训练方法,包括:
步骤S201:获取图像数据集,其中,图像数据集包括衣服图像和模特图像;
可以理解的是,在对虚拟试衣模型进行训练之前,需要收集图像数据集,并基于图像数据集进行模型训练。
其中,每一衣服图像和一个模特图像对应,即:衣服图像和模特图像一对一配对,例如:该模特图像中的模特穿着该衣服图像对应的衣服,从而收集衣服图像和模特图像的成对数据集。
具体的,该图像数据集中包括大量的模特图像,其中,每一模特图像均穿着相同或不同的衣服。衣服图像为正面朝上的平铺图,模特图像为正面姿态拍照的图像,其中,图像尺寸最小边宽不得低于512。
可以理解的是,由于在实际的模特图像收集过程中,可能存在大小不同的图像,因此,本申请实施例还对每一模特图像进行归一化处理,以将每一模特图像的大小统一,例如:统一为1024*768的大小。或者,还可以对每一模特图像进行光照变换、旋转等操作以进行数据增强,有助于提高虚拟试衣模型的鲁棒性。
在本申请实施例中,衣服图像和模特图像一一对应,方法还包括:
对衣服图像和模特图像进行预处理,具体包括:
通过U2-NET网络对衣服图像和模特图像进行外轮廓提取,并分别去除衣服图像和模特图像的背景信息,分别得到处理之后的衣服图像和处理之后的模特图像。
具体的,U2-NET网络是一个两层嵌套的U型结构,其在底层设计了一种新的U型残差块(ReSidual U-blocks,RSU)结构,并在顶层设计了一种类似U-Net的结构,其中每一级都由RSU填充,RSU用U-Net代替了普通的单流卷积,并用一个权重层构成的局部特征代替了原始特征,这种设计变化使网络能够直接从每个残差块的多个尺度中提取特征。
其中,U2-Net网络由三部分构成:六级编码器、五级解码器、显著图融合模块,显著图融合模块与解码器和最后一级编码器相连。其中,六级编码器包括:En_1、En_2、En_3、En_4、En_5和En_6,五级解码器包括:De_1、De_2、De_3、De_4和De_5。
具体的,在编码器En_1、En_2、En_3和En_4中,分别使用残差U块RSU-7、RSU-6、RSU-5和RSU-4。其中“7”、“6”、“5”和“4”表示RSU块的高度(L)。L通常根据输入特征图的空间分辨率进行配置。在En_5和En_6中,使用RSU-4F,其中“F”表示RSU是扩张版本并且池化和上采样操作被扩张卷积取代。RSU-4F的所有中间特征图都具有与其输入特征图相同的分辨率。
解码器的结构与其对称编码器的En_6结构相似。De_5还使用了与编码器阶段En_5和En_6中使用的类似的扩张版残差U块RSU-4F。每个解码器阶段将来自其前一阶段的上采样特征图和来自其对称编码器阶段的上采样特征图的连接作为输入。
显著图融合模块用于生成显著概率图。U2-Net首先通过一个由3×3的卷积层和一个sigmoid函数组成的阶段En_6、De_5、De_4、De_3、De_2和De_1生成的S(6)、S(5)、S(4)、S(3)、S(2)、S(1)输出显著性概率映射。然后,它对这些输出显著性logits(sigmoid函数之前的卷积输出)进行熵采样并将其映射到输入图像大小,通过级联操作(concat操作)进行融合,最后是1×1卷积层和sigmoid函数,以生成最终的显著性概率图S_fuse,即处理之后的衣服图像或处理之后的模特图像。
请再参阅图3,图3是本申请实施例提供的对模特图像进行外轮廓提取的示例示意图;
如图3所示,对模特图像进行外轮廓提取,即将模特图像输入到U2-Net网络中,通过U2-Net网络中的六级编码器、五级解码器、显著图融合模块对模特图像进行外轮廓提取,以去除模特图像的背景,并输出去除背景之后的灰度图像,即处理之后的模特图像,其中,A、B区域为将模特图像中的模特抠除之后得到的模特的外轮廓区域。
可以理解的是,上述对模特图像进行外轮廓提取的例子仅是为了举例说明对衣服图像和模特图像进行预处理之后得到的效果图。
在本申请实施例中,通过U2-NET网络作为图像分割网络进行高精度的抠图处理,从而能够更好地去除背景信息,有利于更好地进行模型训练。
步骤S202:通过人像特征编码模块对模特图像进行特征提取,得到第一特征图;
具体的,通过人像特征编码模块对模特图像进行特征提取,得到第一特征图,包括:
对模特图像进行特征提取,得到人像关键点,以及,对模特图像进行特征提取,得到人体解析图,根据人体解析图,得到人体保留区域图,将人像关键点、人体保留区域图输入到人像特征编码模块,得到第一特征图。
具体的,对模特图像进行特征提取,得到人像关键点,包括:
通过人体姿态评估算法对模特图像进行关键点检测,得到模特图像对应的人像关键点。
其中,人体姿态评估算法包括但不限于人体骨骼关键点检测(OpenPose)算法。优选地,在本申请实施例中采用OpenPose算法。
OpenPose算法基于用于身体、面部、手和脚的实时多人关键点检测库,通过输入模特图像,检测模特图像的身体、面部、手和脚的关键点,从而得到模特图像对应的人像关键点,即人像关键点图。
具体的,OpenPose算法是依赖于卷积神经网络和监督学习实现人体姿态评估的算法,其主要的优点在于适用于多人二维姿态检测开源实时系统,能够精准和迅速地识别人体关键点。
具体的,OpenPose算法将整个人物图像作为网络的输入,然后预测用于身体部位检测的置信度图和用于部位关联的部件关联场(PartAffinity Fields,PAF),之后通过解析步骤对关联的身体部位候选者执行一组二部匹配,最后进行人体骨骼搭建以连接人体关键点并将它们组装成图像中所有人的完整姿势,得到每一模特图像对应的人体关键点区域图。
其中,人体关键点总共分成25类,每一类别分别用0-24进行标识,人体关键点的类别有:{0,“鼻子(Nose)”},{1,“脖子(Neck)”},{2,“右上臂(RShoulder)”},{3,“右肘部(RElbow)”},{4,“右手腕(RWrist)”},{5,“左上臂(LShoulder)”},{6,“左肘部(LElbow)”},{7,“左手腕(LWrist)”},{8,“中臀(MidHip)”},{9,“右臀(RHip)”},{10,“右膝(RKnee)”},{11,“右脚踝(Rankle)”},{12,“左臀(Lhip)”},{13,“左膝(LKnee)”},{14,“左脚踝(LAnkle)”},{15,“右眼睛(Reye)”},{16,“左眼睛(Leye)”},{17,“右耳(Rear)”},{18,“左耳(Lear)”},{19,“左大脚趾(LBigToe)”},{20,“左小脚趾(LSmallToe)”},{21,“左脚后跟(LHeel)”},{22,“右大脚趾(RBigToe)”},{23,“右小脚趾(RSmallToe)”}{24,“右脚后跟(Rheel)”}。
请再参阅图4,图4是本申请实施例提供的提取人像关键点的示例示意图;
如图4所示,该图为采用OpenPose算法对模特图像进行人像关键点提取后得到的模特图像对应的人体关键点区域图,例如:模特图像为RGB3通道的图像,将RGB3通道的模特图像输入到OpenPose算法模型,输出一组25个维度的数组,其中,每一个维度对应一个人像关键点(x,y,置信度)的信息,并进行人体骨骼构建以连接人像关键点得到可视化的人体关键点区域图。
可以理解的是,上述图4仅是为了举例说明对模特图像进行人像关键点提取之后得到的效果图。
具体的,对模特图像进行特征提取,得到人体解析图,根据人体解析图,得到人体保留区域图,包括:
通过解析图算法对模特图像进行特征提取,得到人体解析图;
去除人体解析图中的衣服区域,得到人体保留区域图。
具体的,人体解析图包括多个区域类别,解析图算法用于根据检测出的类别来提取对应的区域,该解析图算法包括通用人体解析算法,例如:Graphonomy算法,采用Graphonomy算法对模特图像进行特征提取,得到人体解析图,并获得人体解析图中需要进行更换衣服的区域,将其扣除,得到人体保留区域图。
其中,Graphonomy算法包括两部分,分别为图内推理(Intra-Graph Reasoning)以及图间变换(Inter-Graph Transfer),具体的,Graphonomy算法首先通过图内推理在一个数据集中学习和传播紧凑的高级语义图表示,然后通过显式的层次语义标签结构驱动的图间迁移,在多个数据集中传输和融合语义信息,得到每一模特图像对应的人体解析图。通过将通用语义图表示提取到每个特定任务中,Graphonomy算法能够在不增加复杂性的情况下预测一个系统中所有层次的标签。
在本申请实施例中,每一人体解析图包括多个区域类别,例如:每一人体解析图包括20个区域类别,以序号0-19进行表示,则20个区域类别分别为:
0:背景(Background);1:帽子(Hat);2:头发(Hair);3:手套(Glove);4:眼镜(Sunglasses);5:上衣(Upper-clothes);6:礼服(Dress);7:外套(Coat);8:袜子(Socks);9:裤子(Pants);10:躯干-皮肤(Torso-skin);11:围巾(Scarf);12:裙子(Skirt);13:脸部(Face);14:左臂(Left-arm);15:右臂(Right-arm);16:左腿(Left-leg);17:右腿(Right-leg);18:左脚(Left-shoe);19:右脚(Right-shoe)。
请再参阅图5,图5是本申请实施例提供的提取人体解析图的示例示意图;
如图5所示,采用Graphonomy算法对模特图像进行特征提取,输出一张人体不同区域按照不同值划分的图像,该图像即为人体解析图。
具体的,将人像关键点、人体保留区域图输入到人像特征编码模块,构建基于ResNet网络的人像特征编码模块,将人像关键点、人体保留区域图输入到基于ResNet网络的人像特征编码模块,通过人像特征编码模块对人像关键点、人体保留区域图进行特征提取,得到第一特征图。
其中,ResNet网络是一种深度卷积神经网络,通过在每个卷积层之后添加残差块来提高网络的性能,残差块包括编码器(Encode)和解码器(Decoder),编码器用于提取特征,解码器用于恢复原始的特征,编码器和解码器之间通过残差连接和跳跃连接(SkipConnection)实现信息传递。为获取输入的全局信息,通常会在残差块的末尾添加一个平均池化层。
其中,基于ResNet网络的人像特征编码模块包括若干层第三神经网络层,每一层第三神经网络层由依次连接的卷积层、激活函数层、残差连接层、下采样层、批归一化层构成,卷积层用于对输入的数据进行特征提取,并输出特征图,激活函数层用于对卷积层输出的特征图进行线性变换,以帮助神经网络更好地拟合复杂的数据模式,残差连接层用于将激活函数层输出的数据直接输入到下一层下采样层,以解决深层网络训练中梯度消失或者梯度爆炸问题,使得网络能够更容易地学习到残差信息,下采样层用于减小特征图的空间尺寸,以降低模型计算的复杂度,同时提取更加抽象的特征,批归一化层用于对下采样层输出的数据进行标准化处理,减少内部变量偏移,以加速模型的训练过程以及增强模型的鲁棒性。
将人像关键点、人体保留区域图输入到人像特征编码模块,每经过一层第三神经网络层,第三神经网络层中的批归一化层会输出一个第一特征图,将第一特征图按照输出顺序添加进第一列表,其中,卷积层的卷积核的大小为3*3,步长设置为1,使用PRelu激活函数,下采样使用平均池化,每一层卷积核的数量设置为32、64、128、256、512,将人像关键点、人体保留区域图输入到人像特征编码模块,人像特征编码模块会先后输出32、64、128、256、512通道的特征图。
在本申请实施例中,通过构建基于ResNet网络的多层神经网络的人像特征编码模块,通过层与层之间相互协作,能够有效地提取和学习输入数据的特征,并实现高性能的模型训练和预测。
步骤S203:通过衣服编码模块对衣服图像进行特征提取,得到第二特征图;
具体的,构建衣服风格编码模块,将衣服图像输入到衣服风格编码模块,通过衣服风格编码模块对衣服图像进行下采样,得到第二特征图,其中,该第二特征图包含了衣服图像的风格特征信息。
其中,衣服风格编码模块包括若干层第二神经网络层,每一层第四神经网络层由依次连接的卷积层、激活函数层和批归一化层构成,卷积层用于对衣服图像进行卷积操作以提取衣服图像的特征,得到衣服图像的特征信息,激活函数层用于将卷积层输出的衣服图像的特征信息进行非线性变换,得到衣服图像的特征信息变换后的结果,批归一化层用于对激活函数层输出的变换后的结果进行标准化处理,得到第二特征图。
将衣服图像输入到衣服风格编码模块,每经过一层第四神经网络层,就得到一个第二特征图,将第二特征图按照输出顺序添加进第二列表。其中,卷积层的卷积核的大小为3*3,步长设置为2,激活函数设置为Relu激活函数,每一层卷积核的数量设置为32、64、128、256、512,将衣服图像输入到衣服风格编码模块,衣服风格编码模块会先后输出32、64、128、256、512通道的特征图。
可以理解的是,本申请实施例中的特征提取卷积层的网络结构可以根据实际需求进行卷积核和/或步长的调整,在此不进行限定。
在本申请实施例中,构建包括多层神经网络层的衣服风格编码模块能够增加神经网络的深度,提高虚拟试衣模型的泛化能力,且随着神经网络层的增加,能够提取到衣服图像中较复杂的特征,同时,能够避免梯度消失或梯度爆炸的问题,使得衣服风格编码模块输出的数据更适应虚拟试衣模型,以便后续训练更稳定。
在本申请实施例中,通过衣服风格编码模块对衣服图像进行下采样,能够减小衣服图像的尺寸,以对衣服图像的细节信息进行压缩,能够提取更加抽象和高级别的特征以及降低神经网络的计算复杂度,以加快神经网络的训练和推理速度,且无论物体在图像中的位置如何变化,都能识别出图像的相同特征,并且,还能够减少神经网络中的参数数量和减少过拟合的风险,从而降低了虚拟试衣模型的复杂度和存储需求,提高了虚拟试衣模型的泛化能力,
步骤S204:对第一特征图和第二特征图进行拼接,得到拼接特征图,并将拼接特征图输入初步试衣解码模块进行解码,得到初步试衣效果图;
具体的,构建多尺度衣服和人像特征融合的初步试衣解码模块,分别取第一列表和第二列表中具有相同通道数的第一特征图和第二特征图,并以通道轴的方式对第一特征图和第二特征图进行拼接,得到拼接特征图,其中,第一特征图和第二特征图均由特征向量表示,对第一特征图和第二特征图进行拼接,即对第一特征图对应的特征向量和第二特征图对应的特征向量进行拼接,例如:第一特征图对应的特征向量为[1,16,16,512],第二特征图对应的特征向量为[1,16,16,512],对第一特征图对应的特征向量和第二特征图对应的特征向量进行拼接后,得到[1,16,16,1024],即得到1024通道的特征图,进一步对拼接特征图进行解码,得到初步试衣效果图。
其中,多尺度衣服和人像特征融合的初步试衣解码模块包括多层神经网络层,每一层神经网络由依次连接的连接层、转置卷积层、激活函数层、批归一化层构成,连接层用于连接第一特征图和第二特征图,以得到拼接特征图,转置卷积层用于将输入的特征图进行上采样,以实现将图像或特征的放大或恢复,激活函数层用于对转置卷积层输出的数据进行非线性变换,批归一化层用于对数据进行标准化处理。
在本申请实施例中,转置卷积层的卷积核的大小为3*3,步长设置为2,使用PRelu激活函数,每一层卷积核的数量设置为512、256、128、64、32,3,将第一特征图和第二特征图输入解码模块中的多层神经网络层,以输出3通道的初步试衣效果图。通过转置卷积层以反向传播梯度的方式将特定的神经元映射回输入图像空间,以实现将神经网络中的激活模式可视化,帮助网络学习更多的图像的细节信息,并通过对拼接特征图进行逆向卷积操作,能够恢复图像的细节信息,以提高解码的效果。
请再参阅图6,图6是本申请实施例提供的一种生成初步试衣效果图的整体结构示意图;
如图6所示,该生成初步试衣效果图的整体结构包括数据衣服风格编码模块、人像特征编码模块、初步试衣解码模块。
其中,衣服风格编码模块连接初步试衣解码模块,人像特征编码模块连接初步试衣解码模块。
具体的,衣服风格编码模块用于对输入的衣服图像进行特征提取,以得到第二特征图。其中,第二特征图包括衣服图像的特征信息。
具体的,人像特征编码模块用于对输入的人像关键点和人体保留区域图进行特征提取,以得到第二特征图。其中,人像关键点是通过人体姿态评估算法对模特图像进行关键点检测得到的图像,人体保留区域图为通过解析图算法对模特图像进行特征提取,得到人体解析图,并去除人体解析图中的衣服区域得到的图像,第二特征图包括人像关键点和人体保留区域图中的特征信息。
具体的,编码模块用于对输入的第一特征图和第二特征图进行拼接,以得到拼接特征图,进一步将拼接特征图输入初步试衣解码模块进行解码,以得到初步试衣效果图。
在本申请实施例中,通过人像特征编码模块对人像关键点和人体保留区域图进行特征提取,得到第一特征图,以及,通过衣服风格编码模块对衣服图像进行特征提取,得到第二特征图,进一步,通过初步试衣解码模块对第一特征图和第二特征图中的特征信息进行特征融合,得到拼接特征图,并对拼接特征图进行解码,得到初步试衣效果图,优化了初步试衣效果图的质量,使得初步试衣效果图接近于目标图像。
在本申请实施例中,对虚拟试衣模型进行训练分为两个阶段,第一阶段能够生成初步试衣效果图,第二阶段能够生成高清纹理试衣效果图,其中,第一阶段生成的初步试衣效果图作为第二阶段的训练数据。
步骤S205:将初步试衣效果图输入到纹理重构扩散网络,得到高清纹理试衣效果图;
具体的,构建基于UNET网络的纹理重构扩散网络,将初步试衣效果图输入到纹理重构扩散网络,得到高清纹理试衣效果图。其中,纹理重构扩散网络由编码模块、卷积模块、解码模块构成,编码模块用于对初步试衣效果图进行编码,以得到高维度特征信息,卷积模块用于对加噪之后的高维度特征进行逆扩散以学习图像的原本的样子,解码模块用于对卷积模块输出的数据进行解码,以生成高清纹理试衣效果图。
其中,UNET网络是一个U型的网络结构,UNET网络由编码器和解码器组成,编码器用于对图像进行特征提取,解码器用于对图像进行上采样。
其中,编码器由一个3*3的卷积层(Relu)加上一个2*2的maxpooling层组成一个下采样的模块,解码器由一个上采样的卷积层(去卷积层)+特征拼接concat+两个3*3的卷积层(Relu)构成。
在本申请实施例中,通过基于UNET网络的纹理重构扩散网络对初步试衣效果图进行特征提取,能够提取更高清的纹理特征以及关注本质的特征,进一步通过特征的拼接,找回更多的边缘特征,以生成高清纹理试衣效果图。
在本申请实施例中,高清纹理试衣效果图相比于初步试衣效果图具有更高清的纹理,以及衣服与皮肤之间的贴合更自然。
请再参阅图7,图7是图2中的步骤S205的细化流程图;
如图7所示,该步骤S205,包括:
步骤S2051:将初步试衣效果图输入到编码模块,得到第三特征图;
具体的,将初步试衣效果图输入到编码模块,得到第三特征图。
其中,编码模块包括若干层第一神经网络层,每一层第一神经网络层由依次连接的卷积层、激活函数层、批归一化层构成,卷积层用于对输入数据的的特征,激活函数层用于对卷积层输出的特征信息进行非线性变化,批归一化层用于对激活函数层输出的数据进行标准化处理。
将初步试衣效果图输入到编码模块,通过编码模块对初步试衣效果图进行编码,以得到多通道的特征图,其中,多通道的特征图即为第三特征图,第三特征图包括初步试衣效果图的高维度特征信息。其中,卷积层的卷积核的大小为3*3,步长设置均为2,使用的激活函数为Relu,每一层卷积核的数量设置为64、128、256、512、1024,将初步试衣效果图输入到编码模块,以得到1024通道的特征图。
可以理解的是,本申请实施例中的特征提取卷积层的网络结构可以根据实际需求进行卷积核和/或步长的调整,在此不进行限定。
在本申请实施例中,通过编码模块对初步试衣效果图进行特征提取,以得到第三特征图,使得网络能够提取更复杂的特征信息,有利于特征信息的重构。
步骤S2052:对第三特征图添加高斯噪声,得到加噪后的特征图,并将加噪后的特征图输入到卷积模块,得到第四特征图;
具体的,对第三特征图添加高斯噪声,得到加噪后的特征图。其中,噪声均值为0.1,方差为0.1,对第三特征图添加高斯噪声,得到加噪后的特征图。
进一步,将加噪后的特征图输入到卷积模块,通过卷积模块对加噪后的特征图进行卷积操作,得到第四特征图,其中,第四特征图表示对加噪后的特征图进行降噪后得到的一组特征向量。
其中,卷积模块由依次连接的卷积层、激活函数层、批归一化层构成,卷积层的卷积核的数量设置为2048,通过卷积层对加噪后的特征图进行卷积操作,进一步通过激活函数对卷积层输出的数据进行非线性变换,最后通过批归一化层对激活函数输出的数据进行标准化处理,以得到第三特征图。
在本申请实施例中,对第三特征图添加高斯噪声,相当于执行扩散模型的扩散步骤,可以模拟自然界中光线的散射过程,使得图像的像素值变得更加平滑和均匀,并且,通过添加高斯噪声,可以增加图像的对比度和细节,同时减少噪声的影响。
在本申请实施例中,对加噪后的特征图进行卷积操作,相当于对加噪后的特征图进行逆扩散操作,使网络去学习加噪之前图像的原本的样子,以恢复原始图像的细节。
在本申请实施例中,对特征的加噪和卷积是同步完成的,网络会对每一批数据完成自适应的扩散步骤和逆扩散步骤,使得网络可以获得较强的生成能力,以进一步生成高清纹理试衣效果图。
步骤S2053:将第四特征图输入到解码模块,得到高清纹理试衣效果图;
具体的,将第四特征图输入到解码模块,通过解码模块对第四特征图进行解码,以得到高清纹理试衣效果图。
其中,解码模块包括若干层第二神经网络层,每一层第二神经网络层由依次连接的转置卷积层、激活函数层、批实例归一化层构成,通过转置卷积层对第三特征图进行反卷积操作,以恢复被压缩的特征图,进一步通过激活函数层对转置卷积层输出的数据进行非线性变换,以增加网络的非线性表达能力,最后通过批实例归一化层将激活函数层输出的每个批次的数据进行标准化处理,以生成高清纹理试衣效果图。
其中,每一层转置卷积层中卷积核的数量设置为1024、512、256、128、64、32、3,将第四特征图输入解码模块,以输出3通道的高清纹理试衣效果图,提高了网络具有较强的生成能力。
在本申请实施例中,通过转置卷积层对第四特征图进行反卷积操作,以实现将低分辨率的特征图放大到高分辨率,以获得高分辨率的图像。
在本申请实施例中,通过基于UNET网络的纹理重构扩散网络对初步试衣效果图进行特征提取,以获得更高清的纹理特征,以及通过特征的拼接,能够找回更多的边缘特征,使得生成的高清纹理试衣效果图具有高分辨率,以及衣服与皮肤之间的贴合更自然。
步骤S206:构建第一模型损失函数,基于图像数据集对初步试衣网络进行训练,直至第一模型损失函数收敛,第一模型损失函数包括内容损失和感知损失;
具体的,第一模型损失函数,包括:
其中,Loss1为第一模型总损失,Lcon为内容损失,为感知损失,λ1为第一超参数。
在本申请实施例中,第一超参数λ1可以根据经验和历史的实验结果设置,例如:设置为0.05。
在本申请实施例中,内容损失,包括:
Lcon=||xgt-xfirst||L1
其中,Lcon为内容损失,xgt为真实样本,xfirst为初步试衣效果图,||xgt-xfirst||L1为计算xgt和xfirst的绝对差值。
在本申请实施例中,内容损失用于衡量初步试衣效果图与目标图像在内容上的差异,以使得生成的初步试衣效果图与目标图像的内容尽可能地相似。
在本申请实施例中,感知损失,包括:
其中,为感知损失,xgt为真实样本,xfirst为初步试衣效果图,VGGi(xgt)为真实样本输入到VGG网络中获得第i个特征尺度的特征值,Ni为VGG网络第i层的特征元素数,M为VGG网络的层数,||VGGi(xgt)-VGGixfirstL1为计算VGGixgt和VGGixfirst的绝对差值。
在本申请实施例中,感知损失用于衡量初步试衣效果图与目标图像在感知上的差异,使得初步试衣效果图的感知质量尽可能接近于目标图像的感知质量,例如:保留目标图像的纹理、颜色、结构等特征。
其中,VGG网络包括VGG19网络,VGG19网络是包括19个隐藏层(16个卷积层和3个全连接层)的卷积神经网络,VGG19网络用于提取图像特征,可以反映出预测样本和真实样本在同样的VGG19特征提取下的差别,即感知损失。
通过内容损失和感知损失对虚拟试衣模型进行训练,以优化初步试衣效果图的质量,使得初步试衣效果图更接近于目标图像。
在本申请实施例中,采用第一模型损失函数进行反向传播,使得初步试衣网络更好地收敛,例如:衣服风格编码模块,其中,网络收敛包括损失达到最小和/或损失在一个范围内波动和/或训练次数达到一定数量。例如:采用Adam算法(Adaptive MomentEstimation Algorithm)优化虚拟试衣模型中的每一个网络的网络参数,迭代次数设置为1万次,初始化学习率设置为0.0005,权重衰减设置为0.0005,进行网络的训练直至达到最大的迭代次数,并保存最大的迭代次数对应的网络参数。
可以理解的是,Adam算法可以看作动量法和RMSprop算法的结合,不但使用动量作为参数更新方向,而且可以自适应调整学习率。
通过构建第一模型损失函数,该第一模型损失函数包括内容损失和感知损失,利用第一模型损失函数对初步试衣网络进行训练,能够减少预测效果和真实标签的差距,以生成效果更好的初步试衣效果图。
步骤S207:构建第二模型损失函数,基于初步试衣效果图对纹理重构扩散网络进行训练,直至第二模型损失函数收敛,以生成虚拟试衣模型,其中,第二模型损失函数包括扩散偏量损失和扩散感知损失;
具体的,第二模型损失函数,包括:
Loss2=Ldiffusion+λ2Lpercept
其中,Loss2为第二模型总损失,Ldiffusion为扩散偏量损失,λ2为第二超参数,Lpercept为扩散感知损失。
在本申请实施例中,第二超参数λ2可以根据经验和历史的实验结果设置,例如:设置为3.58。
在本申请实施例中,扩散偏量损失,包括:
其中,Ldiffusion为扩散偏量损失,Mhead为二值矩阵,二值矩阵表示人体保留区域图中的人体头部区域,θ(xfirst)为将初步试衣效果图输入到扩散模型后输出的结果,为高清纹理试衣效果图,1-Mhead为除了人体保留区域图中的人体头部区域之外的区域,为将初步试衣效果图输入到扩散模型后输出的结果与高清纹理试衣效果之间的差值,/>为计算的平均标准差。
在本申请实施例中,扩散偏量损失用于度量高清纹理试衣效果图和大型扩散模型生成的图像之间的差距,以进一步学习大型扩散模型的已有经验,以生成高清纹理试衣效果图。其中,大型扩散模型为stablediffusion1.5。
其中,大型扩散模型stablediffusion1.5是基于图生图的扩散模型,通过构建图像的图结构,将图像分解为多节点和边,可以更好地理解图像的结构和特征,从而模拟图像的扩散过程,并生成新的图像表示。其中,每个节点表示图像中的不同区域或像素,而边则表示不同区域之间的连接关系。
在本申请实施例中,扩散感知损失,包括:
其中,Lpercept为扩散感知损失,Mhead为人体保留区域图中的人体头部区域,θ(xfirst)为将初步试衣效果图输入到扩散模型后输出的结果,为高清纹理试衣效果图,Ni为VGG网络第i层的特征元素数,(1-Mhead)·θ(xfirst)为除开脸部区域的初步试衣效果图经过扩散模型输出的结果,/>为除开脸部区域的高清纹理试衣效果图,VGGi((1-Mhead)·θ(xfirst))为除开脸部区域的初步试衣效果图经过扩散模型输出的结果的非脸部区域经过VGG网络编码输出的特征图,/> 为高清纹理试衣效果图的非脸部区域经过VGG网络输出的特征图,M为VGG网络的层数,为计算VGGi((1-Mhead)·θ(xfirst))和的平均标准差。
在本申请实施例中,扩散感知损失用于衡量高清纹理试衣效果图与目标图像在感知上的差异,使得高清纹理试衣效果图的感知质量尽可能接近于目标图像的感知质量,例如:保留目标图像的纹理、颜色、结构等特征。
在本申请实施例中,通过构建扩散偏量损失和扩散感知损失,计算大型扩散模型的结果和纹理重构网络得到的生成效果之间的损失,使得纹理重构网络对大型扩散网络的生成效果进行蒸馏,即大型扩散网络相当于教师网络,纹理重构网络相当于学生网络,通过输入同样的初步试衣效果图,对比纹理重构网络和大型扩散网络之间的差值,使得纹理重构网络去学习大型扩散网络强大的生成能力。
在本申请实施例中,通过构建第二模型损失函数,该第二模型损失函数包括扩散偏量损失和扩散感知损失,利用第二模型损失函数对纹理重构扩散网络进行训练,能够恢复衣服图像的纹理细节,生成高分辨率的高清纹理试衣效果图,且高清纹理试衣效果图能够展示出皮肤和衣服的贴合感,皮肤和衣服的贴合更自然。
请再参阅图8,图8是本申请实施例提供的一种生成高清纹理试衣效果图的整体结构示意图;
如图8所示,该生成高清纹理试衣效果图的整体结构包括编码模块、卷积模块、解码模块。
其中,编码模块连接卷积模块,卷积模块连接解码模块。
具体的,编码模块用于对输入的初步试衣效果图进行特征提取,以得到第二特征图。
在本申请实施例中,通过编码模块生成第三特征图,进一步对第三特征图添加高斯噪声,得到加噪后的特征图,使网络能够模拟自然界中光线的散射过程,使得图像的像素值变得更加平滑和均匀。
具体的,卷积模块用于对加噪后的特征图进行反卷积操作,以得到第四特征图。
在本申请实施例中,通过卷积模块中的转置卷积层对加噪后的特征图进行反卷积操作,以实现将低分辨率的特征图放大到高分辨率,以获得高分辨率的图像。
具体的,解码模块用于对第四特征图进行解码,以生成高清纹理试衣效果图。
具体的,对比初步试衣效果图和高清纹理试衣效果图中的纹理细节,得到高清纹理试衣效果图的纹理细节更清晰,分辨率更高。
在本申请实施例中,通过编码模块对初步试衣效果图进行特征提取,以得到第三特征图,进一步,对第三特征图添加高斯噪声,得到加噪后的特征图,进一步通过卷积模块对加噪后的特征图进行反卷积操作,得到第四特征图,最后通过解码模块对第四特征图进行解码,得到高清纹理试衣效果图,以提高试衣效果图的分辨率,以及提高衣服和皮肤的贴合感。
在本申请实施例中,通过第一阶段对初步试衣网络进行训练,以生成初步试衣效果图,优化了试衣效果图的质量,进一步,将初步试衣效果图作为第二阶段的数据集,通过第二阶段对纹理重构扩散网络进行训练,得到高清纹理试衣效果图,提高了模型生成图像的分辨率,以得到更多的图像的纹理细节,增强了试衣效果。
在经过两个阶段的训练之后,本申请还包括测试阶段,在测试阶段,通过将衣服图像和模特图像输入到虚拟试衣模型,以得到待试衣的衣服图像对应的试衣图像。
其中,模特图像为模特正面姿态的图像,通过选取不同的衣服进行虚拟试衣,在不同的姿态和光线的环境下,利用扩散网络的逆向过程推理,以逐步去除初步试衣效果图的噪声,使网络能够自适应的完成扩散和逆扩散来生成高清纹理试衣效果图,以提高图像的质量和清晰度,能够实现更加真实自然的试衣效果。
本申请实施例提供的一种虚拟试衣模型的训练方法,虚拟试衣模型包括初步试衣网络和纹理重构扩散网络,初步试衣网络包括衣服风格编码模块、人像特征编码模块及初步试衣解码模块,方法包括:获取图像数据集,其中,图像数据集包括衣服图像和模特图像;通过衣服风格编码模块对衣服图像进行特征提取,得到第一特征图;通过人像特征编码模块对模特图像进行特征提取,得到第二特征图;对第一特征图和第二特征图进行拼接,得到拼接特征图,并将拼接特征图输入初步试衣解码模块进行解码,得到初步试衣效果图;将初步试衣效果图输入到纹理重构扩散网络,得到高清纹理试衣效果图;构建第一模型损失函数,基于图像数据集对初步试衣网络进行训练,直至第一模型损失函数收敛,第一模型损失函数包括内容损失和感知损失;构建第二模型损失函数,基于初步试衣效果图对纹理重构扩散网络进行训练,直至第二模型损失函数收敛,以生成虚拟试衣模型,其中,第二模型损失函数包括扩散偏量损失和扩散感知损失。
一方面,通过将衣服风格编码模块对衣服图像进行特征提取,得到第一特征图,通过人像特征编码模块对模特图像特征提取,得到第二特征图,对第一特征图和第二特征图进行拼接,得到拼接特征图,并将拼接特征图输入初步试衣解码模块进行解码,得到初步试衣效果图,进一步,通过纹理重构扩散网络对初步试衣效果图进行纹理重构,得到高清纹理试衣效果图,能够提高试衣效果图的清晰度;
另一方面,构建第一模型损失函数进行训练,第一模型损失函数包括内容损失和感知损失,得到初步试衣效果图,构建第二模型损失函数,并将初步试衣效果图作为第二模型损失函数的输入数据,对虚拟试衣模型进行训练,第二模型损失函数包括扩散偏量损失和扩散感知损失,以生成虚拟试衣模型,本申请能够增强试衣效果。
实施例二
在通过上述实施例中提供的虚拟试衣模型的训练方法后,得到训练之后的虚拟试衣模型,可利用该虚拟试衣模型进行虚拟试衣。
可以理解的是,上述实施例一是对虚拟试衣模型的训练阶段,本申请实施例二是对虚拟试衣模型的使用阶段,以得到虚拟试衣图像。
具体的,请参阅图9,图9是本申请实施例提供的一种虚拟试衣方法的流程示意图;
如图9所示,该虚拟试衣方法,包括:
步骤S901:获取待试衣的衣服图像和用户图像;
具体的,在得到虚拟试衣模型之后,获取待试衣的衣服图像和用户图像。
虚拟试衣模型是由上述实施例中纹理重构扩散网络(包括编码模块、卷积模块、解码模块)训练得到,其中,纹理重构扩散网络的数据集由第一虚拟试衣模型训练得到,虚拟试衣模型具有与纹理重构扩散网络相同的结构和功能,与上述实施例中的纹理重构扩散网络对初步试衣效果图的处理方式相同,其中,初步试衣效果图由初步试衣网络生成,具体的过程在此不再一一赘述。
步骤S902:将待试衣的衣服图像和用户图像输入虚拟试衣模型,得到待试衣的衣服图像对应的试衣图像。
需要说明的是,本申请实施例中的虚拟试衣模型是通过上述实施例一进行训练得到的模型,虚拟试衣模型的相关内容可参考上述实施例提及的内容,在此不再赘述。
在本申请实施例中,通过训练虚拟试衣模型,在得到训练之后的虚拟试衣模型之后,获取待试衣的衣服图像和用户图像,将待试衣的衣服图像和用户图像输入虚拟试衣模型,得到待试衣的衣服图像对应的试衣图像,本申请能够提高虚拟试衣效果。
实施例三
请参阅图10,图10是本申请实施例提供的一种电子设备的结构示意图;
如图10所示,该电子设备1000包括一个或多个处理器1001以及存储器1002。其中,图10中以一个处理器1001为例。
处理器1001和存储器1002可以通过总线或者其他方式连接,图10中以通过总线连接为例。
处理器1001,用于提供计算和控制能力,以控制电子设备1000执行相应任务,例如,控制电子设备1000执行上述任一方法实施例中的虚拟试衣模型的训练方法,包括:
获取图像数据集,其中,图像数据集包括衣服图像和模特图像;通过衣服风格编码模块对衣服图像进行特征提取,得到第一特征图;通过人像特征编码模块对模特图像进行特征提取,得到第二特征图;对第一特征图和第二特征图进行拼接,得到拼接特征图,并将拼接特征图输入初步试衣解码模块进行解码,得到初步试衣效果图;将初步试衣效果图输入到纹理重构扩散网络,得到高清纹理试衣效果图;构建第一模型损失函数,基于图像数据集对初步试衣网络进行训练,直至第一模型损失函数收敛,第一模型损失函数包括内容损失和感知损失;构建第二模型损失函数,基于初步试衣效果图对纹理重构扩散网络进行训练,直至第二模型损失函数收敛,以生成虚拟试衣模型,其中,第二模型损失函数包括扩散偏量损失和扩散感知损失。
一方面,通过将衣服风格编码模块对衣服图像进行特征提取,得到第一特征图,通过人像特征编码模块对模特图像特征提取,得到第二特征图,对第一特征图和第二特征图进行拼接,得到拼接特征图,并将拼接特征图输入初步试衣解码模块进行解码,得到初步试衣效果图,进一步,通过纹理重构扩散网络对初步试衣效果图进行纹理重构,得到高清纹理试衣效果图,能够提高试衣效果图的清晰度;
另一方面,构建第一模型损失函数进行训练,第一模型损失函数包括内容损失和感知损失,得到初步试衣效果图,构建第二模型损失函数,并将初步试衣效果图作为第二模型损失函数的输入数据,对虚拟试衣模型进行训练,第二模型损失函数包括扩散偏量损失和扩散感知损失,以生成虚拟试衣模型,本申请能够增强试衣效果。
或者,控制电子设备1000执行上述任一方法实施例中的虚拟试衣方法,包括:
获取待试衣的衣服图像和用户图像;
将待试衣的衣服图像和用户图像输入虚拟试衣模型,得到待试衣的衣服图像对应的试衣图像,其中,虚拟试衣模型是基于实施例一的方法进行训练得到的。
通过训练虚拟试衣模型,在得到训练之后的虚拟试衣模型之后,获取待试衣的衣服图像和用户图像,将待试衣的衣服图像和用户图像输入虚拟试衣模型,得到待试衣的衣服图像对应的试衣图像,本申请能够提高虚拟试衣效果。
处理器1001可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、硬件芯片或者其任意组合;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(genericarray logic,GAL)或其任意组合。
存储器1002作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本申请实施例中的虚拟试衣模型的训练方法或虚拟试衣方法对应的程序指令/模块。处理器1001通过运行存储在存储器1002中的非暂态软件程序、指令以及模块,可以实现下述任一方法实施例中的虚拟试衣模型的训练方法或虚拟试衣方法。具体的,存储器1002可以包括易失性存储器(volatile memory,VM),例如随机存取存储器(random access memory,RAM);存储器1002也可以包括非易失性存储器(non-volatile memory,NVM),例如只读存储器(read-only memory,ROM),快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)或其他非暂态固态存储器件;存储器1002还可以包括上述种类的存储器的组合。
存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至处理器1001。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器1002中,当被一个或者多个处理器1001执行时,执行上述任意方法实施例中的虚拟试衣模型的训练方法或虚拟试衣方法,例如,执行以上描述的图2、7、9所示的各个步骤。
在本申请实施例中,电子设备1000还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,电子设备1000还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例的电子设备以多种形式存在,在执行以上描述的图2、7、9所示的各个步骤时,包括但不限于:服务器、移动终端、电子手表、固定终端、可穿戴设备等设备。
本申请实施例还提供了一种非易失性计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由处理器执行以完成上述实施例中的虚拟试衣模型的训练方法或虚拟试衣方法。例如,该非易失性计算机可读存储介质可以是只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact DiscRead-Only Memory,CDROM)、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括一条或多条程序代码,该程序代码存储在非易失性计算机可读存储介质中。电子设备的处理器从非易失性计算机可读存储介质读取该程序代码,处理器执行该程序代码,以完成上述实施例中提供的虚拟试衣模型的训练方法或虚拟试衣方法的方法步骤。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,该程序可以存储于一种非易失性计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种虚拟试衣模型的训练方法,其特征在于,虚拟试衣模型包括初步试衣网络和纹理重构扩散网络,所述初步试衣网络包括衣服风格编码模块、人像特征编码模块及初步试衣解码模块,所述方法包括:
获取图像数据集,其中,图像数据集包括衣服图像和模特图像;
通过所述人像特征编码模块对所述模特图像进行特征提取,得到第一特征图;
通过所述衣服风格编码模块对所述衣服图像进行特征提取,得到第二特征图;
对所述第一特征图和所述第二特征图进行拼接,得到拼接特征图,并将所述拼接特征图输入所述初步试衣解码模块进行解码,得到初步试衣效果图;
将所述初步试衣效果图输入到所述纹理重构扩散网络,得到高清纹理试衣效果图;
构建第一模型损失函数,基于图像数据集对所述初步试衣网络进行训练,直至所述第一模型损失函数收敛,所述第一模型损失函数包括内容损失和感知损失;
构建第二模型损失函数,基于所述初步试衣效果图对所述纹理重构扩散网络进行训练,直至所述第二模型损失函数收敛,以生成所述虚拟试衣模型,其中,所述第二模型损失函数包括扩散偏量损失和扩散感知损失。
2.根据权利要求1所述的方法,其特征在于,所述衣服图像和所述模特图像一一对应,所述方法还包括:
对所述衣服图像和模特图像进行预处理,具体包括:
通过U2-Net网络对所述衣服图像和模特图像进行外轮廓提取,并分别去除所述衣服图像和所述模特图像的背景信息,分别得到处理之后的衣服图像和处理之后的模特图像。
3.根据权利要求1或2所述的方法,其特征在于,所述纹理重构扩散网络包括编码模块、卷积模块以及解码模块;
将所述初步试衣效果图输入到所述纹理重构扩散网络,得到高清纹理试衣效果图,包括:
将所述初步试衣效果图输入到所述编码模块,得到第三特征图;
对所述第三特征图添加高斯噪声,得到加噪后的特征图,并将所述加噪后的特征图输入到所述卷积模块,得到第四特征图;
将所述第四特征图输入到所述解码模块,得到高清纹理试衣效果图。
4.根据权利要求3所述的方法,其特征在于,
所述编码模块包括若干层第一神经网络层,其中,每一层第一神经网络层包括卷积层、激活函数层以及批归一化层;
所述解码模块包括若干层第二神经网络层,其中,每一层第二神经网络层包括转置卷积层、激活函数层以及批实例归一化层。
5.根据权利要求1所述的方法,其特征在于,所述第二模型损失函数,包括:
Loss2=Ldiffusion+λ2Lpercept
其中,Loss2为第二模型总损失,Ldiffusion为扩散偏量损失,λ2为第二超参数,Lpercept为扩散感知损失。
6.根据权利要求5所述的方法,其特征在于,所述扩散偏量损失,包括:
其中,Ldiffusion为扩散偏量损失,Mhead为人体保留区域图中的人体头部区域,θ(xfirst)为将初步试衣效果图输入到扩散模型后输出的结果,为高清纹理试衣效果图,为计算的平均标准差。
7.根据权利要求6所述的方法,其特征在于,所述扩散感知损失,包括:
其中,Lpercept为扩散感知损失,Mhead为人体保留区域图中的人体头部区域,θ(xfirst)为将初步试衣效果图输入到扩散模型后输出的结果,为高清纹理试衣效果图,Ni为VGG网络第i层的特征元素数,(1-Mhead)·θ(xfirst)为除开脸部区域的初步试衣效果图经过扩散模型输出的结果,/>为除开脸部区域的高清纹理试衣效果图,VGGi((1-Mhead)·θ(Xfirst))为除开脸部区域的初步试衣效果图经过扩散模型输出的结果的非脸部区域经过VGG网络编码输出的特征图,/>为高清纹理试衣效果图的非脸部区域经过VGG网络输出的特征图,M为VGG网络的层数,为计算VGGi((1-Mhead)•θ(xfirst))和的平均标准差。
8.一种虚拟试衣方法,其特征在于,包括:
获取待试衣的衣服图像和用户图像;
将所述待试衣的衣服图像和所述用户图像输入虚拟试衣模型,得到所述待试衣的衣服图像对应的试衣图像,其中,所述虚拟试衣模型是基于权利要求1-7任一项所述的方法进行训练得到的。
9.一种电子设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器,其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7任一项所述的方法。
10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1-7任一项所述的虚拟试衣模型的训练方法,或者,执行权利要求8所述的虚拟试衣方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311406990.4A CN117475258A (zh) | 2023-10-26 | 2023-10-26 | 虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311406990.4A CN117475258A (zh) | 2023-10-26 | 2023-10-26 | 虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117475258A true CN117475258A (zh) | 2024-01-30 |
Family
ID=89639009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311406990.4A Pending CN117475258A (zh) | 2023-10-26 | 2023-10-26 | 虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117475258A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117575746A (zh) * | 2024-01-17 | 2024-02-20 | 武汉人工智能研究院 | 虚拟试穿方法、装置、电子设备及存储介质 |
CN117745990A (zh) * | 2024-02-21 | 2024-03-22 | 虹软科技股份有限公司 | 一种虚拟试衣方法、装置和存储介质 |
-
2023
- 2023-10-26 CN CN202311406990.4A patent/CN117475258A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117575746A (zh) * | 2024-01-17 | 2024-02-20 | 武汉人工智能研究院 | 虚拟试穿方法、装置、电子设备及存储介质 |
CN117575746B (zh) * | 2024-01-17 | 2024-04-16 | 武汉人工智能研究院 | 虚拟试穿方法、装置、电子设备及存储介质 |
CN117745990A (zh) * | 2024-02-21 | 2024-03-22 | 虹软科技股份有限公司 | 一种虚拟试衣方法、装置和存储介质 |
CN117745990B (zh) * | 2024-02-21 | 2024-05-07 | 虹软科技股份有限公司 | 一种虚拟试衣方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | Beyond classification: Directly training spiking neural networks for semantic segmentation | |
CN116416416A (zh) | 虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 | |
CN117475258A (zh) | 虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 | |
CN110674748A (zh) | 图像数据处理方法、装置、计算机设备以及可读存储介质 | |
CN109409994A (zh) | 模拟用户穿戴服装饰品的方法、装置和系统 | |
CN115565238B (zh) | 换脸模型的训练方法、装置、设备、存储介质和程序产品 | |
KR102326902B1 (ko) | 멀티 포즈를 지원하는 이미지 기반 자세보존 가상피팅 시스템 | |
WO2022052530A1 (zh) | 人脸矫正模型的训练方法、装置、电子设备及存储介质 | |
CN111241963B (zh) | 基于交互建模的第一人称视角视频交互行为识别方法 | |
CN110909680A (zh) | 人脸图像的表情识别方法、装置、电子设备及存储介质 | |
CN111160225B (zh) | 基于深度学习的人体解析方法和装置 | |
CN113569598A (zh) | 图像处理方法和图像处理装置 | |
CN111783779A (zh) | 图像处理方法、装置和计算机可读存储介质 | |
CN116071619A (zh) | 虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 | |
CN115439308A (zh) | 训练试衣模型的方法、虚拟试衣方法及相关装置 | |
CN116229066A (zh) | 人像分割模型的训练方法及相关装置 | |
CN113255514A (zh) | 基于局部场景感知图卷积网络的行为识别方法 | |
CN114724004A (zh) | 训练试衣模型的方法、生成试衣图像的方法及相关装置 | |
Jaroli et al. | Deep learning model based novel semantic analysis | |
CN112329875B (zh) | 一种基于连续吸引子网络的连续图像序列识别方法 | |
CN111311732B (zh) | 3d人体网格获取方法及装置 | |
CN113158970A (zh) | 一种基于快慢双流图卷积神经网络的动作识别方法与系统 | |
CN115439309A (zh) | 训练衣服变形模型的方法、虚拟试衣方法及相关装置 | |
CN115439179A (zh) | 训练试衣模型的方法、虚拟试衣方法及相关装置 | |
Adriyanto et al. | Classification of dog and cat images using the CNN method |
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 |