ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AI绘画第三步,用Lora+ChilloutMix创造逼·真的小姐姐!

AI绘画第三步,用Lora+ChilloutMix创造逼·真的小姐姐! 1. 为什么 ChilloutMix Lora 是写实人像的黄金组合如果你已经在本地跑通了 Stable Diffusion WebUI也下载过几个 checkpoint 模型但生成的人物总是差一口气——脸崩、手崩、皮肤像塑料、光影不自然那大概率不是你的提示词写得不好而是基础模型和微调权重没搭配对。ChilloutMix 是 Stable Diffusion 生态里专门针对写实亚洲人像优化过的 checkpoint它在皮肤质感、五官比例、光影过渡上的表现比原版 SD1.5 强出一大截。而 Lora 是一种轻量级的微调权重可以在不替换基础模型的前提下往生成结果里注入特定的人物特征、服装风格或姿态倾向。把这两者组合起来用你就能在本地或云端完成一次可控性很强的写实人物出图。这篇内容面向的是已经装好 WebUI、想从零生成逼真人物图像的 AI 绘画爱好者我会把 Lora 权重加载配置、ChilloutMix 参数骨架、生成验证动作都拆成可复制的步骤。如果你还没装好 WebUI建议先把环境跑通再回来看这篇否则后面的路径操作你会对不上。另外提一句如果你不想在本地折腾显卡驱动和 Python 环境也可以用云端算力跑 WebUI把模型和 Lora 传到云端实例里效果是一样的。下面进入实操。2. 前置准备模型文件、目录结构与 TaoToken 接入2.1 ChilloutMix 与 Lora 文件的获取与存放ChilloutMix 的本质是一个 Stable Diffusion checkpoint 文件常见格式是.safetensors体积在 2GB 到 7GB 之间取决于你下载的是 fp16 还是 fp32 版本。Lora 文件通常只有几十到几百 MB格式也是.safetensors。你需要把这两类文件放到 WebUI 能识别的目录里。假设你的 WebUI 根目录是stable-diffusion-webui那么checkpoint 放到models/Stable-diffusion/Lora 放到models/Lora/放好之后重启 WebUI或者在 WebUI 界面里点刷新按钮模型列表就会更新。这里有个容易踩的坑Lora 文件名里如果有空格或特殊字符WebUI 在提示词里引用时可能会解析失败建议把文件名改成纯英文加下划线比如korean_girl_v2.safetensors。2.2 用 TaoToken 统一管理 API 调用与模型验证如果你除了本地 WebUI还想通过 API 的方式调用模型做批量生成或接入自己的工具链可以用 TaoToken 来统一管理密钥和调用入口。TaoToken 的 API 地址是https://taotoken.net/api你可以在控制台里创建 API Key然后把它填到你的调用脚本或客户端里。具体操作路径先到控制台创建密钥https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsole密钥管理页面在https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keys想先验证模型对话能力可以用模型对话入口https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel接入文档在https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc如果你长期做编码类或 Agent 类任务可以看看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-planClaudeCodeAnthropic 相关入口https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaudecode官网首页https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注意API Key 不要写在前端代码或公开仓库里建议用环境变量注入。3. 可复制配置ChilloutMix 参数骨架与 Lora 权重加载3.1 基础模型切换与参数骨架打开 WebUI 后在左上角的下拉菜单里选择chilloutmix_NiPrunedFp32Fix或你下载的对应版本。然后按下面这套参数骨架来填参数项推荐值说明Sampling methodDPM 2M Karras写实人像常用收敛稳定Sampling steps28–35低于 20 容易糊高于 40 收益递减Width / Height512×768 或 512×512竖构图更适合人像显存不够就降CFG Scale7–9太高会过饱和太低会不听话Seed-1先随机抽出好图后固定 seed 微调Hires. fix开启放大算法用 R-ESRGAN 4xDenoising 0.35–0.5这套骨架不是死的你可以根据显卡显存调整。比如 8GB 显存跑 512×768 加 Hires fix 基本够用6GB 以下建议先关 Hires fix出图后再单独放大。3.2 Lora 提示词结构与权重写法Lora 在提示词里的标准写法是用尖括号包裹格式是lora:文件名:权重比如你的 Lora 文件叫korean_girl_v2.safetensors想用 0.7 的权重就写lora:korean_girl_v2:0.7权重值一般建议在 0.5 到 0.9 之间。太低没效果太高会过拟合导致脸型僵硬或背景崩坏。你可以同时挂多个 Lora但总权重之和最好别超过 1.2否则模型会打架。一个完整的正向提示词示例best quality, ultra realistic, 8k, raw photo, beautiful girl hiking on the mountain, yoga pants, t-shirt, natural lighting, detailed skin texture, lora:korean_girl_v2:0.7负向提示词建议固定一套lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, deformed, ugly3.3 批量生成时的 API 调用配置如果你要用脚本批量跑图可以把 WebUI 的 API 打开然后用 Python 发请求。启动 WebUI 时加上--api参数./webui.sh --api --listen然后调用/sdapi/v1/txt2img接口import requests import json url http://127.0.0.1:7860/sdapi/v1/txt2img payload { prompt: best quality, ultra realistic, beautiful girl hiking, lora:korean_girl_v2:0.7, negative_prompt: lowres, bad anatomy, bad hands, worst quality, steps: 30, cfg_scale: 7, width: 512, height: 768, sampler_name: DPM 2M Karras, seed: -1 } headers {Content-Type: application/json} response requests.post(url, datajson.dumps(payload), headersheaders) result response.json() import base64 with open(output.png, wb) as f: f.write(base64.b64decode(result[images][0]))这段代码跑通后你就能把生成流程接到自己的工具链里比如自动加水印、自动分类、自动上传图床。4. 验证请求与成功结果从抽卡到稳定出图4.1 第一次生成验证配置好之后先别急着调复杂提示词。用最简单的提示词跑一张确认模型和 Lora 都加载成功best quality, beautiful girl, lora:korean_girl_v2:0.7点生成观察三个点出图时间是否正常30 步 512×768 大概 10–20 秒取决于显卡人物脸部是否自然有没有明显崩坏控制台有没有报 Lora 加载失败的警告如果出图正常说明基础链路通了。如果报错Lora file not found检查文件名和路径是否匹配注意大小写。4.2 固定 seed 微调第一次出图后挑一张构图和脸型都不错的把它的 seed 记下来填到 Seed 输入框里。然后微调提示词和 Lora 权重比如把权重从 0.7 调到 0.75或者加一个detailed eyes的描述。这样你就能在保持人物一致性的前提下逐步优化细节。我试过用同一个 seed 跑 10 张只改 Lora 权重和 CFG最后挑出来的图比纯随机抽卡稳定得多。这个方法特别适合做系列图比如同一个人物换服装、换场景。4.3 用 TaoToken 做模型对话验证如果你在调参过程中想快速验证某个提示词的效果又不想每次都跑图可以用 TaoToken 的模型对话入口先做语义验证https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel把提示词丢进去看看模型对描述的理解是否符合预期。虽然对话模型和图像模型不是一回事但用来检查提示词有没有歧义、有没有遗漏关键描述还是挺有用的。5. 本篇常见错排查5.1 Lora 加载失败或提示词不生效最常见的报错是Lora file not found或生成结果完全看不出 Lora 的影响。排查顺序确认 Lora 文件确实在models/Lora/目录下确认文件名和提示词里的引用完全一致包括大小写确认基础模型已经切换到 ChilloutMix而不是默认的 SD1.5确认权重值不是 0也不是负数如果以上都没问题试试把权重调到 1.0 跑一张看有没有变化。如果还是没变化可能是 Lora 和基础模型版本不兼容换一个 Lora 试试。5.2 人物脸部崩坏或手部畸形这是写实人像的经典问题。解决方案分三层第一层提示词里加detailed face, detailed eyes, perfect hands负向提示词里加bad hands, extra fingers, deformed。第二层开启 Hires fixDenoising 设 0.4 左右让放大过程修复细节。第三层如果还不行用 ADetailer 插件单独修复脸部和手部。ADetailer 可以在生成后自动检测人脸和手部区域用单独的提示词重新生成这些区域效果很明显。5.3 显存不足或生成速度过慢如果你看到CUDA out of memory说明显存不够。解决办法降低分辨率从 512×768 降到 512×512关闭 Hires fix出图后再用独立放大工具处理启动 WebUI 时加--medvram或--lowvram参数减少 batch size一次只跑一张速度慢的话检查是不是用了 fp32 版本的模型。fp16 版本体积小一半速度快不少画质差异肉眼几乎看不出来。5.4 API 调用返回空结果或超时如果你用脚本调 API 返回空图先检查 WebUI 是不是用--api启动的。然后确认请求体里的参数名和 WebUI 版本匹配不同版本的 API 字段可能有差异。超时的话把脚本里的 timeout 设长一点或者把 steps 降到 20 先跑通。6. 继续深入从使用 Lora 到训练自己的 Lora用现成的 Lora 能解决大部分写实人像需求但如果你想生成特定人物或特定风格就需要自己训练 Lora。训练 Lora 的核心是准备一组高质量、多角度、多表情的素材图然后用 Kohya_ss 或 WebUI 自带的训练插件跑训练。训练参数里比较关键的是学习率、网络维度和训练步数这三个参数直接决定 Lora 的效果和过拟合程度。训练完成后把生成的.safetensors文件放到models/Lora/目录就可以像用现成 Lora 一样在提示词里引用了。如果你想在训练过程中用 API 做数据预处理或批量打标可以走 TaoToken 的接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdocAPI Key 在控制台创建https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsole密钥管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keys长期做编码或 Agent 类任务的话Coding Plan 入口https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-planClaudeCodeAnthropic 入口https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaudecode官网首页https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content最后说一个实用技巧训练 Lora 时素材图的分辨率不要低于 512×512背景尽量干净人物占比要一致。打标时用自然语言描述不要只写关键词。训练步数先跑 1000 步看看效果不够再加别一上来就跑 5000 步容易过拟合。
返回列表