位置: IT常识 - 正文

nerf训练自己的数据,过程记录十分详细(nerf 怎么瞄准)

编辑:rootadmin
nerf训练自己的数据,过程记录十分详细

推荐整理分享nerf训练自己的数据,过程记录十分详细(nerf 怎么瞄准),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nerf新手入门,nerf对战规则,nerf怎么玩,nerf新手入门,nerf训练自己的数据,nerf新手最适合哪一款,nerf新手,nerf新手,内容如对您有帮助,希望把文章链接给更多的朋友!

       之前跑很多项目没有记录,后来再弄就不行了。这次特别记录一下,在梳理流程的同时希望给大家带来小小的帮助!我自己是在cuda11.2,windows环境下成功的,过程十分详细,有需要的朋友耐心看完。有问题可以评论区交流

        首先,本文nerf是基于pytorch训练的,代码来源于yenchenlin大佬,GitHub地址:GitHub - yenchenlin/nerf-pytorch: A PyTorch implementation of NeRF (Neural Radiance Fields) that reproduces the results.

 一、配置nerf环境      

         在每弄一个新项目之前,建议创建一个新的环境,本文利用conda命令创建名为nerf的环境,指令如下:

conda create --name nerf -y python=3.8 #创建名为nerf的环境conda activate nerf #切换到nerf环境

        然后安装需要的库,都在nerf代码文件的requirements.txt里

cd nerf-pytorch #进入到你nerf的文件夹,根据自己的文件位置调整python -m pip install --upgrade pip #升级一下pip,防止莫名其妙的错误pip install -r requirements.txt #安装需要的库

        结束之后建议测试一下pytorch是否为GPU版本,有时候默认安装会装成CPU版本,用以下代码测试,输出版本号和True则没有问题。否则卸载安装的torch版本,用wheel离线安装。

import torchprint(torch.__version__)print(torch.cuda.is_available())

        然后先用作者提供的数据跑一下nerf,保证环境没有问题。这里如果用的是windows系统,需要下载Gitbash来使用linux的命令,先在代码文件夹下下载数据:

bash download_example_data.sh #下载作者提供的数据

        结束后在data文件夹下有个名为nerf_example_data的压缩包,解压后在nerf代码文件夹下使用如下命令开始训练:

python run_nerf.py --config configs/fern.txt二、创建llff格式的数据集                           

       接下来的步骤请务必注意文件夹的命名,未打括号说明则最好按照我的名字命名,然后注意是在哪个文件夹下操作的,否则后面训练可能找不到对应文件而报错!  

        先在nerf_llff_data文件夹下创建一个自己的数据文件夹,我命名为llfftest(这个名字可以自取),接着在llfftest文件夹下创建名为images的文件夹,将拍摄的图片放置到此文件夹,下面给出我的示例:

        接着需要下载COLMAP软件,(地址:Release 3.8 · colmap/colmap · GitHub),拉到最下面选择cuda版本:

下载解压后打开COLMAP.bat文件得到以下界面:

然后点击File,选择New Project,继续点击new,在llfftest文件夹下手动输入文件名database.db后,点击保存:

 接着点击Select,选择保存图片的那个images文件夹,点击Save:

nerf训练自己的数据,过程记录十分详细(nerf 怎么瞄准)

接下来点击File右边的Processing,选择Feature extraction,出现如下界面,只需要配置第一个选项,然后点击下面Extract。

结束后点击关闭,接着点击Processing下的Feature matching,直接run即可,然后等待匹配结束。

结束后点击Processing旁边的Reconstruction,选择Start Reconstruction,等待结束。。。

结束后,点击File,选择Export model,这里一定注意不要直接保存,需要新建两个文件夹,名字很重要,请跟我保持一致! 

完成后检查一下文件下的东西:

接下来,将获取的位姿等数据转化为llff格式,需要下载llff脚本,(地址:GitHub - Fyusion/LLFF: Code release for Local Light Field Fusion at SIGGRAPH 2019)

为了防止库冲突和报错,我又创建了名为llff的环境,将此项目需要的库进行安装,方法跟创建nerf环境是一样的

conda create --name llff -y python=3.8 conda activate llff pip install -r requirements.txt  #在llff代码文件夹下运行

然后在此环境和llff代码文件夹下运行python imgs2poses.py (红框部分改为自己的文件路径):  

结束后就能在llfftest下得到一个.npy文件:

三、训练自己的nerf

        首先在nerf代码中,我们要在config文件夹下创建我们自己的配置文件,只需要将config文件夹下的fern复制一份,名字改为llftest,datadir后面也改成llftest即可

然后就可以在nerf环境和nerf代码下开始训练啦,(建议用Gitbash运行):

python run_nerf.py --config configs/llfftest.txt

效果如下: 

最后,如果你在训练时遇到

Mismatch between imgs 0 and poses 55 !!!! Traceback (most recent call last): File "run_nerf.py", line 878, in <module> train() File "run_nerf.py", line 544, in train spherify=args.spherify) File "C:\Users\HP\Desktop\nerf-pytorch-master\load_llff.py", line 246, in load_llff_data poses, bds, imgs = _load_data(basedir, factor=factor) # factor=8 downsamples original imgs by 8x TypeError: cannot unpack non-iterable NoneType object

可能是因为函数不兼容,解决方法是,在llfftest文件夹下新建一个images_8的文件夹,将八倍下采样的图片放到这。

下采样代码我也放出来,注意更改自己的路径:

import cv2# import def_Gaussian as dg# import timeimport os.path# import glob###################################################################################################################### 读取文件夹里面的图像数量 并返回filenumdef countFile(dir): # 输入文件夹 tmp = 0 for item in os.listdir(dir): if os.path.isfile(os.path.join(dir, item)): tmp += 1 else: tmp += countFile(os.path.join(dir, item)) return tmpfilenum = countFile("C:\\Users\\HP\\Desktop\\nerf-pytorch-master\\data\\nerf_llff_data\\llfftest\\images") # 返回的是图片的张数print(filenum)# filenumn = 8index = 1 # 保存图片编号num = 0 # 处理图片计数for i in range(1, filenum + 1): ######################################################## # 1.读取原始图片 if index < 10: filename = "C:\\Users\\HP\\Desktop\\nerf-pytorch-master\\data\\nerf_llff_data\\llfftest\\images\\" + str(i) + ".jpg" elif index < 100: filename = "C:\\Users\\HP\\Desktop\\nerf-pytorch-master\\data\\nerf_llff_data\\llfftest\\images\\" + str(i) + ".jpg" else: filename = "C:\\Users\\HP\\Desktop\\nerf-pytorch-master\\data\\nerf_llff_data\\llfftest\\images\\" + str(i) + ".jpg" print(filename) original_image = cv2.imread(filename) # 2.下采样 if n == 4: img_1 = cv2.pyrDown(original_image) img_1 = cv2.pyrDown(img_1) if n == 8: img_1 = cv2.pyrDown(original_image) img_1 = cv2.pyrDown(img_1) img_1 = cv2.pyrDown(img_1) # 3.将下采样图片保存到指定路径当中 if index < 10: cv2.imwrite("C:\\Users\\HP\\Desktop\\nerf-pytorch-master\\data\\nerf_llff_data\\llfftest\\images_8\\" + str(index) + ".jpg", img_1) elif index < 100: cv2.imwrite("C:\\Users\\HP\\Desktop\\nerf-pytorch-master\\data\\nerf_llff_data\\llfftest\\images_8\\" + str(index) + ".jpg", img_1) else: cv2.imwrite("C:\\Users\\HP\\Desktop\\nerf-pytorch-master\\data\\nerf_llff_data\\llfftest\\images_8\\" + str(index) + ".jpg", img_1) num = num + 1 print("正在为第" + str(num) + "图片采样......") index = index + 1

最后的最后,本来是准备让大家看看我的结果的,但视频插入不了,那就祝各位小伙伴顺利吧。遇到什么奇奇怪怪的问题欢迎评论区讨论交流!

本文链接地址:https://www.jiuchutong.com/zhishi/290244.html 转载请保留说明!

上一篇:service启动的正确姿势(service的启动方式及生命周期)

下一篇:深度学习第一步——Pytorch-Gpu环境配置:Win11/Win10+Cuda10.2+cuDNN8.5.0+Pytorch1.8.0(步步巨细,少走十年弯路)

  • 五个高转化文案创作技巧,让你的文案效果翻倍!(高转化率文案修炼手册)

    五个高转化文案创作技巧,让你的文案效果翻倍!(高转化率文案修炼手册)

  • 捕捉目标消费者成为企业需要面对的一个新课题(如何寻找目标消费者)

    捕捉目标消费者成为企业需要面对的一个新课题(如何寻找目标消费者)

  • 抖音背景墙怎么弄(抖音背景墙怎么设置图片)

    抖音背景墙怎么弄(抖音背景墙怎么设置图片)

  • 为什么有时候会收到完整内测包(为什么有时候会呼吸困难)

    为什么有时候会收到完整内测包(为什么有时候会呼吸困难)

  • 文件夹命名规则(文件夹命名规则好处)

    文件夹命名规则(文件夹命名规则好处)

  • 计算机组装中用到的工具是(计算机组装中用的软件)

    计算机组装中用到的工具是(计算机组装中用的软件)

  • 苹果系统怎么降低版本(苹果系统怎么降级)

    苹果系统怎么降低版本(苹果系统怎么降级)

  • 新注册的抖音号发出去没播放量是什么情况(新注册的抖音号为什么关注不了别人)

    新注册的抖音号发出去没播放量是什么情况(新注册的抖音号为什么关注不了别人)

  • vivox9手电筒不亮了怎么回事(vivox9i手机手电筒灯不亮咋办)

    vivox9手电筒不亮了怎么回事(vivox9i手机手电筒灯不亮咋办)

  • 锁屏上的时间不见了(锁屏上的时间不见了华为)

    锁屏上的时间不见了(锁屏上的时间不见了华为)

  • 蓝牙耳机5.0什么意思(蓝牙耳机5.0 5.1是什么意思)

    蓝牙耳机5.0什么意思(蓝牙耳机5.0 5.1是什么意思)

  • 芒果tv怎样解绑银行卡(芒果tv怎样解绑手机号码)

    芒果tv怎样解绑银行卡(芒果tv怎样解绑手机号码)

  • iphonexr是双卡双待吗(iphonexr双卡双4g吗)

    iphonexr是双卡双待吗(iphonexr双卡双4g吗)

  • 苹果浏览器怎样看历史记录(苹果浏览器怎样删除浏览记录)

    苹果浏览器怎样看历史记录(苹果浏览器怎样删除浏览记录)

  • 华为手机的otc开关在哪(华为手机在哪里开otc)

    华为手机的otc开关在哪(华为手机在哪里开otc)

  • 拼多多省钱月卡是不是什么单都能免?(拼多多省钱月卡免费领取3个月怎么取消)

    拼多多省钱月卡是不是什么单都能免?(拼多多省钱月卡免费领取3个月怎么取消)

  • python多线程和多进程(python多线程和多协程对比)

    python多线程和多进程(python多线程和多协程对比)

  • 快手不用身份证怎么直播(快手不绑定身份证)

    快手不用身份证怎么直播(快手不绑定身份证)

  • 荣耀8x支持otg吗

    荣耀8x支持otg吗

  • vivos1有256g内存吗(vivos1有6+256g吗)

    vivos1有256g内存吗(vivos1有6+256g吗)

  • 华为激活锁忘记了id和密码(华为激活锁忘记密码)

    华为激活锁忘记了id和密码(华为激活锁忘记密码)

  • win10专业版激活秘钥神key推荐 电脑系统激活码分享(win10专业版激活密钥永久)

    win10专业版激活秘钥神key推荐 电脑系统激活码分享(win10专业版激活密钥永久)

  • 个税手续费返还要交增值税吗
  • 抵进项税分录
  • 租房抵扣个税计算公式
  • 印花税的填报方法
  • 居民转供电收费标准
  • 建筑发票一般开几个点
  • 金融商品转让为什么不能扣除相关税费
  • 固定资产折旧摊销表A105080
  • 未摊销的费用怎样处理
  • 技术转让收入是指当事人履行
  • 火灾造成的存货损失进项税额如何处理
  • 增值税发票红字发票怎么做凭证
  • 取得特许权使用费收入增值税税率
  • 企业给员工购买的团体意外险的被保险人一般是
  • 国税的应交税款在地税的财务报表上怎么填?
  • 工程款发票备注栏项目名称
  • 一年过去了,特朗普减税效果如何?
  • 财务软件中摊销怎么做账
  • 未抵扣进项税会计分录
  • 上年度多计提的工资怎么冲减
  • 费用已付款未收到发票需要暂估入账吗
  • 企业接受投资者的土地使用权投资
  • mac和wondows
  • 项目款申请
  • win11怎么双击直接打开程序
  • 新公司成立股份比例
  • 电脑桌面小工具软件
  • win7旗舰系统
  • 业务招待费如何进行纳税调整
  • 落基山国家公园攻略
  • 前端框架源码
  • 发放工资时扣除的保险怎么做
  • thinkphpgui
  • 使用groupadd命令创建用户组
  • 信息技术服务费税收编码
  • 结转本期损益怎么看亏损
  • 企业所得税上个季度没报
  • java连接mysql数据库
  • 建筑工程施工围挡安装
  • 研发辅助账汇总表
  • mysql登录报1045
  • 制单和审单的依据是什么
  • 公司担保无效的后果
  • 企业固定电话费收费标准
  • 开具增值税专用发票含税吗
  • 出口退税综合服务网
  • 新会计制度下五类是什么
  • 营业税金及附加和税金及附加有什么区别
  • 建账时应注意的事项有
  • iis的服务
  • 新装的ubuntu18没有网络
  • 数据中心为什么要建在山洞里
  • 将某软件添加到桌面
  • .exe是什么软件
  • windows运行不了怎么办
  • win8.1怎么样?
  • spoolsrv32.exe - spoolsrv32进程是什么文件 有何作用
  • linux cp 不是目录
  • hpp是什么文件
  • linux新增lv
  • win10系统附件在哪里
  • win10系统中断怎么解除
  • cocos2dx schedule
  • python实现人脸识别代码
  • 求婚表白怎么说怎么写
  • JavaScript事件处理的方式(三种)
  • jquery validation
  • android实现推送
  • 批处理命令不允许用户在文件夹内的文件
  • node.js中的http.request.end方法使用说明
  • js类的使用
  • node.js nvm
  • js script跨域
  • pythonyield理解与用法
  • jquery.ztree中文api
  • python保存文件到指定文件夹
  • 税务局 笔录
  • 征管法第六十三条的内容
  • 火灾损失进项税额怎么处理
  • 关于企业所得税的说法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设