Stable Diffusion实现AI绘画,尝试向实际业务迈进...

2023-11-12

前置:

        由于处于学习初期,懂得较少以及可能会出现理解错误等情况,故而文章仅供参考学习使用,旨在分享知识,共同学习,不能作为依据,如有错误,感谢指出,文章主题分为两部分,学习部分也就理论知识,实践部分主要包括问题及解决方案。

一、Stable Diffusion:

文生图:

1.提示词分类以及书写:

Tips:

①ai对于提示词的认知是词组>句子,完整的语法结构反而更难理解

1.1内容型提示词:

人物及主体特征:

服饰穿搭 white dress

发型发色 red hair,long hair

五官特点 small eyes,big mouth

面部表情 smilling

肢体动作 stretching arms

场景特征:

室内室外 indoor/outdoor

大场景 forest,city,street

小细节 tree,bush,white flower

环境光照

白天黑夜 day/night

特定时段 morning,sunset

光环境 sunlight,bright,dark

天空 blue sky,starry sky

画幅视角

距离 close-up,distant

人物比例 full body,upper body

观察视角 from above,view of back

镜头类型 wide angle,Sony A7 IIII

1.2标准化提示词:

画质提示词:

通用高画质 best quality,ultra-detailed, masterpiece, hires, 8k 特定高分辨率类型 extremely detailed CG unity 8k wallpaper (超精细的8KUnity游戏CG),unreal engine rendered(虚幻引警渲染)

画风提示词 插画风 illustration, painting, paintbrush 二次元 anime, comic, game CG 写实系 photorealistic, realistic, photograph

2.权重与负面提示词:

①套括号() (white flower) = *1.1权重

②(white flower:1.5) 在括号内直接加:和需要的权重

③(((white flower))) 每多套一层权重就是原来的1.1倍,这里是1.331倍

④多括号{{{white flower}}} 每套一层额外*1.05倍

⑤方括号[[[white flower]]] 每套一层,额外*0.9倍

3.反向提示词:

顾名思义,反向提示词就是不需要出现在画面中的内容

4.出图参数详解:

4.1采样方法

AI进行图像生成的时候使用的某种特定算法

Euler (a)

适合插画风格

DPM 2M 和2M Karras

速度快

SDE Karras

细节更为丰富

Tips:

带++一般是改进过的算法

4.2面部修复

采用对抗算法识别人物面部并进行修复,类似美图app的智能p脸

4.3平铺/分块

用于生成可以无缝贴满整个屏幕的纹理性图片的,勾选容易出错

4.4提示词相关性

顾名思义,就是与关联词的关系度,一般安全范围在7-12,太高太低容易变形

4.5随机种子

画面关系度,以我目前使用来看,使用固定随机数种子可以保证在原有的基础上改变内容

4.6生成批次/数量

因为AI根据相同提示词生成的图片具有随机性,所以生产批次是在同一个提示词下生成不同的图片,最后可以通过对比甄选比较符合预期的图片

每批数量,就是在每个批次生成图片数量,默认是一批一个,如果多个显存可能会爆炸,这个很好理解就是并行的量更多了,但是由于显存问题,可能并不能支持这么操作,理论提高效率实际要根据性能决定。

二、AI绘画实际业务问题难点及解决思路(包含未解决项)

1.绘图技巧和报错处理:

①绘图常见报错处理

ValueError: images do not match

Time taken: 10.55s

Torch active/reserved: 4200/5126 MiB, Sys VRAM: 7450/8192 MiB (90.94%)

原因:

很多时候为了保证和原图像素一样会设置类似于宽417,高714等等尺寸,就会导致这样的报错

②图生图重绘中的canyan技巧:

关于canyan边缘监测对作图影响过大如何处理:

 

调低权重和引导步数,如果线条过于复杂,可以调高low Threshold 并且适当调高High Threshold

        满足以上参数的前提下,重绘幅度在0.7左右,在我的测试中比较容易出满意的图。

2.AI模特换装问题:

局部重绘的时候:

全图:

①适合更换背景

仅蒙版:

①如果是全身照的情况下,在局部重绘选择仅模板会导致画面变形,比如飞起来的头发,延长的衣服等等问题。

②在涂鸦重绘模式下,就是只修改图片某一部分,,比如眼睛不和谐等等,适合修复小部分

蒙版模糊:

数值越大,边界感觉越弱,反之数值越大,边界感越模糊。太大容易产生多余肢体

局部重绘模式下不改变任务但更换背景,原模特衍生肢体或毛发或衣物的问题解决:

前置:

①局部重绘区域选择全图而不是仅蒙版,可能可以解决

②蒙版蒙住内容,选择原图能够最大程度保留非蒙版区域,填充虽然也能保持原图,但是可能延长头发等情况,不稳定,时好时坏,

                                                        原图

 

                                                填充 

        

                                              潜空间噪声

进阶:(如何基础都设置对了还有问题可以考虑下面)

①通过修改3d openpose 比原来整体小即可,滚轮缩小就好了②降低蒙版模糊值

Tips:

AI作画具有随机性,就算上述都对,依旧可能产生问题,可以在提示词下做点文章,由于模特其实依旧生成好了,我们可以对可能产生的衍生模特做操作,比如短发或光头(防止头发衍生),内衣内裤(防止衣服裤子过长)

只需要修改宽高为8的倍数即可,例如400 600即可或者600 800 具体按照情况来定,避开错误即可

3.ai模特换脸业务(还在优化中):

原图:

效果图:

由于篇幅问题,就不过多展示了,下面说说实现步骤和注意细节

实现步骤:

1.tag标签配置:

我的都是默认配置,未做过多优化操作,比如你希望皮肤白一些,就可以正向提示词前加上,也可以选择(white face)(white face:1.2)增加权重,默认大家都有,这个很简单不多阐述。

正向tag:

best quality, ultra high res, (photorealistic:1.4),1girl,close mouth

反向tag:

(((gape))),paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, glans,bikini,medium breast,,Nevus, skin spots,nsfw,(((neck too long))),(((wrinkle)))

 2.选择局部重绘:

通过涂鸦选择需要重绘区域,右侧圆点可拉动能够调节画笔粗细。

3.配置参数

照抄下图即可,值得注意的是宽高是最好与原图相似,生成效果会更好而且最好是8的倍数,不能417 714这种会绘图报错,迭代步数默认是20,28可以提高画面精细度,面部修复最好勾选,不容易出现面目狰狞,蒙版模糊类似于PS的锐化,看情况条件,推荐4-8是最好的,蒙版蒙住内容选择填充画面较为和谐。具体参数不做过多赘述了

 4.打开3D openpose调节人物动作

①点击如图文件,选择从图片中检测,将需要修改的图像导入就会生成如下图这样的背景图和姿势了,然后在设置处,点开移动模式勾选上,然后调节骨骼与背景至差不多融合,如图2,通过鼠标滚轮能够调节远近,也就是骨骼的大小,近一点就更贴近镜头,保持和背景图差不多即可,然后点击生成。对了,不要忘记在右上角设置宽高和画布一致,例如我是600 800 那我就设置600 800即可

 5.发送到controlnet

将第一个发送到0通道口,如果被占用可以发送到1 2 3等,其他关闭即可,然后点击图生图,回到绘制界面

 6.在controlNet处启用

在controlNet处点击启用,否则无效,然后预处理选择无,模型选择openpose即可,下面也有一个调节宽高的,依旧和之前一样保持画布一样即可,例如我是600 800,总之涉及到宽高的都统一一个就好了,不如容易发生错乱

 7.生成图片以及细节微调

完成上述步骤后,点击生成按钮即可生成图片了,如果发现有不对的地方就去做微调,比如在tag定义发型,AI绘图很难一次生成满意的图片

 

 通过左侧手动调节位置,或者右侧输入参数都能微调,左侧容易出现畸形,修改难度较大,如果右侧有的参数还是输出较好,然后继续生成,发送到controlNet,点击一下预处理预览一下,然后继续生成,直至满意图片产出即可。

 通过反复调节,最终生成了较为满意的图片,也可以根据图片进行局部重绘修改发型等等。

 

4.AI绘画局部优化:

1.先上图说明业务场景

        ai在边缘处理有着独到的笨蛋理解,总喜欢画蛇添足,不过这也不能怪他,或许是参数和其他参考图的干扰,所以我们能做的是尽可能将我们的需求说明白,如下,希望将原图修改背景和面容,但是在边缘部分有很多不理想的衍生,我们如何将这里按预期处理呢?

                                                                        原图 

                                            修改1.0

 2.实现方法:

        当有衍生部分,想要通过涂鸦重绘将其改变颜色,最好选用如下参数,尤其是蒙版模糊是2,太低界限感太强,太高影响过大,重绘幅度选择0.3,然后选择蒙版区域内容处理的原图模式,能够最佳还原需要效果。

        具体参数如下:

3.具体实现:

        ①使用FastStone Capture(如果没有百度名字就能下载)取色笔对牛仔裤颜色进行取色,对衍生部分进行涂改成需要修改的颜色,然后选择重绘幅度0.3,蒙版模糊 2 蒙版区域内容处理 原图 这三个参数非常重要,然后就是通过openpose+canyan进行姿势和内容的限制(openpose和canyan默认大家都会没什么难度,b站都有教学)。

 4.结果展示:

                                                修改2.0

5.总结:

       如此已经较为接近需求了,AI绘图其实并不难,我们只是使用层级的,如果有不符合需求的继续微调即可,其实在成图的步骤并没有我以上提的那么简单,出一个稍微满意的图难免花时间,AI绘图的痛点就是:调参占用10%时间 出图占用80%,10%调节测试脚本。目前也在学习阶段有更好的方法也希望能够告诉我哈。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Stable Diffusion实现AI绘画,尝试向实际业务迈进... 的相关文章

  • 大话Stable-Diffusion-Webui-客制化主题(四)

    文章目录 目标 效果 开始 重要说明 单选框以及复选框图标样式更改 gradio主题构建器上传主题方式 代码上传主题方式 目标 在DIY的主题中更改gradio单选框组件以及复选框组件的勾选后图标样式 效果 开始 笔者在使用gradio的主
  • 驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!

    同学们 抖音买家秀中的那些极具设计感的作品是怎么来的 你还在羡慕别人的绘画天赋 对着空白的画纸发呆吗 有没有想过将生硬的代码和灵动的艺术完美融合 有没有感到现代技术带来了戏剧性改变 从替代马车的汽车 到取代传统影像的数字摄影 再到今天的AI
  • 开发一个文生图的功能

    文章目录 效果 开发环境 原理 核心代码 代码仓库 问题 效果 开发环境 Python 3 10 PyCharm 原理 借助开源项目stable diffusion 通过该项目封装python库diffusers 可以轻易的实现文生图的功能
  • StableDiffusion中LORA模型的使用

    目录 前言 一 LoRA是什么 二 使用方法 1 存放LORA模型 2 使用LORA模型 3 查看结果 总结 前言 1 Sampler 采样方式 在Stable Diffusion WebUI中的Sampling method中进行选择 2
  • StableDiffusion负面标签自动复制

    随着人工智能AI的兴起 现在AI画图已经风靡全球 其中StableDiffusion以开源 可以本地部署 免费白嫖 引起了包括本人在内的打工人的兴趣 但使用StableDiffusion时 时常会出现诸如 三只手 三只脚 畸形的五官等问题
  • Stable Diffusion服务环境搭建(远程服务版)

    Stable Diffusion服务环境搭建 远程服务版 Stable Diffusion是什么 Stable diffusion是一个基于Latent Diffusion Models 潜在扩散模型 LDMs 的文图生成 text to
  • 关于AI和ChatGPT的使用,AI编程(AIGC),AI绘画(3)

    使用AI绘画要注意哪些问题 1 版权和知识产权 使用别人的AI模型进行绘画可能会侵犯其版权和知识产权 需遵守相关法律法规 2 数据隐私 在使用AI绘画应用时 可能需要提供个人图像或图片等数据 要谨慎保护数据隐私 防止被滥用 3 算法可解释性
  • Stable diffusion模型种类说明

    1 基础模型 pruned是完整版模型 emaonly是剪枝版模型 如果想要训练自己的模型 需要下载完整的大模型 1 SD系列 sd v1 4 sd v1 5 sd v2之类的 都是stable diffusion自带的大模型 效果会比较差
  • Stable Diffusion Base Model from safetensors transfer to diffusers

    Steps File Setup Clone the ControlNet model repo from HF into a folder like hf controlnet model git clone https huggingf
  • Stable-Diffusion-WebUI从代码下载到使用技巧

    一 写在前面 本文用于对AI绘画感兴趣但无计算机编程基础的人 包含本人安装和使用过程中的心得 可供新学者参考 心理准备 电脑性能越高越好 最好有高端显卡 如30系以上 低端显卡也可以 速度和质量感人就是 会要求下载一些软件 模型 涉及环境变
  • Stable Diffusion教程

    什么是Stable Diffusion Stable Diffusion是一种潜在扩散模型 Latent Diffusion Model 能够从文本描述中生成详细的图像 它还可以用于图像修复 图像绘制 文本到图像和图像到图像等任务 简单地说
  • 任务 01、重塑视觉艺术:Midjourney AI绘画的无限可能

    1 1 任务目标 了解什么是MidJourney MidJourney公司简介 了解生成式人工智能MidJourney原理 MidJourney 能做什么 目前市面主流的Ai绘画工具有哪些 MidJourney的商业价值与企业应用 1 2
  • Stable Diffusion web UI 安装教程

    Stable Diffusion web UI 安装教程 欢迎来到猫说AI wx搜索 猫说AI接入了最新版Chatgpt供大家免费使用 注意 这是ubuntu20 04安装步骤 conda创建python虚拟环境 conda create
  • 【Kaggle】Stable Diffusion - Image to Prompts竞赛代码初步理解

    文章目录 一 前言 二 导包 三 加载预训练的 OFA 模型 四 模型EDA 五 Inference 六 安装并导入所有依赖项 七 设置配置 八 加载示例提交 九 Build index from images 十 CLIP interro
  • Google Colab 上部署 Stable Diffusion Web UI

    什么是 Stable Diffusion Web UI Colab Stable Diffusion 是 Stability AI 推出的一个基于深度学习技术文字生成图片AI模型 Stable Diffusion Web UI 是一个强大好
  • 被腾讯云的AI绘画整破防了

    购买 618活动 贪便宜29 9买了个腾讯云的AI绘画 问题 主要遇到了两个问题 整破防了兄弟们 1 文档问题 只封装了请求之后获取base64格式的图片 没有封装如何从base64转换成图片展示出来 这个还需要自己去开发 2 sdk 安装
  • 一键换衣,任何图片局部一键AI修改,超强“魔法棒”!

    今天分享一个咱们的AI绘画工具的一个强大功能 它能够针对图片的任意局部进行一键AI修改 炒鸡强大 下面是花了几分钟修改的一张图片 原图 修改后 看出区别没有 头发颜色 裤子 项链 背景画面都发生了改变 下面就来揭秘咱是怎么操作的 首先打开软
  • 【2023版】最新stable diffusion安装教程,一键安装,永久使用,stable diffusion下载安装教程!

    关于现在非常红火的AI绘画 很多感兴趣的人不知道如何入手 如果你的电脑配置足够好 那么不要犹豫 让我来教你如何在本地电脑全免费运行当下最强大的AI绘画工具 Stable Diffusion 吧 一 Stable Diffusion 是什么
  • 零基础入门 Stable Diffusion - 无需显卡把 AI 绘画引擎搬进家用电脑

    我从小特别羡慕会画画的伙伴 他们能够将心中的想法画出来 而我最高水平的肖像画是丁老头 但在接触 Stable Diffusion 之后 我感觉自己脱胎换骨 给自己贴上了 会画画 的新标签 丁老头进化旅程 Stable Diffusion 是
  • 【腾讯云AI绘画】与AI绘画和解,和AI绘画共成长

    前言 六月份的时候 买了腾讯AI绘画的资源包 可当通过API去使用AI绘画后 我顿时就被整破防了 于是写了一篇文章 算是无声控诉 被腾讯云AI绘画整破防了 再回首 腾讯绘画不仅提供了API调用 还构建了 智能图像创作平台 用于提供AI绘画在

随机推荐

  • ChatGPT + MindShow搞定PPT制作

    一 获取PPT内容大概 1 进入chatgpt 官网 http chat openai com 账号密码登录 2 获取PPT内容 向他提问 提问格式如下 整理一份PPT大纲 主题是 如何使用热门AI工具 回答内容采用Markdown的形式
  • 【简单又有趣】Python五个迷你小项目,即学即用,还不赶紧码住(附源码)

    目录 前言 一 猜数字游戏 二 骰子模拟器 三 故事生成器 四 自动发送邮件 五 Hangman 总结 前言 Python编程语言中 我最喜欢的就是Python的各种第三方库 能够完成很多操作 下面就给大家介绍5个通过Python构建的项目
  • 2013年11月26日星期二(四元数)

    这一节 应该是个一点点进行 QUAT q1 0 0 0 0 先看下QUAT数据类型 四元数 typedef struct QUAT TYP union float M 4 struct float q0 VECTOR3D qv struct
  • 若依前后端分离代码生成

    去代码生成器界面 点击导入按钮 选择你想生成的数据库表 选择好之后 生成 会下载一个文件夹 包括SQL 前端代码和后端代码 只需要放到相应文件夹下面就可以了 vue是前端代码 放到ruoyi ui文件中 main是后端代码 那些mapper
  • vue.js鼠标移入变换样式,鼠标移出去除样式(active)实现方法

    鼠标移入添加class样式 HTML HTML绑定事件 加入或者移出class为active span class things 报事 span span class things 报修 span 注意这里v on不能直接省略为 我也不知道
  • Javascript数组与字典用法分析

    http www 68idc cn help makewebs javascript 20141214142024 html 这篇文章主要介绍了Javascript数组与字典用法 以实例形式较为详细的分析了Array作为数组与字典的不同用法
  • Chrome 扩展程序开发

    按chrome开发规范 我们首先建一个文件夹 如D AutoClickDemo 在该文件夹下新建一个名为manifest json的文本文件 并按实际情况放一个图片文件 作为插件的图标 然后新建一个名为myscript js的js脚本文件
  • SQL查询一个表中根据其中一个列的属性来拼接多个列并SELECT INTO 新表显示

    将同一个表中 不同 Group 属性的添加列分成一整行 SELECT INTO VP Temp FROM SELECT DISTINCT A ID A TypeName A ItemType A isBad A sNo sNo1 A Che
  • C++ 类的静态成员详细讲解

    在C 中 静态成员是属于整个类的而不是某个对象 静态成员变量只存储一份供所有对象共用 所以在所有对象中都可以共享它 使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则 保证了安全性还可以节省内存 静态成员的定义或声明要加个关键st
  • C++控制台输入

    我们在刷牛客网的题目时 经常遇到多组输入 执行到文件结束 下面介绍几种写法 1 C语言的输入多个整数 while scanf d n EOF 为End Of File的缩写 通常在文本的最后存在此字符表示资料结束 code 2 C 输入字符
  • PyQt实现图形化界面的视频播放

    PyQt实现图形化界面的视频播放 PyQt是一款流行的Python GUI库 它可以与Python的许多其他工具和库结合使用 OpenCV是一个功能强大的计算机视觉库 可以处理图像和视频 本文将介绍如何结合使用PyQt和OpenCV来创建一
  • SSL单双向认证

    一 TLS SSL协议 HTTPS协议是在HTTP TLS SSL协议组成的可进行加密传输 身份认证的网络协议 旨在保证数据传输过程中的保密性 完整性和安全性 HTTPS在HTTP和TCP之间 增加了TLS SSL协议 正是通过TLS协议
  • Property xxx was accessed during render but is not defined on instance

    vue3 x版本在结合element plus使用如果使用了表单元素以及v model指令会在控制台看到类似的警告 虽然不影响js运行 但是对于强迫症玩家难受的不行 下面我们来看一下这个问题是如何产生的 应该怎么解决 原因 vue3 x版本
  • HDFS加密区加密过程

    HDFS加密区 encryption zone 中的每个文件都使用唯一的数据加密密钥 data encryption key DEK 进行加密 明文DEK被区域级加密密钥 加密区密钥 encryption zone key EZK 加密成加
  • 灵感爆发:An/flash 影片剪辑动画播放一遍后,摆脱paly()的控制

    有一个影片剪辑我只想让他播放一次就停下来 但是我的播放按钮 就一个命令 this play 现在有个矛盾 播放按钮和暂停按钮都在 暂停在影片剪辑动画的中间还好 但是不小心暂停在最后一帧 在播放就会从头 播放按钮只有一个功能就是从当前帧继续播
  • MySQL高阶语句(三)

    一 NULL值 在 SQL 语句使用过程中 经常会碰到 NULL 这几个字符 通常使用 NULL 来表示缺失 的值 也就是在表中该字段是没有值的 如果在创建表时 限制某些字段不为空 则可以使用 NOT NULL 关键字 不使用则默认可以为空
  • Webpack 4.X 配置cdn加载资源

    众所周知 SPA单页应用 首次访问需要加载近全部资源 从而导致首页渲染速度很慢 继而 出现很多性能优化方案 图片 资源懒加载 减少http请求 减小请求资源大小 减少dom操作避免触发回流重绘 gzip压缩 cdn加载等等 今天 我们就具体
  • 使用OpenSSL搭建CA

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 SSL TLS 1 机密性 数据加密 对称加密 2 完整性 保证数据不会被篡改 或是因为数据传输丢失 单向加密 提高特征码 附加到数据后 3 可靠性 二 概述 如何实现
  • ubuntu 18.04 校园网连接问题:MAC物理地址不匹配。

    ifconfig belong to net tools net tools have been removed in Ubuntu 18 04 so we need to install net tools by hand Notice
  • Stable Diffusion实现AI绘画,尝试向实际业务迈进...

    前置 由于处于学习初期 懂得较少以及可能会出现理解错误等情况 故而文章仅供参考学习使用 旨在分享知识 共同学习 不能作为依据 如有错误 感谢指出 文章主题分为两部分 学习部分也就理论知识 实践部分主要包括问题及解决方案 一 Stable D