基于视觉理解的图像识别方法与流程

文档序号:16579825发布日期:2019-01-14 17:52阅读:160来源:国知局
基于视觉理解的图像识别方法与流程

本发明涉及人工智能,特别涉及一种基于视觉理解的图像识别方法。



背景技术:

生物特征识别在身份识别和智能设备中都有着非常重要的应用。作为一个分支,虹膜识别技术是计算机图像处理技术与模式识别技术在身份识别领域的运用。虹膜识别具备高稳定性、高准确率、高度防伪性、唯一性、普遍性和非侵犯性等优点,有着广阔的运用前景和重要的研究价值。虹膜识别技术的关键点在于将采集到的虹膜图像准确地提取出介于瞳孔与巩膜之间,得到虹膜的有效区域,并采用合理的纹理提取方法得到能够深刻反映纹理信息的代码,该代码要较好地考虑到旋转、平移带来的影响。然而,现有虹膜识别技术的采集要求过高,一般需要同步在线识别而不能处理离线虹膜信息,而且在非合作性的场合难以达到较好的鲁棒性。只有合理的精度、速度以及鲁棒性才能符合用户需求。这些都是亟待解决与改进的问题。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种基于视觉理解的图像识别方法,包括:

采集用户眼部数据进行训练,得到量化特征参数;

利用该量化特征参数降低训练图像集的特征维数;

将低维图像集进行符号转换得到虹膜特征代码;

将训练图像集的虹膜特征代码与样本图像集进行匹配,实现虹膜识别。

优选地,所述采集用户眼部数据进行训练,得到量化特征参数,进一步包括:

采集需要执行虹膜识别的用户眼部数据,得到原始图像集。

优选地,在执行虹膜识别之前,采集用户眼部数据进行训练得到量化特征参数和样本图像集。

优选地,在执行所有虹膜识别之前,通过一次样本训练过程得到量化特征参数和样本图像集并用于后续所有的虹膜识别。

优选地,所述利用该量化特征参数降低训练图像集的特征维数,进一步包括:

利用量化特征参数对原始图像集进行特征提取,得到降维后的训练图像集。

优选地,所述利用量化特征参数对原始图像集进行特征提取,进一步包括:

通过支持向量机,利用最优特征值对应的单位特征向量构成的特征矩阵对训练图像集进行降维处理,计算训练图像集在特征矩阵上的映射,得到降维后的训练图像集。

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

本发明提出了一种基于视觉理解的图像识别方法,通过对需要识别的虹膜图像原始序列进行降维和符号处理,降低了计算的复杂度和对设备方位的要求,允许用户更加灵活地执行注视动作,增强用户体验。

附图说明

图1是根据本发明实施例的基于视觉理解的图像识别方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种基于视觉理解的图像识别方法。图1是根据本发明实施例的基于视觉理解的图像识别方法流程图。

本发明预先采集用户眼部数据进行训练,得到量化特征参数和样本图像集,并利用该量化特征参数降低训练图像集的特征维数,以此降低计算复杂度以及用户凝视时对设备方位的要求。通过将降维后的低维图像集进行符号转换,进一步去除图像集中的噪声,提高识别精度。最后将训练图像集的虹膜特征代码与样本图像集进行匹配,能够实现准确的虹膜识别,提高用户体验。

本发明识别虹膜的方法包括:获取用户眼部数据,对用户眼部数据进行训练,得到量化特征参数以及样本图像集,其进一步包括:

步骤1,采集需要执行虹膜识别的用户眼部数据,得到原始图像集;在执行虹膜识别之前,优选地还包括一个样本训练过程,在样本训练过程中采集用户眼部数据进行训练得到量化特征参数和样本图像集。优选地,在执行所有虹膜识别之前,通过一次样本训练过程得到量化特征参数和样本图像集并用于后续所有的虹膜识别。

步骤2,利用量化特征参数对原始图像集进行特征提取,降低原始图像集的特征维数,得到降维后的训练图像集;

步骤3,将训练图像集转换为离散的虹膜特征代码,得到训练图像集的虹膜特征代码;

步骤4,将训练图像集的虹膜特征代码与样本图像集进行匹配,当匹配成功时,确认当前虹膜图像为样本图像集对应的虹膜图像。

优选地,预先训练得到一个或多个样本图像集,每个样本图像集对应一个用户虹膜,将样本图像集存储下来,后续训练时可使用该样本图像集而不必再进行训练。

所述样本训练包括下列步骤:移动终端照相机采集眼部数据;虹膜图像卷积窗口和滤波处理;训练图像集处理。其中该训练图像集处理具体包括利用支持向量机对训练图像集进行数据降维处理;符号聚合逼近;获得样本图像集。样本训练时的照相机采集虹膜数据与识别过程中的照相机采集虹膜数据的处理步骤基本相同,区别在于样本训练时需要对同一个虹膜多次采集数据,而在执行虹膜识别时,对实际发生的任一虹膜的数据进行采集。

在采集到虹膜图像数据后,从图像缓存中取出rgb数据分别添加卷积窗口。按照预定的频率同时从图像缓存中采样,并以预定步长的卷积窗口对采样数据进行卷积处理,得到预定长度的原始图像集。

对卷积后得到的预定长度的原始图像集进行滤波处理,以滤除干扰噪声。即对预定长度的原始图像集的每个分量上进行滤波处理的像素点,选取该像素点左侧相邻的预定数目的像素点以及选取该像素点右侧相邻的预定数目的像素点,计算选取出的像素点的均值并由该均值替换滤波处理的像素点的数值。

优选地,本发明采用k-means滤波进行滤波处理。通过预先设定时间最邻接的个数k,把任意一像素点左边k个邻接像素点和右边k个邻接像素点所组成的序列的均值作为滤波处理后该像素点的值。

对于rgb数据中的r通道图像集,k-means滤波为:

其中,n是图像集的长度,即卷积窗口的大小,k是预先选取的邻居个数,即选取某一个像素点左、右各k个最邻接的邻居,axj为图像信号aj在r通道上的分量,a'xi是axj对应的滤波后的数据。

接下来,对原始图像集进行处理的过程具体包括:

从样本训练过程中利用支持向量机对训练图像集进行训练,实现对训练图像集进行特征提取。对采集的每个训练图像集进行滤波,并对滤波后的训练图像集进行正则化处理,即变换为均值为0,方差为1的图像集。

具体的,设三个卷积窗口中得到的rgb训练图像集组成的n×p矩阵为a=[a1,...ap],其中,n为卷积窗口的长度,p是特征维数,本发明中预设p=3,即原始图像集为三维数据,该矩阵a中的元素表示为aij,i=1,...n;j=1,...p。

计算训练图像集的协方差矩阵的所有特征值以及每个特征值对应的单位特征向量。首先计算原始rgb训练图像集各分量均值m={mar,mag,mab},以及协方差向量ω={ωar,ωag,ωab}。

计算训练图像集组成的矩阵a的协方差矩阵ω=(sij)p×p,其中:

分别为aki和akj(k=1,2,…,n)的均值,即计算rgb训练图像集各分量的均值,i=1,...p;j=1,...p。

求出协方差矩阵ω的特征值λi及相应的正交单位特征向量ui;

设协方差矩阵ω的特征值λ1≥λ2≥…≥λp>0,相应的单位特征向量为u1,u2,…,up。a1,a2,...ap的主分量就是以协方差矩阵ω的特征向量为系数的线性组合。

设某个时刻采集到的rgb训练数据a={ar,ag,ab},则λi对应的单位特征向量ui={ui1,ui2,ui3}就是主分量fi关于训练图像集a的组合系数,则rgb训练图像集的第i个主分量fi为:

fi=a·ui=axui1+ayui2+azui3

从特征值中选择前m个主分量来表示训练图像集的信息,m的确定是通过g(m)来确定:

利用最优特征值对应的单位特征向量构成的特征矩阵,对训练图像集进行降维处理,计算训练图像集在特征矩阵上的映射,得到降维后的训练图像集。即利用得到的图像数据各分量均值m={mar,mag,mab}和协方差向量ω={ωar,ωag,ωab},以及特征矩阵u={u11,u12,u13}。对滤波后的原始图像集作如下处理:

在三个卷积窗口内,利用各分量均值m和协方差向量ω对各个分量图像数据进行正则化处理:

a'r=(ar-mar)/ωar

a'g=(ag-mag)/ωag

a'b=(ab-mab)/ωab

利用特征矩阵,对正则化处理后的原始图像集进行特征提取,降低原始图像集的特征维数,得到降维后的训练图像集。将正则化后的原始图像集乘以特征矩阵u,得到降维后的一维序列:

d=a’·u=a’ru11+a’gu12+a’bu13

即得到原始图像集对应的一维特征代码组合,将该降维后的一维数据作为一个训练图像集。或者进一步的将该一维序列进行分帧,求各帧的平均值,然后将各帧平均值组成的图像集作为一个训练图像集,进一步去除噪声。

在获得了一维特征代码组合之后,利用符号聚合逼近将该训练图像集转换为离散的虹膜特征代码,具体的,设一维原始图像集为a=a1,a2,…,an。n为序列长度。经过分段累积近似处理,得到长度为w的符号序列;将训练图像集的长度从n降到了w。w代表降维后的一维特征代码组合的长度。

将图像集的整个取值范围划分为r个等概率的区间,即在高斯概率密度曲线下,划分成面积相等的r个部分,并用相同的字母符号表示处于同一个区间的序列数值,从而得到数值的符号表示。

然后对表示虹膜的虹膜特征代码进行遍历,求出相邻像素点的方向,再将方向值转换为与设定的方向值组中最相近的方向值,并存为方向序列;对方向序列中连续的同方向上像素点进行合并,将连续的同方向上像素点之间距离小于阈值的向量作为噪声点去除;再合并连续的同方向点,这时提取出来的向量首尾相接,以反应虹膜的特征。然后对向量的距离进行正则化,保存为采样的序列。

利用局部优化的处理来寻找一条路径使得两个特征向量之间的失真量最小;将样本数据和待匹配的虹膜图像数据所对应两个序列数据表示为r[i]和t[j],其距离值用d(r[i],t[j])表示,选择路径起点,利用局部路径约束使其朝规定方向动态规划;

设定虹膜采样像素点的个数n,根据降维后的训练图像集的长度w,将n个点根据w/n得到的距离,平均分布到虹膜轨迹上;最后分配的n个点的坐标作为采样点;

然后将虹膜图像渲染成n*n大小的图像,其先将图像大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充n*n大小图像的序列,最后返回该序列作为采样结果;

经过变换采样正则化后得到统一长度的样本序列,计算在d维空间两点a=[a1,a2,…,ad],b=[b1,b2,…,bd]的相似度:

根据计算得到与待匹配的虹膜图像数据相似度最高的虹膜样本图像即为最匹配的图像。

在本发明的进一步实施例中,基于用户眼部视频处理离线用户的虹膜识别步骤。首先将用户眼部视频数据进行时域分割,依次提取nf个关键帧,并以每个关键帧为中心提取预设时域内的虹膜特征图构造训练状态集,进一步构造对应于每个训练状态集的训练向量组:

o={oi,j,k|i∈[1,nf],j∈[1,nc],k∈[1,nv]},其中nc为虹膜视频分割后的段数;nv为当前虹膜的样本序列数。该向量组划分为测试集和训练集,分别用于识别模型的参数估计和训练。

以给定虹膜m的训练向量组o={oi,j,k|i∈[1,nf],j∈[1,nc],k∈[1,nv]}为训练数据,求解基于条件随机场的虹膜识别模型λm中的3个参数a、b和ω。

a为状态转移矩阵:a={aij=p(sj|si),1≤i≤nf,1≤j≤nf},表示在t时刻状态为si的条件下,在t+1时刻的状态为sj的概率。

b为误差矩阵:β={bij=p(oj|si),1≤i≤nf,1≤j≤nf},表示在t时刻、潜在状态为si的条件下,训练状态为oj的概率。

在基于样本序列的虹膜识别中,使用给定的训练数据评估初始化参数的可靠性,并通过缩小误差调整这些参数。给定某个虹膜m的训练向量组sm={sk|k∈[1,nv]},建立对应于虹膜m的虹膜识别模型λm=(a,b,ω)。给定虹膜测试序列om及相应的条件随机场模型λm的初始化参数,定义为t时刻位于潜在状态si的局部概率:

定义ρt(i,j)为t时刻位于潜在状态si而t+1时刻转换为潜在状态sj的局部概率:

ρt(i,j)=p(qt=si,qt+1=sj|vm,λm)。

在λm初始参数值的基础上,使用aij对λm的参数a进行迭代求精,最终获得一组局部最优的参数值(a,b,ω),其中:

在实际虹膜识别应用中,采用条件随机场参数自修正的方法,对于不同光照条件的虹膜数据,使用与训练环境一致的数据调整条件随机场模型参数,可大幅提高识别正确率。

结合先验知识和从自修正数据中得到的知识,在条件随机场参数初始值和自修正数据的均值之间进行线性插值,从而得到自修正后的均值向量。当自修正数据量足够大时,模型收敛于根据实际训练数据重新训练的模型,具有较好的一致性和渐进性。记自修正前的条件随机场模型分布λm=(μij,ωij),对应的自修正后模型分布为λ~m=(μ~ij,ω~ij),其中μij和μ~ij分别为自修正处理前后状态i的第j个正态分布均值,ωij和ω~ij分别为自修正前后的协方差矩阵。给定自修正虹膜测试序列oam={vi|i∈[1,nv]},设定μ~ij=kμij+εij,其中,εij为残差,k为回归矩阵。

因此将虹膜识别问题转化为一组条件随机场的评估问题,其中虹膜训练向量集中的每个向量vk对应一个长度为t的一维特征代码ok=ok1ok2…okt。依次计算每个用户对应的条件随机场虹膜识别模型,产生给定虹膜训练向量组中所有测试序列的概率均值:

并进行排序,即可判定概率最大的条件随机场对应的虹膜图像就是最有可能的识别目标。计算每个条件随机场产生给定虹膜测试序列v的概率,具体地:

步骤1,依次计算所有虹膜识别模型产生虹膜训练向量组v的概率均值pm:

步骤2,排序并取概率均值最大模型对应的虹膜m

其中,上述对滤波后的训练图像集进行正则化处理,优选地进一步包括:

1.将同一个虹膜样本的图像信号表示为x(i,j),i表示所述图像信号采样设备的采样通道的序号,且i∈[1,f],j表示时间序列号。采用f个通道图像信号的绝对值的最大值|x|m作为正则化标准。将正则化后的图像信号的离散时间序列表示为:

2.从所述f个采样通道的所述多个特征中选择至少一个特征作为对应虹膜的一次特征代码组合,由该特征代码组合的单位特征向量形成对应的特征矩阵。

在构成特征矩阵之后,还包括,从多个样本中确定识别率最高和错误率最低的特征矩阵;将确定的特征矩阵利用cnn进行模型训练以形成定义虹膜的所述cnn模型。具体地,首先随机初始化权重矩阵;对特征矩阵进行正则化;正则化为多个样本f通道同一个特征的最大差值;确定单隐藏层的节点数k:

其中a为输入层节点数,b为输出层节点数,为常数。

依次输入p个学习样本,并记录当前输入的是第p个样本。

依次计算各层的输出;其中隐藏层的神经元j输入为netpj=∑iwjioji;而且opj是神经元j的输出,wji是第i个神经元到第j个神经元的权重,

输出层神经元的输出为:opl=∑jwliopj

第p个样本的误差性能指标式中,tpl是神经元l的目标输出;

如果p=p,则校正各层的权重;输出层及隐藏层的连接权重wlj校正为:

隐藏层及输入层的连接权重wji学习算法:n为迭代次数,η为学习速率,η∈[0,1];

然后对所述各层的权重加入调节因数α,此时的权重为:

wlj(n+1)=wlj(n)+εwlj+α(wlj(n+1)-wlj(n));

wji(n+1)=wji(n)+εwji+α(wji(n+1)-wji(n));其中,调节因数的取值α∈[0,1];

按照新的权重重新计算各层的输出,如果每个样本均满足输出和目标输出的差小于预定义阈值,或者达到了预设的学习次数,则过程停止。

对上述离线虹膜视频图像的情形,在进一步实施例中,定义自相似度as和互相似度bs并计算两个相似度值,根据as和bs来计算虹膜视频最终的相似距离。虹膜验证共有两个阶段:采集阶段和识别阶段。在采集阶段,虹膜视频被采集并保存为样本帧;在识别阶段,视频被采集并与样本帧进行匹配,以确定他们是否为同一个用户虹膜。

首先,对待匹配的虹膜视频与虹膜样本帧进行配准。配准之后的样本帧可以表示为e={fe1,fe2,...,fek},待识别的虹膜视频表示为c={fc1,fc2,...,fck},其中k表示视频中包含的虹膜图像数,fei、fci均表示第i幅虹膜图像。

在采集阶段,计算样本帧的as,具体方法如下:

计算样本帧任意两幅虹膜图像的相似距离,可得到k(k-1)/2个相似距离,取它们的均值作为该视频的as。即:

其中表示fei和fej的相似距离。

在识别阶段,计算待匹配虹膜视频的bs:

其中,表示fei和模板中面积最大的虹膜图像的相似距离,表示模板中面积最大的虹膜图像和fcj的相似距离。

最终相似距离融合as和bs来计算两个虹膜视频最终相似距离的公式为:

s=bs+w(bs-as),w为调节权重。将as和bs作为一个样本的两个特征,因此一个样本就可以由一个二维特征向量(as,bs)来表示。这样就把判断匹配问题转化为对样本分类。

在分类计算中,将任意样本x表示为特征向量:<a1(x),a2(x),...,an(x)>,其中ak(x)表示样本x的第i个属性值。两个样本xi和xj的距离定义为:

对离散目标函数f:rn→v,其中rn是n维空间的点,v是有限集合{v1,v2,...,vs},

返回值f(xq)计算为距离xq最近的k个训练样本中最普遍的f值。其中:

其中函数λ(a,b)定义为:

如果a=b,则λ(a,b)=1,否则λ(a,b)=0。

综上所述,本发明提出了一种基于视觉理解的图像识别方法,通过量化特征参数对需要识别的虹膜图像原始序列进行降维,再对降维后得到的训练图像集进行符号处理,简化样本匹配过程,降低了计算的复杂度和对设备方位的要求,允许用户更加灵活地执行注视动作,增强用户体验。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

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