基于深度神经网络的机器人视觉模拟

进化智能

研究论文

在进化机器人学中使用深度神经网络实现机器人视觉

摘要

在进化机器人学中,机器人控制器通常在仿真环境中进行演化,因为使用物理机器人进行适应度评估可能耗时过长。模拟器提供了一种快速评估控制器适应度的方法。模拟器的任务是向控制器提供适当的传感器信息。如果机器人配备了车载摄像头,则需要一个完整的虚拟视觉环境来模拟摄像头信号。过去,这些视觉环境通常通过手工构建,需要使用手工设计的模型、纹理和光照,这是一个繁琐且耗时的过程。本文提出一种基于深度神经网络的架构用于模拟视觉环境。该方法完全基于从机器人捕获的图像进行训练,无需使用手工设计的模型、纹理或光照即可创建三维视觉环境。该方法不依赖任何外部特定领域的数据集,所有训练数据均在物理环境中采集。在仿真中演化出的机器人控制器能够区分不同颜色和形状的物体,并成功在现实世界中完成了相同任务。

关键词 计算机视觉 · 进化机器人学 · 目标检测 · 神经网络
数学主题分类 MSC 68T45 · MSC 68T40

1 引言

机器人控制器决定了机器人如何与其环境进行交互。随着机器人任务的复杂性增加,控制器的复杂性也随之增加。为复杂或非典型的机器人手动设计控制器是一个复杂且耗时的过程[28]。

进化机器人学(ER)利用进化算法(EAs)自动演化机器人控制器[1, 27]。通常,这些控制器是神经网络(NNs),其参数通过进化算法进行优化。初始种群由随机控制器组成,并通过自然选择和预定义的适应度函数经过多次迭代不断演化[3]。

车载摄像头有可能为机器人提供大量关于其环境的信息。它们对于完成许多视觉导向任务(例如区分物体)至关重要。然而,使用进化机器人学方法训练带摄像头的机器人是一个具有挑战性的问题,现有的实现存在显著的局限性。

使用EAs既具有优点也存在代价。其优点在于可以通过进化过程找到解决方案,而不受程序员所提出方案的限制。其代价在于进化算法需要评估大量控制器的性能[1],而在机器人上执行大量控制器评估是一个耗时的过程。这通常不可行,并可能导致硬件退化[2, 29]。为缓解此问题,可以在仿真环境中评估控制器[1, 14, 21–23, 37]。虚拟机器人将执行控制器发出的电机指令,且可通过虚拟机器人的行为来评估控制器的性能。这使得大量控制器能够被快速评估,然而,构建模拟器并非易事。

模拟器不仅需要根据控制器的指令移动机器人,还需模拟机器人的传感器。对于带摄像头的机器人而言,模拟器将模拟车载摄像头视频流。必须构建包含纹理、光照和模型的完整视觉环境。虚拟视觉环境与真实环境之间的差异必须足够小,以免在控制器转移到物理机器人时影响其性能。不用说,这是一项困难的[33],耗时且繁琐的任务。

本文提出了一种基于深度神经网络的架构,用于在无需任何手工设计环境的情况下模拟机载相机画面。该架构具有通用性,不依赖任何图像处理算法或特定领域的数据集。视觉环境完全由机器人在真实环境中采集的图像生成。

涉及机器人视觉、进化机器人学和仿真的先前研究在第2节中进行了扩展。所提出的架构在第3节中详细阐述。第4节描述了如何评估该架构的性能。第5节解释了该架构的实现方式。第6节讨论了该架构的表现,并在第7节中得出结论。

2 文献综述

2.1 神经网络

人工神经网络是由多个小型计算单元(神经元)相互连接而成,旨在模拟生物大脑的计算结构。正如生物神经元通过突触相互连接,人工神经元则通过权重相互连接。一个人工神经元的输出按如下方式确定:将前一层神经元的加权输出进行求和,加上该神经元内部的偏置,然后将最终的总和输入到一个激活函数中——通常是一个一维非线性函数[3]。

这些人造神经网络,或简称为神经网络,可以像生物大脑一样学习一般的计算任务,例如模式识别、感知和运动控制。通过编程修改其权重和偏置(统称为网络的可训练参数),可以训练神经网络的行为[3]。

2.2 进化机器人学

ER自动生成功能可完成特定任务的机器人控制器,为手动编程控制器提供了一种替代方案。这些控制器通过进化算法(EA)进行演化。该过程首先生成一组控制器集合——随机初始化的控制器种群[26]。在本文讨论的实验中,每个控制器都是一个神经网络,通过创建具有随机参数的神经网络来随机初始化控制器。

测量每个控制器的适应度,其中适应度是与控制器完成给定任务的好坏相关的数值度量。测量控制器的适应度需要在物理机器人或模拟机器人上运行该控制器[26]。

接下来,从种群中选择一个子集。具有较高适应度值的控制器被选中的概率更高。基于该选定子集创建一个新种群。新种群的控制器可以通过随机修改子集中的控制器(突变)或混合子集中的控制器(交叉)来生成,具体取决于所使用的进化算法[26]。

新种群取代旧种群,从而完成了一代的进化。评估每个控制器的适应度,并重复该过程。每轮迭代中,种群的平均适应度都会提高,经过多代之后,便进化出能够完成给定任务的控制器[26]。

2.3 仿真

在控制器进化中,模拟器是适应度评估所必需的。物理模拟器利用数学模型来预测当给定电机指令时虚拟机器人将如何移动,并预测当机器人处于特定位置时其传感器将感知到的内容。这些模型通过机器人的特性进行配置,例如其形态、传感器灵敏度和重量[27]。

普雷托里乌斯等人[27]提出使用在真实环境中收集的数据来训练神经网络作为模拟器。基于神经网络的模拟器促进了差速轮式感光机器人闭环控制器的进化。一个神经网络被训练用于将电机指令转换为机器人相对位置和姿态的变化。第二个神经网络接收机器人相对于光源的位置和姿态,并估计光传感器信号,该信号由两个实数组成。

通过向机器人发出随机的电机指令并记录其位置和姿态的变化,生成了一个数据集。该数据集用于训练运动模拟器神经网络。然后允许机器人在其环境中随机漫游,并收集了记录其位置和光传感器数值的数据,以用于光传感器模拟器神经网络。这些神经网络协同工作,构建了一个模拟环境。运动模拟器向光传感器模拟器提供位置信息,光传感器模拟器向控制器提供传感器信息,而控制器则向运动模拟器发送电机指令。控制器的任务是定位并环绕光源。它在仿真中接受训练,其行为成功地迁移到了物理机器人上。

已使用基于神经网络的模拟器训练控制器来完成各种任务,例如导航[29]避障和倒立摆稳定[28],所有这些任务均已成功转移到物理机器人上。它们促进了复杂且独特机器人形态的演化,例如六足机器人[30]和蛇形机器人[34–36]。基于神经网络的模拟器利用从机器人自身收集的经验数据进行训练,且无需特殊知识即可构建[36]。

2.4 进化机器人学中的视觉

哈维等人[11]率先在进化机器人学背景下使用摄像机作为机载传感器。构建了一个专用机器人,使其在圆形场地内移动摄像头。摄像头安装在两个轴上,能够移动到场地内的任意坐标,且通过旋转镜选择其朝向。

实验表明,可以进化出一种机器人控制器,以跟踪移动目标并区分形状。这台机器人与许多其他带摄像头的机器人一样[4, 32, 39],完全在现实世界中进行进化。

但在现实世界中进化机器人通常不切实际[27],因为在物理机器人上执行大量控制器评估是一个耗时的过程,可能导致硬件损耗[2, 29]。在可行的情况下,例如之前的实验,需要一个能够精确控制其位置的专用机器人。

使用模拟器可以支持更大种群进化更多代数。它们还支持快速简便地测试不同的超参数,这可以显著提升性能[40]。

然而,模拟机器人的摄像头是一项具有挑战性的任务。如果模拟器的视觉环境与现实世界差异太大,即现实差距过大,则在模拟器中表现良好的控制器在真实硬件上的表现会很差[17]。使用摄像头的控制器已在仿真中训练并成功转移到现实世界[13, 24, 25, 40],但它们伴随着一系列注意事项。

首先,所有视觉环境都是通过图形库(如 OpenGL)手动创建的[9],随着环境复杂性的增加,这一过程变得越来越繁琐和耗时。

其次,所使用的控制器采用了极低的视频分辨率或领域特定预处理单元。在[24, 25, 40]中使用的50 × 1单色、5 × 1单色和5 × 5分辨率分别为。低分辨率通过消除对精细纹理和精确光照的需求来减小现实差距,但同时也限制了控制器解释环境的能力。Hornby等人[13]模拟了计算机视觉算法的输出,而不是摄像头图像本身。虽然这消除了对纹理、模型和光照的需求,但也限制了控制器可获得的信息。Narayan[24]将图像处理部分与控制器其余部分分离。图像处理网络使用针对问题领域的真实世界标注数据集进行训练。

大多数基于视觉的机器人控制器属于以下两类之一:主动视觉或特征选择。许多进化机器人学实验都采用了主动视觉[4, 5, 24],它通过迭代扫描图像的不同部分来运行。而特征选择则一次性分析整幅图像,并将其表示为一组特征。

2.5 强化学习中的视觉

其他强化学习(RL)实验已经进化出控制器,以在电子游戏环境中使用高分辨率视频输入(64 × 64像素)[10, 19, 20]进行操作。高分辨率输入将显著增加控制器网络的参数数量,从而扩大搜索空间[19]。在强化学习中,有两种常用技术可用于让控制器接收高维输入,同时避免进化搜索空间急剧膨胀。

进化算法不再直接优化控制器网络的参数,而是优化这些参数的一个更小的编码表示[6, 18]。例如,Koutnik等人[18]使用多个余弦函数来表示网络参数,并进化它们的傅里叶系数。该技术通过进化少量的傅里叶系数来表示任意数量的参数,从而能够进化出任意大小的网络。

第二种技术利用了视频帧压缩器[10, 19, 20]。该压缩器是一个独立的神经网络,可将高维视频帧转换为低维特征向量。这些网络通过从智能体环境中收集的随机视频数据,以无监督方式预先进行训练。

自编码器是一对用于编码和解码信息的神经网络。对于欠完备自编码器,编码器将高维信息转换为低维编码,而解码器则将该编码重新转换回原始的高维信息(图1)。

在视频帧(图像)的背景下,编码器是一个卷积神经网络,它将图像转换为编码向量,而解码器则是一个反卷积神经网络,它将编码向量重新转换回图像。自编码器的训练目标是减小输入图像与重建的解码图像之间的差异,这通常涉及最小化均方误差。

示意图0

它们之间的均方误差(MSE)。这迫使网络学习使用低维编码来表示数据集[7]。

哈和施密德胡贝尔[10]训练了一个变分自编码器(VAE)[16]作为帧压缩器(图2)。变分自编码器是自编码器的一种,它还促使潜在向量(编码向量)形成标准正态分布。这是通过最小化潜在向量分布与标准正态分布之间的KL散度(KLD)来实现的。KL散度用于衡量分布之间的差异。这一机制使得视觉上相似的图像被编码为相似的潜在向量,从而使编码更具意义。训练VAE需要同时最小化均方误差(MSE)和KL散度,其中MSE表示重建的准确性,KL散度表示潜在向量的有意义性。

实际上,当应用于一个智能体只能水平移动的电子游戏中时,单个潜在向量元素表示了智能体的水平位置。当该值较低时,智能体靠近左墙;当该值较高时,智能体靠近右墙。这种一种编码使控制器更容易解释视频帧。

哈和施密德胡贝尔[10]的实验通过使用循环神经网络(RNN)更进一步。RNN是具有循环的网络,旨在处理序列数据[31]。哈和施密德胡贝尔[10]训练了一个RNN,根据前一个潜在向量和控制器的下一个动作来预测下一个潜在向量。这创建了一个能够促进控制器训练的模拟游戏环境。

示意图1

2.6 长短期记忆循环神经网络

长短期记忆[12](LSTM)循环神经网络是当今最常用的循环神经网络变体[38]。它们在许多不同的机器学习任务中取得了最先进的成果[8]。

LSTM网络使用细胞而不是循环神经元(具有循环连接的神经元)。每个LSTM细胞包含一个由多个门保护的内部值。这些门决定信息是否可以进入细胞、离开细胞以及现有信息是否被保留。门的开启或关闭取决于其权重。

每个细胞都有一个内部的恒等循环连接,使其能够在多个顺序步骤中轻松存储数据,这使它们相较于传统循环神经网络具有显著优势[8]。由于每个细胞包含门,且每个门都有其自身的权重集,因此LSTM细胞的参数数量是传统循环神经元的四倍。

3 提出的架构

所提出的基于神经网络的方法取代了手动创建3D模型的需求。相反,使用一系列神经网络来创建现有真实环境的模拟副本。从真实环境中收集的图像用于训练神经网络。

两个神经网络模拟视觉环境。第一个是帧压缩器,用于将图像转换为更易于处理的形式。第二个是潜在向量模拟器,它承担传统模拟器的作用,生成视觉图像。

3.1 帧压缩器

与哈和施密德胡贝尔[10]的实验一样,基于神经网络的方法使用变分自编码器作为帧压缩器。它将摄像头采集的高维图像转换为低维的潜在向量,其中每个潜在向量代表一幅图像(图2)。该模型使用从真实环境中收集的图像进行训练。

帧压缩器具有多种优势。它将从摄像头接收到的每一帧压缩为潜在向量,并将这些潜在向量提供给控制器(图3)。这使得控制器解释视觉信息变得显著更容易。帧压缩器在控制器之前进行训练,并显著减小了控制器的进化搜索空间。

帧压缩器被训练用于生成表示整幅图像的潜在向量,这意味着仅丢失细微细节,并且在不使其搜索空间爆炸的情况下向控制器提供大量视觉信息。其他图像处理算法会过滤掉图像的大部分[13, 24],限制了控制器的灵活性。

示意图2

3.2 潜在向量模拟器

视觉模拟器的任务是接收机器人的位置,并生成机器人相机在该位置预期看到的模拟图像。传统视觉模拟器会使用3D图形库生成该图像[13, 24, 25, 40]。

通常,这对于神经网络来说是一项非常困难的任务,因为图像包含数千个相互关联的像素,但帧压缩器可以协助完成此任务。由于控制器期望接收摄像头图像的潜在向量表示,因此神经网络只需生成一个模拟的潜在向量即可。潜在向量模拟器神经网络经过训练,可接收机器人的位置和姿态,并生成一个潜在向量,以表示机器人在这些坐标处预期看到的内容。

4 方法论

初步研究探索了使用图像查找表直接向控制器提供图像的可能性。帧压缩器和潜在向量模拟器被排除在外。Hornby等人[13]指出,图像查找表的表现会很差。

使用查找表意味着机器人位置的微小变化不会反映在所选图像上。由于控制器需要大量参数来直接接收图像,评估每一代所需的时间过长。进化算法无法收敛到一个良好的解决方案,这意味着图像查找表不足以胜任该任务,需要更复杂的模拟器。

在所有实验中,一台带摄像头的机器人需要在一个被高墙包围的方形竞技场内定位目标(图4)。我们进行了一项初步实验,以探究使用神经网络模拟器训练的控制器能在多大程度上完成该任务。机器人需要在不触碰墙壁的情况下向目标移动。目标是一个亮红色圆柱体,与白色地板和灰色墙壁形成鲜明对比。控制器神经网络在仿真环境中进化,然后迁移到真实机器人上。目标被放置在仿真中未见过的新位置,且机器人的初始位置是随机选择的。这有助于了解训练神经网络模拟器所需的数据数量和类型。

第5节详细介绍了数据收集过程。

实验探讨了控制器在多大程度上能够感知其环境。第一个实验评估了颜色区分能力。在区域内放置了两个物体——一个需要接近的目标,以及一个需避开的物体。目标是一个红色球,需避开的物体是同样大小的黄色球。在现实世界中进行测试时,这些物体被放置在新的未见过的位置。这验证了控制器能够泛化到新的目标位置。这

示意图3
示意图4

实验表明,模拟器能够在同一环境中渲染多个三维物体,并且能够进化出具有区分颜色能力的控制器。

第二次实验类似,但物体之间的区别在于形状而非颜色。目标是一个红色的立方体状物体,而需避开的物体是球体(图5)。两个物体的颜色、纹理和大小完全相同。选择立方体状而非金字塔状是为了迫使控制器考虑整个形状,而不仅仅是顶部。

5 实验步骤

为了在仿真中评估控制器的性能,模拟器必须完成两个任务。首先,它需要模拟机器人传感器接收到的信息;其次,它需要根据控制器输出的指令来模拟机器人的运动。基于神经网络的方法模拟了虚拟环境的视觉方面,为机器人控制器提供视觉输入。机器人的运动可以通过传统物理模拟器或基于神经网络的运动模拟器进行模拟。在这些实验中,选择了基于神经网络的运动模拟器,因为它们易于构建,并且对于差速转向机器人而言,其性能已证明可与传统物理模拟器相媲美[29]。

示意图5

示意图6

图6列出了实验步骤。第一步是数据采集,收集图像以训练神经网络。下一步是训练帧压缩神经网络。第三步是同时训练潜在向量模拟器和运动模拟器。帧压缩器、潜在向量模拟器和运动模拟器均使用Adam[15],一种基于梯度的优化算法进行训练。随后,在图7所示的仿真循环中进化控制器。然后将控制器迁移到物理机器人上进行测试。5.2–5.5节详细阐述了每个步骤。

5.1 实验环境

两个实验均在差速轮式机器人Khepera III上进行。安装在机器人上的无线摄像头将视频流传输至控制计算机。机器人被放置在一个166厘米×166厘米的方形场地内,周围有高墙,防止机器人看到竞技场外的世界。地面为白色,墙壁为浅灰色,两者均存在瑕疵。部分墙壁边缘贴有亮白胶带,某些边缘附近的地面则贴有黑色胶带。

在颜色区分实验中,竞技场内包含两个物体——一个红色球和一个黄色球;在形状区分实验中,包含一个红色球体和一个类立方体。允许机器人探索竞技场,当机器人触碰到墙壁、过于接近任一物体,或完成200个时间步(相当于两分钟的探索)时,一次运行即告结束。

5.2 数据采集和帧压缩器训练

帧压缩器既用于预处理训练潜在向量模拟器所用的数据集,也用于预处理控制器在现实世界中的摄像头画面。因此,一个训练不佳的帧压缩器将带来极大的负面影响。竞技场被划分为一个17乘17的网格。物体被放置在竞技场中,机器人被编程移动到289个网格点中的每一个点。在每个点,它朝不同方向拍摄12张图像,同时overhead摄像头跟踪机器人的位置。这为环境提供了具有良好代表性的样本。

一项初步实验表明,包含289 × 12 ≈ 3400张图像的数据集足以训练帧压缩器和潜在向量模拟器。然而,当目标移动到新位置时,控制器的泛化能力不足,无法成功完成任务。为解决这一问题,数据集被扩展以包含目标在不同位置的图像。通过将物体置于三种不同的配置中采集图像,然后交换物体位置并记录更多图像。

每次实验共有六种不同的物体配置(图8)。每种配置都与另一种物体位置互换的配置配对,以防止帧压缩器对特定位置可渲染的物体产生偏置。每次实验收集了近20,000张图像。数据采集耗时7小时,每种物体配置略多于一小时。每种配置包含3400张图像,为控制器提供了六个独特的虚拟环境。

帧压缩器将48 × 64彩色图像转换为8元素潜在向量。每个像素包含三个通道——红、绿、蓝,这意味着图像具有48 × 64 × 3= 9216维。由于所有图像均在竞技场内采集,帧压缩器可将9216维压缩至8维,这显著限制了压缩器需要表示的内容。竞技场中的图像主要为灰色和白色,仅红色和黄色物体例外。

由于控制器通过帧压缩器的视角观察其环境,因此帧压缩器能够表示物体在任意位置的状态非常重要。帧压缩器有可能出现过拟合,导致其仅能表示训练集中所示六个位置的物体。而机器人需要在物体处于新位置的情况下运行,因此专门构建了一个包含500张图像的小型验证集,其中物体位于三个之前未见过的新位置。在进入下一步之前,已手动验证帧压缩器能够充分表示该验证集。

5.3 模拟器训练

帧压缩器对图像数据集进行了预处理,并训练了潜在向量模拟器。该模拟器网络相对较小,包含7个隐藏层,每层50个神经元(即16000个参数)。针对每种不同的物体配置,都训练了一个新的潜在模拟器神经网络。这意味着共训练了六个不同的潜在向量模拟器,每个实验创建了六个环境。

观察网络的均方误差并未提供模拟器性能的清晰图景。该网络输出潜在向量,而这些潜在向量的含义由帧压缩器以无监督方式确定。在训练帧压缩器时,附带生成了一个解码器神经网络。该解码器被连接到模拟器的输出端以生成图像,从而更清晰地展示模拟器的性能。出于兴趣,开发了一个简单的程序,可通过键盘控制虚拟机器人。它允许任何人探索控制器即将进化的虚拟环境,其在线版本可访问http://virtual.csdev.nmmu.ac.za。

如普雷托里乌斯等人[27]所做,运动模拟神经网络将电机指令转换为虚拟机器人的位置变化。为了获取训练数据,在物理机器人上执行了超过5000条随机电机指令,并通过顶部摄像机记录位置变化。这些运动被转换为以机器人中心为参考。该网络包含3个隐藏层,每层有50个神经元。基于神经网络的运动模拟器已被证明在多种机器人上表现良好[29, 34]。本文不会评估该运动模拟器,因为基于神经网络的视觉模拟器可以与任何运动模拟器配合使用。

5.4 控制器进化

控制器接收一个潜在向量作为输入,并输出两个值来设置轮电机速度(见图3、7)。该控制器由一个长短期记忆循环神经网络和一个前馈(非循环)组件构成。选择长短期记忆循环神经网络是因为其在许多序列任务上优于普通循环神经网络[8]。该网络包含两个隐藏层,每层有100个神经元(其中50个为循环神经元,50个为前馈神经元)。

初步结果表明,由于模拟的视觉环境和帧压缩器存在缺陷,因此必须引入循环结构,通过考虑多帧图像,控制器能够忽略偶尔出现的异常帧。此外,添加前馈组件是因为纯循环结构的控制器对新的摄像头图像响应滞后。

使用遗传算法对包含100个控制器的种群进行了2700代的进化。在每次虚拟运行中,每个时间步都会计算机器人与每个物体之间的距离。适应度设定为距离的总和。

向目标移动。一旦机器人进入与目标的阈值距离内,运行即告完成,并根据剩余的时间步给予奖励,该奖励将被添加到适应度值中。这鼓励控制器尽快到达目标。

如果控制器在接近需避开的物体的一定范围内,并且向该物体移动,其适应度将受到与该变化成正比的重大惩罚距离。当物体足够近且能被清晰识别时,该指标会因控制器朝向需避开的物体移动而对其施加惩罚。如果机器人移出虚拟竞技场,则会施加非常大的适应度惩罚,因为在真实环境中这将导致墙壁碰撞。伪代码列于算法5.1中。该过程将在六个虚拟环境中重复执行。

示意图7

初始种群从均值为0、标准差为0.2的正态分布中抽取。控制器采用锦标赛选择方式进行选择,锦标赛规模为9。每个被选中的控制器与其他每个控制器配对,每对通过模拟二进制交叉生成两个子代控制器。每个子代控制器中的每个参数均有20%的突变概率。突变操作包括从均值为0、标准差为0.02的正态分布中采样一个值并将其加入参数。

噪声被选择性地添加到控制器接收到的潜在向量中。潜在向量有10%的概率被噪声污染。这是为了鼓励控制器在执行过程中忽略偶尔出现的异常帧。

每个控制器被放置在50个不同的初始位置,并运行50个时间步,这足以在竞技场角落之间移动。此过程对所有六个不同的潜在模拟器重复进行,意味着每次适应度评估针对每个控制器执行了300次模拟运行。

5.5 现实世界测试

在每次实验中,物体被放置在相互分离的随机位置。每种物体配置下,控制器运行30次,每次运行时机器人从一个新的随机位置和姿态开始。随后物体交换位置,并再进行30次运行。这是为了消除控制器对竞技场内不同区域可能存在的偏置。这些是两种正常配置——当物体处于分离状态时。这些配置如图13a, b所示。

初步实验表明,控制器在两种物体配置下的表现较差。第一种高失败率的配置是目标过于靠近地面缺陷——黑色胶带时(图13c)。第二种高失败率的配置是目标被需避开的物体遮挡,机器人需要采取绕行路线才能成功时(图13d)。控制器也针对这些困难配置各自进行了30次运行。

6 结果

6.1 帧压缩器

变分自编码器将视觉上相似的图像编码到潜在空间中相邻的潜在向量,因此相似的图像具有相似的潜在向量。这一特性是可取的,因为单个潜在向量元素可以控制物体在画面中的位置。例如,考虑两幅图像,物体均位于画面中心,但其中一幅图像中的物体距离更远。这两幅图像在视觉上相似,因此会被编码为相似的潜在向量。它们之间的差异可能仅限于一个潜在向量元素,这意味着控制器和潜在向量模拟器可以仅使用单个元素来确定机器人与物体之间的距离。图9展示了训练后的帧压缩器的一个示例。

目标和需避开的物体在视觉上彼此相似,这意味着它们的潜在向量之间差异很小。对模拟视觉环境的手动检查发现,潜在向量模拟器在渲染物体本身时最为困难。根据机器人位置的不同,模拟器偶尔会渲染出错误的物体或两个物体的混合体(图10f)。由于交换了物体的两幅图像在视觉上相似,因此具有相似的潜在向量,此类错误仅会略微影响潜在向量模拟器的均方误差。

墙壁和地面的渲染效果最好。地面上的黑色胶带等瑕疵在视觉环境中被重新创建出来。而墙壁上的白胶带等其他瑕疵则被忽略。帧压缩器会从其重建图像中移除白胶带(图12时间步1)。白胶带并未出现在大量图像中,且仅影响一小块像素区域,对均方误差的影响微乎其微,可能不值得进行编码。

示意图8 。z位置的负值使目标更靠近摄像头,而正值则将其推得更远)

6.2 初步实验

初步实验要求机器人在不触碰墙壁的情况下向红色圆柱体移动。竞技场内没有其他物体。该实验表明,控制器需要在目标存在的情况下进行进化。

在仿真过程中,目标位于多个不同的位置。需要注意的是,在进化过程中,控制器并不理解红色圆柱体或灰色墙壁的含义。它所经历的只是:如果红色圆柱体位于其视频流的中心,并且向前移动,则其适应度会增加。如果目标始终位于同一位置,例如靠近某面墙壁,那么控制器就会学习到,当它朝那面特定的墙壁移动时,其适应度会增加。在现实世界测试中,当圆柱体被移动到新位置时,控制器就会陷入冲突,不确定是应该朝目标通常所在的位置的墙壁移动,还是朝目标的新位置移动。控制器常常因难以做出抉择而反复折返。通过在六个不同位置上对控制器进行进化,解决了这一问题,使其每次都能成功找到目标。

示意图9

6.3 颜色区分实验

示意图10

图11展示了一次有趣运行的俯视图。图12展示了同一次运行中机器人的摄像头画面。机器人最初朝向一个角落——时间步0。重建图像中可以看见地面上的黑色胶带,这意味着控制器能够感知到这一瑕疵。由于没有物体可见,机器人开始逆时针旋转。

在时间步1,机器人正对着一堵带有白色胶带条的墙壁。该胶带条在重建图像中不可见,因此未在潜在向量中表示,控制器无法感知到它。由于没有可见的物体,机器人继续在原地旋转。

在时间步2检测到一个物体,但它距离较远。尽管对人来说很明显这是需要避开的黄色球,但控制器无法确定,因此它选择靠近观察。它向球体移动了两个时间步。在第4个时间步,它确定自己正朝向应避开的物体移动,于是开始逆时针旋转,使黄色球在第5和第6个时间步看起来更偏右。

在第8个时间步,红色球进入视野。机器人在剩余的时间步中向目标移动。当机器人接近球体到足够接近度时,该运行在第19个时间步结束。

这种朝远处物体移动以判断其是否为目标的行为,是由适应度函数的选择所促成的。拥有一个不犹豫接近远处物体的控制器具有优势。一个犹豫的控制器可能会不断旋转,直到确认自己正对目标为止,而远处的目标则很容易被忽略。

示意图11

配置 目标已到达 错物体已到达 墙已到达 超时
正常—物体相距较远 30 0 0 0 图13a
正常—物体交换位置 26 4 0 0 图13b
困难—黑色胶带 0 0 0 30 图13c
困难—目标被遮挡 1 29 0 0 图13d

表1 现实世界中颜色区分实验控制器的性能

表1列出了颜色区分实验中所有运行的结果。在两种正常配置下,控制器取得了压倒性的成功,在93%的运行中找到了目标。在其余7%(4次运行)中,控制器定位到了需避开的物体。这些失败通常发生在机器人起始位置非常接近需要避开的物体时。

控制器通常会通过轻微向左或向右转动来进行航向修正,以使目标保持在其视野中心。这在图13a中从左上角开始的两次运行中可以明显看出。

控制器总是先逆时针转动,直到物体进入视野。这在图13a、b中每个运行开始时的小钩形处可见。一旦物体进入视野,控制器就会向该物体移动。如果该物体是错误的目标,则当控制器靠近到足以感知差异时,通常会转向离开。这在图13a中从左下角开始的四次运行中可见。这种行为意味着控制器从未朝附近的墙壁移动,因此也从未与墙壁发生碰撞。

为了展示该架构的局限性,控制器还在两种困难配置下进行了运行。第一种配置将目标放置在黑色胶带旁边。控制器在所有运行中均未能找到目标。这可能是由于控制器倾向于避开墙壁。其中一个训练配置将目标放置在黑色胶带旁边,但那个特定的潜在向量模拟器难以正确渲染目标。

尽管无法感知目标,控制器从未到达需避开的物体,也从未与墙壁发生碰撞。所有运行均以超时结束。显然,控制器一直在搜索目标,因为它很少沿直线移动,而是进行了许多360◦转弯(如图13c中的小环所示)。无论机器人从何处开始,它始终会汇聚到竞技场中心的一个小区域内,并且从不远离该位置。它会在小范围内绕圈移动,直到运行超时。巧合的是,该区域恰好是六个模拟环境中某一个环境的目标位置。

第二个困难的配置将目标置于一个角落,且被需避开的物体遮挡(图13d)。控制器必须绕过避让物体才能到达目标。两个物体经常同时出现在视野中。在几乎所有运行中,控制器都到达了避让物体。控制器在尝试定位目标时进行了多次旋转。图中的每个环代表一次完整的旋转。这些旋转在正常配置中并未出现。

此失败是由于帧压缩器无法渲染彼此靠近的两个物体。这在图14中可见,它只能渲染其中一个物体,而无法同时渲染两个物体。这是训练数据未包含物体彼此靠近的图像所导致的结果。此类配置被刻意避免,因为在这样的虚拟环境中进行进化会导致控制器趋向于朝其应避开的物体移动,这是不期望的。

示意图12

6.4 形状区分实验

颜色区分实验测试了控制器区分颜色的能力,而本实验则测试了区分形状的能力(图5)。机器人必须在避开球体的同时找到类立方体。区分形状比区分颜色更困难,因为识别形状需要同时考虑图像的多个部分,而颜色识别理论上仅需一个像素即可。

该实验还在两种正常配置和两种困难配置下进行,结果列于表2中。对于正常

示意图13

示意图14

配置 目标已到达 错物体已到达 墙已到达 超时
Normal—物体相距较远 23 1 0 6 图16a
Normal—物体交换位置 20 8 1 1 图16b
Difficult—黑色胶带 3 5 0 22 图16c
困难—目标被遮挡 1 28 0 1 图16d

表2 现实世界中形状区分实验控制器性能

configurations,运行结束情况如下:找到目标72%,接触到需避开的物体15%,超时12%,碰撞墙壁1%。一些图像比其他图像亮得多,导致墙壁和地板的颜色各不相同。这在图15中可见。帧压缩器在潜在空间中分配了一个维度来表示图像的亮度。修改该潜在向量元素会使图像变亮或变暗。

通过该任务,控制器在大多数运行中遵循一种特定策略。首先,无论从何处开始,它都会先移动到中心位置。只有到达中心后,才会向目标方向扩展。如果它丢失了对目标的视线,或意识到自己可能正在移向需要避开的物体时,便会返回中心并重复此过程。有时,控制器在朝目标移动时会失去信心,并返回中心,这导致其花费比必要时间更长才能到达目标。

当目标位于摄像头帧的右侧时,控制器才会接近目标。图15展示了一个示例,在图16a、b所示的路径中也可以看到这一行为尚不明确。可能是潜在向量模拟器或帧压缩器在物体位于画面右侧时恰好提供了更清晰的图像,也可能是进化得到的控制器本身的特性所致,类似于控制器仅逆时针旋转的偏好。由于进化过程的特性,ER控制器可能会发展出自身独特的习性,例如普雷托里乌斯等人[27]实验中仅顺时针旋转的光循环控制器。

在困难配置中,要求控制器在目标靠近黑色胶带时以及在目标位于其应避开的物体后方时都能找到目标(分别如图16c、d所示)。在大多数情况下,控制器未能成功定位目标。其表现出的行为与颜色区分实验中的困难配置所观察到的行为类似,即在中心区域无限循环,并且当目标被遮挡时,会过于靠近其应避开的物体。

示意图15

6.5 移动目标

控制器在目标始终静止的环境中通过进化算法演化而成。为了观察控制器对意外情况的反应,将其置于存在移动目标的真实环境中。目标会在控制器接收到的每个摄像头帧之间移动。

示意图16

图17显示了控制器如何跟踪目标。控制器从未移动到目标之前的任何位置,而是针对每个新位置更新其路径。值得注意的是,一个为定位静止目标而通过进化算法演化出的控制器,竟能够不断调整其路线以跟踪移动目标。

该控制器在预期目标为静止的情况下,会顺时针旋转直至目标进入其视野,然后向目标移动。在跟踪移动目标时,控制器会直接朝向目标移动。如果目标移出其视野,控制器将顺时针转动,直到重新发现目标。这表明该控制器持续处理新的视觉信息,而非依赖记忆,从而能够适应新情况。

当目标向右移动时,控制器按预期跟随目标。当目标向左移动时,控制器会直接朝目标移动,直到目标移出摄像头视野范围,此时机器人将沿小的顺时针圆周路径移动,搜索直至摄像头再次对准目标。

6.6 讨论

困难配置被特别选中,因为初步实验表明它们是控制器的薄弱环节。相比之下,正常配置是随机选择的。它们代表了控制器在解决任务时的实际性能,而困难配置属于边缘情况。使用正常配置时,控制器在绝大多数情况下都能找到目标。

6.6.1 控制器行为

控制器表现出有趣且智能的行为。单次运行仅在控制器过于接近需避开的物体或与墙壁发生碰撞时才会提前结束。考虑到这些条件,它们通常并不畏惧探索环境。它们会向那些被认为有可能是目标的物体移动,以便获得更好的视野。一旦接近物体到足够近的距离,如果无法确定该物体是目标还是需避开的物体,它们便会转身离开。

在形状区分实验中,控制器通常会在接近目标之前先移动到中心位置,仿佛是要移动到一个有利位置。一旦到达中心,它会转圈直到发现物体。当它接近某个物体时,如果无法确定该物体是否为目标,它会转身返回其有利位置并重新尝试。

6.6.2 分辨率和主动视觉

使用变分自编码器意味着该架构不受限于48 × 64像素。提高分辨率会增加帧压缩器训练时间,但可能对控制器的性能影响甚微。其性能不太可能提升,是因为所选分辨率已足够高,能够在竞技场内的任何距离上区分物体。然而,控制器通常选择在物体的一定范围内移动后,才判断是否找到了目标,因此并未充分利用可用的分辨率。

其性能也不太可能下降,是因为该架构受限于潜在空间中的交互空间不受图像分辨率的限制。潜在向量模拟器必须决定物体在画面中的位置以及其是否为目标。提高分辨率会使圆形物体看起来更圆,类立方体看起来更方正,但这不会影响物体的位置或该物体是否为目标。

主动视觉控制器在基于视觉的ER实验中很常见[4, 5, 24]。它们期望接收的是图像,而不是潜在向量。尽管本文提出的基于神经网络的方法属于特征选择范畴,但可以通过引入解码器来促进主动视觉控制器的进化。解码器能够将潜在向量模拟器生成的潜在向量转换为图像。这一点在图10的重建行中有所展示。主动视觉控制器可以像使用摄像头获取的图像一样,使用这些重建后的图像。

6.6.3 性能

渲染视觉环境时的传统方法是使用OpenGL[2, 24, 40]。相比之下,潜在向量模拟器不需要手工设计的模型、纹理或精确光照,因此比传统视觉模拟器更容易构建。使用潜在向量模拟器的仿真循环从不传递包含数千像素的常规图像,从而能够极快地渲染场景。

每个控制器在模拟环境中运行了300次。以100个个体的种群规模,每代共计运行30,000次。每次运行包含50个时间步,在每个时间步控制器接收一个潜在向量,这意味着每代渲染了1,500,000个场景。每代的评估耗时一秒,经过2700代后,整个进化过程不到一小时。

作为对比,在物理机器人上,每个时间步的电机以指定速度运行500毫秒。忽略电池充电时间和在环境中移动物体所需的时间,每代机器人需要运行500 × 1,500,000 = 750,000,000毫秒,即略少于9天。在物理机器人上完成这些实验中进行的2700代进化将需要64年。

模拟器的快速执行由三个因素促成。首先,潜在向量模拟器每张图像仅生成一个包含8个值的潜在向量。而等效的OpenGL实现则需要超过9000个值来表示同一图像。其次,模拟周期(图7)不处理原始图像。该帧压缩器是架构中最大的神经网络,因此计算代价最高,但在适应度评估中并不需要它。第三,神经网络软件包允许利用GPU硬件轻松加速神经网络。

在前馈神经网络中,单层中的所有神经元都可以并行处理。GPU专为并行工作负载而设计,非常适合计算神经网络。新的软件包2使得在GPU上执行神经网络变得快速且容易,免去了通常利用GPU所需的复杂并行编程。

7 结论

本文展示了如何将变分自编码器(VAE)与真实世界数据结合使用,以构建逼真的虚拟视觉环境。在该视觉环境中进化出的控制器,在转移到现实世界后,能够区分不同颜色和形状的物体。

整个架构在单个GPU上训练不到2小时,之后控制器即可在现实世界中运行。训练和进化过程完成得相对较快。最耗时的步骤是数据收集,耗时7小时,随着环境规模和复杂性的增加,预计这一时间将有所增长。

该架构的主要优势之一是采用无人干预方法来创建视觉环境。数据采集可以随机进行,只要不存在大量没有捕获图像的区域即可。这一过程易于自动化,几乎不需要人工干预。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值