最新版本 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应用中.它提供了巨大的灵活性而不牺牲 ...
随机推荐
- 测试Lock锁
package com.company;import java.util.concurrent.locks.ReentrantLock;//测试Lock锁public class TestLock i ...
- 3Des加密解密,java c#通用。
1.需要实现对其他系统的单点登陆,我们实现的方法很简单,就是将当前系统的账号通过加密去获取 需要直接登陆上的系统的token,然后访问需直接登陆的系统就带着token,就相当于登陆了. 2.然后呢,我 ...
- jmeter性能测试小小实践
一.测试步骤 测试计划 / 线程组 / http请求 / 监听器 / 运行脚本 / 查看报告 二.线程组 线程组:虚拟用户数 ramp up period:设置虚拟用户数需要多长的时间全部启动,如果线 ...
- Vue3 向window注入方法 TS警告 元素隐式具有 "any" 类型,因为索引表达式的类型不为 "number" 问题解决。
window['funcName'] = function(){}; // 'funcName'会标红警告 (window as any).funcName = function(){}; // 正确 ...
- algorithm learning for Leetcode (1)
Leetcode 算法学习(一) 前言:最近学校要求必须学习C++,着重提升技能板块.为了快速升级,我在GitHub上发现了一个开源的学习号召: https://labuladong.github.i ...
- Ensemble learning A survey 论文阅读
Ensemble learning A survey是2018年发表的一篇关于集成学习的综述性论文 发展 在Surowiecki的书中The Wisdom of Crowds,当符合以下标准时,大众的 ...
- [问题解决]Win32- OPENFILENAME 结构体报错或者找不到情况
问题:OPENFILENAME结构体.GetOpenFileName()和 GetSaveFileName()函数都找不到了,在头文件<framework.h>中已经包含<windo ...
- SpringCloud之旅
现在大部分公司的项目架构都选择了微服务,我们公司也不例外,那么什么是微服务呢?今天就来开启SpringCloud之旅! SpringCloud是基于SpringBoot的一整套的微服务架构.他提供了微 ...
- JavaScript 字符串和正则相关的方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 廖雪峰python教程
来源于廖雪峰博客园python教程 8-25 编程语言分类 机器语言 计算机内部只能接受二进制代码,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程 ...