图像处理方法、装置、电子设备、存储介质和程序产品制造方法及图纸

技术编号:31827341 阅读:22 留言:0更新日期:2022-01-12 12:57
本公开提供了一种图像处理方法、图像处理装置、电子设备、存储介质和程序产品,可以用于人工智能领域,特别是图像处理领域等领域中。该方法包括:获取输入图像,输入图像包括多行像素;针对输入图像的多行像素中的每行像素,使用多个专用处理单元并行地执行像素提取,以得到针对每行像素的行数据;以及将针对每行像素的行数据拼接,以得到输出图像。利用上述方法,可以灵活支持各种规模输入图像的格式处理,能够充分利用硬件的并行性特点,高效地进行像素提取,从而可以支持高效的权重梯度计算,能够提升整体计算过程的吞吐率,并且因此能够提升用户体验。能够提升用户体验。能够提升用户体验。

【技术实现步骤摘要】
图像处理方法、装置、电子设备、存储介质和程序产品


[0001]本公开涉及计算机技术,并且更具体地,涉及图像处理方法、图像处理装置、电子设备、计算机可读存储介质和计算机程序产品,可以用于人工智能领域,特别是图像处理领域等领域中。

技术介绍

[0002]如今深度学习已经被广泛应用。伴随着模型的多样化以及对算力需求的提升,考虑到原有的深度学习硬件平台中的例如通用处理器、图形处理单元等的性能、成本等因素,业界纷纷开始自研深度学习加速器。
[0003]卷积层是神经网络中极为常见的层。在卷积层的前向计算中,需要若干个卷积核在输入图像上进行卷积操作。一种常见的实现方法是将输入图像进行im2col操作,这样卷积操作就能转化为矩阵乘法。而在训练过程中,还需要反向计算,需要根据当前层的输出图像梯度,计算出当前层的权重梯度和输入图像梯度,并依次向前层传播。权重梯度的求解方法为输出图像梯度乘以im2col操作之后的输入图像。硬件计算时为了获取高吞吐率,需要将该维度整理成连续数据并输出到矩阵运算单元,等同于进行im2col操作和transpose操作。
[0004]然而,传统技术中的用于像素提取的技术效率较低,难以满足用户的需求。

技术实现思路

[0005]根据本公开的实施例,提供了一种图像处理方法、图像处理装置、电子设备、计算机可读存储介质和计算机程序产品。
[0006]在本公开的第一方面中,提供了一种图像处理方法,包括:获取输入图像,输入图像包括多行像素;针对输入图像的多行像素中的每行像素,使用多个专用处理单元并行地执行像素提取,以得到针对每行像素的行数据;以及将针对每行像素的行数据拼接,以得到输出图像。
[0007]在本公开的第二方面中,提供了一种图像处理装置,包括:获取模块,被配置为获取输入图像,输入图像包括多行像素;第一计算模块,被配置为针对输入图像的多行像素中的每行像素,使用多个专用处理单元并行地执行像素提取,以得到针对每行像素的行数据;以及第一拼接模块,被配置为将针对每行像素的行数据拼接,以得到输出图像。
[0008]在本公开的第三方面中,提供了一种电子设备,包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够实现根据本公开的第一方面的方法。
[0009]在本公开的第四方面中,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机实现根据本公开的第一方面的方法。
[0010]在本公开的第五方面中,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时,执行根据本公开的第一方面的方法。
[0011]利用根据本申请的技术,提供了一种适用于CHW格式卷积层权重梯度计算中输入图像数据处理的方法,利用该方法的技术方案,可以灵活支持各种规模输入图像的格式处理,能够充分利用硬件的并行性特点,高效地进行像素提取,从而可以支持高效的权重梯度计算,能够提升整体计算过程的吞吐率,并且因此能够提升用户体验。
[0012]应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
[0013]通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的参考标号通常代表相同部件。应当理解,附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0014]图1示出了可以在其中实现本公开的某些实施例中的图像处理方法的图像处理环境100的示意性框图;
[0015]图2示出了可以在其中实现本公开的某些实施例中的图像处理方法的图像处理环境200的示意性框图;
[0016]图3示出了根据本公开实施例的图像处理方法300的流程图;
[0017]图4示出了根据本公开的实施例的输入图像400的示意图;
[0018]图5示出了根据本公开实施例的图像处理方法500的流程图;
[0019]图6A至图6D示出了根据本公开的实施例的图像处理方法中的输入数据变化610至640的示意图;
[0020]图7示出了根据本公开的实施例的输出矩阵700的示意图;
[0021]图8示出了根据本公开的实施例的图像处理装置800的示意性框图;以及
[0022]图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。
[0023]在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
[0024]下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0025]在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0026]如以上在
技术介绍
中所描述的,传统技术中的用于像素提取的技术效率较低,难以满足用户的需求。
[0027]具体而言,卷积层是神经网络中极为常见的层。在卷积层的前向计算中,需要若干
个卷积核在输入图像上进行卷积操作,在CHW格式下,假设图像规模为c*in_h*in_w,也可以被称为权重的卷积核的规模为f*c*r*s,并且卷积操作后输出图像的规模为f*out_h*out_w,其中c为输入图像的通道数量,in_h为输入图像的高度,in_w为输入图像的宽度,f为卷积核数量,r为卷积核高度,s为卷积核宽度,out_h为输出图像的高度,out_w为输出图像的宽度,这些高度和宽度的单位可以是像素。
[0028]一种常见的实现方法是对输入图像进行im2col操作,将卷积核经过的部分展开为out_h*out_w个一维向量,每个一维向量长度为c*r*s,即转化为[out_h*out_w,c*r*s]。这时,卷积操作就能被转化为矩阵乘法,并且具体矩阵乘法规模为[f,c*r*s]·
[c*r*s,out_h*out_w]=[f,out_h*out_w]。
[0029]在训练过程中,还需要反向计算,其中需要根据当前层的输出图像梯度,计算出当前层的权重梯度和输入图像梯度,并且依次向前层传播。权重梯度的求解方法为输出图像梯度乘以im2col操作之后的输入图像,具体规模为[f,out_h*out_w]·
[out_h*out_w,c*r*s]=[f,c*r*本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图像处理方法,包括:获取输入图像,所述输入图像包括多行像素;针对所述输入图像的所述多行像素中的每行像素,使用多个专用处理单元并行地执行像素提取,以得到针对每行像素的行数据;以及将针对每行像素的所述行数据拼接,以得到输出图像。2.根据权利要求1所述的方法,其中并行地执行所述像素提取包括:在所述输入图像的至少一侧的边缘添加填充,以得到经填充的所述输入图像;以及针对经填充的所述输入图像所包括的多行像素中的每行像素,使用所述多个专用处理单元并行地执行所述像素提取,以得到针对每行像素的行数据。3.根据权利要求1所述的方法,其中并行地执行所述像素提取包括:基于用于执行所述像素提取的卷积核的宽度来确定由所述多个专用处理单元中的每个专用处理单元针对每行像素执行所述像素提取时每次针对的像素数。4.根据权利要求1所述的方法,其中并行地执行所述像素提取包括:基于用于执行所述像素提取的卷积核的宽度步长来确定由所述多个专用处理单元中的每个专用处理单元针对每行像素执行所述像素提取时每次针对的像素。5.根据权利要求1所述的方法,其中并行地执行所述像素提取包括:基于用于执行所述像素提取的卷积核的高度步长来确定由所述多个专用处理单元中的每个专用处理单元针对所述多行像素执行所述像素提取时的顺序。6.根据权利要求1所述的方法,其中:所述输入图像包括至少一个通道,所述至少一个通道中的每个通道包括多行像素;并行地执行所述像素提取包括:针对所述输入图像的每个通道的所述多行像素中的每行像素,使用所述多个专用处理单元并行地执行所述像素提取,以得到针对所述通道的每行像素的行处理数据;并且针对每行像素的所述行数据拼接包括:将针对所述通道的每行像素的所述行处理数据拼接,以得到针对所述通道的通道数据;以及将针对每个通道的所述通道数据拼接,以得到所述输出图像。7.一种图像处理装置,包括:获取模块,被配置为获取输入图像,所述输入图像包括多行像素;第一计算模块,被配置为针对所述输入图像的所述多行像素中的每行像素,使用多个专用处理单元并行地执行像素提取,以得到针对每行像素的行数据;以及第一拼接模块,被配置为将针对每行像素的所述行数据拼接,以得到输出图像。8.根据权利要求7所述的装置,其中所述第一计算模块包括:填充模块,被配置为在所述输入图像的至少一侧的边缘添加填...

【专利技术属性】
技术研发人员:梁子豪欧阳剑漆维王京
申请(专利权)人:昆仑芯北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1