NViST 运行笔记
文章标题NViST: In the Wild New View Synthesis from a Single Image with Transformers1. 环境配置创建环境conda create -n nvist python3.9进入环境conda activate nvist安装torch、torchvision、torchaudiopip install torch2.1.2 torchvision0.16.2 torchaudio2.1.2 --index-url https://download.pytorch.org/whl/cu121安装其它依赖pip install tqdm scikit-image opencv-python configargparse lpips imageio-ffmpeg lpips tensorboard torch_efficient_distlosspip install easydict timm plyfile matplotlib kornia acceleratepip install tensorflow pandas pip install githttps://github.com/google/nerfies.gitv2 pip install githttps://github.com/google/nerfies.git#eggpycolmapsubdirectorythird_party/pycolmap2. 数据下载与预处理2.1. 获取下载地址和密码点击链接 https://docs.google.com/forms/d/e/1FAIpQLSfU9BkV1hY3r75n5rc37IvlzaK2VFYbdsvohqPGAjb2YWIbUg/viewform填写所有的必填项得到下载地址和密码点击链接并输入密码2.2. 使用chrome下载进入开发者模式Windows和Linux快捷键CtrlShiftIMacOS快捷键commandoptionJ进入Network tab选择若干文件点击下载如果是下载到桌面客户端则等待下载完成即可如果想下载到远端则需要继续下面的步骤。看到一个类似download.aspx?...的条目右键点击→Copy→Copy as cURL在复制的内容后面加入--output mvi_xxx.zip然后粘贴到终端运行2.3. 数据预处理2.3.1. 解压数据包然后进行下采样python preprocess/downsample_images.py --data_dir [data directory]2.3.2. 计算相机位姿修改read_colmap_results_mvimgnet.py中的data_dirpython preprocess/read_colmap_results_mvimgnet.py2.3.3. 生成cache文件python preprocess/make_cache.py --data_dir [data directory] python preprocess/make_cache.py --data_dir [data directory] --split test2.4. 问题记录pycolmap自带bugTraceback (most recent call last):File /workspace/xuehtxiaopeng.com/code/nvist_official/preprocess/read_colmap_results.py, line 3, in moduleimport pycolmapFile /opt/conda/envs/nvist/lib/python3.9/site-packages/pycolmap/__init__.py, line 4, in modulefrom .scene_manager import SceneManagerFile /opt/conda/envs/nvist/lib/python3.9/site-packages/pycolmap/scene_manager.py, line 22, in moduleclass SceneManager:File /opt/conda/envs/nvist/lib/python3.9/site-packages/pycolmap/scene_manager.py, line 23, in SceneManagerINVALID_POINT3D np.uint64(-1)这是一个明显bug把-1转换为无符号整型改为INVALID_POINT3D np.int64(-1)3. 训练3.1. 精调MAE3.1.1. 下载预训练模型mkdir pretrained cd pretrained wget -nc https://dl.fbaipublicfiles.com/mae/visualize/mae_visualize_vit_base.pth3.1.2. 修改配置文件修改文件configs/mvimgnet_mae.txt的data_dir和base_dirdataset_namemvimgnet # dataset name - mvimgnet or shapenet data_dir/xxx/MVImgNet_test/ # dataset directory img_size[160,90] vis_every5000 # how you often visualize intermediate results batch_size84 vis_every5000 n_iters30001 # number of iterations for training base_dir../../output/mae_finetuned # output parent directory expnamemae_mvimgnet # output directory using_mae_pretrainedFalse # whether you would use the pretrained model as initialization lr_encoder_init0.0001 # start lr rate (after warm up) lr_minimum0.000001 # final lr rate encoder_warmup_iters1000 # lr warmup until this iteration - to lr_encoder_init ckptFalse # encoder encoder_patch_size5 encoder_depth12 apply_minus_one_to_one_normFalse encoder_embed_dim768 encoder_num_heads12 # mae decoder mae_decoder_embed_dim512 mae_decoder_depth8 mae_decoder_num_heads16 masking_ratio0.75 # masking ratio for MAE using_mae_pretrainedTrue3.1.3. 训练accelerate launch --mixed_precisionfp16 scripts/train_mae.py --config configs/mvimgnet_mae.txt --apply_minus_one_to_one_norm False --expname mae_mvimgnet_imgnet实际测试单卡内存占用约为15GB3.2. 训练NViST支持多GPU训练。以下两条命令分别针对单卡和双卡训练其中设置的batch size输入到编码器的图像数量和 batch pixel sizes用于渲染的像素数量占用 40GB A100 GPUs。如果把batch size和batch pixel size增加到N倍则需把学习率增加到倍。3.2.1. 单卡训练CUDA_VISIBLE_DEVICES0 accelerate launch --mixed_precisionfp16 scripts/train_nvist.py --config configs/mvimgnet_nvist.txt\ --batch_size 11 --batch_pixel_size 165000 --expname nvist_mvimgnet_1gpu3.2.2. 双卡训练accelerate launch --mixed_precisionfp16 scripts/train_nvist.py --config configs/mvimgnet_nvist.txt\ --batch_size 22 --batch_pixel_size 330000 --expname nvist_mvimgnet_2gpus --lr_encoder_init 0.00006 --lr_decoder_init 0.0003 --lr_renderer_init 0.00033.3. 问题记录发生崩溃 报这样的错误AttributeError: AcceleratorState object has no attribute use_fp16这应该是代码中的bug把报错的行注释掉就行了。4. 推理CUDA_VISIBLE_DEVICES0 python scripts/eval_nvist.py --config config_path --ckpt_dir ckpt_path参考文献GitHub - wbjang/nvist_official: (CVPR 2024) NViST: In the wild New View Synthesis from a Single Image with Transformers

相关新闻

物联网之温湿度传感器模块、arduino、esp32

物联网之温湿度传感器模块、arduino、esp32

MENU原理硬件电路设计软件程序设计原理 无论是工业领域还是日常生活,温度和湿度一直都是两个比较重要的指标,DHT11和DHT22是DHTxx系列中使用最广泛的两种传感器。它们有着相同的引脚,用法一致。 如果拆下传感器的外壳,其实里面只…

2026/7/3 13:38:52 阅读更多 →
【经验】VMware|百试百灵的Ubuntu虚拟机连不上网的解决办法(网络重启大法+NAT模式注意开启服务)

【经验】VMware|百试百灵的Ubuntu虚拟机连不上网的解决办法(网络重启大法+NAT模式注意开启服务)

我的版本:Ubuntu20.04.04,iso是清华镜像站的release版本。 问题:NAT模式没有网络连接图标,或者图标闪一下就消失不见,并且无法获取IP地址;但是桥接模式的网络服务却是正常的。 文章目录 同学提供的百试百灵…

2026/7/5 20:17:35 阅读更多 →
把 SQL Trace 用到极致:在 SAP HANA 与 HANA Cloud 中追踪 SQLScript 内部语句,精准定位性能瓶颈

把 SQL Trace 用到极致:在 SAP HANA 与 HANA Cloud 中追踪 SQLScript 内部语句,精准定位性能瓶颈

在做 SAP HANA 性能分析时,很多团队都会遇到一种很典型的尴尬:业务侧只给你一句 CALL,比如 CALL P1(TA),但真正耗时、真正吃内存、真正导致锁等待的,往往是这个存储过程内部被展开、被改写、被优化器重排后的多条 SQL 语句。你在监控视图里看到的,可能只是一个 CALL 的总…

2026/7/6 13:59:05 阅读更多 →

最新新闻

行业科普:互联网全媒体广告代理的市场空间与盈利逻辑

行业科普:互联网全媒体广告代理的市场空间与盈利逻辑

一、市场刚需与行业基本面线上广告是数字营销体系的核心组成部分,如今已成为绝大多数企业的常规经营支出。从市场现状来看,规模不等的商家通常会按月度或季度制定广告投放预算,业务范围可覆盖全国市场,需求的普遍性支撑起了庞大的…

2026/7/7 5:53:39 阅读更多 →
FTC 框架详解:残差 RL、稠密奖励与人在环的真实世界机器人训练

FTC 框架详解:残差 RL、稠密奖励与人在环的真实世界机器人训练

FTC 框架详解:残差 RL、稠密奖励与人在环的真实世界机器人训练 先说结论FTC 通过残差 RL 将探索起点锁定在目标区域附近,大幅降低真实世界交互次数需求。基于关键帧的可供性稠密奖励比 VLM 推理更轻量、实时,但依赖示教数据质量。人类干预窗口…

2026/7/7 5:51:39 阅读更多 →
Gin 架构在区块链应用中的最佳实践

Gin 架构在区块链应用中的最佳实践

1. 引言 在区块链技术快速发展的今天,如何构建高性能、可维护且安全的去中心化应用(DApp)后端服务成为开发者面临的关键挑战。Gin 是一个用 Go 语言编写的高性能 Web 框架,以其简洁的 API、出色的路由性能和中间件生态而闻名。本文…

2026/7/7 5:51:39 阅读更多 →
Donau集群交互式作业提交:srun --pty参数完全指南

Donau集群交互式作业提交:srun --pty参数完全指南

Donau集群交互式作业提交:srun --pty参数完全指南 【免费下载链接】donau-slurm-wrappers donau-slurm-wrappers provide some scripts for Slurm Users to submit and manage jobs in Donau cluster environment 项目地址: https://gitcode.com/openeuler/donau-…

2026/7/7 5:49:39 阅读更多 →
139、PixelShuffle 亚像素卷积上采样的 YOLOv11 代码实现与通道重建的适配细节

139、PixelShuffle 亚像素卷积上采样的 YOLOv11 代码实现与通道重建的适配细节

139、PixelShuffle 亚像素卷积上采样的 YOLOv11 代码实现与通道重建的适配细节 一、一个让我熬夜到凌晨三点的bug 去年秋天,我在做YOLOv11的Neck结构轻量化改造。当时想把FPN中的最近邻上采样换成PixelShuffle,直觉告诉我这能提升小目标检测精度。改完代码,训练了12个epoch…

2026/7/7 5:49:39 阅读更多 →
140、七种上采样方法的统一对比:最近邻、双线性、CARAFE、DySample、转置卷积的排名

140、七种上采样方法的统一对比:最近邻、双线性、CARAFE、DySample、转置卷积的排名

140、七种上采样方法的统一对比:最近邻、双线性、CARAFE、DySample、转置卷积的排名 从一次诡异的mAP波动说起 去年年底帮一个做遥感检测的朋友调模型,他的YOLOv5s在VisDrone数据集上训练,换了个上采样层,mAP直接从38.7掉到34.2。他用的就是最普通的双线性插值换成最近邻,…

2026/7/7 5:49:39 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻