当前位置: 首页 > news >正文

基于diffusion的图像编辑与inpaint

图像编辑与inpaint

基于diffusion的图像编辑有很多类别,但从我已知的角度来看,主要可以分为三大主要类别语义编辑风格编辑结构编辑。以下是这三种类任务主要的内容:

语义编辑:对象的添加,移除,替换等。例如将照片中的猫换成狗。

风格编辑:修改整体颜色,或者换成制定风格。例如最近比较火的gpt4o生成吉卜力风格图片。

结构编辑:生成新视角,或者修改目标姿态等。

整体而言,图像编辑任务属于一种img2img的任务。其中,inpaint作为一种可以修复制定区域的方法,在上述三种领域中均有不同程度的参与。下面我们将大致讲解下inpaint的原理。

diffusion中inpaint的实现方案

inpaint的输入主要有三个:1. 原始图像 2. mask 3. 需要修复区域的描述,输出就是修复好的图片。由于本人不太了解prompt的设计,因此本文重点关注Inpaint(图像修复) 的实现方案中如何将 Mask(蒙版) 信息注入到模型中,并引导生成过程修复指定区域。以下是两种主流的实现方案:

  1. 直接重新训练一个inpaint模型
  2. 垫图,在生成过程中,非mask区域混合一定比例原图的latent,逐步进行引导。
  3. 用controlnet引导inpaint

下面大致介绍下三种方案的实现路线

重新训练一个inpaint模型

多数模型会选择拓展通道的方式来将mask与原始图像拼接在一起,送入模型并输出最后的结果。例如stable diffusion的inpaint模型中,会将原市的4通道(图像)拓展为9通道(图像+mask后的图像+mask),并以该输入为基础训练模型,最后得到的模型便可以支持inpaint。

优点:效果好,思路简单直接

缺点:直接微调整个模型,算力消耗较大

垫图

垫图的主要思路就是仅在不需要修复的地方拿原图的latent做引导。说白了就是把latent以一定的比例混合进去。需要修复的地方则直接生成,反正有prompt引导,最后生成的结果也不会差。

优点:无需训练模型

缺点:可能生成不够自然,需要调整非mask区域latent混合比例(也可以说是引导强度)

基于controlnet的inpaint

就是构造了一个contolnet,此处不再过多介绍。

相关文章:

  • mysql数据库之备份
  • 【PhysUnits】13 减法操作(sub.rs)
  • 右键管理工具,让你电脑实用更加顺滑!
  • 第11次课 while循环
  • 第三方检测机构如何凭借专业公正保障软件质量?资质有哪些?
  • 深入解析Java组合模式:构建灵活树形结构的艺术
  • PostgreSQL windows安装
  • 【AI Study】第三天,Python基础 - 同NumPy类似的类库
  • Global Securities Markets 第二章知识点总结
  • 英语六级-阅读篇
  • 嵌入式学习 D27:系统编程--进程
  • ind_knn_ad环境搭建和运行【用自己的数据集】
  • MySQL(36)如何使用CASE进行条件表达式?
  • dify_plugin数据库中的表总结
  • Typescript学习教程,从入门到精通,TypeScript 进阶语法知识点及案例代码详解(13)
  • 【解读—论文】引导性掩码表示学习以捕捉心电图的时空关系
  • 前端面试宝典---项目难点1-leaflet大数据量渲染优化
  • MATLAB在逐渐被Python淘汰吗
  • 计算机系统简介(一)
  • 《计算机组成原理》——第二章-10 现代计算机的总线结构
  • 网络项目/百度刷seo关键词排名
  • 杨凌开发建设局网站/google排名
  • 如何做网站关键字优化/微信朋友圈广告投放
  • 网站开发 岗位职责/seo系统培训
  • 河南建设银行官方网站/青岛seo优化
  • 全面启动门户网站建设/网站制作公司官网