[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-sjtuytc--UnboundedNeRFPytorch":3,"tool-sjtuytc--UnboundedNeRFPytorch":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",154349,2,"2026-04-13T23:32:16",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":76,"owner_website":79,"owner_url":80,"languages":81,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":102,"env_os":103,"env_gpu":104,"env_ram":105,"env_deps":106,"category_tags":118,"github_topics":119,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":130,"updated_at":131,"faqs":132,"releases":169},7372,"sjtuytc\u002FUnboundedNeRFPytorch","UnboundedNeRFPytorch","State-of-the-art, simple, fast unbounded \u002F large-scale NeRFs.","UnboundedNeRFPytorch 是一个基于 PyTorch 构建的开源项目，专注于实现高性能的无边界（Unbounded）及大规模神经辐射场（NeRF）重建。它主要解决了传统 NeRF 在处理广阔户外场景或大范围空间时，因坐标范围限制导致渲染质量下降或显存爆炸的难题，让用户能够轻松生成覆盖从室内房间到城市街区等无限延伸场景的高保真 3D 视图。\n\n该工具特别适合计算机视觉研究人员、图形学开发者以及需要处理大场景三维重建的工程师使用。其核心理念是“简约而不简单”，摒弃了庞大复杂的代码架构，提供了一个轻量级且易于理解的代码库，同时保持了业界领先（SOTA）的性能表现。在 Tanks & Temples 和 Mip-NeRF-360 等权威基准测试中，UnboundedNeRFPytorch 的渲染精度（PSNR）均超越了 NeRF++、Plenoxels 及原版 Mip-NeRF-360 等知名算法。此外，它还集成了多种前沿的大规模辐射场算法供对比研究，并支持 Waymo 等城市级数据集的训练，是探索大场景三维重建技术的理想起点。","# Unbounded Neural Radiance Fields in Pytorch\n\n\u003C!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fall_contributors-6-orange.svg?style=flat-square)](#contributors-)\n\u003C!-- ALL-CONTRIBUTORS-BADGE:END -->\n\n## 1. Introduction\n\n**This is still a research project in progress.**\n\nThis project aims for benchmarking several state-of-the-art large-scale radiance fields algorithms. We exchangely use terms \"unbounded NeRF\" and \"large-scale NeRF\" because we find the techniques behind them are closely related.\n\nInstead of pursuing a big and complicated code system, we pursue a simple code repo with SOTA performance for unbounded NeRFs.\n\nYou are expected to get the following results in this repository:\n\n| Benchmark                     | Methods      | PSNR      |\n|-------------------------------|--------------|-----------|\n| Unbounded Tanks & Temples     | NeRF++       | 20.49     |\n| Unbounded Tanks & Temples     | Plenoxels    | 20.40     |\n| Unbounded Tanks & Temples     | DVGO         | 20.10     |\n| **Unbounded Tanks & Temples** | **Ours**     | **20.85** |\n| Mip-NeRF-360 Benchmark          | NeRF         | 24.85     |\n| Mip-NeRF-360 Benchmark          | NeRF++       | 26.21     |\n| Mip-NeRF-360 Benchmark          | Mip-NeRF-360 | 28.94     |\n| Mip-NeRF-360 Benchmark          | DVGO         | 25.42     |\n| **Mip-NeRF-360 Benchmark**      | **Ours**     | **28.98** |\n\n\u003Cdetails> \n\n\u003Csummary> Expand \u002F collapse qualitative results. \u003C\u002Fsummary>\n\n## Tanks and Temples:\n\n* Playground:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220946729-d88db335-0618-4b75-9fc2-8de577e1ddb5.mp4\n\n* Truck:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220946857-0f4b7239-8be6-4fca-9bba-2f2425e857a5.mp4\n\n* M60:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947063-068b94f6-3afb-421d-8746-43bcf9643a37.mp4\n\n* Train:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947239-6528d542-b2b8-45e3-8e69-6e0eff869720.mp4\n\n## Mip-NeRF-360 Benchmark:\n\n* Bicycle:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947385-ab31c646-c671-4522-8e4f-a1982d98c753.mp4\n\n* Stump:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947472-47dc4716-095b-45ec-890b-d6afd97de9e9.mp4\n\n* Kitchen:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947597-68f7ec32-c761-4253-955a-a2acc6a2eb25.mp4\n\n* Bonsai:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947686-d8957a2e-ef52-46cf-b437-28de91f55871.mp4\n\n* Garden:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947771-bbd249c0-3d0b-4d25-9b79-d4de9af17c4a.mp4\n\n* Counter:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947818-e5c6b07f-c930-48b2-8aa7-363182dea6be.mp4\n\n* Room:\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220948025-25ce5cc1-3c9a-450c-920d-98a8f153a0fa.mp4\n\n## San Francisco Mission Bay (dataset released by [Block-NeRF](https:\u002F\u002Fwaymo.com\u002Fresearch\u002Fblock-nerf\u002F)):\n* Training splits:\n\n  https:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F200509378-4b9fe63f-4fa4-40b1-83a9-b8950d981a3b.mp4\n\n* Rotation: \n\n  https:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F200509910-a5d8f820-143a-4e03-8221-b04d0db2d050.mov\n\n\u003C\u002Fdetails>\n\nHope our efforts could help your research or projects!\n\n## 2. News\n- [2023.3.20] This project is renamed to \"UnboundedNeRFPytorch\" because we find our work is not large enough (e.g., at city level), rigorously speaking.\n\n\u003Cdetails>\n\u003Csummary> Expand \u002F collapse older news. \u003C\u002Fsummary>\n\n- [2023.2.27] **A major update of our repository with better performance and full code release**. \n- [2022.12.23] Released several weeks' NeRF. Too many papers pop out these days so the update speed is slow.\n- [2022.9.12] Training Block-NeRF on the Waymo dataset, reaching PSNR 24.3.\n- [2022.8.31] Training Mega-NeRF on the Waymo dataset, loss still NAN.\n- [2022.8.24] Support the full Mega-NeRF pipeline.\n- [2022.8.18] Support all previous papers in weekly classified NeRF.\n- [2022.8.17] Support classification in weekly NeRF.\n- [2022.8.16] Support evaluation scripts and data format standard. Getting some results.\n- [2022.8.13] Add estimated camera pose and release a better dataset.\n- [2022.8.12] Add weekly NeRF functions.\n- [2022.8.8] Add the NeRF reconstruction code and doc for custom purposes.\n- [2022.7.28] The data preprocess script is finished.\n- [2022.7.20] This project started!\n\u003C\u002Fdetails>\n\n## 3. Installation\n\u003Cdetails>\n\u003Csummary>Expand \u002F collapse installation steps.\u003C\u002Fsummary>\n\n1. Clone this repository. Use depth == 1 to avoid download a large history.\n   ```bash\n   git clone --depth=1 git@github.com:sjtuytc\u002FLargeScaleNeRFPytorch.git\n   mkdir data\n   mkdir logs\n   ```\n\n2. Create conda environment.\n   ```bash\n   conda create -n large-scale-nerf python=3.9\n   conda activate large-scale-nerf\n   ```\n3. Install pytorch and other libs. Make sure your Pytorch version is compatible with your CUDA.\n   ```bash\n   pip install --upgrade pip\n   conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia\n   pip install -r requirements.txt\n   ```\n\n4. Install grid-based operators to avoid running them every time, cuda lib required. (Check via \"nvcc -V\" to ensure that you have a latest cuda.)\n   ```bash\n   apt-get install g++ build-essential  # ensure you have g++ and other build essentials, sudo access required.\n   cd FourierGrid\u002Fcuda\n   python setup.py install\n   cd ..\u002F..\u002F\n   ```\n5. Install other libs used for reconstructing **custom** scenes. **This is only needed when you need to build your scenes.**\n   ```bash\n   sudo apt-get install colmap\n   sudo apt-get install imagemagick  # required sudo accesss\n   conda install pytorch-scatter -c pyg  # or install via https:\u002F\u002Fgithub.com\u002Frusty1s\u002Fpytorch_scatter\n   ```\n   You can use laptop version of COLMAP as well if you do not have access to sudo access on your server. However, we found if you do not set up COLMAP parameters properly, you would not get the SOTA performance.\n\u003C\u002Fdetails>\n\n## 4. Unbounded NeRF on the public datasets\n\nClick the following sub-section titles to expand \u002F collapse steps.\n\n\u003Cdetails>\n\u003Csummary> 4.1 Download processed data.\u003C\u002Fsummary>\n\n- **Disclaimer**: users are required to get permission from the original dataset provider. Any usage of the data must obey the license of the dataset owner.\n\n(1) [Unbounded Tanks & Temples](https:\u002F\u002Fwww.tanksandtemples.org\u002F). Download data from [here](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F11KRfN91W1AxAW6lOFs4EeYDbeoQZCi87\u002Fview). Then unzip the data.\n\n```bash\ncd data\ngdown --id 11KRfN91W1AxAW6lOFs4EeYDbeoQZCi87\nunzip tanks_and_temples.zip\ncd ..\u002F\n```\n\t\n(2) The [Mip-NeRF-360](https:\u002F\u002Fjonbarron.info\u002Fmipnerf360\u002F) dataset.\n\n```bash\ncd data\nwget http:\u002F\u002Fstorage.googleapis.com\u002Fgresearch\u002Frefraw360\u002F360_v2.zip\nmkdir 360_v2\nunzip 360_v2.zip -d 360_v2\ncd ..\u002F\n```\n\n(3) [San Fran Cisco Mission Bay](https:\u002F\u002Fwaymo.com\u002Fresearch\u002Fblock-nerf\u002F).\nWhat you should know before downloading the data:\n\n- Our processed waymo data is significantly **smaller** than the original version (19.1GB vs. 191GB) because we store the camera poses instead of raw ray directions. Besides, our processed data is more friendly for Pytorch dataloaders. Download [the data](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1Lcc6MF35EnXGyUy0UZPkUx7SfeLsv8u9?usp=sharing) in the Google Drive. You may use [gdown](https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F65001496\u002Fhow-to-download-a-google-drive-folder-using-link-in-linux) to download the files via command lines. If you are interested in processing the raw waymo data on your own, please refer to [this doc](.\u002Fdocs\u002Fget_pytorch_waymo_dataset.md).\n\nThe downloaded data would look like this:\n\n   ```\n   data\n      |\n      |——————360_v2                                    \u002F\u002F the root folder for the Mip-NeRF-360 benchmark\n      |        └——————bicycle                          \u002F\u002F one scene under the Mip-NeRF-360 benchmark\n      |        |         └——————images                 \u002F\u002F rgb images\n      |        |         └——————images_2               \u002F\u002F rgb images downscaled by 2\n      |        |         └——————sparse                 \u002F\u002F camera poses\n      |        ...\n      |——————tanks_and_temples                         \u002F\u002F the root folder for Tanks&Temples\n      |        └——————tat_intermediate_M60             \u002F\u002F one scene under Tanks&Temples\n      |        |         └——————camera_path            \u002F\u002F render split camera poses, intrinsics and extrinsics\n      |        |         └——————test                   \u002F\u002F test split\n      |        |         └——————train                  \u002F\u002F train split\n      |        |         └——————validation             \u002F\u002F validation split\n      |        ...\n      |——————pytorch_waymo_dataset                     \u002F\u002F the root folder for San Fran Cisco Mission Bay\n      |        └——————cam_info.json                    \u002F\u002F extracted cam2img information in dict.\n      |        └——————coordinates.pt                   \u002F\u002F global camera information used in Mega-NeRF, deprecated\n      |        └——————train                            \u002F\u002F train data\n      |        |         └——————metadata               \u002F\u002F meta data per image (camera information, etc)\n      |        |         └——————rgbs                   \u002F\u002F rgb images\n      |        |         └——————split_block_train.json \u002F\u002F split block informations\n      |        |         └——————train_all_meta.json    \u002F\u002F all meta informations in train folder\n      |        └——————val                              \u002F\u002F val data with the same structure as train\n   ```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary> 4.2 Train models and see the results!\u003C\u002Fsummary>\n\nYou only need to run \"python run_FourierGrid.py\" to finish the train-test-render cycle. Explanations of some arguments: \n```bash\n--program: the program to run, normally --program train will be all you need.\n--config: the config pointing to the scene file, e.g., --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Ftruck_single.py.\n--num_per_block: number of blocks used in large-scale NeRFs, normally this is set to -1, unless specially needed.\n--render_train: render the trained model on the train split.\n--render_train: render the trained model on the test split.\n--render_train: render the trained model on the render split.\n--exp_id: add some experimental ids to identify different experiments. E.g., --exp_id 5.\n--eval_ssim \u002F eval_lpips_vgg: report SSIM \u002F LPIPS(VGG) scores.\n```\n\nWhile we list major of the commands in scripts\u002Ftrain_FourierGrid.sh, we list some of commands below for better reproducibility.\n\n```bash\n# Unbounded tanks and temples\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Fplayground_single.py --num_per_block -1 --render_train --render_test --render_video --exp_id 57\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Ftrain_single.py --num_per_block -1 --render_train --render_test --render_video --exp_id 12\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Ftruck_single.py --num_per_block -1 --render_train --render_test --render_video --exp_id 4\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Fm60_single.py --num_per_block -1 --render_train --render_test --render_video --exp_id 6\n\n# 360 degree dataset\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Froom_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 9\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fstump_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 10\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fbicycle_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 11\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fbonsai_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 3\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fgarden_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 2\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fkitchen_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 2\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fcounter_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 2\n\n# San Francisco Mission Bay dataset\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fwaymo\u002Fwaymo_no_block.py --num_per_block 100 --render_video --exp_id 30\n```\n\nThe old version of Block-NeRF is still provided to serve as a baseline, but it will be deprecated soon. We will mainly work on grid-based models later because they are simple and fast. Run the following command to reproduce the old Block-NeRF experiments:\n\n```bash\nbash scripts\u002Fblock_nerf_train.sh\nbash scripts\u002Fblock_nerf_eval.sh\n```\n\n\u003C\u002Fdetails>\n\n\n## 5. Build your custom unbounded NeRF (deprecated)\n\n\u003Cdetails>\n\u003Csummary>Expand \u002F collapse steps for building custom NeRF world.\u003C\u002Fsummary>\n\n1. Put your images under data folder. The structure should be like:\n\n\t```bash\n\tdata\n\t   |——————Madoka          \u002F\u002F Your folder name here.\n\t   |        └——————source \u002F\u002F Source images should be put here.\n\t   |                 └——————---|1.png\n\t   |                 └——————---|2.png\n\t   |                 └——————---|...\n\t```\n   The sample data is provided in [our Google drive folder](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1JyX0VNf0R58s46Abj8HDO1NwZqmGOVRS?usp=sharing). The Madoka and Otobai can be found [at this link](https:\u002F\u002Fsunset1995.github.io\u002Fdvgo\u002Ftutor_forward_facing.html). \n\n2. Run COLMAP to reconstruct scenes. This would probably cost a long time.\n\n\t```bash\n\tpython FourierGrid\u002Ftools\u002Fimgs2poses.py data\u002FMadoka\n\t```\n   You can replace data\u002FMadoka by your data folder.\n   If your COLMAP version is larger than 3.6 (which should not happen if you use apt-get), you need to change export_path to output_path in the colmap_wrapper.py.\n\n3. Training NeRF scenes.\n\n\t```bash\n\tpython FourierGrid\u002Frun_FourierGrid.py --config configs\u002Fcustom\u002FMadoka.py\n\t```\n   You can replace configs\u002Fcustom\u002FMadoka.py by other configs.\n\n4. Validating the training results to generate a fly-through video.\n\n\t```bash\n\tpython FourierGrid\u002Frun_FourierGrid.py --config configs\u002Fcustom\u002FMadoka.py --render_only --render_video --render_video_factor 8\n\t```\n\u003C\u002Fdetails>\n\n\n## 6. Citations & acknowledgements\n\nOur latest theoretical work about grid-based models (**Oral & Best Paper Award Candidate & Full Review Score (5\u002F5\u002F5)** at CVPR24):\n```\n@misc{zhao2024grounding,\n      title={Grounding and Enhancing Grid-based Models for Neural Fields}, \n      author={Zelin Zhao and Fenglei Fan and Wenlong Liao and Junchi Yan},\n      year={2024},\n      eprint={2403.20002},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n\nConsider citing the following great works:\n\n```\n@inproceedings{dvgo,\n  title={Direct voxel grid optimization: Super-fast convergence for radiance fields reconstruction},\n  author={Sun, Cheng and Sun, Min and Chen, Hwann-Tzong},\n  booktitle={Proceedings of the IEEE\u002FCVF Conference on Computer Vision and Pattern Recognition},\n  pages={5459--5469},\n  year={2022}\n}\n\n @InProceedings{Tancik_2022_CVPR,\n    author    = {Tancik, Matthew and Casser, Vincent and Yan, Xinchen and Pradhan, Sabeek and Mildenhall, Ben and Srinivasan, Pratul P. and Barron, Jonathan T. and Kretzschmar, Henrik},\n    title     = {Block-NeRF: Scalable Large Scene Neural View Synthesis},\n    booktitle = {Proceedings of the IEEE\u002FCVF Conference on Computer Vision and Pattern Recognition (CVPR)},\n    month     = {June},\n    year      = {2022},\n    pages     = {8248-8258}\n}\n```\n\nWe refer to the code and data from [DVGO](https:\u002F\u002Fgithub.com\u002Fsunset1995\u002FDirectVoxGO), [nerf-pl](https:\u002F\u002Fgithub.com\u002Fkwea123\u002Fnerf_pl) and [SVOX2](https:\u002F\u002Fgithub.com\u002Fsxyu\u002Fsvox2), thanks for their great work!\n\n## [Weekly classified NeRF](docs\u002Fweekly_nerf.md)\nWe track weekly NeRF papers and classify them. All previous published NeRF papers have been added to the list. We provide an [English version](docs\u002Fweekly_nerf.md) and a [Chinese version](docs\u002Fweekly_nerf_cn.md). We welcome [contributions and corrections](docs\u002Fcontribute_weekly_nerf.md) via PR.\n\nWe also provide an [excel version](docs\u002Fweekly_nerf_meta_data.xlsx) (the meta data) of all NeRF papers, you can add your own comments or make your own paper analysis tools based on the structured meta data.\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https:\u002F\u002Fallcontributors.org\u002Fdocs\u002Fen\u002Femoji-key)):\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n\u003C!-- prettier-ignore-start -->\n\u003C!-- markdownlint-disable -->\n\u003Ctable>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fsjtuytc.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_4eee838ad8ac.png\" width=\"100px;\" alt=\"Zelin Zhao\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zelin Zhao\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fcommits?author=sjtuytc\" title=\"Code\">💻\u003C\u002Fa> \u003Ca href=\"#maintenance-sjtuytc\" title=\"Maintenance\">🚧\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSEUleaderYang\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_2785b1bedaed.png\" width=\"100px;\" alt=\"EZ-Yang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>EZ-Yang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fcommits?author=SEUleaderYang\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAlex-Alison-Zhang\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_1ab3fbaa4435.png\" width=\"100px;\" alt=\"Alex-Zhang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Alex-Zhang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fissues?q=author%3AAlex-Alison-Zhang\" title=\"Bug reports\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Ffanlu97.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_226414b989d3.png\" width=\"100px;\" alt=\"Fan Lu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Fan Lu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fissues?q=author%3AFanLu97\" title=\"Bug reports\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fmaybeshewill-cv.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_63d894bbd153.png\" width=\"100px;\" alt=\"MaybeShewill-CV\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>MaybeShewill-CV\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fissues?q=author%3AMaybeShewill-CV\" title=\"Bug reports\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbuer1121\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_a127fc731e29.png\" width=\"100px;\" alt=\"buer1121\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>buer1121\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fissues?q=author%3Abuer1121\" title=\"Bug reports\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003C!-- markdownlint-restore -->\n\u003C!-- prettier-ignore-end -->\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https:\u002F\u002Fgithub.com\u002Fall-contributors\u002Fall-contributors) specification. Contributions of any kind welcome!\n","# PyTorch 中的无界神经辐射场\n\n\u003C!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![所有贡献者](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fall_contributors-6-orange.svg?style=flat-square)](#contributors-)\n\u003C!-- ALL-CONTRIBUTORS-BADGE:END -->\n\n## 1. 引言\n\n**这仍然是一个正在进行中的研究项目。**\n\n本项目旨在对几种最先进的大规模辐射场算法进行基准测试。我们交替使用“无界 NeRF”和“大规模 NeRF”这两个术语，因为我们发现它们背后的技术密切相关。\n\n我们不追求庞大而复杂的代码体系，而是致力于打造一个简洁的代码库，同时实现无界 NeRF 的 SOTA 性能。\n\n您有望在本仓库中获得以下结果：\n\n| 基准测试                     | 方法      | PSNR      |\n|-------------------------------|--------------|-----------|\n| 无界 Tanks & Temples     | NeRF++       | 20.49     |\n| 无界 Tanks & Temples     | Plenoxels    | 20.40     |\n| 无界 Tanks & Temples     | DVGO         | 20.10     |\n| **无界 Tanks & Temples** | **我们的方法**     | **20.85** |\n| Mip-NeRF-360 基准测试          | NeRF         | 24.85     |\n| Mip-NeRF-360 基准测试          | NeRF++       | 26.21     |\n| Mip-NeRF-360 基准测试          | Mip-NeRF-360 | 28.94     |\n| Mip-NeRF-360 基准测试          | DVGO         | 25.42     |\n| **Mip-NeRF-360 基准测试**      | **我们的方法**     | **28.98** |\n\n\u003Cdetails> \n\n\u003Csummary> 展开\u002F收起定性结果。 \u003C\u002Fsummary>\n\n## Tanks and Temples:\n\n* 游乐场：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220946729-d88db335-0618-4b75-9fc2-8de577e1ddb5.mp4\n\n* 卡车：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220946857-0f4b7239-8be6-4fca-9bba-2f2425e857a5.mp4\n\n* M60：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947063-068b94f6-3afb-421d-8746-43bcf9643a37.mp4\n\n* 火车：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947239-6528d542-b2b8-45e3-8e69-6e0eff869720.mp4\n\n## Mip-NeRF-360 基准测试：\n\n* 自行车：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947385-ab31c646-c671-4522-8e4f-a1982d98c753.mp4\n\n* 树桩：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947472-47dc4716-095b-45ec-890b-d6afd97de9e9.mp4\n\n* 厨房：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947597-68f7ec32-c761-4253-955a-a2acc6a2eb25.mp4\n\n* 盆景：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947686-d8957a2e-ef52-46cf-b437-28de91f55871.mp4\n\n* 花园：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947771-bbd249c0-3d0b-4d25-9b79-d4de9af17c4a.mp4\n\n* 柜台：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220947818-e5c6b07f-c930-48b2-8aa7-363182dea6be.mp4\n\n* 房间：\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F220948025-25ce5cc1-3c9a-450c-920d-98a8f153a0fa.mp4\n\n## 旧金山使命湾（由 [Block-NeRF](https:\u002F\u002Fwaymo.com\u002Fresearch\u002Fblock-nerf\u002F) 发布的数据集）：\n* 训练划分：\n\n  https:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F200509378-4b9fe63f-4fa4-40b1-83a9-b8950d981a3b.mp4\n\n* 旋转： \n\n  https:\u002F\u002Fuser-images.githubusercontent.com\u002F31123348\u002F200509910-a5d8f820-143a-4e03-8221-b04d0db2d050.mov\n\n\u003C\u002Fdetails>\n\n希望我们的努力能够帮助您的研究或项目！\n\n## 2. 最新消息\n- [2023.3.20] 本项目更名为“UnboundedNeRFPytorch”，因为我们认为从严格意义上讲，我们的工作规模还不够大（例如未达到城市级别）。\n\n\u003Cdetails>\n\u003Csummary> 展开\u002F收起过往新闻。 \u003C\u002Fsummary>\n\n- [2023.2.27] **我们的仓库进行了重大更新，性能更优，并完整开源代码**。 \n- [2022.12.23] 发布了数周来的 NeRF 相关内容。最近论文太多，更新速度较慢。\n- [2022.9.12] 在 Waymo 数据集上训练 Block-NeRF，PSNR 达到 24.3。\n- [2022.8.31] 在 Waymo 数据集上训练 Mega-NeRF，但损失仍为 NAN。\n- [2022.8.24] 支持完整的 Mega-NeRF 流程。\n- [2022.8.18] 支持每周分类的 NeRF 中的所有先前论文。\n- [2022.8.17] 支持每周 NeRF 的分类功能。\n- [2022.8.16] 支持评估脚本和数据格式标准，已取得一些成果。\n- [2022.8.13] 添加估计的相机位姿并发布了一个更好的数据集。\n- [2022.8.12] 添加每周 NeRF 功能。\n- [2022.8.8] 添加用于自定义目的的 NeRF 重建代码和文档。\n- [2022.7.28] 数据预处理脚本已完成。\n- [2022.7.20] 本项目正式启动！\n\u003C\u002Fdetails>\n\n## 3. 安装\n\u003Cdetails>\n\u003Csummary>展开\u002F收起安装步骤。\u003C\u002Fsummary>\n\n1. 克隆本仓库。使用深度 == 1 以避免下载庞大的历史记录。\n   ```bash\n   git clone --depth=1 git@github.com:sjtuytc\u002FLargeScaleNeRFPytorch.git\n   mkdir data\n   mkdir logs\n   ```\n\n2. 创建 conda 环境。\n   ```bash\n   conda create -n large-scale-nerf python=3.9\n   conda activate large-scale-nerf\n   ```\n3. 安装 PyTorch 和其他库。请确保您的 PyTorch 版本与您的 CUDA 兼容。\n   ```bash\n   pip install --upgrade pip\n   conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia\n   pip install -r requirements.txt\n   ```\n\n4. 安装基于网格的算子，以避免每次运行时都重新编译，需要 CUDA 库。（通过运行 “nvcc -V” 检查是否已安装最新版本的 CUDA。）\n   ```bash\n   apt-get install g++ build-essential  # 确保您已安装 g++ 和其他构建工具，需具有 sudo 权限。\n   cd FourierGrid\u002Fcuda\n   python setup.py install\n   cd ..\u002F..\u002F\n   ```\n5. 安装其他用于重建**自定义**场景的库。**仅当您需要构建自己的场景时才需要执行此步骤。**\n   ```bash\n   sudo apt-get install colmap\n   sudo apt-get install imagemagick  # 需要 sudo 权限\n   conda install pytorch-scatter -c pyg  # 或通过 https:\u002F\u002Fgithub.com\u002Frusty1s\u002Fpytorch_scatter 安装\n   ```\n   如果您的服务器没有 sudo 权限，也可以使用笔记本电脑版 COLMAP。不过，我们发现如果 COLMAP 参数设置不当，就无法达到 SOTA 性能。\n\u003C\u002Fdetails>\n\n## 4. 公开数据集上的无界NeRF\n\n点击以下子章节标题以展开\u002F折叠步骤。\n\n\u003Cdetails>\n\u003Csummary>4.1 下载处理后的数据。\u003C\u002Fsummary>\n\n- **免责声明**：用户需获得原始数据集提供方的许可。任何对数据的使用都必须遵守数据集所有者的许可协议。\n\n(1) [Unbounded Tanks & Temples](https:\u002F\u002Fwww.tanksandtemples.org\u002F)。从[这里](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F11KRfN91W1AxAW6lOFs4EeYDbeoQZCi87\u002Fview)下载数据，然后解压。\n\n```bash\ncd data\ngdown --id 11KRfN91W1AxAW6lOFs4EeYDbeoQZCi87\nunzip tanks_and_temples.zip\ncd ..\u002F\n```\n\n(2) [Mip-NeRF-360](https:\u002F\u002Fjonbarron.info\u002Fmipnerf360\u002F) 数据集。\n\n```bash\ncd data\nwget http:\u002F\u002Fstorage.googleapis.com\u002Fgresearch\u002Frefraw360\u002F360_v2.zip\nmkdir 360_v2\nunzip 360_v2.zip -d 360_v2\ncd ..\u002F\n```\n\n(3) [San Fran Cisco Mission Bay](https:\u002F\u002Fwaymo.com\u002Fresearch\u002Fblock-nerf\u002F)。\n在下载数据前需要了解以下几点：\n\n- 我们的处理后Waymo数据相比原始版本要**小得多**（19.1GB vs. 191GB），因为我们存储的是相机位姿而非原始光线方向。此外，我们的处理数据更适合PyTorch的数据加载器。请在Google Drive中下载[数据](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1Lcc6MF35EnXGyUy0UZPkUx7SfeLsv8u9?usp=sharing)。您可以使用[gdown](https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F65001496\u002Fhow-to-download-a-google-drive-folder-using-link-in-linux)通过命令行下载文件。如果您有兴趣自行处理原始Waymo数据，请参阅[这篇文档](.\u002Fdocs\u002Fget_pytorch_waymo_dataset.md)。\n\n下载后的数据结构如下：\n\n   ```\n   data\n      |\n      |——————360_v2                                    \u002F\u002F Mip-NeRF-360基准测试的根目录\n      |        └——————bicycle                          \u002F\u002F Mip-NeRF-360基准测试中的一个场景\n      |        |         └——————images                 \u002F\u002F RGB图像\n      |        |         └——————images_2               \u002F\u002F 缩放2倍的RGB图像\n      |        |         └——————sparse                 \u002F\u002F 相机位姿\n      |        ...\n      |——————tanks_and_temples                         \u002F\u002F Tanks&Temples的根目录\n      |        └——————tat_intermediate_M60             \u002F\u002F Tanks&Temples中的一个场景\n      |        |         └——————camera_path            \u002F\u002F 渲染分割的相机位姿、内参和外参\n      |        |         └——————test                   \u002F\u002F 测试分割\n      |        |         └——————train                  \u002F\u002F 训练分割\n      |        |         └——————validation             \u002F\u002F 验证分割\n      |        ...\n      |——————pytorch_waymo_dataset                     \u002F\u002F San Fran Cisco Mission Bay的根目录\n      |        └——————cam_info.json                    \u002F\u002F 提取的相机到图像信息，以字典形式存储\n      |        └——————coordinates.pt                   \u002F\u002F Mega-NeRF中使用的全局相机信息，已弃用\n      |        └——————train                            \u002F\u002F 训练数据\n      |        |         └——————metadata               \u002F\u002F 每张图像的元数据（相机信息等）\n      |        |         └——————rgbs                   \u002F\u002F RGB图像\n      |        |         └——————split_block_train.json \u002F\u002F 分块分割信息\n      |        |         └——————train_all_meta.json    \u002F\u002F 训练文件夹中的所有元数据\n      |        └——————val                              \u002F\u002F 验证数据，结构与训练数据相同\n   ```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>4.2 训练模型并查看结果！\u003C\u002Fsummary>\n\n您只需运行“python run_FourierGrid.py”即可完成训练-测试-渲染的整个流程。部分参数说明如下：\n```bash\n--program: 要运行的程序，通常只需使用--program train即可。\n--config: 指向场景配置文件的路径，例如--config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Ftruck_single.py。\n--num_per_block: 大规模NeRF中使用的块数，通常设置为-1，除非有特殊需求。\n--render_train: 在训练集上渲染训练好的模型。\n--render_test: 在测试集上渲染训练好的模型。\n--render_video: 在渲染分割上生成视频。\n--exp_id: 添加实验编号以便区分不同的实验。例如--exp_id 5。\n--eval_ssim \u002F eval_lpips_vgg: 报告SSIM \u002F LPIPS(VGG)分数。\n```\n\n虽然我们在scripts\u002Ftrain_FourierGrid.sh脚本中列出了主要命令，但为了更好地复现结果，我们在此列出部分命令。\n\n```bash\n# Unbounded tanks and temples\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Fplayground_single.py --num_per_block -1 --render_train --render_test --render_video --exp_id 57\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Ftrain_single.py --num_per_block -1 --render_train --render_test --render_video --exp_id 12\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Ftruck_single.py --num_per_block -1 --render_train --render_test --render_video --exp_id 4\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Fm60_single.py --num_per_block -1 --render_train --render_test --render_video --exp_id 6\n\n# 360度数据集\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Froom_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 9\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fstump_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 10\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fbicycle_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 11\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fbonsai_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 3\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fgarden_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 2\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fkitchen_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 2\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fcounter_single.py --num_per_block -1 --eval_ssim --eval_lpips_vgg --render_train --render_test --render_video --exp_id 2\n\n#旧金山使命湾数据集\npython run_FourierGrid.py --program train --config FourierGrid\u002Fconfigs\u002Fwaymo\u002Fwaymo_no_block.py --num_per_block 100 --render_video --exp_id 30\n```\n\n旧版的Block-NeRF仍然提供作为基线，但很快就会被弃用。我们后续将主要致力于基于网格的模型，因为它们简单且速度快。运行以下命令以复现旧版Block-NeRF实验：\n\n```bash\nbash scripts\u002Fblock_nerf_train.sh\nbash scripts\u002Fblock_nerf_eval.sh\n```\n\n\u003C\u002Fdetails>\n\n\n## 5. 构建自定义无界NeRF（已废弃）\n\n\u003Cdetails>\n\u003Csummary>展开\u002F折叠构建自定义NeRF世界的步骤。\u003C\u002Fsummary>\n\n1. 将你的图像放入data文件夹中。结构应如下所示：\n\n\t```bash\n\tdata\n\t   |——————Madoka          \u002F\u002F 这里填写你的文件夹名称。\n\t   |        └——————source \u002F\u002F 源图像应放在此处。\n\t   |                 └——————---|1.png\n\t   |                 └——————---|2.png\n\t   |                 └——————---|...\n\t```\n   示例数据已在[我们的Google Drive文件夹](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1JyX0VNf0R58s46Abj8HDO1NwZqmGOVRS?usp=sharing)中提供。Madoka和Otobai可以在[这个链接](https:\u002F\u002Fsunset1995.github.io\u002Fdvgo\u002Ftutor_forward_facing.html)找到。\n\n2. 使用COLMAP重建场景。这可能需要较长时间。\n\n\t```bash\n\tpython FourierGrid\u002Ftools\u002Fimgs2poses.py data\u002FMadoka\n\t```\n   你可以将data\u002FMadoka替换为你自己的数据文件夹。\n   如果你的COLMAP版本高于3.6（如果你使用apt-get安装应该不会出现这种情况），你需要在colmap_wrapper.py中将export_path改为output_path。\n\n3. 训练NeRF场景。\n\n\t```bash\n\tpython FourierGrid\u002Frun_FourierGrid.py --config configs\u002Fcustom\u002FMadoka.py\n\t```\n   你可以将configs\u002Fcustom\u002FMadoka.py替换为其他配置文件。\n\n4. 验证训练结果以生成飞行穿越视频。\n\n\t```bash\n\tpython FourierGrid\u002Frun_FourierGrid.py --config configs\u002Fcustom\u002FMadoka.py --render_only --render_video --render_video_factor 8\n\t```\n\u003C\u002Fdetails>\n\n\n## 6. 引用与致谢\n\n我们关于基于网格模型的最新理论工作（CVPR24口头报告、最佳论文候选，并获得全评审分数5\u002F5\u002F5）：\n```\n@misc{zhao2024grounding,\n      title={Grounding and Enhancing Grid-based Models for Neural Fields}, \n      author={Zelin Zhao和Fenglei Fan和Wenlong Liao和Junchi Yan},\n      year={2024},\n      eprint={2403.20002},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n\n请考虑引用以下优秀的工作：\n\n```\n@inproceedings{dvgo,\n  title={Direct voxel grid optimization: Super-fast convergence for radiance fields reconstruction},\n  author={Sun, Cheng和Sun, Min和Chen, Hwann-Tzong},\n  booktitle={IEEE\u002FCVF计算机视觉与模式识别会议论文集},\n  pages={5459--5469},\n  year={2022}\n}\n\n @InProceedings{Tancik_2022_CVPR,\n    author    = {Tancik, Matthew和Casser, Vincent和Yan, Xinchen和Pradhan, Sabeek和Mildenhall, Ben和Srinivasan, Pratul P.和Barron, Jonathan T.和Kretzschmar, Henrik},\n    title     = {Block-NeRF: Scalable Large Scene Neural View Synthesis},\n    booktitle = {IEEE\u002FCVF计算机视觉与模式识别会议（CVPR）论文集},\n    month     = {六月},\n    year      = {2022},\n    pages     = {8248-8258}\n}\n```\n\n我们参考了来自[DVGO](https:\u002F\u002Fgithub.com\u002Fsunset1995\u002FDirectVoxGO)、[nerf-pl](https:\u002F\u002Fgithub.com\u002Fkwea123\u002Fnerf_pl)和[SVOX2](https:\u002F\u002Fgithub.com\u002Fsxyu\u002Fsvox2)的代码和数据，感谢他们的杰出工作！\n\n## [每周NeRF分类](docs\u002Fweekly_nerf.md)\n我们每周跟踪并分类NeRF相关论文。所有已发表的NeRF论文均已加入列表。我们提供了[英文版](docs\u002Fweekly_nerf.md)和[中文版](docs\u002Fweekly_nerf_cn.md)。欢迎通过PR提交[贡献和修正](docs\u002Fcontribute_weekly_nerf.md)。\n\n我们还提供了所有NeRF论文的[Excel版元数据](docs\u002Fweekly_nerf_meta_data.xlsx)，你可以根据这些结构化的元数据添加自己的评论或开发自己的论文分析工具。\n\n## 贡献者 ✨\n\n感谢以下各位优秀的贡献者（[emoji键](https:\u002F\u002Fallcontributors.org\u002Fdocs\u002Fen\u002Femoji-key)）：\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n\u003C!-- prettier-ignore-start -->\n\u003C!-- markdownlint-disable -->\n\u003Ctable>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fsjtuytc.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_4eee838ad8ac.png\" width=\"100px;\" alt=\"Zelin Zhao\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zelin Zhao\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fcommits?author=sjtuytc\" title=\"代码\">💻\u003C\u002Fa> \u003Ca href=\"#maintenance-sjtuytc\" title=\"维护\">🚧\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSEUleaderYang\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_2785b1bedaed.png\" width=\"100px;\" alt=\"EZ-Yang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>EZ-Yang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fcommits?author=SEUleaderYang\" title=\"代码\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAlex-Alison-Zhang\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_1ab3fbaa4435.png\" width=\"100px;\" alt=\"Alex-Zhang\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Alex-Zhang\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fissues?q=author%3AAlex-Alison-Zhang\" title=\"漏洞报告\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Ffanlu97.github.io\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_226414b989d3.png\" width=\"100px;\" alt=\"Fan Lu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Fan Lu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fissues?q=author%3AFanLu97\" title=\"漏洞报告\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fmaybeshewill-cv.github.io\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_63d894bbd153.png\" width=\"100px;\" alt=\"MaybeShewill-CV\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>MaybeShewill-CV\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fissues?q=author%3AMaybeShewill-CV\" title=\"漏洞报告\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbuer1121\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_readme_a127fc731e29.png\" width=\"100px;\" alt=\"buer1121\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>buer1121\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FLargeScaleNeRFPytorch\u002Fissues?q=author%3Abuer1121\" title=\"漏洞报告\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003C!-- markdownlint-restore -->\n\u003C!-- prettier-ignore-end -->\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:END -->\n\n本项目遵循[all-contributors](https:\u002F\u002Fgithub.com\u002Fall-contributors\u002Fall-contributors)规范。欢迎任何形式的贡献！","# UnboundedNeRFPytorch 快速上手指南\n\nUnboundedNeRFPytorch 是一个专注于无边界（大规模）神经辐射场（NeRF）的 PyTorch 实现项目。该项目旨在提供一个代码简洁且性能达到 SOTA（State-of-the-Art）的基准测试库，支持 Tanks & Temples、Mip-NeRF-360 等数据集的高效重建。\n\n## 1. 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **GPU**: 支持 CUDA 的 NVIDIA 显卡\n*   **CUDA**: 版本需与 PyTorch 兼容（示例中为 11.6，建议使用较新版本）\n*   **编译器**: `g++` 和 `build-essential` (用于编译 CUDA 算子)\n*   **包管理器**: Conda (推荐 Miniconda 或 Anaconda)\n*   **可选依赖** (仅当需要处理自定义场景时): `colmap`, `imagemagick`\n\n## 2. 安装步骤\n\n### 2.1 克隆仓库\n使用 `--depth=1` 参数避免下载庞大的历史记录。\n\n```bash\ngit clone --depth=1 git@github.com:sjtuytc\u002FLargeScaleNeRFPytorch.git\ncd LargeScaleNeRFPytorch\nmkdir data\nmkdir logs\n```\n\n### 2.2 创建 Conda 环境\n创建一个名为 `large-scale-nerf` 的 Python 3.9 环境。\n\n```bash\nconda create -n large-scale-nerf python=3.9\nconda activate large-scale-nerf\n```\n\n### 2.3 安装 PyTorch 及基础依赖\n**注意**：请根据您的实际 CUDA 版本调整 `pytorch-cuda` 的版本号。国内用户推荐使用清华源或阿里源加速下载。\n\n```bash\n# 升级 pip\npip install --upgrade pip -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n\n# 安装 PyTorch (示例为 CUDA 11.6，请根据实际情况调整)\n# 国内加速命令示例 (清华源):\nconda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia -i https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fcloud\u002Fpytorch\u002Flinux-64\u002F\n\n# 安装 requirements.txt 中的其他依赖\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 2.4 编译 CUDA 算子\n项目包含自定义的网格算子，需要本地编译以避免每次运行都重新编译。\n\n```bash\n# 确保已安装 g++ 和 build-essential (需要 sudo 权限)\nsudo apt-get install g++ build-essential\n\n# 检查 CUDA 是否可用\nnvcc -V\n\n# 编译并安装 FourierGrid cuda 算子\ncd FourierGrid\u002Fcuda\npython setup.py install\ncd ..\u002F..\u002F\n```\n\n### 2.5 安装自定义场景重建工具（可选）\n如果您只需要运行官方提供的预处理数据集，可跳过此步。若需从头重建自定义场景，需安装 COLMAP 等工具。\n\n```bash\nsudo apt-get install colmap\nsudo apt-get install imagemagick\nconda install pytorch-scatter -c pyg\n```\n\n## 3. 基本使用\n\n### 3.1 准备数据\n本项目不包含原始数据集，需自行下载并放入 `data` 目录。\n\n*   **Unbounded Tanks & Temples**: [下载链接](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F11KRfN91W1AxAW6lOFs4EeYDbeoQZCi87\u002Fview)\n*   **Mip-NeRF-360**: [下载链接](http:\u002F\u002Fstorage.googleapis.com\u002Fgresearch\u002Frefraw360\u002F360_v2.zip)\n*   **Waymo (San Francisco Mission Bay)**: [下载链接](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1Lcc6MF35EnXGyUy0UZPkUx7SfeLsv8u9?usp=sharing)\n\n下载后解压，确保目录结构如下：\n```text\ndata\u002F\n├── tanks_and_temples\u002F\n├── 360_v2\u002F\n└── pytorch_waymo_dataset\u002F\n```\n\n### 3.2 训练与渲染\n核心脚本为 `run_FourierGrid.py`。以下以 **Tanks & Temples** 数据集中的 `truck` 场景为例，执行训练、测试集渲染和视频生成。\n\n```bash\npython run_FourierGrid.py \\\n  --program train \\\n  --config FourierGrid\u002Fconfigs\u002Ftankstemple_unbounded\u002Ftruck_single.py \\\n  --num_per_block -1 \\\n  --render_train \\\n  --render_test \\\n  --render_video \\\n  --exp_id 001\n```\n\n**常用参数说明：**\n*   `--program`: 运行模式，通常为 `train`。\n*   `--config`: 指向具体场景的配置文件路径。\n*   `--num_per_block`: 大规模 NeRF 使用的块数量，通常设为 `-1`。\n*   `--render_train\u002Ftest\u002Fvideo`: 分别渲染训练集、测试集或生成漫游视频。\n*   `--exp_id`: 实验 ID，用于区分不同的实验结果。\n*   `--eval_ssim` \u002F `--eval_lpips_vgg`: 启用 SSIM 或 LPIPS 指标评估。\n\n### 3.3 查看结果\n训练完成后，日志和渲染结果将保存在 `logs` 目录下（具体子目录由 `--exp_id` 决定）。您可以查看生成的图像序列或使用视频播放器观看 `render_video` 生成的 MP4 文件。\n\n对于 **Mip-NeRF-360** 数据集（如 `bicycle` 场景），命令类似，只需更改 config 路径并添加评估指标：\n\n```bash\npython run_FourierGrid.py \\\n  --program train \\\n  --config FourierGrid\u002Fconfigs\u002Fnerf_unbounded\u002Fbicycle_single.py \\\n  --num_per_block -1 \\\n  --eval_ssim \\\n  --eval_lpips_vgg \\\n  --render_train \\\n  --render_test \\\n  --render_video \\\n  --exp_id 002\n```","某数字孪生团队正试图利用无人机航拍数据，重建一个包含广阔地形与精细建筑的城市公园三维模型，以用于虚拟现实漫游。\n\n### 没有 UnboundedNeRFPytorch 时\n- **场景尺度受限**：传统 NeRF 算法难以处理“无边界”的大尺度场景，强行训练会导致远处背景模糊或几何结构崩塌，无法完整还原公园全貌。\n- **渲染质量平庸**：在 Tanks & Temples 等复杂基准测试中，现有开源方案的 PSNR（峰值信噪比）往往停留在 20.5 以下，生成的视频存在明显伪影和闪烁。\n- **代码集成困难**：为了追求大场景效果，开发者不得不拼凑多个复杂的科研代码库，导致环境配置繁琐、调试周期长达数周。\n- **训练效率低下**：缺乏针对大规模场景优化的采样策略，显存占用极高且收敛速度慢，难以在有限算力下完成高精度建模。\n\n### 使用 UnboundedNeRFPytorch 后\n- **完美支持大场景**：凭借专为无边界场景设计的架构，轻松容纳从近处花草到远处山脉的无限延伸空间，几何结构完整且自然。\n- **画质达到 SOTA 级别**：在同等数据集下，PSNR 提升至 20.85 甚至更高（Mip-NeRF-360 基准达 28.98），输出的漫游视频清晰流畅，细节丰富。\n- **代码简洁易上手**：提供了一个精简且高性能的代码库，无需魔改即可复现顶尖论文效果，将原本数周的工程适配时间缩短至几天。\n- **训练快速稳定**：内置高效的采样与优化机制，显著降低显存压力并加速收敛，让大规模场景重建在单卡或多卡环境下均能高效运行。\n\nUnboundedNeRFPytorch 通过极简的代码实现突破了大尺度场景重建的质量瓶颈，让高保真三维数字化变得触手可及。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsjtuytc_UnboundedNeRFPytorch_d202f956.png","sjtuytc","Zelin Zhao","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fsjtuytc_4eee838a.jpg","Researcher",null,"USA","sjtuytc@gmail.com","https:\u002F\u002Fscholar.google.com\u002Fcitations?user=UDi4V3AAAAAJ&hl=en","https:\u002F\u002Fgithub.com\u002Fsjtuytc",[82,86,90,94],{"name":83,"color":84,"percentage":85},"Python","#3572A5",92.7,{"name":87,"color":88,"percentage":89},"Cuda","#3A4E3A",4.4,{"name":91,"color":92,"percentage":93},"C++","#f34b7d",1.6,{"name":95,"color":96,"percentage":97},"Shell","#89e051",1.3,1323,113,"2026-04-08T04:36:11","MIT",4,"Linux","必需 NVIDIA GPU，需安装与 PyTorch 兼容的 CUDA（示例中为 CUDA 11.6），需运行 nvcc 编译自定义 CUDA 算子","未说明",{"notes":107,"python":108,"dependencies":109},"1. 必须安装 g++ 和 build-essential 以编译 FourierGrid 下的自定义 CUDA 算子。2. 若需重建自定义场景，需安装 COLMAP 和 ImageMagick（需 sudo 权限）。3. 项目处于研究阶段，代码库旨在提供简洁的 SOTA 性能基准。4. 使用 Waymo 数据集前需遵守原始数据许可。","3.9",[110,111,112,113,114,115,116,117],"torch==1.13.1","torchvision==0.14.1","torchaudio==0.13.1","pytorch-cuda=11.6","pytorch-scatter","gdown","colmap","imagemagick",[35,14],[120,121,122,123,124,125,126,127,128,129],"nerf","pytorch-implementation","block-nerf","view-synthesis","weekly-nerf","classified","pytorch","chinese-translation","deep-learning","unbounded","2026-03-27T02:49:30.150509","2026-04-14T12:30:11.651479",[133,138,143,147,152,156,160,165],{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},33086,"如何从 SLAM 获取的位姿和相机内参生成 ray_origins 和 ray_directions？","可以通过编写脚本将原始图像和位姿转换为 Waymo 格式的 tfrecord。核心是使用 meshgrid 生成像素坐标，结合相机内参 K 和外参 c2w 计算射线。参考代码逻辑如下：\n1. 使用 torch.meshgrid 生成像素网格 (i, j)。\n2. 根据模式（如 'center'）调整像素坐标（+0.5）。\n3. 利用内参矩阵 K 和外参矩阵 c2w 将像素坐标转换为相机坐标系下的射线方向，再转换到世界坐标系得到 ray_origins 和 ray_directions。\n具体实现可参考 LargeScaleNeRFPytorch 项目中关于 Waymo 数据集处理的文档和代码。","https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FUnboundedNeRFPytorch\u002Fissues\u002F44",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},33087,"训练大型场景时遇到 CUDA Out Of Memory (OOM) 错误如何解决？","遇到显存不足（OOM）时，可以尝试以下方法：\n1. 调节 grid size：在配置文件中减小网格大小以减少显存占用。\n2. 检查数据加载逻辑：某些配置（如 waymo_block.py）可能会一次性将一个 block 的大量数据（如 900 张图）读入 GPU，导致显存爆炸。需确保数据是分批加载或按需加载的。\n3. 设置环境变量：如果保留内存远大于分配内存，可以尝试设置 max_split_size_mb 以避免碎片化（例如 export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512）。\n4. 使用更小的 batch size 或降低分辨率。","https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FUnboundedNeRFPytorch\u002Fissues\u002F87",{"id":144,"question_zh":145,"answer_zh":146,"source_url":142},33088,"使用 iPhone 拍摄的数据进行重建时，SfM 失败或图像与位姿不匹配怎么办？","iPhone 拍摄的数据常存在抖动且连续帧间区别小，导致 SfM（如 COLMAP）难以工作。常见问题及建议：\n1. 对准问题：不同相机甚至同一相机前后帧之间可能存在未对准（误差可达 5 度），COLMAP 对此类序列效果不佳。\n2. 图像数量：如果图像太少（如仅 69 张且特征点不足），SfM 会失败。尝试增加拍摄角度和重叠率。\n3. 替代方案：如果已有 SLAM 位姿，可直接使用位姿而非依赖 SfM 重新计算。确保图像文件名与位姿索引严格对应，避免 \"Mismatch between imgs and poses\" 错误。",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},33089,"处理 Waymo 数据集时报错找不到 metadata.json 文件如何处理？","该错误通常是因为数据集目录结构不符合预期。根据项目文档处理 Waymo 数据集后，生成的目录结构中可能确实不包含根目录下的 metadata.json，或者该文件位于特定的子目录中。\n解决方法：\n1. 检查路径：确认代码中读取 metadata.json 的路径是否正确指向了处理后的数据集文件夹。\n2. 重新运行预处理：确保完整运行了数据预处理脚本（如 split_block.py 等），这些脚本负责生成必要的元数据文件。\n3. 手动创建或复制：如果确认是缺失文件，检查是否有模板或其他块（block）的 metadata.json 可以参考，或者检查预处理步骤是否遗漏了生成该文件的环节。","https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FUnboundedNeRFPytorch\u002Fissues\u002F91",{"id":153,"question_zh":154,"answer_zh":155,"source_url":151},33090,"在 split_block.py 中遇到 'only one element tensors can be converted to Python scalars' 错误怎么修复？","这是一个代码兼容性问题，通常发生在将包含多个元素的 Tensor 直接转换为 numpy 数组或标量时。\n修复方法：\n找到报错文件 split_block.py 的第 204 行左右，将原代码：\norigins = np.array(origins)\n修改为：\norigins = torch.cat(origins).numpy()\n或者确保在转换前先对 tensor 列表进行拼接（cat）操作，然后再转换为 numpy 数组。这能解决因 Tensor 元素数量不匹配导致的转换错误。",{"id":157,"question_zh":158,"answer_zh":159,"source_url":137},33091,"训练 Block-NeRF 时指标极低或不增长是什么原因？","训练指标不增长或结果模糊可能的原因包括：\n1. 未完全收敛：训练数据量不足或训练 epoch 不够。尝试增加训练时间或数据量。\n2. 曝光度参数：如果无法获取真实曝光度，可以默认取一个固定值（如 Waymo 数据中的 0.006），在室内环境下通常影响不大。\n3. 测试集选择：使用训练集进行测试通常能得到更好的结果以验证模型是否过拟合或欠拟合。\n4. 配置问题：检查是否使用了正确的配置文件，以及数据加载是否正常（避免 OOM 导致训练异常）。",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},33092,"如何获取 BlockNeRF 数据集的相机外参（Camera Extrinsic）？","如果尝试使用 COLMAP 提取外参时遇到 \"ERROR: the correct camera poses for current points cannot be accessed\" 错误，说明 COLMAP 无法对该数据集有效重建位姿。\n建议方案：\n1. 直接使用提供的位姿：BlockNeRF 数据集通常已经包含了处理好的相机位姿，无需重新通过 SfM 计算。\n2. 检查数据源：如果是自定义数据，确保图像有足够的重叠度和纹理特征供 COLMAP 匹配。\n3. 参考现有代码：项目中提供了将 Waymo tfrecord 转换为数据集的代码，其中包含了位姿提取的逻辑，可直接复用而非依赖 COLMAP。","https:\u002F\u002Fgithub.com\u002Fsjtuytc\u002FUnboundedNeRFPytorch\u002Fissues\u002F5",{"id":166,"question_zh":167,"answer_zh":168,"source_url":142},33093,"训练命令中缺少 FourierGrid 路径或参数错误如何解决？","教程中的命令往往是示例，实际运行时需要根据本地环境调整。\n1. 路径问题：确保命令行中指定的 config 路径（如 FourierGrid\u002Fconfigs\u002F...）在实际文件系统中存在。如果目录结构不同，需修正路径。\n2. 参数缺失：检查命令是否包含了必要的参数，如 --num_per_block, --exp_id 等。\n3. 配置文件：对于大型场景，选择合适的配置文件（如 tankstemple_unbounded 或 waymo 相关配置），并根据显存情况调整 grid size 等参数以避免 OOM。",[170,175],{"id":171,"version":172,"summary_zh":173,"released_at":174},252540,"v1.0.1","修复 v1.0.0 中的一个变量问题","2023-02-28T07:00:42",{"id":176,"version":177,"summary_zh":178,"released_at":179},252541,"v1.0.0","这标志着 FourierGrid 的首次发布。\n旧代码已在此处存档，以供日后参考。\n请注意，我们将在后续版本中弃用旧的 Block-NeRF 实现。","2023-02-28T06:25:04"]