自己动手使用AI技术实现数字内容生产


今年以来以chatgpt为代表的大模型的惊艳表现彻底点燃了AICG这个领域的。各类gpt,各种AI作图产品如雨后春笋般出现。每个成功产品的背后都是一个个精妙的算法,本篇文章给大家详细介绍下如何使用一个手机拍摄若干张同一场景的照片,然后合成新视角,生成视频的流程与代码。本文使用的技术是NeRF(Neural Radiance Fields),它是2020年以来出现的一种基于深度学习的3D重建方法,它通过学习场景的光线传输和辐射传递,能够生成高质量的场景渲染图像和3D模型。关于它的原理与文献,我在最后有一个参考列表供大家学习。本文主要从代码使用以及环境搭建的新角度介绍它。

环境搭建

environment.yml修改

本文使用的硬件环境是 GPU RTX3090,操作系统是windows 10.采用的软件是开源的NeRF实现(https://github.com/cjw531/nerf_tf2)。由于RTX 3090需要CUDA 11.0及以上版本的支持,TensorFlow-gpu 需要2.4.0以及以上的支持,所以我们没有选择官方的https://github.com/bmild/nerf,因为bmild这个的环境使用的tensorflow-gpu==1.15,版本太久了。跑起来会有下面的问题https://github.com/bmild/nerf/issues/174#issue-1553410900,我在这个tt中也回复指出了需要升级到2.8。但是即便是使用https://github.com/cjw531/nerf_tf2,它的环境也是有点问题。首先由于它连接的国外的conda的channel,所以速度很慢。其次它的环境使用的是tensorflow==2.8没有指明tensorflow-gpu的版本。针对这两个问题。我们对environment.yml进行了修改。

# To run: conda env create -f environment.yml
name: nerf_tf2
channels:
    - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
    - conda-forge
dependencies:
    - 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/simple1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.

启动conda环境

打开cmd,然后输入下面的命令。

conda env create -f environment.yml1.

将nerf_tf2加入到jupyter中,这样使用jupyter能很方便的查看系统的运行结果。

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

至此conda环境以及jupyter准备就绪。


暂无
上一篇
EB级数仓都在用的算子级血缘如何实现主动数据治理
下一篇 2023年06月15日
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88888888@qq.com 举报,一经查实,本站将立刻删除。

相关推荐