Select Language

AI社区

数据要素产业

北京大学王亦洲:基于对抗博弈的主动跟踪算法研究

08-09 15:38 TAG:
1

主动跟踪简介
主动跟踪在日常生活中是一种较为常见的现象和技能,比如自动驾驶的跟车、无人机在天空跟踪一些目标、视频监控时锁定一些目标、云台照相机跟踪动作等。
在计算机视觉领域,主动跟踪也是一个比较前沿的研究课题。但要真正实现主动目标跟踪,会遇到很多不同的挑战。比如,在录制一些比较惊险刺激的特技镜头时,摄影师不仅要让相机对准演员,还要同步适应复杂的地形环境,调动四肢跟随演员移动,其技术难度可能要比演员表演特技还高,并且在整个过程中,从感知到动作都需要十分快速精准执行。然而,这对于现阶段的机器人而言,几乎是一件不可能完成的任务。
要真正实现复杂场景下的主动目标,我们的模型需要适应多样的工作环境(包括不同的天气、光照条件);还要克服障碍物遮挡(即避障),比如遇到障碍物时,要找到最短路径绕过障碍物;也要克服动态干扰物的影响,避免混淆。如果是多相机跟踪的场景,还需考虑如何实现高效的多智能体协作,这些都是主动跟踪的一些挑战。
传统的方法,主动跟踪分成两个部分,一个是叫这个passive tracker,算法先对这个输入的图像锁定里面的目标物体,比如以bounding box的形式,根据bounding box的运动,然后再输入到控制器里面,调整照相机的运动。
我们提出的方法,是一个端到端(End-to-End)跟踪方法。输入图像序列,直接输出动作。感知和决策可以同步优化,互相适应,对应的中间表示也会更加紧凑。
要训练这种端到端的感知—决策网络,当前流行的有两种方法,一种是模仿学习Imitation Learning(IL),一种是强化学习Reinforcement Learning(RL)。
模仿学习样本效率会高一些,但是需要引入专家数据进行训练,且不可避免的存在数据分布的偏差,模型的泛化性会比较差。对于跟踪模型来说,模型的泛化能力是至关重要的。
因此我们采用强化学习,我们只需要设计一个简单的奖赏函数,机器人在环境中自主探索,就可以在试错中学习技能。

 

 

2
有效虚拟环境的构建
我们让机器人在一个场景中运动时,如果是一个真实的场景,因为机器人的成本高,机器人在场景中运动时或许会造成一些损坏,实验的负担也比较大,所以代价非常高昂。
我们提出构建UnrealCV虚拟环境,让机器人在里面进行主动学习,我们可以从中获取高逼真的视觉观测、精准的ground truth、以及进行实时的交互,包括多智能体的交互。这个项目已经开源。
因为我们日常生活中的环境是多变的,在近真实的环境当中可以模拟日常生活环境的一些变化,不光是室内的还有室外的、室外天气的变化、室内光照的变化,环境的各种appearance、各种texture,甚至还有物理属性都可以调整。
在虚拟环境中不仅可以学到地球上的物理,甚至可以学习火星上、月球上的物理。所以这种近真实的环境,尽管可能是对真实环境的一种建模、某种意义上的一种简约,但其实它有更丰富的potential,能够更多地改变环境,让机器人能够适应各种变化,在这里面学的技能有可能泛化能力更强。因此,我们认为机器人或智能体所处的环境复杂性决定它最终训练出来的智能水平。
下面我将简单介绍一下,把认知心理学的一些机制引入到主动跟踪场景下,提高跟踪器的跟踪水平的一系列工作。我将介绍四种工作:第一种是一跟一的跟踪;第二种还是一跟一,但是会有一些和目标非常相似的干扰物进来;第三个工作是多个摄像头跟踪一个目标;最后一个是多跟多,比如N个摄像头跟M个目标物体。

 

 

3
一对一的跟踪策略
首先介绍一跟一。在一跟一里面我们引入了Theory of Mind(心智理论),心理学的一种机制,它是人类所具有的能够认知别人的心理状态的一种本领,比如我在跟别人交流过程中我能够知道对方的信念、意图、甚至他的知识。有了这种能力,能够帮助多智能体提高交流的效率。我们将这种机制应用到主动跟踪的过程当中。这里面的目标和跟踪器,是两个进行竞争的agents。目标的任务就是逃跑,从跟踪者的视野当中逃掉;跟踪者要始终锁定目标,他们俩成了一个博弈对。
我们在这里面引入了Theory of Mind,产生一个更聪明的逃跑者,它不光要根据自己看到的环境来选择路径,他还能够知道跟踪者现在所观察到的一些景象,猜测跟踪者的策略是什么。即在脑子里猜想你会怎么跟踪我。把Theory of Mind引入到跟踪的博弈当中,我们希望能够训练出Target有更好的摆脱策略。因为它们的能力都是从零开始同步增长的,逃跑者与追踪者在学习的过程当中能力此消彼长。这个博弈机制是非对称的,因为我们的最终目标是为了训练跟踪器,因此我们将围绕如何训练一个更适合跟踪器学习的目标模型改进我们的对抗机制,包括了奖赏函数结构和目标的模型设计。
要实现竞争机制,最关键的是要设计奖赏函数(Reward Structure)。一般来说,纯对抗竞争的奖赏函数,就是一个零和奖赏结构。但如果是零和博弈的话,目标会在一开始就跑的很远,这反而导致跟踪器学习效率降低。因此,我们考虑当目标移动到观测范围外,将在原来的基础上增加一个额外的惩罚项,惩罚项的取值取决于目标与跟踪器的观测边界的距离。
为了让目标能够学到有针对性的对抗策略,我们进一步提出了tracker-aware target。它的设计思想就是孙子兵法中的知己知彼,百战不殆的思想。如果从认知心理学的角度来说,就是要去理解预估对手的mental state/ intention,只要比对手多一阶的思考,就可以找到有效的对抗策略。
比如说,当跟踪器根据图像推测估计目标要从画面中心往左走时,它就会倾向于向左转。如果此时我们的目标能多思考一阶,能够想到跟踪器有向左转的倾向,那么它就可以反过来输出一个向右转的动作,就可以导致跟踪误差增大。
具体实现时,我们就让目标除了其自身的视觉观测外,还额外获得了跟踪器的观测和动作输出作为模型的输入。我们在这里还引入了一个辅助任务,也就是预测跟踪器的即时奖赏值,来对跟踪器的动态特性进行隐式的建模。
我们把这个算法放到了包括城市环境、下雪的村庄、地下车库、花园以及城市街道的近真实的虚拟环境中,随后发现,尽管我们是在不真实的虚拟环境下训练的,但是迁移到近真实的虚拟环境下,还是能够非常好的跟踪到目标物体。

 

 

4
一对多的跟踪策略
接下来还是一对一的跟踪,但是有了干扰者的参与,也就形成了一种一对多的博弈机制。例如,在足球直播中,跟踪器会将边线裁判的光头误识别成足球。
同时,我们在实验中发现,现有的SOTA模型也十分容易被场景中相近的物体误导迷惑,最终导致跟丢。
针对此问题,我们提出了一种混合博弈的解决策略,里面包括了Targets和Tracker的竞争关系,还有干扰者和Targets之间的合作关系,即他们要合作起来一起欺骗Tracker。
Reward方面,Targets和Tracker,可以是零和博弈或者是前面介绍的混合Reward Structure;Distractor和Target 之间形成一个合作策略。Distractors的奖赏是它是不是能够吸引Tracker的注意,是不是跑到了Tracker视野里比较中心的位置,越靠近中心越说明Tracker把它认成了Target,它这时候获得的Reward就更高。所以在这种Reward Structure下面,我们训练Tracker、Target和Distractors,它们各有各的策略。
我们采用了两种训练方法,一种是在抽象的环境下先训练meta Policies,有了这个meta Policies以后,它作为一个teacher,这时我们引入视觉输入来训练作为student在真实视觉环境下面如何跟踪。这时候student的跟踪策略要和作为teacher的meta Policies的策略相接近。我们用K-L Divergence来描述他们的差异,我们要minimize这个差异,通过这两个训练过程,最后训练出三种角色各自的策略。
我们发现在训练过程中,出现的干扰现象越来越多。也就是说Distractors越来越会参与干扰了,它的干扰技能提升了。一些SOTA或者一些现有的先进方法在这个过程当中,随着干扰的增多,它们的performance就下降了。我们提出的这个方法,它的performance不太受干扰的一个影响。在混合博弈下面,最后训练出的Tracker和现有的一些方法有明显的优势。

 

 

5
多对一的跟踪策略
接下来是多个摄像机跟踪一个Target,这种场景通常发生在一个video surveillance的情况下。在此场景里有一个可疑人物或目标人物,我们在大范围场景下面布置多台摄像头,场景里面非常复杂、容易有这种障碍物,它能够利用这些障碍物进行隐蔽,这时能不能在多个摄像头下始终不把它给丢掉。
这里我们引用了一种心理学的机制,叫Herd mentality(羊群效应),即一种从众心理,就是一个人在人群中决策时,往往会受到多数人的干扰,产生从众心理。假如在这个环境中,我们布置了四个摄像头,如果有三台摄像头能够比较好地看到Target,即使有一个摄像头因为遮挡的原因目前看不到,它根据其他三个摄像头的指向,也能把这个摄像头的角度瞄准到他们指向的位置。这时候,当Target出现时,它就能够很快地恢复跟踪,这样对整个系统的跟踪的稳定性会有所提升。
对于这种情况,我们设计了一个模型。跟踪模式分为两种,在可见目标情况下采用基于视觉的跟踪。看不到的情况下,会根据其它摄像头的pose指向的位置决定该跟踪器所指向的位置,有一个switcher决定采用哪个跟踪模式。我们在这个环境当中把它部署下去,发现跟踪的效果也非常好。

 

 

6
多对多的跟踪策略
最后看一下多个摄像头跟踪多个目标的模型。它其实是解决一个coverage的问题,比如四个摄像头要跟踪六个物体时,在资源有限情况下,能够最大程度把这个物体给覆盖住。这里面我们采取的机制是hierarchical机制。在社会形成结构的过程中,有一些是leader,有一些是稍微处在底层一点的执行者。这种分层机制可以对复杂任务进行结构化分解,具有分工明确、理性决策、权责划分清楚等优点。
因此,我们考虑借鉴这种机制,设计一种可计算多智能体分层模型。该框架主要分两层,包括了一个集中式的协调者(coordinator)和多个分布式的执行者(executor)。当运行时,协调者收集各个执行者的观测信息,进行全局规划,为每个执行者分配特定的任务目标, 也就是指定需要跟踪的具体目标;每个执行者在分配到具体任务以后,通过采取一系列基本动作(即左转/右转/保持不变)来成指定的跟踪任务。然后重复这两个步骤。
这样,目标覆盖问题将分解为不同时间尺度的两个子任务,也就是目标分配和目标跟踪。此时,协调者和执行者均可以直接采用当前流行的单智能体强化学习方法进行训练优化。这里,协调者的团队奖赏取决于覆盖率;每个执行者的奖赏只跟相机与被分配的目标之间的角度偏差有关。
为了实现可扩展泛化的分层结构,我们仍需要克服两个挑战:
1)对于协调者,需要能够灵活处理可变数量的传感器和目标之间分配,因为不同场景下相机网络和目标分布会有很大差异;
2)对于执行者,需要能够在给定任何目标组合时,都能表现良好。就像军队中的士兵要无条件服从上级命令,执行任务。
为此,我们采取了一系列实用方法来应对这些挑战,采用了自注意力模块来处理变长的输入并获得一个与输入顺序无关的状态表示。为了更好的估计全局价值,我们对每一对传感器——目标分配的边际贡献(marginal contribution)进行了近似估计(approximate marginal contribution, AMC),从而更精确地估计和分解全局价值,引导协调者学习更有效的分配策略。
对于执行者,提出了基于目标条件的过滤器以去除与被分配目标无关的观测信息,从而提高执行者策略的鲁棒性。考虑到训练的稳定性,整体训练策略采用了二阶段分步训练方式进行。对目标集进行采样,生成伪目标来训练执行者策略;然后利用现有的执行者策略来训练协调策略。从而避免共同训练时,协调者和执行者因探索时不可避免的随机性导致训练不稳定。
最后,我们把Theory of Mind也引入到这个工作里面。这种猜想和协商的机制,我们管它叫ToM2C(Target-oriented Multi-agent Communication and Cooperation with Theory of Mind)。要解决一个问题,给定输入以后,我们通过融合其他人的输入来猜想其他人想跟踪的目标,再有选择地和目标不一致的对象进行沟通,最后在Decision Maker的module来最终决定谁跟谁的策略,最终取得了非常好的跟踪效果。

 

 

7
总 结
我们把心理学的认知机制和博弈论结合在一起来解决主动跟踪问题,一系列工作取得了比较好的一个跟踪效果。对于长期目标,我希望融合机器人学、博弈论、信息论、社会心理学等领域知识,最终构建多功能、会合作、有温度的通用机器人,服务人类社会发展。我的报告就到此结束,谢谢大家。