ホームページ  >  記事  >  テクノロジー周辺機器  >  AI技術を活用したDIYデジタルコンテンツ制作

AI技術を活用したDIYデジタルコンテンツ制作

WBOY
WBOY転載
2023-06-15 19:03:111517ブラウズ

AI技術を活用したDIYデジタルコンテンツ制作

背景

今年、chatgpt に代表される大規模モデルの驚異的なパフォーマンスにより、AICG の分野は完全に活性化されました。雨後の筍のように、さまざまな gpt および AI マッピング製品が登場しています。すべての成功した製品の背後には絶妙なアルゴリズムがあり、この記事では、携帯電話を使用して同じシーンの写真を複数枚撮影し、新しい視点を合成してビデオを生成する方法のプロセスとコードを詳しく紹介します。この記事で使用する技術は、2020年から登場した深層学習に基づく3次元再構成手法であるNeRF(Neural Radiance Fields)です。光の透過と放射を学習することで高画質な画像を生成できます。シーンの転送、シーンのレンダリング画像と 3D モデル。その原則と文献に関しては、誰もが学ぶことができるよう、最後に参考文献リストを用意しました。この記事では主にコードの使い方や環境構築という新たな視点から紹介します。

環境設定

environment.ymlの修正

この記事で使用するハードウェア環境はGPU RTX3090、OSはWindows 10です。使用されるソフトウェアはオープンソースの NeRF 実装 (https://github.com/cjw531/nerf_tf2) です。 RTX 3090 は CUDA 11.0 以降のサポートを必要とし、TensorFlow-gpu は 2.4.0 以降のサポートを必要とするため、bmild 環境では tensorflow を使用するため、公式 https://github.com/bmild/nerf は選択しませんでした。 gpu==1.15、バージョンが古すぎます。 https://github.com/bmild/nerf/issues/174#issue-1553410900 を実行すると次の問題が発生するため、2.8 にアップグレードする必要があるとこの tt でも回答しました。ただし、https://github.com/cjw531/nerf_tf2 を使用する場合でも、その環境には多少問題があります。まず、外部の conda チャネルに接続しているため、速度が非常に遅いです。次に、その環境では tensorflow==2.8 が使用されており、tensorflow-gpu のバージョンが指定されていません。この 2 つの質問に対して。環境.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

conda 環境を開始します

cmd を開いて次のコマンドを入力します。

conda env create -f environment.yml

jupyter に nerf_tf2 を追加して、jupyter がシステムの実行結果を簡単に表示できるようにします。

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

これで conda 環境と jupyter の準備が整いました。

データの準備

  1. colmap をダウンロードしてインストールします。私の環境は Windows (https://demuc.de/colmap/#download)
  2. https:/ を使用します。 /github.com/fyusion/llff は、自分のカメラで撮影した写真の内部パラメータと外部パラメータを取得するための imgs2poses.py を提供します。たとえば、10 枚の写真を撮りましたが、それらが配置されるディレクトリの場所は非常に特殊です (D: /LanJing/AI /LLFF/data/images、つまり、images サブディレクトリの下に配置する必要があります。渡したパラメータは python imgs2poses.py D:/LanJing/AI/LLFF/data です。そのコード内のimages_pathは次のように書かれているためです(https://github.com/Fyusion/LLFF/blob/master/llff/poses/colmap_wrapper.py#L28)

AI技術を活用したDIYデジタルコンテンツ制作#携帯電話で撮影したサンプル写真

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

AI技術を活用したDIYデジタルコンテンツ制作python imgs2poses.py

imgs2poses.py ファイルを実行すると、生成されたスパース ディレクトリ、colmap_out.txt、database.db、poses_bounds.npy を作成し、nerf_tf2 プロジェクトの下に新しいディレクトリ data/nerf_llff_data/ll を作成し、上記のスパース ディレクトリとposes_bounds.npyをこのディレクトリにコピーしました。最後に、新しいファイル config_ll.txt を構成します。この時点で、データの準備作業は完了です。

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

トレーニング

オープン ソース ソフトウェアを Windows プラットフォームに移行します。

このオープンソース ソフトウェアは主に Mac と Linux をサポートしているため、Windows 上では実行できず、load_llff.py の修正が必要です。

AI技術を活用したDIYデジタルコンテンツ制作load_llff コードの移行

バッチ トレーニングを 300,000 回実行します。

activate nerf_tf2python run_nerf.py --config config_ll.txt

テスト

##Render_demo runningAI技術を活用したDIYデジタルコンテンツ制作

Effect

使用する入力画像は 10 個だけなので、効果はあまり良くありませんが、全体的なプロセスは同じです。ヒント: 公式コードの半分では、30 枚、場合によっては 100 枚の画像が使用されています。

私たちの結果

AI技術を活用したDIYデジタルコンテンツ制作

#新しい視点からのレンダリング

公式エフェクト

AI技術を活用したDIYデジタルコンテンツ制作

シダ新しい視点エフェクトの公式合成

参考文献

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。

以上がAI技術を活用したDIYデジタルコンテンツ制作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。