Instant-NGP: Multi-resolution Hash Encoding(多分辨率哈希编码)

Instant-NGP: Multi-resolution Hash Encoding(多分辨率哈希编码)

文章目录

Multi-resolution Hash Encoding(多分辨率哈希编码)

输入: 输入是 x \mathbf{x} x = [ x , y ] [x, y] [x,y],一个2D weight tensor归一化的坐标 (后续会进行插值)

输出:
在 Instant-NGP 的架构中,训练过程实际上是在优化两部分:显式特征(Explicit Features):

  • 存储在哈希表(Hash Table)中的 L × T L \times T L×T 个特征向量。
  • 隐式映射(Implicit Mapping):后端小型 MLP 的权重。

Multi-resolution Hash Encoding分为四个步骤

  • 系统预设 L L L 个不同精度的网格(从粗糙到精细)。粗层捕捉大轮廓,细层捕捉微小细节。
  • 网格顶点索引与哈希 (Hashing):在每一层,坐标 x \mathbf{x} x 会落在某个小格子(Voxel)里。计算该格子 4 个顶点的索引(三维空间8个顶点,二维空间4个顶点)。为了节省空间,如果顶点数超过预设大小 T T T,则使用空间哈希函数将坐标映射到固定大小的哈希表中: h ( x ) = ( ⨁ i = 1 d x i π i ) m o d T h(\mathbf{x}) = (\bigoplus_{i=1}^d x_i \pi_i) \mod T h(x)=(i=1⨁d​xi​πi​)modT 这里d=4是顶点数,x是坐标, π \pi π是一个很大的质数,为了让坐标的每一维在计算时都能产生巨大的差异,从而打乱空间顺序,减少“空间聚集性”导致的冲突(就是哈希的原理), ⨁ \bigoplus ⨁是按位异或
  • 双线性插值 (Interpolation):根据 x \mathbf{x} x 在当前格子内的相对位置,对 4 个顶点的哈希特征向量进行线性插值,得到该层分辨率下的特征。
  • 特征拼接 (Concatenation):将所有 L L L 层得到的特征向量拼接在一起,输入给一个非常小的 MLP(通常只有 2 层)解码回图像像素值。

下面分步骤讲解代码实现:

双线性插值

classImage(torch.nn.Module):def__init__(self, filename, device):...# load a tensor/imagedefforward(self, xs):with torch.no_grad():# Bilinearly filtered lookup from the image. Not super fast,# but less than ~20% of the overall runtime of this example. shape = self.shape xs 

Read more

免费获得大模型的Api-Key的方法:英伟达提供GLM-4.7、Minimax M2.1模型和GitHub的AI大模型API申请

免费获得大模型的Api-Key的方法:英伟达提供GLM-4.7、Minimax M2.1模型和GitHub的AI大模型API申请 最近一直在玩OpenClaw,无奈OpenClaw是个消耗token的高手!随随便便问了几个问题就能吃掉百万的token数,妥妥的吞金兽,如果有免费的token就好了! 今天就给大家介绍英伟达和Github的免费大模型API Key的获取方法。 传送门: * • OpenRouter提供的DeepSeek-R1-70B的大模型免费用 * • 获取各大人工智能AI工具通过API和KEY调用的方法 英伟达-Nvidia的免费API Key 说到英伟达,大家的第一反应可能是"卖显卡的大佬"。但很少有人意识到,拥有强大算力的英伟达,也在积极布局AI云服务市场。这波免费开放API的策略,本质上是一个聪明的生态布局——通过免费服务吸引开发者,为未来的商业变现铺路。   注册账号 1.打开英伟达官网 https://build.nvidia.com 点击“Login”   2.输入邮箱 输入邮箱、密码   3.验

By Ne0inhk

爆肝 2 天,用 GLM5 开发了 OpenClaw 接入微信 bot,已开源!

这是苍何的第 493 篇原创! 大家好,我是苍何。 OpenClaw,这个 GitHub 上 18 万 Star 的怪物级开源项目,你们应该都听过了吧? 飞书能接、钉钉能接、企业微信能接、QQ 能接、Discord 能接…… 但偏偏最多人用的「微信个人号」,它不支持。 我翻遍了 GitHub、掘金、知乎,找到的方案要么是企业微信绕一圈,要么是用微信 Web 协议搞,动不动就封号。 说实话,这谁顶得住? 天天在微信上跟朋友聊天、在群里吹水,结果想接个 OpenClaw 都这么费劲? 麻了。 于是我决定自己干。 「爆肝 2 天,我把 OpenClaw 接入了微信个人号,并且已经开源了。」 地址:

By Ne0inhk
盘点|2025 无人机四大顶会最值得阅读的16篇论文(IROS/ICRA/RSS/CoRL)

盘点|2025 无人机四大顶会最值得阅读的16篇论文(IROS/ICRA/RSS/CoRL)

「 在看、在理解、在博弈 」 目录 01  IROS(4篇) Automatic Generation of Aerobatic Flight in Complex Environments via Diffusion Models Flying on Point Clouds with Reinforcement Learning Perception-aware Planning for Quadrotor Flight in Unknown and Feature-limited Environments PI-WAN: A Physics-Informed Wind-Adaptive Network for Quadrotor Dynamics Prediction in Unknown Environments 02  ICRA(4篇)

By Ne0inhk
[Git] 初识 Git 与安装入门

[Git] 初识 Git 与安装入门

告别文件噩梦:初识 Git 与安装入门 嘿,朋友!不知道你是不是也遇到过这样的情况:你在写一份重要的文档、报告,或者更常见的,一段代码时,为了安全起见,怕改错了回不去,或者想保留不同阶段的版本,于是不得不像这样保存文件: * “报告-v1.doc” * “报告-v2.doc” * “报告-最终版.doc” * “报告-最终版-最终的最终版.doc” * “报告-领导说再改改版.doc” * … 是不是看着就头大?电脑里塞满了各种名字相似的文件,时间一长,你根本分不清“最终版”和“最终的最终版”到底差在哪里,想要找回某个阶段的内容更是难上加难。 文档如此,我们辛辛苦苦写出来的代码更是这样!如果代码没有版本管理,那简直是一场灾难,特别是当需要和别人协作的时候。 别怕!解决这个问题的“神器”来了——它就是版本控制系统。 什么是版本控制系统? 想象一下,版本控制系统就像一个超级详细的“文件时光机”或者“改动日志本”

By Ne0inhk