Unghiul lui Anderson

Cum ar putea evolua Stable Diffusion ca produs de consum mainstream

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Ironia face de Stable Diffusion, noul cadru de sinteză a imaginilor AI care a cucerit lumea, nu este nici stabil, nici realmente “difuz” – cel puțin, nu încă.

Gama completă de capacități ale sistemului este răspândită pe o varietate de oferte care se schimbă constant, provenind de la un număr mic de dezvoltatori care schimbă informații și teorii în diverse discuții pe Discord – și majoritatea procedurilor de instalare pentru pachetele pe care le creează sau le modifică sunt foarte departe de a fi “plug and play”.

Mai degrabă, acestea tind să necesite instalare prin linia de comandă sau fișiere BAT prin GIT, Conda, Python, Miniconda și alte cadre de dezvoltare de ultimă generație – pachete software atât de rare printre utilizatorii obișnuiți încât instalarea lor este adesea semnalizată de furnizorii de antivirus și anti-malware ca dovadă a unui sistem compromis.

Doar o selecție mică de etape din gauntletul pe care îl necesită în prezent instalarea standard a Stable Diffusion. Multe dintre distribuții necesită, de asemenea, versiuni specifice de Python, care pot intra în conflict cu versiunile existente instalate pe mașina utilizatorului - deși acest lucru poate fi evitat cu instalații bazate pe Docker și, într-o anumită măsură, prin utilizarea mediilor Conda.

Doar o selecție mică de etape din gauntletul pe care îl necesită în prezent instalarea standard a Stable Diffusion. Multe dintre distribuții necesită, de asemenea, versiuni specifice de Python, care pot intra în conflict cu versiunile existente instalate pe mașina utilizatorului – deși acest lucru poate fi evitat cu instalații bazate pe Docker și, într-o anumită măsură, prin utilizarea mediilor Conda.

Firele de discuții din comunitățile SFW și NSFW Stable Diffusion sunt inundate cu sfaturi și trucuri legate de hacking-ul scripturilor Python și de instalările standard, pentru a permite o funcționalitate îmbunătățită sau pentru a rezolva erorile frecvente de dependență și o varietate de alte probleme.

Acest lucru lasă utilizatorul mediu, interesat de crearea de imagini uimitoare din prompturi de text, practic la mila numărului tot mai mare de interfețe web API monetizate, majoritatea oferind un număr minim de generări de imagini gratuite înainte de a necesita cumpărarea de tokeni.

În plus, aproape toate aceste oferte web refuză să furnizeze conținut NSFW (multe dintre care pot fi legate de subiecte non-pornografice de interes general, cum ar fi “războiul”), care distinge Stable Diffusion de serviciile cenzurate ale OpenAI DALL-E 2.

‘Photoshop pentru Stable Diffusion’

Tentați de imaginile fabuloase, picante sau din altă lume care populează zilnic hashtagul #stablediffusion de pe Twitter, ceea ce așteaptă lumea mai largă este ‘Photoshop pentru Stable Diffusion’ – o aplicație instalabilă cross-platform care încorporează cea mai bună și mai puternică funcționalitate a arhitecturii Stability.ai, precum și diversele inovații ingenioase ale comunității de dezvoltatori SD emergente, fără ferestre CLI plutitoare, proceduri de instalare și actualizare obscure și în schimbare, sau funcții lipsă.

Ce avem în prezent, în majoritatea instalațiilor mai capabile, este o pagină web elegantă, străjuită de o fereastră de comandă dezmembrată, și a cărei adresă URL este un port local:

Similar cu aplicațiile de sinteză CLI, cum ar fi FaceSwap și DeepFaceLab, instalația 'prepack' a Stable Diffusion arată rădăcinile sale de comandă, cu interfața accesată prin intermediul unui port local (a se vedea partea superioară a imaginii de mai sus), care comunică cu funcționalitatea CLI a Stable Diffusion.

Similar cu aplicațiile de sinteză CLI, cum ar fi FaceSwap și DeepFaceLab, instalația ‘prepack’ a Stable Diffusion arată rădăcinile sale de comandă, cu interfața accesată prin intermediul unui port local (a se vedea partea superioară a imaginii de mai sus), care comunică cu funcționalitatea CLI a Stable Diffusion.

Fără îndoială, o aplicație mai simplificată este pe cale să apară. Deja există câteva aplicații integrale bazate pe Patreon, care pot fi descărcate, cum ar fi GRisk și NMKD (a se vedea imaginea de mai jos) – dar niciuna dintre ele nu integrează încă gama completă de funcții pe care o pot oferi unele dintre implementările mai avansate și mai puțin accesibile ale Stable Diffusion.

Pachete timpurii de Stable Diffusion, ușor 'aplicatizate'. NMKD este primul care integrează ieșirea CLI direct în GUI.

Pachete timpurii de Stable Diffusion, ușor ‘aplicatizate’. NMKD este primul care integrează ieșirea CLI direct în GUI.

Să aruncăm o privire la cum ar putea arăta o implementare mai rafinată și integrală a acestui minunat deschis sursă – și la ce provocări ar putea să întâmpine.

Considerații legale pentru o aplicație comercială Stable Diffusion complet finanțată

Factorul NSFW

Codul sursă al Stable Diffusion a fost lansat sub o licență extrem de permisivă care nu interzice reimplimentări comerciale și lucrări derivate care se bazează pe codul sursă.

Pe lângă menționata și în creștere număr de construcții Patreon ale Stable Diffusion, precum și numărul extins de plug-in-uri de aplicații dezvoltate pentru Figma, Krita, Photoshop, GIMP și Blender (printre altele), nu există niciun motiv practic pentru care o casă de dezvoltare software bine finanțată nu ar putea dezvolta o aplicație Stable Diffusion mult mai sofisticată și capabilă. Din punct de vedere al pieței, există tot felul de motive pentru a crede că mai multe astfel de inițiative sunt deja în plină desfășurare.

Aici, astfel de eforturi se confruntă imediat cu dilema de a decide dacă aplicația va permite sau nu filtrului NSFW nativ al Stable Diffusion (un fragment de cod) să fie dezactivat.

‘Îngroparea’ comutatorului NSFW

Deși licența cu sursă deschisă a Stability.ai pentru Stable Diffusion include o listă larg interpretată de aplicații pentru care nu poate fi utilizată (inclusiv, probabil, conținut pornografic și deepfakes), singura modalitate prin care un vendor ar putea interzice efectiv astfel de utilizare ar fi să compileze filtrul NSFW într-un executabil opac, în loc de un parametru într-un fișier Python, sau să impună o comparație de suma de control pe fișierul Python sau DLL care conține directiva NSFW, astfel încât renderarea să nu poată avea loc dacă utilizatorii modifică această setare.

Acest lucru ar lăsa aplicația “castrată” în același mod în care DALL-E 2 este în prezent, diminuându-i atracția comercială. De asemenea, inevitabil, versiuni “îmbunătățite” decompilate ale acestor componente (elemente de bază Python sau fișiere DLL compilate, așa cum sunt utilizate în linia de unelte de îmbunătățire a imaginilor AI Topaz) ar apărea probabil în comunitatea de hacking/torrent, pentru a debloca astfel de restricții, pur și simplu prin înlocuirea elementelor obstructive și anularea oricăror cerințe de suma de control.

În cele din urmă, vendorul poate alege pur și simplu să repete avertizarea Stability.ai împotriva utilizării abuzive care caracterizează prima rulare a multor distribuții Stable Diffusion actuale.

Cu toate acestea, dezvoltatorii mici cu sursă deschisă care utilizează astfel de declarații de dezangajare în acest mod au foarte puțin de pierdut în comparație cu o companie de software care a investit cantități semnificative de timp și bani în crearea unei aplicații Stable Diffusion complet funcțională și accesibilă – ceea ce invită la o considerare mai profundă.

Răspundere pentru deepfakes

Așa cum am menționat recent, baza de date LAION-aesthetics, parte a celor 4,2 miliarde de imagini pe care s-au antrenat modelele continue ale Stable Diffusion, conține un număr mare de imagini cu celebrități, permițând utilizatorilor să creeze efectiv deepfakes, inclusiv deepfakes cu celebrități pornografice.

Din articolul nostru recent, patru etape ale lui Jennifer Connelly de-a lungul a patru decenii de carieră, deduse din Stable Diffusion.

Din articolul nostru recent, patru etape ale lui Jennifer Connelly de-a lungul a patru decenii de carieră, deduse din Stable Diffusion.

Acesta este un subiect separat și mai controversat decât generarea de (de obicei) “pornografie abstractă”, care nu înfățișează “oameni reali” (deși astfel de imagini sunt deduse din multiple fotografii reale din materialul de antrenare).

Deoarece un număr tot mai mare de state din SUA și țări dezvoltă sau au instituit legi împotriva deepfake-urilor pornografice, capacitatea Stable Diffusion de a crea deepfakes cu celebrități ar putea însemna că o aplicație comercială care nu este complet cenzurată (adică care poate crea material pornografic) ar putea avea nevoie de o anumită capacitate de a filtra fețele percepute ale celebrităților.

O metodă ar fi să se furnizeze o listă neagră încorporată de termeni care nu vor fi acceptați într-un prompt de utilizator, legați de numele de celebrități și de personaje fictive cu care acestea ar putea fi asociate. Presupunând că astfel de setări ar trebui instituite în mai multe limbi decât doar engleza, deoarece datele originale conțin și alte limbi. O altă abordare ar putea fi să se incorporeze sisteme de recunoaștere a celebrităților, cum ar fi cele dezvoltate de Clarifai.

Este posibil ca producătorii de software să fie nevoiți să incorporeze astfel de metode, poate inițial dezactivate, ceea ce ar putea ajuta la prevenirea unei aplicații autonome Stable Diffusion de a genera fețe de celebrități, înainte de a apărea legislația care ar putea face ilegală o astfel de funcționalitate.

Odată again, cu toate acestea, o astfel de funcționalitate ar putea fi decompilată și inversată de părți interesate; cu toate acestea, producătorul de software ar putea, într-un astfel de eveniment, să pretindă că acesta este efectiv vandalism neautorizat – atât timp cât un astfel de inginerie inversă nu este facilitată excesiv.

Funcții care ar putea fi incluse

Funcționalitatea de bază în orice distribuție a Stable Diffusion ar trebui să fie așteptată de la orice aplicație comercială bine finanțată. Acestea includ capacitatea de a utiliza prompturi de text pentru a genera imagini potrivite (text-to-image); capacitatea de a utiliza schițe sau alte imagini ca îndrumători pentru imagini generate noi (image-to-image); mijloacele de a ajusta cât de “imaginar” sistemul este instruit să fie; o modalitate de a face un schimb între timpul de render și calitate; și alte “funcții de bază”, cum ar fi arhivarea automată opțională a imaginilor și a prompturilor, și escaladarea opțională prin RealESRGAN, și cel puțin “corectarea feței” de bază cu GFPGAN sau CodeFormer.

Acesta este un “pachet de bază”. Să aruncăm o privire la unele dintre funcțiile mai avansate care sunt în prezent în curs de dezvoltare sau extindere și care ar putea fi incorporate într-o aplicație “tradițională” completă de Stable Diffusion.

Înghețarea stocastică

Chiar și atunci când reutilizați o sămânță dintr-un render anterior de succes, este extrem de dificil să faceți Stable Diffusion să repete cu exactitate o transformare dacă orice parte a promptului sau a imaginii sursă (sau ambele) este modificată pentru un render ulterioar.

Acesta este un problemă dacă doriți să utilizați EbSynth pentru a impune transformările Stable Diffusion asupra unui videoreal, într-un mod coerent din punct de vedere temporal – deși tehnica poate fi foarte eficientă pentru cadre simple de cap și umeri:

Mișcarea limitată poate face EbSynth un mediu eficient pentru a transforma transformările Stable Diffusion în videoreale. Sursă: https://streamable.com/u0pgzd

Mișcarea limitată poate face EbSynth un mediu eficient pentru a transforma transformările Stable Diffusion în videoreale. Sursă: https://streamable.com/u0pgzd

EbSynth funcționează prin extrapolarea unei selecții mici de “cadre modificate” într-un videorenderat într-o serie de fișiere de imagine (și care poate fi reasamblat ulterior într-un videoclip).

În acest exemplu de pe site-ul EbSynth, un număr mic de cadre dintr-un videoclip au fost pictate într-un mod artistic. EbSynth utilizează aceste cadre ca ghiduri de stil pentru a altera întregul videoclip astfel încât să se potrivească cu stilul pictat. Sursă: https://www.youtube.com/embed/eghGQtQhY38

În acest exemplu de pe site-ul EbSynth, un număr mic de cadre dintr-un videoclip au fost pictate într-un mod artistic. EbSynth utilizează aceste cadre ca ghiduri de stil pentru a altera întregul videoclip astfel încât să se potrivească cu stilul pictat. Sursă: https://www.youtube.com/embed/eghGQtQhY38

În exemplul de mai jos, care prezintă aproape nicio mișcare de la instructorul de yoga blond din stânga, Stable Diffusion are încă dificultăți în a menține o față consistentă, deoarece cele trei imagini transformate ca “cadre cheie” nu sunt complet identice, chiar dacă toate au aceeași sămânță numerică.

Aici, chiar și cu același prompt și sămânță pentru toate cele trei transformări, și foarte puține schimbări între cadrele sursă, mușchii corpului variază în dimensiune și formă, dar mai important, fața este inconstantă, împiedicând coerența temporală într-un posibil render EbSynth.

Aici, chiar și cu același prompt și sămânță pentru toate cele trei transformări, și foarte puține schimbări între cadrele sursă, mușchii corpului variază în dimensiune și formă, dar mai important, fața este inconstantă, împiedicând coerența temporală într-un posibil render EbSynth.

Deși videoclipul SD/EbSynth de mai jos este foarte inventiv, unde degetele utilizatorului devin un om care merge și un rață, inconstanța pantalonilor tipifică problema pe care o are Stable Diffusion în menținerea coerenței între diferitele cadre cheie, chiar și atunci când cadrele sursă sunt asemănătoare între ele și sămânța este consistentă.

Degetele unui bărbat devin un om care merge și un rață, prin Stable Diffusion și EbSynth. Sursă: https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

Degetele unui bărbat devin un om care merge și un rață, prin Stable Diffusion și EbSynth. Sursă: https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

Utilizatorul care a creat acest videoclip a comentat că transformarea raței, probabil cea mai eficientă dintre cele două, a necesitat doar un singur cadru transformat, în timp ce a fost necesar să se renderizeze 50 de imagini Stable Diffusion pentru a crea pantalonii care merg, care prezintă o incoerență temporală mai mare. Utilizatorul a notat, de asemenea, că a fost nevoie de cinci încercări pentru a obține coerență pentru fiecare dintre cele 50 de cadre cheie.

Prin urmare, ar fi un beneficiu mare pentru o aplicație Stable Diffusion cu adevărat cuprinzătoare să ofere funcționalitate care să păstreze caracteristicile la maximum pe cadrele cheie.

O posibilitate ar fi ca aplicația să permită utilizatorului să “înghețe” codificarea stocastică pentru transformarea de pe fiecare cadru, ceea ce poate fi realizat în prezent doar prin modificarea codului sursă manual. Așa cum arată exemplul de mai jos, acest lucru ajută la coerența temporală, deși nu o rezolvă în totalitate:

Un utilizator Reddit a transformat filmări webcam ale sale în diferiți oameni celebri, nu doar persistând sămânța (ceva ce orice implementare a Stable Diffusion poate face), ci asigurându-se că parametrul stochastic_encode() este identic în fiecare transformare. Acest lucru a fost realizat prin modificarea codului, dar ar putea deveni cu ușurință un comutator accesibil utilizatorului. Clar, cu toate acestea, nu rezolvă toate problemele temporale.

Un utilizator Reddit a transformat filmări webcam ale sale în diferiți oameni celebri, nu doar persistând sămânța (ceva ce orice implementare a Stable Diffusion poate face), ci asigurându-se că parametrul stochastic_encode() este identic în fiecare transformare. Acest lucru a fost realizat prin modificarea codului, dar ar putea deveni cu ușurință un comutator accesibil utilizatorului. Clar, cu toate acestea, nu rezolvă toate problemele temporale. Sursă: https://old.reddit.com/r/StableDiffusion/comments/wyeoqq/turning_img2img_into_vid2vid/

Învățarea textuală bazată pe cloud

O soluție mai bună pentru a obține caractere și obiecte temporale coerente este de a “coace” acestea într-o învățare textuală – un fișier de 5KB care poate fi antrenat în câteva ore pe baza a doar cinci imagini annotate, care pot fi apoi evocate printr-un prompt special ‘*’, permițând, de exemplu, o apariție persistentă a unor caractere noi pentru includerea într-o narațiune.

Imaginile asociate cu etichete potrivite pot fi convertite în entități discrete prin învățarea textuală și chemate fără ambiguitate, și în contextul și stilul corect, prin cuvinte speciale de token. Sursă: https://huggingface.co/docs/diffusers/training/text_inversion

Imaginile asociate cu etichete potrivite pot fi convertite în entități discrete prin învățarea textuală și chemate fără ambiguitate, și în contextul și stilul corect, prin cuvinte speciale de token. Sursă: https://huggingface.co/docs/diffusers/training/text_inversion

Învățările textuale sunt fișiere ajutătoare pentru modelul mare și complet antrenat pe care îl utilizează Stable Diffusion, și sunt efectiv “alinate” în procesul de chemare/prompt, astfel încât acestea pot participa în scenele derivate din model, și pot beneficia de baza enormă de cunoștințe a modelului despre obiecte, stiluri, medii și interacțiuni.

Cu toate acestea, deși o învățare textuală nu durează mult timp pentru a fi antrenată, aceasta necesită o cantitate mare de VRAM; conform diverselor walkthrough-uri actuale, undeva între 12, 20 și chiar 40GB.

Deoarece majoritatea utilizatorilor casuali nu sunt probabil să aibă la dispoziție o astfel de cantitate de putere GPU, serviciile cloud sunt deja în curs de apariție care vor gestiona operațiunea, inclusiv o versiune Hugging Face. Deși există implementări Google Colab care pot crea învățări textuale pentru Stable Diffusion, cerințele de VRAM și timp necesare pot face acestea dificile pentru utilizatorii Colab cu nivel gratuit.

Pentru o aplicație potențială completă și bine investită Stable Diffusion (instalată), trecerea acestei sarcini grele prin serverele cloud ale companiei pare a fi o strategie de monetizare evidentă (presupunând că o aplicație Stable Diffusion gratuită sau cu cost redus este permeată cu astfel de funcționalități non-gratuite, ceea ce pare probabil în multe aplicații care vor apărea din această tehnologie în următoarele 6-9 luni).

În plus, procesul relativ complicat de a annota și de a forma imaginile și textul submitate ar putea beneficia de automatizare într-un mediu integrat. Factorul “adictiv” de a crea elemente unice care pot explora și interacționa cu lumea vastă a Stable Diffusion ar părea potențial compulsiv, atât pentru entuziaști, cât și pentru utilizatori mai tineri.

Cântărire prompt versatilă

Există multe implementări actuale care permit utilizatorului să atribuie o accentuare mai mare unei secțiuni a unui prompt de text lung, dar instrumentarul variază foarte mult între acestea și este adesea înțepenit sau neintuitiv.

De exemplu, ramura Stable Diffusion foarte populară de la AUTOMATIC1111 poate reduce sau crește valoarea unui cuvânt din prompt prin încadrarea acestuia în paranteze simple (pentru diminuarea accentuării) sau paranteze pătrate pentru accentuarea suplimentară.

Paranteze pătrate și/sau paranteze pot transforma micul dejun dvs. în această versiune a cântăririi promptului Stable Diffusion, dar este un coșmar cu colesterol în orice caz.

Paranteze pătrate și/sau paranteze pot transforma micul dejun dvs. în această versiune a cântăririi promptului Stable Diffusion, dar este un coșmar cu colesterol în orice caz.

Alte iterații ale Stable Diffusion utilizează semne de exclamare pentru accentuare, în timp ce cele mai versatile permit utilizatorilor să atribuie greutăți cuvintelor din prompt prin intermediul GUI.

Sistemul ar trebui să permită, de asemenea, greutăți negative ale promptului – nu doar pentru fani ai groazei, ci pentru că pot exista mistere mai puțin alarmante și mai edificatoare în spațiul latent al Stable Diffusion decât limbajul nostru limitat poate evoca.

Pictură externă

La scurt timp după deschiderea sursă senzațională a Stable Diffusion, OpenAI a încercat – în mare măsură în zadar – să recâștige o parte din trăsnetul DALL-E 2 prin anunțarea “picturii externe”, care permite unui utilizator să extindă o imagine dincolo de limitele sale cu logică semantică și coerență vizuală.

Natural, acest lucru a fost deja implementat în diverse forme pentru Stable Diffusion, precum și în Krita, și ar trebui să fie inclus într-o versiune cuprinzătoare, de tip Photoshop, a Stable Diffusion.

Extinderea pe bază de tile poate extinde un render standard de 512x512 aproape infinit, atât timp cât prompturile, imaginea existentă și logica semantică permit acest lucru. Sursă: https://github.com/lkwq007/stablediffusion-infinity

Extinderea pe bază de tile poate extinde un render standard de 512×512 aproape infinit, atât timp cât prompturile, imaginea existentă și logica semantică permit acest lucru. Sursă: https://github.com/lkwq007/stablediffusion-infinity

Deoarece Stable Diffusion este antrenat pe imagini de 512x512px (și din diverse alte motive), acesta taie adesea capetele (sau alte părți esențiale ale corpului) de la subiecți umani, chiar și atunci când promptul a indicat clar “accentuarea capului”, etc.

Exemple tipice de

Exemple tipice de “decapitare” a Stable Diffusion; dar pictura externă ar putea pune înapoi pe George în imagine.

O implementare a picturii externe de acest tip, ilustrată în imaginea animată de mai sus (care se bazează exclusiv pe biblioteci Unix, dar ar trebui să poată fi replicată pe Windows), ar trebui să fie, de asemenea, un remediu pentru o singură clic/prompt pentru această problemă.

În prezent, un număr de utilizatori extind canvasul imaginilor “decapitate” în sus, umplu aproximativ zona capului și utilizează img2img pentru a finaliza renderul defect.

Maschaj eficient care înțelege contextul

Maschajul poate fi o afacere extrem de neregulată în Stable Diffusion, în funcție de ramura sau versiunea în cauză. Adesea, acolo unde este posibil să se deseneze o mască coerentă, zona specificată se termină prin a fi pictată cu conținut care nu ia în considerare întregul context al imaginii.

Într-o ocazie, am mascat corneele unei imagini cu față și am furnizat promptul ‘ochi albaștri’ ca mască de pictură – doar pentru a descoperi că păream să privesc prin două ochi umani decupați la o imagine îndepărtată a unui lup supranatural. Sunt norocos că nu a fost Frank Sinatra.

Ediția semantică este, de asemenea, posibilă prin identificarea zgomotului care a construit imaginea în primul rând, ceea ce permite utilizatorului să adreseze elemente structurale specifice într-un render fără a afecta restul imaginii:

Schimbarea unui element într-o imagine fără mascare tradițională și fără a altera conținutul adiacent, prin identificarea zgomotului care a originat imaginea în primul rând și abordarea părților care au contribuit la zona țintă. Sursă: https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Schimbarea unui element într-o imagine fără mascare tradițională și fără a altera conținutul adiacent, prin identificarea zgomotului care a originat imaginea în primul rând și abordarea părților care au contribuit la zona țintă. Sursă: https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Acestă metodă se bazează pe samplerul K-Diffusion.

Filtere semantice pentru greșeli fiziologice

Așa cum am menționat anterior, Stable Diffusion poate adesea adăuga sau elimina membre, în mare parte din cauza problemelor de date și a lipsei de anotări care însoțesc imaginile care au antrenat modelul.

La fel ca acel copil răzgâiat care și-a scos limba în fotografia de grup de la școală, atrocitățile biologice ale Stable Diffusion nu sunt întotdeauna imediat evidente, și puteți fi publicat pe Instagram cea mai recentă capodoperă AI înainte de a observa mâinile suplimentare sau membrele topite.

La fel ca acel copil răzgâiat care și-a scos limba în fotografia de grup de la școală, atrocitățile biologice ale Stable Diffusion nu sunt întotdeauna imediat evidente, și puteți fi publicat pe Instagram cea mai recentă capodoperă AI înainte de a observa mâinile suplimentare sau membrele topite.

Este atât de greu de a remedia aceste tipuri de erori încât ar fi util dacă o aplicație Stable Diffusion de dimensiuni complete ar conține un sistem de recunoaștere anatomică care să utilizeze segmentarea semantică pentru a calcula dacă imaginea de intrare prezintă deficiențe anatomice severe (cum ar fi imaginea de mai sus), și o respinge în favoarea unei noi renderizări înainte de a o prezenta utilizatorului.

Desigur, ați putea dori să renderizați zeița Kali, sau Doctor Octopus, sau chiar să salvați o parte neatinsă a unei imagini cu membre afectate, așa că această funcție ar trebui să fie un comutator opțional.

Dacă utilizatorii ar putea tolera aspectul de telemetrie, astfel de erori ar putea fi transmise în mod anonim într-un efort colectiv de învățare federativă care ar putea ajuta la îmbunătățirea modelelor viitoare pentru a-și îmbunătăți înțelegerea logicii anatomice.

Îmbunătățirea feței bazată pe LAION

Așa cum am menționat în articolul meu anterior despre trei lucruri pe care Stable Diffusion ar putea să le abordeze în viitor, nu ar trebui să se lase la nicio versiune a GFPGAN să încerce să “îmbunătățească” fețele renderizate în primă instanță.

“Îmbunătățirile” GFPGAN sunt teribil de generice, adesea subminează identitatea individului reprezentat și funcționează doar pe o față care a primit nicio atenție suplimentară sau timp de procesare decât orice altă parte a imaginii.

Prin urmare, un program profesional pentru Stable Diffusion ar trebui să poată recunoaște o față (cu o bibliotecă standard și relativ ușoară, cum ar fi YOLO), să aplice toată puterea GPU disponibilă pentru a re-renderiza fața și să o amestece în imaginea originală cu context complet, sau să o salveze separat pentru o recompunere manuală. În prezent, aceasta este o operațiune destul de “manuală”.

În cazurile în care Stable Diffusion a fost antrenat pe un număr adecvat de imagini cu o celebritate, este posibil să se concentreze întreaga capacitate GPU pe o renderizare ulterioară a feței imaginii renderizate, care este de obicei o îmbunătățire notabilă - și, spre deosebire de GFPGAN, se bazează pe informații din datele antrenate LAION, în loc să ajusteze pur și simplu pixelii renderizați.

În cazurile în care Stable Diffusion a fost antrenat pe un număr adecvat de imagini cu o celebritate, este posibil să se concentreze întreaga capacitate GPU pe o renderizare ulterioară a feței imaginii renderizate, care este de obicei o îmbunătățire notabilă – și, spre deosebire de GFPGAN, se bazează pe informații din datele antrenate LAION, în loc să ajusteze pur și simplu pixelii renderizați.

Căutări LAION în aplicație

De la momentul în care utilizatorii au început să realizeze că căutarea în baza de date LAION pentru concepte, oameni și teme putea fi de ajutor pentru o utilizare mai bună a Stable Diffusion, au fost create diverse exploratoare LAION online, inclusiv haveibeentrained.com.

Funcția de căutare de pe haveibeentrained.com permite utilizatorilor să exploreze imaginile care alimentează Stable Diffusion și să descopere dacă obiectele, oamenii sau ideile pe care ar putea să le dorească să le evocă din sistem sunt probabil să fi fost antrenate în el. Astfel de sisteme sunt, de asemenea, utile pentru a descoperi entități adiacente, cum ar fi modul în care celebritățile sunt grupate, sau

Funcția de căutare de pe haveibeentrained.com permite utilizatorilor să exploreze imaginile care alimentează Stable Diffusion și să descopere dacă obiectele, oamenii sau ideile pe care ar putea să le dorească să le evocă din sistem sunt probabil să fi fost antrenate în el. Astfel de sisteme sunt, de asemenea, utile pentru a descoperi entități adiacente, cum ar fi modul în care celebritățile sunt grupate, sau “următoarea idee” care decurge din cea curentă. Sursă: https://haveibeentrained.com/?search_text=bowl%20of%20fruit

Deși astfel de baze de date web adesea dezvăluie unele dintre etichetele care însoțesc imaginile, procesul de generalizare care are loc în timpul antrenării modelului înseamnă că este puțin probabil ca o imagine anume să poată fi chemată utilizând eticheta sa ca prompt.

În plus, eliminarea ‘cuvintelor de oprire’ și practica de tăiere și lematizare în Procesarea Limbajului Natural înseamnă că multe dintre frazele afișate au fost separate sau omise înainte de a fi antrenate în Stable Diffusion.

Cu toate acestea, modul în care grupările estetice se leagă în aceste interfețe poate învăța utilizatorul final multe despre logica (sau, probabil, “personalitatea”) Stable Diffusion și poate fi de ajutor pentru o producție de imagine mai bună.

Concluzie

Există multe alte funcții pe care aș dori să le văd într-o implementare nativă de desktop a Stable Diffusion, cum ar fi analiza de imagine bazată pe CLIP, care inversează procesul standard Stable Diffusion și permite utilizatorului să obțină fraze și cuvinte pe care sistemul le-ar asocia în mod natural cu imaginea sursă sau renderul.

În plus, escaladarea reală pe bază de tile ar fi o adăugare binevenită, deoarece ESRGAN este aproape la fel de grosolan ca GFPGAN. Din fericire, planurile de a integra implementarea txt2imghd a GOBIG sunt în curs de a face acest lucru o realitate în toate distribuțiile, și pare a fi o alegere evidentă pentru o iterație de desktop.

Unele alte solicitări populare din comunitățile Discord mă interesează mai puțin, cum ar fi dicționare de prompt integrate și liste aplicabile de artiști și stiluri, deși o agendă în aplicație sau un lexicon personalizabil de fraze ar părea o adăugare logică.

Limitările actuale ale animației umane în Stable Diffusion, deși au fost inițiate de CogVideo și diverse alte proiecte, rămân incredibil de embrionare și la mila cercetărilor upstream în privința priorităților temporale legate de mișcarea umană autentică.

Pentru moment, videoul Stable Diffusion este strict psihedelic, deși poate avea un viitor strălucit în deepfake-urile de păpuși, prin EbSynth și alte inițiative text-videorelative relativ noi (și este demn de remarcat lipsa oamenilor sintetizați sau “modificați” din videoclipul promoțional recent al Runway).

O altă funcționalitate valoroasă ar fi trecerea transparentă prin Photoshop, stabilă de mult timp în editorul de texturi al Cinema4D, printre alte implementări similare. Cu aceasta, puteți transfera imagini între aplicații cu ușurință și utiliza fiecare aplicație pentru a efectua transformările la care excelază.

În cele din urmă, și poate cel mai important, o aplicație de desktop Stable Diffusion completă ar trebui să poată nu doar să comute ușor între puncte de control (adică versiuni ale modelului subiacent care alimentează sistemul), ci ar trebui, de asemenea, să poată actualiza învățări textuale personalizate care au funcționat cu lansări anterioare oficiale ale modelului, dar care ar putea fi altfel întrerupte de versiuni ulterioare ale modelului (așa cum au indicat dezvoltatorii de la Discord-ul oficial).

Ironia face ca organizația care se află în poziția cea mai bună pentru a crea o astfel de matrice puternică și integrată de unelte pentru Stable Diffusion, Adobe, să se fi aliat atât de puternic cu Inițiativa de autenticitate a conținutului încât ar părea un pas greșit în PR retrograd pentru companie – cu excepția cazului în care ar fi să îngreuneze puterile generative ale Stable Diffusion la fel de temeinic cum a făcut OpenAI cu DALL-E 2, și să o poziționeze în schimb ca o evoluție naturală a stocului său considerabil de fotografii de stoc.

 

Publicat pentru prima dată pe 15 septembrie 2022.

Scriitor pe machine learning, specialist în domeniul sintezei de imagini umane. Fost șef al conținutului de cercetare la Metaphysic.ai, până la dizolvarea sa în Brahma.ai a DNEG.
Portfolio site: martinanderson.ai
Contact: martin@martinanderson.ai