训练方法和训练装置、图像数据处理方法和装置、电子设备及存储介质转让专利

申请号 : CN202110604844.7

文献号 : CN113422950B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢秀峰刘霁

申请人 : 北京达佳互联信息技术有限公司

摘要 :

本公开关于图像数据处理模型的训练方法和训练装置。所述训练方法包括:将样本图像数据输入到图像数据处理模型,图像数据处理模型包括图像压缩编码器、图像解码器和图像处理模块,图像压缩编码器对样本图像数据压缩编码,图像解码器对压缩编码的图像数据解码,图像处理模块对解码的图像数据进行图像处理以获取图像处理预测结果;基于图像处理预测结果和与预设目标结果,确定第一损失函数,基于压缩编码的图像数据和图像压缩编码器的压缩参数确定约束条件,并根据第一损失函数和约束条件确定第二损失函数,其中,压缩参数为图像压缩编码器对样本图像数据压缩编码所使用的参数;基于第二损失函数对图像压缩编码器以及图像数据处理模块进行联合训练。

权利要求 :

1.一种图像数据处理模型的训练方法,其特征在于,所述训练方法包括:

将样本图像数据输入到所述图像数据处理模型,其中,所述图像数据处理模型包括图像压缩编码器、图像解码器和图像处理模块,所述图像压缩编码器对所述样本图像数据进行压缩编码以获取压缩编码的图像数据,所述图像解码器对所述压缩编码的图像数据进行解码以获取解码的图像数据,所述图像处理模块对所述解码的图像数据进行图像处理以获取图像处理预测结果;

基于所述图像处理预测结果和与所述样本图像数据对应的预设目标结果,确定第一损失函数,基于所述压缩编码的图像数据和所述图像压缩编码器的压缩参数确定约束条件,并根据所述第一损失函数和所述约束条件确定第二损失函数,其中,所述压缩参数为所述图像压缩编码器对所述样本图像数据进行压缩编码所使用的参数;

基于所述第二损失函数对所述图像压缩编码器以及所述图像数据处理模块进行联合训练,得到经过训练的图像数据处理模型,其中,所述基于所述第二损失函数对所述图像压缩编码器以及所述图像数据处理模块进行联合训练,包括:对所述图像压缩编码器的所述压缩参数、所述图像处理模块的参数以及对偶变量进行训练,直至所述第二损失函数的值满足预设条件,其中,所述对偶变量是通过使用拉格朗日乘子法对由所述第一损失函数和所述约束条件构成的最优化模型进行转化时产生的。

2.如权利要求1所述的训练方法,其特征在于,所述约束条件为通过使用所述压缩参数对所述样本图像数据进行压缩编码得到的所述压缩编码的图像数据的数据量不大于预设的目标阈值。

3.如权利要求1所述的训练方法,其特征在于,所述压缩参数是所述图像压缩编码器的频谱量化表。

4.如权利要求3所述的训练方法,其特征在于,所述频谱量化表是通过将所述频谱量化表中的取整函数近似为可导函数而得到的。

5.如权利要求1所述的训练方法,其特征在于,用于确定所述压缩编码的图像数据的数据量的数据量函数是通过将所述数据量函数中的至少一个不可导函数近似为可导函数而得到的。

6.一种图像数据处理方法,其特征在于,所述图像数据处理方法包括:

通过图像压缩编码器对输入图像数据进行压缩编码以获取压缩编码的图像数据;

通过图像解码器对所述压缩编码的图像数据进行解码以获取解码的图像数据;

通过图像处理模块对所述解码的图像数据进行图像处理以获取图像处理预测结果,其中,所述图像压缩编码器、所述图像解码器和所述图像处理模块构成图像数据处理模型,并且所述图像处理模型是通过如权利要求1至5中任意一项所述的图像数据处理模型的训练方法得到的。

7.如权利要求6所述的图像数据处理方法,其特征在于,所述图像压缩编码器为布置在终端设备上的JPEG编码器,并且所述图像解码器和所述图像处理模型布置在与所述终端设备通信的服务器上。

8.一种图像数据处理模型的训练装置,其特征在于,所述训练装置包括:

预测结果获取单元,被配置为:将样本图像数据输入到所述图像数据处理模型,其中,所述图像数据处理模型包括图像压缩编码器、图像解码器和图像处理模块,所述图像压缩编码器对所述样本图像数据进行压缩编码以获取压缩编码的图像数据,所述图像解码器对所述压缩编码的图像数据进行解码以获取解码的图像数据,所述图像处理模块对所述解码的图像数据进行图像处理以获取图像处理预测结果;

损失函数确定单元,被配置为:基于所述图像处理预测结果和与所述样本图像数据对应的预设目标结果,确定第一损失函数,基于所述压缩编码的图像数据和所述图像压缩编码器的压缩参数确定约束条件,并根据所述第一损失函数和所述约束条件确定第二损失函数,其中,所述压缩参数为所述图像压缩编码器对所述样本图像数据进行压缩编码所使用的参数;

训练单元,被配置为:基于所述第二损失函数对所述图像压缩编码器以及所述图像数据处理模块进行联合训练,得到经过训练的图像数据处理模型,其中,所述训练单元被配置为:对所述压缩参数、所述图像处理模块的参数以及对偶变量进行训练,直至所述第二损失函数的值满足预设条件,其中,所述对偶变量是通过使用拉格朗日乘子法对由所述第一损失函数和所述约束条件构成的最优化模型进行转化时产生的。

9.如权利要求8所述的训练装置,其特征在于,所述约束条件为通过使用所述压缩参数对所述样本图像数据进行压缩编码得到的所述压缩编码的图像数据的数据量不大于预设的目标阈值。

10.如权利要求8所述的训练装置,其特征在于,所述压缩参数是所述图像压缩编码器的频谱量化表。

11.如权利要求10所述的训练装置,其特征在于,所述频谱量化表是通过将所述频谱量化表中的取整函数近似为可导函数而得到的。

12.如权利要求8所述的训练装置,其特征在于,用于确定所述压缩编码的图像数据的数据量的数据量函数是通过将所述数据量函数中的至少一个不可导函数近似为可导函数而得到的。

13.一种图像数据处理装置,其特征在于,所述图像数据处理装置包括:

图像压缩编码器,被配置为:对输入图像数据进行压缩编码以获取压缩编码的图像数据;

图像解码器,被配置为:对所述压缩编码的图像数据进行解码以获取解码的图像数据;

图像处理模块,被配置为:对所述解码的图像数据进行图像处理以获取图像处理预测结果,其中,所述图像压缩编码器、所述图像解码器和所述图像处理模块构成图像数据处理模型,并且所述图像处理模型是通过如权利要求1至5中任意一项所述的图像数据处理模型的训练方法得到的。

14.如权利要求13所述的图像数据处理装置,其特征在于,所述图像压缩编码器为布置在终端设备上的JPEG编码器,并且所述图像解码器和所述图像处理模型布置在与所述终端设备通信的服务器上。

15.一种电子设备,其特征在于,所述电子设备包括:

至少一个处理器;

至少一个存储计算机可执行指令的存储器,

其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1‑5中任意一项所述的图像数据处理模型的训练方法或者如权利要求

6和7中任意一项所述的图像数据处理方法。

16.一种计算机可读存储介质,其特征在于,当存储在所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1‑5中任意一项所述的图像数据处理模型的训练方法或者如权利要求6和7中任意一项所述的图像数据处理方法。

说明书 :

训练方法和训练装置、图像数据处理方法和装置、电子设备及

存储介质

技术领域

[0001] 本公开涉及图像数据处理技术,更具体地说,涉及一种图像数据处理装置的训练方法和训练装置。

背景技术

[0002] 基于神经网络的人工智能(AI)推理已经在物联网中得到广泛应用,例如,智能可视门铃等应用可以通过神经网络推理实现人脸识别以及异常行为检测报警等复杂功能。然而,直接在物联网设备上运行神经网络在通常情况下是不可行的。其原因是,这些物联网设备通常成本较低,由电池驱动,运算能力很弱甚至没有。因此,为了实现对物联网数据的AI推理,目前较为常用的技术手段是将物联网设备采集到的图像或视频信息通过无线上行链路传输到边缘计算服务器(例如带有图形处理器(GPU)或者神经网络处理器(NPU) 的移动终端)或者云计算服务器上。对这些图像或视频信息的复杂神经网络推理由这些计算服务器运行。在如上所述的物联网数据AI推理架构中,无线上行链路有限的频谱带宽是整个系统的瓶颈,限制了这种分布式的图像数据处理模型的可扩展性。

发明内容

[0003] 本公开提供一种图像数据处理模型的训练方法和训练装置,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
[0004] 根据本公开实施例的第一方面,提供一种图像数据处理模型的训练方法,所述训练方法包括:将样本图像数据输入到所述图像数据处理模型,其中,所述图像数据处理模型包括图像压缩编码器、图像解码器和图像处理模块,所述图像压缩编码器对所述样本图像数据进行压缩编码以获取压缩编码的图像数据,所述图像解码器对所述压缩编码的图像数据进行解码以获取解码的图像数据,所述图像处理模块对所述解码的图像数据进行图像处理以获取所述图像处理预测结果;基于所述图像处理预测结果和与所述样本图像数据对应的预设目标结果,确定第一损失函数,基于所述压缩编码的图像数据和所述图像压缩编码器的压缩参数确定约束条件,并根据所述第一损失函数和所述约束条件确定第二损失函数,其中,所述压缩参数为所述图像压缩编码器对所述样本图像数据进行压缩编码所使用的参数;基于所述第二损失函数对所述图像压缩编码器以及所述图像数据处理模块进行联合训练,得到经过训练的图像数据处理模型。
[0005] 可选地,所述约束条件可为通过使用所述压缩参数对所述样本图像数据进行压缩编码得到的所述压缩编码的图像数据的数据量不大于预设的目标阈值。
[0006] 可选地,所述基于所述第二损失函数对所述图像压缩编码器以及所述图像数据处理模块进行联合训练,可包括:对所述压缩参数、所述图像处理模块的参数以及对偶变量进行训练,直至所述第二损失函数的值满足预设条件,其中,所述对偶变量是通过使用拉格朗日乘子法对由所述第一损失函数和所述约束条件构成的最优化模型进行转化时产生的。
[0007] 可选地,所述压缩参数可以是所述图像压缩编码器的频谱量化表。
[0008] 可选地,所述频谱量化表可以是通过将所述频谱量化表中的取整函数近似为可导函数而得到的。
[0009] 可选地,用于确定所述压缩编码的图像数据的数据量的数据量函数可以是通过将所述数据量函数中的至少一个不可导函数近似为可导函数而得到的。
[0010] 根据本公开实施例的第二方面,提供一种图像数据处理方法,所述图像数据处理方法包括:通过图像压缩编码器对输入图像数据进行压缩编码以获取压缩编码的图像数据;通过图像解码器对所述压缩编码的图像数据进行解码以获取解码的图像数据;通过图像处理模块对所述解码的图像数据进行图像处理以获取图像处理预测结果,其中,所述图像压缩编码器所述图像压缩编码器、所述图像解码器和所述图像处理模块构成图像数据处理模型,并且所述图像处理模型是通过如上所述的图像数据处理模型的训练方法得到的。
[0011] 可选地,所述图像压缩编码器可为布置在终端设备上的JPEG编码器,并且所述图像解码器和所述图像处理模型可布置在与所述终端设备通信的服务器上。
[0012] 根据本公开实施例的第三方面,提供一种图像数据处理模型的训练装置,所述训练装置包括:预测结果获取单元,被配置为:将样本图像数据输入到所述图像数据处理模型,其中,所述图像数据处理模型包括图像压缩编码器、图像解码器和图像处理模块,所述图像压缩编码器对所述样本图像数据进行压缩编码以获取压缩编码的图像数据,所述图像解码器对所述压缩编码的图像数据进行解码以获取解码的图像数据,所述图像处理模块对所述解码的图像数据进行图像处理以获取所述图像处理预测结果;损失函数确定单元,被配置为:基于所述图像处理预测结果和与所述样本图像数据对应的预设目标结果,确定第一损失函数,基于所述压缩编码的图像数据和所述图像压缩编码器的压缩参数确定约束条件,并根据所述第一损失函数和所述约束条件确定第二损失函数,其中,所述压缩参数为所述图像压缩编码器对所述样本图像数据进行压缩编码所使用的参数;训练单元,被配置为:基于所述第二损失函数对所述图像压缩编码器以及所述图像数据处理模块进行联合训练,得到经过训练的图像数据处理模型。
[0013] 可选地,所述约束条件可为通过使用所述压缩参数对所述样本图像数据进行压缩编码得到的所述压缩编码的图像数据的数据量不大于预设的目标阈值。
[0014] 可选地,所述训练单元可被配置为:对所述压缩参数、所述图像处理模块的参数以及对偶变量进行训练,直至所述第二损失函数的值满足预设条件,其中,所述对偶变量是通过使用拉格朗日乘子法对由所述第一损失函数和所述约束条件构成的最优化模型进行转化时产生的。
[0015] 可选地,所述压缩参数可以是所述图像压缩编码器的频谱量化表。
[0016] 可选地,所述频谱量化表可以是通过将所述频谱量化表中的取整函数近似为可导函数而得到的。
[0017] 可选地,用于确定所述压缩编码的图像数据的数据量的数据量函数可以是通过将所述数据量函数中的至少一个不可导函数近似为可导函数而得到的。
[0018] 根据本公开实施例的第四方面,提供一种图像数据处理装置,所述图像数据处理装置包括:图像压缩编码器,被配置为:对输入图像数据进行压缩编码以获取压缩编码的图像数据;图像解码器,被配置为:对所述压缩编码的图像数据进行解码以获取解码的图像数据;图像处理模块,被配置为:对所述解码的图像数据进行图像处理以获取图像处理预测结果,其中,所述图像压缩编码器、所述图像解码器和所述图像处理模块构成图像数据处理模型,并且所述图像处理模型是通过如上所述的图像数据处理模型的训练方法得到的。
[0019] 可选地,所述图像压缩编码器可为布置在终端设备上的JPEG编码器,并且所述图像解码器和所述图像处理模型可布置在与所述终端设备通信的服务器上。
[0020] 根据本公开实施例的第五方面,提供一种电子设备,所述电子设备包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的图像数据处理模型的训练方法或者图像数据处理方法。
[0021] 根据本公开实施例的第六方面,提供一种计算机可读存储介质,当存储在所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的图像数据处理模型的训练方法或者图像数据处理方法。
[0022] 根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机指令,当所述计算机指令被至少一个处理器执行时实现如上所述的图像数据处理模型的训练方法或者图像数据处理方法。
[0023] 本公开的实施例提供的技术方案至少带来以下有益效果:
[0024] 通过应用根据本公开的实施例的图像数据处理模型的训练方法和训练装置,可以在物联网设备上进行针对神经网络的图像处理效果优化的图像压缩编码,并且训练后的图像压缩编码器和神经网络可以彼此匹配。同时,通过应用根据本公开的实施例的图像数据处理模型的训练方法和训练装置,训练后的图像压缩编码器与传统的编码器相比没有额外的运行开销,本质上只是替换了压缩参数。此外,训练后的图像压缩编码器与现有编码格式完全兼容,易于在实际中部署。具有压缩编码能力的物联网设备都可以使用根据本公开的实施例的图形数据处理模型的训练方法和训练装置训练的图像压缩编码器,并通过训练后的图像压缩编码器进行压缩编码,而压缩编码的图像数据可以容易地通过传统的图像解码器进行解码。另一方面,通过应用根据本公开的实施例的图像数据处理模型的训练方法和训练装置,用于预测处理的神经网络与图像压缩编码器一起被训练从而彼此完全匹配,因此在压缩编码的图像数据的数据量相同的情况下,神经网络的推理准确率得到显著的提高。
[0025] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0026] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0027] 图1是示出神经网络与人眼的频谱敏感度对比的示图。
[0028] 图2是示出根据本公开的实施例的图像压缩编码器的训练方法的构思的示图。
[0029] 图3是示出根据本公开的实施例的图像数据处理模型的训练方法的流程图。
[0030] 图4是示出使用tanh函数替换取整函数的示图。
[0031] 图5是示出根据本公开的实施例的图像数据处理方法的流程图。
[0032] 图6是示出根据本公开的实施例的图像数据处理模型的训练装置的框图。
[0033] 图7是示出根据本公开的实施例的图像数据处理装置的框图。
[0034] 图8是示出根据本公开的实施例的电子设备的框图。
[0035] 图9是示出根据本公开的实施例的图像数据处理模型的训练方法的实验效果的示图。

具体实施方式

[0036] 为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0037] 需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0038] 在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
[0039] 对物联网设备采集到的图像或视频信息在传输前进行压缩的方案主要包括以下几种。
[0040] 第一种方案是2019年发表于MobiCom会议的GRACE技术方案(Source Compression with Bounded DNN Perception Loss for IoT Edge Computer Vision)。该技术方案的目标是在压缩图像的同时不损害神经网络的推理准确率。具体而言,GRACE方案仍然使用了传统JPEG编码器的基本思路:基于感知的敏感度进行压缩。人眼的视觉特性对图像频谱的低频分量敏感(例如物体的轮廓)而对高频分量不敏感(例如物体的细节)。JPEG利用了这个特性,对图像中人眼不敏感的高频分量进行激进的压缩,而对人眼能很好感知的低频分量则尽量保持其中的信息。与此类似,GRACE方案通过测量神经网络对不同频谱分量的敏感度来决定哪些部分需要压缩,哪些部分需要保留。图1是示出神经网络与人眼的频谱敏感度对比的示图。如图1所示,人眼的视觉特性和神经网络的视觉特性并不相同,神经网络能比人眼“看”到更多的频谱。因此,根据神经网络的视觉特性来进行相应的压缩能更好地在压缩率与推理准确率间取得平衡。然而,GRACE方案的缺点在于神经网络和压缩算法不能联合优化。GRACE方案针对神经网络D设计出压缩算法,然而最适合这个压缩算法的神经网络却不一定是这个原来的神经网络D。
[0041] 第二种方案是自动编码器(autoencoder)方案,这是一大类压缩算法的总称。autoencoder的基本思想是为了某个特定需求训练一个神经网络来压缩数据。原始数据是神经网络的输入,而压缩后的数据是神经网络的输出。如果针对应用于物联网设备的AI推理的准确率来训练autoencoder,可以做到在压缩的同时尽可能地保证推理的准确率。然而,autoencoder需要在物联网设备上运行一个专门用于压缩的神经网络,但是物联网设备基本没有计算能力,所以autoencoder不适合于物联网设备。
[0042] 第三种方案是目前主流的传统图像压缩技术方案(例如,JPEG压缩方案)。传统的图像压缩技术并不适用于物联网设备,这些图像压缩技术多数是为了人眼感知进行优化的,只能保证压缩导致的失真是人眼难以注意到的。然而,JPEG压缩方案等传统的图像压缩技术为人眼感知而优化,用于压缩神经网络输入时会导致推理准确率严重下降。
[0043] 因此,需要一种能在资源极为有限的物联网设备上运行并且压缩后的图像仍能保证神经网络推理准确率的图像压缩技术。
[0044] 根据本公开的实施例的图像数据处理模型的训练方法和训练装置结合了 autoencoder和传统图像压缩技术的优点并回避了这两者的缺点。通过应用根据本公开的实施例的图像数据处理模型的训练方法和训练装置训练后的图像压缩编码器能够像autoencoder一样为特定的AI推理任务进行训练,同时又能够像传统图像压缩编码器一样简单轻量以便在物联网设备上运行。通过根据本公开的实施例的图像数据处理模型的训练方法和训练装置训练后的图像编码器与传统图像压缩编码器兼容,因此降低了部署成本,同时可以利用很多物联网设备上的图像编码加速硬件芯片进行硬件加速。此外,根据本公开的实施例的图像数据处理模型的训练方法和训练装置可以同时对压缩算法参数以及用于进行图像数据处理的神经网络的参数进行联合训练。
[0045] 通过仔细分析传统的图像压缩方案中允许进行改变的部分,发现图像压缩方案允许使用不同的压缩参数(例如,JPEG编码器的频谱量化表)。事实上,传统的图像压缩方案支持从1到100的图像质量(数字越大质量越高),这就是通过改变压缩参数来实现的。因此,根据本公开的实施例的图像数据处理模型的训练方法和训练装置利用这点,将压缩参数作为一个可训练的参数与神经网络的参数一起联合训练,并在实时压缩时将图像压缩编码器中为人眼优化的压缩参数替换为训练好的压缩参数。这样,可以在为神经网络的图像处理效果优化压缩的同时保证与传统图像压缩编码器的兼容性。
[0046] 另一方面,根据本公开的实施例的图像数据处理模型的训练方法和训练装置将平衡压缩率和推理准确率的问题抽象为一个带约束的优化问题。优化问题的目标函数是神经网络的损失函数,约束条件则是压缩后的数据量需要小于或等于用户给定的额度(即,预定阈值)。这个额度可以由用户灵活选择,例如可以根据当前无线网络带宽来调整。将被优化的参数则是图像压缩编码器的压缩参数以及神经网络的参数。
[0047] 此外,根据本公开的实施例的图像数据处理模型的训练方法和训练装置找出了传统的图像压缩编码过程中所有不可导的算子(函数),并使用直通估计器(Straight Through Estimator(STE))方法将这些不可导的算子在运行优化算法时替换为可导的近似算子。因此,根据本公开的实施例的图像数据处理模型的训练方法和训练装置可以实现将传统图像压缩编码器接入神经网络训练框架进行联合训练。
[0048] 下面将参照图2至图9具体地描述根据本公开的实施例的图像压缩编码器的训练方法和训练装置。
[0049] 图2是示出根据本公开的实施例的图像压缩编码器的训练方法的构思的示图。
[0050] 参照图2,图像数据处理模型可以包括图像压缩编码器、图像解码器和图像处理模块。根据本公开的实施例的图像数据处理模型的训练方法在将图像压缩编码器接入到神经网络训练框架之前进行端到端的训练。这样,通过结合传统编码器以及autoencoder的优点,既能像传统编码器一样简单快速低消耗,又能像autoencoder一样可以针对特定的预测处理任务进行训练优化。如图2所示,在根据本公开的实施例的图像数据处理模型的训练方法中,将被训练的参数包括用于对图像进行压缩编码的图像压缩编码器的压缩参数以及用于进行推理的图像处理模块(即,神经网络)的参数。通过对图像压缩编码器的压缩参数以及图像处理模块的参数二者进行联合训练,可以保证训练后的图像压缩编码器和图像处理模块是最适合彼此的。具体地讲,图像压缩编码器可对输入图像数据进行离散余弦变换、量化以及无损编码,并通过上行链路将编码的图像数据发送到服务器中的图像解码器。图像解码器可对接收的编码的图像数据进行解码,将解码的图像数据输入到图像处理模块进行图像处理。然后,基于输入图像数据与图像处理结果,计算图像数据处理模型的损失,并基于该损失对图像压缩编码器的压缩参数和图像处理模块的参数进行联合训练。当然,为了将图像压缩编码器接入到神经网络训练框架,需要对图像压缩编码器的压缩参数以及图像处理模块的损失进行特殊处理,稍后将对此进行详细描述。这里,如上所述,图像压缩编码器可以是但不限于JPEG编码器,图像处理模块以是但不限于深度神经网络(DNN)。
[0051] 图3是示出根据本公开的实施例的图像数据处理模型的训练方法的流程图。根据本公开的实施例的图像数据处理模型的训练方法可以在具有运算能力的任何计算设备上执行,只要所述计算设备能够与图像压缩编码器以及包括执行图像处理的图像处理模块的服务器进行通信即可。特别地,根据本公开的实施例的图像数据处理模型的训练方法可以在服务器上执行。这里,图像压缩编码器、对图像压缩编码器压缩编码的图像数据进行解码的图像解码器以及对解码的图像数据进行图像处理的图像处理模块可构成所谓的图像数据处理模型。
[0052] 参照图3,在步骤S301中,可将样本图像数据输入到图像数据处理模型。如上所述,图像数据处理模型包括图像压缩编码器、图像解码器和图像处理模块,图像压缩编码器对样本图像数据进行压缩编码以获取压缩编码的图像数据,图像解码器对压缩编码的图像数据进行解码以获取解码的图像数据,图像处理模块对解码的图像数据进行图像处理以获取图像处理预测结果。图像压缩编码器可为布置在终端设备(例如,物联网设备)上的JPEG编码器,图像解码器可以是布置在与终端设备通信的服务器上的JPEG解码器,图像处理模型可布置在与终端设备通信的服务器上,并且可以是能够执行图像处理的神经网络。根据本公开的实施例,图像处理可包括但不限于目标识别、目标跟踪、边缘检测、图像分割、图像增强、图像配准等。
[0053] 在步骤S302中,可基于图像处理预测结果和与样本图像数据对应的预设目标结果,确定第一损失函数,基于压缩编码的图像数据和图像压缩编码器的压缩参数确定约束条件,并根据第一损失函数和约束条件确定第二损失函数。可选择地,图像压缩编码器的压缩参数为图像压缩编码器对样本图像数据进行压缩编码所使用的参数。
[0054] 接下来,在步骤S303中,可基于第二损失函数对图像压缩编码器以及图像数据处理模块进行联合训练,得到经过训练的图像数据处理模型。
[0055] 以下将详细描述对图像压缩编码器以及图像数据处理模块进行联合训练的过程。
[0056] 根据本公开的实施例,第一损失函数可以是图像处理模块的损失函数,例如,第一损失函数可表示为L(W,q),其中,W表示图像处理模块的参数, q表示图像压缩编码器的压缩参数。当图像压缩编码器是JPEG编码器时,图像压缩编码器的压缩参数可以是图像压缩编码器的频谱量化表。由于图像压缩编码器的压缩参数是图像压缩编码器的频谱量化表,因此训练后的图像压缩编码器与传统的编码器相比没有额外的运行开销,且训练后的图像压缩编码器与现有编码格式完全兼容。
[0057] 为了对图像压缩编码器的压缩参数以及图像处理模块的参数进行联合训练,首先需要建立关于图像压缩编码器以及图像处理模块的最优化模型,最优化模型的目标函数即为图像处理模块的损失函数(即,上述第一损失函数),最优化模型的约束条件(即,上述约束条件)可为通过使用压缩参数对样本图像数据进行压缩编码得到的压缩编码的图像数据的数据量不大于预设的目标阈值。换言之,基于这个约束条件,设置图像压缩编码器的物联网设备无需具有比现有的物联网设备更高的运算能力,因此完全可以使用现有的图像压缩编码器以及相应的物联网设备,从而不会导致设备成本上升。
[0058] 最优化模型可如以下式(1)所示。
[0059] min L(W,q)
[0060] s.t.G(q)≤Gbudget                (1)
[0061] 其中,G()表示用于确定压缩编码的图像数据的数据量的数据量函数,数据量函数可以是但不限于 这里,损失函数和数据量函数可以采用本领域通用的各种函数,因此本公开不再赘述。
[0062] 这样,只要在约束条件下最小化第一损失函数,图像处理模块进行图像处理的准确率就能得到保证。根据式(1)可知,第一损失函数取决于图像处理模块的参数W以及图像压缩编码器的频谱量化表q。然而,图像压缩编码器的频谱量化表中存在不可导算子(即,不可导函数)。因此,需要对图像压缩编码器的频谱量化表中不可导的量化算子进行可导近似。具体地讲,图像压缩编码器的频谱量化表中不可导的量化算子是取整函数。因此,需要将频谱量化表中的不可导的取整函数近似为可导函数。例如,可以通过使用直通估计器(STE)方法将不可导的取整函数近似为可导的tanh函数。换言之,在对图像压缩编码器的压缩参数以及图像处理模块的参数进行联合训练时,图像压缩编码器的频谱量化表是通过将频谱量化表中的取整函数近似为可导函数(例如,tanh函数)而得到的。图4是示出使用tanh函数替换取整函数的示图。如图4所示,可以使用tanh函数替换取整函数中的阶梯部分,这样就能够得到与取整函数在数值上相近但是可导的近似取整函数。
[0063] 另一方面,对于约束条件,压缩编码的图像数据的数据量取决于图像压缩编码器的频谱量化表,但是用于确定压缩编码的图像数据的数据量的数据量函数也是不可导函数。因此,需要对数据量函数进行可导近似。具体地讲,数据量函数出现不可导的原因在于:频谱量化会产生很多0值,而图像压缩编码器利用游程编码可以在压缩中避免储存这些0值,从而达到压缩的目的。也就是说,数据量与量化后频谱中的非0值个数相关。可以知道非
0值个数其实就是L0 norm(即,L0范数),它在数学上是不可导的。因此,在本公开的实施例的图像数据处理模型的训练方法中,可通过使用STE方法将数据量函数中的L0 norm(即,L0范数)近似为L1 norm(即,L1范数)。换言之,用于确定压缩编码的图像数据的数据量的数据量函数是通过将数据量函数中的至少一个不可导函数(例如,L0范数)近似为可导函数(例如,L1范数) 而得到的。通过将频谱量化表中以及数据量函数中的不可导函数近似为可导函数,最终实现将图像压缩编码器和图像处理模块接入一个训练框架进行联合训练,优化了训练的复杂程度。
[0064] 为了对图像压缩编码器的压缩参数以及图像处理模块的参数进行联合训练,还需要进一步将式(1)所示的最优化模型转化为无约束条件的最优化模型,以便确定第二损失函数。具体地讲,可以通过使用拉格朗日乘子法将式 (1)所示的最优化模型转化为无约束条件的最优化模型,从而得到第二损失函数。由于使用拉格朗日乘子法,因此将会产生对偶变量。对偶变量的个数等于约束条件的个数。因为式(1)所示的最优化模型仅有一个约束条件,所以产生一个对偶变量,即,式(2)中的λ。根据本公开的实施例,式(1) 所示的最优化模型可被转化为如下式(2)所示的无约束条件的最优化模型,即,第二损失函数Loss。
[0065] Loss=L+λ(G(q)‑Gbudget)                                 (2)
[0066] 其中,L表示第一损失函数L(W,q)。
[0067] 根据本公开的实施例,在基于第二损失函数对图像压缩编码器的压缩参数以及图像处理模块的参数进行联合训练时,可以使用ADMM(交替方向乘子法)算法来实现对图像压缩编码器的频谱量化表以及图像处理模块的参数进行联合训练。注意,对图像压缩编码器的频谱量化表以及图像处理模块的参数进行联合训练是在部署频谱量化表以及图像处理模型的参数之前进行的离线训练,并不会计入在线压缩编码的开销。
[0068] 具体地讲,在对图像压缩编码器的压缩参数以及图像处理模块的参数进行联合训练时,可针对图像压缩编码器的压缩参数、图像处理模型的参数以及通过使用拉格朗日乘子法对由第一损失函数和约束条件构成的最优化模型进行转化时产生的对偶变量(即,式(2)中的λ)进行训练,直至所述第二损失函数的值满足预设条件。通过对图像压缩编码器的压缩参数、图像处理模型的参数以及对偶变量三者进行训练,实现了对图像压缩编码器和图像处理模型的联合训练,从而既能够在物联网设备上进行针对图像处理模型的优化的图像压缩编码,又能够使训练后的图像压缩编码器和图像处理模型彼此匹配。
[0069] 在对图像压缩编码器的压缩参数以及图像处理模块的参数进行联合训练时,可以使用随机梯度下降法训练图像处理模型的参数W,使用次梯度下降法训练图像压缩编码器的频谱量化表q,并且使用随机梯度上升法训练对偶变量λ,从而使第二损失函数的值不断减小,直至满足预设条件(例如,第二损失函数的值最小化或者小于预设阈值)。这里,训练频谱量化表q会让 G(q)不断减小直至小于Gbudget,而训练对偶变量λ会影响q的梯度从而加快让 G(q)减小的速度。另一方面,训练图像处理模块的参数W的目的在于使得图像处理模块的参数W与频谱量化表q最匹配。
[0070] 根据本公开的实施例,可将训练后的压缩参数部署到图像压缩编码器,并将优化后的图像处理模型的参数部署到图像处理模块。例如,当压缩参数为频谱量化表时,训练后的频谱量化表可以是8×8的整形数据表,但本公开的实施例不限于此。训练后的频谱量化表也可以是其他大小的整形数据表。对于8×8的整形数据表而言,传输成本极低,可以通过一次无线广播就传输到区域内的所有物联网设备上。此外,训练后的图像处理模块的参数可部署在服务器上,这是因为,服务器一般都具有高速网络连接,便于快速部署图像处理模块的参数。
[0071] 可选择地,在将训练后的频谱量化表部署到图像压缩编码器之后,图像压缩编码器可通过使用训练后的频谱量化表对输入图像进行压缩编码。这样,物联网设备可以对收集到的图像进行实时压缩编码,并将其传输到服务器,而服务器则可以使用传统的图像解码器(例如,JPEG解码器)对压缩编码的图像进行解码并将解码的图像送入图像处理模块进行处理。这里,上行的传输成本与JPEG编码器完全一致,这是因为JPEG格式本来就将当前使用的频谱量化表嵌入到压缩编码的图像中,改变频谱量化表并不会导致更多的数据传输。同时,压缩编码的时间成本也与普通JPEG编码器完全一致,这是因为训练后的图像压缩编码器本质上压缩框架与JPEG编码器完全相同,只是为图像处理模型的图像处理任务重新训练了频谱量化表。
[0072] 通过应用根据本公开的实施例的图像数据处理模型的训练方法,可以在物联网设备上进行针对神经网络的图像处理效果优化的图像压缩编码,并且训练后的图像压缩编码器和神经网络可以彼此匹配。同时,通过应用根据本公开的实施例的图像数据处理模型的训练方法,训练后的图像压缩编码器与传统的编码器相比没有额外的运行开销,本质上只是替换了压缩参数。此外,训练后的图像压缩编码器与现有编码格式完全兼容,易于在实际中部署。具有压缩编码能力的物联网设备都可以使用根据本公开的实施例的图形数据处理模型的训练方法训练的图像压缩编码器,并通过训练后的图像压缩编码器进行压缩编码,而压缩编码的图像数据可以容易地通过传统的图像解码器进行解码。另一方面,通过应用根据本公开的实施例的图像数据处理模型的训练方法,用于预测处理的神经网络与图像压缩编码器一起被训练从而彼此完全匹配,因此在压缩编码的图像数据的数据量相同的情况下,神经网络的推理准确率得到显著的提高。
[0073] 图5是示出根据本公开的实施例的图像数据处理方法的流程图。
[0074] 参照图5,在步骤S501中,可通过图像压缩编码器对输入图像数据进行压缩编码,以获取压缩编码的图像数据。在步骤S502中,可通过图像解码器对压缩编码的图像数据进行解码,以获取解码的图像数据。在步骤S503中,可通过图像处理模块对解码的图像数据进行图像处理。
[0075] 图像压缩编码器、图像解码器和图像处理模块可构成图像数据处理模型,该图像处理模型可以是通过如上所述的图像数据处理模型的训练方法得到的。图像处理可包括但不限于目标识别、目标跟踪、边缘检测、图像分割、图像增强、图像配准等。图像压缩编码器可以为布置在终端设备(例如,物联网设备)上的JPEG编码器,图像解码器和图像处理模块可布置在与终端设备通信的服务器上,并且图像处理模块可以是能够执行图像数据处理的神经网络。尽管图像压缩编码器与图像处理模型布置在不同的设备上,但是图像压缩编码器能够在物联网设备上进行针对图像处理模型的优化的图像压缩编码,而与传统的图像处理模型相比,本公开中的图像处理模型能够在相同的压缩编码的图像数据的数据量情况下实现显著提高的推理准确率。
[0076] 图6是示出根据本公开的实施例的图像数据处理模型的训练装置的框图。根据本公开的实施例的图像数据处理模型的训练装置可以在具有运算能力的任何计算设备上实现,只要所述计算设备能够与图像压缩编码器以及包括执行图像处理的图像处理模块的服务器进行通信即可。特别地,根据本公开的实施例的图像数据处理模型的训练装置可以在服务器上实现。这里,图像压缩编码器、对图像压缩编码器压缩编码的图像数据进行解码的图像解码器以及对解码的图像数据进行图像处理的图像处理模块可构成所谓的图像数据处理模型。
[0077] 参照图6,图像数据处理模型的训练装置600可包括预测结果获取单元 610、损失函数确定单元620和训练单元630。
[0078] 预测结果获取单元610可将样本图像数据输入到所述图像数据处理模型。如上所述,图像数据处理模型包括图像压缩编码器、图像解码器和图像处理模块,图像压缩编码器对样本图像数据进行压缩编码以获取压缩编码的图像数据,图像解码器对压缩编码的图像数据进行解码以获取解码的图像数据,图像处理模块对解码的图像数据进行图像处理以获取图像处理预测结果。图像压缩编码器可为布置在终端设备(例如,物联网设备)上的JPEG编码器,图像解码器可以是布置在与终端设备通信的服务器上的JPEG解码器,图像处理模型可布置在与终端设备通信的服务器上,并且可以是能够执行图像处理的神经网络。根据本公开的实施例,图像处理可包括但不限于目标识别、目标跟踪、边缘检测、图像分割、图像增强、图像配准等。
[0079] 损失函数确定单元620可基于图像处理预测结果和与样本图像数据对应的预设目标结果,确定第一损失函数,基于压缩编码的图像数据和图像压缩编码器的压缩参数确定约束条件,并根据第一损失函数和约束条件确定第二损失函数。可选择地,图像压缩编码器的压缩参数为图像压缩编码器对样本图像数据进行压缩编码所使用的参数。
[0080] 如上所述,第一损失函数可以是图像处理模块的损失函数,例如,第一损失函数可表示为L(W,q),其中,W表示图像处理模块的参数,q表示图像压缩编码器的压缩参数。当图像压缩编码器是JPEG编码器时,图像压缩编码器的压缩参数可以是图像压缩编码器的频谱量化表。此外,约束条件可为通过使用压缩参数对样本图像数据进行压缩编码得到的压缩编码的图像数据的数据量不大于预设的目标阈值。
[0081] 可选择地,为了对图像压缩编码器的压缩参数以及图像处理模块的参数进行联合训练,图像压缩编码器的频谱量化表可以是通过将频谱量化表中的取整函数近似为可导函数(例如,tanh函数)而得到的,而用于确定压缩编码的图像数据的数据量的数据量函数是通过将数据量函数中的至少一个不可导函数(例如,L0范数)近似为可导函数(例如,L1范数)而得到的。此外,为了对图像压缩编码器的压缩参数以及图像处理模块的参数进行联合训练,需要通过使用拉格朗日乘子法将由第一损失函数和约束条件构成的最优化模型转化为无约束条件的最优化模型,从而得到第二损失函数。由于使用拉格朗日乘子法,因此将会产生对偶变量。对偶变量的个数等于约束条件的个数。因为这里的最优化模型仅有一个约束条件,所以产生一个对偶变量。
[0082] 训练单元630基于第二损失函数对图像压缩编码器以及图像数据处理模块进行联合训练,得到经过训练的图像数据处理模型。
[0083] 具体地讲,在对图像压缩编码器的压缩参数以及图像处理模块的参数进行联合训练时,可针对图像压缩编码器的压缩参数、图像处理模型的参数以及通过使用拉格朗日乘子法对由第一损失函数和约束条件构成的最优化模型进行转化时产生的对偶变量(即,λ)进行训练,直至所述第二损失函数的值满足预设条件(例如,第二损失函数的值最小化或者小于预设阈值)。
[0084] 图7是示出根据本公开的实施例的图像数据处理装置的框图。
[0085] 参照图7,图像数据处理装置700可包括图像压缩编码器710、图像解码器720和图像处理模块730。图像压缩编码器710可对输入图像数据进行压缩编码,以获取压缩编码的图像数据。图像解码器720可对压缩编码的图像数据进行解码,以获取解码的图像数据。图像处理模块730可通过对解码的图像数据进行图像处理以获取图像处理预测结果。
[0086] 如上所述,图像压缩编码器710、图像解码器720和图像处理模块730 可构成图像数据处理模型,并且该图像处理模型可以是通过如上所述的图像数据处理模型的训练方法得到的。图像处理可包括但不限于目标识别、目标跟踪、边缘检测、图像分割、图像增强、图像配准等。图像压缩编码器710 可以为布置在终端设备(例如,物联网设备)上的JPEG编码器,图像解码器720和图像处理模块730可布置在与终端设备通信的服务器上,并且图像处理模块730可以是能够执行图像数据处理的神经网络。
[0087] 图8是示出根据本公开的实施例的电子设备的框图。
[0088] 参照图8,电子设备800包括至少一个存储器801和至少一个处理器802,所述至少一个存储器801存储计算机可执行指令,当计算机可执行指令被至少一个处理器802执行时,促使至少一个处理器1002执行根据本公开的实施例的图像数据处理模型的训练方法或图像数据处理方法。如上所述,图像数据处理模型可包括图像压缩编码器、图像解码器和图像处理模块,图像压缩编码器对输入图像数据进行压缩编码以获取压缩编码的图像数据,图像解码器对压缩编码的图像数据进行解码以获取解码的图像数据,图像处理模块对解码的图像数据进行图像处理。图像压缩编码器可为布置在终端设备上的 JPEG编码器,并且图像解码器和图像处理模型可布置在与终端设备通信的服务器上。
[0089] 在电子设备800中,处理器802可包括中央处理器(CPU)、图形处理器 (GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0090] 处理器802可运行存储在存储器801中的指令或代码,其中,存储器801 还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
[0091] 存储器801可与处理器802集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器801可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器801 和处理器802可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器802能够读取存储在存储器中的文件。
[0092] 可选择地,电子设备800还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备800的所有组件可经由总线和/或网络而彼此连接。
[0093] 图9是示出根据本公开的实施例的图像数据处理模型的训练方法的实验效果的示图。
[0094] 参照图9,在Cityscapes数据集上的抠图任务中,应用根据本公开的实施例的图像数据处理模型的训练方法训练的图像压缩编码器(例如,JPEG编码器)在压缩数据量小于对比算法的同时得到了更高的推理准确率(在图中更靠右上角)。85%质量的传统JPEG图像被普遍认为是高质量JPEG图像,然而它却会导致严重的推理准确率损失。而应用本公开的实施例的图像压缩编码器的训练方法训练的图像压缩编码器在类似85%质量的传统JPEG图像大小的情况下,图像处理模块的推理准确率能够提高7.17%。这对于推理准确率而言,是一个非常大的提升。注意,这里描述的抠图任务仅是图像数据处理的一个示例,图像处理任务可包括但不限于目标识别、目标跟踪、边缘检测、图像分割、图像增强、图像配准等。
[0095] 根据本公开的实施例,还可提供一种计算机可读存储介质,其中,当存储在计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的实施例的图像数据处理模型的训练方法或图像数据处理方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器 (EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD‑ROM、CD‑R、 CD+R、CD‑RW、CD+RW、DVD‑ROM、DVD‑R、DVD+R、DVD‑RW、DVD+RW、 DVD‑RAM、BD‑ROM、BD‑R、BD‑R LTH、BD‑RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
[0096] 根据本公开的实施例,还可提供一种计算机程序产品,包括计算机指令,当所述计算机指令被至少一个处理器执行时实现根据本公开的实施例的图像数据处理模型的训练方法或图像数据处理方法。
[0097] 通过应用根据本公开的实施例的图像数据处理模型的训练方法,可以在物联网设备上进行针对神经网络的图像处理效果优化的图像压缩编码,并且训练后的图像压缩编码器和神经网络可以彼此匹配。同时,通过应用根据本公开的实施例的图像数据处理模型的训练方法,训练后的图像压缩编码器与传统的编码器相比没有额外的运行开销,本质上只是替换了压缩参数。此外,训练后的图像压缩编码器与现有编码格式完全兼容,易于在实际中部署。具有压缩编码能力的物联网设备都可以使用根据本公开的实施例的图形数据处理模型的训练方法训练的图像压缩编码器,并通过训练后的图像压缩编码器进行压缩编码,而压缩编码的图像数据可以容易地通过传统的图像解码器进行解码。另一方面,通过应用根据本公开的实施例的图像数据处理模型的训练方法,用于预测处理的神经网络与图像压缩编码器一起被训练从而彼此完全匹配,因此在压缩编码的图像数据的数据量相同的情况下,神经网络的推理准确率得到显著的提高。
[0098] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0099] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。