CN114511072A - 图像处理方法、装置、电子设备及存储介质 - Google Patents
图像处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114511072A CN114511072A CN202111576248.9A CN202111576248A CN114511072A CN 114511072 A CN114511072 A CN 114511072A CN 202111576248 A CN202111576248 A CN 202111576248A CN 114511072 A CN114511072 A CN 114511072A
- Authority
- CN
- China
- Prior art keywords
- data
- convolution
- layer
- convolutional
- neural 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 89
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000011176 pooling Methods 0.000 claims abstract description 30
- 238000013527 convolutional neural network Methods 0.000 claims description 88
- 238000005070 sampling Methods 0.000 claims description 19
- 238000012549 training Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000013139 quantization Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 24
- 238000004364 calculation method Methods 0.000 abstract description 22
- 238000003062 neural network model Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 210000000988 bone and bone Anatomy 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- 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/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computational Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Molecular Biology (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Neurology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请提出一种图像处理方法、装置、电子设备及存储介质,该方法包括:生成待处理图像的DCT分量;对DCT分量进行卷积、池化和拼接操作,得到第一处理数据;对第一处理数据进行上采样和卷积操作,得到第二处理数据;对第二处理数据进行卷积操作,得到目标处理数据。本申请能够在保证计算结果的前提下,简化了卷积计算过程,从本质上解决了卷积神经网络模型计算延迟大的问题。
Description
技术领域
本申请属于图像处理技术领域,具体涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
卷积神经网络模型(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。由于卷积神经网络模型计算过程较为复杂,处理的数据较多,所以,目前大多卷积神经网络模型都存在计算延迟的问题。
现有技术中,通过GPU(graphics processing unit,图形处理器)实现卷积神经网络模型,以期提高卷积神经网络模型的计算速度,解决了卷积神经网络模型计算延迟大的问题。但是,GPU往往功耗较高、价格比较昂贵、开发及维护成本也较高,不利于卷积神经网络模型的应用及推广。
发明内容
本申请提出一种图像处理方法、装置、电子设备及存储介质,在保证计算结果的前提下,简化了卷积计算过程,从本质上解决了卷积神经网络模型计算延迟大的问题。
本申请第一方面实施例提出了一种图像处理方法,所述方法包括:
生成待处理图像的DCT分量;
对所述DCT分量进行卷积、池化和拼接操作,得到第一处理数据;
对所述第一处理数据进行上采样和卷积操作,得到第二处理数据;
对所述第二处理数据进行卷积操作,得到目标处理数据。
在本申请的一些实施例中,所述生成待处理图像的DCT分量,包括:
通过查找标准的霍夫曼表,按照字节对所述待处理图像进行解析;
对解析得到的头文件进行反量化处理,以得到所述待处理图像的DCT分量。
在本申请的一些实施例中,所述卷积神经网络模型包括依次连接的初始卷积层和多组卷积结构,每组所述卷积结构至少包括依次连接的卷积块、拼接层、池化层及第一卷积层;
对所述DCT分量进行卷积、池化和拼接操作,得到第一处理数据,包括:
通过所述初始卷积层对所述DCT分量进行卷积操作,得到与所述初始卷积层连接的卷积结构的输入数据;
通过所述卷积块对所述输入数据进行卷积操作,得到子卷积块数据;
通过所述拼接层将所述输入数据和所述子卷积块数据进行连接,得到连接数据;
分别通过所述池化层和所述第一卷积层依次对所述连接数据进行池化操作和卷积操作,得到卷积结构输出数据,并将该卷积结构输出数据作为下一卷积结构的输入数据;
将靠近输出端的卷积结构对应的末次输出数据和末次子卷积块数据,确定为所述第一处理数据。
在本申请的一些实施例中,所述初始卷积层包括沿输入至输出方向依次设置的第一初始卷积层和第二初始卷积层,所述第一初始卷积层的卷积核小于所述第二初始卷积层的卷积核;
所述卷积块包括沿输入至输出方向依次设置的两个第一子卷积层和一个第二子卷积层。
在本申请的一些实施例中,所述卷积神经网络模型还包括上采样层和第二卷积层;
对所述第一处理数据进行上采样和卷积操作,得到第二处理数据,包括:
通过所述上采样层采用最邻近插值算法对所述末次输出数据进行上采样,得到上采样数据;
读取所述末次子卷积块数据,并将其与所述上采样数据相加,得到加和数据;
通过所述第二卷积层对所述加和数据进行卷积操作,得到第二卷积数据,并将所述第二卷积数据和所述末次输出数据,共同确定为所述第二处理数据。
在本申请的一些实施例中,所述卷积神经网络模型还包括两个第三卷积层和两个第四卷积层;
对所述第二处理数据进行卷积操作,得到目标处理数据,包括:
依次通过一个所述第三卷积层和一个所述第四卷积层分别对所述第二卷积数据和所述末次输出数据进行卷积操作,以得到所述目标处理数据。
在本申请的一些实施例中,采用基于FPGA的硬件对所述卷积神经网络模型进行加速,并基于加速后的卷积神经网络模型实现所述图像处理方法。
在本申请的一些实施例中,所述生成待处理图像的DCT分量之前,还包括:
构建所述卷积神经网络模型的结构;
获取训练集;
根据所述训练集,对所述卷积神经网络模型进行训练。
本申请第二方面的实施例提供了一种图像处理装置,所述装置包括:
DCT分量生成模块,用于生成待处理图像的DCT分量;
第一处理模块,用于对所述DCT分量进行卷积、池化和拼接操作,得到第一处理数据;
第二处理模块,用于对所述第一处理数据进行上采样和卷积操作,得到第二处理数据;
第三处理模块,用于对所述第二处理数据进行卷积操作,得到目标处理数据。
本申请第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现如第一方面所述的方法。
本申请第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现如第一方面所述的方法。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例提供的图像处理方法,基于预先训练到的卷积神经网络模型实现,且本实施例在执行该方法之前,对常规卷积神经网络模型进行精简,降低网络模型复杂度,使得该卷积神经网络模型可以先生成待处理图像的DCT分量,并基于该DCT分量进行后续的卷积神经网络相关操作,降低了图像解码的复杂度,从而简化卷积神经网络操作过程,从本质上缩减卷积神经网络的计算时间,从而解决了卷积神经网络模型计算延迟大的问题。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了传统的卷积神经网络模型的结构示意图;
图2示出了传统卷积神经网络模型对JPEG图像进行解码的流程示意图;
图3示出了本申请实施例提出的卷积神经网络模型的结构示意图;
图4示出了本申请实施例提出的基于FPGA实现的卷积神经网络模型的结构示意图;
图5出了本申请实施例提出的单通道下的卷积操作的原理示意图;
图6出了本申请实施例提出的单通道下的最大池化操作的原理示意图;
图7出了本申请实施例提出的单通道下的上采样作原理示意图;
图8示出了本申请实施例提出的一种图像处理方法的流程示意图;
图9示出了本申请实施例提出的一种图像处理装置的结构示意图;
图10示出了本申请一实施例所提供的一种电子设备的结构示意图;
图11示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
下面结合附图来描述根据本申请实施例提出的一种图像处理方法、装置、电子设备及存储介质,其中,电子设备可包括图像处理装置,具体可以为服务器、电脑、平板甚至手机等具有图像处理功能的设备。该图像处理装置可用于执行该图像处理方法,具体可以为虚拟化的功能模块,也可以指电子设备上进行图像处理的具体硬件等。该图像处理方法基于卷积神经网络模型实现,且本实施例在执行该方法之前,对常规卷积神经网络模型进行精简,降低网络模型复杂度,使得该卷积神经网络模型可以先生成待处理图像的DCT分量,并基于该DCT分量进行后续的卷积神经网络相关操作,从而简化卷积神经网络操作过程,从本质上缩减卷积神经网络的计算时间。
在通过上述卷积神经网络模型进行图像处理之前,先对传统卷积神经网络模型进行改进,构建本实施例应用的卷积神经网络模型,具体过程如下:
卷积神经网络模型通常可包括三个部分,分别为骨干部(Backbone)、颈部(Neck)和头部(head)。其中,骨干部用于进行数据输入和主要的卷积神经网络操作。颈部基于骨干部的输出进行采样,选取需要的数据进行再次卷积神经网络操作。头部基于颈部的输出结果,根据该卷积神经网络模型的理想输出,基于颈部的输出结果进行再次卷积神经网络操作,以对数据进行较为精细的调整,得到理想中的输出结果。
传统的卷积神经网络模型如图1所示,骨干部可包括四组卷积结构:第一组依次包括输入层和三个卷积层。第二组依次包括卷积块、拼接层、最大池化层及卷积层。第三组和第四组的结构均与第二组的结构一致。颈部包括两组卷积结构:两组卷结构都包括上采样层和卷积层,其中一组用于对骨干部依次进行卷积和上采样,并将上采样的结果与骨干部第四组卷积结构中的卷积块的输出结果进行拼接;另一组再对该拼接后的输出依次进行卷积和上采样,并将上采样的结果和骨干部第三组卷积结构中的卷积块的输出进行拼接。头部包括三组卷积结构,每组均包括两个卷积层和一个输出层,该三组卷积结构的输入分别是骨干部的总输出和颈部两组卷积结构的输出。
传统卷积神经网络模型,进入卷积层的输入采用空间域RGB数据,而待处理图像的原始格式通常为图片格式(如,JPG或JPEG等),经过解码之后才能得到用作卷积层输入的RGB数据。解码过程遵循业界标准协议,具体如图2所示:对于输入的图片格式的图像,先进行解码,解码后进行去量化(De-quantization),得到DCT分量,然后再对该DCT分量进行反向离散余弦变换、上采样及色彩数据转换。如此,该解码过程需要进行反向离散余弦变换、上采样和色彩数据转换,计算比较复杂,消耗时间较长。
本实施例鉴于上述原因对传统卷积神经网络模型进行改进,改进后的卷积神经网络模型的结构如图3所示,其骨干部与传统卷积神经网络模型的骨干部结构类似,简化了第一组卷积结构的卷积层数量,且可直接对DCT分量进行卷积操作。其颈部由原来的两组卷积结构简化为一组,且对上采样过程进行优化,以进一步简化卷积神经网络的操作过程。其头部的卷积结构由原来的三组简化为两组。
本实施例的卷积神经网络模型基于DCT分量实现卷积神经网络操作,故本实施例还需配备DCT分量生成模块,以对JPEG图像的数据流按照字节进行解析,该DCT分量生成模块可包括字符串转换单元、解码控制单元以及反量化单元,下面以JPEG格式的图像数据为例阐述DCT分量的生成过程,如图4所示,将JPEG图像通过axi_stream接口输入该DCT分量生成模块,通过字符串转换单元对输入数据进行字符串合并和单位转换,以将32bit位的输入数据转换为解码协议所用的8bit位数据,然后通过查找标准的霍夫曼表,按照字节对待处理图像进行解析,解析JPEG头文件后,进行反量化处理以及反zig-zag变换,最终输出16bit的DCT分量数据,并与zig-zag ID同步。
如图3所示,改进后的卷积神经网络模型的骨干部可包括依次连接的DCT输入层、初始卷积层和多组卷积结构,每组卷积结构至少包括依次连接的卷积块、连接层、池化层及第一卷积层。每组卷积结构的操作过程基本相同,区别下面以与初始卷积层连接的卷积结构的操作过程为例进行详细说明。
通过上述初始卷积层可以对DCT分量进行卷积操作,得到与初始卷积层连接的卷积结构的输入数据;然后通过卷积结构的卷积块对输入数据进行卷积操作,得到子卷积块数据;然后通过拼接层将输入数据和子卷积块数据进行连接,得到连接数据;然后分别通过池化层和第一卷积层依次对连接数据进行池化操作和卷积操作,得到卷积结构输出数据,并将该卷积结构输出数据作为下一卷积结构的输入数据。骨干部后续各组卷积结构的操作过程可参照该过程,在此不再赘述。
进一步地,上述初始卷积层可包括沿输入至输出方向依次设置的第一初始卷积层和第二初始卷积层,且第一卷积层的卷积核可小于第二卷积层的卷积核,以便于对较色彩数据更为复杂的DCT分量数据进行卷积操作(卷积核越大,操作难度越大)。
具体地,第一初始卷积层和第二初始卷积层的卷积核尺寸可分别为1x1和3×3。卷积块(Block)中可依次包含2个卷积核尺寸为3x3,一个卷积核尺寸为为1x1的卷积层。
卷积块可包括沿输入至输出方向依次设置的两个第一子卷积层和一个第二子卷积层。第一子卷积层的卷积核尺寸为3x3,第二子卷积层的卷积核尺寸为1x1。
卷积核尺寸为3x3的卷积操作为例,单通道计算过程如图5所示,图中的虚线矩阵与卷积核进行乘加计算,即对应位置相乘并累加,结果作为输出。虚线矩阵移动规则如下:先水平移动,步长为1,再向下移动,步长为1,直至遍历所有的数据,得到最终结果。
拼接层(Concat)是将两部分数据拼接形成新的数据的操作;最大池化层(Maxpool)为对拼接后得到的数据进行最大值池化计算。单通道Maxpool的计算过程如图6所示,以池化尺寸2X2、步长2为例,下图虚线框中选取数值最大的数作为输出结果,先水平移动2步长,再向下移动2步长,直到遍历所有的数据,得到最终结果。
如图3所示,改进后的卷积神经网络模型的颈部包括上采样层和第二卷积层(卷积核尺寸可以为1x1),通过上采样层采用最邻近插值算法对末次输出数据进行上采样,得到上采样数据。读取末次子卷积块数据,并将其与上采样数据相加,得到加和数据。通过第二卷积层对加和数据进行卷积操作,得到第二卷积数据。该上采样的过程中,将颈部操作过程中的加法操作同步完成,减少了数据读取以及计算的时间。且采用最邻近插值算法,可以进一步简化上采样复杂度、减少计算时间,也便于后续对该神经网络模型进行FPGA硬件加速。
上述上采样采用最邻近插值算法的过程如图7所示,图中以单通道计算过程为例,具体为:先将图7中左方矩阵中的每个数据扩展为2X2的数据矩阵,然后将扩展后的2X2的数据矩阵与图7中下方矩阵中相应位置的数值相加,遍历所有的数据,得到最终的插值结果,如图7右方虚线框所示。
如图3所示,改进后的卷积神经网络模型的头部包括两个第三卷积层和两个第四卷积层,本实施例依次通过一个第三卷积层和一个第四卷积层分别对第二卷积数据和末次输出数据进行卷积操作,以得到目标处理数据。其中,第三卷积层的卷积核尺寸可以为3x3,第四卷积层的卷积核尺寸可以为1x1。
需要说明的是,上述骨干部、颈部及头部的具体结构只是本实施例的一种实施方式,本实施例并不以此为限,例如,每个部位也可以包括更多或更少组的卷积结构,每组卷积结构也可以包括更多或更少的卷积层或卷积块,每个卷积块包括的卷积层,以及,每个卷积层的卷积核尺寸和步长尺寸均可以根据实际需要进行调整,只要能实现本实施例在保证卷积神经网络操作结果的基础上,简化卷积神经网络操作过程的目的即可。
本实施例在构建了上述卷积神经网络模型之后,还对该卷积神经网络模型进行模型训练,以提高计算结果的准确有效性,使得该卷积神经网络模型能够基于DCT分量进行卷积神经网络相关操作,在简化结构的基础上实现原有的卷积神经网络操作效果。具体训练过程如下:
获取大量能够进行卷积神经网络操作的图像,即为样本图像,多个样本图像组成训练集。为避免引入不必要的误差,可均选取分辨率小于预设分辨率的清晰图像。之后先采用传统卷积神经网络模型对该样本图像进行处理,得到标准输出数据。训练过程中,将训练集中的样本图像输入本实施例的卷积神经网络模型中,每个训练周期可采用多张样本图像,将得到的训练输出数据与相应的标准输出数据进行对比,并根据对比结果不断调整本实施例的卷积神经网络模型的参数,以使训练输出结果能与相应的标准输出结果相当。
通过上述方式训练得到基于DCT分量的卷积神经网络模型之后,如图8所示,通过以下步骤利用该卷积神经网络模型对待处理图像进行图像处理,具体包括:
步骤S1,生成待处理图像的DCT分量。
该图像处理方法的执行主体为服务器,当用户需要进行相应的图像处理时,可以将待处理图像发送至服务器,服务器在接收到该待处理图像及相应的图像处理请求后,对该待处理图像进行图像处理。首先,基于上述DCT分量生成模块生成待处理图像的DCT分量,具体过程可参见上述对DCT分量生成模块的介绍,在此不再赘述。
步骤S2,对DCT分量进行卷积、池化和拼接操作,得到第一处理数据。
服务器在获得待处理图像的DCT分量后,可通过上述预先训练的卷积神经网络模型对该DCT分量进行一系列的卷积、池化和拼接操作,得到相应的输出数据即为第一处理数据,需要说明的是,这里的输出数据既包括该部分的整体输出数据,又包括每个处理节点生成的数据。
基于上述的卷积神经网络模型的骨干部结构,即骨干部包括依次连接的初始卷积层和多组卷积结构,每组卷积结构至少包括依次连接的卷积块、连接层、池化层及卷积层。相应地,该步骤S2具体可包括:通过初始卷积层对DCT分量进行卷积操作,得到与初始卷积层连接的卷积结构的输入数据;通过卷积块对输入数据进行卷积操作,得到子卷积块数据;通过拼接层将输入数据和子卷积块数据进行连接,得到连接数据;分别通过池化层和卷积层依次对连接数据进行池化操作和卷积操作,得到卷积结构输出数据,并将该卷积结构输出数据作为下一卷积结构的输入数据;将靠近输出端的卷积结构对应的末次输出数据和末次子卷积块数据,确定为第一处理数据。
步骤S3,对第一处理数据进行上采样和卷积操作,得到第二处理数据。
服务器在获得上述第一处理数据后,可继续对该第一处理数据进行上采样和卷积操作,得到相应的输出数据即为第二处理数据。需要说明的是,这里的输出数据既包括该部分的整体输出数据,又包括每个处理节点生成的数据。
基于上述卷积神经网络模型的颈部结构,即颈部包括上采样层和第二卷积层。相应地,该步骤S3具体可包括:通过上采样层采用最邻近插值算法对末次输出数据进行上采样,得到上采样数据;读取末次子卷积块数据,并将其与上采样数据相加,得到加和数据;通过第二卷积层对加和数据进行卷积操作,得到第二卷积数据,并将第二卷积数据和末次输出数据,共同确定为第二处理数据。
步骤S4,对第二处理数据进行卷积操作,得到目标处理数据。
服务器在获得上述第二处理数据后,可继续对该第二处理数据进行卷积操作,得到相应的输出数据即为目标处理数据。需要说明的是,这里的输出数据既包括该部分的整体输出数据,又包括每个处理节点生成的数据。
基于上述卷积神经网络模型的颈部结构,即颈部包括两个第三卷积层和两个第四卷积层。相应地,该步骤S4具体可包括:依次通过一个第三卷积层和一个第四卷积层分别对第二卷积数据和末次输出数据进行卷积操作,以得到目标处理数据。
在本实施例一实施方式中,可采用基于FPGA的硬件对卷积神经网络模型进行加速,并基于加速后的卷积神经网络模型实现图像处理方法。
FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)由逻辑单元、RAM、乘法器等硬件资源组成,通过将这些硬件资源合理组织,可实现乘法器、寄存器、地址发生器等硬件电路。FPGA可无限地重新编程,加载一个新的设计方案只需几百毫秒,利用重配置可以减少硬件的开销。且FPGA的工作频率由FPGA芯片以及设计决定,可以通过修改设计或者更换更快的芯片来达到某些苛刻的要求。所以,本实施例采用基于FPGA的硬件实现该方法,可以进行分布式处理,尤其在进行多张图像处理,可以明显提高图像处理速度。
如图4所示,可在FPGA芯片上形成上述DCT分量生成模块和积神经网络模型的执行模块,基于FPGA对卷积神经网络模型的加速可分为两部分,一部分是对DCT分量生成模块进行加速,一部分是对卷积神经网络模型的具体模型进行加速。
本实施例提供的图像处理方法,基于预先训练到的卷积神经网络模型实现,且本实施例在执行该方法之前,对常规卷积神经网络模型进行精简,降低网络模型复杂度,使得该卷积神经网络模型可以先生成待处理图像的DCT分量,并基于该DCT分量进行后续的卷积神经网络相关操作,降低了图像解码的复杂度,从而简化卷积神经网络操作过程,从本质上缩减卷积神经网络的计算时间,从而解决了卷积神经网络模型计算延迟大的问题。
基于上述图像处理方法相同的构思,本实施例还提供一种图像处理装置,用于执行上述任一实施方式提供的图像处理方法,如图9所示,该装置包括:
DCT分量生成模块,用于生成待处理图像的DCT分量;
第一处理模块,用于对DCT分量进行卷积、池化和拼接操作,得到第一处理数据;
第二处理模块,用于对第一处理数据进行上采样和卷积操作,得到第二处理数据;
第三处理模块,用于对第二处理数据进行卷积操作,得到目标处理数据。
DCT分量生成模块,具体用于:通过查找标准的霍夫曼表,按照字节对待处理图像进行解析;对解析得到的头文件进行反量化处理,以得到待处理图像的DCT分量。
第一处理模块包括依次连接的初始卷积层和多组卷积结构,每个卷积结构至少包括依次连接的卷积块、拼接层、池化层及第一卷积层;第一处理模块,具体用于:通过初始卷积层对DCT分量进行卷积操作,得到与初始卷积层连接的卷积结构的输入数据;通过卷积块对输入数据进行卷积操作,得到子卷积块数据;通过拼接层将输入数据和子卷积块数据进行连接,得到连接数据;分别通过池化层和第一卷积层依次对连接数据进行池化操作和卷积操作,得到卷积结构输出数据,并将该卷积结构输出数据作为下一卷积结构的输入数据;将靠近输出端的卷积结构对应的末次输出数据和末次子卷积块数据,确定为第一处理数据。
初始卷积层包括沿输入至输出方向依次设置的第一初始卷积层和第二初始卷积层,第一初始卷积层的卷积核小于第二初始卷积层的卷积核;卷积块包括沿输入至输出方向依次设置的两个第一子卷积层和一个第二子卷积层。
第二处理模块包括上采样层和第二卷积层。第二处理模块,具体用于:通过上采样层采用最邻近插值算法对末次输出数据进行上采样,得到上采样数据;读取末次子卷积块数据,并将其与上采样数据相加,得到加和数据;通过第二卷积层对加和数据进行卷积操作,得到第二卷积数据,并将第二卷积数据和末次输出数据,共同确定为第二处理数据。
第三处理模块包括两个第三卷积层和两个第四卷积层。第三处理模块,具体用于:依次通过一个第三卷积层和一个第四卷积层分别对第二卷积数据和末次输出数据进行卷积操作,以得到目标处理数据。
该装置还包括加速模块,加速模块用于:采用基于FPGA的硬件对卷积神经网络模型进行加速。
该装置还包括预处理模块,该预处理模块具体用于:构建卷积神经网络模型的结构;获取训练集;根据训练集,对卷积神经网络模型进行训练。
本申请实施方式还提供一种电子设备,以执行上述图像处理方法。请参考图10,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图10所示,电子设备8包括:处理器800,存储器801,总线802和通信接口803,处理器800、通信接口803和存储器801通过总线802连接;存储器801中存储有可在处理器800上运行的计算机程序,处理器800运行计算机程序时执行本申请前述任一实施方式所提供的图像处理方法。
其中,存储器801可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口803(可以是有线或者无线)实现该装置网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线802可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器801用于存储程序,处理器800在接收到执行指令后,执行程序,前述本申请实施例任一实施方式揭示的图像处理方法可以应用于处理器800中,或者由处理器800实现。
处理器800可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器800中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器800可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器800读取存储器801中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的图像处理方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的图像处理方法对应的计算机可读存储介质,请参考图11,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施方式所提供的图像处理方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的图像处理方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种图像处理方法,其特征在于,基于预先训练的卷积神经网络模型实现,所述方法包括:
生成待处理图像的DCT分量;
对所述DCT分量进行卷积、池化和拼接操作,得到第一处理数据;
对所述第一处理数据进行上采样和卷积操作,得到第二处理数据;
对所述第二处理数据进行卷积操作,得到目标处理数据。
2.根据权利要求1所述的方法,其特征在于,所述生成待处理图像的DCT分量,包括:
通过查找标准的霍夫曼表,按照字节对所述待处理图像进行解析;
对解析得到的头文件进行反量化处理,以得到所述待处理图像的DCT分量。
3.根据权利要求1所述的方法,其特征在于,所述卷积神经网络模型包括依次连接的初始卷积层和多组卷积结构,每组所述卷积结构至少包括依次连接的卷积块、拼接层、池化层及第一卷积层;
对所述DCT分量进行卷积、池化和拼接操作,得到第一处理数据,包括:
通过所述初始卷积层对所述DCT分量进行卷积操作,得到与所述初始卷积层连接的卷积结构的输入数据;
通过所述卷积块对所述输入数据进行卷积操作,得到子卷积块数据;
通过所述拼接层将所述输入数据和所述子卷积块数据进行连接,得到连接数据;
分别通过所述池化层和所述第一卷积层依次对所述连接数据进行池化操作和卷积操作,得到卷积结构输出数据,并将该卷积结构输出数据作为下一卷积结构的输入数据;
将靠近输出端的卷积结构对应的末次输出数据和末次子卷积块数据,确定为所述第一处理数据。
4.根据权利要求3所述的方法,其特征在于,所述初始卷积层包括沿输入至输出方向依次设置的第一初始卷积层和第二初始卷积层,所述第一初始卷积层的卷积核小于所述第二初始卷积层的卷积核;
所述卷积块包括沿输入至输出方向依次设置的两个第一子卷积层和一个第二子卷积层。
5.根据权利要求3所述的方法,其特征在于,所述卷积神经网络模型还包括上采样层和第二卷积层;
对所述第一处理数据进行上采样和卷积操作,得到第二处理数据,包括:
通过所述上采样层采用最邻近插值算法对所述末次输出数据进行上采样,得到上采样数据;
读取所述末次子卷积块数据,并将其与所述上采样数据相加,得到加和数据;
通过所述第二卷积层对所述加和数据进行卷积操作,得到第二卷积数据,并将所述第二卷积数据和所述末次输出数据,共同确定为所述第二处理数据。
6.根据权利要求5所述的方法,其特征在于,所述卷积神经网络模型还包括两个第三卷积层和两个第四卷积层;
对所述第二处理数据进行卷积操作,得到目标处理数据,包括:
依次通过一个所述第三卷积层和一个所述第四卷积层分别对所述第二卷积数据和所述末次输出数据进行卷积操作,以得到所述目标处理数据。
7.根据权利要求1所述的方法,其特征在于,采用基于FPGA的硬件对所述卷积神经网络模型进行加速,并基于加速后的卷积神经网络模型实现所述图像处理方法。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述生成待处理图像的DCT分量之前,还包括:
构建所述卷积神经网络模型的结构;
获取训练集;
根据所述训练集,对所述卷积神经网络模型进行训练。
9.一种图像处理装置,其特征在于,所述装置包括:
DCT分量生成模块,用于生成待处理图像的DCT分量;
第一处理模块,用于对所述DCT分量进行卷积、池化和拼接操作,得到第一处理数据;
第二处理模块,用于对所述第一处理数据进行上采样和卷积操作,得到第二处理数据;
第三处理模块,用于对所述第二处理数据进行卷积操作,得到目标处理数据。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111576248.9A CN114511072A (zh) | 2021-12-21 | 2021-12-21 | 图像处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111576248.9A CN114511072A (zh) | 2021-12-21 | 2021-12-21 | 图像处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114511072A true CN114511072A (zh) | 2022-05-17 |
Family
ID=81547972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111576248.9A Pending CN114511072A (zh) | 2021-12-21 | 2021-12-21 | 图像处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114511072A (zh) |
-
2021
- 2021-12-21 CN CN202111576248.9A patent/CN114511072A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657782B (zh) | 运算方法、装置及相关产品 | |
WO2020073211A1 (zh) | 运算加速器、处理方法及相关设备 | |
CN109360153B (zh) | 图像处理方法、超分辨率模型生成方法、装置及电子设备 | |
CN107610146A (zh) | 图像场景分割方法、装置、计算设备及计算机存储介质 | |
CN109313663B (zh) | 人工智能计算辅助处理装置、方法、存储介质、及终端 | |
KR20200081044A (ko) | 뉴럴 네트워크의 컨볼루션 연산을 처리하는 방법 및 장치 | |
CN113065997B (zh) | 一种图像处理方法、神经网络的训练方法以及相关设备 | |
CN110738317A (zh) | 基于fpga的可变形卷积网络运算方法、装置和系统 | |
WO2022151779A1 (zh) | 卷积运算的实现方法、数据处理方法及装置 | |
Aguilar-González et al. | An FPGA 2D-convolution unit based on the CAPH language | |
CN113627421B (zh) | 一种图像处理方法、模型的训练方法以及相关设备 | |
CN113361537B (zh) | 基于通道注意力的图像语义分割方法及装置 | |
CN114821086A (zh) | 一种视频预测方法和系统 | |
CN118229632A (zh) | 显示屏缺陷检测方法、模型训练方法、装置、设备及介质 | |
CN114358252A (zh) | 目标神经网络模型中的操作执行方法及装置、存储介质 | |
CN112348182A (zh) | 一种神经网络maxout层计算装置 | |
CN107146245B (zh) | 图像匹配方法和装置 | |
US20240331355A1 (en) | Synchronous Processing Method, System, Storage medium and Terminal for Image Classification and Object Detection | |
CN116976432A (zh) | 一种支持任务并行处理的芯片模拟方法、装置和芯片模拟器 | |
CN114511072A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
Sada et al. | A dataflow pipelining architecture for tile segmentation with a sparse MobileNet on an FPGA | |
Ouerhani et al. | Real-time visual attention on a massively parallel SIMD architecture | |
Gonçalves et al. | Exploring data size to run convolutional neural networks in low density fpgas | |
Zeng et al. | Optimizing frequency domain implementation of CNNs on FPGAs | |
CN110930290B (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 |