FLUX.1-Kontext-dev: Model uczenia maszynowego do wzmocnienia obrazów
Model AI do wzbogacania obrazów za pomocą instrukcji tekstowych
Black Forest Labs wydała FLUX.1-Kontext-dev, zaawansowany model AI przekształcający obrazy na podstawie instrukcji tekstowych.
W przeciwieństwie do FLUX.1-dev, który generuje obrazy na podstawie tekstu, FLUX.1-Kontext-dev wykorzystuje zarówno obraz wejściowy, jak i tekstowy prompt, aby utworzyć modyfikowane wersje, zachowując kluczowe elementy.
Ten obraz demonstruje zdolność FLUX.1-Kontext-dev do przekształcania obrazów.
Oryginalny obraz z logotypem Go:

został przekształcony za pomocą instrukcji ten gopher jeździ na rowerze po górzystej drodze. Niezły wynik, nie sądzisz?
Co to jest FLUX.1-Kontext-dev?
FLUX.1-Kontext-dev został zaprojektowany do generowania i edytowania obrazów w kontekście. Kluczowe cechy obejmują:
- Spójność postaci: Zachowuje unikalne elementy (np. postacie lub obiekty) w wielu scenach
- Lokalna edycja: Modyfikuje konkretne części obrazu bez wpływu na resztę
- Odwołanie do stylu: Generuje nowe sceny, zachowując styl z obrazów odniesienia
- Przekształcanie obrazów: Przekształca obrazy na podstawie instrukcji tekstowych
Instalacja
Wymagania wstępne
Potrzebujesz:
- 16 GB+ VRAM na GPU (rekomendowane NVIDIA RTX)
- Python 3.8+ z pip
- Dostęp do Hugging Face (konto i token)
Krok po kroku
-
Utwórz konto Hugging Face na huggingface.co, jeśli nie masz jeszcze jednego
-
Załaduj stronę modelu: https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev
-
Zaakceptuj umowę licencyjną (użycie niekomercyjne)
-
Utwórz token dostępu do zapisu na https://huggingface.co/settings/tokens
-
Pobierz model:
git clone https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev
Lub użyj bezpośrednio ścieżki modelu w swoim kodzie.
Instalacja
Zainstaluj wymagane pakiety Pythona:
pip install -U diffusers torch transformers pillow accelerate sentencepiece
Lub użyj uv:
cd tools/fkon
uv sync
Użycie
Podstawowy skrypt w Pythonie
Oto kompletny przykład użycia FLUX.1-Kontext-dev:
import torch
from diffusers import FluxKontextPipeline
from PIL import Image
# Załaduj model
model_path = "/ścieżka/do/FLUX.1-Kontext-dev"
pipe = FluxKontextPipeline.from_pretrained(
model_path,
torch_dtype=torch.bfloat16
)
# Włącz przekazywanie modelu na CPU, aby zaoszczędzić VRAM
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()
# Załaduj swój obraz wejściowy
input_image = Image.open("ścieżka/do/tego/obrazu.png").convert("RGB")
# Zdefiniuj swój prompt do przekształcenia
prompt = "ten gopher jeździ na rowerze po górzystej drodze"
# Wygeneruj przekształcony obraz
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)
)
# Zapisz wynik
output_image = result.images[0]
output_image.save("augmented_image.jpg")
Obsługa wymiarów
FLUX.1-Kontext-dev ma konkretne wymagania dotyczące wymiarów:
- Krotności 16: Wymiar powinien być wielokrotnością 16
- Automatyczna korekta: Model może dostosować wymiary, aby spełnić swoje wymagania
- Przeskalowanie wyniku: Nasz narzędzie automatycznie przeskaluje wynik z powrotem do żądanych wymiarów
Narzędzie to działa w następujący sposób:
- Zaokrągla żądane wymiary do wielokrotności 16
- Przeskalowuje obraz wejściowy do zaokrąglonych wymiarów
- Generuje obraz (model może dalej dostosować)
- Przeskalowuje wynik z powrotem do żądanych wymiarów
Przykładowe zastosowania
- Przekształcenie postaci
Przekształć postać, zachowując spójność:
prompt = "ten gopher jeździ na rowerze po górzystej drodze"
- Usuwanie obiektów
Usuń niechciane elementy:
prompt = "proszę usunąć człowieka ubranego jako Minnie Mouse z tego zdjęcia"
Wskazówki i najlepsze praktyki
- Zarządzanie VRAM: Użyj
enable_model_cpu_offload()jeśli masz ograniczony VRAM - Planowanie wymiarów: Żądaj wymiarów, które są wielokrotnością 16, aby minimalizować korekty
- Jasność promptów: Bądź konkretny w swoich instrukcjach tekstowych, aby uzyskać lepsze wyniki
- Generowanie wersji: Generuj wiele wersji (
--n 4), aby uzyskać najlepszy wynik - Kontrola seedów: Użyj ręcznych seedów, aby uzyskać powtarzalne wyniki
Ograniczenia
- Licencja niekomercyjna: Wymaga licencji komercyjnej do użytku w biznesie
- Wymagający sprzęt: Wymaga potężnej GPU z dużą ilością VRAM
- Ograniczenia wymiarów: Może automatycznie dostosować wymiary
- Czas przetwarzania: Może zajmować 10–15 minut na obraz w zależności od sprzętu