Cu cateva luni in urma, fara sa fiu super impresionat (pentru ca nu am scris pe blog), am testat cum sa generezi imagini din descriere text, folosind dalle-flow. Interesant este ca solutia folosea Stable Diffusion, dar genera numai imagini de rezolutie mica (cel mult 300x300) si la rezolutii mai mari aparea eroarea “CUDA out of memory”.
Dar de cateva zile ma joc cu superbul Stable Diffusion UI, o colectie de programe care automat aduce, instaleaza si porneste un mic server local (merge si fara conexiune la Internet) cu interfata web, care permite generarea de imagini de inalta rezolutie in 1-2 minute (pe CPU i7 cu Nvidia RTX 3060 Laptop GPU).
Nu numai din text: este posibil sa generezi o imagine plecand de la alta imagine si alegand optiunea sa genereze imagini asemanatoare.
Cateva imagini generate plecand de la pictura “1907” a lui Octav Bancila:
Plecand de la originalul gasit undeva pe Internet a picturii “1907” si redimensionat si prelucrat de AI sa fie de 2048x3072:
Am generat cateva imagini asemanatoare, tot de 2048x3072, folosind formula: portrait, male peasant, old, running, grass, blood, dirt, white dirty shirt, soldiers on background, cinematic lighting, 4k, oil canvas paint.
Pentru ca palmele nu sunt redate fidel in original si imaginile generate sufera de aceeasi problema, dar pictura in ulei justifica nereprezentarea corecta.
Dar am generat si o serie de femei in varsta folosind aceeasi imagine de plecare si cu formula: portrait, female peasant, old, running, grass, blood, dirt, white dirty shirt, forest on background, cinematic lighting, 4k, oil canvas paint.
Si, de ce nu, femei tinere pictate in acelasi stil cu formula: portrait, female peasant, young, running, grass, blood, dirt, white dirty shirt, forest on background, cinematic lighting, 4k, oil canvas paint.
Mai mult de 75% din imaginile generate le-am sters pentru ca omul fie nu era incadrat bine, fie aparea de doua ori, fie mainile sau picioarele sau fata nu erau reprezentate realist, majoritatea imaginilor au iesit perfect din 25 de pasi (un minut-doua durata de generare), programul permitatnd cel mult 100 de pasi (cateva minute) dupa care dadea eroare de alocare memorie CUDA. Dar anumite imagini nici dupa 80 de pasi nu aratau bine si le-am sters.
Initial am generat scene complexe de batalie (din intamplare, pentru ca modelul nu respecta intotdeauna descrierea text) si portrete de mari razboinici dupa imaginea lui Vlad Tepes (Vlad the Impaler) pentru ca e singurul personaj istoric romanesc pe care l-am gasit sa il cunoasca Stable Difussion, folosind: color image, forest, Vlad The Impaler, portrait, soldiers, torches, swords, finely detailed armor, silver brass armor, intricate design, cinematic:
Acum am observat mici imperfectiuni la toate imaginile generate, cand le privesti la rezolutia nativa, dar trebuie iertate pentru ca imaginile au fost generate in medie in 1.5 minute si fara sa mai fie prelucrate ulterior.
Concluzia:
Programul AI, format din cel putin 3 modele AI (prelucrare text, generare imagine, validare imagine) genereaza imagini aleatoriu plecand de la zgomot (in varianta imagine generata din descriere text) sau plecand de la o imagine existenta, peste care aplica variatiuni in procesul de generare.
Imaginile generate sunt inspirate de imaginile folosite in procesul de invatare model AI, peste care se aplica o usoara variatie, rezultand ceva diversitate (am observat ca fetele generate se cam repetau).
Deja exista modele AI care genereaza modeul 3D (nu doar o imagine) pregatit gata sa fie importat intr-un joc si chiar sa produca filme pe baza descrierii text, dar asta presupune multa memorie video (24-32 giga?) si eu am doar 6 giga pe laptop.
Arta a fost cucerita de AI.
Comentarii:
Gabi, 14-Nov-2022 18:23 Ioan, 02-Dec-2022 12:49