CN109254946B - 图像特征提取方法、装置、设备及可读存储介质 - Google Patents
图像特征提取方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109254946B CN109254946B CN201811014847.XA CN201811014847A CN109254946B CN 109254946 B CN109254946 B CN 109254946B CN 201811014847 A CN201811014847 A CN 201811014847A CN 109254946 B CN109254946 B CN 109254946B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- input
- feature extraction
- network
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- 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/40—Extraction of image or video features
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种图像特征提取方法,包括:对输入的待识别图像进行预处理,得到输入特征图;对卷积节点片上网络中节点根据预先获取的节点系数进行参数设置;对输入特征图数据进行拆分打包处理,得到通信数据帧;将通信数据帧根据对应的节点流转顺序依次发送至卷积节点片上网络中各节点进行数据处理,得到输出数据;重组各数据帧的输出数据,得到特征图输出数据;根据特征图输出数据进行特征分类。该方法将提取到的特征图数据拆分成若干数据块,采用路由方式进行数据的传输处理,可以提升数据传输效率,减少卷积数据运算时间,提升图像识别效率;本发明还公开了一种图像特征提取装置、设备及可读存储介质,具有上述有益效果。
Description
技术领域
本发明涉及卷积神经网络***领域,特别涉及一种图像特征提取方法、图像特征提取装置、图像特征提取设备及可读存储介质。
背景技术
在进行图像识别和分类时,由于卷积神经网络性能的优越性,经常采用卷积神经网络进行图像特征提取。
在对卷积神经网络进行硬件加速时,由于每一层神经网络都有多个通道的特征图输入、滤波器系数输入和对应的多通道结果输出,为了提高计算速度,增大并行性,***会采用多个计算核心进行并行计算。
对卷积神经网络来说,输入数据是共享的,所有输出通道都要用到这些输入数据。目前一般将输入的特征图数据放在共享内存,采用单总线型架构进行数据访问。
采用上述方式进行卷积数据处理时会造成大量计算核心频繁排队访问共享内存,形成总线和访存冲突,从而影响***效率。
因此,如何提高数据传输速率,提升整体图像识别效率,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种图像特征提取方法,该方法将提取到的特征图数据拆分成若干数据块,采用路由方式进行数据的传输处理,可以提升数据传输效率,减少卷积数据运算时间,进而提升整体图像识别效率;本发明的另一目的是提供一种图像特征提取装置、图像特征提取设备及可读存储介质。
为解决上述技术问题,本发明提供一种图像特征提取方法,应用于卷积神经网络,包括:
对输入的待识别图像进行预处理,得到输入特征图;
对卷积节点片上网络中节点根据预先获取的节点系数进行参数设置;其中,所述节点系数根据数据处理任务以及预先设置的卷积节点片上网络的结构设置得到;
对所述输入特征图数据进行拆分打包处理,得到通信数据帧;
将所述通信数据帧根据对应的节点流转顺序依次发送至所述卷积节点片上网络中各节点进行数据处理,得到输出数据;
重组各数据帧的输出数据,得到特征图输出数据;
根据所述特征图输出数据进行特征分类,得到图像识别结果。
优选地,将所述通信数据帧根据对应的节点流转顺序依次发送至各节点进行数据处理包括:
将若干通信数据帧发送至所述卷积节点片上网络中各输入节点进行并行数据处理。
优选地,所述将若干通信数据帧发送至所述卷积节点片上网络中各输入节点进行并行数据处理包括:
当所述卷积节点片上网络中各输入节点空闲时,触发任务分配,将待处理的通信数据帧依次发送至空闲输入节点。
优选地,所述通信数据帧的节点流转顺序的生成方法包括:
根据所述输入特征图数据的数据处理规则,对照所述卷积节点片上网络的结构以及参数通过随机算法生成各特征图数据帧对应的节点流转顺序。
优选地,所述图像特征提取方法还包括:
当节点进行数据处理过程中接收到其它待处理数据时,将所述待处理数据存储至发送方向通道对应的缓存单元。
优选地,所述图像特征提取方法还包括:
当缓存时间超过阈值时,将所述待处理数据发送至参数相同的空闲节点进行数据处理。
优选地,所述图像特征提取方法还包括:
当空闲节点各方向的虚拟通道发生多方向节点抢占时,通过节点仲裁单元对待处理数据进行分配处理。
本发明公开一种图像特征提取装置图像特征提取装置,包括:
预处理单元,用于对输入的待识别图像进行预处理,得到输入特征图;
节点设置单元,用于对卷积节点片上网络中节点根据预先获取的节点系数进行参数设置;其中,所述节点系数根据数据处理任务以及预先设置的卷积节点片上网络的结构设置得到;
拆分打包单元,用于对所述输入特征图数据进行拆分打包处理,得到通信数据帧;
流转处理单元,用于将所述通信数据帧根据对应的节点流转顺序依次发送至所述卷积节点片上网络中各节点进行数据处理,得到输出数据;
数据重组单元,用于重组各数据帧的输出数据,得到特征图输出数据;
特征分类单元,用于根据所述特征图输出数据进行特征分类,得到图像识别结果。
本发明公开一种图像特征提取设备,包括:
存储器,用于存储程序;
处理器,用于执行所述程序时实现所述图像特征提取方法的步骤。
本发明公开一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现所述图像特征提取方法的步骤。
本发明所提供的图像特征提取方法,通过对输入的待识别图像进行预处理,得到输入特征图,对卷积节点片上网络中节点根据预先获取的节点系数进行参数设置,以便片上网络中每个节点都有各自对应的数据处理功能,片上网络(NOC)是一种片上多核通信技术,基于NOC的卷积节点片上网络由于其任意两节点间多路径路由方式增强单位块数据的传输方式,提供良好的并行通讯能力,可以提高数据吞吐率及整体性能,解决了单总线结构大量计算核心频繁排队访问共享内存,形成总线和访存冲突问题;将提取到的特征图数据打包成通信数据帧后根据对应的节点流转通道的顺序依次发送至各节点进行数据处理,通过NOC在各计算节点间进行路由,提升了数据传输效率,减少计算资源空闲率,进而提高了***运行效率。经过节点数据处理后可以得到个数据帧对应的输出数据,重组后即可得到整体输出数据,对输出数据进行特征分类,即可得到图像识别的结果,有效组织数据进行卷积计算计算。
本发明还提供了一种图像特征提取装置、图像特征提取设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的图像特征提取方法的流程图;
图2为本发明实施例提供的一种卷积节点片上网络结构示意图;
图3为本发明实施例提供的一种NOC通信帧格式示意图;
图4为本发明实施例提供的一种节点结构示意图;
图5为本发明实施例提供的图像特征提取装置的结构框图;
图6为本发明实施例提供的另一种图像特征提取装置的结构框图;
图7为本发明实施例提供的基于4*4的NOC模块的图像特征提取装置中特征图数据处理部分的结构示意图;
图8为本发明实施例提供的图像特征提取设备的结构示意图。
具体实施方式
本发明的核心是提供一种图像特征提取方法,该方法将提取到的特征图数据拆分成若干数据块,采用路由方式进行数据的传输处理,可以提升数据传输效率,减少卷积数据运算时间,进而提升整体图像识别效率;本发明的另一核心是提供一种图像特征提取装置、图像特征提取设备及可读存储介质。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参考图1,图1为本实施例提供的图像特征提取方法的流程图;该方法可以包括:
步骤s110、对输入的待识别图像进行预处理,得到输入特征图。
对图像进行预处理得到特征图数据的过程可参照现有技术,具体过程可以为:将图像采集设备输出的原始图像进行裁剪,采用边缘检测算法,切除边缘冗余部分,保留目标的有效识别区域,并将有效区域的像素值转化为特定大小的矩阵。这些处理形成的矩阵即为输入特征图,作为下一步卷积神经网络的输入。
卷积神经网络中包括若干层,可以根据数据处理的需要对卷积神经网络的结构进行配置。卷积神经网络中卷积层为必要层,在整个卷积神经网络中计算量最大,有大量数据需要通过卷积计算来进行特征的提取。
其它层的数据计算过程在此不再赘述,本实施例中主要对卷积层中对数据进行卷积计算的过程进行介绍。
步骤s120、对卷积节点片上网络中节点根据预先获取的节点系数进行参数设置。
在对卷积神经网络进行硬件加速时,由于每一层神经网络都有多个通道的特征图输入、滤波器系数输入和对应的多通道结果输出,因此为了提高计算速度,增大并行性,***会采用多个计算核心进行并行计算,对卷积神经网络来说,由于输入数据是共享的,所有输出通道都要用到这些输入数据。所以输入数据放在共享内存,目前计算***采用的都是单总线型架构,这样会造成大量计算核心频繁排队访问共享内存,形成总线和访存冲突,从而影响***效率。
本实施例采用片上网络进行卷积计算,片上网络NOC是一种片上多核通信技术,基于NOC的卷积节点片上网络与单总线型相比,具有良好的地址空间可扩展性,理论上可集成的资源节点的数目不受限制;并且由于其任意两节点间多路径路由方式增强单位块数据的传输方式,提供良好的并行通讯能力,可以提高数据吞吐率及整体性能,解决了单总线结构大量计算核心频繁排队访问共享内存,形成总线和访存冲突问题。通过将输入数据进行拆分,使用NOC架构进行数据分发,利用NOC的任意两节点间多路径路由方式增强单位块数据的传输方式,提升了数据传输效率,从而降低计算节点由于数据阻塞而造成的空闲率,有利于提高***总体效率。
卷积节点片上网络的结构可以自行根据网络占用资源大小以及节点流转方式进行设置。可以根据需要设置若干输入以及输出节点,如图2所示为一种卷积节点片上网络结构示意图,其中包括16个节点,每个节点均可以独立实现相应的数据处理功能,除边缘节点外,每个节点可以通过四条路径实现与其他节点的数据传输,可以实现数据在各计算节点间进行任意路由,提高网络节点利用率。对卷积节点片上网络中各节点进行参数设置,以便每个节点都有各自对应的数据处理功能。
节点系数根据数据处理任务以及预先设置的卷积节点片上网络结构设置得到。数据处理任务比如需要对输入25*25的特征图数据进行特征提取,将特征图数据拆分为5*5的感受野通过16次卷积乘进行特征感受;卷积节点片上网络为图2所示的4*4均可以实现卷积乘的节点,则16个节点可以配置相同的实现卷积乘的参数。
步骤s130、对输入特征图数据进行拆分打包处理,得到通信数据帧。
将提取得到的输入特征图数据分为数据块单元,对特征图数据的拆分打包处理可以在接收到输入特征图数据之后完成,也可以在需要将数据发送至NOC网络之前进行处理,在此对拆分打包的具体处理时间不做限定。
对数据拆分规则不做限定,可以依据数据处理规则进行拆分。另外,当数据处理过程对数据本身没有特殊要求时,也可以对数据进行自由拆分,比如可以将数据拆分成卷积核(滤波器)大小的倍数,以便一次能处理一个或多个卷积计算。数据拆分进行分别处理后还需对各输出数据进行重组,在拆分时以及将数据输入节点进行数据处理之前需要按照顺序依次处理,以方便数据重组。
数据打包过程指按照帧格式协议加上帧头、源地址、随机目的地址、帧长度、帧尾等打包成通信帧后发送到NOC网络上使其进行流转,图3所示为一种NOC通信帧格式示意图,在此仅以该种格式为例进行介绍。
步骤s140、将通信数据帧根据对应的节点流转通道顺序依次发送至各节点进行数据处理,得到各数据帧的输出数据。
每个数据帧根据预先设置的节点流转顺序发送至各节点进行数据处理,可以得到各数据帧流转后的输出数据。在此以图2所示的网络结构为例对数据流转过程进行介绍。
对特征图数据进行拆分后加上帧头、源地址、随机目的地址、帧长度、帧尾打包成通信帧后发送到NOC网络上让其进行流转,当数据流转顺序为01→00→10→11→21→20→30→31→32→33→32→22→12→13→03→02时,待处理的通信数据帧通过01节点输入至网络中,特征图数据帧经过一个节点的处理传输到一个节点后,取去掉上个节点的目的地址,待当前节点计算完成后会流转到目的地址上的下一个地址节点,这样直到流经所有的计算节点。
所有节点遍历完成后,停止在NOC网络上流转,得到该特征图数据的输出数据,如此循环,直到所有输入特征图数据流转完成。
另外,在网络中进行数据流转处理的过程可以为单数据帧处理过程,也可以为多数据帧并行处理过程,在此不做限定。其中,为提高数据处理速度,提升数据传输效率,降低节点空闲率,优选地,通信数据帧根据对应的节点流转顺序依次发送至各节点进行数据处理的过程具体可以为:将若干通信数据帧发送至卷积节点片上网络中各输入节点进行并行数据处理。
多数据帧并行处理过程的具体实现方式不做限定,大体可以分为两种情况,一为网络中只有单个输入节点,此时在但数据帧处理过程中当输入节点空闲时可以再输入下一个待处理的数据帧实现多数据帧在NOC网络中的并行处理;另一种为网络中包括多个输入节点,如图2所示,设定节点00,01,02以及03均为输入节点,则在数据处理过程中可以通过节点00,01,02以及03同时输入4待处理数据帧,另外,当某个输入节点空闲时也可以继续输入待处理数据帧,以提高数据处理效率。
优选地,为提高数据并行程度,提高***总体数据处理效率,并行数据处理过程具体可以为:当卷积节点片上网络中各输入节点空闲时,触发任务分配,将待处理的通信数据帧依次发送至空闲输入节点。
另外,在网络中进行数据并行处理过程中,应尽量避免发生节点数据重叠现象,例如数据帧A在节点22进行处理的同时数据帧B也流转至节点22进行处理,导致数据帧B的处理过程出现延迟。避免数据处理重叠的方法在此不做限定,可以通过控制不同数据帧的节点流转顺序,或者也可以通过尽量减少数据并行数量,另外,也可以通过数据交错输入等方式,具体过程不做赘述,可以根据实际情况进行设定。
节点流转顺序的生成方法可以自行确定,可以根据数据处理任务以及网络结构确定。在保证数据处理任务的情况下,节点流转顺序可以为固定的一种,也可以每个数据帧对应一种数据流转顺序,为提升节点利用率,减少空闲率,可以每个数据帧确定一种数据流转顺序。其中,数据流转顺序可以根据数据帧通过随机算法生成,也可以根据输入节点确定每个输入节点对应的数据流转顺序,在此不做限定。
为尽量保证数据处理速度的同时避免数据重叠导致的数据处理延迟状况,也可以减少数据计算压力,优选地,可以根据输入特征图数据的数据处理规则,对照卷积节点片上网络的结构以及参数通过随机算法生成各特征图数据帧对应的节点流转顺序。例如,网络中节点00,01,02以及03起相同的滤波器功能,数据需要经过4次滤波但经过每个节点的时间顺序不做限定,此时,对数据帧A、B、C以及D的节点流转顺序的生成可以通过随机算法。具体地,在不重复选择的基础上,在随机生成数据帧A的首个滤波节点为00,除却节点01后,在节点01,02以及03随机生成第二个滤波节点,以此类推,生成数据帧A的节点流转顺序;数据帧B的数据流转顺序可以在数据帧A的节点流转顺序的基础上生成,除却节点01后,在节点01,02以及03随机生成数据帧B的首个滤波节点,以此类推,生成数据帧B、C以及D的节点流转顺序。上述仅为一种随机生成节点流转顺序的方法,其它随机顺序的生成以及基于其他算法的随机顺序的随机顺序的生成在此不做赘述。
步骤s150、将各数据帧的输出数据根据拆分规则进行重组,得到特征图输出数据。
将所述数据完成流转后即可得到各数据帧的输出数据,将各数据帧的输出数据进行重组,组成完整特征图数据对应的特征数据。重组过程可参照数据帧的拆分规则,进行重组后可以得到整体输出数据,完成数据的流转。
步骤s160、根据特征图输出数据进行特征分类,得到图像识别结果。
根据卷积输出的特征图数据进行特征分类的方法可参照现有特征分类的方法,可以根据图像识别需求进行对应配置,在此不再赘述。
本实施例可以根据不同识别要求进行相应的识别过程调整。
例如,需要对输入的人体图片进行动作识别,判断其属于坐姿,还是站立。则整体流程可以为:通过步骤s110的步骤对图片进行预处理,得到特征图数据;将特征图数据输入至预训练的坐姿识别网络中,其中,坐姿识别网络为基于样本人体图像以及对应的样本动作训练得到的卷积神经网络,按照步骤s120对其中的卷积层进行参数设置,设置后按照步骤s130至步骤s150进行数据流转进行卷积计算,得到输出的特征数据,将输出的特征数据通过高斯混合聚类方法进行特征的分类划分,判断其属于坐姿以及站姿的概率,根据高斯聚类的结果生成最终的识别结果。
基于上述介绍,本实施例提供的图像特征提取方法通过对输入的待识别图像进行预处理,得到输入特征图,对卷积节点片上网络中节点根据预先获取的节点系数进行参数设置,以便片上网络中每个节点都有各自对应的数据处理功能,片上网络(NOC)是一种片上多核通信技术,基于NOC的卷积节点片上网络由于其任意两节点间多路径路由方式增强单位块数据的传输方式,提供良好的并行通讯能力,可以提高数据吞吐率及整体性能,解决了单总线结构大量计算核心频繁排队访问共享内存,形成总线和访存冲突问题;将提取到的特征图数据打包成通信数据帧后根据对应的节点流转通道的顺序依次发送至各节点进行数据处理,通过NOC在各计算节点间进行路由,提升了数据传输效率,减少计算资源空闲率,进而提高了***运行效率。经过节点数据处理后可以得到个数据帧对应的输出数据,重组后即可得到整体输出数据,对输出数据进行特征分类,即可得到图像识别的结果。
为加深对本发明提供的图像特征提取方法中特征图数据流转计算过程的理解,在此以图2所示的网络结构为例对特征图数据处理过程进行介绍。
取出第一组16个通道的滤波器数据后按照帧格式协议加上帧头、源地址、指定目的地址、帧长度、帧尾打包成通信帧后发送到NOC网络上使这些滤波器系数到达指定节点,使各节点拥有滤波器功能。
通过随机算法产生遍历该4*4NOC各目的节点的一组地址,取出输入特征图的一个单元数据块后按照帧格式协议加上帧头、源地址、随机目的地址、帧长度、帧尾打包成通信帧后发送到NOC网络上进行流转。
特征图数据帧到过一个节点后,去掉该目的地址,待该节点计算完成后会流转到目的地址上的下一个地址节点,这样直到流经所有的计算节点。
所有节点遍历完成后,这一组帧数据舍弃,停止在NOC网络上流转,数据分发模块加载第二组数据进行分发,如此循环,直到所有输入特征图数据流转完成。
计算完的数据经数据经过接收重组,得到第一组的输出数据。
数据分发模块取出第二组16个通道的滤波器后按帧格式打包后进行分发,随后再分发一遍特征图数据,如此循环,直到所有滤波器计算完成。
本实施例提供的图像特征提取方法提出了一种新的卷积神经网络的并行计算方式,把输入数据进行拆分后,按照随机目的节点地址将数据分发到NOC结构上进行数据在节点上的计算和流转,利用NOC的任意两节点间多路径路由方式增强单位块数据的传输方式,提升了数据传输效率,从而降低计算节点由于数据阻塞而造成的空闲率,有利于提高***总体效率。
基于上述实施例,在节点数据处理过程中可能会出现在某节点进行数据处理过程中接收到其它待处理数据的情况,上述实施例中对该种情况不做限定,为减少数据流转过程中的不确定性,保证数据的流转顺序不被破坏,优选地,可以将待处理数据存储至发送方向通道对应的缓存单元。图4所示为一种节点结构示意图,缓存单元可以为FIFO,单个NOC节点包括EAST、WEST、SOUTH、EAST四个数据帧流转方向,在节点各方向上分别添加FIFO,EAST、WEST、SOUTH、EAST方向上数据流转时通常会有若干个虚拟通道(VC),当各方向上VC发生数据阻塞时用于缓存各方向的通信帧,缓存在如图TX FIFO和RX FIFO内。待当前数据处理完成时,将缓存数据输入至节点进行数据处理。
另外,若当前节点在数据处理过程中出现阻塞,异常等情况导致单个数据帧对节点的占用时间超过一定时间时,可能会耽误其它数据的处理,为保证数据的及时处理,避免节点或者数据异常耽误其他数据的处理流程,优选地,可以在缓存时间超过阈值时,将待处理数据发送至参数相同的空闲节点进行数据处理,以保证数据处理的流动性。
另外,当空闲节点各方向的虚拟通道发生多方向节点抢占时,通过节点仲裁单元对待处理数据进行分配处理。具体地,对待处理数据的仲裁不做限定,可以根据数据大小或者随机选取其中某个待处理数据等。而未被选中进行实时数据处理的数据可以存储于缓存单元,也可以转发至其它计算节点进行数据处理。
请参考图5,图5为本发明实施例提供的图像特征提取装置的结构框图;可以包括:预处理单元510、节点设置单元520、拆分打包单元530、流转处理单元540、数据重组单元550以及特征分类单元560。本实施例提供的图像特征提取装置可与上述图像特征提取方法相互对照。
其中,预处理单元510主要用于对输入的待识别图像进行预处理,得到输入特征图。
节点设置单元520主要用于对卷积节点片上网络中节点根据预先获取的节点系数进行参数设置;其中,节点系数根据数据处理任务以及预先设置的卷积节点片上网络的结构设置得到;
拆分打包单元530主要用于对输入特征图数据进行拆分打包处理,得到通信数据帧;
流转处理单元540主要用于将通信数据帧根据对应的节点流转顺序依次发送至卷积节点片上网络中各节点进行数据处理,得到输出数据;
数据重组单元550主要用于重组各数据帧的输出数据,得到特征图输出数据。
特征分类单元560主要用于根据特征图输出数据进行特征分类,得到图像识别结果。
其中,节点可以通过外接PE(Process Element)进行数据处理,其中PE又包括CU(Compute Unit)和Cache,CU用于计算,Cache用于缓存数据。
其中,优选地,流转处理单元具体可以为:并行流转处理单元,用于将若干通信数据帧发送至卷积节点片上网络中各输入节点进行并行数据处理。
优选地,并行流转处理单元具体可以为:空闲触发并行流转处理单元,用于当卷积节点片上网络中各输入节点空闲时,触发任务分配,将待处理的通信数据帧依次发送至空闲输入节点。
优选地,本实施例提供的图像特征提取装置可以还包括:缓存处理单元,用于当节点进行数据处理过程中接收到其它待处理数据时,将待处理数据存储至发送方向通道对应的缓存单元。
优选地,本实施例提供的图像特征提取装置可以还包括:缓存异常处理单元,缓存异常处理单元与缓存处理单元连接,用于当缓存时间超过阈值时,将待处理数据发送至参数相同的空闲节点进行数据处理。
本实施例提供的图像特征提取装置可以还包括:仲裁单元,用于当空闲节点各方向的虚拟通道发生多方向节点抢占时,通过节点仲裁单元对待处理数据进行分配处理。
本实施例提供的图像特征提取装置利用NOC的任意两节点间多路径路由方式增强单位块数据的传输方式,提升了数据传输效率,从而降低计算节点由于数据阻塞而造成的空闲率,可以提升数据传输效率,减少卷积数据运算时间,进而提升整体图像识别效率。
本实施例提供另一种图像特征提取装置结构形式,其结构示意图如图6所示,该图像特征提取装置由图像预处理模块、Global Memory、数据分发模块、随机节点地址生成模块、数据接收模块、一个卷积节点片上网络以及分类模块组成。其中,Global Memory主要存储有三部分,包括各通道输入特征图数据、各通道滤波器系数、各通道输出特征图数据。
本实施例对卷积节点片上网络的具体结构不做限定,为便于对卷积计算过程的阐述,在此以卷积节点片上网络为一个4*4的NOC模块组成的网络结构形式为例,基于4*4的NOC模块的图像特征提取装置中特征图数据处理部分的结构示意图如图7所示,基于图7所示的结构进行卷积计算过程可以参照下述步骤:
数据分发模块从Global Memory取出第一组16个通道的滤波器后按照帧格式协议加上帧头、源地址、指定目的地址、帧长度、帧尾打包成通信帧后发送到NOC网络上使这些滤波器系数到达指定节点。
随机节点地址生成模块通过随机算法产生遍历该4*4NOC各目的节点的一组地址,数据分发模块从Global Memory取出输入特征图的一个单元数据块后按照帧格式协议加上帧头、源地址、随机目的地址、帧长度、帧尾打包成通信帧后发送到NOC网络上让其进行流转。
特征图数据帧到过一个节点后,取去掉该目的地址,待该节点计算完成后会流转到目的地址上的下一个地址节点,直到流经所有的计算节点。
所有节点遍历完成后,这一组帧数据舍弃,停止在NOC网络上流转,数据分发模块加载第二组数据进行分发,如此循环,直到所有输入特征图数据流转完成。
计算完的数据经数据接收模块回到Global Memory。
数据分发模块取出第二组16个通道的滤波器后按帧格式打包后进行分发,随后再分发一遍特征图数据,如此循环,直到所有滤波器计算完成。
优选地,图像特征提取装置中可以使用分布式高速缓冲存储器(Cache),分布在各计算节点上,以提高***性能。
本实施例中图像特征提取装置可以利用RTL(Register Transfer Level寄存器传输级)来描述的完整的在FPGA(Field-Programmable Gate Array现场可编程门阵列)上实现的神经网络卷积计算架构,采用RTL语言进行卷积神经网络算法的描述,使用FPGA作为该算法的硬件加速平台,将输入数据拆分成单位数据块,用目的地址随机方式通过NOC在各计算节点间进行路由,RTL设计的在FPGA上实现4*4网格的用于分布式计算神经网络的NOC结构,其完整支持了多个数据帧在任意一组两节点间进行流转。提升了数据传输效率,减少计算资源空闲率,进而提高了***运行效率。在FPGA平台对深度学习算法进行硬件加速的过程中,使用NOC架构进行数据分发以及分布式计算,可以提高图像特征提取神经网络计算的性能。
本实施例提供一种图像特征提取设备,包括:存储器以及处理器。
其中,存储器用于存储程序;
处理器用于执行程序时实现如上述图像特征提取方法的步骤,具体可参照上述图像特征提取方法的介绍。
请参考图8,为本实施例提供的图像特征提取设备的结构示意图,该图像特征提取设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在图像特征提取设备301上执行存储介质330中的一系列指令操作。
图像特征提取设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作***341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上面图1所描述的图像特征提取方法中的步骤可以由图像特征提取设备的结构实现。
本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行时实现如上述图像特征提取方法的步骤,具体可参照上述图像特征提取方法的介绍。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的图像特征提取方法、图像特征提取装置、图像特征提取设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种图像特征提取方法,其特征在于,包括:
对输入的待识别图像进行预处理,得到输入特征图;
对卷积节点片上网络中节点根据预先获取的节点系数进行参数设置;其中,所述节点系数根据数据处理任务以及预先设置的卷积节点片上网络的结构设置得到;
对所述输入特征图数据进行拆分打包处理,得到通信数据帧;
将所述通信数据帧根据对应的节点流转顺序依次发送至所述卷积节点片上网络中各节点进行数据处理,得到输出数据;
按照所述输入特征图数据的拆分规则重组各数据帧的输出数据,得到特征图输出数据;
根据所述特征图输出数据进行特征分类,得到图像识别结果。
2.如权利要求1所述的图像特征提取方法,其特征在于,将所述通信数据帧根据对应的节点流转顺序依次发送至各节点进行数据处理包括:
将若干通信数据帧发送至所述卷积节点片上网络中各输入节点进行并行数据处理。
3.如权利要求2所述的图像特征提取方法,其特征在于,所述将若干通信数据帧发送至所述卷积节点片上网络中各输入节点进行并行数据处理包括:
当所述卷积节点片上网络中各输入节点空闲时,触发任务分配,将待处理的通信数据帧依次发送至空闲输入节点。
4.如权利要求1至3任一项所述的图像特征提取方法,其特征在于,所述通信数据帧的节点流转顺序的生成方法包括:
根据所述输入特征图数据的数据处理规则,对照所述卷积节点片上网络的结构以及参数通过随机算法生成各特征图数据帧对应的节点流转顺序。
5.如权利要求4所述的图像特征提取方法,其特征在于,还包括:
当节点进行数据处理过程中接收到其它待处理数据时,将所述待处理数据存储至发送方向通道对应的缓存单元。
6.如权利要求5所述的图像特征提取方法,其特征在于,还包括:
当缓存时间超过阈值时,将所述待处理数据发送至参数相同的空闲节点进行数据处理。
7.如权利要求6所述的图像特征提取方法,其特征在于,还包括:
当空闲节点各方向的虚拟通道发生多方向节点抢占时,通过节点仲裁单元对待处理数据进行分配处理。
8.一种图像特征提取装置,其特征在于,包括:
预处理单元,用于对输入的待识别图像进行预处理,得到输入特征图;
节点设置单元,用于对卷积节点片上网络中节点根据预先获取的节点系数进行参数设置;其中,所述节点系数根据数据处理任务以及预先设置的卷积节点片上网络的结构设置得到;
拆分打包单元,用于对所述输入特征图数据进行拆分打包处理,得到通信数据帧;
流转处理单元,用于将所述通信数据帧根据对应的节点流转顺序依次发送至所述卷积节点片上网络中各节点进行数据处理,得到输出数据;
数据重组单元,用于按照所述输入特征图数据的拆分规则重组各数据帧的输出数据,得到特征图输出数据;
特征分类单元,用于根据所述特征图输出数据进行特征分类,得到图像识别结果。
9.一种图像特征提取设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序时实现如权利要求1至7任一项所述图像特征提取方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至7任一项所述图像特征提取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811014847.XA CN109254946B (zh) | 2018-08-31 | 2018-08-31 | 图像特征提取方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811014847.XA CN109254946B (zh) | 2018-08-31 | 2018-08-31 | 图像特征提取方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109254946A CN109254946A (zh) | 2019-01-22 |
CN109254946B true CN109254946B (zh) | 2021-09-17 |
Family
ID=65050051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811014847.XA Active CN109254946B (zh) | 2018-08-31 | 2018-08-31 | 图像特征提取方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109254946B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885406B (zh) * | 2019-02-27 | 2020-01-24 | 上海燧原智能科技有限公司 | 算子计算优化方法、装置、设备及存储介质 |
CN110009644B (zh) * | 2019-03-26 | 2021-02-23 | 深兰科技(上海)有限公司 | 一种特征图行像素分段的方法和装置 |
CN112418240A (zh) * | 2019-08-21 | 2021-02-26 | 上海商汤临港智能科技有限公司 | 图像处理方法、装置、设备和存储介质 |
CN112069927B (zh) * | 2020-08-19 | 2023-10-24 | 南京埃斯顿机器人工程有限公司 | 一种应用于模块化视觉软件的元素集合处理方法及装置 |
CN116868570A (zh) * | 2021-03-01 | 2023-10-10 | 浙江大学 | 特征数据的编码方法、解码方法、设备及存储介质 |
CN113010469B (zh) * | 2021-03-18 | 2023-05-26 | 恒睿(重庆)人工智能技术研究院有限公司 | 图像特征提取方法、装置以及计算机可读存储介质 |
CN114647472B (zh) * | 2022-03-24 | 2023-08-15 | 北京字跳网络技术有限公司 | 图片处理方法、装置、设备、存储介质和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685017A (zh) * | 2012-06-07 | 2012-09-19 | 桂林电子科技大学 | 一种基于fpga的片上网络路由器 |
CN104270327A (zh) * | 2014-10-15 | 2015-01-07 | 重庆大学 | 一种基于集群的共享射频片上网络及映射方法 |
CN105469143A (zh) * | 2015-11-13 | 2016-04-06 | 清华大学 | 基于神经网络动态特征的片上网络资源映射方法 |
CN108256544A (zh) * | 2016-12-29 | 2018-07-06 | 深圳光启合众科技有限公司 | 图片分类方法和装置、机器人 |
CN108256628A (zh) * | 2018-01-15 | 2018-07-06 | 合肥工业大学 | 基于多播片上网络的卷积神经网络硬件加速器及其工作方式 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8514232B2 (en) * | 2010-06-28 | 2013-08-20 | International Business Machines Corporation | Propagating shared state changes to multiple threads within a multithreaded processing environment |
-
2018
- 2018-08-31 CN CN201811014847.XA patent/CN109254946B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685017A (zh) * | 2012-06-07 | 2012-09-19 | 桂林电子科技大学 | 一种基于fpga的片上网络路由器 |
CN104270327A (zh) * | 2014-10-15 | 2015-01-07 | 重庆大学 | 一种基于集群的共享射频片上网络及映射方法 |
CN105469143A (zh) * | 2015-11-13 | 2016-04-06 | 清华大学 | 基于神经网络动态特征的片上网络资源映射方法 |
CN108256544A (zh) * | 2016-12-29 | 2018-07-06 | 深圳光启合众科技有限公司 | 图片分类方法和装置、机器人 |
CN108256628A (zh) * | 2018-01-15 | 2018-07-06 | 合肥工业大学 | 基于多播片上网络的卷积神经网络硬件加速器及其工作方式 |
Non-Patent Citations (2)
Title |
---|
An Augmented Reality Processor with a Congestion-Aware Network-on-Chip Scheduler;Gyeonghoon Kim等;《IEEE Micro》;20141231;第34卷(第6期);第31-41页 * |
多核结构片上网络性能-能耗分析及优化方法;张帅 等;《计算机学报》;20131231;第36卷(第5期);第988-1003页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109254946A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254946B (zh) | 图像特征提取方法、装置、设备及可读存储介质 | |
US10445638B1 (en) | Restructuring a multi-dimensional array | |
US10768856B1 (en) | Memory access for multiple circuit components | |
US20230325348A1 (en) | Performing concurrent operations in a processing element | |
US11461631B2 (en) | Scheduling neural network computations based on memory capacity | |
US11960566B1 (en) | Reducing computations for data including padding | |
CN108280514B (zh) | 基于fpga的稀疏神经网络加速***和设计方法 | |
US9294097B1 (en) | Device array topology configuration and source code partitioning for device arrays | |
US9698791B2 (en) | Programmable forwarding plane | |
CN108108809B (zh) | 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法 | |
CN106503791A (zh) | 用于有效神经网络部署的***和方法 | |
JP2022137247A (ja) | 複数の入力データセットのための処理 | |
CN107800700B (zh) | 一种路由器和片上网络传输***及方法 | |
Fattah et al. | Mixed-criticality run-time task mapping for noc-based many-core systems | |
Joseph et al. | NEWROMAP: Mapping CNNs to NoC-interconnected self-contained data-flow accelerators for edge-AI | |
CN112149047A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN111626410B (zh) | 一种稀疏卷积神经网络加速器及计算方法 | |
Abadi et al. | A hardware configurable self-organizing map for real-time color quantization | |
CN111124626A (zh) | 一种众核***及其数据处理方法和处理装置 | |
US11263517B1 (en) | Flexible weight expansion | |
US11899743B2 (en) | Reconfigurable parallel 3-dimensional convolution cluster engine | |
CN112989270A (zh) | 一种基于混合并行的卷积计算装置 | |
TWI753728B (zh) | 運算單元架構、運算單元叢集及卷積運算的執行方法 | |
CN115668225A (zh) | 神经网络调度方法及装置 | |
CN113255881B (zh) | Ps与pl协同架构的同态加密神经网络框架与推理方法 |
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 |