CN109872275B - 图像处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
图像处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109872275B CN109872275B CN201711262759.7A CN201711262759A CN109872275B CN 109872275 B CN109872275 B CN 109872275B CN 201711262759 A CN201711262759 A CN 201711262759A CN 109872275 B CN109872275 B CN 109872275B
- Authority
- CN
- China
- Prior art keywords
- convolution
- input image
- image
- output
- filling
- 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
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明实施例提供了一种图像处理方法、装置、电子设备及计算机可读存储介质。包括:计算放大填充参数;针对所述输出层的输出图像的每个输出位置,采用如下方式计算该输出位置的像素点的像素值:获取卷积核覆盖范围;计算输入图像覆盖范围;确定与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素;再将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值;所述输入向量为由所述输入图像覆盖范围内的所述输入图像的像素点的像素值按照预设顺序组成的向量;所述卷积核向量为由与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,按照所述预设顺序组成的向量。可以提高图像处理效率。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种图像处理方法、装置、电子设备及计算机可读存储介质。
背景技术
在应用卷积神经网络进行图像处理时,经常需要将隐藏层产生的特征图放大到原图的大小,即将隐藏层产生的特征图作为输入图像,对其进行转置卷积运算,得到放大后的输出图像。目前,常用的方法是:首先将转置卷积的卷积核进行180°旋转,得到旋转后的卷积核;再将输入图像放大到与输出图像相同的宽度和高度,得到放大后的输入图像,其中,放大过程分为两步:第一步内部填充和第二步边缘放大,内部填充的方法是:使得输入图像相邻两个像素点在内部填充后的图像中的间隔为转置卷积的步长长度减一,内部填充后的图像中除输入图像像素点所在位置外,其余位置像素点的像素值均取0;边缘放大的方法是:在内部填充后的图像的上方、下方、左侧及右侧分别填充0,得到与输出图像宽度和高度均相同的放大后的输入图像。最后对放大后的输入图像进行步长为1、卷积核为旋转后卷积核的卷积运算,得到最终的放大的输出图像。
对于上述方法,由于放大过程中,在输入图像中填充了多个0,在后续卷积运算中则会出现多个包含0的乘法运算,由于这些乘法运算结果仍为0,对最终的输出图像中的像素值并不会产生影响,属于无效的乘法运算,因此会导致运算速度低的问题,特别是当输入图像的宽度及高度与输出图像的宽度及高度相差较大,填充的0较多时,采用上述方法进行图像处理,处理效率将非常低。
发明内容
本发明实施例的目的在于提供一种图像处理方法、装置、电子设备及计算机可读存储介质,用于解决现有图像处理过程中存在的处理效率低的问题。具体技术方案如下:
第一方面,本发明实施例提供了一种图像处理方法,包括:
使用预设卷积神经网络中除输出层之外的其他网络层,对待处理图像的图像数据进行运算,得到所述输出层的输入图像;
基于所述输入图像的输入图像尺寸,所述输出层的输出图像尺寸,以及所述输出层的转置卷积步长,计算针对所述输入图像的放大填充参数;
针对所述输出层的输出图像的每个输出位置,采用如下方式计算该输出位置的像素点的像素值:
获取该输出位置对应的卷积核覆盖范围,所述卷积核覆盖范围为基于该输出位置的位置信息和所述输出层的卷积填充参数计算得到的;
基于所述卷积核覆盖范围,所述放大填充参数,所述转置卷积步长,计算该输出位置对应的输入图像覆盖范围;
基于所述输入图像覆盖范围,所述放大填充参数,所述卷积填充参数,所述转置卷积步长,针对该输出位置,确定所述预设卷积神经网络的卷积核中,与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,相对应的像素点与元素,在放大填充图像中的位置重合,所述放大填充图像为将输入图像经过内部填充和边缘填充后得到的图像;
将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值;其中,所述输入向量为由所述输入图像覆盖范围内的所述输入图像的像素点的像素值按照预设顺序组成的向量;所述卷积核向量为由与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,按照所述预设顺序组成的向量。
进一步的,所述输入图像尺寸包括输入图像宽度值和输入图像高度值;所述输出图像尺寸包括输出图像宽度值和输出图像高度值;所述转置卷积步长包括高度方向转置卷积步长和宽度方向转置卷积步长;
所述基于所述输入图像的输入图像尺寸,所述输出层的输出图像尺寸,以及所述输出层的转置卷积步长,计算针对所述输入图像的放大填充参数,包括:
将所述输入图像宽度值减一后,与所述宽度方向转置卷积步长相乘,得到宽度方向乘积结果,再将所述宽度方向乘积结果加一,得到内部填充图像宽度值;将所述输入图像高度值减一后,与所述高度方向转置卷积步长相乘,得到高度方向乘积结果,再将所述高度方向乘积结果加一,得到内部填充图像高度值;
将所述输出图像宽度值与所述内部填充图像宽度值的差值除以2后,向上取整,得到左侧放大填充参数;将所述输出图像宽度值与所述内部填充图像宽度值的差值再减去所述左侧放大填充参数,得到右侧放大填充参数;将所述输出图像高度值与所述内部填充图像高度值的差值除以2后,向上取整,得到上方放大填充参数;将所述输出图像高度值与所述内部填充图像高度值的差值再减去所述上方放大填充参数,得到下方放大填充参数。
进一步的,所述输出位置的位置信息包括:输出位置的横坐标和输出位置的纵坐标;所述卷积核覆盖范围包括卷积核覆盖的横坐标范围和卷积核覆盖的纵坐标范围;所述卷积填充参数包括:左侧卷积填充参数、右侧卷积填充参数、上方卷积填充参数及下方卷积填充参数;其中,所述左侧卷积填充参数等于卷积核宽度值减一后,除以2,再向下取整;所述右侧卷积填充参数等于所述卷积核宽度值减一后,再减去所述左侧卷积填充参数;所述上方卷积填充参数等于卷积核高度值减一后,除以2,再向下取整;所述下方卷积填充参数等于所述卷积核宽度值减一后,再减去所述上方卷积填充参数;
基于该输出位置的位置信息和所述输出层的卷积填充参数,采用如下步骤计算该输出位置对应的卷积核覆盖范围,包括:
该输出位置的横坐标减去所述左侧卷积填充参数,得到所述卷积核覆盖范围中起始位置的横坐标;该输出位置的横坐标加上所述右侧卷积填充参数,得到所述卷积核覆盖范围中终止位置的横坐标,其中,从所述起始位置的横坐标开始,到所述终止位置的横坐标为止,为所述卷积核覆盖的横坐标范围;
该输出位置的纵坐标减去所述上方卷积填充参数,得到所述卷积核覆盖范围中起始位置的纵坐标;输出位置的纵坐标加上所述下方卷积填充参数,得到所述卷积核覆盖范围中终止位置的纵坐标,其中,从所述起始位置的纵坐标开始,到所述终止位置的纵坐标为止,为所述卷积核覆盖的纵坐标范围。
进一步的,所述输入图像覆盖范围包括输入图像覆盖的横坐标范围和输入图像覆盖的纵坐标范围;
所述基于所述卷积核覆盖范围,所述放大填充参数,所述转置卷积步长,计算该输出位置对应的输入图像覆盖范围,包括:
将所述卷积核覆盖范围中起始位置的横坐标与所述左侧放大填充参数的差值除以所述宽度方向转置卷积步长后得到的商值与0进行比较,取最大值作为所述输入图像覆盖范围中起始位置的横坐标;将所述卷积核覆盖范围中终止位置的横坐标与所述左侧放大填充参数的差值除以所述宽度方向转置卷积步长后得到的商值与所述输入图像宽度值减一后得到的差值进行比较,取最小值作为所述输入图像覆盖范围中终止位置的横坐标,其中,从所述输入图像覆盖范围中起始位置的横坐标开始,到所述输入图像覆盖范围中终止位置的横坐标为止,为所述输入图像覆盖的横坐标范围;
将所述卷积核覆盖范围中起始位置的纵坐标与所述上方放大填充参数的差值除以所述高度方向转置卷积步长后得到的商值与0进行比较,取最大值作为所述输入图像覆盖范围中起始位置的纵坐标;将所述卷积核覆盖范围中终止位置的纵坐标与所述上方放大填充参数的差值除以所述高度方向转置卷积步长后得到的商值与所述输入图像高度值减一后得到的差值进行比较,取最小值作为所述输入图像覆盖范围中终止位置的纵坐标,其中,从所述输入图像覆盖范围中起始位置的纵坐标开始,到所述输入图像覆盖范围中终止位置的纵坐标为止,为所述输入图像覆盖的纵坐标范围。
进一步的,所述基于所述输入图像覆盖范围,所述放大填充参数,所述卷积填充参数,所述转置卷积步长,针对该输出位置,确定所述预设卷积神经网络的卷积核中,与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,包括:
针对所述输入图像中所述输入图像覆盖范围内的每个像素点,采用如下步骤确定所述预设卷积神经网络的卷积核中,与该像素点对应的元素:
将所述宽度方向转置卷积步长和该像素点的横坐标的乘积,与所述左侧卷积填充参数及所述左侧放大填充参数相加,再减去该输出位置的横坐标,得到与该像素点对应的元素的横坐标;
将所述高度方向转置卷积步长和该像素点的纵坐标的乘积,与所述上方卷积填充参数及所述上方放大填充参数相加,再减去该输出位置的纵坐标,得到与该像素点对应的元素的纵坐标。
第二方面,本发明实施例提供了一种图像处理装置,包括:
输入图像获取模块,用于使用预设卷积神经网络中除输出层之外的其他网络层,对待处理图像的图像数据进行运算,得到所述输出层的输入图像;
放大填充参数计算模块,用于基于所述输入图像的输入图像尺寸,所述输出层的输出图像尺寸,以及所述输出层的转置卷积步长,计算针对所述输入图像的放大填充参数;
像素值计算模块,用于针对所述输出层的输出图像的每个输出位置,计算该输出位置的像素点的像素值,所述像素值计算模块,包括:
卷积核覆盖范围获取子模块,用于获取该输出位置对应的卷积核覆盖范围,所述卷积核覆盖范围为基于该输出位置的位置信息和所述输出层的卷积填充参数计算得到的;
输入图像覆盖范围计算子模块,用于基于所述卷积核覆盖范围,所述放大填充参数,所述转置卷积步长,计算该输出位置对应的输入图像覆盖范围;
卷积核元素确定子模块,用于基于所述输入图像覆盖范围,所述放大填充参数,所述卷积填充参数,所述转置卷积步长,针对该输出位置,确定所述预设卷积神经网络的卷积核中,与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,相对应的像素点与元素,在放大填充图像中的位置重合,所述放大填充图像为将输入图像经过内部填充和边缘填充后得到的图像;
像素值计算子模块,用于将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值;其中,所述输入向量为由所述输入图像覆盖范围内的所述输入图像的像素点的像素值按照预设顺序组成的向量;所述卷积核向量为由与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,按照所述预设顺序组成的向量。
进一步的,所述输入图像尺寸包括输入图像宽度值和输入图像高度值;所述输出图像尺寸包括输出图像宽度值和输出图像高度值;所述转置卷积步长包括高度方向转置卷积步长和宽度方向转置卷积步长;
所述放大填充参数计算模块,具体用于将所述输入图像宽度值减一后,与所述宽度方向转置卷积步长相乘,得到宽度方向乘积结果,再将所述宽度方向乘积结果加一,得到内部填充图像宽度值;将所述输入图像高度值减一后,与所述高度方向转置卷积步长相乘,得到高度方向乘积结果,再将所述高度方向乘积结果加一,得到内部填充图像高度值;
将所述输出图像宽度值与所述内部填充图像宽度值的差值除以2后,向上取整,得到左侧放大填充参数;将所述输出图像宽度值与所述内部填充图像宽度值的差值再减去所述左侧放大填充参数,得到右侧放大填充参数;将所述输出图像高度值与所述内部填充图像高度值的差值除以2后,向上取整,得到上方放大填充参数;将所述输出图像高度值与所述内部填充图像高度值的差值再减去所述上方放大填充参数,得到下方放大填充参数。
进一步的,所述输出位置的位置信息包括:输出位置的横坐标和输出位置的纵坐标;所述卷积核覆盖范围包括卷积核覆盖的横坐标范围和卷积核覆盖的纵坐标范围;所述卷积填充参数包括:左侧卷积填充参数、右侧卷积填充参数、上方卷积填充参数及下方卷积填充参数;其中,所述左侧卷积填充参数等于卷积核宽度值减一后,除以2,再向下取整;所述右侧卷积填充参数等于所述卷积核宽度值减一后,再减去所述左侧卷积填充参数;所述上方卷积填充参数等于卷积核高度值减一后,除以2,再向下取整;所述下方卷积填充参数等于所述卷积核宽度值减一后,再减去所述上方卷积填充参数;
所述卷积核覆盖范围获取子模块,具体用于该输出位置的横坐标减去所述左侧卷积填充参数,得到所述卷积核覆盖范围中起始位置的横坐标;该输出位置的横坐标加上所述右侧卷积填充参数,得到所述卷积核覆盖范围中终止位置的横坐标,其中,从所述起始位置的横坐标开始,到所述终止位置的横坐标为止,为所述卷积核覆盖的横坐标范围;该输出位置的纵坐标减去所述上方卷积填充参数,得到所述卷积核覆盖范围中起始位置的纵坐标;输出位置的纵坐标加上所述下方卷积填充参数,得到所述卷积核覆盖范围中终止位置的纵坐标,其中,从所述起始位置的纵坐标开始,到所述终止位置的纵坐标为止,为所述卷积核覆盖的纵坐标范围。
进一步的,所述输入图像覆盖范围包括输入图像覆盖的横坐标范围和输入图像覆盖的纵坐标范围;
所述输入图像覆盖范围计算子模块,具体用于将所述卷积核覆盖范围中起始位置的横坐标与所述左侧放大填充参数的差值除以所述宽度方向转置卷积步长后得到的商值与0进行比较,取最大值作为所述输入图像覆盖范围中起始位置的横坐标;将所述卷积核覆盖范围中终止位置的横坐标与所述左侧放大填充参数的差值除以所述宽度方向转置卷积步长后得到的商值与所述输入图像宽度值减一后得到的差值进行比较,取最小值作为所述输入图像覆盖范围中终止位置的横坐标,其中,从所述输入图像覆盖范围中起始位置的横坐标开始,到所述输入图像覆盖范围中终止位置的横坐标为止,为所述输入图像覆盖的横坐标范围;
将所述卷积核覆盖范围中起始位置的纵坐标与所述上方放大填充参数的差值除以所述高度方向转置卷积步长后得到的商值与0进行比较,取最大值作为所述输入图像覆盖范围中起始位置的纵坐标;将所述卷积核覆盖范围中终止位置的纵坐标与所述上方放大填充参数的差值除以所述高度方向转置卷积步长后得到的商值与所述输入图像高度值减一后得到的差值进行比较,取最小值作为所述输入图像覆盖范围中终止位置的纵坐标,其中,从所述输入图像覆盖范围中起始位置的纵坐标开始,到所述输入图像覆盖范围中终止位置的纵坐标为止,为所述输入图像覆盖的纵坐标范围。
进一步的,所述卷积核元素确定子模块,具体用于针对所述输入图像中所述输入图像覆盖范围内的每个像素点,采用如下步骤确定所述预设卷积神经网络的卷积核中,与该像素点对应的元素:
将所述宽度方向转置卷积步长和该像素点的横坐标的乘积,与所述左侧卷积填充参数及所述左侧放大填充参数相加,再减去该输出位置的横坐标,得到与该像素点对应的元素的横坐标;
将所述高度方向转置卷积步长和该像素点的纵坐标的乘积,与所述上方卷积填充参数及所述上方放大填充参数相加,再减去该输出位置的纵坐标,得到与该像素点对应的元素的纵坐标。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一图像处理方法的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的图像处理方法。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的图像处理方法。
本发明实施例提供的图像处理方法中,首先计算针对输入图像的放大填充参数,然后再针对输出层的输出图像的每个输出位置,获取针对该输出位置的卷积核覆盖范围、计算该输出位置对应的输入图像覆盖范围及与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,从而计算输出层的输出图像的每个输出位置的像素点的像素值。本发明方案中避免了现有技术中由于对输入图像放大时填充了多个0,而引起的在计算每个输出位置的像素点的像素值的过程中会出现多个无效乘法运算的问题,从而达到了提高处理效率的效果。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的图像处理方法的流程示意图;
图2为本发明一个实施例提供的图像处理方法中,针对输出图像的每个输出位置,计算该输出位置的像素点的像素值步骤的流程示意图;
图3为本发明一个实施例提供的图像处理方法中各物理量的位置关系示意图;
图4为本发明一个实施例提供的图像处理装置的结构示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一个实施例提供的图像处理方法的流程示意图,包括:
步骤101,使用预设卷积神经网络中除输出层之外的其他网络层,对待处理图像的图像数据进行运算,得到输出层的输入图像。
步骤102,基于输入图像的输入图像尺寸,输出层的输出图像尺寸,以及输出层的转置卷积步长,计算针对输入图像的放大填充参数。
步骤103,针对输出层的输出图像的每个输出位置,计算该输出位置的像素点的像素值。
其中,步骤103中,计算该输出位置的像素点的像素值,可以包括如下步骤:
步骤1031,获取该输出位置对应的卷积核覆盖范围,该卷积核覆盖范围为基于该输出位置的位置信息和输出层的卷积填充参数计算得到的。
步骤1032,基于卷积核覆盖范围,放大填充参数,转置卷积步长,计算该输出位置对应的输入图像覆盖范围。
步骤1033,基于输入图像覆盖范围,放大填充参数,卷积填充参数,转置卷积步长,针对该输出位置,确定预设卷积神经网络的卷积核中,与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,相对应的像素点与元素,在放大填充图像中的位置重合,放大填充图像为将输入图像经过内部填充和边缘填充后得到的图像。
步骤1034,将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值;其中,输入向量为由输入图像覆盖范围内的输入图像的像素点的像素值按照预设顺序组成的向量;卷积核向量为由与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,按照预设顺序组成的向量。
在本发明实施例提供的图1及图2所示的图像处理方法中,通过计算放大填充参数,再针对输出层的输出图像的每个输出位置,获取针对该输出位置的卷积核覆盖范围、计算该输出位置对应的输入图像覆盖范围及与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,从而计算输出层的输出图像的每个输出位置的像素点的像素值,避免了现有技术方案中在计算每个输出位置的像素点的像素值时,会出现多个无效乘法运算的问题,达到了提高处理效率的效果。
本发明实施例中所提到的放大填充图像,仅为了说明输入图像中输入图像覆盖范围内的像素点与卷积核中元素所满足的对应关系,在实际执行本方法的流程中,并不需要生成上述的放大填充图像。附图3为本发明一个实施例提供的图像处理方法中各物理量的位置关系示意图,结合该附图,上述放大填充参数即为与输出图像具有相同宽度值Wo及高度值Ho的图像。
下面结合附图,对本发明实施例提供的图像处理方法、装置、电子设备及计算机可读存储介质进行详细描述。
仍然如附图1和2所示,本发明实施例提供一种图像处理方法,具体包括如下步骤:
步骤101,使用预设卷积神经网络中除输出层之外的其他网络层,对待处理图像的图像数据进行运算,得到输出层的输入图像。
本步骤中的预设神经网络可以包括多个神经元层:输入层、隐藏层和输出层,其中,隐藏层可以不存在,也可以有1个或者多个,具体的如卷积层、池化层及全链接层等。这里的输出层则是使用本发明中的图像处理方法对经输入层及隐藏层(如果存在的话)处理后的图像数据进行图像处理的网络层。
步骤102,基于输入图像的输入图像尺寸,输出层的输出图像尺寸,以及输出层的转置卷积步长,计算针对输入图像的放大填充参数。
本步骤中输入图像的放大填充参数指的是,针对输入图像,若按照背景技术中描述的现有方法,将其进行内部填充和边缘放大,得到与输出图像尺寸相同的尺寸时,需要在经内部填充后得到的内部填充图像的边缘填充的0元素的个数,包括在内部填充图像的上方填充的0元素个数(即上方放大填充参数),在内部填充图像的下方填充的0元素个数(下方放大填充参数),在内部填充图像的左侧填充的0元素个数(左侧放大填充参数),以及在内部填充图像的右侧填充的0元素个数(右侧放大填充参数)。
本发明实施例中,输入图像尺寸包括输入图像宽度值和输入图像高度值;输出图像尺寸包括输出图像宽度值和输出图像高度值;转置卷积步长包括高度方向转置卷积步长和宽度方向转置卷积步长。
进一步的,可以采用如下方法计算针对输入图像的放大填充参数:
将输入图像宽度值减一后,与宽度方向转置卷积步长相乘,得到宽度方向乘积结果,再将宽度方向乘积结果加一,得到内部填充图像宽度值;将输入图像高度值减一后,与高度方向转置卷积步长相乘,得到高度方向乘积结果,再将高度方向乘积结果加一,得到内部填充图像高度值;
将输出图像宽度值与内部填充图像宽度值的差值除以2后,向上取整,得到左侧放大填充参数;将输出图像宽度值与内部填充图像宽度值的差值再减去左侧放大填充参数,得到右侧放大填充参数;将输出图像高度值与内部填充图像高度值的差值除以2后,向上取整,得到上方放大填充参数;将输出图像高度值与内部填充图像高度值的差值再减去上方放大填充参数,得到下方放大填充参数。
或者,参见图3中各物理量的位置关系,可以采用如下公式计算针对输入图像的放大填充参数:
Wt=(Wi-1)*Sx+1
Ht=(Hi-1)*Sy+1
其中:Wi为输入图像宽度值;Sx为宽度方向转置卷积步长;
Hi为输入图像高度值;Sy为宽度方向转置卷积步长;
Prl为左侧放大填充参数;Prr为右侧放大填充参数;
Prt为上方放大填充参数;Prb为下方放大填充参数。
步骤103,针对输出层的输出图像的每个输出位置,采用如下方式计算该输出位置的像素点的像素值:
步骤1031,获取该输出位置对应的卷积核覆盖范围,卷积核覆盖范围为基于该输出位置的位置信息和输出层的卷积填充参数计算得到的。
本步骤中,该输出位置对应的卷积核覆盖范围可以是预先针对每个输出位置基于卷积填充参数计算得到的。
输出位置的位置信息包括:输出位置的横坐标和输出位置的纵坐标;卷积核覆盖范围包括卷积核覆盖的横坐标范围和卷积核覆盖的纵坐标范围。
卷积填充参数包括:左侧卷积填充参数、右侧卷积填充参数、上方卷积填充参数及下方卷积填充参数。
进一步的,可以采用如下方法获得卷积填充参数:
左侧卷积填充参数等于卷积核宽度值减一后,除以2,再向下取整;右侧卷积填充参数等于卷积核宽度值减一后,再减去左侧卷积填充参数;上方卷积填充参数等于卷积核高度值减一后,除以2,再向下取整;下方卷积填充参数等于卷积核宽度值减一后,再减去上方卷积填充参数。
或者,参见图3中各物理量的位置关系,可以采用如下公式获得卷积填充参数:
其中:Pkl为左侧卷积填充参数;Pkr为右侧卷积填充参数
Pkt为上方卷积填充参数;Pkb为上方卷积填充参数。
进一步的,可以采用如下方法,获取该输出位置对应的卷积核覆盖范围:
该输出位置的横坐标减去左侧卷积填充参数,得到卷积核覆盖范围中起始位置的横坐标;该输出位置的横坐标加上右侧卷积填充参数,得到卷积核覆盖范围中终止位置的横坐标,其中,从起始位置的横坐标开始,到终止位置的横坐标为止,为卷积核覆盖的横坐标范围;
该输出位置的纵坐标减去上方卷积填充参数,得到卷积核覆盖范围中起始位置的纵坐标;输出位置的纵坐标加上下方卷积填充参数,得到卷积核覆盖范围中终止位置的纵坐标,其中,从起始位置的纵坐标开始,到终止位置的纵坐标为止,为卷积核覆盖的纵坐标范围。
或者,参见图3中各物理量的位置关系,可以采用如下公式,获取该输出位置对应的卷积核覆盖范围:
xr1=x-Pkl,xr2=x+Pkr
yr1=y-Pkt,yr2=y+Pkb
其中:xr1为卷积核覆盖范围中起始位置的横坐标;
xr2为卷积核覆盖范围中终止位置的横坐标;
yr1为卷积核覆盖范围中起始位置的纵坐标;
yr2为卷积核覆盖范围中终止位置的纵坐标;
x为输出位置的横坐标;y为输出位置的纵坐标;
[xr1,xr2]即为卷积核覆盖的横坐标范围;
[yr1,yr2]即为卷积核覆盖的纵坐标范围。
步骤1032,基于卷积核覆盖范围,放大填充参数,转置卷积步长,计算该输出位置对应的输入图像覆盖范围。
本步骤中,输入图像覆盖范围包括输入图像覆盖的横坐标范围和输入图像覆盖的纵坐标范围。
进一步的,可以采用如下方法,计算该输出位置对应的输入图像覆盖范围:
将卷积核覆盖范围中起始位置的横坐标与左侧放大填充参数的差值除以宽度方向转置卷积步长后得到的商值与0进行比较,取最大值作为输入图像覆盖范围中起始位置的横坐标;将卷积核覆盖范围中终止位置的横坐标与左侧放大填充参数的差值除以宽度方向转置卷积步长后得到的商值与输入图像宽度值减一后得到的差值进行比较,取最小值作为输入图像覆盖范围中终止位置的横坐标,其中,从输入图像覆盖范围中起始位置的横坐标开始,到输入图像覆盖范围中终止位置的横坐标为止,为输入图像覆盖的横坐标范围;
将卷积核覆盖范围中起始位置的纵坐标与上方放大填充参数的差值除以高度方向转置卷积步长后得到的商值与0进行比较,取最大值作为输入图像覆盖范围中起始位置的纵坐标;将卷积核覆盖范围中终止位置的纵坐标与上方放大填充参数的差值除以高度方向转置卷积步长后得到的商值与输入图像高度值减一后得到的差值进行比较,取最小值作为输入图像覆盖范围中终止位置的纵坐标,其中,从输入图像覆盖范围中起始位置的纵坐标开始,到输入图像覆盖范围中终止位置的纵坐标为止,为输入图像覆盖的纵坐标范围。
或者,参见图3中各物理量的位置关系,可以采用如下公式,计算该输出位置对应的输入图像覆盖范围:
其中:xs1为输入图像覆盖范围中起始位置的横坐标;
xs2为输入图像覆盖范围中终止位置的横坐标;
ys1为输入图像覆盖范围中起始位置的纵坐标;
ys2为输入图像覆盖范围中终止位置的纵坐标;
[xs1,xs2]即为输入图像覆盖的横坐标范围;
[ys1,ys2]即为输入图像覆盖的纵坐标范围。
步骤1033,基于输入图像覆盖范围,放大填充参数,卷积填充参数,转置卷积步长,针对该输出位置,确定预设卷积神经网络的卷积核中,与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,相对应的像素点与元素,在放大填充图像中的位置重合,放大填充图像为将输入图像经过内部填充和边缘填充后得到的图像。
进一步的,可以采用如下方法,确定预设卷积神经网络的卷积核中,与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素:
针对输入图像中所述输入图像覆盖范围内的每个像素点,采用如下步骤确定预设卷积神经网络的卷积核中,与该像素点对应的元素:将宽度方向转置卷积步长和该像素点的横坐标的乘积,与左侧卷积填充参数及左侧放大填充参数相加,再减去该输出位置的横坐标,得到与该像素点对应的元素的横坐标;
将高度方向转置卷积步长和该像素点的纵坐标的乘积,与上方卷积填充参数及上方放大填充参数相加,再减去该输出位置的纵坐标,得到与该像素点分别对应的元素的纵坐标;
或者,参见图3中各物理量的位置关系,可以采用如下公式,确定预设卷积神经网络的卷积核中,与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素:
ik=Pkl-x+i*Sx
jk=Pkt-y+j*Sy
其中:i为输入图像覆盖范围中的输入图像的像素点的横坐标;
j为输入图像覆盖范围中的输入图像的像素点的纵坐标;
ik为与输入图像中输入图像覆盖范围内的像素点对应的元素的横坐标;
jk为与输入图像中输入图像覆盖范围内的像素点对应的元素的纵坐标;
在卷积核中,由坐标(ik,jk)所确定的值即为与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素。
步骤1034,将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值;其中,输入向量为由输入图像覆盖范围内的输入图像的像素点的像素值按照预设顺序组成的向量;卷积核向量为由与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,按照预设顺序组成的向量。
在本发明实施例中,基于放大填充参数、针对输出图像的每个输出位置的卷积核覆盖范围,通过计算该输出位置对应的输入图像覆盖范围及与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,从而计算出输出层的输出图像的每个输出位置的像素点的像素值,避免了现有技术方案中在计算每个输出位置的像素点的像素值时,会出现多个无效乘法运算的问题,达到了提高处理效率的效果。
或者,参见图3中各物理量的位置关系,可以采用如下公式,将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值:
其中:Ox,y为该输出位置的像素点的像素值;
Ii,j为输入图像中输入图像覆盖范围内的像素点的像素值;
基于同一发明构思,根据本发明上述实施例提供的图像处理方法,相应地,本发明一个实施例还提供了一种图像处理装置,其结构示意图如图4所示,包括:
输入图像获取模块401,用于使用预设卷积神经网络中除输出层之外的其他网络层,对待处理图像的图像数据进行运算,得到输出层的输入图像;
放大填充参数计算模块402,用于基于输入图像的输入图像尺寸,输出层的输出图像尺寸,以及输出层的转置卷积步长,计算针对输入图像的放大填充参数;
像素值计算模块403,用于针对输出层的输出图像的每个输出位置,计算该输出位置的像素点的像素值,像素值计算模块403,包括:
卷积核覆盖范围获取子模块4031,用于获取该输出位置对应的卷积核覆盖范围,卷积核覆盖范围为基于该输出位置的位置信息和输出层的卷积填充参数计算得到的;
输入图像覆盖范围计算子模块4032,用于基于卷积核覆盖范围,放大填充参数,转置卷积步长,计算该输出位置对应的输入图像覆盖范围;
卷积核元素确定子模块4033,用于基于输入图像覆盖范围,放大填充参数,卷积填充参数,转置卷积步长,针对该输出位置,确定预设卷积神经网络的卷积核中,与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,相对应的像素点与元素,在放大填充图像中的位置重合,放大填充图像为将输入图像经过内部填充和边缘填充后得到的图像;
像素值计算子模块4034,用于将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值;其中,输入向量为由输入图像覆盖范围内的输入图像的像素点的像素值按照预设顺序组成的向量;卷积核向量为由与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,按照预设顺序组成的向量。
进一步的,输入图像尺寸包括输入图像宽度值和输入图像高度值;输出图像尺寸包括输出图像宽度值和输出图像高度值;转置卷积步长包括高度方向转置卷积步长和宽度方向转置卷积步长。
放大填充参数计算模块402,具体用于,将输入图像宽度值减一后,与宽度方向转置卷积步长相乘,得到宽度方向乘积结果,再将宽度方向乘积结果加一,得到内部填充图像宽度值;将输入图像高度值减一后,与高度方向转置卷积步长相乘,得到高度方向乘积结果,再将高度方向乘积结果加一,得到内部填充图像高度值。
将输出图像宽度值与内部填充图像宽度值的差值除以2后,向上取整,得到左侧放大填充参数;将输出图像宽度值与内部填充图像宽度值的差值再减去左侧放大填充参数,得到右侧放大填充参数;将输出图像高度值与内部填充图像高度值的差值除以2后,向上取整,得到上方放大填充参数;将输出图像高度值与内部填充图像高度值的差值再减去上方放大填充参数,得到下方放大填充参数。
进一步的,输出位置的位置信息包括:输出位置的横坐标和输出位置的纵坐标;卷积核覆盖范围包括卷积核覆盖的横坐标范围和卷积核覆盖的纵坐标范围;卷积填充参数包括:左侧卷积填充参数、右侧卷积填充参数、上方卷积填充参数及下方卷积填充参数;其中,左侧卷积填充参数等于卷积核宽度值减一后,除以2,再向下取整;右侧卷积填充参数等于卷积核宽度值减一后,再减去左侧卷积填充参数;上方卷积填充参数等于卷积核高度值减一后,除以2,再向下取整;下方卷积填充参数等于卷积核宽度值减一后,再减去上方卷积填充参数。
卷积核覆盖范围获取子模块4031,具体用于该输出位置的横坐标减去左侧卷积填充参数,得到卷积核覆盖范围中起始位置的横坐标;该输出位置的横坐标加上右侧卷积填充参数,得到卷积核覆盖范围中终止位置的横坐标,其中,从起始位置的横坐标开始,到终止位置的横坐标为止,为卷积核覆盖的横坐标范围;该输出位置的纵坐标减去上方卷积填充参数,得到卷积核覆盖范围中起始位置的纵坐标;输出位置的纵坐标加上下方卷积填充参数,得到卷积核覆盖范围中终止位置的纵坐标,其中,从起始位置的纵坐标开始,到终止位置的纵坐标为止,为卷积核覆盖的纵坐标范围。
进一步的,输入图像覆盖范围包括输入图像覆盖的横坐标范围和输入图像覆盖的纵坐标范围。
输入图像覆盖范围计算子模块4032,具体用于将卷积核覆盖范围中起始位置的横坐标与左侧放大填充参数的差值除以宽度方向转置卷积步长后得到的商值与0进行比较,取最大值作为输入图像覆盖范围中起始位置的横坐标;将卷积核覆盖范围中终止位置的横坐标与左侧放大填充参数的差值除以宽度方向转置卷积步长后得到的商值与输入图像宽度值减一后得到的差值进行比较,取最小值作为输入图像覆盖范围中终止位置的横坐标,其中,从输入图像覆盖范围中起始位置的横坐标开始,到输入图像覆盖范围中终止位置的横坐标为止,为输入图像覆盖的横坐标范围;
用于将卷积核覆盖范围中起始位置的纵坐标与上方放大填充参数的差值除以高度方向转置卷积步长后得到的商值与0进行比较,取最大值作为输入图像覆盖范围中起始位置的纵坐标;将卷积核覆盖范围中终止位置的纵坐标与上方放大填充参数的差值除以高度方向转置卷积步长后得到的商值与输入图像高度值减一后得到的差值进行比较,取最小值作为输入图像覆盖范围中终止位置的纵坐标,其中,从输入图像覆盖范围中起始位置的纵坐标开始,到输入图像覆盖范围中终止位置的纵坐标为止,为输入图像覆盖的纵坐标范围。
进一步的,卷积核元素确定子模块4033,具体用于,针对所述输入图像中所述输入图像覆盖范围内的每个像素点,采用如下步骤确定所述预设卷积神经网络的卷积核中,与该像素点对应的元素:将宽度方向转置卷积步长和该像素点的横坐标的乘积,与左侧卷积填充参数及左侧放大填充参数相加,再减去该输出位置的横坐标,得到与该像素点对应的元素的横坐标;
将高度方向转置卷积步长和该像素点的纵坐标的乘积,与上方卷积填充参数及上方放大填充参数相加,再减去该输出位置的纵坐标,得到与该像素点对应的元素的纵坐标;上述各模块的功能可对应于图1或图2所示流程中的相应处理步骤,在此不再赘述。
在本发明实施例提供的图像处理装置中,基于放大填充参数模块计算得到的放大填充参数、卷积核覆盖范围获取模块获取的针对输出图像的每个输出位置的卷积核覆盖范围及输入图像覆盖范围计算模块计算得到的该输出位置对应的输入图像覆盖范围,再根据卷积核元素确定模块确定的该输出位置对应的输入图像覆盖范围及与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,从而输出位置像素点像素值计算得到了子模块计算出输出层的输出图像的每个输出位置的像素点的像素值,避免了现有技术方案中在计算每个输出位置的像素点的像素值时,会出现多个无效乘法运算的问题,达到了提高处理效率的效果。
基于同一发明构思,根据本发明上述实施例提供的图像处理方法,相应地,本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现本发明实施例提供的上述图像处理方法。
例如,可以包括如下步骤:
使用预设卷积神经网络中除输出层之外的其他网络层,对待处理图像的图像数据进行运算,得到输出层的输入图像;
基于输入图像的输入图像尺寸,输出层的输出图像尺寸,以及输出层的转置卷积步长,计算针对输入图像的放大填充参数;
针对输出层的输出图像的每个输出位置,采用如下方式计算该输出位置的像素点的像素值:
获取该输出位置对应的卷积核覆盖范围,卷积核覆盖范围为基于该输出位置的位置信息和输出层的卷积填充参数计算得到的;
基于卷积核覆盖范围,放大填充参数,转置卷积步长,计算该输出位置对应的输入图像覆盖范围;
基于输入图像覆盖范围,放大填充参数,卷积填充参数,转置卷积步长,针对该输出位置,确定预设卷积神经网络的卷积核中,与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,相对应的像素点与元素,在放大填充图像中的位置重合,放大填充图像为将输入图像经过内部填充和边缘填充后得到的图像;
将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值;其中,输入向量为由输入图像覆盖范围内的输入图像的像素点的像素值按照预设顺序组成的向量;卷积核向量为由与输入图像中输入图像覆盖范围内的每个像素点分别对应的元素,按照预设顺序组成的向量。
进一步的,还可以包括本发明实施例提供的上述图像处理方法中的其他处理流程,在此不再进行详细描述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。进一步的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一上述的图像处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一上述的图像处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照本发明实施例上述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种图像处理方法,其特征在于,包括:
使用预设卷积神经网络中除输出层之外的其他网络层,对待处理图像的图像数据进行运算,得到所述输出层的输入图像;
基于所述输入图像的输入图像尺寸,所述输出层的输出图像尺寸,以及所述输出层的转置卷积步长,计算针对所述输入图像的放大填充参数;
针对所述输出层的输出图像的每个输出位置,采用如下方式计算该输出位置的像素点的像素值:
获取该输出位置对应的卷积核覆盖范围,所述卷积核覆盖范围为基于该输出位置的位置信息和所述输出层的卷积填充参数计算得到的;
基于所述卷积核覆盖范围,所述放大填充参数,所述转置卷积步长,计算该输出位置对应的输入图像覆盖范围;
基于所述输入图像覆盖范围,所述放大填充参数,所述卷积填充参数,所述转置卷积步长,针对该输出位置,确定所述预设卷积神经网络的卷积核中,与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,所述像素点与对应的元素在放大填充图像中的位置重合,所述放大填充图像为将输入图像经过内部填充和边缘填充后得到的图像;
将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值;其中,所述输入向量为由所述输入图像覆盖范围内的所述输入图像的像素点的像素值按照预设顺序组成的向量;所述卷积核向量为由与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,按照所述预设顺序组成的向量。
2.根据权利要求1所述的方法,其特征在于,所述输入图像尺寸包括输入图像宽度值和输入图像高度值;所述输出图像尺寸包括输出图像宽度值和输出图像高度值;所述转置卷积步长包括高度方向转置卷积步长和宽度方向转置卷积步长;
所述基于所述输入图像的输入图像尺寸,所述输出层的输出图像尺寸,以及所述输出层的转置卷积步长,计算针对所述输入图像的放大填充参数,包括:
将所述输入图像宽度值减一后,与所述宽度方向转置卷积步长相乘,得到宽度方向乘积结果,再将所述宽度方向乘积结果加一,得到内部填充图像宽度值;将所述输入图像高度值减一后,与所述高度方向转置卷积步长相乘,得到高度方向乘积结果,再将所述高度方向乘积结果加一,得到内部填充图像高度值;
将所述输出图像宽度值与所述内部填充图像宽度值的差值除以2后,向上取整,得到左侧放大填充参数;将所述输出图像宽度值与所述内部填充图像宽度值的差值再减去所述左侧放大填充参数,得到右侧放大填充参数;将所述输出图像高度值与所述内部填充图像高度值的差值除以2后,向上取整,得到上方放大填充参数;将所述输出图像高度值与所述内部填充图像高度值的差值再减去所述上方放大填充参数,得到下方放大填充参数。
3.根据权利要求2所述的方法,其特征在于,所述输出位置的位置信息包括:输出位置的横坐标和输出位置的纵坐标;所述卷积核覆盖范围包括卷积核覆盖的横坐标范围和卷积核覆盖的纵坐标范围;所述卷积填充参数包括:左侧卷积填充参数、右侧卷积填充参数、上方卷积填充参数及下方卷积填充参数;其中,所述左侧卷积填充参数等于卷积核宽度值减一后,除以2,再向下取整;所述右侧卷积填充参数等于所述卷积核宽度值减一后,再减去所述左侧卷积填充参数;所述上方卷积填充参数等于卷积核高度值减一后,除以2,再向下取整;所述下方卷积填充参数等于所述卷积核宽度值减一后,再减去所述上方卷积填充参数;
基于该输出位置的位置信息和所述输出层的卷积填充参数,采用如下步骤获取该输出位置对应的卷积核覆盖范围,包括:
该输出位置的横坐标减去所述左侧卷积填充参数,得到所述卷积核覆盖范围中起始位置的横坐标;该输出位置的横坐标加上所述右侧卷积填充参数,得到所述卷积核覆盖范围中终止位置的横坐标,其中,从所述起始位置的横坐标开始,到所述终止位置的横坐标为止,为所述卷积核覆盖的横坐标范围;
该输出位置的纵坐标减去所述上方卷积填充参数,得到所述卷积核覆盖范围中起始位置的纵坐标;输出位置的纵坐标加上所述下方卷积填充参数,得到所述卷积核覆盖范围中终止位置的纵坐标,其中,从所述起始位置的纵坐标开始,到所述终止位置的纵坐标为止,为所述卷积核覆盖的纵坐标范围。
4.根据权利要求3所述的方法,其特征在于,所述输入图像覆盖范围包括输入图像覆盖的横坐标范围和输入图像覆盖的纵坐标范围;
所述基于所述卷积核覆盖范围,所述放大填充参数,所述转置卷积步长,计算该输出位置对应的输入图像覆盖范围,包括:
将所述卷积核覆盖范围中起始位置的横坐标与所述左侧放大填充参数的差值除以所述宽度方向转置卷积步长后得到的商值与0进行比较,取最大值作为所述输入图像覆盖范围中起始位置的横坐标;将所述卷积核覆盖范围中终止位置的横坐标与所述左侧放大填充参数的差值除以所述宽度方向转置卷积步长后得到的商值与所述输入图像宽度值减一后得到的差值进行比较,取最小值作为所述输入图像覆盖范围中终止位置的横坐标,其中,从所述输入图像覆盖范围中起始位置的横坐标开始,到所述输入图像覆盖范围中终止位置的横坐标为止,为所述输入图像覆盖的横坐标范围;
将所述卷积核覆盖范围中起始位置的纵坐标与所述上方放大填充参数的差值除以所述高度方向转置卷积步长后得到的商值与0进行比较,取最大值作为所述输入图像覆盖范围中起始位置的纵坐标;将所述卷积核覆盖范围中终止位置的纵坐标与所述上方放大填充参数的差值除以所述高度方向转置卷积步长后得到的商值与所述输入图像高度值减一后得到的差值进行比较,取最小值作为所述输入图像覆盖范围中终止位置的纵坐标,其中,从所述输入图像覆盖范围中起始位置的纵坐标开始,到所述输入图像覆盖范围中终止位置的纵坐标为止,为所述输入图像覆盖的纵坐标范围。
5.根据权利要求4所述的方法,其特征在于,所述基于所述输入图像覆盖范围,所述放大填充参数,所述卷积填充参数,所述转置卷积步长,针对该输出位置,确定所述预设卷积神经网络的卷积核中,与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,包括:
针对所述输入图像中所述输入图像覆盖范围内的每个像素点,采用如下步骤确定所述预设卷积神经网络的卷积核中,与该像素点对应的元素:
将所述宽度方向转置卷积步长和该像素点的横坐标的乘积,与所述左侧卷积填充参数及所述左侧放大填充参数相加,再减去该输出位置的横坐标,得到与该像素点对应的元素的横坐标;
将所述高度方向转置卷积步长和该像素点的纵坐标的乘积,与所述上方卷积填充参数及所述上方放大填充参数相加,再减去该输出位置的纵坐标,得到与该像素点对应的元素的纵坐标。
6.一种图像处理装置,其特征在于,包括:
输入图像获取模块,用于使用预设卷积神经网络中除输出层之外的其他网络层,对待处理图像的图像数据进行运算,得到所述输出层的输入图像;
放大填充参数计算模块,用于基于所述输入图像的输入图像尺寸,所述输出层的输出图像尺寸,以及所述输出层的转置卷积步长,计算针对所述输入图像的放大填充参数;
像素值计算模块,用于针对所述输出层的输出图像的每个输出位置,计算该输出位置的像素点的像素值,所述像素值计算模块,包括:
卷积核覆盖范围获取子模块,用于获取该输出位置对应的卷积核覆盖范围,所述卷积核覆盖范围为基于该输出位置的位置信息和所述输出层的卷积填充参数计算得到的;
输入图像覆盖范围计算子模块,用于基于所述卷积核覆盖范围,所述放大填充参数,所述转置卷积步长,计算该输出位置对应的输入图像覆盖范围;
卷积核元素确定子模块,用于基于所述输入图像覆盖范围,所述放大填充参数,所述卷积填充参数,所述转置卷积步长,针对该输出位置,确定所述预设卷积神经网络的卷积核中,与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,所述像素点与对应的元素在放大填充图像中的位置重合,所述放大填充图像为将输入图像经过内部填充和边缘填充后得到的图像;
像素值计算子模块,用于将输入向量与卷积核向量进行点积运算,得到该输出位置的像素点的像素值;其中,所述输入向量为由所述输入图像覆盖范围内的所述输入图像的像素点的像素值按照预设顺序组成的向量;所述卷积核向量为由与所述输入图像中所述输入图像覆盖范围内的每个像素点分别对应的元素,按照所述预设顺序组成的向量。
7.根据权利要求6所述的装置,其特征在于,所述输入图像尺寸包括输入图像宽度值和输入图像高度值;所述输出图像尺寸包括输出图像宽度值和输出图像高度值;所述转置卷积步长包括高度方向转置卷积步长和宽度方向转置卷积步长;
所述放大填充参数计算模块,具体用于将所述输入图像宽度值减一后,与所述宽度方向转置卷积步长相乘,得到宽度方向乘积结果,再将所述宽度方向乘积结果加一,得到内部填充图像宽度值;将所述输入图像高度值减一后,与所述高度方向转置卷积步长相乘,得到高度方向乘积结果,再将所述高度方向乘积结果加一,得到内部填充图像高度值;
将所述输出图像宽度值与所述内部填充图像宽度值的差值除以2后,向上取整,得到左侧放大填充参数;将所述输出图像宽度值与所述内部填充图像宽度值的差值再减去所述左侧放大填充参数,得到右侧放大填充参数;将所述输出图像高度值与所述内部填充图像高度值的差值除以2后,向上取整,得到上方放大填充参数;将所述输出图像高度值与所述内部填充图像高度值的差值再减去所述上方放大填充参数,得到下方放大填充参数。
8.根据权利要求7所述的装置,其特征在于,所述输出位置的位置信息包括:输出位置的横坐标和输出位置的纵坐标;所述卷积核覆盖范围包括卷积核覆盖的横坐标范围和卷积核覆盖的纵坐标范围;所述卷积填充参数包括:左侧卷积填充参数、右侧卷积填充参数、上方卷积填充参数及下方卷积填充参数;其中,所述左侧卷积填充参数等于卷积核宽度值减一后,除以2,再向下取整;所述右侧卷积填充参数等于所述卷积核宽度值减一后,再减去所述左侧卷积填充参数;所述上方卷积填充参数等于卷积核高度值减一后,除以2,再向下取整;所述下方卷积填充参数等于所述卷积核宽度值减一后,再减去所述上方卷积填充参数;
所述卷积核覆盖范围获取子模块,具体用于该输出位置的横坐标减去所述左侧卷积填充参数,得到所述卷积核覆盖范围中起始位置的横坐标;该输出位置的横坐标加上所述右侧卷积填充参数,得到所述卷积核覆盖范围中终止位置的横坐标,其中,从所述起始位置的横坐标开始,到所述终止位置的横坐标为止,为所述卷积核覆盖的横坐标范围;该输出位置的纵坐标减去所述上方卷积填充参数,得到所述卷积核覆盖范围中起始位置的纵坐标;输出位置的纵坐标加上所述下方卷积填充参数,得到所述卷积核覆盖范围中终止位置的纵坐标,其中,从所述起始位置的纵坐标开始,到所述终止位置的纵坐标为止,为所述卷积核覆盖的纵坐标范围。
9.根据权利要求8所述的装置,其特征在于,所述输入图像覆盖范围包括输入图像覆盖的横坐标范围和输入图像覆盖的纵坐标范围;
所述输入图像覆盖范围计算子模块,具体用于将所述卷积核覆盖范围中起始位置的横坐标与所述左侧放大填充参数的差值除以所述宽度方向转置卷积步长后得到的商值与0进行比较,取最大值作为所述输入图像覆盖范围中起始位置的横坐标;将所述卷积核覆盖范围中终止位置的横坐标与所述左侧放大填充参数的差值除以所述宽度方向转置卷积步长后得到的商值与所述输入图像宽度值减一后得到的差值进行比较,取最小值作为所述输入图像覆盖范围中终止位置的横坐标,其中,从所述输入图像覆盖范围中起始位置的横坐标开始,到所述输入图像覆盖范围中终止位置的横坐标为止,为所述输入图像覆盖的横坐标范围;
将所述卷积核覆盖范围中起始位置的纵坐标与所述上方放大填充参数的差值除以所述高度方向转置卷积步长后得到的商值与0进行比较,取最大值作为所述输入图像覆盖范围中起始位置的纵坐标;将所述卷积核覆盖范围中终止位置的纵坐标与所述上方放大填充参数的差值除以所述高度方向转置卷积步长后得到的商值与所述输入图像高度值减一后得到的差值进行比较,取最小值作为所述输入图像覆盖范围中终止位置的纵坐标,其中,从所述输入图像覆盖范围中起始位置的纵坐标开始,到所述输入图像覆盖范围中终止位置的纵坐标为止,为所述输入图像覆盖的纵坐标范围。
10.根据权利要求9所述的装置,其特征在于,所述卷积核元素确定子模块,具体用于针对所述输入图像中所述输入图像覆盖范围内的每个像素点,采用如下步骤确定所述预设卷积神经网络的卷积核中,与该像素点对应的元素:
将所述宽度方向转置卷积步长和该像素点的横坐标的乘积,与所述左侧卷积填充参数及所述左侧放大填充参数相加,再减去该输出位置的横坐标,得到与该像素点对应的元素的横坐标;
将所述高度方向转置卷积步长和该像素点的纵坐标的乘积,与所述上方卷积填充参数及所述上方放大填充参数相加,再减去该输出位置的纵坐标,得到与该像素点对应的元素的纵坐标。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-5任一所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711262759.7A CN109872275B (zh) | 2017-12-04 | 2017-12-04 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711262759.7A CN109872275B (zh) | 2017-12-04 | 2017-12-04 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109872275A CN109872275A (zh) | 2019-06-11 |
CN109872275B true CN109872275B (zh) | 2023-05-23 |
Family
ID=66915842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711262759.7A Active CN109872275B (zh) | 2017-12-04 | 2017-12-04 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109872275B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111179149B (zh) * | 2019-12-17 | 2022-03-08 | Tcl华星光电技术有限公司 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
CN112801864A (zh) * | 2021-02-26 | 2021-05-14 | 翱捷智能科技(上海)有限公司 | 一种在深度学习硬件中的图像填充方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926580A (en) * | 1997-01-30 | 1999-07-20 | Hewlett-Packard Company | Convolution algorithm for efficient hardware implementation |
CN105447566A (zh) * | 2014-05-30 | 2016-03-30 | 富士通株式会社 | 训练装置、训练方法以及检测装置 |
CN106156781A (zh) * | 2016-07-12 | 2016-11-23 | 北京航空航天大学 | 排序卷积神经网络构建方法及其图像处理方法与装置 |
CN106447030A (zh) * | 2016-08-30 | 2017-02-22 | 深圳市诺比邻科技有限公司 | 卷积神经网络的计算资源优化方法及系统 |
CN107358228A (zh) * | 2017-07-10 | 2017-11-17 | 广州视源电子科技股份有限公司 | 一种图像处理的方法、装置、设备及存储介质 |
-
2017
- 2017-12-04 CN CN201711262759.7A patent/CN109872275B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926580A (en) * | 1997-01-30 | 1999-07-20 | Hewlett-Packard Company | Convolution algorithm for efficient hardware implementation |
CN105447566A (zh) * | 2014-05-30 | 2016-03-30 | 富士通株式会社 | 训练装置、训练方法以及检测装置 |
CN106156781A (zh) * | 2016-07-12 | 2016-11-23 | 北京航空航天大学 | 排序卷积神经网络构建方法及其图像处理方法与装置 |
CN106447030A (zh) * | 2016-08-30 | 2017-02-22 | 深圳市诺比邻科技有限公司 | 卷积神经网络的计算资源优化方法及系统 |
CN107358228A (zh) * | 2017-07-10 | 2017-11-17 | 广州视源电子科技股份有限公司 | 一种图像处理的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109872275A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111080527B (zh) | 一种图像超分辨率的方法、装置、电子设备及存储介质 | |
TWI754682B (zh) | 降低卷積神經網路的計算複雜度的方法及系統 | |
CN109840477B (zh) | 基于特征变换的受遮挡人脸识别方法及装置 | |
WO2015106700A1 (en) | Method and apparatus for implementing image denoising | |
CN110197183B (zh) | 一种图像盲去噪的方法、装置、计算机设备和存储介质 | |
CN113538281B (zh) | 图像去噪方法、装置、计算机设备和存储介质 | |
CN111091572A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN109872275B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
WO2019057097A1 (zh) | 卷积运算方法、装置、计算机设备及计算机可读存储介质 | |
CN110909664A (zh) | 一种人体关键点识别方法、装置及电子设备 | |
CN111709415B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
US20200334791A1 (en) | Image down-scaling with pixel sets selected via blue noise sampling | |
CN112418243A (zh) | 特征提取方法、装置及电子设备 | |
CN110111284B (zh) | 一种渐晕图像校正的方法、装置、电子设备和存储介质 | |
CN111523531B (zh) | 文字处理方法、装置、电子设备及计算机可读存储介质 | |
CN111027670A (zh) | 特征图处理方法、装置、电子设备及存储介质 | |
CN116258873A (zh) | 一种位置信息确定方法、对象识别模型的训练方法及装置 | |
CN113255700B (zh) | 图像的特征图的处理方法及装置、存储介质、终端 | |
CN109784481B (zh) | 一种基于神经网络的调整方法、装置及设备 | |
CN114742694A (zh) | 一种图像渲染方法、装置及电子设备 | |
CN117456562B (zh) | 姿态估计方法及装置 | |
CN108268815B (zh) | 图像场景理解的方法及装置 | |
CN111815510A (zh) | 基于改进的卷积神经网络模型的图像处理方法及相关设备 | |
CN112465932A (zh) | 一种图像填充方法、装置、设备及存储介质 | |
CN113014928A (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 |