Rumah  >  Artikel  >  Peranti teknologi  >  Pengeluaran kandungan digital DIY menggunakan teknologi AI

Pengeluaran kandungan digital DIY menggunakan teknologi AI

WBOY
WBOYke hadapan
2023-06-15 19:03:111519semak imbas

Pengeluaran kandungan digital DIY menggunakan teknologi AI

Latar Belakang

Prestasi menakjubkan model besar yang diwakili oleh chatgpt tahun ini telah menyemarakkan sepenuhnya bidang AICG. Pelbagai produk pemetaan gpt dan AI bermunculan seperti cendawan selepas hujan. Di sebalik setiap produk yang berjaya adalah algoritma yang indah Artikel ini akan memberi anda pengenalan terperinci kepada proses dan kod cara menggunakan telefon mudah alih untuk mengambil beberapa foto adegan yang sama, kemudian mensintesis perspektif baharu dan menghasilkan video. Teknologi yang digunakan dalam artikel ini ialah NeRF (Neural Radiance Fields), iaitu kaedah pembinaan semula 3D berdasarkan pembelajaran mendalam yang telah muncul sejak 2020. Ia boleh menjana imej berkualiti tinggi dengan mempelajari penghantaran cahaya dan sinaran pemindahan tempat kejadian. imej pemaparan adegan dan model 3D. Mengenai prinsip dan kesusasteraannya, saya mempunyai senarai rujukan di penghujung untuk dipelajari oleh semua orang. Artikel ini terutamanya memperkenalkannya dari perspektif baharu penggunaan kod dan pembinaan persekitaran.

Persediaan persekitaran

environment.yml modification

Persekitaran perkakasan yang digunakan dalam artikel ini ialah GPU RTX3090, dan sistem pengendalian ialah Windows 10. perisian yang digunakan ialah pelaksanaan NeRF sumber terbuka (https://github.com/cjw531/nerf_tf2). Memandangkan RTX 3090 memerlukan sokongan CUDA 11.0 dan ke atas, dan TensorFlow-gpu memerlukan sokongan 2.4.0 dan ke atas, kami tidak memilih https://github.com/bmild/nerf kerana persekitaran bmild menggunakan aliran tensor -. gpu==1.15, versi terlalu lama. Akan ada masalah berikut apabila menjalankan https://github.com/bmild/nerf/issues/174#issue-1553410900 Saya juga menjawab dalam tt ini bahawa saya perlu menaik taraf kepada 2.8. Tetapi walaupun anda menggunakan https://github.com/cjw531/nerf_tf2, persekitarannya agak bermasalah. Pertama sekali, kerana ia disambungkan ke saluran konda asing, kelajuannya sangat perlahan. Kedua, persekitarannya menggunakan tensorflow==2.8 dan tidak menyatakan versi tensorflow-gpu. untuk dua soalan ini. Kami telah mengubah suai environment.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

Mulakan persekitaran conda

Buka cmd dan masukkan arahan berikut.

conda env create -f environment.yml

Tambahkan nerf_tf2 pada jupyter, supaya jupyter dapat melihat hasil sistem yang sedang berjalan dengan mudah.

// 安装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

Kini persekitaran konda dan jupyter sudah sedia.

Penyediaan data

  1. Muat turun dan pasang colmap saya ialah windows (https://demuc.de/colmap/#download)
  2. Gunakan https: /. /github.com/fyusion/llff menyediakan imgs2poses.py untuk mendapatkan parameter dalaman dan luaran gambar yang diambil oleh kamera anda sendiri Sebagai contoh, kami mengambil 10 gambar, dan lokasi direktori di mana ia diletakkan sangat khusus, D: /LanJing/AI /LLFF/data/images, yang bermaksud ia mesti diletakkan di bawah subdirektori imej. Parameter yang anda lalui ialah python imgs2poses.py D:/LanJing/AI/LLFF/data. Kerana images_path dalam kodnya ditulis seperti ini (https://github.com/Fyusion/LLFF/blob/master/llff/poses/colmap_wrapper.py#L28)

Pengeluaran kandungan digital DIY menggunakan teknologi AI

Contoh gambar yang diambil oleh telefon bimbit

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

Pengeluaran kandungan digital DIY menggunakan teknologi AI

python imgs2poses.py

Selepas menjalankan fail imgs2poses. direktori jarang, colmap_out.txt, database.db, poses_bounds.npy, kemudian kami mencipta data direktori baharu/nerf_llff_data/ll di bawah projek nerf_tf2 dan menyalin direktori jarang dan poses_bounds.npy di atas ke direktori ini. Akhir sekali, kami mengkonfigurasi fail baharu config_ll.txt. Pada ketika ini kerja penyediaan data kami selesai.

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

Latihan

Pindahkan perisian sumber terbuka ke platform windows.

Memandangkan perisian sumber terbuka ini terutamanya menyokong mac dan linux, ia tidak boleh dijalankan pada tingkap dan memerlukan pengubahsuaian load_llff.py.

Pengeluaran kandungan digital DIY menggunakan teknologi AI

load_llff migrasi kod

Jalankan 300,000 latihan kelompok.

activate nerf_tf2python run_nerf.py --config config_ll.txt

Ujian

Pengeluaran kandungan digital DIY menggunakan teknologi AI

render_demo berjalan

Kesan

Oleh kerana kami menggunakan imej input kurang sedikit, hanya 10 Zhang , jadi kesannya tidak begitu baik, tetapi keseluruhan proses adalah sama. Petua: Separuh daripada kod rasmi menggunakan 30 atau 100 gambar.

Hasil kami


Pengeluaran kandungan digital DIY menggunakan teknologi AI

Memberikan daripada perspektif baharu

Kesan rasmi

Pengeluaran kandungan digital DIY menggunakan teknologi AI

kesan perspektif baharu sintetik rasmi pakis

Rujukan

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.

Atas ialah kandungan terperinci Pengeluaran kandungan digital DIY menggunakan teknologi AI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam