Gesponserte Inhalte

Offener USDOffener USD
Bild von Nvidia

Als Datenwissenschaftler sind wir ständig auf der Suche nach Instruments und Frameworks, mit denen wir Daten effizient verarbeiten und analysieren können. In diesem Blogbeitrag erkunden wir OpenUSD, ein leistungsstarkes Framework, das über seine traditionelle Verwendung in der Computergrafik hinausgeht und spannende Möglichkeiten für Knowledge-Science-Pipelines bietet.

OpenUSD oder Common Scene Descriptionbietet eine vielseitige und erweiterbare Plattform zur Verwaltung und Verarbeitung komplexer Datenmodelle. Es kann eine breite Palette von Datentypen darstellen und Datensätze in verschiedenen Bereichen verbessern.

Lassen Sie uns einen Blick darauf werfen, was Datenwissenschaftler über OpenUSD wissen sollten und wie es ihre Arbeitsabläufe verbessern kann.

Gemeinsame Datenmodellierung

OpenUSD führt ein einheitliches Datenmodell ein, mit dem Datenwissenschaftler komplexe 3D-Datenstrukturen effizient darstellen und bearbeiten können. Mit USD können Objektdaten in hierarchischen Szenendiagrammen organisiert werden. Diese hierarchische Struktur ist besonders nützlich, wenn es um große Datensätze oder komplexe Datenabhängigkeiten geht.

Der Einstieg in das OpenUSD-Ökosystem ermöglicht zudem die einfache gemeinsame Nutzung und Wiederverwendung von Daten. Datenquellen in OpenUSD können einfacher in eine aggregierte Ansicht integriert werden, die Inhalte aus anderen Dateiformaten umfassen kann.

Dateiformat-Plugins

USD-Dateiformat-Plugins bieten eine Möglichkeit, die Leistung von OpenUSD zu nutzen und gleichzeitig Ihre vorhandenen Datensätze in ihren aktuellen Formaten beizubehalten. Dateiformat-Plugins können ein Dateiformat im Handumdrehen lesen und in OpenUSD-Daten übersetzen.

Beispiel: In der 3D-Datenwissenschaft sind Wavefront-OBJ-Dateien für 3D-Netzdaten beliebt, und es gibt große Datensätze, die dieses Format verwenden. Mit einem OBJ-Dateiformat-Plugin wie das kürzlich von Adobe als Open Supply freigegebene Pluginkönnen Sie vorhandene OBJ-Daten referenzieren und diese in OpenUSD zusammenstellen, um Attribute hinzuzufügen oder zu überschreiben oder sie für die Szenenzusammenstellung zu verwenden. Die folgenden Küche.usd zeigt ein Beispiel für die Zusammenstellung einer Küchenszene mit OBJ-Modellen für eine Teekanne und einen Tisch. Die Place der Teekanne in der Szene wird überschrieben, um sie zu drehen und über den Tisch zu bewegen.


kitchen.usd


#usda 1.0
(
    defaultPrim = "World"
    metersPerUnit = 1.0
    upAxis = "Z"
)

def Xform "World"
{
    def "teapot" (prepend references = @utah_teapot.obj@)
    {
        float3 xformOp:rotateXYZ = (0, 0, 0)
        float3 xformOp:scale = (1, 1, 1)
        double3 xformOp:translate = (0, 0, 0)
        uniform token() xformOpOrder = ("xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale")
    }
}

Dies gilt auch für Nicht-3D-Daten.

Zusammensetzbarkeit

OpenUSD ist eine hervorragende zusammensetzbare Szenenbeschreibung. Diese kann auf zwei Arten erstellt werden: Szenenaggregation und progressive Verfeinerung. Bei der Szenenaggregation werden viele 3D-Belongings aus verschiedenen Quellen referenziert und zerstörungsfrei zu einer größeren Szene zusammengesetzt. Sie können Änderungen an den referenzierten 3D-Belongings vornehmen und die Zusammenstellungen übernehmen die Änderung ebenfalls. Die progressive Verfeinerung ermöglicht es Ihnen, mit einem groben, wenig detaillierten Asset zu beginnen und schrittweise zusätzliche Ebenen hinzuzufügen, die dem Asset zerstörungsfrei Particulars hinzufügen, um es weiter von grob zu fein zu verfeinern.

Nvidia OpenUSDNvidia OpenUSD

Wenn Sie sich das Beispiel des OBJ-Netzes von vorhin noch einmal ansehen, können Sie nur mit den Netzdaten des OBJ beginnen und OpenUSD verwenden, um physikalische Materialeigenschaften, semantische Bezeichnungen und andere Nebenaspekte wie die georäumliche Zuordnung hinzuzufügen. In diesem Beispiel wird die Verfeinerung mithilfe von Unterebenen für die verschiedenen Arten von Particulars zusammengestellt, die ich meinem Asset hinzufügen möchte.


teapot.usd


#usda 1.0
(
    defaultPrim = "World"
    metersPerUnit = 1.0
    upAxis = "Z"
    subLayers = (
        @./semantic_labels.usd@
        @./supplies.usd@
        @./utah_teapot.obj@
    )
)

def Xform "World"
{
}

Wenn Sie Ihre Datensätze auf diese Weise erstellen, sind sie äußerst portabel und modular. Außerdem können Sie dadurch die Genauigkeit und Qualität von Datenquellen verbessern.

Ich kann das Mesh mit allen Attributen teilen oder die Ebenen, die für verschiedene Pipelines nicht related sind, stummschalten oder entfernen. Die SimReady-Spezifikation und Datensatz ist ein Beispiel für die heutige Praxis dieser Grundsätze.

Nvidia OpenUSDNvidia OpenUSD

Benutzerdefiniertes Pipelining

Das Hydra-Framework von OpenUSD bietet Datenwissenschaftlern die Möglichkeit, benutzerdefinierte Pipelines zur Verarbeitung und Analyse von Daten. Hydra ermöglicht die Implementierung von Geschäftslogik als anpassbare Kette von Laufzeit-Szenenindizes. Diese Entkopplung der Datenverarbeitung von bestimmten Laufzeitumgebungen ermöglicht es Datenwissenschaftlern, die Leistungsfähigkeit von USD in ihren eigenen Datenwissenschafts-Workflows zu nutzen.

Erweiterbarkeit

Eine der wichtigsten Stärken von OpenUSD ist seine Erweiterbarkeit. Datenwissenschaftler können die Fähigkeiten von OpenUSD erweitern, indem sie ihre eigenen Szenen- und Render-Delegierten erstellen. Dies bedeutet, dass jeder Szenengraph verwendet werden kann, der in der Lage ist, von Szenen-Delegierten bediente Abfragen zu beantworten, was Flexibilität bei der Integration verschiedener Datenquellen und -formate bietet.

OpenUSD ist auch erweiterbar durch benutzerdefinierte Schemata. Wenn Datenwissenschaftler beginnen, Konzepte aus ihren Datenmodellen auf OpenUSD abzubilden, stellen sie möglicherweise fest, dass nicht jedes Konzept direkt abgebildet werden kann und eine Übertragung auf ein vorhandenes Konzept in OpenUSD möglicherweise nicht geeignet ist. Wenn Datenwissenschaftler eine konzeptionelle Lücke in der Datenabbildung feststellen, können sie das neue Konzept in einem neuen Schema formalisieren, das sofort genutzt werden kann.

Wenn das Schema ausgereift ist, werden Datenwissenschaftler ermutigt, ihre Schemata mit anderen Organisationen und Institutionen zu teilen und das Schema durch die gesamte Schema-Reise zu führen, damit es überprüft, veröffentlicht und standardisiert werden kann. Ein gutes Beispiel hierfür ist das Vorschlag für ein semantisches Schema von NVIDIA, um die semantische Beschriftung von 3D-Belongings für die Generierung synthetischer Daten zu standardisieren.

Nvidia OpenUSDNvidia OpenUSD

Prozedurale Verarbeitung mit Hydra 2.0

Hydra 2.0 bringt die Fähigkeiten von OpenUSD auf die nächste Ebene, indem es die prozedurale Verarbeitung von Szenenindizes einführt. Dies ermöglicht es Datenwissenschaftlern, Ketten von Szenenindizes durch mehrere Pipeline-Schritte zu verarbeiten, was komplexere und anpassbarere Arbeitsabläufe ermöglicht. Mit Hydra 2.0 können Datenwissenschaftler ihre Pipelines iterieren und optimieren, was das Experimentieren mit verschiedenen Datenverarbeitungstechniken erleichtert. Szenenindex-Plugins sind außerdem portierbar, sodass Sie ihre modulare Geschäftslogik zwischen OpenUSD-Anwendungen teilen können.

OpenUSD bietet Datenwissenschaftlern ein leistungsstarkes und vielseitiges Framework zur Verwaltung und Verarbeitung komplexer Datenmodelle. Sein einheitliches Datenmodell, seine Erweiterbarkeit und Allgemeingültigkeit machen es zu einem unschätzbar wertvollen Framework für Arbeitsabläufe und Pipelines in der Datenwissenschaft. Mit Erweiterbarkeit sowohl in der allgemeinen Datenmodellierung über Schema-Plugins als auch in Laufzeitkerneln in Hydra 2.0 ermöglicht OpenUSD Datenwissenschaftlern die effiziente Verarbeitung und Analyse großer Datensätze und ermöglicht so schnellere und skalierbarere Berechnungen. Für Datenwissenschaftler ist es wichtig, Instruments wie OpenUSD zu erkunden und zu nutzen, um das volle Potenzial unserer datengesteuerten Bemühungen auszuschöpfen.

Eine wachsende Anzahl von Instruments und Anwendungen unterstützen bereits den Import und Export von OpenUSD. Entwickler können lernen, wie sie OpenUSD-Unterstützung zu ihren Anwendungen hinzufügen können in NVIDIAs OpenUSD-Dokumentationdas erste Schritte, angeleitetes Lernen und technische Referenzen für den Einstieg umfasst.

Um auf weitere Ressourcen zuzugreifen und mit OpenUSD zu beginnen, besuchen Sie NVIDIAs Universelle Szenenbeschreibung Seite. Beginnen Sie mit NVIDIA Omniverse, indem Sie Kostenloses Herunterladen der Standardlizenz.

Die Alliance for OpenUSD (AOUSD) ist eine offene, gemeinnützige Organisation, die sich der Förderung der Interoperabilität von 3D-Inhalten durch OpenUSD widmet.

Erfahren Sie mehr und werden Sie Mitglied heute.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert