<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://wiki.mindmaker.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lucia+Terenzi</id>
	<title>Wiki AI - Contributi dell&#039;utente [it]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mindmaker.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lucia+Terenzi"/>
	<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php/Speciale:Contributi/Lucia_Terenzi"/>
	<updated>2026-05-13T18:24:53Z</updated>
	<subtitle>Contributi dell&amp;#039;utente</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=MusicBERT:_Symbolic_Music_Understanding_with_Large-Scale_Pre-Training&amp;diff=1784</id>
		<title>MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=MusicBERT:_Symbolic_Music_Understanding_with_Large-Scale_Pre-Training&amp;diff=1784"/>
		<updated>2024-04-05T13:22:53Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Progetti che usano MusicBERT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://github.com/microsoft/muzic/tree/main/musicbert&lt;br /&gt;
&lt;br /&gt;
== Progetti che usano MusicBERT ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/tripathiarpan20/midiformers midiformers]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=MusicBERT:_Symbolic_Music_Understanding_with_Large-Scale_Pre-Training&amp;diff=1783</id>
		<title>MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=MusicBERT:_Symbolic_Music_Understanding_with_Large-Scale_Pre-Training&amp;diff=1783"/>
		<updated>2024-04-05T13:22:12Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://github.com/microsoft/muzic/tree/main/musicbert&lt;br /&gt;
&lt;br /&gt;
== Progetti che usano MusicBERT ==&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Pagina_principale&amp;diff=1782</id>
		<title>Pagina principale</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Pagina_principale&amp;diff=1782"/>
		<updated>2024-04-05T13:21:03Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Generazione Audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aiuto ==&lt;br /&gt;
* [[Linee Guida della Wiki AI Lab]]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Guida utente]: Una risorsa completa per i nuovi utenti di MediaWiki.&lt;br /&gt;
* [[Aiuto:Categorie_di_Wiki_AI_Lab]]: Guida alle categorie specifiche del Wiki AI Lab.&lt;br /&gt;
* [[Aiuto:Utilizzo_API]]: Utilizzo dell&#039;API.&lt;br /&gt;
* [[Speciale:TutteLePagine|S]]&amp;lt;nowiki/&amp;gt;[[Speciale:TutteLePagine|peciale:TutteLePagine]]&lt;br /&gt;
* [[Ontologia della Wiki AI]]&lt;br /&gt;
&lt;br /&gt;
== Architetture ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nome&lt;br /&gt;
! Descrizione&lt;br /&gt;
|-&lt;br /&gt;
| [[Recurrent Neural Network (RNN)]]&lt;br /&gt;
| Rete neurale ricorrente&lt;br /&gt;
|-&lt;br /&gt;
| [[LSTM]]&lt;br /&gt;
| Long Short-Term Memory, una forma di rete neurale ricorrente&lt;br /&gt;
|-&lt;br /&gt;
| [[Generative Adversarial Networks (GAN)]]&lt;br /&gt;
| Reti che imparano a generare nuovi dati simili a quelli su cui sono addestrate&lt;br /&gt;
|-&lt;br /&gt;
| [[AutoEncoder (AE)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Variational AutoEncoder (RAE)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Reinforcement Learning From Human Feedback (RLHF)]]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;categorytree mode=&amp;quot;pages&amp;quot;&amp;gt;architettura&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelli ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;categorytree mode=&amp;quot;all&amp;quot;&amp;gt;modello&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linguaggio Naturale ===&lt;br /&gt;
* [[GPT-4]]: La quarta generazione del modello di linguaggio GPT.&lt;br /&gt;
* [[GPT-3.5 Turbo]]: Predecessore di GPT-4, ancora ampiamente utilizzato.&lt;br /&gt;
* [[GPT-3.5 Turbo vs. GPT-4]]: Modelli a confronto.&lt;br /&gt;
* [[Mistral]]: Modello per la generazione di testo.&lt;br /&gt;
* [[Llama]]: LLM di Meta &lt;br /&gt;
* [[PaLM]]: LLM di Google&lt;br /&gt;
* [https://www.cnbc.com/2024/02/08/google-gemini-ai-launches-in-new-app-subscription.html Bard AI]: Nome precedente dell&#039;AI di Google, rinominata in [[Gemini]] nel Febbraio 2024&lt;br /&gt;
* [[Alpaca]]&lt;br /&gt;
&lt;br /&gt;
==== Function Calling ====&lt;br /&gt;
&lt;br /&gt;
* [[Gorilla OpenFunctions]]&lt;br /&gt;
&lt;br /&gt;
=== Generazione Immagini ===&lt;br /&gt;
* [[Dall-e]]: Modello di OpenAI per la creazione di immagini.&lt;br /&gt;
* [[Midjourney]]: Principale competitor di Dall-e nella generazione di immagini&lt;br /&gt;
* [[Stable Diffusion]]: Generatore di immagini sviluppato da Stability AI&lt;br /&gt;
* [[Zero 1-to-3]]: Generazione immagini 3D da 1D&lt;br /&gt;
&lt;br /&gt;
=== Generazione Video ===&lt;br /&gt;
* [[Sora]]: Modello OpenAI per la creazione di contenuti video.&lt;br /&gt;
&lt;br /&gt;
=== Generazione MIDI ===&lt;br /&gt;
* [[Magenta]]: Progetto di Google che mira a utilizzare l&#039;apprendimento automatico per creare arte e musica.&lt;br /&gt;
&lt;br /&gt;
=== Generazione Audio ===&lt;br /&gt;
&lt;br /&gt;
* [[Suno]]&lt;br /&gt;
* [[MusicFX (Google)]]&lt;br /&gt;
* [[MusicGen (Meta)]]&lt;br /&gt;
&lt;br /&gt;
== Framework ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;categorytree mode=&amp;quot;pages&amp;quot;&amp;gt;Framework  &amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nome&lt;br /&gt;
! Descrizione&lt;br /&gt;
|-&lt;br /&gt;
| [[Magenta (Google)]]&lt;br /&gt;
| Progetto di ricerca di Google su arte e musica tramite IA&lt;br /&gt;
|-&lt;br /&gt;
| [[IKEVA-HAI (IULM AI Lab)]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[RecurrentGPT]]&lt;br /&gt;
|Modello avanzato di LLM che integra le capacità di RNN e LSTM&lt;br /&gt;
|-&lt;br /&gt;
|[[Chain of Density Prompting]]&lt;br /&gt;
|Tecnica che crea riepiloghi altamente condensati ma ricchi di informazioni da testi di lunga durata&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Paper ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;categorytree mode=&amp;quot;pages&amp;quot;&amp;gt;paper &amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NLP (Natural Language Processing) ===&lt;br /&gt;
* [[Language Models are Few-Shot Learners (2020)]]&lt;br /&gt;
* [[A Theory for Emergence of Complex Skills in Language Models (2023)]]: Teorie sull&#039;emergere di competenze complesse nei modelli di linguaggio.&lt;br /&gt;
* [[Why think step by step? Reasoning emerges from the locality of experience (2023)]]&lt;br /&gt;
* [[Functional Benchmarks for Robust Evaluation of Reasoning Performance, and the Reasoning Gap (29/02/2024)]]&lt;br /&gt;
&lt;br /&gt;
=== Musica ===&lt;br /&gt;
==== MIDI ====&lt;br /&gt;
* [[DeepJ: Style-Specific Music Generation (2018)]]&lt;br /&gt;
* [[Automatic Stylistic Composition of Bach Chorales With Deep LSTM (2017)]]&lt;br /&gt;
* [[Harmonizing Music the Boltzmann Way (1994)]]&lt;br /&gt;
* [[MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training]]&lt;br /&gt;
&lt;br /&gt;
== Concetti ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;categorytree mode=&amp;quot;all&amp;quot;&amp;gt;concetto&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Matematica ===&lt;br /&gt;
* [[Funzione Obiettivo (loss)]]&lt;br /&gt;
&lt;br /&gt;
=== Apprendimento ===&lt;br /&gt;
* [[Few-shot learning]]&lt;br /&gt;
* [[Function Calling]]&lt;br /&gt;
* [[Fine-tuning]]&lt;br /&gt;
* [[Contamination Testing]]&lt;br /&gt;
&lt;br /&gt;
=== Esecuzione e Inferenza ===&lt;br /&gt;
* [[Quantizzazione]]: Riduzione della precisione dei numeri per accelerare l&#039;esecuzione dei modelli.&lt;br /&gt;
* [[Metodi di Decoding]]: Tecniche per generare output dai modelli di linguaggio.&lt;br /&gt;
&lt;br /&gt;
=== Benchmarking ===&lt;br /&gt;
* [[Creazione e Valutazione di Benchmark IA: Processo e Principi]]&lt;br /&gt;
* [[Adversarial Endings]]&lt;br /&gt;
&lt;br /&gt;
=== Ragionamento negli LLM (Large Language Models) ===&lt;br /&gt;
* [[Step by Step]]&lt;br /&gt;
* [[Chain of Thought]]&lt;br /&gt;
* [[Reasoning Gap]]&lt;br /&gt;
* [[Scaling Laws]]&lt;br /&gt;
&lt;br /&gt;
== Dataset ==&lt;br /&gt;
* [https://paperswithcode.com/paper/datasets-for-large-language-models-a Datasets for Large Language Models: A Comprehensive Survey]&lt;br /&gt;
* [[DocRED: A Large-Scale Document-Level Relation Extraction Dataset]]&lt;br /&gt;
* [[Dataset MIDI per addestrare modelli generativi di Musica]]&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
=== Modelli di Linguaggio ===&lt;br /&gt;
&lt;br /&gt;
==== Benchmark Aggregati ====&lt;br /&gt;
* [[MMLU]]&lt;br /&gt;
&lt;br /&gt;
==== Capacità di Ragionamento ====&lt;br /&gt;
&lt;br /&gt;
* [[HellaSwag]]&lt;br /&gt;
* [[DROP]]&lt;br /&gt;
* [[WinoGrande]] - Sakaguchi et al., 2021&lt;br /&gt;
* [[Arc C]]&lt;br /&gt;
* PIQA - Bisk et al., 2020&lt;br /&gt;
* SIQA - Sap et al., 2019&lt;br /&gt;
* CommonsenseQA - Talmor et al., 2018&lt;br /&gt;
&lt;br /&gt;
==== Conoscenza ====&lt;br /&gt;
* [[NaturalQuestions]] - Kwiatkowski et al.,2019&lt;br /&gt;
* [https://nlp.cs.washington.edu/triviaqa/ TriviaQA] - Joshi et al., 2017&lt;br /&gt;
&lt;br /&gt;
==== Codice ====&lt;br /&gt;
* [[HumanEval]] - Chen et al., 2021&lt;br /&gt;
* [[MBPP]] - Austin et al., 2021&lt;br /&gt;
&lt;br /&gt;
==== Comprensione del Testo ====&lt;br /&gt;
* [[SQuAD]] - Rajpurkar et al., 2018&lt;br /&gt;
* [[QuAC]] - Choi et al., 2018&lt;br /&gt;
* [[BoolQ]] - Clark et al., 2019)&lt;br /&gt;
* [[LongAlign]] - Yushi Bai et al., 2024&lt;br /&gt;
* [[BABILong]] - Yuri Kuratov et al., 2024&lt;br /&gt;
&lt;br /&gt;
==== Matematica ====&lt;br /&gt;
* [[GSM8K]] - Cobbe et al., 2021&lt;br /&gt;
* [[MATH]] - Hendrycks et al., 2021&lt;br /&gt;
&lt;br /&gt;
=== Embeddings ===&lt;br /&gt;
* MIRACL&lt;br /&gt;
* MTEB&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* [[HMDB: a large human motion database]]&lt;br /&gt;
* [[UCF101 - Action Recognition Data Set]]&lt;br /&gt;
&lt;br /&gt;
== Servizi Cloud ==&lt;br /&gt;
&lt;br /&gt;
=== Google ===&lt;br /&gt;
* [[Vertex AI]]&lt;br /&gt;
* [[Model Garden]]&lt;br /&gt;
&lt;br /&gt;
== Tutorial AI Lab ==&lt;br /&gt;
&lt;br /&gt;
=== PyTorch ===&lt;br /&gt;
&lt;br /&gt;
* [[Come creare un tensore su Pytorch]]&lt;br /&gt;
&lt;br /&gt;
* [[Come creare una RNN da zero con PyTorch]]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=MusicBERT:_Symbolic_Music_Understanding_with_Large-Scale_Pre-Training&amp;diff=1781</id>
		<title>MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=MusicBERT:_Symbolic_Music_Understanding_with_Large-Scale_Pre-Training&amp;diff=1781"/>
		<updated>2024-04-05T13:20:17Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: Creata pagina con &amp;quot;https://github.com/microsoft/muzic/tree/main/musicbert&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://github.com/microsoft/muzic/tree/main/musicbert&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Dataset_MIDI_per_addestrare_modelli_generativi_di_Musica&amp;diff=1651</id>
		<title>Dataset MIDI per addestrare modelli generativi di Musica</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Dataset_MIDI_per_addestrare_modelli_generativi_di_Musica&amp;diff=1651"/>
		<updated>2024-03-27T09:31:39Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Descrizione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== corpus by music21 ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Sito ufficiale di [https://web.mit.edu/music21/doc/index.html music21]&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
Il corpus di &amp;lt;code&amp;gt;music21&amp;lt;/code&amp;gt; è una collezione ricca e diversificata di risorse musicali digitalizzate, che include partiture di compositori classici, canti popolari, e opere da varie tradizioni musicali. Questa collezione offre accesso a 3192 file in formati quali MusicXML, MIDI, Humdrum (krn), ABC, MuseData, e Capella (cap).&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Il dataset si può richiamare in Python una volta installata la libreria music21 e si possono estrarre vari tipi di informazioni nonchè navigare i vari dataset:&lt;br /&gt;
 from music21 import corpus&lt;br /&gt;
 &lt;br /&gt;
 # Elenco dei corpora disponibili&lt;br /&gt;
 print(corpus.corporaNames())&lt;br /&gt;
 &lt;br /&gt;
 # Ottenere un elenco di tutte le opere di un dato compositore o collezione&lt;br /&gt;
 print(corpus.getComposer(&#039;bach&#039;))&lt;br /&gt;
 &lt;br /&gt;
 # Ottenere informazioni dettagliate su un particolare pezzo&lt;br /&gt;
 piece = corpus.parse(&#039;bach/bwv65.2.xml&#039;)&lt;br /&gt;
 piece.metadata.all()&lt;br /&gt;
A questo [https://web.mit.edu/music21/doc/about/referenceCorpus.html Link] è possibile consultare in modo estensivo la collezione che compone il corpus.&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Michael Cuthbert, Christopher Ariza, Benjamin Hogue&lt;br /&gt;
&lt;br /&gt;
== Lakh MIDI Dataset ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Il dataset è stato realizzato nel contesto di progetto PhD della Columbia University, relativo al paper [https://colinraffel.com/publications/thesis.pdf Learning-Based Methods for Comparing Sequences, with Applications to Audio-to-MIDI Alignment and Matching].&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
Il dataset Lakh MIDI è una raccolta di 176581 file MIDI unici, 45129 dei quali sono stati estratti e allineati alle entry del [http://millionsongdataset.com/ Million Song Dataset] di Spotify. Il suo obiettivo è quello di facilitare il recupero di informazioni musicali su larga scala (MIR), sia simboliche (utilizzando i soli file MIDI) sia basate sul contenuto audio (utilizzando le informazioni estratte dai file MIDI come annotazioni per i file audio abbinati).&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://colinraffel.com/projects/lmd/ qui] e la documentazione relativa al dataset nell&#039;apposito [https://github.com/craffel/midi-dataset repository GitHub].&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Colin Raffel&lt;br /&gt;
&lt;br /&gt;
== ADL Piano MIDI ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
[https://arxiv.org/abs/2008.07009 Paper]  e [https://github.com/lucasnfe/adl-piano-midi GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
L&#039;ADL Piano MIDI è un dataset di 11.086 brani per pianoforte di diversi generi. Questo dataset si basa sul Lakh MIDI dataset, che è una collezione di 45.129 file MIDI unici che sono stati associati a voci nel Million Song Dataset. La maggior parte dei brani nel Lakh MIDI dataset ha più strumenti, quindi per ogni file abbiamo estratto solo le tracce con strumenti della &amp;quot;Famiglia del Pianoforte&amp;quot; (numeri di programma MIDI 1-8). Questo processo ha generato un totale di 9.021 file MIDI per pianoforte unici. Questi 9.021 file sono stati poi combinati con altri circa 2.065 file raccolti da fonti pubblicamente disponibili su internet. &lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://github.com/lucasnfe/adl-piano-midi qui]&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Lucas N. Ferreira, Levi H. S. Lelis, Jim Whitehead&lt;br /&gt;
&lt;br /&gt;
== Ailabs.tw 1K7 ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Il dataset è stato introdotto da Hsiao nel paper [https://paperswithcode.com/paper/compound-word-transformer-learning-to-compose Compound Word Transformer: Learning to Compose Full-Song Music over Dynamic Directed Hypergraphs] e reso open source tramite il relativo [https://github.com/YatingMusic/compound-word-transformer progetto GitHub].&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
Il dataset Ailabs.tw 1K7 è una collezione di 1.700 brani musicali, progettato specificamente per la ricerca e lo sviluppo nel campo dell&#039;intelligenza artificiale musicale. Comprende infatti una varietà di generi musicali ed è stato creato con l&#039;obiettivo di fornire una risorsa versatile e di alta qualità per allenare modelli di intelligenza artificiale, offrendo una vasta gamma di esempi musicali per promuovere innovazioni e progressi nella comprensione e nella creazione di musica tramite algoritmi di apprendimento automatico.&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://drive.google.com/file/d/1qw_tVUntblIg4lW16vbpjLXVndkVtgDe/view?usp=sharing qui]&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Wen-Yi Hsiao, Jen-Yu Liu, Yin-Cheng Yeh and Yi-Hsuan Yang&lt;br /&gt;
&lt;br /&gt;
=== Note ===&lt;br /&gt;
&lt;br /&gt;
==== Pipeline: ====&lt;br /&gt;
[[File:Data proc diagram.png|nessuno|miniatura|492x492px|Pipeline processamento dati. Fonte: https://github.com/YatingMusic/compound-word-transformer/blob/main/dataset/Dataset.md]]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Dataset_MIDI_per_addestrare_modelli_generativi_di_Musica&amp;diff=1650</id>
		<title>Dataset MIDI per addestrare modelli generativi di Musica</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Dataset_MIDI_per_addestrare_modelli_generativi_di_Musica&amp;diff=1650"/>
		<updated>2024-03-27T08:44:50Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Descrizione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== corpus by music21 ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Sito ufficiale di [https://web.mit.edu/music21/doc/index.html music21]&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
Il corpus di &amp;lt;code&amp;gt;music21&amp;lt;/code&amp;gt; è una collezione ricca e diversificata di risorse musicali digitalizzate, che include partiture di compositori classici, canti popolari, e opere da varie tradizioni musicali. Questa collezione offre accesso a 3192 file in formati quali MusicXML, MIDI, Humdrum (krn), ABC, MuseData, e Capella (cap).&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Il dataset si può richiamare in Python una volta installata la libreria music21 e si possono estrarre vari tipi di informazioni nonchè navigare i vari dataset:&lt;br /&gt;
 from music21 import corpus&lt;br /&gt;
 &lt;br /&gt;
 # Elenco dei corpora disponibili&lt;br /&gt;
 print(corpus.corporaNames())&lt;br /&gt;
 &lt;br /&gt;
 # Ottenere un elenco di tutte le opere di un dato compositore o collezione&lt;br /&gt;
 print(corpus.getComposer(&#039;bach&#039;))&lt;br /&gt;
 &lt;br /&gt;
 # Ottenere informazioni dettagliate su un particolare pezzo&lt;br /&gt;
 piece = corpus.parse(&#039;bach/bwv65.2.xml&#039;)&lt;br /&gt;
 piece.metadata.all()&lt;br /&gt;
A questo [https://web.mit.edu/music21/doc/about/referenceCorpus.html Link] è possibile consultare in modo estensivo la collezione che compone il corpus.&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Michael Cuthbert, Christopher Ariza, Benjamin Hogue&lt;br /&gt;
&lt;br /&gt;
== Lakh MIDI Dataset ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Il dataset è stato realizzato nel contesto di progetto PhD della Columbia University, relativo al paper [https://colinraffel.com/publications/thesis.pdf Learning-Based Methods for Comparing Sequences, with Applications to Audio-to-MIDI Alignment and Matching].&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
Il dataset Lakh MIDI è una raccolta di 176581 file MIDI unici, 45129 dei quali sono stati estratti e allineati alle entry del [http://millionsongdataset.com/ Million Song Dataset] di Spotify. Il suo obiettivo è quello di facilitare il recupero di informazioni musicali su larga scala (MIR), sia simboliche (utilizzando i soli file MIDI) sia basate sul contenuto audio (utilizzando le informazioni estratte dai file MIDI come annotazioni per i file audio abbinati).&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://colinraffel.com/projects/lmd/ qui] e la documentazione relativa al dataset nell&#039;apposito [https://github.com/craffel/midi-dataset repository GitHub].&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Colin Raffel&lt;br /&gt;
&lt;br /&gt;
== ADL Piano MIDI ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
[https://arxiv.org/abs/2008.07009 Paper]  e [https://github.com/lucasnfe/adl-piano-midi GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
L&#039;ADL Piano MIDI è un dataset di 11.086 brani per pianoforte di diversi generi. Questo dataset si basa sul Lakh MIDI dataset, che è una collezione di 45.129 file MIDI unici che sono stati associati a voci nel Million Song Dataset. La maggior parte dei brani nel Lakh MIDI dataset ha più strumenti, quindi per ogni file abbiamo estratto solo le tracce con strumenti della &amp;quot;Famiglia del Pianoforte&amp;quot; (numeri di programma MIDI 1-8). Questo processo ha generato un totale di 9.021 file MIDI per pianoforte unici. Questi 9.021 file sono stati poi combinati con altri circa 2.065 file raccolti da fonti pubblicamente disponibili su internet. Tutti i file nella collezione finale sono stati de-duplicati secondo il loro checksum MD5.&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://github.com/lucasnfe/adl-piano-midi qui]&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Lucas N. Ferreira, Levi H. S. Lelis, Jim Whitehead&lt;br /&gt;
&lt;br /&gt;
== Ailabs.tw 1K7 ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Il dataset è stato introdotto da Hsiao nel paper [https://paperswithcode.com/paper/compound-word-transformer-learning-to-compose Compound Word Transformer: Learning to Compose Full-Song Music over Dynamic Directed Hypergraphs] e reso open source tramite il relativo [https://github.com/YatingMusic/compound-word-transformer progetto GitHub].&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
Il dataset Ailabs.tw 1K7 è una collezione di 1.700 brani musicali, progettato specificamente per la ricerca e lo sviluppo nel campo dell&#039;intelligenza artificiale musicale. Comprende infatti una varietà di generi musicali ed è stato creato con l&#039;obiettivo di fornire una risorsa versatile e di alta qualità per allenare modelli di intelligenza artificiale, offrendo una vasta gamma di esempi musicali per promuovere innovazioni e progressi nella comprensione e nella creazione di musica tramite algoritmi di apprendimento automatico.&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://drive.google.com/file/d/1qw_tVUntblIg4lW16vbpjLXVndkVtgDe/view?usp=sharing qui]&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Wen-Yi Hsiao, Jen-Yu Liu, Yin-Cheng Yeh and Yi-Hsuan Yang&lt;br /&gt;
&lt;br /&gt;
=== Note ===&lt;br /&gt;
&lt;br /&gt;
==== Pipeline: ====&lt;br /&gt;
[[File:Data proc diagram.png|nessuno|miniatura|492x492px|Pipeline processamento dati. Fonte: https://github.com/YatingMusic/compound-word-transformer/blob/main/dataset/Dataset.md]]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Dataset_MIDI_per_addestrare_modelli_generativi_di_Musica&amp;diff=1649</id>
		<title>Dataset MIDI per addestrare modelli generativi di Musica</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Dataset_MIDI_per_addestrare_modelli_generativi_di_Musica&amp;diff=1649"/>
		<updated>2024-03-26T17:07:28Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Ailabs.tw 1K7 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== corpus by music21 ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Sito ufficiale di [https://web.mit.edu/music21/doc/index.html music21]&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
Il corpus di &amp;lt;code&amp;gt;music21&amp;lt;/code&amp;gt; è una collezione ricca e diversificata di risorse musicali digitalizzate, che include partiture di compositori classici, canti popolari, e opere da varie tradizioni musicali. Questa biblioteca offre accesso a migliaia di file in formati quali MusicXML, MIDI, Humdrum (krn), ABC, MuseData, e Capella (cap).&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Il dataset si può richiamare in Python una volta installata la libreria music21 e si possono estrarre vari tipi di informazioni nonchè navigare i vari dataset:&lt;br /&gt;
 from music21 import corpus&lt;br /&gt;
 &lt;br /&gt;
 # Elenco dei corpora disponibili&lt;br /&gt;
 print(corpus.corporaNames())&lt;br /&gt;
 &lt;br /&gt;
 # Ottenere un elenco di tutte le opere di un dato compositore o collezione&lt;br /&gt;
 print(corpus.getComposer(&#039;bach&#039;))&lt;br /&gt;
 &lt;br /&gt;
 # Ottenere informazioni dettagliate su un particolare pezzo&lt;br /&gt;
 piece = corpus.parse(&#039;bach/bwv65.2.xml&#039;)&lt;br /&gt;
 piece.metadata.all()&lt;br /&gt;
A questo [https://web.mit.edu/music21/doc/about/referenceCorpus.html Link] è possibile consultare in modo estensivo la collezione che compone il corpus.&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Michael Cuthbert, Christopher Ariza, Benjamin Hogue&lt;br /&gt;
&lt;br /&gt;
== Lakh MIDI Dataset ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Il dataset è stato realizzato nel contesto di progetto PhD della Columbia University, relativo al paper [https://colinraffel.com/publications/thesis.pdf Learning-Based Methods for Comparing Sequences, with Applications to Audio-to-MIDI Alignment and Matching].&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
Il dataset Lakh MIDI è una raccolta di 176581 file MIDI unici, 45129 dei quali sono stati estratti e allineati alle entry del [http://millionsongdataset.com/ Million Song Dataset] di Spotify. Il suo obiettivo è quello di facilitare il recupero di informazioni musicali su larga scala (MIR), sia simboliche (utilizzando i soli file MIDI) sia basate sul contenuto audio (utilizzando le informazioni estratte dai file MIDI come annotazioni per i file audio abbinati).&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://colinraffel.com/projects/lmd/ qui] e la documentazione relativa al dataset nell&#039;apposito [https://github.com/craffel/midi-dataset repository GitHub].&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Colin Raffel&lt;br /&gt;
&lt;br /&gt;
== ADL Piano MIDI ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
[https://arxiv.org/abs/2008.07009 Paper]  e [https://github.com/lucasnfe/adl-piano-midi GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
L&#039;ADL Piano MIDI è un dataset di 11.086 brani per pianoforte di diversi generi. Questo dataset si basa sul Lakh MIDI dataset, che è una collezione di 45.129 file MIDI unici che sono stati associati a voci nel Million Song Dataset. La maggior parte dei brani nel Lakh MIDI dataset ha più strumenti, quindi per ogni file abbiamo estratto solo le tracce con strumenti della &amp;quot;Famiglia del Pianoforte&amp;quot; (numeri di programma MIDI 1-8). Questo processo ha generato un totale di 9.021 file MIDI per pianoforte unici. Questi 9.021 file sono stati poi combinati con altri circa 2.065 file raccolti da fonti pubblicamente disponibili su internet. Tutti i file nella collezione finale sono stati de-duplicati secondo il loro checksum MD5.&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://github.com/lucasnfe/adl-piano-midi qui]&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Lucas N. Ferreira, Levi H. S. Lelis, Jim Whitehead&lt;br /&gt;
&lt;br /&gt;
== Ailabs.tw 1K7 ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Il dataset è stato introdotto da Hsiao nel paper [https://paperswithcode.com/paper/compound-word-transformer-learning-to-compose Compound Word Transformer: Learning to Compose Full-Song Music over Dynamic Directed Hypergraphs] e reso open source tramite il relativo [https://github.com/YatingMusic/compound-word-transformer progetto GitHub].&lt;br /&gt;
&lt;br /&gt;
=== Descrizione ===&lt;br /&gt;
Il dataset Ailabs.tw 1K7 è una collezione di 1.700 brani musicali, progettato specificamente per la ricerca e lo sviluppo nel campo dell&#039;intelligenza artificiale musicale. Comprende infatti una varietà di generi musicali ed è stato creato con l&#039;obiettivo di fornire una risorsa versatile e di alta qualità per allenare modelli di intelligenza artificiale, offrendo una vasta gamma di esempi musicali per promuovere innovazioni e progressi nella comprensione e nella creazione di musica tramite algoritmi di apprendimento automatico.&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://drive.google.com/file/d/1qw_tVUntblIg4lW16vbpjLXVndkVtgDe/view?usp=sharing qui]&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Wen-Yi Hsiao, Jen-Yu Liu, Yin-Cheng Yeh and Yi-Hsuan Yang&lt;br /&gt;
&lt;br /&gt;
=== Note ===&lt;br /&gt;
&lt;br /&gt;
==== Pipeline: ====&lt;br /&gt;
[[File:Data proc diagram.png|nessuno|miniatura|492x492px|Pipeline processamento dati. Fonte: https://github.com/YatingMusic/compound-word-transformer/blob/main/dataset/Dataset.md]]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Pagina_principale&amp;diff=1648</id>
		<title>Pagina principale</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Pagina_principale&amp;diff=1648"/>
		<updated>2024-03-26T16:55:38Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Dataset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aiuto ==&lt;br /&gt;
* [[Linee Guida della Wiki AI Lab]]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Guida utente]: Una risorsa completa per i nuovi utenti di MediaWiki.&lt;br /&gt;
* [[Aiuto:Categorie_di_Wiki_AI_Lab]]: Guida alle categorie specifiche del Wiki AI Lab.&lt;br /&gt;
* [[Aiuto:Utilizzo_API]]: Utilizzo dell&#039;API.&lt;br /&gt;
* [[Speciale:TutteLePagine|S]]&amp;lt;nowiki/&amp;gt;[[Speciale:TutteLePagine|peciale:TutteLePagine]]&lt;br /&gt;
* [[Ontologia della Wiki AI]]&lt;br /&gt;
&lt;br /&gt;
== Architetture ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nome&lt;br /&gt;
! Descrizione&lt;br /&gt;
|-&lt;br /&gt;
| [[Recurrent Neural Network (RNN)]]&lt;br /&gt;
| Rete neurale ricorrente&lt;br /&gt;
|-&lt;br /&gt;
| [[LSTM]]&lt;br /&gt;
| Long Short-Term Memory, una forma di rete neurale ricorrente&lt;br /&gt;
|-&lt;br /&gt;
| [[Generative Adversarial Networks (GAN)]]&lt;br /&gt;
| Reti che imparano a generare nuovi dati simili a quelli su cui sono addestrate&lt;br /&gt;
|-&lt;br /&gt;
| [[AutoEncoder (AE)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Variational AutoEncoder (RAE)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Reinforcement Learning From Human Feedback (RLHF)]]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;categorytree mode=&amp;quot;pages&amp;quot;&amp;gt;architettura&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelli ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;categorytree mode=&amp;quot;all&amp;quot;&amp;gt;modelli&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linguaggio Naturale ===&lt;br /&gt;
* [[GPT-4]]: La quarta generazione del modello di linguaggio GPT.&lt;br /&gt;
* [[GPT-3.5 Turbo]]: Predecessore di GPT-4, ancora ampiamente utilizzato.&lt;br /&gt;
* [[GPT-3.5 Turbo vs. GPT-4]]: Modelli a confronto.&lt;br /&gt;
* [[Mistral]]: Modello per la generazione di testo.&lt;br /&gt;
* [[Llama]]: LLM di Meta &lt;br /&gt;
* [[PaLM]]: LLM di Google&lt;br /&gt;
* [https://www.cnbc.com/2024/02/08/google-gemini-ai-launches-in-new-app-subscription.html Bard AI]: Nome precedente dell&#039;AI di Google, rinominata in [[Gemini]] nel Febbraio 2024&lt;br /&gt;
* [[Alpaca]]&lt;br /&gt;
&lt;br /&gt;
==== Function Calling ====&lt;br /&gt;
&lt;br /&gt;
* [[Gorilla OpenFunctions]]&lt;br /&gt;
&lt;br /&gt;
=== Generazione Immagini ===&lt;br /&gt;
* [[Dall-e]]: Modello di OpenAI per la creazione di immagini.&lt;br /&gt;
* [[Midjourney]]: Principale competitor di Dall-e nella generazione di immagini&lt;br /&gt;
* [[Stable Diffusion]]: Generatore di immagini sviluppato da Stability AI&lt;br /&gt;
* [[Zero 1-to-3]]: Generazione immagini 3D da 1D&lt;br /&gt;
&lt;br /&gt;
=== Generazione Video ===&lt;br /&gt;
* [[Sora]]: Modello OpenAI per la creazione di contenuti video.&lt;br /&gt;
&lt;br /&gt;
=== Generazione Audio ===&lt;br /&gt;
* [[Magenta]]: Progetto di Google che mira a utilizzare l&#039;apprendimento automatico per creare arte e musica.&lt;br /&gt;
&lt;br /&gt;
== Framework ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;categorytree mode=&amp;quot;pages&amp;quot;&amp;gt;Framework  &amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nome&lt;br /&gt;
! Descrizione&lt;br /&gt;
|-&lt;br /&gt;
| [[Magenta (Google)]]&lt;br /&gt;
| Progetto di ricerca di Google su arte e musica tramite IA&lt;br /&gt;
|-&lt;br /&gt;
| [[IKEVA-HAI (IULM AI Lab)]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[RecurrentGPT]]&lt;br /&gt;
|Modello avanzato di LLM che integra le capacità di RNN e LSTM&lt;br /&gt;
|-&lt;br /&gt;
|[[Chain of Density Prompting]]&lt;br /&gt;
|Tecnica che crea riepiloghi altamente condensati ma ricchi di informazioni da testi di lunga durata&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Paper ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;categorytree mode=&amp;quot;pages&amp;quot;&amp;gt;paper &amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NLP (Natural Language Processing) ===&lt;br /&gt;
* [[Language Models are Few-Shot Learners (2020)]]&lt;br /&gt;
* [[A Theory for Emergence of Complex Skills in Language Models (2023)]]: Teorie sull&#039;emergere di competenze complesse nei modelli di linguaggio.&lt;br /&gt;
* [[Why think step by step? Reasoning emerges from the locality of experience (2023)]]&lt;br /&gt;
* [[Functional Benchmarks for Robust Evaluation of Reasoning Performance, and the Reasoning Gap (29/02/2024)]]&lt;br /&gt;
&lt;br /&gt;
=== Musica ===&lt;br /&gt;
==== MIDI ====&lt;br /&gt;
* [[DeepJ: Style-Specific Music Generation (2018)]]&lt;br /&gt;
* [[Automatic Stylistic Composition of Bach Chorales With Deep LSTM (2017)]]&lt;br /&gt;
* [[Harmonizing Music the Boltzmann Way (1994)]]&lt;br /&gt;
&lt;br /&gt;
== Concetti ==&lt;br /&gt;
=== Matematica ===&lt;br /&gt;
* [[Funzione Obiettivo (loss)]]&lt;br /&gt;
&lt;br /&gt;
=== Apprendimento ===&lt;br /&gt;
* [[Few-shot learning]]&lt;br /&gt;
* [[Function Calling]]&lt;br /&gt;
* [[Fine-tuning]]&lt;br /&gt;
* [[Contamination Testing]]&lt;br /&gt;
&lt;br /&gt;
=== Esecuzione e Inferenza ===&lt;br /&gt;
* [[Quantizzazione]]: Riduzione della precisione dei numeri per accelerare l&#039;esecuzione dei modelli.&lt;br /&gt;
* [[Metodi di Decoding]]: Tecniche per generare output dai modelli di linguaggio.&lt;br /&gt;
&lt;br /&gt;
=== Benchmarking ===&lt;br /&gt;
* [[Creazione e Valutazione di Benchmark IA: Processo e Principi]]&lt;br /&gt;
* [[Adversarial Endings]]&lt;br /&gt;
&lt;br /&gt;
=== Ragionamento negli LLM (Large Language Models) ===&lt;br /&gt;
* [[Step by Step]]&lt;br /&gt;
* [[Chain of Thought]]&lt;br /&gt;
* [[Reasoning Gap]]&lt;br /&gt;
* [[Scaling Laws]]&lt;br /&gt;
&lt;br /&gt;
== Dataset ==&lt;br /&gt;
* [https://paperswithcode.com/paper/datasets-for-large-language-models-a Datasets for Large Language Models: A Comprehensive Survey]&lt;br /&gt;
* [[DocRED: A Large-Scale Document-Level Relation Extraction Dataset]]&lt;br /&gt;
* [[Dataset MIDI per addestrare modelli generativi di Musica]]&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
=== Modelli di Linguaggio ===&lt;br /&gt;
&lt;br /&gt;
==== Benchmark Aggregati ====&lt;br /&gt;
* [[MMLU]]&lt;br /&gt;
&lt;br /&gt;
==== Capacità di Ragionamento ====&lt;br /&gt;
&lt;br /&gt;
* [[HellaSwag]]&lt;br /&gt;
* [[DROP]]&lt;br /&gt;
* [[WinoGrande]] - Sakaguchi et al., 2021&lt;br /&gt;
* [[Arc C]]&lt;br /&gt;
* PIQA - Bisk et al., 2020&lt;br /&gt;
* SIQA - Sap et al., 2019&lt;br /&gt;
* CommonsenseQA - Talmor et al., 2018&lt;br /&gt;
&lt;br /&gt;
==== Conoscenza ====&lt;br /&gt;
* [[NaturalQuestions]] - Kwiatkowski et al.,2019&lt;br /&gt;
* [https://nlp.cs.washington.edu/triviaqa/ TriviaQA] - Joshi et al., 2017&lt;br /&gt;
&lt;br /&gt;
==== Codice ====&lt;br /&gt;
* [[HumanEval]] - Chen et al., 2021&lt;br /&gt;
* [[MBPP]] - Austin et al., 2021&lt;br /&gt;
&lt;br /&gt;
==== Comprensione del Testo ====&lt;br /&gt;
* [[SQuAD]] - Rajpurkar et al., 2018&lt;br /&gt;
* [[QuAC]] - Choi et al., 2018&lt;br /&gt;
* [[BoolQ]] - Clark et al., 2019)&lt;br /&gt;
* [[LongAlign]] - Yushi Bai et al., 2024&lt;br /&gt;
* [[BABILong]] - Yuri Kuratov et al., 2024&lt;br /&gt;
&lt;br /&gt;
==== Matematica ====&lt;br /&gt;
* [[GSM8K]] - Cobbe et al., 2021&lt;br /&gt;
* [[MATH]] - Hendrycks et al., 2021&lt;br /&gt;
&lt;br /&gt;
=== Embeddings ===&lt;br /&gt;
* MIRACL&lt;br /&gt;
* MTEB&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* [[HMDB: a large human motion database]]&lt;br /&gt;
* [[UCF101 - Action Recognition Data Set]]&lt;br /&gt;
&lt;br /&gt;
== Servizi Cloud ==&lt;br /&gt;
&lt;br /&gt;
=== Google ===&lt;br /&gt;
* [[Vertex AI]]&lt;br /&gt;
* [[Model Garden]]&lt;br /&gt;
&lt;br /&gt;
== Tutorial AI Lab ==&lt;br /&gt;
&lt;br /&gt;
=== PyTorch ===&lt;br /&gt;
&lt;br /&gt;
* [[Come creare un tensore su Pytorch]]&lt;br /&gt;
&lt;br /&gt;
* [[Come creare una RNN da zero con PyTorch]]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Dataset_MIDI_per_addestrare_modelli_generativi_di_Musica&amp;diff=1647</id>
		<title>Dataset MIDI per addestrare modelli generativi di Musica</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Dataset_MIDI_per_addestrare_modelli_generativi_di_Musica&amp;diff=1647"/>
		<updated>2024-03-26T15:54:01Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: Creata pagina con &amp;quot;== Bach by music21 ==  == Ailabs.tw 1K7 ==  === Fonte === Il dataset è stato introdotto da Hsiao nel paper [https://paperswithcode.com/paper/compound-word-transformer-learning-to-compose Compound Word Transformer: Learning to Compose Full-Song Music over Dynamic Directed Hypergraphs] e reso open source tramite il relativo [https://github.com/YatingMusic/compound-word-transformer progetto GitHub].  === Link === Lo trovi [https://drive.google.com/file/d/1qw_tVUntblIg4lW16...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bach by music21 ==&lt;br /&gt;
&lt;br /&gt;
== Ailabs.tw 1K7 ==&lt;br /&gt;
&lt;br /&gt;
=== Fonte ===&lt;br /&gt;
Il dataset è stato introdotto da Hsiao nel paper [https://paperswithcode.com/paper/compound-word-transformer-learning-to-compose Compound Word Transformer: Learning to Compose Full-Song Music over Dynamic Directed Hypergraphs] e reso open source tramite il relativo [https://github.com/YatingMusic/compound-word-transformer progetto GitHub].&lt;br /&gt;
&lt;br /&gt;
=== Link ===&lt;br /&gt;
Lo trovi [https://drive.google.com/file/d/1qw_tVUntblIg4lW16vbpjLXVndkVtgDe/view?usp=sharing qui]&lt;br /&gt;
&lt;br /&gt;
=== Autori ===&lt;br /&gt;
Wen-Yi Hsiao, Jen-Yu Liu, Yin-Cheng Yeh and Yi-Hsuan Yang&lt;br /&gt;
&lt;br /&gt;
=== Note ===&lt;br /&gt;
&lt;br /&gt;
==== Pipeline: ====&lt;br /&gt;
[[File:Data proc diagram.png|nessuno|miniatura|492x492px|Pipeline processamento dati. Fonte: https://github.com/YatingMusic/compound-word-transformer/blob/main/dataset/Dataset.md]]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Data_proc_diagram.png&amp;diff=1646</id>
		<title>File:Data proc diagram.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Data_proc_diagram.png&amp;diff=1646"/>
		<updated>2024-03-26T15:49:39Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Data proc diagram&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1576</id>
		<title>Hypernetworks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1576"/>
		<updated>2024-03-22T15:07:41Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Come integrarlo su AUTOMATIC1111 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;Hypernetwork&#039;&#039;&#039; è una tecnica che introduce &#039;&#039;&#039;reti neurali supplementari&#039;&#039;&#039; per modificare &#039;&#039;&#039;chiavi&#039;&#039;&#039; e &#039;&#039;&#039;valori&#039;&#039;&#039; all&#039;interno di un modello. Durante il periodo di addestramento, il modello di Stable Diffusion rimane invariato, mentre si permette alla hypernetwork collegata di subire modifiche. Essendo questa hypernetwork di &#039;&#039;&#039;dimensioni ridotte&#039;&#039;&#039;, il suo addestramento è &#039;&#039;&#039;rapido&#039;&#039;&#039; e richiede &#039;&#039;&#039;risorse limitate&#039;&#039;&#039;. Questo significa che è possibile eseguire l&#039;addestramento anche su un &#039;&#039;&#039;computer&#039;&#039;&#039; di uso &#039;&#039;&#039;quotidiano&#039;&#039;&#039;, senza la necessità di hardware specializzato.&lt;br /&gt;
&lt;br /&gt;
== Come funziona ==&lt;br /&gt;
Hypernetworks consente di base di integrare un modello ausiliario che intercetti l&#039;attention layer del modello principale e ne modifichi i valori che lo attraversano, una sorta di fine-tuning ma senza modificare i pesi del modello principale ma aggiungendo una piccola rete neurale che ne alteri lo stile.&lt;br /&gt;
&lt;br /&gt;
La base di funzionamento è infatti abbastanza simile a quella di [[LoRA]] visto che entrambi gli approcci agiscono sul modulo di cross attention. Solo che mentre con LoRA si alterano i pesi in questo caso si aggiunge una rete. &lt;br /&gt;
&lt;br /&gt;
[https://rentry.org/hypernetwork4dumdums Qui] trovi una guida all&#039;addestramento di queste reti.&lt;br /&gt;
&lt;br /&gt;
== Come integrarlo su AUTOMATIC1111 ==&lt;br /&gt;
&lt;br /&gt;
# Trova e scarica delle Hypernetworks da https://civitai.com/&lt;br /&gt;
# Installa la rete mettendo i file del modello nella seguente cartella della GUI: &lt;br /&gt;
 stable-diffusion-webui/models/hypernetworks&lt;br /&gt;
# Cliccando sulla Hypernetwork nell&#039;apposita sezione della GUI la riga che richiama l&#039;Hypernet verrà automaticamente inserita come prompt.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot (380).png|miniatura|680x680px|fonte: https://stable-diffusion-art.com/hypernetwork/|centro]]&lt;br /&gt;
[[File:Screenshot (379).png|miniatura|967x967px|fonte: https://stable-diffusion-art.com/hypernetwork/|centro]]Bisogna tenere a mente che la frase &amp;lt;hypernet: non viene trattata come parte del prompt  (come ad esempio nel caso di [[TextualInversion]] e [[LoRA]] ). Indica semplicemente quali hypernet utilizzare. Verrà completamente ignorato dopo che ha richiamato la rete richiesta. Pertanto non è possibile utilizzare alcuna sintassi del prompt come [keyword1:keyword2:0.5]. Infatti si può notare come nell&#039;esempio di water elemental nel prompt venga specificato nuovamente &amp;quot;water elemental&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1575</id>
		<title>Hypernetworks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1575"/>
		<updated>2024-03-22T15:06:15Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Come integrarlo su AUTOMATIC1111 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;Hypernetwork&#039;&#039;&#039; è una tecnica che introduce &#039;&#039;&#039;reti neurali supplementari&#039;&#039;&#039; per modificare &#039;&#039;&#039;chiavi&#039;&#039;&#039; e &#039;&#039;&#039;valori&#039;&#039;&#039; all&#039;interno di un modello. Durante il periodo di addestramento, il modello di Stable Diffusion rimane invariato, mentre si permette alla hypernetwork collegata di subire modifiche. Essendo questa hypernetwork di &#039;&#039;&#039;dimensioni ridotte&#039;&#039;&#039;, il suo addestramento è &#039;&#039;&#039;rapido&#039;&#039;&#039; e richiede &#039;&#039;&#039;risorse limitate&#039;&#039;&#039;. Questo significa che è possibile eseguire l&#039;addestramento anche su un &#039;&#039;&#039;computer&#039;&#039;&#039; di uso &#039;&#039;&#039;quotidiano&#039;&#039;&#039;, senza la necessità di hardware specializzato.&lt;br /&gt;
&lt;br /&gt;
== Come funziona ==&lt;br /&gt;
Hypernetworks consente di base di integrare un modello ausiliario che intercetti l&#039;attention layer del modello principale e ne modifichi i valori che lo attraversano, una sorta di fine-tuning ma senza modificare i pesi del modello principale ma aggiungendo una piccola rete neurale che ne alteri lo stile.&lt;br /&gt;
&lt;br /&gt;
La base di funzionamento è infatti abbastanza simile a quella di [[LoRA]] visto che entrambi gli approcci agiscono sul modulo di cross attention. Solo che mentre con LoRA si alterano i pesi in questo caso si aggiunge una rete. &lt;br /&gt;
&lt;br /&gt;
[https://rentry.org/hypernetwork4dumdums Qui] trovi una guida all&#039;addestramento di queste reti.&lt;br /&gt;
&lt;br /&gt;
== Come integrarlo su AUTOMATIC1111 ==&lt;br /&gt;
&lt;br /&gt;
# Trova e scarica delle Hypernetworks da https://civitai.com/&lt;br /&gt;
# Installa la rete mettendo i file del modello nella seguente cartella della GUI: &lt;br /&gt;
 stable-diffusion-webui/models/hypernetworks&lt;br /&gt;
# Cliccando sulla Hypernetwork nell&#039;apposita sezione della GUI la riga che richiama l&#039;Hypernet verrà automaticamente inserita come prompt.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot (380).png|miniatura|680x680px|fonte: https://stable-diffusion-art.com/hypernetwork/|centro]]&lt;br /&gt;
[[File:Screenshot (379).png|miniatura|967x967px|fonte: https://stable-diffusion-art.com/hypernetwork/|centro]]Bisogna tenere a mente che la frase &amp;lt;hypernet: non viene trattata come parte del prompt  (come ad esempio nel caso di [[TextualInversion]] e [[LoRA]] ). Indica semplicemente quali hypernet utilizzare. Verrà completamente ignorato dopo che ha richiamato la rete richiesta. Pertanto non è possibile utilizzare alcuna sintassi del prompt come [keyword1:keyword2:0.5].&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1574</id>
		<title>Hypernetworks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1574"/>
		<updated>2024-03-22T15:05:25Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Come integrarlo su AUTOMATIC1111 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;Hypernetwork&#039;&#039;&#039; è una tecnica che introduce &#039;&#039;&#039;reti neurali supplementari&#039;&#039;&#039; per modificare &#039;&#039;&#039;chiavi&#039;&#039;&#039; e &#039;&#039;&#039;valori&#039;&#039;&#039; all&#039;interno di un modello. Durante il periodo di addestramento, il modello di Stable Diffusion rimane invariato, mentre si permette alla hypernetwork collegata di subire modifiche. Essendo questa hypernetwork di &#039;&#039;&#039;dimensioni ridotte&#039;&#039;&#039;, il suo addestramento è &#039;&#039;&#039;rapido&#039;&#039;&#039; e richiede &#039;&#039;&#039;risorse limitate&#039;&#039;&#039;. Questo significa che è possibile eseguire l&#039;addestramento anche su un &#039;&#039;&#039;computer&#039;&#039;&#039; di uso &#039;&#039;&#039;quotidiano&#039;&#039;&#039;, senza la necessità di hardware specializzato.&lt;br /&gt;
&lt;br /&gt;
== Come funziona ==&lt;br /&gt;
Hypernetworks consente di base di integrare un modello ausiliario che intercetti l&#039;attention layer del modello principale e ne modifichi i valori che lo attraversano, una sorta di fine-tuning ma senza modificare i pesi del modello principale ma aggiungendo una piccola rete neurale che ne alteri lo stile.&lt;br /&gt;
&lt;br /&gt;
La base di funzionamento è infatti abbastanza simile a quella di [[LoRA]] visto che entrambi gli approcci agiscono sul modulo di cross attention. Solo che mentre con LoRA si alterano i pesi in questo caso si aggiunge una rete. &lt;br /&gt;
&lt;br /&gt;
[https://rentry.org/hypernetwork4dumdums Qui] trovi una guida all&#039;addestramento di queste reti.&lt;br /&gt;
&lt;br /&gt;
== Come integrarlo su AUTOMATIC1111 ==&lt;br /&gt;
&lt;br /&gt;
# Trova e scarica delle Hypernetworks da https://civitai.com/&lt;br /&gt;
# Installa la rete mettendo i file del modello nella seguente cartella della GUI:&lt;br /&gt;
&lt;br /&gt;
 stable-diffusion-webui/models/hypernetworks&lt;br /&gt;
3. Cliccando sulla Hypernetwork nell&#039;apposita sezione della GUI la riga che richiama l&#039;Hypernet verrà automaticamente inserita come prompt.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot (380).png|miniatura|680x680px|fonte: https://stable-diffusion-art.com/hypernetwork/|centro]]&lt;br /&gt;
[[File:Screenshot (379).png|miniatura|967x967px|fonte: https://stable-diffusion-art.com/hypernetwork/|centro]]Bisogna tenere a mente che la frase &amp;lt;hypernet: non viene trattata come parte del prompt  (come ad esempio nel caso di [[TextualInversion]] e [[LoRA]] ). Indica semplicemente quali hypernet utilizzare. Verrà completamente ignorato dopo che ha richiamato la rete richiesta. Pertanto non è possibile utilizzare alcuna sintassi del prompt come [keyword1:keyword2:0.5].&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1573</id>
		<title>Hypernetworks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1573"/>
		<updated>2024-03-22T15:01:25Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;Hypernetwork&#039;&#039;&#039; è una tecnica che introduce &#039;&#039;&#039;reti neurali supplementari&#039;&#039;&#039; per modificare &#039;&#039;&#039;chiavi&#039;&#039;&#039; e &#039;&#039;&#039;valori&#039;&#039;&#039; all&#039;interno di un modello. Durante il periodo di addestramento, il modello di Stable Diffusion rimane invariato, mentre si permette alla hypernetwork collegata di subire modifiche. Essendo questa hypernetwork di &#039;&#039;&#039;dimensioni ridotte&#039;&#039;&#039;, il suo addestramento è &#039;&#039;&#039;rapido&#039;&#039;&#039; e richiede &#039;&#039;&#039;risorse limitate&#039;&#039;&#039;. Questo significa che è possibile eseguire l&#039;addestramento anche su un &#039;&#039;&#039;computer&#039;&#039;&#039; di uso &#039;&#039;&#039;quotidiano&#039;&#039;&#039;, senza la necessità di hardware specializzato.&lt;br /&gt;
&lt;br /&gt;
== Come funziona ==&lt;br /&gt;
Hypernetworks consente di base di integrare un modello ausiliario che intercetti l&#039;attention layer del modello principale e ne modifichi i valori che lo attraversano, una sorta di fine-tuning ma senza modificare i pesi del modello principale ma aggiungendo una piccola rete neurale che ne alteri lo stile.&lt;br /&gt;
&lt;br /&gt;
La base di funzionamento è infatti abbastanza simile a quella di [[LoRA]] visto che entrambi gli approcci agiscono sul modulo di cross attention. Solo che mentre con LoRA si alterano i pesi in questo caso si aggiunge una rete. &lt;br /&gt;
&lt;br /&gt;
[https://rentry.org/hypernetwork4dumdums Qui] trovi una guida all&#039;addestramento di queste reti.&lt;br /&gt;
&lt;br /&gt;
== Come integrarlo su AUTOMATIC1111 ==&lt;br /&gt;
&lt;br /&gt;
# Trova e scarica delle Hypernetworks da https://civitai.com/&lt;br /&gt;
# Installa la rete mettendo i file del modello nella seguente cartella della GUI:&lt;br /&gt;
&lt;br /&gt;
 stable-diffusion-webui/models/hypernetworks&lt;br /&gt;
3. Cliccando sulla Hypernetwork nell&#039;apposita sezione della GUI la riga che richiama l&#039;Hypernet verrà automaticamente inserita come prompt&lt;br /&gt;
[[File:Screenshot (380).png|miniatura|680x680px|fonte: https://stable-diffusion-art.com/hypernetwork/|centro]]&lt;br /&gt;
[[File:Screenshot (379).png|miniatura|967x967px|fonte: https://stable-diffusion-art.com/hypernetwork/|centro]]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1572</id>
		<title>Hypernetworks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1572"/>
		<updated>2024-03-22T15:00:22Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;Hypernetwork&#039;&#039;&#039; è una tecnica che introduce &#039;&#039;&#039;reti neurali supplementari&#039;&#039;&#039; per modificare &#039;&#039;&#039;chiavi&#039;&#039;&#039; e &#039;&#039;&#039;valori&#039;&#039;&#039; all&#039;interno di un modello. Durante il periodo di addestramento, il modello di Stable Diffusion rimane invariato, mentre si permette alla hypernetwork collegata di subire modifiche. Essendo questa hypernetwork di &#039;&#039;&#039;dimensioni ridotte&#039;&#039;&#039;, il suo addestramento è &#039;&#039;&#039;rapido&#039;&#039;&#039; e richiede &#039;&#039;&#039;risorse limitate&#039;&#039;&#039;. Questo significa che è possibile eseguire l&#039;addestramento anche su un &#039;&#039;&#039;computer&#039;&#039;&#039; di uso &#039;&#039;&#039;quotidiano&#039;&#039;&#039;, senza la necessità di hardware specializzato.&lt;br /&gt;
&lt;br /&gt;
== Come funziona ==&lt;br /&gt;
Hypernetworks consente di base di integrare un modello ausiliario che intercetti l&#039;attention layer del modello principale e ne modifichi i valori che lo attraversano, una sorta di fine-tuning ma senza modificare i pesi del modello principale ma aggiungendo una piccola rete neurale che ne alteri lo stile.&lt;br /&gt;
&lt;br /&gt;
La base di funzionamento è infatti abbastanza simile a quella di [[LoRA]] visto che entrambi gli approcci agiscono sul modulo di cross attention. Solo che mentre con LoRA si alterano i pesi in questo caso si aggiunge una rete. &lt;br /&gt;
&lt;br /&gt;
[https://rentry.org/hypernetwork4dumdums Qui] trovi una guida all&#039;addestramento di queste reti.&lt;br /&gt;
&lt;br /&gt;
== Come integrarlo su AUTOMATIC1111 ==&lt;br /&gt;
&lt;br /&gt;
# Trova e scarica delle Hypernetworks da https://civitai.com/&lt;br /&gt;
# Installa la rete mettendo i file del modello nella seguente cartella della GUI:&lt;br /&gt;
&lt;br /&gt;
 stable-diffusion-webui/models/hypernetworks&lt;br /&gt;
3. Cliccando sulla Hypernetwork nell&#039;apposita sezione della GUI la riga che richiama l&#039;Hypernet verrà automaticamente inserita come prompt&lt;br /&gt;
[[File:Screenshot (380).png|nessuno|miniatura|680x680px|fonte: https://stable-diffusion-art.com/hypernetwork/]]&lt;br /&gt;
[[File:Screenshot (379).png|miniatura|967x967px|fonte: https://stable-diffusion-art.com/hypernetwork/]]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(380).png&amp;diff=1571</id>
		<title>File:Screenshot (380).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(380).png&amp;diff=1571"/>
		<updated>2024-03-22T14:59:17Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (380)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1570</id>
		<title>Hypernetworks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1570"/>
		<updated>2024-03-22T14:57:27Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;Hypernetwork&#039;&#039;&#039; è una tecnica che introduce &#039;&#039;&#039;reti neurali supplementari&#039;&#039;&#039; per modificare &#039;&#039;&#039;chiavi&#039;&#039;&#039; e &#039;&#039;&#039;valori&#039;&#039;&#039; all&#039;interno di un modello. Durante il periodo di addestramento, il modello di Stable Diffusion rimane invariato, mentre si permette alla hypernetwork collegata di subire modifiche. Essendo questa hypernetwork di &#039;&#039;&#039;dimensioni ridotte&#039;&#039;&#039;, il suo addestramento è &#039;&#039;&#039;rapido&#039;&#039;&#039; e richiede &#039;&#039;&#039;risorse limitate&#039;&#039;&#039;. Questo significa che è possibile eseguire l&#039;addestramento anche su un &#039;&#039;&#039;computer&#039;&#039;&#039; di uso &#039;&#039;&#039;quotidiano&#039;&#039;&#039;, senza la necessità di hardware specializzato.&lt;br /&gt;
&lt;br /&gt;
== Come funziona ==&lt;br /&gt;
Hypernetworks consente di base di integrare un modello ausiliario che intercetti l&#039;attention layer del modello principale e ne modifichi i valori che lo attraversano, una sorta di fine-tuning ma senza modificare i pesi del modello principale ma aggiungendo una piccola rete neurale che ne alteri lo stile.&lt;br /&gt;
&lt;br /&gt;
La base di funzionamento è infatti abbastanza simile a quella di [[LoRA]] visto che entrambi gli approcci agiscono sul modulo di cross attention. Solo che mentre con LoRA si alterano i pesi in questo caso si aggiunge una rete. &lt;br /&gt;
&lt;br /&gt;
[https://rentry.org/hypernetwork4dumdums Qui] trovi una guida all&#039;addestramento di queste reti.&lt;br /&gt;
&lt;br /&gt;
== Come integrarlo su AUTOMATIC1111 ==&lt;br /&gt;
&lt;br /&gt;
# Trova e scarica delle Hypernetworks da https://civitai.com/&lt;br /&gt;
# Installa la rete mettendo i file del modello nella seguente cartella della GUI:&lt;br /&gt;
&lt;br /&gt;
 stable-diffusion-webui/models/hypernetworks&lt;br /&gt;
3. Cliccando sulla Hypernetwork nell&#039;apposita sezione della GUI la riga che richiama l&#039;Hypernet verrà automaticamente inserita come prompt&lt;br /&gt;
[[File:Screenshot (379).png|miniatura|967x967px]]&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(379).png&amp;diff=1569</id>
		<title>File:Screenshot (379).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(379).png&amp;diff=1569"/>
		<updated>2024-03-22T14:57:11Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (379)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Hyper.png&amp;diff=1568</id>
		<title>File:Hyper.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Hyper.png&amp;diff=1568"/>
		<updated>2024-03-22T14:54:37Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hyper&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1567</id>
		<title>Hypernetworks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1567"/>
		<updated>2024-03-22T14:50:05Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Come funziona */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;Hypernetwork&#039;&#039;&#039; è una tecnica che introduce &#039;&#039;&#039;reti neurali supplementari&#039;&#039;&#039; per modificare &#039;&#039;&#039;chiavi&#039;&#039;&#039; e &#039;&#039;&#039;valori&#039;&#039;&#039; all&#039;interno di un modello. Durante il periodo di addestramento, il modello di Stable Diffusion rimane invariato, mentre si permette alla hypernetwork collegata di subire modifiche. Essendo questa hypernetwork di &#039;&#039;&#039;dimensioni ridotte&#039;&#039;&#039;, il suo addestramento è &#039;&#039;&#039;rapido&#039;&#039;&#039; e richiede &#039;&#039;&#039;risorse limitate&#039;&#039;&#039;. Questo significa che è possibile eseguire l&#039;addestramento anche su un &#039;&#039;&#039;computer&#039;&#039;&#039; di uso &#039;&#039;&#039;quotidiano&#039;&#039;&#039;, senza la necessità di hardware specializzato.&lt;br /&gt;
&lt;br /&gt;
== Come funziona ==&lt;br /&gt;
Hypernetworks consente di base di integrare un modello ausiliario che intercetti l&#039;attention layer del modello principale e ne modifichi i valori che lo attraversano, una sorta di fine-tuning ma senza modificare i pesi del modello principale ma aggiungendo una piccola rete neurale che ne alteri lo stile.&lt;br /&gt;
&lt;br /&gt;
La base di funzionamento è infatti abbastanza simile a quella di [[LoRA]] visto che entrambi gli approcci agiscono sul modulo di cross attention. Solo che mentre con LoRA si alterano i pesi in questo caso si aggiunge una rete. &lt;br /&gt;
&lt;br /&gt;
[https://rentry.org/hypernetwork4dumdums Qui] trovi una guida all&#039;addestramento di queste reti.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1566</id>
		<title>Hypernetworks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1566"/>
		<updated>2024-03-22T14:48:06Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Come funziona */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;Hypernetwork&#039;&#039;&#039; è una tecnica che introduce &#039;&#039;&#039;reti neurali supplementari&#039;&#039;&#039; per modificare &#039;&#039;&#039;chiavi&#039;&#039;&#039; e &#039;&#039;&#039;valori&#039;&#039;&#039; all&#039;interno di un modello. Durante il periodo di addestramento, il modello di Stable Diffusion rimane invariato, mentre si permette alla hypernetwork collegata di subire modifiche. Essendo questa hypernetwork di &#039;&#039;&#039;dimensioni ridotte&#039;&#039;&#039;, il suo addestramento è &#039;&#039;&#039;rapido&#039;&#039;&#039; e richiede &#039;&#039;&#039;risorse limitate&#039;&#039;&#039;. Questo significa che è possibile eseguire l&#039;addestramento anche su un &#039;&#039;&#039;computer&#039;&#039;&#039; di uso &#039;&#039;&#039;quotidiano&#039;&#039;&#039;, senza la necessità di hardware specializzato.&lt;br /&gt;
&lt;br /&gt;
== Come funziona ==&lt;br /&gt;
Hypernetworks consente di base di integrare un modello ausiliario che intercetti l&#039;attention layer del modello principale e ne modifichi i valori che lo attraversano, una sorta di fine-tuning ma senza modificare i pesi del modello principale ma aggiungendo una piccola rete neurale che ne alteri lo stile.&lt;br /&gt;
&lt;br /&gt;
[https://rentry.org/hypernetwork4dumdums Qui] trovi una guida all&#039;addestramento di queste reti.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1563</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1563"/>
		<updated>2024-03-22T14:43:15Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Sharpness Multiplier: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
[[File:Screenshot (378).png|nessuno|miniatura|868x868px|Confronto tra le varie tecniche di personalizzazione]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;[[File:Image (3).png|miniatura|321x321px|[[File:Image (4).png|miniatura|341x341px|+100]]-100|nessuno]]&lt;br /&gt;
&lt;br /&gt;
=== Tonemap Multiplier: ===&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|851x851px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|852x852px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|nessuno]]&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;. Quindi, invece di utilizzare un&#039;unica immagine di riferimento (prompt), la multidiffusion combina le informazioni da più immagini per creare un&#039;immagine finale più ricca e complessa.&lt;br /&gt;
[[File:Screenshot (377).png|nessuno|miniatura|860x860px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1562</id>
		<title>Hypernetworks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Hypernetworks&amp;diff=1562"/>
		<updated>2024-03-22T14:38:26Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;Hypernetwork&#039;&#039;&#039; è una tecnica che introduce &#039;&#039;&#039;reti neurali supplementari&#039;&#039;&#039; per modificare &#039;&#039;&#039;chiavi&#039;&#039;&#039; e &#039;&#039;&#039;valori&#039;&#039;&#039; all&#039;interno di un modello. Durante il periodo di addestramento, il modello di Stable Diffusion rimane invariato, mentre si permette alla hypernetwork collegata di subire modifiche. Essendo questa hypernetwork di &#039;&#039;&#039;dimensioni ridotte&#039;&#039;&#039;, il suo addestramento è &#039;&#039;&#039;rapido&#039;&#039;&#039; e richiede &#039;&#039;&#039;risorse limitate&#039;&#039;&#039;. Questo significa che è possibile eseguire l&#039;addestramento anche su un &#039;&#039;&#039;computer&#039;&#039;&#039; di uso &#039;&#039;&#039;quotidiano&#039;&#039;&#039;, senza la necessità di hardware specializzato.&lt;br /&gt;
&lt;br /&gt;
== Come funziona ==&lt;br /&gt;
Hypernetworks consente di base di integrare un modello ausiliario che intercetti l&#039;attention layer del modello principale e ne modifichi i valori che lo attraversano, una sorta di fine-tuning ma senza modificare i pesi del modello principale.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1561</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1561"/>
		<updated>2024-03-22T14:35:41Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Tecniche */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
[[File:Screenshot (378).png|nessuno|miniatura|868x868px|Confronto tra le varie tecniche di personalizzazione]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;[[File:Image (4).png|miniatura|341x341px|+100]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|851x851px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Image (3).png|miniatura|321x321px|-100|nessuno]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|852x852px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|nessuno]]&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;. Quindi, invece di utilizzare un&#039;unica immagine di riferimento (prompt), la multidiffusion combina le informazioni da più immagini per creare un&#039;immagine finale più ricca e complessa.&lt;br /&gt;
[[File:Screenshot (377).png|nessuno|miniatura|860x860px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(378).png&amp;diff=1560</id>
		<title>File:Screenshot (378).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(378).png&amp;diff=1560"/>
		<updated>2024-03-22T14:34:31Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (378)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1559</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1559"/>
		<updated>2024-03-22T14:32:31Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;[[File:Image (4).png|miniatura|341x341px|+100]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|851x851px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Image (3).png|miniatura|321x321px|-100|nessuno]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|852x852px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|nessuno]]&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;. Quindi, invece di utilizzare un&#039;unica immagine di riferimento (prompt), la multidiffusion combina le informazioni da più immagini per creare un&#039;immagine finale più ricca e complessa.&lt;br /&gt;
[[File:Screenshot (377).png|nessuno|miniatura|860x860px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1558</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1558"/>
		<updated>2024-03-22T14:30:36Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* LatentModifier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|313x313px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|326x326px|+100|centro]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|851x851px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|852x852px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|nessuno]]&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;. Quindi, invece di utilizzare un&#039;unica immagine di riferimento (prompt), la multidiffusion combina le informazioni da più immagini per creare un&#039;immagine finale più ricca e complessa.&lt;br /&gt;
[[File:Screenshot (377).png|nessuno|miniatura|860x860px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1557</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1557"/>
		<updated>2024-03-22T14:30:04Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* MultiDiffusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|313x313px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|326x326px|+100|centro]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|851x851px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|852x852px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|nessuno]]&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;. Quindi, invece di utilizzare un&#039;unica immagine di riferimento (prompt), la multidiffusion combina le informazioni da più immagini per creare un&#039;immagine finale più ricca e complessa.&lt;br /&gt;
[[File:Screenshot (377).png|nessuno|miniatura|860x860px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(377).png&amp;diff=1554</id>
		<title>File:Screenshot (377).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(377).png&amp;diff=1554"/>
		<updated>2024-03-22T14:26:29Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (377)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1551</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1551"/>
		<updated>2024-03-22T14:19:39Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|313x313px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|326x326px|+100|centro]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|851x851px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|852x852px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|nessuno]]&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1550</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1550"/>
		<updated>2024-03-22T14:18:54Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|313x313px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|326x326px|+100|centro]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|851x851px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|852x852px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|sinistra]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1549</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1549"/>
		<updated>2024-03-22T14:18:30Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|313x313px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|326x326px|+100|centro]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|851x851px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|852x852px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|sinistra]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1548</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1548"/>
		<updated>2024-03-22T14:17:53Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* LatentModifier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|313x313px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|326x326px|+100|centro]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|673x673px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|672x672px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|sinistra]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1547</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1547"/>
		<updated>2024-03-22T14:17:36Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* LatentModifier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Sharpness Multiplier: ===&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|313x313px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|326x326px|+100|centro]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|673x673px|Tonemap Multiplier: 100|sinistra]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|672x672px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri|sinistra]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1546</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1546"/>
		<updated>2024-03-22T14:16:53Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Controlnet.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Sharpness Multiplier:&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|313x313px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|326x326px|+100|centro]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|673x673px|Tonemap Multiplier: 100]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|672x672px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1544</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1544"/>
		<updated>2024-03-22T14:15:23Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* LatentModifier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Sharpness Multiplier:&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|423x423px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|421x421px|+100]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|969x969px|Tonemap Multiplier: 100]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|971x971px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1543</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1543"/>
		<updated>2024-03-22T14:14:35Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* MultiDiffusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Sharpness Multiplier:&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|423x423px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|421x421px|+100]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|969x969px|Tonemap Multiplier: 100]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|971x971px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1541</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1541"/>
		<updated>2024-03-22T14:13:56Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Sharpness Multiplier:&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|423x423px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|421x421px|+100]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|969x969px|Tonemap Multiplier: 100]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|971x971px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1540</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1540"/>
		<updated>2024-03-22T14:12:54Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra (&#039;&#039;&#039;15 sec&#039;&#039;&#039;) e utilizzo di Hypertile (&#039;&#039;&#039;7 sec&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Sharpness Multiplier:&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|423x423px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|421x421px|+100]]&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|969x969px|Tonemap Multiplier: 100]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|971x971px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra Noise Settings ==&lt;br /&gt;
[[File:Screenshot (372).png|miniatura|996x996px]]&lt;br /&gt;
[[File:Screenshot (371).png|miniatura|997x997px]]&lt;br /&gt;
[[File:Screenshot (369).png|miniatura|999x999px]]&lt;br /&gt;
[[File:Screenshot (370).png|miniatura|1003x1003px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1538</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1538"/>
		<updated>2024-03-22T14:10:32Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* LatentModifier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A man eating pasta&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo di Hypertile.&lt;br /&gt;
&lt;br /&gt;
[[File:Uomopasta1.png|400px]] [[File:Uomopasta2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;. Ci sono parametri &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: a cute kitten smoking a cigar&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Sharpness Multiplier:&lt;br /&gt;
[[File:Image (3).png|sinistra|miniatura|423x423px|-100]]&lt;br /&gt;
[[File:Image (4).png|miniatura|421x421px|+100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot (367).png|miniatura|969x969px|Tonemap Multiplier: 100]]&lt;br /&gt;
[[File:Screenshot (368).png|miniatura|971x971px|Miglior risultato ottenuto dalla sperimentazione e relativi parametri]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra Noise Settings ==&lt;br /&gt;
[[File:Screenshot (372).png|miniatura|996x996px]]&lt;br /&gt;
[[File:Screenshot (371).png|miniatura|997x997px]]&lt;br /&gt;
[[File:Screenshot (369).png|miniatura|999x999px]]&lt;br /&gt;
[[File:Screenshot (370).png|miniatura|1003x1003px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
Parametro puramente tecnico che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. Non ha impatto sulla generazione. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(369).png&amp;diff=1537</id>
		<title>File:Screenshot (369).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(369).png&amp;diff=1537"/>
		<updated>2024-03-22T14:07:35Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (369)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(370).png&amp;diff=1536</id>
		<title>File:Screenshot (370).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(370).png&amp;diff=1536"/>
		<updated>2024-03-22T14:06:50Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (370)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(371).png&amp;diff=1535</id>
		<title>File:Screenshot (371).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(371).png&amp;diff=1535"/>
		<updated>2024-03-22T14:06:02Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (371)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(372).png&amp;diff=1534</id>
		<title>File:Screenshot (372).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(372).png&amp;diff=1534"/>
		<updated>2024-03-22T14:04:56Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (372)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(368).png&amp;diff=1533</id>
		<title>File:Screenshot (368).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(368).png&amp;diff=1533"/>
		<updated>2024-03-22T13:56:08Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (368)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Screenshot_(367).png&amp;diff=1532</id>
		<title>File:Screenshot (367).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Screenshot_(367).png&amp;diff=1532"/>
		<updated>2024-03-22T13:53:26Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot (367)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Image_(4).png&amp;diff=1531</id>
		<title>File:Image (4).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Image_(4).png&amp;diff=1531"/>
		<updated>2024-03-22T13:46:53Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Image (4)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=File:Image_(3).png&amp;diff=1530</id>
		<title>File:Image (3).png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=File:Image_(3).png&amp;diff=1530"/>
		<updated>2024-03-22T13:45:58Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Image (3)&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1528</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1528"/>
		<updated>2024-03-22T12:14:59Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Kohya HRFix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione, può essere un grosso dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;opzione&#039;&#039;&#039; che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
	<entry>
		<id>https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1527</id>
		<title>Txt2img (Stable Diffusion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.mindmaker.it/index.php?title=Txt2img_(Stable_Diffusion)&amp;diff=1527"/>
		<updated>2024-03-22T12:14:33Z</updated>

		<summary type="html">&lt;p&gt;Lucia Terenzi: /* Kohya HRFix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Txt2img è un tool di [[Stable Diffusion]] che, come intuibile, genera un&#039;immagine .png basata su un prompt testuale. Il suo ultimo aggiornamento risale al 28 Ottobre 2022.&lt;br /&gt;
&lt;br /&gt;
I parametri di Txt2img non verranno descritti con massimo dettaglio dal momento che la finalità di questa Wiki entry è di fornire delle linee guida comprovate da sperimentazione diretta.&lt;br /&gt;
&lt;br /&gt;
* Il primo obiettivo è ricondurre con praticità il livello di performance riscontrato nel modello alle relative combinazioni di parametri.&lt;br /&gt;
&lt;br /&gt;
* Il secondo obiettivo è creare collegamenti tra ciascun parametro e la corrispondente sezione dell&#039;architettura.&lt;br /&gt;
&lt;br /&gt;
= Link di approfondimento =&lt;br /&gt;
Nel caso si voglia approfondire i setting si può visitare il github relativo alla UI: [https://github.com/AUTOMATIC1111/stable-diffusion-webui]&lt;br /&gt;
&lt;br /&gt;
Nel caso si voglia approfondire l&#039;architettura generale si può visitare il repository: [https://github.com/Stability-AI/stablediffusion]&lt;br /&gt;
&lt;br /&gt;
= Overview dell&#039;interfaccia =&lt;br /&gt;
[[File:Overview_diffusion.png|700x700px]]&lt;br /&gt;
&lt;br /&gt;
* [[Sampling method (Stable Diffusion)|Sampling method]]&lt;br /&gt;
&lt;br /&gt;
* Sampling steps:&lt;br /&gt;
&lt;br /&gt;
-Tra l&#039;1 e i 15 step: l&#039;immagine è relativamente sfocata.&lt;br /&gt;
&lt;br /&gt;
-Tra i 15 e i 25 step: L&#039;immagine è abbastanza chiara e di buona qualità.&lt;br /&gt;
&lt;br /&gt;
-Tra i 25 e i 45: La qualità dell&#039;immagine è molto alta e comprende la texture.&lt;br /&gt;
&lt;br /&gt;
-Dai 45 in poi: La loss function si stabilizza e si osserva una variazione minima nella risoluzione.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:Sampling step 5.png|miniatura|5 step]]&lt;br /&gt;
![[File:10 step.png|miniatura|10 step]]&lt;br /&gt;
![[File:15 step.png|miniatura|15 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:25 step.png|miniatura|25 step]]&lt;br /&gt;
![[File:40 step.png|miniatura|40 step]]&lt;br /&gt;
![[File:60 step.png|miniatura|60 step]]&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
![[File:1 step.png|miniatura|1 step]]&lt;br /&gt;
![[File:150 step.png|miniatura|150 step]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== Upscaler: ======&lt;br /&gt;
L&#039;upscaling è il processo di aumentare la risoluzione di un&#039;immagine, cioè di ingrandirla, mantenendo al contempo la qualità visiva il più alta possibile e può essere ottenuto mediante algoritmi di interpolazione e tecniche avanzate di elaborazione delle immagini, che aggiungono dettagli artificiali per migliorare l&#039;aspetto dell&#039;immagine.&lt;br /&gt;
&lt;br /&gt;
- Hires Steps: migliorano la qualità dell&#039;immagine attraverso iterazioni aggiuntive durante il processo di generazione&lt;br /&gt;
&lt;br /&gt;
- Denoising strenght&lt;br /&gt;
&lt;br /&gt;
- Upscale by: L&#039;upscale di solito avviene dopo che l&#039;immagine è stata completamente generata. L&#039;immagine viene resa più grande senza perdere significativamente in qualità o dettaglio. Si esprime come un multiplier delle dimensioni dell&#039;immagine generata, da 1 a 4.&lt;br /&gt;
&lt;br /&gt;
* Width/Height: Dimensioni&lt;br /&gt;
&lt;br /&gt;
* Batch count: il numero di gruppi in cui i dati vengono divisi durante l&#039;elaborazione. Più batch count può significare una maggiore divisione dei dati durante il processo.&lt;br /&gt;
&lt;br /&gt;
* Batch size: quanti dati vengono elaborati contemporaneamente in ciascun gruppo. Un batch size più grande può accelerare il processo ma richiedere più memoria, mentre un batch size più piccolo può richiedere più tempo ma portare a risultati più precisi.&lt;br /&gt;
&lt;br /&gt;
* CFG Scale (Classifier Free Guidance Scale)&lt;br /&gt;
&lt;br /&gt;
* Seed: Un numero che inizializza il generatore di numeri casuali. Utilizzare lo stesso seed con gli stessi parametri di input produrrà sempre la stessa immagine. È utile per la riproducibilità o per fare piccoli aggiustamenti su un&#039;immagine esistente.&lt;br /&gt;
=Tecniche=&lt;br /&gt;
*[[TextualInversion]]&lt;br /&gt;
*[[Hypernetworks]]&lt;br /&gt;
*[[LoRA]]&lt;br /&gt;
&lt;br /&gt;
= Sperimentazioni =&lt;br /&gt;
Per effettuare un&#039;analisi bilanciata utilizzeremo gli stessi due metri di giudizio per valutare gli output:&lt;br /&gt;
&lt;br /&gt;
* Inception Score&lt;br /&gt;
* Visual Inspection by GPT4&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Denoising Strength =&lt;br /&gt;
Questo parametro si riferisce all&#039;intensità della &#039;&#039;&#039;riduzione del rumore&#039;&#039;&#039; applicata a un&#039;immagine. Il &amp;quot;rumore&amp;quot; è il termine usato per descrivere &#039;&#039;&#039;variazioni casuali e non desiderate&#039;&#039;&#039; nei livelli di luminosità o colore di un&#039;immagine, che possono renderla &#039;&#039;&#039;granulosa&#039;&#039;&#039; o &#039;&#039;&#039;offuscata&#039;&#039;&#039; e possono distorcere i dettagli.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
(Le sperimentazioni iniziano dopo il valore 0, poiché non si sta fornendo al modello l&#039;opportunità di &amp;quot;pulire&amp;quot; o trasformare il rumore in un&#039;immagine coerente basata sul prompt fornito)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cooking_1.png|miniatura|200x200px|Denoising Strength = 0,1]]&lt;br /&gt;
|[[File:Cooking_2.png|miniatura|200x200px|Denoising Strength = 0,3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|Denoising Strength = 0,7]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il Denoising Strenght a &amp;quot;0,1&amp;quot;, si nota un&#039;elevata quantità di rumore che rende indefiniti sia i dettagli che le sagome degli elementi a schermo. Aumentando de facto il valore del parametro si può osservare nettamente la differenza e l&#039;efficacia fra il valore intermedio (0,3) e quello iniziale, fino ad arrivare ad una qualità più che sufficiente impostando il parametro a &amp;quot;0,7&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Visual inspection by ChatGPT4==&lt;br /&gt;
Qui di seguito ci sarà una descrizione di ChatGPT4 sulla qualità delle immagini, in modo da comprendere se il modello riesca a individuare rumore e artefatti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;Le tre immagini mostrano una sequenza di azioni in una cucina, con un uomo che sembra impegnato nella preparazione di un piatto di carne. Nella prima immagine, il cuoco sta flambando la carne, creando un effetto visivo spettacolare con le fiamme che si alzano dalla padella. Nella seconda, appare concentrato nel girare o condire la carne, mentre nella terza è intento a cucinare, forse verificando la cottura o aggiungendo altri ingredienti.&lt;br /&gt;
Ogni immagine ha una qualità elevata, con dettagli nitidi e colori vivaci che catturano bene la scena della cucina. L&#039;illuminazione è ben gestita, evidenziando le azioni del cuoco e dando vita agli alimenti in preparazione. La composizione è dinamica e sembra che ci sia stata attenzione nel posizionare ogni elemento per creare una scena armoniosa che guida l&#039;occhio verso il soggetto principale senza distrazioni superflue.&lt;br /&gt;
Non si notano artefatti che suggeriscono una manipolazione digitale e le immagini trasmettono un senso di autenticità e professionalità. Ciò suggerisce che probabilmente sono state scattate durante una vera sessione di cucina e che fanno parte di una serie tematica ben pianificata. In sintesi, si tratta di una rappresentazione coerente e accattivante del processo culinario in azione.&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dalla descrizione fornita, si nota come ChatGPT4 non riesca ad individuare le differenze sostanziali presenti fra le tre immagini, dimostrando comunque la capacità di saper descrivere il contesto in modo eccellente.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: CFG Scale =&lt;br /&gt;
Questo parametro controlla quanto fedelmente il processo di generazione delle immagini &#039;&#039;&#039;segue&#039;&#039;&#039; il prompt di testo fornito. Un valore più alto del CFG Scale significa che l&#039;immagine generata sarà più &#039;&#039;&#039;aderente&#039;&#039;&#039; al testo di input, ossia seguirà più strettamente le indicazioni date. In contrasto, un valore più basso dà al modello più libertà di &#039;&#039;&#039;inventare&#039;&#039;&#039; o di essere &#039;&#039;&#039;creativo&#039;&#039;&#039;, portando a risultati che possono &#039;&#039;&#039;deviare&#039;&#039;&#039; di più dal prompt originale.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingCFG2.png|miniatura|200x200px|CFG = 1]]&lt;br /&gt;
|[[File:CookingCFG1.png|miniatura|200x200px|CFG = 3]]&lt;br /&gt;
|[[File:Cooking_3.png|miniatura|200x200px|CFG = 15]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Impostando il parametro al suo valore minimo si nota come il modello segua ben poco il prompt fornito. Viene presentato un ragazzo e non un uomo, situato in un posto che ricorda appena una cucina, mentre sta cucinando del cibo che ricorda vagamente la carne. Con un valore pari a &amp;quot;3&amp;quot;, il setting è già interamente riconoscibile. In questo caso sono solo le azioni che vengono rappresentate a schermo ad essere poco chiare, poiché si nota un uomo che ha messo una fetta di carne in un forno a legna. L&#039;ultima immagine mostra un contesto totalmente credibile: sia l&#039;ambiente che le azioni sono coerenti con il prompt fornito, benché gli unici difetti facilmente visibili sono gli oggetti che l&#039;uomo tiene in mano per cucinare, essendo poco definiti.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Share Attention in Batch =&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Share attention in batch&#039;&#039;&#039;&amp;quot; è una funzionalità dove l&#039;attenzione del modello, ovvero la parte che il modello &amp;quot;considera&amp;quot; più importante durante la generazione dell&#039;immagine, viene &#039;&#039;&#039;condivisa&#039;&#039;&#039; o &#039;&#039;&#039;sincronizzata&#039;&#039;&#039; tra le immagini in un batch. Quando si generano &#039;&#039;&#039;più immagini contemporaneamente (un batch)&#039;&#039;&#039;, questo parametro fa in modo che tutte le immagini nel batch diano priorità a parti simili dell&#039;input, o che le caratteristiche stilistiche siano &#039;&#039;&#039;coerenti&#039;&#039;&#039; tra di loro. Per esempio, se si stanno generando immagini di volti e si vuole che l&#039;attenzione sia focalizzata sugli occhi per tutti i volti nel batch, attivare questa opzione potrebbe aiutare a garantire che tutti i volti generati abbiano occhi ben definiti e uno stile simile. Questo può essere particolarmente utile quando l&#039;obiettivo è creare una serie di immagini che devono essere visivamente coerenti l&#039;una con l&#039;altra.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:Cookingstyle1.png|miniatura|200x200px|SAIB = off]]&lt;br /&gt;
|[[File:Cookingstyle2.png|miniatura|200x200px|SAIB = on]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: Hires steps =&lt;br /&gt;
Questo parametro si riferisce ai &#039;&#039;&#039;passaggi aggiuntivi&#039;&#039;&#039; di elaborazione che vengono eseguiti per &#039;&#039;&#039;rifinire&#039;&#039;&#039; l&#039;immagine dopo la sua creazione iniziale. Aumentare l&#039;Hire ssteps può migliorare la qualità dell&#039;immagine, ma &#039;&#039;&#039;rallenterà&#039;&#039;&#039; anche il processo di generazione.&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:CookingHS1.png|miniatura|200x200px|Hire steps = 0]]&lt;br /&gt;
|[[File:CookingHS3.png|miniatura|200x200px|Hire steps = 100]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
In questa sperimentazione si notano poche differenze fra un&#039;immagine e l&#039;altra; fra l&#039;assenza del parametro e il suo valore massimo. L&#039;unico difetto individuabile si trova nella prima immagine dove l&#039;uomo sta cercando di cuocere la carne senza una padella.&lt;br /&gt;
&lt;br /&gt;
= Sperimentazione: SelfAttentionGuidance Integrated =&lt;br /&gt;
Questa tecnica è progettata per rendere il processo di generazione delle immagini &#039;&#039;&#039;più semplice e veloce&#039;&#039;&#039; per l&#039;utente, migliorando allo stesso tempo la &#039;&#039;&#039;qualità&#039;&#039;&#039; delle immagini prodotte. La funzionalità integrata della &amp;quot;self attention guidance&amp;quot; può aiutare a creare immagini che appaiono &#039;&#039;&#039;più realistiche&#039;&#039;&#039; e con oggetti &#039;&#039;&#039;meglio definiti&#039;&#039;&#039; senza che l&#039;utente debba effettuare configurazioni complesse o &#039;&#039;&#039;passaggi supplementari&#039;&#039;&#039;.&lt;br /&gt;
Il termine &amp;quot;&#039;&#039;&#039;Scale&#039;&#039;&#039;&amp;quot; si riferisce all&#039;intensità con cui la guida basata sull&#039;auto-attenzione viene applicata durante il processo di generazione. Una &amp;quot;Scale&amp;quot; maggiore implica &#039;&#039;&#039;un&#039;adesione più forte al prompt testuale&#039;&#039;&#039; e può portare a immagini più &#039;&#039;&#039;dettagliate e coerenti con l&#039;input&#039;&#039;&#039;, anche se potrebbe ridurre la diversità delle immagini generate.&lt;br /&gt;
Il parametro &amp;quot;&#039;&#039;&#039;Blur Sigma&#039;&#039;&#039;&amp;quot;, invece, è associato al &#039;&#039;&#039;grado di sfocatura&#039;&#039;&#039; che viene applicato alle regioni selezionate di un&#039;immagine. Questo processo agisce dove le aree con maggiore auto-attenzione — ovvero quelle parti dell&#039;immagine che il modello riconosce come più importanti o informative — vengono &#039;&#039;&#039;sfocate&#039;&#039;&#039; leggermente. L&#039;idea è che &#039;&#039;&#039;enfatizzando&#039;&#039;&#039; il lavoro del modello su queste aree sfocate, il modello può generare risultati migliori, perfezionando le parti &#039;&#039;&#039;più significative&#039;&#039;&#039; dell&#039;immagine e &#039;&#039;&#039;riducendo&#039;&#039;&#039; potenzialmente il &#039;&#039;&#039;rumore&#039;&#039;&#039; o i &#039;&#039;&#039;dettagli superflui&#039;&#039;&#039; nelle regioni meno importanti.&lt;br /&gt;
I valori di default sono i seguenti: &amp;lt;&amp;lt;&#039;&#039;&#039;Scale = 0,5&#039;&#039;&#039;&amp;gt;&amp;gt; - &amp;lt;&amp;lt;&#039;&#039;&#039;Blur sigma = 2&#039;&#039;&#039;&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parametri Statici:&lt;br /&gt;
** Prompt = &amp;quot;A man cooking a steak, he is in the kitchen, the stoves are on, &#039;&#039;&#039;the steak is being cooked on a pan&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
** Clip skip = 1&lt;br /&gt;
** Sampling Method: DPM++2M SDE SGMUniform&lt;br /&gt;
** Sampling Steps: 30&lt;br /&gt;
** Upscaler : Latent (nearest-exact)&lt;br /&gt;
** Hires Step: 0&lt;br /&gt;
** Batch count : 1&lt;br /&gt;
** Batch size: 1&lt;br /&gt;
** CFG : 15&lt;br /&gt;
** Denoising Strength = 0,7&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:SAG_none_-_default.jpg|miniatura|200x200px|Tecnica omessa e valori default]]&lt;br /&gt;
|[[File:SAG_Scale.jpg|miniatura|200x200px|SAG Scale (da sinistra): -2; 1; 5]]&lt;br /&gt;
|[[File:SAG_BS.jpg|miniatura|200x200px|SAG BS (da sinistra): 0,1; 5; 10]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Osservazioni==&lt;br /&gt;
Nella prima immagine si osserva il confronto tra l&#039;immagine generata senza la tecnica del SAG e quella generata con quest&#039;ultima. Si evidenzia come l&#039;immagine generata con la tecnica con valori impostati di default sia di qualità inferiore alla prima, suggerendo che bisogna regolare i parametri di &amp;quot;scale&amp;quot; e di &amp;quot;blur sigma&amp;quot;. Per quanto riguarda le immagini generate variando solo il parametro di scale, si nota come si ottengano dei pessimi risultati impostando dei valori sia troppo bassi che troppo alti, e che quindi sia necessario lavorare nei valori intermedi (i risultati cambiano in base alla complessità del prompt). Relativamente al parametro di Blur sigma, si notano poche differenze fra le tre immagini, benché ci siano errori evidenti sul modo in cui l&#039;uomo tenga in mano degli oggetti difficilmente identificabili, soprattutto nei valori &amp;quot;0,1&amp;quot; e &amp;quot;10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Altri componenti=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:altrefunzioni.png|miniatura|500x500px|Tecniche]]&lt;br /&gt;
|}&lt;br /&gt;
==&#039;&#039;&#039;ControlNet&#039;&#039;&#039;== &lt;br /&gt;
Un modello di &#039;&#039;&#039;rete neurale&#039;&#039;&#039; progettato per controllare i modelli di Stable Diffusion, fornendo agli utenti un &#039;&#039;&#039;controllo dettagliato&#039;&#039;&#039; sugli output dei modelli di diffusione nelle attività di generazione di testo in immagine. ControlNet è una struttura di rete neurale che consente &#039;&#039;&#039;l&#039;aggiunta di condizioni aggiuntive&#039;&#039;&#039; per influenzare l&#039;output dei modelli di diffusione. Queste condizioni possono assumere molte forme, come [[Edge maps]], [[Depth maps]], e [[Semantic segmentations]]. L&#039;uso di ControlNet su Stable Diffusion offre numerosi vantaggi. Consente un controllo preciso sulla semantica e sulle caratteristiche del contenuto generato, consentendo la generazione di output più &#039;&#039;&#039;accurati&#039;&#039;&#039; e &#039;&#039;&#039;personalizzati&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;DynamicThresholding (CFG-Fix)&#039;&#039;&#039;==  &lt;br /&gt;
è un &#039;&#039;&#039;filtro&#039;&#039;&#039; per migliorare le immagini. Aiuta a risolvere &#039;&#039;&#039;problemi di colore&#039;&#039;&#039; quando si usano &#039;&#039;&#039;impostazioni più alte&#039;&#039;&#039;. Queste ultime, si riferiscono a valori maggiori o livelli superiori, significa utilizzare valori più grandi per &#039;&#039;&#039;migliorare&#039;&#039;&#039; l’immagine. Ad esempio, se un’immagine è leggermente sbiadita e la si vuole rendere più nitida, è possibile aumentare determinati parametri. Tuttavia, a volte, quando si usano valori troppo alti, potrebbero verificarsi problemi di colore. Ecco dove entra in gioco CFG-Fix: risolve questi problemi di colore quando si utilizzano impostazioni elevate.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;FreeU&#039;&#039;&#039;== &lt;br /&gt;
Un componente aggiuntivo di Stable Diffusion che migliora la qualità dell&#039;immagine modificando il &#039;&#039;&#039;denoiser&#039;&#039;&#039; del modello. Il miglioramento avviene senza costi: nessun addestramento, nessun parametro aggiuntivo introdotto e nessun aumento della memoria o del tempo di campionamento.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A 25 year old mage, dress, full body, magic, lightning, rim light, moon, night&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo FreeU.&lt;br /&gt;
&lt;br /&gt;
[[File:maga.png|300px]] [[File:magaFreeU.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;HyperTile&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;metodo&#039;&#039;&#039; che ottimizza il livello di &#039;&#039;&#039;auto-attenzione&#039;&#039;&#039; all’interno dei modelli Stable-Diffusion. Questo porta a una &#039;&#039;&#039;riduzione del tempo di calcolo&#039;&#039;&#039; che varia da 1 a 4 volte, a seconda della &#039;&#039;&#039;risoluzione iniziale&#039;&#039;&#039;.&lt;br /&gt;
==&#039;&#039;&#039;Kohya HRFix&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;estensione&#039;&#039;&#039; utilizzata nei modelli Stable-Diffusion per migliorare la risoluzione delle immagini generate. Questa estensione è stata sviluppata da Kohya e ha lo scopo di &#039;&#039;&#039;limitare i problemi di clonazione/crollo&#039;&#039;&#039; nelle immagini ad alta risoluzione. Tuttavia, l’uso di Kohya HRFix può ridurre la varietà delle immagini generate, rendendole più identiche tra loro. Le impostazioni ottimali per Kohya HRFix possono variare a seconda delle esigenze specifiche dell’utente.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo Kohya HRFix.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Gattokoya.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Possiamo notare che nonostante presenti risultati migliori per quanto riguarda la risoluzione e dei dettagli, Kohya ha anche il contro di alterare leggermente l&#039;interpretazione del prompt il che, per artisti dedicati e che curano ogni dettaglio della generazione può essere un vero dealbreaker.&lt;br /&gt;
[[File:Kohya.png|centro|miniatura|923x923px|Confronto di tempistiche e risultati con e senza Kohya XRFix. fonte: https://www.reddit.com/r/StableDiffusion/comments/17z951a/kohyas_deepshrink_highres_fix_is_amazing_produces/]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;LatentModifier&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;componente&#039;&#039;&#039; che &#039;&#039;&#039;modifica i valori latenti&#039;&#039;&#039; durante il &#039;&#039;&#039;processo di diffusione&#039;&#039;&#039; in un modello di generazione di immagini. Queste modifiche possono influenzare vari aspetti dell’immagine finale, come la &#039;&#039;&#039;nitidezza&#039;&#039;&#039;, il &#039;&#039;&#039;contrasto&#039;&#039;&#039; e il &#039;&#039;&#039;rumore&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prompt: A potrait of a white cat, cozy house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(Da sinistra) Generazione neutra e utilizzo LatentModifier.&lt;br /&gt;
&lt;br /&gt;
[[File:Gattobianco1.png|300px]] [[File:Latentgatto.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;MultiDiffusion&#039;&#039;&#039;== &lt;br /&gt;
è un &#039;&#039;&#039;framework&#039;&#039;&#039; unificato che consente la generazione di immagini &#039;&#039;&#039;versatili&#039;&#039;&#039; e &#039;&#039;&#039;controllabili&#039;&#039;&#039;, utilizzando un modello di diffusione text-to-image pre-addestrato. Al centro dell’approccio c’è un nuovo processo di generazione, basato su un compito di &#039;&#039;&#039;ottimizzazione&#039;&#039;&#039; che lega insieme &#039;&#039;&#039;più processi&#039;&#039;&#039; di generazione di diffusione con un &#039;&#039;&#039;insieme condiviso di parametri o vincoli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Never OOM&#039;&#039;&#039;== &lt;br /&gt;
è un’&#039;&#039;&#039;opzione&#039;&#039;&#039; che permette di scaricare sempre i modelli dalla &#039;&#039;&#039;VRAM&#039;&#039;&#039;. Questo può essere utile se si utilizzano &#039;&#039;&#039;più software insieme&#039;&#039;&#039; e si desidera che Stable Diffusion utilizzi meno VRAM e ne dia &#039;&#039;&#039;una parte ad altri software&#039;&#039;&#039;, o quando si utilizzano vecchie estensioni che competono con la VRAM di Stable Diffusion. [[Category:strumento]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Script&#039;&#039;&#039;==&lt;br /&gt;
Questa funzione è utilizzata per implementare &#039;&#039;&#039;script personalizzati&#039;&#039;&#039; che possono modificare il &#039;&#039;&#039;comportamento&#039;&#039;&#039; del processo di generazione di immagini.&lt;br /&gt;
*&#039;&#039;&#039;None&#039;&#039;&#039;: Questa è l’opzione predefinita che significa che non viene eseguito alcuno script.&lt;br /&gt;
*&#039;&#039;&#039;Prompt matrix&#039;&#039;&#039;: permette di testare e confrontare le modifiche che i prompt apportano alle immagini generate. Si possono strutturare i prompt in modo che ogni immagine nella matrice abbia un prompt che inizia con una frase comune.Per esempio, una immagine avrà il prompt “una ciotola di frutta, mele”, un’altra avrà “una ciotola di frutta, mele, pere” e così via.&lt;br /&gt;
*&#039;&#039;&#039;Prompts from file or textbox&#039;&#039;&#039;: permette di caricare i prompt da un file o da un textbox. Si può creare un prompt a piacimento, creare un numero x di variazioni su di esso, copiare quel file di testo, e ripetere fino a quando non hai centinaia di mini file di testo.&lt;br /&gt;
*&#039;&#039;&#039;X/Y/Z plot&#039;&#039;&#039;: permette di eseguire test sui propri prompt e impostazioni per vedere i risultati, senza impegnarsi in una generazione di immagini completa. Utilizzando un grafico, si possono confrontare i risultati per vedere quale combinazione di impostazioni funziona meglio.&lt;/div&gt;</summary>
		<author><name>Lucia Terenzi</name></author>
	</entry>
</feed>