【图卷积做点云分割】简述对AGNet的理解

本文探讨了点云分割算法的发展,从PointNet的局部特征聚合到DGCNN的边缘卷积,再到AGNet的自注意力池化。AGNet通过自注意力机制在保持点云无序性的同时,减少了信息损失,提高了分割效果。实验显示,AGNet在ModelNet40、ShapeNetPart、S3DIS等数据集上取得领先结果,相较于传统方法有显著优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前看的论文比较多的是大场景点云分割的,它们的做法就是获取邻域特征信息编码,然后利用注意力等加权学习特征,之后聚合局部的特征(自注意力池聚合),完成下采样的工作。其实图卷积也可以很好的完成分割效果,自从PointNet没有提取到邻域局部特征信息后,很多图卷积的网络都使用了一种边缘卷积的方法来学习邻域之间点云的特征关系。但是像DGCNN这种虽然学习了邻域的特征,但是在聚合的时候使用了和PointNet一样的对称函数(max pooling),这种方法虽然简单,而且可以解决点云的排序不变性,但是这样会丢失很多信息。AGNet提出了一种自注意力池的结构,有点类似于大场景点云分割算法中的那种自注意力池,这种池化可以防止丢失很多信息。
在这里插入图片描述
上图分别是PointNet++、DGCNN、AGNet的邻域局部特征聚合过程,可以看到最后的AGNet最后聚合的时候是利用的不同的注意力打分进行聚合的(颜色代表着不同的权重)。
在这里插入图片描述
从上图的AGNet的网络结构来看,整体的网络框架类似于PointNet,只是在前面提取特征的过程中,加入了AGM模块(attention graph module),这部分主要是学习点与点之间的位置特征关系,只不过聚合的时候利用的是自注意力池而不是最大池化。
在这里插入图片描述
如上图所示,特征输入之后,经过三个模块的学习,分别是中心点、中心点和邻域点的差值、中心点和邻域点的距离。
在这里插入图片描述
上述公式的α,β,γ都是可以学习的参数。经过上述的特征学习之后,进行一个自注意力池,这一步主要是聚合特征,这种聚合的方法不会损失太多的点特征,还可以解决点云的无序性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于自注意力池的理解,可以理解为对不同点云的一个打分,对于比较主要的点,给它打分比较高的权重,聚合时会更加注意这方面的点,如下图2D点所示,绿点和红点都是相对比较重要的点。
在这里插入图片描述
目前很多点云分割的算法在聚合特征的时候都不采用之前的对称函数的做法,那样会丢失很多点云信息,目前这种Attention Pool的方法很是流行。从作者做的实验来看,在一些先进的数据集上(ModelNet40、ShapeNet Part、S3DIS)上取得了领先的结果。
在这里插入图片描述
虽然它的miou不是特别的高,但是它相比于一些图卷积的文章的效果要好很多。具体参考论文。

### 开发与实现AI代理 #### 设计原则 AI代理是智能化实体,旨在通过与环境互动来自主执行任务。这些代理处于各种人工智能应用程序的核心位置,包括机器人技术、自治系统和交互式虚拟助手。其核心特征在于能够感知周围环境并通过传感器获取信息,利用算法推理当前状态,并依据所得结论采取行动[^2]。 为了构建有效的AI代理,开发者需考虑几个关键要素: - **感知能力**:配备合适的传感设备使代理能有效收集外部世界的信息。 - **决策机制**:采用先进的计算方法如机器学习中的监督学习、无监督学习、强化学习及深度学习等,让代理具备处理复杂情境的能力[^4]。 - **行为表现**:配置必要的驱动装置或其他形式的动作接口,以便于将决定转化为实际操作。 #### 架构概述 在设计阶段之后,则要规划具体的体系结构。这通常涉及到定义内部模块之间的通信协议以及与其他系统的互连方式。对于希望将其融入既有基础设施的情况而言,建议制定标准化的应用程序编程接口(API),并进行全面测试验证以确保兼容性和稳定性[^3]。 #### 实施策略 当准备就绪可以进入部署环节时,推荐先从小规模试点项目起步,在证明可行性的基础上逐步扩大到更大范围内的应用。这样不仅有助于降低风险,也能积累宝贵经验用于后续优化改进过程。 ```python import gymnasium as gym from stable_baselines3 import PPO env = gym.make('CartPole-v1', render_mode="human") model = PPO("MlpPolicy", env, verbose=1) model.learn(total_timesteps=10_000) obs, _ = env.reset() for i in range(1000): action, _states = model.predict(obs) obs, rewards, terminated, truncated, info = env.step(action) if terminated or truncated: obs, _ = env.reset() env.close() ``` 上述代码展示了如何使用`stable-baselines3`库训练一个简单的强化学习模型——近端策略优化(PPO)来控制经典的倒立摆(CartPole)模拟器。此例子说明了创建基本AI代理的过程之一部分,即通过不断试错学习最佳动作序列达成目标。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘正在努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值