CN113221605A - 对象识别的方法、装置及计算机可读存储介质 - Google Patents
对象识别的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113221605A CN113221605A CN202010081631.6A CN202010081631A CN113221605A CN 113221605 A CN113221605 A CN 113221605A CN 202010081631 A CN202010081631 A CN 202010081631A CN 113221605 A CN113221605 A CN 113221605A
- Authority
- CN
- China
- Prior art keywords
- identified
- membrane voltage
- pulse
- determining
- aer
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 239000012528 membrane Substances 0.000 claims abstract description 141
- 210000002569 neuron Anatomy 0.000 claims abstract description 123
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 claims abstract description 71
- 238000013528 artificial neural network Methods 0.000 claims abstract description 14
- 238000004891 communication Methods 0.000 claims description 15
- 238000012421 spiking Methods 0.000 claims description 12
- 230000036961 partial effect Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 15
- 230000000946 synaptic effect Effects 0.000 description 15
- 230000004438 eyesight Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 9
- 238000012549 training Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 210000000225 synapse Anatomy 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010304 firing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000011664 nicotinic acid Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000016776 visual perception Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000031018 biological processes and functions Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000030214 innervation Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 210000005171 mammalian brain Anatomy 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 210000003061 neural cell Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000001242 postsynaptic effect Effects 0.000 description 1
- 210000005215 presynaptic neuron Anatomy 0.000 description 1
- 230000000541 pulsatile effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 210000000857 visual cortex Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- 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/045—Combinations of networks
-
- 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
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Image Analysis (AREA)
Abstract
一种对象识别的方法、装置及计算机可读存储介质,该方法包括:接收待识别对象的第一特征脉冲序列,该第一特征脉冲序列中包括多个脉冲,其是根据待识别对象在第一时间段内的第一部分AER事件获得的,根据该多个脉冲和权重获取在第一预设时间段的结束时刻的第一膜电压,并根据脉冲神经元的膜电压确定待识别对象为第一目标对象,该脉冲神经元的膜电压包括第一膜电压。本申请提供的技术方案中,脉冲神经网络SNN中的脉冲神经元可以根据待识别对象在预设时间段的部分AER事件进行对象识别,从而可以在输入的AER事件不完整的情况下对待识别对象进行识别。
Description
技术领域
本申请涉及图像处理领域,并且更具体地,涉及一种对象识别的方法、装置及计算机可读存储介质。
背景技术
在当今社会中,计算机视觉的应用无处不在,在物体追踪,图像识别,视频监控等领域均有广泛应用。具体的,可以通过视觉传感器对获取到图像数据中待识别的对象进行识别。传统的视觉传感器以“帧扫描”为图像采集方式,随着视觉系统实际应用对于速度等性能要求的提升,传统的视觉传感器遇到了数据过大、帧频受限等发展瓶颈。基于仿生视觉感知模型的AER传感器以其速度高、延迟小、冗余低的优势,成为当前机器视觉系统领域的研究热点。
在通过脉冲神经网络(spiking neural network,SNN)对地址事件表示(addressevent representation,AER)传感器采集到的待识别对象进行识别的相关技术中,需要将根据待识别对象的AER事件流生成的完整的脉冲序列输入SNN,SNN在根据该输入生成完整的脉冲序列后才能对待识别对象进行识别。该技术中,在输入到SNN的待识别对象的AER事件流尚不完整的情况下,无法准确的对待识别对象进行识别。
因此,如何根据待识别对象的部分AER事件对待识别对象进行识别成为亟需要解决的技术问题。
发明内容
本申请提供一种对象识别的方法、装置及计算机可读存储介质,脉冲神经网络SNN中的脉冲神经元可以根据待识别对象的多个AER事件中的部分进行对象识别,从而可以在输入的AER事件不完整的情况下识别出多个AER事件所属的目标行为。
第一方面,提供了一种对象识别的方法,该方法由脉冲神经网络SNN中的脉冲神经元执行,在执行的过程中,脉冲神经元接收待识别对象的第一特征脉冲序列,该第一特征脉冲序列中包括多个脉冲,其是根据待识别对象在第一时间段内的第一部分AER事件获得的,该脉冲神经元根据该多个脉冲和权重获取在第一预设时间段的结束时刻的第一膜电压,并根据该脉冲神经元的膜电压确定待识别对象为第一目标对象,该脉冲神经元的膜电压包括第一膜电压。
上述技术方案中,脉冲神经网络SNN中的脉冲神经元可以根据待识别对象在预设时间段的部分AER事件进行对象识别,从而可以在输入的AER事件不完整的情况下对待识别对象进行识别。
在一种可能的实现方式中,如果该第一膜电压大于第一预设阈值,确定该待识别对象为该第一目标对象。
上述技术方案中,如果第一膜电压大于预设阈值,则可以将该待识别对象确定为该第一目标对象,这样实现上更为简单。
在另一种可能的实现方式中,如果该第一膜电压与第二膜电压之间的第一比值大于第二预设阈值,确定该待识别对象为该第一目标对象,其中,该第二膜电压为该SNN中的多个脉冲神经元在该第一预设时间段的结束时刻的膜电压总和。
在另一种可能的实现方式中,该方法还包括:接收该待识别对象的第二特征脉冲序列,该第二特征脉冲序列包含多个脉冲,该第二特征脉冲序列是根据该待识别对象在第二预设时间段内的第二部分AER事件获得的;根据该第二特征脉冲序列中的该多个脉冲和该设置的权重,获取该脉冲神经元在该第二预设时间段的结束时刻的第三膜电压;根据该第一膜电压和该第三膜电压确定该待识别对象为第一目标对象。
在另一种可能的实现方式中,如果该第一膜电压和该第三膜电压的平均值或加权平均值大于第一预设阈值,确定该待识别对象为该第一目标对象。
在另一种可能的实现方式中,如果第一比值和第二比值的平均值或加权平均值大于第二预设阈值,确定该待识别对象为该第一目标对象,其中,该第二比值为该第三膜电压与该SNN中的多个脉冲神经元在该第二预设时间段的结束时刻的膜电压总和之间的比值。
在另一种可能的实现方式中,该AER事件中包括产生该AER事件的时间戳和地址信息。
在另一种可能的实现方式中,该权重是在多个不同的时间段内分别根据待识别对象的预测结果和真实结果之间的偏差确定的。
上述技术方案中,可以分段进行权重更新,这样可以充分利用更多的该时间段内脉冲序列中的脉冲携带的待识别对象的空间信息和时间信息,提高突触权重训练的效率和准确性,使得该SNN可以基于训练后的权重,根据脉冲神经元的脉冲发放频率或该脉冲神经元的膜电压对待识别对象进行识别。
第二方面,提供了一种对象识别的装置,该对象识别的装置应用于脉冲神经网络SNN中的脉冲神经元,该装置包括:
接收模块,用于接收待识别对象的第一特征脉冲序列,其中,该第一特征脉冲序列包含多个脉冲,该第一特征脉冲序列是根据该待识别对象在第一预设时间段内的第一部分AER事件获得的;
获取模块,用于根据该第一特征脉冲序列中的该多个脉冲和设置的权重,获得该脉冲神经元在该第一预设时间段的结束时刻的第一膜电压;
确定模块,用于根据该脉冲神经元的膜电压确定该待识别对象为第一目标对象,其中,该脉冲神经元的膜电压包括该第一膜电压。
在一种可能的实现方式中,该确定模块具体用于:如果该第一脉冲神经元上的该第一膜电压大于第一预设阈值,确定该待识别对象为该第一目标对象。
在另一种可能的实现方式中,该确定模块具体用于:如果该第一膜电压与第二膜电压之间的第一比值大于第二预设阈值,确定该待识别对象为该第一目标对象,其中,该第二膜电压为该SNN中的多个脉冲神经元在该第一预设时间段的结束时刻的膜电压总和。
在另一种可能的实现方式中,该接收模块还用于:接收该待识别对象的第二特征脉冲序列,该第二特征脉冲序列包含多个脉冲,该第二特征脉冲序列是根据该待识别对象在第二预设时间段内的第二部分AER事件获得的;
该获取模块还用于:根据该第二特征脉冲序列中的该多个脉冲和该设置的权重,获取该脉冲神经元在该第二预设时间段的结束时刻的第三膜电压;
该确定模块具体用于根据该第一膜电压和该第三膜电压确定该待识别对象为第一目标对象。
在另一种可能的实现方式中,该确定模块具体用于:如果该第一膜电压和该第三膜电压的平均值或加权平均值大于第一预设阈值,确定该待识别对象为该第一目标对象。
在另一种可能的实现方式中,该确定模块具体用于:如果第一比值和第二比值的平均值或加权平均值大于第二预设阈值,确定该待识别对象为该第一目标对象,其中,该第二比值为该第三膜电压与该SNN中的多个脉冲神经元在该第二预设时间段的结束时刻的膜电压总和之间的比值。
在另一种可能的实现方式中,该AER事件中包括产生该AER事件的时间戳和地址信息。
在另一种可能的实现方式中,该权重是在多个不同的时间段内分别根据待识别对象的预测结果和真实结果之间的偏差确定的。
第三方面,提供了一种对象识别的计算设备,包括通信接口和处理器。其中,该处理器用于控制该通信接口收发信息,该处理器与该通信接口连接,并用于执行第一方面或第一方面任意一种可能的实现方式中该的对象识别的方法。
可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第四方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算设备上运行时,使得计算设备执行上述第一方面或第一方面可能的实现方式中的方法。
第五方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算设备上运行时,使得计算设备执行上述第一方面或第一方面可能的实现方式中的方法。
附图说明
图1是本申请一个示例性实施例提供的计算设备100的结构架构图。
图2是本申请一个示例性实施例提供的一种通过SNN对待识别对象的多个AER事件进行识别的流程图。
图3是本申请一个示例性实施例提供的一种对象识别的方法的SNN实现结构图。
图4是本申请一个示例性实施例提供的提取特征图的示意图。
图5是本申请一个示例性实施例提供的一种对象识别的方法的示意性流程图。
图6是本申请一个示例性实施例提供的一种SNN中突触权重的训练的方法的示意性流程图。
图7是本申请一个示例性实施例提供的一种调整突触权重的方法的示意性流程图。
图8是本申请一个示例性实施例提供的一种对象识别的装置800的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于对本申请实施例的理解,下面首先介绍所涉及到名词的概念:
地址事件表示(address event representation,AER)传感器,是模仿人类视网膜机制的神经形态装置。AER传感器包括多个像素,每个像素分别监测特定区域的光强的变化。在变化超过阈值时,记录该像素对应的AER事件,而变化未超过阈值时,不记录该像素对应的AER事件。每个AER事件都包括发生该AER事件的像素的位置信息(即地址信息)、发生的时间(即时间戳)以及极性,极性用于表征该像素感知到光的变化是从暗到亮(可以使用数值1表示),还是从亮到暗(可以使用数值-1表示)。可见,AER传感器最终输出的是来自每个像素的AER事件,与传统相机相比,AER传感器具有场景的异步、高时间分辨率和稀疏表示的优点,在数据传输速度和数据冗余度上都有很大的优势。需要说明的是,上述场景的异步指每个像素是单独采集AER事件。
AER事件流,包括多个AER事件,该多个AER事件中的任一AER事件包括发生该AER事件的像素的地址信息、发生的时间戳以及极性等。
Gabor滤波器,是一种用于纹理分析的线性滤波器。Gabor滤波器可以用于提取图像、视频的特征,广泛应用在计算机视觉应用中。具体是仅允许与其频率相对应的纹理顺利通过,而使其他纹理的能量受到抑制。Gabor滤波器可以由尺度s、方向θ来表示,不同尺度s和方向θ的组合对应的卷积核不相同,不同尺度s和方向θ的组合对应不同的滤波器。通过研究表明,哺乳动物大脑视觉皮层中的简单细胞可以通过Gabor滤波器建模,每个Gabor滤波器模拟具有一定尺度的感受野的神经元细胞。应理解,感受野是一个神经元的反应或支配的刺激区域。
脉冲神经网络(spiking neural network,SNN),经常被誉为第三代人工神经网络。脉冲网络的神经元可以模拟生物神经细胞电压变化及传递过程,用于对输入进行对象识别。脉冲神经网络中的神经元之间通过脉冲的形式进行信息的传递,是基于发生在某些时间点的离散值活动,而不是连续值。一个脉冲的发生是由代表各种生物处理过程的微分方程所决定,其中最重要的是神经元的膜电压。神经元的膜电压随着的输入的脉冲而发生改变,一旦神经元的膜电压达到某一电压值,该神经元就会产生脉冲,并向与其连接的神经元发送脉冲信号。
SNN中的两个神经元之间可以采用一个突触连接,或者还可以采用多突触连接,本申请对此不做具体限定。每个突触上具有可修改的突触权值,突触前的神经元传递的多个脉冲可以根据突触权值的大小产生不同的突触后膜电压。
在对本申请实施例提供的对象识别的方法进行介绍之前,先对本申请实施例所适用的应用场景和系统架构进行介绍。
在当今社会中,计算机视觉的应用无处不在,在物体追踪,图像识别,视频监控等领域均有广泛应用。具体的,可以通过视觉传感器对获取到图像数据中待识别的对象进行识别。
传统的视觉传感器以“帧扫描”为图像采集方式,随着视觉系统实际应用对于速度等性能要求的提升,传统的视觉传感器遇到了数据过大、帧频受限等发展瓶颈。基于仿生视觉感知模型的AER传感器以其速度高、延迟小、冗余低的优势,成为当前机器视觉系统领域的研究热点。与传统的视觉传感器记录光强的值不同,AER传感器仅记录光强的变化值超过阈值的事件,光强的变化值小于阈值的事件并不会记录,因此可以极大的降低视觉信息的冗余。
与传统的视觉传感器相比,AER传感器具有场景的异步、高时间分辨率和稀疏表示的优点,在数据传输速度和数据冗余度上都有很大的优势。因此,本申请实施例可以使用AER传感器采集图像数据。该AER传感器可以应用于行车记录仪、监控设备等任何主要记录变化的内容的图像拍摄场景中。
由于AER传感器输出的是异步的离散事件,例如,AER传感器输出多个AER事件流,每个AER事件流可以包括多个AER事件,每个AER事件是一个异步的离散事件。并且,SNN中的神经元之间是通过脉冲的形式进行信息的传递,并对该脉冲对应的待识别对象进行识别。因此,可以通过SNN对AER传感器采集到的待识别对象的AER事件流(包括多个AER事件)进行识别。
在通过SNN对AER传感器采集到的待识别对象进行识别的相关技术中,需要将根据待识别对象的AER事件流生成的完整的脉冲序列输入SNN,SNN在根据该输入生成完整的脉冲序列后才能对待识别对象进行识别。该技术中,在输入到SNN的待识别对象的AER事件流尚不完整的情况下,无法准确的对待识别对象进行识别。因此,需要提供一种对象识别的方法。在输入到SNN的待识别对象的AER事件流尚不完整的情况下,可以实现对待识别对象进行识别。
本申请实施例提供了一种对象识别的方法,可以在输入到SNN的待识别对象的AER事件流尚不完整的情况下,对待识别对象进行识别,得到识别结果。
本申请实施例提供的对象识别的方法可以由对象识别的装置执行,对象识别的装置可以是一个硬件装置,例如:服务器、终端计算设备等。对象识别的装置也可以是一个软件装置,具体为运行在硬件计算设备上的一套软件系统。本申请实施例中并不限定对象识别的装置所部署的位置。示例性的,对象识别的装置可以部署在服务器上。
对象识别的装置在逻辑上也可以是由多个部分构成的装置,如对象识别的装置可以包括接收模块、获取模块、确定模块等。对象识别的装置中的各个组成部分可以分别部署在不同的系统或服务器中。对象识别的装置的各部分可以分别运行在云计算设备系统、边缘计算设备系统或终端计算设备这三个环境中,也可以运行在这三个环境中的任意两个环境中。云计算设备系统、边缘计算设备系统和终端计算设备之间由通信通路连接,可以相互进行通信。
下面结合图1,以对象识别的装置为计算设备为例进行描述。
图1示例性的提供了本申请的计算设备100的一种可能的架构图。如图1所示,计算设备100可以包括处理器101、存储器102、通信接口103和总线104。
在计算设备100中,处理器101的数量可以是一个或多个,图1仅示意了其中一个处理器101。
可选的,处理器101可以是中央处理器(central processing unit,CPU)。若计算设备100具有多个处理器101,多个处理器101的类型可以不同,或者可以相同。可选的,计算设备100的多个处理器还可以集成为多核处理器。处理器101可以用于执行对象识别的方法的步骤。实际应用中,处理器101可以是一块超大规模的集成电路。在处理器101中安装有操作系统和其他软件程序,从而处理器101能够实现对存储器102等器件的访问。
可以理解的是,在本申请实施例中,处理器101是以CPU为例进行介绍的,实际应用中,还可以是其他特定集成电路(application specific integrated circuit,ASIC)。
存储器102存储计算机指令和数据,存储器102可以存储实现本申请提供的对象识别的方法所需的计算机指令和数据。例如,存储器102存储用于实现本申请提供的对象识别的方法中接收模块执行步骤的指令。再例如,存储器102存储用于本申请提供的对象识别的方法中获取模块执行步骤的指令。再例如,在存储器102存储用于本申请提供的对象识别的方法中确定模块执行步骤的指令。存储器102可以是以下存储介质的任一种或任一种组合:非易失性存储器(如只读存储器(read-only memory,ROM)、固态硬盘(solid state disk,SSD)、硬盘(hard disk drive,HDD)、光盘等)、易失性存储器。
通信接口103可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。通信接口103用于计算设备100与其他计算设备100或者终端进行数据通信。在本申请中,可以通过通信接口103从接收待识别对象的第一特征脉冲序列。
图1用一条粗线表示总线104。总线104可以将处理器101与存储器102、通信接口103连接。这样,通过总线104,处理器101可以访问存储器102,还可以利用通信接口103与其它计算设备100或者终端进行数据交互。
在本申请中,计算设备100执行存储器102中的计算机指令,使用计算设备100实现本申请提供的对象识别的方法。例如,使得计算设备100执行对象识别的方法中由接收模块执行的步骤。再例如,使得计算设备100执行对象识别的方法中由获取模块执行的步骤。再例如,使得计算设备100执行对象识别的方法中由确定模块执行步骤的指令。
在进行实施之前,下面先结合图2-图3,对适用于本申请实施例的整体系统框架进行详细描述。
图2是本申请实施例提供的一种通过SNN对待识别对象的多个AER事件进行识别的流程图。参见图2,该流程图中可以包括步骤210-230,下面分别对步骤210-230进行详细描述。
步骤210:SNN从AER传感器获取AER事件流。
本申请实施例中SNN从AER传感器获取到的AER事件流可以包括待识别对象的多个AER事件。每个AER事件包括发生该AER事件的像素的地址信息、时间戳以及极性。应理解,待识别对象指AER事件流中未确定类别或者动作的物体。
具体的,AER传感器可以检测每个像素的光强的变化,在变化超过阈值时,记录该像素对应的AER事件,而变化未超过阈值时,不记录该像素对应的AER事件。每个AER事件都包括发生该AER事件的像素的地址信息、时间戳以及极性,极性用于表征该像素感知到光的变化是从暗到亮(可以使用数值1表示),还是从亮到暗(可以使用数值-1表示)。这样从SNN从AER传感器获取到的AER事件流可以包括多个AER事件。
SNN从AER传感器获取AER事件流的实现方式有多种,本申请不做具体限定。下面对可能的几种实现方式进行详细描述。
一种可能的实现方式中,SNN在接收到待识别对象的AER事件的处理请求后,向该AER事件流所属的AER传感器发送AER事件的获取请求。AER传感器可以在接收到AER事件的获取请求后,可以向SNN发送AER事件。这样,SNN可以从AER传感器获取到待识别对象的AER事件。
另一种可能的实现方式中,AER传感器中配置有AER事件的上传周期,每到上传周期,AER传感器可以向SNN发送上次上传至此次上传这段时间之间采集到的AER事件。SNN可以从AER传感器获取到待识别对象的AER事件。
另一种可能的实现方式中,AER传感器每当采集到AER事件时,向SNN发送采集到的AER事件。这样,SNN也可以从AER传感器获取到待识别对象的AER事件流。
需要说明的是,本申请中获取的是一段时间的AER事件流,对这一段时间的AER事件流中的待识别对象进行识别,如一段时间为1分钟等。
步骤220:SNN对获取到的AER事件流进行特征提取。
SNN可以对获取到的待识别对象的AER事件流进行处理,以便于SNN对待识别对象进行识别。本申请中,该处理过程可以包括提取AER事件流的多个特征图以及对AER事件流的多个特征图进行编码处理。
以SNN提取AER事件流的多个特征图为例。SNN可以提取AER事件的空间特征,得到该AER事件的特征图。或者,SNN还可以提取AER事件的空间特征和时间特征,得到该AER事件的特征图,本申请不作具体限定。在提取AER事件的特征图时提取了该AER事件的时间信息和地址信息,原始的AER事件的时间信息和空间信息都包含在提取的特征图中,使得特征图能够更全面的代表原始数据,进而对待识别对象进行识别时,可以使得识别结果更准确。
作为示例,下面以SNN提取AER事件的时间信息和地址信息,得到AER事件流的多个特征图的具体实现过程进行详细描述。
AER事件流对应有多个特征图,每个特征图包含待识别对象的部分空间信息和部分时间信息。其中,部分空间信息和部分时间信息是根据每个AER事件的时间戳和地址信息获得的。空间信息用于指示待识别对象的空间特征,时间信息用于指示待识别对象的时间特征。
SNN在提取待识别对象的AER事件中的部分空间信息时,可以使用卷积操作进行提取。具体的,在提取特征图时可以使用滤波器,滤波器可以是任意一种能提取特征的滤波器,如可以是Gabor滤波器或者高斯函数差分(difference of gaussian,DOG)滤波器等,本申请对此不做具体限定。
以Gabor滤波器为例,Gabor滤波器可以由滤波器的尺度s和方向θ表示,在尺度s和方向θ固定的情况下,通过Gabor滤波器的函数表达式,即可计算出在这组尺度s和方向θ下的卷积核。在确定出卷积核后,会使用卷积核提取特征图。特征图中包含的特征值的数目与AER传感器的像素的数目相同,且该特征图中每一行特征值的数目与AER传感器中每一行像素的数目相同,且一一对应。
初始特征图中各特征值取值均可以为零。例如,AER传感器的像素数目为5*5,那么特征图包含的特征值的数目为5*5。在尺度s和方向θ固定的情况下,在每当一个AER事件进行卷积处理时,都是将该组尺度s和方向θ对应的卷积核覆盖到特征图该AER事件所属的位置的感受野中。具体的,作为示例,卷积核为AER事件在特征图中所属的位置为(m,n),将卷积核的中心位置的数值e与特征图中(m,n)位置的特征值进行叠加。然后将a与特征图中(m-1,n-1)位置的特征值进行叠加,将b与特征图中(m,n-1)位置的特征值进行叠加,将c与特征图中(m+1,n-1)位置的特征值进行叠加,以此类推,即可将卷积核覆盖到该特征图中,这样,就得到了该AER事件的特征图。
SNN在提取待识别对象的AER事件中的部分时间信息时,可以使用空间信息随时间衰减的方式对该时间信息进行提取,使得空间信息受到AER事件的时间戳的影响减小。具体的,对于特征图中任一位置,确定感受野覆盖在该位置上的AER事件,然后使用这些AER事件的时间戳衰减该位置的特征值,使距离当前时刻时间越长的AER事件对当前时刻的特征图中特征值的影响越小,使距离当前时刻时间越短的AER事件对当前时刻的特征图中特征值的影响越大。
以SNN对提取到的多个特征图进行编码处理为例,SNN可以将一个AER事件流提取到的多个特征图编码成一个脉冲序列。需要说明的是,上述进行编码的过程中,特征图中特征值较大的特征被认为更容易产生脉冲,对应最小延迟时间,会先触发脉冲。而特征图中特征值较小的特征会比较晚触发脉冲甚至不触发脉冲。这样,脉冲序列中的脉冲的触发时刻是基于特征图中的特征值得到,由于每个特征值反映待识别对象的部分空间信息和部分时间信息,所以脉冲序列中的脉冲也携带有待识别对象的部分空间信息和部分时间信息。
步骤230:SNN根据输入的脉冲序列对待识别对象进行识别。
SNN可以在提取到待识别对象的AER事件流对应的脉冲序列后,根据该脉冲序列对待识别对象进行识别,得到识别结果。
下面结合图3,对图2中描述的SNN的结构图进行描述。参见图3,该结构图中可以包括S1层,C1层,编码层以及识别层。
S1层,用于实现步骤210中SNN的处理过程。具体的,可以对获取到的AER事件流进行特征提取,得到多个特征图。作为示例。参见图4,假设卷积核为3*3,即假设AER传感器包括6*6个像素,尺度s为3,方向θ为45度时,C1层输出的特征图为6*6,在没有任何AER事件输入时,特征图中每个位置的值均为0,即在像素位置为(4,4)、时间为100ms处输入一个AER事件,S1层在特征图(4,4)的位置叠加卷积核,得到的特征图为而随着时间的推移到达200ms时,特征图中的特征值相比于100ms有一定的衰减。
C1层,用于对S1层输出的特征图进行降维处理,该处理也可以称为池化操作。具体的,C1层可以将S1层输出的每个特征图分为相邻的n*n的区域。作为示例,将S1层输出的每个特征图分为相邻的2*2的区域。对于每个特征图,C1层选取该特征图中每个2*2的区域中的最大值,得到该特征图对应的新特征图。可见,C1层仅会改变特征图的维度,而不会改变特征图的数目。例如,S1层输出的特征图为16个,每个的大小为128*128,得到新特征图为16个,每个的大小为64*64。这样,通过C1层的处理,可以降低特征图的维度,进而可以降低后续编码层和识别层的处理量。
需要说明的是,若S1层输出的特征图的维度比较小,或者编码层和识别层的处理能力较强,可以不进行C1层的处理。
编码层,用于实现步骤220中SNN的处理过程。具体的,可以对获取到的AER事件流的多个特征图进行编码处理,编码成脉冲序列。详细的请参见上文中对编码处理的描述,此处不再赘述。
识别层,用于接收编码层输出的脉冲序列,对从AER传感器获取到的待识别对象的AER事件流进行识别。具体的,可以将脉冲序列输入到识别层中的每个识别神经元中,根据每个识别神经元上的膜电压对确定待识别对象进行识别。
应理解,该识别层由一层全连接的神经元(即后续提到的识别神经元或脉冲神经元)组成。识别层中包括的神经元的数目等于N*P*M(N和P可以相等,也可以不相等),其中,N*P为特征图(C1层输出的特征图)的尺寸,M为方向θ的数目。
下面结合图5,对本申请实施例提供的一种识别层进行对象识别的方法进行详细描述,该方法由SNN中的脉冲神经元执行。图5所示的方法可以步骤510-530,下面分别对步骤510-530进行详细描述。
步骤510:接收待识别对象的第一特征脉冲序列。
SNN中的脉冲神经网络可以接收待识别对象的第一特征脉冲序列,该第一特征脉冲序列中包括多个脉冲。该第一特征脉冲序列是根据待识别对象在第一预设时间段的第一部分AER事件通过特征提取和编码获得的,该第一特征脉冲序列中包含产生该第一部分AER事件的时间信息和空间信息。具体的请参见图2中的相关描述,此处不再赘述。
需要说明的是,对待识别对象的多个AER事件划分不同的时间段,可以按照均匀的时间间隔对待识别对象的多个AER事件进行分段,或者还可以按照非均匀的时间间隔对待识别对象的多个AER事件进行分段,本申请对此不作具体限定。
本申请中,待识别对象可以是行人、车辆等物体,或者还可以是动作,行为等变化的过程。
步骤520:根据第一特征脉冲序列中的多个脉冲和设置的权重获得脉冲神经元在第一预设时间段的结束时刻的第一膜电压。
脉冲神经元的膜电压会根据第一特征脉冲序列的多个脉冲的刺激而改变。例如,脉冲神经元的膜电压会根据多个脉冲中包含的空间信息而累加,该脉冲神经元的膜电压还会根据该多个脉冲中包含的时间信息而衰减。脉冲神经元的膜电压改变的幅度和该脉冲神经元上设置的权重相关,该权重是在多个不同的时间段内分别根据待识别对象的预测结果和真实结果之间的偏差确定的,下面会结合图7-图8对该权重的训练过程进行描述,此处不再赘述。
本申请中,脉冲神经元可以根据输入的第一特征脉冲序列的多个脉冲以及设置的权重获取在第一预设时间段的结束时刻该脉冲神经元上的累积膜电压。
具体的,一种可能的实现方式中,也可以使用如下公式(1)进行脉冲神经元上膜电压的计算。
一种可能的脉冲神经元的膜电压的计算公式如下所示:
其中,t表示当前时刻,也可以称为每一时间段的结束时间;
V(t)表示t时刻脉冲神经元上的累积膜电压;
wi表示突触i上的权重值;
ti表示突触i上的脉冲时间,也可以称为接收到特征脉冲序列的时间戳;
Vrest表示脉冲神经元的静息电位。
需要说明的是,静息电位一般为0。随着时间的推移,特征图中的每个像素对应的特征值都朝着静止电位减少,或增加。朝着静止电位减少的情况是:大于0的特征值都会朝着静止电位0减少,如从1变为0.5。朝着静止电位增加的情况是:小于0的特征值都会朝着静止电位0增加,如从-1变为-0.5。
函数K的计算公式如下所示:
其中,V0为预设的常数;
τm和τs分别表示膜整合和突触电流的衰减时间常数;
exp()为衰减函数,表示衰减程度。
步骤530:根据脉冲神经元的膜电压确定待识别对象为第一目标对象。
本申请实施例中,根据脉冲神经元的膜电压确定待识别对象为第一目标对象的实现方式有多种。下面对几种可能的实现方式进行详细描述。
一种可能的实现方式中,该脉冲神经元的膜电压包括第一膜电压,如果该脉冲神经元代表的是第一目标,如果第一膜电压大于第一预设阈值,可以确定待识别对象为该脉冲神经元代表的第一目标对象。
另一种可能的实现方式中,该脉冲神经元的膜电压包括第一膜电压,如果该第一膜电压与第二膜电压之间的第一比值大于第二预设阈值,确定该待识别对象为该脉冲神经元代表的第一目标对象,该第二膜电压为该SNN中的多个脉冲神经元在该第一预设时间段的结束时刻的膜电压总和。
可选的,还可以根据第一膜电压的指数与该SNN中的多个脉冲神经元在该第一预设时间段的结束时刻的膜电压的指数的总和之间的比值大于第二预设阈值,确定该待识别对象为该脉冲神经元代表的第一目标对象。
一种可能的计算特征脉冲序列是某个脉冲神经元代表的特定对象(例如,对象j)的概率的公式如下所示:
其中,P(ck=j)表示输入的特征脉冲序列ck是对象j的概率;
Vj表示代表对象j的脉冲神经元上的膜电压;
exp(Vj)表示对象j的脉冲神经元上的膜电压的指数;
n表示SNN的脉冲神经元的数量;
另一种可能的实现方式中,该脉冲神经元的膜电压包括第一膜电压和第三膜电压,该第三膜电压是脉冲神经元在根据第二特征脉冲序列中的多个脉冲和权重确定的在第二预设时间段的结束时刻的膜电压,如果第一膜电压和第三膜电压的平均值或加权平均值大于第一预设阈值,确定待识别对象为第一目标对象。
另一种可能的实现方式中,该脉冲神经元的膜电压包括第一膜电压和第三膜电压,如果第一比值和第二比值的平均值或加权平均值大于第二预设阈值,确定该待识别对象为该第一目标对象,其中,该第二比值为该第三膜电压与该SNN中的多个脉冲神经元在该第二预设时间段的结束时刻的膜电压总和之间的比值。
上述技术方案中,脉冲神经网络SNN中的脉冲神经元可以根据待识别对象在预设时间段的部分AER事件进行对象识别,从而可以在输入的AER事件不完整的情况下,根据待识别对象的部分AER事件对该待识别对象进行识别。
另外,本申请实施例中还提供了一种SNN中权重的训练方法,使得该SNN可以基于训练后的权重,根据脉冲神经元的脉冲发放频率或该脉冲神经元的膜电压对待识别对象进行识别。下面结合图6-7,对本申请实施例提供的一种SNN中突触权重的训练方法进行详细描述。
图6是本申请实施例提供的一种SNN中突触权重的训练的方法的示意性流程图。参见图6,该方法可以包括步骤610-670,下面分别对步骤610-670进行详细描述。
步骤610:计算脉冲神经元的膜电压。
脉冲神经元的膜电压初始化为0,在接收到编码层输出的特征脉冲序列后,该脉冲神经元上的膜电压会根据接收到的特征脉冲序列而改变。具体的有关每个没冲神经元上的膜电压的计算方法请参考公式(1)的描述,此处不再赘述。
步骤620:初始化ts=0。
ts为每一个时间段的初始时刻。由于神经元的衰减机制,本申请中,可以分段进行权重更新,这样可以充分利用更多的该时间段内脉冲序列中的脉冲携带的待识别对象的空间信息和时间信息,提高突触权重训练的效率和准确性。
步骤630:判断ts是否小于特征脉冲序列总长度L。
如果ts小于特征脉冲流序列长度L,则可以执行步骤740-760。如果ts大于特征脉冲序列总长度L,则可以执行步骤770。
步骤640:寻找脉冲神经元的膜电压在(ts,ts+tR]范围内的峰值tpeak。
具体的,本申请实施例中可以从ts开始,以tR为固定的时长的搜索范围内,确定各个脉冲神经元的膜电压在(ts,ts+tR]范围内的峰值tpeak。
一种可能的实现方式中,可以基于公式(4)确定脉冲神经元的峰值时刻tpeak。
步骤650:根据脉冲神经元在(ts,ts+tpeak]范围内的膜电压调整突触权重。
在训练的过程中,首先随机初始化突触权重,再根据脉冲神经元在(ts,ts+tpeak]范围内的膜电压调整突触权重。具体的有关突触权重的调整方法请参见图7中的描述。
图7是本申请实施例提供的一种调整突触权重的方法的示意性流程图。如图7所示,该方法包括步骤710-740,下面分别对步骤710-740进行详细描述。
步骤710:近似出脉冲神经元脉冲发放的频率与电压的关系。
本申请实施例脉冲中神经元脉冲发放的频率与电压的关系如公式(5)所示。
fout=log(exp(Vpeak)+1) (5)
其中,fout表示脉冲神经元脉冲发放的频率;
Vpeak表示神经元在峰值时刻tpeak对应的膜电压。
代表对象j的神经元脉冲发放的频率与电压的关系如公式(6)所示。
步骤720:确定第k个样本属于对象j的概率。
一种可能的计算第k个样本(例如,第k个时间段的特征脉冲序列)是某个特定对象(例如,对象j)的概率的公式如下所示:
步骤730:确定第k个样本的损失函数。
本申请实施例可以基于步骤820中预测的第k个样本的属于对象j的概率以及该第k个样本实际所属的对象,确定第k个样本的损失函数。具体的,请参见如下的公式(8)。
其中,Lk表示第k个样本的损失函数;
步骤740:最小化第k个样本的损失函数,并更新突触权重wi。
本申请实施例可以基于如下的公式(9)-(11),进行突触权重wi的更新。
其中,λ为学习率,通常设置为0.1。
步骤660:更新ts。
本申请实施例可以根据公式(12)更新ts。
步骤670:结束。
可选的,在一些实施例中,由于单个脉冲神经元的活动容易受到影响,因此采用群体编码来提高信息编码的可靠性。在本申请中,每个对象类别被设置为与多个脉冲神经元的种群相关联。也就是说,SNN中的多个脉冲神经元可以代表一个对象类别。
上文结合图1至图7,详细描述了本申请实施例提供的对象识别的方法,下面将结合图8,详细描述本申请装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图8是本申请实施例提供的一种对象识别的装置800的示意性框图。该对象识别的装置可以通过软件、硬件或者两者的结合实现成为装置中的部分或者全部。本申请实施例提供的装置可以实现本申请实施例图5该的流程,该对象识别的装置800包括:接收模块810,获取模块820,确定模块830,其中:
接收模块810,用于接收待识别对象的第一特征脉冲序列,其中,该第一特征脉冲序列包含多个脉冲,该第一特征脉冲序列是根据该待识别对象在第一预设时间段内的第一部分AER事件获得的;
获取模块820,用于根据该第一特征脉冲序列中的该多个脉冲和设置的权重,获得该脉冲神经元在该第一预设时间段的结束时刻的第一膜电压;
确定模块830,用于根据该脉冲神经元的膜电压确定该待识别对象为第一目标对象,其中,该脉冲神经元的膜电压包括该第一膜电压。
在一种可能的实现方式中,该确定模块830具体用于:如果该第一脉冲神经元上的该第一膜电压大于第一预设阈值,确定该待识别对象为该第一目标对象。
在另一种可能的实现方式中,该确定模块830具体用于:如果该第一膜电压与第二膜电压之间的第一比值大于第二预设阈值,确定该待识别对象为该第一目标对象,其中,该第二膜电压为该SNN中的多个脉冲神经元在该第一预设时间段的结束时刻的膜电压总和。
在另一种可能的实现方式中,该接收模块810还用于:接收该待识别对象的第二特征脉冲序列,该第二特征脉冲序列包含多个脉冲,该第二特征脉冲序列是根据该待识别对象在第二预设时间段内的第二部分AER事件获得的;
该获取模块820还用于:根据该第二特征脉冲序列中的该多个脉冲和该设置的权重,获取该脉冲神经元在该第二预设时间段的结束时刻的第三膜电压;
该确定模块830具体用于:
根据该第一膜电压和该第三膜电压确定该待识别对象为第一目标对象。
在另一种可能的实现方式中,该确定模块830具体用于:如果该第一膜电压和该第三膜电压的平均值或加权平均值大于第一预设阈值,确定该待识别对象为该第一目标对象。
在另一种可能的实现方式中,该确定模块830具体用于:如果第一比值和第二比值的平均值或加权平均值大于第二预设阈值,确定该待识别对象为该第一目标对象,其中,该第二比值为该第三膜电压与该SNN中的多个脉冲神经元在该第二预设时间段的结束时刻的膜电压总和之间的比值。
在另一种可能的实现方式中,该AER事件中包括产生该AER事件的时间戳和地址信息。
在另一种可能的实现方式中,该权重是在多个不同的时间段内分别根据待识别对象的预测结果和真实结果之间的偏差确定的。
本申请提供的技术方案中,脉冲神经网络SNN中的脉冲神经元可以根据待识别对象在预设时间段的部分AER事件进行对象识别,从而可以在输入的AER事件不完整的情况下对待识别对象进行识别。
需要说明的是:上述实施例提供的对象识别的装置在对象识别时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对象识别的装置与对象识别的方法实施例属于同一构思,其具体实现过程详见上文中的方法实施例,这里不再赘述。
本实施例中,还提供了一种对象识别的计算设备,该计算设备包括处理器和存储器,该存储器用于存储一个或多个指令,该处理器通过执行该一个或多个指令来实现上述所提供的对象识别的方法置。
本实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质存储有指令,当计算机可读存储介质中的指令在计算设备上被执行时,使得计算设备执行上述所提供的对象识别的方法。
本实施例中,还提供了一种包含指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述所提供的对象识别的方法,或者使得该计算设备实现上述提供的对象识别的装置的功能。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
该功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (18)
1.一种对象识别的方法,其特征在于,所述方法由脉冲神经网络SNN中的脉冲神经元执行,所述方法包括:
接收待识别对象的第一特征脉冲序列,其中,所述第一特征脉冲序列包含多个脉冲,所述第一特征脉冲序列是根据所述待识别对象在第一预设时间段内的第一部分AER事件获得的;
根据所述第一特征脉冲序列中的所述多个脉冲和设置的权重,获得所述脉冲神经元在所述第一预设时间段的结束时刻的第一膜电压;
根据所述脉冲神经元的膜电压确定所述待识别对象为第一目标对象,所述脉冲神经元的膜电压包括所述第一膜电压。
2.根据权利要求1所述的方法,其特征在于,所述根据所述脉冲神经元的膜电压确定所述待识别对象为第一目标对象,包括:
如果所述第一膜电压大于第一预设阈值,确定所述待识别对象为所述第一目标对象。
3.根据权利要求1所述的方法,其特征在于,所述根据所述脉冲神经元的膜电压确定所述待识别对象为第一目标对象,包括:
如果所述第一膜电压与第二膜电压之间的第一比值大于第二预设阈值,确定所述待识别对象为所述第一目标对象,其中,所述第二膜电压为所述SNN中的多个脉冲神经元在所述第一预设时间段的结束时刻的膜电压总和。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述待识别对象的第二特征脉冲序列,所述第二特征脉冲序列包含多个脉冲,所述第二特征脉冲序列是根据所述待识别对象在第二预设时间段内的第二部分AER事件获得的;
根据所述第二特征脉冲序列中的所述多个脉冲和所述设置的权重,获取所述脉冲神经元在所述第二预设时间段的结束时刻的第三膜电压;
根据所述脉冲神经元的膜电压确定所述待识别对象为第一目标对象,包括:
根据所述第一膜电压和所述第三膜电压确定所述待识别对象为所述第一目标对象。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一膜电压和所述第三膜电压确定所述待识别对象为所述第一目标对象,包括:
如果所述第一膜电压和所述第三膜电压的平均值或加权平均值大于第一预设阈值,确定所述待识别对象为所述第一目标对象。
6.根据权利要求4所述的方法,其特征在于,所述根据所述第一膜电压和所述第三膜电压确定所述待识别对象为所述第一目标对象,包括:
如果第一比值和第二比值的平均值或加权平均值大于第二预设阈值,确定所述待识别对象为所述第一目标对象,其中,所述第二比值为所述第三膜电压与所述SNN中的多个脉冲神经元在所述第二预设时间段的结束时刻的膜电压总和之间的比值。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述AER事件中包括产生所述AER事件的时间戳和地址信息。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述权重是在多个不同的时间段内分别根据待识别对象的预测结果和真实结果之间的偏差确定的。
9.一种对象识别的装置,其特征在于,所述对象识别的装置应用于脉冲神经网络SNN中的脉冲神经元,所述装置包括:
接收模块,用于接收待识别对象的第一特征脉冲序列,其中,所述第一特征脉冲序列包含多个脉冲,所述第一特征脉冲序列是根据所述待识别对象在第一预设时间段内的第一部分AER事件获得的;
获取模块,用于根据所述第一特征脉冲序列中的所述多个脉冲和设置的权重,获得所述脉冲神经元在所述第一预设时间段的结束时刻的第一膜电压;
确定模块,用于根据脉冲神经元的膜电压确定所述待识别对象为第一目标对象,其中,所述脉冲神经元的膜电压包括所述第一膜电压。
10.根据权利要求9所述的装置,其特征在于,所述确定模块具体用于:
如果所述第一脉冲神经元上的所述第一膜电压大于第一预设阈值,确定所述待识别对象为所述第一目标对象。
11.根据权利要求9所述的装置,其特征在于,所述确定模块具体用于:
如果所述第一膜电压与第二膜电压之间的第一比值大于第二预设阈值,确定所述待识别对象为所述第一目标对象,其中,所述第二膜电压为所述SNN中的多个脉冲神经元在所述第一预设时间段的结束时刻的膜电压总和。
12.根据权利要求9所述的装置,其特征在于,所述接收模块还用于:
接收所述待识别对象的第二特征脉冲序列,所述第二特征脉冲序列包含多个脉冲,所述第二特征脉冲序列是根据所述待识别对象在第二预设时间段内的第二部分AER事件获得的;
所述获取模块还用于:根据所述第二特征脉冲序列中的所述多个脉冲和所述设置的权重,获取所述脉冲神经元在所述第二预设时间段的结束时刻的第三膜电压;
所述确定模块具体用于:
根据所述第一膜电压和所述第三膜电压确定所述待识别对象为所述第一目标对象。
13.根据权利要求12所述的装置,其特征在于,所述确定模块具体用于:
如果所述第一膜电压和所述第三膜电压的平均值或加权平均值大于第一预设阈值,确定所述待识别对象为所述第一目标对象。
14.根据权利要求12所述的装置,其特征在于,所述确定模块具体用于:
如果第一比值和第二比值的平均值或加权平均值大于第二预设阈值,确定所述待识别对象为所述第一目标对象,其中,所述第二比值为所述第三膜电压与所述SNN中的多个脉冲神经元在所述第二预设时间段的结束时刻的膜电压总和之间的比值。
15.根据权利要求9至14中任一项所述的装置,其特征在于,所述AER事件中包括产生所述AER事件的时间戳和地址信息。
16.根据权利要求9至15中任一项所述的装置,其特征在于,所述权重是在多个不同的时间段内分别根据待识别对象的预测结果和真实结果之间的偏差确定的。
17.一种对象识别的计算设备,其特征在于,包括:
通信接口,用于接收待识别对象的第一特征脉冲序列;
处理器,与所述通信接口连接并用于执行如权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述计算机可读存储介质中的指令被计算设备执行时,使得所述计算设备执行所述权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010081631.6A CN113221605A (zh) | 2020-02-06 | 2020-02-06 | 对象识别的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010081631.6A CN113221605A (zh) | 2020-02-06 | 2020-02-06 | 对象识别的方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113221605A true CN113221605A (zh) | 2021-08-06 |
Family
ID=77085609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010081631.6A Pending CN113221605A (zh) | 2020-02-06 | 2020-02-06 | 对象识别的方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221605A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139695A (zh) * | 2022-01-06 | 2022-03-04 | 国网浙江省电力有限公司电力科学研究院 | 脉冲神经网络加速方法及脉冲神经网络的事件驱动加速器 |
-
2020
- 2020-02-06 CN CN202010081631.6A patent/CN113221605A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139695A (zh) * | 2022-01-06 | 2022-03-04 | 国网浙江省电力有限公司电力科学研究院 | 脉冲神经网络加速方法及脉冲神经网络的事件驱动加速器 |
CN114139695B (zh) * | 2022-01-06 | 2022-06-03 | 国网浙江省电力有限公司电力科学研究院 | 一种支持抑制型脉冲神经网络的事件驱动加速器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tirupattur et al. | Thoughtviz: Visualizing human thoughts using generative adversarial network | |
CN107403154B (zh) | 一种基于动态视觉传感器的步态识别方法 | |
Reddy et al. | Few-shot scene adaptive crowd counting using meta-learning | |
Zhan et al. | New spiking cortical model for invariant texture retrieval and image processing | |
CN106575377B (zh) | 共同特征上的分类器更新 | |
EP3143563B1 (en) | Distributed model learning | |
CN110929622A (zh) | 视频分类方法、模型训练方法、装置、设备及存储介质 | |
CN109978893A (zh) | 图像语义分割网络的训练方法、装置、设备及存储介质 | |
EP3500979A1 (en) | Computer device for training a deep neural network | |
CN111339813B (zh) | 人脸属性识别方法、装置、电子设备和存储介质 | |
CN110399908A (zh) | 基于事件型相机的分类方法和装置、存储介质、电子装置 | |
US20220180619A1 (en) | Object recognition method and apparatus | |
Iyer et al. | Unsupervised learning of event-based image recordings using spike-timing-dependent plasticity | |
CN117257302B (zh) | 人员心理健康状态评估方法及系统 | |
CN112802076A (zh) | 反射图像生成模型及反射去除模型的训练方法 | |
Krishnagopal et al. | Similarity learning and generalization with limited data: A reservoir computing approach | |
CN113592769A (zh) | 异常图像的检测、模型的训练方法、装置、设备及介质 | |
CN113221605A (zh) | 对象识别的方法、装置及计算机可读存储介质 | |
US20220405574A1 (en) | Model-aware data transfer and storage | |
She et al. | Speed: Spiking neural network with event-driven unsupervised learning and near-real-time inference for event-based vision | |
Suriani et al. | Smartphone sensor accelerometer data for human activity recognition using spiking neural network | |
CN116524380A (zh) | 一种基于脑-机信号融合的目标检测方法 | |
CN116758331A (zh) | 物体检测方法、装置及存储介质 | |
Malakhova | Representation of categories through prototypes formed based on coordinated activity of units in convolutional neural networks | |
Kamaruzaman et al. | Coincidence detection using spiking neurons with application to face recognition |
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 |