comfy-ui
一文带你深入理解StableDiffusion | AI工程随想 | 2024年06月13日 19:00:一文带你深入理解Stable Diffusion原理,一起走进AIGC吧!
- Stable Diffusion,功能是文生图(txt2img)和图生图(img2img)
- 文本编码(TextEncoder)模块,扩散模块(Duffusion),图片解码(Decoder)模块
- 输入的prompt由一系列单词组成,每个单词都可以转换成一个Token,接下来将Token转换成一个长度是768长度的词嵌表(Embedding),每个Token对应表格中的一行。接下来将Embedding送入transformer单元进一步操作,生成关键的控制信息,这可以控制噪声数据的生成。
- 分词Token,可进一步用TF - IDF/Word2Vec/BERT将文本转成数值--词向量Word Embeddings,捕捉到 Token 的语义和语法信息
- 模型是“潜在扩散模型”(latent diffusion model;LDM),图片变糊(噪声图),再逆推。
- 编解码是变分自编码器(Variational AutoEncoder, VAE),编码器将提取图像特征,并将图像压缩为一个向量(Tensor),解码是反向操作。
06-提示词应用技巧 | 多仔 | 2025年04月01日 18:36:多仔的教学笔记。
- 提示词(正反向、权重、图片反推、相关网站)+模型
- 主体、道具、动作、环境、风格(模型决定)、构图(“对角线构图”、“中心构图”、“广角镜头”、“长焦镜头”)
超详细!ComfyUI 全方位入门指南,初学者必看,附多个实践操作 | HuangJiaRun研究院 | 2024年09月17日 09:17:本文将为你提供一份全面的 ComfyUI 入门指南,涵盖从 ComfyUI 的介绍,到它的生图工作流程,再到实操。我将通过简单的一些生图流程案例来向你介绍 ComfyUI 中的各项操作。
- ComfyUI:Stable Diffusion 的可视化工作流GUI
- 节点:每个节点可看作一个函数,具有输入、输出和参数三个属性,承担特定功能,像
Load Checkpoint节点用于加载模型 。 - 边:连接各个节点输入和输出的线,用于传递数据,构建整个工作流的逻辑关系。
- 节点:每个节点可看作一个函数,具有输入、输出和参数三个属性,承担特定功能,像
- 文生图(Text-to-Image):在
CLIP Text Encode节点输入正向和负面提示语,经文本编码器转换为模型可理解的向量嵌入,在潜在空间中对随机噪声图像去噪,再通过VAE解码得到最终图像。例如输入“美丽风景,自然,玻璃瓶,风景,紫色星系”等提示语生成对应图像。 - 图生图(Image-to-Image):以已有图像为基础,通过创建
Load Image和VAE Encode节点,将图像转换到潜在空间,结合提示语在潜在空间调整,再经VAE解码生成新图像。比如将实拍美食图转换为动漫风格图像。 - Inpainting(修复画作):用于替换或编辑图像特定区域,依赖遮罩确定填充区域。基于图生图工作流,在
Load Image节点上传图像并设置遮罩,定义修复提示语和参数,实现去除缺陷或替换区域等操作。 - Outpainting(扩展画作):将图像扩展到原始边界之外的技术。基于Inpainting工作流修改,添加
Pad Image for Outpainting和VAE Encode(for Inpainting)节点,配置相关参数和提示语,实现图像扩展和元素修改。 - Upscale(图像放大):在ComfyUI中有像素放大和潜在空间放大两种方式。像素放大可使用算法或模型,算法放大速度快但效果可能不佳,模型放大效果好但速度慢;潜在空间放大在潜在空间对文生图得到的图像进行放大,能丰富细节但可能与原始图像有偏差。
- Embeddings(文本反演):prompt 中附加
embedding:[Embedding名称],模型按embedding中的图像特征生成对应风格图片。可通过安装ComfyUI-Custom-Scripts自定义节点实现名称自动补全,并可调整权重。 - LoRA(低秩适应):用于修改和微调
Load Checkpoint模型的小型模型文件。通过添加Load LoRA节点使用,可添加特定风格生成能力或更好生成特定主题内容,多个LoRA可串联使用,且不影响VAE,不改变图像整体结构。
案例
AIGC助力品牌提案,视觉样机生成 | visuelle | 2025年04月13日 20:30:
AIGC设计分享丨GPT 4o 辅助IP设计应用流程丨文末有GPT工具分享 | 星话世界 | 2025年04月01日 13:44:
文生视频黑马AnimateDiff 魔搭社区最佳实践教程来啦! | 魔搭ModelScope社区 | 2023年11月27日 23:17:AnimateDiff 魔搭社区可下载、推理、训练体验!
# python pipeline 伪代码
# animatediff 模型,让图片运动
motion_adapter = MotionAdapter.from_pretrained(model_dir="animatediff")
# Realistic_Vision_V5.1_noVAE模型,是Stable Diffusion 1.5 微调得到的,生成图片。
# pipeline 组装 图片+运动
pipe = AnimateDiffPipeline.from_pretrained(model_dir="Realistic_Vision_V5.1_noVAE", motion_adapter=motion_adapter)
# 运动参数配置:关闭样本裁剪(保持生成稳定性)、时间步均匀分布(优化动画流畅度)
pipe.scheduler = DDIMScheduler.from_pretrained(clip_sample=False, timestep_spacing="linspace")
# 性能优化:切片处理大模型(节省显存)、转移部分计算到CPU(防止爆显存)
pipe.enable_vae_slicing()
pipe.enable_model_cpu_offload()
# 输出=输入;参数:想让AI画的内容、不想出现的元素、生成16帧动画、控制创造力强度(7.5是常用值)、固定随机种子(确保可重复结果)
output = pipe(prompt="日落码头..." negative="低质量", num_frames=16, guidance=7.5, seed=42)
# 导出为动画
export_to_gif(output.frames[0], "animation.gif")