Stable Diffusion UI 从安装到实现文字图片融合(光影字,错觉图)图片制作详细教程

news2025/1/16 13:49:24

前言

最近在实践大模型本地部署,前几天在本地部署了一个ChatGLM大模型,刚好环境搭好了,也支持跑Stable Diffusion,所以就安装了再尝试一下。

原因是之前在B站上有大佬做了一个Windows电脑能一键运行的Stable Diffusion的安装包,自己也下载下来玩了一下,因为刚接触上手难度比较大,玩了一下放弃了。这两天随着SD XL 发布,看到能毫秒级地文字生成图片,还有cloudflare 有免费的服务提供,太震撼了,所以想动手做一些实际的东西出来分享一下。

对于没有接触过的同学通俗地来说Stable Diffusion 是一个开源的图像生产+调整工具,接下来我会从怎么安装Stable Diffusion到做一个文字图片融合的示例。

安装

首先是安装Stable Diffusion (安装包文末领取)
我自己的环境是Linux环境,通过脚本安装的形式来启动网页工具,大多数人应该是Windows 环境,通过下载安装包的形式启动网页工具,这里不会介绍每个专业关键字的具体解释,但是会以新手角度顺便会说一下我遇到的问题

根据项目介绍下载安装脚本,执行安装脚本: img.png

有些依赖软件我已经安装,这里我会根据官方提示下载一些相关依赖:

sudo apt install  libgl1 libglib2.0-0

wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh
sh webui.sh

执行安装脚本过后运行,开始的会报一个错,我是用root 权限执行的,会报错: img_1.png

需要把这个webui.sh 执行权限改为非root 用户并以非root 用户运行 ,就是这样:

img_2.png 此时可以看起来没有问题了,实际上没有开放到内网机器访问,监听的是127.0.0.1 ,需要成0.0.0.0就需要给webui.sh加上参数才行,我还有一些其他的需求就是打开web ui的扩展权限和访问权限验证,就是下面这样:

bash webui.sh --listen --enable-insecure-extension-access --gradio-auth root:123456 

还可以增加其他参数达到相应其他的功能,可以去查找官方相关资料。
效果: img_3.png 现在就可以通过内网机器访问这个机器部署的Stable Diffusion的服务了:
img_4.png img_5.png 此时的webui截图是我安装一些插件的之后截图,接下来需要安装一些插件:
img_6.png

首先安装一个中文插件 扩展两种安装方式,第一种就是通过内置插件安装
没安装搜这个zh
安装过后就翻译搜不到了,搜中文img_10.png 点击安装,这里应该也可以可以直接通过网址安装
注意要在设置里面设置重启UI才能生效
img_11.png

还需要装一个模型浏览工具 :C站浏览器插件 img_12.png 点击安装就可以
第二种是通过网址安装: img_7.png

这里我通过这个网址安装了:
1.控制网络(ControlNet插件)(github.com/Mikubill/sd…
对图片进行精细化控制,以生成更具创意和控制力的图像 文字图片融合的核心插件

2.sd_civitai_extension (github.com/civitai/sd_…
C 站的官方扩展,可以自动下载模型,获取模型信息,检查模型更新,自动下载缩略图的能力

3.C站浏览器插件 (github.com/BlafKing/sd…
C站就是著名的AIGC模型库网站,跟著名的Hugging Face一样的网站,但是C站有很多不可描述的东西,被墙了

通过网址安装就用 git 项目地址点击安装就行了
img_8.png

注意:所有的插件安装完成都需要在设置里面点击 ”保存设置“ 和 “重启WebUI” img_13.png

下载模型

使用C站浏览器插件 下载模型 这里推荐一个模型(下了很多模型还没来得及测试):

majicMIX realistic 麦橘写实

img_14.png

用于生成逼真的人物肖像底层模型

底层模型是模型生成图像所必需的,是模型的核心部分,可以相当于说基础数据集。

直接完成就能自动进入左上角的Stable Diffusion 模型(ckpt) 选项切换就行了
img_25.png

画图

这里我使用的是 majicmixRealistic 这个底层模型 生成一个人物

需要提示词prompt提示词,找了一些prompt社区里面的关键词
正面提示:

 jk_lure_dress3,8k,(realistic:1.1), (photorealistic:1.1), (masterpiece:1.1), (best quality:1.1), RAW photo, highres, ultra detailed, High detail RAW color photo,professional photograph,masterpiece, best quality,realistic,realskin,1girl,low_key,solo,lighting,long hair ,full body, standing,classroom, beautiful detailed eyes,natural lighting,, (detailed face:1.2),extremely beautiful face,

负面:

white background, simple background, (ng_deepnegative_v1_75t), (badhandv4), (worst quality:2), (low quality:2), (normal quality:2), lowres, watermark, monochrome

我这里生成的人物素材是全身的,所以宽度我设置的是512,高度是1024,批次数量测试的时候就1个,几秒一个图,调好了话就一次多生成几个图,就选择每批次4-8个。

随机种子-1 就是完全随机,想要生成的图片一致,把相关参数分享出去让别人生成一样的图片,这个随机种子参数就不能设置成-1。

Stable Diffusion有很多采样器类型,稍微查了一下资料,是指一种指用于生成图像的算法,对图像质量,速度,艺术风格有关,我这里使用DPM++ SDE Karras,

img_17.png

需要选中启用,显存小启用现存优化,然后开启预览,看下设置下面点击爆炸icon 预览是否正确

然后最重要的是控制网络这里,需要上传一个图片到控制单元0,注意白底黑字就要选择预处理器第一个反色处理,黑底白字就可以选择最后一个仅重采样,然后点击一下预处理器和模型中间 爆炸的图片 查看预览 是否图片有正常的字显示

这个图片可以自己在windows 电脑画图中画一个 img_19.png 大概流程新建图片,插入文字,调整字体和大小,裁剪,保存,图片中字体位置 代表了融入图片的大概的位置,尽量居中,控制留白位置来控制在融入图片的位置,我这里是基本占满图片的设计

然后设置非常重要的三个参数 ,控制强度,控制介入开始时间和结束时间。这三个参数代表控制网络对图片影响
控制强度为 1.0 控制网络对生成图像的影响最大 ,字就最明显,控制强度为 0就不会有任何影响,所以这个参数应该在0.5到0.8之间, 开始时间和结束时间就是在控制强度正常的情况下对于随机图片元素的效果的影响。控制介入时机越晚,控制网络的影响就越晚开始,生成的图像就越随机,控制结束时机越晚,控制网络的影响就越晚结束,生成的图像就越随机,相反就反之。

这里大概三个参数分别差不多就在0.7,0.2,0.7这附近,可以根据自己的测试调整

这里测试了几个字,字的笔画复杂度 和粗细 和控制网络参数有一定关系,需要自己反复调整: img_20.png

测试

除了字,还有网上特别火的图片背景融入的例子自己也测了一下,看看效果: img_21.png img_24.png
title.png
效果还不错,生成的十张图片可以挑选出1到3张非常完美的图片出来,因为有一定几率会出现眼睛,手指有问题的现象的情况,找到有几种解决方案还没来得及尝试。

Stable Diffusion 还有很多内容没有研究,实际上互联网上的真实有用案例教程还是很少的,需要自己去钻研,大模型时代的机遇和挑战已经来了。

接下来会研究其他风格图像生成,lora模型,和API 调用方向~ 关注我了解更多大模型相关的知识!

写在最后

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

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

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

相关文章

镜舟科技荣获金科创新社 2024 年度金融数据智能解决方案奖

近日, 镜舟科技凭借领先的金融实时数仓构建智能经营解决方案,在“金科创新社第六届金融数据智能优秀解决方案评选”活动中,成功入选“数据治理与数据平台创新优秀解决方案”榜单。 金科创新社主办的“鑫智奖”评选活动,旨在展示…

密码学 | 承诺:基本概念

目录 正文 1 承诺的交互 2 承诺的属性 3 硬币抛掷问题 3.1 朴素版方案 3.2 承诺版方案 🥑源自:https://en.wikipedia.org/wiki/Commitment_scheme 🥑写在前面:英文的承诺是 commitment scheme,否则很难进行…

Unity射击游戏开发教程:(1)玩家控制

玩家的移动 玩家控制和移动是视频游戏中最酷的事情之一,因为你正在控制游戏中的某些东西 现在游戏中的玩家是我们的蓝色方块英雄。我在游戏开发中了解到,游戏是用简单的对象制作原型,然后添加所有漂亮的艺术和声音。代码… 我们要做的第一件事是在游戏开始时为玩家提供一个…

uniapp H5项目 获取接口的二进制流转化成图片url(base64)

如果你使用的是uniapp, 并且你从接口获取下来的数据长这样: 想要把取到的数据展示成图片,那么你可以这样做: // 这是我们的项目封装的请求方法const res await this.$api.getKaptcha({originResponse: true, // 这样写是为了在request那边特…

js中let和var的区别

在JavaScript中,var、let和const都用于声明变量,但它们之间存在一些重要的区别。特别是let和var之间的区别,我们可以概括为以下几点: 作用域(Scope):var有函数作用域或全局作用域,而…

STM32实现硬件I2C通讯,读取MPU6050的ID号

今天学习了使用硬件I2C的方式成功读取MPU6050的ID号,特此记录一下过程: 首先需要学习的是MPU6050的初始化: 第一步:打开GPIOB的时钟(因为I2C2的引脚10,11在GPIOB上) 第二步:打开I2C2的时钟 …

09 MySQL--操作真题

1. 用一条 SQL 语句&#xff0c;查询出每门课程都大于 80 分的人。 分析&#xff1a; 去重查询出存在课程小于 80 分的人&#xff0c;设为集合A查询不在集合 A 中的人 # 第一步&#xff1a;找小于等于80分的学员姓名 select distinct name from t_student where fenshu <…

[Algorithm][滑动窗口][水果成篮][最大连续的一个数 Ⅲ][将x减到0的最小操作数]详细讲解

目录 1.水果成篮1.题目链接2.算法原理讲解3.代码讲解 2.找到字符串中所有字母异位词1.题目链接2.算法原理讲解3.代码实现 3.串联所有单词的字串1.题目链接2.算法原理讲解3.代码实现 3.最小覆盖字串1.题目链接2.算法原理讲解 1.水果成篮 1.题目链接 水果成篮 2.算法原理讲解 …

Docker in Docker的原理与实战

Docker in Docker&#xff08;简称DinD&#xff09;是一种在Docker容器内部运行另一个Docker实例的技术。这种技术允许用户在一个隔离的Docker容器中创建、管理和运行其他Docker容器&#xff0c;从而提供了更灵活和可控的部署选项。以下是DinD的主要特点&#xff1a; 隔离性&am…

【工厂模式】工厂方法模式、抽象工厂模式-简单例子

简单工厂模式&#xff0c;请跳转到我的另一篇博客【工厂模式】简单工厂模式-简单例子-CSDN博客 四、工厂方法模式 &#xff08;1&#xff09;这部分还是不变&#xff0c;创建一个Car接口&#xff0c;和两个实现类。 public interface Car {void name(); }public class WuLing…

文献补充材料怎么查找获取

最近很多同学求助外文文献补充材料&#xff0c;有的同学在学校提供的资源中能找到全文却无法下载文献的补充材料&#xff0c;这是因为该校只收录了全文而没有收录补充材料。那么文献补充材料怎么查找又如何获取呢&#xff1f;请看本文的经验分享&#xff1a; 1、文献的补充材料…

在Linux系统中搜索当前路径及其子目录下所有PDF文件中是否包含特定字符串

目录标题 方法一&#xff1a;pdfgrep方法二&#xff1a;使用find和xargs与pdftotext&#xff08;将PDF转换为文本&#xff09;组合&#xff0c;然后用grep搜索 方法一&#xff1a;pdfgrep pdfgrep -ri "rockchip" .方法二&#xff1a;使用find和xargs与pdftotext&am…

Yolov8项目实践——基于yolov8与OpenCV实现目标物体运动热力图

概述 在数据驱动和定位的世界中&#xff0c;对数据进行解释、可视化和决策的能力变得日益重要。这表明&#xff0c;使用正确的工具和技术可能是项目成功的关键。在计算机视觉领域&#xff0c;存在许多技术来解释从视频&#xff08;包括录像、流媒体或实时视频&#xff09;中获…

【HC32L110】华大低功耗单片机启动文件详解

本文主要记录华大低功耗单片机 HC32L110 的 汇编启动过程&#xff0c;包括startup_hc32l110启动文件详细注释 目录 1.启动文件的作用2.堆栈定义2.1 栈2.2堆 3.向量表4.复位程序5.中断服务程序6.堆栈初始化启动过程详解7.1从0地址开始7.2在Reset_Handler中干了啥&#xff1f; 8.…

ContextMenuStrip内容菜单源对象赋值学习笔记(含源码)

一、前言 MetroTileItem属于第三方控件,无法定义ContextMenuStrip属性 想实现某子项点击菜单时,与源控件(按钮metroTileItem)的某值对应,用于动态控制按钮的状态或方法 1.1 效果 二、实现方法 2.1 方法1 (代码,说明见注释) private void metroTileItem_MouseDown(o…

python_django中小学家校互动系统vue_flask家校联系

实现了一个完整的家校互动系统&#xff0c;其中主要有作业信息模块、学校管理员模块、学生学籍模块、学生成绩模块、学科模块、系统新闻模块、系统公告模块、校内新闻模块、校内公告模块、用户表模块、token表模块、关于我们模块、收藏表模块、年级模块、家长模块、教师模块、互…

openlayers学习(一)

首先感谢大佬们写的文章&#xff0c;博客链接已在文章最后贴出&#xff0c;在接下来的内容中&#xff0c;我将会引用其中的一些定义结论。 之前文章写过一个Arcgis api for js的小demo&#xff0c;openlayers项目代码就继续在写这个小demo框架上。 openlayers官网 初始化地图…

Flink学习(六)-容错处理

前言 Flink 是通过状态快照实现容错处理 一、State Backends 由 Flink 管理的 keyed state 是一种分片的键/值存储&#xff0c;每个 keyed state 的工作副本都保存在负责该键的 taskmanager 本地中。 一种基于 RocksDB 内嵌 key/value 存储将其工作状态保存在磁盘上&#x…

聚观早报 | 华为Pura70系列先锋计划;月之暗面升级Kimi

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 4月19日消息 华为Pura70系列先锋计划 月之暗面升级Kimi OPPO Find X7将推白色版本 波士顿动力推出人形机器人 v…

sql-labs(1-8关)

mysql数据结构 在练习靶场前我们需要了解以下mysql数据库结构&#xff0c;mysql数据库5.0以上版本有一个自带的数据库叫做information_schema,该数据库下面有两个表一个是tables和columns。tables这个表的table_name字段下面是所有数据库存在的表名。table_schema字段下是所有…