在当今数字化营销时代,适配各种展示平台的视觉内容呈现成为了一项挑战。随着扩散模型等生成式模型的革新,生成式AI技术在图像和视频领域取得了显著的进步。特别是StableDiffusion(SD)模型的发展,使得能够创造出符合各种风格的高品质、逼真的视觉作品。在这个背景下,视觉延展(Outpainting)技术显得格外重要,它能够扩展图像或视频的边界,以匹配不同的显示比例和尺寸需求。
对于电商场景的原生图片以及视频创意素材进行尺寸延展存在诸多挑战,核心是如何在根据原始素材进行任意尺寸延展的同时保持准确性,完成素材的一键裂变,为此,我们在优质数据集构建、延展模型优化、生成效果策略优化等方面做了诸多探索,整体技术框架图如下:
尺寸魔方整体技术方案主要分为以下步骤:
为了使模型更好的适配淘宝电商场景,我们为每个图片和视频精细标注了一系列重要属性标签,涵盖了清晰度、文字识别(OCR)、视频动效的强度、人脸和人体检测、牛皮癣识别,以及综合的美学评分等多个维度。经过多维度打分排序过滤,最终清洗得到更加优质的图片以及视频数据集,另外通过构造适用于延展任务的遮掩区域完成数据集构建,用于图片&视频延展模型的训练优化。
得益于StableDiffusion的开源生态,现在的市面上有非常多的基于StableDiffusion微调得到的图片生成模型,例如专攻二次元风格的Anything模型、能够生成以假乱真的真人模型Chilloutmix等等,Civitai作为一个AIGC模型社区,包含了众多类似的模型资源(各种各样的基座模型以及插件)。基于StableDiffusion的图像inpainting模型,目前也能取得较好的局部重绘效果,而图片延展任务可以看作对图片外框即延展区域的局部重绘,因此我们选择基于StableDiffusion开发图片延展算法。
电商场景的图片上通常会带有一些Logo、促销卖点文案之类的元素,对这类图片进行延展时,SD模型经常会“依样画葫芦”,在延展区域生成一些伪文字,针对这一问题,我们也尝试在负向提示词方面进行了探索,在一定程度上缓解了这一问题。另外考虑到对于包含促销外框类的图片,延展后促销框的位置会在图片中间,观感比较奇怪,我们也引导商家使用较干净的图片进行延展,这也降低了模型生成伪文字的概率。
人体区域的绘制一直是图片生成领域的挑战之一,在Civitai社区中有许多模型针对这一问题进行优化,这些模型在人体区域的绘制上的表现明显优于其他通用模型,但我们发现这类模型存在一定的偏差,对非人体区域也容易联想成人体,不适用于通用场景的延展。因此我们通过前置的人体检测模型,判断延展区域是否包含人体部位,对于需要延展人体的区域使用人体专用模型,对其他区域使用通用模型,从而兼顾通用场景和人体部位的延展需要。
在具体的业务场景中,商家的原图通常分辨率很高,在原分辨率进行图像延展存在以下几方面问题:1)计算开销大,可能出现GPU显存不足的问题;2)RT随着分辨率的提升成倍增长,影响用户体验;3)模型训练与推理阶段使用的分辨率差异过大,可能导致生成效果下降。为解决以上问题,我们在生成图片前,首先将图片resize到固定尺寸再进行生成,这保证了生成效果和RT的稳定性。我们使用超分辨率模型将生成图超分到目标尺寸再进行原图贴回,使延展区域和原图区域的清晰度和细腻程度相对一致。同时,我们对贴回区域边缘进行线性平滑融合缓解视觉上的割裂感,这些后处理策略在实际应用中都有不错的效果提升。
我们的视频延展模型整体上基于扩散模型架构。在训练阶段,通过在原始数据上不断施加噪声,并利用深度网络来预测并去除噪声,通过这种方式,推理阶段能够从高斯分布随机采样的噪声来逐步推理出原始的数据分布。而在视频延展场景中,我们在训练阶段要学习一个3DU-Net的去噪网络去拟合视频样本中的噪声。我们采用StableDiffusion作为基座模型,同时为了让原始的StableDiffusion模型适配视频延展任务,参考通用视频扩散模型,我们引入了时序卷积,并对自注意力层和交叉注意力层进行了调整,以保证不同视频帧间能够有效交互。
我们发现仅使用掩码以及遮掩后的视频帧等特征输入到模型,对于空间逻辑较复杂的视频的延展结果会存在Artifact等问题。进一步地,我们探索了通过更多的条件(全局帧提示、Canny边缘信息注入)来辅助模型进行生成,并且取得了比较好的效果。首先,为了使模型能够感知当前片段之外的全局视频信息,我们均匀地从视频中采样16帧。这些全局帧通过一个可学习的轻量级编码器来获取特征图,然后通过交叉注意力机制输入到3D-UNet中。除此之外,为了保证延展区域与已有区域的连贯性,我们还对输入视频提取了Canny边缘检测信息,该信息中包含目标的线条、轮廓等纹理信息,对尺寸延展提供一定辅助。具体地,我们在3D-UNet的输入层加入多帧的Canny信息,通过拼接的方式和其他条件进行结合,一并送入模型进行特征融合。从对比结果看,加入全局帧信息以及Canny信息均对视频延展效果有比较明显的提升。
在淘宝电商场景中,商家视频(如主图视频等)时长往往在10s以上,这样的长视频在尺寸延展过程中存在诸多挑战(比如,迭代式生成容易造成时序上的错误累积、推理耗时较长等)。为了解决长视频延展任务中的错误累积问题,即在上百次的推理拼接过程中,前段视频生成的差错可能会累积并影响到后续片段,我们提出了一种混合由粗到细的推理流水线。在这一流水线中,我们首先稀疏地生成一系列关键帧,然后基于这些关键帧填充更多中间结果,最后采用前后引导帧的形式密集的对视频未填充的部分进行填补。此方法的核心优势在于有效地缓解了时序上错误累积的问题。另外,为了使延展结果更加丝滑,在推理阶段我们也尝试了多种后处理策略。首先会将原视频经过帧级别垫图送入模型,在模型延展完成后通过视频超分和原始区域贴回等策略,保证原始内容的一致性以及生成的分辨率。