掌桥专利:专业的专利平台
掌桥专利
首页

图像处理方法、装置及电子设备

文献发布时间:2023-06-19 09:32:16


图像处理方法、装置及电子设备

技术领域

本申请涉及电子设备技术领域,尤其涉及一种图像处理方法、装置及电子设备。

背景技术

卷积神经网络作为机器学习的重要方法之一,被广泛应用于图像识别、物体跟踪、语音处理等领域,尤其是其对于大型图像的处理有着非常出色的表现,吸引了大量的学者从事研究。

目前,在实际应用场景中,卷积层作为神经网络的重要部分,参与神经网络90%以上的计算操作,卷积核作为卷积层的核心部分,更是在神经网络模型中发挥了巨大的作用。通用的神经网络模型中,各种尺寸卷积核的权重尺寸和步进都存在,从通用的3×3,7×7到11×11,15×15,甚至有可能存在全图大小的权重尺寸,然而,常规硬件设计中,电子设备当前的硬件设施仅能支持一个固定的权重尺寸范围,例如1~15,1~255等等,对于任意尺寸的权重尺寸的支持不足,这样当神经网络模型的卷积核的权重尺寸超出电子设备当前硬件设施能够支持的最大卷积核的权重尺寸时,将会导致图像处理效果较差,无法达到神经网络模型实际要达到的图像处理效果,给硬件的应用造成了限制。

发明内容

本申请实施例提供了一种图像处理方法、装置及电子设备,能够在不改变硬件设计或者在硬件设计改变较小的情况下,实现在当前设备的卷积神经网络模型中使用任意权重尺寸的卷积核进行卷积运算,提高卷积神经网络输出的图像效果。

第一方面,本申请提供一种图像处理方法,应用电子设备,用于对图像进行卷积运算,该图像处理方法包括:获取第一权重尺寸,所述第一权重尺寸为卷积神经网络中卷积核的目标权重尺寸;将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,所述M*N为大于1的整数,所述第二权重尺寸为电子设备当前的硬件设施能够支持进行卷积运算的卷积核的权重尺寸;获取相应通道数对应的第一图像数据与所述第二权重尺寸进行卷积运算,并将所得到的卷积结果累加,得到使用所述第一权重尺寸对原始图像数据进行卷积运算得到的卷积结果,所述第一图像数据为所述原始图像数据中的图像数据。

本申请实施例通过将电子设备当前的硬件设施不能够支持进行卷积运算的第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,并获取该M*N个通道各自对应的第一图像数据,将其与对应的第二权重尺寸进行卷积运算并累加,以得到使用第一权重尺寸对原始图像数据进行卷积运算得到的卷积结果,使得能够在不改变硬件设计或者在硬件设计改变较小的情况下,实现在当前设备的卷积神经网络模型中使用任意权重尺寸的卷积核进行卷积运算,提高卷积神经网络输出的图像效果,有效解决了由于硬件设计导致卷积神经网络的应用受限的情况。

第二方面,本申请提供一种图像处理装置,包括:第一权重尺寸获取单元,用于获取第一权重尺寸,第一权重尺寸为卷积神经网络中卷积核的目标权重尺寸;权重尺寸拆分单元,用于将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,所述M*N为大于1的整数,所述第二权重尺寸为电子设备当前的硬件设施能够支持进行卷积运算的卷积核的权重尺寸;卷积运算单元,用于获取相应通道数对应的第一图像数据与所述第二权重尺寸进行卷积运算,并将所得到的卷积结果累加,得到使用所述第一权重尺寸对原始图像数据进行卷积运算得到的卷积结果,所述第一图像数据为所述原始图像数据中的图像数据。

第三方面,本申请提供一种电子设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意可选方式所述的方法。

第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意可选方式所述的方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述的图像处理方法的步骤。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种图像处理方法的流程示意图;

图2是本申请实施例提供一种在原始图像数据上使用33×33的权重尺寸以及使用9个通道对应的11×11的权重尺寸进行卷积运算的图像数据示意图;

图3是本申请实施例提供的一种使用更新后的第二权重尺寸进行卷积运算的方法的流程示意图;

图4是本申请实施例提供的一组第一图像数据与原始图像数据的位置关系示意图;

图5是本申请实施例提供的一种使用更新后的第二权重尺寸进行卷积运算的坐标关系示意图;

图6是本申请实施例提供的一种计算第一图像数据的起始位置的方法的流程示意图;

图7是本申请实施例提供的一种更新第一坐标偏移值和第二坐标偏移值的方法的流程示意图。

图8是本申请实施例提供的一种图像处理装置的结构示意图;

图9是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

还应当理解,在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例中涉及的电子设备可以是手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴电子设备、虚拟现实设备等。本申请对电子设备的具体类型不作限定。

目前,在通用的卷积神经网络中,存在各种权重尺寸的卷积核,比如通用的3×3,7×7,15×15的卷积核,甚至有可能存在全图大小的权重尺寸。然而,卷积核的权重尺寸越大,卷积神经网络的运算量越大,相应的对于设备的硬件要求也越高。然而,不同的设备的硬件设计已基本成形,后期更改设计成本将会非常高。而不同设备的硬件能够支持的卷积核的权重尺寸一般是一个固定的权重尺寸范围,例如1~15,1~255。当需要支持任意权重尺寸的卷积核在该设备的当前硬件设施下进行卷积运算时,有可能导致在当前设备上不能得到正确的卷积结果,从而使得神经网络模型输出的图像质量较差,无法达到其实际应该达到的图像质量,为了解决这一问题,本申请基于上述电子设备,提供了一种图像处理方法,使得可以在不改变硬件设计的前提下,实现在当前设备的卷积神经网络模型中使用任意权重尺寸的卷积核进行卷积运算,有效解决了因电子设备硬件设计的限制问题而导致的卷积神经网络输出图像质量较差的情况。

下面通过具体实施例,对本申请提供的图像处理方法进行示例性说明。请参阅图1,图1是本申请实施例提供的一种图像处理方法,具体包括:

步骤S101、电子设备获取第一权重尺寸。

本申请实施例中,第一权重尺寸为卷积神经网络中卷积核的目标权重尺寸,也即卷积神经网络中卷积核的实际大小。比如,假设图像输入数据为1×64×64,卷积核大小为1×1×33×33,即输入通道数为1,输出通道数为1,权重尺寸为33×33。

步骤S102,电子设备将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸。

本申请实施例中,M和N均为大于或等于1的整数,其中M为沿第一方向拆分的通道数,N为沿第二方向拆分的通道数。其中,M和N可以为相同的整数,比如M和N可以同时为大于1的同一个整数。M和N也可以为不同的整数,比如,M为1时,N为大于1的整数;M为大于1的整数时,N为1,或者M和N同时为大于1的两个不同的整数。

需要说明的是,当第一方向为图像坐标系中的x方向时,第二方向为图像坐标系中的y方向。当第一方向为图像坐标系中的y方向时,第二方向为图像坐标系中的x方向。下文将以第一方向为图像坐标系中的x方向,第二方向为图像坐标系中的y方向进行相关说明。

在本申请实施例中,第二权重尺寸为电子设备当前的硬件设施能够支持进行卷积运算的卷积核的权重尺寸。

具体的,第二权重尺寸可以是电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸,而电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸是在硬件设计过程中设定的一个权重尺寸,具体可以根据硬件的资源情况而定。也可以是小于电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸的任意一个权重尺寸,对于第二权重尺寸的选择,具体可以根据预先设定的规则选定一个固定的第二权重尺寸,也可以是根据预设计算规则计算出来的一个权重尺寸,这里不做具体限定。

需要说明的,由于电子设备的硬件设计的问题,电子设备当前的硬件设备不能支持第一权重尺寸的卷积核进行卷积运算,也即第一权重尺寸大于电子设备当前的硬件设施能够支持进行卷积运算的卷积核的最大权重尺寸。如果电子设备使用第一权重尺寸的卷积核进行卷积运算,将有可能导致出现错误的卷积结果,从而使得卷积神经网络最终输出的图像质量无法达到理想的效果,图像质量较差,或者无法使用卷积神经网络进行卷积运算,为了避免这一问题的出现,本申请实施例通过将第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,使得电子设备当前的硬件设施能够支持该卷积神经网络完成第一权重尺寸的卷积核进行卷积运算,并得到准确的卷积结果。

还需要说明的是,这里拆分得到的M*N个通道,并不是增加了输入数据的通道数,而是增加了卷积通道的数量,或者可以说是增加了卷积的次数,输入数据的通道保持不变,比如,原来输入数据的通道数是1,在将第一权重尺寸拆分后,输入数据的通道数依然是一个;原来输入数据的通道数是2,在将第一权重尺寸拆分后,输入数据的通道数依然是2。

还需要说明的是,每个通道对应一个第二权重尺寸,每个第二权重尺寸的卷积特征参数并不相同,当讲M*N个通道对应的第二权重尺寸的卷积特征参数相加后,即可得到第一权重尺寸对应的卷积核的卷积特征参数。

如图2所示,假设图像输入数据为1×64×64,卷积核大小为1×1×33×33,即输入通道数为1,输出通道数为1,权重尺寸为33×33。再假设电子设备当前的硬件设施能够支持的最大权重尺寸为11×11,那么,可以将第一权重尺寸33×33拆分为3*3个通道对应的第二权重尺寸11×11,即将第一权重尺寸沿x方向拆分得到3个通道,沿y方向拆分得到3个通道。也即将原始的第一权重尺寸1×1×33×33拆分成了1×9×11×11,拆分后的输入通道数变成了9,输出通道数为1,权重尺寸为11×11。

如果使用33×33的权重尺寸来计算卷积,图像中一个点的计算公式如下:

当拆分成9个通道对应的11×11的权重尺寸来计算卷积时,图像中一个点的计算公式如下:

其中,result为卷积结果,c为输入通道数,num为拆分得到的卷积核的通道数,k_h为卷积核的高度,k_w为卷积核的宽度,i≤k_h,j≤k_w,w

示例性的,在一些具体的实施例中,将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,每个通道对应一个第二权重尺寸,具体可以是利用整除判定法则,将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,即第二权重尺寸与M*N相乘后所得的结果与第一权重尺寸相同。比如,利用整除判定法则,沿x方向和/或y方向将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸。

可以理解的是,利用整除判定法则可以快速确定将第一权重尺寸拆分成第二权重尺寸的通道数量,提高通道拆分的效率和准确率,从而相应地提高了卷积神经网络的处理效率。

还可以理解的是,进一步利用整除判定法则,沿x方向和/或y方向将第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,可以进一步提高通道拆分效率,并减少拆分可能导致的图像数据读取不全的概率,保持各个通道对应的图像数据块的完整性,提高了卷积神经网络处理图像数据的准确率。

下面结合图2,对利用整除判定法则,沿x方向和/或y方向将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸进行详细说明。

在一个应用场景中,卷积神经网络中卷积核的目标权重尺寸为33×33,而电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸为11×11,将33×33和11×11中的前一个数字看作x方向的权重尺寸,将33×33和11×11中的后一个数字看作y方向的权重尺寸,利用整除判定法则,沿x方向拆分的通道数为33/11,即M=3;沿y方向拆分的通道数为33/11,即N=3,这样,本申请实现了利用整除判定法则,沿x方向和y方向将第一权重尺寸33×33拆分为M*N个通道对应的第二权重尺寸11×11。

在另一个应用场景中,卷积神经网络中卷积核的目标权重尺寸为22×33,而电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸为11×11。利用整除判定法则,沿x方向拆分的通道数为22/11,即M=2;沿y方向拆分的通道数为33/11,即N=3,这样,本申请实现了利用整除判定法则,沿x方向和y方向将第一权重尺寸22×33拆分为2*3个通道对应的第二权重尺寸11×11。

在另一个应用场景中,卷积神经网络中卷积核的目标权重尺寸为22×33,而电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸为11×33。利用整除判定法则,沿x方向拆分的通道数为22/11,即M=2;沿y方向保持通道数不变,即N=1,这样,本申请实现了利用整除判定法则,沿x方向将第一权重尺寸22×33拆分为2*1个通道对应的第二权重尺寸11×33。同理,可以仅拆分沿y方向的通道数。

在另一些具体的实施例中,在利用整除判定法则将第一权重尺寸拆分为M*N个通道对应的第二权重尺寸的过程中,如果第一权重尺寸无法被第二权重尺寸整除,则采用补零方法调整所述第一权重尺寸,得到更新后的第三权重尺寸,再将所述第三权重尺寸拆分为M*N个通道对应的第二权重尺寸,其中,所述第三权重尺寸大于所述第一权重尺寸。

例如,第一权重尺寸为37×37,不能被第二权重尺寸11×11整除,这时,可以分别在第一权重尺寸的宽和高上分别补7个零,得到更新后的第一权重尺寸为44×44,44×44能够被第二权重尺寸11×11整除。

在本申请的另一些实施例中,电子设备的硬件设施能够支持进行卷积运算的卷积核的权重尺寸可以是一个具体的数值范围,这时,利用整除判定法则,从这一个具体的数值范围中获取能够整除第一权重尺寸的第二权重尺寸。由于数值范围中包含的数值较多,有可能存在多个满足预设条件的第二权重尺寸,即能够整除第一权重尺寸的第二权重尺寸。这时,可以根据预设规则,从多个满足预设条件的第二权重尺寸中,选择任意一个第二权重尺寸作为最终的第二权重尺寸,再根据该最终的第二权重尺寸,计算拆分的通道数,比如,选择最大的一个第二权重尺寸作为最终的第二权重尺寸,这样可以有效降低冗余的数据反复计算,提高了卷积运算的效率。

可以理解的是,当电子设备的硬件设施能够支持进行卷积运算的卷积核的权重尺寸可以是一个具体的数值范围中,不存在能够整除第一权重尺寸的第二权重尺寸时,同样采用补零方法调整所述第一权重尺寸使得更新后的第一权重尺寸能够被第二权重尺寸整除。

需要说明的是,本申请在利用整除判定法则,沿x方向和和/或沿y方向将第一权重尺寸拆分为M*N个通道对应的第二权重尺寸时,沿x方向拆分通道和沿y方向拆分通道是相互独立的,互不干扰。

还需要说明的是,本申请实施例中的权重尺寸包括第一尺寸和第二尺寸,其中,第一尺寸和第二尺寸对应为卷积核的宽度和高度,比如,当第一尺寸为卷积核的宽度时,第二尺寸对应为卷积核的高度。当第一尺寸为卷积核的高度时,第二尺寸对应为卷积核的宽度。本申请实施例以第一尺寸为卷积核的宽度,第二尺寸对应为卷积核的高度对下文进行相关说明。

在一些具体的实施例中,当第一权重尺寸的第一尺寸无法被第二权重尺寸的第一尺寸整除时,采用补零方法调整第一权重尺寸的第一尺寸,使得更新得到的所述第三权重尺寸的第一尺寸对应的数值能够被小于第四权重尺寸的第一尺寸对应的第一数值整除,并将第二权重尺寸的第一尺寸对应的数值调整为所述第一数值。

当第一权重尺寸的第二尺寸无法被第二权重尺寸的第二尺寸整除时,采用补零方法调整第一权重尺寸的第二尺寸,使得更新得到的所述第三权重尺寸的第二尺寸对应的数值能够被小于第四权重尺寸的第二尺寸对应的第二数值整除,并将第二权重尺寸的第二尺寸对应的数值调整为所述第二数值。

当第一权重尺寸的第一尺寸无法被第二权重尺寸的第一尺寸且第一权重尺寸的第二尺寸无法被第二权重尺寸的第二尺寸整除时,采用补零方法同时调整第一权重尺寸的第一尺寸和第二尺寸,使得更新得到的所述第三权重尺寸的第一尺寸能够被小于第四权重尺寸的第一尺寸的第一数值整除,且使得更新得到的所述第三权重尺寸的第二尺寸能够被小于第四权重尺寸的第二尺寸的第二数值整除,并将第二权重尺寸中的第一尺寸的第一调整为所述第一数值,以及将第二权重尺寸中的第二尺寸的y调整为所述第二数值。

需要说明的是,第四权重尺寸为电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸。

下面以具体的例子进行说明。

例如,第一权重尺寸为7×11,而第二权重尺寸比如电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸为3×5,这时,第一权重尺寸无法被第二权重尺寸整除,并且第一权重尺寸的第一尺寸和第二尺寸均不能被第二权重尺寸的第一尺寸和第二尺寸整除,当将第一权重尺寸的第一尺寸补零调整到8时,能够被小于第二权重尺寸的第一尺寸对应的第一数值2整除(2<3);当将第一权重尺寸的第二尺寸补零调整到12时,能够被小于第二权重尺寸的第二尺寸对应的第二数值4整除(4<5),这时,调整后的第一权重尺寸为8×12,而第二权重尺寸则为2*3,也即将第一权重尺寸7×11拆分为4*4个通道数对应的第二权重尺寸2×3。

步骤S103、电子设备获取相应通道数对应的第一图像数据与所述第二权重尺寸进行卷积运算,并将所得到的卷积结果累加,得到使用所述第一权重尺寸对原始图像数据进行卷积运算得到的卷积结果,所述第一图像数据为所述原始图像数据中的图像数据。

本申请实施例中,在拆分得到M*N个通道对应的第二权重尺寸后,对于每个通道的第二权重尺寸来说,并不需要遍历全图数据来进行卷积运算,为了使得电子设备使用拆分后的M*N个通道对应的第二权重尺寸对应的M*N个卷积核对原始图像数据进行卷积运算,得到正确的卷积结果,硬件设施需要处理每个通道数据的起始位置,使得每个通道的第二权重尺寸对应的卷积核,能够从原始图像数据中提取到合适的图像数据即第一图像数据,来和第二权重尺寸进行卷积运算,从而使得卷积神经网络能够输出质量较高的图像。

请参阅图3,图3是本申请实施例提供的使用更新后的第二权重尺寸进行卷积运算的方法的具体实现流程,详述如下:

步骤S201、电子设备获取所述卷积神经网络中输入的原始图像数据。

本申请实施例中,原始图像数据为卷积核中输入通道输入的数据,本申请实施例中对原始图像数据可以不进行任何预处理,也不需调整原始图像数据的大小。本申请对输入通道数不做具体限制。

步骤S202、电子设备从所述原始图像数据中,提取与各个通道对应的第二权重尺寸进行卷积运算的第一图像数据。

如图2所示,卷积核的第一权重尺寸为33×33,在将述第一权重尺寸33×33拆分为9个通道对应的第二权重尺寸11×11后,也即将第一权重尺寸33×33拆分为9个11×11的第二权重尺寸。本申请实施例将拆分得到的9个通道按照从左往右,从下往上的顺序分别命名A

假设当前卷积核的步长为1,当使用第一权重尺寸33×33的卷积核进行卷积运算时,需要遍历扫描原始图像全图。而当使用不同通道对应的第二权重尺寸11×11进行卷积运算时,并不需要遍历扫描原始图像全图,仅扫描原始图像全图的一部分图像数据即可。

示例性的,为了获取合适的图像数据与拆分后得到M*N个通道的第二权重尺寸即A

在一些具体的实施例中,本申请实施例通过计算第一图像数据的数据存储地址,再通过计算得到的数据存储地址,则可以根据该数据存储地址,从原始图像中提取到对应的第一图像数据。而计算第一图像数据的数据存储地址,则需要知道各个通道对应的第一图像数据的起始位置,再利用预设的数据存储计算公式,根据各个通道对应的第一图像数据的起始位置,计算第一图像数据的数据存储地址。

上述预设的数据存储计算公式具体如下:

address=y*img_width+x

其中,address为第一图像数据的数据存储地址,(x,y)为图像数据中任意像素点对应的坐标,img_width为原始图像数据的图像宽度。

可以理解的是,在计算得到第一图像数据的起始位置后,则可以根据上述预设的数据存储计算公式计算得到第一图像数据的数据存储地址。

如图4所示,为本申请实施例提供的一组第一图像数据与原始图像数据的位置关系示意图。其中,白色方框和灰色方框组成部分表示尺寸为1×64×64的原始图像数据,灰色方框表示第一图像数据。其中,图(a)~(i)中的灰色方框表示的图像数据分别对应为A

下面结合图5,对A

如图5所示,在计算各个通道对应的第一图像数据的起始位置时,可以根据当前计算通道数来计算如图5所示的各个通道对应的第一图像数据的起始位置(x,y),再通过利用预设的数据存储地址计算公式,根据所述起始位置计算第一图像数据对应的数据存储地址。

从图4和图5中可以看出,针对每一个通道来说,每个通道对应的第一图像数据的尺寸变成42×42,比如,对于第一个通道A

可以理解的是,本申请实施例中并没有改变输入图像数据,而是通过计算各个通道对应的第一图像数据的数据存储地址,进而根据计算得到的数据存储地址从原始图像数据中提取到对应的数据进行卷积运算。

为了便于计算各个通道各自对应的第一图像数据的起始位置(x,y),将每个通道对应的第一图像数据看作一个整体,原始图像数据就可以看作M*N个图像数据块组合成的图像数据,比如,在x方向上,图像数据块的数量为M,在y方向上,图像数据块的数量为N。

可以理解的是,这里所提及的图像数据块对应为各个通道各自对应的第一图像数据。

本申请实施例中,通过设计两个寄存器,第一坐标偏移值寄存器和第二坐标偏移值寄存器,其中第一坐标偏移值寄存器用于记录并更新第一方向上的图像数据块的坐标值,该坐标值记为第一坐标偏移值;第二坐标偏移值寄存器用于记录并更新第二方向上的图像数据块的坐标值,该坐标值记为第二坐标偏移值。在获取到每个图像块对应的第一坐标偏移值和第二坐标偏移值后,根据第一坐标偏移值和第二坐标偏移值以及该图像数据块对应通道的第二权重尺寸的乘积,可以得到每个数据块即第一图像数据的起始位置(x,y)。

本申请实施例中,原始图像数据的输入通道数S可以是任意数值,比如可以是1,也可以是2,这里不做具体限定。

需要说明的是,在原始通道数,即原始图像数据的输入通道数为S,在将第一权重尺寸拆分为M*N个通道对应的第二权重尺寸后,对应的图像数据块的数量为S与M*N的乘积。例如,当原始通道数S为2时,拆分的第二权重尺寸为9个通道时,对应有18个通道的第一图像数据,即对应的图像数据块的数量为18。

请参阅图6,图6是本申请实施例提供的一种计算第一图像数据的起始位置的方法的流程示意图,该方法包括:

步骤S301、电子设备获取原始通道数。

步骤S302、电子设备根据所述原始通道数,计算并更新第一坐标偏移值和第二坐标偏移值。

本申请实施例中,为了准确的记录不同输入通道对应的第一图像数据的起始位置(x,y),本申请实施例中电子设备设置有原始通道数计数器,原始通道数计数器的初始值为0,在计算各个通道对应的第一图像数据的起始位置时,如果原始通道数减去第三数值后的结果与原始通道数计数器的初始值相同,则触发第一坐标偏移值寄存器和第二坐标偏移值寄存器更新第一坐标偏移值和第二坐标偏移值,否则,第一坐标偏移值和第二坐标偏移值保持不变。与此同时,使用原始通道数计数器记录的数值加上第三数值后的结果,继续判断更新后的原始通道数计数器记录的数值是否等于原始通道数减去第三数值的结果,若等于,则触发第一坐标偏移值寄存器和第二坐标偏移值寄存器更新第一坐标偏移值和第二坐标偏移值,否则,将原始通道计数器记录的数值置零,继续执行上述步骤直到获取到所有的图像数据块对应的第一坐标偏移值和第二坐标偏移值。

示例性的,如果原始通道数与第三数值的差和原始通道数计数器记录的数值相等,则触发第一坐标偏移值寄存器和第二坐标偏移值寄存器更新第一坐标偏移值和第二坐标偏移值。如果原始通道数与第三数值的差和原始通道数计数器记录的数值不相等,则维持第一坐标偏移值寄存器和第二坐标偏移值寄存器当前的坐标值不变,并且将原始通道计数器记录的数值置零。

需要说明的是,第三数值一般为数值1,在实际应用中,第三数值也可以是任意数值,这里不做具体限定。

本申请实施例中,在更新第一坐标偏移值寄存器和第二坐标偏移值寄存器的坐标值的过程中,若更新后的所述第一坐标偏移值等于沿第一方向拆分的通道数,则更新第二坐标偏移值,并将更新后的所述第一坐标偏移值置零,否则,继续更新所述第一坐标偏移值。

如图7所示,在将第一权重尺寸拆分为9个通道对应的第二权重尺寸,假设原始通道数为1,第一数值为1,原始通道数计数器初始值为零,第一坐标偏移值和第二坐标偏移值的初始值为0。这时,原始通道数减去1的结果与原始通道数计数器的值相等,电子设备将触发第一坐标偏移值寄存器和第二坐标偏移值寄存器更新第一坐标偏移值和/或第二坐标偏移值。比如,当更新后的第一坐标偏移值不等于第一方向的拆分通道时,将第一坐标偏移值当前的数值加上1,由0变成1,第二坐标偏移值保持不变;当更新后的第一坐标偏移值等于第一方向的拆分通道数时,将第二坐标偏移值当前的数值加上1,由0变成1,并将第一坐标偏移值当前的数值置为零,在获取到9个图像数据块对应的第一坐标偏移值和第二坐标偏移值后,将得到如表1所示的第一坐标偏移值和第二坐标偏移值。

表1

假设原始通道数为2,第一数值为1,原始通道数计数器初始值为零,第一坐标偏移值和第二坐标偏移值的初始值为0,在获取到18个图像数据块对应的第一坐标偏移值和第二坐标偏移值后,将得到如表2所示的第一坐标偏移值和第二坐标偏移值。

表2

步骤S303、电子设备根据所述第一坐标偏移值和所述第二坐标偏移值,计算各个通道对应的所述第一图像数据的起始位置。

在本申请实施例中,当计算出第一坐标偏移值和第二坐标偏移值后,即可以得到对应的x起始坐标和y起始坐标,也即第一图像数据的起始位置为x起始坐标和y起始坐标。

具体的,将计算出的第一坐标偏移值和第二坐标偏移值与各自的权重尺寸相乘即可得到当前计算通道对应的x起始坐标和y起始坐标,例如,如表1或表2所示,权重尺寸的第一尺寸和第二尺寸均为11,将所得的第一坐标偏移值和第二坐标偏移值与各个通道对应的权重尺寸(11,11)相乘,即可得到如表1或表2所示的各个通道对应的第一图像数据的起始位置(x,y),即x起始坐标和y起始坐标。

步骤S203、电子设备将各个通道的第二权重尺寸和与其对应的第一图像数据进行卷积运算,得到M*N个卷积结果。

在本申请实施例中,还设置有当前计算通道数计数器,在电子设备使用卷积神经网络进行一次卷积运算时,当前计算通道数计数器加1,如果当前计算通道数等于原始通道数S与拆分后的M*N个通道对应的第二权重尺寸的乘积减去1的结果,当前计算通道数计数器清零,同时,卷积神经网络结束卷积运算,并将所得到的S*M*N个卷积结果进行累加。

步骤S204、电子设备将所述M*N个卷积结果累加,得到使用所述第一权重尺寸对原始图像数据进行卷积运算得到的卷积结果。

如图4和图5所示,在拆分得到M*N个通道对应的第二权重尺寸,且获取到与各个通道的第二权重尺寸对应的第一图像数据后,将相应的第二权重尺寸与第一图像数据进行卷运算,比如A

需要说明是,本申请实施例通过从原始图像中,提取与各个通道对应的第二权重尺寸进行卷积运算的第一图像数据,不需要改变卷积神经网络的输入数据,即卷积神经网络的输入数据依然是原始图像数据,不需要对该原始图像进行预处理,提高了图像处理的效率和准确。

本申请实施例通过将电子设备当前的硬件设施不能够支持进行卷积运算的第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,并获取该M*N个通道各自对应的第一图像数据,将其与对应的第二权重尺寸进行卷积运算并累加,以得到使用第一权重尺寸对原始图像数据进行卷积运算得到的卷积结果,使得能够在不改变硬件设计或者在硬件设计改变较小的情况下,实现在当前设备的卷积神经网络模型中使用任意权重尺寸的卷积核进行卷积运算,提高卷积神经网络输出的图像效果,有效解决了由于硬件设计导致卷积神经网络的应用受限的情况。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

基于上述实施例所提供的图像处理方法,本发明实施例进一步给出实现上述方法实施例的装置实施例。

请参见图8,图8是本申请实施例提供的图像处理装置的示意图。包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图8,该图像处理装置包括:

第一权重尺寸获取单元81,用于获取第一权重尺寸,第一权重尺寸为卷积神经网络中卷积核的目标权重尺寸;

权重尺寸拆分单元82,用于将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,所述M*N为大于1的整数,所述第二权重尺寸为电子设备当前的硬件设施能够支持进行卷积运算的卷积核的权重尺寸;

卷积运算单元83,用于获取相应通道数对应的第一图像数据与所述第二权重尺寸进行卷积运算,并将所得到的卷积结果累加,得到使用所述第一权重尺寸对原始图像数据进行卷积运算得到的卷积结果,所述第一图像数据为所述原始图像数据中的图像数据。

示例性的,所述权重尺寸拆分单元82,具体用于:

利用整除判定法则,将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,所述第一权重尺寸为所述第二权重尺寸的M*N倍。

示例性的,所述权重尺寸拆分单元82,具体用于:

利用整除判定法则,沿第一方向和/或第二方向将所述第一权重尺寸拆分为M*N个通道对应的第二权重尺寸,其中M为沿第一方向拆分的通道数,N为沿第二方向拆分的通道数。

示例性的,所述权重尺寸拆分单元82,具体还用于:

当所述第一权重尺寸无法被所述第二权重尺寸整除时,采用补零方法调整所述第一权重尺寸,得到更新后的第三权重尺寸,所述第三权重尺寸大于所述第一权重尺寸;

将所述第三权重尺寸拆分为M*N个通道对应的第二权重尺寸。

示例性的,所述权重尺寸拆分单元82,具体还用于:

当所述第一权重尺寸的第一尺寸无法被所述第二权重尺寸的第一尺寸整除时,采用补零方法调整所述第一权重尺寸的第一尺寸,使得更新得到的所述第三权重尺寸的第一尺寸对应的数值能够被小于第四权重尺寸的第一尺寸对应的第一数值整除,并将所述第二权重尺寸中的第一尺寸的对应的数值调整为所述第一数值,其中所述第四权重尺寸为所述电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸。

当所述第一权重尺寸的第二尺寸无法被所述第二权重尺寸的第二尺寸整除时,采用补零方法调整所述第一权重尺寸的第二尺寸,使得更新得到的所述第三权重尺寸的第二尺寸对应的数值能够被小于第四权重尺寸的第二尺寸对应的第二数值整除,并将所述第二权重尺寸的第二尺寸对应的数值调整为所述第二数值,其中所述第四权重尺寸为所述电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸。

当所述第一权重尺寸的第一尺寸无法被所述第二权重尺寸的第一尺寸,且所述第一权重尺寸的第二尺寸无法被所述第二权重尺寸的第二尺寸整除时,采用补零方法同时调整所述第一权重尺寸的第一尺寸和第二尺寸,使得更新得到的所述第三权重尺寸的第一尺寸对应的数值能够被小于第四权重尺寸的第一尺寸的第一数值整除,且使得更新得到的所述第三权重尺寸的第二尺寸对应的数值能够被小于第四权重尺寸的第二尺寸的第二数值整除,并将所述第二权重尺寸的第一尺寸对应的数值调整为所述第一数值,以及将所述第二权重尺寸中的第二尺寸对应的数值调整为所述第二数值,其中所述第四权重尺寸为所述电子设备当前的硬件设施能够支持进行卷积运算的最大卷积核的权重尺寸。

示例性的,所述卷积运算单元83包括:

图像数据获取子单元,用于获取所述卷积神经网络中输入的原始图像数据;

图像数据提取子单元,用于从所述原始图像数据中,提取与各个通道对应的第二权重尺寸进行卷积运算的第一图像数据;

第一卷积运算子单元,用于将各个通道的第二权重尺寸和与其对应的第一图像数据进行卷积运算,得到M*N个卷积结果;

第二卷积运算子单元,将所述M*N个卷积结果累加,得到使用所述第一权重尺寸对原始图像数据进行卷积运算得到的卷积结果。

示例性的,所述图像数据提取子单元,具体用于:

计算所述第一图像数据的数据存储地址;

根据所述数据存储地址,从所述原始图像中提取所述第一图像数据。

示例性的,所述图像数据提取子单元,具体还用于:

根据当前计算通道数,计算各个通道对应的所述第一图像数据的起始位置;

利用预设的数据存储地址计算公式,根据所述起始位置计算所述第一图像数据的数据存储地址。

示例性的,所述图像数据提取子单元,具体还用于:

获取原始通道数,所述原始通道数为原始图像数据的输入通道数;

根据所述原始通道数,计算并更新第一坐标偏移值和第二坐标偏移值;

根据所述第一坐标偏移值和所述第二坐标偏移值,计算各个通道对应的所述第一图像数据的起始位置。

示例性的,所述图像数据提取子单元,具体还用于:

若更新后的所述第一坐标偏移值等于沿第一方向拆分的通道数,则更新第二坐标偏移值,并将更新后的所述第一坐标偏移值置零,否则,继续更新所述第一坐标偏移值。

示例性的,所述图像数据提取子单元,具体还用于:

如果原始通道数与第三数值的差和原始通道数计数器记录的数值相等,则触发第一坐标偏移值寄存器和第二坐标偏移值寄存器更新第一坐标偏移值和第二坐标偏移值。如果原始通道数与第三数值的差和原始通道数计数器记录的数值不相等,则维持第一坐标偏移值寄存器和第二坐标偏移值寄存器当前的坐标值不变,并且将原始通道计数器记录的数值置零

需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图9是本申请实施例提供的电子设备的示意图。如图9所示,该实施例的电子设备9包括:处理器90、存储器91以及存储在所述存储器91中并可在所述处理器90上运行的计算机程序92,例如图像处理程序。处理器90执行所述计算机程序92时实现上述各个图像处理方法实施例中的步骤,例如图1所示的步骤101至103。或者,所述处理器90执行所述计算机程序92时实现上述各装置实施例中各模块/单元的功能,例如图8所示单元81-83的功能。

示例性的,所述计算机程序92可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器91中,并由处理器90执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序92在所述电子设备9中的执行过程。例如,所述计算机程序92可以被分割成第一权重尺寸获取单元81、权重尺寸拆分单元、卷积运算单元83,各单元具体功能请参阅图8对应地实施例中地相关描述,此处不赘述。

所述电子设备可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是电子设备9的示例,并不构成对电子设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器91可以是所述电子设备9的内部存储单元,例如电子设备9的硬盘或内存。所述存储器91也可以是所述电子设备9的外部存储设备,例如所述电子设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述电子设备9的内部存储单元也包括外部存储设备。所述存储器91用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述图像处理方法。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述图像处理方法。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 图像处理方法及装置、眼底图像处理方法、电子设备
  • 图像信号处理装置、图像信号处理方法、图像显示装置、电视接收机、电子设备
技术分类

06120112203805