Maison >Périphériques technologiques >IA >Production de contenu numérique DIY à l'aide de la technologie de l'IA

Production de contenu numérique DIY à l'aide de la technologie de l'IA

WBOY
WBOYavant
2023-06-15 19:03:111567parcourir

Production de contenu numérique DIY à laide de la technologie de lIA

Contexte

Cette année, les performances époustouflantes des grands modèles représentés par chatgpt ont complètement enflammé le domaine de l'AICG. Divers produits de cartographie GPT et IA poussent comme des champignons après la pluie. Derrière chaque produit à succès se cachent des algorithmes exquis. Cet article vous donnera une introduction détaillée au processus et au code permettant d'utiliser un téléphone mobile pour prendre plusieurs photos de la même scène, puis synthétiser de nouvelles perspectives et générer des vidéos. La technologie utilisée dans cet article est NeRF (Neural Radiance Fields), qui est une méthode de reconstruction 3D basée sur l'apprentissage profond qui a émergé depuis 2020. Elle peut générer des images de rendu de scène de haute qualité en apprenant la transmission de la lumière et le transfert de rayonnement de la scène et des modèles 3D. Concernant ses principes et sa littérature, j'ai une liste de références à la fin pour que chacun puisse s'en inspirer. Cet article le présente principalement sous une nouvelle perspective d’utilisation du code et de construction d’environnement.

Configuration de l'environnement

Modification de l'environnement.yml

L'environnement matériel utilisé dans cet article est GPU RTX3090 et le système d'exploitation est Windows 10. Le logiciel utilisé est l'implémentation open source NeRF (https://github.com /cjw531/nerf_tf2) . Étant donné que RTX 3090 nécessite la prise en charge de CUDA 11.0 et supérieur et que TensorFlow-gpu nécessite la prise en charge de 2.4.0 et supérieur, nous n'avons pas choisi le https://github.com/bmild/nerf officiel car l'environnement bmild utilise tensorflow -. gpu==1.15, la version est trop ancienne. Il y aura le problème suivant lors de l'exécution de https://github.com/bmild/nerf/issues/174#issue-1553410900. J'ai également répondu dans ce tt que je devais passer à la version 2.8. Mais même si vous utilisez https://github.com/cjw531/nerf_tf2, son environnement est quelque peu problématique. Tout d’abord, parce qu’il est connecté au canal conda étranger, la vitesse est très lente. Deuxièmement, son environnement utilise tensorflow==2.8 et ne précise pas la version de tensorflow-gpu. pour ces deux questions. Nous avons modifié environnement.yml.

# 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

Démarrez l'environnement conda

Ouvrez cmd et entrez la commande suivante.

conda env create -f environment.yml

Ajoutez nerf_tf2 à jupyter, afin que vous puissiez utiliser jupyter pour visualiser facilement les résultats d'exécution du système.

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

Maintenant, l'environnement conda et jupyter sont prêts.

Préparation des données

  1. Téléchargez et installez colmap, mon environnement est Windows (https://demuc.de/colmap/#download)
  2. Utilisez imgs2poses.py fourni par https://github.com/fyusion/llff Réaliser l'acquisition des paramètres de caméra internes et externes des photos prises par votre propre appareil photo. Par exemple, nous avons pris 10 photos. L'emplacement du répertoire où elles sont placées est très particulier, D:/LanJing/AI/LLFF/data/images. signifie qu'ils doivent être placés dans le sous-répertoire images. Le paramètre que vous avez transmis est python imgs2poses.py D:/LanJing/AI/LLFF/data. Parce que le images_path dans son code est écrit comme ceci (https://github.com/Fyusion/LLFF/blob/master/llff/poses/colmap_wrapper.py#L28)

Production de contenu numérique DIY à laide de la technologie de lIA

La photo prise par le téléphone portable Exemple

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',]

Production de contenu numérique DIY à laide de la technologie de lIA

python imgs2poses.py

Après avoir exécuté le fichier imgs2poses.py, le répertoire clairsemé, colmap_out.txt, database.db, poses_bounds.npy ont été générés, puis nous en avons créé un nouveau. sous le projet nerf_tf2 Directory data/nerf_llff_data/ll, copiez le répertoire clairsemé ci-dessus et pose_bounds.npy dans ce répertoire. Enfin, nous configurons un nouveau fichier config_ll.txt. À ce stade, notre travail de préparation des données est terminé.

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

Formation

Migrer les logiciels open source vers la plateforme Windows.

Étant donné que ce logiciel open source prend principalement en charge Mac et Linux, il ne peut pas fonctionner sous Windows et nécessite une modification de load_llff.py.

Production de contenu numérique DIY à laide de la technologie de lIA

load_llff migration de code

Exécutez 300 000 formations par lots.

activate nerf_tf2python run_nerf.py --config config_ll.txt

Test

Production de contenu numérique DIY à laide de la technologie de lIA

render_demo running

Effect

Comme nous utilisons quelques images d'entrée, seulement 10, l'effet de course n'est pas très bon, mais le processus global est le même. Astuces : La moitié des codes officiels utilisent 30 voire 100 images.

Nos résultats


Production de contenu numérique DIY à laide de la technologie de lIA

Le rendu sous une nouvelle perspective

Effet officiel

Production de contenu numérique DIY à laide de la technologie de lIA

#🎜🎜 #fernofficial synthèse nouvel effet de perspective

References

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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer