{"id":21490,"date":"2023-05-18T05:00:00","date_gmt":"2023-05-18T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=21490"},"modified":"2023-05-09T16:17:14","modified_gmt":"2023-05-09T14:17:14","slug":"stable-diffusion-czyli-nowy-wymiar-generowania-obrazow-przez-si","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/stable-diffusion-czyli-nowy-wymiar-generowania-obrazow-przez-si\/","title":{"rendered":"Stable Diffusion czyli nowy wymiar generowania obraz\u00f3w przez SI"},"content":{"rendered":"\n<p>W artykule zaprezentuj\u0119 Stable Diffusion \u2013 innowacyjny model generowania obraz\u00f3w z 2022 roku, kt\u00f3ry w \u201emagiczny\u201d spos\u00f3b zmienia opisy tekstowe w wizualizacje. Przedstawi\u0119 og\u00f3lny zarys dzia\u0142ania narz\u0119dzia, przeanalizuj\u0119 jego wykorzystanie w r\u00f3\u017cnych kontekstach \u2013 mi\u0119dzy innymi wska\u017c\u0119 korzy\u015bci p\u0142yn\u0105ce z funkcji \u201enegatywnego promptu\u201d, opisz\u0119 te\u017c, jak dobra\u0107 poszczeg\u00f3lne parametry przy generowaniu obrazu. <\/p>\n\n\n\n<p>Mam nadziej\u0119, \u017ce artyku\u0142 b\u0119dzie interesuj\u0105cy nie tylko dla profesjonalist\u00f3w zwi\u0105zanych z technologiami AI, ale tak\u017ce dla artyst\u00f3w, grafik\u00f3w, developer\u00f3w gier, a tak\u017ce dla ka\u017cdej osoby pasjonuj\u0105cej si\u0119 rozwi\u0105zaniami technologicznymi. Niezale\u017cnie od poziomu wiedzy na temat g\u0142\u0119bokiego uczenia si\u0119 sieci neuronowych, gwarantuj\u0119, \u017ce w artykule znajd\u0105 si\u0119 ciekawostki oraz warto\u015bciowe informacje, kt\u00f3re pozwol\u0105 lepiej zrozumie\u0107 i doceni\u0107 fenomen Stable Diffusion.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Czym jest Stable Diffusion?<\/strong><\/h2>\n\n\n\n<p>Stable Diffusion to model opracowany przez innowacyjny start-up Stability AI. Ma on szerokie zastosowanie \u2013 od generowania szczeg\u00f3\u0142owych wizualizacji po uzupe\u0142nianie brakuj\u0105cych fragment\u00f3w obraz\u00f3w czy kreowanie t\u0142a, a nawet tworzenie kierowanych tekstem przeobra\u017ce\u0144 obrazu w obraz.<\/p>\n\n\n\n<p>Co istotne, Stability AI jest przyjazny dla spo\u0142eczno\u015bci open source i udost\u0119pni\u0142o kod \u017ar\u00f3d\u0142owy Stable Diffusion oraz wagi modeli dla ka\u017cdego, kto ma umiarkowane GPU z co najmniej 8 GB VRAM.<\/p>\n\n\n\n<p>Stable Diffusion wykorzystuje latent diffusion model (LDM), opracowany przez naukowc\u00f3w z grupy CompVis na Uniwersytecie Ludwika i Maksymiliana w Monachium. Pocz\u0105tkowo modele dyfuzji, kt\u00f3re powsta\u0142y&nbsp;w 2015 roku, by\u0142y szkolone tak, aby usuwa\u0142y szum z obraz\u00f3w szkoleniowych. Model Stable Diffusion jest jednak bardziej wyszukany, poniewa\u017c potrafi na podstawie opisu przekszta\u0142ci\u0107 ca\u0142kowicie zaszumiony zbi\u00f3r pikseli w sensowny i atrakcyjny obraz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ograniczenia Stable Diffusion<\/strong><\/h3>\n\n\n\n<p>Jednak\u017ce, jak to cz\u0119sto bywa, ka\u017cda technologia ma swoje wady, a Stable Diffusion nie jest tu wyj\u0105tkiem.<\/p>\n\n\n\n<p>Pierwszym ograniczeniem jest rozdzielczo\u015b\u0107 generowanych obraz\u00f3w \u2013 dla modeli 1.4 i 1.5 wynosi ona jedynie 512 x 512 pikseli, co jest znacznie mniejsz\u0105 rozdzielczo\u015bci\u0105 ni\u017c oferuj\u0105 konkurencyjne, aczkolwiek p\u0142atne, rozwi\u0105zania, takie jak Dalle-2 czy Midjurney. W wersji 2.0 i 2.1 istnieje mo\u017cliwo\u015b\u0107 generowania obraz\u00f3w w rozdzielczo\u015bci 768&#215;768 pikseli. W teorii, mo\u017cliwe jest zapytanie Stable Diffusion o wygenerowanie obrazu w wi\u0119kszej rozdzielczo\u015bci, jednak\u017ce wynik mo\u017ce okaza\u0107 si\u0119 karykaturalny.<\/p>\n\n\n\n<p>Poni\u017cej znajduje si\u0119 przyk\u0142ad obrazu o rozdzielczo\u015bci 1024&#215;512. Ze wzgl\u0119du na u\u017cycie zbyt du\u017cej rozdzielczo\u015bci generowania dosz\u0142o do duplikacji lampy i monitora.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/duplikacja.png\"><img decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/duplikacja.png\" alt=\"Obraz o rozdzielczo\u015bci 1024x512 wygenerowany przez autora za pomoc\u0105 Stable Diffusion\" class=\"wp-image-21491\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/duplikacja.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/duplikacja-300x150.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/duplikacja-768x384.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Ryc. 1 Obraz o rozdzielczo\u015bci 1024&#215;512 wygenerowany przez autora za pomoc\u0105 Stable Diffusion<\/figcaption><\/figure><\/div>\n\n\n\n<p>Kolejnym cz\u0119stym problemem jest generowanie obrazu poprawnych anatomicznie cz\u0119\u015bci cia\u0142a. D\u0142onie rzadko kiedy posiadaj\u0105 dok\u0142adnie pi\u0119\u0107 palc\u00f3w. Pojawia si\u0119 zbyt du\u017ca liczba z\u0119b\u00f3w, a twarze, je\u015bli jest ich wi\u0119cej lub znajduj\u0105 si\u0119 na dalszym planie, s\u0105 zdeformowane. Mo\u017cna by rzec, \u017ce Sztuczna Inteligencja jest wr\u0119cz s\u0142awna z tego, jak \u017ale radzi sobie z d\u0142o\u0144mi, czego przyk\u0142ad znajdziecie poni\u017cej.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/hands.png\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/hands.png\" alt=\"Obraz d\u0142oni pisz\u0105cych na klawiaturze wygenerowany przez autora za pomoc\u0105 Stable Diffusion\" class=\"wp-image-21493\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/hands.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/hands-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/hands-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 2 Obraz d\u0142oni pisz\u0105cych na klawiaturze wygenerowany przez autora za pomoc\u0105 Stable Diffusion<\/figcaption><\/figure><\/div>\n\n\n\n<p>Z pomoc\u0105 w tych niedostatkach musz\u0105 przyj\u015b\u0107 inne sieci neuronowe wytrenowane w zwi\u0119kszaniu rozdzielczo\u015bci obraz\u00f3w oraz w naprawianiu uszkodzonych zdj\u0119\u0107, co okaza\u0142o si\u0119 przydatne przy naprawianiu zdeformowanych twarzy wygenerowanych ludzi. Najtrudniej jednak poradzi\u0107 sobie z nadmiarowymi palcami, z\u0119bami czy ca\u0142ymi ko\u0144czynami. Tu pom\u00f3c mog\u0105 negatywne parametry i w\u0142asne modele o czym b\u0119dzie w dalszej cz\u0119\u015bci artyku\u0142u.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Mo\u017cliwo\u015bci oferowane przez Stable Diffusion<\/strong><\/h3>\n\n\n\n<p>Pomimo pewnych wad, Stable Diffusion oferuje u\u017cytkownikom wiele mo\u017cliwo\u015bci. Mo\u017cna wygenerowa\u0107 zupe\u0142nie nowy obraz na podstawie opisu, a tak\u017ce skorzysta\u0107 z bardziej zaawansowanych technik, takich jak generowanie obrazu na podstawie innego obrazu. Mo\u017cliwe jest tak\u017ce udoskonalenie szkic\u00f3w za pomoc\u0105 SD i wzbogacenie ich o nowe detale.<\/p>\n\n\n\n<p>Oferowane funkcje obejmuj\u0105 r\u00f3wnie\u017c edycj\u0119 istniej\u0105cych obraz\u00f3w, w tym wymazywanie, zmian\u0119 lub dodawanie element\u00f3w do zdj\u0119\u0107 oraz tzw. \u201eout painting\u201d, czyli generowanie element\u00f3w poza kadrem edytowanego obrazu na podstawie opisu. Istotne jest to, \u017ce zar\u00f3wno nowe elementy spoza kadru, jak i te dodawane wewn\u0105trz obrazu, zazwyczaj pozostaj\u0105 zgodne ze stylem oryginalnego obrazu. <\/p>\n\n\n\n<p>Przyk\u0142ad inpaintingu znanego obrazu znajdziecie ni\u017cej. W typ wypadku domalowano okulary.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"855\" height=\"534\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/krzyk-2.png\" alt=\"\u201eKrzyk\u201d Edvarda Muncha (po lewej) i jego przer\u00f3bka wygenerowana przez autora za pomoc\u0105 Stable Diffusion (po prawej)\" class=\"wp-image-21495\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/krzyk-2.png 855w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/krzyk-2-300x187.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/krzyk-2-768x480.png 768w\" sizes=\"(max-width: 855px) 100vw, 855px\" \/><figcaption>Ryc. 3 \u201eKrzyk\u201d Edvarda Muncha (po lewej) i jego przer\u00f3bka wygenerowana przez autora za pomoc\u0105 Stable Diffusion (po prawej)<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Jak dzia\u0142a Stable Diffusion?<\/strong><\/h2>\n\n\n\n<p>Warto przybli\u017cy\u0107 mechanizm dzia\u0142ania modeli dyfuzji, kt\u00f3re <strong>d\u0105\u017c\u0105 do zwi\u0119kszenia precyzji generowanych obraz\u00f3w.<\/strong><\/p>\n\n\n\n<p>Przed wprowadzeniem modeli dyfuzji do generowania obraz\u00f3w stosowano generatywne sieci przeciwnych (ang. GANs). Sk\u0142adaj\u0105 si\u0119 one z generatora i dyskryminatora, kt\u00f3re wsp\u00f3\u0142pracuj\u0105 ze sob\u0105, by uzyska\u0107 jak najlepszy efekt. Jednak GANs maj\u0105 swoje wady \u2013 s\u0105 trudne do trenowania oraz cz\u0119sto generuj\u0105 obrazy z niepo\u017c\u0105danymi szczeg\u00f3\u0142ami.<\/p>\n\n\n\n<p>W modelach dyfuzji skupiamy si\u0119 na usuwaniu szumu z obrazu, zaczynaj\u0105c od dodawania iteracyjnego szumu gaussowskiego. Nast\u0119pnie uczymy sie\u0107 neuronow\u0105 stopniowo usuwa\u0107 ten szum. Szczeg\u00f3ln\u0105 uwag\u0119 nale\u017cy zwr\u00f3ci\u0107 na wykorzystanie danych tekstowych, kt\u00f3re kieruj\u0105 sie\u0107 w generowaniu po\u017c\u0105danych obraz\u00f3w. Kluczow\u0105 technologi\u0105 w tym procesie jest tzw. \u201ebezklasyfikatorowe kierowanie\u201d (ang. classifier-free guidance), kt\u00f3re wzmacnia wp\u0142yw danych tekstowych na generowanie obraz\u00f3w.<\/p>\n\n\n\n<p>Po wprowadzeniu odpowiedniej ilo\u015bci szumu i podaniu tekstu do sieci mo\u017cna rozpocz\u0105\u0107 proces estymowania szumu. Wszystko odbywa si\u0119 w spos\u00f3b iteracyjny, co oznacza, \u017ce z ka\u017cd\u0105 kolejn\u0105 iteracj\u0105 otrzymujemy coraz lepsze rezultaty.<\/p>\n\n\n\n<p>Dzia\u0142anie wspomnianych modeli dyfuzji opiera si\u0119 na procesie dwukierunkowym. W pierwszym etapie dodawane jest coraz wi\u0119cej szumu do wyj\u015bciowej pr\u00f3bki danych, zbli\u017caj\u0105c je do postaci isotropowej. Kolejno nast\u0119puje proces odwrotny, kt\u00f3ry ma na celu odtworzenie oryginalnych pr\u00f3bek danych bez szum\u00f3w. Wykorzystywana jest wariantowa granica dolna (ang. variational lower bound), co pozwala na lepsze dopasowania modelu dyfuzji.<\/p>\n\n\n\n<p>Bardzo istotny w ca\u0142ym procesie jest tak\u017ce zwi\u0105zek z sieciami NCSN (ang. Noise-Conditioned Score Networks), kt\u00f3rych rola polega na szacowaniu gradient\u00f3w rozk\u0142adu danych. Dzia\u0142anie modeli dyfuzji mo\u017ce by\u0107 r\u00f3wnie\u017c optymalizowane poprzez zastosowanie r\u00f3\u017cnych architektur i technik, takich jak U-Net (rodzaj architektury sieci neuronowej), gdzie odpowiednie parametry trwania procesu pozwalaj\u0105 na szybsze generowanie obraz\u00f3w bez utraty jako\u015bci.<\/p>\n\n\n\n<p>W celu generowania wysokiej jako\u015bci obraz\u00f3w o du\u017cej rozdzielczo\u015bci w dyfuzji s\u0105 stosowane r\u00f3\u017cne modyfikacje architektury oraz ulepszenia algorytm\u00f3w. Do\u0142\u0105czanie warstw warunkuj\u0105cych na\u0142o\u017conych kolejno zapewnia lepsze wyniki, <strong>przewy\u017cszaj\u0105c tradycyjne modele generatywne<\/strong>, takie jak GANs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Dostosowywanie modelu \u2013 fine-tuning<\/strong><\/h2>\n\n\n\n<p>Aby przystosowa\u0107 model Stable Diffusion do r\u00f3\u017cnych zastosowa\u0144, mo\u017cna wykorzysta\u0107 proces doprecyzowywania, czyli fine-tuning. Istniej\u0105 r\u00f3\u017cne metody pozwalaj\u0105ce dostosowa\u0107 generowane obrazy do konkretnych potrzeb. Nale\u017c\u0105 do nich m.in.: trening embeddings na podstawie w\u0142asnych obraz\u00f3w, u\u017cycie hypernetwork lub korzystanie z modelu DreamBooth.<\/p>\n\n\n\n<p>W celu przeciwdzia\u0142ania ograniczeniom wynikaj\u0105cym z pocz\u0105tkowego treningu modelu (mi\u0119dzy innymi wspomniane wcze\u015bniej karykaturalne twarze, d\u0142onie czy z\u0119by), u\u017cytkownicy ko\u0144cowi mog\u0105 zdecydowa\u0107 si\u0119 na dodatkowe szkolenie w celu doprecyzowania wygenerowanych obraz\u00f3w do bardziej konkretnych przypadk\u00f3w u\u017cycia.<\/p>\n\n\n\n<p>Istniej\u0105 trzy metody, dzi\u0119ki kt\u00f3rym u\u017cytkownik mo\u017ce dostosowa\u0107 dan\u0105 wersj\u0119 modelu Stable Diffusion, korzystaj\u0105c z metody fine-tuning. Przybli\u017c\u0119 je poni\u017cej.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Embedding<\/strong><\/h3>\n\n\n\n<p>Embedding mo\u017ce by\u0107 nauczony ze zbioru obraz\u00f3w dostarczonych przez u\u017cytkownika, co pozwala modelowi generowa\u0107 wizualnie podobne obrazy za ka\u017cdym razem, gdy nazwa embeddingu jest u\u017cywana w poleceniu generowania. S\u0105 one oparte na koncepcji \u201etekstowej inwersji\u201d opracowanej w 2022 roku przez naukowc\u00f3w z Uniwersytetu Telawiwskiego przy wsparciu Nvidii. W koncepcji wektorowe reprezentacje poszczeg\u00f3lnych token\u00f3w u\u017cywanych przez enkoder tekstu modelu s\u0105 powi\u0105zane z nowymi pseudo-s\u0142owami. Embeddingi mog\u0105 by\u0107 u\u017cywane mi\u0119dzy innymi do na\u015bladowania r\u00f3\u017cnych styl\u00f3w wizualnych.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Hypernetwork<\/strong><\/h3>\n\n\n\n<p>Hypernetwork to niewielka, wytrenowana sie\u0107 neuronowa, kt\u00f3ra jest stosowana w r\u00f3\u017cnych miejscach wi\u0119kszej sieci neuronowej. Termin ten odnosi si\u0119 do techniki stworzonej przez dewelopera NovelAI Kurumuza w 2021 roku, pierwotnie przeznaczonej dla modeli transformator\u00f3w generuj\u0105cych tekst.<\/p>\n\n\n\n<p>Hypernetworks kieruj\u0105 wyniki w okre\u015blonym kierunku, pozwalaj\u0105c modelom opartym na Stable Diffusion, na\u015bladowa\u0107 styl artystyczny konkretnych tw\u00f3rc\u00f3w, nawet je\u015bli arty\u015bci ci nie s\u0105 rozpoznawani przez oryginalny model. Realizuj\u0105 to przez wyszukiwanie kluczowych obszar\u00f3w obrazu (np. w\u0142os\u00f3w czy oczu) i poprawianie tych obszar\u00f3w we wt\u00f3rnej przestrzeni ukrytej (ang. Secondary latent space).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>DreamBooth<\/strong><\/h3>\n\n\n\n<p>DreamBooth to g\u0142\u0119boki model uczenia si\u0119 opracowany przez naukowc\u00f3w z Google Research i Boston University w 2022 roku, kt\u00f3ry mo\u017ce by\u0107 doprecyzowany w celu generowania precyzyjnych, spersonalizowanych obraz\u00f3w przedstawiaj\u0105cych okre\u015blony obiekt, po przeszkoleniu za pomoc\u0105 zestawu zdj\u0119\u0107 obiektu. DreamBooth pozwala na generowanie obraz\u00f3w zgodnych z oczekiwaniami, u\u017cywaj\u0105c zestaw\u00f3w zdj\u0119\u0107 u\u017cytkownik\u00f3w jako \u017ar\u00f3d\u0142a.<\/p>\n\n\n\n<p>Przyk\u0142adem mo\u017ce by\u0107 poni\u017csza grafika, wygenerowana przez Stable Diffusion, kt\u00f3ra przedstawia m\u00f3j wizerunek.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/pobrane.png\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/pobrane.png\" alt=\"\" class=\"wp-image-21498\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/pobrane.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/pobrane-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/pobrane-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 4 Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Wykorzystanie fine-tuningu<\/strong><\/h3>\n\n\n\n<p>Korzystaj\u0105c z powy\u017cszych metod, u\u017cytkownicy ko\u0144cowi mog\u0105 zastosowa\u0107 proces fine-tuning w celu dostosowania modelu Stable Diffusion do ich specyficznych potrzeb i uzyskania lepszych rezultat\u00f3w zale\u017cnie od przeznaczenia.<\/p>\n\n\n\n<p>Spo\u0142eczno\u015b\u0107 zgromadzona wok\u00f3\u0142 Stable Diffusion ch\u0119tnie wykorzysta\u0142a te mo\u017cliwo\u015bci i stworzy\u0142a setki, je\u015bli nie tysi\u0105ce, rozmaitych modeli bazuj\u0105cych na wersjach od 1.5 do 2.1. Popularnymi stronami gromadz\u0105cymi je s\u0105 mi\u0119dzy innymi <a href=\"https:\/\/huggingface.co\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >huggingface.co<\/a> oraz <a href=\"https:\/\/civitai.com\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >civitai.com<\/a>.<\/p>\n\n\n\n<p>Ka\u017cdy z modeli oferuje r\u00f3\u017cne mo\u017cliwo\u015bci, cz\u0119sto pozwalaj\u0105c wygenerowa\u0107 obrazy w bardzo konkretnym stylu do bardzo konkretnych potrzeb. Przyk\u0142adem s\u0105 \u201econcept art\u201d przydatne dla developer\u00f3w gier czy fotorealistyczne obrazy z dodatkowymi Hypernetworkami k\u0142ad\u0105cymi nacisk na napraw\u0119 d\u0142oni, z\u0119b\u00f3w i tekstury sk\u00f3ry, daj\u0105ce wra\u017cenie, \u017ce obraz, z kt\u00f3rym mamy do czynienia, jest zdj\u0119ciem prawdziwej osoby.<\/p>\n\n\n\n<p>Poni\u017cej wykorzystanie modelu Dreamlike Photoreal 2.0, czyli jednego z wielu modeli d\u0105\u017c\u0105cych do fotorealizmu, stworzonych przez spo\u0142eczno\u015b\u0107 SD na bazie podstawowych modeli dostarczonych przez Stability AI.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/dreamlike.png\"><img decoding=\"async\" width=\"768\" height=\"768\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/dreamlike.png\" alt=\"\" class=\"wp-image-21501\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/dreamlike.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/dreamlike-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/dreamlike-150x150.png 150w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/a><figcaption>Ryc. 5 Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion<\/figcaption><\/figure><\/div>\n\n\n\n<p>Zw\u0142aszcza te ostatnie w po\u0142\u0105czeniu z metod\u0105 DreamBooth pozwalaj\u0105c\u0105 nauczy\u0107 sie\u0107 czyjej\u015b twarzy i sylwetki stanowi\u0105 pewne ryzyko, gdy\u017c mog\u0105 pos\u0142u\u017cy\u0107 do generowania deep fake&#8217;\u00f3w i wprowadza\u0107 tym samy dezinformacje. Jednak dylematy etyczne zwi\u0105zane z t\u0105 technologi\u0105 to temat na odr\u0119bn\u0105 dyskusj\u0119.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Parametryzacja Stable Diffusion<\/strong><\/h2>\n\n\n\n<p>Mam nadziej\u0119, \u017ce nakre\u015bli\u0142em ju\u017c, o co w tym wszystkim chodzi. Zobaczmy teraz, jakie parametry maj\u0105 istotny wp\u0142yw na ko\u0144cowy efekt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Model i prompt<\/strong><\/h3>\n\n\n\n<p>Pierwsz\u0105 i najwa\u017cniejsz\u0105 rzecz\u0105 jest oczywi\u015bcie model i prompt. Model u\u017cyty w tej sekcji to jeden z podstawowych modeli od Stability AI w wersji 1.5, a prompt to opis tego, co ma si\u0119 znale\u017a\u0107 na naszym obrazie. Na potrzeby tego artyku\u0142u b\u0119dzie taki:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>photo portrait of programmer woman at work with monitor and keyboard, perfect face, symmetric eyes, cinematic lighting, intricate, elegant, highly detailed, lifelike, photorealistic, (((perfect hands)))<\/em><\/p><\/blockquote>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/prompt.png\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/prompt.png\" alt=\"Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion\" class=\"wp-image-21503\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/prompt.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/prompt-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/prompt-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 6 Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Negatywny prompt<\/strong><\/h3>\n\n\n\n<p>Negatywny prompt to dok\u0142adnie to, na co brzmi \u2013 jest przeciwie\u0144stwem promptu. <strong>Opis tego, czego nie chcemy<\/strong>, aby Stable Diffusion generowa\u0142. Jest to bardzo pot\u0119\u017cna, ale niedoceniana funkcja, kt\u00f3ra mo\u017ce nas przybli\u017cy\u0107 do osi\u0105gni\u0119cia zamierzonych efekt\u00f3w \u0142atwiej i szybciej ni\u017c przy wykorzystaniu jedynie pozytywnego promptu.<\/p>\n\n\n\n<p>Nasz negatywny prompt w tym wypadku to:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>disfigured, kitsch, ugly, oversaturated, grain, low-res, Deformed, blurry, bad anatomy, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, missing limb, blurry, floating limbs, disconnected limbs, malformed hands, blur, out of focus, long neck, long body, ugly, disgusting, poorly drawn, childish, mutilated, mangled, old, surreal, duplicate<\/em><\/p><\/blockquote>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/neg_prompt.png\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/neg_prompt.png\" alt=\"Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion z wykorzystaniem negatywnego promptu\" class=\"wp-image-21505\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/neg_prompt.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/neg_prompt-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/neg_prompt-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 7 Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion z wykorzystaniem negatywnego promptu<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Liczba krok\u00f3w<\/strong><\/h3>\n\n\n\n<p>Stable Diffusion tworzy obraz, zaczynaj\u0105c od szum\u00f3w i stopniowego ich redukowania, a\u017c do uzyskania finalnego efektu. Ten parametr kontroluje liczb\u0119 etap\u00f3w \u201eodszumiania\u201d. Zazwyczaj im wi\u0119cej, tym lepiej, ale tylko do pewnego stopnia. Domy\u015blnie u\u017cywamy 25 krok\u00f3w, co powinno wystarczy\u0107 do generowania dowolnego rodzaju obrazu.<\/p>\n\n\n\n<p>Oto og\u00f3lny przewodnik, jak\u0105 liczb\u0119 krok\u00f3w u\u017cy\u0107 w r\u00f3\u017cnych przypadkach:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Je\u015bli testujesz nowy prompt i chcesz szybko zobaczy\u0107 wyniki, aby dopracowa\u0107 swoje dane wej\u015bciowe, u\u017cyj 10-15 krok\u00f3w.<\/li><li>Gdy znajdziesz prompt, kt\u00f3ry ci si\u0119 podoba, zwi\u0119ksz liczb\u0119 krok\u00f3w do 25.<\/li><li>W przypadku tworzenia twarzy, zwierz\u0119cia futrzastego lub jakiegokolwiek innego obiektu o szczeg\u00f3\u0142owej teksturze, kt\u00f3ry mo\u017ce zawiera\u0107 brakuj\u0105ce detale, spr\u00f3buj zwi\u0119kszy\u0107 liczb\u0119 krok\u00f3w do 40!<\/li><\/ul>\n\n\n\n<p>Niekt\u00f3rzy u\u017cytkownicy przyzwyczaili si\u0119 do generowania obraz\u00f3w przy u\u017cyciu 100 czy 150 krok\u00f3w, co by\u0142o przydatne dla pr\u00f3bkownik\u00f3w takich jak LMS. Teraz jednak, dzi\u0119ki ulepszonym, szybkim pr\u00f3bkownikom, takim jak DDIM i DPM Solver++, u\u017cywanie tak du\u017cej liczby krok\u00f3w jest zb\u0119dnym zu\u017cyciem czasu oraz mocy GPU, bez zwi\u0119kszenia jako\u015bci obrazu. Poprzednie dwa obrazy by\u0142y wygenerowane przy u\u017cyciu 20 krok\u00f3w. Zobaczmy wi\u0119c jaki efekt da nam u\u017cycie 30 krok\u00f3w.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/30_steps.png\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/30_steps.png\" alt=\"Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion w 30 krokach\" class=\"wp-image-21507\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/30_steps.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/30_steps-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/30_steps-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 8 Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion w 30 krokach<\/figcaption><\/figure><\/div>\n\n\n\n<p>Efekt nie jest zachwycaj\u0105cy \u2013 powiedzia\u0142bym nawet, \u017ce wygl\u0105da to nieco gorzej. Jak si\u0119 za chwil\u0119 przekonamy du\u017co zale\u017cy od pr\u00f3bkownika.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pr\u00f3bkowniki<\/strong><\/h3>\n\n\n\n<p>Jak ju\u017c wcze\u015bniej wspomina\u0142em, modele Diffusion dzia\u0142aj\u0105 przez stopniowe odszumianie pocz\u0105tkowego obrazu. W tym miejscu pr\u00f3bkowniki Diffusion rozpoczynaj\u0105 dzia\u0142anie. M\u00f3wi\u0105c pro\u015bciej \u2013 s\u0105 to algorytmy, kt\u00f3re po ka\u017cdym kroku por\u00f3wnuj\u0105 generowany obraz z tym, co tre\u015b\u0107 promptu opisuje, a nast\u0119pnie stopniowo wprowadzaj\u0105 zmiany w szumach, a\u017c obraz przypomina opisany w prompcie.<\/p>\n\n\n\n<p>Trzy najcz\u0119\u015bciej u\u017cywane pr\u00f3bkowniki to:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Euler A,<\/li><li>DDIM,<\/li><li>DPM Solver++.<\/li><\/ul>\n\n\n\n<p>Wypr\u00f3bujemy wszystkie trzy i zobaczymy, kt\u00f3ry z nich najlepiej pasuje do naszego promptu. Poniewa\u017c nie ma regu\u0142y dotycz\u0105cej tego, kt\u00f3rego pr\u00f3bkownika u\u017cywa\u0107, warto popr\u00f3bowa\u0107 kilku. W tym wypadku wszystkie trzy s\u0105 bardzo szybkie i potrafi\u0105 wytwarza\u0107 sp\u00f3jne wyniki w 15-25 krokach. Do por\u00f3wnania dodam te\u017c LMS, aby pokaza\u0107, \u017ce tam du\u017ca liczba krok\u00f3w zrobi r\u00f3\u017cnic\u0119.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"872\" height=\"769\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/Przechwytywanie.jpg\" alt=\"Ryc. 9 Obrazy wygenerowane przeze autora za pomoc\u0105 Stable Diffusion z wykorzystaniem r\u00f3\u017cnych pr\u00f3bkownik\u00f3w i liczby krok\u00f3w \u2013 zestawienie zbiorcze\" class=\"wp-image-21509\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/Przechwytywanie.jpg 872w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/Przechwytywanie-300x265.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/Przechwytywanie-768x677.jpg 768w\" sizes=\"(max-width: 872px) 100vw, 872px\" \/><figcaption>Ryc. 9 Obrazy wygenerowane przeze autora za pomoc\u0105 Stable Diffusion z wykorzystaniem r\u00f3\u017cnych pr\u00f3bkownik\u00f3w i liczby krok\u00f3w \u2013 zestawienie<\/figcaption><\/figure>\n\n\n\n<p>Warto zauwa\u017cy\u0107, \u017ce mi\u0119dzy pr\u00f3bkownikiem Euler A a pozosta\u0142ymi trzema istnieje jedyna zauwa\u017calna r\u00f3\u017cnica. Por\u00f3wnanie tych pr\u00f3bkownik\u00f3w ujawnia, \u017ce obrazy generowane przy u\u017cyciu pr\u00f3bkownika Euler A charakteryzuj\u0105 si\u0119 wi\u0119ksz\u0105 g\u0142adko\u015bci\u0105 oraz mniej wyra\u017anymi kraw\u0119dziami w por\u00f3wnaniu do obraz\u00f3w generowanych przez DPM Solver++. Takie w\u0142a\u015bciwo\u015bci nadaj\u0105 tym obrazom bardziej \u201enieoczywisty\u201d charakter.<\/p>\n\n\n\n<p>Je\u015bli wi\u0119c oczekujesz takiego efektu na swoich generowanych obrazach, zalecane jest stosowanie pr\u00f3bkownika Euler A.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Skala CFG (ang. CFG Guidance Scale)<\/strong><\/h3>\n\n\n\n<p>Ten parametr mo\u017cna rozumie\u0107 jako \u201ekreatywno\u015b\u0107 vs. wierno\u015b\u0107 wzgl\u0119dem promptu\u201d. Ni\u017csze warto\u015bci daj\u0105 wi\u0119cej swobody AI do tw\u00f3rczo\u015bci, podczas gdy wy\u017csze warto\u015bci zmuszaj\u0105 j\u0105 do bardziej precyzyjnego przestrzegania promptu.<\/p>\n\n\n\n<p>Domy\u015blna warto\u015b\u0107 CFG w r\u00f3\u017cnych aplikacjach wynosi oko\u0142o 7, co zapewnia najlepsz\u0105 r\u00f3wnowag\u0119 mi\u0119dzy tw\u00f3rczo\u015bci\u0105 a generowaniem tego, co chcesz. Zmniejszenie tej warto\u015bci poni\u017cej 5 nie jest zalecane, poniewa\u017c obrazy zaczynaj\u0105 przypomina\u0107 halucynacje AI, natomiast zwi\u0119kszenie warto\u015bci powy\u017cej 16 mo\u017ce powodowa\u0107 nieestetyczne artefakty na obrazach.<\/p>\n\n\n\n<p>Kiedy wi\u0119c u\u017cywa\u0107 r\u00f3\u017cnych warto\u015bci skali CFG? Skal\u0119 CFG mo\u017cna podzieli\u0107 na r\u00f3\u017cne zakresy, ka\u017cdy odpowiedni dla innego rodzaju prompt\u00f3w i cel\u00f3w.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>CFG 2-6: kreatywny, ale bywa zbyt zniekszta\u0142cony i niezgodny z promptem. Mo\u017ce by\u0107 zabawny lub przydatny dla kr\u00f3tkich prompt\u00f3w.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG3.png\" alt=\"Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG 2-6\" class=\"wp-image-21511\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG3.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG3-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG3-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><figcaption>Ryc. 10 Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG 2-6<\/figcaption><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>CFG 7-10: zalecane dla wi\u0119kszo\u015bci prompt\u00f3w. Dobry balans mi\u0119dzy kreatywno\u015bci\u0105 i kierowanym generowaniem.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25.png\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25.png\" alt=\"Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG 7-10\" class=\"wp-image-21513\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 11 Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG 7-10<\/figcaption><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>CFG 10-15: gdy jeste\u015b pewien, \u017ce Tw\u00f3j prompt jest szczeg\u00f3\u0142owy i bardzo dok\u0142adnie opisuje, jak ma wygl\u0105da\u0107 obraz.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG13.png\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG13.png\" alt=\"Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG 10-15\" class=\"wp-image-21516\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG13.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG13-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG13-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 12 Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG 10-15<\/figcaption><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>CFG 16-20: generalnie niezalecane, chyba \u017ce prompt jest szczeg\u00f3\u0142owy. Mo\u017ce wp\u0142yn\u0105\u0107 na sp\u00f3jno\u015b\u0107 i jako\u015b\u0107.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG17.png\" alt=\"Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG 16-20\" class=\"wp-image-21518\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG17.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG17-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG17-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><figcaption>Ryc. 13 Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG 16-20<\/figcaption><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>CFG &gt;20: prawie nigdy nieu\u017cywane.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG21.png\" alt=\"Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG&gt;20\" class=\"wp-image-21520\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG21.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG21-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/DDIM25_CFG21-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><figcaption>Ryc. 14 Obraz wygenerowany przeze autora za pomoc\u0105 Stable Diffusion i CFG&gt;20<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ziarno (ang. Seed)<\/strong><\/h3>\n\n\n\n<p>Ziarno to liczba, kt\u00f3ra decyduje o pocz\u0105tkowym losowym szumie, o kt\u00f3rym rozmawiali\u015bmy wcze\u015bniej. Poniewa\u017c losowy szum determinuje ostateczny obraz, dzi\u0119ki ziarnu mo\u017cemy uzyska\u0107 r\u00f3\u017cne obrazy za ka\u017cdym razem, gdy uruchamiamy ten sam prompt w systemie Stable Diffusion. Mo\u017cemy tak\u017ce uzyska\u0107 ten sam obraz generowany wielokrotnie przy u\u017cyciu tego samego promptu i seedu.<\/p>\n\n\n\n<p>Skoro ta sama kombinacja seed i prompt daje ten sam obraz za ka\u017cdym razem, mo\u017cemy wykorzysta\u0107 t\u0119 w\u0142a\u015bciwo\u015b\u0107 na wiele sposob\u00f3w, np. kontrolowanie konkretnych cech postaci. W tym przyk\u0142adzie zmienili\u015bmy emocje, ale mo\u017cna te\u017c to zastosowa\u0107 do innych cech fizycznych, jak kolor w\u0142os\u00f3w czy karnacji. Im jednak mniejsza zmiana, tym wi\u0119ksza szansa na dzia\u0142aj\u0105ce rezultaty.<\/p>\n\n\n\n<p>Wszystkie obrazy w tej cz\u0119\u015bci artyku\u0142u by\u0142y generowane na tym samym ziarnie: 3947592453.<\/p>\n\n\n\n<p>Zobaczmy teraz, jak dla tego samego promptu i negatywnego promptu oraz standardowych warto\u015bci krok\u00f3w i CFG b\u0119dzie wygl\u0105da\u0142 nasz obraz z losowym ziarnem.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_1.png\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_1.png\" alt=\"Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion z ziarnem 4059045789\" class=\"wp-image-21522\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_1.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_1-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_1-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 15 Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion z ziarnem 4059045789<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_2.png\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_2.png\" alt=\"Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion z ziarnem 3535191699  \" class=\"wp-image-21524\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_2.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_2-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_2-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 16 Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion z ziarnem 3535191699&nbsp;<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_3.png\" alt=\"Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion z ziarnem 3095141828 \" class=\"wp-image-21526\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_3.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_3-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/random_3-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><figcaption>Ryc. 16 Obraz wygenerowany przez autora za pomoc\u0105 Stable Diffusion z ziarnem 3095141828<\/figcaption><\/figure><\/div>\n\n\n\n<p>Je\u017celi macie komputer z kart\u0105 graficzn\u0105 wyposa\u017con\u0105 w przynajmniej 8 GB RAM-u, <a href=\"https:\/\/github.com\/AUTOMATIC1111\/stable-diffusion-webui\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >pobranie z gita repozytorium Automatic 1111<\/a> umo\u017cliwi wam korzystanie z jednego z najpopularniejszych interfejs\u00f3w graficznych do obs\u0142ugi Stable Diffusion na w\u0142asnym komputerze. Je\u015bli jednak wasz komputer nie spe\u0142nia tych wymaga\u0144, na Google Colab istniej\u0105 implementacje tego interfejsu, kt\u00f3re mo\u017cna uruchomi\u0107 jedynie za cen\u0119 ta\u0144szego abonamentu Google Colab.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Kilka s\u0142\u00f3w podsumowania<\/strong><\/h2>\n\n\n\n<p>Podsumowuj\u0105c, Stable Diffusion to rewolucyjny model g\u0142\u0119bokiego uczenia, kt\u00f3ry potrafi generowa\u0107 obrazy na podstawie opis\u00f3w tekstowych. Opracowany przez start-up Stability AI, model ten ma szerokie zastosowanie, a dzi\u0119ki otwarto\u015bci na spo\u0142eczno\u015b\u0107 open source, kod \u017ar\u00f3d\u0142owy i wagi modeli s\u0105 dost\u0119pne dla ka\u017cdego.<\/p>\n\n\n\n<p>Dodatkowo, to co tu zaprezentowa\u0142em, to tylko podstawowe opcje \u201ezabawy\u201d ze Stable Diffusion. Spo\u0142eczno\u015b\u0107 open source zgromadzona wok\u00f3\u0142 projektu stworzy\u0142a wiele plugin\u00f3w Automatic 1111. W\u015br\u00f3d nich na szczeg\u00f3ln\u0105 uwag\u0119 zas\u0142uguje ControlNet pozwalaj\u0105cy bardzo precyzyjnie manipulowa\u0107 po\u0142o\u017ceniem postaci w kadrze.<\/p>\n\n\n\n<p>Mo\u017cliwo\u015bci jest jednak tak wiele, \u017ce om\u00f3wienie ich wszystkich w jednym artykule jest niemo\u017cliwe. Ten ogrom mo\u017cliwo\u015bci, kontroli nad obrazem poprzez prompt, personalizowane modele, rozmaite dodatki w po\u0142\u0105czeniu z otwarto\u015bci\u0105 kodu i relatywnie nisk\u0105 cen\u0105, zaczynaj\u0105c\u0105 si\u0119 ju\u017c od zera z\u0142otych (o ile tylko jeste\u015bcie w posiadaniu dobrego komputera), czyni ze Stable Diffusion mo\u017ce nie najprostszy, ale na pewno <strong>najbardziej wszechstronny i naj\u0142atwiej dost\u0119pny spos\u00f3b na generowanie obraz\u00f3w<\/strong> jaki obecnie mo\u017cna znale\u017a\u0107 na rynku.<\/p>\n\n\n\n<p>Zach\u0119cam wi\u0119c do dalszego samodzielnego zg\u0142\u0119biania tajnik\u00f3w Stable Diffusion.<\/p>\n\n\n\n<p>*** <\/p>\n\n\n\n<p>A je\u015bli chcecie dowiedzie\u0107 si\u0119 wi\u0119cej nt. historii SI w generowaniu obraz\u00f3w, <a href=\"https:\/\/sii.pl\/blog\/krotka-historia-si-w-generowaniu-obrazow\/?category=development-na-miekko&amp;tag=ai,przeglad-narzedzi,sztuczna-inteligencja\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">odsy\u0142amy Was do innego artyku\u0142u naszego eksperta.<\/a><br><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;21490&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;6&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( votes: 6)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Stable Diffusion czyli nowy wymiar generowania obraz\u00f3w przez SI&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( votes: 6)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>W artykule zaprezentuj\u0119 Stable Diffusion \u2013 innowacyjny model generowania obraz\u00f3w z 2022 roku, kt\u00f3ry w \u201emagiczny\u201d spos\u00f3b zmienia opisy tekstowe &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/stable-diffusion-czyli-nowy-wymiar-generowania-obrazow-przez-si\/\">Continued<\/a><\/p>\n","protected":false},"author":510,"featured_media":21529,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":12,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1316],"tags":[1546,680,681],"class_list":["post-21490","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-miekko","tag-przeglad-narzedzi","tag-ai","tag-sztuczna-inteligencja"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/05\/Stable-Diffusion-czyli-nowy-wymiar-generowania-obrazow-przez-SI.jpg","category_names":["Development na mi\u0119kko"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/21490"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/510"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=21490"}],"version-history":[{"count":3,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/21490\/revisions"}],"predecessor-version":[{"id":21533,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/21490\/revisions\/21533"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/21529"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=21490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=21490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=21490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}