基于视觉特征捆绑和强化学习理论的避障机器人的制作方法
【技术领域】
[0001] 本发明为基于视觉特征捆绑和强化学习理论的避障机器人,该发明利用视觉特征 捆绑和强化学习理论,基于卷积网络和图像匹配技术,融合深度图像信息,学习复杂环境的 先验知识,基于特征捆绑机制,并将结果反馈到避障机器人的避障中,智能、快速、高效、准 确地做出决策。 2.
【背景技术】
[0002] 为了实现视觉特征捆绑理论在现实生活中的应用,尝试为机器智能提供认知基础 和参考模型,本发明在基于PCNN的视觉图像分割技术、卷积神经网络(CNNs)模型、基于灰 度的图像匹配技术、基于CNNs的图像识别技术等基本理论方法的基础上,尝试了多种理论 方法的不同组合,并据此发明了基于视觉特征捆绑和强化学习理论的避障机器人。
[0003]随着人工智能领域的不断发展,越来越多的机器学习算法应用于传统的控制领域 中,无论国内还是国外都在积极地探索将机器学习理论应用于生产实践中,相比之下国外 研宄机构对机器学习的应用远超过国内。无论是在机器人领域,还是计算机视觉领域或语 音识别领域中,机器学习理论都发挥着重大的作用。
[0004]本发明尝试用避障机器人携带Kinect视觉传感器,在行进过程中捕捉前方路况, 并在相应前方路障位置放置手写1位阿拉伯数字,由传感器捕捉此标识,并实时传递给远 端处理器。处理器在图像匹配、图像识别的基础上,智能识别出数字内容,并将此前编辑的 数字所对应的相应控制指令,实时传递给继续行进中的机器人,来控制修正进一步的行进 参数。而此处的手写数字,本发明采用的MNIST手写数据集。当然,如何能够快速的捕捉, 实时地测距,及时的反馈,这是复杂的应用过程。本发明主要利用Kinect的深度摄像头,提 取深度数据,得到图像相对机器人之间的距离,实现了在捕捉到实时图像后,智能地截取需 要的图像位置,快速准确地识别出图像内容,并及时将该图像代表的控制指令传递到避障 机器人的控制模块。 3.
【发明内容】
[0005]本发明采用MNIST手写数据集,并对0-9这10个数字分别赋予不同的控制信号含 义,利用Kinect传感器采集复杂环境中运动距离包含手写数字的RGBD图像,通过灰度化处 理,采用PCNN的图像分割技术,创建输出的图像矩阵,并进行图像匹配,之后将匹配过的图 片二值化处理,并代入已训练好的图像识别模型,最终判定传感器前方的数字,并将相应的 控制信号传给机器人控制端。附图2给出了该发明的基本流程。
[0006] 3. 1基本环境
[0007] 发明初期,基本确定了 2种环境配置,并从中选优,确定了最终的实验环境。
[0008] 3.I.IVS2013+KinectSDK+OpenCV:
[0009]KinectSDK为微软官方库,其主要是针对Wind〇ws7设计,内含驱动、原始感测数 据流程试开发接口、自然用户接口、安装文件等部分。该工具包的优点如下:
[0010] 1)提供视频支持;
[0011] 2)能调整倾角的转动电机。
[0012] 之所以没有最终采用是因为对于本实验来说,其具有如下缺憾:
[0013] 1)只提供了部分接口,有些地方进行了封装,难以进行二次开发,限制了很大一部 分功能的开发与扩展;
[0014] 2)微软对非商业使用的限制;
[0015] 3)该工具包在语言上与OpenCV不兼容;KinectSDK主要支持C#,在一定程度上 弱化了C++。而OpenCV主要支持C++。
[0016] 3.I. 2VS2013+0penNI+0penCV:
[0017]OpenNI是一个多语言,跨平台的框架。它定义了编写应用程序,并利用其自然交互 的API。该工具包可以克服微软所提供官方工具包的一些缺点,更适用于本实验。由于其所 使用语言与OpenCV的高度兼容,使得实验工作量减少许多,成为本实验开发环境更适合的 选择。
[0018] 最终使用如下环境配置及实验流程。
[0019] l)Kinect :Kinect传感器初始化,如果附图3所示,开始采集图像。
[0020] 2)OpenNI:提取KinectRGBD图像(即得到每个像素点的深度值)。
[0021] 3)采用PCNN对灰度图像进行图像分割和二值化处理。
[0022] 4)0penCV:将图像转换成灰度图像,利用其模板匹配方法,寻找到合适的匹配区 域。
[0023] 5)OpenNI:在整个深度图中结合第二步中所提取坐标,进一步得到更加精确的具 体目标的深度值。(用于确定机器人在距该目标多远处发出某个行动。)
[0024] 6)基于Python的Theano库:将目标区域所截的符合输入的图片送至卷积网络进 行卷积匹配,得到预先约定的控制机器人行动方式的信息。
[0025] 3. 2丽1ST手写数字图像数据集
[0026]MNIST数据集由NISTSpecialDatabase3 和SpecialDatabase1 构成。NIST 数据库最初构建时采用SD-3作为训练集,而将SD-I作为测试集。但是由于SD-3采集于美 国人口调查局(CensusBureau)的员工,而SD-I则采集于美国高中学生的手写数据。所以 SD-3相比于SD-I更加清楚且容易辨认。为了使得训练结果和测试结果能更加独立于其所 采用的数据集,LeCun综合了这两个数据集的特点,构建了MNIST数据集。MNIST中的训练 集选用了SD-3和SD-I中的各30, 000个样例,抽选的60, 000个样例来自于大约250个不 同的个体的手写数据,并且保证了测试集和训练集的数据来自于不同的个体。同样,测试集 也选用了SD-3和SD-I中各5, 000个样例。
[0027] 丽1ST数据集中的所有图片都经过了尺寸标准化和中心化,每张图片的大小为 28X28。数据集中部分数字的图像见附图4和附图5,从图中可以看到,手写数字中相同标 签下不同图像之间还是有很大差异的。
[0028] 3. 3基于像素灰度值的图像匹配算法及其改进
[0029] 为了寻找合适的图像匹配方法,本实验尝试了多种图像匹配方法,并分别予以测 试,最终确定了采用序贯相似度检测算法(SSDA)的图像匹配改进算法。现将尝试失败和成 功的方法分别描述如下。
[0030] 3. 3. 1边缘点检测法
[0031]图像的边缘是图像最基本的特征。所谓的边缘即指在其周围像素灰度有阶跃变化 或屋顶变化的那些像素的集合,即指图像局部强度变化最显著的部分。边缘广泛存在于目 标与背景、目标与目标、区域与区域之间,蕴含了丰富的内在信息(方向、阶跃性质、形状等 等),是图像分割、纹理特征、形状特征等图像分析的重要基础。该方法能勾画出目标物体, 使观察者一目了然,是人们对图像最感兴趣的特征之一,所以,也是最容易想到的感兴趣区 域提取办法之一。
[0032]针对于本实验,其实验效果不佳导致最终没能采用的原因如下:
[0033] 1)该方法基于图像的灰度值展开计算,灰度值的测量很大程度上依赖于光线的强 弱,对光照条件要求甚高。本实验的实验环境多种多样,对光照条件不进行限制。由此,很 难以获得正确灰度值,从而难以据此计算准确边界值,给实验带来一定误差。
[0034] 2)对于边缘点检测的各种算法,都需要遍历所有的像素点。由于该实验目的为通 过提取图像感兴趣区域,从而依据该区域的特征进行实时控制机器人的下一步去向,对时 间要求严格,而实验采集的图片大小为640*480,经过一次完整遍历所需时间已远远不能满 足实时性的需求。不仅如此,必须经过完整的遍历也使得计算量增加,不利于实验之后的拓 展。
[0035] 3)在处理灰度值方面,对于灰度阈值的设定也给最终结果带来严重影响。还需前 期进行阈值选取的实验,大大增加实验工作量。
[0036] 4)该方法仅仅能实现边缘的检测,即便是能正确地检测出各个边缘,但也难以保 证改边缘所围成的区域即为本实验感兴趣区域。不仅如此,该方法还可能检测出多