首页 > 专利 > 杭州电子科技大学 > 一种基于分层特征提取与多层脉冲神经网络的图像识别方法专利详情

一种基于分层特征提取与多层脉冲神经网络的图像识别方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2018-09-05
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2019-01-22
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2021-09-07
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2038-09-05
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201810782122.9 申请日 2018-09-05
公开/公告号 CN109102000B 公开/公告日 2021-09-07
授权日 2021-09-07 预估到期日 2038-09-05
申请年 2018年 公开/公告年 2021年
缴费截止日
分类号 G06K9/62G06N3/04G06N3/06G06N3/08 主分类号 G06K9/62
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 0
权利要求数量 1 非专利引证数量 1
引用专利数量 0 被引证专利数量 0
非专利引证 1、CN 106845541 A,2017.06.13CN 106845541 A,2017.06.13CN 107194426 A,2017.09.22CN 107092959 A,2017.08.25CN 108304912 A,2018.07.20CN 103235937 A,2013.08.07CN 105760930 A,2016.07.13金昕“.基于视觉分层的前馈多脉冲神经网络算法研究”《.万方数据库》.2018,第2-5章. X.Xu等.“Visual Pattern RecognitionUsing Enhanced Visual Features and PSD-Based Learning Rule”《.IEEE Transactionson Cognitive and Developmental Systems》.2017,第10卷(第2期),第205-212页. X.Xu等.“A hierarchical visualrecognition model with precise-spike-driven synaptic plasticity” 《.2016 IEEESymposium Series on ComputationalIntelligence》.2017,第1-7页.;
引用专利 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 徐小良、卢文思、方启明 第一发明人 徐小良
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 3
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
浙江千克知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
周希良
摘要
本发明公开了一种基于分层特征提取与多层脉冲神经网络的图像识别方法。本发明根据视觉皮层对视觉信息的处理方式,在HMAX模型基础上,引入稀疏特性与特征自主学习方法,使得层次化特征提取结果能合理保留有效信息,并通过基于STDP和反向传播算法的多层脉冲神经网络模型,实现对提取数据的训练与识别。并且采用相位编码作为层次化特征提取与多层脉冲神经网络连接的桥梁,有效地将像素信息转换为时间信息,提高识别精度。本发明的图像识别方法不仅满足生物特性并且具有良好的分类性能;在层次化特征提取过程中,将手工特征与自主学习特征结合,能更好地满足不同需求;同时利用多层脉冲神经网络进行识别分类,能有效处理复杂数据。
  • 摘要附图
    一种基于分层特征提取与多层脉冲神经网络的图像识别方法
  • 说明书附图:图1
    一种基于分层特征提取与多层脉冲神经网络的图像识别方法
  • 说明书附图:图2
    一种基于分层特征提取与多层脉冲神经网络的图像识别方法
  • 说明书附图:图3
    一种基于分层特征提取与多层脉冲神经网络的图像识别方法
  • 说明书附图:图4
    一种基于分层特征提取与多层脉冲神经网络的图像识别方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-09-07 授权
2 2019-01-22 实质审查的生效 IPC(主分类): G06K 9/62 专利申请号: 201810782122.9 申请日: 2018.09.05
3 2018-12-28 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种基于分层特征提取与多层脉冲神经网络的图像识别方法,其特征在于该方法包括以下步骤:
步骤
1.层次化视觉信息处理
步骤1.
1.S1、C1层实现选择性与不变性
在S1层利用Gabor滤波器实现边缘信息的提取,主要操作是利用四个方向及两个尺度的Gabor滤波器组对输入图像进行滤波,得到八个响应图,采用的Gabor滤波器的公式为:
s.t.x0=x cosθ+y sinθ
and y0=‑x sinθ+y cosθ
其中σ表示相位偏移,γ表示长宽比,λ表示波长,θ表示方向所选择的四个方向为0°,
45°,90°,135°,选择的两个尺度则根据需要处理的图像大小确定;
图像在经过S1层实现边缘信息选择后,在C1层则利用Max‑Pooling方法在同个方向的响应图内按滑动窗口大小求窗口内响应的最大值,然后在两个不同尺度的最大值图上,对各自对应的像素再求一次最大值;利用这两步操作得到空间相邻和尺度相邻的最大值图,得到具有不变性的响应,同时达到数据降维的目的;
步骤1.
2.S2、C2层实现稀疏性以及自主学习
为了在S2层中能提取更多的图像信息以及不局限于提取边缘信息,在C1层的结果图上采用FastICA算法对其进行学习,且满足稀疏编码特性;稀疏编码的代价函数为SC=AS
其中SC表示输入向量,A表示系数矩阵,S表示基向量矩阵,λ为常数;a和s分别是矩阵A和矩阵S当中的元素,||·||F表示Forbenius范式;
根据FastICA算法,将代价函数转换为
‑1
A为可逆矩阵,W可表示为W=A ; 表示W当中第j行,sci表示SC当中第i列,fj(·)表示稀疏概率分布函数;
利用FastICA算法以及上述代价函数迭代计算出S2层的结果后,在C2层利用Max‑Pooling将经过FastICA算法处理得到的线性特征转换成非线性特征,具体表示为C2(xi,yj)=max S2(xi,...i+m‑1,yi,...,i+m‑1)
其中m表示滑动窗口大小;在C1层采用的Max‑Pooling操作滑动窗口在移动过程中有m/
2的窗口重叠,而在C2层的Max‑Pooling当中移动过程窗口无重叠;
步骤
2.像素信息到时间信息的转换
将相位编码作为连接层次化特征信息与脉冲神经网络的桥梁;该编码采用两种类型的编码神经元,分别是兴奋性编码神经元和抑制性编码神经元;根据像素值信息以及相应的位置信息,像素被判断为是激活状态还是抑制状态,其所对应的神经元利用规则将像素信息编码成对应的时间信息,具体过程如下
step1:
step2:if ti>tmax
ti=ti‑tmax
step3:
其中xi表示图像当中第i个像素,ti表示第i个像素对应的时间,tmax表示时间窗口,t_th
step表示时间间隔,j 表示第j类编码神经元,n表示编码神经元类别数;step3实现了编码后的时间信息与脉冲神经网络中输入神经元之间的映射,其中k表示第i个输入神经元包含了k个时间脉冲序列;该编码过程类似于动作电位的周期震荡,具有周期性;
步骤
3.利用多层脉冲神经网络进行训练学习
采用多层脉冲神经网络作为分类学习器,构建的输入层‑隐含层、隐含层‑输出层的目标函数如下
其中x表示输入的时间序列,y表示隐含层输出的脉冲序列,zo表示输出层输出的脉冲序ref
列,z 表示输出层的目标脉冲序列,T为学习周期; 为脉冲序列q的形式化表示,具体形式为
f
其中t表示第f个脉冲发放的时间;ρ为噪声逃逸率,表示膜电压大于阈值会产生脉冲的概率强度;
多层脉冲神经网络的简要训练过程如下:
输入脉冲在神经元的作用下,转换成动作电位在神经元之间传递,并且通过层与层之间的权值连接产生不同的强弱作用;最终根据输出层神经元产生脉冲的概率强度生成相应的输出脉冲;为了使输出脉冲序列接近目标脉冲序列,根据定义的目标函数,求解令隐含层‑输出层目标函数有最大似然值的权值W;隐含层‑输出层权值的调整导致输入层‑隐含层权值也需做相应的调整,根据权值的链式求导,求得输入层‑隐含层权值调整值;两层的权值调整值如下:
其中Δwhi,Δwoh分别表示输入层‑隐含层,隐含层‑输出层的权值调整值,Θ表示脉冲序列作用于神经元,使其产生电压的核函数;为了提高计算效率以及使权值调整更具生物性,隐含层‑输出层的权值调整利用STDP算法进行优化;η表示学习率,为了更有效的调整权值,采用Adam算法对学习率进行优化;每轮计算后,投入到下一轮进行计算的权值为:
W←W+η·Δw
最后利用vRD指标判断实际输出脉冲序列与目标脉冲序列之间距离收敛或者训练周期结束来停止对网络的训练;在类别判定过程中,利用求得的权值以及vRD指标进行分类;实际输出脉冲序列与vRD最小值所对应的目标脉冲序列归为同一类。
说明书

技术领域

[0001] 本发明涉及脉冲神经网络领域,具体涉及一种基于分层特征提取与多层脉冲神经网络的图像识别方法。

背景技术

[0002] 当前已有一系列计算模型用于模拟视觉信息在视觉皮层区域的输入输出关系。这些模型关注信息的表现形式、运动状态、颜色纹理等或是关注具体的功能,如对象识别、边界检测、动作识别等。虽然这些模型解释了视觉基础计算机制,却缺乏具有生物依据的解释性。为了模拟大脑视觉皮层对视觉信息处理的高效和低功耗特性,将生物神经网络应用于计算机视觉计算模型,以视觉系统的生物原理为依托,构建一个具有生物拟态的计算模型是当前探索视觉系统的研究重点。
[0003] 在计算机视觉中,层次化视觉信息处理方式能够模拟视觉皮层中V1到V4区的处理过程:由点到线到面逐级抽象,还原成高级模型。正如深度学习当中,低层的Gabor滤波器能模拟V1区识别图像像素级局部特征的功能,在高级区域中会利用其他方式将低级特征组合成全局特征,形成复杂模式。但目前计算机对于视觉信息的编解码操作较为简单,如采用Gabor金字塔建立感受野模型,采用不同尺度的小方块来逼近视觉感受野。这些方式只适用于初级视觉皮层,对于处理高级视觉皮层之间信息的联系依然不够深入。同时目前对视觉信息的层次化处理方式依旧存在着计算量大、耗时长的缺陷。
[0004] 脉冲神经网络属于第三代神经网络模型,实现了更高级的生物神经模拟水平。作为生物神经网络的代表,脉冲神经网络以膜电压升降产生的脉冲实现神经元之间的通信机制,而非人工神经网络中的数值运算。因此,与传统人工神经网络相比,脉冲神经网络更能够模仿生物神经元之间的连接与通信,能够进行复杂的时空信息处理。脉冲神经网络能通过对神经元建模,利用监督学习、非监督学习、强化学习等方式对网络进行训练,形成一些具体的应用功能。但对于脉冲神经网络的研究,尤其是对多层脉冲神经网络的研究,仍然面临很大困难,主要原因是在脉冲神经网络中脉冲发放不连续,导致反向传播困难,不利于网络层级之间权重的调整。

发明内容

[0005] 本发明的主要目的在于能够通过层次化信息处理与脉冲神经网络结合,构建一个具有神经拟态的图像识别方法。同时在层次化信息处理过程中添加稀疏特性从而达到降低计算量的目的。利用概率方式解决多层脉冲神经网络中脉冲发放不连续,导致反馈困难的问题。其具体内容如下:
[0006] 1层次化视觉信息处理
[0007] 对视觉信息进行层次化建模,能够提取到更加高级的特征。HMAX以S层(simple cells)和C层(complex cells)交替的形式构建层次化模型。在HMAX基础上,本发明加入稀疏特性对其进行改进。
[0008] 1.1 S1、C1层实现选择性与不变性
[0009] 在HMAX模型当中,根据初级视觉皮层(V1)区域的细胞对视野内的边缘信息敏感的特性,在S1层利用Gabor滤波器实现边缘信息的提取。为了简化操作,本发明利用4个方向及2个尺度的Gabor滤波器组对输入图像进行滤波,得到8个响应图(response map)。采用的Gabor滤波器的公式为:
[0010]
[0011] s.t.x0=x cosθ+y sinθ
[0012] and y0=‑x sinθ+y cosθ
[0013] 其中σ表示相位偏移,γ表示长宽比,λ表示波长,θ表示方向。在本发明中所选择的4个方向为(0°,45°,90°,135°),选择的两个尺度(滤波器大小)则根据需要处理的图像大小确定。
[0014] 图像在经过S1层实现了边缘信息的选择后,在C1层则利用Max‑Pooling方法在同个方向的响应图内按滑动窗口大小求窗口内响应的最大值,然后在两个不同尺度的最大值图上,对各自对应的像素再求一次最大值。利用这两步操作得到空间相邻和尺度相邻的最大值图,得到具有不变性的响应,同时达到数据降维的目的。
[0015] 1.2 S2、C2层实现稀疏性以及自主学习
[0016] 为了在S2层中能提取更多的图像信息以及不局限于提取边缘信息,在C1的结果图上采用FastICA对其进行学习,且满足了稀疏编码的特性。稀疏编码的代价函数为[0017] SC=AS
[0018]
[0019]
[0020] 其中SC表示输入向量,A表示系数矩阵,S表示基向量矩阵,λ为常数。a和s分别是矩阵A和矩阵S当中的元素,||·||F表示Forbenius范式。根据FastICA算法,可将代价函数转换为
[0021]
[0022] 为了简化计算,假定A为可逆矩阵,则W=A‑1。 表示W当中第j行,sci表示SC当中第i列,fj(·)表示稀疏概率分布函数。
[0023] 利用FastICA算法以及上述代价函数迭代计算出S2层的结果后,在C2层利用Max‑Pooling将经过FastICA处理等到的线性特征转换成非线性特征,具体表示为[0024] C2(xi,yj)=max S2(xi,...i+m‑1,yi,...,i+m‑1)
[0025] 其中m表示滑动窗口的大小。在C1层采用的Max‑Pooling操作滑动窗口在移动过程中有m/2的窗口重叠,而在C2层的Max‑Pooling当中移动过程窗口无重叠。
[0026] 2像素信息到时间信息的转换
[0027] 本发明将相位编码作为连接层次化特征信息与脉冲神经网络的桥梁。该编码采用两种类型的编码神经元,分别是兴奋性(excitatory)编码神经元和抑制性(inhibitory)编码神经元。根据像素值信息以及相应的位置信息,像素被判断为是激活状态还是抑制状态,其所对应的神经元利用规则将像素信息编码成对应的时间信息,具体规则如下[0028] step1: xi∈jth encoding neuron
[0029] step2:if ti>tmax
[0030] ti=ti‑tmax
[0031] step3:
[0032] 其中xi表示图像当中第i个像素,ti表示第i个像素对应的时间,tmax表示时间窗口,tht_step表示时间间隔,j 表示第j类编码神经元,n表示编码神经元类别数。step3实现了编码后的时间信息与脉冲神经网络中输入神经元之间的映射,其中k表示第i个输入神经元包含了k个时间脉冲序列。该编码过程类似于动作电位的周期震荡,具有周期性。
[0033] 3利用多层脉冲神经网络进行训练学习
[0034] 在本发明中,为了构造一个具有生物特性的图像识别方法,采用多层脉冲神经网络作为分类学习器。该多层脉冲神经网络以概率方法解决了层级之间权重调整的问题,构建的输入层‑隐含层、隐含层‑输出层的函数如下
[0035]
[0036]
[0037] 其中x表示输入的时间序列,y表示隐含层输出的脉冲序列,zo表示输出层输出的ref脉冲序列,z 表示输出层的目标脉冲序列,T为学习周期。 为脉冲序列q的形式化表示,具体形式为
[0038]
[0039]
[0040]
[0041] 其中tf表示第f个脉冲发放的时间。ρ为噪声逃逸率(escape noise),表示了膜电压大于阈值会产生脉冲的概率强度,其表达式为
[0042]
[0043] u表示膜电压,表示阈值电压。多层脉冲神经网络的简要训练过程如下[0044]
[0045] 其中Θ表示脉冲序列作用于神经元,使其产生电压的核函数。经过多层脉冲神经网络的训练和学习,最后利用vRD(van Rossum Distance)指标进行类别判定,实际输出脉冲序列与最接近的目标脉冲序列归为同一类。
[0046] 与现有技术相比,本发明有如下优点:
[0047] 本发明受到生物视觉系统对视觉信息处理方式的启发,将层次化特征处理与多层脉冲神经网络相结合,构造了一个具有生物启发性的图像识别方法。一方面,在层次化特征提取部分,利用FastICA实现稀疏性,并且不同于S1层的处理方式,该方法使得C1层到S2层的处理不受手工特征的限制,能够自主学习特征。并且利用C2层的最大池化操作将提取的线性特征转换为非线性特征,更符合实际的视觉信息处理。另一方面,利用多层脉冲神经网络作为实现图像分类功能的分类器,使得整个识别方法更具生物特性。在脉冲神经网络当中以概率方法构建目标函数,从而能够采用STDP算法和反向传播算法进行多层权值的调整,从而提高了网络计算能力。

实施方案

[0052] 下面结合附图对本发明进一步说明。
[0053] 图1至图4分别展示了整个图像识别过程的每个阶段,该过程可分为3个步骤,具体内容如下:
[0054] 步骤1层次化特征提取
[0055] 其中图2描述了层次化特征提取的整体过程。在这个过程当中采用了一个四层的模型,分别是S1层、C1层、S2层和C2层,这里所涉及的参数值大小主要针对MNIST数据集,其中各层的具体操作如下:
[0056] 1.1S1层:Gabor滤波对边缘信息的提取
[0057] 初级视觉皮层区域的细胞对边缘信息具有强烈敏感性,而Gabor滤波器的频率和方向表达被认为与人类视觉系统相似,因此在这一步骤中使用二维的Gabor滤波模拟simple cells的感受野情况。采用4个方向及2个尺度的Gabor滤波器组对输入图像进行滤波,得到8个响应图(response map)。采用的Gabor滤波的核函数为:
[0058]
[0059] s.t.x0=x cosθ+y sinθ
[0060] and y0=‑x sinθ+y cosθ
[0061] 其中λ表示波长,σ表示相位偏移,γ表示长宽比,取值分别3.5,0.3,0.8λ。θ表示方向,在本发明中所选择的4个方向为(0°,45°,90°,135°),选择的两个尺度(滤波器大小)分别是5×5和7×7。
[0062] 1.2C1层:Max‑Pooling操作
[0063] 在经过S1层实现了边缘信息的选择后,获得两个尺度四个方向的响应图。C1层先采用Max‑Pooling在同个方向不同尺度的响应图上取各个像素的最大值,即求“尺度相邻”意义下的最值。再在这个结果上根据滑动窗口大小,取在该窗口内响应的最大值,即求“空间相邻”意义下的最值,其中该窗口的每次移动都有1/2窗口重叠。通过S1层和C1层的组合,得到具有选择性和不变性的响应,同时达到数据降维的目的。
[0064] 1.3 S2层:利用FastICA自主学习特征
[0065] 在S2层采用FastICA的操作是因为它既满足了稀疏性又能够自主学习特征,与S1层的手工特征能很好的结合。在稀疏编码中,代价函数为
[0066] SC=AS
[0067]
[0068]
[0069] 根据FastICA算法,将代价函数转换为
[0070]
[0071] FastICA算法迭代地求出一组W值后,根据需求将W当中的基向量从大到小排列。在本发明中选择前6个基向量作为特征模板对C1结果进行处理,最终C1的每个结果得到相应的6个响应图。
[0072] 1.4 C2层:Max‑Pooling
[0073] C2层的操作同C1层操作相似,将S2层得到的6个响应图拼接成一张大图,在这个大图上,在滑动窗口内求空间相邻的像素最大值,其中C2层采用的滑动窗口在滑动过程当中窗口不重叠。
[0074] 步骤2利用脉冲编码将像素信息转换成时间信息
[0075] 该编码策略采用两种类型的编码神经元,分别是兴奋性(excitatory)编码神经元和抑制性(inhibitory)编码神经元。根据像素值信息以及相应的位置信息,像素被判断为是激活状态还是抑制状态。每个像素都对应着一个编码神经元,根据一定规则将像素信息编码成对应的时间信息。该规则涉及三个步骤,分别是在周期震荡函数上进行编码,微调时间信息为t_step的倍数以及将时间信息按一定规律映射到输入神经元上,使得每个输入神经元对应一个脉冲序列。具体过程如下
[0076] step1: xi∈jth encoding neuron
[0077] step2:if ti>tmax
[0078] ti=ti‑tmax
[0079] step3:
[0080] 其中tmax=500ms,t_setp=1ms,n=2,Input neurons=220。
[0081] 步骤3利用多层脉冲神经网络进行训练学习
[0082] 为了提高脉冲神经网络的分类性能,本发明选择一个多层学习算法。该算法以概率方法构建输入层‑隐含层、隐含层‑输出层的函数:
[0083]
[0084]
[0085] 在该方法中设置阈值电压Vthr=15mV,每次产生脉冲重置电压的变化量为Vrest=‑15mV,设置不同层的逃逸率为Δuh=0.5mV,Δuo=5mV。膜时间常数和突触时间常数分别设置为10和5。用随机生成的泊松脉冲序列验证该算法的性能,结果如图4所示。可见原先散乱分布的脉冲,在经过隐含层和输出层的训练学习之后,逐渐能在设定的目标脉冲序列的周围产生脉冲。在最后的分类判定中,使用vRD(van Rossum Distance)指标判断实际输出脉冲序列与目标脉冲序列的距离,取距离小者为对应类别。简要的算法描述如下:
[0086]
[0087] STDP根据实际输出脉冲与目标脉冲之间的误差计算权值变化量。再根据反向传播方法,使得在计算出输出层的权值变化量后,隐含层也能作相应的变化。在step2当中使用Adam算法调整学习率,从3(d)图中可以看出调整学习率后,实际输出的脉冲序列与目标脉冲序列的距离更加接近。

附图说明

[0048] 图1是本发明方法总体流程图;
[0049] 图2是层次化特征提取的整体结构图;
[0050] 图3是相位编码策略的概念图;
[0051] 图4是采用多层脉冲神经网络进行学习,输入层、隐藏层、输出层以及采用Adam方法对学习进行优化的结果图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号