CN113963241B - Fpga硬件架构及其数据处理方法、存储介质 - Google Patents
Fpga硬件架构及其数据处理方法、存储介质 Download PDFInfo
- Publication number
- CN113963241B CN113963241B CN202111579432.9A CN202111579432A CN113963241B CN 113963241 B CN113963241 B CN 113963241B CN 202111579432 A CN202111579432 A CN 202111579432A CN 113963241 B CN113963241 B CN 113963241B
- Authority
- CN
- China
- Prior art keywords
- network
- connection group
- processing
- hierarchical connection
- characteristic data
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 145
- 238000013519 translation Methods 0.000 claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000004913 activation Effects 0.000 claims abstract description 18
- 238000013528 artificial neural network Methods 0.000 claims abstract description 11
- 238000011176 pooling Methods 0.000 claims description 58
- 230000004927 fusion Effects 0.000 claims description 28
- 238000013139 quantization Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000009825 accumulation Methods 0.000 claims description 8
- 238000004091 panning Methods 0.000 claims description 6
- 230000001133 acceleration Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000010606 normalization Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 229940050561 matrix product Drugs 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/047—Probabilistic or stochastic 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种FPGA硬件架构及数据处理方法、装置、计算机设备和存储介质。所述方法包括:获取待处理的第一图片特征数据;将第一图片特征数据输入行人重识别网络模型,得到分类识别信息;其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。上述方法能够优化FPGA硬件架构的神经网络加速实现的数据处理方法。
Description
技术领域
本申请涉及FPGA硬件处理技术领域,特别是涉及一种FPGA硬件架构及数据处理方法、装置、计算机设备和存储介质。
背景技术
当前基于FPGA的神经网络加速实现的硬件架构主要集中于提高以下几种性能:FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)算力、网络精度以及网络模型大小。FPGA硬件架构也差不多包括片上缓存、卷积加速模块、pool(池化)模块、load(加载)模块、save(存储)模块以及指令控制模块。FPGA硬件架构上并不是太难实现,反而是软件编译这块相对较难实现。
软件编译需要适应不同的网络模型,还要能兼容FPGA硬件的变化,同时还需要为用户提供一个容易操作的接口,在目前情景同时实现这些还比较困难。原因是:FPGA硬件架构的变化太多,FPGA硬件架构的各个模块可配参数可以基于需求变化,比如卷积模块并行数的变化。另外,网络模型多种多样以及开源的网络模型平台也很多,从而导致FPGA硬件架构的多样化。
由上可知,由于软硬件的协调问题,在使用FPGA硬件架构实现神经网络加速处理图片数据时,若软件设置较为复杂,则FPGA硬件架构基于软件设置也会随之较为复杂。因此,如何软硬件协同设计,简化FPGA硬件架构成为当前急需解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种FPGA硬件架构及数据处理方法、装置、计算机设备和存储介质,能够优化FPGA硬件架构的神经网络加速实现的数据处理方法,从而简化FPGA硬件架构的硬件设计,进而能够使用更少的资源实现FPGA硬件架构的网络加速。
一种应用于FPGA硬件架构的数据处理方法,包括:获取待处理的第一图片特征数据;将第一图片特征数据输入基于上下文多尺度特征学习的行人重识别网络模型,得到行人重识别网络模型输出的分类识别信息;其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。
在其中一个实施例中,前向分层连接组用于通过前向分层连接组的多个第一结构单元对第一图片特征数据进行分步尺度间信息融合,后向分层连接组用于通过后向分层连接组的多个第一结构单元对前向分层连接组中各第一结构单元输出的信息进行跨尺度信息融合,信道尺度选择模块用于通过求和单元对后向分层连接组中各第一结构单元输出的信息进行求和,得到分类识别信息。
在其中一个实施例中,行人重识别网络模型还包括3x3卷积网络模块,3x3卷积网络模块与前向分层连接组连接;3x3卷积网络模块用于采用多个可分离3x3卷积网络对第一图片特征数据进行处理,处理后得到第二图片特征数据;前向分层连接组用于通过多个第一结构单元对第二图片特征数据进行分步尺度间信息融合。
在其中一个实施例中,行人重识别网络模型还包括平移卷积模块,平移卷积模块与前向分层连接组连接;平移卷积模块用于通过平移操作和1x1卷积网络对第一图片特征数据进行处理,处理后得到第三图片特征数据;前向分层连接组用于通过多个第一结构单元对第三图片特征数据进行分步尺度间信息融合。
在其中一个实施例中,平移卷积模块包含与第一结构单元结构相同的第二结构单元,平移卷积模块用于通过一个或依次连接的多个第二结构单元对第一图片特征数据进行处理,处理后得到第三图片特征数据。
在其中一个实施例中,平移卷积模块中还包含池化单元,池化单元位于依次连接的多个第二结构单元中第一个第二结构单元和第二个第二结构单元之间。
在其中一个实施例中,第一图片特征数据为采用任意比特量化网络DoReFa-Net的量化算法对原始图片数据处理后得到的特征数据。
一种应用于FPGA硬件架构的数据处理装置,包括:获取模块,用于获取待处理的第一图片特征数据;处理模块,用于将第一图片特征数据输入基于上下文多尺度特征学习的行人重识别网络模型,得到行人重识别网络模型输出的分类识别信息;其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。
一种FPGA硬件架构,其特征在于,FPGA硬件架构包括中央处理器、存储器、计算单元处理部件、池化部件以及残差部件、控制器;中央处理器用于接收待处理的图片特征数据,并将图片特征数据存储到存储器;计算单元处理部件中设置有一个或多个算术逻辑单元矩阵,计算单元处理部件用于从存储器中读取图片特征数据,并通过算术逻辑单元矩阵对图片特征数据进行1x1卷积处理;池化部件用于对计算单元处理部件输出的图片特征数据进行池化处理;残差部件用于对池化部件输出的图片特征数据和/或计算单元处理部件输出的图片特征数据进行残差累加处理;控制器用于根据行人重识别网络模型控制计算单元处理部件从存储器中读取图片特征数据、权重数据及平移参数,以进行1x1卷积处理,以及控制池化部件是否对计算单元处理部件输出的特征数据进行池化处理,以及控制残差部件是否从存储器中读取图片特征数据以及是否将输入到残差部件的图片特征数据进行残差处理;其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。
上述FPGA硬件架构及数据处理方法、装置、计算机设备和存储介质,采用改进后的行人重识别网络模型对第一图片特征数据进行处理,以输出分类识别信息。其中,改进后的行人重识别网络模型,第一结构单元由第一平移网络、1x1卷积网络、批量标准化网络以及线性激活函数网络构成,信道尺度选择模块中包含求和单元。因此,对改进之前的行人重识别网络模型中使用频率较低的操作进行替换和删减,优化行人重识别网络的整个网络结构,有利于FPGA硬件架构的硬件的实现,加快行人重识别网络的推理速度。
需要说明的是,改进之前的行人重识别网络模型,前向分层连接组和后向分层连接组中的卷积单元中包含1x1卷积网络和3x3卷积网络,信道尺度选择模块中包含b-softmax(归一化指数函数)以及 fully-connected layer (全连接层),这些操作在硬件上不易实现。本申请使用的改进后的行人重识别网络模型,对改进之前的行人重识别网络模型进行了网络模型的改进,第一结构单元中由第一平移网络和1x1卷积网络替换原有的3x3卷积网络,同时删减了信道尺度选择模块中的b-softmax(归一化指数函数)以及 fully-connected layer (全连接层),保留其求和单元部分。如此,改进后的行人重识别网络模型只保留1x1卷积网络和其他简单操作,大大简化了FPGA硬件架构的硬件设计,能够使用更少的资源实现FPGA硬件架构的网络加速。因此,上述FPGA硬件架构及数据处理方法,在处理图片特征数据时,能够简化FPGA硬件架构的硬件设置,协同软硬件,实现使用更少的资源实现FPGA硬件架构的网络加速。
附图说明
图1为一个实施例中一种FPGA硬件架构的框架结构框图;
图2为一个实施例中一种应用于FPGA硬件架构的数据处理方法的流程示意图;
图3为一个实施例中现有的基于上下文多尺度特征学习的行人重识别网络模型的网络框图;
图4为一个实施例中DW Conv的内部模型的网络框图;
图5为一个实施例中改进后的基于上下文多尺度特征学习的行人重识别网络模型的网络框图;
图6为一个实施例中平移操作的卷积计算的示例图;
图7为一个实施例中采用平均分组的方式进行平移操作的卷积计算的示例图;
图8为一个实施例中平移操作的卷积核的dx、dy位置标识的示意图;
图9为一个实施例中卷积核为5的平移操作的卷积计算的示例图;
图10为一个实施例中61个偏移参数坐标的示例图;
图11为一个实施例中任意比特量化DoReFa-Net的8位定点的的示例图;
图12为一个实施例中一种FPGA硬件架构的具体硬件结构图;
图13为一个实施例中一种应用于FPGA硬件架构的数据处理装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种应用于FPGA硬件架构的数据处理方法,可以应用于如图1所示的FPGA硬件架构中。其中,如图1所示,FPGA硬件架构包括中央处理器、存储器、计算单元处理部件、池化部件以及残差部件、控制器。中央处理器与存储器连接,当接收到待处理的第一图片特征数据时,将第一图片特征数据存储到存储器中。计算单元处理部件主要用于对1x1卷积网络进行处理。计算单元处理部件中设置算术逻辑单元矩阵,可以根据不同硬件资源情况设置算术逻辑单元矩阵的矩阵大小。计算单元处理部件从存储器中读取第一图片特征数据,并通过算术逻辑单元矩阵对第一图片特征数据进行1x1卷积处理,并将卷积处理结果的信息输出到池化部件。池化部件用于对计算单元处理部件输出的信息进行池化处理。残差部件分别与池化部件以及计算单元处理部件连接,可以对池化部件输出的信息进行残差累计处理,也可以对计算单元处理部件输出的信息进行残差累计处理,或者可以对池化部件输出的信息输出的信息和计算单元处理部件输出的信息进行残差累计处理。控制器用于根据行人重识别网络模型控制计算单元处理部件从存储器中读取第一图片特征数据、权重数据及平移参数,以进行1x1卷积处理,以及控制池化部件是否对计算单元处理部件输出的特征数据进行池化处理,以及控制残差部件是否从存储器中读取其他图片特征数据以及是否将输入到残差部件的图片特征数据进行残差处理;其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。因此,控制器中可以依据一种应用于FPGA硬件架构的数据处理方法中的行人重识别网络模型控制其他部件从而实现本申请的一种应用于FPGA硬件架构的数据处理方法。
本申请的一种应用于FPGA硬件架构的数据处理方法,采用如图1所示的FPGA硬件架构。具体地,通过计算单元处理部件从存储器中读取第一图片特征数据。通过计算单元处理部件中的算术逻辑单元矩阵实现行人重识别网络模型中前向分层连接组以及后向分层连接组中的第一结构单元的相关运算,通过残差部件实现信道尺度选择模块中的求和单元的相关运算。当一种应用于FPGA硬件架构的数据处理方法中,需要池化处理时,还可以采用池化部件对计算单元处理部件输出的信息进行池化处理后,再采用残差部件进行残差累加处理。由此可知,本申请一种应用于FPGA硬件架构的数据处理方法,在使用FPGA硬件架构实现图片数据处理时,能够简化对FPGA硬件架构的硬件要求,实现使用更少的资源实现FPGA硬件架构的网络加速。
在一个实施例中,如图2所示,提供了一种应用于FPGA硬件架构的数据处理方法,以该方法应用于图1中的FPGA硬件架构为例进行说明,包括以下步骤:
S202,获取待处理的第一图片特征数据。
本实施例中,一种应用于FPGA硬件架构的数据处理方法,基于FPGA硬件架构的神经网络对图片数据进行加速处理,以快速识别出图片的分类信息。本实施例中,获取的第一图片特征数据为对待处理图片进行特征数据提取后得到的图片特征数据。
S204,将第一图片特征数据输入基于上下文多尺度特征学习的行人重识别网络模型,得到行人重识别网络模型输出的分类识别信息。
其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。
前向分层连接组用于通过前向分层连接组的多个第一结构单元对第一图片特征数据进行分步尺度间信息融合,后向分层连接组用于通过后向分层连接组的多个第一结构单元对前向分层连接组中各第一结构单元输出的信息进行跨尺度信息融合,信道尺度选择模块用于通过求和单元对后向分层连接组中各第一结构单元输出的信息进行求和,得到分类识别信息。
本实施例中,采用基于上下文多尺度特征学习的行人重识别网络模型对第一图片特征数据进行处理,以得到第一图片特征数据对应的原始图片的分类识别信息。此处需要说明的是,基于上下文多尺度特征学习的行人重识别网络模型为对现有的基于上下文多尺度特征学习的行人重识别网络模型进行网络模型改进得到。以下对现有的基于上下文多尺度特征学习的行人重识别网络模型进行说明:
行人重识别网络模型,简称为CMSNet(Contextual Multi-Scale FeatureLearning for Person Re-Identification),即上下文多尺度网络,用于同时学习公共和上下文多尺度表示。如图3所示,CMSNet的构建块通过双向分层连接组获得上下文多尺度表示,双向分层连接组包括分步尺度间信息融合的前向分层连接组和跨尺度信息融合的后向分层连接组。如图3所示,HFCG表示前向分层连接组,BHCG表示后向分层连接组。此外,如图3所示,CMSNet中还包括CSS(Channel-Wise Scale Selection module,信道尺度选择模块)结构。CSS结构中使用b-softmax、 fullconnected以及矩阵乘积等操作。其中,如图3所示,Conv 1x1表示1x1卷积网络,DW Conv的内部模型参见图4所示。图4中,GConv 3x3表示可分离3x3卷积,BN(Batch Normalization)表示批量标准化网络,ReLU表示线性激活函数网络。如图3所示, b1、b2、b3、b4分别标识对应的DW Conv的输出信息。AvgPod表示求均值节点。
结合图3和图4可知,现有的基于上下文多尺度特征学习的行人重识别网络模型采用可分离3x3卷积以及在在CSS结构中使用b-softmax、 fullconnected、矩阵乘积等操作,若是在设计FPGA硬件架构的硬件时考虑这几个模块的计算方式和资源占用,将大大增加硬件设计的复杂性。
本实施中,基于上述现有的基于上下文多尺度特征学习的行人重识别网络模型进行改进。如图5所示,改进后的基于上下文多尺度特征学习的行人重识别网络模型,同样包含前向分层连接组HFCG、后向分层连接组BHCG以及信道尺度选择模块CSS三大模块。然而,改进后的前向分层连接组HFCG和后向分层连接组BHCG包含卷积单元的不再是DW Conv,而是第一结构单元,即CSC单元。如图5所示,CSC单元包含Conv 1x1、BN、Shift以及ReLU。其中,Shift表示平移操作,Conv 1x1表示1x1卷积网络,BN表示批量标准化网络,ReLU表示线性激活函数网络。改进后的信道尺度选择模块CSS中只包含求和单元Sum。
对比图3和图5可知,本申请中,经过优化后的行人重识别网络模型的网络结构简单,只包含Conv1x1卷积、池化、残差,在FPGA硬件架构的硬件设计时只需要设置几个主要模块,即Conv1x1卷积的计算单元、池化单元、残差单元,由此可知,硬件的结构更加简单,数据也能在硬件模块之间实现最大的流水,使数据在硬件上实现最大化的利用率。
因此,上述FPGA硬件架构及数据处理方法,在处理图片特征数据时,能够简化FPGA硬件架构的硬件设置,协同软硬件,实现使用更少的资源实现FPGA硬件架构的网络加速。
在一个实施例中,行人重识别网络模型还包括3x3卷积网络模块,3x3卷积网络模块与前向分层连接组连接;3x3卷积网络模块用于采用多个可分离3x3卷积网络对第一图片特征数据进行处理,处理后得到第二图片特征数据;前向分层连接组用于通过多个第一结构单元对第二图片特征数据进行分步尺度间信息融合。
该实施例中,对原始图片进行图片特征提取后,得到提取的图片特征数据。现有的行人重识别网络模型采用7x7卷积网络对图片特征数据进行处理。本申请改进后的行人重识别网络模型,采用多个可分离3x3卷积网络对第一图片特征数据进行处理,处理后得到第二图片特征数据。因此,本申请将原有行人重识别网络模型中的7x7卷积网络采用3个可分离3x3卷积网络替换。由于基于上下文多尺度特征学习的行人重识别网络模型中存在有可分离3x3卷积网络,采用多个可分离3x3卷积网络对第一图片特征数据进行处理,再将得到的第二图片特征数据输入行人重识别网络模型,因此行人重识别网络模型内无需处理7x7卷积网络特性的特征数据,只需要关注可分离3x3卷积网络特性的特征数据即可,可减少行人重识别网络模型的处理量,提高行人重识别网络模型对特征数据的处理效率。
在一个实施例中,行人重识别网络模型还包括平移卷积模块,平移卷积模块与前向分层连接组连接;平移卷积模块用于通过平移操作和1x1卷积网络对第一图片特征数据进行处理,处理后得到第三图片特征数据;前向分层连接组用于通过多个第一结构单元对第三图片特征数据进行分步尺度间信息融合。
该实施例中,通过平移操作和1x1卷积网络将第一图片特征数据进行处理。通过平移操作和1x1卷积网络替换原有行人重识别网络模型中的7x7卷积网络,或可以是替换上述实施例中的可分离3x3卷积网络。这样替换能够降低特征图featuremap数据的迁移。比如3x3卷积网络中,每个图片特征数据要使用3次,而1x1卷积网络中图片特征数据只需要搬移一次,因此降低了逻辑复杂性,也提高了行人重识别网络模型的运算速度。比如原有行人重识别网络模型中的7x7卷积网络中,每个图片特征数据要使用7次,而1x1卷积网络中图片特征数据只需要搬移一次,因此降低了逻辑复杂性,也提高了行人重识别网络模型的运算速度。其中,平移操作是将图片特征数据的某个范围的像素移动到中间作为结果,这样的操作减少了乘法运算次数。这种替换会导致精度降低,但是可以减少FPGA硬件架构的运算次数,简化FPGA硬件架构的网络结构设计。以下对平移操作和1x1卷积网络进行详细说明:
平移操作的卷积过程相当于将原输入的矩阵在某个方向进行平移,如图6所示。虽然简单的平移操作似乎没有提取到空间信息,但是考虑到通道域是空间域信息的层次化扩散,因此通过设置不同方向的平移操作的卷积核,可以将输入的图片特征数据(比如可分离3x3卷积网络输出的第二图片特征数据)的张量在不同通道进行平移,随后配合1x1卷积网络实现跨通道的信息融合,即可实现空间域和通道域的信息提取。
一个平移操作的卷积核在每一个通道channel上有(表示整数)种可能的平移方向,再假设有M个通道channel,所以共有种可能的平移选择。显然,在这样的空间里暴力搜索出最适合的平移选择是不现实的。所以,把这M个通道channel分成组,将每个组称之为平移组(shift group)。那么每组的个通道channel使用相同的平移选择,采用相同的平移方向。当然,有可能存在除不尽的情况,这个时候将存在一些通道不能被划分到任意一个组内,这些通道称之为“居中”组,“居中”组不做平移操作。对输入按通道数进行分组, 每一组通道只往一个方向平移。
比如卷积核是3x3的,然后一共有64个通道channel,按照上面的做法,把这些通道channel分成9组,每组7个通道channel,剩下的一个通道channel不做平移操作。这9组需要依次按着顺序赋值某个平移组,每一组的7个通道channel共用一个平移参数。可分离中的3x3卷积网络使用平移操作和1x1卷积网络代替,平移操作采用平均分组,每组按照顺序赋值到一个平移组,平移的x轴和y轴的dx、dy控制在[-1, 1]范围内,简单说明如图7所示。考虑到Conv1x1与平移操作shift可以进行合并,为了减少FPGA硬件架构的硬件上平移操作shift单个模块,硬件的设计可以更加的精简,平移操作shift卷积核的dx、dy位置标识如图8所示。
如图9所示,如果平移操作的卷积核kernel=5,则产生5x5=25种偏移,dx、dy在[-3,3]范围内,如此共用一组偏移参数的通道就会变少,可能的结果也较多,行人重识别网络模型的网络的性能也能进一步得到提升。
如果平移操作的卷积核kernel=9,就会产生9x9=81种偏移参数,dx、dy在[-4, 4]范围内,在作用域内保留合适的[dx,dy]坐标标值,在这些偏移参数中采用高斯Gaussian滤波算法,如下公式:
做归一化处理,产生每个位置的概率值, 采用numpy.random.choice函数为每个通道生成随机的偏移位置[dx,dy],产生平移位置偏移种类。设receptive_field_radius=4.25,满足条件的偏移参数坐标有61个,如图10所示。
在一个实施例中,上述平移卷积模块包含与第一结构单元结构相同的第二结构单元,平移卷积模块用于通过一个或依次连接的多个第二结构单元对第一图片特征数据进行处理,处理后得到第三图片特征数据。
其中,平移卷积模块中还包含池化单元,所述池化单元位于所述依次连接的多个所述第二结构单元中第一个所述第二结构单元和第二个所述第二结构单元之间。
该实施例中,上述平移卷积模块用于通过平移操作和1x1卷积网络对第一图片特征数据进行处理。可以采用第一结构单元结构相同的第二结构单元对第一图片特征数据进行处理。第二结构单元中包含如第一结构单元中的依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络。通过第二结构单元可实现通过平移操作和1x1卷积网络对第一图片特征数据进行处理。此外,本申请基于现有的行人重识别网络模型进行改进,若现有的行人重识别网络模型中第一层7x7卷积网络的卷积步长为2时,本申请改进的行人重识别网络模型中,在依次连接的多个第二结构单元中第一个第二结构单元和第二个第二结构单元之间添加池化单元。池化单元可以是做最大池化处理的单元,也可以是做平均池化处理的单元。因此,为保持整个网络的中间特征图大小与原网络一致,在第一个CSC结构后添加一层最大池化层。具体如下表格所示。
具体地,本申请为了兼容算法结构和硬件的特性对CMSNet网络结构进行优化,在网络性能合理的范围内,最大化软硬件的性价比。优化后的网络结构如下表:
上述表格中,Input 表示输入,Layer表示CMSNet网络的网络层级,Cout表示输出的通道数,Kernel表示卷积核,Stride表示卷积步长,Number表示重复次数,Params表示参数,Flops表示每秒浮点运算次数;CSC表示上述CSC第一结构单元,max pool表示最大池化,CMS block表示图5中整个的网络模块,conv2d表示二维卷积,average pool表示平均池化,global average pool表示全局平均池化,fc表示全连接。
由上表格可知,优化有的CMSNet网络结构,除了采用CSC卷积单元之外,对CMSBlock结构也进行了优化。其中,CMS Block结构如图5所示。对比图3和图4可知,优化后的CMS Block结构中DWConv替换成CSC结构,CSC结构由Conv1x1 + Shift + Conv1x1 + BN +Relu组成,训练完CMSNet网络结构后会将BN融合到Conv1x1,并固化到模型文件中。
由上表格可知,优化后的网络结构中包含多个第一结构单元,当第二图片特征数据输入到行人重识别网络模型时,如上表格可知,通过行人重识别网络模型中依次的多个第一结构单元对第二图片特征数据进行处理。
在一个实施例中,上述第一图片特征数据为采用任意比特量化网络DoReFa-Net对原始图片数据处理后得到的特征数据。
网路优化后的CMSNet网络中的权重参数只有Conv1x1参数,结构统一,更有利于对网络结构进行量化。该实施例中,为了进一步降低网络参数量,采用了任意比特量化网络DoReFa-Net的量化算法,对CMSNet网络中的全精度权重进行了量化。其中,包括采用任意比特量化网络对原始图片数据得到第一图片特征数据,还可以包括采用任意比特量化网络对第一图片特征数据进行量化处理后再输入到行人重识别网络模型、采用任意比特量化网络对第二图片特征数据进行量化处理后再输入到行人重识别网络模型以及采用任意比特量化网络对第三图片特征数据进行量化处理后再输入到行人重识别网络模型。具体地,采用任意比特量化网络DoReFa-Net的量化算法对输入到行人重识别网络模型进行卷积处理的图片特征数据进行量化处理。
该实施例可以使用8位的定点表示进行量化处理,如图11所示,在量化到k=8位之前,先使用双曲正切函数tanh将权重限制在[-1,1]之间。通过
将数值约束在[0,1]之间,最大值是相对于整个层的权重而言。然后通过:
将浮点数转换位k=8位定点数,范围在[0,1],最后通过x0=2q-1映射变换将权重约束到[-1,1]。
本申请的一种应用于FPGA硬件架构的数据处理方法,从硬件和网络的协同设计方面,将行人重识别网络模型中的神经网络加速硬件设计和网络压缩分开,并在网络压缩的时候尽可能考虑到硬件的特点,让网络模型更加适合硬件架构。本申请在基于最新的行人重识别网络CMSNet网络来设计一个能够适用于FPGA硬件架构的网络,对于行人重识别网络CMSNet的网络结构中的7x7卷积、b-softmax、 fully-connected layer 等操作在硬件上不易实现,而且在实际使用频率较低的操作进行替换和删减,优化整个网络结构使其保留大部分精度的情况下,更好的有利于硬件的实现,加快网络的推理速度。具体地,上述实施例给出的一种应用于FPGA硬件架构的数据处理方法有以下几方面的效果:
1、针对最新的轻量化的行人重识别网络CMSNet,应用软硬件协同设计的思想,使用3个可分离3x3卷积替换普通7x7卷积,减少参数量,去掉使用频率较低的普通7x7卷积,有利于硬件的实现;再使用平移操作和1x1卷积网络(Shift+Conv1x1)替换整个网络的可分离中的3x3卷积网络;去掉CMS Block中的CSS结构,只保留SUM操作。因此,优化后的行人重识别网络CMSNet只保留1x1卷积和其他操作,大大简化了硬件设计,能够使用更少的资源实现网络加速。
2、Conv1x1+Shift操作融合,使得硬件不需要单独设计平移操作Shift模块,简化硬件设计平移操作Shift模块的资源消耗,减少数据在各个模块之间的传输。
3、针对优化后的行人重识别网络的网络结构,只包含Conv1x1卷积、池化、残差,在硬件设计时几个主要模块就是Conv1x1卷积的计算单元、池化单元、残差单元,硬件的结构更加简单,数据也能在硬件模块之间实现最大的流水,使数据在硬件上实现最大化的利用率。
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,本申请还提供一种FPGA硬件架构,如图1所示,FPGA硬件架构包括中央处理器、存储器、计算单元处理部件、池化部件以及残差部件以及控制器。中央处理器用于接收待处理的图片特征数据,并将图片特征数据存储到存储器;计算单元处理部件中设置有一个或多个算术逻辑单元矩阵,计算单元处理部件用于从存储器中读取图片特征数据,并通过算术逻辑单元矩阵对图片特征数据进行1x1卷积处理;池化部件用于对计算单元处理部件输出的图片特征数据进行池化处理;残差部件用于对池化部件输出的图片特征数据和/或计算单元处理部件输出的图片特征数据进行残差累加处理;控制器用于根据行人重识别网络模型控制计算单元处理部件从存储器中读取图片特征数据、权重数据及平移参数,以进行1x1卷积处理,以及控制池化部件是否对计算单元处理部件输出的特征数据进行池化处理,以及控制残差部件是否从存储器中读取图片特征数据以及是否将输入到残差部件的图片特征数据进行残差处理;其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。
在其他实施例中,行人重识别网络模型还可包括上述一种应用于FPGA硬件架构的数据处理方法对应的各个实施例所述的模块或单元,具体可参见上述各个实施例的说明。
具体地,给出一种FPGA硬件架构的具体硬件结构图,如图12所示。其中,图12中,CPU表示中央处理器,DDR/DRAM表示双倍速率同步动态随机存储器/动态随机存取存储器。该FPGA硬件架构的具体硬件结构图执行上述一种应用于FPGA硬件架构的数据处理方法时,处理流程如下:
中央处理器接收待处理的图片特征数据,并将图片特征数据存储到双倍速率同步动态随机存储器/动态随机存取存储器。计算单元处理部件中设置有一个或多个算术逻辑单元矩阵,计算单元处理部件从双倍速率同步动态随机存储器/动态随机存取存储器中读取图片特征数据,并通过算术逻辑单元矩阵对图片特征数据进行1x1卷积处理。池化部件对计算单元处理部件输出的图片特征数据进行池化处理。残差部件对池化部件输出的图片特征数据和/或计算单元处理部件输出的图片特征数据进行残差累加处理。控制器根据行人重识别网络模型控制计算单元处理部件从双倍速率同步动态随机存储器/动态随机存取存储器中读取图片特征数据、权重数据及平移参数,以进行1x1卷积处理,以及控制池化部件是否对计算单元处理部件输出的特征数据进行池化处理,以及控制残差部件是否从双倍速率同步动态随机存储器/动态随机存取存储器中读取图片特征数据以及是否将输入到残差部件的图片特征数据进行残差处理。其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。
由此可知,基于上述一种应用于FPGA硬件架构的数据处理方法,在使用FPGA硬件架构的神经网络加速处理图片特征数据时,对FPGA硬件架构的硬件配置要求简单,进而能够使用更少的资源实现FPGA硬件架构的网络加速处理
在一个实施例中,本申请还提供一种应用于FPGA硬件架构的数据处理装置。如图13所示,提供了一种应用于FPGA硬件架构的数据处理装置,包括获取模块1302以及处理模块1304。获取模块1302,用于获取待处理的第一图片特征数据;处理模块1304,用于将第一图片特征数据输入基于上下文多尺度特征学习的行人重识别网络模型,得到行人重识别网络模型输出的分类识别信息;其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。
在其中一个实施例中,前向分层连接组用于通过前向分层连接组的多个第一结构单元对第一图片特征数据进行分步尺度间信息融合,后向分层连接组用于通过后向分层连接组的多个第一结构单元对前向分层连接组中各第一结构单元输出的信息进行跨尺度信息融合,信道尺度选择模块用于通过求和单元对后向分层连接组中各第一结构单元输出的信息进行求和,得到分类识别信息。
在其中一个实施例中,行人重识别网络模型还包括3x3卷积网络模块,3x3卷积网络模块与前向分层连接组连接;3x3卷积网络模块用于采用多个可分离3x3卷积网络对第一图片特征数据进行处理,处理后得到第二图片特征数据;前向分层连接组用于通过多个第一结构单元对第二图片特征数据进行分步尺度间信息融合。
在其中一个实施例中,行人重识别网络模型还包括平移卷积模块,平移卷积模块与前向分层连接组连接;平移卷积模块用于通过平移操作和1x1卷积网络对第一图片特征数据进行处理,处理后得到第三图片特征数据;前向分层连接组用于通过多个第一结构单元对第三图片特征数据进行分步尺度间信息融合。
在其中一个实施例中,平移卷积模块包含与第一结构单元结构相同的第二结构单元,平移卷积模块用于通过一个或依次连接的多个第二结构单元对第一图片特征数据进行处理,处理后得到第三图片特征数据。
在其中一个实施例中,平移卷积模块中还包含池化单元,池化单元位于依次连接的多个第二结构单元中第一个第二结构单元和第二个第二结构单元之间。
在其中一个实施例中,第一图片特征数据为采用任意比特量化网络DoReFa-Net的量化算法对原始图片数据处理后得到的特征数据。
关于一种应用于FPGA硬件架构的数据处理装置的具体限定可以参见上文中对于一种应用于FPGA硬件架构的数据处理方法的限定,在此不再赘述。上述一种应用于FPGA硬件架构的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部设备连接,以接收外部设备的信息。该计算机程序被处理器执行时以实现一种应用于FPGA硬件架构的数据处理方法。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取待处理的第一图片特征数据;将第一图片特征数据输入基于上下文多尺度特征学习的行人重识别网络模型,得到行人重识别网络模型输出的分类识别信息;其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。
在其中一个实施例中,前向分层连接组用于通过前向分层连接组的多个第一结构单元对第一图片特征数据进行分步尺度间信息融合,后向分层连接组用于通过后向分层连接组的多个第一结构单元对前向分层连接组中各第一结构单元输出的信息进行跨尺度信息融合,信道尺度选择模块用于通过求和单元对后向分层连接组中各第一结构单元输出的信息进行求和,得到分类识别信息。
在其中一个实施例中,行人重识别网络模型还包括3x3卷积网络模块,3x3卷积网络模块与前向分层连接组连接;3x3卷积网络模块用于采用多个可分离3x3卷积网络对第一图片特征数据进行处理,处理后得到第二图片特征数据;前向分层连接组用于通过多个第一结构单元对第二图片特征数据进行分步尺度间信息融合。
在其中一个实施例中,行人重识别网络模型还包括平移卷积模块,平移卷积模块与前向分层连接组连接;平移卷积模块用于通过平移操作和1x1卷积网络对第一图片特征数据进行处理,处理后得到第三图片特征数据;前向分层连接组用于通过多个第一结构单元对第三图片特征数据进行分步尺度间信息融合。
在其中一个实施例中,平移卷积模块包含与第一结构单元结构相同的第二结构单元,平移卷积模块用于通过一个或依次连接的多个第二结构单元对第一图片特征数据进行处理,处理后得到第三图片特征数据。
在其中一个实施例中,平移卷积模块中还包含池化单元,池化单元位于依次连接的多个第二结构单元中第一个第二结构单元和第二个第二结构单元之间。
在其中一个实施例中,第一图片特征数据为采用任意比特量化网络DoReFa-Net的量化算法对原始图片数据处理后得到的特征数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待处理的第一图片特征数据;将第一图片特征数据输入基于上下文多尺度特征学习的行人重识别网络模型,得到行人重识别网络模型输出的分类识别信息;其中,行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,前向分层连接组以及后向分层连接组中均包含多个第一结构单元,第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,信道尺度选择模块中包含求和单元。
在其中一个实施例中,前向分层连接组用于通过前向分层连接组的多个第一结构单元对第一图片特征数据进行分步尺度间信息融合,后向分层连接组用于通过后向分层连接组的多个第一结构单元对前向分层连接组中各第一结构单元输出的信息进行跨尺度信息融合,信道尺度选择模块用于通过求和单元对后向分层连接组中各第一结构单元输出的信息进行求和,得到分类识别信息。
在其中一个实施例中,行人重识别网络模型还包括3x3卷积网络模块,3x3卷积网络模块与前向分层连接组连接;3x3卷积网络模块用于采用多个可分离3x3卷积网络对第一图片特征数据进行处理,处理后得到第二图片特征数据;前向分层连接组用于通过多个第一结构单元对第二图片特征数据进行分步尺度间信息融合。
在其中一个实施例中,行人重识别网络模型还包括平移卷积模块,平移卷积模块与前向分层连接组连接;平移卷积模块用于通过平移操作和1x1卷积网络对第一图片特征数据进行处理,处理后得到第三图片特征数据;前向分层连接组用于通过多个第一结构单元对第三图片特征数据进行分步尺度间信息融合。
在其中一个实施例中,平移卷积模块包含与第一结构单元结构相同的第二结构单元,平移卷积模块用于通过一个或依次连接的多个第二结构单元对第一图片特征数据进行处理,处理后得到第三图片特征数据。
在其中一个实施例中,平移卷积模块中还包含池化单元,池化单元位于依次连接的多个第二结构单元中第一个第二结构单元和第二个第二结构单元之间。
在其中一个实施例中,第一图片特征数据为采用任意比特量化网络DoReFa-Net的量化算法对原始图片数据处理后得到的特征数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种应用于FPGA硬件架构的数据处理方法,其特征在于,所述FPGA硬件架构包括中央处理器、控制器以及神经网络模块,所述神经网络模块中设置有基于上下文多尺度特征学习的行人重识别网络模型,所述方法包括:
所述中央处理器获取待处理的第一图片特征数据;
所述控制器将所述第一图片特征数据输入基于上下文多尺度特征学习的行人重识别网络模型,得到所述行人重识别网络模型输出的分类识别信息;
其中,所述行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,所述前向分层连接组以及所述后向分层连接组中均包含多个第一结构单元,所述第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,所述信道尺度选择模块中包含求和单元。
2.根据权利要求1所述的方法,其特征在于,所述前向分层连接组用于通过所述前向分层连接组的多个所述第一结构单元对所述第一图片特征数据进行分步尺度间信息融合,所述后向分层连接组用于通过所述后向分层连接组的多个所述第一结构单元对所述前向分层连接组中各所述第一结构单元输出的信息进行跨尺度信息融合,所述信道尺度选择模块用于通过所述求和单元对所述后向分层连接组中各所述第一结构单元输出的信息进行求和,得到所述分类识别信息。
3.根据权利要求2所述的方法,其特征在于,所述行人重识别网络模型还包括3x3卷积网络模块,所述3x3卷积网络模块与所述前向分层连接组连接;
所述3x3卷积网络模块用于采用多个可分离3x3卷积网络对所述第一图片特征数据进行处理,处理后得到第二图片特征数据;
所述前向分层连接组用于通过多个所述第一结构单元对所述第二图片特征数据进行分步尺度间信息融合。
4.根据权利要求2所述的方法,其特征在于,所述行人重识别网络模型还包括平移卷积模块,所述平移卷积模块与所述前向分层连接组连接;
所述平移卷积模块用于通过平移操作和1x1卷积网络对所述第一图片特征数据进行处理,处理后得到第三图片特征数据;
所述前向分层连接组用于通过多个所述第一结构单元对所述第三图片特征数据进行分步尺度间信息融合。
5.根据权利要求4所述的方法,其特征在于,所述平移卷积模块包含与所述第一结构单元结构相同的第二结构单元,所述平移卷积模块用于通过一个或依次连接的多个所述第二结构单元对所述第一图片特征数据进行处理,处理后得到所述第三图片特征数据。
6.根据权利要求5所述的方法,其特征在于,所述平移卷积模块中还包含池化单元,所述池化单元位于所述依次连接的多个所述第二结构单元中第一个第二结构单元和第二个第二结构单元之间。
7.根据权利要求1所述的方法,其特征在于,所述第一图片特征数据为采用任意比特量化网络DoReFa-Net的量化算法对原始图片数据处理后得到的特征数据。
8.一种应用于FPGA硬件架构的数据处理装置,其特征在于,所述FPGA硬件架构包括中央处理器、控制器以及神经网络模块,所述神经网络模块中设置有基于上下文多尺度特征学习的行人重识别网络模型,所述装置包括:
获取模块,用于通过所述中央处理器获取待处理的第一图片特征数据;
处理模块,用于通过所述控制器将所述第一图片特征数据输入基于上下文多尺度特征学习的行人重识别网络模型,得到所述行人重识别网络模型输出的分类识别信息;
其中,所述行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,所述前向分层连接组以及所述后向分层连接组中均包含多个第一结构单元,所述第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,所述信道尺度选择模块中包含求和单元。
9.一种FPGA硬件架构,其特征在于,所述FPGA硬件架构包括中央处理器、存储器、计算单元处理部件、池化部件以及残差部件、控制器;
所述中央处理器用于接收待处理的图片特征数据,并将所述图片特征数据存储到所述存储器;
所述计算单元处理部件中设置有一个或多个算术逻辑单元矩阵,所述计算单元处理部件用于从所述存储器中读取所述图片特征数据,并通过所述算术逻辑单元矩阵对所述图片特征数据进行1x1卷积处理;
所述池化部件用于对所述计算单元处理部件输出的图片特征数据进行池化处理;
所述残差部件用于对所述池化部件输出的图片特征数据和/或所述计算单元处理部件输出的图片特征数据进行残差累加处理;
所述控制器用于根据行人重识别网络模型控制所述计算单元处理部件从所述存储器中读取图片特征数据、权重数据及平移参数,以进行1x1卷积处理,以及控制所述池化部件是否对所述计算单元处理部件输出的特征数据进行池化处理,以及控制所述残差部件是否从所述存储器中读取图片特征数据以及是否将输入到所述残差部件的图片特征数据进行残差处理;
其中,所述行人重识别网络模型的结构块包括依次连接的前向分层连接组、后向分层连接组以及信道尺度选择模块,所述前向分层连接组以及所述后向分层连接组中均包含多个第一结构单元,所述第一结构单元包含依次连接的第一1x1卷积网络、第一批量标准化网络、第一平移网络、第二1x1卷积网络、第二批量标准化网络以及线性激活函数网络,所述信道尺度选择模块中包含求和单元。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111579432.9A CN113963241B (zh) | 2021-12-22 | 2021-12-22 | Fpga硬件架构及其数据处理方法、存储介质 |
PCT/CN2022/095365 WO2023115814A1 (zh) | 2021-12-22 | 2022-05-26 | Fpga硬件架构及其数据处理方法、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111579432.9A CN113963241B (zh) | 2021-12-22 | 2021-12-22 | Fpga硬件架构及其数据处理方法、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113963241A CN113963241A (zh) | 2022-01-21 |
CN113963241B true CN113963241B (zh) | 2022-03-08 |
Family
ID=79473583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111579432.9A Active CN113963241B (zh) | 2021-12-22 | 2021-12-22 | Fpga硬件架构及其数据处理方法、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113963241B (zh) |
WO (1) | WO2023115814A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113963241B (zh) * | 2021-12-22 | 2022-03-08 | 苏州浪潮智能科技有限公司 | Fpga硬件架构及其数据处理方法、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086782A (zh) * | 2018-08-21 | 2018-12-25 | 广东工业大学 | 特征描述子生成方法、装置、设备及计算机可读存储介质 |
WO2019238976A1 (en) * | 2018-06-15 | 2019-12-19 | Université de Liège | Image classification using neural networks |
CN111192320A (zh) * | 2019-12-30 | 2020-05-22 | 上海联影医疗科技有限公司 | 一种位置信息确定方法、装置、设备和存储介质 |
CN111339942A (zh) * | 2020-02-26 | 2020-06-26 | 山东大学 | 基于视点调整的图卷积循环网络骨骼动作识别方法及系统 |
CN112861780A (zh) * | 2021-03-05 | 2021-05-28 | 上海有个机器人有限公司 | 一种行人重识别方法、装置、介质和移动机器人 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345939B (zh) * | 2017-01-25 | 2022-05-24 | 微软技术许可有限责任公司 | 基于定点运算的神经网络 |
CN110334622B (zh) * | 2019-06-24 | 2022-04-19 | 电子科技大学 | 基于自适应特征金字塔的行人检索方法 |
CN111414815B (zh) * | 2020-03-04 | 2023-11-14 | 清华大学深圳国际研究生院 | 行人重识别网络搜索方法及行人重识别方法 |
CN111523470B (zh) * | 2020-04-23 | 2022-11-18 | 苏州浪潮智能科技有限公司 | 一种行人重识别方法、装置、设备及介质 |
CN111523489A (zh) * | 2020-04-26 | 2020-08-11 | 上海眼控科技股份有限公司 | 年龄分类网络的生成方法、车载人员检测方法、装置 |
US20210350517A1 (en) * | 2020-05-08 | 2021-11-11 | The Board Of Trustees Of The University Of Alabama | Robust roadway crack segmentation using encoder-decoder networks with range images |
CN111967468A (zh) * | 2020-08-10 | 2020-11-20 | 东南大学 | 一种基于fpga的轻量级目标检测神经网络的实现方法 |
CN112132023B (zh) * | 2020-09-22 | 2024-05-17 | 上海应用技术大学 | 基于多尺度上下文增强网络的人群计数方法 |
CN112685609A (zh) * | 2021-01-04 | 2021-04-20 | 福州大学 | 一种结合平移机制与卷积神经网络的知识图谱补全方法 |
CN112990116B (zh) * | 2021-04-21 | 2021-08-06 | 四川翼飞视科技有限公司 | 基于多注意力机制融合的行为识别装置、方法和存储介质 |
CN113488058B (zh) * | 2021-06-23 | 2023-03-24 | 武汉理工大学 | 一种基于短语音的声纹识别方法 |
CN113963241B (zh) * | 2021-12-22 | 2022-03-08 | 苏州浪潮智能科技有限公司 | Fpga硬件架构及其数据处理方法、存储介质 |
-
2021
- 2021-12-22 CN CN202111579432.9A patent/CN113963241B/zh active Active
-
2022
- 2022-05-26 WO PCT/CN2022/095365 patent/WO2023115814A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019238976A1 (en) * | 2018-06-15 | 2019-12-19 | Université de Liège | Image classification using neural networks |
CN109086782A (zh) * | 2018-08-21 | 2018-12-25 | 广东工业大学 | 特征描述子生成方法、装置、设备及计算机可读存储介质 |
CN111192320A (zh) * | 2019-12-30 | 2020-05-22 | 上海联影医疗科技有限公司 | 一种位置信息确定方法、装置、设备和存储介质 |
CN111339942A (zh) * | 2020-02-26 | 2020-06-26 | 山东大学 | 基于视点调整的图卷积循环网络骨骼动作识别方法及系统 |
CN112861780A (zh) * | 2021-03-05 | 2021-05-28 | 上海有个机器人有限公司 | 一种行人重识别方法、装置、介质和移动机器人 |
Non-Patent Citations (4)
Title |
---|
Contextual Multi-Scale Feature Learning for Person Re-Identification;Baoyu Fan等;《Oral Session E2: Media Interpretation》;20201016;第655-663页 * |
Shift: A Zero FLOP, Zero Parameter Alternative to Spatial Convolutions;Bichen Wu等;《arXiv:1711.08141v2》;20171203;第1-9页 * |
基于深度学习的牲畜目标检测与跟踪算法研究;房永峰;《中国优秀硕士学位论文全文数据库 农业科技辑》;20190915(第(2019)09期);D050-84 * |
基于深度特征学习的图像自适应目标识别算法;张骞予等;《太原理工大学学报》;20180715;第49卷(第04期);第592-598页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2023115814A1 (zh) | 2023-06-29 |
CN113963241A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107977704B (zh) | 权重数据存储方法和基于该方法的神经网络处理器 | |
Li et al. | Rethinking vision transformers for mobilenet size and speed | |
CN107818367B (zh) | 用于神经网络的处理系统和处理方法 | |
CN109978142B (zh) | 神经网络模型的压缩方法和装置 | |
CN107844826B (zh) | 神经网络处理单元及包含该处理单元的处理系统 | |
US20210224125A1 (en) | Operation Accelerator, Processing Method, and Related Device | |
WO2022037705A1 (en) | Method and system for hierarchical weight-sparse convolution processing | |
EP3255586A1 (en) | Method, program, and apparatus for comparing data graphs | |
CN110659725B (zh) | 神经网络模型的压缩与加速方法、数据处理方法及装置 | |
CN111783937A (zh) | 一种神经网络构建方法以及系统 | |
JP7461344B2 (ja) | 畳み込みニューラルネットワークの畳み込み処理方法、装置及び記憶媒体 | |
US11544542B2 (en) | Computing device and method | |
US11113601B1 (en) | Method and system for balanced-weight sparse convolution processing | |
CN112183295A (zh) | 行人重识别方法、装置、计算机设备及存储介质 | |
CN108171328B (zh) | 一种神经网络处理器和采用其执行的卷积运算方法 | |
CN113963241B (zh) | Fpga硬件架构及其数据处理方法、存储介质 | |
CN111709415B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN111931901A (zh) | 一种神经网络构建方法以及装置 | |
CN112598062A (zh) | 一种图像识别方法和装置 | |
CN114037063A (zh) | 网络模型处理方法、装置、设备、存储介质 | |
CN109034176B (zh) | 辨识系统以及辨识方法 | |
US11500767B2 (en) | Method and device for determining a global memory size of a global memory size for a neural network | |
CN113283575A (zh) | 用于重构人工神经网络的处理器及其操作方法、电气设备 | |
CN114175053A (zh) | 转换装置、转换方法、程序以及信息记录介质 | |
Sakr et al. | Memory-efficient CMSIS-NN with replacement strategy |
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 |