Sui prompt di Stable Diffusion e altre AI di generazione immagini - eviltoast

Ciao a tutti amici, giocando con SD negli ultimi giorni mi è sorta una curiosità sul funzionamento dei prompt.

Fermatemi quando sbaglio.

Queste AI si basano su modelli, che suppongo siano una lunghissima serie di immagini appropriatamente taggate (che suppongo significhi descritte in maniera testuale nella forma e nel contenuto).

Nel creare un prompt per la generazione di un’immagine suppongo quindi sia necessario avere un’idea di come sia stato allenato il modello. Molto banalmente, se viene allenato in inglese, dubito che restituisca risultati significativi se il prompt è in spagnolo.

Ho l’impressione che la scelta dei prompt sia mossa un po’ dalla superstizione: guardando diverse community online in cui vengono condivise immagini generate dall’AI con relativi prompt, ho notato che ovunque si leggono prompt tipo “best quality”, “masterpiece” (o vicecersa, nei prompt negativi, “low quality”, “artifacts” etc etc). Lo scopo è chiaro, ovvero ottenere genericamente “belle” immagini. Ma… siamo sicuri che i modelli siano stati allenati per questo genere di parole chiave? Magari sottovaluto io il dettaglio dei tag di certi modelli, ma non riesco a immaginarmi come un modello possa (premesso che le abbia in primis) estrapolare il concetto di “masterpiecità” da 10-100-1000 immagini taggate come “masterpiece” ed applicarlo in modo sensato ad una nuova immagine.

Prendo un esempio a caso da civitai:

Positive Prompt: (masterpiece, best quality, high quality, highres, ultra-detailed, ((detailed background))), 1girl, looking at viewer, ((peace sign)), portrait, pink hair, (freckles:0.75), blush, happy, smile, medium hair,

Negative Prompt: badhandv4, easynegative, (worst quality, low quality, normal quality), bad-artist, blurry, ugly, ((bad anatomy)),((bad hands)),((bad proportions)),((duplicate limbs)),((fused limbs)),((interlocking fingers)),((poorly drawn face))

Tra questi tag ne vedo tanti che rimbalzano di prompt in prompt, ma di cui non sono certo dell’efficacia (soprattutto se a priscindere dal modello su cui vengono utilizzati), tipo masterpiece, best quality, high quality, worst quality, low quality, normal quality, bad-artist, bad proportions, duplicate limbs, fused limbs (in che mondo a qualcuno verrebbe mai in mente di taggare un’immagine con “fused limbs”?)

Si capisce quel che intendo? Sono io che sottovaluto l’AI e il suo training o c’è effettivamente dietro un sacco di broscience e superstizione?

EDIT: e a questo punto la domanda che sorge natuale è: ma quindi come si possono vedere i tag usati in un modello, in modo da usare solo tag rilevanti nella costruzione di un prompt?

  • trem@feddit.it
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Condivido le tue perplessità, e sinceramente non mi sembra che saltando quei prompt cambi chissà cosa. I dataset sono pieni di immagini di ragazze belle, quindi al 90% ti uscirà una ragazza bella a prescindere da cosa ci scrivi. Già per ottenere volti “normali” (non da influencer instagrammer aspiranti modelle) bisogna faticare, di immagini maschili ce ne sono molte meno. Ho provato a generare immagini “lavorativamente utili” (secchi, operai, …) e ho lasciato perdere perché evidentemente ci sono troppo poche immagini nel modello per poter generare qualcosa che abbia abbastanza varietà. Questo per dire che il prompt arriva fino a un certo punto, ma spesso se nel modello non c’è materiale adatto vengono cose strane. A volte chi distribuisce il modello suggerisce già delle parole da utilizzare, però non saprei.

    Al momento attuale secondo me è tutto ottimizzato per generare belle ragazze (di foto di attricette e modelle è pieno internet), cocktail, anime e roba fantasy (addestrata con fonti tipo deviantart immagino).