VAT-MART 、AdaAfford论文阅读总结
目录
- VAT-MART
- 需要解决的问题——架起视觉感知与执行器之间的桥梁
- 如何解决该问题——object-centric actionable visual priors & VAT-MART
- Actionable visual priors
- VAT-MART
- architecture
- RL Policy
- Perception Network
- curiosity guidance
- training details
- 未来的工作和可能的改进
- AdaAfford
- 需要解决的问题——单一视觉表征能力有限
- 如何解决该问题——AAP module & AIP module
- 整体结构
- 两个module的architecture
- AAP
- AIP
- 训练细节
- 未来的工作和可能的改进
- 两篇文章的比较
VAT-MART
需要解决的问题——架起视觉感知与执行器之间的桥梁
利用视觉系统感知到的信息来指导执行器(如机械臂等)完成相应的动作已经由来已久,但以往的方法只是估计出了kinematic structure 和 joint parameter等信息,并无法直接指导执行器完成相应的动作,即并非actionable。因此,论文提出了一种geometry-aware、interaction-aware、task-aware的视觉表征方法,并建立了得到该表征的系统VAT-MART。
如何解决该问题——object-centric actionable visual priors & VAT-MART
Actionable visual priors
个人感觉论文所提出的actionable visual priors重点在“actionable”,也就是说通过这样的视觉表征,下游的执行器可以直接采取相应的动作完成任务,与以前的“kinematic structure” 和 “joint parameter”相比是一种更加实际的指导。具体来讲,其由三部分组成:
1)an actionability map indicating where to act
就是说其对于物体表面的每个点量化了其在多大程度上适合作为交互点,最终以热力图的形式表达出来
2)an per-point distributions of visual action trajectory proposals indicating how to interact
第一部分是用来告诉执行应该在哪个地方进行交互,第二个部分则是给执行器提供一种具体的交互动作
3)success likelihood of interaction
第三个部分的信息是一种评估信息,用来衡量在每一个点的每一种可能动作的成功概率,相当于是告诉执行器如何选择一个最优的交互动作
VAT-MART
通过前面建立的视觉表征方法的确可以很好地指导机器人进行交互,但又该如何训练一个系统得到上述表征呢?作者建立了VAT-MART系统达到上述目的。
architecture
VAT-MART由两个主要的子模块构成:RL module 和 Perception Network.前者的作用在于为训练视觉网络提供数据,而视觉网络是输出actionable visual priors的直接结构,同时会通过好奇心反馈指导RL多去尝试一些之前没有尝试过的动作。
RL Policy
采用TD3作为基本的训练方法。状态空间包括:当前的位置(但并不是直接记录当前的位置,而是记录当前位置与上一时刻位置的差分)、抓手的位姿、关节轴的方向、关节轴的位置、接触点的位置。 动作空间则指的是下一个时刻需要到达的waypoint(xi,Ri)(x_i,R_i)(xi,Ri),同样以差分的方式记录。
Perception Network
接受RL Policy产生的数据,包括接触点ppp,有3D物体抽象出的点云图SOS_OSO,动作序列τ\tauτ,任务目标θ\thetaθ。上述输入首先通过一个Input encoder进行编码,转换到特征空间之下,然后送入三个子模块:
1)Actionability Prediction Module(对每个可能的接触点评分)
2)Trajectory Proposal Module(产生交互动作)
3)Trajectory Scoring Module(对每个动作进行评分)
其中,Trajectory Proposal Module采用cVAE(条件变分自编码)实现,另外两个模块通过MLP实现
curiosity guidance
为了让RL探索到更多的动作,论文中引入了好奇心机制,一个非常直接的想法是给予当前在Perception Network中评分较低的动作以更高的好奇心回报,鼓励RL Policy去尝试这些被忽视的动作。
training details
通过随机初始化数据,先对RL 部分进行训练,然后利用RL得到的数据训练Perception Network,最后再将二者联合起来一起训练,RL不断地为perception network提供数据,而percetion network 不断基于RL 好奇心指导。
未来的工作和可能的改进
1)考虑除了pull 和 push 之外的其他动作
2)考率动作执行过程中的状态变化,将其作为反馈信息进行闭环控制。
AdaAfford
需要解决的问题——单一视觉表征能力有限
为了向下游的机械臂控制任务提供合适的视觉指导,我们首先需要判断出一个物体表面的哪一个点适合作为“交互点”,为了达到上述目的,以Where2Act为代表的object-centirc方法会生成一个affordance map,该map中的每一个点的值大小表征了该点适合作为抓取点的程度。然而,上述方法的一个明显不足在于其对于一些存在歧义的视觉场景无法识别,例如:
对于一个没有门把手且四条边外观完全相同的矩形门,我们无法通过2Dimage 或者 3D scan image判断出应该拉那一边才能打开这扇门。这时候Where2Act方法将无法给出正确的affordance map。由此出发,AdaAfford提出了一种“通过少量试探改善affordance map"的方式。
如何解决该问题——AAP module & AIP module
整体结构
AAP Module根据Where2Act模型生成一个初始的affordance map,然后由AIP module根据已知信息和当前的affordance map生成交互动作进行试探,改变物体当前状态,接着AAP module再根据当前的状态生成一个新的affordance map,如此不断循环迭代下去。
两个module的architecture
AAP
由三个部分组成:
1)特征编码模块 ξAPP\xi_{APP}ξAPP
其将输入的物体的3D点云信息OiO_iOi、接触点pip_ipi、交互方向RiR_iRi、物体实际移动mim_imi进行特征编码得到ziz_izi,对于动作集合IiI_iIi中的每一个动作分别进行特征编码,然后加权求和得到整个集合的平均编码ZIZ_IZI。
2)Affordance map 模块DAPPD_{APP}DAPP
这个部分便会生成我们想要的affordance map,其以OiO_iOi、pip_ipi、ZIZ_IZI作为输入,由于结合了由AIP产生的试探信息,因此减少了环境当中的不确性,可以得到一个更加准确的affordance map。
3) 动作评分模块CAAPC_{AAP}CAAP
该模块以OiO_iOi、pip_ipi、RiR_iRi、ZIZ_IZI作为输入通过训练一个MLP得到在每一个接触点pip_ipi下,每一个动作ui(Ri,pi)u_i(R_i,p_i)ui(Ri,pi)的相应评分。
AIP
由两个部分组成:
1)接触点评价模块DAIPD_{AIP}DAIP
这个模块的输出与DAIPD_{AIP}DAIP的输出形式是一样的,都是以热力图的方式表征不同点处某个物理量大小。只不过DAIPD_{AIP}DAIP所代表的是该点多大程度上适合作为试探动作的接触点。显然,如果一个点更能够挖掘出物体的隐藏信息(比如门的旋转轴附近),那么该点便更适合作为试探点,DAIPD_{AIP}DAIP输出的热力图在该点的值也会越大。
2)动作评价模块CAIPC_{AIP}CAIP
同样与CAAPC_{AAP}CAAP相对应,该模块的输出值用来表征在一个点上哪一种动作更适合用来作为试探动作。同样的道理,如果该动作能够揭示出物体的一些隐藏信息则更适合作为试探动作,输出值也会相应地越大。
训练细节
这是整篇文章给我冲击最大的地方,训练方式非常巧妙,总结起来可以概括为:逐级训练、反复迭代。
首先是训练动作评分模块CAAPC_{AAP}CAAP,采用如下的二进制交叉熵损失:
rir_iri是一个二进制指示量,如果物体朝着目标的实际移动大于某个阈值则置为1,否则置为0。
接着是训练DAPPD_{APP}DAPP,论文采用Where2Act模型中预训练好的动作生成网络,在每一个点处随机生成100个动作,然后使用刚刚训练完成的动作评分模块CAAPC_{AAP}CAAP对这100个动作进行评分,选择前五个最大的动作评分的平均值作为affordance map在该点处的ground truth,接着便可以使用简单的L1 loss构建预测值与真实值之间的损失函数了。
然后是训练CAIPC_{AIP}CAIP。首先构建两个试探动作集合Ωi−1=I1,I2,I3...Ii−1\Omega_{i-1}={I_1,I_2,I_3...I_{i-1}}Ωi−1=I1,I2,I3...Ii−1与Ωi=I1,I2,I3...Ii\Omega_{i}={I_1,I_2,I_3...I_i}Ωi=I1,I2,I3...Ii,显然上述两个集合只相差我们目前需要进行评价的动作IiI_iIi。因此,论文中,考虑将上述两个集合分别送到CAAPC_{AAP}CAAP中去计算损失函数LCAPPL_C^{APP}LCAPP,以二者损失函数的差异作为该动作在AIP module中的评分。这是合理的,因为该差异值反映的是前后两个集合对于达成目标的帮助程度的差异,而两个集合的唯一区别就是IiI_iIi。如果两个集合的差值越大,说明加上IiI_iIi之后,更容易达成目标,则IiI_iIi当然就应该是我们试探时需要重点考虑的动作。
再然后便是训练DAIPD_{AIP}DAIP。与通过CAAPC_{AAP}CAAP训练DAPPD_{APP}DAPP类似,我们可以采用类似的方法由DAIPD_{AIP}DAIP得到CAIPC_{AIP}CAIP。
目前,我们已经将AAP与AIP中的每一个子网络都进行了一遍训练,下面我们便可以开始进行迭代操作。由AIP模块生成试探动作,改变物体目前的状态,然后APP模块根据当前状态得到新的affordance map,AIP模块又根据新的affordance map再次训练,不断循环迭代,直到两个模块均收敛。
未来的工作和可能的改进
1.考虑除pull和push之外的其他动作
2. 考虑实际情况中机械臂等执行器的物理限制
3. encoder 模块的特征空间转换(Robust Scalar、Logarithmic Transformation、Box Cox)
4. LCAPPL_C^{APP}LCAPP损失函数的修改
LnewCAPPL_{newC}^{APP}LnewCAPP=LCAPPL_C^{APP}LCAPP+λ\lambdaλ*∣s−mi/mtarget∣|s-m_i/m_{target}|∣s−mi/mtarget∣
5. 本质是增加信息,减少环境的不确定性,因此可以考虑其他增加信息的方式。
两篇文章的比较
VAT-MART搭建了一个完整的系统,产生的visual priors可以直接指导执行器运动,AdaAfford则聚焦于一点——生成更加准确的affordance map。
VAT-MART 、AdaAfford论文阅读总结相关推荐
- 论文阅读工具ReadPaper
对于搞科研的同学们来说,看论文是要经历的第一关,尤其是要读好多篇论文的时候,更是着实令人头大. 这不,最近无意中发现了个在线论文阅读网站:readpaper.com,号称「论文阅读笔记神器,硕博科研学 ...
- 多目标跟踪:CVPR2019论文阅读
多目标跟踪:CVPR2019论文阅读 Robust Multi-Modality Multi-Object Tracking 论文链接:https://arxiv.org/abs/1909.03850 ...
- 快速人体姿态估计:CVPR2019论文阅读
快速人体姿态估计:CVPR2019论文阅读 Fast Human Pose Estimation 论文链接: http://openaccess.thecvf.com/content_CVPR_201 ...
- Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读
Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读 Action4D: Online Action Recognition in the Crowd and Clutter 论文链接 ...
- 深度学习点云语义分割:CVPR2019论文阅读
深度学习点云语义分割:CVPR2019论文阅读 Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning 摘要 本 ...
- 3D目标检测论文阅读多角度解析
3D目标检测论文阅读多角度解析 一.前言 CNN(convolutional neural network)在目标检测中大放异彩,R-CNN系列,YOLO,SSD各类优秀的方法层出不穷在2D图像的目标 ...
- 3D目标检测论文阅读摘要
3D目标检测论文阅读摘要 2D Object Detection 的研究已经非常成熟了,代表作品有RPN系列的FasterRCNN,One Shot系列的YOLOv1-YOLOv3,这里推荐一个2D ...
- 目标检测——Faster R-CNN论文阅读
论文阅读--Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks 文章目录 论文阅读--Faste ...
- 【独家】深度学习论文阅读路线图
如果你是深度学习领域的一名新手,可能会遇到的第一个问题是"应该从哪篇论文开始读起呢?" 这里给出了深度学习论文阅读路线图! 路线图按照下面四个准则构建而成: 从提纲到细节 从经典到 ...
最新文章
- Asp.net 1.0 升级至 ASP.NET 2.0十个问题总结
- 学习笔记Kafka(二)—— Kafka安装配置(1)—— JDKZookeeper安装、Zookeeper 常用操作
- js控制复选框选中显示不同表单_Vue之 表单
- Angular中使用双向数据绑定操作表单的input、checkboc、radio、select、textarea实现简单的人员登记系统实例
- [转载] C#面向对象设计模式纵横谈——10. Decorator装饰模式
- editorloop 占用_systemd CPU占用100%,并出现大量僵尸进程
- Ubuntu使用技巧(三), 硬盘安装Linux(UEFI)
- iptables 开放远程_JavaWeb项目的部署以及远程调试
- 第一百三十一期:2019年容器使用报告:Docker 和 Kubernetes 王者地位不倒!
- 学习yield《转》
- python调用第三方接口获取数据_python调用接口,python接收post请求接口(附完整代码)...
- spring mvc处理静态资源
- 开课吧:Web开发要学习哪些基础知识?
- sin、cos三角函数计算
- 卧槽,ChatGPT 太强了吧!
- oracle怎么使用Xmanager,Xmanager使用总结
- clock gate spec
- 电脑USB插拔记录删除方法分享
- iPhone 忘记了密码怎么办?
- 洛谷 P1830 轰炸Ⅲ
热门文章
- 什么是面向接口编程、面向过程编程、面向对象编程?
- html页面其中有添加员工的,编写一个添加员工信息的HTML页面,当用户点击添加按钮,请求AddEmpServlet,实现将用户提交的员工基本信息返回给客户端显示出来。...
- centos6 安装完epel 解决yum的问题
- 【web项目】前端生日礼物--注册页面篇
- STM32中文参考手册_V10
- iphone5s 越狱 绕过icolud
- 计算机的英语作文模板,计算机英文模板 简历
- “984.5”大学真的打不过985吗?
- Scal(三)——类与对象
- git配置(SSH)