CN112085128B - 一种基于脉动阵列的图像识别方法、装置和介质 - Google Patents
一种基于脉动阵列的图像识别方法、装置和介质 Download PDFInfo
- Publication number
- CN112085128B CN112085128B CN202011163647.8A CN202011163647A CN112085128B CN 112085128 B CN112085128 B CN 112085128B CN 202011163647 A CN202011163647 A CN 202011163647A CN 112085128 B CN112085128 B CN 112085128B
- Authority
- CN
- China
- Prior art keywords
- node
- dimensional
- value
- feature
- characteristic
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 239000013598 vector Substances 0.000 claims abstract description 89
- 238000004364 calculation method Methods 0.000 claims abstract description 30
- 239000011159 matrix material Substances 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims abstract description 10
- 238000009825 accumulation Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000010349 pulsation Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 14
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000011176 pooling Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- 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
-
- 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/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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种基于脉动阵列的图像识别方法、装置和介质,将获取的图像特征信息转换为一维特征向量;将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组。利用三维脉动阵列模型,对一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值。不同取值的特征值可以反映图像中包含的物品类别,依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别。将待计算的图像特征信息与权重值经过一维转化之后,采用脉动阵列模型进行加速计算的架构对一维特征向量进行计算,充分扩展了向量计算的并行度,有效的提升了图像的分类处理效率。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种基于脉动阵列的图像识别方法、装置和计算机可读存储介质。
背景技术
目前深度学习方面的研究主要以卷积神经网络(Convolutional NeuralNetwork,CNN)为研究对象。而由于处理场景的不同,对CNN的性能要求也不相同,从而发展出多种网络结构。但是CNN的基本组成是固定的,分别为输入层、卷积层、激活层、池化层和全连接层。
全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。卷积层、池化层和激活层等操作是将原始数据映射到隐藏层特征空间,而全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。在实际使用中,全连接层可由卷积操作实现。在CNN中,全连接常出现在最后几层,用于对前面设计的特征做加权和,前面的卷积和池化相当于做特征处理,后面的全连接相当于做特征加权。
目前对于全连接层计算的方法主要有两种,一是将全连接层按照卷积核尺寸为1*1的卷积来进行计算,但是需要非常快速地更换卷积核即权重值的数据,造成数据传输的带宽压力很大。二是采用特征值与权重值对应元素全部或局部并行计算的方法,由于是并行计算,需要额外的中间结果处理环节,因此不能连续计算,降低了硬件资源的使用效率,影响了图像的分类处理效率。
可见,如何提升图像的分类处理效率,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种基于脉动阵列的图像识别方法、装置和计算机可读存储介质,可以提升图像的分类处理效率。
为解决上述技术问题,本发明实施例提供一种基于脉动阵列的图像识别方法,包括:
将获取的图像特征信息转换为一维特征向量;
将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组;
利用所述三维脉动阵列模型,对所述一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值;
依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别。
可选地,所述利用所述三维脉动阵列模型,对所述一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值包括:
将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值;
按照所述三维脉动阵列模型的节点传输方向,将所述一维特征向量分别传输至与所述第一节点直接相连的至少三个第二节点;
将所述一维特征向量分别与各所述第二节点的当前特征值进行乘累加,将得到的乘累加值作为各所述第二节点各自对应的特征值;将各所述第二节点作为所述第一节点,并返回所述将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值的步骤,直至完成对所述三维脉动阵列模型中所有节点的特征值的计算。
可选地,在所述利用所述三维脉动阵列模型,对所述一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值之后还包括:
判断当前得到的特征值个数是否达到所述图像特征信息对应的输出个数;
若当前得到的特征值个数未达到所述图像特征信息对应的输出个数,则将所述三维脉动阵列模型中各节点的权重组中与当前权重值相邻的下一个权重值作为各节点最新的当前权重值,并返回所述将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值的步骤;
若当前得到的特征值个数达到所述图像特征信息对应的输出个数,则执行所述依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别的步骤。
可选地,所述依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别包括:
根据各节点对应的特征值,计算所有所述节点的特征值的累加和值;
计算各所述节点对应的特征值与所述累加和值的比值,并选取比值满足预设条件的节点作为目标节点;
查询预先建立的特征值与物品种类的对应关系,以确定出所述目标节点的特征值相匹配的物品类别。
可选地,所述选取比值满足预设条件的节点作为目标节点包括:
选取比值最大的节点作为目标节点。
可选地,在所述对训练好的三维脉动阵列模型中每个节点分配对应的权重组之前还包括:
依据所述图像特征信息对应的输出个数,调整所述三维脉动阵列模型的通道数目。
本发明实施例还提供了一种基于脉动阵列的图像识别装置,包括转换单元、分配单元、乘累加单元和确定单元;
所述转换单元,用于将获取的图像特征信息转换为一维特征向量;
所述分配单元,用于将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组;
所述乘累加单元,用于利用所述三维脉动阵列模型,对所述一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值;
所述确定单元,用于依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别。
可选地,所述乘累加单元包括第一计算子单元、传输子单元、第二计算子单元和作为子单元;
所述第一计算子单元,用于将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值;
所述传输子单元,用于按照所述三维脉动阵列模型的节点传输方向,将所述一维特征向量分别传输至与所述第一节点直接相连的至少三个第二节点;
所述第二计算子单元,用于将所述一维特征向量分别与各所述第二节点的当前特征值进行乘累加,将得到的乘累加值作为各所述第二节点各自对应的特征值;
所述作为子单元,用于将各所述第二节点作为所述第一节点,并返回所述将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值的步骤,直至完成对所述三维脉动阵列模型中所有节点的特征值的计算。
可选地,还包括判断单元和作为单元;
所述判断单元,用于判断当前得到的特征值个数是否达到所述图像特征信息对应的输出个数;若当前得到的特征值个数达到所述图像特征信息对应的输出个数,则触发所述确定单元;若当前得到的特征值个数未达到所述图像特征信息对应的输出个数,则触发所述作为子单元;
所述作为单元,用于将所述三维脉动阵列模型中各节点的权重组中与当前权重值相邻的下一个权重值作为各节点最新的当前权重值,并返回所述第一计算子单元。
可选地,所述确定单元包括计算子单元、选取子单元和查询子单元;
所述计算子单元,用于根据各节点对应的特征值,计算所有所述节点的特征值的累加和值;
所述选取子单元,用于计算各所述节点对应的特征值与所述累加和值的比值,并选取比值满足预设条件的节点作为目标节点;
所述查询子单元,用于查询预先建立的特征值与物品种类的对应关系,以确定出所述目标节点的特征值相匹配的物品类别。
可选地,所述选取子单元具体用于选取比值最大的节点作为目标节点。
可选地,还包括调整单元;
所述调整单元,用于依据所述图像特征信息对应的输出个数,调整所述三维脉动阵列模型的通道数目。
本发明实施例还提供了一种基于脉动阵列的图像识别装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述基于脉动阵列的图像识别方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述基于脉动阵列的图像识别方法的步骤。
由上述技术方案可以看出,将获取的图像特征信息转换为一维特征向量;将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组。通过将图像特征信息转换为一维特征向量,可以有效的降低后续对图像特征信息执行计算的复杂度。利用三维脉动阵列模型,对一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值。不同取值的特征值可以反映图像中包含的物品类别,依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,可以确定出图像中包含的物品类别。在该技术方案中,将待计算的图像特征信息与权重值经过一维转化之后,采用脉动阵列模型进行加速计算的架构对一维特征向量进行计算,充分扩展了向量计算的并行度,加速了全连接层的计算时间,有效的提升了图像的分类处理效率。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于脉动阵列的图像识别方法的流程图;
图2为本发明实施例提供的一种三维脉动阵列模型的结构示意图;
图3为本发明实施例提供的一种基于脉动阵列的图像识别装置的结构示意图;
图4为本发明实施例提供的一种基于脉动阵列的图像识别装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种基于脉动阵列的图像识别方法。图1为本发明实施例提供的一种基于脉动阵列的图像识别方法的流程图,该方法包括:
S101:将获取的图像特征信息转换为一维特征向量。
在本发明实施例中,依据神经网络中全连接层计算的定义,可以将图像特征信息转换为一维特征向量。
S102:将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组。
权重矩阵可以按照与图像特征信息相同的次序转换为一维权重向量。权重向量中包含的权重值的个数等于神经网络中输入通道数目和输出通道数目的乘积。
如图2所示为本发明实施例提供的一种三维脉动阵列模型的结构示意图,在实际应用中,可以根据三维脉动阵列模型的规模依次向三维脉动阵列模型中各个节点分配对应的权重值。每个节点对应的权重值往往有多个,可以将每个节点对应的多个权重值称作权重组。图2中采用数字的方式表示每一层包含的节点,从图2中可以看出节点1沿着3个节点传输方向,一共对应有3个节点2。每个节点2沿着节点传输方向,一共对应有6个节点3。
S103:利用三维脉动阵列模型,对一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值。
考虑到三维脉动阵列模型的规模有限,将一维特征向量输入到三维脉动阵列模型进行一次运算得到的特征值的个数可能无法达到图像特征信息实际需要的输出个数,因此在一次运算完成之后,需要将一维特征向量再次输入到三维脉动阵列模型执行运算,此时运算三维脉动阵列模型中各节点的权重值会发生变化。
每个节点有其对应的一个权重组,在执行第一次运算时可以将各节点的权重组中的第一个权重值作为当前权重值,在执行第二次运算时可以将各节点的权重组中的第二个权重值作为当前权重值,依次类推,在每次运算时每个节点的权重值与上次运算时的权重值不同。
在具体实现中,可以将一维特征向量与三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为第一节点的特征值;按照三维脉动阵列模型的节点传输方向,将一维特征向量分别传输至与第一节点直接相连的至少三个第二节点;将一维特征向量分别与各第二节点的当前特征值进行乘累加,并将得到的乘累加值作为各第二节点各自对应的特征值;将各第二节点作为第一节点,并返回将一维特征向量与三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为第一节点的特征值的步骤,依次类推,直至完成对三维脉动阵列模型中所有节点的特征值的计算。
乘累加指的是将一维特征向量中包含的各个特征值分别与权重值相乘,然后将各个乘积进行相加,从而得到乘累加值。
完成对三维脉动阵列模型中所有节点的特征值的计算即为完成了对一维特征向量的一次运算。在实际应用中,可以按照识别图像中物品类别所需的特征值个数,设置三维脉动阵列模型的规模。当三维脉动阵列模型的规模与识别图像中物品类别所需的特征值个数匹配时,在完成对所述三维脉动阵列模型中所有节点的特征值的计算,可以执行S104。
S104:依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别。
在本发明实施例中,采用特征值表征物品的类别。特征值的取值不同代表其对应的物品类别不同。一张图像中包含的物品类别可以有多种,例如,行人、车辆、商铺等。在本发明实施例中,可以预先建立特征值与物品种类的对应关系。
在得到每个节点对应的特征值之后,可以根据各节点对应的特征值,计算所有节点的特征值的累加和值;然后再计算各节点对应的特征值与累加和值的比值,并选取比值满足预设条件的节点作为目标节点。
每个节点有其对应的特征值,特征值有其对应的物品类别,节点的比值越高,说明图像中包含该类物品的概率越高。在实际应用中,可以选取比值最大的节点作为目标节点,或者是比值位于前三位的节点作为目标节点。通过查询预先建立的特征值与物品种类的对应关系,可以确定出目标节点的特征值相匹配的物品类别,即为图像中包含的物品类别。
本发明实施例提供的基于脉动阵列的图像识别方法可以应用于人工智能计算加速的硬件结构,例如,可以应用于现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者专用集成电路(Application Specific Integrated Circuit,ASIC)等多种硬件环境中。通过将基于脉动阵列的图像识别方法应用于上述硬件环境中,使得依据于上述硬件设备执行图像的分类处理时,可以充分扩展向量计算的并行度,从而提升图像的分类处理效率。
由上述技术方案可以看出,将获取的图像特征信息转换为一维特征向量;将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组。通过将图像特征信息转换为一维特征向量,可以有效的降低后续对图像特征信息执行计算的复杂度。利用三维脉动阵列模型,对一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值。不同取值的特征值可以反映图像中包含的物品类别,依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,可以确定出图像中包含的物品类别。在该技术方案中,将待计算的图像特征信息与权重值经过一维转化之后,采用脉动阵列模型进行加速计算的架构对一维特征向量进行计算,充分扩展了向量计算的并行度,加速了全连接层的计算时间,有效的提升了图像的分类处理效率。
为了保证得到的特征值个数满足进行物品类别识别所需的特征值个数,在利用三维脉动阵列模型,对一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值之后,可以判断当前得到的特征值个数是否达到图像特征信息对应的输出个数。
若当前得到的特征值个数未达到图像特征信息对应的输出个数,则说明仍需要对一维特征向量执行运算,此时可以将三维脉动阵列模型中各节点的权重组中与当前权重值相邻的下一个权重值作为各节点最新的当前权重值,并返回将一维特征向量与三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为第一节点的特征值的步骤。若当前得到的特征值个数达到图像特征信息对应的输出个数,则执行依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别的步骤。
在本发明实施例中,对于三维脉动阵列模型的规模不做限定,在实际应用中,在对训练好的三维脉动阵列模型中每个节点分配对应的权重组之前,可以依据图像特征信息对应的输出个数,调整三维脉动阵列模型的通道数目。
图2所示的三维脉动阵列模型是以64通道数目为例,假设,当前图像特征信息对应的输出个数为32,则可以将三维脉动阵列模型的通道数目缩减为32。假设,当前图像特征信息对应的输出个数为128,则可以将三维脉动阵列模型的通道数目扩充为128。
考虑到三维脉动阵列模型的通道数目越多其复杂度越高,为了均衡三维脉动阵列模型的复杂度和图像的分类处理效率,可以对三维脉动阵列模型的规模设置上限值。例如,可以将通道数目为128作为三维脉动阵列模型的规模上限值。假设当前图像特征信息对应的输出个数为256,则可以将三维脉动阵列模型的通道数目设置为128,此时需要将一维特征向量两次输入三维脉动阵列模型执行运算,从而得到256个通道输出结果。
通过动态调整三维脉动阵列模型的通道数目,可以使得三维脉动阵列模型的规模更加符合实际的计算需求,有效的提升了三维脉动阵列模型的计算性能。
图3为本发明实施例提供的一种基于脉动阵列的图像识别装置的结构示意图,包括转换单元31、分配单元32、乘累加单元33和确定单元34;
转换单元31,用于将获取的图像特征信息转换为一维特征向量;
分配单元32,用于将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组;
乘累加单元33,用于利用三维脉动阵列模型,对一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值;
确定单元34,用于依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别。
可选地,乘累加单元包括第一计算子单元、传输子单元、第二计算子单元和作为子单元;
第一计算子单元,用于将一维特征向量与三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为第一节点的特征值;
传输子单元,用于按照三维脉动阵列模型的节点传输方向,将一维特征向量分别传输至与第一节点直接相连的至少三个第二节点;
第二计算子单元,用于将一维特征向量分别与各第二节点的当前特征值进行乘累加,将得到的乘累加值作为各第二节点各自对应的特征值;
作为子单元,用于将各第二节点作为第一节点,并返回将一维特征向量与三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为第一节点的特征值的步骤,直至完成对三维脉动阵列模型中所有节点的特征值的计算。
可选地,还包括判断单元和作为单元;
判断单元,用于判断当前得到的特征值个数是否达到图像特征信息对应的输出个数;若当前得到的特征值个数达到图像特征信息对应的输出个数,则触发确定单元;若当前得到的特征值个数未达到图像特征信息对应的输出个数,则触发作为子单元;
作为单元,用于将三维脉动阵列模型中各节点的权重组中与当前权重值相邻的下一个权重值作为各节点最新的当前权重值,并返回第一计算子单元。
可选地,确定单元包括计算子单元、选取子单元和查询子单元;
计算子单元,用于根据各节点对应的特征值,计算所有节点的特征值的累加和值;
选取子单元,用于计算各节点对应的特征值与累加和值的比值,并选取比值满足预设条件的节点作为目标节点;
查询子单元,用于查询预先建立的特征值与物品种类的对应关系,以确定出目标节点的特征值相匹配的物品类别。
可选地,选取子单元具体用于选取比值最大的节点作为目标节点。
可选地,还包括调整单元;
调整单元,用于依据图像特征信息对应的输出个数,调整三维脉动阵列模型的通道数目。
图3所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,将获取的图像特征信息转换为一维特征向量;将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组。通过将图像特征信息转换为一维特征向量,可以有效的降低后续对图像特征信息执行计算的复杂度。利用三维脉动阵列模型,对一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值。不同取值的特征值可以反映图像中包含的物品类别,依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,可以确定出图像中包含的物品类别。在该技术方案中,将待计算的图像特征信息与权重值经过一维转化之后,采用脉动阵列模型进行加速计算的架构对一维特征向量进行计算,充分扩展了向量计算的并行度,加速了全连接层的计算时间,有效的提升了图像的分类处理效率。
图4为本发明实施例提供的一种基于脉动阵列的图像识别装置40的硬件结构示意图,包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序以实现如上述任意实施例所述的基于脉动阵列的图像识别方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的基于脉动阵列的图像识别方法的步骤。
以上对本发明实施例所提供的一种基于脉动阵列的图像识别方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (6)
1.一种基于脉动阵列的图像识别方法,其特征在于,包括:
将获取的图像特征信息转换为一维特征向量;
将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组;
利用所述三维脉动阵列模型,对所述一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值;
依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别;
所述利用所述三维脉动阵列模型,对所述一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值包括:
将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值;
按照所述三维脉动阵列模型的节点传输方向,将所述一维特征向量分别传输至与所述第一节点直接相连的至少三个第二节点;
将所述一维特征向量分别与各所述第二节点的当前特征值进行乘累加,将得到的乘累加值作为各所述第二节点各自对应的特征值;将各所述第二节点作为所述第一节点,并返回所述将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值的步骤,直至完成对所述三维脉动阵列模型中所有节点的特征值的计算;
在所述利用所述三维脉动阵列模型,对所述一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值之后还包括:
判断当前得到的特征值个数是否达到所述图像特征信息对应的输出个数;
若当前得到的特征值个数未达到所述图像特征信息对应的输出个数,则将所述三维脉动阵列模型中各节点的权重组中与当前权重值相邻的下一个权重值作为各节点最新的当前权重值,并返回所述将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值的步骤;
若当前得到的特征值个数达到所述图像特征信息对应的输出个数,则执行所述依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别的步骤;
所述依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别包括:
根据各节点对应的特征值,计算所有所述节点的特征值的累加和值;
计算各所述节点对应的特征值与所述累加和值的比值,并选取比值满足预设条件的节点作为目标节点;
查询预先建立的特征值与物品种类的对应关系,以确定出所述目标节点的特征值相匹配的物品类别。
2.根据权利要求1所述的基于脉动阵列的图像识别方法,其特征在于,所述选取比值满足预设条件的节点作为目标节点包括:
选取比值最大的节点作为目标节点。
3.根据权利要求1-2任意一项所述的基于脉动阵列的图像识别方法,其特征在于,在所述对训练好的三维脉动阵列模型中每个节点分配对应的权重组之前还包括:
依据所述图像特征信息对应的输出个数,调整所述三维脉动阵列模型的通道数目。
4.一种基于脉动阵列的图像识别装置,其特征在于,包括转换单元、分配单元、乘累加单元和确定单元;
所述转换单元,用于将获取的图像特征信息转换为一维特征向量;
所述分配单元,用于将获取的权重矩阵转换为一维权重向量,并对训练好的三维脉动阵列模型中每个节点分配对应的权重组;
所述乘累加单元,用于利用所述三维脉动阵列模型,对所述一维特征向量并行进行特征向量与权重值的乘累加,以得到每个节点对应的特征值;
所述确定单元,用于依据每个节点对应的特征值以及预先建立的特征值与物品种类的对应关系,确定出图像中包含的物品类别;
所述乘累加单元包括第一计算子单元、传输子单元、第二计算子单元和作为子单元;
所述第一计算子单元,用于将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值;
所述传输子单元,用于按照所述三维脉动阵列模型的节点传输方向,将所述一维特征向量分别传输至与所述第一节点直接相连的至少三个第二节点;
所述第二计算子单元,用于将所述一维特征向量分别与各所述第二节点的当前特征值进行乘累加,将得到的乘累加值作为各所述第二节点各自对应的特征值;
所述作为子单元,用于将各所述第二节点作为所述第一节点,并返回所述将所述一维特征向量与所述三维脉动阵列模型中的第一节点的当前特征值进行乘累加,并将得到的乘累加值作为所述第一节点的特征值的步骤,直至完成对所述三维脉动阵列模型中所有节点的特征值的计算;
还包括判断单元和作为单元;所述判断单元,用于判断当前得到的特征值个数是否达到所述图像特征信息对应的输出个数;若当前得到的特征值个数达到所述图像特征信息对应的输出个数,则触发所述确定单元;若当前得到的特征值个数未达到所述图像特征信息对应的输出个数,则触发所述作为子单元;所述作为单元,用于将所述三维脉动阵列模型中各节点的权重组中与当前权重值相邻的下一个权重值作为各节点最新的当前权重值,并返回所述第一计算子单元;所述确定单元包括计算子单元、选取子单元和查询子单元;所述计算子单元,用于根据各节点对应的特征值,计算所有所述节点的特征值的累加和值;所述选取子单元,用于计算各所述节点对应的特征值与所述累加和值的比值,并选取比值满足预设条件的节点作为目标节点;所述查询子单元,用于查询预先建立的特征值与物品种类的对应关系,以确定出所述目标节点的特征值相匹配的物品类别。
5.一种基于脉动阵列的图像识别装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至3任意一项所述基于脉动阵列的图像识别方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任意一项所述基于脉动阵列的图像识别方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163647.8A CN112085128B (zh) | 2020-10-27 | 2020-10-27 | 一种基于脉动阵列的图像识别方法、装置和介质 |
US18/034,013 US11830244B2 (en) | 2020-10-27 | 2021-04-26 | Image recognition method and apparatus based on systolic array, and medium |
PCT/CN2021/089863 WO2022088629A1 (zh) | 2020-10-27 | 2021-04-26 | 一种基于脉动阵列的图像识别方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163647.8A CN112085128B (zh) | 2020-10-27 | 2020-10-27 | 一种基于脉动阵列的图像识别方法、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112085128A CN112085128A (zh) | 2020-12-15 |
CN112085128B true CN112085128B (zh) | 2022-06-07 |
Family
ID=73730701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011163647.8A Active CN112085128B (zh) | 2020-10-27 | 2020-10-27 | 一种基于脉动阵列的图像识别方法、装置和介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11830244B2 (zh) |
CN (1) | CN112085128B (zh) |
WO (1) | WO2022088629A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085128B (zh) | 2020-10-27 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种基于脉动阵列的图像识别方法、装置和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156807A (zh) * | 2015-04-02 | 2016-11-23 | 华中科技大学 | 卷积神经网络模型的训练方法及装置 |
CN109829481A (zh) * | 2019-01-04 | 2019-05-31 | 北京邮电大学 | 一种图像分类方法、装置、电子设备及可读存储介质 |
US20190188530A1 (en) * | 2017-12-20 | 2019-06-20 | Baidu Online Network Technology (Beijing) Co., Ltd . | Method and apparatus for processing image |
CN110503160A (zh) * | 2019-08-28 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 图像识别方法、装置、电子设备及存储介质 |
CN111402217A (zh) * | 2020-03-10 | 2020-07-10 | 广州视源电子科技股份有限公司 | 一种图像分级方法、装置、设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5138695A (en) * | 1989-10-10 | 1992-08-11 | Hnc, Inc. | Systolic array image processing system |
US6542987B1 (en) * | 1999-02-01 | 2003-04-01 | Hewlett-Packard Development Company L.P. | Method and circuits for early detection of a full queue |
KR102655675B1 (ko) | 2018-09-21 | 2024-04-05 | 삼성전자주식회사 | 생체정보 추정 장치 및 방법 |
CN110084244B (zh) | 2019-03-14 | 2023-05-30 | 上海达显智能科技有限公司 | 基于图像识别物体的方法、智能设备及应用 |
CN110673786B (zh) * | 2019-09-03 | 2020-11-10 | 浪潮电子信息产业股份有限公司 | 数据缓存的方法和装置 |
CN111723906A (zh) * | 2020-05-29 | 2020-09-29 | 浪潮电子信息产业股份有限公司 | 一种循环神经网络的加速计算方法、系统及相关装置 |
CN112085128B (zh) | 2020-10-27 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种基于脉动阵列的图像识别方法、装置和介质 |
-
2020
- 2020-10-27 CN CN202011163647.8A patent/CN112085128B/zh active Active
-
2021
- 2021-04-26 US US18/034,013 patent/US11830244B2/en active Active
- 2021-04-26 WO PCT/CN2021/089863 patent/WO2022088629A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156807A (zh) * | 2015-04-02 | 2016-11-23 | 华中科技大学 | 卷积神经网络模型的训练方法及装置 |
US20190188530A1 (en) * | 2017-12-20 | 2019-06-20 | Baidu Online Network Technology (Beijing) Co., Ltd . | Method and apparatus for processing image |
CN109829481A (zh) * | 2019-01-04 | 2019-05-31 | 北京邮电大学 | 一种图像分类方法、装置、电子设备及可读存储介质 |
CN110503160A (zh) * | 2019-08-28 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 图像识别方法、装置、电子设备及存储介质 |
CN111402217A (zh) * | 2020-03-10 | 2020-07-10 | 广州视源电子科技股份有限公司 | 一种图像分级方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230326199A1 (en) | 2023-10-12 |
WO2022088629A1 (zh) | 2022-05-05 |
CN112085128A (zh) | 2020-12-15 |
US11830244B2 (en) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109711532B (zh) | 一种针对硬件实现稀疏化卷积神经网络推断的加速方法 | |
US20180197084A1 (en) | Convolutional neural network system having binary parameter and operation method thereof | |
CN115186821B (zh) | 面向芯粒的神经网络推理开销估计方法及装置、电子设备 | |
CN108475214A (zh) | 自适应人工神经网络选择技术 | |
US20220138529A1 (en) | Method and system for bit quantization of artificial neural network | |
CN112085128B (zh) | 一种基于脉动阵列的图像识别方法、装置和介质 | |
CN115952832A (zh) | 自适应模型量化方法及装置、存储介质及电子装置 | |
CN111008631A (zh) | 图像的关联方法及装置、存储介质和电子装置 | |
CN114511042A (zh) | 一种模型的训练方法、装置、存储介质及电子装置 | |
CN115081613A (zh) | 生成深度学习模型的方法、装置、电子设备及存储介质 | |
CN111598093B (zh) | 图片中文字的结构化信息生成方法、装置、设备及介质 | |
CN110245756B (zh) | 用于处理数据组的可编程器件及处理数据组的方法 | |
US20230056735A1 (en) | Method of performing classification processing using machine learning model, information processing device, and computer program | |
US20220207346A1 (en) | Data processing method and device used in neural network | |
CN112633402B (zh) | 一种实现动态计算的高精度高比例的分类模型及分类方法 | |
CN114301907A (zh) | 云计算网络中的业务处理方法、系统、装置及电子设备 | |
CN112667591A (zh) | 一种基于海量日志的数据中心任务干扰预测方法 | |
WO2002080563A2 (en) | Scalable expandable system and method for optimizing a random system of algorithms for image quality | |
CN112308197A (zh) | 一种卷积神经网络的压缩方法、装置及电子设备 | |
JP2020091813A (ja) | ニューラルネットワークの学習方法、コンピュータプログラム及びコンピュータ装置 | |
US20230153066A1 (en) | Method and apparatus for measuring weight of discrete entity | |
CN114003196B (zh) | 矩阵运算装置与矩阵运算方法 | |
CN115906941B (zh) | 神经网络自适应退出方法、装置、设备及可读存储介质 | |
CN112949831B (zh) | 基于分块卷积的深度优先数据调度方法、系统及设备 | |
CN111539490B (zh) | 一种业务模型训练方法和装置 |
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 |