没有合适的资源?快使用搜索试试~ 我知道了~
the high cost of configuring a robotic system largely limitsresearchers from accessing these interesting topics.This work aims at equipping a robotic system with com-puter vision algorithms, e.g., predicting its real-time statususing an external camera, so that researchers can controlthem with a high flexibility, e.g., mimicking the behavior ofhuman operators. In particular, we build our platform upona low-cost robotic arm named OWI-535 which can be pur-chased from Amazon1 for less than $40. The downside isthat this arm has no sensors and thus it totally relies on vi-sion inputs2 – on the other hand, we can expect vision inputsto provide complementary information in sensor-equippedrobotic systems. We chose this arm for two reasons. (i)Accessibility: the cheap price reduces experimental bud-gets and makes our results easy to be reproduced by lab re-searchers (poor vision people :( ). (ii) Popularity: usersaround the world uploaded videos to YouTube recordinghow this arm was manually controlled to complete vari-ous tasks, e.g., picking up tools, stacking up dices, etc.These videos were captured under substantial environmen-tal changes including viewpoint, lighting condition, occlu-sion and blur. This raises real-world challenges which arevery different from research done in a lab environment.Hence, the major technical challenge is to train a visionalgorithm to estimate the 3D pose of the robotic arm.Mathematically, given an input image x, a vision modelM : p = h(x; θ) is used to predict p, the real-time 3Dpose of the arm, where θ denotes the learnable parameters,e.g., in the context of deep learning [17], network weights.Training such a vision model often requires a considerableamount of labeled data. One option is to collect a largenumber of images under different environments and anno-tate them using crowd-sourcing, but we note a significantlimitation as these efforts, which take hundreds of hours, areoften not transferable from one robotic system to another.In this paper, we suggest an alternative solution which bor-142140CRAVES: 基于视觉经济系统控制机械臂0左一明 1 � ,邱伟超 2 � ,谢灵犀 2,4 ,钟方伟 3 ,王一洲 3,5,6 ,Alan L. Yuille 201 清华大学 2 约翰霍普金斯大学 3 北京大学 4 诺亚方舟实验室,华为公司 5彭城实验室 6 深智能实验室0{ zuoyiming17,qiuwch,198808xc,zfw1226,alan.l.yuille } @gmail.com, yizhou.wang@pku.edu.cn0摘要0训练机械臂完成现实世界任务在学术界和工业界越来越受到关注。本文讨论了计算机视觉算法在这一领域的作用。我们关注没有配备传感器的低成本机械臂,因此所有决策都基于视觉识别,例如实时三维姿态估计。这需要大量标注训练数据,这不仅耗时而且费力。在本文中,我们提出了一种替代方案,该方案使用三维模型创建大量合成数据,在虚拟领域中训练视觉模型,并在域适应后应用于现实世界图像。为此,我们设计了一种半监督方法,充分利用关键点之间的几何约束。我们应用迭代算法进行优化。在没有对真实图像进行任何注释的情况下,我们的算法具有很好的泛化能力,并在两个真实世界数据集上产生令人满意的三维姿态估计结果。我们还构建了一个基于视觉的控制系统来完成任务,我们在虚拟环境中训练了一个强化学习代理,并将其应用于现实世界。此外,我们的方法仅需要一个三维模型,有潜力推广到其他类型的多刚体动态系统。01. 引言0精确灵活的机械臂在装配行业已经广泛应用了几十年,但将机器人适应到家庭使用仍然是一个具有挑战性的话题。如果机器人能够提供并充分利用视觉输入,这个任务将变得更加容易。一个典型的例子是自动驾驶[8]。在机器人领域,研究人员越来越关注基于视觉的机器人,并收集了大规模的数据集,例如用于物体抓取[19][29]和块堆叠[12]的数据集。然而,配置机器人系统的高成本很大程度上限制了研究人员进入这些有趣的领域。本文旨在为机器人系统配备计算机视觉算法,例如使用外部摄像头预测其实时状态,以便研究人员可以以高灵活性控制它们,例如模仿人类操作员的行为。特别是,我们的平台建立在一种名为OWI-535的低成本机械臂上,该机械臂可以在亚马逊上以不到40美元的价格购买。缺点是该机械臂没有传感器,因此完全依赖于视觉输入2 -另一方面,我们可以期望视觉输入在配备传感器的机器人系统中提供补充信息。我们选择这个机械臂有两个原因。(一)可访问性:低廉的价格降低了实验预算,并使我们的结果易于实验室研究人员复制(视力差的人:()。(二)流行度:世界各地的用户上传了在YouTube上记录这个机械臂如何被手动控制完成各种任务的视频,例如拿起工具,堆叠骰子等。这些视频在包括视点,光照条件,遮挡和模糊等重大环境变化下进行了捕捉。这带来了与实验室环境中的研究非常不同的现实世界挑战。因此,主要的技术挑战是训练一个视觉算法来估计机械臂的三维姿态。从数学上讲,给定输入图像x,使用视觉模型M:p =h(x;θ)来预测p,即机械臂的实时三维姿态,其中θ表示可学习参数,例如在深度学习[17]的上下文中,网络权重。训练这样的视觉模型通常需要大量标记的数据。一种选择是在不同环境下收集大量图像,并使用众包进行注释,但我们注意到这些工作需要数百小时,并且通常无法从一个机器人系统转移到另一个机器人系统。在本文中,我们提出了一种替代方案,该方案借鉴了0� 这项工作是第一作者在约翰霍普金斯大学实习期间完成的。前两位作者贡献相等。01 https://www.amazon.com/dp/B0017OFRCY/ 2即使提供了机械臂的初始化状态并记录了每个动作,我们也无法准确计算其实时状态,因为每个指令的执行都存在较大的变化-甚至电池电量也可能会影响。242150控制器0场景理解(检测,分割)0图像 �03D姿态 2D关键点0新图像 � +10机械臂电机0关键点检测 3D重建0合成训练图像 � = ���; � = ���; �0图1.我们系统的概述(最佳观看效果为彩色)。目标是仅使用摄像头作为传感器来完成任务。视觉模块检测机械臂的2D关键点,然后计算其3D姿态。控制模块使用3D姿态估计来确定下一步动作,并将其传递给电机。在我们的设置中,通过直接提供目标的3D位置来实现场景理解。0在虚拟世界中,我们可以通过生成3D模型并合成带标签的数据来几乎没有成本地训练视觉模型,然后将其适应于真实世界的场景。0这属于域自适应的研究领域[4]。具体而言,目标是在虚拟分布xV�PV上训练M,然后将其推广到真实分布xR�PR。我们通过充分利用一个强大的属性来实现这个目标,即关键点之间的空间关系,例如每个骨头的长度,是固定且已知的。也就是说,尽管目标分布PR与PV不同且PR中的数据保持未标记状态,但预测的关键点应严格遵守一些几何约束τ。为了形式化这一点,我们将M分解为两个组件,即M1:y =f(x;θ)用于关键点检测和M2:p =g(y;τ)用于3D姿态估计。这里,M2是无参数的,因此无法优化,因此我们在PV上训练M1,并希望将其适应于PR,y成为一个隐藏变量。我们应用迭代算法来推断p� = arg maxp � Pr(y;θ|x) ∙ Pr(p;τ|y)dy,并且由p�确定的最优y�作为猜测的标签,用于对M1进行微调。最终,在目标域中实现了无需任何注释的预测。0我们设计了两个基准来评估我们的系统。第一个基准衡量姿态估计的准确性,我们手动注释了两个图像数据集,分别是在我们实验室拍摄和从YouTube上爬取的。我们的算法在标记的虚拟数据上训练,并用未标记的实验室数据进行微调,平均角度误差为4.81°,平均在4个关节上。这为第二个基准奠定了基础,我们在其中为机械臂创造了一个环境,以合成任意数量的带标签的虚拟数据,并几乎没有成本,然后将在这些虚拟数据上训练的视觉模型适应到真实场景中。0完成真实世界任务,例如触摸指定点。我们报告了定量(距离误差和成功率)和定性(在补充材料中提供了演示)的结果。配备强化学习,我们基于视觉的算法在准确性上与人类操作员相当。我们的所有数据和代码已在我们的网站https://craves.ai上发布。总之,本文的贡献有三个方面。首先,我们设计了一个完整的框架,以低成本、无传感器的机械臂实现令人满意的任务完成准确性。其次,我们提出了一种涉及虚拟环境训练和域自适应的视觉算法,并验证了其在典型多刚体系统中的有效性。第三,我们开发了一个平台,其中包括两个真实世界数据集和一个虚拟环境,以促进未来在这个领域的研究。02. 相关工作0• 基于视觉的机器人控制基于视觉的机器人控制越来越受到关注。与依赖于特定传感器(例如IMU和旋转编码器)的传统系统相比,视觉具有适应复杂和新颖任务的灵活性。计算机视觉的最新进展使得基于视觉的机器人控制更加可行。除了将视觉算法用作感知模块外,研究人员还尝试纯粹从视觉中训练端到端的控制系统[13][18][23]。为此,研究人员收集了各种任务的大型数据集,包括抓取[19][29]、堆叠方块[12]、自动驾驶[8][43]等。另一方面,训练一个用于真实世界控制的系统是一项具有挑战性的任务。342160图2.这里显示了我们实验中使用的OWI-535的4个关节和17个关键点。每个关节都被赋予一个特定的名称。关键点的颜色对应其所属的部位。0控制任务通常耗时且基于高精度传感器的机器人成本昂贵,这两个问题阻碍了许多视觉研究人员进入这个研究领域。对于第一个问题,人们转而使用模拟器,如MuJoCo[37]和Gazebo[16],以加速训练过程,例如使用强化学习,并应用于真实机器人,例如PR2 [39],Jaco [32]和KUKA IIWA[2](价格从$50,000到$200,000不等)。对于第二个问题,尽管已经使用低成本物体(例如玩具车[15])来模拟真实场景,但很少使用低成本机械臂,主要是由于不精确的电机和/或传感器引起的限制,因此传统的控制算法难以应用。例如,LynxmotionArm是一种用于训练强化学习算法的廉价($300)机械臂[31][5]。该臂的控制是使用摄像头和伺服电机的混合方式进行的,提供关节角度。本文使用的是一种更便宜($40)且更受欢迎的机械臂,名为OWI-535,它仅依赖于外部摄像头的视觉输入。据我们所知,这种机械臂从未被用于自动任务完成,因为缺乏传感器。0• 使用合成数据的计算机视觉合成数据已广泛应用于许多计算机视觉问题,其中难以获得注释,例如光流[3],目标跟踪[6][24][44],人体解析[41],VQA[14],6D姿态估计[34][35],语义分割[10]等。域适应是将在合成数据上训练的模型转移到真实场景的重要阶段。有三种主要方法,即域随机化[36][38],对抗训练[9][25][33][40]和联合监督[20]。关于域适应的更全面的调查可参考[4]。作为另一种解决方案,研究人员引入了中间表示(例如,语义分割)来弥合域差距[11]。在这项工作中,我们专注于在域随机化的辅助下进行半监督学习。前一种方法主要基于从建模目标物体的几何获得的3D先验[7][28]。以前,研究人员已经应用参数化的3D模型来改进人体[1][27]或动物[47]的解析结果,或者对模型本身进行微调[28]。机器人系统的几何形状通常具有较低的自由度,这使得可以使用强形状约束来进行预测改进和模型微调。0应用参数化的3D模型来改进人体[1][27]或动物[47]的解析结果,或者对模型本身进行微调[28]。机器人系统的几何形状通常具有较低的自由度,这使得可以使用强形状约束来进行预测改进和模型微调。03. 方法03.1. 系统概述0我们旨在设计一个基于视觉的系统,以控制一个无传感器的机械臂完成现实世界的任务。如图1所示,我们的系统由三个主要组件循环工作。第一个组件是数据采集,从虚拟环境中采样合成图像x用于训练,并从外部摄像头获取实时控制的真实图像。第二个组件是姿态估计,一个算法p =h(x;θ)产生机械臂的3D姿态(关节角度)(见图2中四个关节的定义)。第三个组件是控制器,它以p作为输入,确定机械臂要采取的动作,从而触发一个新的循环。请注意,数据采集(第3.2节)可能发生在虚拟和真实环境中 -我们的想法是在虚拟领域收集廉价的训练数据,训练一个视觉模型,并将其调整为在现实世界中工作良好的模型。本文的核心是姿态估计(第3.3节),它本身是计算机视觉中的一个重要问题,我们从域转移的角度进行研究。虽然研究运动控制(第3.4节)也很有趣但具有挑战性,但它超出了本文的范围,因此我们设置了一个相对简单的环境并应用了强化学习算法。03.2. 数据采集0OWI-535机械臂有5个电机,分别命名为旋转、底座、肘部、腕部和夹爪。其中,夹爪的状态对于运动规划来说不是必要的,因此在本文中被简单忽略。前4个电机的运动范围分别为270°、180°、300°和120°。为了以低成本收集训练数据,我们转向虚拟世界。我们下载了一个CAD模型,与真实模型完全相同,该模型是使用虚幻引擎4(UE4)构建的。我们使用Maya实现了其运动系统,该系统在原始模型中没有配备。每个关节的角度限制以及碰撞边界也是手动配置的。OWI-535的CAD模型总共有170,648个顶点,其中,我们手动注释了17个在视觉上可区分的顶点作为我们的关键点,如图2所示。03 https://3dwarehouse.sketchup.com/model/u21290a3e-f8ef-46da-985c-9aa56b0dee53/Maplin-OWI-ROBOTIC-ARM�Pr(y; θ | x) · Pr(p, z; τ | y) dy.442170这个数字大于系统的自由度(6个相机参数和4个关节角度),同时又足够小,以便可以在真实图像上注释所有关键点进行评估。图像和注释是通过UnrealCV[30]从UE4中收集的。我们从两个来源创建真实世界数据集,用于基准和复制目的。数据的第一部分是从我们实验室的一个机械臂收集的,并且我们最大程度地保证了其姿态,视点和背景的可变性。数据的第二部分是从YouTube上爬取的,许多用户在上面上传了与这个机械臂玩耍的视频。这两个子集都提出了新的挑战,虚拟数据没有涵盖,例如运动模糊和遮挡,对我们的视觉算法来说,第二个子集更具挑战性,因为相机内参参数未知,机械臂可能被改装用于各种目的。我们在这些图像上手动注释了17个关键点,每个关键点通常需要一分钟。这些数据集的更多细节在第4节中介绍。03.3. 可迁移的3D姿势估计0我们首先定义本文中使用的一些术语。让p定义决定图像中臂部位置的所有参数。在我们的实现中,p有10个维度:6个相机外参参数(位置,旋转)和4个电机角度。y∈R17×2和z∈R17×3分别是2D和3D关键点的位置。y和z都是p的确定性函数。目标是设计一个函数p=h(x;θ),它接收图像x并输出定义对象姿态的姿势向量p。θ表示可学习参数,例如深度学习中的网络权重。关键点在虚拟和真实领域中遵循相同的几何约束。为了充分利用这些约束,我们将h(∙)分解为两个组成部分,即2D关键点检测M1:y=f(x;θ)和3D姿势估计M2:(p,z)=g(y;τ)。这里,τ是一组固定的方程,对应于几何约束,例如两个关节之间的长度。也就是说,M1被训练来优化θ,而M2是一个无参数算法,涉及拟合一些固定的算术方程。为了减少数据注释的开销,我们应用了一种称为半监督学习的设置[46],它包含两部分的训练数据。首先,从虚拟环境中收集到一个带标签的训练数据集D1={(xn,yn)}Nn=1。这个过程是自动进行的,成本很低,并且可以轻松移植到其他具有3D模型的机器人系统上。其次,提供了一组未标记的图像数据D2={˜xm}Mm=1,而每个˜xm的相应标签˜ym仍然未知。我们使用PV和PR来表示虚拟和真实图像分布,即xn�PV和˜xm�PR。由于PV0而PR在许多方面可能不同,我们不能期望0在D1上训练的模型能够很好地推广到D2上。关键在于弥合PV和PR之间的差距。一种现有的解决方案是以显式方式工作,通过训练一个映射r(∙),使得当我们从PR中采样˜xm时,r(˜xm)最大程度地模拟PV的分布。这通过无配对的图像到图像的转换[45]实现,已经在一些视觉任务中证明有效[9]。然而,在我们的问题中,出现了一个额外的线索,声称源图像和目标图像具有相同的标签分布,即,两种情况都旨在估计完全相同对象的姿势,因此我们可以利用这个线索以隐式方式实现域适应。在实践中,我们通过提供无标签数据对系统进行半监督训练。我们的方法在这个特定任务中展示了优越的迁移能力,同时保留了结合两种方式以提高准确性的可能性。为此,我们以概率的方式重新定义了M1和M2。M1产生一个分布F(x;θ)�y,类似地,M2输出G(y;τ)�(p,z)。这里的目标是在y保持潜变量的情况下最大化(p,z)的边际似然:0(p�,z�)=argmax(p,z)0(1)还有另一种选择,直接计算y�=argmaxyPr(y;θ|x),然后从y�推断p�和z�。我们不采用这种方法,因为我们相信Pr(p,z;τ|y)比Pr(y;θ|x)更可靠,因为前者是由严格的几何约束形成的。方程(1)可以使用迭代算法求解,从虚拟数据集中预训练的模型F(x;θ)开始。在第一步中,我们固定θ并推断F(x;θ)。这是通过将输入图像裁剪为256×256并将其馈送到一个堆叠的沙漏网络[26]中完成的,该网络具有2个堆叠。网络产生K=17个热图,每个热图的大小为64×64,对应一个关键点。这些热图被作为G(y;τ)的输入数据,该模型估计p和z以及y。这是通过利用几何约束τ完成的,它出现为一些带有固定参数的线性方程,例如,手臂的每个骨骼的长度。这是一个概率模型,我们应用迭代算法(见第3.5节)找到一个近似解y',p'和z'。注意,y'不一定是F(x;θ)中的最大值。在第二步中,我们采用最优的y'来更新θ。由于F(x;θ)是一个深度网络,通常通过梯度反向传播来实现这一点。我们将这个迭代算法与随机梯度下降相结合。在每个称为一个“时代”的基本单元中,每个步骤只执行一次。虽然通常不会达到收敛,但我们继续进行下一个时代,这带来了更多的信息监督。与直接求解方程(1)相比,这种策略提高了训练阶段的效率,即,需要更少的迭代次数。图3显示了我们可迁移姿势估计流程的示意图。.(3)542180未标记的真实图像初始关键点03D重建0改进的关键点预测0微调0预训练0合成图像02D预测0图3.可迁移的3D姿势估计流程(最佳观看效果为彩色)。初始预测可能包含准确(绿色)和不准确(青色)的关键点,甚至异常值(红色)。通过引入3D先验约束,我们获得了一个经过改进的关键点预测,用于微调神经网络。0我们可迁移的姿势估计流程的示意图。03.4. 运动控制0为了控制机械臂完成任务,我们需要一个运动控制模块,它以估计的3D姿态作为输入,并输出一个动作以实现目标。运动控制策略 a t = π(s t, g t)是通过深度强化学习算法学习得到的。s t 是时间 t时环境的状态,例如机械臂姿态 p。g t表示目标,例如目标位置。a t是我们系统中每个关节的控制信号。该策略是在我们的虚拟环境中学习的,并通过深度确定性策略梯度(DDPG)[21]进行优化。我们的实验证明,使用机械臂姿态作为输入,虚拟环境中学到的策略可以直接应用于真实世界。03.5. 实现细节0• 训练数据的变化性我们的方法涉及两部分训练数据,即用于预训练2D关键点检测的虚拟子集和用于微调的无标签真实子集。在这两部分中,我们改变每个训练图像的背景内容,以促进数据的多样性,从而减轻过拟合。在虚拟域中,背景可以由图形渲染器自由控制。在这种情况下,我们将机械臂放置在一个板子上,在一个天空球下,板子和球的背景都是从MS-COCO数据集[22]中随机采样的。然而,在真实域中,背景解析是非常困难的,可能不准确。为了解决这个困难,我们创建了一个特殊的子集进行微调,在这个子集中,所有图像都是在一个干净的环境中拍摄的,例如在一个白板前面,这样可以很容易地通过像素级的基于颜色的滤波器分割出机械臂,然后将其放置在MS-COCO数据集中的一个随机图像上。我们观察到这些简单技术带来的一致的准确性提升。0• 关节关键点检测和姿态估计0我们使用近似算法找到最大化Pr(y; θ | x) ∙ Pr(p, z; τ |y)的y'(以及p'和z'),因为准确的优化在数学上是难以处理的。我们首先计算使Pr(y; θ |x)最大化的y' = arg max y F(x;θ)。这是在每个2D关键点的热图上单独进行的,它不仅产生最可能的y'k,还产生一个表示其置信度的分数ck。我们首先过滤掉所有置信度低于阈值ξ的关键点,即所有ck <ξ的关键点被认为是未知的(因此完全由几何先验确定),这是为了最大限度地防止异常值的影响。在实践中,我们使用ξ =0.3,我们的算法对这个参数不敏感。接下来,我们使用这些2D关键点恢复3D姿态,即最大化Pr(p, z; τ | y = y')。在透视投影的假设下,每个关键点yk ∈ R 20是3D坐标z k ∈ R 3的2D投影,可以写成线性方程:0[y | 1] � ∙ ˆS = K ∙ [R | T] ∙ [z | 1] �. (2)0在这里,y ∈ R K × 2和z ∈ R K ×3是2D和3D坐标矩阵,1 ∈ R K × 1是全1向量。K ∈ R 3 ×3是相机内参矩阵,对于特定相机是恒定的。S ∈ R K,R ∈R 3 × 3和T ∈ R 3 ×1分别表示缩放向量、旋转矩阵和平移向量,所有这些都由p确定。对于每个关键点k,z k由电机变换确定,z k = z k 0 ∙W k,其中z 0 ∈ R K ×3是一个常数矩阵,表示当电机角度为0时所有关键点的坐标,W k ∈ R 3 ×3是第k个关键点的电机变换矩阵,也由p确定。ˆS =diag(S)是缩放矩阵。由于预测的不准确性(y可能在预测或手动注释中不准确)和公式的不准确性(例如,透视投影不考虑相机畸变),方程(2)可能不完全成立。在实践中,我们假设恢复的3D坐标遵循各向同性高斯分布,因此最大化其似然性给出以下对数似然损失:0L(p, z | y) = ���[y|1]� ∙ ˆS - K ∙ [R|T] ∙ [z|1]����204. 实验04.1. 数据集和设置0我们生成了5,000个合成图像,其中包括随机化的相机参数、光照条件、手臂姿势和背景增强(参见第3.5节)。其中4,500个用于训练,剩下的500个用于验证。这个数据集后来被称为虚拟数据集,用于验证2D关键点检测模型(例如堆叠的沙漏网络)的良好工作。CycleGAN99.86 97.8475.2676.98ADDA99.89 96.1479.1980.04CyCADA99.84 98.0973.4774.37642190图4.本文使用的三个数据集的示例图像。从上到下:合成图像(前两行),实验室图像和YouTube图像。请放大查看细节。0在真实环境中,我们收集并手动注释了两组数据。第一组称为实验室数据集,包含由720P网络摄像头捕获的超过20,000帧。我们手动选择了428个关键帧并对其进行了注释。为此,我们在虚拟环境中渲染了手臂的3D模型,并将其调整到与真实手臂相同的姿势,使得这两个图像中的手臂完全重叠-通过这种方式我们获得了真实手臂姿势的真实值,以及相机的内部和外部参数(通过在每个视频开始时放置一个棋盘格获得)。我们故意放置了干扰物,例如彩色盒子、骰子和球,以使数据集更加困难,从而评估我们模型的泛化能力。用于微调和测试的帧来自不同的视频。第二部分真实世界图像数据,YouTube数据集,是从YouTube上爬取的,其中包含109个使用OWI-535机械臂的视频。这是一个多样化的集合,其中机械臂甚至可能被修改,即几何约束可能不完全成立。我们采样了275帧,并手动注释了每个2D关键点的可见性和位置。请注意,由于没有相机参数,我们无法注释出手臂的准确姿势。此数据集从未包含在训练中,而是用于观察域适应的行为。三个数据集的示例图像如图4所示。04.2. 姿态估计04.2.1 检测2D关键点0我们首先评估2D关键点检测,并使用一种称为PCK@0.2的流行度量标准[42]来评估准确性。为此,我们在虚拟数据集中从头开始训练了一个2层沙漏网络,训练了30个时期。应用了标准的数据增强技术,包括随机平移、旋转、缩放、颜色变换和翻转。0模型 虚拟实验室 YouTube 可见的YouTube0合成 99.95 95.66 80.05 81.610我们的方法 99.63 99.55 87.01 88.890表1.三个数据集上的2D关键点检测准确率(PCK@0.2,%)。在考虑所有关键点和仅考虑可见关键点时,模型在YouTube数据集上进行测试。0ping。在这个模型的基础上,我们考虑了几种方法来实现域转移。一种方法是训练一个明确的模型,将虚拟数据转换为我们在其上训练新模型的伪造真实数据。在实践中,我们应用了一种流行的生成模型,称为CycleGAN[45]。我们使用合成图像作为源域,实验室图像作为目标域,训练了100个时期的CycleGAN网络。其他域适应方法,即ADDA[40]及其后续工作CyCADA[9]也被应用和与我们在第3.3节中描述的方法进行了比较。我们将合成图像和真实图像按6:4的比例混合,并使用与基线相同的超参数。实验室图像在线添加背景杂乱以增加变异性(参见第3.5节)。结果总结在表1中。基线模型在虚拟数据上几乎完美地工作,报告了99.95%的PCK@0.2准确率。然而,在实验室数据中,这个数字显著下降到95.66%,甚至在YouTube数据中急剧下降到80.05%,表明存在域差距。这些差距在应用域适应算法后大大缩小。使用CycleGAN生成的图像进行训练,我们发现模型在目标域(即实验室数据集)上的表现更好,准确率比基线模型高出2.18%。然而,这个模型无法推广到YouTube数据集,因为准确率甚至低于基线模型。对于ADDA和CyCADA,情况类似,它们在实验室数据集上分别获得了0.48%和2.43%的改进,但这两种方法都不能很好地推广到YouTube数据集。相反,我们的方法在准确性方面取得了更高的水平,在实验室数据中达到了99.55%的PCK@0.2分数,在YouTube数据中达到了87.01%,将基线性能提高了6.96%。在可见的YouTube关键点子集中,改进更大(7.28%)。此外,改进后的模型在虚拟数据上只产生了稍差的PCK@0.2准确率(99.63% vs.99.95%),这意味着在“适应虚拟数据”和“转移到真实数据”之间实现了平衡。结果表明,显式域适应方法(如CycleGAN、ADDA和CyCADA)的性能在某些方面可能受到限制。例如,与我们基于3D几何的域适应方法相比,尽管这些显式域适应方法训练的模型在实验室数据上获得了一定的改进,但在YouTube数据集上的准确性仍然较低。2,50092.3875.2477.335,00095.6680.0581.6110,00096.1380.7181.7120,00097.2581.1181.83742200模型 电机 相机0旋转 基座 肘关节 腕关节 平均 旋转 位置0合成 7.41 6.20 7.15 7.74 7.13 6.29 7.580改进 4.40 3.29 5.35 6.03 4.81 5.29 6.730表2.实验室数据集中的3D姿态估计误差(角度)和相机参数预测误差(角度和厘米)。0图5.我们的YouTube数据集的定性结果。挑战包括遮挡、用户修改、光照等。我们展示使用从单个输入图像估计的相机参数和姿态生成的合成图像。展示了成功案例(左侧五列)和失败案例(最右侧一列)。0迁移方法适用于目标域,但在未见数据上的性能较差。此外,我们无法将YouTube数据集作为目标域训练CycleGAN模型,因为YouTube数据的分布过于多样化,这样的转换很难学习。04.2.2 估计3D姿态0我们首先在虚拟数据集上测试了3D姿态估计的性能。我们只使用在合成图像上训练的模型,因为它在合成数据上具有最佳的2D预测准确率。实验在500个合成图像上进行。四个关节的角度误差分别为2.67°、2.80°、2.76°、3.31°,平均为2.89°。相机参数的误差为旋转2.25°和位置2.59厘米。我们还在真实图像上测试了我们模型的3D姿态估计性能,这是完成任务的基础。由于在YouTube数据上获取3D注释很困难,因此只报告了实验室数据集的定量3D姿态估计结果。我们使用棋盘格进行相机标定来估计相机内参。结果如表2所示。结果显示,我们的改进模型比仅合成模型性能提高了2.32°。0平均角度误差。图5展示了YouTube数据集上的定性结果。由于YouTube视频的相机内参未知,我们在重建过程中使用弱透视模型。大量的遮挡、用户修改和极端光照使得某些情况下3D姿态估计变得困难。我们选择了典型的成功和失败案例进行展示。04.2.3 消融研究:域自适应选项0模型 实验室 YouTube YouTube-vis0仅合成 95.66 80.05 81.610BG � 3D � 94.52 80.24 82.220BG � 3D � 98.72 84.04 87.110BG � 3D � 97.31 86.52 88.270BG � 3D � 99.55 87.01 88.890表3.2D关键点检测准确率(PCK@0.2,%)的消融研究。'3D'代表联合关键点检测和3D姿态估计,'BG'代表随机背景增强。0# 图像 实验室 YouTube YouTube-vis0表4.2D关键点检测准确率(PCK@0.2,%)与训练图像数量的关系。0背景增强和关键点检测与姿态估计两种策略对准确性改进的贡献进行了消融研究。结果如表3所示。我们比较了5个模型的性能:1)基准模型,训练在4,500个合成图像上;2)-5)训练时是否进行关键点估计和是否进行背景增强。请注意,如果模型在没有进行关键点估计的情况下训练,我们直接将预测热图的argmax作为注释进行训练。我们可以看到,这两种策略都对整体性能的提升有贡献。当两种策略结合时,我们的模型表现最佳。04.2.4 消融研究:训练图像数量0借助领域随机化的帮助,我们可以生成外观丰富、数量无限的合成图像。另一方面,深度模型的性能往往随着训练数据的增加而饱和。因此,在性能和数据效率之间需要取得平衡。结果如表4所示。当训练图像数量从2,500增加到5,000时,准确率显著提高(在实验室和YouTube数据集上分别提高了3.28%和4.81%)。当训练图像数量继续增加到20,000时,准确率只有小幅提高(在实验室和YouTube数据集上分别提高了1.49%和0.22%)。因此,5,000个合成图像是准确性和效率之间的一个良好平衡点。04.3. 使用视觉控制机械臂0我们完全基于视觉实现了一个完整的控制系统,如第3.4节所述。它以视频流作为输入,估计机械臂的姿态,然后规划运动并向电机发送控制信号。842210代理 输入 距离 成功 平均0类型 错误(cm) 率 时间(s)0人类直接 0.65 100.0% 29.80人类相机 2.67 66.7% 38.80我们的相机 2.66 59.3% 21.20表5.完成到达任务的定量结果。当给出相同的输入信号时,我们的系统达到了与人类相当的性能。0该系统通过一个任务进行验证,达到一个目标点。目标是控制机械臂使机械臂末端在桌子上的指定点正上方,避免碰撞。每次尝试只有当机械臂末端与目标点的水平距离在3cm以内时才算成功。该系统在6个不同的摄像头视角下进行测试。对于每个视角,机械臂需要到达9个目标点。目标点和摄像头视角的选择是为了涵盖各种情况。我们还放置了干扰物来挑战我们的视觉模块。我们实验设置的快照可以在图6中看到。我们还报告了人类在相同任务上的表现。人类被要求观看屏幕上的视频流,并使用游戏手柄控制机械臂。这个设置确保了人类和我们的系统在比较中接受相同的视觉输入。此外,我们允许人类直接观察机械臂并自由移动以观察机械臂执行任务时的情况。两种设置的性能都有所报告。我们的控制系统在这个任务中可以达到与人类相当的性能。结果在表5中报告。如果直接观察机械臂,人类的表现会更好。这是因为人类可以不断移动头部选择当前状态下的最佳视角。潜在地,我们可以使用动作视觉或多摄像头系统来模仿这种能力并进一步改进系统,这是有趣的未来工作,但超出了本工作的范围。值得注意的是,我们的系统可以实时运行并且完成任务比人类更快。基于这个控制模块,我们展示了我们的系统可以将一堆骰子分别移动到一个盒子中。请参阅https://youtu.be/8hZjdqDrYas的视频演示。为了简化部署,我们直接将骰子和盒子的真实位置输入系统,并应用与到达任务相同的控制器。这个任务的成功率不高,因为它需要在水平和垂直方向上进行高精度的姿态控制。我们在视频中还提供了一些有趣的失败案例。失败案例是由几个原因引起的,例如自遮挡或很少见的配置。此外,控制器有时会失败,例如,如果机械臂离摄像头太远,长距离移动只会引起轻微的视
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功