目录
3.2.2.基于RGB图像和学习的图像法向量引导的深度估计方法
1.绪论
1.无序抓取问题(bin-picking):工业机器人对无序堆叠在料箱中的零件进行抓取
2.经典无序抓取研究:Dex-net,Zeng A所提出的自监督学习方法,N.P提出的高精度语义分割方法后进行姿态估计,南阳理工提出的基于工程特征和学习特征的两个分类器进行物体检测等
3.无序抓取关键技术:深度估计,吸取检测,平面抓取检测和六自由度抓取检测
1.1.深度估计现状
因计算量大,耗时大,过于依赖人工调参等缺点,摒弃改善结构光深度相机成像质量的方法。
采用单目深度估计方法:
1.基于监督学习的单目深度估计方法依赖于真实深度信息,在模型训练过程中需要大量真实数据对深度模型进行训练。
由于深度信息与可见光信息之间的跨域差别很难找到映射关系,因此通过引入法向量或物体边缘信息等辅助信息来优化深度图像估计。
2.基于无监督学习的单目深度估计无需带有深度标签的数据即可完成对输入图像的深度估计。
总结:
1.2.吸取检测技术现状
1.大规模真实数据集SuctionNet-1Billion,该数据集具有杂乱的场景及其密集吸取位姿标注。
2.吸取检测的经典解决方案主要包括目标检测或分割,姿态估计和基于模型的吸取检测。
3.GQ-CNN(Grasp Quality Convolutional Neural Network)是一种用于机器人抓取规划的深度学习模型。该模型基于卷积神经网络(CNN),并在DexNet 2.0数据集上进行训练。
4.Faster R-CNN(Faster Region-based Convolutional Neural Network)与R-CNN和Fast R-CNN是三种常见的目标检测算法。
1.3.平面抓取检测技术现状
1.3.1.基于关键特征点的方法
基于关键特征点的方法依赖于手工设计没描述子检测的关键点及其匹配,由于手工设计描述子的局限性,其性能有限;基于模板匹配的方法能更好的响应没有纹理的物体,但是在有杂波情况下,匹配效果差。总之经典方法能力非常有限。
1.3.2.基于深度学习的方法
1.端到端的平面抓取检测方法使用神经网络来训练从视觉图像到抓取配置的端到端映射模型。像素级的抓取检测方法如GG-CNN更适合复杂的无序场景,此外,由于不需要采样,端到端的机器人平面抓取检测方法具有较高的检测速度,且模型训练简单。
2.采样评估平面抓取检测方法首先对抓取候选进行采样,然后使用分析方法或者经验方法评估候选成功抓取的可能性。(相关关键词:GQ-CNN抓取质量卷积神经网络,Dex-Net 4.0,ROI-GD)采样评估抓取检测方法在无序场景中表现良好。
1.4.六自由度抓取检测技术现状
机器人抓取操作容易受到多个因素的制约,包括抓取目标信息,环境感知,夹持器模型和抓取规划等。
方法分为分析方法和经验方法两大类。这些方法的最终目标是在给定物体和基本环境约束条件下,寻找一个抓取配置,以实现最大化的抓取性能。
分析方法建立数学模型,经验方法避免建立精确的数学和物理模型。分析方法在六自由度抓取检测中占主导地位。力闭合和形闭合是稳定抓取的两个重要表现形式。
随着场景的复杂程度提高,分析方法的计算复杂度也越来越高,分析方法不适合在无序环境中广泛使用。
基于经验方法的六自由度抓取检测通常由目标检测与定位,姿态估计和抓取检测组成。
抓取检测指抓取目标物体时夹持器的抓取配置,通常包含3D位置,3D方向和夹持器开口宽度的7维抓取配置。
1.4.1.已知目标定位未知姿态的六自由度抓取检测
使用基于对应关系的方法将抓取点从相似的完整3D物体转移到当前的局部视图物体上。
依赖物体分割的准确性,且要求对抓物体的3D模型和可以找到对应关系的注释模型之间足够相似。
1.4.2.已知定位已知姿态
首先获得6D姿态。再根据6D姿态进行抓取检测。主要是姿态估计,分为基于RGB图像(一般),基于点云和深度图像(常用),基于RGB-D图像(少用,当可以获得准确的3D物体模型时不错,精度很高)。
1.4.3.未知定位未知姿态
跳过目标检测与定位和姿态估计,直接从输入图像中恢复抓取配置。分为直接检测方法和采样评估方法。
1.直接检测方法分为一阶段方法和多阶段方法。
一阶段方法是使用一个网络直接回归获得抓取配置。(PointNet++等)
多阶段方法使用两个或多个网络回归得到抓取配置。
2.采样评估方法首先估计抓取候选,然后从中选择最佳抓取配置。(GPD等)
总结:这类方法跳过了目标检测与定位和姿态估计,算法流程和使用相对简单。
直接检测方法不需要采样,检测速度快,训练简单。
采样评估方法分为采样阶段和评估阶段,泛化性能强,但其获得的抓取点可能不是全局最优,且效率较低。
1.5.无序抓取存在问题
2.机器人无序抓取平台的需求分析
2.1.机器人无序抓取平台的需求分析
堆叠零件无序场景机器人研究重点主要包括无序堆叠场景的深度图像获取和机器人抓取检测算法两部分。
1.深度图像获取是机器人抓取检测算法的基础,深度图像的质量高低直接影响机器人抓取检测算法的性能。无序抓取场景的零件严重堆叠和遮挡以及外界光强超出相机动态范围导致其质量低。
2.吸取技术通常作用在以下情况:a.平坦光滑的表面;b.脆弱的材料;c.轻质目标对象;d.需要充分接触的表面。
3.抓取技术通常适用于以下情况:a.不平坦或者不规则表面;b.重型目标对象;c.需要精准控制力度的情况;d.需要对目标对象进行操纵或操作。
其中,当目标对象的形状或应用要求需要从某一方向对物体进行抓取时,平面抓取检测是更合适的选择;当需要在三维空间中进行灵活的抓取和操作时们需要考虑和使用六自由度抓取。
4.这三类机器人抓取检测算法分别存在理论性不足 、检测效率和准确率矛盾 、机器人运动和料箱 限制导致的可达性问题等 ,以及共同存在的数据集获取难题。
2.2.机器人无序抓取平台硬件系统
主要分为机器人控制系统和视觉识别系统。
1.机器人控制系统主要用于从视觉识别系统接受识别到的抓取配置信息,并根据抓取配置信息控制装配有末端执行器的机器人本体完成抓取操作。
2.视觉识别系统主要使用图像采集单元采集盛有堆叠零件的无序场景,并用视觉处理器对无序场景中的视觉信息进行处理检测出可行的抓取配置,转换到机器人坐标系下,传输给机器人控制系统。
2.2.1.机器人控制系统
主要包括机器人本体,末端执行器,机器人控制器(机器人运动控制)。
2.2.2.视觉识别系统
主要由图像采集单元和视觉处理器组成。
1.图像采集单元主要用于获取无序场景的RGB-D图像或点云。
2.视觉处理器主要用于分析处理图像采集单元采集的图像信息,获得控制机器人运动所需要的信息。
2.2.3.机器人无需抓取平台的软件平台设计
软件系统主要分为两部分,运动控制部分和视觉识别部分。
1.运动控制部分在机器人控制器上实现,包括机器人运动学正逆解模块,轨迹规划(包括路径规划和速度规划)和插补模块。
在进行轨迹规划时,根据运动轨迹和加减速算法对机器人末端进行速度规划,在使用位置插补和姿态插补对机器人末端轨迹进行插补,将插补结果通过运动学逆解得到关节插补位置,最终保证机器人沿预定轨迹平滑稳定的运动。
运动轨迹包括圆弧轨迹,直线轨迹和“门”字型轨迹等。
2.视觉识别部分(图像处理器)主要完成对图像采集单元采集图像信息的分析和处理,主要包括手眼标定模块,深度估计模块,视觉识别模块。
深度估计模块主要用于对深度图像质量差的堆叠零件无序场景进行深度估计,以获得完整的深度图像,以便于后续的视觉识别任务。
视觉识别模块对图像采集单元采集到的图像信息进行分析处理,得到机器人抓取所需要的信息。
3.虚实结合的堆叠零件无序场景深度估计
深度相机的高质量成像是进行目标检测,语义分割,姿态估计及抓取检测等下游任务的基础。然而由于金属等材质的高反射特性导致外界光强超出相机动态范围和零件的严重堆叠和遮挡导致深度图像质量下降。
本章通过图像重光照模型学习无序场景的光照模型,并应用到仿真环境中,以生成和真实环境相近的场景图像用于后续的深度估计。
3.1.无序场景的渲染
包括对零件材质的渲染,零件的位姿估计和场景的光照渲染。
3.1.1.零件材质的渲染
影响零件材质渲染的几个主要参数:基础色,金属度,粗糙度,高光,高光染色。
将这些影响材质渲染效果的参数分别以0.05为间隔进行循环遍历,得到所有可能的零件材质渲染效果集。
接下来采用孪生神经网络选择出与真实成像效果最为相似的零件材质渲染效果。
孪生神经网络有两个输入分别为真实图像和渲染图像,其主干网络采用VGG16对特征进行提取,最终得到一个介于0-1之间的表示两个输入图像的相似度的值。
3.1.2.零件的位姿估计
零件的位姿估计是无序场景渲染的基础。ICP算法是3D-3D位姿估计的经典匹配算法,本文采用配准变尺度点云的ICP算法。(点云配准方法还有RANSAC算法,基于特征的方法,基于特征描述子的方法,基于图匹配的方法,深度学习方法DGCNN,PointNet等)
3.1.3.无序场景的光照渲染
采用基于图像重光照的方法——NRUNet,将无序场景的光照渲染问题转化到图像到图像的重光照问题,通过改变原图像的光照效果来实现无序场景的光照渲染。
图像重光照常用评价指标有峰值信噪比,结构相似性,学习感知图像块相似度和平均感知分数。
3.2.无序场景的深度估计
提出基于RGB图像和学习的图像法向量引导的深度估计方法。首先介绍无序场景深度估计的数据集生成,然后介绍基于RGB图像和学习的图像法向量引导的深度估计方法。
3.2.1.无序场景深度估计的数据集生成
即最终得到的是由RGB图像,深度图像和法向量图像共同组成的堆叠零件无序场景深度估计数据集。(法向量图像通过将每个像素的法向量信息编码为图像的像素值,以达到模拟物体表面细节和光照效果的目的。)
3.2.2.基于RGB图像和学习的图像法向量引导的深度估计方法
深度估计常用指标有均方根误差,均方根对数误差和阈值准确率。
3.3.总结
首先,使用blender软件对单个零件进行材质渲染,并使用孪生神经网路选择与成像效果最为相似的材质的渲染效果;
对无序场景中的多个零件进行位姿估计,根据估计的位姿再blender中对无序场景进行渲染重建,并使用重光照方法对其光照模型进行估计,以获得和真实场景相近的光照效果;
提出基于RGB图像和学习的图像法向量引导的深度估计方法,并使用生成的深度估计数据集对其进行训练,以实现对堆叠零件无序场景的深度估计;
最后与各种现有方法对比试验,证明该方法客服了传统方法的局限性,且能获得较好质量的深度图像,且具有较好的泛化性能。
6.深度图像和点云结合的机器人六自由度无序抓取检测
六自由度抓取检测在平面上的零散零件表现良好,而对于无序场景研究较少。
在无序场景中,机器人运动和料箱限制导致的六自由度抓取检测可达性问题。
由于零件之间的无序叠加和自遮挡,小批量零件类别更新快速带来的标注难题。(泛化问题)
基于点云的六自由度抓取检测效率低问题。
针对上述问题,提出深度图像和点云结合的机器人六自由度无序抓取检测
1.首先,对单个零件的六自由度抓取配置进行采样,并对采样后的抓取配置进行抓取检测,以获得单个零件的可行抓取配置;
2.其次,将单个零件的可行抓取配置转换到无需场景的多个零件上,并对转换后的抓取配置进行可达性检测,以使获得的抓取配置满足机器人运动和料箱限制下的可达性;
3.然后,提出~抓取检测方法。
6.1.单个零件的六自由度抓取检测
首先,描述六自由度抓取检测问题,获得六自由度抓取检测的抓取配置表示;
然后,对六自由度抓取配置进行采样;
最后,对采样后的六自由度抓取配置进行抓取检测,以获得单个零件的可行抓取配置。
6.1.1.六自由度抓取检测的问题描述
六自由度抓取配置主要是指平行夹持器的平移和旋转,以及平行夹持器的开口宽度。Fang等人重新描述为:对于物体表面的抓取点p,预测可行的接近向量V,接近距离D,沿接近向量的平面旋转R以及平行夹持器抓取物体的开口宽度W。
将工业界标准STL格式转换为用于点云数据的OBJ文件;转换而成的OBJ文件顶点数据,无法满足抓取点的采样需求,因此需要将STL模型重新网格化。
6.1.2.采样配置采样
采样获得各配置参数后,到达距离抓取位置为接近距离D的位置,旋转R,移动到接近向量V所代表的方向,再平移到抓取点p处。获得变化矩阵M。
6.1.3.平行夹持器的抓取检测
抓取检测包括:1.判断夹取器的平行夹爪间存在被夹持物体;2.平行夹持器再打卡状态下不与被夹持物体发生碰撞;3.满足力闭合抓取条件。
6.2.无序场景下六自由度抓取检测
1.根据无序场景中多个零件的位姿,将单个零件的六自由度抓取配置转换到相应位姿的零件上;
2.然后对转换后的六自由度抓取配置进行可达性检测:a.满足夹持器打开状态下不与料箱和料箱中的零件发生碰撞;b.平行夹持器的夹爪闭合空间内只有被加持零件。
3.然后根据前面的采样规则,将可行抓取配置转换到场景中。
最终构成基于深度学习的六自由度抓取检测数据集,以便六自由度抓取模型的训练和使用。
6.3.基于深度学习的六自由度抓取检测
该方法将深度图像与点云相结合,主要分为三个阶段:
1.针对深度图像对所有点是否可以抓取进行判断,并实现对接近向量V的分类;
接近向量分类模型的输入为无序场景深度图像,输出与深度图像相同大小的标签图像。
类似语义分割问题,采用U-Net网络架构
2.找出第一阶段对应的抓取点p和接近向量V,根据抓取点p将点云进行零均值中心化,然后通过直通滤波获取ROI点云,将ROI点云根据接近向量进行转换;
3.进行抓取配置参数的联合分类。