Kunstmatige intelligentie

In-Paint3D: Afbeeldinggeneratie met bliksemsnelheid minder diffusiemodellen

mm

De komst van diepe generatieve AI-modellen heeft de ontwikkeling van AI met opmerkelijke mogelijkheden in natuurlijke taalgeneratie, 3D-generatie, afbeeldinggeneratie en spraaksynthese aanzienlijk versneld. 3D-generatieve modellen hebben verschillende industrieën en toepassingen getransformeerd en hebben het huidige 3D-productielandschap gerevolutioneerd. Echter, veel huidige diepe generatieve modellen komen een gemeenschappelijk obstakel tegen: complexe bedrading en gegenereerde netwerken met lichttexturen zijn vaak onverenigbaar met traditionele renderpijplijnen zoals PBR (Fysiek Gebaseerde Rendering). Diffusiegebaseerde modellen, die 3D-middelen genereren zonder lichttexturen, bezitten opmerkelijke mogelijkheden voor diverse 3D-middelengeneratie, waardoor bestaande 3D-kaders in industrieën zoals filmmaken, gamen en augmented/virtuele realiteit worden uitgebreid.

In dit artikel zullen we Paint3D bespreken, een nieuw coarse-to-fine-kader dat in staat is om diverse, hoge resolutie 2K UV-textuurkaarten voor ongetextureerde 3D-netwerken te produceren, voorwaardelijk op visuele of tekstuele invoer. De belangrijkste uitdaging die Paint3D aanpakt, is het genereren van hoge kwaliteit textuur zonder verlichtingsinformatie in te bedden, waardoor gebruikers de textuur kunnen bewerken of opnieuw verlichten binnen moderne grafische pijplijnen. Om deze uitdaging aan te pakken, gebruikt het Paint3D-kader een vooraf getraind 2D-diffusiemodel om multi-view-textuurfusie uit te voeren en view-conditional afbeeldingen te genereren, waardoor aanvankelijk een grove textuurkaart wordt gegenereerd. Echter, aangezien 2D-modellen de lichteffecten niet volledig kunnen uitschakelen of 3D-vormen volledig kunnen weergeven, kan de textuurkaart verlichtingsartefacten en onvolledige gebieden vertonen.

In dit artikel zullen we het Paint3D-kader diepgaand onderzoeken, waarbij we zijn werking en architectuur onderzoeken en het vergelijken met state-of-the-art diepe generatieve kaders. Laten we dus beginnen.

Paint3D: Een Inleiding

Diepe generatieve AI-modellen hebben uitzonderlijke mogelijkheden getoond in natuurlijke taalgeneratie, 3D-generatie en afbeeldingsynthese, en zijn geïmplementeerd in echte toepassingen, waardoor de 3D-generatie-industrie wordt gerevolutioneerd. Echter, ondanks hun opmerkelijke mogelijkheden, produceren moderne diepe generatieve AI-kaders vaak netwerken met complexe bedrading en chaotische lichttexturen die onverenigbaar zijn met conventionele renderpijplijnen, waaronder Fysiek Gebaseerde Rendering (PBR). Evenzo is texturensynthese snel geavanceerd, vooral met het gebruik van 2D-diffusiemodellen. Deze modellen gebruiken effectief vooraf getrainde diepte-afbeeldingsdiffusiemodellen en tekstuele voorwaarden om hoge kwaliteit textuur te genereren. Echter, een significante uitdaging blijft: vooraf verlichte textuur kan de finale 3D-omgevingsweergaven nadelig beïnvloeden, waardoor verlichtingsfouten optreden wanneer de lichten binnen gemeenschappelijke workflows worden aangepast, zoals wordt aangetoond in de volgende afbeelding.

Zoals waargenomen, werken textuurkaarten zonder vooraf verlichting naadloos met traditionele renderpijplijnen, waardoor nauwkeurige resultaten worden geleverd. In tegenstelling tot textuurkaarten met vooraf verlichting, bevatten deze ongepaste schaduwen wanneer opnieuw verlichting wordt toegepast. Texturengeneratiekaders getraind op 3D-gegevens bieden een alternatieve benadering, waarbij textuur wordt gegenereerd door de gehele geometrie van een specifiek 3D-object te begrijpen. Hoewel deze kaders mogelijk betere resultaten kunnen leveren, ontbreken ze de generalisatiecapaciteiten die nodig zijn om het model toe te passen op 3D-objecten buiten hun trainingsgegevens.

Huidige texturengeneratiemodellen worden geconfronteerd met twee kritieke uitdagingen: het bereiken van brede generalisatie over verschillende objecten met behulp van afbeeldingsleiding of diverse prompts, en het elimineren van gekoppelde verlichting uit vooraf getrainde resultaten. Vooraf verlichte textuur kan de finale resultaten van getextureerde objecten binnen rendermotoren verstoren. Bovendien, aangezien vooraf getrainde 2D-diffusiemodellen alleen 2D-resultaten in het view-domein bieden, ontbreken ze een alomvattend begrip van vormen, waardoor inconsistenties optreden bij het behouden van view-consistentie voor 3D-objecten.

Om deze uitdagingen aan te pakken, ontwikkelt het Paint3D-kader een dual-stage texturendiffusiemodel voor 3D-objecten dat generaliseert over verschillende vooraf getrainde generatieve modellen en view-consistentie behoudt bij het genereren van verlichtingsvrije textuur.

Paint3D is een dual-stage, coarse-to-fine texturengeneratiemodel dat de sterke promptleiding en afbeeldingsgeneratiecapaciteiten van vooraf getrainde generatieve AI-modellen gebruikt om 3D-objecten te textureren. In de eerste fase, samplet Paint3D multi-view-afbeeldingen uit een vooraf getraind diepte-gevoelig 2D-afbeeldingsdiffusiemodel progressief, waardoor generalisatie van hoge kwaliteit, rijke textuurresultaten uit diverse prompts mogelijk wordt. Het model genereert vervolgens een initiële textuurkaart door deze afbeeldingen terug te projecteren op het 3D-netwerkoppervlak. In de tweede fase, richt het model zich op het genereren van verlichtingsvrije textuur door benaderingen te implementeren die worden gebruikt door diffusiemodellen die gespecialiseerd zijn in het verwijderen van lichtinvloeden en het verfijnen van vorm-gevoelige onvolledige gebieden. Gedurende het hele proces genereert het Paint3D-kader consistent hoge kwaliteit 2K-textuur semantisch, waardoor intrinsieke verlichtingseffecten worden geëlimineerd.

In samenvatting, Paint3D is een nieuw, coarse-to-fine generatief AI-model ontworpen om diverse, verlichtingsvrije, hoge resolutie 2K UV-textuurkaarten voor ongetextureerde 3D-netwerken te produceren. Het streeft ernaar om state-of-the-art-prestaties te bereiken in het textureren van 3D-objecten met verschillende voorwaardelijke invoer, waaronder tekst en afbeeldingen, waardoor significante voordelen worden geboden voor synthesetaken en grafische bewerkingstaken.

Methodologie en Architectuur

Het Paint3D-kader genereert en verfijnt textuurkaarten progressief om diverse en hoge kwaliteit textuur te produceren voor 3D-modellen met behulp van voorwaardelijke invoer zoals afbeeldingen en prompts, zoals wordt aangetoond in de volgende afbeelding.

Stap 1: Progressieve Grove Textuur Generatie

In de initiële grove textuur generatie fase, gebruikt Paint3D vooraf getrainde 2D-afbeeldingsdiffusiemodellen om multi-view-afbeeldingen te sampelen, die vervolgens terug worden geprojecteerd op het netwerkoppervlak om de initiële textuurkaarten te creëren. Deze fase begint met het genereren van een dieptekaart uit verschillende cameraweergaven. Het model gebruikt dieptevoorwaarden om afbeeldingen uit het diffusiemodel te sampelen, die vervolgens terug worden geprojecteerd op het 3D-netwerkoppervlak. Deze alternatieve weergave, sampling en terugprojectiebenadering verbetert de consistentie van textuur netwerken en helpt bij het progressief genereren van de textuurkaart.

Het proces begint met de zichtbare gebieden van het 3D-netwerk, waarbij het genereren van textuur van de eerste cameraweergave door het 3D-netwerk te renderen naar een dieptekaart. Een textuurafbeelding wordt vervolgens gesampeld op basis van uiterlijk en dieptevoorwaarden en terug geprojecteerd op het netwerk. Deze methode wordt herhaald voor opeenvolgende gezichtspunten, waarbij eerder gegenereerde textuur wordt geïntegreerd om niet alleen een dieptekaart te renderen, maar ook een gedeeltelijk gekleurde RGB-afbeelding met ongekleurde maskers. Het model gebruikt een diepte-gevoelige afbeeldingsinpainting-encoder om ongekleurde gebieden te vullen, waardoor een complete grove textuurkaart wordt gegenereerd door ingepainte afbeeldingen terug te projecteren op het 3D-netwerk.

Voor meer complexe scènes of objecten, gebruikt het model meerdere weergaven. Aanvankelijk worden twee dieptekaarten vastgelegd vanuit symmetrische gezichtspunten en samengevoegd tot een dieptegrid, dat een enkele dieptekaart vervangt voor multi-view diepte-gevoelige texturensampling.

Stap 2: Textuur Verfijning in UV-Ruimte

Ondanks het genereren van logische grove textuurkaarten, doen zich uitdagingen voor zoals textuur gaten vanuit renderprocessen en lichtschaduwen van 2D-afbeeldingsdiffusiemodellen. Om deze uitdagingen aan te pakken, voert Paint3D een diffusieproces uit in UV-ruimte op basis van de grove textuurkaart, waardoor de visuele aantrekkelijkheid wordt verbeterd en problemen worden opgelost.

Echter, het verfijnen van de textuurkaart in UV-ruimte kan discontinuïteiten introduceren vanwege de fragmentatie van continue textuur in afzonderlijke fragmenten. Om dit te mitigeren, verfijnt Paint3D de textuurkaart door de nabijheidsinformatie van textuurfragmenten te gebruiken. In UV-ruimte vertegenwoordigt de positiekaart de 3D-nabijheidsinformatie van textuurfragmenten, waarbij elk niet-achtergrondelement wordt behandeld als een 3D-puntcoördinaat. Het model gebruikt een extra positiekaart-encoder, vergelijkbaar met ControlNet, om deze nabijheidsinformatie te integreren tijdens het diffusieproces.

Het model gebruikt tegelijkertijd de positie van de conditionele encoder en andere encoders om verfijningstaken uit te voeren in UV-ruimte, waardoor twee capaciteiten worden geboden: UVHD (UV High Definition) en UV-inpainting. UVHD verbetert de visuele aantrekkelijkheid en esthetiek, door een afbeeldingsverbeteringsencoder en positieencoder met het diffusiemodel te gebruiken. UV-inpainting vult textuur gaten, waardoor zelf-occlusieproblemen vanuit rendering worden vermeden. De verfijningsfase begint met UV-inpainting, gevolgd door UVHD om een definitieve verfijnde textuurkaart te produceren.

Door deze verfijningsmethoden te integreren, genereert het Paint3D-kader complete, diverse, hoge resolutie en verlichtingsvrije UV-textuurkaarten, waardoor het een robuuste oplossing wordt voor het textureren van 3D-objecten.

Paint3D: Experimenten en Resultaten

Het Paint3D-model gebruikt het Stable Diffusion text2image-model om te helpen bij texturengeneratie taken, terwijl de afbeeldingsencodercomponent de afbeeldingsvoorwaarden beheert. Om de controle over conditionele taken zoals afbeeldingsinpainting, dieptehandling en high-definition-afbeeldingen te verbeteren, gebruikt het Paint3D-kader ControlNet-domeinencoders. Het model is geïmplementeerd op het PyTorch-kader, met rendering en texturenprojecties uitgevoerd op Kaolin.

Tekst naar Textuur Vergelijking

Om de prestaties van Paint3D te evalueren, beginnen we met het analyseren van zijn texturengeneratie wanneer het wordt voorwaardelijk gesteld met tekstuele prompts, waarbij we het vergelijken met state-of-the-art-kaders zoals Text2Tex, TEXTure en LatentPaint. Zoals wordt aangetoond in de volgende afbeelding, blinkt het Paint3D-kader niet alleen uit in het genereren van hoge kwaliteit textuur details, maar synthetiseert het ook effectief een verlichtingsvrije textuurkaart.

Door de robuuste capaciteiten van Stable Diffusion en ControlNet-encoders te benutten, biedt Paint3D superieure textuurkwaliteit en veelzijdigheid. De vergelijking benadrukt de capaciteit van Paint3D om gedetailleerde, hoge resolutie textuur te produceren zonder ingebedde verlichting, waardoor het een toonaangevende oplossing wordt voor 3D-textureertaken.

In vergelijking daarmee is het Latent-Paint-kader gevoelig voor het genereren van vage textuur die resulteert in suboptimale visuele effecten. Aan de andere kant genereert het TEXTure-kader duidelijke textuur, maar ontbreekt het aan gladheid en vertoont het opvallende splicing en naden. Ten slotte genereert het Text2Tex-kader gladde textuur opmerkelijk goed, maar faalt het om de prestaties te repliceren voor het genereren van fijne textuur met ingewikkelde details. De volgende afbeelding vergelijkt het Paint3D-kader kwantitatief met state-of-the-art-kaders.

Zoals te zien is, overtreft het Paint3D-kader alle bestaande modellen, en met een aanzienlijk verschil van bijna 30% verbetering in de FID-baseline en ongeveer 40% verbetering in de KID-baseline. De verbetering in de FID- en KID-baseline-scores demonstreren de capaciteit van Paint3D om hoge kwaliteit textuur te genereren over diverse objecten en categorieën.

Afbeelding naar Textuur Vergelijking

Om de generatieve capaciteiten van Paint3D te demonstreren met behulp van visuele prompts, gebruiken we het TEXTure-model als baseline. Zoals eerder vermeld, gebruikt het Paint3D-model een afbeeldingsencoder afkomstig van het text2image-model van Stable Diffusion. Zoals te zien is in de volgende afbeelding, synthetiseert het Paint3D-kader exquise textuur opmerkelijk goed en is het nog steeds in staat om hoge trouw te behouden ten opzichte van de afbeeldingsvoorwaarde.

Aan de andere kant is het TEXTure-kader in staat om een textuur te genereren die vergelijkbaar is met Paint3D, maar faalt het om de textuur details in de afbeeldingsvoorwaarde nauwkeurig weer te geven. Bovendien, zoals wordt aangetoond in de volgende afbeelding, levert het Paint3D-kader betere FID- en KID-baseline-scores wanneer het wordt vergeleken met het TEXTure-kader, waarbij de eerste afneemt van 40,83 naar 26,86, terwijl de laatste een daling vertoont van 9,76 naar 4,94.

Slotbeschouwing

In dit artikel hebben we het over Paint3D gehad, een coarse-to-fine-novel-kader dat in staat is om verlichtingsvrije, diverse en hoge resolutie 2K UV-textuurkaarten te produceren voor ongetextureerde 3D-netwerken, voorwaardelijk op visuele of tekstuele invoer. Het belangrijkste kenmerk van het Paint3D-kader is dat het in staat is om verlichtingsvrije hoge resolutie 2K UV-textuur te genereren die semantisch consistent is zonder te worden voorwaardelijk gesteld op afbeeldings- of tekstuele invoer. Door zijn coarse-to-fine-benadering produceert het Paint3D-kader verlichtingsvrije, diverse en hoge resolutie textuurkaarten en levert het betere prestaties dan de huidige state-of-the-art-kaders.

Een ingenieur van beroep, een schrijver van hart. Kunal is een technisch schrijver met een diepe liefde en begrip voor AI en ML, toegewijd aan het vereenvoudigen van complexe concepten in deze gebieden door middel van zijn boeiende en informatieve documentatie.