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

Stable Diffusion基础:ControlNet之图片高仿效果

今天继续给大家分享AI绘画中 ControlNet 的强大功能,本次的主角是 Reference,它可以将参照图片的风格迁移到新生成的图片中,这句话理解起来很困难,我们将通过几个实例来加深体会,比如照片转二次元风格、名画改造、AI减肥成功图片制作、绘本小故事等等。

还有之前看很多文章说,Reference 可以一定程度上代替Lora,真的是这样吗?今天也来一探究竟。

基本使用

我这里有一张提前生成好的美女图片,现在就用她来实测 Reference 的控制效果。

下面开始生成:

首先是选择一个大模型,这里使用的是和上面生成图片相同的模型:realisticVisionV20;

然后我们填写一些简单的提示词,以免出现一些不太方便的图。这里故意没有使用生成参考图片时的提示词,因为提示词会影响出图效果,就看不出来 Reference 的复刻效果了。

这是我的一些模型生成参数,大家可以参考,没必要完全按照这个来。

最最重要的就是 ControlNet 的设置,如下图所示:

  • 上传参考图片
  • 启用 ControlNet
  • 勾选完美匹配像素
  • 选择 Reference

注意这个 ControlNet 只有一个预处理器,它可以从参考图中提取图片的特征信息,用于生成控制。

Reference 还有一个 Style Fidelity 参数,翻译过来就是风格忠实度,越小越接近使用的大模型的风格,越大越接近参考图的风格,但是越大可能出现图片崩坏的情况,0.5是个平衡值。

然后就可以生图了,看一下效果:

以我个人的眼光,只能说:人物的形态、整体构图是复制出来了,但是气质还是差那么一点的。

局部绘制

很多分享 Reference 技术的文章还提到,Reference 可以起到一定的 Inpaint 效果,那么这里也来看下效果如何。这里的局部重绘是通过提示词发生作用的,下面是几个例子:

裙子变成黑色:1girl, white shirt, ((black skirt)),提示词权重要高一些,否则不容易扭转过来。人物姿态和背景都没啥大变化,裙子也变成了黑色,只是有一张用力过猛,上衣颜色也变了。

黑发变成金色:1girl, white shirt and dress, ((golden hair))。人物姿态和背景都没啥大变化,头发变成金色的了,人脸也没变成外国人。

把背景换成公园:1girl, white shirt and dress, ((the background is park))。背景更换成功,同时人物姿态和衣服颜色都没啥大变化。

不同模型

上边的参考图片和生成图片使用的是同一个大模型,测试结果难免会有说服力不够的问题,下图是我使用三个模型做的对比测试,每个模型使用 Reference 生成两张图片。

提示词还是这个:1girl, white shirt and dress, 其它参数都保持不变。

可以看到,人物的形态、背景、色彩搭配等都被迁移到了新生成的图片中,当然这些图片也还会受到基础模型的很大影响,渲染的笔触、人物的五官都受到模型的紧密约束。

到这一步,你能说 Reference 是 Lora 吗?它能代替 Lora 吗?我认为它们是有很大的不同的。

控制参数

Reference还有一些控制参数,这里给大家看下效果。

为了方便演示,我这里专门生成了一张连环画风格的图片作为参考图:

然后生成图片的大模型选择的是二次元模型 AnythingV5。

Style Fidelity

值为 1 的效果:色彩更偏重参考图。

值为 0 的效果:色彩更偏重模型。

预处理器

这里有三个预处理器:

  • Reference only:生成与参考图类似的风格和脸部。
  • Reference adain:使用 AdaIN 风格迁移算法,结果可能偏离参考图;
  • Reference adain+attn:综合 only 和 adain 方法。

Reference only 我们已经看过了,分别看下另外两个的效果。

Reference adain:确实更接近模型,颜色和脸型的变化特别明显,更加偏重 Anything 的二次元风格。

Reference adain+attn:介于模型风格和参考图风格之间。

用途示例

风格转绘

比如各大短视频平台比较流行的照片转动漫风格,可以在“图生图”中上传一张真实照片,然后使用动漫风格的大模型加上 Reference 进行重绘。下图的效果,提示词只要一个简单的:1girl,重绘强度控制在0.4以下即可。

名画改造

这是利用了 Reference 的局部重绘能力。在“图生图”中使用如下提示词:

女人和猫咪:A woman and a cat

背景改长城:A woman, the background is Badaling Great Wall

注意重绘幅度调整到0.4-0.6。

减肥成功

一个AI减肥成功的故事,还是利用了 Reference 的局部重绘能力。

大模型使用realisticVisionV20_v20,参数参考:

A strong man lifts up his shirt, eight-pack abs, strong chest muscles, and biceps.
Negative prompt: EasyNegative
Steps: 30, Sampler: DPM++ 2M SDE Karras, CFG scale: 7, Seed: 1734015608, Size: 512x768, Model hash: c0d1994c73, Model: realisticVisionV20_v20, Denoising strength: 0.75, Clip skip: 2, Style Selector Enabled: True, Style Selector Randomize: False, Style Selector Style: base, ControlNet 0: "preprocessor: reference_adain+attn, model: None, weight: 1, starting/ending: (0, 1), resize mode: Crop and Resize, pixel perfect: True, control mode: My prompt is more important, preprocessor params: (-1, 0.5, -1)", TI hashes: "EasyNegative: c74b4e810b03", Version: v1.5.1

如果感觉脸不像,可以使用 roop 插件处理下,使用方法参见我另一篇教程:真人AI写真的制作方法-文生图换脸

绘本小故事

故事情节

小女孩走在放学回家的路上,步履匆匆;

她在路边发现了一只受伤的狗子,表情痛苦,怎么办呢;

小女孩一咬牙,抱着狗子来到了医院;

狗子得到了救治有点开心,女孩花光了钱有点不高兴;

小女孩和狗子欢快的走在回家的路上,因为他们成了好朋友。

狗子从此有了一个家。

制作方法:

提前生成一张女孩的图片,然后使用 Reference 加不同的提示词生成不同的图片。

这里使用的大模型是 toonyou_beta3。

资源下载

本文使用的模型、插件,生成的图片,都已经上传到了我整理的SD绘画资源中,后续也会持续更新,如有需要,请/关/注/公/众\号:萤火遛AI(yinghuo6ai),发消息:SD,即可获取下载地址。


以上就是本文的主要内容了,如有问题,欢迎给我留言沟通交流。

如果你还没有使用过Stable Diffusion WebUI,可以先看这几篇文章,了解下如何使用:

手把手教你在本机安装Stable Diffusion秋叶整合包

手把手教你在云环境炼丹(部署Stable Diffusion WebUI)

SDXL 1.0出图效果直逼Midjourney!手把手教你快速体验!

相关文章:

Stable Diffusion基础:ControlNet之图片高仿效果

今天继续给大家分享AI绘画中 ControlNet 的强大功能,本次的主角是 Reference,它可以将参照图片的风格迁移到新生成的图片中,这句话理解起来很困难,我们将通过几个实例来加深体会,比如照片转二次元风格、名画改造、AI减…...

TCGA数据下载推荐:R语言easyTCGA包

#使用easyTCGA获取数据 #清空 rm(listls()) gc() # 安装bioconductor上面的R包 options(BioC_mirror"https://mirrors.tuna.tsinghua.edu.cn/bioconductor") if(!require("BiocManager")) install.packages("BiocManager") if(!require("TC…...

JLSX 模版指令导出Excel

1. 官方相关链接 官网:https://jxls.sourceforge.net/reference/if_command.html JxlsAPI: https://jxls.sourceforge.net/javadoc/jxls/index.html Jxls POI: https://jxls.sourceforge.net/javadoc/jxls/index.html Jxls JExcel&#xff1…...

【制作npm包3】了解 tsconfig.json 相关配置

制作npm包目录 本文是系列文章, 作者一个橙子pro,本系列文章大纲如下。转载或者商业修改必须注明文章出处 一、申请npm账号、个人包和组织包区别 二、了解 package.json 相关配置 三、 了解 tsconfig.json 相关配置 四、 api-extractor 学习 五、npm包…...

【0基础入门Python笔记】一、python 之基础语法、基础数据类型、复合数据类型及基本操作

一、python 之基础语法、基础数据类型、复合数据类型及基本操作 基础语法规则基础数据类型数字类型(Numbers)字符串类型(String)布尔类型(Boolean) 复合数据类型List(列表)Tuple&…...

2023-08-18力扣每日一题

链接: 1388. 3n 块披萨 题意: 一个长度3n的环,选n次数字,每次选完以后相邻的数字会消失,求选取结果最大值 解: 这波是~~(ctrl)CV工程师了~~ 核心思想是选取n个不相邻的元素一定…...

mac M1安装opencv方法及类型报错解决

安装opencv: pip install opencv-python pip install --user opencv-contrib-python pip install opencv-python 4.5.2.54 numpy 1.25.2 安装过程中报错如下: python-类型错误:“numpy._DTypeMeta”对象不可下标 TypeError: ‘numpy._DTypeMeta’ obje…...

Screen终端管理工具

文章目录 Screen终端管理工具背景nohup介绍screen介绍安装screen查看终端新建终端退出终端进入终端删除会话帮助命令 总结 Screen终端管理工具 背景 对大佬只有膜拜,可能永远无法超越,在工作交接中大佬用到了一个screen启动了程序,这是什么…...

【python自动化办公】PysimpleGUI官网案例全部项目代码文件及运行截图

PysimpleGUI官网案例全部项目代码文件及运行截图 0 项目文件整体预览窗口1 pysimpleGUI下面所有元素2 pysimpleGUI下面所有元素示例3 加载多GIF图片4 使用PIL进行动态图片加载5 自动保存关闭时窗口位置信息6 绘制柱状图7 图像编码18 图像编码29 无边界窗口10 设置图片按钮11 按…...

9.处理this和防抖、节流

9.1 this指向-普通函数 普通函数的调用方式决定了this的值,即【谁调用this的值 指向谁】 普通函数没有明确调用者时this值为window,严格模式下没有调用者时this的值为undefined 9.2 this指向-箭头函数 箭头函数中的this与普通函数完全不同&#xff0…...

Spark操作Hive表幂等性探索

前言 旁边的实习生一边敲着键盘一边很不开心的说:做数据开发真麻烦,数据bug排查太繁琐了,我今天数据跑的有问题,等我处理完问题重新跑了代码,发现报表的数据很多重复,准备全部删了重新跑。 我:你的数据操作具备幂等性吗? 实习生:啥是幂等性?数仓中的表还要考虑幂等…...

【可变形卷积3】 DCNv2 安装

使用RTM3D 代码,CenterTrack代码需要用DCN 1、安装DCNv2 (1)github上最新版的DCNv2源码在"https://github.com/CharlesShang/DCNv2",但是该版本源码不支持PyTorch1.7,如果使其支持PyTorch1.7需要做以下修改…...

归并排序 与 计数排序

目录 1.归并排序 1.1 递归实现归并排序: 1.2 非递归实现归并排序 1.3 归并排序的特性总结: 1.4 外部排序 2.计数排序 2.1 操作步骤: 2.2 计数排序的特性总结: 3. 7种常见比较排序比较 1.归并排序 基本思想: 归并排序(MERGE-SORT)是建立在归并操作上的一种…...

机器学习之逻辑回归

import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression # 获得数据 names[Sample code number,Clump Thickness,Uniformity…...

操作符详解上(非常详细)

目录 二进制介绍二进制2进制转10进制10进制转2进制数字2进制转8进制和16进制2进制转8进制2进制转16进制 原码、反码、补码移位操作符左移操作符右移操作符 位操作符:&、|、^逗号表达式 二进制介绍 在初学计算机时我们常常会听到2进制、8进制、10进制、16进制……...

React 高阶组件(HOC)

React 高阶组件(HOC) 高阶组件不是 React API 的一部分,而是一种用来复用组件逻辑而衍生出来的一种技术。 什么是高阶组件 高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。基本上,这是从 React 的组成…...

【NepCTF2023】复现

文章目录 【NepCTF2023】复现MISC与AI共舞的哈夫曼codesc语言获取环境变量 小叮弹钢琴陌生的语言你也喜欢三月七么Ez_BASIC_IImisc参考 WEBez_java_checkinPost Crad For You独步天下配置环境独步天下-镜花水月环境变量提权 独步天下-破除虚妄总结 独步天下-破除试炼_加冕成王知…...

大文件切片上传

创建组件&#xff1a;创建一个组件用于处理文件上传&#xff0c;命名为Upload.vue。 <template><div><input type"file" change"handleFileChange" /><button click"startUpload">开始上传</button></div> …...

ubuntu切换python版本

在没有安装类似anoconda的管理工具的时候&#xff0c;我们常常会被Ubuntu下的Python版本切换问题所头疼。 可以使用update-alternatives工具进行python版本的任意切换 当使用update-alternatives工具来切换Ubuntu系统上的Python版本时&#xff0c;您实际上是在系统范围内选择…...

docker 安装 elasticsearch、kibana 7.4.2

切换root 用户 su root 拉起镜像 docker pull elasticsearch:7.4.2 docker pull kibana:7.4.2 #1、创建Elasticsearch配置文件夹 mkdir -p /mydata/elasticsearch/config ​ #2、创建Elasticsearch数据文件夹 mkdir -p /mydata/elasticsearch/data #3、创建Elasticsearch插件…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...