AI-modeller og plattformer

BrushNet: Plug and Play Image Inpainting med Dual-Branch Diffusion

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Bildeinpainting er ett av de klassiske problemene i datavisjon, og det har som mål å gjenopprette maskerte områder i et bilde med plausibel og naturlig innhold. Eksisterende arbeid som bruker tradisjonelle bildeinpainting-teknikker som Generative Adversarial Networks eller GANS, og Variational Auto-Encoders eller VAEs, krever ofte hjelpemidler som er konstruert for hånd, men leverer likevel ikke tilfredsstillende resultater. Over de siste årene har diffusjonsbaserte metoder vunnet popularitet innen datavisjonsfellesskapet på grunn av deres bemerkelsesverdige evne til å generere høykvalitetsbilder, utgangsdiversitet og finmasket kontroll. De første forsøkene på å bruke diffusjonsmodeller for tekststyrt bildeinpainting modifiserte den standard denoising-strategien ved å sampel maskerte områder fra en forhånds trenet diffusjonsmodell, og kopierte de umaskerte områdene fra det gitt bildet. Selv om disse metodene resulterte i tilfredsstillende resultater på enkle bildeinpainting-oppgaver, hadde de problemer med komplekse maskerformer, tekstpromter og bildeinnhold som resulterte i en total mangel på kohensjon.

Til tross for fremgangen, forskningen og utviklingen av disse modellene over de siste årene, er bildeinpainting fortsatt en stor hindring for datavisjonsutviklere. Gjeldende tilpasninger av diffusjonsmodeller for bildeinpainting-oppgaver innebærer å modifisere sampelstrategien eller å utvikle bildeinpainting-specifikke diffusjonsmodeller, som ofte lider av redusert bildekvalitet og inkonsistente semantikk. For å møte disse utfordringene og å bana vei for bildeinpainting-modeller, vil vi i denne artikkelen snakke om BrushNet, et nytt plug and play-dual-branch-rammeverk som integrerer pikkelnivå-maskerte bildeegenskaper i enhver forhånds trenet diffusjonsmodell, og garanterer kohensjon og forbedret resultat på bildeinpainting-oppgaver. BrushNet-rammeverket introduserer en ny paradigme hvor rammeverket deler bildeegenskapene og støyende latente i separate grener. Delingen av bildeegenskaper og støyende latente reduserer lasten for modellen dramatisk, og muliggjør en nyansert inkorporering av essensielle maskerte bildeinformasjon i en hierarkisk måte. I tillegg til BrushNet-rammeverket, vil vi også snakke om BrushBench og BrushData som muliggjør segmenteringsbasert ytelsesvurdering og bildeinpainting-trening henholdsvis.

Denne artikkelen har som mål å dekke BrushNet-rammeverket i dybden, og vi utforsker mekanismen, metodikken, arkitekturen til rammeverket samt sammenligningen med state of the art-rammeverk. La oss komme i gang.

BrushNet: Bildeinpainting med Dual-Branch Diffusion

Bildeinpainting, en metode som forsøker å gjenopprette de manglende områdene i et bilde mens den opprettholder den totale kohensjonen, har vært et langvarig problem i datavisjonsfeltet, og det har plaget utviklere og forskere i flere år nå. Bildeinpainting finner sine anvendelser over en bred variasjon av datavisjonsoppgaver, inkludert bildeediting og virtuelle prøvinger. Nylig har diffusjonsmodeller som Stable Diffusion og Stable Diffusion 1.5 demonstrert en bemerkelsesverdig evne til å generere høykvalitetsbilder, og de gir brukerne fleksibiliteten til å kontrollere semantisk og strukturkontroll. Den bemerkelsesverdige potensialet til diffusjonsmodeller er det som har fått forskerne til å bruke diffusjonsmodeller for høykvalitetsbildeinpainting-oppgaver som stemmer overens med tekstpromptene.

Metodene som er brukt av tradisjonelle diffusjonsbaserte tekststyrte bildeinpainting-rammeverk kan deles inn i to kategorier, Sampelstrategi-modifisering og Dedicated Inpainting-modeller. Sampelstrategi-modifisering-metoden modifiserer den standard denoising-prosessen ved å sampel maskerte områder fra en forhånds trenet diffusjonsmodell, og kopierer de umaskerte områdene fra det gitt bildet i hver denoising-trinn. Selv om sampelstrategi-modifisering-tilnærmingene kan implementeres i arbitrære diffusjonsmodeller, resulterer de ofte i inkohesive bildeinpainting-resultater siden de har begrenset perceptuell kunnskap om masker-grenser og umaskerte bildekontekst. På den andre siden, dedicated bildeinpainting-modeller finjusterer en bildeinpainting-modell som er designet spesifikt ved å utvide dimensjonene til inngangskanalen til den grundleggende diffusjonsmodellen for å inkorporere korruptet bilde og masker. Mens dedicated bildeinpainting-modeller muliggjør at diffusjonsmodellen genererer mer tilfredsstillende resultater med spesialiserte form- og innholdsbaserte modeller, kan det være eller ikke være den beste arkitektoniske designen for bildeinpainting-modeller.

Som vist i følgende bilde, dedicated bildeinpainting-modeller smelter sammen maskert bilde-latent, støyende latent, tekst og masker på et tidlig stadium. Den arkitektoniske designen til slike dedicated bildeinpainting-modeller påvirker lett maskert bilde-egenskaper og forhindrer de påfølgende lagene i UNet-arkitekturen fra å få ren maskert bilde-egenskaper på grunn av tekst-påvirkning. Videre, å håndtere generering og betingelse i en enkelt gren legger ytterligere byrde på UNet-arkitekturen, og siden disse tilnærmingene også krever finjustering i forskjellige varianter av diffusjons-bakgrunnen, er disse tilnærmingene ofte tidskrevende med begrenset overførbarhet.

Det kan synes som om å legge til en ekstra gren dedikert til å trekke ut maskerte bilde-egenskaper kan være en adekvat løsning på problemene nevnt ovenfor, men eksisterende rammeverk resulterer ofte i å trekke ut og sette inn utilstrekkelig informasjon når de brukes direkte til bildeinpainting. Som et resultat, eksisterende rammeverk som ControlNet gir utilfredsstillende resultater når de sammenlignes med dedicated bildeinpainting-modeller. For å møte denne utfordringen på den mest effektive måten mulig, introduserer BrushNet-rammeverket en ekstra gren til den opprinnelige diffusjonsnetverket, og skaper dermed en mer egnet arkitektur for bildeinpainting-oppgaver. Designen og arkitekturen til BrushNet-rammeverket kan sammenfattes i tre punkter.

  1. I stedet for å initialisere konvolusjonslag tilfeldig, implementerer BrushNet-rammeverket en VAE-encoder for å prosessere det maskerte bildet. Dette gjør at BrushNet-rammeverket kan trekke ut bilde-egenskaper for tilpasning til UNet-distribusjonen mer effektivt.
  2. BrushNet-rammeverket inkorporerer gradvis det fulle UNet-egenskapslaget lag for lag i den forhånds trenede UNet-arkitekturen, en hierarkisk tilnærming som muliggjør tett per-piksel-kontroll.
  3. BrushNet-rammeverket fjerner tekst-kryss-oppmerksomhet fra UNet-komponenten for å sikre at ren bildeinformasjon blir vurdert i den ekstra grenen. Videre, foreslår BrushNet-modellen også å implementere en uskarp blanding-strategi for å oppnå bedre konsistens sammen med en høyere kontrollgrad i umaskerte områder av bildet.

BrushNet: Metode og Arkitektur

Følgende figur gir oss en kort oversikt over BrushNet-rammeverket.

Som det kan observeres, bruker rammeverket en dual-branch-strategi for maskert bildeveiledning og bruker blanding-operasjoner med en uskarp mask for å sikre bedre bevarelse av umaskerte områder. Det er verdt å merke seg at BrushNet-rammeverket er i stand til å justere den tilføyde skalaen for å oppnå fleksibel kontroll. For et gitt maskert bilde-inngang og masken, utgangen til BrushNet-modellen er et innmalingsbilde. Modellen downsampler masken for å tilpasse størrelsen på latenten og det maskerte bildet, og det maskerte bildet brukes som inngang til VAE-encoderen for å justere distribusjonen av latent-rommet. Modellen konkatenerer deretter det maskerte bilde-latent, det støyende latent og den downsampede masken, og bruker det som inngang. Egenskapene som modellen trekker ut, legges til den forhånds trenede UNet-laget etter en null-konvolusjonsblokk. Etter denoising, blander modellen det maskerte bildet og det genererte bildet med en uskarp mask.

Maskert Bildeveiledning

BrushNet-rammeverket setter inn det maskerte bilde-egenskapen i den forhånds trenede diffusjonsnetverket ved hjelp av en ekstra gren, som skiller egenskapsuttrekkelsen av maskerte bilder fra prosessen med bilde-generering eksplisitt. Inngangen dannes ved å konkatenerer det maskerte bilde-latent, det støyende latent og den downsampede masken. For å være mer spesifik, gir det støyende latent informasjon for bilde-generering under den nåværende genereringsprosessen og hjelper rammeverket å forbedre den semantiske kohensjonen av det maskerte bilde-egenskapen. BrushNet-rammeverket trekker deretter ut det maskerte bilde-latent fra det maskerte bildet ved hjelp av en Variational AutoEncoder. Videre, bruker rammeverket kubisk interpolasjon for å downsample masken i et forsøk på å sikre at maskestørrelsen stemmer overens med det maskerte bilde-latent og det støyende latent. For å prosessere det maskerte bilde-egenskapen, implementerer BrushNet-rammeverket en kopi av den forhånds trenede diffusjonsmodellen og ekskluderer kryss-oppmerksomhetslagene til diffusjonsmodellen. Grunnen er at de forhånds trenede vektene til diffusjonsmodellen tjener som en sterk prior for å trekke ut egenskapene til det maskerte bildet, og eksklusjonen av kryss-oppmerksomhetslagene sikrer at modellen bare vurderer ren bildeinformasjon i den ekstra grenen. BrushNet-rammeverket setter inn egenskapene i den frosne diffusjonsmodellen lag for lag, og muliggjør dermed hierarkisk tett per-piksel-kontroll, og bruker også null-konvolusjonslag for å etablere en forbindelse mellom den treningable BrushNet-modellen og den låste modellen, og sikrer at skadelig støy ikke har noen innvirkning på de skjulte tilstandene i den treningable kopi under de innledende treningsstadiene.

Blanding-Operasjon

Som nevnt tidligere, å utføre blanding-operasjonen i latent-rommet resizerer maskene, som ofte resulterer i flere uakkurate resultater, og BrushNet-rammeverket møter et lignende problem når det resizerer masken for å stemme overens med størrelsen på latent-rommet. Videre, er det verdt å merke seg at kodning- og dekodning-operasjoner i Variational AutoEncoders har begrensede operasjoner, og kan ikke sikre fullstendig bilde-rekonstruksjon. For å sikre at rammeverket rekonstruerer et fullstendig konsistent bilde av det umaskerte området, har eksisterende arbeid implementert forskjellige teknikker som å kopiere det umaskerte området fra det opprinnelige bildet. Selv om tilnærmingen fungerer, resulterer den ofte i en mangel på semantisk kohensjon i genereringen av de endelige resultater. På den andre siden, metoder som å adoptere latent-blanding-operasjoner har vanskeligheter med å bevare den ønskede informasjonen i det umaskerte området.

Fleksibel Kontroll

Den arkitektoniske designen til BrushNet-rammeverket gjør det til et egnet valg for plug and play-integreringer innebygget i forskjellige forhånds trenede diffusjonsmodeller, og muliggjør fleksibel bevarelse-skala. Ettersom BrushNet-rammeverket ikke endrer vektene til den forhånds trenede diffusjonsmodellen, har utviklerne fleksibiliteten til å integrere det som en plug and play-komponent med en finjustert diffusjonsmodell, og muliggjør enkel adopsjon og eksperimentering med forhånds trenede modeller. Videre, har utviklerne også muligheten til å kontrollere bevarelse-skalaen til det umaskerte området ved å inkorporere egenskapene til BrushNet-modellen i den frosne diffusjonsmodellen med den gitte vekten w som bestemmer innvirkningen av BrushNet-rammeverket på bevarelse-skalaen, og tilbyr utviklerne muligheten til å justere de ønskede nivåene av bevarelse. Til slutt, tillater BrushNet-rammeverket brukerne å justere uskarp-skalaen og bestemme om de skal implementere uskarp-operasjonen eller ikke, og muliggjør dermed enkel tilpasning og finmasket kontroll over bildeinpainting-prosessen.

BrushNet: Implementering og Resultater

For å analysere resultater, foreslår BrushNet-rammeverket BrushBench, en segmenteringsbasert bildeinpainting-datasett med over 600 bilder, hvor hvert bilde er ledsaget av en menneske-annotert mask og annotasjon. Bildene i benchmark-datasettet er fordelt jevnt mellom naturlige og kunstige bilder, og sikrer også en jevn fordeling mellom forskjellige kategorier, og muliggjør en rettferdig vurdering over forskjellige kategorier. For å forbedre analysen av bildeinpainting-oppgavene enda mer, kategoriserer BrushNet-rammeverket datasettet i to distinkte deler basert på metodene som brukes: segmenteringsbasert og brush-masker.

Kvantitativ Sammenligning

Følgende tabell sammenligner BrushNet-rammeverket mot eksisterende diffusjonsbaserte bildeinpainting-modeller på BrushBench-datasettet med Stable Diffusion som basis-modell.

Som det kan observeres, demonstrerer BrushNet-rammeverket bemerkelsesverdig effektivitet over maskert område-bevarelse, tekst-justering og bildekvalitet. Videre, modeller som Stable Diffusion Inpainting, HD-Painter, PowerPaint og andre demonstrerer sterk ytelse på bildeinpainting-oppgaver innenfor, selv om de ikke kan gjenta sin ytelse på bildeinpainting-oppgaver utenfor, spesielt når det gjelder tekst-justering og bildekvalitet. Overordnet, leverer BrushNet-rammeverket de sterkeste resultater.

Videre, sammenligner følgende tabell BrushNet-rammeverket mot eksisterende diffusjonsbaserte bildeinpainting-modeller på EditBench-datasettet, og ytelsen er sammenlignbar med den som observeres på BrushBench-datasettet. Resultatene indikerer at BrushNet-rammeverket leverer sterk ytelse over en bred variasjon av bildeinpainting-oppgaver med forskjellige mask-typer.

Kvalitativ Sammenligning

Følgende figur sammenligner kvalitativt BrushNet-rammeverket mot eksisterende bildeinpainting-metoder, med resultater som dekker kunstig intelligens og naturlige bilder over forskjellige bildeinpainting-oppgaver, inkludert tilfeldig mask-bildeinpainting, segmenteringsmask-innsiden-bildeinpainting og segmenteringsmask-utenfor-bildeinpainting.

Som det kan observeres, leverer BrushNet-rammeverket bemerkelsesverdige resultater i kohensjonen av det umaskerte området og de kohesive områdene, og lykkes i å realisere bakgrunnsinformasjonen takket være implementeringen av den dual-branch-dekoblings-tilnærmingen. Videre, den ubrukte grenen av den forhånds trenede diffusjonsmodellen gir også fordelen av å dekke forskjellige data-domenene som anime og maleri bedre, og resulterer i bedre ytelse over forskjellige scenarioer.

Slutt tanker

I denne artikkelen har vi snakket om BrushNet, et nytt plug and play-dual-branch-rammeverk som integrerer pikkelnivå-maskerte bilde-egenskaper i enhver forhånds trenet diffusjonsmodell, og garanterer kohensjon og forbedret resultat på bildeinpainting-oppgaver. BrushNet-rammeverket introduserer en ny paradigme hvor rammeverket deler bilde-egenskapene og støyende latente i separate grener. Delingen av bilde-egenskaper og støyende latente reduserer lasten for modellen dramatisk, og muliggjør en nyansert inkorporering av essensielle maskerte bildeinformasjon i en hierarkisk måte. I tillegg til BrushNet-rammeverket, vil vi også snakke om BrushBench og BrushData som muliggjør segmenteringsbasert ytelsesvurdering og bildeinpainting-trening henholdsvis.

En ingeniør av yrke, en forfatter av hjerte. Kunal er en teknisk forfatter med en dyp kjærlighet og forståelse av AI og ML, dedikert til å forenkle komplekse konsepter i disse feltene gjennom sin engasjerende og informerende dokumentasjon.