浅析扩散模型与图像生成【应用篇】(二十四)——Text2Live

news2024/10/5 17:19:54

24. Text2LIVE : Text-Driven Layered Image and Video Editing

  本文提出一种文本驱动的图像和视频编辑方法。与其他方法直接对图像进行编辑的方式不同,本文提出的方法并不是基于扩散模型的,更像是一个自编码器,通过对原图编码解码输出一个新的编辑图层,再与原图进行融合得到编辑后的图像。因此本文提出的方法更多适用于修改图中某个对象的纹理,或者增加一些特效,如火焰、烟雾等,而不能修改物体的动作、布局等等。另一方面,本文将提出的方法应用到了视频的编辑应用中。
在这里插入图片描述
  本文主要完成了如下工作的:

  • 分层编辑,根据输入原图输出一个包含RGBA通道的可编辑图层,并与原图融合后得到编辑图像
  • 显示计算内容保留和定位损失,能够更好的保留原有图像内容不被改变,且能够引导编辑的位置
  • 内部生成先验,通过对输入的图像和文本进行数据增强,从而构建一个内部样本数据集用于生成器的训练

在这里插入图片描述
  我们先来看一下他是如何进行图像编辑的,正如前文所说,将原图 I s I_s Is输入到一个生成器中,输出一个包含RGBA四个通道的可编辑图层 E = { C , α } \mathcal{E}=\{C,\alpha\} E={C,α},其中 C C C表示RGB图像, α \alpha α表示透明度层,将可编辑图层 E \mathcal{E} E与原图 I s I_s Is进行融合,得到编辑后的图像 I o I_o Io I o = α ⋅ C + ( 1 − α ) ⋅ I s I_o=\alpha\cdot C+(1-\alpha)\cdot I_s Io=αC+(1α)Is文中没有明确说生成器是如何实现的,但看起来像是一个自编码器模型,那么如何让生成器输出我们想要编辑的内容呢?这里就需要通过损失函数引入文本条件的引导了。对于一个文本描述 T T T,作者在其基础上提出两个辅助的文本提示: T s c r e e n T_{screen} Tscreen描述了目标编辑层和 T R O I T_{ROI} TROI描述了待编辑的位置。例如, T T T=“fire out of the bear’s mouth”,, T s c r e e n T_{screen} Tscreen =“fire over a green screen”, T R O I T_{ROI} TROI =“mouth”。利用这些文本描述,作者提出了一系列的损失函数,包括内容损失 L c o m p \mathcal{L}_{\mathrm{comp}} Lcomp,绿幕损失 L s c r e e n \mathcal{L}_{\mathrm{screen}} Lscreen,结构损失 L s t r u c t u r e \mathcal{L}_{\mathrm{structure}} Lstructure和一个正则化项 L r e g \mathcal{L}_{\mathrm{reg}} Lreg,总的损失函数如下: L T e x t 2 L I V E = L c o m p + λ g L s c r e e n + λ s L s t r u c t u r e + λ r L r e g \mathcal{L}_{\mathrm{Text2LIVE}}=\mathcal{L}_{\mathrm{comp}}+\lambda_{g}\mathcal{L}_{\mathrm{screen}}+\lambda_{s}\mathcal{L}_{\mathrm{structure}}+\lambda_{r}\mathcal{L}_{\mathrm{reg}} LText2LIVE=Lcomp+λgLscreen+λsLstructure+λrLreg其中内容损失通过计算生成图像特征和文本描述特征之间的余弦距离损失和方向损失,来评估生成结果与文本描述之间的匹配程度 L c o m p = L cos ⁡ ( I o , T ) + L d i r ( I s , I o , T R O I , T ) \mathcal{L}_{{\mathrm{comp}}}=\mathcal{L}_{\cos}\left(I_{o},T\right)+\mathcal{L}_{{\mathrm{dir}}}(I_{s},I_{o},T_{{\mathrm{ROI}}},T) Lcomp=Lcos(Io,T)+Ldir(Is,Io,TROI,T)其中 L c o s = D cos ⁡ ( E i m ( I o ) , E t x t ( T ) ) \mathcal{L}_{\mathsf{cos}} = \mathcal{D}_{\cos} (E_{\mathrm{im}}(I_{o}),E_{\mathrm{txt}}(T)) Lcos=Dcos(Eim(Io),Etxt(T)) D cos ⁡ \mathcal{D}_{\cos} Dcos表示余弦距离, E i m E_{\mathrm{im}} Eim E t x t E_{\mathrm{txt}} Etxt分别表示CLIP中的图像和文本编码器。第二项 L d i r \mathcal{L}_{\mathsf{dir}} Ldir则用于控制在CLIP空间中编辑的方向 L d i r = D cos ⁡ ( E i m ( I o ) − E i m ( I s ) , E t x t ( T ) − E t x t ( T R O I ) ) \mathcal{L}_{\mathsf{dir}}=\mathcal{D}_{\cos}(E_{\mathrm{im}}(I_{o})-E_{\mathrm{im}}(I_{s}),E_{\mathrm{txt}}(T)-E_{\mathrm{txt}}(T_{\mathsf{ROI}})) Ldir=Dcos(Eim(Io)Eim(Is),Etxt(T)Etxt(TROI))
  绿幕损失则是参考了在电影工业中常用的绿幕特效技术,通过将可编辑图层融和到一个纯绿色背景 I g r e e n I_{green} Igreen中,并使其与特定的文本模板匹配, T s c r e e n T_{screen} Tscreen=“{ }” over a green screen L s c r e e n = L cos ⁡ ( I s c r e e n , T s c r e e n ) \mathcal{L}_{{\mathrm{screen}}}=\mathcal{L}_{\cos}\left(I_{{\mathrm{screen}}},T_{{\mathrm{screen}}}\right) Lscreen=Lcos(Iscreen,Tscreen)其中 I s c r e e n = α ⋅ C + ( 1 − α ) ⋅ I g r e e n I_{\mathsf{screen}}=\alpha\cdot C+(1-\alpha)\cdot I_{\mathsf{green}} Iscreen=αC+(1α)Igreen这个损失函数的好处在于它可以直接对所编辑的内容进行监督,而不会影响图像中其他的内容。结构损失 L s t r u c t u r e \mathcal{L}_{\mathrm{structure}} Lstructure则是为了保证所编辑对象的空间布局、形状、感观语义等不发生变化,作者首先利用CLIP中的ViT提取得到 K K K个空间tokens,然后计算这 K K K个tokens之间的自相似矩阵 S ( I ) S(I) S(I) S ( I ) i j = 1 − D cos ⁡ ( t i ( I ) , t j ( I ) ) S(I)_{ij}=1-\mathcal{D}_{\cos}\left(\mathbf{t}^i(I),\mathbf{t}^j(I)\right) S(I)ij=1Dcos(ti(I),tj(I))最后计算输入图像和输出图像的自相似矩阵之间的F范数作为结构损失 L structure = ∥ S ( I s ) − S ( I o ) ∥ F \mathcal{L}_\text{structure}=\left\|S(I_s)-S(I_o)\right\|_F Lstructure=S(Is)S(Io)F
  为了控制所编辑区域的空间范围,作者希望输出的透明度图尽可能的稀疏一些,也就是让大部分的透明度值 α \alpha α全为0,以保证生成的图像 I o I_o Io与原图 I s I_s Is在大部分区域上都是一致的。为了实现这种稀疏的特性,作者使用了L1和近似L0正则化项: L r e g = γ ∣ ∣ α ∣ ∣ 1 + Ψ 0 ( α ) \mathcal{L}_{\mathrm{reg}}=\gamma||\alpha||_1+\Psi_0(\alpha) Lreg=γ∣∣α1+Ψ0(α)其中 Ψ 0 ( x ) ≡ 2 Sigmoid ( 5 x ) − 1 \Psi_0(x)\equiv2\text{Sigmoid}(5x)-1 Ψ0(x)2Sigmoid(5x)1为了实现编辑区域的准确定位,作者还提出一种文本驱动的相关性损失来对透明度图进行初始化。首先按照Chefer等人【1】提出的方法计算相关性图 R ( I s ) R(I_s) R(Is)来粗略的估计图像中与 T R O I T_{ROI} TROI最相关的区域

[1] Chefer, H., Gur, S., Wolf, L.: Generic attention-model explainability for interpret- ing bi-modal and encoder-decoder transformers. In: Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV) (2021)

然后通过最小化下式,来对透明度图 α \alpha α进行初始化 L i n i t = M S E ( R ( I s ) , α ) \mathcal{L}_{\mathsf{init}}=\mathrm{MSE}\left(R(I_{s}),\alpha\right) Linit=MSE(R(Is),α)
  在训练过程中,每次输入一个图像 I s I_s Is和一个文本描述 T T T,然后对图像和文本描述进行数据增强,得到一组训练样本 { ( I s i , T i ) } i = 1 N \{(I_s^i,T^i)\}_{i=1}^N {(Isi,Ti)}i=1N,图像增强包括全局裁剪、颜色变换、反转等,文本增强则使用一系列预定义的文本模板进行采样,例如“a photo of { }”。这就是前文所提到的内部数据集,使用这个小数据集对生成器进行训练,得到对应的编辑结果。
在这里插入图片描述

  了解了本文的图像编辑方式,我们再来简单看一下针对视频的编辑方式。相比于图像编辑,视频编辑需要考虑时间上的连续性,而不是简单的对每张图进行编辑。这里作者使用了一种叫做神经分层图集的方法(Neural Layered Atlases,NLA),NLA将视频分解成一组2D的图集分别表示前景物体和背景图像,每个图集都可以看作是一幅2D的图像。NLA本质上是由多个MLP构成的,给定一个视频中的像素坐标 p = ( x , y , t ) p=(x,y,t) p=(x,y,t) x , y x,y x,y分别表示横纵坐标, t t t表示时间,NLA将其分别转化为前景和背景图集上的二维坐标点以及一个前景的不透明度值。 M b ( p ) = ( u b p , v b p ) , M f ( p ) = ( u f p , v f p ) \mathbb{M}_b(p)=(u_b^p,v_b^p),\mathbb{M}_f(p)=(u_f^p,v_f^p) Mb(p)=(ubp,vbp),Mf(p)=(ufp,vfp)其中 M b ( p ) \mathbb{M}_b(p) Mb(p) M f ( p ) \mathbb{M}_f(p) Mf(p)分别对应背景和前景的映射网络, ( u b p , v b p ) (u_b^p,v_b^p) (ubp,vbp) ( u f p , v f p ) (u_f^p,v_f^p) (ufp,vfp)分别对应背景和前景图集上的坐标点。通过在二维图集上对坐标点进行编辑,并将其反向映射到视频中的像素坐标 p p p,从而实现对视频的编辑。
  本文使用一个预训练好的NLA模型对视频进行分解,然后对2D离散的图集 I A I_A IA进行编辑得到图集编辑层 E A = { C A , α A } \mathcal{E}_A=\{C_A,\alpha_A\} EA={CA,αA},接着使用预训练好的映射网络 M \mathbb{M} M E A \mathcal{E}_A EA进行双线性采样 E t = S a m p l e r ( E A , S ) \mathcal{E}_\mathrm{t}=\mathrm{Sampler}(\mathcal{E}_A,\mathcal{S}) Et=Sampler(EA,S)其中 S = { M ( p ) ∣ p = ( ⋅ , ⋅ , t ) } \mathcal{S}=\{\mathbb{M}(p)\mid p=(\cdot,\cdot,t)\} S={M(p)p=(,,t)}是第 t t t帧图像对应的UV坐标集合。最后将 E t \mathcal{E}_\mathrm{t} Et与原始图像帧做融合得到编辑后的视频。
  与其他当时流行的图像编辑方法,如GLIDE、Blended-Diffusion、CLIPStyler等相比,本文提出的方法在指定物体的编辑效果上有明显的提升。但本文提出的方法需要对每个输入的图像和文本都进行训练,这制约了该方法的应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1673246.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3.使用uView让tabbar更优雅

文章目录 1. 使用uView让tabbar更优雅1.1. 怎么才优雅?1.2. uView的tabbar合适吗?1.3. 引入项目过程1.3.1. 修改pages.json1.3.2. 把demo里面的pages先拷贝过来1.3.3. 引入tabbar的图片1.3.4. 运行 1.4. 我们自己的项目适配 1. 使用uView让tabbar更优雅 …

Nios实验入门——用Verilog编程方式完成LED流水灯显示并使用串口输出“Hello Nios-II”字符到笔记本电脑

文章目录 前言一、Verilog编程方式完成LED流水灯显示1.1 新建工程并添加FPGA芯片1.2 新建.v文件并添加至顶层实体1.3 引脚分配1.4 编译(包含分析与综合)1.5 选择烧录器1.6 添加烧录文件1.7 下载1.8 实验现象 二、Verilog编程方式实现串口2.1 uart_tx.v文件2.2 test.v文件2.3 to…

海外客户开发渠道有哪些

海外客户开发是一个多元化的过程,涉及线上与线下多个渠道。以下是一些有效的海外客户开发渠道: 平台电商: 利用国际B2B电商平台,如阿里巴巴国际站、 Globalsources、Made-in-China等,这些平台拥有庞大的国际买家流量&a…

linux phpstudy 重启命令

[rootLinuxWeb phpstudy]# ./system/phpstudyctl restart 查看命令 1) phpstudy -start 启动小皮面板 2) phpstudy -stop 停止小皮面板 3) phpstudy -restart 重启小皮面板 4) phpstudy -status 查询面板状态 5) phpstudy -in…

速锐得深入解析吉利几何CAN总线数据通信网络的拓扑层级框架技术

在现代汽车工业中,车辆的电子控制单元(ECU)之间的通信至关重要。这种通信大多通过控制器局域网络(CAN)总线实现,它是德国BOSCH公司于20世纪80年代初开发的一种串行数据通信协议。随着技术的不断进步&#x…

平面设计基础指南:从零开始的学习之旅!

平面设计师主要做什么? 平面设计师通过创建视觉概念来传达信息。他们创造了从海报和广告牌到包装、标志和营销材料的所有内容,并通过使用形状、颜色、排版、图像和其他元素向观众传达了他们的想法。平面设计师可以在内部工作,专门为品牌创建…

计算机Java项目|Springboot学生读书笔记共享

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简…

图数据库原理在构建实体血缘关系图中的应用与实践

在当今复杂的数据驱动型应用中,理解和管理实体间的复杂关系变得日益重要。通过低代码平台进行配置的应用,因采用了DSL语言进行统一设计,要让专业开发者和非专业开发者都能快速实现复杂应用的构建,实体之间的数据逻辑和关系梳理就尤…

Android adb shell关于CPU核的命令

Android adb shell关于CPU核的命令 先使用命令: adb shell 进入控制台。 然后,直接在$后面输入下面命令,针对CPU的命令。 cat /proc/cpuinfo | grep ^processor | wc -l 查看当前手机的CPU是几核的。 cat sys/devices/system/cpu/online …

【云原生】Kubeadm搭建K8S

一、部署Kubernetes 实验环境 服务器主机名IP地址主要组件k8s集群master01 etcd01master01192.168.10.100kube-apiserver kube-controller-manager kube-schedular etcdk8s集群node01 etcd02node01192.168.10.101kubelet kube-proxy docker flannelk8s集群node02 etcd03nod…

win server服务器 关闭危险端口 135,137,138,139,445的方法

通过防火墙来控制 打开控制面板 选择检查防火墙状态 选择高级设置 选择入站规则,再新建规则 选择端口,下一步 选择端口应用于啥协议,再指定端口,再下一步 选择阻止连接,下一步 下一步 给规则别名一下,方便…

【谷粒商城】04.快速开发

1.克隆代码 https://gitee.com/renrenio DELLLJL MINGW64 ~/Desktop $ git clone https://gitee.com/renrenio/renren-fast.git Cloning into renren-fast... remote: Enumerating objects: 1965, done. remote: Counting objects: 100% (1965/1965), done. remote: Compress…

齐护K210系列教程(十八)_识别条码

识别条码 联系我们 将识别到的条形码内容打印输出并显示 测试条形码可以到如下网站得到:http://www.jsons.cn/barcode/ 4,课程资源 课程程序下载:【18条形码】 联系我们 扫码 或者点这里加群了解更多! Created by qdprobot

2024年3月 青少年等级考试机器人理论真题四级

202403 青少年等级考试机器人理论真题四级 第 1 题 Arduino UNO/Nano主控板,通过按键开关切换高低电平,电路搭设如下,该电路属于?( ) A:外部上拉电阻电路 B:外部下拉电阻电路 C&a…

Docker 入门篇(八)-- Docker Compose 使用指南

一、Docker Compose 简介 Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 Compose 使用…

Android:资源的管理,Glide图片加载框架的使用

目录 一,Android资源分类 1.使用res目录下的资源 res目录下资源的使用: 2.使用assets目录下的资源 assets目录下的资源的使用: 二,glide图片加载框架 1.glide简介 2.下载和设置 3.基本用法 4.占位符(Placehold…

Linux信号概念,信号的产生异常情况,信号的保存,信号的处理,捕捉信号,可重入函数,volatile,SIGCHLD信号

文章目录 信号的概念谈谈硬件 信号的产生1. 键盘组合键2. kill命令3. 系统调用异常4. 由硬件异常产生信号5. 由软件异常产生信号Core Dump 信号的保存sigset_t信号集操作函数sigprocmasksigpending 信号的处理重谈地址空间 捕捉信号1. 内核如何实现信号的捕捉2. sigaction问题一…

重磅 | 国家标准《网络安全技术 零信任参考体系架构》正式发布

根据2024年4月25日国家市场监督管理总局、国家标准化管理委员会发布的中华人民共和国国家标准公告(2024年第6号),其中易安联参编的国家标准GB/T 43696-2024《网络安全技术 零信任参考体系架构》正式发布,并于2024年11月1日正式施行…

基于Python实现蔬菜水果识别

蔬菜水果识别在农业生产、食品加工和市场销售等领域具有重要意义。随着计算机视觉和机器学习技术的发展,利用图像识别技术实现蔬菜水果的自动化识别已成为可能。 目录 引言研究背景问题陈述研究目标文献综述蔬菜水果识别的相关研究概述基于计算机视觉和机器学习的图像识别方法…

SCQA表达模型:让你的表达更具吸引力(2)

一、引言 站在巨人的肩膀上,思维模型是前人智慧结晶,当我们面对相似挑战时,借鉴与模仿这些模型,往往能为我们带来意想不到的结果。 在信息爆炸的时代,如何高效、准确地传达信息成为了人们关注的焦点。SCQA表达模型作为…