SparseConv原理 📅 发布时间:2026/7/16 13:33:07 👁️ 浏览次数: 1.Sparse Conv 的核心思想非常重要Sparse conv 并不是“数学上的新卷积”而是数据结构 调度方式变了。关键变化只有两点1️⃣ 不再用 dense tensor而是用「稀疏表示」典型表示方式features: [N, C] # 只有 N 个非空 voxel indices: [N, 4] # (batch_id, z, y, x)而不是[B, C, Z, Y, X] # 巨大的 dense tensor2️⃣ 卷积时只对“活跃 voxel”计算对每个非空 voxel枚举 kernel offset如 3×3×3查找邻居 voxel 是否存在存在 → 参与计算不存在 →直接跳过本质上就是hash table / coordinate map gather/scatter2. Voxel表达方式的理解只保留了N个有点云的Voxel所以Voxel是稀疏的比较好理解比较疑惑的是indices: [N, 4]是如何表达邻居关系的indices是非空 voxel 的网格索引indices: [N, 4] (batch_id, z, y, x)这里的z, y, x不是原始点云坐标不是连续物理坐标是voxel grid 的离散整数索引也就是说(x_index, y_index, z_index) floor((point_xyz - min_range) / voxel_size)例如voxel_size 0.2m min_x -40m 物理 x -39.6m → x_index floor(( -39.6 - (-40) ) / 0.2) → x_index 2所以✅ 它是“物理空间离散化后的坐标”它能表达前后左右关系吗答案是✅ 能表达❌ 但只是“栅格级别”的表达为什么能表达因为 voxel grid 是规则网格。假设voxel_size 0.2m那么(x, y, z) (x1, y, z)在物理空间中相差 0.2m所以x1 物理空间向某个方向移动一个 voxely1 正交方向移动z1 高度方向移动Sparse Conv 的本质在规则 voxel 网格上只对 active voxel 进行卷积用“坐标查找”代替 dense 扫描。现在假设你已经有features: [N, C] indices: [N, 4] # (b, z, y, x) spatial_shape [Z, Y, X]我们用最精简 工程视角讲清楚Sparse Conv 到底做了什么。具体做法4步① 建立坐标哈希表把所有 active voxel 放进 hash map(b, z, y, x) → feature_row_id作用O(1) 判断某个 voxel 是否存在② 枚举 kernel offset例如 3×3×3offsets { (-1,-1,-1), ... ( 1, 1, 1) }这是卷积的“邻域定义”。③ 构建 indice pairs核心对每个 active voxelfor each offset: neighbor (zdz, ydy, xdx) if neighbor 在 hash_map 中: 记录 (input_id, output_id)最终得到pairs[k] [ (in_id1, out_id7), (in_id5, out_id2), ... ]这一步完成稀疏邻居关系构建④ 真正的卷积计算对于每个 kernel offset kout[out_ids] W[k] in[in_ids]实现方式gather → matmul → scatter_add这就是 sparse conv 的全部数学计算。
SimuRTS提供完整HIL测试解决方案! 在无人机研发领域,飞控系统作为 “大脑”,其功能性能直接决定飞行安全与任务精度。传统试飞测试不仅成本高、周期长,还面临坠机、设备损坏等不可控风险。凯云凭借在实时仿真与测试领域的深厚技术积累,推出以实时仿真软件 SimuRTS … 2026/7/13 22:18:33
岩石的剪胀性 图2-6表示的常规三轴压缩试验的一般结果,其中实线表示密实砂土或超固结粘土,虚线表示松砂或正常固结粘土。从图2-6(a)可以看出,正常固结粘土和松砂的应力随应变增加而增加,但增量速率越来越慢,最后趋于稳定;… 2026/7/16 0:30:00
【Oracle】PLSQL Developer 15 从零到精通的实战配置与核心功能解析 1. PLSQL Developer 15安装指南第一次接触PLSQL Developer时,我完全被它强大的功能震撼到了。作为Oracle数据库开发的瑞士军刀,这个工具能让你的工作效率提升好几倍。但要想用好它,首先得把安装这关过了。1.1 获取安装包官方下载地址是www.al… 2026/7/16 23:52:00
从《物理魔法使马修》看教育误区与个性化培养策略 1. 从马修的故事看教育中的常见误区《物理魔法使马修》这部作品通过主角马修的成长轨迹,揭示了许多家庭教育中容易陷入的误区。马修天生无法使用魔法,在魔法至上的世界里被视作“异类”,但他的养父却从未将他视为实现个人野心的工具ÿ… 2026/7/16 23:52:00
从理论到代码:全向轮与麦克纳姆轮底盘运动学逆解实战解析(附电机控制核心方程) 1. 全向轮与麦克纳姆轮底盘基础认知第一次接触全向移动底盘时,我被它灵活的走位惊艳到了——传统小车需要反复调整方向才能到达的位置,这种底盘居然能直接"横着走"!后来才知道,这要归功于两种特殊轮子:全向轮… 2026/7/16 23:49:59
TCP 为什么是可靠的? 目录 一、先说结论 二、TCP 的“可靠”具体指什么? 1. 数据不丢失 2. 数据按顺序到达 3. 数据不重复 4. 数据完整 三、TCP 为什么能做到可靠?核心机制有哪些? 1. 序列号(Sequence Number) 一句话理解 2. 确认… 2026/7/16 23:45:58
揭秘 JIT 编译器:为什么你的代码能越跑越快? 揭秘 JIT 编译器:为什么你的代码能越跑越快? 在计算机编程的世界里,我们经常会听到两个阵营的无休止争论:编译型语言(如 C/C、Go)和解释型语言(如 Python、JavaScript)。 编译型语言… 2026/7/16 23:45:58
Symbol的使用场景 Symbol 是 ES6 新增的一种原始数据类型,它的最大特点是:值唯一通常用来定义不会冲突的标识一、先理解 Symbol 是什么const s1 Symbol() const s2 Symbol()console.log(s1 s2) // false即使两个 Symbol() 写法一样,它们也是完全不同的值。你… 2026/7/16 23:45:57
A--10 Codex Review与GitHub PR工作流实战指南:从代码审查到安全合并 摘要:本文系统讲解如何利用Codex App的Review功能与GitHub PR工作流,实现从代码修改到安全合并的完整流程。涵盖Review面板深度使用、/review命令实战、GitHub Connector配置、PR描述撰写技巧,以及常见问题排查方法。通过多个实战案例和流程图,帮助开发者建立高效的AI辅助代… 2026/7/16 0:00:26
HAM未来路线图:下一代高可用迁移技术的发展方向与展望 HAM未来路线图:下一代高可用迁移技术的发展方向与展望 【免费下载链接】ham Based on the remote memory access capability and high bandwidth of the UB, deterministic duration virtual machine live migration is achieved, addressing planned downtime issu… 2026/7/16 0:04:27
月球是否是从地球分离出去的?——容度原理解释 月球是否是从地球分离出去的?——容度原理解释一、月球起源的“三大假说”与容度原理的重新审视月球起源的三大假说——捕获说(月球是太阳系中独立的星体,被地球引力捕获)、共生说(月球与地球同时从原始星云中形成&… 2026/7/16 0:06:27
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/16 3:47:53
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/16 12:08:13