AI-modellen en platforms
BrushNet: Plug en speel afbeeldingsinpainting met dual-branch diffusie
Afbeeldingsinpainting is een van de klassieke problemen in computer vision, en het probeert de gemaskeerde gebieden in een afbeelding te herstellen met plausibele en natuurlijke inhoud. Bestaand werk dat traditionele afbeeldingsinpainting-technieken zoals Generative Adversarial Networks of GANS en Variational Auto-Encoders of VAEs gebruikt, vereist vaak hulpmiddelen met handmatig ontworpen functies, maar levert tegelijkertijd niet bevredigende resultaten. In de afgelopen jaren hebben diffusie-gebaseerde methoden populariteit gewonnen binnen de computer vision-gemeenschap vanwege hun opmerkelijke mogelijkheden om hoge kwaliteit afbeeldingen te genereren, output-diversiteit en fijne controle. De eerste pogingen om diffusie-modellen voor tekst-geleide afbeeldingsinpainting te gebruiken, hebben de standaard denoiseringsstrategie gewijzigd door de gemaskeerde gebieden te monsteren uit een vooraf getraind diffusie-model en de ongemaskeerde gebieden uit de gegeven afbeelding. Hoewel deze methoden bevredigende prestaties lieten zien bij eenvoudige afbeeldingsinpainting-taken, kampten ze met complexe maskervormen, tekstprompts en afbeeldingsinhoud, wat resulteerde in een algemeen gebrek aan coherentie. Het gebrek aan coherentie in deze methoden kan voornamelijk worden toegeschreven aan hun beperkte perceptuele kennis van maskergrenzen en ongemaskeerde afbeeldingscontext.
Ondanks de vooruitgang, onderzoek en ontwikkeling van deze modellen in de afgelopen jaren, is afbeeldingsinpainting nog steeds een grote hindernis voor computer vision-ontwikkelaars. Huidige aanpassingen van diffusie-modellen voor afbeeldingsinpainting-taken omvatten het wijzigen van de monsteringsstrategie of het ontwikkelen van specifieke diffusie-modellen voor afbeeldingsinpainting, maar deze benaderingen lijden vaak aan verminderde afbeeldingskwaliteit en inconsistentie in de semantiek. Om deze uitdagingen aan te pakken en de weg te banen voor afbeeldingsinpainting-modellen, zullen we in dit artikel praten over BrushNet, een nieuw, plug-and-play, dual-branch framework dat pixel-niveau gemaskeerde afbeeldingsfuncties inbedt in elk vooraf getraind diffusie-model, waardoor coherentie en verbeterde resultaten voor afbeeldingsinpainting-taken worden gegarandeerd. Het BrushNet-framework introduceert een nieuw paradigma waarbij het framework de afbeeldingsfuncties en lawaaierige latenten in afzonderlijke takken splitst. De splitsing van afbeeldingsfuncties en lawaaierige latenten vermindert de leerlast voor het model aanzienlijk en vergemakkelijkt een nuanceuze incorporatie van essentiële gemaskeerde afbeeldingsinformatie in een hiërarchische wijze. Naast het BrushNet-framework zullen we ook praten over BrushBench en BrushData, die segmentatie-gebaseerde prestatiebeoordeling en afbeeldingsinpainting-training faciliteren.

Dit artikel heeft als doel het BrushNet-framework in detail te behandelen en we onderzoeken de mechanisme, de methodologie, de architectuur van het framework en de vergelijking met state-of-the-art-frameworks. Laten we beginnen.
BrushNet: Afbeeldingsinpainting met dual-branch diffusie
Afbeeldingsinpainting, een methode die probeert de gemaskeerde gebieden van een afbeelding te herstellen terwijl de algehele coherentie behoudt, is een langdurig probleem in het computer vision-veld en heeft ontwikkelaars en onderzoekers al een aantal jaar beziggehouden. Afbeeldingsinpainting vindt toepassingen in een breed scala aan computer vision-taken, waaronder afbeeldingsbewerking en virtuele proefsessies. Onlangs hebben diffusie-modellen zoals Stable Diffusion en Stable Diffusion 1.5 een opmerkelijke mogelijkheid getoond om hoge kwaliteit afbeeldingen te genereren en bieden gebruikers de flexibiliteit om de semantische en structurele controle te regelen. De opmerkelijke potentie van diffusie-modellen is wat onderzoekers ertoe heeft gebracht om diffusie-modellen te gebruiken voor hoge kwaliteit afbeeldingsinpainting-taken die overeenkomen met de invoer-tekstprompts.
De methoden die worden gebruikt door traditionele diffusie-gebaseerde tekst-geleide inpainting-frameworks kunnen worden onderverdeeld in twee categorieën, monsteringsstrategie-wijziging en specifieke inpainting-modellen. De monsteringsstrategie-wijzigingsmethode wijzigt de standaard denoiseringsprocedure door de gemaskeerde gebieden te monsteren uit een vooraf getraind diffusie-model en de ongemaskeerde gebieden te kopiëren uit de gegeven afbeelding in elke denoiseringsstap. Hoewel monsteringsstrategie-wijzigingsbenaderingen in willekeurige diffusie-modellen kunnen worden geïmplementeerd, resulteren ze vaak in incoherente inpainting-resultaten omdat ze een beperkte perceptuele kennis van maskergrenzen en ongemaskeerde afbeeldingscontext hebben. Aan de andere kant fine-tunen specifieke inpainting-modellen een afbeeldingsinpainting-model dat specifiek is ontworpen door de dimensies van het invoer-kanaal van het basis-diffusie-model uit te breiden om de beschadigde afbeelding en maskers te incorporeren. Hoewel specifieke inpainting-modellen de diffusie-model in staat stellen om meer bevredigende resultaten te genereren met gespecialiseerde vorm- en inhoudsmodellen, kan het niet de beste architectonische ontwerp voor afbeeldingsinpainting-modellen zijn.
Zoals wordt aangetoond in de volgende afbeelding, fuseren specifieke inpainting-modellen de gemaskeerde afbeeldingslatent, lawaaierige latent, tekst en masker op een vroeg stadium. De architectonische ontwerp van dergelijke specifieke inpainting-modellen beïnvloedt gemakkelijk de gemaskeerde afbeeldingsfuncties en voorkomt dat de latere lagen in de UNet-architectuur zuivere gemaskeerde afbeeldingsfuncties verkrijgen vanwege de tekstinvloed. Bovendien legt het genereren en conditioneren in één tak een extra belasting op de UNet-architectuur, en omdat deze benaderingen ook fine-tuning in verschillende varianten van het diffusie-backbone vereisen, zijn ze vaak tijdrovend met beperkte overdraagbaarheid.

Het kan lijken alsof het toevoegen van een extra tak om gemaskeerde afbeeldingsfuncties te extraheren een adequate oplossing voor de bovengenoemde problemen zou zijn, maar bestaande frameworks resulteren vaak in het extraheren en invoegen van onvoldoende informatie wanneer rechtstreeks op inpainting wordt toegepast. Als gevolg hiervan resulteren bestaande frameworks zoals ControlNet in onbevredigende resultaten in vergelijking met specifieke inpainting-modellen. Om dit probleem op de meest effectieve manier aan te pakken, introduceert het BrushNet-framework een extra tak in het oorspronkelijke diffusie-netwerk en creëert zo een meer geschikte architectuur voor afbeeldingsinpainting-taken. De ontwerp en architectuur van het BrushNet-framework kunnen worden samengevat in drie punten.
- In plaats van convolutionele lagen willekeurig te initialiseren, implementeert het BrushNet-framework een VAE-encoder om de gemaskeerde afbeelding te verwerken. Als gevolg hiervan kan het BrushNet-framework de afbeeldingsfuncties voor adaptatie aan de UNet-verdeling effectiever extraheren.
- Het BrushNet-framework incorporeert de volledige UNet-functie laag voor laag in de vooraf getrainde UNet-architectuur, een hiërarchische benadering die dichte per-pixel controle mogelijk maakt.
- Het BrushNet-framework verwijdert tekst-cross-attention van de UNet-component om ervoor te zorgen dat alleen zuivere afbeeldingsinformatie in de extra tak wordt overwogen. Bovendien stelt het BrushNet-model voor om een verwazingsstrategie te implementeren om betere consistentie te bereiken, evenals een hoger bereik van controle in ongemaskeerde gebieden van de afbeelding.
BrushNet: Methode en architectuur
De volgende afbeelding geeft ons een korte overzicht van het BrushNet-framework.

Zoals te zien is, gebruikt het framework een dual-branch-strategie voor gemaskeerde afbeeldingsrichtlijnen en gebruikt het mengoperaties met een verwazingsmasker om een betere bewaring van ongemaskeerde gebieden te garanderen. Het is de moeite waard om op te merken dat het BrushNet-framework in staat is om de toegevoegde schaal aan te passen om flexibele controle te bereiken. Voor een gegeven gemaskeerde afbeeldingsinvoer en het masker, produceert het BrushNet-model een ingeschilderde afbeelding. Het model downsamplit eerst het masker om de grootte van de latent aan te passen, en de gemaskeerde afbeelding wordt als invoer voor de VAE-encoder gebruikt om de verdeling van de latent-ruimte aan te passen. Het model concateneert vervolgens de gemaskeerde afbeeldingslatent, de lawaaierige latent en het gedownsampelde masker, en gebruikt dit als invoer. De functies die het model extrahiert, worden vervolgens toegevoegd aan de vooraf getrainde UNet-laag na een zero-convolutieblok. Na denoiseren, mengt het model de gemaskeerde afbeelding en de gegenereerde afbeelding met een verwazingsmasker.
Gemaskeerde afbeeldingsrichtlijnen
Het BrushNet-framework voegt de gemaskeerde afbeeldingsfunctie in het vooraf getrainde diffusie-netwerk in met een extra tak, die de functie-extractie van gemaskeerde afbeeldingen expliciet scheidt van het proces van afbeeldingsgeneratie. De invoer wordt gevormd door de gemaskeerde afbeeldingslatent, lawaaierige latent en het gedownsampelde masker te concateneren. Om specifieker te zijn, biedt de lawaaierige latent informatie voor afbeeldingsgeneratie tijdens het huidige generatieproces en helpt het framework de semantische coherentie van de gemaskeerde afbeeldingsfunctie te verbeteren. Het BrushNet-framework extrahiert vervolgens de gemaskeerde afbeeldingslatent uit de gemaskeerde afbeelding met behulp van een Variational AutoEncoder. Bovendien gebruikt het framework cubische interpolatie om het masker te downsamplen in een poging om ervoor te zorgen dat de maskergrootte overeenkomt met de gemaskeerde afbeeldingslatent en de lawaaierige latent. Om de gemaskeerde afbeeldingsfuncties te verwerken, implementeert het BrushNet-framework een kopie van het vooraf getrainde diffusie-model en sluit het de cross-attention-lagen van het diffusie-model uit. De reden is dat de vooraf getrainde gewichten van het diffusie-model dienen als een sterke prior voor het extraheren van de functies van de gemaskeerde afbeelding, en het uitsluiten van de cross-attention-lagen garandeert dat het model alleen zuivere afbeeldingsinformatie in de extra tak overweegt. Het BrushNet-framework voegt de functies in de bevroren diffusie-model-laag in laag voor laag in, waardoor hiërarchische dichte per-pixel controle mogelijk wordt, en gebruikt ook zero-convolutie-lagen om een verbinding tot stand te brengen tussen het trainbare BrushNet-model en het vergrendelde model, waardoor schadelijke ruis geen invloed heeft op de verborgen toestanden in de trainbare kopie tijdens de initiële trainingsfasen.
Mengoperatie
Zoals eerder vermeld, resulteert het uitvoeren van de mengoperatie in de latent-ruimte in het resizen van maskers, wat vaak tot verschillende onnauwkeurigheden leidt, en het BrushNet-framework ondervindt een soortgelijk probleem wanneer het masker wordt geresized om de grootte van de latent-ruimte aan te passen. Bovendien is het de moeite waard om op te merken dat de coderings- en decoderingsoperaties in Variational AutoEncoders inherente beperkingen hebben en niet noodzakelijkerwijs een complete afbeeldingsreconstructie garanderen. Om ervoor te zorgen dat het framework een volledig consistente afbeelding van het ongemaskeerde gebied reconstrueert, hebben bestaande werken verschillende technieken geïmplementeerd, zoals het kopiëren van de ongemaskeerde gebieden uit de oorspronkelijke afbeelding. Hoewel deze benadering werkt, resulteert het vaak in een gebrek aan semantische coherentie in de generatie van de eindresultaten. Aan de andere kant hebben methoden zoals het adopteren van latent-mengoperaties moeite om de gewenste informatie in de ongemaskeerde gebieden te behouden.
Flexibele controle
De architectonische ontwerp van het BrushNet-framework maakt het een geschikte keuze voor plug-and-play-integraties inherent aan verschillende vooraf getrainde diffusie-modellen en maakt flexibele bewaringsschaal mogelijk. Aangezien het BrushNet-framework de gewichten van het vooraf getrainde diffusie-model niet wijzigt, hebben ontwikkelaars de flexibiliteit om het te integreren als een plug-and-play-component met een gefine-tune diffusie-model, waardoor gemakkelijke adoptie en experimenten met vooraf getrainde modellen mogelijk worden. Bovendien hebben ontwikkelaars ook de optie om de bewaringsschaal van de ongemaskeerde gebieden te controleren door de functies van het BrushNet-model in het bevroren diffusie-model te incorporeren met de gegeven gewicht w, die de invloed van het BrushNet-framework op de bewaringsschaal bepaalt, waardoor ontwikkelaars de mogelijkheid hebben om de gewenste niveaus van bewaring aan te passen. Ten slotte maakt het BrushNet-framework het gebruikers mogelijk om de verwazingschaal aan te passen en te beslissen of de verwazingsoperatie al dan niet moet worden geïmplementeerd, waardoor gemakkelijke aanpassingen en fijne controle over het afbeeldingsinpainting-proces mogelijk worden.
BrushNet: Implementatie en resultaten
Om de resultaten te analyseren, stelt het BrushNet-framework BrushBench voor, een segmentatie-gebaseerde afbeeldingsinpainting-dataset met meer dan 600 afbeeldingen, waarbij elke afbeelding wordt geleverd met een door de mens geannoteerd masker en bijschriftannotatie. De afbeeldingen in de benchmark-dataset zijn gelijkmatig verdeeld tussen natuurlijke en kunstmatige afbeeldingen en zorgen ook voor een gelijkmatige verdeling tussen verschillende categorieën, waardoor een eerlijke evaluatie over verschillende categorieën mogelijk wordt. Om de analyse van de inpainting-taken nog verder te verbeteren, categoriseert het BrushNet-framework de dataset in twee afzonderlijke delen op basis van de methoden die worden gebruikt: segmentatie-gebaseerd en borstelmaskers.
Kwantitatieve vergelijking
De volgende tabel vergelijkt het BrushNet-framework met bestaande diffusie-gebaseerde afbeeldingsinpainting-modellen op de BrushBench-dataset met Stable Diffusion als basis-model.

Zoals te zien is, toont het BrushNet-framework opmerkelijke efficiëntie bij het behoud van gemaskeerde gebieden, tekstuitlijning en afbeeldingskwaliteit. Bovendien laten modellen zoals Stable Diffusion Inpainting, HD-Painter, PowerPaint en anderen een sterke prestatie zien bij afbeeldingsinpainting-taken binnen, maar falen ze bij het repliceren van hun prestaties bij afbeeldingsinpainting-taken buiten, vooral bij tekstuitlijning en afbeeldingskwaliteit. Over het algemeen levert het BrushNet-framework de sterkste resultaten.
Bovendien vergelijkt de volgende tabel het BrushNet-framework met bestaande diffusie-gebaseerde afbeeldingsinpainting-modellen op de EditBench-dataset, en de prestaties zijn vergelijkbaar met die op de BrushBench-dataset. De resultaten geven aan dat het BrushNet-framework een sterke prestatie levert bij een breed scala aan afbeeldingsinpainting-taken met verschillende maskertypen.

Kwalitatieve vergelijking
De volgende afbeelding vergelijkt het BrushNet-framework kwalitatief met bestaande afbeeldingsinpainting-methoden, met resultaten die kunstmatige intelligentie en natuurlijke afbeeldingen omvatten over verschillende inpainting-taken, waaronder willekeurige masker-inpainting, segmentatie-masker binnen-inpainting en segmentatie-masker buiten-inpainting.

Zoals te zien is, levert het BrushNet-framework opmerkelijke resultaten in de coherentie van het ongemaskeerde gebied en de coherente gebieden en realiseert het met succes de bewustzijn van de achtergrondinformatie vanwege de implementatie van de dual-branch-decoupling-benadering. Bovendien biedt de ongemengde tak van het vooraf getrainde diffusie-model ook het voordeel van het beter dekken van verschillende gegevensdomeinen, zoals anime en schilderijen, waardoor een betere prestatie over verschillende scenario’s mogelijk wordt.

Slotgedachten
In dit artikel hebben we gesproken over BrushNet, een nieuw, plug-and-play, dual-branch framework dat pixel-niveau gemaskeerde afbeeldingsfuncties inbedt in elk vooraf getraind diffusie-model, waardoor coherentie en verbeterde resultaten voor afbeeldingsinpainting-taken worden gegarandeerd. Het BrushNet-framework introduceert een nieuw paradigma waarbij het framework de afbeeldingsfuncties en lawaaierige latenten in afzonderlijke takken splitst. De splitsing van afbeeldingsfuncties en lawaaierige latenten vermindert de leerlast voor het model aanzienlijk en vergemakkelijkt een nuanceuze incorporatie van essentiële gemaskeerde afbeeldingsinformatie in een hiërarchische wijze. Naast het BrushNet-framework zullen we ook praten over BrushBench en BrushData, die segmentatie-gebaseerde prestatiebeoordeling en afbeeldingsinpainting-training faciliteren.












