news 2026/10/24 5:48:56

RandLA-Net特征学习提取模块LFA详解:LocSE与注意力池化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RandLA-Net特征学习提取模块LFA详解:LocSE与注意力池化

1. 从点云无序性说起:为什么特征提取在3D语义分割里格外棘手

点云语义分割这个方向,做过的人都知道,真正难的地方从来不是网络有多深,而是数据本身太"野"了。一张RGB图像是规整的网格,每个像素都有固定的邻居,卷积核滑过去就行;但点云是一堆散落在三维空间里的坐标,没有顺序、没有网格、密度还不均匀。你把这堆点随机打乱顺序,它表达的仍然是同一个场景,可对网络来说输入完全变了。这种置换不变性(permutation invariance)是点云处理的第一道门槛。

RandLA-Net这个工作之所以在点云语义分割领域被反复提起,核心原因就是它在"大场景"这个设定下把效率和精度同时拉到了一个可用的水平。所谓大场景,指的是几十米甚至上百米范围的室外扫描,点数动辄十万到百万级。传统方法要么先做体素化,要么先做最远点采样(FPS),前者会丢细节,后者计算量随点数平方增长,百万点根本跑不动。RandLA-Net选择了一条更直接的路:随机采样降点,然后用一个专门设计的模块把丢掉的信息补回来。

这个"补回来"的模块,就是本文要拆解的核心——特征学习提取模块。它的正式名字叫 Local Feature Aggregation,简称 LFA。很多人读RandLA-Net的论文时,把注意力都放在了随机采样上,觉得"随机"两个字很反直觉,反而忽略了这个模块才是真正决定精度上限的部分。随机采样本身不产生任何特征,它只是把点变少;真正让网络在点变少之后还能理解局部几何结构的,是LFA里那套精心设计的局部特征聚合机制。

我先把结论摆在这里:LFA模块由三个子组件串联而成——局部空间编码(Local Spatial Encoding,LocSE)、注意力池化(Attentive Pooling)、扩张残差块(Dilated Residual Block)。这三个东西各司其职,LocSE负责把每个点的相对几何位置编码进特征,注意力池化负责从邻居里挑出重要的信息,扩张残差块负责在增大感受野的同时不丢原始特征。下面我会逐个拆开讲,包括它们各自解决什么问题、内部怎么算、实际写代码时哪些地方容易出错。

适合读这篇的人:正在复现RandLA-Net的、想改造LFA模块做自己任务的、或者单纯想搞明白"点云局部特征到底怎么聚合"的。我会尽量把公式背后的直觉讲清楚,而不是只贴一堆符号。

2. LocSE局部空间编码:把"邻居在哪"变成网络能读懂的信号

2.1 为什么原始坐标不能直接喂给网络

最朴素的想法是:对每个中心点,找它最近的K个邻居,把这K个邻居的坐标和特征拼起来,送进MLP。这个做法在很多早期点云网络里确实用过,但它有个致命问题——它编码的是绝对位置,而不是相对关系。

举个例子。同一个墙角,出现在场景的东边和西边,绝对坐标完全不同,但局部几何结构是一模一样的。如果网络只看绝对坐标,它就得分别学习"东边的墙角"和"西边的墙角",泛化能力极差。更糟的是,绝对坐标的数值范围可能很大(几十米),直接送进网络会让训练非常不稳定。

所以LocSE的第一步,是把绝对坐标转成相对坐标。对中心点p_i和它的第k个邻居p_i^k,计算相对位置:

Δp_i^k = p_i ⊕ (p_i^k - p_i) ⊕ ||p_i^k - p_i||

这里的⊕是拼接操作。注意它拼了三样东西:中心点自己的坐标、相对位移向量、以及相对距离的标量。为什么要拼中心点坐标?因为有些语义确实和绝对位置相关,比如"地面"通常在某

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 12:23:16

基于模型的强化学习连续动作控制:Python工具箱从数据到动作全链路

1. 从“数据”到“连续动作”到底在解决什么问题连续动作空间的强化学习,一直是让不少做控制、机器人、量化甚至游戏AI的朋友头疼的方向。离散动作好办,输出几个概率选一个就行;但连续动作不一样,比如机械臂每个关节要给一个扭矩值…

作者头像 李华
网站建设 2026/10/17 12:23:06

UniFace统一框架:一个API覆盖15类人脸分析任务实战

人脸分析这个方向,过去几年我陆续接触过不少方案。早期做情绪识别要单独跑一个模型,做视线追踪又得换另一套,人脸检测、关键点、属性分类各管各的,光是环境依赖和前后处理就能耗掉大半天。所以当我第一次看到 UniFace 这个项目时&…

作者头像 李华
网站建设 2026/10/21 6:01:12

模型融合实战解析:Bagging、Boosting与Stacking的区别与选择

不绕弯子,直接聊模型融合。Bagging、Boosting、Stacking,这三个词在机器学习里是被讨论最多的模型融合手段。很多人把它们当成三个孤立的技术点,背概念、记公式,但一到实际项目里还是不知道怎么选、怎么用、用完效果为什么还不如单…

作者头像 李华
网站建设 2026/10/20 21:25:54

Java二手车交易系统开发:SpringBoot+Vue实现智能估价

1. 项目概述这个基于Java的二手车交易管理系统是我去年指导的一个计算机专业毕业设计项目。随着国内二手车市场规模突破万亿,传统线下交易模式已经无法满足日益增长的车辆流通需求。我们团队开发的这套系统,正是为了解决二手车交易过程中的信息不对称、手…

作者头像 李华
网站建设 2026/10/23 6:15:48

视觉语言动作模型VLA实战:从模型结构到动作分块与扩散头部署

简介:这份代码包面向自动驾驶与机器人方向的开发者及AI学习者,聚焦视觉语言动作模型(VLA)这一具身智能前沿技术,帮助读者理解如何融合视觉识别与语言指令,完成场景理解、任务规划与动作执行。资源共3个文件…

作者头像 李华
网站建设 2026/10/22 9:27:28

OmniSeek:面向多轮音视频推理的工具链操作系统

1. OmniSeek不是另一个多模态大模型,而是“工具链操作系统”的一次范式迁移OmniSeek这个名字听起来像又一个炫技的AI模型代号——Omni-LLM、Omni-Perceiver、Omni-X……但如果你真把它当成“又一个端到端多模态大模型”去理解,就彻底误判了它的设计原点。…

作者头像 李华