首页 / 专利库 / 电脑编程 / 量子计算 / 一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法

一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法

阅读:857发布:2020-05-12

专利汇可以提供一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于多尺度CNN特征及量子菌群优化KELM的手写 图像识别 方法首先,将手写图像进行NSST分解,得到三个尺度的多 尺度图 像;其次,用CNN模型提取每一个尺度的细节特征,并以最大值的方式融合这些细节特征;然后,用量子菌群 算法 去优化KELM模型的参数,得到最佳的KELM模型;最后,把融合后的特征当作KELM的输入,对特征进行识别,完成手写图像的识别。本发明不仅增强了识别 精度 和泛化能 力 ,同时在训练模型时采用需要时间少的KELM模型,KELM仅需要优化两个参数,而且用CNN-KELM能够提取出更多细节特征,这样极大的减少了手写图像识别的工作量以及提高了识别精度。,下面是一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法专利的具体信息内容。

1.一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法,其特征在于:包括以下步骤:
步骤S1:建立NSST-CNN的图像分解及特征提取模型,获取手写图像,将手写图像进行NSST多尺度分解,得到一个低频图像和多个高频图像,所述高频图像不再细分子带图像;
步骤S2:将步骤S1中经过NSST分解后的一个低频图像和多个高频图像分别经过CNN模型提取特征值;每个尺度经过的CNN网络结构包括3个卷积层、3个池化层和1个全连接层;
步骤S3:将每个尺度经过CNN提取出的特征值以最大值的方式进行特征融合,形成1024个特征值;所述融合是对每个尺度相对应的特征值进行融合;方式有四种,分别是:取最大值、取最小值、取平均值和取中位数;
步骤S4:将每个尺度融合后的1024的特征值作为核极限学习机即KELM的输入,将每张手写图像对应的数字当成KELM的输出;将所有输入进来的数据,80%用来训练出KELM的模型,20%用来测试训练出来的模型,并得出测试精度
步骤S5:利用改进的量子菌群算法优化KELM的惩罚系数C和核函数σ两个参数,这两个参数为算法的变量,手写图像识别的准确率作为算法的适应度值;
步骤S6:利用改进量子菌群算法优化得到的最优惩罚系数C和核函数σ构建KELM模型,得到最优的KELM识别模型;
步骤S7:将测试图像经过NSST-CNN模型得出的特征值带入最优KELM模型,得出测试精度,并将待测数字的手写图像经过步骤S1至步骤S6进行预测,得出识别结果,实现手写图像识别。
2.根据权利要求1所述的一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法,其特征在于:步骤S1中所述建立NSST-CNN的图像分解及特征提取模型的具体内容为:对手写图像进行NSST域下的分解,采用非下采样金字塔进行多尺度分解,将图像进行k次分解后,得到1个低频图像和k层高频子带图像,然后采用剪切滤波器对高频子带进行l级多方向分解,得到2l个大小与原图像相同的多方向子带;
NSST对二维图像处理的公式,如下式(1)所示
式中ψ∈L2(R)2为仿射系统的基础函数;k、l和b分别为分解的尺度系数、方向系数和平移系数,A为控制NSST尺度分解的各向异性膨胀矩阵,S为控制NSST方向分解的剪切矩阵;
将NSST分解后的多尺度图像用卷积神经网络来提取细节特征;在CNN中,卷积层的神经元只与前一层的部分神经元节点相连,即它的神经元间的连接是非全连接的,且同一层中某些神经元之间的连接的权重w和偏移b是共享的,用以减少需要训练参数的数量;CNN的结构包含输入层、卷积层、激励层、池化层、全连接层和输出层;所述输入层是用于数据的输入,将图片以数据的形式输入至CNN结构;所述卷积层是使用卷积核进行特征提取和特征映射,它是通过对输入图像进行多次卷积操作,提取出不同的特征图;然后把当前层的每个单元与前驱层的特征图局部通过权值建立连接并进行局部加权和非线性变换;
所述激励层对卷积层的输出进行一个非线性映射,卷积层使用的激励函数为ReLu函数,f(x)=max(x,0);
池化层的具体操作是:首先,通过粗粒化各特征的位置;其次,每个典型的池化单元通常计算一个或几个特征图内局部块的最大值;而相邻单元则通过行或列平移形成的块来获取输入数据,用以降低特征表达维度,并对平移和扭曲等较小形变具有鲁棒性;所述全连接层在CNN的尾部进行重新拟合,用以减少特征信息的损失;所述输出层是用于输出结果。
3.根据权利要求1所述的一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法,其特征在于:所述步骤S5的具体内容如下:
首先,在菌群算法中加入量子计算中,量子比特是用来储存信息的物理介质,一个量子比特表示为:|φ>=α|0>+β|1>,其中(α,β)是两个幅常数,|α|2+|β|2=1,|0>和|1>表示自旋态;由前式得一个量子为同时包含|0>和|1>两个态的信息,量子编码n个参数的基因如公式(2)所示:
然后,在菌群算法中加入非线性自适应旋转,具体公式为:
θi=-sgn(Ai)θi          (3)
其中:-sgn(Ai)表示旋转角的方向; 为当前最优细菌的某个量子比
特对应的概率幅, 为当前细菌的某个量子比特对应的概率幅;θi为旋转角的大小,其计算方式如下式所示:
其中:θmax为旋转角的最大值;θmin为旋转角的最小值;θ0和θi分别为当前最优细菌和当前细菌的某个量子比特在单位圆上的角度;C为一个常数,表示|θ0-θi|角度差的最大值;m为当前演化步骤的非线性调制指数。
实现改进量子菌群算法具体步骤如下:
步骤SA:初始化参数搜索空间的维数C、细菌种群大小S、细菌进行趋向性行为的次数Nc、趋向性操作中在一个方向上前进的最大步数Ns、细菌进行复制性行为的次数Nre、细菌进行迁徙性行为的次数Ned、迁徙概率Ped、向前游动的步长C(i)(i=1,2,…,S)、根据取值范围随机生成细菌位置θ即惩罚系数C和核函数σ;
步骤SB:迁徙操作循环l=l+1;
步骤SC:复制操作循环k=k+1;
步骤SD:趋向操作循环j=j+1;
步骤SE:若j<Nc,返回步骤SD进行趋向性操作。
步骤SF:复制:对给定的k,l及每个i=1,2,…,S,将细菌能量值Jbealth按从小到大的顺序排序;淘汰掉 个能量较小的细菌,选择Sr个能量较大的细菌引入量子计算,将这些细菌使用量子比特编码,并且进行非线性自适应量子旋转操作。
步骤SG:若k<Nre,返回步骤3。
步骤SH:迁徙:菌群经过若干代复制操作后,每个细菌以概率Ped背重新随机分布到寻优空间中;若l<Ned,则返回步骤2,否则结束寻优。
4.根据权利要求3所述的一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法,其特征在于:所述步骤SD具体包括以下步骤:
步骤SD1:令细菌i如下趋向一步,i=1,2,…,S;
步骤SD2:计算适应度值函数J(i,j,k,l)使用公式(5)计算;
J(i,j,k,l)=J(i,j,k,l)+Jcc(θi(j,k,l),P(j,k,l))           (5)
步骤SD3:令Jlast=J(i,j,k,l),存储为细菌i目前最好的适应值;
步骤SD4:旋转:生成一个随机向量Δ(i)∈RP,其每一个元素Δm(i),(i=1,2,…,P),都是分布在[-1,1]上的随机数;
步骤SD5:移动:令 其中,C(i)为细
菌i沿旋转后随机产生的方向游动一步大小;
步骤SD6:计算J(i,j+1,k,l),且令
J(i,j+1,k,l)=J(i,j,k,l)+Jcc(θi(j+1,k,l),P(j+1,k,l))        (7)
步骤SD7:游动:首先令m=0;然后保证m<Ns,令m=m+l,若J(i,j+1,k,l)<Jlast,令Jlast=J(i,j+1,k,l),且 返回步骤SD6,用此θi(j+1,k,
l)计算新的J(i,j+1,k,l);否则,令m=Ns;
步骤SD8:返回步骤SD2,处理下一个细菌i+1。
5.根据权利要求1所述的一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法,其特征在于:所述步骤S4中得到核极限学习机即KELM的具体内容为:
极限学习机整个训练过程需要输入层与隐含层间的连接权值ω和隐含层神经元的偏置b被选定,就能够保证得到的隐层输出矩阵H是唯一的,进而整个学习过程即为求解线性系统Hβ=T,故隐含层和输出层间的连接权值β通过公式(8)进行计算;
上式中,H+表示矩阵H的广义逆;使用正交投影法进行计算矩阵H的广义逆,得如公式(9)所示
H+=HT(HHT)-1         (9)
若在HHT对角线上加一个正数 能够让解更稳定、泛化性更强;得公式(10)
所以极限学习机的输出函数可表示为如公式(11)所示
上式中:I为对角矩阵;C为惩罚系数。
为了消除隐含层函数h(x)不确定所带来的影响,通过核函数替换HHT,根据Mercer条件来定义核矩阵,如公式(12)和(13)所示:
因此,得到核极限学习机输出表达式如公式(14)所示
选择RBF作为KELM的核函数,如公式(15)所示
K(xi,xj)=exp(-σ||xi-xj||2),σ>0           (15)。

说明书全文

一种基于多尺度CNN特征及量子菌群优化KELM的手写图像识

别方法

技术领域

[0001] 本发明涉及图像识别领域,特别是一种基于多尺度CNN特征及量 子菌群优化KELM的手写图像识别方法。

背景技术

[0002] 手写图像具有多样性和复杂性的特点,手写图像不便于被机器识 别,很难被正确识别出来,同时手写图像的质量也是参差不齐的,存 在质量较差的手写图像。而手写图像的识别对于科技的发展是必要 的,也是在图像识别中需要去攻克的。若手写图像能够很快并且很准 确的被识别,那么这将为图像识别提供一种新的方法,也能方便人们 的生活及学习。
[0003] 近年来,已出现了几种手写图像的识别方法。传统的识别方法方 面,采用最近邻算法,这个算法实现简单并且识别速度快,但是面对 复杂的手写图像就不能够准确的识别出来了,泛化识别能不足;采 用支持向量机的方法,能够增强手写图像的泛化识别能力,但是其还 存在识别精度不高的缺陷;采用稀疏编码的方法,提高了手写图像的 识别精度,但是对于质量较差的手写图像的识别还是准确度不高。利 用深度学习的方法方面,采用神经网络的方法,成功解决了复杂手写 图像识别困难的问题,但是神经网络存在不易收敛的问题,于是提出 采用卷积神经网络(CNN)方法,解决了收敛问题,但是CNN需要训 练模型的时间太长,然后提出CNN-ELM模型,减少了模型训练时间, 提高了识别精度,但是极限学习机(ELM)需要优化的参数过多,不 易寻找出最优值。

发明内容

[0004] 有鉴于此,本发明的目的是提供一种基于多尺度CNN特征及量子 菌群优化KELM的手写图像识别方法,能在保证准确度极高的情况下, 较快的识别出手写图像。
[0005] 本发明采用以下方案实现:一种基于多尺度CNN特征及量子菌群 优化KELM的手写图像识别方法,包括以下步骤:
[0006] 步骤S1:建立NSST-CNN的图像分解及特征提取模型,获取手写 图像,将手写图像进行NSST多尺度分解,所述高频图像不再细分子 带图像;
[0007] 步骤S2:将步骤S1中经过NSST分解后的一个低频图像和多个 高频图像分别经过CNN模型提取特征值;每个尺度经过的CNN网络结 构包括3个卷积层、3个池化层和1个全连接层;
[0008] 步骤S3:将每个尺度经过CNN提取出的特征值以最大值的方式 进行特征融合,形成1024个特征值;所述融合是对每个尺度相对应 的特征值进行融合;方式有四种,分别是:取最大值、取最小值、取 平均值和取中位数。
[0009] 步骤S4:将每个尺度融合后的1024的特征值作为核极限学习机 即KELM的输入,将每张手写图像对应的数字当成KELM的输出;将所 有输入进来的数据,80%用来训练出KELM的模型,20%用来测试训练 出来的模型,并得出测试精度;
[0010] 步骤S5:利用改进的量子菌群算法优化KELM的惩罚系数C和核 函数σ两个参数,这两个参数为算法的变量,手写图像识别的准确率 作为算法的适应度值;
[0011] 步骤S6:利用改进量子菌群算法优化得到的最优惩罚系数C和核 函数σ构建KELM模型,得到最优的KELM识别模型;
[0012] 步骤S7:将测试图像经过NSST-CNN模型得出的特征值带入最优 KEIM模型,得出测试精度,并将待测数字的手写图像经过步骤S1至 步骤S6进行预测,得出识别结果,实现手写图像识别。
[0013] 进一步地,步骤S1中所述建立NSST-CNN的图像分解及特征提取 模型的具体内容为:对手写图像进行NSST域下的分解,采用非下采 样金字塔(NSP)进行多尺度分解,将图像进行k次NSP分解后,得到 1个低频图像和k层高频子带图像,然后采用剪切滤波器(SF)对高l频 子带进行l级多方向分解,得到2个大小与原图像相同的多方向子带;
[0014] NSST对二维图像处理的公式,如下式(1)所示
[0015]
[0016] 式中ψ∈L2(R)2为仿射系统的基础函数;k、l和b分别为分解的尺 度系数、方向系数和平移系数,A为控制NSST尺度分解的各向异性 膨胀矩阵,S为控制NSST方向分解的剪切矩阵;
[0017] 将NSST分解后的多尺度图像用卷积神经网络来提取细节特征; 在CNN中,卷积层的神经元只与前一层的部分神经元节点相连,即它 的神经元间的连接是非全连接的,且同一层中某些神经元之间的连接 的权重w和偏移b是共享的,用以减少需要训练参数的数量;CNN的 结构包含输入层、卷积层、激励层、池化层、全连接层和输出层;所 述输入层是用于数据的输入,将图片以数据的形式输入至CNN结构; 所述卷积层是使用卷积核进行特征提取和特征映射,它是通过对输入 图像进行多次卷积操作,提取出不同的特征图;然后把当前层的每个 单元与前驱层的特征图局部通过权值建立连接并进行局部加权和 非线性变换;
[0018] 所述激励层对卷积层的输出进行一个非线性映射,卷积层使用的 激励函数为ReLu函数,f(x)=max(x,0);
[0019] 池化层的具体操作是:首先,通过粗粒化各特征的位置;其次, 每个典型的池化单元通常计算一个或几个特征图内局部块的最大值; 而相邻单元则通过行或列平移形成的块来获取输入数据,用以降低特 征表达维度,并对平移和扭曲等较小形变具有鲁棒性;所述全连接层 在CNN的尾部进行重新拟合,用以减少特征信息的损失;所述输出层 是用于输出结果。
[0020] 进一步地,所述步骤S5的具体内容如下:
[0021] 首先,在菌群算法中加入量子计算中,量子比特是用来储存信息 的物理介质,一个量子比特表示为:|φ>=α|0>+β|1>,其中(α,β)是两 个幅常数,|α|2+|β|2=1,|0>和|1>表示自旋态;由前式得一个量子为同 时包含|0>和|1>两个态的信息,量子编码n个参数的基因如公式(2) 所示:
[0022]
[0023] 然后,在菌群算法中加入非线性自适应旋转,具体公式为:
[0024] θi=-sgn(Ai)θi   (3)
[0025] 其中:-sgn(Ai)表示旋转角的方向; 为当前最 优细菌的某个量子比特对应的概率幅, 为当前细菌的某个量子比 特对应的概率幅;θi为旋转角的大小,其计算方式如下式所示:
[0026]
[0027] 其中:θmax为旋转角的最大值;θmin为旋转角的最小值;θ0和θi分 别为当前最优细菌和当前细菌的某个量子比特在单位圆上的角度;C 为一个常数,表示|θ0-θi|角度差的最大值;m为当前演化步骤的非线 性调制指数。
[0028] 实现改进量子菌群算法具体步骤如下:
[0029] 步骤SA:初始化参数搜索空间的维数C、细菌种群大小S、细菌 进行趋向性行为的次数Nc、趋向性操作中在一个方向上前进的最大步 数Ns、细菌进行复制性行为的次数Nre、细菌进行迁徙性行为的次数 Ned、迁徙概率Ped、向前游动的步长C(i)(i=1,2,…,S)、根据取值范围随 机生成细菌位置θ即惩罚系数C和核函数σ;
[0030] 步骤SB:迁徙操作循环l=l+1;
[0031] 步骤SC:复制操作循环k=k+1;
[0032] 步骤SD:趋向操作循环j=j+1;
[0033] 步骤SE:若j<Nc,返回步骤SD进行趋向性操作。
[0034] 步骤SF:复制:对给定的k,l及每个i=1,2,…,S,将细菌能量值 Jbealth按从小到大的顺序排序。淘汰掉 个能量较小的细菌,选择Sr个能量较大的细菌引入量子计算,将这些细菌使用量子比特编码,并 且进行非线性自适应量子旋转操作。
[0035] 步骤SG:若k<Nre,返回步骤3。
[0036] 步骤SH:迁徙:菌群经过若干代复制操作后,每个细菌以概率Ped背重新随机分布到寻优空间中;若l<Ned,则返回步骤2,否则结束 寻优。
[0037] 进一步地,所述步骤SD具体包括以下步骤:
[0038] 步骤SD1:令细菌i如下趋向一步,i=1,2,…,S;
[0039] 步骤SD2:计算适应度值函数J(i,j,k,l)使用公式(5)计算;
[0040] J(i,j,k,l)=J(i,j,k,l)+Jcc(θi(j,k,l),P(j,k,l))   (5)
[0041] 步骤SD3:令Jlast=J(i,j,k,l),存储为细菌i目前最好的适应值;
[0042] 步骤SD4:旋转:生成一个随机向量Δ(i)∈RP,其每一个元素Δm(i), (i=1,2,…,P),都是分布在[-1,1]上的随机数;
[0043] 步骤SD5:移动:令
[0044] 其中,C(i)为细菌i沿旋转后随机产生的方向游动一步大小;
[0045] 步骤SD6:计算J(i,j+1,k,l),且令
[0046] J(i,j+1,k,l)=J(i,j,k,l)+Jcc(θi(j+1,k,l),P(j+1,k,l))   (7)
[0047] 步骤SD7:游动:首先令m=0;然后保证m<Ns,令m=m+l,若J(i,j+1,k,l)<Jlast,令Jlast=J(i,j+1,k,l),且  返回步骤SD6,用此θi(j+1,k,l)计 算新的J(i,j+1,k,l);否则,令m=Ns;
[0048] 步骤SD8:返回步骤SD2,处理下一个细菌i+1。
[0049] 进一步地,所述步骤S4中得到核极限学习机即KELM的具体内容 为:
[0050] 极限学习机整个训练过程,需要输入层与隐含层间的连接权值ω 和隐含层神经元的偏置b被选定,就能够保证得到的隐层输出矩阵H 是唯一的,进而整个学习过程即为求解线性系统Hβ=T,故隐含层和 输出层间的连接权值β通过公式(8)进行计算;
[0051]
[0052] 上式中,H+表示矩阵H的广义逆;使用正交投影法进行计算矩 阵H的广义逆,得如公式(9)所示
[0053] H+=HT(HHT)-1   (9)
[0054] 若在HHT对角线上加一个正数 能够让解更稳定、泛化性更强; 得公式(10)[0055]
[0056] 所以极限学习机的输出函数可表示为如公式(11)所示
[0057]
[0058] 上式中:I为对角矩阵;C为惩罚系数。
[0059] 为了消除隐含层函数h(x)不确定所带来的影响,通过核函数替换 HHT,根据Mercer条件来定义核矩阵,如公式(12)和(13)所示:
[0060]
[0061]
[0062] 因此,得到核极限学习机输出表达式如公式(14)所示
[0063]
[0064] 选择RBF作为KELM的核函数,如公式(15)所示
[0065] K(xi,xj)=exp(-σ||xi-xj||2),σ>0   (15)。
[0066] 与现有技术相比,本发明具有以下有益效果:
[0067] (1)本发明利用了NSST-CNN模型提取手写图像细节特征,KELM 对特征进行识别,能在保证准确度极高的情况下,较快的识别出手写 图像,为图像识别提供新的方法,同时也能方便了人们的生活和学习。
[0068] (2)本发明不仅增强了识别精度和泛化能力,同时在训练模型 时采用需要时间少的KELM模型,KELM仅需要优化两个参数,而且用 CNN-KELM能够提取出更多细节特征,这样极大的减少了手写图像识 别的工作量以及提高了识别精度。附图说明
[0069] 图1为本发明实施例的NSST-CNN模型流程图
[0070] 图2为本发明实施例的对特征信息进行分类识别流程图。
[0071] 图3为本发明实施例的手写图像识别流程图。
[0072] 图4为本发明实施例的二元函数的算法比较图。
[0073] 图5为本发明实施例的部分手写图像图。
[0074] 图6为本发明实施例的选择不同方式的MNIST手写数据集对比实验 图。
[0075] 图7为本发明实施例的CNN模型每一层可视化图。

具体实施方式

[0076] 下面结合附图及实施例对本发明做进一步说明。
[0077] 应该指出,以下详细说明都是例示性的,旨在对本申请提供进一 步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本 申请所属技术领域的普通技术人员通常理解的相同含义。
[0078] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式, 而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除 非上下文另外明确指出,否则单数形式也意图包括复数形式,此外, 还应当理解的是,当在本说明书中使用术语“包含”和/或“包括” 时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0079] 本实施例提供一种基于多尺度CNN特征及量子菌群优化KELM的 手写图像识别方法,包括以下步骤:
[0080] 步骤S1:建立NSST-CNN的图像分解及特征提取模型,获取手写 图像,将手写图像进行NSST多尺度分解,得到一个低频图像和多个 高频图像,所述高频图像不再细分子带图像;
[0081] 步骤S2:将步骤S1中经过NSST分解后的一个低频图像和多个 高频图像分别经过CNN模型提取特征值;每个尺度经过的CNN网络结 构包括3个卷积层、3个池化层和1个全连接层;
[0082] 步骤S3:将每个尺度经过CNN提取出的特征值以最大值的方式 进行特征融合,形成1024个特征值;所述融合是对每个尺度相对应 的特征值进行融合;方式有四种,分别是:取最大值、取最小值、取 平均值和取中位数。经过实验的验证,取最大值是保留每个尺度最多 特征信息的一种方式。
[0083] 步骤S4:将每个尺度融合后的1024的特征值作为核极限学习机 即KELM的输入,将每张手写图像对应的数字当成KELM的输出;将所 有输入进来的数据,80%用来训练出KELM的模型,20%用来测试训练 出来的模型,并得出测试精度;
[0084] 步骤S5:利用改进的量子菌群算法优化KELM的惩罚系数C和核 函数σ两个参数,这两个参数为算法的变量,手写图像识别的准确率 作为算法的适应度值;
[0085] 步骤S6:利用改进量子菌群算法优化得到的最优惩罚系数C和核 函数σ构建KELM模型,得到最优的KELM识别模型;
[0086] 步骤S7:将测试图像经过NSST-CNN模型得出的特征值带入最优 KEIM模型,得出测试精度,并将待测数字的手写图像经过步骤S1至 步骤S6进行预测,得出识别结果,实现手写图像识别。
[0087] 较佳的,在本实施例中,在手写图像的特征提取方面,本实施例 采用的使NSST-CNN模型,其具体操作流程图如图1所示。首先需要 对手写图像进行NSST域下的分解。非下采样Shearlet变换是对Shearlet变换的优化改进,通过非下采样金字塔滤波器组(NSLP) 去掉了下采样环节使图像具有平移不变性、抑制伪吉布斯效应,同时 通过剪切滤波器(SF)实现对高频子带的多方向分解。
[0088] 在本实施例中,步骤S1中所述建立NSST-CNN的图像分解及特征 提取模型的具体内容为:对手写图像进行NSST域下的分解,采用非 下采样金字塔(NSP)进行多尺度分解,将图像进行k次NSP分解后, 得到1个低频图像和k层高频子带图像,然后采用剪切滤波器(SF) 对高频子带进行l级多方向分解,得到2l个大小与原图像相同的多方 向子带;但是本发明并不分解多个方向子带。
[0089] NSST对二维图像处理的公式,如下式(1)所示
[0090]
[0091] 式中ψ∈L2(R)2为仿射系统的基础函数;k、l和b分别为分解的尺 度系数、方向系数和平移系数,A为控制NSST尺度分解的各向异性 膨胀矩阵,S为控制NSST方向分解的剪切矩阵;
[0092] 随后就是将NSST分解后的多尺度图像用卷积神经网络(CNN)来 提取细节特征。在人工的全连接神经网络中,每相邻两层之间的每个 神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时 全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢, 而在CNN中,卷积层的神经元只与前一层的部分神经元节点相连,即 它的神经元间的连接是非全连接的,且同一层中某些神经元之间的连 接的权重w和偏移b是共享的,这样大量地减少了需要训练参数的数 量。CNN的结构一般包含这几个层:输入层、卷积层、激励层、池化 层、全连接层和输出层。
[0093] 输入层是用于数据的输入,将图片以数据的形式输入至CNN结 构。
[0094] 卷积层是使用卷积核进行特征提取和特征映射,它是通过对输入 图像进行多次卷积操作,提取出不同的特征图;然后把当前层的每个 单元与前驱层的特征图局部块通过权值建立连接并进行局部加权和 非线性变换。
[0095] 激励层主要对卷积层的输出进行一个非线性映射,因为卷积层的 计算还是一种线性计算,使用的激励函数一般为ReLu函数,如下式 所示
[0096] f(x)=max(x,0)
[0097] 池化层是进行下采样,对特征图稀疏处理,减少数据运算量,池 化本身的具体操作是:首先,通过粗粒化各特征的位置,避免相对位 置导致所形成主题的微小变化,以此实现主题的可靠检测。其次,每 个典型的池化单元通常计算一个或几个特征图内局部块的最大值;而 相邻单元则通过行或列平移形成的块来获取输入数据,从而降低特征 表达维度,并对平移和扭曲等较小形变具有鲁棒性。
[0098] 全连接层通常在CNN的尾部进行重新拟合,减少特征信息的损 失,根据实际需要可以串联多个卷积、非线性变换和池化阶段。输出 层是用于输出结果。
[0099] 在本发明的CNN模型中,每一个尺度的每一个层设置的参数都不 一样,具体情况如表1所示,其中C1、C3、C3表示卷积层,P2、P4、 P6表示池化层。
[0100] 表1 CNN模型参数
[0101]
[0102] 在经过NSST-CNN模型特征提取之后,就使需要对提取出的特征 进行加药状态的分类识别,其流程图如图2所示。
[0103] 首先量子菌群算法,量子菌群算法是用来训练KELM的参数的, 它是菌群算法的改进,菌群算法是观察人类肠道中大肠杆菌在觅食过 程中体现出来的智能行为,研究发现细菌的觅食行为具有四个典型的 行为,分别为趋向性行为、聚集性行为、复制行为和迁徙行为,由此 提出菌群算法这种智能随机搜索算法。菌群算法具有对初值和参数选 择不敏感、鲁棒性强等特点,但是它寻找最优适应度的能力还有待提 高,本实施例引入量子计算,将量子比特编码和非线性自适应量子旋 转门融入菌群算法,提高算法的寻优能力。
[0104] 首先,在菌群算法中加入量子计算中,量子比特是用来储存信息 的物理介质,一个量子比特表示为:|φ>=α|0>+β|1>,其中(α,β)是两 个幅常数,|α|2+|β|2=1,|0>和|1>表示自旋态;由前式得一个量子为同 时包含|0>和|1>两个态的信息,量子编码n个参数的基因如公式(2) 所示:
[0105]
[0106] 量子旋转门是用来更新染色体的位置,选择不同的旋转相位,对 算法的收敛速度和寻优能力将产生很大影响。在菌群的实际过程中, 旋转角度并不是一个常数,固定的旋转相位不利于算法的收敛,较大 的旋转相位有利于探索新的区域,加快收敛速度,较小的旋转相位能 促使细菌在局部区域内进行细搜索,寻找最优解。由此,本实施例提 出一种非线性自适应旋转角来改善菌群算法的性能。
[0107] 在菌群算法中加入非线性自适应旋转角,具体公式为:
[0108] θi=-sgn(Ai)θi   (3)
[0109] 其中:-sgn(Ai)表示旋转角的方向; 为当前最 优细菌的某个量子比特对应的概率幅, 为当前细菌的某个量子比 特对应的概率幅;θi为旋转角的大小,其计算方式如下式所示:
[0110]
[0111] 其中:θmax为旋转角的最大值;θmin为旋转角的最小值;θ0和θi分 别为当前最优细菌和当前细菌的某个量子比特在单位圆上的角度;C 为一个常数,表示|θ0-θi|角度差的最大值;m为当前演化步骤的非线 性调制指数。
[0112] 实现改进量子菌群算法具体步骤如下:
[0113] 步骤SA:初始化参数搜索空间的维数C、细菌种群大小S、细菌 进行趋向性行为的次数Nc、趋向性操作中在一个方向上前进的最大步 数Ns、细菌进行复制性行为的次数Nre、细菌进行迁徙性行为的次数 Ned、迁徙概率Ped、向前游动的步长C(i)(i=1,2,…,S)、根据取值范围随 机生成细菌位置θ即惩罚系数C和核函数σ;
[0114] 步骤SB:迁徙操作循环l=l+1;
[0115] 步骤SC:复制操作循环k=k+1;
[0116] 步骤SD:趋向操作循环j=j+1;
[0117] 步骤SE:若j<Nc,返回步骤SD进行趋向性操作。
[0118] 步骤SF:复制:对给定的k,l及每个i=1,2,…,S,将细菌能量值 Jbealth按从小到大的顺序排序。淘汰掉 个能量较小的细菌,选择Sr个能量较大的细菌引入量子计算,将这些细菌使用量子比特编码,并 且进行非线性自适应量子旋转门操作。
[0119] 步骤SG:若k<Nre,返回步骤3。
[0120] 步骤SH:迁徙:菌群经过若干代复制操作后,每个细菌以概率Ped背重新随机分布到寻优空间中;若l<Ned,则返回步骤2,否则结束 寻优。
[0121] 在本实施例中,所述步骤SD具体包括以下步骤:
[0122] 步骤SD1:令细菌i如下趋向一步,i=1,2,…,S;
[0123] 步骤SD2:计算适应度值函数J(i,j,k,l)使用公式(5)计算;
[0124] J(i,j,k,l)=J(i,j,k,l)+Jcc(θi(j,k,l),P(j,k,l))   (5)
[0125] 步骤SD3:令Jlast=J(i,j,k,l),存储为细菌i目前最好的适应值;
[0126] 步骤SD4:旋转:生成一个随机向量Δ(i)∈RP,其每一个元素Δm(i),(i=1,2,…,P),都是分布在[-1,1]上的随机数;
[0127] 步骤SD5:移动:令
[0128] 其中,C(i)为细菌i沿旋转后随机产生的方向游动一步大小;
[0129] 步骤SD6:计算J(i,j+1,k,l),且令
[0130] J(i,j+1,k,l)=J(i,j,k,l)+Jcc(θi(j+1,k,l),P(j+1,k,l))   (7)
[0131] 步骤SD7:游动:首先令m=0;然后保证m<Ns,令m=m+l,若 J(i,j+1,k,l)<Jlast,令Jlast=J(i,j+1,k,l),且  返回步骤SD6,用此θi(j+1,k,l)计 算新的J(i,j+1,k,l);否则,令m=Ns;
[0132] 步骤SD8:返回步骤SD2,处理下一个细菌i+1。
[0133] 在本实施例中,所述步骤S4中得到核极限学习机即KELM的具体 内容为:
[0134] 然后就是核极限学习机部分,核极限学习机是对极限学习机的改 进,在使用极限学习机过程中,需要人工设置隐含层节点个数,输入 权值和隐含层偏置可以随机选取,这样就能够直接获取唯一的最优 解,弥补前馈神经网络方法的不足。
[0135] 对于极限学习机整个训练过程来说,需要输入层与隐含层间的连 接权值ω和隐含层神经元的偏置b被选定,就能够保证得到的隐层输 出矩阵H是唯一的,进而整个学习过程即为求解线性系统Hβ=T,故 隐含层和输出层间的连接权值β通过公式(8)进行计算;
[0136]
[0137] 上式中,H+表示矩阵H的广义逆;计算矩阵H的广义逆的求解 方式可以有多种,比如:正交投影法、奇异值分解法和迭代法等。一 般常使用正交投影法进行计算矩阵H的广义逆,得如公式(9)所示
[0138] H+=HT(HHT)-1   (9)
[0139] 若在HHT对角线上加一个正数 能够让解更稳定、泛化性更强; 得公式(10)[0140]
[0141] 所以极限学习机的输出函数可表示为如公式(11)所示
[0142]
[0143] 上式中:I为对角矩阵;C为惩罚系数。
[0144] 为了消除隐含层函数h(x)不确定所带来的影响,通过核函数替换 HHT,根据Mercer条件来定义核矩阵,如公式(12)和(13)所示:
[0145]
[0146]
[0147] 因此,得到核极限学习机输出表达式如公式(14)所示
[0148]
[0149] 在KELM算法中,我们无需担心隐含层函数h(x)、输入层与隐含 层间的连接权重ω、隐含层神经元的偏置b与隐节点个数L这些参数 所带来的影响,只需要选择相应的核函数即可。通常我们会选择RBF 作为KELM的核函数,如公式(15)所示
[0150] K(xi,xj)=exp(-σ||xi-xj||2),σ>0   (15)。
[0151] 虽然KELM引入RBF核函数和惩罚参数解决了ELM的输入权值随 机初始化问题,并增强了算法的泛化性能,但同时其性能易受惩罚系 数C和核函数σ的影响。因为岭回归参数C和RBF核函数σ的选取一 般采用试算或者凭经验进行确定的。不同的学习参数组合(C,σ)都会 影响KELM的拟合性能表现。所以为了获取最优的分类性能,本实施 例是使用量子菌群算法进行优化KELM的惩罚系数C和核函数σ两个 参数。
[0152] 为了验证本实施例提出量子菌群算法的参数寻优性能,特意选 取一个复杂二元非线性函数进行求最大值。二元非线性函数如下所 示:
[0153] maxf(x,y)=xsin(4πx)+ysin(20πy)
[0154] 其中x和y两个数值范围如下:
[0155]
[0156] 在使用上述二次函数和相同阈值的情况下,将量子菌群算法与量 子和声搜索算法和量子遗传算法进行测试,通过测试函数对这三种算 法进行测试实验,获取的结果如图4所示。
[0157] 由图4可以发现量子菌群算法的收敛速度相对量子遗传算法和 量子和声搜索算法快了很多,并且收敛效果也好于量子遗传算法、量 子和声搜索算法和菌群算法,同时量子菌群算法的收敛精度相比量子 遗传算法、量子和声搜索算法和菌群算法好很多。采用这四种算法分 别进行了10次的测试实验,计算出这三种算法的最优解平均值和终 止代数平均值,得到的结果如下:量子和声搜索算法的两个数值为 17.0035和50.1,量子遗传算法的两个数值为17.3503和96.9,菌 群算法的两个数值为17.0012和65.3,量子菌群算法的两个数值为 17.8024和94.8。该二元函数的最大值为17.9213,从上述的结果可 以看出量子菌群算法求出的最优解平均值是最接近二元函数的最大 值,并且收敛速度快的同时不易陷入局部最优解,这在一定程度上可 以说明量子菌群算法不仅可以比较好地逼近全局最优解,收敛速度也 有所提升,具有更高的鲁棒性。
[0158] 同时,在量子细菌觅食算法优化KELM的惩罚系数C和核函数σ两 个参数的取值范围如下所示。
[0159]
[0160] 基于多尺度CNN特征及量子菌群优化KELM做如下实例,从美国 国家标准与技术研究所的MNIST手写数据集中,选取训练集55000 张、验证集5000张、测试集10000张,部分手写图像如图5所示。
[0161] 在图像经过NSST域分解后会分解成多个尺度的图片。为了验证 分解成几个尺度是最适合MNIST手写数据集的特征提取和分类识别, 分别选取:不经过NSST、两个尺度、三个尺度、四个尺度和五个尺 度进行实验。在各个尺度通过CNN提取出特征值后,为了验证什么融 合方式是最适合MNIST手写数据集的特征提取和分类识别,其融合 方式有四种,分别是:取最大值、取最小值、取平均值和取中位数。 对于分解尺度和融合方式,为了选取最合适的方法,集中做了实验, 结果如图6所示,其中在三个尺度取最大值的特征融合方式时测试精 度最高,达到了99.95%。对于不同的分解方式得出的测试精度不一 样。其中不经过NSST域分解的测试精度是最低的,说明NSST域分解 在图像的特征细节提取方面有重要作用;同时,经过NSST域分解成 不同的尺度数量,其测试精度也不一样,在三个尺度时得出的测试精 度时最高的,两个尺度、四个尺度和五个尺度会次之。对于不同的融 合方式,得出的测试精度会不同。其中,取最大值的测试精度最高, 然后是取最小值,取中位数和取平均值次之。所以,达到最佳状态的 是三尺度和取最大值的方法。在这个最佳状态下也得到了量子菌群算 法优化的两个参数的结果,KELM的惩罚系数C为97.1309和核函数σ 为82.3399。
[0162] 选取一张手写图片,用NSST多尺度分解成三个尺度,然后经过 CNN模型,将经过CNN每一层网络的图像输出,如图7所示。可见, 经过卷积层与池化层的图片呈不断变化的趋势,具有分层特征,与人 类的视觉系统相似,手写的特征被提取出更多的细节。
[0163] 最后,为了验证本发明方法在手写图像识别在测试精度和实验耗 时上有了极大的改进。分别选取最近邻算法、支持向量机方法、CNN 方法、CNN-ELM方法,应用在手写图像中做实验,并与本发明方法做 对比。实验的训练精度、训练时间、测试精度和测试时间的结果如表 2所示。在手写图像识别实验中。最近邻算法受限于实现过于简单, 其训练精度和测试精度不会太高;支持向量机方法受限于缺泛化能 力,训练精度和测试精度有所提高,但还是相对较低;CNN方法受限 于CNN模型在识别训练模型过程中耗时长;CNN-ELM方法在训练精度 和测试精度方面都有了较大的改进,但是相对于本发明提出的方法, 训练精度和测试精度会低于本发明方法。综上分析,本实施例提出的 基于多尺度CNN特征及量子菌群优化KELM的手写图像识别方法有较 高识别准确度,满足复杂手写图像识别需求。
[0164] 表2不同方法的手写图像识别结果对比
[0165]
[0166] 传统的手写图像识别方法简单易实现,但是对于复杂的手写图像 识别缺少泛化能力,识别精度也不高。而深度学习的手写图像识别方 法增强了泛化能力和识别精度,但是存在训练模型时间过长或优化参 数过多等问题。本实施例首先,将手写图像进行NSST分解,得到三 个尺度的多尺度图像;其次,用CNN模型提取每一个尺度的细节特征, 并以最大值的方式融合这些细节特征;然后,用量子菌群算法去优化 KELM模型的参数,得到最佳的KELM模型;最后,把融合后的特征当 作KELM的输入,对特征进行识别,完成手写图像的识别。
[0167] 本实施例不仅增强了识别精度和泛化能力,同时在训练模型时采 用需要时间少的KELM模型,KELM仅需要优化两个参数,而且用 CNN-KELM能够提取出更多细节特征,这样极大的减少了手写图像识 别的工作量以及提高了识别精度。
[0168] 手写图像具有多样性和复杂性的特点,而且手写图像的质量参差 不齐,很难被快速并且准确的识别出来。本实施例利用了NSST-CNN 模型提取手写图像细节特征,KELM对特征进行识别,能在保证准确 度极高的情况下,较快的识别出手写图像,为图像识别提供新的方法, 同时也能方便了人们的生活和学习。
[0169] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的 均等变化与修饰,皆应属本发明的涵盖范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈