当前位置: 首页 > news >正文

《ODIN: A Single Model for 2D and 3D Segmentation》CVPR2024

斯坦福和微软:

代码链接:ODIN: A Single Model For 2D and 3D Perception 

论文链接:2401.02416

摘要

这篇论文介绍了ODIN(Omni-Dimensional INstance segmentation),一个能够同时处理2D RGB图像和3D点云的单模型,用于进行2D和3D的实例分割。ODIN采用Transformer架构,交替融合2D内视图和3D跨视图信息。该模型通过位置编码区分2D和3D特征操作,捕捉2D补丁标记的像素坐标和3D特征标记的3D坐标。ODIN在多个3D实例分割基准测试中取得了最先进的性能,并在2D COCO基准测试中展现了竞争力。此外,当ODIN作为可指令实体代理架构中的3D感知引擎时,它在TEACh动作对话基准测试中设定了新的最先进性能。代码和检查点可以在项目网站找到。

拟解决的问题

论文挑战了2D和3D感知需要不同模型架构的观点,提出了一个统一的模型来处理2D和3D分割任务。现有的3D分割模型通常在特定领域内训练,不利用大规模的2D预训练,而且性能上超过了那些将RGBD多视图图像特征化的方法。ODIN旨在通过一个模型处理2D和3D数据,减少这种性能差距,并提高对实际传感器数据的处理能力。

创新之处

  1. 统一架构:提出了一个单一模型,能够处理2D图像和3D点云,挑战了2D和3D感知需要不同架构的传统观点。
  2. Transformer架构:模型使用Transformer架构,交替融合2D内视图和3D跨视图信息,这有助于提高分割的准确性。
  3. 位置编码:通过位置编码区分2D和3D特征操作,这是一个新颖的方法来处理不同维度的数据。
  4. 跨视图融合:模型在2D到3D转换时使用深度图和相机参数,这有助于提高3D实例分割的性能。
  5. 开放词汇类解码器:引入了能够处理任意数量语义类别的开放词汇类解码器,这对于多数据集的联合训练至关重要。
姿态RGB-D图像是指一组与相机姿态(位置和方向)相关联的RGB图像和相应的深度图像。
右图:在每个 2D 到 3D 转换中,ODIN 使用感知深度和相机内在和外在将 2D 特征标记投影到它们的 3D 位置。

方法

ODIN的架构包括以下几个关键部分:

  • 2D内视图融合:使用预训练的2D骨干网络(如ResNet50或Swin Transformer)处理单个RGB图像或多视图RGB-D图像。
  • 3D跨视图融合:通过3D注意力机制和相对位置编码,实现跨视图的特征融合。
  • 2D到3D的反投影:将2D特征映射到3D位置,使用深度图和相机参数。
  • 3D到2D的投影:将3D特征投影回2D位置,以便后续的2D模块处理。
  • 跨尺度融合和上采样:合并不同分辨率的特征图,并使用上采样层提高分辨率。
  • 共享2D-3D分割掩码解码器:使用Transformer架构,输出2D或3D分割掩码和语义类别。

ODIN的体系结构如图2所示。它采用单个RGB图像或一组提出的RGB-D图像(即与深度图和相机参数相关的RGB图像),并输出相应的2D或3D实例分割掩码及其语义标签。为了实现这一点,ODIN 在 2D 视图内融合和基于 3D 注意力的跨视图融合之间交替,如图 2 中的蓝色块和黄色块所示。分割解码头预测实例掩码和语义标签。值得注意的是,ODIN 在 RGB 和多视图 RGB-D 输入之间共享大部分参数。

4.1 视图内2D融合

ODIN使用预训练的2D骨干网络(如ResNet50或Swin Transformer),这些网络在2D COCO实例分割任务上进行了预训练。当只有一个 RGB 图像可用时,将其传递给完整的主干以获得多个尺度的 2D 特征。当姿势的 RGB-D 序列可用时,这种 2D 处理与 3D 阶段交错,通过交错视图内和跨视图上下文化,能够利用来自 2D 主干的预训练特征,同时还融合跨视图的特征,使它们 3D 一致。

4.2 跨视图3D融合

跨视图融合的目标是使单个图像的表征在视图之间保持一致,跨视图特征一致性对于 3D 实例分割至关重要:它使分割头能够意识到从多个视图观察到的 3D 对象确实是单个实例,而不是每个视点中的一个单独实例。

1. 2D到3D反投影:每个2D特征图被映射到3D空间,使用深度图和相机的内外参。这可以通过以下公式表示:

3D位置=相机内参×(相机外参×2D位置)+相机外参的平移部分

然后,这些3D位置通过体素化(voxelization)处理,将3D空间离散化为体素网格,并对每个体素内的特征和坐标进行平均池化,得到3D特征标记。

2. 3D k-NN Transformer与相对位置编码:使用k最近邻(k-NN)注意力机制来融合3D标记之间的信息。每个3D标记只关注其k个最近邻。相对位置编码通过一个多层感知机(MLP)实现,将标记之间的距离向量编码为相对位置嵌入。公式如下:

 其中,p_{i}(N × 1 × 3)代表3D标记,p_{j}(N ×k ×3)代表每个p_{i}的k个最近邻。

通过这种方式,注意力操作对 3D 令牌的绝对坐标是不变的,仅取决于它们的相对空间排列。虽然每个 3D 令牌总是关注相同的 k 个邻居,但它的有效感受野跨层增长,因为当邻居执行自己的注意力时,邻居的特征会更新

3. 3D到2D投影:将3D特征投影回其原始2D位置。首先,将每个体素的特征复制到该体素内的所有点,然后将这些点重新塑形为多视图2D特征图。在这个转换中,特征向量是不变的;差异在于它们的解释和形状。在 2D 中,特征的形状为 V × H × W × F ,表示每个视图的特征图,在 3D 中,它们的形状为 N ×F ,表示统一的特征云,其中 N = V · H · W。(V代表试图个数,N代表总的体素数或点数)

4.3 跨尺度融合和上采样

多尺度注意力:在三个最低分辨率尺度(1/32、1/16、1/8)上,使用可变形的2D注意力机制合并特征图。

额外的3D融合层:在每个尺度上,对于3D输入,应用额外的3D融合层以恢复3D一致性。

上采样:在1/8分辨率的特征图上使用上采样层,将其带到1/4分辨率,并与骨干网络中的1/4特征图进行跳跃连接。

 4.4 传感器深度到网格点云特征传递

对于需要在网格点云上进行标签的任务(如ScanNet),使用三线性插值将1/8分辨率的特征图特征插值到网格点云上。

4.5 共享2D-3D分割掩码解码器

Transformer解码器:类似于Mask2Former的解码器头,输入上采样的2D或3D特征图,输出相应的2D或3D分割掩码和语义类别。

可学习的物体查询:初始化一组可学习的物体查询,负责解码单个实例。这些查询通过查询细化块进行迭代细化,包括对上采样特征的交叉注意力和查询之间的自注意力。

4.6 放词汇类解码器

引入了一种能够处理任意数量的语义类的替代分类头。这种修改对于在多个数据集上联合训练至关重要。与BUTD-DETR和GLIP类似,使用通过将对象类别连接到句子中形成的检测提示(例如,“Chair.表。Sofa.”)并使用RoBERTa对其进行编码。在查询细化块中,查询在关注上采样的特征图之前额外关注这些文本标记。对于语义类预测,我们首先在查询和语言标记之间执行点积操作,在检测提示中生成每个令牌的一个 logit。然后将与特定对象类的提示标记对应的 logits 进行平均以导出每个类的 logits。这可以处理多词名词短语,例如“淋浴窗帘”,其中我们对对应于“淋浴”和“curtain”的 logits 进行平均。分割掩码由像素/逐点点积预测,其方式与前面描述的相同。

结论

ODIN模型在多个3D实例分割基准测试中取得了最先进的性能,并在2D COCO基准测试中展现了竞争力。实验表明,ODIN在处理实际传感器数据时性能优于其他方法,并且通过联合训练2D和3D数据集,模型在3D任务上的表现得到了提升。此外,ODIN在作为实体代理架构中的3D对象分割器时,也在TEACh基准测试中设定了新的最先进性能。论文的结论强调了ODIN在2D和3D分割任务中的有效性和潜力,并指出了未来的研究方向,包括提高模型对噪声的鲁棒性以及探索更大规模的2D和3D数据集的联合训练。

相关文章:

《ODIN: A Single Model for 2D and 3D Segmentation》CVPR2024

斯坦福和微软: 代码链接:ODIN: A Single Model For 2D and 3D Perception 论文链接:2401.02416 摘要 这篇论文介绍了ODIN(Omni-Dimensional INstance segmentation),一个能够同时处理2D RGB图像和3D点云…...

第40节 在ArkTS中实现socket功能

1. 基本概念 在 ArkTS 中实现 Socket 功能主要涉及到网络通信中的套接字(Socket)编程。Socket 是一种用于在不同设备(如客户端和服务器)之间进行双向通信的接口,它允许应用程序发送和接收数据。在网络编程中&#xf…...

Ruby On Rails 笔记1——Rails 入门

突然想跟着官方文档把Ruby On Rails过一遍,把一些有用的记下来就可以一直看了,do它! https://guides.rubyonrails.org/v7.2/ 注:官网是英文文档,我自己翻译了一下,不确保完全准确,只供自己学习开发使用。 …...

npm, yarn, pnpm之间的区别

前言 在现代化的开发中,一个人可能同时开发多个项目,安装的项目越来越多,所随之安装的依赖包也越来越臃肿,而且有时候所安装的速度也很慢,甚至会安装失败。 因此我们就需要去了解一下,我们的包管理器&#…...

Uniapp的App环境下使用Map获取缩放比例

概述 目前我试过的就是你用vue后缀是拿不到比例的你可以用nvue当然uniapp的uvue应该是更加可以的我使用的是高德所以你得在高德的后台声请原生的Android的key才可以如果是vue3的开发模式的话不用使用this来获取当前对象使用scale对象来接受和改变缩放比例会比较友好然后直接走…...

[免费]基于Python的Django在线(生鲜)商城(电子商城)管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的基于Python的Django在线(生鲜)商城(电子商城)管理系统,分享下哈。 项目视频演示 【免费】基于Python的Django在线(生鲜)商城(电子商城)管理系统 Python毕业设计_哔哩哔哩_bilibili 项目介绍 随…...

Go 1.19.4 HTTP编程-Day 20

1. HTTP协议 1.1 基本介绍 HTTP协议又称超文本传输协议,属于应用层协议,在传输层使用TCP协议。HTTP协议属是无状态的,对事务处理没有记忆能力,如果需要保存状态需要引用其他技术,如Cookie。HTTP协议属是无连接的&…...

基于微软云第一个大模型程序Java和python实现

1 注册一个微软云账号 按照提示一步一步注册&#xff0c;注册过程中&#xff0c;注册微软云账号需要visa卡。可以在某宝花钱30元买下。 2 部署模型 搜索openAI 创建资源组 部署一个模型 这个后面代码会使用 3 Java 实现 pom 依赖 <dependency><groupId>com…...

【5G】5G目标和标准化 5G targets and standardization

5G标准是在第三代合作伙伴关系项目&#xff08;3GPP&#xff0c;3rd Generation Partnership Project&#xff09;中定义的&#xff0c;实际的标准制定工作由参与3GPP活动的区域标准机构成员共同推进。目前&#xff0c;超过600家公司通过各自的地区标准组织成为3GPP的成员。然而…...

KernelShark在ubuntu24.04.01的编译

KernelShark在ubuntu24.04.01的编译 写在前面具体过程装ubuntu24.04.01安装depends下载代码如何编译cmake 输出make 输出 如何安装 初步启动Add the User to the perf Group 简单的使用trace-cmd抓包 来看我的文章&#xff0c;必有所得。 平凡中&#xff0c;总有我帮您踩过的坑…...

【Flutter】WillPopScope组件-监听物理返回键事件自定义返回事件

WillPopScope(onWillPop: () async {if ( flutterWebViewPlugin ! null && await flutterWebViewPlugin.canGoBack() true) {flutterWebViewPlugin!.goBack();return false; // 阻止默认的返回行为} else {return true; // 允许默认的返回行为}},child: Scaffold(),);…...

深度学习每周学习总结J8(Inception V1 算法实战与解析 - 猴痘识别)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 0. 总结Inception V1 简介1. 设置GPU2. 导入数据及处理部分3. 划分数据集4. 模型构建部分5. 设置超参数&#xff1a;定义损失函数&am…...

Django模板系统

1.常用语法 Django模板中只需要记两种特殊符号&#xff1a; {{ }}和 {% %} {{ }}表示变量&#xff0c;在模板渲染的时候替换成值&#xff0c;{% %}表示逻辑相关的操作。 2.变量 {{ 变量名 }} 变量名由字母数字和下划线组成。 点&#xff08;.&#xff09;在模板语言中有…...

【JavaWeb后端学习笔记】MySQL的数据操作语言(Data Manipulation Language,DML)

MySQL DML 0、准备表结构1、添加数据1.1 指定字段添加数据&#xff08;单条&#xff09;1.2 全部字段添加数据&#xff08;单条&#xff09;1.3 指定字段添加数据&#xff08;批量&#xff09;1.4 全部字段添加数据&#xff08;批量&#xff09; 2、修改数据3、删除数据 MySQL的…...

【SpringBoot】Day10-09 动态SQL-XML文件

动态SQL-XML文件的三点规范 1.XML映射文件的名称与Mapper接口名称保持一致&#xff0c;并且将XML映射文件和Mapper接口放置在相同包下&#xff08;同包同名&#xff09;- 在项目开发当中&#xff0c;一般都是一个接口对应一份儿映射配置文件&#xff1b; 2.XML映射文件的namesp…...

Linux絮絮叨(三) Ubuntu桌面版添加中文拼音输入法

步骤很详细&#xff0c;直接上教程 一. 配置安装简体拼音输入法 #安装相应的平台支持包 sudo apt install ibus-gtk ibus-gtk3# 安装简体拼音输入法 sudo apt install ibus-pinyin安装完成如果下面的步骤找不到对应输入法可以重启一下&#xff0c;一般不需要 二. 添加简体拼音…...

rockit 学习、开发笔记(六)(VENC)

前言 上节我们讲到了VDEC解码模块&#xff0c;那当然少不了VENC编码模块了&#xff0c;一般有编解码的需求都是为了压缩视频的大小&#xff0c;方便减少传输所占用的带宽。 概述 VENC 模块&#xff0c;即视频编码模块。本模块支持多路实时编码&#xff0c;且每路编码独立&am…...

Python+Django框架山东济南景点数据可视化系统网站作品截图和开题报告参考

博主介绍&#xff1a;黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者&#xff0c;CSDN博客专家&#xff0c;在线教育专家&#xff0c;CSDN钻石讲师&#xff1b;专注大学生毕业设计教育、辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…...

【C#】键值对的一种常见数据结构Dictionary<TKey, TValue>

在 C# 中&#xff0c;Dictionary<TKey, TValue> 是一个 键值对&#xff08;key-value&#xff09;集合&#xff0c;是一种非常常见的数据结构。它允许通过 键&#xff08;key&#xff09;来快速查找与之相关的 值&#xff08;value&#xff09;。你可以将其类比为一个映射…...

SQL Server:调用的目标发生了异常。(mscorlib)

我之前安装的SQL Server是2014版本&#xff0c;SSMS运行也很流畅&#xff0c;有一次有个同事让我链接云服务器SQL地址&#xff0c;直接报上图的错误&#xff0c;把我弄的一愣一愣的。 后面才发现&#xff0c;这是版本太低导致的&#xff0c;但是你如果使用Navicat是没有问题的…...

windows 上ffmpeg编译好的版本选择

1. Gyan.dev Gyan.dev 是一个广受信赖的 FFmpeg 预编译库提供者&#xff0c;提供多种版本的 FFmpeg&#xff0c;包括静态和动态链接版本。 下载链接: https://www.gyan.dev/ffmpeg/builds/ 特点&#xff1a; 提供最新稳定版和开发版。 支持静态和共享&#xff08;动态&…...

前端工程化面试题(一)

如何使用 Docker 部署前端项目&#xff1f; 使用 Docker 部署前端项目通常涉及以下几个步骤&#xff1a; 创建项目&#xff1a;首先&#xff0c;需要在本地创建并配置好前端项目。 准备 Docker 文件&#xff1a; .dockerignore&#xff1a;这个文件用于排除不需要上传到 Dock…...

Java设计模式笔记(二)

十四、模版方法模式 1、介绍 1&#xff09;模板方法模式(Template Method Pattern)&#xff0c;又叫模板模式(Template Patern)&#xff0c;在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。 2&…...

vscode(一)安装(ubuntu20.04)

1、更新软件包列表 sudo apt update2、安装依赖包 sudo apt install software-properties-common apt-transport-https wget3、导入Microsoft GPG密钥 wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -4、向系统添加VSCode存储库 sudo…...

C# 命名空间(Namespace)

文章目录 前言一、命名空间的定义与使用基础&#xff08;一&#xff09;定义语法与规则&#xff08;二&#xff09;调用命名空间内元素 二、using 关键字三、嵌套命名空间 前言 命名空间&#xff08;Namespace&#xff09;在于提供一种清晰、高效的方式&#xff0c;将一组名称与…...

云计算介绍_3(计算虚拟化——cpu虚拟化、内存虚拟化、io虚拟化、常见集群策略、华为FC)

计算虚拟化 1.计算虚拟化介绍1.1 计算虚拟化 分类&#xff08;cpu虚拟化、内存虚拟化、IO虚拟化&#xff09;1.2 cpu虚拟化1.3 内存虚拟化1.4 IO虚拟化1.5 常见的集群的策略1.6 华为FC 1.计算虚拟化介绍 1.1 计算虚拟化 分类&#xff08;cpu虚拟化、内存虚拟化、IO虚拟化&#…...

Flutter开发App,编译条件下UI没问题,打包后UI出现问题

刚入门Flutter3个月&#xff0c;终于进入项目打包阶段&#xff0c;发现之前编译环境下都正常的UI&#xff0c;忽然有小部分出现异常&#xff0c;不显示UI部分了。查了2个小时都没发现原因。因为编译环境下&#xff0c;Android、iOS端都正常显示。但是进入打包安装后&#xff0c…...

Python+OpenCV系列:Python和OpenCV的结合和发展

PythonOpenCV系列&#xff1a;Python和OpenCV的结合和发展 **引言****Python语言的发展****1.1 Python的诞生与发展****1.2 Python的核心特性与优势****1.3 Python的应用领域** **OpenCV的发展****2.1 OpenCV的起源与发展****2.2 OpenCV的功能特性****2.3 OpenCV的应用场景** *…...

报错 JSON.parse: expected property name or ‘}‘,JSON数据中对象的key值不为字符串

报错 JSON.parse: expected property name or ‘}’ 原因 多是因为数据转换时出错&#xff0c;可能是存在单引号或者对象key值不为string导致 这里记录下我遇见的问题&#xff08;后端给的JSON数据里&#xff0c;对象key值不为string&#xff09; 现在后端转换JSON数据大多…...

Flutter:商品多规格内容总结,响应式数据,高亮切换显示。

如图所示&#xff1a; 代码为练习时写的项目&#xff0c;写的一般&#xff0c;功能实现了&#xff0c;等以后再来优化。 自己模拟的数据结构 var data {id:1,name:精品小米等多种五谷杂粮精品小等多种五谷杂粮,logo:https://cdn.uviewui.com/uview/swiper/1.jpg,price:100.5…...

WPF+LibVLC开发播放器-LibVLC播放控制

接上一篇&#xff1a; LibVLC在C#中的使用 实现LibVLC播放器播放控制 界面 界面上添加一个Button按钮用于控制播放 <ButtonGrid.Row"1"Width"88"Height"24"Margin"10,0,0,0"HorizontalAlignment"Left"VerticalAlignme…...

Mac环境下brew安装LNMP

安装不同版本PHP 在Mac环境下同时运行多个版本的PHP&#xff0c;同Linux环境一样&#xff0c;都是将后台运行的php-fpm设置为不同的端口号&#xff0c;下面将已php7.2 和 php7.4为例 添加 tap 目的&#xff1a;homebrew仅保留最近的php版本&#xff0c;可能没有你需要的版本…...

nodejs后端项目使用pm2部署

nodejs后端项目使用pm2部署 安装pm2 npm install pm2 -g查看版本号 pm2 --version启动项目 pm2 start app.js# 设置别名 pm2 start app.js --name demo停止项目 pm2 stop [AppName] pm2 stop [ID]# 停止所有项目 pm2 stop all重启项目 pm2 restart [AppName] pm2 re…...

【C++】深入理解字符变量取地址的特殊性与内存管理机制详解

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;栈内存中的变量分配&#xff1a;谁先谁后&#xff1f;cout 的输出行为&#xff1a;按顺序执行&#xff0c;按地址递增读取代码执行顺序与内存布局的关系编译器优化的影响 &…...

【银河麒麟操作系统真实案例分享】内存黑洞导致服务器卡死分析全过程

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer.kylinos.cn 文档中心&#xff1a;https://documentkylinos.cn 现象描述 机房显示器连接服务器后黑屏&#xff…...

蓝桥杯软件赛系列---lesson1

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 我们今天会再开一个系列&#xff0c;那就是蓝桥杯系列&#xff0c;我们会从最基础的开始讲起&#xff0c;大家想要备战明年蓝桥杯的&#xff0c;让我们一起加油。 工具安装 DevC…...

工业异常检测-CVPR2024-新的3D异常数据合成办法和自监督网络IMRNet

论文&#xff1a;https://arxiv.org/pdf/2311.14897v3.pdf 项目&#xff1a;https://github.com/chopper-233/anomaly-shapenet 这篇论文主要关注的是3D异常检测和定位&#xff0c;这是一个在工业质量检查中至关重要的任务。作者们提出了一种新的方法来合成3D异常数据&#x…...

HeidiSQL:MySQL图形化管理工具深度解析

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;HeidiSQL是一款开源的MySQL图形化管理工具&#xff0c;适用于多种数据库系统&#xff0c;如MySQL、MariaDB、SQL Server、PostgreSQL和SQLite。其提供的直观操作界面和丰富的功能简化了数据库操作&#xff0c;包…...

【Redis】深入解析Redis缓存机制:全面掌握缓存更新、穿透、雪崩与击穿的终极指南

文章目录 一、Redis缓存机制概述1.1 Redis缓存的基本原理1.2 常见的Redis缓存应用场景 二、缓存更新机制2.1 缓存更新的策略2.2 示例代码&#xff1a;主动更新缓存 三、缓存穿透3.1 缓存穿透的原因3.2 缓解缓存穿透的方法3.3 示例代码&#xff1a;使用布隆过滤器 四、缓存雪崩4…...

Flask使用Celery与多进程管理:优雅处理长时间任务与子进程终止技巧(multiprocessing)(subprocess)

在许多任务处理系统中&#xff0c;我们需要使用异步任务队列来处理繁重的计算或长时间运行的任务&#xff0c;如模型训练。Celery是一个广泛使用的分布式任务队列&#xff0c;而在某些任务中&#xff0c;尤其是涉及到调用独立脚本的场景中&#xff0c;我们需要混合使用multipro…...

【PyTorch】torch.distributed.elastic.multiprocessing.errors.ChildFailedError:

报错说明 torch.distributed.elastic.multiprocessing.errors.ChildFailedError: 报错如图所示 报错分析 该报错是 torch 和 CUDA 版本不兼容导致。 &#xff08;一般N卡自带的CUDA版本与最新的torch版本相差较大&#xff09; 解决方案 1.查看自己的CUDA版本 # 查看自己的…...

使用android studio写一个Android的远程通信软件(APP),有通讯的发送和接收消息界面

以下是使用 Android Studio 基于 Java 语言编写一个简单的 Android APP 实现远程通信&#xff08;这里以 TCP 通信为例&#xff09;的代码示例&#xff0c;包含基本的通信界面以及发送和接收消息功能。 1. 创建项目 打开 Android Studio&#xff0c;新建一个 Empty Activity …...

突破空间限制!从2D到3D:北大等开源Lift3D,助力精准具身智能操作!

文章链接&#xff1a;https://arxiv.org/pdf/2411.18623 项目链接&#xff1a;https://lift3d-web.github.io/ 亮点直击 提出了Lift3D&#xff0c;通过系统地提升隐式和显式的3D机器人表示&#xff0c;提升2D基础模型&#xff0c;构建一个3D操作策略。 对于隐式3D机器人表示&a…...

Android KEY的哪些事儿

目录 一、APK应用签名 1、什么是APK应用签名&#xff1f; 1.1 目的和作用&#xff1f; 1.2 长什么样子&#xff1f; 2、APK应用签名使用流程 步骤一&#xff1a;如何生成APK应用签名文件&#xff1f; 步骤二&#xff1a;如何集成APK应用签名文件&#xff1f; 步骤三&am…...

李宏毅深度学习-Pytorch Tutorial2

什么是张量&#xff1f; 张量&#xff08;Tensor&#xff09;是深度学习和机器学习中一个非常基础且重要的概念。在数学上&#xff0c;张量可以被看作是向量和矩阵的泛化。简单来说&#xff0c;张量是一种多维数组&#xff0c;它可以表示标量&#xff08;0维&#xff09;、向量…...

【译】为 SAP 表维护视图 (SM30) 创建选择屏幕

原文标题&#xff1a;Create Selection Screen for SAP Table Maintenance View (SM30) 原文链接&#xff1a; https://www.saphub.com/abap-dictionary/sap-abap-tmg-selection-screen/ 通常&#xff0c;带有单个屏幕的 SAP 表维护视图 (SM30) 会显示表中的所有记录&#xff…...

element Plus中 el-table表头宽度自适应,不换行

在工作中&#xff0c;使用el-table表格进行开发后&#xff0c;遇到了小屏幕显示器上显示表头文字会出现换行展示&#xff0c;比较影响美观&#xff0c;因此需要让表头的宽度变为不换行&#xff0c;且由内容自动撑开。 以下是作为工作记录&#xff0c;用于demo演示教程 先贴个…...

C语言程序设计P5-4【应用函数进行程序设计 | 第四节】——知识要点:数组作函数参数

知识要点&#xff1a;数组作函数参数 视频&#xff1a; 目录 一、任务分析 二、必备知识与理论 三、任务实施 一、任务分析 任务要求用选择法对数组中的 10 个整数按由小到大的顺序排序&#xff0c;前面在讲解数组时讲冒泡法排序曾提到选择法排序的思想。 所谓选择法就是…...

时间序列模型在LSTM中的特征输入

这里写目录标题 前言LSTM的输入组成时间步例子 实际代码解读特征提取处理成dataloader格式&#xff08;用于输入到模型当中&#xff09;对应到lstm的模型创建代码 总结 前言 本文章将帮助理解如何将一个时间序列的各种特征&#xff08;年月日的时间特征&#xff0c;滚动窗口滞…...

Python_Flask02

所有人都不许学Java了&#xff0c;都来学Python&#xff01; 如果不来学的话请网爆我的老师 连接前的准备 安装pymysql 和 flask_sqlalchemy&#xff0c;安装第三下面两个所需要的包才能连接上数据库 pip install pymysql pip install flask_sqlalchemy pymysql是一个Pyth…...