Facebook maakt PyTorch 3d open source

Abonneer je gratis op Techzine!

De onderzoeksdivisie van Facebook heeft de code voor PyTorch3D open source gemaakt. PyTorch 3d is een toolkit die bedoeld is voor het verbeteren van de ontwikkeling van artificial intelligence (AI)-modellen die in een driedimensionale omgeving kunnen werken.

Het vermogen van AI-modellen om 3D-ruimtes te begrijpen is essentieel voor bepaalde toepassingen op verschillende gebieden. De meest voor de hand liggende velden zijn robotica, maar ook virtual en augmented reality. Bovendien kan ook een traditioneel beeldherkenningsmodel, dat normaliter alleen tweedimensionale foto’s van objecten analyseert, baat hebben bij kennis van de daadwerkelijke, driedimensionale vorm van een object. De extra context kan namelijk de nauwkeurigheid van zo’n model helpen verbeteren.

Facebook stelt dat de ontwikkeling van dit soort 3d-herkennende modellen relatief langzaam is geweest door een gebrek aan toepasselijke en doelgerichte ontwikkelingstools. Met het vrijgeven van PyTorch3D probeert het sociale netwerk dit gebrek op te vangen, en daarmee de leercurve voor de implementatie van dit type modellen in toepassingen minder steil te maken.

Functionaliteit

De eerste component van PyTorch3D is een datastructuur genaamd Meshes. Digitale 3D-modellen zijn opgebouwd uit zogenaamde ‘meshes’, polygonen die in veel verschillende varianten voorkomen, en daardoor soms moeilijk te bewerken kunnen zijn. De Meshes-structuur biedt een uniform formaat voor het organiseren van dat soort vormen, wat het volgens Facebook voor AI-ontwikkelaars makkelijker maakt om met hun data te werken.

Verder kunnen ontwikkelaars ook AI-modellen bouwen om hun 3D-modellen te verwerken, door gebruik te maken van een aantal loss functions en operators die standaard deel zijn van PyTorch 3d. Met loss functions kunnen fouten in de training van een AI-model herkend worden, waardoor de training sneller de goede kant op gaat. Operators zijn shortcuts in code die complexe taken uitvoert (dus bijvoorbeeld berekeningen voor 3D-modellen).

Ook is er een functie in PyTorch3D met een rendering-engine, die 3D-data omzet in 2D-afbeeldingen. Die kunnen vervolgens door ontwikkelaars worden bekeken of door applicaties worden verwerkt. De engine kan ook licht- en schaduweffecten toevoegen. Bovendien heeft de engine een API die het mogelijk maakt om projecten te exporteren naar veelgebruikte deep learning-frameworks zoals PyTorch, waar de 3D-versie naar is vernoemd.