AI 生图高级技术 (2025-2026)
最后更新: 2026年4月30日 | 状态: 高级研究 覆盖范围: ComfyUI 高级工作流、LoRA 训练、区域控制、批量生产管线
1. ComfyUI 高级工作流模式
1.1 高分辨率修复(Hires Fix)完整管线
[Base Generation 1024px] → [VAE Decode] → [Upscale (4x-UltraSharp)]
↓
[VAE Encode] → [KSampler 2nd pass (denoise=0.35)] → [FaceDetailer] → [Save]
关键参数:
- 第 1 次采样: steps=20, guidance=3.5, sampler=euler, scheduler=simple
- 第 2 次采样: steps=15, denoise=0.35, sampler=euler_ancestral
- denoise >0.4 会改变构图,<0.25 仅锐化无细节增强
1.2 批量角色一致性管线
[Load 5 Reference Images] → [IPAdapter Batch] → [Average Embeddings]
↓
[Flux Model + LoRA] → [KSampler] → [FaceDetailer per image]
一致性评分标准:
- CLIP 相似度 >0.85 为"高一致"
- 使用 CLIP Vision 节点计算生成图与参考图的 CLIP 相似度
- 自动过滤 <0.80 的结果并重试
2. LoRA 训练进阶
2.1 数据集准备
- 图像数量: 20-50 张(角色),50-200 张(风格)
- 图像质量: 1024px+,清晰面部,多视角/光照
- 标注格式:
caption.txt每行trigger_word, detailed description - 数据增强: 水平翻转(对称角色)、小幅旋转(±5°) 照
- 标注格式:
caption.txt每行trigger_word, detailed description - 数据增强: 水平翻转(对称角色)、小幅旋转(±5°)### 2.2 kohya-ss 训练配置(Flux.1 专用)
{ "model_name": "flux1-dev.safetensors", "train_data_dir": "./train_images", "output_dir": "./output", "output_name": "my_character_v1", "resolution": [1024, 1024], "batch_size": 1, "gradient_accumulation_steps": 4, "max_train_steps": 2000, "learning_rate": 2e-4, "lr_scheduler": "cosine_with_restarts", "lr_warmup_steps": 100, "optimizer_type": "AdamW8bit", "network_module": "networks.lora_flux", "network_dim": 32, "network_alpha": 16, "train_unet": true, "train_text_encoder": false, "prior_loss_weight": 1.0, "mixed_precision": "fp16", "save_every_n_epochs": 5, "sample_prompts": "sample_prompts.txt", "sample_every_n_steps": 200 }
2.3 过拟合检测与预防
- 监控损失曲线: 训练损失持续下降但验证损失上升 = 过拟合
- 早停策略: 当验证损失连续 3 个 checkpoint 不下降时停止
- 正则化图像: 使用 10-20 张同类风格但不同主体的图像作为正则化
- Dropout 率: 0.05-0.1 适用于 50+ 图像数据集,0.1-0.15 适用于 20-50 张
3. 区域控制高级技巧
3.1 多层区域条件化
[Positive Prompt A] → [ConditioningSetArea] (top 50%) → ┐
├──→ [ConditioningCombine] → KSampler
[Positive Prompt B] → [ConditioningSetArea] (bottom 50%) →┘
适用场景: - 上半身:角色肖像,下半身:环境/服装 - 前景:主体,背景:场景 - 左侧:角色 A,右侧:角色 B itioningSetArea] (bottom 50%) →┘
[Depth ControlNet] (strength=0.8, start=0.0, end=0.6) [Canny ControlNet] (strength=0.5, start=0.2, end=0.8) [OpenPose ControlNet] (strength=0.7, start=0.0, end=0.9)- 不同 ControlNet 在不同采样阶段生效
- 结构控制(Depth)早期介入,细节控制(Canny)中期介入
- 姿势控制(OpenPose)贯穿全程
---
## 4. 批量生产管线
### 4.1 自动化脚本
```python
import subprocess
import json
import glob
def batch_generate(api_url, workflow_path, prompt_template, count=50):
"""批量生成管线"""
for i in range(count):
# 加载工作流模板
with open(workflow_path) as f:
workflow = json.load(f)
# 替换提示词
prompt = prompt_template.format(seed=i)
workflow['123']['inputs']['text'] = prompt # CLIP Text Encode 节点 ID
workflow['124']['inputs']['text'] = '' # Negative prompt
# 发送到 ComfyUI API
resp = requests.post(f"{api_url}/prompt", json={"prompt": workflow})
task_id = resp.json()['prompt_id']
# 轮询结果
result = wait_for_completion(api_url, task_id)
save_image(result, f"output/batch_{i:04d}.png")
def wait_for_completion(api_url, task_id):
while True:
resp = requests.get(f"{api_url}/history/{task_id}")
data = resp.json()
if task_id in data:
return data[task_id]['outputs']
time.sleep(2)
import torch
from transformers import CLIPProcessor, CLIPModel
def quality_filter(image_path, reference_path, threshold=0.80):
"""使用 CLIP 相似度自动过滤低质量生成"""
model = CLIPModel.from_pretrained("openai/clip-vit-large-patch14")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-large-patch14")
image1 = Image.open(image_path)
image2 = Image.open(reference_path)
inputs = processor(images=[image1, image2], return_tensors="pt", padding=True)
with torch.no_grad():
embeddings = model.get_image_features(pixel_values=inputs['pixel_values'])
similarity = torch.cosine_similarity(embeddings[0], embeddings[1], dim=0)
return similarity.item() >= threshold
5. 性能优化
5.1 多 GPU 策略
- 模型并行: DiT 模型太大无法单卡容纳时使用
- 数据并行: 不同 GPU 生成不同提示词/seed
- ComfyUI 分布式: 使用
comfyui-remote节点跨 GPU 分配工作
5.2 显存优化技巧
| 技术 | 显存节省 | 质量影响 |
|---|---|---|
| FP8 量化 | ~50% | 可忽略 |
| T5 CPU 卸载 | ~6GB | 轻微速度降低 |
| 梯度检查点 | ~40% | 推理中不适用 |
| 分块 VAE 解码 | ~70% | 无影响 |
| LoRA 融合 | ~1GB/LoRA | 不可逆,但速度提升 |
文档更新日期: 2026年4月30日 | 来源: ComfyUI 社区、kohya-ss 文档、HuggingFace 模型卡片