最新版本 Stable Diffusion 开源 AI 绘画工具之图生图进阶篇
图生图基本参数
- 图生图功能主要包括六大类:
图生图 / img2img、涂鸦绘制 / sketch、局部绘制 / inpaint、局部绘制之涂鸦蒙版 / inpaint sketch、局部绘制之上传蒙版 / inpaint upload、批量处理 / batch - 而图生图的基本参数包括但不限于以下几种:
- Resize mode: 缩放模式,包括
拉伸/Just resize、裁剪/crop and resize、填充/resize and fill、仅调整大小(潜空间放大/just resize (latent ipscale),缩放模式指的是当原图和要生成的图的宽和高不一致的时候,选择的缩放模式,一般选择裁剪,如果原图和生成图的宽高一致的时候,选择任意均可 - Mask blur: 蒙版模糊度,在
0-64之间调节,就是将我们涂抹区域,从边缘向中间透明过渡。数值较小的时候,边缘越锐利,所以一个合适的值会让图片看起来更真实,数值一般默认即可 - Masked content: 蒙版蒙住的内容,包括
填充/fill、原图/original、潜在噪声/latent noise、无潜在空间/latent nothing。这是一种预处理的步骤,其中填充是指使用蒙版边缘图像的颜色填充,不过颜色已经被高度模糊;原图则是同原图一样不改变任何细节;而潜在噪声则是使用噪点进行填充;而无潜在空间就是噪点值为0的状态,可以看到只有原图保留了原来的画面,所以一般选择原图即可 - Mask transparency: 蒙版的透明度,一般默认为0,即不透明,因为透明度越高,AI发挥的空间越小,基本上当透明度大于60,预处理就会失去作用
- Mask mode: 蒙版模式,包括
绘制蒙版内容/inpaint masked、绘制非蒙版内容/inpaint not masked,这个很好理解,选择第一个就是只在蒙版区域重绘,另一种则相反,正常一般默认第一个即可 - Inpaint area: 绘制区域,包括
全图/whole picture、仅蒙版/only masked。全图重绘是指在原图大小的基础下绘制蒙版区域,优点就是内容与原图融合的更好,缺点是不够细节;而蒙版重绘是只处理的时候将蒙版区域进行放大到原图的尺寸,画完之后再缩小放到原图的相应的位置,优点就是细节更好,缺点也是细节太多,与原图融合的不够好 - Denoising strength: 重绘强度,默认0.75,低强度就是基本不重绘,越高重绘越强,融合越不好,所以默认即可
- 虽然图生图的参数比较多,但大多数的时候,我们选择默认即可,因为很多时候,只需要正确的选择而非过多的选择,个人也仅仅设置一下缩放模式、采样器、采样步骤和宽高进行出图

图生图(img2img)
- 可以根据你上传的图片生成一张在原图基础上创作的新图片
- 可以通过修改
Prompt去自定义想要的结果图片,比如白色头发,红色眼睛等等

涂鸦绘制(Sketch)
- 在原图基础上涂鸦后,进行二次创作,这是最基础的用法,当然也可以进行线稿的上色
- 模型要选择好,如果想要生成二次元的,记得选择二次元模型,下图测试选择的是真人模型
- 在进行线稿上色的时候,设置 缩放模式为裁剪 采样器是
DPM++ 2M Karras采样步骤设置的是30脚本Script中选择是图像迭代Loopback迭代次数设置成多少生成的图片就是多少张,一般设置2-4,防止显卡撑不住 最终的重绘强度Final denoising strenght设置成了0.88重绘曲线选择Linear迭代中反推提示词选择DeepBooru,生成的最终图片效果还是很棒的

局部绘制(Inpaint)
- 在局部绘制中,我们只需要将需要重绘的地方圈出来,然后加上
Prompt提示词即可 - 其中蒙版的黑色画笔并不是一种真的颜色,它是一片代表透明(不可见)属性的区域
- 比如,将图片中的女生头发换成一头白发,只需要将图片上的头发区域涂上蒙版,然后在
Prompt中输入white hair提示词即可 - 当然这里只作为测试,如果想要更好的效果,自己设置更多的
Prompt进行描述,除了头发,其他任何区域都可以进行重绘

涂鸦蒙版(Inpaint sketch)
- 相比于局部重绘,多了一个蒙版透明度的配置,这是因为这里的蒙版是可以自定义颜色的
- 在局部绘制中画笔只有黑色,而在涂鸦蒙版中蒙版的颜色会影响到原图,选择什么颜色最终重绘都会往这个颜色上靠
- 蒙版透明度按照需要颜色的程度调节,最好不要超过40
- 比如将动漫女生衣服换成红色的旗袍,只需要将衣服用红色的画笔涂抹,然后在
Prompt中输入中国旗袍的英文解释即可,因为涂鸦蒙版的颜色是会影响到原图的,所以如果是用蓝色涂抹衣服,最终将会生成蓝色的旗袍

上传蒙版(Inpaint upload)
跟涂鸦蒙版其实差不多,只是上传的蒙版需要借助其他工具如PS的处理,相比直接手涂肯定是更精确
上传蒙版的蒙版在制作时可以设置部分透明的效果(不同程度的灰),还有边缘的羽化等等。此时需要注意具有相同效果的蒙版模糊的使用
需要注意的一点是,在上传蒙版中,白色代表重绘,黑色代表不处理。也不用细分,如果弄错了,在蒙版模式中选择重绘非蒙版就可以
为了方便测试,就将图片放到涂鸦蒙版中,用黑白两色把原图进行圈出,截图上传到上传蒙版中了,顺便加了
Prompt的参数是天空、建筑物、人物等,可以看出AI只在白色区域进行了重绘,而圈出的黑色是没有重绘的还有最后一个批量处理功能,用的不多,也不用讲太细,只要输入图片所在目录路径、图片处理后保存的路径以及蒙版路劲即可批量处理

最新版本 Stable Diffusion 开源 AI 绘画工具之图生图进阶篇的更多相关文章
- 基于Docker安装的Stable Diffusion使用CPU进行AI绘画
基于Docker安装的Stable Diffusion使用CPU进行AI绘画 由于博主的电脑是为了敲代码考虑买的,所以专门买的高U低显,i9配核显,用Stable Diffusion进行AI绘画的话倒 ...
- AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...
- SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践
一. 前言 日志对于一个程序的重要程度不用过多的言语修饰,本篇将以实战的方式讲述开源微服务全栈项目 有来商城 是如何整合当下主流日志解决方案 ELK +Filebeat . 话不多说,先看实现的效果图 ...
- 【我的Android进阶之旅】如何快速寻找Android第三方开源库在Jcenter上的最新版本
问题描述 解决方法 先了解compile comsquareupokhttpokhttp240的意义 了解Jcenter和Maven jcenter Maven Central 理解jcenter和M ...
- 阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布
导读:新版本主要有三大变化:同步了 OpenJDK 上游社区 jdk8u222-ga 的最新更新:带来了正式的 feature:G1ElasticHeap:发布了用户期待的 Windows 实验版本 ...
- 全链路监控系统开源Pinpoint入门视频教程(最新版本1.8)
pinpoint支持的模块 源码:https://github.com/naver/pinpoint技术概述:https://skyao.gitbooks.io/learning-pinpoint/c ...
- AI 也开源:50 大开源 AI 项目 (转)
这些开源AI项目专注于机器学习.深度学习.神经网络及其他应用场合. 自IT界早期以来,研制出能像人类那样“思考”的机器一直是研究人员的一大目标.在过去几年,计算机科学家们在人工智能(AI)领域已取得了 ...
- 【转】Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
http://blog.csdn.net/ccf19881030/article/details/9204801 很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs20 ...
- Linux(Fedora)下NodeJs升级最新版本(制定版本)
Linux(Fedora)下NodeJs升级最新版本(制定版本) 首先安装n模块: npm install -g n 升级node.js到最新稳定版 n stable 升级node.js到制定版本 n ...
- 关于最新版本的log4net使用中遇到的问题
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...
随机推荐
- 模拟法NOIP题单
模拟算法的试题训练, 重点针对试题分析环节的练习锻炼!! 考察阅读能力.分析能力.建模能力! 模拟法题目是最基础的题目,她不难,她复杂,她的实现往往需要足够的细心耐心! 练习这类题目能够使你掌握其他算 ...
- JAVA 学习打卡 day3
2022-04-25 22:53:16 1.运算符 表达式是由操作数与运算符所组成Java中的语句有很多种形式,表达式就是其中一种形式.表达式是由操作数与运算符所组成,操作数可以是常量.变量也可以是方 ...
- C语言基础编程题
//1.ASCII码值 ->相应字符 #include <stdio.h> int main() { int asc; scanf("%d",&asc); ...
- Windows安装使用Chocolatey 包软件管理(类似 rpm , yum, brew , apt-get 包管理器工具)
Windows也能像Linux或者Mac那样命令行安装管理软件了,,,真的太方便了 下载安装 使用window powershell 用管理员运行 Set-ExecutionPolicy Bypass ...
- QT网络编程【一】
1.QUdpSocket头文件无法识别怎么解决? 问题原因:qmake没有添加network的模块.在工程配置文件中添加配置即可. 2.选择c++的socket库还是QUdpSocket? 3.同样的 ...
- python读书笔记-网页制作
socket()函数 Python 中,我们用 socket()函数来创建套接字,语法格式如下: Socket 对象(内建)方法 Python Internet 模块:
- 持续集成环境(6)-Tomcat安装和配置(编写中)
安装Tomcat8.5 把Tomcat压缩包上传到tomcat服务器(tomcat专用服务测试服务器.生产服务器) yum install java-1.8.0-openjdk* -y wget ht ...
- JavaScript 函数的方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- vue打包记录
这里的确是css以及js文件的路径问题,但解决时并不需要手动改路径或者加一段判断去修改,最方便的办法时在项目打包前的vue.config.js里面将publicPath属性添加或者修改为 public ...
- 关于一维数组传入函数的使用 //西电oj214题字符统计
#include<stdio.h> void count(char str[],int num[]){//形参用[],传递数组首地址后可以直接正常用数组str[i] int i; for( ...