CN114222142B - 基于脉冲神经网络的图像编码方法及装置 - Google Patents
基于脉冲神经网络的图像编码方法及装置 Download PDFInfo
- Publication number
- CN114222142B CN114222142B CN202210165456.8A CN202210165456A CN114222142B CN 114222142 B CN114222142 B CN 114222142B CN 202210165456 A CN202210165456 A CN 202210165456A CN 114222142 B CN114222142 B CN 114222142B
- Authority
- CN
- China
- Prior art keywords
- pixel point
- data
- intensity value
- gray value
- processed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供一种基于脉冲神经网络的图像编码方法及装置,属于神经计算及图像处理技术领域。方法包括:获取待处理图像;对于待处理图像中的每一像素点,获取像素点的特征属性,依据像素点的特征属性确定像素点的信息强度值;将像素点编码为表征像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据,并以时域编码数据作为待处理数据输入输入神经元,像素点对应的脉冲发放时刻与像素点的信息强度值负相关。本申请通过将像素点的信息强度值近似线性地映射到预设时间窗口内的脉冲发放时刻,使得输入输入神经元的像素点的信息强度值越高,输入神经元的脉冲发放时间越早,从而有助于提高有效数据的区分度,降低数据处理的延时和计算复杂度。
Description
技术领域
本申请涉及神经计算及图像处理技术领域,具体涉及一种基于脉冲神经网络的图像编码方法及一种基于脉冲神经网络的图像编码装置。
背景技术
脉冲神经网络(Spiking Neural Network, SNN)是模拟哺乳动物大脑皮层神经元工作机理而建构成的神经网络,被称为第三代人工神经网络。目前的主流脉冲神经网络往往采用频率编码(rate encoding)作为时序编码形式,频率编码以一定时间内脉冲发放频率大小记载信息,其编码步骤复杂,且信息有效性低。由于在多数神经系统中,有效的信息在于产生动作电位的精确时刻,因此时序编码(temporal encoding)被提出,在SNN中,每一个输入都将先经过一层输入神经层编码处理后再被传入用于分类的脉冲神经网络。目前,在输入层中,每个输入神经元都会产生一个独立的基于预先设定脉冲发放频率的泊松脉冲序列,但是,通过在输入数据集中编码一个个独立的元素,只有小型数据集才能被可靠地用基于该编码方式的网络学习,当使用大数据集的时候,时域编码将成为一个非常关键的问题,如果仍然一个个独立的处理感受野内的输入变量,其计算量将呈指数上升,会导致巨大的延时,因此迫切的需要找到一种低复杂度低功耗的时域编码方式。
发明内容
本申请实施例的目的是提供一种基于脉冲神经网络的图像编码方法及一种基于脉冲神经网络的图像编码装置,以解决上述问题。
为了实现上述目的,本申请第一方面提供一种基于脉冲神经网络的图像编码方法,所述方法包括:
获取待处理图像;
对于所述待处理图像中的每一像素点,获取所述像素点的特征属性,依据所述像素点的特征属性确定所述像素点的信息强度值;
将所述像素点编码为表征所述像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据,并以所述时域编码数据作为待处理数据输入所述脉冲神经网络的输入神经元,所述像素点对应的脉冲发放时刻与所述像素点的信息强度值负相关。
可选地,所述像素点的特征属性为所述像素点的灰度值,获取所述像素点的特征属性,依据所述像素点的特征属性确定所述像素点的信息强度值,包括:
获取所述像素点的灰度值,依据所述像素点的灰度值确定所述像素点的信息强度值。
可选地,将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据之前,所述方法包括:
构建以所述像素点的信息强度值为自变量,以在所述预设时间窗口内对应的脉冲发放时刻为因变量的负相关函数,以使得所述脉冲发放时刻随着所述信息强度值的增大而减小。
可选地,将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据,包括:
对所述像素点的灰度值进行归一化;
基于归一化后的灰度值确定所述像素点的信息强度值,依据所述负相关函数确定所述像素点在所述预设时间窗口内对应的脉冲发放时刻,并将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据。
可选地,依据所述像素点的特征属性确定所述像素点的信息强度值之前,所述方法还包括:
提取所述待处理图像中的待识别目标区域,确定所述待识别目标区域的颜色特征属性;
依据所述像素点的灰度值确定所述像素点的信息强度值,包括:
依据所述待识别目标区域的颜色特征属性,基于所述像素点的灰度值的增函数或减函数确定所述像素点的信息强度值。
可选地,所述待识别目标区域的颜色特征属性包括所述待识别目标区域的灰度值,依据所述待识别目标区域的颜色特征属性,基于所述像素点的灰度值的增函数或减函数确定所述像素点的信息强度值,包括:
当所述待识别目标区域的灰度值大于灰度阈值时,基于所述像素点的灰度值的增函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的增大而增大。
可选地,依据所述待识别目标区域的颜色特征属性,基于所述像素点的灰度值的增函数或减函数确定所述像素点的信息强度值,还包括:
当所述待识别目标区域的灰度值小于所述灰度阈值时,基于所述像素点的灰度值的减函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的减小而增大。
可选地,所述脉冲神经网络的输入神经元响应于输入的待处理数据,以所述待处理数据的输入时刻为所述预设时间窗口的时间起点,当当前时刻达到所述待处理数据对应的脉冲发放时刻时,发放与所述待处理数据对应的脉冲信号。
可选地,所述脉冲神经网络的输入神经元响应于输入的待处理数据,以所述待处理数据的输入时刻为所述预设时间窗口的时间起点,当当前时刻达到所述待处理数据对应的脉冲发放时刻,且当前时刻未达到脉冲发放时刻阈值时,发放与所述待处理数据对应的脉冲信号。
本申请第二方面提供一种基于脉冲神经网络的图像编码装置,所述装置包括:
数据获取模块,被配置为获取待处理图像;
数据编码模块,被配置为:
对于所述待处理图像中的每一像素点,获取所述像素点的特征属性,依据所述像素点的特征属性确定所述像素点的信息强度值;以及
将所述像素点编码为表征所述像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据,并以所述时域编码数据作为待处理数据输入所述脉冲神经网络的输入神经元,所述像素点对应的脉冲发放时刻与所述像素点的信息强度值负相关。
可选地,所述像素点的特征属性为所述像素点的灰度值,所述数据编码模块,还被配置为:
获取所述像素点的灰度值,依据所述像素点的灰度值确定所述像素点的信息强度值。
可选地,将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据之前,所述数据编码模块,还被配置为:
构建以所述像素点的信息强度值为自变量,以在所述预设时间窗口内对应的脉冲发放时刻为因变量的负相关函数,以使得所述脉冲发放时刻随着所述信息强度值的增大而减小。
可选地,所述数据编码模块,还被配置为:
对所述像素点的灰度值进行归一化;
基于归一化后的灰度值确定所述像素点的信息强度值,依据所述负相关函数确定所述像素点在所述预设时间窗口内对应的脉冲发放时刻,并将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据。
可选地,依据所述像素点的特征属性确定所述像素点的信息强度值之前,所述数据编码模块,还被配置为:
提取所述待处理图像中的待识别目标区域,确定所述待识别目标区域的颜色特征属性;
所述数据编码模块,还被配置为:
依据所述待识别目标区域的颜色特征属性,基于所述像素点的灰度值的增函数或减函数确定所述像素点的信息强度值。
可选地,所述待识别目标区域的颜色特征属性包括所述待识别目标区域的灰度值,所述数据编码模块,还被配置为:
当所述待识别目标区域的灰度值大于灰度阈值时,基于所述像素点的灰度值的增函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的增大而增大。
可选地,所述数据编码模块,还被配置为:
当所述待识别目标区域的灰度值小于所述灰度阈值时,基于所述像素点的灰度值的减函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的减小而增大。
本申请第三方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的基于脉冲神经网络的图像编码方法。
本申请第四方面提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于脉冲神经网络的图像编码方法的步骤。
本申请采用线性延时时域编码,通过将像素点的特征属性的信息强度值近似线性地映射到预设时间窗口内的脉冲发放时刻,使得输入SNN输入神经元的像素点的信息强度值越高,输入神经元的脉冲发放时间越早,且每个输入像素点在一个预设时间窗口内产生且仅产生一个脉冲,从而有助于提高有效数据的区分度,同时支持并行处理以及流水线处理,能够有效降低SNN中数据处理的延时和计算复杂度。
本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1为本申请优选实施例提供的基于脉冲神经网络的图像编码方法的方法流程图;
图2为本申请优选实施例提供的单个输入神经元的数据处理过程示意图;
图3为本申请优选实施例提供的多个输入神经元的数据处理过程示意图;
图4为本申请优选实施例提供的基于线性延时编码的存内计算系统示意图;
图5为本申请优选实施例提供的基于脉冲神经网络的图像编码装置的示意框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
为了解决上述问题,如图1所示,在本实施方式第一方面提供一种基于脉冲神经网络的图像编码方法,应用于脉冲神经网络,脉冲神经网络的输入层包括至少一个输入神经元,输入神经元用于响应于输入的待处理数据,在预设时间窗口内,依据待处理数据的脉冲发放时刻发放对应的脉冲信号,方法包括:
S100、获取待处理图像;
S200、对于待处理图像中的每一像素点,获取像素点的特征属性,依据像素点的特征属性确定像素点的信息强度值;以及
将像素点编码为表征像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据,并以时域编码数据作为待处理数据输入脉冲神经网络的输入神经元,像素点对应的脉冲发放时刻与像素点的信息强度值负相关。
如此,本实施方式通过将像素点的特征属性的信息强度值近似线性地映射到预设时间窗口内的脉冲发放时刻,使得输入SNN输入层神经元的像素点的信息强度值越高,输入神经元的脉冲发放时间越早,且每个输入像素点在一个预设时间窗口内产生且仅产生一个脉冲,从而有助于提高有效数据的区分度,同时支持并行处理以及流水线处理,能够有效降低SNN中数据处理的延时和计算复杂度。
现有的脉冲神经网络模型通常包括输入层、中间层及输出层,其中,输入层包括一个或多个输入神经元,输出层包括一个或多个输出神经元,中间层用于模拟神经元之间的突触连接,在进行脉冲神经网络的模拟与计算时,通常包含以下步骤:当输入数据或输入神经元受到外界刺激时,经过特定的脉冲序列编码方法,可将数据或外界刺激编码成特定的脉冲序列;脉冲序列在神经元之间传递并经过一定的处理,处理之后将输出的脉冲序列通过特定的解码方法进行解码并给出具体的响应。其中,神经元模型及脉冲神经网络的训练方法为现有技术,例如,神经元模型可以采用LIF模型,脉冲神经网络的学习规则可以采用无监督学习算法STDP(Spike-Timing-Dependent Plasticity),或者监督学习算法Tempotron或SpikeProp等,此处对此不做限定。
在步骤S200中,像素点的特征属性为像素点的灰度值,获取像素点的特征属性,依据像素点的特征属性确定像素点的信息强度值,包括:获取像素点的灰度值,依据像素点的灰度值确定像素点的信息强度值。可以理解的,对于输入图像而言,通过获取图像中的每一像素点的灰度值,从而将图像数字化为了该图像中所有像素点的灰度值矩阵。灰度值的大小能够反映当前像素点的信息强度,因此,可以根据灰度值的大小确定当前像素点的信息强度值。
由于在处理深色背景和浅色背景的图像时,像素点的灰度值的大小所代表的信息强度是相反的,因此,在本实施方式的步骤S200的依据像素点的特征属性确定像素点的信息强度值之前,本实施方式的图像编码方法还包括:提取待处理图像中的待识别目标区域,确定待识别目标区域的颜色特征属性;依据像素点的灰度值确定像素点的信息强度值,包括:依据待识别目标区域的颜色特征属性,基于像素点的灰度值的增函数或减函数确定像素点的信息强度值。
本实施例中,待识别目标区域的颜色特征属性为待识别目标区域的灰度值,依据待识别目标区域的颜色特征属性,基于像素点的灰度值的增函数或减函数确定像素点的信息强度值,包括:
当待识别目标区域的灰度值大于灰度阈值时,基于像素点的灰度值的增函数确定像素点的信息强度值,以使得像素点的信息强度值随像素点的灰度值的增大而增大;当待识别目标区域的灰度值小于灰度阈值时,基于像素点的灰度值的减函数确定像素点的信息强度值,以使得像素点的信息强度值随像素点的灰度值的减小而增大。
其中,当待识别目标区域的灰度值大于灰度阈值时,确定待识别目标区域的颜色为第一颜色,当待识别目标区域的灰度值小于灰度阈值时,确定待识别目标区域的颜色为第二颜色。可以理解的,为了便于数据处理,本实施方式中,将所有像素点的灰度值进行归一化至[0,1],灰度值越接近0,表示该像素点的颜色越接近黑色,即灰度值越接近0表示该像素点的颜色越深,反之,灰度值越接近1,表示该像素点的颜色越接近白色,即灰度值越接近1表示该像素点的颜色越浅。
本实施方式中,待识别目标区域的提取可以采用现有的边缘检测算法实现,待识别目标区域的颜色特征属性的确定可以基于待识别目标区域中所有像素点灰度值的均值确定,也可以基于待识别目标区域中所有像素点灰度值的最大值、最小值或中值确定,此处对此不作限定。其中,灰度阈值可以为同一个值,用于区分第一颜色和第二颜色为深色或浅色,灰度阈值也可以是多个。例如,灰度阈值可以为第一灰度阈值及第二灰度阈值,第一灰度阈值小于第二灰度阈值,当待识别目标区域的像素点灰度值均值小于第一灰度阈值时,确定待识别目标区域的颜色为深色;当待识别目标区域的像素点灰度值均值大于第二灰度阈值时,确定待识别目标区域的颜色为浅色;而当待识别目标区域的像素点灰度值均值处于第一灰度阈值和第二灰度阈值之间时,可以确定像素点的信息强度值随灰度值的增大而增大,或者确定像素点的信息强度值随灰度值的增大而减小。
以待识别目标区域的底色为白色为例,若像素点的灰度值越大,则表示该像素点的信息越重要,则该像素点的信息强度值越大;反之,若待识别目标区域的底色为黑色,则像素点的灰度值越小,表示该像素点的信息越重要,则该像素点的信息强度值越大。本实施方式中,当待识别目标区域的底色为浅色,例如白色时,可以直接以像素点的灰度值作为该像素点的信息强度值,而当待识别目标区域的底色为深色,例如黑色时,则根据预先确定的像素点的灰度值与信息强度值之间的映射关系确定该像素点的信息强度值,其中,像素点的灰度值与信息强度值之间的映射关系的确定为现有技术,此处不再赘述。
本实施方式中,将像素点编码为表征像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据之前,方法包括:
构建以像素点的信息强度值为自变量,以在预设时间窗口内对应的脉冲发放时刻为因变量的负相关函数,以使得脉冲发放时刻随着信息强度值的增大而减小。
具体的,令待处理图像的尺寸为(C,H,W),则位置为(C i ,H i ,W i )的像素点的归一化灰度值对应的信息强度值为I i ,其中,C i 表示待处理图像的通道,H i 表示待处理图像的长,W i 表示待处理图像的宽。该负相关函数如下:
t i = [(T – 1)(1 – I i )],其中[·]为高斯取整函数,T为总仿真时间窗口长度,即预设时间窗口长度。基于本实施方式的负相关函数构建的线性延时时序编码器,可将像素点的信息强度值近似线性地映射到预设时间窗口内,像素点的信息强度值越高,输入神经元的脉冲发放时间越早,且每个输入像素点产生且仅产生一个脉冲。
其中,将像素点编码为表征像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据,包括:对像素点的灰度值进行归一化;基于归一化后的灰度值确定像素点的信息强度值,依据负相关函数确定像素点在预设时间窗口内对应的脉冲发放时刻,并将像素点编码为表征像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据。
以待识别目标区域的底色为白色为例,首先对所有像素点的灰度值进行归一化处理,以像素点的灰度值作为该像素点的信息强度值I i ,并将其代入负相关函数,由于预设时间窗口长度T已知,则可根据负相关函数求得该像素点对应的脉冲发放时刻,并将该像素点编码为其对应的脉冲发放时刻,可以理解的,编码后的待处理图像为由各像素点对应的脉冲发放时刻构成的矩阵,可以理解的,将像素点编码为对应的脉冲发放时刻后该像素点仍然包括像素点的灰度值信息。
本申请的一个具体实施方式中,输入神经元响应于输入的待处理数据,在预设时间窗口内,依据待处理数据对应的脉冲发放时刻发放对应的脉冲信号,包括:以待处理数据的输入时刻为预设时间窗口的时间起点,当当前时刻达到待处理数据对应的脉冲发放时刻时,发放与待处理数据对应的脉冲信号。可以理解的,输入神经元以接收到待处理图像中的像素点数据为预设时间窗口的起始点,输入神经元通过编码后的像素点获取该像素点对应的在预设时间窗口内的脉冲发放时刻,并在当前时刻达到该脉冲发放时刻时,发放脉冲信号。由于该脉冲信号的发放时刻与像素点的信息强度值相关,因此,若该像素点的信息强度值越大,则输入神经元发放脉冲信号的时刻越早,则信息越重要的像素点触发脉冲信号的时刻越早。由于各像素点的信息强度值不同,因此,输入该输入神经元的像素点触发的脉冲信号构成了脉冲发放时刻不同的脉冲信号序列,输出层神经元根据该脉冲信号序列确定输出层神经元的脉冲发放,最后通过特定解码方法解码后给出具体响应,例如,训练基于本实施方式的线性延时时序编码的脉冲神经网络,根据输出神经元对脉冲信号序列的响应结果调整脉冲神经网络的参数,以获得合适的网络模型;以及对脉冲神经网络进行测试:对于测试集数据,经过本实施方式的线性延时时序编码,得到以时序为形式的测试集信息,并输入训练后的脉冲神经网络模型中,进行分类处理,得到分类结果。
本申请的另一个具体实施方式中,输入神经元响应于输入的待处理数据,在预设时间窗口内,依据待处理数据对应的脉冲发放时刻发放对应的脉冲信号,包括:以待处理数据的输入时刻为预设时间窗口的时间起点,当当前时刻达到待处理数据对应的脉冲发放时刻,且当前时刻未达到脉冲发放时刻阈值时,发放与待处理数据对应的脉冲信号。为了进一步降低SNN的延时,在编码后的像素点到达输入神经元后,对预设时间窗口进行进一步截取,例如,截取预设时间窗口长度的一半,即当输入的像素点对应的脉冲发放时刻大于预设时间窗口长度的一半时,输入神经元抛弃该数据,而继续处理下一个输入像素点,这样,通过抛弃信息强度值低的像素点,能够进一步降低SNN中数据处理的延时,提高处理效率,从而能够进一步提高处理数据的数据量。
本实施方式中,单个输入神经元的数据处理过程如下:
如图2所示,201为外界输入的待分类数据集图像,202为一张图像样本中的一个像素点,该像素点包括像素点位置信息和色彩信息,203为图像像素的预处理过程,包括获取像素点灰度值及灰度值归一化,204为提取到的像素点的灰度值,205为基于本实施方式的负相关函数构建的线性延时编码器,206为脉冲神经网络的输入层中的一个输入神经元,207为经线性延时编码器编码后由该输入神经元发放的脉冲,208为时间轴起始时刻,209为起始时刻与脉冲发生时刻之间的时间间隔,即脉冲发放时间。在一个预设时间窗口内,经过线性延时编码器的编码,输入图像的信息被编码为时域信息,由输入神经元发放脉冲,单个时间窗口仅产生单个脉冲,其信息由脉冲发放时刻决定,而与脉冲的幅值、脉宽无关。
本实施方式中,输入层的多个输入神经元的数据处理过程如下:
如图3所示,301、302、303及304分别为某一输入图像上的某四个像素点,其颜色的深浅代表该像素点颜色的深浅,颜色越深,灰度值越大。以待识别目标区域的底色为白色为例,像素点的灰度值越大,则代表该像素点的信息越重要。205为线性延时编码器,线性延时编码器对输入像素点的灰度值进行时序编码操作,获得各像素点对应的脉冲发放时刻。306、307、308及309为该四个像素点对应的脉冲神经网络输入层的输入神经元,310、311、312及313为对应输入层神经元的脉冲发放时刻。由附图3可知,像素点304的灰度值最高,其对应的脉冲发生时刻313最早,而像素点303的灰度值最低,其对应的脉冲发生时刻312最晚。由于本实施方式采用了基于负相关函数构建的线性延时编码器,因此像素点灰度值越高,脉冲发放时刻越早,即像素点的灰度值与脉冲发放时刻呈负相关关系,从而含有重要信息的像素点对应的输入神经元将会更早释放神经脉冲信息,符合生物学原理,且由于无效信息发放的时刻晚,可以通过对预设时间窗口进行截取从而截断无效信息的脉冲发放,从而能够在不损失有效信息的前提下,剔除无效信息,极大减小系统延时,进而有效的提升流水线处理或并行处理的效率。同时,本实施方式中,一个预设时间窗口内,每个像素点仅会产生一次脉冲,能够有效降低系统功耗,有利于编码器的低功耗硬件的实现。
如图4所示,为本实施方式提供的基于线性延时编码的存内计算系统示意图。其中,401为输入数据,可以为处理后的图片或语音数据等。402为本实施方式的负相关函数构建的线性延时编码器的映射电路,该线性延时编码电路用于对输入数据进行时序编码操作,以获得相应的脉冲发放时刻,并生成等脉宽等幅值的脉冲。403为基于rram的存算一体阵列,由存储单元404组成。存储单元404为一个rram和一个晶体管串联组成的1t1r(1transistor 1 rram)结构,晶体管用于选通,忆阻器用于存储权值和计算。405为系统的总控制器,用于对存算一体阵列的行、列进行选通,以及模块控制等。
本实施方式提供的系统通过控制器对系统进行总控,其运行过程为:输入数据在经预处理后输入线性延时编码电路,经线性延时编码电路编码成脉冲发放时刻不同但脉宽和幅值相同的电压信号,并放置到被控制器选通的存算一体阵列中的行、列中作为输入电压信号,存算一体阵列中的1t1r单元以rram的电导值高低为存储权重的形式,通过电压电流公式和基尔霍夫定律,将以电流的形式得到输入和权重的乘积,并输入到脉冲神经元中,脉冲神经元根据输入电流的强度,对电流进行非线性积累,体现在脉冲神经网络的膜电位上,根据膜电位是否达到阈值电压,决定是否能发放脉冲。由于本实施方式采用基于负相关函数的线性延时编码电路,因此输入数据的信息强度值越强,脉冲发放时刻越早,对应的电平信号能够更早的输入到rram阵列中,则在信息强度值足够的情况下,脉冲神经元能够更早的发放脉冲,从而能够实现脉冲神经网络的多层拓展。
如图5所示,本申请第二方面提供一种基于脉冲神经网络的图像编码装置,装置包括:
数据获取模块,被配置为获取待处理图像;
数据编码模块,被配置为:
对于待处理图像中的每一像素点,获取像素点的特征属性,依据像素点的特征属性确定像素点的信息强度值;以及
将像素点编码为表征像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据,并以时域编码数据作为待处理数据输入脉冲神经网络的输入神经元,像素点对应的脉冲发放时刻与像素点的信息强度值负相关。
可选地,所述像素点的特征属性为所述像素点的灰度值,所述数据编码模块,还被配置为:
获取所述像素点的灰度值,依据所述像素点的灰度值确定所述像素点的信息强度值。
可选地,将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据之前,所述数据编码模块,还被配置为:
构建以所述像素点的信息强度值为自变量,以在所述预设时间窗口内对应的脉冲发放时刻为因变量的负相关函数,以使得所述脉冲发放时刻随着所述信息强度值的增大而减小。
可选地,所述数据编码模块,还被配置为:
对所述像素点的灰度值进行归一化;
基于归一化后的灰度值确定所述像素点的信息强度值,依据所述负相关函数确定所述像素点在所述预设时间窗口内对应的脉冲发放时刻,并将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据。
可选地,依据所述像素点的特征属性确定所述像素点的信息强度值之前,所述数据编码模块,还被配置为:
提取所述待处理图像中的待识别目标区域,确定所述待识别目标区域的颜色特征属性;
所述数据编码模块,还被配置为:
依据所述待识别目标区域的颜色特征属性,基于所述像素点的灰度值的增函数或减函数确定所述像素点的信息强度值。
可选地,所述待识别目标区域的颜色特征属性包括所述待识别目标区域的灰度值,所述数据编码模块,还被配置为:
当所述待识别目标区域的灰度值大于灰度阈值时,基于所述像素点的灰度值的增函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的增大而增大。
可选地,所述数据编码模块,还被配置为:
当所述待识别目标区域的灰度值小于所述灰度阈值时,基于所述像素点的灰度值的减函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的减小而增大。
本申请第三方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得处理器被配置成执行上述的基于脉冲神经网络的图像编码方法。
机器可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
本申请第四方面提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的基于脉冲神经网络的图像编码方法的步骤。
综上所述,本实施方式通过将像素点的特征属性的信息强度值近似线性地映射到预设时间窗口内的脉冲发放时刻,使得输入SNN输入层神经元的像素点的信息强度值越高,输入神经元的脉冲发放时间越早,且每个输入像素点在一个预设时间窗口内产生且仅产生一个脉冲,从而有助于提高有效数据的区分度,支持并行处理以及流水线处理,能够有效降低SNN中数据处理的延时和计算复杂度,同时由于本实施方式中,一个预设时间窗口内,每个像素点仅会产生一次脉冲,能够有效降低系统功耗,有利于编码器的低功耗硬件的实现,以及有利于实现脉冲神经网络的多层拓展。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种基于脉冲神经网络的图像编码方法,其特征在于,所述方法包括:
获取待处理图像;
对于所述待处理图像中的每一像素点,获取所述像素点的灰度值;
提取所述待处理图像中的待识别目标区域,确定所述待识别目标区域的颜色特征属性,依据所述待识别目标区域的颜色特征属性,基于所述像素点的灰度值的增函数或减函数确定所述像素点的信息强度值;
将所述像素点编码为表征所述像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据,并以所述时域编码数据作为待处理数据输入所述脉冲神经网络的输入神经元,所述像素点对应的脉冲发放时刻与所述像素点的信息强度值负相关;
其中,所述待识别目标区域的颜色特征属性包括所述待识别目标区域的灰度值,依据所述待识别目标区域的颜色特征属性,基于所述像素点的灰度值的增函数或减函数确定所述像素点的信息强度值,包括:
当所述待识别目标区域的灰度值大于灰度阈值时,基于所述像素点的灰度值的增函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的增大而增大。
2.根据权利要求1所述的基于脉冲神经网络的图像编码方法,其特征在于,将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据之前,所述方法包括:
构建以所述像素点的信息强度值为自变量,以在所述预设时间窗口内对应的脉冲发放时刻为因变量的负相关函数,以使得所述脉冲发放时刻随着所述信息强度值的增大而减小。
3.根据权利要求2所述的基于脉冲神经网络的图像编码方法,其特征在于,将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据,包括:
对所述像素点的灰度值进行归一化;
基于归一化后的灰度值确定所述像素点的信息强度值,依据所述负相关函数确定所述像素点在所述预设时间窗口内对应的脉冲发放时刻,并将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据。
4.根据权利要求1所述的基于脉冲神经网络的图像编码方法,其特征在于,依据所述待识别目标区域的颜色特征属性,基于所述像素点的灰度值的增函数或减函数确定所述像素点的信息强度值,还包括:
当所述待识别目标区域的灰度值小于所述灰度阈值时,基于所述像素点的灰度值的减函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的减小而增大。
5.根据权利要求1所述的基于脉冲神经网络的图像编码方法,其特征在于,所述脉冲神经网络的输入神经元响应于输入的待处理数据,以所述待处理数据的输入时刻为所述预设时间窗口的时间起点,当当前时刻达到所述待处理数据对应的脉冲发放时刻时,发放与所述待处理数据对应的脉冲信号。
6.根据权利要求1所述的基于脉冲神经网络的图像编码方法,其特征在于,所述脉冲神经网络的输入神经元响应于输入的待处理数据,以所述待处理数据的输入时刻为所述预设时间窗口的时间起点,当当前时刻达到所述待处理数据对应的脉冲发放时刻,且当前时刻未达到脉冲发放时刻阈值时,发放与所述待处理数据对应的脉冲信号。
7.一种基于脉冲神经网络的图像编码装置,其特征在于,所述装置包括:
数据获取模块,被配置为获取待处理图像;
数据编码模块,被配置为:
对于所述待处理图像中的每一像素点,获取所述像素点的灰度值;
提取所述待处理图像中的待识别目标区域,确定所述待识别目标区域的颜色特征属性,依据所述待识别目标区域的颜色特征属性,基于所述像素点的灰度值的增函数或减函数确定所述像素点的信息强度值;以及
将所述像素点编码为表征所述像素点在预设时间窗口内对应的脉冲发放时刻的时域编码数据,并以所述时域编码数据作为待处理数据输入所述脉冲神经网络的输入神经元,所述像素点对应的脉冲发放时刻与所述像素点的信息强度值负相关;
其中,所述待识别目标区域的颜色特征属性包括所述待识别目标区域的灰度值,所述数据编码模块,还被配置为:
当所述待识别目标区域的灰度值大于灰度阈值时,基于所述像素点的灰度值的增函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的增大而增大。
8.根据权利要求7所述的基于脉冲神经网络的图像编码装置,其特征在于,将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据之前,所述数据编码模块,还被配置为:
构建以所述像素点的信息强度值为自变量,以在所述预设时间窗口内对应的脉冲发放时刻为因变量的负相关函数,以使得所述脉冲发放时刻随着所述信息强度值的增大而减小。
9.根据权利要求8所述的基于脉冲神经网络的图像编码装置,其特征在于,所述数据编码模块,还被配置为:
对所述像素点的灰度值进行归一化;
基于归一化后的灰度值确定所述像素点的信息强度值,依据所述负相关函数确定所述像素点在所述预设时间窗口内对应的脉冲发放时刻,并将所述像素点编码为表征所述像素点在所述预设时间窗口内对应的脉冲发放时刻的时域编码数据。
10.根据权利要求7所述的基于脉冲神经网络的图像编码装置,其特征在于,所述数据编码模块,还被配置为:
当所述待识别目标区域的灰度值小于所述灰度阈值时,基于所述像素点的灰度值的减函数确定所述像素点的信息强度值,以使得所述像素点的信息强度值随所述像素点的灰度值的减小而增大。
11.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行权利要求1~6中任一项权利要求所述的基于脉冲神经网络的图像编码方法。
12.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~6中任一项权利要求所述的基于脉冲神经网络的图像编码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210165456.8A CN114222142B (zh) | 2022-02-23 | 2022-02-23 | 基于脉冲神经网络的图像编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210165456.8A CN114222142B (zh) | 2022-02-23 | 2022-02-23 | 基于脉冲神经网络的图像编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114222142A CN114222142A (zh) | 2022-03-22 |
CN114222142B true CN114222142B (zh) | 2022-05-06 |
Family
ID=80709339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210165456.8A Active CN114222142B (zh) | 2022-02-23 | 2022-02-23 | 基于脉冲神经网络的图像编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114222142B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117915107B (zh) * | 2024-03-20 | 2024-05-17 | 北京智芯微电子科技有限公司 | 图像压缩系统、图像压缩方法、存储介质与芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846408A (zh) * | 2018-04-25 | 2018-11-20 | 中国人民解放军军事科学院军事医学研究院 | 基于脉冲神经网络的图像分类方法及装置 |
CN109871940A (zh) * | 2019-01-31 | 2019-06-11 | 清华大学 | 一种脉冲神经网络的多层训练算法 |
CN110458903A (zh) * | 2019-07-29 | 2019-11-15 | 北京大学 | 一种编码脉冲序列的图像处理方法 |
CN112489151A (zh) * | 2020-10-28 | 2021-03-12 | 苏州浪潮智能科技有限公司 | 一种基于峰电位发放时间间隔的图像重建方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11222255B2 (en) * | 2017-08-17 | 2022-01-11 | Samsung Electronics Co., Ltd. | Neuromorphic processing apparatus |
-
2022
- 2022-02-23 CN CN202210165456.8A patent/CN114222142B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846408A (zh) * | 2018-04-25 | 2018-11-20 | 中国人民解放军军事科学院军事医学研究院 | 基于脉冲神经网络的图像分类方法及装置 |
CN109871940A (zh) * | 2019-01-31 | 2019-06-11 | 清华大学 | 一种脉冲神经网络的多层训练算法 |
CN110458903A (zh) * | 2019-07-29 | 2019-11-15 | 北京大学 | 一种编码脉冲序列的图像处理方法 |
CN112489151A (zh) * | 2020-10-28 | 2021-03-12 | 苏州浪潮智能科技有限公司 | 一种基于峰电位发放时间间隔的图像重建方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114222142A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Weigend et al. | Back-propagation, weight-elimination and time series prediction | |
CN108985252B (zh) | 改进的脉冲深度神经网络的图像分类方法 | |
CN110998611A (zh) | 神经形态处理装置 | |
US20170337469A1 (en) | Anomaly detection using spiking neural networks | |
CN114222142B (zh) | 基于脉冲神经网络的图像编码方法及装置 | |
CN112468326A (zh) | 基于时间卷积神经网络的访问流量预测方法 | |
CN113609482B (zh) | 一种针对图像分类模型的后门检测及修复方法及系统 | |
KR20160125967A (ko) | 일반적인 뉴런 모델들의 효율적인 구현을 위한 방법 및 장치 | |
Nandi et al. | Hyperbolic window S-transform aided deep neural network model-based power quality monitoring framework in electrical power system | |
Chrol-Cannon et al. | Learning structure of sensory inputs with synaptic plasticity leads to interference | |
CN115964258A (zh) | 基于多时序分析的物联网卡异常行为分级监测方法及系统 | |
Li et al. | Structure optimization for echo state network based on contribution | |
CN116668198A (zh) | 基于深度学习的流量回放测试方法、装置、设备及介质 | |
CN113269805B (zh) | 降水事件引导的遥感降水反演训练样本自适应选取方法 | |
CN112489420B (zh) | 一种公路交通状态预测方法、系统、终端以及存储介质 | |
CN112084936B (zh) | 一种人脸图像预处理方法、装置、设备及存储介质 | |
US9449272B2 (en) | Doppler effect processing in a neural network model | |
CN115187266B (zh) | 基于记忆力变分自编码模型的信用卡欺诈检测方法及系统 | |
Kuo et al. | Prediction of chaotic time series using recurrent neural networks | |
CN111582462B (zh) | 权值原位更新方法、装置、终端设备和可读存储介质 | |
CN116304553A (zh) | 一种多调制体制下基于深度学习的干扰类型识别方法 | |
CN114092763A (zh) | 一种脉冲神经网络模型构建方法 | |
CN114638286A (zh) | 一种基于脉冲神经网络的视觉通道编码方法 | |
CN116797851B (zh) | 图像分类模型的类脑连续学习方法、图像分类方法和装置 | |
Nadagouda et al. | Switched hawkes processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |