一种基于学习的振动信息地形分类识别方法与流程

文档序号:15984243发布日期:2018-11-17 00:42阅读:195来源:国知局

本发明涉及识别分类技术领域,具体涉及基于学习的振动信息地形分类识别方法。

背景技术

1)快速傅里叶变换

fft(fastfouriertransformation)即快速傅里叶变换,是dft(discretefouriertransformation)的加速算法。它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。

其基本思想是把原始的n点序列,依次分解成一系列的短序列。充分利用dft计算式中指数因子所具有的对称性质和周期性质,进而求出这些短序列相应的dft并进行适当组合,达到删除重复计算,减少乘法运算和简化结构的目的。此后,在这思想基础上由开发了高基和分裂基等快速算法。

2)神经网络

神经网络是由大量的、简单的处理单元广泛的相互连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。神经网络模型是以神经元的数学模型为基础来描述的。主要具备并行分布处理、高度鲁棒性和容错能力、分布存储及学习能力、能充分逼近复杂的非线性关系等特点。典型的神经网络模型包括bp神经网络、hopfield网络、art网络和kohonen网络。



技术实现要素:

本发明的目的是为了解决现有分类识别方法准确率低的缺点,而提出一种基于学习的振动信息地形分类识别方法。

一种基于学习的振动信息地形分类识别方法包括以下步骤:

步骤一:采集传感器在本体坐标系下x轴、y轴和z轴方向振动信息的原始数据;

步骤二:将步骤一采集到的振动信息的原始数据分割处理形成n个时长为t的向量;

步骤三:对步骤二分割处理后的n个向量进行地形类型标记(每个向量对应一种地形);

步骤四:将分割后的n个向量转换到频域;

步骤五:将转换到频域后的n个向量利用多层前馈神经网络进行离线学习训练,得到训练后的多层前馈神经网络;

步骤六:实时在线获取振动数据,执行步骤二至步骤四,利用步骤五训练后的多层前馈神经网络进行在线分类识别,获得地形类型。

本发明不仅利用垂直方向的振动数据,同时采集多维振动数据进行处理,首先将其进行分割形成了时长1s的向量,并对其进行标准化处理,将每个振动向量归一化为均值为0和标准差为1,然后利用快速傅里叶变换,得到频域下的特征向量,然后利用多层前馈网络进行离线学习训练,最后将训练好的网络模型用于在线的检测分类。

本发明利用地面机器人收集实验数据。它有比较硬的橡胶轮,能产生清晰的振动信号。该算法利用多个方向的振动信号以提高地形的分类准确率。地形分类算法有两个阶段:训练和分类。训练对计算具有比较高的要求,因此通常是一个离线步骤。分类阶段是非常快的,利用训练好的模型直接调用即可。

本发明的有益效果为:

本发明的目的在于提供一种不受环境、材质限制的基于振动信息地形分类识别的方法,由两个子模块组成,即离线学习训练和在线分类识别,其分类精度高,泛化能力强,且对计算资源消耗少具备在线实时解算能力,提升了对不同环境不同状况对地形分类检测的可行性及准确性。

在不同环境不同状况下均可精确实现对地形分类检测,同时算法计算消耗低可在线实现,除此之外,具备应对突发状况,如视觉/激光雷达失效环境下仅依赖振动信息的持续探测能力。

本发明实验采集5类地形的多组信号,最终实验得到:第一类正确率94.74%,第二类正确率94.44%,第三类正确率为100%,第四类正确率为100%,第五类正确率为100%。

附图说明

图1是基于学习的振动信息地形分类识别方法算法流程示意图。

图2是多层前馈神经网络示意图。

图3是验证平台及五种地形材质示意图。

图4是振动原始信号示意图。

图5是fft变换处理后的信号示意图。

图6是五类地形结果对比示意图。

图7是分类结果误差示意图。

具体实施方式

具体实施方式一:如图1所示,一种基于学习的振动信息地形分类识别方法包括以下步骤:

步骤一:采集传感器在本体坐标系下x轴、y轴和z轴方向振动信息的原始数据;

步骤二:将步骤一采集到的振动信息的原始数据分割处理形成n个时长为t的向量;

步骤三:对步骤二分割处理后的n个向量进行地形类型标记(每个向量对应一种地形);

步骤四:将分割后的n个向量转换到频域;

步骤五:将转换到频域后的n个向量利用多层前馈神经网络进行离线学习训练,得到训练后的多层前馈神经网络;

步骤六:实时在线获取振动数据,执行步骤二至步骤四,将实时在线获取振动数据转换到频域后,利用步骤五训练后的多层前馈神经网络进行在线分类识别,获得地形类型。

特征向量提取:

在训练阶段,学习已知地形类型的振动信号特征。为此,机器人需要穿越不同的表面和采集振动信号。为了收集振动,使用一个基于加速度计,工作在100赫兹。在下一步中,将加速度信号分割成段,每个段对应于机器人行程的1秒,从而可以生成一个1×100大小的向量。然后,将每个向量标记为它对应的地形类型。

接下来,将原始加速度信号转换到频域。对原始的数据做标准化处理,将每个加速度向量归一化为均值为0和标准差为1,然后做一个100点的快速傅里叶变换(fft),实验发现利用fft将无人车的原始时域数据转化到频率域下更能够表征不同地形间的区别。将fft作用到每个向量后,将每个向量归一化到[0,1]区间。标准化防止了后面训练中高量级数据占支配地位。原始数据经过数据归一化处理后,各指标处于同一数量级,适合进行综合对比评价。

目前基于振动的地形分类方法,振动通常表示测量上下的加速度(z)方向。原因是地形颠簸可能在上下方向有重大影响。然而,在其他方向上测量的加速度,例如前向后(x)或左右(y),也可以用来捕捉振动。实验表明这些加速度比在z方向的测量数据甚至可能更适合做地形分类。

此外,许多加速度传感器能够同时测量沿三轴的加速度。对于装有这种传感器的机器人,本发明提出了一个简单而有效的提高分类的方法。对于每个地形段,收集三个轴的加速度信号,即前后(x1:100),左右(y1:100),和上下(z1:100)。然后,用fft分别对标准化后的信号进行变换,得到前后(f(x)1:100),左右(f(y)1:100),和上下(f(z)1:100),然后将每个信号归一化到[0,1]区间。下一步,连接变换后的三轴信号作为特征向量。这时特征向量的维数为1×300,然后对这些特征向量进行神经网络的训练。

具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤二中t的取值为1s~5s。

其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤二中时长1s的向量大小为1×100。

其它步骤及参数与具体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤三中地形类型包括:平地、草地、沙土、石子和草地石子。

其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤四中将分割后的n个向量转换到频域的具体过程为:

将分割后的n个向量做标准化处理,即将每个向量归一化为均值为0和标准差为1;将标准化处理后的n个向量做快速傅里叶变换,将快速傅里叶变换后的每个向量归一化到[0,1]区间。

其它步骤及参数与具体实施方式一至四之一相同。

具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述步骤五中将转换到频域后的n个向量利用多层前馈神经网络进行离线学习训练,得到训练后的多层前馈神经网络的具体过程为:

多层前馈神经网络训练

多层前馈网络的主要特点是信号前向传递,误差反向传递。在前向传播中,输入信号从输入层经隐含层组成处理,直至输出层。每一层的神经元状态只能影响下一层神经元状态。如果输出层得不到输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使多层前馈神经网络预测输出不断逼近期望输出。多层前馈神经网络的拓扑结构如图2所示。

附图2中,i1,i2,…,in是多层前馈神经网络的输入值,此处为经过预处理的特征向量。y1,y2,…,ym是多层前馈神经网络的预测值。从上图可以看出,多层前馈神经网络可以看成一个非线性函数,网络输入值与预测值分别为该函数的自变量和因变量。当输入节点数为n、输出节点数为m时,多层前馈神经网络就表达了从n个自变量到m个因变量的函数映射关系。

多层前馈神经网络在做在线分类前首先要训练网络,通过训练使网络具有联想记忆和预测能力。多层前馈神经网络的训练过程包括以下几个步骤:

步骤五一:进行多层前馈神经网络初始化;

根据多层前馈神经网络输入序列(i,y)确定网络输入层节点数n、隐含层节点数l、输出层节点数m,初始化输入层和隐含层之间的连接权值ωij,隐含层和输出层神经元之间的连接权值ωjk,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数;

其中i=[i1,i2,…,in]t是多层前馈神经网络的输入值,即为转换到频域后的n个特征向量;y=[y1,y2,…,ym]t是多层前馈神经网络的预测值,即为预测的地形类型;

步骤五二:根据输入变量i,输入层和隐含层间连接权值ωij以及隐含层阈值a,计算隐含层输出h;

式中hj为h的第j个输出,ii为输入变量i的第i个值,aj为第j个隐含层阈值,f为隐含层激励函数,选用如下形式激励函数:

步骤五三:根据隐含层输出h,连接权值ωjk和输出层阈值b,计算多层前馈神经网络预测输出o;

其中ok为预测输出向量o的第k个值,bk为第k个输出层阈值;

步骤五四:根据多层前馈神经网络预测输出o和期望输出y,计算网络预测误差e;

ek=yk-okk=1,2,…,m(4)

其中ek为第k个网络预测误差,yk为第k个多层前馈神经网络的预测值;

步骤五五:根据网络预测误差e更新网络连接权值ωij、ωjk;

式中η为学习速率;

步骤五六:根据网络预测误差e更新网络节点阈值a,b;

步骤五七:判断网络预测误差e是否小于设定值,若小于则结束,否则迭代执行步骤五二至步骤五七。

完成训练后,神经网络网络便可进入在线分类阶段,机器人穿越未知的地形和采集振动信号。每秒一次,融合三个方向的加速度信号生成一个1×300的向量(x1:100,y1:100,z1:100),对每一个分量规范化,然后用fft变换该向量的三个分量,得到(f(x)1:100,f(y)1:100,f(z)1:100)。此外,还需要将其分别归一化化最终得到测试向量。然后,训练好的神经网络对测试向量进行分类并返回对地形类型的估计。

其它步骤及参数与具体实施方式一至五之一相同。

采用以下实施例验证本发明的有益效果:

实施例一:

1)实验环境

为验证本发明的正确性及合理性,本发明实验采用5类不同材质地形的分类识别,具体环境如附图3所示。

2)实验结果及分析

本发明实验采集5类地形的多组信号,将信号单元分为1s,然后进行上述一系列操作,原始信号与最终得到的特征向量如附图4和图5所示。不难看出时域上的原始信号区分度不大,将其变换到频率域后特征变得相对明显,这将有利于后续神经网络的训练,可以大大提高分类准确率。

将5类地形(平地、草地、沙土、石子、草地石子混合)分别用数字1、2、3、4、5表示,附图6为神经网络在测试集上预测地形类别和实际地形类别的对比。分类误差如附图7所示。

最终实验得到:第一类正确率94.74%,第二类正确率94.44%,第三类正确率为100%,第四类正确率为100%,第五类正确率为100%。

进行15次实验,得到5类地形分类正确率如下:

正确率

0.94740.94441.00001.00001.0000

正确率

1.00000.95000.91301.00001.0000

正确率

0.95450.95000.73680.90911.0000

正确率

1.00001.00000.95450.94740.9545

正确率

1.00001.00000.93751.00001.0000

正确率

0.95831.00000.77781.00000.8824

正确率

1.00000.95650.94441.00000.9474

正确率

0.90911.00000.93331.00000.9167

正确率

1.00000.86670.86671.00000.8750

正确率

1.00000.94741.00000.92591.0000

正确率

1.00001.00000.84211.00000.9048

正确率

1.00001.00001.00000.95241.0000

正确率

1.00000.96000.72730.96150.9500

正确率

1.00001.00000.93750.96000.9231

正确率

1.00001.00000.85710.94741.0000

根据本发明的分类方法可简单明了基于振动信息对不同环境地形进行分类识别,为地形检测分类研究提供了新的思路。

本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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