【AIGC】只要10秒,AI生成IP海报,解放双手!!!

看完这篇文章,你将学会以下价值连城的内容
1、云端部署(配置不行的小伙伴看)+ 云端模型放置位置
2、本地部署(配置达标的小伙伴看)
3、运用SD训练IP的流程和技巧(LoRA篇)
4、运用SD稳定生成高质量IP海报
众所周知,各大厂目前都在AIGC的领域探索实践,也有非常多的外部设计师制作了大量的AIGC相关授课,很多同学因为不清楚具体能得到什么价值或者收获而停止了脚步。今天我来为大家分享一下经过实际探索且落地的Stable diffusion的IP海报生成流程,内容很干请上车坐稳
先来看一下达达骑士IP的效果:
· 浅看一下IP海报生成过程

· V1模型生成

· V2模型生成

•V3模型生成

1、云端部署
应该有很多小伙伴苦于没有一个趁手的电脑配置,以及繁琐的本地配置,最终卡在了配置这个环节,今天我将带大家完成SD的云端部署,看完你就能完美的打开SD了
1、打开云端地址:https://www.autodl.com/home

1、注册登陆后,点击算力市场
2、选择按量计费、内蒙A区(注:不要选北京区可能需要SHH企业打开的问题)

3、点击社区镜像

4、输入搜索关键词vel,找到并选择最新stable-diffusion镜像

5、点击立即创建

6、命名自己的服务器,等待创建完成和开机

7、点击JupyterLab,进入MainUI.ipynb

8、左侧目录下,打开MainUI.ipynb,点击第一行代码区域,然后点击上方的“运行”三角,显示“移动完成”后刷新页面

9、将右上角python 3,改为xl_env

10、点击第二行代码区域,然后点击上方的“运行”三角,等待功能模块出现

11、选择“启动WebUi”,然后勾选前4个常用功能,点击运行WebUi,等待代码运行

12、当看到蓝色的URL时,则表示运行成功了,然后返回AutoDL下自己的服务器


13、点击“自定义服务”,恭喜你成功进入云端SD了

2、云端基础模型的放置位置
1、大模型放置位置:dutodl-tmp——stable-diffusion-webui——models——Stable-diffusion
2、lora放置位置:dutodl-tmp——stable-diffusion-webui——models——Lora
3、VAE放置位置:dutodl-tmp——stable-diffusion-webui——models——VAE
4、ControlNet模型放置位置:dutodl-tmp——stable-diffusion-webui——extensions——sd-webui-controlnet——models
5、起手式位置:dutodl-tmp——stable-diffusion-webui
2、本地部署
秋葉Stable diffusion一键包
百度链接https://pan.baidu.com/s/1A4xSvlLHUJ8uplOc7WjZqg;提取码:sejt
夸克链接:https://pan.quark.cn/s/1dd4f17b3504;提取码:yBRx
3、运用SD训练IP的流程和技巧(LoRA篇)
先来介绍一下什么是LoRA
大家刚接触stable diffusion时,会听到很多专业术语,其中LoRA模型必定是会被提及到的,那么什么是LoRA模型?它有什么作用呢?
LoRA模型全称是:Low-Rank Adaptation of Large Language Models,可以理解为Stable-Diffusion中的一个插件,仅需要少量的数据就可以进行训练的一种模型。在生成图片时,LoRA模型会与大模型结合使用,从而实现对输出图片结果的调整。
举个例子:大模型好比没有修饰过的人物、物品、场景、等;LoRA模型好比是改变人物、物品、场景等内容的形色质构的因素,但仍然在大模型的底子下。当然LoRA模型不仅仅限制于人物,场景、动漫、风格。
1、训练环境的搭建
· 本地:可下载秋葉SD trainer训练器一键包
· 云端:AutoDL云端配置,社区镜像中找到Train进行部署
2、训练集处理(图片处理+打标+训练参数)
· 图片处理
· 首先我们需要准备训练的IP(也可以是:物品、场景、风格等),训练图的尺寸需要统一,且以64的倍数设置:常用分辨率为512*512、512*768、768*1152。因为如果尺寸不统一或不是64的倍数,AI在训练过程会对你的图片进行裁切,导致你想要的画面细节被裁减
· 其次我们需要有3种类型的图:白底IP图+场景IP结合图+单独场景图,整个训练集的数量可以有多少准备多少,越多越好(但是要保证差异性,重复的动作或角度需要剔除)



· 打标
· 当我们准备好需要AI训练的图以后我们需要对这些训练图进行描述,可使用自动打标工具或手动打标(手动打标训练效果会更好) ,准备一个txt文本(保证和你描述的图片命名一一对应),然后进行详细的描述,以下是我的一些举例:
· 在打标描述里需要注意格式:我们常用的格式是“触发词”+“自然语言”+“单词”,并且保证全程英文输入,包括标点符号


3、模型训练&参数设置
(注:这里的参数需要根据自身训练的IP或内容进行调优,存在是错成本,这里给大家科普一些基础)
· 补充2个概念:欠拟合、过拟合
· 过拟合:指AI只会生成你给他提供的训练集内容,比如IP动作、场景、元素、等
· 欠拟合:指AI生成的内容和你训练集的内容完全没关联,或者说收敛性很差导致IP不像
· 基础训练参数
• repeat次数(每张图训练的次数,次数不是越高越高,训练太多会导致过拟合,训练太少会导致欠拟合)
• epoch训练轮数(训练集训练的轮数,轮数不是越高越好,训练太多会导致过拟合,训练太少会导致欠拟合)
• dim值(dim代表了训练的精度)
• alpha值(alpha用于控制模型复杂性和约束性,alpha 必须≤dim)
• learning rate、unet lr、text encoder lr(学习率决定模型学习的程度,影响训练效果,比如稳定性、泛化性、收敛性)
• 训练优化器(自适应优化器和非自适应,决定了AI学习节奏)
· 训练过程中的观察
· 需要观察训练的Loss值,Loss值需要成递减状态(正常状态),曲线波动不易较大。并且需要记录每一次训练的参数和Loss值来分析后续模型调优的方向


4、模型测试
· 模型测试阶段,我们需要启动SD,并且运用XYZ轴来测试每个版本的模型搭配的LoRA权重,以及大模型,最终沉淀出我们最优版本的模型。
· 在测试阶段我们需要围绕着3个核心的点:稳定性、泛化性、以及收敛性进行测试
· 稳定性:模型是不是在大多数prompt输入下,都能够出现好的效果
· 泛化行:生成的内容是不是有AI创新的内容(动作、场景、元素、等)
· 收敛性:生成的IP以及特征(或其他核心内容)是不是你想要的效果

4、运用SD稳定生成高质量IP海报


1、模型&提示词
· 生成环境模型主要包括3类,底模、LoRA模型、以及VAE(可以理解为滤镜),我们可以尝试各种不同的大模型,比如二次元的anything、目前用的最多的Rev、或者真人类的real
· 提示词分为2部分,正向词为你想要的内容,负向词代表你不想要的内容
· 正向词:会出现3种类型:触发词+提示词+LoRA,越靠前的词汇权重就会越高
· 在生成出好的效果后大家可以对自己的prompt进行保存


2、采样方式
· 简单来说,这些采样器是算法,它们在每个步骤后获取生成的图像并将其与文本提示请求的内容进行比较,然后对噪声进行一些更改,直到它逐渐达到与文本描述匹配的图像
· 常用的采样器如:Euler a、DDIM、DPM++系列,可以根据自己模型来调整尝试出最好的参数
3、采样迭代步数
· SD通过从充满噪点的画布开始创建图像,然后逐渐去噪以达到最终输出。Steps就是控制这些去噪步骤的数量。通常,越高越好,但一般情况下,我们使用的默认值是20个步骤,这其实已经足以生成任何类型的图像
· 如果在测试新提示希望快速得到理想的构图或结果,可使用15-20steps
· 当找到确认的seed后,可将步骤增加到20-30steps
4、面部修复
· 面部修复可改善脸部特这个以及细节,让人脸更自然和美观,建议当找到确认的seed后打开
5、高清修复
· 通过使用算法,AI可以首先在较低的分辨率下对图片进行部分渲染,然后将其提升到高分辨率,并在高分辨率下添加细节,建议当找到确认的seed后打开。
· 常用高清算法如: R-ESRGAN 4x++
6、重绘幅度
· 可以理解为AI在创作过程中的发散幅度,越高的值会带来越大的创意,反之会更精准。

7、随机种子
· Seed可以理解为你生成图的身份ID,每个生成图都有自己的seed,当确认了基础构图以及想要的基础效果后锁定种子,从而完成微调

8、尺寸、批次、批数
· 尺寸:一般会以64的倍数去递增,常用尺寸在前期确认seed之前会用到512*768,512*512,等
· 生成批次、每批数量:每批、每次次生成的图像数量,建议在前期找画面之前可以开大数量去抽卡,找到自己想要的画面,然后锁定seed

9、点击生成,完成IP海报(记得记住&保存自己的参数模版)
到这里我们整个流程就走完了,接下来我们就可以不断的生成和创新我们的IP海报了
最后我想说在AI绘画领域还有很多需要探索和实践,未来我也会继续与大家分享更多有价值的内容,如果你也喜欢AIGC的探索可以留言一起交流一起进步
作者:京东零售 徐仲巍
来源:京东云开发者社区 转载请注明来源
【AIGC】只要10秒,AI生成IP海报,解放双手!!!的更多相关文章
- 检查网口流量与前10名流量大IP
此脚本包含的功能有: 1.实时监控任意网卡的流量 2.统计10秒内平均流量 3.统计每个端口在10秒内的平均流量,基于客户端和服务端端口统计.可以看出哪些端口占流量比较大,对于web服务器,一般是80 ...
- Python3.x:自动生成IP写入文本
Python3.x:自动生成IP写入文本 ''' 生成ip写入文件 ''' import time time_start = time.time() #参数:number-生成条数:start-开始i ...
- 求其中同一个主叫号码的两次通话之间间隔大于10秒的通话记录ID
求其中同一个主叫号码的两次通话之间间隔大于10秒的通话记录ID 例如:6,7,8,9,10条记录均符合 ID 主叫号码 被叫号码 通话起始时间 通话结束时间 ...
- 制定ip池内随机生成ip地址
]) { +] = {}; unsigned mask = 0x0; sscanf(ip_pool, "%[^/]/%d", ip_addr, &mask); long l ...
- linux crontab & 每隔10秒执行一次
linux下定时执行任务的方法 在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出. 在LINU ...
- [网站公告]23:00-05:00阿里云SLB升级会造成4-8次每次10秒的闪断
大家好,阿里云将于今天夜里(7月29日23:00-7月30日05:00)对负载均衡服务(SLB)进行升级操作,升级期间我们使用的SLB实例会有4-8次的闪断,每次闪断时间10秒左右.闪断期间会造成网站 ...
- IOS第六天(2:10秒倒计时)
****************10秒倒计时 #import "HMViewController.h" @interface HMViewController () <UIA ...
- js实现模拟自动点击按钮,并且在10秒倒计时之后疯狂点击
需求来自于csdn问答,可以利用这个原理做秒杀抢单外挂. 代码示例如下: <html> <head> <meta charset="utf-8"/&g ...
- 10秒视频转局部GIF动画
10秒视频转局部GIF动画,微软出品的一款精致小软件. 百度云盘:http://pan.baidu.com/s/1i3SARfn
- php 随机生成ip
#随机生成IP 中国区 function randip(){ $ip_1 = -1; $ip_2 = -1; $ip_3 = rand(0,255); $ip_4 = rand(0,255); $ip ...
随机推荐
- Go语言逆向技术:恢复函数名称算法
摘要:在对程序做安全审计.漏洞检测时,通常都需要对程序做逆向分析,本文在没有符号表的情况下,提出了一种恢复函数名称的算法,方便对go语言二进制文件进行逆向分析,提升分析效率. 本文分享自华为云社区&l ...
- instanceof运算符的实质:Java继承链与JavaScript原型链
Java instanceof instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例 boolean result = obj instanceof Clas ...
- 浅谈QUIC协议原理与性能分析及部署方案
之前写过<http1.0 与 http1.1的区别> 与 <再谈HTTP2性能提升之背后原理-HTTP2历史解剖>,QUIC协议,现在nginx官方也即将支持.所以还是得跟上时 ...
- 十大 CI/CD 安全风险(五)
在本篇文章中,我们将了解第三方服务的监管不足,工件完整性验证及日志可见性不足这三个关键 CI/CD 安全风险,并给出缓解相应风险的建议与措施. 第三方服务监管不足 CI/CD 攻击面包括企业资产,例如 ...
- 应用火山引擎 DataTester“避坑”,抖音实现用 A/B 实验快速试错
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 A/B 测试产品可以说是企业科学决策的基础"设施",能够帮助企业快速迭代产品. 在字节跳动,每 ...
- 数组递增的判断【python实现】
有时候需要对某一组数组的数据进行判断是否 递增 的场景,比如我在开发一些体育动作场景下,某些肢体动作是需要持续朝着垂直方向向上变化,那么z轴的值是会累增的.同理,逆向考虑,递减就是它的对立面. 下面是 ...
- 注册中心/配置管理 —— SpringCloud Alibaba Nacos
Nacos 简介 Nacos 是一个易于使用的动态服务发现.配置和服务管理平台,用于构建云原生的应用程序 Nacos 的关键特性包括以下几项: 服务发现和服务健康监测:服务提供者使用原生 SDK.Op ...
- 【Go】函数高级 包的使用 gin框架入门 if-else 循环 switch 数组
目录 昨日回顾 今日内容 1 函数高级 2 包的使用 3 gin框架使用 4 if-else 5 循环 6 switch 7 数组 昨日回顾 # 1 go 基础数据类型 -数字:整数,正整数,浮点数, ...
- 【Django drf】序列化器总结
目录 序列化器字段 外键字段自定义序列化 在模型类中写方法 在序列化类中写方法 反序列化 外键字段反序列化保存 ModelSerializer使用总结 序列化器字段 序列化中的字段可以根据用途分为三种 ...
- 微信小程序 wx:for 遍历 Map集合
如果要在微信小程序wxml中对ES6的Map集合进行wx:for遍历,如下: let map = new Map(); map.set("a",[1,2,3]); map.set( ...