Stable-Diffusion-XL大模型
Stable-Diffusion-XL是业内知名的文生图大模型,由StabilityAI研发并开源,其创意图像生成能力处于业内领先;模型对指令理解能力强,支持反向Prompt定义不希望生成的内容。
优势
- 日常物品绘图能力领先,整体能力达到SOTA水平。
- 几乎能够生成任何艺术风格的高质量图像、并实现逼真效果的最佳开源模型。
- 理解力强、创意十足,可以生成丰富多样的图像细节。
- 只需几句话就能创建复杂、细致、美观的图像,模型甚至能够区分「The Red Square」(红场,著名景点)和「red square」(红色正方形);模型在色彩的鲜艳度和准确度方面做了很好的调整,对比度、光线和阴影都比上一代更好;可生成图像模型难以渲染的概念,例如手、文本以及空间的排列。
- Prompt指令调整空间大,支持模型定制(LoRA),适合高级开发者使用。
- 支持更容易地根据自定义数据对模型进行微调。可生成自定义 LoRA 或检查点,减少数据处理的需要。
适用场景
Stable Diffusion XL的优势场景主要围绕创意设计领域,包括艺术插图、营销海报、趣味头像、建筑设计、影视创作等。
SD推理技巧
对于文生图模型的推理过程而言,为了控制模型输出更符合预期的高质量图像,两项关键的可控因素在于Prompt编写和参数调节:
可控因素 | 子项 | 说明 |
Prompt | 正向提示词Prompt | 描述期望模型生成的图像内容、风格、细节属性等 |
反向提示词Negative Prompt | 描述不期望模型生成的内容、风格、细节属性等 | |
参数 | 采样方式 | 即模型的去噪方法,不同的采样方式对图像的稳定性和质量具有不同影响 |
采样步数 | 设置的采样步数越多,图像会迭代更多次,针对提示词生成更精准的输出 | |
图片尺寸(分辨率) | 控制模型输出图像的尺寸,对模型输出风格具有一定影响 | |
风格 | 调整模型输出图像的风格 | |
提示词相关性 | 控制模型遵循和还原Prompt的程度 | |
随机种子 | 控制生成图片时的随机性,随机种子取值相同时,模型生成结果可复现性高 |
Prompt编写技巧
基础原则
- Prompt不是越长越好,应尽量将关键词控制在75个(100个)以内。
- 越关键的词,越往前放:对于SD模型而言,指令Prompt的位置越靠前,模型遵循要求的比重越大。
- 相似的同类放在一起。
- 只写必要的关键词。
正向提示词Prompt
组成结构
组成结构 | 说明 | 示例 |
前缀 | 用于确定图片的总体生成质量与画风等。 | masterpiece, extremely detailed 8k wallpaper best quality, watercolor_medium |
主体 | 主体为图画想要凸显的主体,可以是人物、建筑、景物等,主体部分要进行丰富的描述才能获得细节丰富的图像。 | a beautiful and powerful mysterious sorceress, smile, sitting on a rock, lightning magic, hat, detailed leather clothing with gemstones, dress, castle background |
场景及后缀 | 主体存在的周围场景,如果没有场景描述,容易生成纯色背景或者是效果tag相关的背景,且主体会显得很大。部分主体会自带场景内容,例如建筑、景物等。 | abandoned amusement park, backlight at dusk |
效果对比示例
说明 | Prompt | 输出图片(示意) |
无基本前缀 | 1 girl, flowers, tree | 基础效果 |
有基本前缀 | (masterpiece, extremely detailed 8k wallpaper best quality), 1 girl, flowers, tree | 更高质量 |
水彩风 | (masterpiece, extremely detailed 8k wallpaper, best quality), watercolor_medium, 1 girl, flowers, tree | 水彩风格 |
黏土风 | (masterpiece, extremely detailed 8k wallpaper, best quality), claymation_style, 1 girl, flowers, tree | 黏土风格 |
电影风 | (masterpiece, extremely detailed 8k wallpaper, best quality), cinematic film still , 1 girl, flowers, tree | 电影质感 |
无主体描述 | (masterpiece, best quality), 1 mechanical girl | 简单主体 |
有主体描述 | (masterpiece, best quality), 1 mechanical girl, cg, blue eyes, android, expressionless,gear, metallic skin, future technology, full body | 细节丰富 |
无场景描述 | (masterpiece, best quality), 1 mechanical girl, cg, blue eyes, android, expressionless,gear, metallic skin, future technology, full body | 单一背景 |
有场景描述 | (masterpiece, best quality), 1 mechanical girl, cg, blue eyes, android, expressionless,gear, metallic skin, future technology, full body, abandoned amusement park, backlight at dusk | 场景丰富 |
进阶技巧
技巧1: 关键词权重调节
语法 | 符号及说明 | 备注 |
括号+数字 | (word: 1.4):表示word的权重提升为1.4倍 | - |
套括号 | (((word))):圆括号,每套一层权重x1.1倍 | 嵌套层数不宜过多 |
示例对比:
- Prompt "masterpiece, best quality, 1 girl, (flower:2) , tree" → 花朵更突出
- Prompt "masterpiece, best quality, 1 girl, (flower:0.1), tree " → 花朵弱化
技巧2: 关键词融合
融合方式 | 语法 | 说明 | 示例 |
混合 | attribute1 | attribute2 | subject | 对描述同一对象的多个关键词进行混合 | white | yellow flower → 生成黄色和白色混合的花 |
迁移 | [attribute1 | attribute2 | attribute3] subject | 同一对象连续生成多个不同特征,不断迁移 | [white | red | blue] flower → 先生成白花,再生成红花,再生成蓝花 |
迭代 | [keyword1: keyword2: factor],factor取值区间为[0,1] | 与采样进程关联,前后生成不同对象 | [white flower: bush: 0.8] → 进程80%之前生成白花,80%之后生成灌木 |
提示词调度示例:
- Prompt "Oil painting portrait of [cat: rabbit: 0.5] ",采样步数为30时,1-15步生成猫的油画,16-30步生成兔子的油画。
技巧3:划分提示语块
在语块(prompt chunk)开头的标记可能更有效,可使用关键字 "BREAK "来开始一个语块,避免关键词混合。
- 示例:
- 正确:photo of a woman in white hat BREAK blue dress → 帽子白色,裙子蓝色
- 错误:photo of a woman in white hat blue dress → 可能混合颜色
反向提示词Negative Prompt
组成结构
种类 | 说明 | 示例 |
整体提示词 | 强调图片质量、整体结构的词汇 | ugly, lowres, bad anatomy, worst quality, low quality, normal quality |
细节提示词 | Stable Diffusion出图效果中经常出现错误的词汇 | fused ears, one hand with more than 5 fingers, disfigured, malformed, mutated, multiple breasts, etc. |
示例对比:
- 正向Prompt:1girl, 18 years old, real person, sweater, white background, hands a cup of cafe
- 无Negative Prompt:可能出现手部畸形
- 有Negative Prompt:bad hands, missing fingers, one hand with more than 5 fingers → 手部正常
调参技巧
采样方式
类别与特点
采样器类别 | 介绍 |
经典ODE采样器 | Euler:简单快速 |
祖先采样器 | 命名带字母a (ancestor),会在每个采样步骤向图像添加噪声,结果具有随机性,不收敛 |
DPM系列 | DPM:自适应调整步长,速度可能较慢,对prompt利用率高 |
Karras | 基于Karras噪声时间表,约8步采样后噪点更小,有助于提高图片质量 |
选取建议
- 简单图像:选用Euler、Euler a或Heun(可减少步长以节省时间)
- 速度与质量平衡:选用DPM++ 2M Karras、DPM++ 2M
- 高质量与多样性:选用DPM++ 2M SDE Karras、DPM++ SDE Karras
- 稳定性与可复现:避免祖先采样方式(含a或SDE的采样器)
采样步数
- 作用:步数越多,图像迭代越精准,但过高步数(如超过50步)对整体质量影响不大,一般设定20-30步合适。
- 示例:步长10→20→50,输出细节逐渐精细。
图像尺寸(分辨率)
- 影响:分辨率太小易模糊,太大易导致计算慢或显存不足,需兼顾设备性能与质量。
- 示例:768×768→768×1024→1024×1024,细节逐渐丰富。
风格
SD-XL预设风格及对应tag如下:
风格名称 | 正向风格tag | 反向过滤tag |
Enhance | breathtaking {prompt} . award-winning, professional, highly detailed | ugly, deformed, noisy, blurry, distorted, grainy |
Anime | anime artwork {prompt} . anime style, key visual, vibrant, studio anime | photo, deformed, black and white, realism, disfigured, low contrast |
Photographic | cinematic photo {prompt} . 35mm photograph, film, bokeh, professional | drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry |
Digital art | concept art {prompt} . digital artwork, illustrative, painterly | photo, photorealistic, realism, ugly |
Comic book | comic {prompt} . graphic illustration, comic art, graphic novel art | photograph, deformed, glitch, noisy, realistic, stock photo |
Fantasy art | ethereal fantasy concept art of {prompt} . magnificent, celestial, ethereal | photographic, realistic, 35mm film, dslr, cropped, frame, text, deformed |
Analog film | analog film photo {prompt} . faded film, desaturated, 35mm photo | painting, drawing, illustration, glitch, deformed, mutated |
Neonpunk | neonpunk style {prompt} . cyberpunk, vaporwave, neon, vibes, vibrant | painting, drawing, illustration, glitch, deformed, mutated |
Isometric | isometric style {prompt} . vibrant, beautiful, crisp, detailed | deformed, mutated, ugly, disfigured, blur, blurry, noise |
Lowpoly | low-poly style {prompt} . low-poly game art, polygon mesh, jagged | noisy, sloppy, messy, grainy, highly detailed, ultra textured, photo |
Origami | origami style {prompt} . paper art, pleated paper, folded | noisy, sloppy, messy, grainy, highly detailed, ultra textured, photo |
Line art | line art drawing {prompt} . professional, sleek, modern, minimalist | anime, photorealistic, 35mm film, deformed, glitch, blurry, noisy |
Craft clay | play-doh style {prompt} . sculpture, clay art, centered composition | sloppy, messy, grainy, highly detailed, ultra textured, photo |
Cinematic | cinematic film still {prompt} . shallow depth of field, vignette, highly detailed | anime, cartoon, graphic, text, painting, crayon, graphite, abstract |
3d-model | professional 3d model {prompt} . octane render, highly detailed | ugly, deformed, noisy, low poly, blurry, painting |
pixel art | pixel-art {prompt} . low-res, blocky, pixel art style | sloppy, messy, blurry, noisy, highly detailed, ultra textured, photo |
Texture | texture {prompt} top down close-up | ugly, deformed, noisy, blurry |
提示词相关性(CFG Scale)
- 范围:1-30,默认值7。
- 影响:数值越大,模型遵循Prompt程度越高,但过高易导致图像变形、色彩过饱和,安全取值范围7~12。
随机种子(Seed)
- 作用:
- 控制生成图片的随机性,不同种子产生不同风格。
- 确保结果可重现性,相同参数(含Seed)生成图像基本一致。
- 应用场景:
- 随机性控制:调整种子数值获取不同效果。
- 结果复现:固定种子用于实验对比。
- 参数调优:尝试不同种子找到最佳效果。