CN114492728A - 基于图像数据y分量的处理方法、装置、设备及存储介质 - Google Patents
基于图像数据y分量的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114492728A CN114492728A CN202111574195.7A CN202111574195A CN114492728A CN 114492728 A CN114492728 A CN 114492728A CN 202111574195 A CN202111574195 A CN 202111574195A CN 114492728 A CN114492728 A CN 114492728A
- Authority
- CN
- China
- Prior art keywords
- data
- convolution
- module
- convolution operation
- splicing
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000011176 pooling Methods 0.000 claims abstract description 30
- 238000005070 sampling Methods 0.000 claims abstract description 21
- 238000013527 convolutional neural network Methods 0.000 claims description 75
- 238000012549 training Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010191 image analysis Methods 0.000 claims description 7
- 238000013139 quantization Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 22
- 230000008569 process Effects 0.000 abstract description 21
- 238000003062 neural network model Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change 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
- 238000009825 accumulation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012938 design process 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
- 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/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/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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Neurology (AREA)
- Discrete Mathematics (AREA)
- Image Analysis (AREA)
Abstract
本申请提出一种基于图像数据Y分量的处理方法、装置、电子设备及存储介质,该方法包括:对待处理的图像数据进行解析,得到图像数据在YCbCr色彩空间的Y分量;通过第一网络对Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据;通过第二网络对卷积运算数据依次进行卷积运算和上采样运算,并将上采样运算后的数据和卷积运算数据进行拼接,输出拼接运算数据;通过第三网络对拼接运算数据再次进行卷积运算,输出图像处理数据。本申请能够在保证计算结果的前提下,简化了卷积计算过程,从本质上解决了卷积神经网络模型计算延迟大的问题。
Description
技术领域
本申请属于图像处理技术领域,具体涉及一种基于图像数据Y分量的处理方法、装置、设备及存储介质。
背景技术
卷积神经网络模型(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。由于卷积神经网络模型计算过程较为复杂,处理的数据较多,所以,目前大多卷积神经网络模型都存在计算延迟的问题。
现有技术中,通过GPU(graphics processing unit,图形处理器)实现卷积神经网络模型,以期提高卷积神经网络模型的计算速度,解决了卷积神经网络模型计算延迟大的问题。但是,GPU往往功耗较高、价格比较昂贵、开发及维护成本也较高,不利于卷积神经网络模型的应用及推广。
发明内容
本申请提出一种基于图像数据Y分量的处理方法、装置、电子设备及存储介质,从本质上解决了卷积神经网络模型计算延迟大的问题。
本申请第一方面实施例提出了一种基于图像数据Y分量的处理方法,基于预先训练的卷积神经网络模型实现,所述卷积神经网络模型包括第一网络、第二网络及第三网络;所述方法包括:
对待处理的图像数据进行解析,得到图像数据在YCbCr色彩空间的Y分量;
通过所述第一网络对所述Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据;
通过所述第二网络对所述卷积运算数据依次进行卷积运算和上采样运算,并将上采样运算后的数据和所述卷积运算数据进行拼接,输出拼接运算数据;
通过第三网络对所述拼接运算数据再次进行卷积运算,输出图像处理数据。
在本申请的一些实施例中,所述对待处理的图像数据进行解析,得到图像数据在YCbCr色彩空间的Y分量,包括:
通过查找标准的霍夫曼表,按照字节对所述图像数据的头文件进行解析;
对解析后的头文件进行反量化处理和反zig-zag变换,得到图像数据在YCbCr色彩空间的各分量;
从所述各分量中提取所述Y分量。
在本申请的一些实施例中,所述通过查找标准的霍夫曼表,按照字节对所述图像数据的头文件进行解析之前,还包括:
通过AXI-stream接口接入32比特位的待处理的图像数据,并将所述图像数据转换为解码协议所用的8比特位的图像数据。
在本申请的一些实施例中,所述第一网络包括第一单卷积运算模块、组合卷积运算模块、第一拼接运算模块及最大池化运算模块;
通过所述第一网络对所述Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据,包括:
通过所述第一单卷积运算模块对所述Y分量进行多次卷积运算,得到所述组合卷积运算模块的输入数据;
通过所述组合卷积运算模块对所述输入数据进行组合卷积运算,得到组合卷积数据;
通过所述第一拼接运算模块对所述输入数据和所述组合卷积数据进行拼接,得到拼接数据;
通过所述最大池化运算模块对所述拼接数据进行最大池化运算,通过所述第一单卷积运算模块对池化后的数据进行卷积运算,得到下一周期所述组合卷积运算模块的输入数据;
输出所述组合卷积数据和所述第一网络进行最后一次卷运算得到的末次卷积运算数据。
在本申请的一些实施例中,所述第二网络包括第二单卷积运算模块、上采样模块及第二拼接模块;
通过所述第二网络对所述卷积运算数据依次进行卷积运算和上采样运算,并将上采样运算后的数据和所述卷积运算数据进行拼接,输出拼接运算数据,包括:
通过所述第二单卷积运算模块对所述末次卷积运算数据进行卷积运算,得到二次卷积数据;
通过所述上采样模块对所述二次卷积数据进行上采样运算,并通过所述第二拼接模块对上采样后的数据和末次组合卷积数据进行拼接运算,得到拼接运算数据。
在本申请的一些实施例中,所述第三网络包括第三单卷积运算模块、第四单卷积运算模块及图像数据输出模块;
通过第三网络对所述拼接运算数据再次进行卷积运算,输出图像处理数据,包括:
依次通过所述第三单卷积运算模块和所述第四单卷积运算模块对所述拼接运算数据再次进行卷积运算,得到图像处理数据;
通过所述图像数据输出模块将所述图像处理数据按照预设格式进行输出。
在本申请的一些实施例中,采用基于FPGA的硬件对所述卷积神经网络模型进行加速,并基于加速后的卷积神经网络模型实现所述基于图像数据Y分量的处理方法。
在本申请的一些实施例中,所述通过所述第一网络对所述Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据之前,还包括:
构建所述卷积神经网络模型的结构;
获取训练数据集;
根据所述训练数据集,对所述卷积神经网络模型进行训练。
本申请第二方面的实施例提供了一种基于图像数据Y分量的处理装置,所述装置包括:
第一处理模块,用于通过所述第一网络对所述Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据;
第二处理模块,用于通过所述第二网络对所述卷积运算数据依次进行卷积运算和上采样运算,并将上采样运算后的数据和所述卷积运算数据进行拼接,输出拼接运算数据;
第三处理模块,用于通过第三网络对所述拼接运算数据再次进行卷积运算,输出图像处理数据。
本申请第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现如第一方面所述的方法。
本申请第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现如第一方面所述的方法。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例提供的基于图像数据Y分量的处理方法,基于预先训练到的卷积神经网络模型实现,且本实施例在执行该方法之前,对常规卷积神经网络模型进行精简,降低网络模型复杂度,使得该卷积神经网络模型可以先生成图像数据的图像数据在YCbCr色彩空间的Y分量,并基于该图像数据在YCbCr色彩空间的Y分量进行后续的卷积神经网络相关运算,降低了图像解码的复杂度,从而简化卷积神经网络运算过程,从本质上缩减卷积神经网络的计算时间,从而解决了卷积神经网络模型计算延迟大的问题。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本申请实施例提出的卷积神经网络模型的结构示意图;
图2示出了传统卷积神经网络模型对JPEG图像进行解码的流程示意图;
图3示出了本申请实施例提出的基于FPGA实现的卷积神经网络模型的结构示意图;
图4示出了本申请实施例提出的基于图像数据Y分量的处理方法的流程示意图;
图5出了本申请实施例提出的多通道下的卷积运算的原理示意图;
图6出了本申请实施例提出的多通道下的最大池化运算的原理示意图;
图7出了本申请实施例提出的多通道下的上采样作原理示意图;
图8示出了本申请实施例提出的一种基于图像数据Y分量的处理装置的结构示意图;
图9示出了本申请一实施例所提供的一种电子设备的结构示意图;
图10示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
下面结合附图来描述根据本申请实施例提出的一种基于图像数据Y分量的处理方法、装置、电子设备及存储介质,其中,电子设备可包括基于图像数据Y分量的处理装置,具体可以为服务器、电脑、平板甚至手机等具有图像处理功能的设备。该基于图像数据Y分量的处理装置可用于执行该基于图像数据Y分量的处理方法,具体可以为虚拟化的功能模块,也可以指电子设备上进行图像处理的具体硬件等。该基于图像数据Y分量的处理方法基于卷积神经网络模型实现,并基于图像数据在YCbCr色彩空间的Y分量进行后续的卷积神经网络相关运算,从而简化卷积神经网络运算过程,从本质上缩减卷积神经网络的计算时间。
在通过上述卷积神经网络模型进行图像处理之前,先构建本实施例应用的卷积神经网络模型,具体过程如下:
卷积神经网络模型通常可包括骨干部(Backbone)网络、颈部(Neck)网络和头部(head)网络,以下分别称为第一网络、第二网络及第三网络。其中,第一网络用于进行数据输入和主要的卷积神经网络运算。第二网络基于第一网络的输出再次进行卷积运算,并对再次卷积运算后的数据进行上采样运算。第三网络基于第二网络的输出结果,可根据该卷积神经网络模型想要达到的理想输出,对第二网络的输出结果进行再次卷积运算,以得到理想中的图像处理结果。
本实施例中卷积神经网络模型如图1所示,第一网络可包括第一单卷积运算模块、组合卷积运算模块、第一拼接运算模块及最大池化运算模块。第二网络可以包括第二单卷积运算模块、上采样模块及第二拼接模块。第三网络可以包括第三单卷积运算模块、第四单卷积运算模块及图像数据输出模块。
传统卷积神经网络模型,进入单卷积模块的输入采用空间域RGB数据,而图像数据的原始格式通常为图片格式(如,JPG或JPEG等),经过解码之后才能得到用作单卷积模块输入的RGB数据。解码过程遵循业界标准协议,具体如图2所示:对于输入的图片格式的图像,先进行解码,解码后进行去量化,输出为De-quantization,然后进行反向离散余弦变换,得到DCT分量,之后再对该DCT分量进行上采样及色彩数据转换(Color Transform)。该解码过程的输出为Color Transform,需要进行上采样和色彩转换,整体计算过程复杂,消耗时间较长。
本实施例在设计过程中发现:解码过程中产生的De-quantization输出,即图像数据在YCbCr色彩空间的分量,包括Y、Cb、Cr分量。其中,Y分量是亮度分量,表示像素的明暗信息,Cb、Cr是颜色分量,表示像素的色彩信息。实践表明,明暗信息对物体识别的有决定性的影响,而色彩信息对物体识别的影响较小。基于此发现,本实施例仅采用Y分量作为卷积神经网络的输入,省略了后续相关步骤,其中,Inverse DCT为正余弦变化,计算较为复杂,可有效缩减解码所需的计算步骤,大大减少了计算量。
本实施例鉴于上述原因对传统卷积神经网络模型进行改进,改进后的卷积神经网络模型可直接对图像数据在YCbCr色彩空间的Y分量进行卷积运算。
本实施例的卷积神经网络模型基于图像数据在YCbCr色彩空间的Y分量实现卷积神经网络运算,故本实施例还需配备图像解析模块,该图像解析模块以对JPEG图像的数据流按照字节进行解析,该图像解析模块可包括并转串单元单元、解码控制单元以及反量化单元,下面以JPEG格式的图像数据为例阐述图像数据在YCbCr色彩空间的Y分量的生成过程,如图3所示,将JPEG图像通过axi_stream接口输入该图像解析模块,通过并转串单元单元对输入数据进行字符串合并和单位转换,以将32bit位的输入数据转换为解码协议所用的8bit位数据,然后通过查找标准的霍夫曼表,按照字节对图像数据进行解析,解析JPEG头文件后,进行反量化处理以及反zig-zag变换,最终输出8bit的Y分量数据,并与zig-zag ID同步。
本实施例在构建了上述卷积神经网络模型之后,还对该卷积神经网络模型进行模型训练,以提高计算结果的准确有效性,使得该卷积神经网络模型能够基于图像数据在YCbCr色彩空间的Y分量进行卷积神经网络相关运算,在简化运算过程的基础上实现原有的卷积神经网络运算效果。具体训练过程如下:
获取大量能够进行卷积神经网络运算的图像,即为样本图像,多个样本图像组成训练数据集。为避免引入不必要的误差,可均选取分辨率小于预设分辨率的清晰图像。之后先采用传统卷积神经网络模型对该样本图像进行处理,得到标准输出数据。训练过程中,将训练数据集中的样本图像输入本实施例的卷积神经网络模型中,每个训练周期可采用多张样本图像,将得到的训练输出数据与相应的标准输出数据进行对比,并根据对比结果不断调整本实施例的卷积神经网络模型的参数,以使训练输出结果能与相应的标准输出结果相当。
通过上述方式训练得到基于图像数据在YCbCr色彩空间的Y分量的卷积神经网络模型之后,如图4所示,通过以下步骤利用该卷积神经网络模型对图像数据进行图像处理,具体包括:
步骤S1,对待处理的图像数据进行解析,得到图像数据在YCbCr色彩空间的Y分量。
该基于图像数据Y分量的处理方法的执行主体为服务器,当用户需要进行相应的图像处理时,可以将图像数据发送至服务器,服务器在接收到该图像数据及相应的图像处理请求后,对该图像数据进行图像处理。首先,基于上述图像解析模块生成图像数据的图像数据在YCbCr色彩空间的Y分量,具体过程可参见上述对图像解析模块的介绍,在此不再赘述。
步骤S2,通过第一网络对Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据。
服务器在获得图像数据在YCbCr色彩空间的Y分量后,可通过上述预先训练的卷积神经网络模型对该Y分量进行一系列的卷积、池化和拼接运算,得到相应的卷积运算数据,需要说明的是,这里的卷积运算数据既包括该部分的整体输出数据,又包括每个处理节点生成的数据。
基于上述的卷积神经网络模型的第一网络结构,即第一网络包括包括第一单卷积运算模块、组合卷积运算模块、第一拼接运算模块及最大池化运算模块。相应地,该步骤S2具体可包括:通过第一单卷积运算模块对Y分量进行多次卷积运算,得到组合卷积运算模块的输入数据;通过组合卷积运算模块对输入数据进行组合卷积运算,得到组合卷积数据;通过第一拼接运算模块对输入数据和组合卷积数据进行拼接,得到拼接数据;通过最大池化运算模块对拼接数据进行最大池化运算,通过第一单卷积运算模块对池化后的数据进行卷积运算,得到下一周期组合卷积运算模块的输入数据;输出组合卷积数据和第一网络中最后一次卷积运算得到的末次卷积运算数据。
如图1所示,第一网络具体可包括四组卷积结构:第一组卷积结构依次包括输入模块和三个第一单卷积运算模块。将上述Y分量通过输入模块接入该卷积神经网络模型,然后通过三个第一单卷积运算模块依次对Y分量及上次卷积运算后的数据进行卷积运算,得到的卷积运算数据即为下述组合卷积运算模块的输入数据。
第二组卷积结构可包括组合卷积运算模块(可进行多次卷积运算)、第一拼接运算模块、最大池化运算模块及第一单卷积运算模块各一个。组合卷积运算模块可包括多个单卷积运算模块。上述第一组卷积结构的运算结果即为该组合卷积运算模块的输入数据,组合卷积运算模块对输入数据进行组合卷积运算后,第一拼接运算模块将组合卷积运算后的数据和上述输入数据进行拼接,然后,最大池化运算模块对拼接后的数据进行最大池化云算,最后,再通过第一单卷积运算模块对最大池化后的数据进行卷积运算,该卷积运算后的数据可作为第三组卷积结构的输入。
第三组卷积结构和第四组卷积结构均与第二组卷积结构的具体组合结构相同,第三组卷积结构最后的卷积运算数据可作为第四组卷积结构的输入,第三组卷积结构和第四组卷积结构进行数据处理的具体过程可参照上述第二组卷积结构的处理过程,在此不再赘述。
具体地,组合卷积模块可包括沿输入至输出方向依次设置的一个第一单卷积模块和一个第二单卷积模块。第一单卷积模块和第二单卷积模块的卷积核尺寸可分别为1x1和3×3。
以卷积核尺寸为3x3的卷积运算为例,多通道计算过程如图5所示,图中的虚线矩阵与卷积核进行乘加计算,即对应位置相乘并累加,结果作为输出。虚线矩阵移动规则如下:先水平移动,步长为1,再向下移动,步长为1,直至遍历所有的数据,得到最终结果。
拼接运算模块(Concat)是将两部分数据拼接形成新的数据的运算;最大池化层(Maxpool)为对全连接后得到的数据进行最大值池化计算。多通道Maxpool的计算过程如图6所示,以池化尺寸2X2、步长2为例,下图虚线框中选取数值最大的数作为输出结果,先水平移动2步长,再向下移动2步长,直到遍历所有的数据,得到最终结果。
步骤S3,通过第二网络对卷积运算数据依次进行第二单卷积运算和上采样运算,并将上采样运算后的数据和卷积运算数据进行拼接,输出拼接运算数据。
服务器在获得上述第四组卷积结构的卷积运算数据后,可通过第二网络继续对第一网络得到的卷积运算数据进行第二单卷积运算、上采样运算及拼接运算,从而得到拼接运算数据。
基于上述卷积神经网络模型的第二网络结构,即第二网络包括第二单卷积运算模块、上采样模块及第二拼接模块。相应地,该步骤S3具体可包括:通过第二单卷积运算模块对末次卷积运算数据进行卷积运算,得到二次卷积数据;通过上采样模块对二次卷积数据进行上采样运算,并通过第二拼接模块对上采样后的数据和末次组合卷积数据进行拼接运算,得到拼接运算数据。
如图1所示,第二网络可包括两组卷积结构:两组卷结构的具体构成相同,都包括第二单卷积运算模块、上采样模块及第二拼接模块。其中一组卷积结构的第二单卷积运算模块用于对第一网络的最终卷积运算数据再次进行卷积运算;该组的上采样模块用于对第二单卷积运算模块得到的卷积数据进行上采样运算;该组的第二拼接模块将上采样运算后的数据和第一网络中第四组卷积结构的组合卷积模块的输出数据(即上述末次组合卷积数据)进行拼接运算。第二网络另一组卷积结构的第二单卷积运算模块用于对该拼接运算得到的数据再次进行卷积运算;该组的上采样模块用于对该组第二单卷积运算模块得到的卷积数据进行上采样运算;该组的第二拼接模块将该组上采样运算后的数据和第一网络中第三组卷积结构的组合卷积模块的输出数据进行拼接运算,得到拼接运算数据。
具体地,第二单卷积模块的卷积核尺寸可以为1x1,上采样运算模块采用最邻近插值算法对对第二单卷积运算模块得到的卷积数据进行上采样运算,得到上采样运算后的数据。该上采样运算的具体过程如图7所示,图中以多通道计算过程为例,具体为:先将图7中左方矩阵中的每个数据扩展为2X2的数据矩阵,遍历左方矩阵中的所有数据,得到最终的插值结果,如图7右方虚线框所示。
步骤S4,通过第三网络对拼接运算数据再次进行卷积运算,输出图像处理数据。
服务器在获得上述拼接运算数据后,可通过第三网络继续对该拼接运算数据进行卷积运算,得到相应的输出数据即为图像处理数据。需要说明的是,这里的输出数据既包括该部分的整体输出数据,又包括每个处理节点生成的数据。
基于上述卷积神经网络模型的第三网络结构,即第三网络包括第三单卷积运算模块、第四单卷积运算模块及图像数据输出模块。相应地,该步骤S4具体可包括:依次通过第三单卷积运算模块和第四单卷积运算模块对拼接运算数据再次进行卷积运算,得到图像处理数据;通过图像数据输出模块将图像处理数据按照预设格式进行输出。
具体地,如图1所示,改进后的卷积神经网络模型的第三网络包括三组卷积结构,每组卷积结构沿数据输出方向依次包括一个第三单卷积运算模块、一个第四单卷积运算模块及一个图像数据输出模块。三组组卷积结构分别对第一网络的最终输出数据和第二网络的两组拼接数据进行卷积运算并输出,以得到上述图像处理数据。其中,第三单卷积模块的卷积核尺寸可以为3x3,第四单卷积模块的卷积核尺寸可以为1x1。输出模块可基于yolov函数和decode函数输出相应格式的图像处理数据。
需要说明的是,上述第一网络、第二网络及第三网络的具体结构只是本实施例的一种实施方式,本实施例并不以此为限,例如,每个网络也可以包括更多或更少组的卷积结构,每组卷积结构也可以包括更多或更少的单卷积模块或组合卷积模块,每个卷积模块包括的单卷积模块,以及,每个单卷积模块的卷积核尺寸和步长尺寸均可以根据实际需要进行调整,只要能实现本实施例在保证卷积神经网络运算结果的基础上,简化卷积神经网络运算过程的目的即可。
在本实施例一实施方式中,可采用基于FPGA的硬件对卷积神经网络模型进行加速,并基于加速后的卷积神经网络模型实现基于图像数据Y分量的处理方法。
FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)由逻辑单元、RAM、乘法器等硬件资源组成,通过将这些硬件资源合理组织,可实现乘法器、寄存器、地址发生器等硬件电路。FPGA可无限地重新编程,加载一个新的设计方案只需几百毫秒,利用重配置可以减少硬件的开销。且FPGA的工作频率由FPGA芯片以及设计决定,可以通过修改设计或者更换更快的芯片来达到某些苛刻的要求。所以,本实施例采用基于FPGA的硬件实现该方法,可以进行分布式处理,尤其在进行多张图像处理,可以明显提高图像处理速度。
如图4所示,可在FPGA芯片上形成上述图像解析模块和积神经网络模型的执行模块,基于FPGA的加速可分为两部分,一部分是对图像解析模块进行加速,一部分是对卷积神经网络进行加速。
本实施例提供的基于图像数据Y分量的处理方法,基于预先训练到的卷积神经网络模型实现,且本实施例在执行该方法之前,对常规卷积神经网络模型改进,使得该卷积神经网络模型可以先生成图像数据的图像数据在YCbCr色彩空间的Y分量,并基于该Y分量进行后续的卷积神经网络相关运算,降低了图像解码的复杂度,从而简化卷积神经网络运算过程,从本质上缩减卷积神经网络的计算时间,从而解决了卷积神经网络模型计算延迟大的问题。
基于上述基于图像数据Y分量的处理方法相同的构思,本实施例还提供一种基于图像数据Y分量的处理装置,用于执行上述任一实施方式提供的基于图像数据Y分量的处理方法,如图9所示,该装置包括:
图像解析模块,用于对待处理的图像数据进行解析,得到图像数据在YCbCr色彩空间的Y分量;
第一处理模块,用于通过第一网络对Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据;
第二处理模块,用于通过第二网络对卷积运算数据依次进行卷积运算和上采样运算,并将上采样运算后的数据和卷积运算数据进行拼接,输出拼接运算数据;
第三处理模块,用于通过第三网络对拼接运算数据再次进行卷积运算,输出图像处理数据。
图像解析模块,具体用于:通过查找标准的霍夫曼表,按照字节对图像数据的头文件进行解析;对解析后的头文件进行反量化处理和反zig-zag变换,得到图像数据在YCbCr色彩空间的各分量。
该装置还包括加速模块,加速模块用于:采用基于FPGA的硬件对卷积神经网络模型进行加速。
该装置还包括预处理模块,该预处理模块具体用于:构建卷积神经网络模型的结构;获取训练数据集;根据训练数据集,对卷积神经网络模型进行训练。
本申请实施方式还提供一种电子设备,以执行上述基于图像数据Y分量的处理方法。请参考图9,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图9所示,电子设备8包括:处理器800,存储器801,总线802和通信接口803,处理器800、通信接口803和存储器801通过总线802连接;存储器801中存储有可在处理器800上运行的计算机程序,处理器800运行计算机程序时执行本申请前述任一实施方式所提供的基于图像数据Y分量的处理方法。
其中,存储器801可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口803(可以是有线或者无线)实现该装置网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线802可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器801用于存储程序,处理器800在接收到执行指令后,执行程序,前述本申请实施例任一实施方式揭示的基于图像数据Y分量的处理方法可以应用于处理器800中,或者由处理器800实现。
处理器800可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器800中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器800可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器800读取存储器801中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的基于图像数据Y分量的处理方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的基于图像数据Y分量的处理方法对应的计算机可读存储介质,请参考图10,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施方式所提供的基于图像数据Y分量的处理方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的基于图像数据Y分量的处理方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种基于图像数据Y分量的处理方法,其特征在于,基于预先训练的卷积神经网络模型实现,所述卷积神经网络模型包括第一网络、第二网络及第三网络;所述方法包括:
对待处理的图像数据进行解析,得到图像数据在YCbCr色彩空间的Y分量;
通过所述第一网络对所述Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据;
通过所述第二网络对所述卷积运算数据依次进行卷积运算和上采样运算,并将上采样运算后的数据和所述卷积运算数据进行拼接,输出拼接运算数据;
通过第三网络对所述拼接运算数据再次进行卷积运算,输出图像处理数据。
2.根据权利要求1所述的方法,其特征在于,所述对待处理的图像数据进行解析,得到图像数据在YCbCr色彩空间的Y分量,包括:
通过查找标准的霍夫曼表,按照字节对所述图像数据的头文件进行解析;
对解析后的头文件进行反量化处理和反zig-zag变换,得到图像数据在YCbCr色彩空间的各分量;
从所述各分量中提取所述Y分量。
3.根据权利要求2所述的方法,其特征在于,所述通过查找标准的霍夫曼表,按照字节对所述图像数据的头文件进行解析之前,还包括:
通过AXI-stream接口接入32比特位的待处理的图像数据,并将所述图像数据转换为解码协议所用的8比特位的图像数据。
4.根据权利要求1所述的方法,其特征在于,所述第一网络包括第一单卷积运算模块、组合卷积运算模块、第一拼接运算模块及最大池化运算模块;
通过所述第一网络对所述Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据,包括:
通过所述第一单卷积运算模块对所述Y分量进行多次卷积运算,得到所述组合卷积运算模块的输入数据;
通过所述组合卷积运算模块对所述输入数据进行组合卷积运算,得到组合卷积数据;
通过所述第一拼接运算模块对所述输入数据和所述组合卷积数据进行拼接,得到拼接数据;
通过所述最大池化运算模块对所述拼接数据进行最大池化运算,通过所述第一单卷积运算模块对池化后的数据进行卷积运算,得到下一周期所述组合卷积运算模块的输入数据;
输出所述组合卷积数据和所述第一网络进行最后一次卷运算得到的末次卷积运算数据。
5.根据权利要求4所述的方法,其特征在于,所述第二网络包括第二单卷积运算模块、上采样模块及第二拼接模块;
通过所述第二网络对所述卷积运算数据依次进行卷积运算和上采样运算,并将上采样运算后的数据和所述卷积运算数据进行拼接,输出拼接运算数据,包括:
通过所述第二单卷积运算模块对所述末次卷积运算数据进行卷积运算,得到二次卷积数据;
通过所述上采样模块对所述二次卷积数据进行上采样运算,并通过所述第二拼接模块对上采样后的数据和末次组合卷积数据进行拼接运算,得到拼接运算数据。
6.根据权利要求5所述的方法,其特征在于,所述第三网络包括第三单卷积运算模块、第四单卷积运算模块及图像数据输出模块;
通过第三网络对所述拼接运算数据再次进行卷积运算,输出图像处理数据,包括:
依次通过所述第三单卷积运算模块和所述第四单卷积运算模块对所述拼接运算数据再次进行卷积运算,得到图像处理数据;
通过所述图像数据输出模块将所述图像处理数据按照预设格式进行输出。
7.根据权利要求1所述的方法,其特征在于,采用基于FPGA的硬件对所述卷积神经网络模型进行加速,并基于加速后的卷积神经网络模型实现所述基于图像数据Y分量的处理方法。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述通过所述第一网络对所述Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据之前,还包括:
构建所述卷积神经网络模型的结构;
获取训练数据集;
根据所述训练数据集,对所述卷积神经网络模型进行训练。
9.一种基于图像数据Y分量的处理装置,其特征在于,所述装置包括:
图像解析模块,用于对待处理的图像数据进行解析,得到图像数据在YCbCr色彩空间的Y分量;
第一处理模块,用于通过所述第一网络对所述Y分量循环进行卷积运算、拼接运算及池化运算,并输出卷积运算数据;
第二处理模块,用于通过所述第二网络对所述卷积运算数据依次进行卷积运算和上采样运算,并将上采样运算后的数据和所述卷积运算数据进行拼接,输出拼接运算数据;
第三处理模块,用于通过第三网络对所述拼接运算数据再次进行卷积运算,输出图像处理数据。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111574195.7A CN114492728A (zh) | 2021-12-21 | 2021-12-21 | 基于图像数据y分量的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111574195.7A CN114492728A (zh) | 2021-12-21 | 2021-12-21 | 基于图像数据y分量的处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114492728A true CN114492728A (zh) | 2022-05-13 |
Family
ID=81493283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111574195.7A Pending CN114492728A (zh) | 2021-12-21 | 2021-12-21 | 基于图像数据y分量的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114492728A (zh) |
-
2021
- 2021-12-21 CN CN202111574195.7A patent/CN114492728A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429852B2 (en) | Convolution acceleration and computing processing method and apparatus, electronic device, and storage medium | |
US11698773B2 (en) | Accelerated mathematical engine | |
US11531540B2 (en) | Processing apparatus and processing method with dynamically configurable operation bit width | |
CN104850388B (zh) | 网页绘制方法及装置 | |
CN106846235B (zh) | 一种利用NVIDIA Kepler GPU汇编指令加速的卷积优化方法及系统 | |
US11915058B2 (en) | Video processing method and device, electronic equipment and storage medium | |
US11481994B2 (en) | Method and apparatus for extracting image data in parallel from multiple convolution windows, device, and computer-readable storage medium | |
CN109447239B (zh) | 一种基于arm的嵌入式卷积神经网络加速方法 | |
CN110738317A (zh) | 基于fpga的可变形卷积网络运算方法、装置和系统 | |
CN112348182A (zh) | 一种神经网络maxout层计算装置 | |
CN107146245B (zh) | 图像匹配方法和装置 | |
CN114764615A (zh) | 卷积运算的实现方法、数据处理方法及装置 | |
KR20210097448A (ko) | 영상 데이터 처리 방법 및 영상 데이터 처리 방법을 수행하는 센서 장치 | |
CN109711538B (zh) | 运算方法、装置及相关产品 | |
CN109740730B (zh) | 运算方法、装置及相关产品 | |
JP5894614B2 (ja) | 画像処理用の記述子ベースストリームプロセッサおよびそれに関連する方法 | |
CN114492728A (zh) | 基于图像数据y分量的处理方法、装置、设备及存储介质 | |
US20230185873A1 (en) | Method and apparatus for separable convolution filter operations on matrix multiplication arrays | |
CN111274793A (zh) | 一种文本处理方法、装置以及计算设备 | |
US11210105B1 (en) | Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction | |
CN114511072A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110930290B (zh) | 一种数据处理方法及装置 | |
CN114140340A (zh) | 图像数据的伪影处理方法及装置、存储介质、终端 | |
CN115456858B (zh) | 图像处理方法、装置、计算机设备及计算机可读存储介质 | |
CN107295343A (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 |