DAB-DETR: DYNAMIC ANCHOR BOXES ARE BETTER QUERIES FOR DETR论文笔记

news2024/11/22 19:23:28

原文链接

[2201.12329] DAB-DETR: Dynamic Anchor Boxes are Better Queries for DETR (arxiv.org)icon-default.png?t=O83Ahttps://arxiv.org/abs/2201.12329

原文笔记

在本文中,我们提出了一种新的查询公式,使用动态锚框进行DETR (DEtection TRansformer),并对查询在DETR中的作用进行了更深入的理解。这个新公式直接使用框坐标作为 Transformer 解码器中的查询,并逐层动态更新它们。使用框坐标不仅有助于使用显式位置先验来改进查询到特征的相似性并消除 DETR 中缓慢的训练收敛问题,还允许我们使用框宽度和高度信息调制位置注意力图。这样的设计清楚地表明,DETR 中的查询可以实现为级联方式逐层执行软 ROI 池化。因此,在相同的设置下,它在类似 DETR 的检测模型中实现了 MS-COCO 基准的最佳性能,例如,使用 ResNet50-DC5 作为 骨干训练50 个 epoch 的 AP 45.7%。我们还进行了广泛的实验来确认我们的分析并验证我们方法的有效性。代码可在 https://github.com/SlongLiu/DAB-DETR 获得。

原文翻译

ABSTRACT

在本文中,我们提出了一种新的查询公式,使用动态锚框进行DETR (DEtection TRansformer),并对查询在DETR中的作用进行了更深入的理解。这个新公式直接使用框坐标作为 Transformer 解码器中的查询,并逐层动态更新它们。使用框坐标不仅有助于使用显式位置先验来改进查询到特征的相似性并消除 DETR 中缓慢的训练收敛问题,还允许我们使用框宽度和高度信息调制位置注意力图。这样的设计清楚地表明,DETR 中的查询可以实现为级联方式逐层执行软 ROI 池化。因此,在相同的设置下,它在类似 DETR 的检测模型中实现了 MS-COCO 基准的最佳性能,例如,使用 ResNet50-DC5 作为 骨干训练50 个 epoch 的 AP 45.7%。我们还进行了广泛的实验来确认我们的分析并验证我们方法的有效性。代码可在 https://github.com/SlongLiu/DAB-DETR 获得。

1 INTRODUCTION

目标检测是广泛应用的计算机视觉的一项基本任务。大多数经典检测器基于卷积架构,在过去十年中取得了显著的进展(Ren et al., 2017; Girshick, 2015; Redmon et al., 2016; Bochkovskiy et al., 2020; Ge et al., 2021)。最近,Carion等人(2020)提出了一种名为DETR (DEtection TRansformer)的基于变压器的端到端检测器,它消除了对手工设计的组件(如锚点)的需求,并与现代基于锚点的检测器(如Faster RCNN)相比,表现出了良好的性能(Ren等人,2017)。

与基于锚的检测器相比,DETR 将对象检测建模为集合预测问题,并使用 100 个可学习的查询从图像中探测和池化特征,这使得预测不需要使用非最大抑制。然而,由于其查询的设计和使用无效,DETR 的训练收敛明显较慢,通常需要 500 个 epoch 才能获得良好的性能。为了解决这个问题,许多后续工作试图改进 DETR 查询的设计,以实现更快的训练收敛和更好的性能(Zhu et al., 2021; Gao et al., 2021; Meng et al., 2021; Wang et al., 2021)。

尽管取得了所有进展,但学习到的查询在DETR中的作用仍然没有得到充分的理解或利用虽然之前的大多数尝试使 DETR 中的每个查询更明确地与一个特定的空间位置而不是多个位置相关联,但技术解决方案有很大不同。例如,Conditional DETR通过query的内容特征选择query进而学习一个条件空间query 以便更好地与图像特征匹配(孟等人,2021年)。高效的DETR引入了一个密集预测模块来选择top-K对象查询(Yao et al., 2021),Anchor DETR将查询表述为2D锚点(Wang et al., 2021),两者都将每个查询与特定的空间位置相关联。类似地,可变形DETR直接将2D参考点作为查询,并在每个参考点上执行可变形的交叉注意操作(Zhu等人,2021年)。但是上述所有工作都仅利用 2D 位置作为锚点,而不考虑对象尺度。

受这些研究的启发,我们仔细研究了 Transformer 解码器中的交叉注意模块,并建议使用锚框,即 4D 框坐标 (x, y, w, h),作为 DETR 中的查询,逐层更新它们。这种新的查询公式通过考虑每个锚框的位置和大小,为交叉注意模块引入了更好的空间先验,这也导致了更简单的实现和更深入地关于query在DETR中的作用的理解。

这个公式背后的关键见解是 DETR 中的每个查询由两部分组成:内容部分(解码器自注意力输出)和位置部分(例如 DETR 中的可学习查询)1。交叉注意力权重是通过将查询与一组键进行比较来计算的,这些键由两部分组成作为内容部分(编码图像特征)和位置部分(位置嵌入)。因此,Transformer 解码器中的查询可以解释为基于查询到特征相似性度量的特征图池化特征,该度量同时考虑了内容和位置信息。虽然内容相似性用于汇集语义相关的特征,但位置相似性是为围绕查询位置汇集特征提供位置约束。这种注意力机制促使我们将查询表述为锚框,如图 1 (c) 所示,允许我们使用锚框的中心位置 (x, y) 来池化中心周围的特征,并使用锚框大小 (w, h) 来调节交叉注意力图,使其适应锚框大小。此外,由于使用坐标作为查询,锚框可以逐层动态更新。通过这种方式,DETR 中的查询可以实现为级联方式逐层执行软 ROI 池化。

(这段写得相当好)

我们使用锚框大小来调节交叉注意,为池化特征提供了更好的位置先验。由于交叉注意可以从整个特征映射中汇集特征,因此为每个查询提供适当的位置先验是至关重要的,让交叉注意模块聚焦于与目标对象对应的局部区域。它还可以促进加快DETR的训练收敛性。大多数先前的工作通过将每个查询与特定位置相关联来改进 DETR,但它们假设固定大小的各向同性高斯位置先验,这不适用于不同尺度的对象。由于每个查询锚框中可用的大小信息 (w, h),我们可以将高斯位置先验调制为椭圆形。更具体地说,我们分别将其 x 部分和 y 部分的交叉注意力权重(softmax 之前)划分宽度和高度,这有助于高斯先验更好地匹配不同尺度的对象。为了进一步改进位置先验,我们还引入了一个温度参数来调整位置注意的平坦度,这在所有先前的工作中被忽略了。

总之,我们提出的DAB-DETR (Dynamic Anchor Box DETR)通过直接学习锚点作为查询,提出了一种新的查询公式。这个公式提供了对查询的作用的更深入理解,使我们能够使用锚大小来调节 Transformer 解码器中的位置交叉注意力图并逐层执行动态锚更新。我们的结果表明,在 COCO 对象检测基准上的相同设置下,DAB-DETR 在类似 DETR 的架构中获得了最佳性能。当使用单个 ResNet-50 (He et al., 2016) 模型作为训练 50 个 epoch 的主干时,所提出的方法可以达到 45.7% 的 AP。我们还进行了广泛的实验来确认我们的分析并验证我们方法的有效性。

2 RELATED WORK

大多数经典检测器都是基于锚的,使用锚框(Ren 等人,2017;Girshick,2015;Sun 等人,2021)或锚点(Tian 等人,2019;Zhou 等人,2019)。相比之下,DETR (Carion et al., 2020) 是一个完全无锚检测器,使用一组可学习向量作为查询。许多后续工作试图从不同的角度解决DETR收敛速度慢的问题。Sun等人(2020)指出,DETR训练缓慢的原因是由于解码器中的交叉注意,因此提出了一种仅编码器模型。Gao等人(2021)相反,在调节交叉注意之前引入了高斯。尽管它们的性能有所提高,但它们并没有正确解释缓慢的训练查询在 DETR 中的作用

改进 DETR 的另一个方向,与我们的工作更相关的,是更深入地理解查询在 DETR 中的作用。由于 DETR 中的可学习查询用于为特征池化提供位置约束,大多数相关工作试图使 DETR 中的每个查询更明确地与特定的空间位置相关,而不是 vanilla DETR 中的多个位置模式。例如,可变形 DETR (Zhu et al., 2021) 将 2D 参考点直接视为查询,并预测每个参考点的可变形采样点以执行可变形交叉注意力操作。条件DETR (Meng et al., 2021)解耦注意公式,并根据参考坐标生成位置查询。高效的 DETR (Yao et al., 2021) 引入了密集预测模块来选择前 K 个位置作为对象查询。尽管这些工作将查询与位置信息连接起来,但它们没有明确的公式来使用锚点。

与可学习查询向量包含框坐标信息的先前工作中的假设不同,我们的方法基于一个新的视角,即查询中包含的所有信息都是框坐标。也就是说,锚框是 DETR 的更好查询。并行工作 Anchor DETR (Wang et al., 2021) 也建议直接学习锚点,而它忽略了锚点的宽度和高度信息,如其他先前的工作所示。除了 DETR,Sun 等人。 (2021)通过直接学习框提出了一种稀疏检测器,它与我们共享相似的锚公式,但它丢弃了 Transformer 结构并利用硬 ROI 对齐进行特征提取。表 1 总结了相关工作和我们提出的 DAB-DETR 之间的主要区别。我们将我们的模型与五个维度上的相关工作进行比较:如果模型直接学习锚点,如果模型预测参考坐标(在其中间阶段),如果模型逐层更新参考锚点,如果模型使用标准的密集交叉注意力,如果注意力被调制以更好地匹配不同尺度的对象。如果模型逐层更新学习到的查询。附录 B 节提供了有关类似 DETR 的模型的更详细比较。我们为那些对表格有混淆的读者推荐本节。

3 WHY A POSITIONAL PRIOR COULD SPEEDUP TRAINING?

已经做了很多工作来加速 DETR 的训练收敛速度,同时缺乏对他们的方法为什么有效的统一理解。Sun等人(2020)表明,交叉注意模块主要负责收敛速度慢,但它们只是去掉了解码器进行更快的训练。我们遵循他们的分析来找到交叉注意力中的哪些子模块会影响性能。将编码器中的自我注意模块与解码器中的交叉注意模块进行比较,我们发现其输入之间的主要区别在于查询,如图2所示。由于解码器嵌入被初始化为0,因此在第一个交叉注意模块之后,它们被投影到与图像特征相同的空间。之后,它们将在解码器层中经历类似的过程就像编码器层中的图像特征那样。因此根本原因可能是由于可学习的查询。

交叉注意中的两个可能原因解释了模型缓慢的训练收敛:1)由于优化挑战很难学习查询,2)学习查询中的位置信息没有以与用于图像特征的正弦位置编码相同的方式编码。为了了解它是否是第一个原因,我们重用了 DETR(保持它们固定)中学习良好的查询,并且只训练其他模块。图 3(a) 中的训练曲线表明,固定查询在早期仅略微提高了收敛性,例如前 25 个 epoch。因此,查询学习(或优化)可能不是关键问题。

然后我们转向第二种可能性,并尝试找出学习到的查询是否具有一些不良属性。由于学习到的查询用于过滤某些区域的对象,我们在图4(a)中将学习到的查询和图像特征的位置嵌入之间的一些位置注意图可视化,每个查询都可以被视为位置先验使得解码器专注于感兴趣的区域。虽然它们充当位置约束,但它们也具有不良属性:多种模式和几乎统一的注意力权重。例如,图 4(a) 顶部的两个注意力图有两个或更多的浓度中心,使得当图像中存在多个对象时,很难定位对象。图 4(a) 的底部图侧重于太大或太小的区域,因此无法将有用的位置信息注入到特征提取过程中。我们推测 DETR 中查询的多个模式属性可能是其训练缓慢的根本原因,我们相信引入显式位置先验来约束局部区域的查询对于训练是可取的。为了验证这一假设,我们将 DETR 中的查询公式替换为动态锚框,可以强制每个查询关注特定区域,并将该模型命名为 DETR+DAB。图 3(b) 中的训练曲线表明,在检测 AP 和训练/测试损失方面,DETR+DAB 与 DETR 相比具有更好的性能。请注意,DETR 和 DETR+DAB 之间的唯一区别是查询的制定,并且没有引入像300 个查询或焦点损失这样的其他技术,结果表明,在解决 DETR 查询的多模式问题后,我们可以实现更快的训练收敛和更高的检测精度。

以前的一些工作也具有相似的分析并证实了这一点。例如,SMCA (Gao et al., 2021) 通过在参考点周围应用预定义的高斯图来加速训练。条件DETR (Meng et al., 2021)使用显式位置嵌入作为位置查询进行训练,产生类似于高斯核的注意图,如图4(b)所示。尽管显式位置先验导致训练的良好性能,但它们忽略了对象的尺度信息。相比之下,我们提出的DAB-DETR明确地考虑了对象尺度信息自适应调整注意权重,如图4(c)所示。

4 DAB-DETR

4.1 OVERVIEW

在 DETR (Carion et al., 2020) 之后,我们的模型是一个端到端的对象检测器,包括一个 CNN 主干、Transformer (Vaswani et al., 2017) 编码器和解码器,以及框和标签的预测头。我们主要改进解码器部分,如图 5 所示。

给定图像,我们使用 CNN 主干和 Transformer 编码器提取图像特征,以细化 CNN 特征。然后将包括位置查询(锚框)和内容查询(解码器嵌入)的双重查询输入解码器以探测与锚点相对应并与内容查询具有相似的模式的对象,。双重查询逐层更新,以逐渐接近目标真实对象。最终解码器层的输出用于通过预测头预测带有标签和框的对象,然后进行二分图匹配来计算 DETR 中的损失。为了说明我们的动态锚盒的通用性,我们还设计了一个更强的DABDeformable-DETR,可以在附录中找到。

4.2 LEARNING ANCHOR BOXES DIRECTLY

如第 1 节所述,关于查询在 DETR 中的作用,我们建议直接学习查询框或说锚框并从这些锚框导出位置查询。每个解码器层有两个注意模块,包括一个自我注意模块和一个交叉注意模块,分别用于查询更新和特征探测。每个模块都需要查询、键和值来执行基于注意力的值聚合,但这些三元组的输入不同。

我们将 Aq = (xq , yq , wq , hq ) 表示第 q 个锚点,xq , yq , wq , hq ∈ R , Cq ∈ RD 和 Pq ∈RD 表示为其对应的内容查询和位置查询,其中 D 是解码器嵌入和位置查询的维度。

给定一个锚 Aq ,其位置查询 Pq 由下式得到:

Pq = MLP(PE(Aq )),

其中 PE 表示位置编码以从浮点数生成正弦嵌入,MLP 的参数在所有层中共享。由于 Aq 是一个四元数,我们在这里重载 PE 运算符:

PE(Aq ) = PE(xq , yq , wq , hq ) = Cat(PE(xq ), PE(yq ), PE(wq ), PE(hq )).

概念 Cat 表示连接函数。在我们的实现中,位置编码函数 PE 将浮点数映射到 D/2 维的向量,如下所示:PE:R → R^D/2。因此,函数 MLP 将 2D 维向量投影到 D 维:MLP:R^2D → R^D。MLP模块有两个子模块,每个子模块由线性层和 ReLU 激活组成,特征缩减在第一个线性层进行。

在自我注意模块中,所有三个查询、键和值都具有相同的内容项,而查询和键包含额外的位置项:

受条件DETR (Meng et al., 2021)的启发,我们将位置和内容信息连接在一起作为交叉注意模块中的查询和键,这样我们就可以解耦内容和位置对查询和特征的相似度的贡献,计算为查询和键之间的点积。为了重新缩放位置嵌入,我们也利用了条件空间查询(Meng et al., 2021)。更具体地说,我们学习了 MLP(csq) : RD → RD 以获得以内容信息为条件的尺度向量,并使用它与位置嵌入执行逐元素乘法:

4.3 ANCHOR UPDATE

使用坐标作为查询进行学习,从而使逐层更新它们称为可能。相比之下,对于高维嵌入的查询,例如在 DETR (Carion et al., 2020) 和条件 DETR (Meng et al., 2021) 中,很难执行逐层查询细化,因为不清楚如何将更新后的锚点转换回高维查询嵌入。

按照前面的实践(Zhu et al., 2021;Wang et al., 2021),我们通过预测头预测相对位置(∆x,∆y,∆w,∆h)后,更新每一层的锚点,如图5所示。注意,不同层的所有预测头共享相同的参数。

4.4 WIDTH & HEIGHT-MODULATED GAUSSIAN KERNEL

传统的位置注意图被用作类似高斯的先验,如图6左侧所示。但是先验只是假设所有对象的各向同性和固定大小的,却忽视了它们的尺度信息(宽和高),为了提高位置先验,我们建议将尺度信息注入到注意力图中。

原始位置注意图中的查询到键相似度计算为两个坐标编码的点积之和:

其中1/√D用于缩放值正如Vaswani等人(2017)所提到的。我们通过将相对锚点宽度和高度与其 x 部分和 y 部分分开来调制位置注意力图(在 softmax 之前),以在与不同尺度的对象更好地匹配之前平滑高斯:

4.5 TEMPERATURE TUNING

对于位置编码,我们使用正弦函数 (Vaswani et al., 2017),其定义为:

其中 T 是手工设计的温度,上标 2i 和 2i + 1 表示编码向量中的索引。式(8)中的温度T影响位置先验的大小,如图7所示。T越大,注意图越平坦,反之亦然。请注意,温度 T 在 (Vaswani et al., 2017) 中硬编码为 10000,用于自然语言处理,其中 x 的值是表示句子中每个单词的位置的整数。然而,在 DETR 中,x 的值在 0 到 1 之间浮动,表示边界框坐标。因此,视觉任务非常需要不同的温度。在这项工作中,我们在所有模型中根据经验选择 T = 20。

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

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

相关文章

探索人工智能在数学教育上的应用——使用大规模语言模型解决数学问题的潜力和挑战

概述 论文地址:https://arxiv.org/abs/2402.00157 数学推理是人类智能的重要组成部分,人工智能界不断寻求应对数学挑战的方法,而在这一过程中,人工智能的能力需要进一步提高。从文本理解到图像解读,从表格分析到符号操…

大数据|MapReduce编程原理与应用

在大数据时代的浪潮中,MapReduce作为一种高效处理海量数据的编程模型,自其诞生以来便成为了数据处理领域的基石。本文旨在深入探讨MapReduce的基本原理、典型应用以及其在未来技术发展趋势中的展望,帮助读者更好地理解并应用这一关键技术。 一…

数制转换及交换机

数制转换 非位置化数字系统:罗马数字 位置化数字系统:二进制,八进制,十进制,十六进制 十进制数: 符号:2 2 2位置:2 1 0位权:该数字的真实大小 该位置上的数基数的位置…

如何设计开发RTSP直播播放器?

技术背景 我们在对接RTSP直播播放器相关技术诉求的时候,好多开发者,除了选用成熟的RTSP播放器外,还想知其然知其所以然,对RTSP播放器的整体开发有个基础的了解,方便方案之作和技术延伸。本文抛砖引玉,做个…

所有程序员的白嫖圣地-github

内容汇总 认识github页面如何从github下载资源git配置如何通过github管理工程代码 有人问github怎么用,几分钟了解这个每个程序员都在用的白嫖圣地。 打开github主界面,映入眼帘的是Home面板,它的作用是显示我们关注的人、点赞的项目等更新…

一款非常有用且高效的国产的Linux运维面板:1Panel介绍

1Panel介绍 一、1panel介绍二、1panel的安装1、不同系统安装2、安装日志3、访问地址 三、1panel的卸载1、停止服务2、卸载服务3、清理残留文件4、清除日志文件5、验证卸载是否成功 四、1panel的功能介绍1、服务器资源使用情况快速监控2、文件管理器简单易用3、创建和管理网站轻…

【Linux操作系统】进程等待

目录 一、什么是进程等待?二、为什么要进行等待?三、进程等待方法1.wait函数2.waitpid3.status阻塞等待和非阻塞等待(轮询等待)1.阻塞等待2.非阻塞等待 四、代码举例 一、什么是进程等待? "进程等待"是指一…

基于springboot摄影跟拍预定管理系统

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 系统展示 【2024最新】基于JavaSpringBootVueMySQL的,前后端分离。 开发语言:Java数据库:MySQL技术:…

Finops成本优化企业实践-可规划篇

引言:本篇假设我们要在云上新增一个应用,讨论其在单体、failover、DR、集群模式下的成本规划。 假设该应用base on Linux,硬件要求是8cores、64G mem的云主机,并搭配500g内存,至少部署在一台云主机上。我们有开发、测…

Java项目: 基于SpringBoot+mysql+maven+vue林业产品推荐系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismavenvue林业产品推荐系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操…

【Linux】解锁软硬链接奥秘,高效动静态库管理的实战技巧

软硬连接和动静态库 1. 软链接1.1. 概念1.2. 特点1.3. 应用场景 2. 硬链接2.1. 概念2.2. 硬链计数2.3. 特点2.4. 应用场景 3. 动静态库3.1 库存在的原因3.2. 静态库制作与使用3.2.1 打包3.2.2. 使用 3.3. 动态库制作与使用3.3.1. 打包3.3.2. 使用 4. 解决动态库查不到的4种方法…

GStreamer 简明教程(七):实现管道的动态数据流

系列文章目录 GStreamer 简明教程(一):环境搭建,运行 Basic Tutorial 1 Hello world! GStreamer 简明教程(二):基本概念介绍,Element 和 Pipeline GStreamer 简明教程(三…

多场景多任务建模(三): M2M(Multi-Scenario Multi-Task Meta Learning)

多场景建模: STAR(Star Topology Adaptive Recommender) 多场景建模(二): SAR-Net(Scenario-Aware Ranking Network) 前面两篇文章,讲述了关于多场景的建模方案,其中可以看到很多关于多任务学习的影子&…

OGG错误:ORA-28000:the account is locked

问题描述 问题分析 从错误看,应该是ogg的角色锁定了,需要解锁 解决方案 解锁用户 SQL> alter user GGR_OGSREPO account unlock;

【Spring】Spring实现加法计算器和用户登录

加法计算器 准备工作 创建 SpringBoot 项目&#xff1a;引入 Spring Web 依赖&#xff0c;把前端的页面放入项目中 **<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport"…

Linux介绍及常用命令

Linux 系统简介 1969 年&#xff0c;AT&T 公司的⻉尔实验室P MIT 合作开发的 Unix&#xff0c;在于创建⼀个⽤于⼤型、并⾏、多⽤户的操作系统Unix 的推⼴&#xff1a;从学校⾛进企业Unix 的版本要两个&#xff1a; AT&T System V ——就是俗称的 系统 5Berkley Soft…

Linux中文件的理解

✨前言✨ &#x1f4d8; 博客主页&#xff1a;to Keep博客主页 &#x1f646;欢迎关注&#xff0c;&#x1f44d;点赞&#xff0c;&#x1f4dd;留言评论 ⏳首发时间&#xff1a;2024年10月16日 &#x1f4e8; 博主码云地址&#xff1a;渣渣C &#x1f4d5;参考书籍&#xff1a…

如何使用Nessus软件

Nessus&#xff08;Win2022虚拟机已安装&#xff09; [ root root ] 访问https://127.0.0.1:8834 如果出现以下问题 解决方法&#xff1a; 1.在地址栏输入&#xff1a;about:config 2.在搜索框 输入&#xff1a;security.enterprise_roots.enabled 将值切换为true即可。…

Java算法竞赛之getOrDefault()--哈希表最常用API!

解释: for (char ch : magazine.toCharArray()) { charCount.put(ch, charCount.getOrDefault(ch, 0) 1); } 在Java中&#xff0c;HashMap 是一个用于存储键值对的数据结构&#xff0c;其中每个键都是唯一的。put 方法用于将指定的键与值放入 Has…

AI控制工业机器人入门教程

简介 AI控制的工业机器人正在改变现代制造业的面貌。与传统的编程控制不同&#xff0c;AI使机器人能够通过感知环境、自主决策和学习不断优化自身的操作。这篇教程将介绍实现AI控制工业机器人的必要知识和技能&#xff0c;帮助读者从基础开始构建起AI控制机器人的理解和能力。…