DIY-Produktion digitaler Inhalte mithilfe von KI-Technologie

WBOY
Freigeben: 2023-06-15 19:03:11
nach vorne
1524 Leute haben es durchsucht

DIY-Produktion digitaler Inhalte mithilfe von KI-Technologie

Hintergrund

In diesem Jahr hat die beeindruckende Leistung großer Modelle, die von chatgpt vertreten werden, den AICG-Bereich völlig in Aufruhr versetzt. Verschiedene GPT- und AI-Mapping-Produkte schießen nach einem Regen wie Pilze aus dem Boden. Hinter jedem erfolgreichen Produkt stehen exquisite Algorithmen. In diesem Artikel erhalten Sie eine detaillierte Einführung in den Prozess und den Code, wie Sie mit einem Mobiltelefon mehrere Fotos derselben Szene aufnehmen, dann neue Perspektiven synthetisieren und Videos erstellen. Die in diesem Artikel verwendete Technologie ist NeRF (Neural Radiance Fields), eine 3D-Rekonstruktionsmethode, die auf Deep Learning basiert und seit 2020 entwickelt wurde. Sie kann hochwertige Szenenrendering-Bilder erzeugen, indem sie die Lichtdurchlässigkeit und Strahlungsübertragung lernt die Szene und 3D-Modelle. Zu den Prinzipien und der Literatur habe ich am Ende eine Referenzliste, aus der jeder lernen kann. In diesem Artikel wird es hauptsächlich aus einer neuen Perspektive der Codenutzung und Umgebungskonstruktion vorgestellt.

Umgebungseinrichtung

environment.yml-Änderung

Die in diesem Artikel verwendete Hardwareumgebung ist GPU RTX3090 und das Betriebssystem ist Windows 10. Die verwendete Software ist die Open-Source-NeRF-Implementierung (https://github.com). /cjw531/nerf_tf2) . Da RTX 3090 die Unterstützung von CUDA 11.0 und höher erfordert und TensorFlow-gpu Unterstützung von 2.4.0 und höher erfordert, haben wir nicht das offizielle https://github.com/bmild/nerf gewählt, da die bmild-Umgebung Tensorflow verwendet. gpu==1.15, die Version ist zu alt. Beim Ausführen von https://github.com/bmild/nerf/issues/174#issue-1553410900 tritt das folgende Problem auf. Ich habe in diesem TT auch geantwortet, dass ich ein Upgrade auf 2.8 durchführen muss. Aber selbst wenn Sie https://github.com/cjw531/nerf_tf2 verwenden, ist die Umgebung etwas problematisch. Erstens ist die Geschwindigkeit sehr langsam, da es mit dem ausländischen Conda-Kanal verbunden ist. Zweitens verwendet seine Umgebung tensorflow==2.8 und gibt nicht die Version von tensorflow-gpu an. für diese beiden Fragen. Wir haben die Datei „environment.yml“ geändert.

# To run: conda env create -f environment.ymlname: nerf_tf2channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/- conda-forgedependencies:- python=3.7- pip- cudatoolkit=11.0- cudnn=8.0- numpy- matplotlib- imageio- imageio-ffmpeg- configargparse- ipywidgets- tqdm- pip:- tensorflow==2.8- tensorflow-gpu==2.8- protobuf==3.19.0- -i https://pypi.tuna.tsinghua.edu.cn/simple
Nach dem Login kopieren

Starten Sie die Conda-Umgebung

Öffnen Sie cmd und geben Sie den folgenden Befehl ein.

conda env create -f environment.yml
Nach dem Login kopieren

Fügen Sie nerf_tf2 zu Jupyter hinzu, damit Sie Jupyter verwenden können, um die laufenden Ergebnisse des Systems einfach anzuzeigen.

// 安装ipykernelconda install ipykernel
Nach dem Login kopieren
//是该conda环境在jupyter中显示python -m ipykernel install --user --name 环境名称 --python -m ipykernel install --user --name 环境名称 --display-name "jupyter中显示名称"display-name "jupyter中显示名称"
Nach dem Login kopieren
//切换到项目目录cd 到项目目录//激活conda环境activate nerf_tf2//在cmd启动jupyterjupyter notebook
Nach dem Login kopieren

Jetzt sind die Conda-Umgebung und Jupyter bereit.

Datenvorbereitung

  1. Laden Sie Colmap herunter und installieren Sie es, meine Umgebung ist Windows (https://demuc.de/colmap/#download)
  2. Verwenden Sie imgs2poses.py, bereitgestellt von https://github.com/fyusion/llff Realize die Erfassung interner und externer Kameraparameter der von Ihrer eigenen Kamera aufgenommenen Bilder. Der Verzeichnisspeicherort, in dem sie abgelegt werden, ist D:/LanJing/AI/LLFF/data/images bedeutet, dass sie im Unterverzeichnis „images“ abgelegt werden müssen. Der von Ihnen übergebene Parameter ist python imgs2poses.py D:/LanJing/AI/LLFF/data. Weil der images_path in seinem Code so geschrieben ist (https://github.com/Fyusion/LLFF/blob/master/llff/poses/colmap_wrapper.py#L28)

DIY-Produktion digitaler Inhalte mithilfe von KI-Technologie

Das vom Mobiltelefon aufgenommene Bild Beispiel

feature_extractor_args = ['colmap', 'feature_extractor','--database_path', os.path.join(basedir, 'database.db'),'--image_path', os.path.join(basedir, 'images'),'--ImageReader.single_camera', '1',# '--SiftExtraction.use_gpu', '0',]
Nach dem Login kopieren

DIY-Produktion digitaler Inhalte mithilfe von KI-Technologie

Python imgs2poses.py

Nach dem Ausführen der Datei imgs2poses.py wurden das Sparse-Verzeichnis colmap_out.txt, Database.db, Poses_bounds.npy generiert, und dann haben wir ein neues erstellt Kopieren Sie unter dem Nerf_tf2-Projektverzeichnis data/nerf_llff_data/ll das obige Sparse-Verzeichnis undposes_bounds.npy in dieses Verzeichnis. Abschließend konfigurieren wir eine neue Datei config_ll.txt. An diesem Punkt sind unsere Datenvorbereitungsarbeiten abgeschlossen.

expname = ll_testbasedir = ./logsdatadir = ./data/nerf_llff_data/lldataset_type = llfffactor = 8llffhold = 8N_rand = 1024N_samples = 64N_importance = 64use_viewdirs = Trueraw_noise_std = 1e0
Nach dem Login kopieren

Training

Open-Source-Software auf die Windows-Plattform migrieren.

Da diese Open-Source-Software hauptsächlich Mac und Linux unterstützt, kann sie nicht unter Windows ausgeführt werden und erfordert eine Änderung von load_llff.py.

DIY-Produktion digitaler Inhalte mithilfe von KI-Technologie

load_llff-Codemigration

Führen Sie 300.000 Batch-Schulungen durch.

activate nerf_tf2python run_nerf.py --config config_ll.txt
Nach dem Login kopieren

Test

DIY-Produktion digitaler Inhalte mithilfe von KI-Technologie

render_demo läuft

Effekt

Da wir nur wenige Eingabebilder verwenden, nur 10, ist der Laufeffekt nicht sehr gut, aber der Gesamtprozess ist der gleiche. Tipps: Die Hälfte der verwendeten offiziellen Codes sind 30 oder sogar 100 Bilder.

Unsere Ergebnisse


DIY-Produktion digitaler Inhalte mithilfe von KI-Technologie

Ein Rendering aus einer neuen Perspektive

Offizieller Effekt

DIY-Produktion digitaler Inhalte mithilfe von KI-Technologie

Farn Offiziell synthetisierter neuer Perspektiveneffekt

Referenzen

https://zhuanlan.zhihu.com/p/554093703.

https://arxiv.org/pdf/2003.08934.pdf.

https://zhuanlan.zhihu.com/p/593204605.

https://inst.eecs.berkeley.edu/~cs194-26/fa22/Lectures/nerf_lecture1.pdf.

Das obige ist der detaillierte Inhalt vonDIY-Produktion digitaler Inhalte mithilfe von KI-Technologie. 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