深度学习算法在机器人中的应用研究
刘殊男 杨柳(长春科技学院 智能制造学院,吉林 长春 130000)
摘要:绝大多数深度学习算法都侧重于分类问题,少数应用于人脸检测和行人检测,本次论文采用深度学习方法解决在包含对象的场景的RGB-D视图中对机器人进行检测抓取的问题。通过采用一个两步级联系统可以对大量的候选者进行评估,与手工设计相比更为快速而有效。两步级联系统有两个深度网络,其中第一个系统的顶级检测值由第二个系统重新评估。通过研究实验证明了深度学习方法可以有效提高RGBD机器人抓取数据集的性能。
关键词:机器人抓取,两级检测系统,深度学习算法
Abstract:Most of the deep learning algorithms focus on classification problems, and a few are applied to face detection and pedestrian detection. This paper uses deep learning method to solve the problem of detecting and grasping robots in RGB-D view of scenes containing objects.By using a two-step cascade system, a large number of candidates can be evaluated, which is faster and more effective than manual design.The two-step cascade system has two deep networks, in which the top detection value of the first system is reassessed by the second system.The experimental results show that the deep learning method can effectively improve the performance of RGBD robots in capturing data sets.
Keywords:Robot Grabbing, Two-level Detection System, Deep Learning Algorithms
1 引言
机器人抓取涉及到感知、规划和控制的问题。目前人们将感知问题转化为检测问题,需要用到从摄像机中取得的对物体的视角来推断出机器人抓手放置的顶部位置的范围[1]。机器人的感知问题与基于静态图像的一般视觉问题不同,对性能和计算速度有更为严格的要求,故常被用在带有控制器的闭环中,由于需要合并新的输入模式(如RGB-D摄像机),而过去的手工设计功能既繁琐又耗时,故不再适用,最近的基于深度学习方法在视觉识别、音频识别和自然语言处理等方面中显示了先进的性能,能够直接从未标记和标记的数据中得到有用的特征,避免了手工编程的需要,然而,深度学习的大部分工作都是在认知的背景下进行的,如人脸检测和行人检测[2]。我们的目标不仅是推断一个可行的抓取,而且是推断一个给定的对象的最佳抓取,这与对象检测的问题有很大的不同。因此,将深度学习应用到机器人抓握的问题上,从而推广到类似的检测问题上。
相对于简单的二维图像数据,RGB-D数据的使用可以显著改善抓取检测结果。在本文中,提出了一种多模式特征学习算法,在学习过程中对目标函数进行优化,同时应用基于深度学习的二级级联检测系统。使用较少的特性进行第一次遍历,提供快速且近似精确的检测;第二遍使用更多的功能,提供更精确的检测。与人工设计的两步特征不同,使用深度学习能够在计算上具有高效性。
2 深度学习算法
大多数将“抓握”定义为实现给定对象的部分或完整形式的末端执行器配置,它取决于机器人抓手的姿态和配置,以及要抓住的物体的形状和物理属性,通常需要搜索大量可能的抓手配置[3]。对于给定的三维模型,可以使用先进的物理模拟来找到最佳抓取,但当机器人与新环境交互时可能不再试用。在真实环境中,机器人不会完全了解待抓对象的3D模型和姿势,只会从一些传感器中获得不完整的信息,这使得抓取的问题更难解决,因为算法必须使用有限的和潜在的嘈杂的信息来检测良好的抓取,机器深度学习方法已经被证明是解决各种感知问题的有效方法,这使得感知系统能够从某些特征集得到各种视觉特性的映射[4]。
提出一种从单个RGB-D视图进行机器人抓握检测的算法,区别于以前的方法,不仅获取用于排名前瞻性抓握的权重,而且还被用来排列它们的特征,这些特征是先前手工设计的。我们将使用深度学习方法,学习一组从每个候选抓取中提取的RGB-D特征,然后用于评分。该方法提高了从RGB-D数据中得到的特征的质量,而不局限网络结构。
图1左侧为一个包含两个隐藏层的深层网络,转换输入表示法,在顶层有一个逻辑分类器,利用第二个隐藏层的特征来预测抓取是否可行。右测是一个自动编码器,用于预训练。一组权重将输入特征投影到隐藏层,然后使用相同的权重将这些隐藏的单元输出投射到输入的重构中。
图1 深层网络和自动编码器
采用两阶段方法进行检测,首先使用简化的特征集来确定一组顶级候选者。然后使用更强大的功能集来对这些候选进行排名。但是,这些方法需要设计两组独立的特征。手工设计一组小的第一阶段特性可能有一些困难,这些特性既可以快速计算,并为第二阶段产生一套好的候选检测。使用深度学习使我们能够通过简单地训练两种不同大小的网络来规避昂贵的特征手动设计,使用较小的用于穷举的第一遍,而较大的则重新排列候选检测结果。
从矩形表示中检测机器人抓取,使用随机变量来模拟矩形G(t)的概率,其中特征
是可抓取的,这表示预测G(t)为是否要抓紧。使用一个深网络,如图1左边所示,具有两层S形隐单元h[1]和h[2],每个层分别有K 1和K 2单位。在第二层隐藏单元的输出上的逻辑分类器,然后预测
,因此选择了这个分类器,这样选择是因为地面真相可获取性表示为二进制。每层ℓ将有一组权重W [ℓ]从其输入映射到其隐藏单位,因此模型的参数是Θ= {W [1],W [2],W [3]}。每个隐藏单元在其加权输入上由S形
(a)=1(/ 1 +EXP(-a))形成输出:
(1)
在推理过程中,目标是为某个新对象找到最大把握概率的单一抓取矩形。使用G表示特定的抓取矩形位置(方向和大小),最佳矩形为:
(2)
φ函数提取适当的输入表示矩形G。在学习期间的目标是得到参数Θ优化系统的识别精度。这里,对于t = 1,...,M,输入数据作为一组特征对x(t)∈RN和地面实况标签y(t)∈{0,1}给出。在大多数深度学习工作中,我们采用两阶段学习方法。在第一阶段,将使用无监督特征学习来初始化隐藏层权重W [1]和W [2],预先训练是避免过度拟合的关键。使用稀疏自动编码器(SAE)[5]的变体,如图1右侧所示。将g(h)定义为隐藏单位激活的稀疏惩罚函数,其中λ控制其权重。以f(W)作为正则化函数,由β加权,(t)作为x(t)的重构,SAE解决了以下初始化隐含层权重:
(3)
首先使用该算法初始化W [1]以重建x。然后修复W [1]并得到W [2]来重建h [1]。在学习算法的监督阶段连带地得到分类器权重W[3]和细调隐藏层权重W[1],W[2]进行识别。最大限度地利用数据的对数似然性,并对隐含层权值进行正则化惩罚:
(4)
在推断两阶段检测期间,首先使用较小的网络来产生一组顶部T矩形,其具有根据网络参数Θ1可抓握的最高概率。然后,使用具有单独参数集Θ2的更大网络来重新排列这些T矩形并获得单个最佳矩形。两阶段模型的唯一变化是使用相同的方法分别获取这两组参数。
定义系统使用的是原始特征集,在上面的方程中获得从RGB-D图像中提取的X,我们的算法只使用局部信息,提取每个矩形内包含的RGB-D子图像,并使用它来生成矩形的特征。该图像被旋转,使得其左右边缘对应于夹持板,然后重新缩放以适合于网络的接收场内。从这个24x24像素图像中,提取出七个通道的特征值,给出24x24x7=4032个输入特征。前三个通道是YUV颜色空间中的图像,分别表示图像强度和颜色,接下来就是图像的深度通道,最后三个是基于深度通道计算的表面法线的X、Y和Z分量[6]。这些是在图像与夹具对齐后计算的,因此它们始终相对于夹板。图2所示左侧为一副带有潜在抓取矩形的太阳镜,红色边缘表示夹板;中间图像为从矩形中取出的图像并重新缩放以适合方形宽高比;右测是同样的图像,填充和中心在接受域内。蓝色区域表示包装填充,重新缩放时,矩形显示不正确。保留纵横比和填充允许矩形正确显示为不可抓取。
图2 保留纵横比
在向网络中输入特性时,保持纵横比是很重要的。这是因为失真的图像特征可能导致非可抓性矩形出现可抓性,如图2所示。但是使用零填充可以使填充较少的矩形获得更高的可抓取性分数,因为网络将具有更多非零输入,考虑到这一点,对象的理想抓取可能由一个细矩形表示,因此在填充的接收字段中包含许多零值。为了解决这个问题,根据被屏蔽的矩形部分来扩大每个矩形的可用输入的幅度,基于被掩蔽的每个模式的分数来定义来自每个模态的输入的乘法缩放因子,因为每个模式可以具有不同的掩模,假设已知输入数据x来自R个不同的模态,例如音频数据、视频数据、深度数据和RGB数据。将模态矩阵S定义为RxN二进制矩阵,其中每个元素S r,i表示特定模态r中的可见单元x i的成员,例如深度或图像强度。模式r的缩放因子被定义为:,如果
被掩蔽,则
为1,否则为0。情况I的比例因子是:
.
在训练模型时可以简单地将X的每一个值按相应的比例因子缩放,如.然而,由于稀疏自动编码器会对平方误差进行处罚,因此线性缩放x将对相应情况下的误差进行二次缩放,从而使学习算法为更多数据被掩盖的情况增加了可行性。相反,可以使用缩放的x'作为网络的输入,但是基于原始x惩罚重建,仅在计算平方误差之后进行缩放:
(5)
重新定义隐藏单位以使用缩放的可见输入:
(6)
该方法相当于基于每种模式的缩放因子向模型添加额外的可能是分数的“虚拟”可见单元。在实践中,有必要将比例因子限制为某个值c的最大值,如。如图3所示,左侧为没有基于掩模的缩放的结果;右侧为基于蒙版缩放的结果,消除了网络对方形矩形的固有偏差,展现出更广泛的宽高比范围,更接近地面真实数据的宽高比。
图3 基于掩模的缩放的改进
3 实验
3.1 数据集
在实验中使用了Cornell抓取数据集的扩展版本,该数据集包含1035个可抓取物体的图像,每一幅图像都用一些地面真实的正负抓取矩形进行标注[7]。虽然大多数对象的绝大多数可能的矩形将是不可抓取的,但数据集包含大致相等数量的可抓握和不可抓握的矩形。我们将证明这对于无监督学习算法是有用的,因为它允许从无标记的数据中得到对可合并矩形的良好表示。进行了五次交叉验证,并根据每个图像和每个对象显示拆分结果。通过在不使用任何交叉验证分割中的300个抓取的单独集合上验证性能来选择超参数。
将7个24x24像素通道作为输入,为每个网络提供4032个输入功能。用我们的学习算法在第一层和第二层训练了一个有200个隐藏单元的深层网络,这个网络大约花了30分钟。对于涉及我们的双通道系统的试验,以相同的方式在每层训练了第二个网络,其中有50个隐藏单元。 在推理期间,使用该网络进行了详尽的搜索,然后使用200个单元的网络重新排列50个单元网络找到的100个排名最高的矩形。
3.2 检测指标
为了检测,将每种方法的排名最高的矩形与每幅图像的地面实况矩形集进行比较。 使用两个指标呈现结果,即“点”和“矩形”指标。对于点度量,计算预测矩形的中心点,如果它距离地面实况矩形中心一定距离,则认为掌握成功。该指标忽略了抓取方向,因此可能高估了机器人应用程序的算法性能[8]。对于矩形度量,让G成为算法预测的排名靠前的抓取矩形,G *是地面真实矩形,任何方向误差超过30 o的矩形都会被拒绝[9]。在其余的集合中,使用了相交的通用边界盒评价度量,即Area(G∩G∗)/Area(G∪G∗)。由于地面实况矩形可以定义可抓取矩形的大空间(例如,覆盖笔的整个长度),所以认为如果一个预测在这个度量值上至少获得25%的分数,那么这个预测是正确的[10]。
3.3 实验现象
如图4检测机器人抓取实验,左:一个杂乱的实验室场景,标记着与机器人抓取场景中物体对应的矩形,绿线对应于机器人夹持板,采用基于深度学习的两阶段系统得到特征,并对机器人抓取进行检测。中心:机器人通过我们的算法成功地执行了检测进行抓取。右图:在从Kinect获得的RGB(顶部)和depth(底部)图像中检测到的抓取。我们的系统在对象分割的情况下,除了点度量外,所有的度量都优于所有的基线方法。但是,点度量的机会性能要比矩形度量高得多。这表明点度量可以夸大性能,矩形度量是抓握检测系统准确性的更好指标。
图4 检测机器人抓取
我们的检测系统的一个重要优点是可以灵活地指定检测系统中夹具的约束条件。这对于机器人来说尤为重要,因为不同的物体可能需要不同的抓取器设置才能完成抓取动作,即可以约束检测器来处理这个问题。图5显示了基于Baxter抓取器的两个不同设置(一个宽,一个薄)的受限系统的检测分数,红色表示以左握臂平面为中心的抓法的最高得分,蓝色表示右板。最好的矩形显示为绿色/黄色。
图5 不同夹具抓取分数的可视化
使用双通道系统增强了计算性能和准确性。需要评估的全尺寸网络矩形的数量大约减少了1000倍。同时,与使用大型网络的单次通过相比,检测性能提高了2.4%,尽管单独使用小型网络明显低于大型网络。在大多数情况下,第一遍的前100个矩形包含使用第二阶段网络的详尽搜索中排名最高的矩形,因此结果不受影响。图6示出了一些情况,其中第一级网络修剪掉对应于弱抓取的矩形,否则这些矩形可能由第二级网络选择。在这种情况下,单级系统选择的抓取可能对机器人抓取器是可行的,但两级系统选择的矩形代表的抓取显然是成功的。两阶段系统还显着提高了我们检测系统的计算效率。对于使用较大网络的穷举搜索,使用两级系统的MATLAB实施深度网络的平均推理时间从24.6秒/图像减少到13.5秒/图像。
图6 两阶段系统的改进
4 结论
提出了一种使用深度学习方法从RGB-D数据中检测机器人抓取的系统,与现有技术相比,使用深度学习可以让避免使用手工工程繁琐耗时的特性,且深度学习的方法比之前精心设计的手工设计的方法有显著的优势,不但能够提高复杂且不规则的对象的抓取成功率,两阶段深度学习系统也能够稳健地检测各种对象的抓取,甚至是系统先前未见过的对象,同时提高了对矩形数据的识别和检测性能,不仅能够与单级系统的性能相匹配,而且实际上可以提高成功率,同时大大减少了检测所需的计算时间。
参考文献
[1] 倪鹤鹏,刘亚男,张承瑞,等.基于机器视觉的Delta机器人分拣系统算法[J].机器人,2016,38(1):49-55.
[2] 郝明.机器视觉在机器人杂乱工件分拣中的应用 [D].沈阳:沈阳工业大学,2015
[3] 王耀南,陈铁健,贺振东,等.智能制造装备视觉检测控制方法综述 [J].控制理论与应用,2015,32(3):273-286.
[4] 袁国武.智能视频监控中的运动目标检测和跟踪算法研究[D].昆明:云南大学博士学位论文, 2012
[5] Xing W, Zhao Y, Cheng R, et al. Fast Pedestrian Detection Based on Haar Pre-Detection[J].International Journal of Computer and Communication Engineering, 2012, 1(3): 207-209
[6] 孙志军,薛磊,许阳明,等.深度学习研究综述[J].计算机应用研究, 2012, 29(8): 2806-2810
[7] Bengio Y. Learning deep architectures for AI[J]. Foundations and trends® in Machine Learning,2009, 2(1): 1-127
[8] 谢建斌.视觉机器学习 20 讲 [M].北京:清华大学出版社,2015:170-184
[9] 李海峰,李纯果.深度学习结构和算法比较分析[J].河北大学学报:自然科学版,2012,32(5):538-544.
[10] Lee T S, Mumford D. Hierarchical Bayesian inference in the visual cortex[J]. JOSA A, 2003,20(7): 1434-1448.