基于ELBP特征的DVS事件分类方法与流程

文档序号:17742241发布日期:2019-05-24 20:15阅读:828来源:国知局
基于ELBP特征的DVS事件分类方法与流程
本发明属于图像处理
技术领域
,涉及一种dvs事件分类方法,具体涉及一种基于elbp特征的dvs事件分类方法,可用于动态目标识别。
背景技术
:动态视觉传感器dvs是针对机器视觉而设计的智能图像传感器,dvs的每个像素点可以独立感知光强变化,当变化超过阈值时,dvs将发生变化的像素点的激活位置、激活极性和激活时刻打包成事件的形式异步输出,用这些事件可以转化得到只呈现目标轮廓和纹理的二值图,而不需要像传统传感器按照固定帧率将所有像素点信息同步输出才能得到目标的图像,其速度不再受传统的曝光时间和帧速率限制,因此它可以用于捕捉快速运动目标,这种运动传统上是由以每秒几万帧的速度运行的昂贵的高速传感器捕获的,但dvs产生的数据少了一千倍。这些特点使得dvs在监控、机器人视觉等领域有很好的应用前景,而在这些领域中,高效而准确地进行dvs事件分类是一个亟待解决的问题。dvs事件分类方法可分为基于深度学习的分类方法、基于脉冲神经网络的分类方法和基于手工特征的分类方法。深度学习方法计算复杂度高,消耗计算资源大,忽视dvs事件的优势;脉冲神经网络需要的计算时间长,且识别准确率不高,也不是理想的dvs事件分类方法。基于手工特征的dvs事件分类算法,首先获取事件流,对事件流按照时间间隔或者事件个数进行分组得到的多个子事件流做图像转化,从图像中提取特征,对特征进行分类,得到dvs事件的标签,dvs事件的标签是dvs捕捉的目标的类别。这种方法可以充分利用dvs事件冗余度低且只呈现动态目标轮廓和纹理的特点,既能保证分类的准确率,又可以提高计算速度,是合理的dvs事件分类方法,当特征维度过高时,提取的特征对于目标的位置变化会非常敏感而缺少鲁棒性,而dvs只捕捉运动目标,即目标的位置总是在变化,所以特征维度过高会导致dvs事件分类准确率的下降,特征维度过高会带来的另一个问题是计算时间过长。如何实时提取可用于准确分类的特征是这类dvs事件分类算法中要解决的主要问题。为了对dvs事件进行实时特征提取并实现准确分类,例如xipeng等人在其发表的论文“bagofevents:anefficientprobability-basedfeatureextractionmethodforaerimagesensors.”(ieeetransactionsonneuralnetworksandlearningsystems,2017)中,公开了一种基于boe特征的dvs事件分类方法。该方法首先统计每个位置出现事件的频率得到事件频率图,事件频率图尺寸和dvs分辨率一致,其次,对于事件频率高的位置进行降权,对事件频率低的位置进行加权,然后,将每一个像素点的事件频率值都串联起来,得到boe特征,并将提取好的boe特征输入支持向量机进行分类。该方法首先提出了从事件流实时提取boe特征并实现准确分类的方法,但是该方法只证明对缩放后的分辨率为28×28、32×32的dvs事件能做有效分类,而实际使用中的dvs分辨率均在128×128以上,将本方法应用于这些分辨率的dvs事件时,提取的boe特征维度等于dvs的总像素数,导致维度过高,分类时准确率会受到一定程度的影响。技术实现要素:本发明的目的在于克服上述现有技术存在的不足,提出了一种基于elbp特征的dvs事件分类方法,旨在保证分类效率的同时,提高dvs事件分类的准确率。为实现上述目的,本发明采取的技术方案包括如下步骤:(1)获取dvs事件流:将动态视觉传感器dvs输出的包括激活时刻的多个dvs事件保存为dvs事件流;(2)对dvs事件流进行二值图转化:(2a)对dvs事件流包含的多个dvs事件的激活时刻以m为单位进行分组,得到n个dvs子事件流,m≥1毫秒,n≥2;(2b)对每个dvs子事件流进行二值图转化,得到n个二值图,并将n个二值图排列为二值图序列;(3)求取每个二值图的elbp特征直方图:(3a)将二值图序列中的任意一个二值图作为当前二值图,并计算当前二值图中每个像素点(x,y)的事件局部二值模式elbp特征值elbp(x,y),所有像素点的elbp(x,y)构成当前二值图的elbp特征图,其中:其中,∑表示求和操作,p表示像素点(x,y)的邻居像素点的序号,bp表示序号为p的邻居像素点的灰度值,u(x,y)表示像素点(x,y)的稳定性衡量值,其中,|·|表示求绝对值操作,x,y分别表示像素点(x,y)的横坐标和纵坐标;(3b)将当前二值图的elbp特征图划分为2l×2l个不重合的单元,并计算每个单元的直方图,然后按照从左到右,从上到下的顺序,将各单元的直方图串联,得到当前二值图的elbp特征直方图,其中,每个单元的尺寸为特征图尺寸的l是不小于1的正整数;(3c)重复步骤(3a)~(3b),获取二值图序列中其余n-1个二值图的elbp特征直方图;(4)获得训练好的分类器:(4a)将n个二值图的elbp特征直方图的一部分作为训练集,其余部分作为测试集;(4b)对训练集打标签,将训练集及其标签作为支持向量机svm的输入进行训练,得到训练好的支持向量机svm;(5)获取dvs事件的分类结果:将测试集输入训练好的支持向量机svm进行分类,得到dvs事件的标签。本发明与现有技术相比,具有以下优点:本发明采用对dvs事件进行二值图转化,对每个像素点计算elbp特征得到elbp特征图,对elbp特征图的子区域计算直方图,实现区域特征降维,并将子区域直方图串联得到二值图的elbp特征直方图,实现全图特征降维,然后将二值图的elbp特征直方图输入支持向量机的方案实现,避免了特征维度过高给分类准确率带来的负面影响,与现有技术相比,有效地进行了特征降维,从而提高了dvs事件分类的准确率。附图说明图1为本发明的实现流程图;图2为本发明对像素点(x,y)计算elbp特征值的过程示意图;图3为本发明对二值图进行单元划分的示意图;图4为本发明elbp特征直方图示意图。具体实施方式以下结合附图和具体实施例,对本发明作进一步详细说明。参照图1,一种基于elbp特征的dvs事件分类方法,包括步骤如下:步骤1)获取dvs事件流:将动态视觉传感器dvs输出的包括激活时刻的多个dvs事件保存为dvs事件流。在本实施例中,选用的dvs型号为davis128,其分辨率为128×128,将打印有数字0到9的卡片,在dvs前移动,每个事件内包含有一个激活时刻,按照激活时刻的先后顺序将所有事件保存为dvs事件流。步骤2)对dvs事件流进行二值图转化:步骤2a)对dvs事件流包含的多个dvs事件的激活时刻以m为单位进行分组,得到n个dvs子事件流,m≥1毫秒,n≥2。在本实施例中,m=100毫秒,最后得到的dvs子事件流个数n=31892。步骤2b)利用aedattools处理函数,对每个dvs子事件流进行二值图转化,得到n个二值图,并将n个二值图排列为二值图序列。aedattools是官方的dvs事件处理函数,它可以将dvs事件从aedat格式的事件流以最少的空间代价转化为二值图,每个二值图的尺寸与dvs分辨率大小一致。在本发明实施例中,二值图的尺寸均为128×128。步骤3)求取每个二值图的elbp特征直方图:步骤3a)将二值图序列中的任意一个二值图作为当前二值图,并计算当前二值图中每个像素点(x,y)的事件局部二值模式elbp特征值elbp(x,y),所有像素点的elbp(x,y)构成当前二值图的elbp特征图,其中:其中,∑表示求和操作,p表示像素点(x,y)的邻居像素点的序号,bp表示序号为p的邻居像素点的灰度值,u(x,y)表示像素点(x,y)的稳定性衡量值,其中,|·|表示求绝对值操作,x,y分别表示像素点(x,y)的横坐标和纵坐标;其中,当前二值图中每个像素点(x,y),包括8个邻居像素点,其位置和序号分别为:第一个邻居像素点的位置为(x-1,y-1),序号p=0;第二个邻居像素点的位置为(x-1,y),序号p=1;第三个邻居像素点的位置为(x-1,y+1),序号p=2;第四个邻居像素点的位置为(x,y+1),序号p=3;第五个邻居像素点的位置为(x+1,y+1),序号p=4;第六个邻居像素点的位置为(x+1,y),序号p=5;第七个邻居像素点的位置为(x+1,y-1),序号p=6;第八个邻居像素点的位置为(x,y-1),序号p=7。对像素点(x,y)进行elbp特征值计算的过程如图2所示,像素点(x,y)的稳定性衡量值u(x,y)是相邻的邻居点的灰度值跳变数,当跳变数不大于2时,elbp(x,y)即为8个邻居中的1的个数,如图2(a)所示,当跳变数大于2时,elbp(x,y)=9,如图2(b)所示,elbp特征图尺寸与二值图尺寸一致。在本发明实施例中,elbp特征图尺寸均为128×128。步骤3b)将当前二值图的elbp特征图划分为2l×2l个不重合的单元,并计算每个单元的直方图,然后按照从左到右,从上到下的顺序,将各单元的直方图串联,得到当前二值图的elbp特征直方图,其中,每个单元的尺寸为特征图尺寸的l是不小于1的正整数。在本实施例中,l=2,即需要将一幅二值图如图3所示划分为4×4个不重合的单元,对每个像素计算elbp特征值,得到elbp特征图,在每个单元内计算直方图,将特征维度降为10,由此将4×4个单元的直方图串联获得的任意一个二值图的elbp特征直方图如图4所示,该elbp特征直方图的维度为160。步骤3c)重复步骤(3a)~(3b),获取二值图序列中其余n-1个二值图的elbp特征直方图。步骤4)获得训练好的分类器:步骤4a)将n个二值图的elbp特征直方图的一部分作为训练集,其余部分作为测试集。因为dvs事件捕捉的是物体的连续移动,样本之间差异不大,因此不需要选取过多样本进行训练,另一方面,当训练样本较多时,训练时间会非常长,计算代价大,但对准确率的提升效果不大,实验表明,选取10%的样本数据已经可以进行有效分类。在本实施例中,随机选取10%的特征直方图作为测试集,即训练集中样本数为3190个,剩余28703个特征直方图作为测试集。步骤4b)对训练集中的3190个特征直方图打标签,每个特征直方图的标签是dvs捕获的目标的类别,在本实施例中,是0到9中的一个数字,将训练集及其标签作为支持向量机svm的输入进行训练,得到训练好的支持向量机svm,训练利用函数库libsvm实现。因为libsvm用mex文件实现支持向量机svm中的计算过程,能极大提高计算效率,本实施例中,选择libsvm实现对支持向量机进行训练。步骤5)获取dvs事件的分类结果:利用函数库libsvm,将测试集中的28703个特征直方图输入训练好的支持向量机svm进行分类,得到各特征直方图的标签,dvs事件和该事件组成的二值图中提取的特征直方图拥有同一个标签,由此获取dvs事件的分类标签。本实施例中,每个标签是0到9中的一个数字。以下结合仿真实验,对本发明的技术效果作一说明:1.仿真条件和内容:实验采用的dvs型号为davis128。仿真平台为:主频为3.40ghz的intelcorei7-6700cpu,64.0gb的内存,windows10操作系统,matlab2017a开发平台。对本发明和现有的基于boe特征的dvs事件分类方法的分类结果的准确率进行对比仿真,其结果如表1所示。2.仿真结果分析:表1结果本发明现有技术分类准确的样本个数2633823631分类准确率91.76%82.33%参照表1,本发明与现有技术相比,在28703个测试样本中,有26338个样本获得了准确的分类结果,准确率计算为91.76%,现有技术中只有23631个样本获得了准确的分类结果,准确率计算为82.33%,证明本发明相对现有方法,显著提高了分类准确率。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1