FLUX.1-Kontext-dev: Modello AI per l'incremento delle immagini

Modello AI per l'aumento di immagini con istruzioni testuali

Indice

Black Forest Labs ha rilasciato FLUX.1-Kontext-dev, un avanzato modello AI image-to-image che migliora le immagini esistenti utilizzando istruzioni testuali.

A differenza di FLUX.1-dev che genera immagini solo da testo, FLUX.1-Kontext-dev utilizza sia un’immagine di input che un prompt testuale per creare versioni modificate mantenendo gli elementi chiave.

gopher su una bicicletta Questa immagine dimostra la capacità di FLUX.1-Kontext-dev di migliorare le immagini.

L’immagine originale del mascotte Go:

Gopher Go logo

è stata trasformata con l’istruzione this gopher rides on the bicycle on the hilly road. Un risultato decente, non è vero?

Cosa è FLUX.1-Kontext-dev?

FLUX.1-Kontext-dev è progettato per la generazione e modifica di immagini in contesto. Le caratteristiche principali includono:

  • Consistenza dei personaggi: Preserva elementi unici (come personaggi o oggetti) in diversi scenari
  • Modifica locale: Modifica parti specifiche di un’immagine senza influenzare il resto
  • Riferimento dello stile: Genera nuovi scenari mantenendo gli stili delle immagini di riferimento
  • Aumento delle immagini: Trasforma le immagini in base a istruzioni testuali

Installazione

Requisiti

Hai bisogno di:

  • 16 GB+ VRAM sulla tua GPU (si consiglia NVIDIA RTX)
  • Python 3.8+ con pip
  • Accesso a Hugging Face (account e token)

Passaggi per l’installazione

  1. Crea un account Hugging Face su huggingface.co se non ne hai uno

  2. Visita la pagina del modello: https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

  3. Accetta l’accordo di licenza (uso non commerciale)

  4. Crea un token di accesso in scrittura su https://huggingface.co/settings/tokens

  5. Scarica il modello:

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

Oppure utilizza il percorso del modello direttamente nel tuo codice.

Installazione

Installa i pacchetti Python necessari:

pip install -U diffusers torch transformers pillow accelerate sentencepiece

Oppure utilizzando uv:

cd tools/fkon
uv sync

Utilizzo

Script Python base

Ecco un esempio completo utilizzando FLUX.1-Kontext-dev:

import torch
from diffusers import FluxKontextPipeline
from PIL import Image

# Carica il modello
model_path = "/path/to/FLUX.1-Kontext-dev"
pipe = FluxKontextPipeline.from_pretrained(
    model_path, 
    torch_dtype=torch.bfloat16
)

# Abilita l'offloading della CPU per risparmiare VRAM
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()

# Carica la tua immagine di input
input_image = Image.open("path/to/your/image.png").convert("RGB")

# Definisci il prompt di aumento
prompt = "this gopher rides on the bicycle on the hilly road"

# Genera l'immagine aumentata
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)
)

# Salva il risultato
output_image = result.images[0]
output_image.save("augmented_image.jpg")

Gestione delle dimensioni

FLUX.1-Kontext-dev ha requisiti specifici per le dimensioni:

  • Multipli di 16: Le dimensioni devono essere multipli di 16
  • Regolazione automatica: Il modello potrebbe regolare le dimensioni per soddisfare i suoi requisiti
  • Ridimensionamento dell’output: Il nostro strumento ridimensiona automaticamente l’output alle dimensioni richieste

Lo strumento gestisce questo in questo modo:

  1. Arrotonda le dimensioni richieste ai multipli di 16
  2. Ridimensiona l’immagine di input alle dimensioni arrotondate
  3. Genera l’immagine (il modello potrebbe regolare ulteriormente)
  4. Ridimensiona l’output nuovamente alle dimensioni richieste

Esempi di utilizzo

  1. Trasformazione dei personaggi

Trasforma un personaggio mantenendo la coerenza:

prompt = "this gopher rides on the bicycle on the hilly road"
  1. Rimozione di oggetti

Rimuovi elementi indesiderati:

prompt = "please remove the human dressed as minnie mouse from this photo"

Consigli e buone pratiche

  1. Gestione della VRAM: Utilizza enable_model_cpu_offload() se hai una quantità limitata di VRAM
  2. Pianificazione delle dimensioni: Richiedi dimensioni che siano multipli di 16 per ridurre al minimo le regolazioni
  3. Chiarezza del prompt: Sii specifico nelle tue istruzioni testuali per ottenere risultati migliori
  4. Generazione in batch: Genera diverse varianti (--n 4) per ottenere il miglior risultato
  5. Controllo del seed: Utilizza seed manuali per risultati riproducibili

Limitazioni

  • Licenza non commerciale: Richiede una licenza commerciale per l’uso aziendale
  • Intensivo dal punto di vista hardware: Richiede una GPU potente con una significativa quantità di VRAM
  • Vincoli dimensionali: Potrebbe regolare automaticamente le dimensioni
  • Tempo di elaborazione: Può richiedere 10-15 minuti per immagine a seconda dell’hardware