Cognitive Mapping and Planning for Visual Navigation 笔记

来源:互联网 发布:coc毒药升级数据 编辑:程序博客网 时间:2024/05/23 00:04

  • 框架简介
  • 细节
    • Mapping
    • Planning
  • 实验

框架简介

该论文【1】【4】【5】提出了CMP的框架来同时进行建图和路径规划,并且建图不是传统意义上的3D重建,使用SLAM建图这种。这里面建的图是confidence map,并且通过map的不断叠加,可以构造出局部confidence map和belief对接下来的路径规划进行指导。路径规划部分使用DAGGER的强化学习策略(imitation learning,后期归纳强化学习的时候会介绍)文中的confidence map就是类比于depth map,通过这个confidence map,就可以知道哪里有free space,哪里可以走。另外一个belief map就是对世界的uncertainty,palnnaer就会知道哪部分是observed。

这里写图片描述

整个的框架是端到端的学习,从输入当前图片(state),到建图,到路径规划输出action。整个的结构非常漂亮,简单,相比于Feifei Li的target-driven的方法,这种方法优点在于更加explainable,能够把map信息提取出来,并且在路径规划上更有优势,可以适用于更广泛的场景,但是呢这种方法基于的前提是已经知道target在哪里,只是中间地图还未建立的情况,并且呢基于寻找路径的过程中,通道比进入一个会议室更有可能到达目标。并且这种方法针对每个target需要进行模型训练,不像target-driven有那么好的通用性。文中还提到了之前的基于SLAM的方法,建图和路径规是割裂开来的,遇到无法建图的情况,整个系统就崩溃了【3】。

整个的框架有以下优点:

  • 能够解决partitially observed的环境能够解决,题外话:在强化学习中针对这种partially observed的策略一般采用MDP概率方法来处理。
  • 可求导,那么就可以进行端对端处理。
  • 计算复杂度较低,可以对接下来几个steps进行规划。

这个experiment是在simulator里面进行的,然后训练在experiment的时候也会进行transfer learnin到真实世界的机器人上。看来这是一个趋势,在simulator里面,速度更快,不需要进行控制方面的处理。到时候需要用机器人的时候,叫CMU机器人部门那里搞一个来就可以了。机器人的action space:停留原地;旋转 θ; 前进。同时能够获取机器人的ego-motion。整个的问题输入It = I(εPt),目标:(xgt,ygt,θtg) 这说到底还是优化问题,目前的问题都是进行优化,减少预测的错误(loss),或者减少代价(cost)。下学期还是选择optimization这门课吧,还是很有必要的。

细节

主要就是两个东西,Mapping和palnnining。

Mapping

Mapper的输入是当前first person view的图片It,上一帧的confidence map(ft1,用来预测free space),belief map(ct1对map中的区域是否观测到的置信度),当前帧的ego-motion(旋转平移)。然后输出的是新的ct, ft

这里写图片描述

具体执行如下:

这里写图片描述

W:很明显从下图中可以看到是对根据当前帧的pose,对前一帧的ct1, ft1进行旋转平移,但是文中说是进行了bi-linear操作,便于进行BP来得到end-to-end训练。具体我要再看看代码【2】

φ:输入当前帧的RGB图片到一个CNN里面,得到free space的feature map,个人猜想这个网络训练是使用depth map作为label进行训练的。输出得到了ct, ft.

U:将两部分的map进行结合,文中说这个函数比较简单,计算复杂度比较低,也可以改成LSTM(对于这个算法,我会另外写一篇详细介绍)。

这里写图片描述

Planning

这里写图片描述

在路径规划里面,重头戏就是value iteration network,可以进行迭代的channel-wise max pooling的操作,这种神经网络文中说可以看做一种Dijkstra’s的算法。每次每个value输出的是3x3池化的值。训练的时候的Label就是最佳的action。之前的路径规划,不能进行长期的规划,走一步看一步,但是这样计算复杂度太高,为了进行更多step的路径规划。在上图可以看到两个不同的scale,以及L次迭代,那么只用了2L实现了L*(2^2)长度的路径规划。这里的不同的scale应该是对同一个map进行不同尺度的上采样或下采样。这里的Fuser,Goal Scale 1或0等等这些文章中没有解释,还是要看代码进一步挖掘。

整个架构mapper和panner是连在一起的,训练得到策略的时候使用的是DAGGER的方法,训练的label是根据target和起始位置计算好的最短路径。

实验

数据集使用Standford的S3DIS,并且在mapping部分的测试,主要是把confidence map与depth map进行比较,得出对free space重建precision。

看论文的疑惑:
bi-linear sampling; value iterative network;DAGGER;Fuser; goal scale

useful links:
【1】论文地址: https://arxiv.org/abs/1702.03920
【2】代码: https://github.com/tensorflow/models/tree/master/research/cognitive_mapping_and_planning
【3】论文Slide: https://sites.google.com/view/cognitive-mapping-and-planning/?authuser=1
【4】作者主页: https://people.eecs.berkeley.edu/~sgupta/
【5】作者主页: https://people.eecs.berkeley.edu/~svlevine/
【6】Latex希腊字母: http://blog.sciencenet.cn/blog-548663-787987.html

阅读全文
0 0