FLUX.1-Kontext-dev: KI-Modell zur Bildvergrößerung

KI-Modell zur Erweiterung von Bildern mit Textanweisungen

Inhaltsverzeichnis

Black Forest Labs hat FLUX.1-Kontext-dev veröffentlicht, ein fortschrittliches Bild-zu-Bild-KI-Modell, das bestehende Bilder mithilfe von Textanweisungen erweitert.

Im Gegensatz zu FLUX.1-dev, das Bilder nur aus Text generiert, nimmt FLUX.1-Kontext-dev sowohl ein Eingabebild als auch eine Textanweisung, um modifizierte Versionen zu erstellen, während wichtige Elemente beibehalten werden.

Gopher auf einem Fahrrad Dieses Bild demonstriert die Fähigkeit von FLUX.1-Kontext-dev, Bilder zu erweitern.

Das ursprüngliche Go-Maskottchen-Bild:

Gopher Go Logo

wurde mit der Anweisung dieser Gopher fährt auf dem Fahrrad auf der hügeligen Straße transformiert. Ein anständiges Ergebnis, nicht wahr?

Was ist FLUX.1-Kontext-dev?

FLUX.1-Kontext-dev ist für In-Context-Bilderzeugung und -bearbeitung entwickelt. Wichtige Funktionen umfassen:

  • Charakterkonsistenz: Bewahrt einzigartige Elemente (wie Charaktere oder Objekte) in mehreren Szenen bei
  • Lokale Bearbeitung: Ändert spezifische Teile eines Bildes, ohne den Rest zu beeinflussen
  • Stilreferenz: Generiert neue Szenen, während Stile aus Referenzbildern beibehalten werden
  • Bilderweiterung: Transformiert Bilder basierend auf Textanweisungen

Installation

Voraussetzungen

Sie benötigen:

  • 16GB+ VRAM auf Ihrer GPU (NVIDIA RTX empfohlen)
  • Python 3.8+ mit pip
  • Zugang zu Hugging Face (Konto und Token)

Einrichtungsschritte

  1. Erstellen Sie ein Hugging Face-Konto unter huggingface.co, falls Sie noch keines haben

  2. Besuchen Sie die Modellseite: https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

  3. Akzeptieren Sie die Lizenzvereinbarung (nicht-kommerzielle Nutzung)

  4. Erstellen Sie ein Schreibzugriffstoken unter https://huggingface.co/settings/tokens

  5. Laden Sie das Modell herunter:

git clone https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

Oder verwenden Sie den Modellpfad direkt in Ihrem Code.

Installation

Installieren Sie die erforderlichen Python-Pakete:

pip install -U diffusers torch transformers pillow accelerate sentencepiece

Oder mit uv:

cd tools/fkon
uv sync

Verwendung

Grundlegendes Python-Skript

Hier ist ein vollständiges Beispiel mit FLUX.1-Kontext-dev:

import torch
from diffusers import FluxKontextPipeline
from PIL import Image

# Laden Sie das Modell
model_path = "/pfad/zu/FLUX.1-Kontext-dev"
pipe = FluxKontextPipeline.from_pretrained(
    model_path,
    torch_dtype=torch.bfloat16
)

# Aktivieren Sie die CPU-Entlastung, um VRAM zu sparen
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()

# Laden Sie Ihr Eingabebild
input_image = Image.open("pfad/zu/ihrem/bild.png").convert("RGB")

# Definieren Sie Ihren Erweiterungs-Prompt
prompt = "dieser Gopher fährt auf dem Fahrrad auf der hügeligen Straße"

# Generieren Sie ein erweitertes Bild
result = pipe(
    prompt=prompt,
    image=input_image,
    height=496,
    width=680,
    guidance_scale=3.5,
    num_inference_steps=60,
    max_sequence_length=512,
    generator=torch.Generator("cpu").manual_seed(42)
)

# Speichern Sie das Ergebnis
output_image = result.images[0]
output_image.save("erweitertes_bild.jpg")

Dimensionshandhabung

FLUX.1-Kontext-dev hat spezifische Dimensionsanforderungen:

  • Vielfache von 16: Die Abmessungen sollten Vielfache von 16 sein
  • Automatische Anpassung: Das Modell kann Abmessungen anpassen, um seinen Anforderungen zu entsprechen
  • Ausgabeneugrößen: Unser Tool skaliert die Ausgabe automatisch auf die angeforderten Abmessungen zurück

Das Tool handelt dies wie folgt:

  1. Runden der angeforderten Abmessungen auf Vielfache von 16
  2. Skalieren des Eingabebildes auf die gerundeten Abmessungen
  3. Generieren des Bildes (das Modell kann weiter anpassen)
  4. Skalieren der Ausgabe zurück auf Ihre angeforderten Abmessungen

Beispielanwendungsfälle

  1. Charaktertransformation

Transformieren Sie einen Charakter, während die Konsistenz beibehalten wird:

prompt = "dieser Gopher fährt auf dem Fahrrad auf der hügeligen Straße"
  1. Objektrentfernung

Entfernen Sie unerwünschte Elemente:

prompt = "bitte entfernen Sie die Person, die als Minnie Mouse verkleidet ist, aus diesem Foto"

Tipps und Best Practices

  1. VRAM-Verwaltung: Verwenden Sie enable_model_cpu_offload(), wenn Sie begrenztes VRAM haben
  2. Dimensionsplanung: Fordern Sie Abmessungen an, die Vielfache von 16 sind, um Anpassungen zu minimieren
  3. Prompt-Klarheit: Seien Sie in Ihren Textanweisungen spezifisch für bessere Ergebnisse
  4. Batch-Generierung: Generieren Sie mehrere Variationen (--n 4), um das beste Ergebnis zu erhalten
  5. Seed-Kontrolle: Verwenden Sie manuelle Seeds für reproduzierbare Ergebnisse

Einschränkungen

  • Nicht-kommerzielle Lizenz: Erfordert eine kommerzielle Lizenz für die geschäftliche Nutzung
  • Hardwareintensiv: Benötigt eine leistungsstarke GPU mit erheblichem VRAM
  • Dimensionsbeschränkungen: Kann Abmessungen automatisch anpassen
  • Verarbeitungszeit: Kann je nach Hardware 10-15 Minuten pro Bild dauern