您好, 访客   登录/注册

基于深度学习的室内简单环境寻路算法

来源:用户上传      作者:

  摘 要:室内导航寻路是物联网智能家居的一个重要应用场景,文中设计了一种基于深度学习的室内简单环境寻路算法,包括物体捕捉与追踪、周围环境感知、路径规划、抓取返回四个重要过程。其中,捕捉与追踪采用TOP技术对目标进行标注与距离判断。周围环境感知采用神经网络深度学习方法,通过训练并自我对弈对网络进行激励,从而不断更新网络,在路径规划的栅格法中寻求最优路径。抓取返回过程采用垂直下落抓取方法并对栅格进行最短路径计算,从而以最短路径返回,完成全过程。
  关键词:移动机器人;寻路算法;深度学习;神经网络;路径规划;环境感知
  中图分类号:TP39 文献标识码:A 文章编号:2095-1302(2020)04-00-04
  0 引 言
  自物联网技术提出以来,寻路算法便成为智能化的重要研究方向。自动寻路的目的是为了让物体能够在给定或任意区域中,通过算法躲避障碍,前进到最终目的地执行目标。寻路算法的核心是躲避障碍和最优路径的选择,通过计算快速、准确到达目的地。
  本文尝试将深度学习、神经网络引入自动寻路算法中。寻路过程分为目标物体捕捉与追踪、机器人周围环境感知、路径规划、抓取物体四个部分,具体如下:
  (1)在目标物体捕捉过程中使用OpenCV转换涂抹区域,通过归中算法追踪目标;
  (2)在机器人周围环境感知中引入深度学习和神经网络技术,输出判断可用路径的条数并不断对自身进行训练,提高判断准确度;
  (3)在路径规划中采取栅格法,不断搜集存储更新当前已获取的信息,从而进行最优路径判断;
  (4)在抓取物体过程中,采取最有兼容性的垂直下落抓取方式。
  根据此思路设计了室内简单环境寻路并自动抓取物体返回的算法系统,最终验证了此系统的可行性。
  1 室内简单环境下的寻路算法
  1.1 算法的应用场景
  本算法适用于简单的室内环境中带有目标的寻路场景。例如大学生机器人大赛或水中机器人竞赛等障碍物简单、场地相对开阔、目标物体位置明显且在一定高度始终可视的场景下,可应用在移动机器人与机械臂的组合结构上,结构示意图如图1所示。
  1.2 算法研究现状
  迄今为止,对于室内寻路算法的研究主要集中于探讨两大课题。一是对室内路径规划系统的研发,以室内感知系统、智能教室为典型代表;二是通过移动机器人实现室内寻路的任务,该领域的研究重点在于对机器人本身性能及算法的不断改进,而对于寻路算法的功能完善相对滞后。
  在寻路算法中,最符合室内系统需求的是基于图论的图搜索算法,即从初始位置到目标位置进行搜索的算法。当今,与寻找路径相关的算法约有17种,有学者对其中的若干寻路算法进行了科学实践,而测试结果表明,有三种算法具有相对更好的可行性,分别是TQQ算法、DKA算法与DKD算法。
  室内寻路算法研究的改进在一定程度上改善了室内寻路系统中对于最优路径选择的问题。但值得注意的是,室内寻路算法需要满足不同应用环境下不同的应用需求,作为应用系统的支撑。因此,研究者很大部分能够对典型或具体的环境提出最优算法,但是在实际系统的应用过程中仅占少数,其原因在于设计会受到不同环境及其他限制条件的约束,所以寻路算法还有待研究出更加完善的路径寻找方式。根据以上所述,本文利用神经网络与深度学习对室内最优路径算法进行优化处理,使之能够应用于室内服务机器人上。相较于原有的寻路算法,该算法拥有更强的可靠性与鲁棒性。
  2 算法总体设计思路
  本算法分为目标物体捕捉与追踪、机器人周围环境感知、路径规划、抓取物体。算法流程如图2所示。
  首先,通过设置在机械臂上的景深镜头依靠用户在APP上的手动涂抹来捕捉目标物体,之后使用归中算法对目标物体进行实时追踪,确定机器人与物体的相对位置,并判断目标物体周围环境状况,如图3所示。
  其次,通过设置在移动机器人上的景深镜头拍摄机器人周围的全景图片并处理为深度图像,使用神经网络来判断场景下的可能路径数量及各路径的方位。
  之后,使用A*或栅格等寻路算法,通过收集到的信息进行路径规划。
  最后,当目标物体进入机械臂的抓取范围时,操作机械臂抓取物体。
  3 算法具体设计思路
  3.1 物体捕捉与追踪
  物体捕捉与追踪是系统确定目标物体的过程,通过设置在机械臂上的景深镜头依靠用户在APP上的手动涂抹来捕捉目标物体,之后使用归中算法对目标物体进行实时追踪,以达到确定机器人与物体相对位置并判断目标物体周围环境状况的目的。步骤如下所示。
  (1)将用户涂抹的区域使用 OpenCV转换为一个矩形方框[1],使用归中算法确保配合摄像头移动,使目标物体始终位于摄像头拍摄的画面中心,获得机器人与目标物体的相对方向d。
  (2)获得摄像头拍摄的深度图像及目标物体与相邻环境的颜色深度差df,如图4所示。
  (3)记录d和df以备后续使用。
  在第(3)步中使用景深镜头[2]来拍摄深度图。景深是指相机对焦点前后相对清晰的成像范围。景深的提取有多种途径,主要有基于双目视觉提取景深和利用测距设备获取深度信息,即TOF技术。前者通过摄像头对同一场景在不同角度进行拍摄,获取两幅具有视差的图像,并进行摄像机标定与图像的预处理后,通过立体匹配图像间的视差信息,结合标定数据将视差转化为现实世界中物体的深度信息。后者通过发射光线并接收反射光线实现深度信息的实时提取。这种方法原理简单,测距速度高,同时可以避免阴影与遮挡等问题,但相对的,对信号处理系统的时间分辨率要求较高。為提高测量精度,一般情况下,实际的飞行测量系统采用时间调制类别的光束。在实际对比两种方法的适用性后,选用双目视觉提取景深的技术,利用带有景深摄像头的 iPhone实现这一功能,通过调用AVFoundation框架生成深度图像。   首先利用机械臂上已有的景深摄像头获取当前对应的环境颜色值与深度值,所获取的图像要确保目标物体处于画面的中央位置,将摄像头获取的图像信息传输到操作者的手机上,进而利用操作者手机上预先编写好的应用程序对目标物体进行涂抹,使得目标物体的RGB值、深度值与周围环境有明显差别,始终保证目标物体处于摄像头视野的中央位置。在小车行动过程中,机械臂上的景深摄像头始终对准目标物体,面向方向始终与目标物体所在位置保持一致,以有效保证小车每次行动都朝向目标物体移动,在一定程度上确保小车移动方向的准确性。
  3.2 机器人周围环境感知
  仅仅获取了机器人和目标物体之间的方位信息并不能有效规划路径,还需要获取机器人周围的环境信息。在本算法中,使用了卷积神经网络来获取小车周围的可用路径条数。使用卷积神经网络判断可用路径的优点在于:它可以模拟人类大脑对事物进行主观学习,从而避免人工标定特征带来的局限性,降低编写程序过程中对图像处理所需专业经验的依赖[3]。
  近年来,由于高算力GPU对深度学习的训练和推理提供了强大支持,使得在特定领域模拟人类学习的过程成为可能。如今基于强化学习开发的系统已经在图像识别领域取得了较大突破,使人们认识到,在图像处理领域,人工智能已经可以按照设定的要求进行自我学习。其本质是自始至终地训练同一个神经网络,在不断试错的过程中自我提升。
  3.2.1 神经网络结构
  神经网络p=f (s)的输入是景深摄像头拍摄的360°全景深度图像,将图像转换为二维向量,输入神经网络。
  网络是18层卷积神经网络,分别使用3个具有32个3×3过滤器、3个具有64个3×3过滤器、4个具有128个3×3过滤器、4个具有256个3×3过滤器的卷积层,然后添加一个ReLu激活函数以增加网络间的非线性关系,使用1個具有4个1×1过滤器的卷积层,通过一个大小与输入一致的神经元全链接层,使用softmax函数计算出棋盘上每个像素是可行路径的概率。这样的网络对于笔者现有的设备来说,可以达到较快的训练和预测速度。
  优化器使用AdamOptimizer[4]。其中,学习速率通过每一次预测后与预先给出的样本通道位置对比后的结果精准程度进行动态调整,这样能够比固定学习速率的输出更准确。AdamOptimizer的更新规则如下:
  (1)
  参数设定见表1所列。
  3.2.2 神经网络的训练方法
  在本算法中,笔者基于强化学习的方法,依靠自我对弈从始至终训练同一个神经网络。强化学习模拟生物在特定环境中,在给定奖励或惩罚的刺激下实现自我学习的过程[5]。
  在训练过程中,输入的每一组深度图都带有预先标定的可行通道位置,在每次预测后,对比神经网络的预测结果,对在通道范围内的预测进行激励。笔者给出的奖励信号见
  表2所列。
  使用结果反向传播更新网络。其中,损失函数选择平方损失,其优点是计算较为方便,计算过程中使用的欧氏距离是一种很好的相似性度量标准,在不同的表示域变换后特征性质不变。
   (2)
  式中:Y为真实值;X为预测结果。
  3.3 路径规划
  本文采用栅格法[6]进行路线规划。
  问题的重点在于如何使小车在保持一定效率的同时实现小车随机游走和路径规划两种方案的实现,而非将整个屋子走过一遍从而到达目标位置,并在取得物品后对比总路径,选择总路径最短的路线返回,从而得到相对高效的方式。
  环境与系统实现的前提如下:
  (1)房间的障碍物位置情况不可知,空间为扫地机器人的数倍以方便有足够的空间进行移动与机械臂回旋;
  (2)小车行走地面光滑,只允许有随机设置的障碍物存在,防止外界因素干扰;
  (3)小车前进速度匀速,与方向结合判断当前位置与目标间的距离;
  (4)小车转向时可在不干扰机械臂摄像头的情况下自我旋转360°;
  (5)扫地机器人在运行之前会得到房间的地图和自身位置;
  (6)假设机器人的初始位置在坐标原点(使用者)处。
  节点与规划地图的方法如下所示。
  (1)选择将屋子进行栅格化,并将栅格中每一个理论上可到达的栅格作为一个节点。
  (2)如图5所示,首先在房间内随机放置障碍物,将栅格模型抽象为标识矩阵,矩阵对应位置的标记表示栅格对应位置的状态,0表示当前节点位置;1对应该节点位置无障碍物可正常到达;2表示对应位置存在障碍物不可到达。
  (3)小车搭载速度传感器,可借由速度传感器时刻记录小车速度与目标方向,并计算自己走过的路径长度与目标间的距离,从而获悉自己当前所在节点位置信息。
  小车搭载景深摄像头,可以360°扫描全景,判断周围四个方向的节点上是否存在障碍物,并输入至神经网络,记录当前节点信息,判断完毕后选择与目标间距离最短的节点方向前进,随后每到一个新节点便扫描周围节点并更新节点信息,进而使用深度优先搜索算法按照离目标最近路线不停探索,实现地图栅格信息的确认。最后记录小车走过的路径与路径长度,自动规划地图,到达目标后地图便初步设置完成。随着目标位置的改变可多次使用,逐渐补充位置节点信息。重复以上过程即可完成路径规划。
  3.4 抓取物体
  到达固定位置后,此时机械臂上的摄像头采集到的景深距离等于或小于规定可抓取范围,且待抓取物体已处于机械臂下方,利用转轴将摄像头调整至目标物体正上方,采取垂直下落式抓法,判定抓取到目标物体后抬起机械臂,之后按照小车已规划好的地图进行最优路径判断,根据最优路径返回至起始点。抓取流程如图6所示。
  景深距离判断:设置全局变量可抓取范围,并实时判断与目标物体的距离,一旦接近便下达停止移动命令。   抓取物体过程:如图7所示,根据固定程序,利用转轴将一号摄像头向下转动,并时刻根据算法判断是否转动至与地面垂直或与目标物体、机械爪处于同一直线,之后传递命令给机械臂,机械爪垂直向下运动,利用固定程序判断机械爪可伸缩范围内是否抓取到目标物体,控制机械臂带着目标物体一起向上升起,直至无法升起后,传递命令给小车,准备返回。
  返回过程:Dijkstra算法[7]是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法的主要特点是以起始点为中心向外层层扩展,扩展到终点为止。適用于返回最优路径中的单源最短路径。利用小车行进过程中的地图进行最优路径规划,采用Dijkstra算法进行无向图最优路径计算,之后按照最优路径控制小车返回原点。
  4 实验结果与分析
  本实验将寻路过程分为目标物体捕捉与追踪、机器人周围环境感知、路径规划、抓取物体四个部分。
  深度学习与神经网络相结合引入自动寻路算法。通过景深摄像头完成对物体的捕捉和追踪及周围环境的感知,对目标进行标注与距离判断后采用神经网络深度学习方法,通过自我对弈来激励网络不断更新。
  路径规划方面采用栅格法寻求最优路径,记录当前地区位置信息,之后采用垂直下落抓取方法抓取目标,以最短路径返回。
  据此思路设计了室内简单环境寻路并自动抓取物体后返回的算法系统,最终小车可按照计划成功到达目的地并抓取目标返回,同时还在内部生成了地图的大致信息,结果较好地验证了系统的可行性。
  5 结 语
  当今社会上自动智能机器人逐渐普及,要使得机器人能在不同的环境(比如室内家庭)顺利完成动作,需要将各种情况考虑在内。本文提出利用深度学习使得机器自主学习。以神经网络为基础,方便机器人在变化的环境中执行相同任务时,可以通过对环境的自我多次尝试来实现使用者的目的,并制造出一个能判断环境后自主规划前进路线并完成交代任务的神经网络。利用智能小车搭载机械臂,通过自然语言交流、机器视觉探知周围环境的模式,自动抓取用户需要的物品,未来可采用可调节高度的小车做进一步完善。
  参考文献
  [1]刘培军,马明栋,王得玉.基于OpenCV图像处理系统的开发与实现[J].计算机技术与发展,2019,29(3):127-131.
  [2]韩芳芳,段发阶,王凯,等.机器人视觉检测系统中相机景深问题的研究与建模[J].传感技术学报,2010(12):1744-1747.
  [3] SIMONYAN K ,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[Z].arXiv preprint arXiv:1409.1556,2014.
  [4]崔广新,李殿奎.基于AdamOptimizer自编码的手写数字识别研究[J].佳木斯大学学报(自然科学版),2018,36(3):363-366.
  [5]刘建,黄娇洁.一种算法对于深层神经网络训练速度的提升[J].电脑知识与技术,2019,15(24):207-209.
  [6]刘梅.基于栅格化视觉的机器人路径优化研究[J].计算机与数字工程,2018,46(8):1548-1552.
  [7]孟庆伟,张冬姣.基于Dijkstra最短路径算法的优化及应用研究
  [J].电子商务,2014(12):60-61.
  [8]高欢斌.基于深度学习的室内定位算法研究[D].成都:电子科技大学,2016.
  [9]杨伊璇.基于深度学习的蜂窝信号室内定位算法[J].中国电子科学研究院学报,2019(9):943-947.
  [10]单明媚,王华通,郑浩岚,等.视频运动目标跟踪算法研究综述
  [J].物联网技术,2019,9(7):76-78.
转载注明来源:https://www.xzbu.com/8/view-15208405.htm