HyperAI

Tutoriel Sur Le Flux De Travail De Restauration D'images ComfyUI LanPaint

1. Introduction au tutoriel

LanPaint est un outil de réparation d'image local open source publié en mars 2025. Il utilise une méthode d'inférence innovante pour adapter une variété de modèles de diffusion stables (y compris des modèles personnalisés) sans formation supplémentaire, permettant ainsi une restauration d'image de haute qualité. Par rapport aux méthodes traditionnelles, LanPaint fournit une solution plus légère qui réduit considérablement les besoins en données de formation et en ressources informatiques. Les résultats pertinents de l'article sontLanpaint : Inpainting par diffusion sans formation avec inférence conditionnelle exacte et rapide".

Ce tutoriel utilise des ressources pour une seule carte RTX 4090.

Ce projet fournit 8 exemples de workflows, utilisant au total les fichiers modèles suivants :

  • animagineXL40_v40pt.safetensors
  • fux1-dev-fp8.safetensors
  • juggernautXL_juggXlByRundiffusion.safetensors
  • clip_l_hidream.safetensors
  • clip_g_hidream.safetensors
  • flux_vae.safetensors
  • hidream-i1-full-Q6_K.gguf
  • t5-v1_1-xxl-encoder-Q4_K_S.gguf
  • Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf

2. Exemples de projets

Tous les exemples utilisent la graine aléatoire 0 pour générer des lots de 4 images afin de permettre une comparaison équitable.

Exemple HiDream : InPaint (échantillonneur LanPaint K, 5 étapes de réflexion)

Cohérence des caractères (génération de vue latérale) (LanPaint K Sampler, 5 étapes de réflexion)

Modèle de flux dans Paint (échantillonneur LanPaint K, 5 étapes de réflexion)

3. Liste des fonctions

  • 🎨Correction de zéro formation:Fonctionne immédiatement avec n'importe quel modèle SD (avec ou sans ControlNet) et modèle Flux ! Même les modèles personnalisés que vous avez formés vous-même.
  • 🛠️Intégration simple: Même flux de travail que le KSampler ComfyUI standard.
  • 🎯  Génération de véritables blancs: Pas besoin de définir la valeur de débruitage par défaut à 0,7 utilisée dans les méthodes traditionnelles (en conservant 30% pixels d'origine dans le masque) : 100% Le nouveau contenu est créé sans écraser le contenu existant.
  • 🌈  Plus qu'un simple repaint:Vous pouvez même l'utiliser comme un moyen simple de générer des caractères cohérents.

4. Étapes de l'opération

1. Après avoir démarré le conteneur, cliquez sur l'adresse API pour accéder à l'interface Web

Si « Bad Gateway » s'affiche, cela signifie que le modèle est en cours d'initialisation. Étant donné que le modèle est grand, veuillez patienter environ 1 à 2 minutes et actualiser la page.

2. Démonstration fonctionnelle

Comment utiliser

1. 导入工作流  

Ce projet comporte 8 exemples de workflows intégrés.
Adresse de téléchargement du workflow :Téléchargement d'un exemple de flux de travail

2. 本教程 Demo 已将工作流搭建好,仅需修改「CLIP Text Encode(Prompt)」,
并分别在「Original Image」和「Mask Image for inpainting」节点处上传对应的图片,
即可点击「run」来运行。

Les étapes suivantes prennent l’exemple 6 comme exemple. Pour le premier clone, vous devez ouvrir manuellement le workflow dans le dossier pour le charger. Ouvrez InPainted_Drag_Me_to_ComfyUI.png dans ComfyUI et chargez le flux de travail. 

3. 将 Original_No_Mask.png 上传到 Load image 组(最左侧)中的 Original Image 节点(左一)。

4. 将 Masked_Load_Me_in_Loader.png 上传到 Mask image for inpainting 组中的 Load image 节点(左二)。
5. 本教程已添加了 8 个样例工作流所需的模型文件并且每个工作流会自行选择模型,您可以跳过此步骤,执行下一步(注意:若使用非样例工作流,请根据需求自行选择或下载模型)。
6. 设置基本采样器的参数,项目已设置好默认参数,若您无需修改参数,可以跳过此步骤,执行下一步。
LanPaint KSampler

Interface simplifiée, les paramètres par défaut sont recommandés :

  • Étapes : 50+ est recommandé.
  • LanPaint NumSteps : nombre de fois à réfléchir avant de débruiter. 5 est recommandé pour la plupart des tâches.
  • LanPaint EndSigma : Lorsque le niveau de bruit descend en dessous de ce niveau, la réflexion sera désactivée. Le paramètre recommandé est 0,6 pour un style réaliste (testé sur Juggernaut-xl) et 3,0 pour un style anime (testé sur Animagine XL 4.0).

LanPaint KSampler (avancé)

paramètreportéedécrire
Steps0-100Le nombre total d'étapes d'échantillonnage par diffusion. Plus le nombre d'étapes est élevé, meilleur est l'effet de réparation. Le réglage recommandé est 50.
LanPaint_NumSteps0-20Le nombre d'itérations d'inférence (« profondeur de réflexion ») pour chaque étape de débruitage. Tâches simples : 1-2. Difficulté des tâches : 5-10
LanPaint_Lambda0.1-50Force d'alignement du contenu (plus elle est élevée, plus elle est stricte). Recommandé 8.0
LanPaint_StepSize0.1-1.0La taille de pas recommandée pour chaque étape de réflexion est de 0,5.
LanPaint_EndSigma0.0-20.0Le niveau de bruit en dessous duquel la pensée est désactivée. La valeur recommandée est de 0,3 à 3. Des valeurs plus élevées sont plus rapides, mais peuvent compromettre la qualité. Des valeurs plus faibles donnent une réflexion plus robuste mais peuvent brouiller le résultat.
LanPaint_cfg_BIG-20-20Rapport CFG à utiliser lors de l'alignement des zones masquées et non masquées (les valeurs positives ont tendance à ignorer les signaux, les valeurs négatives améliorent les signaux). Lorsque le signal n’est pas important, le 8 est recommandé pour une restauration transparente (par exemple, membres, visage). Lorsque les indices sont importants, comme la cohérence des caractères (c'est-à-dire plusieurs vues), -0,5 est recommandé.
7. 点击「Run」按钮,生成结果图像
8. 您将通过 3 种方法获得最终的图像

5. Discussion

🖌️ Si vous voyez un projet de haute qualité, veuillez laisser un message en arrière-plan pour le recommander ! De plus, nous avons également créé un groupe d’échange de tutoriels. Bienvenue aux amis pour scanner le code QR et commenter [Tutoriel SD] pour rejoindre le groupe pour discuter de divers problèmes techniques et partager les résultats de l'application↓ 

Informations sur la citation

Les informations de citation pour ce projet sont les suivantes :

@misc{zheng2025lanpainttrainingfreediffusioninpainting,
      title={Lanpaint: Training-Free Diffusion Inpainting with Exact and Fast Conditional Inference}, 
      author={Candi Zheng and Yuan Lan and Yang Wang},
      year={2025},
      eprint={2502.03491},
      archivePrefix={arXiv},
      primaryClass={eess.IV},
      url={https://arxiv.org/abs/2502.03491}, 
}