Modele și platforme AI
BrushNet: Încărcare și joc de imagine cu difuzie duală
Încărcarea imaginilor este una dintre problemele clasice din domeniul viziunii computaționale și are ca scop restaurarea regiunilor mascate ale unei imagini cu conținut plauzibil și natural. Lucrările existente care utilizează tehnici tradiționale de încărcare a imaginilor, cum ar fi Rețelele Adversative Generative (GAN) și Codificatorii Auto-Variabili (VAE), necesită adesea caracteristici auxiliare create manual, dar nu oferă rezultate satisfăcătoare. În ultimii ani, metodele bazate pe difuzie au câștigat popularitate în comunitatea de viziune computațională datorită capacităților lor remarcabile de generare a imaginilor de înaltă calitate, a diversității de ieșire și a controlului fin. Încercările inițiale de a utiliza modele de difuzie pentru încărcarea imaginilor ghidate de text au modificat strategia standard de denoizare prin eșantionarea regiunilor mascate dintr-un model de difuzie pre-antrenat și copierea regiunilor nemascate din imaginea dată la fiecare pas de denoizare. Deși aceste metode au rezultat în performanțe satisfăcătoare în ceea ce privește încărcarea imaginilor simple, au avut dificultăți cu forme complexe de mascare, texte și conținut de imagine, ceea ce a dus la o lipsă generală de coerență.
În ciuda progreselor, cercetărilor și dezvoltării acestor modele în ultimii ani, încărcarea imaginilor rămâne o provocare majoră pentru dezvoltatorii de viziune computațională. Adaptările actuale ale modelelor de difuzie pentru sarcinile de încărcare a imaginilor implică modificarea strategiei de eșantionare sau dezvoltarea unor modele de încărcare a imaginilor special concepute, care adesea suferă de o calitate redusă a imaginilor și o semantică inconsistentă. Pentru a aborda aceste provocări și a deschide calea pentru modelele de încărcare a imaginilor, în acest articol, vom discuta despre BrushNet, un cadru inovator de încărcare a imaginilor cu difuzie duală, care încorporează caracteristici de imagine mascate la nivel de pixel în orice model de difuzie pre-antrenat, asigurând astfel coerență și rezultate îmbunătățite pentru sarcinile de încărcare a imaginilor. Cadru BrushNet introduce un nou paradigma în care divizează caracteristicile imaginii și latentul zgomotos în ramuri separate. Divizarea caracteristicilor imaginii și a latentului zgomotos reduce încărcarea de învățare a modelului în mod semnificativ și facilitează o încorporare nuanțată a informațiilor esențiale despre imaginea mascată într-o manieră ierarhică. În plus față de cadru BrushNet, vom discuta și despre BrushBench și BrushData, care facilitează evaluarea performanței bazate pe segmentare și antrenamentul încărcării imaginilor, respectiv.

Acest articol are ca scop să acopere cadru BrushNet în profunzime și explorăm mecanismul, metodologia, arhitectura cadru și comparația cu cadrele de stat din domeniu. Deci, să începem.
BrushNet: Încărcare a imaginilor cu difuzie duală
Încărcarea imaginilor, o metodă care încearcă să restaureze regiunile lipsă ale unei imagini, menținând în același timp coerența generală, a fost o problemă de lungă durată în domeniul viziunii computaționale și a provocat dezvoltatori și cercetători de mai mulți ani. Încărcarea imaginilor are aplicații într-o varietate de sarcini de viziune computațională, inclusiv editarea imaginilor și încercările virtuale. Recent, modelele de difuzie, cum ar fi Stable Diffusion și Stable Diffusion 1.5, au demonstrat o capacitate remarcabilă de a genera imagini de înaltă calitate și oferă utilizatorilor flexibilitatea de a controla controlul semantic și structural. Potențialul remarcabil al modelelor de difuzie a determinat cercetătorii să recurgă la modele de difuzie pentru sarcinile de încărcare a imaginilor de înaltă calitate care se aliniază cu prompturile de text de intrare.
Metodele utilizate de cadrele tradiționale de încărcare a imaginilor bazate pe difuzie pot fi împărțite în două categorii, Modificarea strategiei de eșantionare și Modele de încărcare dedicate. Metoda de modificare a strategiei de eșantionare modifică procesul standard de denoizare prin eșantionarea regiunilor mascate dintr-un model de difuzie pre-antrenat și copierea regiunilor nemascate din imaginea dată la fiecare pas de denoizare. Deși abordările de modificare a strategiei de eșantionare pot fi implementate în orice model de difuzie, adesea rezultă în rezultate de încărcare a imaginilor incoerente, deoarece au cunoștințe perceptive limitate despre marginile măștii și contextul regiunii imaginii nemascate. Pe de altă parte, modelele de încărcare dedicate ajustează un model de încărcare a imaginilor special conceput prin extinderea dimensiunilor canalului de intrare al modelului de difuzie de bază pentru a încorpora imaginea coruptă și măștile. În timp ce modelele de încărcare dedicate permit modelului de difuzie să genereze rezultate mai satisfăcătoare cu modele specializate și conștiente de formă și conținut, aceasta nu poate fi cea mai bună arhitectură pentru modelele de încărcare a imaginilor.
Așa cum se arată în imaginea de mai jos, modelele de încărcare dedicate fuzionează latentul imaginii mascate, latentul zgomotos, textul și măștile la o etapă timpurie. Arhitectura modelelor de încărcare dedicate influențează puternic caracteristicile imaginii mascate și împiedică straturile ulterioare din arhitectura UNet să obțină caracteristici pure ale imaginii mascate, din cauza influenței textului. Mai mult, gestionarea generării și a condiționării într-o singură ramură impune o sarcină suplimentară asupra arhitecturii UNet, iar deoarece aceste abordări necesită, de asemenea, ajustarea în diferite variante ale modelului de difuzie de bază, acestea sunt adesea epuizante din punct de vedere al timpului și au o transferabilitate limitată.

S-ar putea părea că adăugarea unei ramuri dedicate pentru extragerea caracteristicilor imaginii mascate ar fi o soluție adecvată pentru problemele menționate mai sus, însă cadrele existente adesea rezultă în extragerea și inserarea unor informații inadecvate atunci când sunt aplicate direct la încărcarea imaginilor. Ca urmare, cadre existente, cum ar fi ControlNet, oferă rezultate nesatisfăcătoare în comparație cu modelele de încărcare dedicate. Pentru a aborda această problemă în modul cel mai eficient posibil, cadru BrushNet introduce o ramură suplimentară în rețeaua de difuzie originală, creând astfel o arhitectură mai potrivită pentru sarcinile de încărcare a imaginilor. Proiectarea și arhitectura cadru BrushNet pot fi rezumate în trei puncte.
- În loc să initializeze straturile de convoluție în mod aleator, cadru BrushNet implementează un codificator VAE pentru a prelucra imaginea mascată. Ca urmare, cadru BrushNet poate extrage caracteristicile imaginii pentru adaptarea la distribuția UNet mai eficient.
- Cadru BrushNet incorporează treptat stratul de caracteristici complet UNet, strat cu strat, în arhitectura UNet pre-antrenată, o abordare ierarhică care permite controlul dens per-pixel.
- Cadru BrushNet elimină atenția transversală din componenta UNet pentru a asigura că se iau în considerare doar informații pure de imagine în ramura suplimentară. Mai mult, modelul BrushNet propune, de asemenea, implementarea unei strategii de amestecare îmbunătățite pentru a obține o coerență mai bună, precum și un control mai mare în regiunile nemascate ale imaginii.
BrushNet: Metodă și Arhitectură
Următoarea figură oferă o scurtă prezentare a cadru BrushNet.

Așa cum se poate observa, cadru utilizează o strategie de ramură duală pentru inserarea caracteristicilor imaginii mascate și utilizează operații de amestecare cu o mască estompată pentru a asigura o mai bună conservare a regiunilor nemascate. Este important de remarcat că cadru BrushNet poate ajusta scala adăugată pentru a obține un control flexibil. Pentru o imagine mascată dată și o mască, modelul BrushNet produce o imagine încărcată. Modelul mai întâi reduce dimensiunea măștii pentru a se potrivi cu dimensiunea latentului, iar imaginea mascată este alimentată ca intrare în codificatorul VAE pentru a alinia distribuția spațiului latent. Modelul apoi concatenează latentul imaginii mascate, latentul zgomotos și măștile reduse și le utilizează ca intrare. Caracteristicile extrase de model sunt apoi adăugate la stratul UNet pre-antrenat după un bloc de convoluție zero. După denoizare, modelul amestecă imaginea mascată și imaginea generată cu o mască estompată.
Îndrumarea imaginii mascate
Cadru BrushNet inserează caracteristicile imaginii mascate în rețeaua de difuzie pre-antrenată utilizând o ramură suplimentară, care separă extragerea caracteristicilor imaginii mascate de procesul de generare a imaginii în mod explicit. Intrarea este formată prin concatenarea latentului imaginii mascate, a latentului zgomotos și a măștii reduse. Mai specific, latentul zgomotos oferă informații pentru generarea imaginii în timpul procesului de generare curent și ajută cadru să îmbunătățească coerența semantică a caracteristicilor imaginii mascate. Cadru BrushNet extrage apoi latentul imaginii mascate din imaginea mascată utilizând un codificator VAE. Mai mult, cadru utilizează interpolarea cubică pentru a reduce dimensiunea măștii în încercarea de a asigura că dimensiunea măștii se potrivește cu dimensiunea latentului imaginii mascate și a latentului zgomotos. Pentru a prelucra caracteristicile imaginii mascate, cadru BrushNet implementează o copie a modelului de difuzie pre-antrenat și exclude straturile de atenție transversală ale modelului de difuzie. Motivul este acela că greutățile pre-antrenate ale modelului de difuzie servesc ca un puternic prior pentru extragerea caracteristicilor imaginii mascate, iar excluderea straturilor de atenție transversală asigură că modelul ia în considerare doar informații pure de imagine în ramura suplimentară. Cadru BrushNet inserează caracteristicile în modelul de difuzie înghețat strat cu strat, permițând astfel un control dens per-pixel ierarhic și utilizează, de asemenea, straturi de convoluție zero pentru a stabili o legătură între modelul BrushNet antrenabil și modelul înghețat, asigurând că zgomotul dăunător nu are niciun efect asupra stărilor ascunse în copia antrenabilă în timpul etapelor inițiale de antrenament.
Operația de amestecare
Așa cum s-a menționat anterior, efectuarea operației de amestecare în spațiul latent diminuează dimensiunea măștilor, ceea ce duce adesea la inexactități, iar cadru BrushNet întâmpină o problemă similară atunci când reduce dimensiunea măștii pentru a se potrivi cu dimensiunea spațiului latent. Mai mult, este important de remarcat că operațiunile de codificare și decodificare din codificatorii VAE au operații limitate inerente și nu pot asigura întotdeauna o reconstrucție completă a imaginii. Pentru a asigura că cadru reconstruiește o imagine coerentă și completă a regiunii nemascate, lucrările existente au implementat diverse tehnici, cum ar fi copierea regiunilor nemascate din imaginea originală. Deși această abordare funcționează, adesea duce la o lipsă de coerență semantică în generarea rezultatelor finale. Pe de altă parte, metodele care adoptă operații de amestecare latentă se confruntă cu dificultăți în păstrarea informațiilor dorite în regiunile nemascate.
Control flexibil
Proiectarea arhitecturală a cadru BrushNet îl face o alegere potrivită pentru integrări plug-and-play în diferite modele de difuzie pre-antrenate și permite o scară de conservare flexibilă. Deoarece cadru BrushNet nu modifică greutățile modelului de difuzie pre-antrenat, dezvoltatorii au flexibilitatea de a-l integra ca o componentă plug-and-play cu un model de difuzie reglat, permițând adoptarea și experimentarea ușoară cu modele pre-antrenate. Mai mult, dezvoltatorii au, de asemenea, opțiunea de a controla scala de conservare a regiunilor nemascate prin încorporarea caracteristicilor modelului BrushNet în modelul de difuzie înghețat, cu un anumit greutate w care determină influența cadru BrushNet asupra scalei de conservare, oferind dezvoltatorilor capacitatea de a ajusta nivelurile dorite de conservare. În final, cadru BrushNet permite utilizatorilor să ajusteze scala de estompare și să decidă dacă să implementeze sau nu operația de estompare, permițând astfel ajustări flexibile și un control fin asupra procesului de încărcare a imaginilor.
BrushNet: Implementare și Rezultate
Pentru a analiza rezultatele sale, cadru BrushNet propune BrushBench, un set de date de încărcare a imaginilor bazat pe segmentare, cu peste 600 de imagini, fiecare însoțită de o mască și o anotare a textului. Imaginile din setul de date BrushBench sunt distribuite în mod egal între imagini naturale și artificiale și asigură, de asemenea, o distribuție uniformă între diferite categorii, permițând o evaluare corectă în diferite categorii. Pentru a îmbunătăți analiza sarcinilor de încărcare a imaginilor, cadru BrushNet categorizează setul de date în două părți distincte pe baza metodelor utilizate: segmentare și măști de perie.
Comparație cantitativă
Tabelul următor compară cadru BrushNet cu modele de încărcare a imaginilor bazate pe difuzie existente pe setul de date BrushBench, utilizând Stable Diffusion ca model de bază.

Așa cum se poate observa, cadru BrushNet demonstrează o eficiență remarcabilă în ceea ce privește conservarea regiunilor mascate, alinierea textului și calitatea imaginii. Mai mult, modele cum ar fi Stable Diffusion Inpainting, HD-Painter, PowerPaint și altele demonstrează o performanță puternică în sarcinile de încărcare a imaginilor din interior, dar nu reușesc să-și repete performanța în sarcinile de încărcare a imaginilor din exterior, în special în ceea ce privește alinierea textului și calitatea imaginii. În general, cadru BrushNet oferă cele mai bune rezultate.
Mai mult, tabelul următor compară cadru BrushNet cu modele de încărcare a imaginilor bazate pe difuzie existente pe setul de date EditBench, iar performanța este comparabilă cu cea observată pe setul de date BrushBench. Rezultatele indică faptul că cadru BrushNet oferă o performanță puternică într-o varietate de sarcini de încărcare a imaginilor cu diferite tipuri de măști.

Comparație calitativă
Figura următoare compară calitativ cadru BrushNet cu metode de încărcare a imaginilor existente, cu rezultate care acoperă imagini artificiale și naturale în diferite sarcini de încărcare a imaginilor, inclusiv încărcarea imaginilor cu măști aleatoare, încărcarea imaginilor cu măști de segmentare din interior și încărcarea imaginilor cu măști de segmentare din exterior.

Așa cum se poate observa, cadru BrushNet oferă rezultate remarcabile în ceea ce privește coerența regiunii nemascate și regiunilor coerente și reușește să realizeze conștientizarea informațiilor de fundal datorită implementării abordării de decuplare duală. Mai mult, ramura neatinsă a modelului de difuzie pre-antrenat oferă, de asemenea, avantajul de a acoperi diferite domenii de date, cum ar fi anime și pictură, ceea ce duce la o performanță mai bună în diferite scenarii.

Gânduri finale
În acest articol, am discutat despre cadru BrushNet, un cadru inovator de încărcare a imaginilor cu difuzie duală, care încorporează caracteristici de imagine mascate la nivel de pixel în orice model de difuzie pre-antrenat, asigurând astfel coerență și rezultate îmbunătățite pentru sarcinile de încărcare a imaginilor. Cadru BrushNet introduce un nou paradigma în care divizează caracteristicile imaginii și latentul zgomotos în ramuri separate. Divizarea caracteristicilor imaginii și a latentului zgomotos reduce încărcarea de învățare a modelului în mod semnificativ și facilitează o încorporare nuanțată a informațiilor esențiale despre imaginea mascată într-o manieră ierarhică. În plus față de cadru BrushNet, vom discuta și despre BrushBench și BrushData, care facilitează evaluarea performanței bazate pe segmentare și antrenamentul încărcării imaginilor, respectiv.












