Duang!深度图和深度学习碰撞出的神器火花
公众号/将门创投
来源:BAIR 编译:T.R
对于机器人感知来说,RGB图加卷积网络已经变成了感知系统的标配。在机器人和通常的计算机视觉任务中,人们会从从VGG或者ResNet等网络模型中借鉴基础结构以及预训练权重,随后利用迁移学习的方法在特定任务的数据上进行微调来实现对于特定任务的学习。但对于某些任务来说,只知道场景的颜色信息只能提供有限的感知。例如要训练机器人抓取一个新的未知物体,那么这时候理解物体及所处环境的几何形貌就比感知它的颜色纹理重要的多。
rgb图和对应的深度图(图例用灰色)
进行操作的物理过程主要依赖于物体的几何、位姿和其他与颜色无关的信息(或者是颜色不变量)。可以想象一下你在手里转笔的过程,我们可以流畅的旋转而不需要盯着它看,这是因为我们已经对于手指和笔接触点的空间位置、朝向有了极为深入的理解和认识。那么我们不禁要问,我们可以利用彩色图获取对于物体如此深入的理解吗?
其实在视觉领域还有一个可供选择的解决方案: 深度图 。这是一种单通道灰度图,包含了相机到物体的深度信息,同时提供了对于物体颜色不变的信息。并且我们还可以利用滤波器来消除背景噪声,这在很多机器人任务上十分有效。接下来的文章中将会介绍研究人员如何结合深度学习和深度图在以下三个项目中取得有效的成果:Dex-Net用于机器人抓取、物体分割和机器人铺床的任务。
感知深度
深度图一般在特定的视角下编码了对于环境中物体的距离信息。近年来随着计算机视觉的发展,深度感知领域也产生了很多进展。
传统获取深度图的方法是利用双目立体视觉获取视差信息从而得到环境的深度的。而今天大多使用的深度传感器则是基于结构光传感器的原理,通过将已知模式的红外光投影到环境并解算来实现深度的获取。另一种方法是通过激光雷达来获取环境精确的深度信息,但缺点是高昂的成本和成像速度。
所以Kinect的出现提供了一种消费级的RGB-D成像系统,可以通过硬件更快更便宜的获取环境的深度信息。如今很多机器人系统中,比如FetchRobot和Toyoya的机器人都装配有相似的感知系统,而且这一技术还在不断改进,Intel的realsense和Photoneo公司的产品都提供了更为优异的表现。
在深度图的帮助下,研究人员们可以使用深度信息帮助机器人导航、实时建图和跟踪、为室内环境建模等任务。同时深度图为机器人提供了距离障碍物的远近信息,这也使得它们在导航中获得了壁障和定位的能力。
同时深度图还被用于在游戏中实时地检测、识别和定位人体的各个部分,移除造成模糊的因素(比如光线和衣服等)。更有研究人员利用模拟的深度图像来引导机械臂接近物体。目前人们已经可以利用图形学的方法较为精确的通过模拟生成大量的深度数据了。
这些结果表明,对于某些任务深度图可以编码足够多的有用信息和色彩不变信息用于帮助训练任务。下面将用三个例子来具体说明。
机器人抓取
抓取很多类从未见过的物体对于机器人来说依然是一个严峻的挑战。尽管很多研究人员利用RGB图像来完成这一任务,但需要耗费大量的时间来进行训练。而最新进展的关键在于可以利用渲染技术,基于几何和相机位置,通过3D模型合成精确的深度图。
Bair的Dexterity Network(Dex-Net)是一个综合了算法、代码和数据集的项目用于训练机器人的抓取策略,它结合了大规模的合成数据集、机器人模型和随机采样,以及深度学习技术。Dex-Net在抓取中引入了域随机化的概念,集中于利用简单的夹具来抓取复杂的物体。在先前的研究中,研究人员提出了670万张图片的虚拟数据集用于训练抓取质量模型。目前他们将这一模型拓展到了深度图上。
首先生成和增强大量的物体网格模型,随后对于每个模型生成多种抓取位置,最后计算每一个物体及其抓取的鲁棒性,并生成对应的模拟深度图。其中通过估计抓取成功的概率来计算鲁棒性。
研究人员将Dex-Net拓展了新功能,可以自动生成用于物体模型抓取的改进数据集。抓取同时定义了位姿角度和夹爪的深度。上图描述了生成数据的流程。研究的目标是训练出一个可以通过深度图来检测夹爪是否可以成功夹住物体的模型。
抓取质量网络的架构
研究人员利用这一数据集训练了抓取质量网络(Grasp Quality,GQ-CNN),用于检测每一次抓取成功的可能性。人们可以利用GQ-CNN检测不同抓取方式,并从中选取概率最高的方案来使用。
2017年,Dex-Net拓展到了箱内分拣任务(bin-picking),这需要从一堆无需的物体中一个个的分拣出物体。Bair的研究人员将bin-picking理解为部分观测的马尔科夫决策过程,同时利用仿真来生成物体堆进行学习。通过仿真,可以得到物体位置的完整信息,并利用监督策略对GQ-CNN进行的微调,最后将学习到的策略用于ABB YuMi机器人上,实现了在仅仅利用深度图的情况下在3mins内分拣除了十个物体。下图显示了Dex-Net显示的抓取点(红点),其中第一行是真实数据,第二行是仿真数据。
箱内物体分割
实例分割任务需要判断图像中的像素分属于哪一个物体,它广泛应用于视觉任务和机器人感知中。例如机器人需要在箱子里抓取物体时,就需要先对其中的物体进行分析以便区分不同物体。
先前的研究主要集中在利用RGB图实现的Mask R-CNN上,但训练需要大量手工标注的数据。同时用于训练Mask R-CNN的数据包含的物体个数有限,可能还不足以完成货仓内地分拣任务,对于微调所需要的数据也需要手工耗时耗力的得到。所以研究人员们提出可以放松算法的要求可以再得到物体的掩膜后再来预测类别,这样就可以对大规模的物体预测掩膜,此时物体的几何信息就显得更加重要。
这一任务的数据现有相似的3D模型生成物体堆,再从中获取精确的深度图和对应的掩膜图
基于几何的分割来说,我们可以利用仿真和渲染技术来获取大规模类别丰富的,同时带有标签的深度数据集。研究人员假设这些深度图包含了用于分割的足够信息,这主要是每个物体可以由深度图中的像素边界来进行区分。利用1600个3D模型和pybullet物理引擎,生成了50k的箱内物体堆深图数据。由于物体已知,生成深度图和掩膜的精度得到了有效的保证。最终利用这一深度数据集,研究人员训练出了SD Mask R-CNN网络,从合成的深度图中分割出每一个实例。
在实际中算法的表现,第一行是高精度数据第二行是低精度数据,最后一列是本算法的结果。
令人惊奇的是,这个没有见过任何真实数据的SD Mask R-CNN表现超过了点云分割和精调过的Mask R-CNN。值得注意的是,真实数据和仿真数据的物体并不相同,这意味着SD Mask R-CNN确实能够预测出新的物体掩膜,同时利用深度图时可以减少主干网络的大小(彩色图ResNet101,深度图ResNet-35)。
实例分割被解耦成了分类和分割两个任务。对于数据集中十个物体的分类,仅仅使用VGG在10mins内就能训练达到95%的准确率。这一工作证明SD Mask R-CNN可以与分类网络串行工作,这使得对于不同物体集的训练变得容易。
总的来说,利用深度图代替RGB图实现分割给我们带来了以下启示:
– 深度编码的几何信息足以对物体进行实例分割;
– 深度图可以便捷迅速的生成,并且训练结果能有效迁移到真实数据上;
– 在不同物体间深度线索的表示更为一致,利用深度图训练的网络具有更好的泛化性。
机器人铺床
机器人铺床是一个典型的家庭应用场景,它容错性高、时间充裕同时也是人类不喜欢的工作。研究人员先前通过RGB图像来训练机器人,而最近使用深度感知技术将铺床的技能迁移到不同颜色和问题的毯子上。
杂乱的床,前四个为训练数据,后两个彩色为测试数据。
机器人需要将铺床分解成一下几个任务,首先需要识别毯子的角,然后移动到合适的位置抓起这个角最大化毯子的面积(铺开),最后在进行折叠。再一次强调一个假设:深度图中包含了铺床任务中所需毯子角点足够可靠的几何信息。
为了收集训练数据,研究人员在毯子角上放置了红色mark,利用机器人的RGB-D摄像头就可以自动地获取彩色和深度信息。随后利用收集到的深度图和对应的角点信息来训练卷积网络从不同的毯子布置中找到可以抓取的角点。
由于抓取点检测和物体检测任务类似,这里使用了YOLO模型作为预训练,并添加了几层用于微调。模型在2018张深度数据上进行了训练,结果显示虽然YOLO适用于彩色场景检测的,但依然可以基于它在深度图上得到很好的结果。
深度图带来的额外优势是可以通过距离信息滤除干扰。
利用深度图实现抓取点检测的结果。结果显示这种方法大大超过了基线,几乎实现了与人类同样的水准。
上图显示了算法对于青色毯子抓取点的检测结果。抓取网络并没有利用青色毯数据进行训练,由于测试数据深度图和训练的深度图十分类似,即使不一样的颜色也能获得优异的结果。随着机器人移动到另一侧,距机器人最近的抓取点也被很好的检测出来。(RGB训练的抓取网络表现就不如深度图训练的网络,因为训练数据都是白色床单。为了获得更好的效果就需要投入更多颜色和纹理的床单采集数据。)
深度魅力
这些项目表明深度图携带了足够的信息支撑抓取点检测、实例分割和变形物体角点检测。随着深度传感器质量和分辨率的提高,对于机器人也将变得日益重要。人们可以很便捷快速地合成深度图,这种具有颜色不变性和丰富几何信息的数据,同时可以充分利用其固有的特性来去除噪声和干扰。同时深度图比RGB维度更低,网络更倾向于从中学习出边缘和空间模式。
更多详细信息请参看:
项目主页:
https://berkeleyautomation.github.io/dex-net
https://sites.google.com/view/wisdom-dataset/home
https://sites.google.com/view/bed-make
实验室主页:http://autolab.berkeley.edu/
论文lists:
Dex-Net 2.0: Deep Learning to Plan Robust Grasps with Synthetic Point Clouds and Analytic Grasp Metrics.
Learning Deep Policies for Robot Bin Picking by Simulating Robust Grasping Sequences.
Segmenting Unknown 3D Objects from Real Depth Images using Mask R-CNN
Robot Bed-Making: Deep Transfer Learning Using Depth Sensing of Deformable Fabric.