Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

北京大学前沿计算研究中心作者

从虚拟到现实,北大等提出基于强化学习的端到端主动目标跟踪方法

本文是人工智能顶级国际期刊 TPAMI 入选论文《End to end Active Object Tracking and Its Real world Deployment via Reinforcement Learning》的深入解读。

该论文由北京大学信息科学技术学院计算机科学技术系/数字视频编解码技术国家工程实验室教授、前沿计算研究中心副主任王亦洲老师课题组与腾讯 AI Lab 合作共同完成,该研究也入选了 2018 腾讯 AI Lab 犀牛鸟专项研究计划。博士生钟方威、腾讯 AI Lab 研究员罗文寒和孙鹏为论文共同第一作者。

该论文主要提出了一种基于强化学习的端到端主动目标跟踪方法,通过自定义奖赏函数和环境增强技术在虚拟环境中训练得到鲁棒的主动跟踪器,并在真实场景中对模型的泛化能力进行了进一步的验证。

简介

主动目标跟踪是指智能体根据视觉观测信息主动控制相机的移动,从而实现对目标物体的跟踪(与目标保持特定距离)。主动视觉跟踪在很多真实机器人任务中都有需求,如用无人机跟拍目标拍摄视频,智能跟随旅行箱等。然而,传统的实现方法是将图像中的目标跟踪和相机控制分成两个独立的任务,这导致系统在进行联调优化时变得繁琐复杂。此外,要单独实现这两个任务的代价也是高昂的,既需要大量人工标注目标位置用于训练跟踪模块,也需要在真实系统中通过试错整定相机控制器参数

为了解决上述问题,本文提出一种基于深度强化学习的端到端的解决方案,即用一个 Conv-LSTM 神经网络直接将图像序列输入映射成控制信号输出(如前进、左转等)。为了避免人工标记数据和在真实环境试错,我们使用仿真环境进行训练。我们进一步提出了一种环境增强技术和自定义的奖赏函数,以保证训练得到一个鲁棒的端到端主动跟踪器。

实验证明,在仿真环境训练得到的跟踪器能取得很好的泛化能力,在没见过的目标外观、移动轨迹、背景外观和干扰物体出现等情况下都能较稳定工作。当目标偶然消失时,跟踪器也能鲁邦地恢复跟踪。我们还发现,这种只在仿真器中训练得到的主动跟踪器是有可能直接迁移到真实场景中工作的。我们分两阶段实验,验证了这种虚拟到现实迁移的能力。首先,我们在 VOT 数据集进行了定性测试,即观察动作输出的合理性。最终,我们系统解决了虚拟到现实的问题,将主动跟踪器成功部署在真实移动机器人上,并进行了定量测试。

左图:一个机器人主动跟随目标移动(图源:网络),右图:对比基于强化学习的端到端主动跟踪和传统的跟踪方法

主要贡献

论文的主要贡献包括:

  1. 一种基于强化学习的端到端主动目标跟踪的方法;

  2. 设计了一种用于主动跟踪的奖赏函数用于训练,并采用环境增强技术提升模型泛化能力;

  3. 第一个实现将端到端主动跟踪器从虚拟环境迁移部署到现实世界。

本文以之前会议版本(ICML2018)的论文 [1] 为基础,主要扩展实现了从虚拟到现实的迁移(第三点贡献),即提供了将在虚拟环境中训练获得的端到端跟踪器成功部署在真实机器人上的实现方案。具体地,为了克服因虚拟与现实之间的差异带来的挑战,我们主要考虑解决以下三个问题:

  1. 如何进一步增强环境来提升模型的泛化能力?

  2. 什么样的动作空间更适合真实机器人?

  3. 如何将网络输出的动作映射成真实的控制信号?

主要方法介绍

首先我们生成了大量的虚拟跟踪场景用于训练和测试。然后,我们采用 Conv-LSMT 网络结构实现端到端的映射(输入图像,输出动作),并用经典的强化学习算法 A3C[2] 进行训练。为了保证训练的鲁邦性和有效性,我们提出了环境增强方法和设计了奖赏函数。具体的介绍如下:

跟踪环境

强化学习的训练需要大量试错,这导致在真实环境下训练主动跟踪器基本上是不可能的。因此,我们基于两种游戏引擎(VizDoom 和 Unreal Engine)分别构建了不同的跟踪场景用于训练和测试,如下图所示:

Vizdoom 环境的地图和示例。其中,绿色点代表跟踪器(箭头代表方向),灰色点代表目标, 蓝线代表规划的目标的路径,黑线代表墙壁。最左边的场景为训练环境,其余场景为测试环境,包含了不同的目标轨迹、目标外观、背景颜色,以及干扰物体等情况。

Unreal Engine 环境的地图和示例。从左到右分别为两种外观的目标(Stefani 和 Malcom),两种轨迹(Paht1 和 Path2)和地图(Square1 和 Square2),对应的两种场景的示例,通过不同组合构成了不同的跟踪场景。我们用其中一种组合进行训练,其余组合环境进行测试。

网络结构

端到端的主动跟踪器主要由三个部分组成:观测编码器(Observation Encoder),序列编码器(Sequence Encoder)和演员-批评家网络(Actor-Critic Network)。如下图所示:

每个部件有着特定的功能,都是实现端到端主动跟踪必不可少的组成部分:

  • 观测编码器主要将原始图像编码成一个特征向量,作为序列编码器的输入。与很多图像编码网络一样,它通常包含了卷积层、池化层和全连接层等。

  • 序列编码器将历史观测特征进行融合,从而获得一个包含时序特征的表示,作为后续演员-批评家网络的输入。因为对于主动跟踪问题而言,除了要识别和定位目标,相应的时序特征(目标的速度、移动方向等)也是至关重要的。一般,它的功能由循环神经网络来实现。

  • 演员-批评家网络共享序列编码器的特征作为输入,分别输出近似的价值函数和动作策略。近似的价值函数代表着期望的累计奖赏值,主要在训练时用于计算演员的策略梯度,来更新网络。当动作空间为离散时,演员输出选择每种动作的概率;当动作空间为连续时,演员输出每一维度动作的平均值和标准差,并用高斯分布来表示动作分布。实验中,它们分别由全连接层来实现。

奖赏函数

强化学习中,奖赏函数会引导智能体学习,对最终学习效果起着至关重要的作用。针对主动目标跟踪任务,我们需要设计一个奖赏函数以引导智能体学习。最直观的想法应该是在目标接近期望位置时给与奖励,在远离时给与惩罚。因此,我们以跟踪器为中心定义了一个平行于地面的坐标系,y 轴指向相机前方,x 轴由相机左方指向正右方。对应的,我们用 (x,y) 和ω分别表示目标相对跟踪器的位置和朝向。从而,我们得到了如下一个奖赏函数:

其中,A,c,d,λ均大于 0,为可以调整的超参, d 代表了期望保持的距离。在这个奖赏函数引导下,智能体最终学会控制相机位置,保持目标始终在其正前方距离为 d 处。下图为地图俯视图下的示例:

绿点代表了跟踪器,灰点代表了不同位置和朝向(箭头指向)的目标,虚线与跟踪器的 y 轴相平行。

环境增强技术

为了保证模型的泛化能力,我们提出了简单但有效的环境增强技术用于训练。

我们主要采用了以下随机化方式:

  • 随机生成跟踪器和目标的初始位置和朝向

  • 将输入图像进行左右镜像对称(对应的动作空间也将镜像对称)

  • 随机隐藏一定数目的背景物体

上述三点(细节见原文),一定程度上保证了跟踪器的泛化能力。

为了更近一步提升模型的泛化能力以便直接迁移至真实场景,我们对关键要素进行了更进一步的随机化,包括:

  • 目标和背景的表面材质(纹理图案、反射率、粗糙度等);

  • 光照条件(光源位置、方向、颜色和强度);

  • 目标移动(轨迹和移动速度)。具体地,从地图中随机选择一个位置并用内置导航模块生成相应路径引导目标移动。在移动过程中随机调节速度,其范围在(0.1m/s, 1.5m/s)之间。

纹理和光照的随机化主要为了提升观测编码器的泛化能力,避免网络对特定场景和目标外观过拟合。而目标移动的随机化是为了提升序列编码器的泛化能力,避免网络对特定的移动轨迹过拟合

下图为采用上述随机化方法后生成的示例:

实验验证

首先,我们分别在 ViZDoom 和 UE 环境中开展实验,并在 VOT 数据集中定性验证了模型迁移到真实场景的可能性。之后,我们将介绍如何将主动跟踪器部署到真实机器人上工作,并分别在两个室内室外真实场景中进行了定量实验。

在虚拟环境中进行训练和测试

这里,我们将展示几段虚拟环境中的演示视频 (实验细节可参考原文),展示我们的方法训练得到的跟踪器在 VizDoom 和 UE 环境中的结果。

虚拟到真实迁移的可能性

我们选择了几段 VOT 数据集中的片段定性验证模型迁移到真实数据集的可能性。因为输出动作无法直接作用到已经录制好的视频序列,控制下一时刻的观察,因此我们只能通过观察当模型输入给定视频序列时对应的动作输出与真实期望的情况是否一致来判定定性分析模型性能,如目标在画面左边时,观察是否输出左转动作。

跟踪器输出置之间的关动作与目标大小和位系图。横坐标代表目标中心相对画面中心的偏差,纵坐标代表目标包围框的面积,绿点代表输出左转动作,红点代表右转动作,黄点代表停止/后退。

由上图可见,当目标在左(右)边上,跟踪器会倾向于输出左(右)转,以期望通过旋转将目标移动到画面中心,另外,当目标尺寸变大时,会更倾向于输出停止/后退动作, 以避免目标尺寸变得过大。以上结果,可以说明当输入真实图像时,用纯虚拟环境训练的主动跟踪器仍然是可以输出合理的动作的。但是,用录制好的视频作为输入时,相机无法被跟踪器所控制,这与真实的主动跟踪不完全符合,这就无法最终证明我们方法的实际应用价值。因此,我们将开展实验,将虚拟环境训练的主动跟踪模型迁移到真实机器人上的。

在真实场景中的主动目标跟踪

我们在增强的虚拟环境中进行训练,尝试了不同动作空间(更多的候选动作,连续的动作),并直接将训练得到的模型在不同真实环境(室内,室外)中进行测试。

动作空间的选择

除了采用上文提到的更先进的环境增强技术,我们还尝试了不同的动作空间。最早虚拟环境中的实验只提供了六种动作,而对于复杂的真实场景,要适应不同的目标速度和运动方向,这是不够的。因此,我们扩展了原来六种动作至九种,新增的动作有后退和两种不同速度的前进和后退。加入后退使得机器人可以适应更复杂的轨迹,如目标正面向跟踪器走来时。不同速度使得机器人可以更好地适应不同的移动速度。下表为九种动作在虚拟和真实场景下的设置(第二列为虚拟环境,第三列为真实机器人):

我们也对连续动作空间下的表现能力感兴趣,因此我们尝试了一种二维的动作空间,由线速度和角速度组成。具体的虚拟和现实的设置如下表:

真实场景实验设置

我们采用一个轮式机器人进行实验,如下图 (a) 中所示。机器人上方固定有一个 RGB-D 摄像头,离地面约 80cm 高。我们用一个带有 8 核 Intel CPU 的笔记本电脑作为计算平台,执行图像采集,神经网络的理和传送控制指令至底层控制器等系列任务。每个 50ms (20Hz) 跟踪器的状态和动作会更新迭代一次。

我们分别在室内房间下图 (b) 和室外阳台下图 (c) 进行测试,以衡量模型部署到真实场景工作的性能。

真实场景实验的部署设置。(a) 为实验所用的机器人;(b) (c) 分别为用于测试的室内、室外场景。

室内房间包括了一张桌子和反射的玻璃墙,玻璃墙会使得机器人在运动过程中观测到的背景发生动态变化。另外,墙上还贴了一张与目标外型接近的海报,可能会对跟踪者产生干扰。为了控制变量,目标将沿着红线进行行走。下图为执行连续动作的主动跟踪器在室内的演示序列。

执行连续动作的主动跟踪器在室内场景的观测与输出动作的关系。注意,数值极性对应不同速度方向。至于角速度,正值为左,负值为右。至于线速度,正值为向前,负值为后退。图像中心的红点是一个参考点,可以帮助我们标记目标和机器人的相对位置。底部绿条的长度代表速度的大小,水平条代表角速度,垂直条表示线速度。橙色线代表零值。

室外阳台的背景包含了建筑物、桌子、椅子、植物和天空。相比于室内场景,室外阳台更加复杂,因为物体是随机杂乱摆放的。另外,由于光线不均匀,相机很难准确曝光,这就需要跟踪器适应不同曝光程度的图像观测(如下图序列)。测试时,目标将沿着场地行走一圈。

一段跟踪器在室外执行离散动作进行跟踪的序列。红点代表画面中心,水平条形代表跟踪器输出的期望角速度,垂直的则代表期望线速度。橙线代表零值。

真实场景的实验结果

我们对跟踪器在上述两个真实场景下的性能进行了定量测试,主要考虑模型的准确性和鲁棒性。因为在真实场景中我们无法获得计算奖赏函数所需要的具体坐标位置,因此我们需要采用其它方式衡量。我们规定,当跟踪器让目标持续出现在当前画面当中,直到目标走完全程轨迹,视作一次成功跟踪,反之,当目标从画面中持续消失 3s 以上时,就认为是一次失败的跟踪。关于准确度,我们考虑目标大小和目标到画面中心的偏差两个指标。目标大小的稳定代表了跟踪器对相对距离的控制能力,目标到画面中心的偏差代表了跟踪器对相对夹角的控制能力。我们采用当前流行的检测器 YOLOv3[3] 来提取目标的包围框,以计算上述指标。

我们在两个真实环境中,分别测试了跟踪器执 行离散动作和连续动作下的性能指标(每种跟踪器在每个场景中分别执行了十次),结果如下表所示:

通过上表可见,采取离散动作的跟踪器在两个场景中都可以取得更高的成功率。在室外,离散动作可以让目标大小保持更加稳定(更小的方差)。无论是室内室外,基于离散动作的跟踪器都能保证更小的平均偏差。综合这些结果,说明了采用离散动作可以帮助模型更好更鲁棒地迁移到真实场景。我们猜想对动作空间离散化可以使得智能体对场景中的干扰和机器人控制系统的噪声都更加鲁棒,而连续空间会更加敏感。

下面,我们将分别展示两段主动跟踪器在室内外真实场景中的演示视频。

总结

在本文中,我们提出了一种基于深度强化学习的端到端主动目标跟踪方法。与传统视频跟踪不同,我们提出的跟踪器只需要在模拟器中训练,节省人工标记和在现实世界中的试错调参。实验表明,它对未见过的环境有着良好的泛化能力。通过开发更先进的环境增强技术并采用更合适的动作空间,我们已成功将跟踪器部署在了一个机器人上,在真实世界中实现主动目标跟踪。

更多细节和实验结果请参考原文(点击「阅读原文」查看)。

参考文献:

[1]Wenhan Luo*, Peng Sun*, Fangwei Zhong, Wei Liu, Tong Zhang, and Yizhou Wang. End-to-end active object tracking via reinforcement learning, In ICML 2018.

[2]V. Mnih, A. P. Badia, M. Mirza, A. Graves, T. Lillicrap, T. Harley, D. Silver, and K. Kavukcuoglu,「Asynchronous methods for deep reinforcement learning,」in International conference on machine learning, 2016, pp. 1928–1937.

[3]J. Redmon and A. Farhadi,「Yolov3: An incremental improvement,」arXiv preprint arXiv: 1804.02767, 2018.

理论强化学习端到端模型目标追踪
2
相关数据
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

YOLO技术

YOLO 模型最早是由 Joseph Redmon 等人在 2015 年发布的,并在随后的两篇论文中进行了修订。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

无人机技术

无人机(Uncrewed vehicle、Unmanned vehicle、Drone)或称无人载具是一种无搭载人员的载具。通常使用遥控、导引或自动驾驶来控制。可在科学研究、军事、休闲娱乐用途上使用。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

移动机器人技术

移动机器人是一种能够移动的自动机器。移动机器人具有在其环境中移动的能力,并且不固定到一个物理位置。移动机器人可以“自动”主要是指它们能够在没有物理或机电引导装置的情况下导航非受控环境。相比之下,传统的工业机器人或多或少都是固定的(stationary)机械臂或抓取组件。

腾讯机构

腾讯,1998年11月诞生于中国深圳,是一家以互联网为基础的科技与文化公司。我们的使命是“通过互联网服务提升人类生活品质”。腾讯秉承着 “一切以用户价值为依归”的经营理念,为亿万网民提供优质的互联网综合服务。 腾讯的战略目标是“连接一切”,我们长期致力于社交平台与数字内容两大核心业务:一方面通过微信与QQ等社交平台,实现人与人、服务及设备的智慧连接;另一方面为数以亿计的用户提供优质的新闻、视频、游戏、音乐、文学、动漫、影业等数字内容产品及相关服务。我们还积极推动金融科技的发展,通过普及移动支付等技术能力,为智慧交通、智慧零售、智慧城市等领域提供有力支持。

http://www.tencent.com/
相关技术
暂无评论
暂无评论~