CN113065997B - 一种图像处理方法、神经网络的训练方法以及相关设备 - Google Patents
一种图像处理方法、神经网络的训练方法以及相关设备 Download PDFInfo
- Publication number
- CN113065997B CN113065997B CN202110221909.XA CN202110221909A CN113065997B CN 113065997 B CN113065997 B CN 113065997B CN 202110221909 A CN202110221909 A CN 202110221909A CN 113065997 B CN113065997 B CN 113065997B
- Authority
- CN
- China
- Prior art keywords
- image
- neural network
- target
- training
- network module
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 639
- 238000012549 training Methods 0.000 title claims abstract description 325
- 238000000034 method Methods 0.000 title claims abstract description 146
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 198
- 230000008569 process Effects 0.000 claims abstract description 59
- 238000004364 calculation method Methods 0.000 claims abstract description 57
- 230000006870 function Effects 0.000 claims description 221
- 230000015654 memory Effects 0.000 claims description 57
- 230000009466 transformation Effects 0.000 claims description 17
- 230000004927 fusion Effects 0.000 claims description 8
- 230000007423 decrease Effects 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 40
- 238000004422 calculation algorithm Methods 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 15
- 230000009286 beneficial effect Effects 0.000 description 13
- 238000013527 convolutional neural network Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 101100365548 Caenorhabditis elegans set-14 gene Proteins 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- QXOQNNAWFUXKMH-UHFFFAOYSA-N 1-(Malonylamino)cyclopropanecarboxylic acid Chemical compound OC(=O)CC(=O)NC1(C(O)=O)CC1 QXOQNNAWFUXKMH-UHFFFAOYSA-N 0.000 description 2
- 241000272814 Anser sp. Species 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000012014 frustrated Lewis pair Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- 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
-
- 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
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请实施例公开一种图像处理方法、神经网络的训练方法以及相关设备,该方法可用于人工智能领域的图像处理领域中,第一神经网络模块包括计算量不同的M个分支,方法包括:从第一图像中获取第一区域的图像,第一图像被分为N个区域,第一区域为N个区域中的一个区域;将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果,目标分支为M个分支中与第一区域对应的一个分支;将与N个区域对应的处理结果进行融合,以得到第一神经网络模块生成的处理结果;通过计算量小的分支对图像中部分区域进行处理,以降低处理图像中部分区域的计算功耗,不仅降低整个神经网络的计算功耗,且提高了图像处理过程的灵活性。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种图像处理方法、神经网络的训练方法以及相关设备。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
利用神经网络对图像进行处理得到处理后的图像是人工智能常见的一个应用方式,例如对图像进行超分处理、去噪、去马赛克、图像风格迁移等。随着神经网络的快速发展,神经网络输出的图像的效果得到大幅提升。
但随着神经网络输出的图像的效果的提升,用于进行图像处理的神经网络的计算量也越来越多,由于配置前述神经网络的执行设备的计算性能有限,一种降低前述神经网络的计算功耗的方案亟待推出。
发明内容
本申请实施例提供了一种图像处理方法、神经网络的训练方法以及相关设备,用于进行图像处理的目标神经网络中包括第一神经网络模块,第一神经网络模块中有M个分支,不同分支的计算量不同,可以通过计算量小的分支对图像中部分区域进行处理,以降低处理图像中部分区域的计算功耗,从而实现降低整个神经网络的计算功耗。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种图像处理方法,可用于人工智能领域的图像处理领域中,方法应用于目标神经网络,目标神经网络用于对待处理图像进行处理以输出与训练图像对应的预测图像,目标神经网络的功能具体可以为图像超分、图像去噪、图像去马赛克、图像风格迁移或用于执行其他底层视觉任务等;目标神经网络中存在至少一个第一神经网络模块,第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M为大于1的整数。进一步地,M个分支中的一个分支具体可以包括一个子神经网络,也可以为不包括任何神经网络层(也即计算量为零),M个分支中的一个分支的功能包括但不限于执行卷积操作、进行非线性变换等;一个分支的计算量可以通过当通过该分支进行处理时的所产生的浮点运算次数(floating point operations,FLOPs)来估算,或者,还可以通过乘加数(multiply accumulate operation,MACC)这一指标来估算等。方法可以包括:执行设备通过第一神经网络模块从第一图像中获取第一区域的图像,其中,第一图像被分为N个区域,第一区域为N个区域中的任一个区域,N为大于1的整数。执行设备将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的第一处理结果,N个区域的图像通过M个分支进行处理,M的取值大于1且小于或等于N,目标分支为计算量不同的M个分支中与第一区域对应的一个分支;需要说明的是,N个区域和M个分支可以为一一对应的关系,也可以为多对多的关系。执行设备通过M个分支生成与N个区域对应的N个第一处理结果,通过第一神经网络模块将与N个区域对应的N个第一处理结果进行融合,以得到第一神经网络模块生成的目标处理结果。可选地,训练设备还可以将N个第一处理结果的融合结果与第一图像进行再次融合,以得到第一神经网络模块生成的目标处理结果。
本实现方式中,用于进行图像处理的目标神经网络中包括第一神经网络模块,由于第一神经网络模块中有M个分支,不同分支的计算量不同,也即M个分支中存在计算量小的分支,则可以通过计算量小的分支对图像中部分区域进行处理,以降低处理图像中部分区域的计算功耗,不仅实现降低整个神经网络的计算功耗,而且提高了图像处理过程的灵活性。
在第一方面的一种可能实现方式中,第一图像的N个区域的划分依据是频率波段,与第一图像的N个区域中不同区域对应的频率波段不同,N个区域中频率越低的区域与M个分支中计算量越小的分支对应,也即N个区域中复杂度越低的区域与M个分支中计算量越小的分支对应,从而N个区域中复杂度越高的区域与M个分支中计算量越大的分支对应;需要说明的是,与第一图像中不同区域对应的频率波段指的是与二维的图像对应的频率波段。本实现方式中,通过计算量大的分支对图像中频率高的区域进行处理,通过计算量小的分支对图像中频率低的区域进行处理,也即降低处理图像中频率低的区域的计算功耗,从而实现降低整个神经网络的计算功耗,且由于频率高的区域一般携带较为细节的纹理信息或者为颜色突变区域等,也即频率高的区域携带较为丰富的图像信息,频率低的区域一般不会携带丰富的图像信息,所以通过计算量小的分支对图像中频率低的区域进行处理的方式,既降低了整个目标神经网络的计算量,也不会导致整个神经网络输出的预测图像的效果有太大降低。
在第一方面的一种可能实现方式中,目标神经网络还包括第二神经网络模块,方法还可以包括:执行设备将第二图像输入第二神经网络模块,以通过第二神经网络模块对第二图像进行区域划分,得到第一指示信息。其中,第二神经网络模块可以采用用于对图像进行区域划分的神经网络。第二图像与第一图像的尺寸相同,进一步地,若目标神经网络中第二神经网络模块与第一神经网络模块一一对应,则第二图像与第一图像可以为相同的图像(也可以理解为第二图像与第一图像为同一个图像),若目标神经网络中第二神经网络模块与第一神经网络模块不是一一对应,则第二图像与第一图像可以为不同的图像。第一指示信息用于指示第一图像的N个区域中每个区域的范围,第一指示信息中的每个值与第一图像中的一个像素点对应,用于指示前述像素点为N个区域中的哪一个区域。执行设备通过第一神经网络模块从第一图像中获取第一区域的图像,包括:执行设备将第一图像和第一指示信息输入第一神经网络模块,以通过第一神经网络模块从第一图像中获取第一区域的图像。
本实现方式中,目标神经网络中还配置有专门进行区域划分的第二神经网络模块,有利于提高区域划分过程的精准度,进而有利于提高整个目标神经网络输出的预测图像的精度。
在第一方面的一种可能实现方式中,目标神经网络用于对输入的待处理图像进行处理后得到预测图像,目标神经网络为通过第一损失函数和第二损失函数训练得到的;其中,第一损失函数指示与待处理图像对应的期望图像和预测图像之间的相似度,待处理图像和期望图像均来自于目标神经网络的训练数据集,第一图像的N个区域中存在第二区域,与第二区域对应的频率波段最低,第二损失函数的训练目标为增大第二区域的区域范围。
本实现方式中,由于与N个区域中第二区域对应的频率波段最低,也即第一图像中位于第二区域的图像会通过计算量最小的分支进行处理,通过第二损失函数来增大第二区域的区域范围,以降低整个目标神经网络的计算量。
在第一方面的一种可能实现方式中,目标神经网络用于对输入的待处理图像进行处理后得到预测图像,目标神经网络为通过第一损失函数和第三损失函数训练得到的;其中,第一损失函数指示与待处理图像对应的期望图像和预测图像之间的相似度,待处理图像和期望图像均来自于目标神经网络的训练数据集,第三损失函数指示第一指示信息和第二指示信息之间的相似度,第二指示信息用于指示第一图像的N个区域中每个区域的范围,第二指示信息为根据与训练图像对应的频域图,将频域图划分为与N个频率波段对应的N个区域,分别对与N个频率波段对应的N个区域进行逆变换得到的。
在第一方面的一种可能实现方式中,在目标神经网络的训练过程中,训练设备根据第一损失函数和第三损失函数,采用加权求和的方式以得到总的损失函数的函数值,第三损失函数的权重系数逐渐减小。
在第一方面的一种可能实现方式中,第二图像和第一图像为相同的图像(也可以理解为第二图像和第一图像为同一图像),第一图像和第二图像为输入目标神经网络的待处理图像,或者,第一图像和第二图像为目标神经网络进行图像处理过程中生成的特征图。本实现方式中,第二图像和第一图像为相同的图像,也即第二神经网络模块与第一神经网络模块为一一对应的关系,有利于提高对第一图像进行区域划分过程的精度,进而提高整个目标神经网络输出的预测图像的精度;且第一图像可以为输入目标神经网络的训练图像,也可以为目标神经网络进行图像处理过程中生成的特征图,也即第二神经网络模块和第一神经网络模块可以放置于目标神经网络中的任意位置处,提高了本方案的实现灵活性。
第二方面,本申请实施例提供了一种神经网络的训练方法,可用于人工智能领域的图像处理领域中,神经网络为目标神经网络,目标神经网络用于进行图像处理以得到预测图像,目标神经网络包括至少一个第一神经网络模块,第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M为大于1的整数,方法包括:训练设备通过第一神经网络模块从第一图像中获取第一区域的图像,其中,第一图像为基于训练图像得到的,所述训练图像用于对所述目标神经网络进行训练,第一图像被分为N个区域,第一区域为N个区域中的任一个区域,N为大于1的整数;训练设备将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果,其中,N个区域的图像通过M个分支进行处理,目标分支为计算量不同的M个分支中与第一区域对应的一个分支。训练设备通过第一神经网络模块将M个分支生成的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果,目标处理结果用于得到预测图像;进一步地,目标神经网络中包括多个神经网络模块,则训练设备可以执行前述步骤多次后,以生成与训练图像对应的预测图像。训练设备根据第一损失函数,对目标神经网络进行训练,直至满足预设条件,第一损失函数指示与训练图像对应的期望图像(也可以称为与训练图像对应的期望结果)和与训练图像对应的预测图像(也可以称为与训练图像对应的预测结果)之间的相似度,第一损失函数的训练目标为拉近该预测图像和该期望结果的相似度,训练图像和期望图像均来自于目标神经网络的训练数据集,第一损失函数可以采用L1损失函数、L2损失函数或其他损失函数等。
本实现方式中,执行过训练操作的目标神经网络中包括第一神经网络模块,第一神经网络模块中有M个分支,不同分支的计算量不同,可以通过计算量小的分支对图像中部分区域进行处理,以降低处理图像中部分区域的计算功耗,从而实现降低整个神经网络的计算功耗;本申请实施例提供了目标神经网络的训练过程,提高了本方案的完整性。
在第二方面的一种可能实现方式中,第一图像的N个区域的划分依据是频率波段,与第一图像的N个区域中不同区域对应的频率波段不同,N个区域中频率越低的区域与M个分支中计算量越小的分支对应。
在第二方面的一种可能实现方式中,目标神经网络还包括第二神经网络模块,方法还包括:训练设备将第二图像输入第二神经网络模块,以通过第二神经网络模块对第二图像进行区域划分,得到第一指示信息,其中,第二图像与第一图像的尺寸相同,第一指示信息用于指示N个区域中每个区域的范围。训练设备通过第一神经网络模块从第一图像中获取第一区域的图像,包括:训练设备将第一图像和第一指示信息输入第一神经网络模块,以通过第一神经网络模块从第一图像中获取第一区域的图像。
在第二方面的一种可能实现方式中,训练设备根据第一损失函数,对目标神经网络进行训练,包括:训练设备根据第一损失函数和第二损失函数,对目标神经网络进行训练,其中,第一图像的N个区域中存在第二区域,与第二区域对应的频率波段最低,第二损失函数的训练目标为增大第二区域的区域范围。进一步地,第二损失函数可以用于指示第一图像中位于第二区域的像素点的稀疏程度,则第二损失函数的训练目标为降低第一图像中位于第二区域的像素点的稀疏程度;或者,第二损失函数用于指示第一图像中位于第二区域之外的像素点的稀疏程度,则第二损失函数的训练目标为提高第一图像中位于第二区域之外的像素点的稀疏程度。
在第二方面的一种可能实现方式中,训练设备根据第一损失函数,对目标神经网络进行训练,包括:训练设备根据第一损失函数和第三损失函数,对目标神经网络进行训练。第三损失函数指示第一指示信息和第二指示信息之间的相似度,第二指示信息用于指示第一图像的N个区域中每个区域的范围,第二指示信息为根据与训练图像对应的频域图,将频域图划分为与N个频率波段对应的N个区域,分别对与N个频率波段对应的N个区域进行逆变换得到的;第三损失函数可以采用交叉熵损失函数、L1损失函数、L2损失函数或其他类型的损失函数等。进一步地,第三损失函数的训练目标为拉近第一指示信息和第二指示信息的相似度,第一指示信息可以理解为通过第二神经网络模块生成的一种预测信息,第二指示信息可以理解为与第一指示信息对应的一种期望信息。
本实现方式中,利用第三损失函数来训练第二神经网络模块能够依据不同的频率波段对图像进行区域划分,并以生成第二指示信息作为训练目标,第二指示信息为根据与训练图像对应的频域图,将频域图划分为与N个频率波段对应的N个区域,分别对与N个频率波段对应的N个区域进行逆变换得到的,有利于加快第二神经网络模块的训练速度,以提高整个目标神经网络的训练速度。
在第二方面的一种可能实现方式中,在目标神经网络的训练过程中,训练设备根据第一损失函数和第三损失函数,采用加权求和的方式以得到总的损失函数的函数值,随着目标神经网络的训练迭代次数的增加,第三损失函数的权重系数逐渐减小。具体的,训练设备上可以预先配置有衰减规则,训练设备可以对目标神经网络执行一次或多次训练操作后,根据该衰减规则减少第三损失函数的权重参数的取值,并在对目标神经网络执行后续训练操作中,使用减少后的权重参数。该衰减规则可以具体表现为线性的衰减函数、非线性的衰减函数或其他衰减规则。
本实现方式中,由于用于指示生成第二指示信息的N个频率波段是由技术人员预先配置于训练设备中的,且该N个频率波段是固定的,相对不够灵活,在目标神经网络的训练过程中,第三损失函数的权重系数逐渐减小,不仅有利于第二神经网络模块在初期快速学习基于频率波段对图像进行划分,而且在目标神经网络的训练后期,第三损失函数的权重系数会减小,促使第二神经网络模块的训练目标更加贴合于目标神经网络输出与理想图像相似的预测图像,也即有利于第二神经网络模块学习到更为精准的区域划分方式。
在第二方面的一种可能实现方式中,训练设备根据第一损失函数,对目标神经网络进行训练,包括:训练设备根据第一损失函数、第二损失函数和第三损失函数,对目标神经网络进行训练。
对于本申请实施例第二方面以及第二方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第二方面中各种可能的实现方式中的描述,此处不再一一赘述。
第三方面,本申请实施例提供了一种图像处理装置,可用于人工智能领域的图像处理领域中,图像处理装置中配置有目标神经网络,目标神经网络为用于进行图像处理的神经网络,目标神经网络中存在至少一个第一神经网络模块,第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M为大于1的整数,装置包括:获取模块,用于通过第一神经网络模块从第一图像中获取第一区域的图像,其中,第一图像被分为N个区域,第一区域为N个区域中的任一个区域,N为大于1的整数;输入模块,用于将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果,其中,N个区域的图像通过M个分支进行处理,目标分支为计算量不同的M个分支中与第一区域对应的一个分支;融合模块,用于通过第一神经网络模块将与N个区域对应的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果。
本申请实施例的第三方面提供的图像处理装置还可以执行第一方面的各个可能实现方式中执行设备执行的步骤,对于本申请实施例第三方面以及第三方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
第四方面,本申请实施例提供了一种神经网络的训练装置,可用于人工智能领域的图像处理领域中,神经网络为目标神经网络,目标神经网络用于进行图像处理以得到预测图像,目标神经网络包括至少一个第一神经网络模块,第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M为大于1的整数,装置包括:获取模块,用于通过第一神经网络模块从第一图像中获取第一区域的图像,其中,第一图像被分为N个区域,第一区域为N个区域中的任一个区域,N为大于1的整数;输入模块,用于将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果,其中,N个区域的图像通过M个分支进行处理,目标分支为计算量不同的M个分支中与第一区域对应的一个分支;融合模块,用于通过第一神经网络模块将M个分支生成的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果,目标处理结果用于得到预测图像;训练模块,用于根据第一损失函数,对目标神经网络进行训练,直至满足预设条件,第一损失函数指示与训练图像对应的期望图像和预测图像之间的相似度,训练图像和期望图像均来自于目标神经网络的训练数据集。
本申请实施例的第四方面提供的图像处理装置还可以执行第二方面的各个可能实现方式中训练设备执行的步骤,对于本申请实施例第四方面以及第四方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第二方面中各种可能的实现方式中的描述,此处不再一一赘述。
第五方面,本申请实施例提供了一种执行设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面所述的图像处理方法。
第六方面,本申请实施例提供了一种训练设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第二方面所述的神经网络的训练方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述程序在计算机上运行时,使得计算机执行上述第一方面所述的图像处理方法,或者,使得计算机执行上述第二方面所述的神经网络的训练方法。
第八方面,本申请实施例提供了一种电路***,所述电路***包括处理电路,所述处理电路配置为执行所述的图像处理方法,或者,所述处理电路配置为执行上述第二方面所述的神经网络的训练方法。
第九方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的图像处理方法,或者,使得计算机执行上述第二方面所述的神经网络的训练方法。
第十方面,本申请实施例提供了一种芯片***,该芯片***包括处理器,用于实现上述各个方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片***还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为本申请实施例提供的人工智能主体框架的一种结构示意图;
图2为本申请实施例提供的图像处理***的一种***架构图;
图3为本申请实施例提供的神经网络的训练方法的一种流程示意图;
图4为本申请实施例提供的神经网络的训练方法中第一神经网络模块的一种示意图;
图5为本申请实施例提供的神经网络的训练方法中第二神经网络模块的一种示意图;
图6为本申请实施例提供的神经网络的训练方法中目标神经网络的一种结构示意图;
图7为本申请实施例提供的神经网络的训练方法中第二指示信息的一种结构示意图;
图8为本申请实施例提供的神经网络的训练方法中生成第二指示信息的一种流程示意图;
图9为本申请实施例提供的图像处理方法的一种流程示意图;
图10为本申请实施例提供的图像处理装置的一种结构示意图;
图11为本申请实施例提供的神经网络的训练装置的一种结构示意图;
图12为本申请实施例提供的执行设备的又一种结构示意图;
图13为本申请实施例提供的训练设备的又一种结构示意图;
图14为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、***、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
首先对人工智能***总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到***的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能***提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,该智能芯片具体可以采用中央处理器(central processing unit,CPU)、嵌入式神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processing unit,GPU)、专用集成电路(application specific integrated circuit,ASIC)或现场可编程门阵列(fieldprogrammable gate array,FPGA)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算***中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有***的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能***中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用***,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能***在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、平安城市等。
本申请可以应用于人工智能领域的图像处理领域中,具体的,可以应用于将图像输入神经网络中得到处理后的神经网络的应用场景中,作为示例,例如本申请实施例可以应用于图像超分(super resolution,SR)、图像去噪、图像去马赛克、图像风格迁移或用于执行其他底层视觉任务的应用场景中。在智能终端、智能安防、智能医疗、自动驾驶等领域中都可以用到本申请实施例中的图像处理方法。
在对本申请实施例提供的图像处理方法进行详细介绍之前,先结合图2对本申请实施例提供的图像处理***进行介绍。请先参阅图2,图2为本申请实施例提供的图像处理***的一种***架构图,在图2中,图像处理***200包括执行设备210、训练设备220、数据库230和数据存储***240,执行设备210中包括计算模块211。
其中,数据库230中存储有训练图像集合,训练设备220生成目标模型/规则201,并利用数据库230中的训练图像集合对目标模型/规则201进行迭代训练,得到成熟的目标模型/规则201。进一步地,目标模型/规则201具体可以采用神经网络或非神经网络类型的模型来实现,目标模型/规则201中可以存在至少一个第一神经网络模块,第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M为大于1的整数。
训练设备220得到的成熟的目标模型/规则201可以应用不同的***或设备中,例如手机、平板、笔记本电脑、VR设备、监控***、雷达的数据处理***等等。其中,执行设备210可以调用数据存储***240中的数据、代码等,也可以将数据、指令等存入数据存储***240中。数据存储***240可以置于执行设备210中,也可以为数据存储***240相对执行设备210是外部存储器。
计算模块211可以通过目标模型/规则201进行图像处理以得到预测图像。具体的,计算模块211可以通过目标模型/规则201中的第一神经网络模块从第一图像中获取第一区域的图像,其中,第一图像被分为N个区域,第一区域为N个区域中的任一个区域,N为大于1的整数;将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果,其中,N个区域与M个分支对应,目标分支为M个分支中与第一区域对应的一个分支;通过第一神经网络模块将M个分支生成的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果,该目标处理结果用于得到整个目标模型/规则201输出的预测图像。由于M个分支中不同分支的计算量不同,可以通过计算量小的分支对图像中部分区域进行处理,以降低处理图像中部分区域的计算功耗,从而实现降低整个神经网络的计算功耗。
本申请的一些实施例中,请参阅图2,“用户”可以直接与执行设备210交互,也即执行设备210可以直接将目标模型/规则201输出的预测图像展示给“用户”,值得注意的,图2仅是本发明实施例提供的图像处理***的一种架构示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在本申请的另一些实施例中,执行设备210和客户设备也可以为分别独立的设备,执行设备210配置有输入/输出(in/out,I/O)接口,执行设备210通过I/O接口与客户设备进行数据交互。
结合上述描述可知,下面开始对本申请实施例提供的图像处理方法的训练阶段和推理阶段的具体实现流程进行描述。
一、训练阶段
本申请实施例中,训练阶段描述的是训练设备220如何利用数据库230中的图像数据集合生成成熟的神经网络的过程,具体的,请参阅图3,图3为本申请实施例提供的神经网络的训练方法的一种流程示意图,本申请实施例提供的神经网络的训练方法可以包括:
301、训练设备获取目标神经网络,目标神经网络包括至少一个第一神经网络模块,第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同。
本申请实施例中,训练设备在对目标神经网络进行训练操作之前,需要先获取目标神经网络。其中,目标神经网络用于对训练图像进行处理以输出与训练图像对应的预测图像,目标神经网络的功能具体可以为图像超分、图像去噪、图像去马赛克、图像风格迁移或用于执行其他底层视觉任务等。在目标神经网络对训练图像进行处理的过程中会生成多个特征图,多个特征图的尺寸可以相同,也即目标神经网络对训练图像进行处理的过程中生成的特征图的尺寸均与训练图像的尺寸相同;多个特征图的尺寸也可以不完全相同,也即目标神经网络对训练图像进行处理的过程中生成的多个特征图的尺寸与训练图像的尺寸可以不完全相同。
目标神经网络包括P个目标神经网络模块,该P个目标神经网络模块包括S个第一神经网络模块,P和S均为大于或等于1的整数。若目标神经网络仅包括一个神经网络模块,也即前述一个神经网络模块为第一神经网络模块;若目标神经网络包括多个神经网络模块,也即P的取值大于1,S的取值也可以大于1,作为示例,例如P的取值为3,S的取值为2;作为另一示例,例如P的取值为5,S的取值为2;作为再一示例,例如P的取值为6,S的取值为5等,本申请实施例不限定一个目标神经网络中包括的神经网络模块的数量,多个神经网络模块的划分方式,以及整个目标神经网络中包括的神经网络模块的数量等,具体均可根据实际需求来灵活设定。
针对S个第一神经网络模块中的一个第一神经网络模块,第一神经网络模块用于对第一图像进行处理。若第一神经网络模块位于整个目标神经网络的开头,也即第一神经网络模块的输入就是整个目标神经网络的输入,则第一图像可以为输入目标神经网络的训练图像;若第一神经网络模块不是位于目标神经网络的开头,则第一图像为通过目标神经网络对训练图像进行处理过程中生成的特征图。
第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M个分支中的一个分支的功能包括但不限于执行卷积操作、进行非线性变换等;一个分支的计算量可以通过当通过该分支进行处理时的所产生的浮点运算次数(floating point operations,FLOPs)来估算,或者,还可以通过乘加数(multiply accumulate operation,MACC)这一指标来估算,或者还可以通过其他类型的指标进行估算,此处不做穷举;第一图像被分为N个区域,M和N均为大于1的整数;可选地,M的取值为3或4。
该N个区域的图像通过M个分支进行处理,第一神经网络模块的M个分支用于处理第一图像的N个区域,M和N的取值可以相同,也可以不同,也即N个区域和M个分支可以为一一对应的关系,也可以为多对多的关系。
进一步地,第一神经网络模块中M个分支中的一个分支具体可以包括一个子神经网络,也可以为不包括任何神经网络层,需要说明的是,M个分支中一个分支具体采用什么样的子神经网络取决于整个目标神经网络的功能。作为示例,此处以M的取值为4为例,第一神经网络模块包括的4个分支可以分别为3x3的卷积神经网络、1x1的卷积神经网络、深度方面(depth wise)卷积神经网络和计算量为0的分支,该计算量为0的分支指的是不做任何处理,或者是输出等于输入的处理。
为更直观地理解本方案,请参阅图4,图4为本申请实施例提供的神经网络的训练方法中第一神经网络模块的一种示意图。图4中以M和N的取值均为3为例,A1代表第一图像,图4中以第一图像具体表现为三维的张量为例。A2、A3和A4分别代表第一图像中三个不同的区域的图像,也即将第一图像进行拆分(split),以分别得到A2、A3和A4;B1、B2和B3分别代表第一神经网络模块中三个不同的分支。将A2代表的图像输入B1代表的分支,以通过B1代表的分支对A2代表的图像进行处理以得到B1生成的处理结果;将A3代表的图像输入B2代表的分支,以通过B2代表的分支对A3代表的图像进行处理以得到B2生成的处理结果;将A4代表的图像输入B3代表的分支,以通过B3代表的分支对A4代表的图像进行处理以得到B3生成的处理结果;通过第一神经网络模块将第一图像、B1生成的处理结果、B2生成的处理结果和B3生成的处理结果进行融合(combine),能够得到整个第一神经网络模块生成的处理结果(也即图4中的B4)。训练设备还可以将A1指示的第一图像与B4进行组合,并将组合结果传递给下一神经网络模块,应理解,图4中的示例仅为方便理解本方案,不用于限定本方案。
可选地,P个目标神经网络模块还可以包括第三神经网络模块,第三神经网络模块具体可以表现为整个目标神经网络包括的子神经网络,第三神经网络模块与第一神经网络模块的区别在于第一神经网络模块中包括运算量不同的至少两个分支,而第一神经网络模块中只有一个子神经网络,第三神经网络模块具体采用什么样的子神经网络需要根据目标神经网络的功能来确定,此处不做限定。
可选地,目标神经网络还可以包括与S个第一神经网络模块对应的T个第二神经网络模块,T的取值为大于或等于1的整数。第二神经网络模块用于对输入的第二图像进行区域划分,以生成第一指示信息,第一指示信息用于指示第一图像的N个区域中每个区域的范围。
其中,第二图像和第一图像的尺寸相同,第二图像与第一图像可以为相同的图像(也可以理解为第二图像和第一图像为同一个图像),也可以为不同的图像;第二图像具体可以为输入目标神经网络的训练图像,也可以为目标神经网络进行图像处理过程中生成的特征图。S与T的取值可以相同,也即S个第一神经网络模块与T个第二神经网络模块一一对应;或者,S与T的取值也可以不同,T的取值可以小于S,也即可以为不同的第一神经网络模块可以共用同一个第二神经网络模块生成的第一指示信息。作为示例,例如S的取值为3,T的取值为1,也即3个第一神经网络模块共用1个第二神经网络模块生成的第一指示信息,应理解,此处举例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,第二图像和第一图像为相同的图像,也即第二神经网络模块与第一神经网络模块为一一对应的关系,有利于提高对第一图像进行区域划分过程的精度,进而提高整个目标神经网络输出的预测图像的精度;且第一图像可以为输入目标神经网络的训练图像,也可以为目标神经网络进行图像处理过程中生成的特征图,也即第二神经网络模块和第一神经网络模块可以放置于目标神经网络中的任意位置处,提高了本方案的实现灵活性。
为更直观地理解本方案,请参阅图5和图6,图5为本申请实施例提供的神经网络的训练方法中第二神经网络模块的一种示意图,图6为本申请实施例提供的神经网络的训练方法中目标神经网络的一种结构示意图。先参阅图5,图5中以第二图像与第一图像为相同的图像,且S与T的取值相同为例。其中,图5可以结合图4进行理解,A1代表第一图像(也即第二图像),C1代表第二神经网络模块,C2代表第一指示信息,图5中为将第一指示信息进行可视化处理后的图像。A2、A3、A4、B1、B2和B3的含义可以参阅上述对图4的描述,此处不做赘述,将第一图像(也即第二图像)输入第二神经网络模块(也即图5中示出的C1)中,得到第二神经网络模块生成的第一指示信息(也即图4中示出的C2),进而将第一指示信息和第一图像输入第一神经网络模块,以通过第一神经网络模块从第一图像中分别获取A2代表的图像、A3代表的图像和A4代表的图像,通过B1代表的分支对A2代表的图像进行处理以得到B1生成的处理结果,通过B2代表的分支对A3代表的图像进行处理以得到B2生成的处理结果,通过B3代表的分支对A4代表的图像进行处理以得到B3生成的处理结果,通过第一神经网络模块将第一图像、B1生成的处理结果、B2生成的处理结果和B3生成的处理结果进行融合,能够得到整个第一神经网络模块生成的处理结果(也即图5中的B4),应理解,图5中的示例仅为方便理解本方案,不用于限定本方案。
请再参阅图6,图6需结合图5进行理解,图6中以S个第一神经网络模块与T个第二神经网络模块一一对应为例,如图6所示,整个目标神经网络为对输入的训练图像进行处理以输出预测图像的神经网络,其中,目标神经网络包括第一神经网络模块,C1代表第二神经网络模块,C2代表第二神经网络模块生成的第一指示信息,图6中示出的也是对第一指示信息进行可视化处理后的图像;目标神经网络还包括第三神经网络模块,如图6所示,整个目标神经网络中包括多个神经网络模块,多个神经网络模块中包括多个第一神经网络模块、多个第二神经网络模块和多个第三神经网络模块,具体第一神经网络模块、第二神经网络模块以及第三神经网络模块的含义可参阅上述描述,应理解,目标神经网络中可以包括第二神经网络模块,也可以不包括第二神经网络模块,若目标神经网络中包括第二神经网络模块,第二神经网络模块与第一神经网络模块的关系也可以不是一一对应的关系,图6中的示例仅为方便理解目标神经网络的网络架构,不用于限定本方案。
302、训练设备获取与训练图像对应的第二指示信息,第二指示信息指示N个区域中每个区域的范围。
本申请的一些实施例中,训练设备中预先存储有目标神经网络的训练图像集合,训练图像集合中包括多个训练图像,训练设备获取与训练图像对应的至少一个第二指示信息,第二指示信息可以用于在后续步骤中对第二神经网络模块进行训练。
其中,第二指示信息指示与训练图像对应的N个区域中每个区域的范围。若第一神经网络对训练图像进行处理的过程中生成的特征图均与训练图像的尺寸相同,则训练设备获取与训练图像对应的一个第二指示信息,该第二指示信息既可以用于指示训练图像的N个区域中每个区域的范围,也可以用于指示第一图像的N个区域中每个区域的范围。
若第一神经网络对训练图像进行处理的过程中生成的特征图的尺寸不同,也即输入目标神经网络模块的第一图像与训练图像的尺寸不同,则训练设备获取的第二指示信息的尺寸需要与第一图像的尺寸相同;第二指示信息中的每个值与第一图像中的一个像素点对应,用于指示前述像素点为N个区域中的哪一个区域。
若目标神经网络包括多个第一神经网络模块,输入不同的第一神经网络模块的多个不同的第一图像的尺寸不同,则训练设备需要获取与多个不同的第一图像对应的不同的第二指示信息。针对至少一个第二指示信息中的目标第二指示信息,目标第二指示信息为至少一个第二指示信息中的一个第二指示信息,目标第二指示信息与目标第一图像对应,目标第二指示信息需要用于指示目标第一图像的N个区域中每个区域的范围,目标第一图像为至少一个第一图像中的一个第一图像。目标第二指示信息和目标第一图像均为H维的张量,目标第二指示信息的尺寸需要与目标第一图像的尺寸相同。
作为示例,例如目标第一图像为二维的矩阵,则目标第二指示信息为二维的矩阵,目标第一图像的长与目标第二指示信息的长相同,目标第一图像的宽与目标第二指示信息的宽相同;作为另一示例,例如目标第一图像和目标第二指示信息均为三维的张量,则目标第一图像的长与目标第二指示信息的长相同,目标第一图像的宽与目标第二指示信息的宽相同,且目标第一图像的高与目标第二指示信息的高相同等,需要说明的是,H还可以取其他值,此处不做穷举。
为更直观地理解本方案,请参阅图7,图7为本申请实施例提供的神经网络的训练方法中第二指示信息的一种结构示意图。图7中以第二指示信息表现为二维的矩阵,且第一图像被划分为三个区域为例,三个区域分别为与最高的频率波段对应的区域、与中等的频率波段对应的区域和与最低的频率波段对应的区域,图7示出的第二指示信息与第一图像中的每个像素点一一对应,用于指示每个像素点属于N个区域中的哪一个区域,若与一个像素点对应的取值为0,则指示该像素点属于N个区域中与最低的频率波段对应的区域;若与一个像素点对应的取值为1,则指示该像素点属于N个区域中与中等的频率波段对应的区域;若与一个像素点对应的取值为2,则指示该像素点属于N个区域中与最高的频率波段对应的区域,应理解,图7中的示例仅为方便理解目标神经网络的网络架构,具体不用于限定本方案。
具体的,与第一图像的N个区域中不同区域对应的频率波段不同,训练设备中预先设置有与N个频率波段对应的N个频率范围。训练设备采用第一算法将训练图像变化到频域,以生成与训练图像对应的频域图;训练设备利用N个频率范围将整个频域图划分为N个区域,也即将整个频域图划分为N个频率波段的区域,采用与第一算法对应的第二算法,对频域图的N个区域中每个区域进行逆变换,以得到第二指示信息。
其中,N个频率波段具体表现为哪些频率波段可以结合实际情况灵活设定,此处不做限定。若第一算法采用离散余弦变换(discrete cosine transformation,DCT)算法,则第二算法采用离散余弦逆变换(inverse discrete cosine transformation,IDCT)算法;若第一算法采用快速傅里叶变换(fast fourier transform,FFT)算法,则第二算法采用快速傅里叶逆变换(inverse fast fourier transform,IFFT)算法,需要说明的是,第一算法和第二算法还可以表现为其他类型的算法,此处不做穷举。
更具体的,在一种情况中,目标神经网络进行图像处理的过程中生成的特征图的尺寸与训练图像的尺寸均相同,则训练设备直接采用第一算法将原始的训练图像变化到频域,以生成第二指示信息。
在另一种情况中,若第一图像的尺寸与训练图像的尺寸不同,则训练设备需要采用上采样、下采样或其他方式对训练图像进行尺寸变换,以得到变换后的训练图像,变换后的训练图像与第一图像的尺寸相同,则训练设备采用第一算法将变换后的训练图像变化到频域,以生成第二指示信息。
为更直观地理解本方案,请参阅图8,图8为本申请实施例提供的神经网络的训练方法中生成第二指示信息的一种流程示意图。图8中以训练设备直接基于原始的训练图像生成第二指示信息,且整个图像为划分为三个区域为例。其中,图8包括(a)、(b)和(c)三个子示意图,图8的(a)子示意图代表原始的训练图像。训练设备采用DCT算法将原始的训练图像转换到频域,得到8的(b)子示意图F1示出的频域图(也即图8的(b)子示意图中标号为1的图像);训练设备利用3个频率范围,将与原始的训练图像对应的频域图划分为3个区域,F2、F3和F4分别代表3个频率波段的区域,训练设备采用逆DCT算法分别对频域图中F2、F3和F4示出的区域进行逆变换,并将三个逆变换结果进行融合,以得到8的(c)子示意图示出的第二指示信息,图8的(c)子示意图为将第二指示信息进行可视化处理后的结果。图8中以第二指示信息的尺寸与原始的训练图像的尺寸相同为例,图8的(c)子示意图中标号为2的区域对应的为图8的(a)子示意图中左上角的背景区域中的方框,训练图像中的该区域为与最低的频率波段对应的区域,图8的(c)子示意图中标号为3的区域对应的为图8的(a)子示意图中位于左侧大雁翅膀中的方框,训练图像中的该区域为与中等的频率波段对应的区域,图8的(c)子示意图中标号为4的区域对应的为图8的(a)子示意图中位于右侧大雁翅膀中的方框,训练图像中的该区域为与最高的频率波段对应的区域,应理解,图8中的示例仅为方便理解目标神经网络的网络架构,具体不用于限定本方案。
需要说明的是,若目标神经网络对训练图像进行处理的过程中生成的特征图的尺寸均与训练图像的尺寸相同,也即训练设备直接根据原始的训练图像得到第二指示信息,则本申请实施例不限定步骤301和302的执行顺序,可以先执行步骤301,再执行步骤302;也可以先执行步骤302,再执行步骤301;还可以同时执行步骤301和302。
303、训练设备将第二图像输入第二神经网络模块,以通过第二神经网络模块对第二图像进行区域划分,得到第一指示信息,第一指示信息用于指示第一图像的N个区域中每个区域的范围。
本申请实施例中,训练设备将训练图像输入目标神经网络,以通过目标神经网络生成与训练图像对应的测试图像。在利用目标神经网络生成与训练图像对应的测试图像的过程中,在训练设备通过目标神经网络中的第一神经网络模块对第一图像进行图像处理之前(在后续步骤304至306中进行描述),可以将第二图像输入第二神经网络模块,以通过第二神经网络模块对第二图像进行区域划分,得到第一指示信息。
其中,对于第一图像和第二图像的概念可参阅上述描述。第一图像和第二图像的尺寸相同,第一指示信息既可以用于指示第二图像的N个区域中每个区域的范围,也可以用于指示第一图像的N个区域中每个区域的范围。第一指示信息中的每个值与第一图像中的一个像素点对应,用于指示前述像素点为N个区域中的哪一个区域;第一指示信息的具体表现形式与第二指示信息的具体表现形式类似,可参阅上述描述,此处不做赘述。
第二神经网络模块可以采用对图像进行区域划分的神经网络。在一种情况下,基于第一指示信息将第一图像划分为N个区域,与N个区域中不同区域对应的频率波段不同。本情况中,第二神经网络模块可以包括卷积神经网络,将第二图像输入至该卷积神经网络中,并对卷积神经网络生成的结果进行离散化处理,得到第一指示信息。其中,该卷积神经网络具体可以表现为1x1的卷积核、3x3的卷积核或其他更简单或更复杂的网络结构来实现。
进一步地,为了使得该离散化的过程是可学习的,训练设备对卷积神经网络生成的结果进行离散化处理的方式可以为:训练设备采用归一化指数(softmax)函数,对卷积神经网络生成的结果进行离散化处理;或者,训练设备采用激活函数中的Sigmoid函数,对卷积神经网络生成的结果进行离散化处理等,训练设备还可以采用其他方式将卷积神经网络生成的结果进行离散化处理,此处不做穷举。
在另一种情况下,第二神经网络模块为基于第二图像的语义信息将第二图像划分为N个区域。则进一步地,在一种实现方式中,基于第一指示信息将第一图像划分为N个区域中可以包括第一图像的背景区域和第一图像的前景区域;在另一种实现方式中,基于第一指示信息将第一图像划分为N个区域中可以包括第一图像的背景区域、第一图像的前景区域和第一图像中前景区域和背景区域之间的边缘区域等,前述N个区域还可以为其他划分方式,此处不做限定。
304、训练设备通过目标神经网络中的第一神经网络模块从第一图像中获取第一区域的图像。
本申请实施例中,训练设备利用目标神经网络生成与训练图像对应的预测图像的过程中,会通过目标神经网络对第一图像进行处理。其中,对于第一神经网络模块的介绍可参阅步骤301中的描述,此处不做赘述。
具体的,针对目标神经网络中一个第一神经网络模块进行图像处理的过程。在一种实现方式中,若执行步骤303,则步骤304可以包括:训练设备将通过步骤303生成的第一指示信息和第一图像输入至第一神经网络模块,以通过第一神经网络模块根据第一指示信息,从第一图像中获取第一区域的图像。其中,第一图像可以为输入目标神经网络的原始训练图像,也可以为上一个目标神经网络模块生成的特征图,具体取决于第一神经网络模块在整个目标神经网络中的位置。第一图像被分为N个区域,第一区域为N个区域中的任一个区域,对于N个区域的划分依据可参阅步骤303中的描述,此处不做赘述。
本申请实施例中,目标神经网络中还配置有专门进行区域划分的第二神经网络模块,有利于提高区域划分过程的精准度,进而有利于提高整个目标神经网络输出的预测图像的精度。
在另一种实现方式中,若不执行步骤303,则在一种情况中,步骤304可以包括:训练设备将通过步骤304生成的第二指示信息和第一图像输入至第一神经网络模块,以通过第一神经网络模块根据第二指示信息,从第一图像中获取第一区域的图像。第一图像被分为N个区域,第一区域为N个区域中的任一个区域,本实现方式中,第一图像的N个区域的划分依据是频率波段,与第一图像的N个区域中不同区域对应的频率波段不同。
在另一种情况中,步骤304可以包括:训练设备将第一图像随机的划分为N个区域,并从N个区域中随机获取一个区域作为第一区域。
305、训练设备将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果。
本申请实施例中,训练设备在从第一神经网络模块包括的M个分支中获取与第一区域对应的目标分支,训练设备将第一图像中位于第一区域的图像输入目标分支中,得到M个分支中目标分支生成的第一处理结果。
其中,第一图像N个区域与M个分支对应,目标分支为M个分支中与第一区域对应的一个分支。第一神经网络模块包括的M个分支中不同分支的计算量不同,训练设备可以将第一图像中携带丰富图像信息的区域中的图像输入M个分支中计算量大的分支中,可以将第一图像中携带少量图像信息的区域中的图像输入M个分支中计算量小的分支中,也即N个区域中复杂度越低的区域与M个分支中计算量越小的分支对应,从而N个区域中复杂度越高的区域与M个分支中计算量越大的分支对应;需要说明的是,与第一图像中不同区域对应的频率波段指的是与二维的图像对应的频率波段。
进一步地,在一种情况中,第一图像的N个区域的划分依据是频率波段,与第一图像的N个区域中不同区域对应的频率波段不同,N个区域中频率越低的区域与M个分支中计算量越小的分支对应。本申请实施例中,通过计算量大的分支对图像中频率高的区域进行处理,通过计算量小的分支对图像中频率低的区域进行处理,也即降低处理图像中频率低的区域的计算功耗,从而实现降低整个神经网络的计算功耗,且由于频率高的区域一般携带较为细节的纹理信息或者为颜色突变区域等,也即频率高的区域携带较为丰富的图像信息,频率低的区域一般不会携带丰富的图像信息,所以通过计算量小的分支对图像中频率低的区域进行处理的方式,既降低了整个目标神经网络的计算量,也不会导致整个神经网络输出的预测图像的效果有太大降低。
在另一种情况下,N个区域是基于第一图像的语义信息进行划分的,则作为示例,例如N个区域中可以包括第一图像的背景区域和第一图像的前景区域,M个分支可以包括两个分支,计算量大的分支用于处理第一图像的前景区域,计算量小的分支用于处理第一图像的背景区域。作为另一示例,例如N个区域中可以包括第一图像的背景区域、第一图像的前景区域和第一图像中前景区域和背景区域之间的边缘区域,M个分支可以包括3个分支,计算量大的分支用于处理第一图像中前景区域和背景区域之间的边缘区域,计算量中等的分支用于处理第一图像的前景区域,计算量最小的分支用于处理第一图像的背景区域。作为再一示例,例如N个区域中可以包括第一图像的背景区域、第一图像的前景区域和第一图像中前景区域和背景区域之间的边缘区域,M个分支可以包括2个分支,计算量大的分支用于处理第一图像中前景区域和背景区域之间的边缘区域,计算量大的分支还用于处理第一图像的前景区域,计算量最小的分支用于处理第一图像的背景区域等,此处不对N个区域与M个分支之间的关系进行穷举。
本申请实施例中,训练设备执行N次步骤304和305,也即通过M个分支完成对N个区域中每个区域的处理,以通过第一神经网络模块生成与N个区域对应的N个第一处理结果
306、训练设备通过第一神经网络模块将与N个区域对应的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果,目标处理结果用于得到与训练图像对应的预测图像。
本申请实施例中,训练设备在通过M个分支生成与N个区域对应的N个第一处理结果后,通过第一神经网络模块将与N个区域对应的N个第一处理结果进行融合,以得到第一神经网络模块生成的目标处理结果。
可选地,训练设备还可以将N个第一处理结果的融合结果与第一图像进行再次融合,以得到第一神经网络模块生成的目标处理结果。
目标神经网络中包括多个神经网络模块,若多个神经网络模块中可以仅包括第一神经网络模块和与第一神经网络模块对应的第二神经网络模块,则训练设备可以顺序执行步骤303至306多次,以通过目标神经网络中的多个目标神经网络模块对训练图像进行处理,从而生成与训练图像对应的预测图像(也可以称为与训练图像对应的预测结果)。
若多个神经网络模块中同时包括第一神经网络模块、与第一神经网络模块对应的第二神经网络模块和第三神经网络模块。则训练设备除了通过目标神经网络中的第一神经网络模块执行步骤303至306中的操作外,还需要通过第三神经网络模块对第三图像进行处理,第三图像可以为原始的训练图像,也可以为上一神经网络模块生成的特征图,具体取决于第三神经网络模块在目标神经网络中的位置,从而目标神经网络利用第一神经网络模块、与第一神经网络模块对应的第二神经网络模块和第三神经网络模块对训练图像进行处理,以生成与训练图像对应的预测图像。
307、训练设备根据第一损失函数,对目标神经网络进行训练,直至满足预设条件,第一损失函数指示与训练图像对应的期望图像和预测图像之间的相似度。
本申请实施例中,训练设备在通过目标神经网络生成与训练图像对应的预测图像后,可以根据与训练图像对应的期望图像(也可以称为与训练图像对应的期望结果)和该预测图像,生成第一损失函数的函数值,并根据第一损失函数的函数值进行梯度求导并反向传播,以对整个目标神经网络的权重参数进行更新,从而完成对整个目标神经网络的一次训练。
其中,与训练图像对应的期望图像可以来源于目标神经网络的训练图像集合。第一损失函数指示与训练图像对应的期望图像和预测图像之间的相似度,第一损失函数可以采用L1损失函数、L2损失函数或其他损失函数等,此处不做限定,为更直观地理解本方案,如下以第一损失函数采用L1损失函数为例,公开第一损失函数的公式:
Lsr=||sr-hr||1;(1)
其中,Lsr代表第一损失函数,sr代表与训练图像对应的预期图像,hr代表目标神经网络输出的与训练图像对应的预测图像,||sr-hr||1代表取sr与hr之间差值的一范数,应理解,式(1)中的示例仅为方便理解本方案,不用于限定本方案。
可选地,步骤307可以包括:训练设备根据第一损失函数和第二损失函数,对目标神经网络进行训练。第一图像的N个区域中存在第二区域,与第二区域对应的频率波段最低,第二损失函数的训练目标为增大第二区域的区域范围。本申请实施例中,由于与N个区域中第二区域对应的频率波段最低,也即第一图像中位于第二区域的图像会通过计算量最小的分支进行处理,通过第二损失函数来增大第二区域的区域范围,以降低整个目标神经网络的计算量。
具体的,目标神经网络中包括一个或多个第二神经网络模块,训练设备根据每个第二神经网络模块生成的第一指示信息,生成第二损失函数的函数值,进而根据第一损失函数的函数值和第二损失函数的函数值生成总的函数值,根据总的函数值进行梯度求导并反向传播,以对整个目标神经网络的权重参数进行更新,从而完成对整个目标神经网络的一次训练。
其中,第二损失函数可以用于指示第一图像中位于第二区域的像素点的稀疏程度,则第二损失函数的训练目标为降低第一图像中位于第二区域的像素点的稀疏程度;或者,第二损失函数用于指示第一图像中位于第二区域之外的像素点的稀疏程度,则第二损失函数的训练目标为提高第一图像中位于第二区域之外的像素点的稀疏程度。为更直观地理解本方案,以下公开第二损失函数的一个示例:
其中,Lspa代表第二损失函数,式(2)中以目标神经网络对训练图像进行处理的过程中生成的特征图的尺寸均与训练图像的尺寸相同为例,式(2)代表第一图像中位于第二区域之外的像素点的稀疏程度,Cb代表目标神经网络配置的S个第一神经网络模块中第b个第一神经网络模块的计算量,b代表每个第一神经网络模块的索引,第一图像可以包括与多个通道对应的特征图,n代表第一图像中与一个通道对应的特征图中的像素数目,k表示分支索引,cK代表一个第一神经网络模块的第k个分支的计算量,α为一个超参数,应理解,式(2)中的示例仅为方便理解本方案,不用于限定本方案。
可选地,基于第二神经网络模块生成的第一指示信息对第一图像进行区域划分得到N个区域,若与前述N个区域对应的频率波段不同,则步骤306可以包括:训练设备根据第一损失函数和第三损失函数,对目标神经网络进行训练。其中,第三损失函数指示第一指示信息和第二指示信息之间的相似度,第二指示信息用于指示N个区域中每个区域的范围,第二指示信息为根据与训练图像对应的频域图,将频域图划分为与N个频率波段对应的N个区域,分别对与N个频率波段对应的N个区域进行逆变换得到的。进一步地,第三损失函数可以采用交叉熵损失函数、L1损失函数、L2损失函数或其他类型的损失函数等,此处不做限定。第三损失函数的训练目标为拉近第一指示信息和第二指示信息的相似度,第一指示信息可以理解为通过第二神经网络模块生成的一种预测信息,第二指示信息可以理解为与第一指示信息对应的一种期望信息。
具体的,目标神经网络中包括一个或多个第二神经网络模块,训练设备根据每个第二神经网络模块生成的第一指示信息和通过步骤302生成的第二指示信息,生成第三损失函数的函数值,进而根据第一损失函数的函数值和第三损失函数的函数值生成总的函数值,根据总的函数值进行梯度求导并反向传播,以对整个目标神经网络的权重参数进行更新,从而完成对整个目标神经网络的一次训练。
为更直观地理解本方案,以下以第三损失函数采用的为交叉熵损失函数为例,公开第三损失函数的一个示例:
其中,Ldct代表第三损失函数,b代表目标神经网络包括的S个第一神经网络模块中的一个第一神经网络模块的索引,Mb代表通过与索引为b的第一神经网络模块对应的第二神经网络模块生成的第一指示信息,D代表通过步骤302生成的与前述第一指示信息对应的第二指示信息,D代表的第二指示信息与前述第一指示信息的尺寸相同,应理解,式(3)中的示例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,利用第三损失函数来训练第二神经网络模块能够依据不同的频率波段对图像进行区域划分,并以生成第二指示信息作为训练目标,第二指示信息为根据与训练图像对应的频域图,将频域图划分为与N个频率波段对应的N个区域,分别对与N个频率波段对应的N个区域进行逆变换得到的,有利于加快第二神经网络模块的训练速度,以提高整个目标神经网络的训练速度。
进一步可选地,在目标神经网络的训练过程中,第三损失函数的权重系数逐渐减小。具体的,训练设备将第一损失函数的函数值与第三损失函数的函数值进行加权求和,以生成总的函数值。则训练设备上可以预先配置有衰减规则,训练设备可以对目标神经网络执行一次或多次训练操作后,根据该衰减规则减少第三损失函数的权重参数的取值,并在对目标神经网络执行后续训练操作中,使用减少后的权重参数。该衰减规则可以具体表现为线性的衰减函数、非线性的衰减函数或其他衰减规则。本申请实施例中,由于用于指示生成第二指示信息的N个频率波段是由技术人员预先配置于训练设备中的,且该N个频率波段是固定的,相对不够灵活,在目标神经网络的训练过程中,第三损失函数的权重系数逐渐减小,不仅有利于第二神经网络模块在初期快速学习基于频率波段对图像进行划分,而且在目标神经网络的训练后期,第三损失函数的权重系数会减小,促使第二神经网络模块的训练目标更加贴合于目标神经网络输出与理想图像相似的预测图像,也即有利于第二神经网络模块学习到更为精准的区域划分方式。
为更直观地理解本方案,以下公开总的损失函数的一个示例:
Lmask=Lspa+βLdct;(4)
其中,Lmask代表总的损失函数,Lspa代表第一损失函数,Ldct代表第三损失函数,β代表第三损失函数的权重参数,在利用式(4)对目标神经网络进行训练的过程中,β的取值逐渐减少,对于第一损失函数和第三损失函数的理解可参阅上述对式(1)和式(3)的描述,应理解,式(4)中的示例仅为方便理解本方案,不用于限定本方案。
可选地,步骤306可以包括:训练设备根据第一损失函数、第二损失函数和第三损失函数,对目标神经网络进行训练。前述步骤的具体实现方式、第一损失函数的含义、第二损失函数的含义和第三损失函数的含义均可参阅上述描述,此处不做赘述。
为更直观地理解本方案,以下公开总的损失函数的另一个示例:
L=Lspa+βLdct+Lsr;(5)
其中,L代表总的损失函数,Lspa代表第一损失函数,Ldct代表第三损失函数,β代表第三损失函数的权重参数,Lsr代表第二损失函数,对于第一损失函数、第二损失函数和第三损失函数的理解可参阅上述对式(1)、式(2)和式(3)的描述,应理解,式(4)中的示例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,执行过训练操作的目标神经网络中包括第一神经网络模块,第一神经网络模块中有M个分支,不同分支的计算量不同,可以通过计算量小的分支对图像中部分区域进行处理,以降低处理图像中部分区域的计算功耗,从而实现降低整个神经网络的计算功耗;本申请实施例提供了目标神经网络的训练过程,提高了本方案的完整性。
二、推理阶段
本申请实施例中,推理阶段描述的是执行设备210如何利用目标模型/规则201进行图像处理以生成预测图像的过程,具体的,请参阅图9,图9为本申请实施例提供的图像处理方法的一种流程示意图,本申请实施例提供的图像处理方法可以包括:
901、执行设备获取待处理图像和目标神经网络。
本申请实施例中,执行设备上配置有执行过训练操作的目标神经网络,也即配置有成熟的目标神经网络,执行设备在利用目标神经网络进行图像处理之前,会获取待处理图像,待处理图像可以为需要进行超分处理的图像、需要进行去噪处理的图像、需要进行去马赛克处理的图像等等,此处不做限定。对于目标神经网络的具体实现方式可参阅图3对应实施例中步骤301中的描述,此处不做赘述。
902、执行设备将第二图像输入第二神经网络模块,以通过第二神经网络模块对第二图像进行区域划分,得到第一指示信息,第一指示信息用于指示第一图像的N个区域中每个区域的范围。
903、执行设备将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果。
904、执行设备通过第一神经网络模块将与N个区域对应的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果,目标处理结果用于得到与待处理图像对应的预测图像。
本申请实施例中,步骤902至904的具体实现方式可参阅图3对应实施例中步骤304至306中的描述,区别在于需要将图3对应实施例中步骤304至306中的训练图像替换为本实施例中的待处理图像,对于步骤902至904中各个名词的含义,可参阅图3中的描述,此处均不做赘述。
本申请实施例中,用于进行图像处理的目标神经网络中包括第一神经网络模块,第一神经网络模块中有M个分支,不同分支的计算量不同,可以通过计算量小的分支对图像中部分区域进行处理,以降低处理图像中部分区域的计算功耗,从而实现降低整个神经网络的计算功耗。
为更直观地理解本申请实施例带来的有益效果,以下通过结合表1至表3中示出的实验数据进行说明,请先看表1,表1中以神经网络的任务为进行图像超分。
EDSR(秒) | 本申请实施例(秒) | |
CPU 1核 | 39.60 | 25.44 |
CPU 2核 | 20.08 | 13.74 |
CPU 4核 | 10.53 | 8.30 |
表1
如表1所示,表1中第二行的数据中本实验的硬件平台为CPU 1核,EDSR是一种图像超分辨率网络,若采用EDSR对一个图像进行超分处理所花费的时间为39.60秒,若采用本申请实施例提供的目标神经网络对一个图像进行超分处理所花费的时间为25.44秒;对表1中的第三行数据和第四行数据的理解可参阅前述对第二行数据的描述,通过上述对比可知,采用本申请实施例提供的目标神经网络对图像进行处理的速度大大加快。
请参阅表2,表2中以神经网络的任务为图像超分,采用的数据集为Urban100为例。
表2
如表2所示,峰值信噪比(peak signal to noise ratio,PSNR)和结构相似性(SSIM)是用于评价神经网络输出的预测图像与期望图像之间的相似度的两个指标,前述两个指标均为指标的取值越大,代表神经网络输出的预测图像与期望图像之间的相似度越高,FLOPs代表神经网络在进行图像超分处理过程中的计算量,EDSR和AdaEDSR是两个用于进行图像超分的神经网络。参阅表2可知,与EDSR这一神经网络对应的PSNR指标的值为28.80,与EDSR这一神经网络对应的SSIM指标的值为0.8653;与AdaEDSR这一神经网络对应的PSNR指标的值为28.78,与AdaEDSR这一神经网络对应的SSIM指标的值为0.8649;与本申请实施例提供的神经网络对应的PSNR指标的值为28.89,与本申请实施例提供的神经网络对应的SSIM指标的值为0.8668,也即采用本申请实施例提供的神经网络输出的预测图像的效果更好。且采用EDSR这一神经网络进行图像超分的计算量为3984.0,采用AdaEDSR这一神经网络进行图像超分的计算量为3314.2,采用本申请实施例提供的神经网络进行图像超分的计算量为2472.9,也即采用本申请实施例提供的神经网络进行图像处理时的计算量较小。
请参阅表3,表3是通过采用EDSR这一指标来证明三种不同的区域划分策略的优劣。
Set5 | Set14 | |
Random for blocks | 37.79 | 33.33 |
DCT变换 | 37.82 | 33.40 |
第二神经网络模块 | 37.92 | 33.49 |
表3
其中,Set5和Set14是两个不同的数据集,针对每个第一神经网络模块的执行过程,Random for blocks指的是将第一图像随机划分为N个区域,并将N个区域随机的输入第一神经网络模块的M个分支中;DCT变换指的是将第一图像采用DCT变换的方式转换到频域图,并将前述频域图划分成与N个频率波段对应的N个区域,再分别对与N个频率波段对应的N个区域进行逆DCT变换,以得到第一图像的N个区域,第一图像的N个区域中频率越低的区域与M个分支中计算量越小的分支对应;第三行指的是采用训练好的第二神经网络模块将第一图像划分为N个区域。当数据集采用Set5时,基于Random for blocks的方式进行区域划分得到的指标数值为37.79,基于DCT变换的方式进行区域划分得到的指标数值为37.82,基于第二神经网络模块的方式进行区域划分得到的指标数值为37.92,由此可知,基于第二神经网络模块的方式进行区域划分得到的预测图像的精度最高,对于数据集采用Set14的情况,可以参阅数据集为Set5的情况理解,此处不再赘述。
在图1至图9所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图10,图10为本申请实施例提供的图像处理装置的一种结构示意图,图像处理装置1000中配置有目标神经网络,目标神经网络为用于进行图像处理的神经网络,目标神经网络中存在至少一个第一神经网络模块,第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M为大于1的整数,图像处理装置1000包括:获取模块1001,用于通过第一神经网络模块从第一图像中获取第一区域的图像,其中,第一图像被分为N个区域,第一区域为N个区域中的任一个区域,N为大于1的整数;输入模块1002,用于将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果,其中,N个区域通过M个分支进行处理,目标分支为计算量不同的M个分支中与第一区域对应的一个分支;融合模块1003,用于通过第一神经网络模块将与N个区域对应的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果。
在一种可能的设计中,与第一图像的N个区域中不同区域对应的频率波段不同,第一图像的N个区域中频率越低的区域与M个分支中计算量越小的分支对应。
在一种可能的设计中,目标神经网络还包括第二神经网络模块;输入模块1002,还用于将第二图像输入第二神经网络模块,以通过第二神经网络模块对第二图像进行区域划分,得到第一指示信息,其中,第二图像与第一图像的尺寸相同,第一指示信息用于指示第一图像的N个区域中每个区域的范围;获取模块1001,具体用于将第一图像和第一指示信息输入第一神经网络模块,以通过第一神经网络模块从第一图像中获取第一区域的图像。
在一种可能的设计中,目标神经网络用于对输入的待处理图像进行处理后得到预测图像,目标神经网络通过第一损失函数和第二损失函数训练得到的;其中,第一损失函数指示与待处理图像对应的期望图像和预测图像之间的相似度,待处理图像和期望图像均来自于目标神经网络的训练数据集,第一图像的N个区域中存在第二区域,与第二区域对应的频率波段最低,第二损失函数的训练目标为增大第二区域的区域范围。
在一种可能的设计中,第二图像和第一图像为相同的图像,第一图像和第二图像为输入目标神经网络的待处理图像,或者,第一图像和第二图像为目标神经网络进行图像处理过程中生成的特征图。
需要说明的是,图像处理装置1000中各模块/单元之间的信息交互、执行过程等内容,与本申请中图9对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种神经网络的训练装置,参阅图11,图11为本申请实施例提供的神经网络的训练装置的一种结构示意图,神经网络为目标神经网络,所述目标神经网络用于进行图像处理以得到预测图像,所述目标神经网络包括至少一个第一神经网络模块,所述第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M为大于1的整数,神经网络的训练装置1100包括:获取模块1101,用于通过第一神经网络模块从第一图像中获取第一区域的图像,其中,第一图像为基于训练图像得到的,所述训练图像用于对所述目标神经网络进行训练,第一图像被分为N个区域,第一区域为N个区域中的任一个区域,N为大于1的整数;输入模块1102,用于将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果,其中,N个区域的图像通过M个分支进行处理,目标分支为计算量不同的M个分支中与第一区域对应的一个分支;融合模块1103,用于通过第一神经网络模块将M个分支生成的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果,目标处理结果用于得到预测图像;训练模块1104,用于根据第一损失函数,对目标神经网络进行训练,直至满足预设条件,第一损失函数指示与训练图像对应的期望图像和预测图像之间的相似度,训练图像和期望图像均来自于目标神经网络的训练数据集。
在一种可能的设计中,目标神经网络还包括第二神经网络模块;输入模块1102,还用于将第二图像输入第二神经网络模块,以通过第二神经网络模块对第二图像进行区域划分,得到第一指示信息,其中,第二图像与第一图像的尺寸相同,第一指示信息用于指示N个区域中每个区域的范围;获取模块1101,具体用于将第一图像和第一指示信息输入第一神经网络模块,以通过第一神经网络模块从第一图像中获取第一区域的图像。
在一种可能的设计中,训练模块1104,具体用于根据第一损失函数和第二损失函数,对目标神经网络进行训练,其中,第一图像的N个区域中存在第二区域,与第二区域对应的频率波段最低,第二损失函数的训练目标为增大第二区域的区域范围。
在一种可能的设计中,训练模块1104,具体用于根据第一损失函数和第三损失函数,对目标神经网络进行训练,第三损失函数指示第一指示信息和第二指示信息之间的相似度,第二指示信息用于指示第一图像的N个区域中每个区域的范围,第二指示信息为根据与训练图像对应的频域图,将频域图划分为与N个频率波段对应的N个区域,分别对与N个频率波段对应的N个区域进行逆变换得到的。
在一种可能的设计中,在目标神经网络的训练过程中,训练设备根据第一损失函数和第三损失函数,采用加权求和的方式以得到总的损失函数的函数值,随着目标神经网络的训练迭代次数的增加,第三损失函数的权重系数逐渐减小。
需要说明的是,神经网络的训练装置1100中各模块/单元之间的信息交互、执行过程等内容,与本申请中图3至图8对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
接下来介绍本申请实施例提供的一种执行设备,请参阅图12,图12为本申请实施例提供的执行设备的一种结构示意图,执行设备1200具体可以表现为虚拟现实VR设备、手机、平板、笔记本电脑、智能穿戴设备、监控数据处理设备或者雷达数据处理设备等,此处不做限定。其中,执行设备1200上可以部署有图10对应实施例中所描述的图像处理装置1000,用于实现图9对应实施例中执行设备的功能。具体的,执行设备1200包括:接收器1201、发射器1202、处理器1203和存储器1204(其中执行设备1200中的处理器1203的数量可以一个或多个,图12中以一个处理器为例),其中,处理器1203可以包括应用处理器12031和通信处理器12032。在本申请的一些实施例中,接收器1201、发射器1202、处理器1203和存储器1204可通过总线或其它方式连接。
存储器1204可以包括只读存储器和随机存取存储器,并向处理器1203提供指令和数据。存储器1204的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1204存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器1203控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线***耦合在一起,其中总线***除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线***。
上述本申请实施例揭示的方法可以应用于处理器1203中,或者由处理器1203实现。处理器1203可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1203中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1203可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1203可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1204,处理器1203读取存储器1204中的信息,结合其硬件完成上述方法的步骤。
接收器1201可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1202可用于通过第一接口输出数字或字符信息;发射器1202还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1202还可以包括显示屏等显示设备。
本申请实施例中,在一种情况下,处理器1203,用于执行图9对应实施例中的执行设备执行的图像处理方法。具体的,方法应用于目标神经网络,目标神经网络为用于进行图像处理的神经网络,目标神经网络中存在至少一个第一神经网络模块,第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M为大于1的整数,应用处理器12031,用于通过第一神经网络模块从第一图像中获取第一区域的图像,其中,第一图像被分为N个区域,第一区域为N个区域中的任一个区域,N为大于1的整数;将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果,其中,N个区域与M个分支对应,目标分支为M个分支中与第一区域对应的一个分支;通过第一神经网络模块将与N个区域对应的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果。
需要说明的是,应用处理器12031执行上述各个步骤的具体方式,与本申请中图9对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图9对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种训练设备,请参阅图13,图13是本申请实施例提供的训练设备一种结构示意图,训练设备1300上可以部署有图11对应实施例中所描述的神经网络的训练装置1100,用于实现图3至图8对应实施例中训练设备的功能,具体的,训练设备1300由一个或多个服务器实现,训练设备1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)1322(例如,一个或一个以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330通信,在训练设备1300上执行存储介质1330中的一系列指令操作。
训练设备1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作***1341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器1322,用于执行图3至图8对应实施例中的训练设备执行的图像处理方法。具体的,神经网络为目标神经网络,目标神经网络用于进行图像处理以得到预测图像,目标神经网络包括至少一个第一神经网络模块,第一神经网络模块包括M个分支,M个分支中不同分支的计算量不同,M为大于1的整数,中央处理器1322,用于通过第一神经网络模块从第一图像中获取第一区域的图像,其中,第一图像被分为N个区域,第一区域为N个区域中的任一个区域,N为大于1的整数;将第一区域的图像输入第一神经网络模块的目标分支中,得到目标分支生成的处理结果,其中,N个区域与M个分支对应,目标分支为M个分支中与第一区域对应的一个分支;通过第一神经网络模块将M个分支生成的处理结果进行融合,以得到第一神经网络模块生成的目标处理结果,目标处理结果用于得到预测图像;根据第一损失函数,对目标神经网络进行训练,直至满足预设条件,第一损失函数指示与训练图像对应的期望图像和预测图像之间的相似度,训练图像和期望图像均来自于目标神经网络的训练数据集。
需要说明的是,中央处理器1322执行上述各个步骤的具体方式,与本申请中图3至图8对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图3至图8对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图9所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图3至图8所示实施例描述的方法中训练设备所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述图9所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图3至图8所示实施例描述的方法中训练设备所执行的步骤。
本申请实施例提供的图像处理装置、神经网络的训练装置、执行设备以及训练设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使芯片执行上述图9所示实施例描述的图像处理方法,或者,以使芯片执行上述图3至图8所示实施例描述的神经网络的训练方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图14,图14为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 140,NPU 140作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1403,通过控制器1404控制运算电路1403提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1403内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1403是二维脉动阵列。运算电路1403还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1403是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1402中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1401中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1408中。
统一存储器1406用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1405,DMAC被搬运到权重存储器1402中。输入数据也通过DMAC被搬运到统一存储器1406中。
BIU为Bus Interface Unit即,总线接口单元1410,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1409的交互。
总线接口单元1410(Bus Interface Unit,简称BIU),用于取指存储器1409从外部存储器获取指令,还用于存储单元访问控制器1405从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1406或将权重数据搬运到权重存储器1402中或将输入数据数据搬运到输入存储器1401中。
向量计算单元1407包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1407能将经处理的输出的向量存储到统一存储器1406。例如,向量计算单元1407可以将线性函数和/或非线性函数应用到运算电路1403的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1407生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1403的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1404连接的取指存储器(instruction fetch buffer)1409,用于存储控制器1404使用的指令;统一存储器1406,输入存储器1401,权重存储器1402以及取指存储器1409均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,图3至图9示出的目标神经网络中各层的运算可以由运算电路1403或向量计算单元1407执行。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (23)
1.一种图像处理方法,其特征在于,所述方法应用于目标神经网络,所述目标神经网络为用于进行图像处理的神经网络,所述目标神经网络中存在至少一个第一神经网络模块,所述第一神经网络模块包括M个分支,所述M个分支中不同分支的计算量不同,所述M为大于1的整数,所述方法包括:
通过所述第一神经网络模块从第一图像中获取第一区域的图像,其中,所述第一图像被分为N个区域,所述第一区域为所述N个区域中的任一个区域,所述N为大于1的整数;
将所述第一区域的图像输入所述第一神经网络模块的目标分支中,得到所述目标分支生成的处理结果,其中,所述N个区域的图像通过所述M个分支进行处理,所述目标分支为计算量不同的所述M个分支中与所述第一区域对应的一个分支,从所述M个分支中确定与所述第一区域对应的所述目标分支的确定因素包括所述目标分支的计算量;
通过所述第一神经网络模块将与所述N个区域对应的处理结果进行融合,以得到所述第一神经网络模块生成的目标处理结果。
2.根据权利要求1所述的方法,其特征在于,所述第一图像的N个区域中不同区域对应的频率波段不同,所述第一图像的N个区域中频率越低的区域与所述M个分支中计算量越小的分支对应。
3.根据权利要求2所述的方法,其特征在于,所述目标神经网络还包括第二神经网络模块,所述方法还包括:
将第二图像输入所述第二神经网络模块,以通过所述第二神经网络模块对所述第二图像进行区域划分,得到第一指示信息,其中,所述第二图像与所述第一图像的尺寸相同,所述第一指示信息用于指示所述第一图像的N个区域中每个区域的范围;
所述通过所述第一神经网络模块从第一图像中获取第一区域的图像,包括:
将所述第一图像和所述第一指示信息输入所述第一神经网络模块,以通过所述第一神经网络模块从所述第一图像中获取所述第一区域的图像。
4.根据权利要求3所述的方法,其特征在于,所述目标神经网络用于对输入的待处理图像进行处理后得到预测图像,所述目标神经网络通过第一损失函数和第二损失函数训练得到的;
其中,所述第一损失函数指示与所述待处理图像对应的期望图像和所述预测图像之间的相似度,所述待处理图像和所述期望图像均来自于所述目标神经网络的训练数据集,所述第一图像的N个区域中存在第二区域,与所述第二区域对应的频率波段最低,所述第二损失函数的训练目标为增大所述第二区域的区域范围。
5.根据权利要求3所述的方法,其特征在于,所述第二图像和所述第一图像为相同的图像,所述第一图像和所述第二图像为输入所述目标神经网络的待处理图像,或者,所述第一图像和所述第二图像为所述目标神经网络进行图像处理过程中生成的特征图。
6.一种神经网络的训练方法,其特征在于,所述神经网络为目标神经网络,所述目标神经网络用于进行图像处理以得到预测图像,所述目标神经网络包括至少一个第一神经网络模块,所述第一神经网络模块包括M个分支,所述M个分支中不同分支的计算量不同,所述M为大于1的整数,所述方法包括:
通过所述第一神经网络模块从第一图像中获取第一区域的图像,其中,所述第一图像是基于训练图像得到的,所述训练图像用于对所述目标神经网络进行训练,所述第一图像被分为N个区域,所述第一区域为所述N个区域中的任一个区域,所述N为大于1的整数;
将所述第一区域的图像输入所述第一神经网络模块的目标分支中,得到所述目标分支生成的处理结果,其中,所述N个区域的图像通过所述M个分支进行处理,所述目标分支为计算量不同的所述M个分支中与所述第一区域对应的一个分支,从所述M个分支中确定与所述第一区域对应的所述目标分支的确定因素包括所述目标分支的计算量;
通过所述第一神经网络模块将所述M个分支生成的处理结果进行融合,以得到所述第一神经网络模块生成的目标处理结果,所述目标处理结果用于得到所述预测图像;
根据第一损失函数,对所述目标神经网络进行训练,直至满足预设条件,所述第一损失函数指示与所述训练图像对应的期望图像和所述预测图像之间的相似度,所述训练图像和所述期望图像均来自于所述目标神经网络的训练数据集。
7.根据权利要求6所述的方法,其特征在于,所述目标神经网络还包括第二神经网络模块,所述方法还包括:
将第二图像输入所述第二神经网络模块,以通过所述第二神经网络模块对所述第二图像进行区域划分,得到第一指示信息,其中,所述第二图像与所述第一图像的尺寸相同,所述第一指示信息用于指示所述第一图像的N个区域中每个区域的范围;
所述通过所述第一神经网络模块从第一图像中获取第一区域的图像,包括:
将所述第一图像和所述第一指示信息输入所述第一神经网络模块,以通过所述第一神经网络模块从所述第一图像中获取所述第一区域的图像。
8.根据权利要求7所述的方法,其特征在于,所述根据第一损失函数,对所述目标神经网络进行训练,包括:
根据所述第一损失函数和第二损失函数,对所述目标神经网络进行训练,其中,所述第一图像的N个区域中存在第二区域,与所述第二区域对应的频率波段最低,所述第二损失函数的训练目标为增大所述第二区域的区域范围。
9.根据权利要求7所述的方法,其特征在于,所述根据第一损失函数,对所述目标神经网络进行训练,包括:
根据所述第一损失函数和第三损失函数,对所述目标神经网络进行训练,所述第三损失函数指示所述第一指示信息和第二指示信息之间的相似度,所述第二指示信息用于指示所述第一图像的N个区域中每个区域的范围,所述第二指示信息为根据与所述训练图像对应的频域图,将所述频域图划分为与N个频率波段对应的N个区域,分别对与所述N个频率波段对应的N个区域进行逆变换得到的。
10.根据权利要求9所述的方法,其特征在于,在所述目标神经网络的训练过程中,训练设备根据所述第一损失函数和所述第三损失函数,采用加权求和的方式以得到总的损失函数的函数值,所述第三损失函数的权重系数随着所述目标神经网络的训练迭代次数的增加逐渐减小。
11.一种图像处理装置,其特征在于,所述图像处理装置中配置有目标神经网络,所述目标神经网络为用于进行图像处理的神经网络,所述目标神经网络中存在至少一个第一神经网络模块,所述第一神经网络模块包括M个分支,所述M个分支中不同分支的计算量不同,所述M为大于1的整数,所述装置包括:
获取模块,用于通过所述第一神经网络模块从第一图像中获取第一区域的图像,其中,所述第一图像被分为N个区域,所述第一区域为所述N个区域中的任一个区域,所述N为大于1的整数;
输入模块,用于将所述第一区域的图像输入所述第一神经网络模块的目标分支中,得到所述目标分支生成的处理结果,其中,所述N个区域的图像通过所述M个分支进行处理,所述目标分支为计算量不同的所述M个分支中与所述第一区域对应的一个分支,从所述M个分支中确定与所述第一区域对应的所述目标分支的确定因素包括所述目标分支的计算量;
融合模块,用于通过所述第一神经网络模块将与所述N个区域对应的处理结果进行融合,以得到所述第一神经网络模块生成的目标处理结果。
12.根据权利要求11所述的装置,其特征在于,与所述第一图像的N个区域中不同区域对应的频率波段不同,所述第一图像的N个区域中频率越低的区域与所述M个分支中计算量越小的分支对应。
13.根据权利要求12所述的装置,其特征在于,所述目标神经网络还包括第二神经网络模块;
所述输入模块,还用于将第二图像输入所述第二神经网络模块,以通过所述第二神经网络模块对所述第二图像进行区域划分,得到第一指示信息,其中,所述第二图像与所述第一图像的尺寸相同,所述第一指示信息用于指示所述第一图像的N个区域中每个区域的范围;
所述获取模块,具体用于将所述第一图像和所述第一指示信息输入所述第一神经网络模块,以通过所述第一神经网络模块从所述第一图像中获取所述第一区域的图像。
14.根据权利要求13所述的装置,其特征在于,所述目标神经网络用于对输入的待处理图像进行处理后得到预测图像,所述目标神经网络通过第一损失函数和第二损失函数训练得到的;
其中,所述第一损失函数指示与所述待处理图像对应的期望图像和所述预测图像之间的相似度,所述待处理图像和所述期望图像均来自于所述目标神经网络的训练数据集,所述第一图像的N个区域中存在第二区域,与所述第二区域对应的频率波段最低,所述第二损失函数的训练目标为增大所述第二区域的区域范围。
15.根据权利要求13所述的装置,其特征在于,所述第二图像和所述第一图像为相同的图像,所述第一图像和所述第二图像为输入所述目标神经网络的待处理图像,或者,所述第一图像和所述第二图像为所述目标神经网络进行图像处理过程中生成的特征图。
16.一种神经网络的训练装置,其特征在于,所述神经网络为目标神经网络,所述目标神经网络用于进行图像处理以得到预测图像,所述目标神经网络包括至少一个第一神经网络模块,所述第一神经网络模块包括M个分支,所述M个分支中不同分支的计算量不同,所述M为大于1的整数,所述装置包括:
获取模块,用于通过所述第一神经网络模块从第一图像中获取第一区域的图像,其中,所述第一图像是基于训练图像得到的,所述训练图像用于对所述目标神经网络进行训练,所述第一图像被分为N个区域,所述第一区域为所述N个区域中的任一个区域,所述N为大于1的整数;
输入模块,用于将所述第一区域的图像输入所述第一神经网络模块的目标分支中,得到所述目标分支生成的处理结果,其中,所述N个区域的图像通过所述M个分支进行处理,所述目标分支为计算量不同的所述M个分支中与所述第一区域对应的一个分支,从所述M个分支中确定与所述第一区域对应的所述目标分支的确定因素包括所述目标分支的计算量;
融合模块,用于通过所述第一神经网络模块将所述M个分支生成的处理结果进行融合,以得到所述第一神经网络模块生成的目标处理结果,所述目标处理结果用于得到所述预测图像;
训练模块,用于根据第一损失函数,对所述目标神经网络进行训练,直至满足预设条件,所述第一损失函数指示与所述训练图像对应的期望图像和所述预测图像之间的相似度,所述训练图像和所述期望图像均来自于所述目标神经网络的训练数据集。
17.根据权利要求16所述的装置,其特征在于,所述目标神经网络还包括第二神经网络模块;
所述输入模块,还用于将第二图像输入所述第二神经网络模块,以通过所述第二神经网络模块对所述第二图像进行区域划分,得到第一指示信息,其中,所述第二图像与所述第一图像的尺寸相同,所述第一指示信息用于指示所述N个区域中每个区域的范围;
所述获取模块,具体用于将所述第一图像和所述第一指示信息输入所述第一神经网络模块,以通过所述第一神经网络模块从所述第一图像中获取所述第一区域的图像。
18.根据权利要求17所述的装置,其特征在于,
所述训练模块,具体用于根据所述第一损失函数和第二损失函数,对所述目标神经网络进行训练,其中,所述第一图像的N个区域中存在第二区域,与所述第二区域对应的频率波段最低,所述第二损失函数的训练目标为增大所述第二区域的区域范围。
19.根据权利要求17所述的装置,其特征在于,
所述训练模块,具体用于根据所述第一损失函数和第三损失函数,对所述目标神经网络进行训练,所述第三损失函数指示所述第一指示信息和第二指示信息之间的相似度,所述第二指示信息用于指示所述第一图像的N个区域中每个区域的范围,所述第二指示信息为根据与所述训练图像对应的频域图,将所述频域图划分为与N个频率波段对应的N个区域,分别对与所述N个频率波段对应的N个区域进行逆变换得到的。
20.根据权利要求19所述的装置,其特征在于,在所述目标神经网络的训练过程中,训练设备根据所述第一损失函数和所述第三损失函数,采用加权求和的方式以得到总的损失函数的函数值,所述第三损失函数的权重系数随着所述目标神经网络的训练迭代次数的增加逐渐减小。
21.一种计算机可读存储介质,其特征在于,包括程序,当所述程序在计算机上运行时,使得计算机执行如权利要求1至5中任一项所述的方法,或者,使得计算机执行如权利要求6至10中任意一项所述的方法。
22.一种执行设备,其特征在于,包括处理器和存储器,所述处理器与所述存储器耦合,
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述执行设备执行如权利要求1至5中任一项所述的方法。
23.一种训练设备,其特征在于,包括处理器和存储器,所述处理器与所述存储器耦合,
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述训练设备执行如权利要求6至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110221909.XA CN113065997B (zh) | 2021-02-27 | 2021-02-27 | 一种图像处理方法、神经网络的训练方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110221909.XA CN113065997B (zh) | 2021-02-27 | 2021-02-27 | 一种图像处理方法、神经网络的训练方法以及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113065997A CN113065997A (zh) | 2021-07-02 |
CN113065997B true CN113065997B (zh) | 2023-11-17 |
Family
ID=76559227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110221909.XA Active CN113065997B (zh) | 2021-02-27 | 2021-02-27 | 一种图像处理方法、神经网络的训练方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065997B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114821096A (zh) * | 2022-03-25 | 2022-07-29 | 华为技术有限公司 | 一种图像处理方法、神经网络的训练方法以及相关设备 |
CN115205120A (zh) * | 2022-07-26 | 2022-10-18 | 中国电信股份有限公司 | 图像处理方法、图像处理装置、介质及电子设备 |
CN116055895B (zh) * | 2023-03-29 | 2023-08-22 | 荣耀终端有限公司 | 图像处理方法及其装置、芯片***和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108596841A (zh) * | 2018-04-08 | 2018-09-28 | 西安交通大学 | 一种并行实现图像超分辨率及去模糊的方法 |
CN109919874A (zh) * | 2019-03-07 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
CN111105376A (zh) * | 2019-12-19 | 2020-05-05 | 电子科技大学 | 基于双分支神经网络的单曝光高动态范围图像生成方法 |
WO2020186883A1 (zh) * | 2019-03-18 | 2020-09-24 | 北京市商汤科技开发有限公司 | 注视区域检测及神经网络训练的方法、装置和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8073280B2 (en) * | 2006-05-16 | 2011-12-06 | Panasonic Corporation | Image processing apparatus and image processing program for correcting image degradation |
CN109344840B (zh) * | 2018-08-07 | 2022-04-01 | 深圳市商汤科技有限公司 | 图像处理方法和装置、电子设备、存储介质、程序产品 |
-
2021
- 2021-02-27 CN CN202110221909.XA patent/CN113065997B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108596841A (zh) * | 2018-04-08 | 2018-09-28 | 西安交通大学 | 一种并行实现图像超分辨率及去模糊的方法 |
CN109919874A (zh) * | 2019-03-07 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
WO2020186883A1 (zh) * | 2019-03-18 | 2020-09-24 | 北京市商汤科技开发有限公司 | 注视区域检测及神经网络训练的方法、装置和设备 |
CN111105376A (zh) * | 2019-12-19 | 2020-05-05 | 电子科技大学 | 基于双分支神经网络的单曝光高动态范围图像生成方法 |
Non-Patent Citations (4)
Title |
---|
Deep Graph-Convolutional Image Denoising;Diego Valsesia et al;《arXiv》;20190219;第1-5页 * |
基于深度学习的图像超分辨率重建研究;鲁甜;《中国优秀硕士学位论文全文数据库》;20210115;正文第4-5、33-34页 * |
模糊神经网络像素分类的稀疏表示医学CT图像去噪方法;孙云山等;《信号处理》;20151031;第31卷(第10期);第1355-1358页 * |
鲁甜.基于深度学习的图像超分辨率重建研究.中国优秀硕士学位论文全文数据库》.正文第4-5、33-34页. * |
Also Published As
Publication number | Publication date |
---|---|
CN113065997A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021190127A1 (zh) | 一种数据处理方法和数据处理设备 | |
CN111401516B (zh) | 一种神经网络通道参数的搜索方法及相关设备 | |
CN113065997B (zh) | 一种图像处理方法、神经网络的训练方法以及相关设备 | |
CN111401406B (zh) | 一种神经网络训练方法、视频帧处理方法以及相关设备 | |
CN113065636B (zh) | 一种卷积神经网络的剪枝处理方法、数据处理方法及设备 | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
CN112418392A (zh) | 一种神经网络构建方法以及装置 | |
WO2021218471A1 (zh) | 一种用于图像处理的神经网络以及相关设备 | |
WO2023202511A1 (zh) | 一种数据的处理方法、神经网络的训练方法以及相关设备 | |
CN111414915B (zh) | 一种文字识别方法以及相关设备 | |
CN108171328B (zh) | 一种神经网络处理器和采用其执行的卷积运算方法 | |
CN113095475A (zh) | 一种神经网络的训练方法、图像处理方法以及相关设备 | |
WO2022100607A1 (zh) | 一种神经网络结构确定方法及其装置 | |
US20240135174A1 (en) | Data processing method, and neural network model training method and apparatus | |
CN114821096A (zh) | 一种图像处理方法、神经网络的训练方法以及相关设备 | |
CN112529068A (zh) | 一种多视图图像分类方法、***、计算机设备和存储介质 | |
CN111652349A (zh) | 一种神经网络的处理方法及相关设备 | |
CN113065634B (zh) | 一种图像处理方法、神经网络的训练方法以及相关设备 | |
CN113627421A (zh) | 一种图像处理方法、模型的训练方法以及相关设备 | |
WO2022052647A1 (zh) | 一种数据处理方法、神经网络的训练方法以及相关设备 | |
CN115907041A (zh) | 一种模型训练方法及装置 | |
CN112183725B (zh) | 提供神经网络的方法、计算装置和计算机可读存储介质 | |
CN114841361A (zh) | 一种模型训练方法及其相关设备 | |
CN115601513A (zh) | 一种模型超参数的选择方法及相关装置 | |
CN115146757A (zh) | 一种神经网络模型的训练方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |