基于Diffusers框架的电商产品图制作方法研究

2024-03-29 15:55伍海洋马川越刘登辉
无线互联科技 2024年2期
关键词:全图深度图蒙版

伍海洋,马川越,刘登辉

(西京学院 电子信息学院,陕西 西安 710123)

0 引言

产品展示图是对商品全方位的图片展示,一般为主图部分的图片以及更多产品应用场景的图片。产品展示图主要包括白底图以及商拍图,单件商品有多种颜色,如果需要拍完单件产品的整套展示图,不仅成本高,而且耗费时间,影响商家的上新进度与成本控制,所以商品图的低成本批量生成对电商卖家具有重要的意义。

Diffusion模型可以根据提示词生成图像[1],也可以加入Control Net、LoRA等模型,从而加强图像生成过程的可控性,本文的主要工作如下。

(1)设计并实现了电商产品图背景替换以及模特替换的流程,该流程可以根据关键词替换指定风格的背景以及模特。

(2)使用Ultralytics、Segment Anything、Grounding DINO等算法来实现衣服分割以及人脸检测等预处理,从而实现模特替换以及生成脸部和手部的细节修复。

1 扩散模型与Control Net网络

1.1 Diffusion模型

去噪扩散概率模型[2](Denoising Diffusion Probabilistic Models,DDPM),在前向阶段对数据逐步施加噪声,直到数据完全变成高斯噪声,然后再在逆向阶段将噪声还原为原始数据。在前向传播过程中,会逐渐对初始图像添加噪声,将输入的真实图像x0逐渐变成无序的高斯噪声图像xt,在每一次的加噪过程中,该次添加噪声的标准差是由固定值βt给定的,均值是由βt和当前t时刻的数据xt决定的,整个过程是一个马尔科夫链过程。

1.2 Control Net网络

Control Net网络创新性地提出了Zero Convolution概念,该网络会复制原模型的编码器部分,外部条件输入会与原模型输入经过相同的编码器部分,并通过Zero Convolution与编码后的隐变量结合,从而实现对生成流程的控制。在DDPM中,模型使用类似于矢量量化生成对抗网络(Vector Quantized Generative Adversarial Network,VQ-GAN)的预处理方法将尺寸为512×512像素的图像数据集转换为64×64像素的潜在图像进行训练,这需要Control Net将基于图像的条件转换为64×64像素的特征空间,以匹配卷积大小。Control Net在计算方式上是高效的,因为原始权重是锁定的[3],所以训练不需要在原始编码器上进行梯度计算,这样可以加快训练速度,节省近一半的GPU内存。

2 实验与分析

电商产品图的制作包括图像蒙版的制作、背景以及模特的生成、图像细节修复3个部分。首先根据不同的任务获得图像的蒙版,再通过Control Net网络控制DDPM模型生成所需背景或模特,再根据半身和全身的区别分别通过全图超分和局部超分修复细节,最终生成指定要求的商品图。

2.1 背景替换

为实现背景替换效果,首先需要对输入图像进行预处理。用MOD Net对图像做人像分割,得到图像蒙版,将图像的前景和后景分开,再用ZoeDepth对原图做预处理,得到图像的深度图,从而控制生成图的前后景关系。本文对蒙版做边缘检测,控制生成图像的前景边缘部分,进一步将前后景分离,在将边缘检测加入DDPM时,使用的Control Net模型是Sd-Controlnet-Canny,输入图像为边缘检测图[4],网络控制权重设置为1。在将深度图加入DDPM时,使用的Control Net模型是Control_V11f1p_Sd15_Depth,输入图像为深度图,网络控制权重为1,介入时间为0.5~1.0 s。

经实验发现,重绘幅度越大,背景内容会越丰富,但也会出现区域重复、无意义物体等坏图现象,重绘幅度变小,图像也会变成灰褐色背景,这是由于去噪时没有明确的暗示。实验结果表明,重绘幅度在0.8时,既能保证生成图景深的准确性,也能实现背景替换的功能。

2.2 模特替换

模特替换的预处理需要得到原图的衣服蒙版、深度图、边缘检测图、姿态估计图。边缘检测图和深度图的获取方式与背景替换的获取方式相同[5],不再赘述。本文获取衣服蒙版的方式,是将Segment Anything模型与Grounding DINO模型相结合,自动分割衣服蒙版。分割一切模型(Segment Anything Model,SAM)是Mata AI研究团队在ICCV2023上提出的一种新的全场景分割模型[6],该模型可以对任何图像中的任何对象进行分割,SAM是一个可提示模型,模型在数据收集循环中使用高效的方法构建了迄今为止最大的数据集,具有良好的泛化能力。Grounding DINO是一种开集目标检测方案,将基于Transformer的检测器与DINO相结合,开集检测的关键是引入 Language 闭集检测器,用于开集概念泛化。本文将闭集检测器分为3个阶段,提出一种紧密融合方案,包括 Feature Enhancer、Language-Guided Query Selection、Cross-Modality Decoder。除了对新颖类别进行检测,还可进行特定属性目标识别[7]。在COCO 数据集上零样本检测达到 52.5AP,在 COCO 数据集 Finetune 后达到 63AP。本文用 Grounding DINO 实现衣服的目标检测,得到衣服在图中的位置,并将坐标发送给 SAM,再利用 SAM 模型做衣服分割,从而得到准确的衣服蒙版。在姿态估计方面,选择了DWpose模型作为姿态估计模型,DWpose模型在RTMpose模型的基础上做二阶段蒸馏,一经推出就是COCO-Wholebody数据集的SOTA,并且不需要依靠MMCV的依赖库就可以接入Control Net,模型整体会更加轻量化[7],但是精度并未降低,推理速度更快。

2.3 图像修复实验

2.3.1 局部修复实验

局部重绘的思想是先用Ultralyics做脸部检测和手部检测,按照512×512的尺寸将图像截取,再做皮肤分割,将皮肤的部分重绘,然后再将修复后的局部图像与原图像做泊松融合[8]。

在皮肤分割的算法中,选择了 Will Brennan 在2020年发布在 github 上的一个项目,该项目是 Skin Detection 的优化版本Semantic Segmentation,该项目分别使用FCNRes Net101 以及 BiSe NetV2 作为 Backbone 实现了皮肤的语义分割,该项目虽然只在 COCO 数据集选择 150 张图像作为自定义数据集进行训练,但是从结果来看,对于皮肤的分割效果比 Paddle Seg 效果更好。为了进一步优化该模型的分割效果,再加入一个 ViTmatte算法,让边缘更加清晰。ViTmatte 算法是基于 Hugging Face Transformers 库开发的抠图算法,由NielsRogge开发,提供快速、高质量的抠图功能,快速分离图像的前景与后景。

2.3.2 全图超分修复实验

全图超分不需要将局部切割出来,而是在生成初始图像后,使用超分算法将全图重绘,将图像超分为原图的1.5倍,并使用生成式人脸完善器生成式对抗网络(Generative Face Perfector Generative Adversarial Network,GFPGAN)模型以及 Codeformer模型,对全图做图像修复。超分过程的第一阶段采样器为ESRGAN_4x,第二阶段采样器为SwinIR_4x,强度为0.5。

经过实验发现,在做半身图的生成时,使用全图超分的效果更好,在做全身图生成时,使用局部重绘的效果更好,所以可以将图像修复结合全身图与半身图的判断,使得最终生成的图像效果更好。

3 结语

本文提出一种基于扩散模型与Control Net网络生成电商图的方法,达到低成本电商图生成的目的,通过背景替换实验和模特替换实验,验证了本文方法的实用性;提出了2种图像修复方法,生成的电商图能够准确地替换背景与模特部分;保证全图的合理性与整体性,前后景的景深关系合理,无断肢,无多余物体。本文方法能够降低电商卖家制作产品图的成本,在保证质量的情况下,提高电商图的制作效率。

本文提出的电商图生成方法依然存在一些不足,如后景的潜变量对生成影响较大,原图尺寸过小或者过大都会导致最终的结果图效果较差,对饰品,如眼镜、手表等分割效果较差,生成效果也较差等,需要在后续研究中进一步提高对于饰品的分割效果与生成效果,消除后景的潜变量对生成的影响,为电商卖家提供更有效的电商图制作手段。

猜你喜欢
全图深度图蒙版
《大清一统舆图·陕西全图》初探
图层蒙版和剪贴蒙版技术分析与研究
——photoshop广告设计专业职业能力形成
详解图层蒙版
基于深度图的3D-HEVC鲁棒视频水印算法
图画捉迷藏
一种基于局部直方图匹配的深度编码滤波算法
叠加速度谱在钻孔稀少地区资料解释中的应用
图画捉迷藏
图画捉迷藏
Photoshop中的蒙版技术浅析