PointMixer论文阅读笔记

MLP-mixer是最近很流行的一种网络结构,比起Transformer和CNN的节构笨重,MLP-mixer不仅节构简单,而且在图像识别方面表现优异。但是MLP-mixer在点云识别方面表现欠佳,PointMixer就是在保留了MLP-mixer优点的同时,还可以很好的处理点云问题。PointMixer可以很好的处理intra-set, inter-set, hierarchical-set的点云。PointMixer这偏论文还很好的证明了chanel-mixing MLP是比token-mixing MLP效果更好,对称encoder和decoder结构能够更好的处理点云问题。

为了方便论文阐述,做以下规定:
P是点云的总和
X是点云特性的总和
Y是output特性的总和
pi是i点云的位置
xi是i点云相关的特性
yi是i点云output的特性
Mi是pi点周围邻居点的集合,常表示为Mi = kNN(P, pi)

PointNet++: 使用kNN和最远点sampling算法,使用不对称的encoder和decoder。PointNet++网络不对整个点云直接分析,而是locally的处理然后再整合在一起。
yi = maxpooling(MLP(concat(xi, pi - pj)));j是Mi的成员

PointTransformer: 也是使用了kNN的方法
yi = sum(softmax(MLP(W1(xi) - W2(xj) + δ(pi - pj)))(W3(xj) + δ(pi - pj)))
W为linear transformer metric,δ为positional encoding vector。

MLP-Mixer: MLP-mixer分为token-mix MLP和channel-mix MLP, MLP-Mixer使用K个tokens有C维features, tokens是将图片分割成小块。 第一步是token-mixing MLPs, 第二步时channel-mixing MLP, token mixing是混合空间轴和维度轴到空间轴,channel-mixing是将空间信息转为维度和空间信息。
MLP-Mixer将CNN的两个任务切割开来,不同位置的mix叫token-mixing,同一位置不同channel的mix叫做channel-mixing。
X’ = X + (W2ρ(W1(Layernorm(X))T))T
Y = X’ + W4ρ(W3Layernorm(X’))
W是MLP,ρ是GELU
token-mix MLPs具有转置同变性,所以点云的输入顺序特别重要。需要在token-mix前再加一层转置不变的网络。
并且MLP-mixer只能处理inter-set的点云,还有很大的提升空间。
https://zhuanlan.zhihu.com/p/372692759

PointMixer:
sj = g2(concat(g1(xj); δ(pi - pj))); j属于Mi, g是channel-mix MLP, δ是positional encoding vector
yi = sum(softmax(sj) * g(xj)); 这里的乘法的element-wise
PointMixer的主要创新点是使用了positional embedding, 使用了softmax,不使用token-mix MLP

为什么不使用token-mix? token-mix MLP具有转置同变性的缺点,而且token-mix只能使用固定数量的输入,但是对于点云来说,neighbor不是固定的,要用聚类算法。

intra-set mixing 使用最传统的kNN

inter-set mixing 使用变种的query-kNN

hierarchical-set mixing 使用变种的hierarchical-kNN

对称性也表现在kNN的集合里面,encoder和decoder的M集是完全颠倒的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/685198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux版Black Basta勒索病毒针对VMware ESXi服务器

前言 Black Basta勒索病毒是一款2022年新型的勒索病毒,最早于2022年4月被首次曝光,主要针对Windows系统进行攻击,虽然这款新型的勒索病毒黑客组织仅仅才出来短短两个多月的时间,就已经在其暗网平台上已经公布了几十个受害者之多&…

【案例8】用户中心实现涉及内容和过程

图1 如图1是用盒子模型内容实现的,但是需要了解一些内容。 一.内容知识引入 1.内边距属性(padding) 为了调整盒子在网页中的显示位置,常常需要为元素设置内边距。内边距也被称为内填充,是指元素内容和边框之间的距离…

用keras对电影评论进行情感分析

文章目录 下载IMDb数据读取IMDb数据建立分词器将评论数据转化为数字列表让转换后的数字长度相同加入嵌入层建立多层感知机模型加入平坦层加入隐藏层加入输出层查看模型摘要训练模型评估模型准确率进行预测查看测试数据预测结果完整函数用RNN模型进行IMDb情感分析用LSTM模型进行…

【水文】判断同构数

正整数n若是它平方数的尾部&#xff0c;则称n为同构数。比如6是其平方数36的尾部&#xff0c;76是其平方 数5776的尾部&#xff0c;6与76都是同构数。输入正整数&#xff0c;判断是否为同构数。如果是&#xff0c;那么输出 n1;如果不是&#xff0c;那么输出n0。 #include <…

如何在Python代码中使用注解

在Python代码中使用注解&#xff08;Annotations&#xff09;主要涉及对函数参数和返回值进行类型标注。这些注解在运行时并不强制执行&#xff0c;但可以用于类型检查、提高代码可读性以及为IDE和其他工具提供更好的代码补全和错误检查功能。 以下是如何在Python代码中使用注…

linux安装mysql8且初始化表名忽略大小写

mysql8下载地址 MySQL8.0安装步骤 1、把安装包上传到linux系统&#xff0c;解压、重命名并移动到/usr/local/目录&#xff1a; cd ~ tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz mv mysql-8.0.32-linux-glibc2.12-x86_64/ mysql80/ mv mysql80/ /usr/local/2、在M…

TCP/IP C 语言实现单个客户端和服务端 TCP 通信

这是多线程服务端 #include <stdio.h> #include <winsock2.h> #include <pthread.h> #include <string.h> #include <conio.h> #pragma comment(lib,"ws2_32.lib") #pragma warning(disable : 4996) // 客户端结构体 typedef struct…

Springboot-接入WebSocket服务

1、依赖引入 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency> 2、启动类添加bean public class Application {/*** 会自动注册使用了ServerEndpoint注…

VMwareWorkstation17.0虚拟机安装Windows2.03完整详细步骤图文教程

VMwareWorkstation17.0虚拟机安装Windows2.03完整详细步骤图文教程 第一篇 下载Windows2.03第二篇 配置Windows2.03虚拟机机器环境第三篇 启动Windows2.03系统 第一篇 下载Windows2.03 1.Windows2.0原版软盘下载地址是 暂不提供&#xff0c;后续更新 2.Windows2.03虚拟机镜像下…

重案组第一季的观后感

继续研究美剧&#xff0c;重案组这部剧的人员组成&#xff0c;个性&#xff0c;特长&#xff0c;很有意思。 年龄&#xff0c;老中青三代。种族&#xff0c;白&#xff0c;黄&#xff0c;黑&#xff0c;有色。颜值&#xff0c;大众脸&#xff0c;很普通。对白&#xff0c;围绕…

鸿蒙开发-HarmonyOS UI架构

初步布局Index 当我们新建一个工程之后&#xff0c;首先会进入Index页。我们先简单的做一个文章列表的显示 class Article {title?: stringdesc?: stringlink?: string }Entry Component struct Index {State articles: Article[] []build() {Row() {Scroll() {Column() …

GiantPandaCV | 视觉类表面缺陷检测项目相关技术总结

本文来源公众号“GiantPandaCV”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;视觉类表面缺陷检测项目相关技术总结 本文由海滨撰写&#xff0c;首发于GaintPandaCV。 零、前言 做这个方向的项目也有一段时间了&#xff0c;作为…

Deep learning学习笔记

lec 1&#xff1a;Regression 1.5 Linear neural networks for regression线性神经网络的回归 I parameterizing output layer, I handling data, I specifying loss function, I training model. 浅层网络包括线性模型&#xff0c;其中包含了许多经典的统计预测方法&…

C++中的拷贝构造函数

一、拷贝构造函数的概念 拷贝构造函数用于创建一个与已有对象相同的对象&#xff0c;本质上也是构造函数的重载 拷贝构造函数只有一个类型为 const 类类型引用的形参&#xff0c;当我们要创建一个与已存在对象相同的对象时&#xff0c;由编译器自动调用拷贝构造函数。 clas…

简单的edge浏览器插件开发记录

今天在浏览某些网页的时候&#xff0c;我想要屏蔽掉某些信息或者修改网页中的文本的颜色、背景等等。于是在浏览器的控制台中直接输入JavaScript操作dom完成了我想要的功能。但是每次在网页之间跳转该功能都会消失&#xff0c;我需要反复复制粘贴js脚本&#xff0c;无法实现自动…

MATLAB知识点:exprnd函数(★★☆☆☆)生成指数分布的随机数

讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章&#xff1a;课后习题讲解中拓展的函数 在讲解第三…

【革新你的社交形象】用AI创意头像应用,让你的头像独一无二!

在这个数字化时代&#xff0c;社交媒体已经成为我们生活中不可或缺的一部分。你是否曾经为了找到一个既能表达自己个性&#xff0c;又足够吸引眼球的头像而苦恼&#xff1f;现在&#xff0c;有了我们全新推出的AI创意头像应用&#xff0c;你的这一困扰将成为过去&#xff01; …

React入门到精通:掌握前端开发的必备技能!

介绍&#xff1a;React是一个由Facebook开发和维护的JavaScript库&#xff0c;用于构建用户界面&#xff0c;特别是用于构建单页应用程序和移动应用程序的用户界面。以下是对React的详细介绍&#xff1a; 虚拟DOM&#xff1a;React通过使用虚拟DOM&#xff08;Document Object …

C++的进阶泛型编程学习(2):类模板的机制

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、类模板二、类模板和函数模板的区别1.类模板没有自动类型推导的方式2.类模板在模板参数列表中可以有默认参数 三、类模板对象做函数参数四、类模板与继承4.1…

【Deep Learning 2】神经网络的优化

&#x1f31e;欢迎来到PyTorch的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f4c6;首发时间&#xff1a;&#x1f339;2024年2月16日&a…