基于深度学习的机器视觉在机械臂中应用
2023-09-13王科峰
王科峰
(宁波财经学院 浙江省宁波市 315175)
随着国家的实力越来越强,科技水平在生产力中所起到的作用也越来越大,同时,国家也在大力推行“制造强国”的国家战略,因此,智能制造将会是中国在21世纪发展的一个重要方面,它将会对未来的高端制造业的创新、节能和生产方式的改变产生巨大的影响。加速“校企”合作发展,是在新时代培育国家可持续发展新动力的必然要求,也是在未来相当一段时间内夺取中国在产业领域的领先地位的战略选择,也是推动中国制造业在供给侧变革方面取得新进展,塑造新的竞争优势的重要途径。机器人技术是智能制造领域的一个关键突破口,它在未来将会发挥出非常大的作用,随着近年来人工智能、图像处理和机器视觉等技术的快速发展,机器人技术在这一方面的应用和发展将会越来越广泛。
1 机器视觉技术的优越性
因为它能够迅速地获得海量的信息,并且容易进行自动处理,也容易与设计信息和加工控制信息相结合,所以它被广泛地应用到了现代化的自动化生产流程中,并被应用到了工况监视、成品检验和质量控制等方面。机器视觉技术的主要特征是增加了制造的灵活性和自动化[1]。在某些不适宜人为操作或人为因素影响较大的工作场所,通常采用机械视觉代替人工视觉;与此同时,在大规模的工业生产中,使用人工视觉来检验产品的品质,不仅效率低下,而且准确度也不高。而采用机器视觉的检测方式,能够极大地提升生产的效率和自动化水平。另外,由于机械视觉系统具有很好的信息整合性,因此它是实现微机一体化生产的重要技术。综上所述,伴随着机器视觉技术的不断完善与发展,可以预见,其在当今与将来的制造业中将会有更多的应用。
2 机器视觉深度学习技术的现状
智能机器的应用非常广泛,不仅在工业领域,在农业、医疗等领域也得到了很大的发展,并且针对不同的领域和功能需求,开发出了各种类型的智能机器,从而开启了自动化和智能化的新局面。机器视觉技术已经有了长足的进步,将深度学习技术引入到机器视觉中是一个重要的研究方向。就当前的机器视觉技术而言,它是在开发的过程中添加了各种传感器,可以对目标进行有效地识别,并由视觉处理器对目标进行分析、解读,最后将其转化为符号[2]。机器视觉着重于专门的视觉系统研究,以应用为主,并仅为完成一项具体任务而进行的有关景物的描述,并且在机械电子、汽车医疗等领域中,由于其功能的差异,其在机械电子、汽车医疗等领域得到了广泛的应用,而大部分的视觉技术都被用于检测,从而改善生产发展的各个环节。深度学习技术是一种基于机器识别功能的独特学习方式,它相对于传统的学习方式更加自动化、智能化,它的特点与人工设计的特点不同,它是基于大数据的自动学习。传统的手动设计方法主要是通过手动调节系统中的各种参数,但是这种方法在定量方面存在着很大的限制,很难实现更高层次的智能分析。而深度学习的研究对象是海量的数据,所以它的分析能力更强。
3 基于深度强化学习的机械臂控制研究
由于机器人的运动空间具有连续性,利用值函数增强学习进行机器人运动时,运动空间的离散会造成运动的不均匀性,但由于运动空间的不均匀性,使得运动空间的离散程度较高,因此,本项目提出了一种新的动态规划自适应遗传算法。因此,本项目拟以UR5 机器人为对象,以DDPG 为基础,通过改进经验重播和多目标学习等手段,来解决DDPG 算法在机器人运动过程中存在的样本利用率不高、收敛性差等问题[3]。
3.1 网络结构
提出了一种基于“状态一行为对”的动态决策模型,该模型将决策模型引入到动态决策模型中,并将动态决策模型应用到动态决策模型中。该方法利用摄像机拍摄的影像及接头的姿态信息,并将接头的控制参数作为接头的输出。在此基础上,首先对正、侧面摄像头拍摄的影像进行一系列的卷积、集束运算,提取影像特征,利用一个完整的连接层将其融合为一维,利用Concat 函数融合两个视角的联结,将两个视角的联结信息融合为一维,利用该联结层将两个数据融合为一维,将这两个数据融合为多个完整联结的联结,最终得到相应的联结结果。该方法将摄像机拍摄的图像、关节的角度信息以及关节的转动速度等信息,并将Q 值与该算法进行比较。在此基础上,利用基于决策网络的方法,将摄像机拍摄到的影像信息和运动信息融合为一维影像信息,并将其转化为一维影像信息,然后将两个信息融合为一维影像信息,再将两个信息融合到一个多层次的全连接网络中,进行Q 值的拟合。将观察到的影像与接合状态称为“状态s”,接合转动量为“运动”。在该策略网与该值网中,初始图片的尺寸是100x100x3,最大的一层是该网络的最大一层,并将其标记为“SAME”。其中,卷积层与总连通层分别使用线性整流函数(ReLu)作为激励函数,并使用Adam 最优算法对策略与值网络进行最小化。在整个联结层面,无论是在策略网还是在价值网,都使用了relu 函数作为联结的活化函数。
3.2 经验回放机制设计与改进
在此过程中,每个步骤的环境状况,完成的行动,得到的奖励,以及行动结束后的环境状况。在机械臂抓取作业中,把观察到的图像和关节角度信息当作环境状态,把关节转动量当作执行的动作,把观察到的图像当作100×100×3 的矩阵,把关节角度信息和关节转动量都当作6 维向量。基于经验播放的系统可有效解决系统中存在的数据相关性、非稳态等问题,但存在着存贮与取样方式的随机性,没有考虑到各经验样本的重要程度差异,导致仅凭随机取样,不能高效地获得对系统参数更新有较大贡献的经验样本[4]。为此,本项目拟采用TDerror 分类器和TD-error 分类器两种分类器的存储与取样方式,以提高样本的利用率,并加快算法的收敛性。在TD-error 方法中,采用了两个error 方法,对两个error方法中的所有数据进行了TD-error 方法的平均,并对两个error 方法进行了比较。
4 结合模仿学习和DPG算法的机械臂控制研究
4.1 模仿学习
由于奖赏的稀疏性,使得增强学习算法的开发受到了很大的阻碍。针对强化学习中的多步法选择问题,首先需要解决的是多步法选择问题,其次,由于个体在初始阶段很难获得积极的回报,使得模型极易陷入局部极值而不能有效地收敛到最优解;再者,由于样本利用率较低,行为与状态的高维连续,使得训练过程变得缓慢。模仿学习指的是在一定程度上对人的行为进行模拟,从而为个体提供对其所处环境的先验知识。模拟学习能够有效地克服增强学习中存在的数据利用率不高、算法不容易实现等问题,并能提高训练的安全性。其中,行为复制、逆强化学习、产生式对抗的模拟学习是当前模拟学习研究的热点。
行为克隆是一种最简单的模拟学习方法,它是利用专家的示范数据来学习状态与动作之间的映射关系,与有监督的学习方法相似。在此基础上,以“状态一行为对”为特征,以行为为标记,构建行为数据集,并利用回归算法进行策略建模,从而获得行为与状态的映射关系。然而,目前的研究主要集中在少数几个典型的实验对象上,但实验对象的数量较少,而且实验对象的获取费用较高,使得单纯的实验手段无法满足实际应用需求。反向强化学习是指在已知策略或者某些专家演示的情况下,反向推导出一系列的奖赏函数,使得智能主体能够在专家演示的指导下,学会对复杂问题进行决策,从而提高智能主体模拟专家的行为的能力。该方法既可用于离散控制,也可用于连续控制。产生式对抗模拟学习是基于 通过产生式对抗网络来产生与专家数据分布一致的收益函数,从而实现决策的直接抽取。在产生式对抗模拟学习中,将产生式、生成式对抗网络的生成者视为策略网络,由判别者对state 1 行为进行评分,以判别者的损失函数为奖赏,采用强化学习方法对策略网络进行更新[5]。
4.2 经验池引入专家数据的DDPG算法
现有的DDPG 方法主要采用基于随机初值的策略网络,在无先验信息辅助的情况下,仅能获得少量的高收益样本,且很难对模型进行有效的优化。为此,本项目拟采用修改初值的方法对DDPG 进行改进,并在此基础上,设计一种将专家数据纳入到经验池中的DDPG。将专家数据导入到DPG 中,首先将基于TD-error 尺度的专家数据存储到DPG 中,然后在DPG 的初始阶段,通过选择高收益的专家数据,对行动者和评论人网络进行优化,进而引导模型进行优化,提高模型的收敛性和收敛性。在此基础上,提出了一种改进的方法,即把收集到的专家数据,加入到一个经验库中,使得决策网络不再像以前那样盲目地寻找最好的决策。储存在经验池中的专家样本,在训练的早期,会发挥出绝对的引领作用,有助于网络的快速收敛,从而提高系统的性能。但是,随着训练的进行,这些专家样本会逐渐被策略网络产生的样本所取代。DDPG 算法会使用与环境交互产生的样本,来进行自主的探索,并对策略网络模型的参数进行进一步的优化,从而获得更大的性能提升[6]。
4.3 基于专家数据预训练策略模型的DDPG算法
该方法在学习之前,将专家样本加入到学习过程中,以引导神经网络的学习,从而提高了样本的使用率。然而,该算法的初始化具有随机性,不能根据具体问题特征或已有的先验信息进行辅助,只能通过增加专家数据的方式进行训练,因此,提高算法的性能是一个重要的途径。项目将首先采用专家数据对决策模型进行拟合,得到更加合理的初始决策模型,然后采用增强学习方法对其进行优化,从而降低个体和环境之间的相互作用,提高其收敛性。
4.3.1 预训练策略模型
在深度学习中,通常采用预先训练的方法。所谓的预训练,就是利用多个样本,对同一个或者不同的任务,进行训练,然后把训练出来的模型参数做为新的网络的一个初值。预训练可以缩短训练所需要的时间,缩短所需要的样本量,从而提高增强学习的训练效率。增强学习中常用的预训练方法包括:先从已有的算法中进行预训练;再从已有的算法中进行预训练;最后,基于样本轨迹的模拟学习。在此基础上,拟采用有监督的方式,通过对已有的专家数据进行训练,建立“状态-行为”之间的映射。在此基础上,利用一组高报酬的“状态-行动”匹配策略网络,建立一套更适合于增强学习算法的初始策略模型。我们将利用收集到的数据集,对网络中的策略进行训练,并以此为初值,将初值输入到强化学习中,并在此基础上,对已有的策略进行持续的、与环境的相互作用,最终实现对最优策略的优化。该方法所使用的网络结构和DDPG 中的策略网络是一样的。在该网络中,将该专家数据集中的状态S,当作该网络的一个输入,并将该行为a 当作输出。在学习策略网络的过程中,我们使用了一种自适应的矩阵估计量,使损失函数达到最小化。Adam 最优是一种针对深度学习的自适应学习率的最优算法,它能根据训练样本的变化,不断地调整神经网络的参数。Adam 法是一种改进的方法,它将适应梯度(AdaGrad)与RMSPorp 相结合,既可以通过二阶矩阵来确定合适参数的学习速度,又可以通过二阶矩阵的二阶矩阵来确定适当参数的学习速度。特别地,Adam 算法通过对每一批数据进行加权平均,从而估算出每一次迭代时间。Adam 方法易于实现,运算速度快,占用存储空间少,适合于处理大量的数据或参数问题[7]。
4.3.2 基于专家数据预训练策略模型的DDPG 算法
由于DDPG 中的数据是基于策略网络的,且初始参数的选择是随机的,这就造成了初始值存在较大的随机性,使得初始值存在较大的随机性,从而影响了模型的收敛性,严重时可能会出现局部极值,从而阻碍了模型的进一步学习。为解决该问题,本项目拟从决策网络的初值产生方法入手,研究决策网络的初值产生方法,并在此基础上,研究决策网络的初值产生方法。该方法利用专家数据对策略模型进行预设,并利用已有的策略网络对其进行初始化,并利用该初始化的策略网络对其进行初始化,从而得到最优的控制策略。DDPG 方法是在初始化之前,先利用策略网将样本库中的样本库加入到样本库中,直到样本库被填满,才进入初始化阶段。通过对初始策略网络进行预训练,使得其参数不是随机产生的,从而能够更精确地预测出未知状态下的行为,从而使得更多的高收益样本被填充到经验池中;同时,能够为DDPG 的早期训练提供一个更合理的值网络,从而提高其收敛速度。
5 机器视觉深度学习技术的应用
5.1 图像识别
机器视觉的深度学习技术在图像识别上得到了比较普遍的应用,其中最具代表性的就是在2012 年,一个名为ImageNet 的比赛引起了巨大的轰动。这个比赛在计算机视觉领域非常有代表性,它是通过从互联网中提取图片来进行测试,并且是将众多图片分成了一千个类别。
这个实验因为其精确性高,在社会上掀起了轩然大波,并推动了深度学习的发展。由于采用了大量的数据,该方法的特征显著地超过了过去人工设计的方法,大大提高了机器方法的推广能力。尤其是目前IT行业的运用,大量的搜索引擎成为了该技术的一个主要应用领域。特别是在机器视觉和深度学习的技术方面,比如在公开领域,利用人脸识别技术进行身份确认、图像检索等,这对各个方面的事业发展都有很大的帮助。
5.2 安防行业的应用
以目前最常用的实例为例,以汽车牌照识别为代表的深度学习技术在机器视觉中的应用。在一个固定的检查站,采用技术方法,可以使汽车牌照的准确率达到98%到99%。其基本原则是,在检查站和牌照的位置都是固定的,这样就可以很好的辨认出来,尤其是因为牌照的号码是由特定的数字和英文构成的,比较好辨认。
相比于车牌识别,人脸识别技术的难度要高一些,但它也是安保行业中使用最多的一种,它的识别原理主要是利用人脸检测来与人脸数据库进行比较,这也是在大数据的基础上,将电脑中高达六千张人物的图片作为参照,包括“不同方向、不同表情以及不同光线情况”下的照片对比,然后对测试系统进行确认,系统会在测试结果的基础上,给出一个肯定或者是否定的答案,并且准确率高达99%。不过,以上的测试结果,都是以六千张照片为基础的,如果是以数十万张照片为基础的,那么测试的精度就会降低,比如,如果是以十万张照片为基础的话,那么测试的精度就会降低20%。除了可以对面孔进行识别之外,机器视觉的深度学习技术还可以用于对移动目标的跟踪和监控。特别是现在,随着智能检测技术的发展,越来越多的摄像机设备中都被安装了这种智能模块。通过对摄像机芯片的加强,不但可以有效地提高设备的技术水平,更重要的是,该技术现在已经变成了安防行业的标准装备,所以,它的机器视觉深度学习技术的应用也就变得越来越普及。
6 结束语
机械臂在社会的方方面面都有重要的应用价值,而深度学习方法在未知、非结构化的环境下有着很好的控制性能,将其与机械手的控制方法有机地融合在一起,将会有很大的发展空间,这将会是一种非常有前途的方法,这将会是一种非常有实际意义的方法。本项目将重点研究一种新的基于DDPG 的机器人手持机器人手持控制方法,并以此为基础,对其进行进一步的改进与优化,将多目标学习与模拟学习相结合,并将其应用到机器人手持作业中,最后通过试验来检验所提出的两种算法的学习效果。