惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security Affairs
S
Schneier on Security
T
Tenable Blog
G
GRAHAM CLULEY
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
A
Arctic Wolf
I
Intezer
Cyberwarzone
Cyberwarzone
T
The Exploit Database - CXSecurity.com
T
Tailwind CSS Blog
K
Kaspersky official blog
Blog — PlanetScale
Blog — PlanetScale
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Threat Research - Cisco Blogs
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
P
Palo Alto Networks Blog
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
The Cloudflare Blog
Help Net Security
Help Net Security
罗磊的独立博客
博客园 - 聂微东
Jina AI
Jina AI
Project Zero
Project Zero
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 最新话题
V
V2EX
人人都是产品经理
人人都是产品经理
美团技术团队
博客园 - 【当耐特】
Spread Privacy
Spread Privacy
J
Java Code Geeks
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Security Latest
Security Latest
The Last Watchdog
The Last Watchdog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
S
Securelist
Forbes - Security
Forbes - Security
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
P
Privacy International News Feed
宝玉的分享
宝玉的分享
C
CERT Recently Published Vulnerability Notes

RealCat

📝笔记:图像匹配挑战赛回顾(CVPR 2023) | RealCat 📝笔记:Stable Diffusion QR-Code | RealCat 📝笔记:Python zip() | RealCat 📝笔记:图像匹配挑战赛回顾(CVPR 2022) | RealCat 📝笔记:Visualization Localization Revisited(under construction...) | RealCat 📝笔记:使用vlfeat的Matlab接口简单实现BOW以及VLAD | RealCat 📝笔记:一些关于KD-Tree的知识点 | RealCat 📝笔记:简明矩阵求导术之分子布局与分母布局 | RealCat 📝笔记:使用Clockwise/Spiral Rule技巧轻松读懂变量/函数声明 | RealCat 🔨工具:优雅地下载Youtube视频 | RealCat 🔨工具:每日自动获取arXiv论文摘要 | RealCat 🎃资料: 从Eigen向量化谈内存对齐 | RealCat 📝笔记:图像匹配挑战赛总结 (SuperPoint + SuperGlue 缝缝补补还能再战一年) | RealCat 📝笔记:ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM | RealCat 📝笔记:CVPR 2021 | PixLoc: 端到端场景无关视觉定位算法(SuperGlue一作出品) | RealCat 📝笔记:港大MARS实验室 R3LIVE (R2LIVE升级) 鲁棒实时RGB雷达视觉惯导紧耦合状态估计 | RealCat 🔨工具:bash常用命令 | RealCat 📝笔记:VSLAM基础知识导图 | RealCat 📝笔记:Patch-NetVLAD论文阅读 | RealCat 📝笔记:光场相机能否用于SLAM? | RealCat 📝笔记:读写文本常用操作 | RealCat 📝笔记:CVPR 2020 视觉定位挑战赛冠军方案 | RealCat 📝笔记:三维重建系列 COLMAP: Structure-from-Motion Revisited | RealCat 🐈芒果驾到 | RealCat 📝笔记:GMS一种基于运动统计的快速鲁棒特征匹配过滤算法 | RealCat 🌡️秋天到了,还是很热 | RealCat 📝笔记:AdaLAM: Revisiting Handcrafted Outlier Detection 超强外点滤除算法 | RealCat 🔨工具:使用vercel加速Hexo静态博客访问 | RealCat 📝笔记:ORB-SLAM3论文阅读 | RealCat 🔨工具:解决Github挂图及龟速访问 | RealCat 📝笔记:图解卡尔曼滤波 | RealCat 🔨工具:国内加速访问arxiv | RealCat 📝笔记:CVPR2020图像匹配挑战赛,新数据集+新评测方法,SOTA正瑟瑟发抖! | RealCat 📝笔记:SuperGlue:Learning Feature Matching with Graph Neural Networks论文阅读 | RealCat 📝笔记:SLAM常见问题(四):求解ICP,利用SVD分解得到旋转矩阵 | RealCat 📝笔记:SLAM常见问题(五):Singular Value Decomposition(SVD)分解 | RealCat 📝笔记:SLAM常见问题(三):PNP | RealCat 📝笔记:SLAM常见问题(二):重定位Relocalisation | RealCat 📝笔记:SLAM常见问题(一):SearchByBoW | RealCat 📝笔记:2019年浙大CADCG暑假SLAM培训部分课件 | RealCat 🔨工具:Filebrowser:一款轻量级个人网盘 | RealCat 📝笔记:SuperPoint: Self-Supervised Interest Point Detection and Description 自监督深度学习特征点 | RealCat Black Hole | RealCat 🔥Awesome CV Works | RealCat 🔨工具:开启SSR模式 | RealCat 虚实:「未麻的部屋」 | RealCat 笔记:李群与李代数求导 | RealCat 资料:ORB SLAM2 阅读报告 | RealCat 资料:SLAM草稿 | RealCat 资料:Line Segments Detection | RealCat 资料:Eigen与Matlab语句之对应关系 | RealCat 笔记:清华-谷歌人工智能研讨会(Tsinghua-Google AI Symposium) | RealCat Think Different | RealCat Light Field Depth Estimation | RealCat CV Related References | RealCat 立体视觉综述:Stereo Vision Overview | RealCat Lytro的光场AR之路:从巅峰到死亡 | RealCat Stephen Hawking | RealCat 常用的生产力工具 | RealCat 深度学习在深度(视差)估计中的应用(2) | RealCat 深度学习在深度(视差)估计中的应用(1) | RealCat Matlab Deep Learning学习笔记 | RealCat CNN框架(CNN Architectures) | RealCat 理解LSTM网络【译】 | RealCat 降维之PCA主成分分析原理 | RealCat 📝笔记:SIFT和SURF特性提取总结 | RealCat 统计学习方法总结 | RealCat Ubuntu上使用Git以及GitHub | RealCat 机器学习修炼手册 | RealCat 初试HCI光场数据集 | RealCat 实习季到了,大家又浮躁了起来 | RealCat 日本与美国之行 | RealCat Light Field 光场以及MATLAB光场工具包(LightField ToolBox)的使用说明 | RealCat MATLAB:多个不同维度的箱线图画在一起 | RealCat AR形势与应用 | RealCat Hexo+Github+jsDelivr+Vercel建站备忘录 | RealCat Markdown 学习 | RealCat 复试那些事儿 | RealCat
📝笔记:5秒钟训练NeRF,NVIDIA Instant NeRF 测试 | RealCat
2022-04-30 · via RealCat

本文测试了NVIDIA提出的 Instant NeRF

Instant Neural Graphics Primitives with a Multiresolution Hash Encoding Thomas Müller, Alex Evans, Christoph Schied, Alexander Keller ACM Transactions on Graphics (SIGGRAPH), July 2022 Project page / Paper / Code / Video / BibTeX

安装 instant-ngp

完整的文字教程见这个链接instant-ngp-Windows,视频教程见这个链接

安装该软件有以下要求: - NVIDIA GPU - A C++14 capable compiler. - Windows: Visual Studio 2019 - Linux: GCC/G++ 7.5 or higher - CUDA v10.2 or higher - CMake v3.21 or higher. - (optional)OptiX 7.3 or higher - COLMAP

接下来的安装以及操作过程全部是以 WINDOW 11为例进行介绍。

1. VS-STUDIO

安装Visual Studio Community 2019, 设置如下图:

2. 安装CUDA

根据当前系统显卡驱动的版本安装合适的CUDA,这里收集了所有的CUDA版本。 例如,我电脑型号R9000P,显卡型号NVIDIA RTX 3060 LAPTOP,通过nvidia-smi,查看CUDA Version,可看到我的CUDA版本是11.4,于是我选择安装CUDA 11.4.4版本,大家可以根据自己的实际情况。

安装好之后在终端输入nvcc --version查看nvcc版本。

3. 安装CUDNN (optional)

这一步可选,根据CUDA版本,选择合适的CUDNN版本安装,如我需要安装cudnn-11.4

注意:这一步需要开发者权限,需要输入账号密码等信息。

4. 安装OPTIX(optional)

此外需要安装OPTIX,版本需要在7.3或者以上,随后将OptiX_INSTALL_DIR加入系统路径

5. 下载+编译程序

$ git clone --recursive https://github.com/nvlabs/instant-ngp $ cd instant-ngp

由于原项目中有多个依赖项,GitHub限速严重,我上传了一份完整版到Google drive和百度网盘: 链接,提取码: qrdr 。

进入Developer Command Prompt终端:

从终端进入项目目录,进行编译:

cmake . -B build
cmake --build build --config RelWithDebInfo -j 16

安装Anaconda3

这里选择合适的版本进行安装。

更换pip源

创建目录C:\Users\realcat\AppData\Roaming\pip,然后创建一个pip.ini文件,填入下面的内容。

[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
disable-pip-version-check = true
timeout = 6000

配置conda环境

conda create -n ngp python=3.9
conda activate ngp
pip install -r requirements.txt

安装过程最后会出现一个关于openexr的ERROR!这个时候不要慌,在这个地址下载openexr,随后使用pip进行安装:

pip install OpenEXR-1.3.2-cp39-cp39-win_amd64.whl

最后一步,安装COLMAP

这里笔者就不多说了,Release版本,笔者安装的是COLMAP-3.7-windows-cuda.zip

真实世界演示

这里有一些NeRF原作者提供的虚拟以及真实数据集,不过我使用手机拍摄了真实世界的场景一段视频,随后将视频转换为图像,这些图像送入COLMAP使用SFM得到相机位姿(即posed images)。图像数据以及相机位姿文件要转换成intant-ngp输入需要的文件,最后运行intant-ngp编译好的可执行文件。这里需要注意的是,由于手机摄像机采集到的视频尺寸为,该分辨率在我的笔记本上造成了显存不足的问题,于是笔者对图像进行抽帧并降采样处理。

笔者将数据集放在了 Google Drive: tussock_tiny备选地址: tussock_tiny,百度网盘:链接,提取码: ibuz。

真实场景原始数据

目录结构:

📂instant-ngp/ # this is root
├── 📂data/
│	├── 📂toy_truck/
│	│	├── 📜transforms.json # 这是要生成的文件
│	│	├── 📂data/
│	│	│	├── 📜toy_truck_001.jpg
│	│	│	├── 📜toy_truck_002.jpg
│	│	│	│...
│	│	│...
│	│...
│...

<!-- 或者自采数据集 -->

📂F:/ # disk F or E or others, 任意位置
├── 📂dataset/
│	├── 📂tussock_tiny/
│	│	├── 📜transforms.json # 这是要生成的文件
│	│	├── 📂data/
│	│	│	├── 📜image_20.png
│	│	│	├── 📜image_40.png
│	│	│	│...
│	│	│...
│	│...
│...

原始的instant-ngp在Windows上是不支持上述目录结构的,笔者对处理脚本做了一点小小的改动:DIFF

运行脚本

接下来展示如何使用instant-ngp创建模型的关键步骤。

# step1: 视频解码与缩放
# 脚本路径:https://github.com/Vincentqyw/instant-ngp/blob/master/scripts/convert_video.py
python .\scripts\convert_video.py --input E:\NeRF\real_data\data\tussock_tiny\tussock.MOV  \
                                  --output E:\NeRF\real_data\data\tussock_tiny\data\ \
                                  --show_image 1 \
                                  --scale 2

# step2:colmap重建,创建项目,选择图像路径以及数据库,
# 分别进行特征提取/匹配/稀疏重建,导出稀疏模型文件
colmap gui

# step3: 生成intant-ngp输入需要的transforms.json文件
# 脚本路径:https://github.com/Vincentqyw/instant-ngp/blob/master/scripts/colmap2nerf.py
# aabb_scale: 模型超参,建议从16开始,分别尝试8,4,2以及1
# images    : 数据集路径
# text      : 稀疏模型路径
# out       : 配置文件输出路径
python scripts/colmap2nerf.py --aabb_scale 16 \
                              --images E:\NeRF\real_data\data\tussock_tiny\data \
                              --text E:\NeRF\real_data\data\tussock_tiny\sparse\0 \
                              --out E:\NeRF\real_data\data\tussock_tiny\transform.json

# step4: 跑起来吧
.\build\testbed.exe --scene E:\NeRF\real_data\data\tussock_tiny

结果

将结果放在了Youtube,如下:

B站视频如下:

由于时间有限,笔者没有测试更多场景,感兴趣的同学可以DIY一下:)

Bug Fix

VSCode 缩进问题

Ctrl+Shift+P 选择,转缩进为空格 或者 Convert Indentation to Spaces

Windows 11 POWER SHELL报错

运行python显示以下错误: 无法加载文件 C:\Users\32973\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本

解决办法: 1. 以管理员身份运行PowerShell 2. 输入:get-ExecutionPolicy,显示:Restricted,这表示状态是禁止的 3. 这时输入:set-ExecutionPolicy RemoteSigned

参考

  1. instant-ngp-Windows
  2. 如何评价 NVIDIA 最新技术 5 秒训练 NERF?
  3. 论文解读 | Instant Neural Graphics Primitives with a Multiresolution Hash Encoding
  4. WINDOW环境下修改CUDA版本
  5. NeRF原作者提供的虚拟以及真实数据集
  6. R9000P安装CUDA