一种基于机器视觉及机器学习的机器人导航方法与流程

文档序号:14686161发布日期:2018-06-14 23:35

本发明属于机器人领域,涉及机器人运动控制、机器人室内外导航及计算机技术,尤其涉及一种基于机器视觉及机器学习的机器人导航方法。



背景技术:

随着机器人技术的不断发展,智能移动机器人已经进入社会生活的各个领域,在家庭服务、医疗服务、商场、工业、农业及军事等领域发挥着越来越重要的作用,人们对智能移动机器人的需求也与日俱增。自主导航作为智能移动机器人研究中的基本问题,已成为移动机器人实现自主化及智能化的关键技术。

近年来,许多移动机器人平台层出不穷,其性能也非常优越。人们结合Kinect、激光雷达、以及传统的IMU等传感器展开了大量的理论及应用研究,涉及机器学习、多传感器信息融合、地图创建、导航与探测等,而在这些研究方向中,自主导航问题是其中最重要的基本问题。于是,许多机器人室内自主导航技术应运而生,包括超声波、地图创建、WiFi定位、机器视觉、RFID定位、神经网络及模糊控制等等。但因为这些技术对机器人的配置、环境、参数设置等依赖性很强,并不能应用于大多数移动机器人。

机器人导航环境较为复杂,现有的导航方法主要针对特定环境、一定的机器人配置(机器人配置双目视觉、三目视觉、全景摄像头、激光雷达等传感器)、简单的动态环境等等,而且大部分的实验主要通过仿真验证。由于机器人的机械结构、硬件配置各不相同,环境也复杂多变,各种导航方法一般只对特定的环境比较有效,目前为止还没有适用不同环境的通用的导航方法。



技术实现要素:

针对现有技术中存在的不足,本发明提出一种基于机器视觉及机器学习的机器人导航方法。所述方法将机器视觉与机器学习相融合,使机器人可以通过模仿学习机器人操作者的行为实现自主导航。

为实现上述目的,本发明采用如下技术方案。

一种基于机器视觉及机器学习的机器人导航方法,包括以下步骤:

机器人受控运行时,记录摄像头获得的每帧视频图像,以及所述每帧视频图像对应的控制命令;提取所述每帧视频图像对应的视觉特征向量;将所述每帧视频图像对应的视觉特征向量、及所述每帧视频图像对应的控制命令作为分类器的训练数据集;计算所述分类器的最优权向量并存储;

机器人自主运行时,实时地提取摄像头获得的每帧视频图像的视觉特征向量,所述分类器根据所述视频图像的视觉特征向量和所述最优权向量计算输出控制命令,控制机器人实现自主导航。

作为本发明的最佳实施例,所述分类器为最小误差平方和分类器,所述最小误差平方和分类器通过求解使代价函数最小的最优权向量得到;所述最优权向量对应导航控制策略。

作为本发明的最佳实施例,采用DAGGER方法,机器人多次受控运行,在第1次受控运行时按照控制命令运行,在第n(n>1)次受控运行时,依据导航控制策略运行,所述导航控制策略是根据n-1次运行时得到的全部所述训练数据集得出的最优权向量。

作为本发明的最佳实施例,所述每帧图像对应的视觉特征向量由Laws’模板特征向量、Radon特征向量和Harris角点特征向量组成。

本发明的实施例提供一种提取Radon特征向量的方法,包括以下步骤:计算图像强度信号在多角度下的Radon变换,组成多维特征向量,再进行归一化处理得到Radon特征向量。

本发明的实施例还提供一种提取Laws’模板特征向量的方法,包括以下步骤:分别计算图像强度信号、图像色差信号与Laws’模板的卷积结果图像;积分计算各个所述卷积结果图像的纹理能量值,得到的多个纹理能量值组成一个多维的Laws’模板特征向量。

本发明的实施例还提供一种提取Harris角点特征向量的方法,包括以下步骤:求图像强度信号在每个像素处的梯度,构建实对称矩阵,求所述实对称矩阵的特征值及其对应的特征向量;将0°~360°划分为多个角度区间,并定义一多维向量,所述多维向量的每一个元素对应于一个所述角度区间;计算每个特征向量的方向角,将所述特征向量的特征值累加于所述方向角所在角度区间所对应的元素的值;再进行归一化处理得到Harris特征向量。

本发明与现有的技术相比具有以下优点:

本发明所述导航方法不需要建立复杂的环境模型或机器人的运动控制模型,仅仅通过机器人对专家(或机器人操作者)的模仿学习就能够实现机器人在不同环境及复杂环境下的自主导航。

本发明所述导航方法中的机器人对环境的探测主要依赖于视觉特征信息,所以本发明的方法不仅适用于机器人室内导航,同样适用于机器人室外导航。该方法不仅能够应用于移动机器人,同样可应用于人形机器人、机械臂及无人机等,通过对它们的操作训练,使它们能够模仿人的行为完成各种任务。

附图说明

图1为机器人硬件平台框图;

图2为基于机器视觉及机器学习的机器人导航方法流程图;

图3为图像的Radon变换示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面结合附图及具体实施方式对本发明做进一步详细说明。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本发明所涉及的机器人硬件平台如图1所示,主要包括以下部件:

上位机:例如使用笔记本电脑,主要运行机器学习算法及视觉图像处理算法。

机器人操作手柄:用于专家遥控机器人运行。

摄像头模块:以每帧图像的形式,通过摄像头获得机器人环境的实时视觉信息。

机器人嵌入式系统控制单元:该单元是机器人的核心单元,负责机器人整个系统的协调运行。嵌入式系统控制单元与上位机以串口方式双向通信,一方面,嵌入式系统控制单元接收上位机处理得到的机器人控制命令信息;另一方面,嵌入式系统控制单元将机器人的相关状态信息反馈给上位机。

红外避障传感器模块:探测机器人前方的障碍物。

电子罗盘传感器模块:检测机器人载体与真北向的夹角,随时掌握机器人的运动方向。

显示模块:用LCD显示机器人的运动状态信息等。

电机驱动模块:用于驱动机器人上的步进电机。

电源管理单元:机器人载有24V锂电池,而机器人各个模块的供电有12V、5V及3.3V,所以需要对24V进行电压转换,以保证各个模块稳定工作。

一种基于机器视觉及机器学习的机器人导航方法,其流程图如图2所示,包括以下步骤:

步骤100,机器人模仿学习。具体包含以下步骤101-103。

步骤101,收集模仿学习样本数据。

机器人在专家(或操作人员)操控下从起点运行至目标点。机器人在运行过程中,实时记录机器人上的摄像头传感器获得的视频图像,以及每帧视频图像下专家发送给机器人的控制命令。

步骤102,提取视觉特征向量。

提取所记录的每帧视频图像的视觉特征,得到每帧视频图像对应的视觉特征向量。

步骤103,训练分类器。

将每帧视频图像的视觉特征向量、及所述每帧视频图像对应的机器人控制命令作为分类器的训练数据集,计算所述分类器的最优权向量并存储。

步骤200,机器人自主导航。

在机器人自主运行时,提取机器人获得的每一帧视频图像的视觉特征向量,并将提取的视觉特征向量发送给步骤103训练得到的分类器,所述分类器根据所述视频图像的视觉特征向量和所述最优权向量计算输出一个机器人控制命令,机器人执行该控制命令实现自主导航。

本发明所述视频图像,是指机器人在模范学习过程中或自主导航过程中实时记录的图像。

作为本发明的一个最佳实施例,采用DAGGER方法,机器人在专家操控下第1次运行时,以专家的控制命令运行,收集“图像—控制命令”对构建数据集D;第2次运行时,以导航控制策略运行,收集“图像—控制命令”对并添加至所述数据集D中,所述导航控制策略是根据第1次运行时得到的数据集D训练出的一个能够模仿专家的导航控制策略;第n次运行时,以导航控制策略运行,收集“图像—控制命令”对,并添加至所述数据集D中,所述导航控制策略是根据n-1次运行得到的全部数据集D训练出的一个能够最好模仿专家的导航控制策略,n为运行次数。所述导航控制策略就是根据所述训练数据集得出的最优权向量。

无论是专家操控机器人运行还是机器人执行当前学习的策略自主运行,为了收集模仿学习的样本数据,机器人先记录运行过程中摄像头获得的视频图像,所述视频图像中的每一帧都会对应一个专家的控制命令。当机器人到达终点时,将所述视频图像中的每一帧分离,并为每一帧图像关联专家的控制命令。

按照DAGGER算法的流程,第一次样本数据收集时,专家操控机器人进行导航演示,将机器人记录的视频图像中的每一帧分离,并为每一帧图像关联专家的控制命令组成数据集D。下一次样本数据收集时,重复上述视频图像处理过程过程,机器人记录专家发送的命令而不执行,机器人执行的命令是基于数据集D学习的策略推断得出。将机器人在策略下运行收集的样本数据添加至数据集D,并且对n进行加1操作。

作为本发明的一个最佳实施例,每帧图像,包括视频图像或视频图像,对应的视觉特征向量由Laws’模板(或纹理模板)特征向量、Radon特征向量和Harris角点特征向量中一种或多种特征向量组成。

本发明的实施例提供一种提取Radon特征向量的方法,包括以下步骤:计算图像强度信号在多角度下的Radon变换,按所述角度的顺序组成多维特征向量,再进行归一化处理得到Radon特征向量。

例如,将机器人采集的实时图像从RGB空间转换到YCbCr空间,其中Y代表强度通道,Cb和Cr代表颜色通道,大部分纹理信息包含在强度通道Y的变化中。以IY(x,y)、ICb(x,y)和ICr(x,y)分别表示机器人实时图像在YCbCr空间中的Y通道图像强度信号、Cb通道图像色差信号和Cr通道图像色差信号。对于Radon特征,参考图3,图像强度信号IY(x,y)的Radon变换是沿y′轴的线积分,也即在x轴上的投影。θ表示新坐标系与原坐标系的夹角,ρ表示对应不同线积分的x′取值。

作为提取Radon特征向量的方法一个实施例,包括以下步骤:

计算图像强度信号IY(x,y)在θ分别取0°、15°、30°、…、165°,ρ取不同值时的Radon变换,并将ρ取不同值的Radon变换结果进行降序排列,取排在最前面的两个值,按顺序组成一个24维的特征向量VectorR;

对VectorR进行归一化处理(每个分量除以最大的分量值)得到Radon特征向量,记为

本发明的实施例还提供一种提取Laws’模板特征向量的方法,包括以下步骤:分别计算图像强度信号、图像色差信号与Laws’模板的卷积结果图像;积分计算各个所述卷积结果图像的纹理能量值,得到的多个纹理能量值组成一个多维的Laws’模板特征向量。

具体地,对于Laws’模板特征,首先求得Laws’模板。Laws’模板可以通过对如下三个基本的1×3模板L3=[121]、E3=[-101]和S3=[-12-1]执行卷积操作得到,其中L3表示灰度特征,E3表示边缘特征,S3表示点特征。本发明中,为了测量纹理能量,对上述3个1×3模板L3、E3、S3两两以矩阵的形式相乘可得到9个Laws’模板M1,…,M9。Fm(x,y)(m=1,2,…,9)分别表示图像强度信号IY(x,y)与M1,…,M9的卷积结果图像,F10表示图像色差信号ICb(x,y)和M1的卷积结果图像,F11表示图像色差信号ICr(x,y)和M1的卷积结果图像,Em(m=1,2,…,11)表示每个图像的纹理能量值,这样每个图像可以计算得到11个纹理能量值,Em的计算公式如下:

Em=∑x,y∈W|Fm(x,y)|公式1

其中,W表示每个图像的窗口区域。

作为提取Laws’模板特征向量的方法一个实施例,包括以下步骤:

计算IY(x,y)与模板M1,…,M9的卷积结果图像,计算ICb(x,y)、ICr(x,y)和模板M1的卷积结果图像;

利用公式1计算机器人采集的图像的纹理能量值,得到的11个纹理能量值组成一个11维的Laws’模板特征向量VectorL。

本发明的实施例还提供一种提取Harris角点特征向量的方法,包括以下步骤:求图像强度信号在每个像素处的梯度,构建实对称矩阵,求所述实对称矩阵的特征值及其对应的特征向量;将0°~360°划分为多个角度区间,并定义一多维向量,所述多维向量的每一个元素对应于一个所述角度区间;计算每个特征向量的方向角,将所述特征向量的特征值累加于所述方向角所在角度区间所对应的元素的值;再进行归一化处理得到Harris特征向量。

具体地,提取Harris角点特征向量的方法包括以下步骤:

求IY(x,y)在每个像素(x,y)处的梯度,得到IY(x,y)的梯度图像Fx(x,y)及Fy(x,y);

对IY(x,y)图像每个像素(x,y)处,根据如下公式计算实对称矩阵M

其中,w(x,y)表示一个高斯窗口;本发明所述实对称矩阵M是一个2×2的矩阵,是实对称的,所以M可以求得两个特征值和两个特征向量(每个特征值对应一个特征向量);

求实对称矩阵M的特征值及其对应的特征向量;

以15°为间隔将0°~360°划分成24个角度区间,第一个区间为0°~15°,第二个区间为16°~30°,第三个区间为31°~45°,以此类推。定义一个24维向量,所述24维向量的每一个元素对应于一个角度区间。第一个角度区间对应的元素值记为S1,第二个区间的元素值记为S2,以此类推,每个区间对应的元素值初始均设为0;

计算实对称矩阵M的每个特征向量的方向角,方向角落在一特定角度区间,所述每个特征向量所对应的特征值累加在与所述特定角度区间对应的元素值,最后得到一个24维的特征向量VectorH;

对特征向量VectorH进行归一化处理(每个分量除以最大的分量值)得到归一化Harris特征向量,记为

作为本发明的一个最佳实施例,所述分类器为最小误差平方和分类器,所述最小误差平方和分类器通过求解使代价函数J(w)最小的最优权向量得到。对应导航控制策略。

所述代价函数J(w)和最小的最优权向量分别为:

其中,{(x1,y1),(x2,y2),…(xN,yN)}为分类器的训练数据集,xi∈Rk为输入的视觉特征向量,yi∈{-1,1}为xi对应的类标签,即所述每帧图像对应的机器人控制命令,k为所述视觉特征向量的维数,N为样本个数。在原xi∈Rk基础上扩展一个维度,该维度上的值为1,w∈Rk+1为参数向量,ei表示一个类的类别期望值和估计值之间的误差。公式3表示对所有用于训练的已知视觉特征向量的期望输出和实际输出之间的误差进行累加。采用这种方法可以减少对概率密度函数信息的需求。X表示所有图像的视觉特征向量组成的N×(k+1)矩阵,X的每一行的值对应一个用于训练的所述视觉特征向量,T表示求转置,y为所述视觉特征向量对应的类标签,I是(k+1)×(k+1)维的单位矩阵,c是用户定义的一个很小的正常数,其值小到不影响计算精度,设置cI的目的是为了应对在实际应用中XTX出现近似奇异的情形。

因此,可以通过解线性方程组获得最优权向量是公式3的最优解,即J(w)取得最小值时的解。理论上公式4是为避免奇异性影响而对改进的解。

机器人通过模仿学习获得了最终的导航控制策略,该策略即为上述的最优权向量当机器人进行自主导航时,提取获得的每一帧图像的视觉特征向量x后,根据得到该帧图像的类标签从而得到机器人当前应该执行的控制命令。

为便于理解,下面给出一个简单的例子。专家发送给机器人的控制命令包括直走、左转和右转三类,而最小误差平方和分类器是两类分类器,因此,创建三个最小误差平方和分类器forward_SSErr、turnleft_SSErr和turnright_SSErr,对应的最优权向量分别为和训练forward_SSErr分类器时,直走的类标签记为-1,左转和右转的类标签记为+1;训练turnleft_SSErr分类器时,左转的类标签记为-1,直走和右转的类标签记为+1;训练turnright_SSErr分类器时,右转的类标签记为-1,直走和左转的类标签记为+1。对于每一帧视频图像提取的样本视觉特征数据,按照Laws’模板特征、Radon特征及Harris角点特征的顺序组成一个59维的特征向量,并将数据集D中所有图像的特征向量组成矩阵X,以及相应的类标签y向量。按照公式4计算三个分类器的最优权向量和并存储当前最优权向量的所有参数。假设对于机器人当前获得的图像应该左转,则根据和推断的类标签将均为-1,而根据推断的类标签为+1,也即属于左转类。因此,机器人会执行左转动作。其他情况类似。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1