Erstellen Sie schnell 3D-Modelle basierend auf der Technologie der künstlichen Intelligenz

PHPz
Freigeben: 2023-04-08 23:11:02
nach vorne
1516 Leute haben es durchsucht

Übersetzer |. Zhu Xianzhong

Rezensent |. Eine Möglichkeit, dieses Problem zu lösen, ist die Verwendung neuronaler Strahlungsfelder (NeRF), einer Methode der künstlichen Intelligenz zur Bilderzeugung. Die Hauptidee von NERF besteht darin, einen kleinen Satz 2D-Bilder des fotografierten Objekts oder der Szene aufzunehmen und diese 2D-Bilder dann zu verwenden, um effizient eine 3D-Darstellung zu erstellen. Dies wird erreicht, indem man lernt, zwischen vorhandenen Bildern zu transformieren. Jetzt kann Ihnen diese Sprungtechnik (auch „Interpolation“ genannt) dabei helfen, Bilder aus neuen Perspektiven auf Objekte zu erstellen!

Klingt gut, oder? Mit Hilfe einer kleinen Reihe von Bildern können Sie ein 3D-Modell erstellen! Dies funktioniert besser als die Standard-Photogrammetrie, die eine riesige Bildbibliothek erfordert, um einige Bilder zu erstellen (Sie benötigen Aufnahmen aus jedem Winkel). Allerdings versprach NVIDIA zunächst, dass NeRFs schnell sein würden; bis vor kurzem war dies jedoch nicht der Fall. Bisher dauerte es bei NeRFs meist lange, bis sie lernten, wie man eine Reihe von Bildern in ein 3D-Modell umwandelt. Erstellen Sie schnell 3D-Modelle basierend auf der Technologie der künstlichen Intelligenz

Aber heutzutage ist das nicht mehr der Fall. Kürzlich hat NVIDIA eine sofortige NeRF-Software entwickelt, die GPU-Hardware nutzt, um die erforderlichen komplexen Berechnungen durchzuführen. Dieser Ansatz reduziert den Zeitaufwand für die Erstellung eines Modells von Tagen auf Sekunden! NVIDIA macht viele spannende Behauptungen über die Benutzerfreundlichkeit und Geschwindigkeit von Instant-NGP-Software. Auch die Ergebnisse und Beispiele, die sie lieferten, waren beeindruckend:

Abbildung 2: NeRF-Bilddemonstration – NVIDIA hat ein cooles Robotiklabor

Es fällt mir schwer, von dieser Demo nicht beeindruckt zu sein – sie sieht großartig aus! Deshalb wollte ich sehen, wie einfach es wäre, dies auf meine eigenen Bilder zu übertragen und mein eigenes NeRF-Modell zu generieren. Deshalb habe ich beschlossen, diese Software selbst zu installieren und zu verwenden. In diesem Artikel werde ich meine Erfahrungen mit dem Experiment beschreiben und das von mir erstellte Modell detailliert beschreiben!

HauptaufgabenaufteilungErstellen Sie schnell 3D-Modelle basierend auf der Technologie der künstlichen Intelligenz

Was sollen wir also tun? Die grob gestaffelten Aufgaben teilen sich wie folgt auf:

Zunächst müssen wir einiges Filmmaterial zitieren. Lass uns ein paar Videos aufnehmen, die wir in 3D machen wollen!

Dann beginnen wir mit der Aufnahme der Szene und wandeln das aufgenommene Video in mehrere Standbilder um.

Wir übergeben die oben erhaltenen kontinuierlichen Bilddaten an Instant-NGP. Anschließend wird die KI darauf trainiert, die Abstände zwischen den von uns generierten Bildern zu verstehen. Dies ist eigentlich dasselbe wie die Erstellung eines 3D-Modells.

    Schließlich wollten wir ein Video erstellen, das unsere Kreation zeigt! In der von NVIDIA entwickelten Software zeichnen wir einen Pfad, lassen uns von der Kamera durch das von uns erstellte Modell führen und rendern dann das Video.
  • Ich werde nicht im Detail darauf eingehen, wie das alles funktioniert, aber ich werde Links zu vielen Ressourcen bereitstellen, die ich hilfreich gefunden habe. Als nächstes werde ich mich auf die Videos konzentrieren, die ich gemacht habe, und auf einige Wissensschnipsel, auf die ich unterwegs gestoßen bin.
  • Starten Sie mein Experiment
  • NVIDIAs Instant-NeRF-Software ist nicht einfach zu installieren. Obwohl die Anweisungen für die Software klar sind, habe ich das Gefühl, dass der erforderliche Teil der Anweisungen nicht viel Spielraum bietet, wenn es um die spezifische Version der Software geht, die eine Person benötigt. Es schien mir unmöglich, CUDA 11.7 oder VS2022 zu verwenden, aber ich denke, dass es der Wechsel zurück zur CUDA 11.6-Version und VS2019 war, der die Installation schließlich erfolgreich machte. Darunter sind viele Fehler aufgetreten, z. B. „CUDA_ARCHITECTURES ist für das Ziel leer“ usw. Dies liegt daran, dass die Zusammenarbeit zwischen CUDA und Visual Studio nicht freundlich ist. Daher empfehle ich interessierten Lesern dringend, sich das ​
  • ​Video​
​ und die ​

​Warehouse-Ressourcen​

​ auf Github anzusehen, um Ihnen bei der reibungslosen Einrichtung zu helfen!

Ansonsten läuft der Prozess reibungslos. Der Beamte stellt außerdem ein Python-Skript zur Verfügung, das die Schritte zur Konvertierung des aufgenommenen Videos in ein Bild und die anschließende Konvertierung in ein Modell und Video unterstützt.

Experiment 1: LEGO-AutoZuerst habe ich versucht, ein kleines LEGO-Auto in meinem Büro zu NeRFieren. Ich hatte das Gefühl, dass meine fotografischen Fähigkeiten bei weitem nicht ausreichten, da ich einfach keine aussagekräftigen Bilder erstellen konnte. Nur ein seltsamer 3D-Fehler. Vergessen Sie es, werfen wir einen Blick auf ein Beispiel, das uns NVIDIA zur Verfügung gestellt hat. Bitte beachten Sie die Position der Kamera im Bild:

Abbildung 3: Die „Kamera“-Position des von NVIDIA bereitgestellten Standard-NeRF-Modells des Baggers

Eine der Vorbereitungseinstellungen, die sich gut für das Training eignet, besteht darin, eine „Kamera“ in der Szene zu platzieren, wie im Bild oben beschrieben. Bei diesen Kameras handelt es sich um die Winkel, aus denen die Software denkt, dass Sie beim Aufnehmen von Videos auf Sie blicken. Es sollte ein schöner Kreis sein. Mein erstes Lego-Auto sah natürlich überhaupt nicht so aus, sondern wie ein gequetschter Halbkreis.

Versuch 2: Ein etwas größeres Lego-Auto

Um aus dem ersten Versuch zu lernen, habe ich einen Tisch gefunden, der vollständig begehbar war, und ein größeres Lego-Auto gefunden. Ich versuche sicherzustellen, dass ich Fotos auch über einen längeren Zeitraum als bisher aufnehme. Schließlich habe ich aus allen Blickwinkeln ein flüssiges, einminütiges Video gedreht. Insgesamt habe ich weniger als 30 Sekunden gebraucht, um das Modell zu trainieren. Nach 4 Stunden Rendern mit 720p ist hier das Video, das ich gemacht habe:

Erstellen Sie schnell 3D-Modelle basierend auf der Technologie der künstlichen Intelligenz

Abbildung 4: Mein zweites NeRF-Modell – ein LEGO Technic-Auto!

Experiment 3: Pflanzen

Die Ergebnisse beweisen, dass das obige Experiment 2 besser, zumindest technisch machbar ist. Allerdings gibt es immer noch einen seltsamen Nebel, der sicherlich nicht besonders störend ist. In meinem nächsten Experiment habe ich auch versucht, von weiter hinten zu schießen (ich gehe davon aus, dass der Nebel dadurch verursacht wird, dass die KI „verwirrt“ ist, was sich dort befindet). Ich versuche, mehr Kontrolle über den Parameter aabc_scale zu haben (der misst, wie groß die Szene ist) und ihn dann ein paar Minuten lang zu trainieren. Am Ende des Renderings erhalten wir das Videoergebnis wie folgt:

Erstellen Sie schnell 3D-Modelle basierend auf der Technologie der künstlichen Intelligenz

Abbildung 5: Ein NeRF-Modell, das ich aus einer Pflanze auf dem Wohnzimmertisch gemacht habe

Viel besser! Es ist beeindruckend, wie präzise es die Feinheiten der gehäkelten Blumentöpfe, der Rillen im Holz und des Blattwerks darstellt. Schauen Sie sich die Kamera an, die über die Blätter schwebt!

Test 4:

Jetzt werden unsere Testergebnisse immer besser! Allerdings hätte ich gerne ein Outdoor-Video. Ich habe weniger als zwei Minuten Video außerhalb meiner Wohnung gedreht und mit der Verarbeitung begonnen. Dies ist besonders beim Rendern/Training umständlich. Ich vermute hier, dass mein aabc_scale-Wert ziemlich hoch ist (8), sodass die Rendering-„Strahlen“ sehr weit gehen müssen (d. h. die Anzahl der Dinge, die ich rendern möchte, ist höher). Also musste ich auf 480p umsteigen und die Rendering-FPS von 30 auf 10 senken. Es stellt sich heraus, dass die Wahl der Einstellungsparameter die Renderzeiten beeinflusst. Nach 8 Stunden Rendern kam ich zu Folgendem:

Erstellen Sie schnell 3D-Modelle basierend auf der Technologie der künstlichen Intelligenz

Abbildung 6: Ein NeRF-Modell, das ich außerhalb meiner Wohnung verwendet habe

Ich denke jedoch, dass der dritte Versuch immer noch mein Favorit ist. Ich denke, ich hätte den vierten Versuch etwas besser machen können. Wenn die Renderzeiten jedoch sehr lang werden, wird es schwierig, die Versionen zu durchlaufen und mit verschiedenen Render- und Trainingseinstellungen zu experimentieren. Es ist jetzt schwierig, überhaupt den Kamerawinkel für das Rendern einzustellen, was dazu führt, dass mein Programm extrem langsam wird.

Das ist allerdings wirklich eine ziemlich erstaunliche Ausgabe, da nur ein oder zwei Minuten Videodaten verwendet wurden. Endlich habe ich endlich ein detailliertes und realistisches 3D-Modell!

Vor- und Nachteile-Analyse

Was ich am beeindruckendsten finde, ist, dass in 1-2 Minuten Aufnahme jemand (ich) ohne jegliche Photogrammetrie-Ausbildung ein brauchbares 3D-Modell erstellen konnte. Der Prozess erfordert zwar einiges technisches Know-how, aber sobald Sie alles eingerichtet haben, ist es einfach zu verwenden. Die Verwendung eines Python-Skripts zum Konvertieren von Videos in Bilder funktioniert hervorragend. Sobald dies erledigt ist, erfolgt die Eingabe in die KI reibungslos.

Obwohl es schwierig ist, Nvidia diesen Aspekt vorzuwerfen, denke ich, dass ich es ansprechen sollte: Dieses Ding erfordert eine ziemlich leistungsstarke GPU. Ich habe einen T500 in meinem Laptop und diese Aufgabe brachte ihn einfach an seine absoluten Grenzen. Die Trainingszeit ist tatsächlich viel länger als die angekündigten 5 Sekunden, und das Programm stürzt ab, wenn versucht wird, mit 1080p zu rendern (ich habe mich dafür entschieden, dynamisch um den 135*74-Indikator herum zu rendern). Dies ist jedoch immer noch eine enorme Verbesserung, da frühere NeRF-Modellexperimente mehrere Tage dauerten.

Ich glaube nicht, dass jeder ein 3090p-Rig für ein solches Projekt haben wird, daher lohnt es sich, es kurz zu erklären. Die geringe Leistung des Computers erschwerte die Verwendung des Programms, insbesondere als ich versuchte, die Kamera zum „Fliegen“ zu bringen, um ein günstigeres Setup für die Videowiedergabe zu haben. Dennoch sind die Ergebnisse des Prozesses beeindruckend.

Außerdem bestand ein weiteres Problem darin, dass ich die Renderdatei render.py nicht finden konnte (wie Sie sich vielleicht vorstellen können, ist sie für das Rendern von Videos von entscheidender Bedeutung). Seltsamerweise ist es nicht in den offiziell bereitgestellten Open-Source-Code-Repositories enthalten, obwohl es in den meisten Werbeartikeln und anderen Dokumentationen ausführlich erwähnt wird. Deshalb muss ich diesen Schatz unter dem Link https://www.php.cn/link/b943325cc7b7422d2871b345bf9b067f ausgraben.

Abschließend hoffe ich auch, das obige 3D-Modell in eine .obj-Datei konvertieren zu können. Vielleicht ist das jetzt möglich.

Erstellen Sie schnell 3D-Modelle basierend auf der Technologie der künstlichen Intelligenz

Abbildung 7: GIF-Animation eines Fuchses – das ist nicht von mir, sondern von NVIDIA. Nicht schlecht, oder?

Zusammenfassung und nächste Gedanken

Der obige experimentelle Prozess erinnert mich an das von OpenAI entwickelte DALL-E, bei dem es sich ebenfalls um eine Technologie für künstliche Intelligenz handelt, die Bilder erzeugen kann. Heutzutage erfreut sich diese Technologie großer Beliebtheit, auch weil sie so zugänglich ist. Darüber hinaus zeigt DALL-E ein wirklich cooles Beispiel dafür, was Modelle der künstlichen Intelligenz leisten können und welche Grenzen sie haben. Mittlerweile ist es sogar zu einem Phänomen der Popkultur geworden (oder zumindest stark in meinem Twitter-Feed vertreten) – Leute machen ihre eigenen seltsamen DALL-E-Bilder und teilen sie miteinander. Ich kann mir vorstellen, dass mit dieser Technologie so etwas passiert: Das virale Potenzial einer Website, auf der jeder ein Video hochladen und ein 3D-Modell erstellen kann, das man mit Freunden teilen kann, ist riesig. Irgendwann wird es bestimmt jemand tun!

Ich persönlich freue mich auf weitere experimentelle Ergebnisse in diesem Bereich. Ich möchte in der Lage sein, superrealistische Modelle zu generieren und sie dann in AR/VR zu übertragen. Basierend auf diesen Technologien können Sie sogar Web-Meetings veranstalten – macht das nicht Spaß? Denn um dieses Ziel zu erreichen, müssen Sie lediglich die Kamera Ihres Telefons verwenden, und die meisten Benutzer verfügen bereits heute über diese Hardwarekonfiguration in ihren Telefonen.

Insgesamt bin ich beeindruckt. Es ist großartig, ein einminütiges Video auf Ihrem Telefon aufnehmen und daraus ein Modell machen zu können, durch das Sie Schritt für Schritt vorgehen können. Obwohl das Rendern eine Weile dauert und die Installation etwas schwierig ist, funktioniert es großartig. Nach ein paar Experimenten habe ich eine ziemlich coole Ausgabe erhalten! Ich freue mich auf weitere Experimente!

Referenzmaterialien

NVIDIA Git 1CTO-Expertenblog , Dozent, Computerlehrer an einer Universität in Weifang und ein Veteran in der freiberuflichen Programmierbranche. In den Anfängen konzentrierte er sich auf verschiedene Microsoft-Technologien (stellte drei technische Bücher zu ASP.NET AJX und Cocos 2d-X zusammen). In den letzten zehn Jahren widmete er sich der Open-Source-Welt (vertraut mit beliebten Vollversionen). Stack-Webentwicklungstechnologie) und lernte OneNet/AliOS+Arduino/ESP32/Raspberry Pi und andere IoT-Entwicklungstechnologien sowie Scala+Hadoop+Spark+Flink und andere Big-Data-Entwicklungstechnologien kennen.

Originaltitel:

Using AI to Generate 3D Models, Fast!

, Autor: Andrew Blance

Das obige ist der detaillierte Inhalt vonErstellen Sie schnell 3D-Modelle basierend auf der Technologie der künstlichen Intelligenz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!