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

技术领域

本申请涉及图像处理技术领域,具体而言,涉及一种图像处理方法、装置、电子设备及可读存储介质。

背景技术

为弥补传统图像处理算法的不足,基于神经网络提升画质的算法已被广泛使用。相比于传统算法靠经验调节滤波器的滤波系数来对图像进行处理,基于神经网络提升画质的算法采用数据驱动,利用训练数据来学习出滤波器的滤波系数。

当前基于神经网络提升画质的算法都是采用端到端的学习方式来进行训练,也即直接输入训练集图片即得到输出的图片,其中间得到滤波系数的过程是黑盒子,无法人为调整。同时,由于端到端的处理方式中,对图像中的每一个像素点都会分配同样的算力进行处理,这就导致了当前基于神经网络提升画质的算法计算资源消耗较高。此外,在基于神经网络提升画质的算法中,对训练数据产生过拟合总是不可避免的,而只要产生些许过拟合,就可能在测试或应用时图像上产生严重伪迹,从而影响图像质量。

发明内容

本申请实施例的目的在于提供一种图像处理方法、装置、电子设备及可读存储介质,用以解决上述问题。

本申请实施例提供了一种图像处理方法,包括:使用神经网络模型获取对应预设第一分辨率的第一滤波器;根据所述第一滤波器,渲染得到对应预设目标分辨率的目标滤波器;所述预设目标分辨率大于所述预设第一分辨率;使用所述目标滤波器对预设的待滤波图片进行处理;所述待滤波图片的分别率为所述预设目标分辨率。

在本申请实施例中,首先通过神经网络模型得到对应预设第一尺寸大小的第一滤波器,进而通过渲染的方式,依据第一滤波器渲染得到实际需要的目标尺寸大小的目标滤波器。这样,即通过渲染的方式,将低分辨率的滤波器渲染得到高分辨率的滤波器。得到目标滤波器的过程不再是端到端的方式,而是基于神经网络模型训练得到的低分辨率滤波器间接得到,这样就使得每一个中间层的系数(即每一个滤波器的系数)可以被调节,从而在一定程度上解决了传统算法中,中间得到滤波系数的过程是黑盒子,无法人为调整的问题。同时,由于本申请是逐级向上渲染得到的目标滤波器,因此训练过程更为可控,不易出现过拟合的情况(即使出现过拟合的情况,工程师也容易基于各级滤波器进行修正调整,而不像目前的端到端的方式中,无法进行系数调整)。

此外,采用本申请的方式,通过逐级向上渲染的方式,这就使得最初仅需要得到一个小分辨率的滤波器,进而再在该小分辨率的滤波器的基础上渲染出相应高分辨率的滤波器的系数,从而不需要在计算过程中,针对每一个点都进行一样的重复计算,从而可以节约计算资源。

进一步地,使用神经网络模型获取对应预设第一分辨率的第一滤波器,包括:将预设的输入图片输入至所述神经网络模型中,得到第一初始滤波器;使用所述第一初始滤波器对下采样至所述第一分辨率的所述输入图片进行滤波,得到第一滤波图片;计算所述第一滤波图片的色彩与下采样至所述第一分辨率的预设标准图片的色彩之间的损失值;在所述损失值未收敛时,迭代更新所述神经网络模型的参数,直至所述损失值收敛为止;使用预设网络对损失值收敛时的所述第一初始滤波器中的高频系数进行校正,得到所述第一滤波器。

在上述实现过程中,采用神经网络模型迭代得到一个低分辨率的第一滤波器作为渲染的基础,从而能够确保在向着目标滤波器进行渲染时,作为基础的第一滤波器是能够满足相应的图像处理需求的滤波器,从而提高方案学习到的目标滤波器的准确性。

进一步地,根据所述第一滤波器,渲染得到对应预设目标分辨率的目标滤波器;包括:对所述第一滤波器进行渲染,得到对应预设第二分辨率的第二初始滤波器;所述预设第二分辨率大于所述预设第一分辨率;使用预设网络对所述第二初始滤波器中的高频系数进行校正,得到校正后的第二滤波器;若所述预设第二分辨率不是所述预设目标分辨率,继续对所述第二滤波器进行渲染,直至得到对应预设目标分辨率的目标滤波器。

在上述实现过程中,逐级从低分辨率的滤波器渲染得到对应预设目标分辨率的目标滤波器,目标滤波器的滤波系数即依赖于各低分辨率的滤波器的系数,从而使得工程师可以根据需要,通过分析各低分辨率的滤波器的系数,从而调试算法,调整目标滤波器,从而可以降低因为出现过拟合,导致在测试或应用时图像上产生严重伪迹的风险。

进一步地,对所述第一滤波器渲染得到第二初始滤波器,包括:按照所述预设第二分辨率与所述预设第一分辨率之间的相差倍数,对所述第一滤波器进行插值,得到所述第二初始滤波器。

在上述实现过程中,在向上渲染时,通过简单的插值方式向上进行渲染,可以降低计算量,提高学习效率。

进一步地,使用预设网络对所述第二初始滤波器中的高频系数进行校正,得到校正后的第二滤波器,包括:获取将预设的输入图片下采样至所述预设第二分辨率时的第一待处理图片;使用所述第二初始滤波器对所述第一待处理图片进行滤波,得到第二滤波图片;提取出所述第二滤波图片对应的高频特征数据,使用所述预设网络对所述高频特征数据进行回归,得到回归后的高频系数;使用所述回归后的高频系数替换所述第二初始滤波器中的高频系数,得到所述第二滤波器。

应当理解的是,在图像中,低频部分表征的通常是物体的内部区域,区域内的像素点色彩变化程度不高,而高频区域则表征的是不同物体间的交界区域,区域内的像素点色彩变化程度较高。而由于渲染时,是对滤波器系数上采样,通过诸如插值等方式实现对于滤波器系数的扩展,因此这样得到的滤波器系数会相对变得平滑,在低频部分表现良好,但是在高频部分表现较差,因此需要对高频系数进行校正。在本申请实施例中,通过提取出第二滤波图片对应的高频特征数据进行回归,进而使用回归后的高频系数替换所述第一初始滤波器中的高频系数,从而使得第一滤波器能够满足相应的图像处理需求。

此外,在端到端的方式中,由于输入是未处理过的输入图片,输出是处理后的图片。在这样的处理中,输入图片的所有像素都会经过同样的处理(同样的卷积处理)。而在本申请实施例所提供的方案中,由于神经网络训练得到的是一个粗尺度(即低分辨率)的滤波器,通过向上渲染得到目标尺寸的滤波器。因此,在此过程中输入图片的所有像素的处理并不是一视同仁的,而通过上述方案,对于不需要重复计算的像素点(低频区域的像素点)可以直接通过插值得到,而重要的像素点(高频区域的像素点)才会进行重新计算,从而给相比于端到端的方式,可以显著降低神经网络处理图片的计算量。

进一步地,所述提取出所述第二滤波图片对应的高频特征数据包括:获取所述第二滤波图片中高频区域的位置;在所述神经网络模型所输出的尺寸为所述预设第二分辨率的特征图中,提取出所述第二滤波图片中高频区域的位置所对应的所述高频特征数据。

应理解,神经网络模型训练得到第一滤波器的过程中,需要逐级进行特征提取,得到各级的特征图。而各级特征图可以用于学习不同分辨率的滤波器。在本申请实施例中,对于第二初始滤波器仅需要校正高频系数,因此只需要在神经网络模型所输出的尺寸为预设第二分辨率的特征图中,提取出第二滤波图片中高频区域的位置所对应的高频特征数据即可,不需要再次进行神经网络处理,节省了计算资源。

进一步地,所述预设网络为多层感知机。

本申请实施例还提供了一种图像处理装置,包括:获取模块、渲染模块、以及处理模块;所述获取模块,用于使用神经网络模型获取对应预设第一分辨率的第一滤波器;所述渲染模块,用于根据所述第一滤波器,渲染得到对应预设目标分辨率的目标滤波器;所述预设目标分辨率大于所述预设第一分辨率;所述处理模块,用于使用所述目标滤波器对预设的待滤波图片进行处理;所述待滤波图片的分别率为所述预设目标分辨率。

本申请实施例还提供了一种电子设备,包括:处理器、存储器及通信总线;所述通信总线用于实现所述处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的图像处理方法。

本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的图像处理方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

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

图2为本申请实施例提供的一种第一滤波器获取过程的示意图;

图3为本申请实施例提供的一种对第二初始滤波器的校正过程的流程示意图;

图4为本申请实施例提供的一种神经网络的结构示意图;

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

图6为本申请实施例提供的一种车辆的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

实施例一:

当前基于神经网络进行图像处理的算法都是采用端到端的学习方式来进行训练,也即直接输入训练集图片即得到输出的图片,其中间得到滤波系数的过程是黑盒子,无法人为调整。而神经网络中训练时产生过拟合是十分普遍的,这就导致训练得到的滤波系数往往并不好,在测试或应用时容易产生伪迹。

为解决端到端的学习方式所存在的在测试或应用时容易产生伪迹的问题,本申请实施例中提出了一种基于渲染思想的间接学习方法。可参见图1所示,图1为本申请实施例所提供的一种图像处理方法,包括:

S101:使用神经网络模型获取对应预设第一分辨率的第一滤波器。

在本申请实施例中,可以先采用神经网络模型迭代输出得到一个低分辨率的第一滤波器,以使渲染时,作为渲染基础的滤波器是能够满足实际图像处理需求的滤波器,即确保作为渲染基础的滤波器的滤波器系数可信。

在本申请实施例中,为了学习得到最终的目标滤波器,会预先设置输入图片和输入图片对应的标准图片。

需要说明的是,输入图片对应的标准图片是,表征输入图片处理效果的图片。比如在图片增强算法中,标准图片为输入图片成功增强后的图片。

在获取第一滤波器时,可参见图2所示:

可以将预设的输入图片输入至神经网络模型中,得到第一初始滤波器。

假定第一初始滤波器的分辨率为输入图片的分辨率的1/m。之后可以对输入图片进行m倍下采样,得到分辨率为输入图片1/m的目标输入图片。

使用第一初始滤波器对目标输入图片进行滤波,得到第一滤波图片,并计算第一滤波图片的色彩与下采样至第一分辨率的标准图片的色彩之间的损失值。

若损失值未收敛,那么迭代更新神经网络模型参数,更新第一初始滤波器,并重新使用第一初始滤波器对目标输入图片进行滤波,得到第一滤波图片,并计算第一滤波图片的色彩与下采样至第一分辨率的标准图片的色彩之间的损失值。

若损失值收敛,即结束迭代,使用预设网络对损失值收敛时的第一初始滤波器中的高频系数进行校正,得到第一滤波器。

参见图3所述,对损失值收敛时的第一初始滤波器的校正过程包括:

S301:获取待处理图片。

应理解,在本申请实施例中,可以预先将预设的输入图片下采样至第一分辨率大小,从而得到待处理图片。

S302:使用损失值收敛时的第一初始滤波器对待处理图片进行滤波,得到滤波图片。

S303:提取出滤波图片对应的高频特征数据,使用预设网络对高频特征数据进行回归,得到回归后的高频系数。

应理解,所谓高频特征数据是指,可用于训练滤波器高频系数的特征数据。

在本申请实施例中,可以先获取滤波图片中高频区域的位置,进而可以在前述训练时,神经网络模型所输出的尺寸为第一分辨率的特征图中,提取出滤波图片中高频区域的位置所对应的高频特征数据。

在本申请实施例中,为了确定出滤波图片中高频区域的位置,一种可行的方式是通过使用高频滤波器对滤波图片进行滤波处理,得到滤波图片中高频区域的位置。

但是,通常对应不同的图像处理需求,其所采用的算法不同,所需达到的目的不同,其对于高频区域的定位就可能存在差异。为此,为准确确定出高频区域的位置,在本申请实施例中,可以将输入图片对应的标准图片下采样至第一分辨率,然后计算滤波图片各像素点与下采样至第一分辨率的标准图片各像素点之间的损失值,进而根据损失值确定出高频区域的位置。

示例性的,可以取损失值大于预设阈值的像素点所在位置为高频区域的位置。或者取滤波图片中损失值最大的N个像素点,或损失值最大的M%个像素点所在位置为高频区域的位置。其中,N和M的值可以由工程师根据实际需要进行设置。

应理解,在神经网络中,特征图是通过矩阵表征的。在确定出高频区域的位置后,即可按照高频区域的位置从第一分辨率的特征图矩阵中取出相应位置的数据,得到本申请实施例中所述的高频特征数据。

在本申请实施例中,可以采用任意一种回归模型对高频特征数据进行回归,例如可以采用MLP(多层感知机)对高频特征数据进行回归,得到回归后的高频系数。

S304:使用回归后的高频系数替换第一初始滤波器中的高频系数,从而得到第一滤波器。

此时得到的第一滤波器,由于对高频系数进行了回归校正,因此理论上第一滤波器会更为可靠,向上渲染时,效果更好。

而为了确保得到的第一滤波器可靠,在本申请实施例中,可以使用第一滤波器对第一分辨率的待处理图片进行滤波,然后计算滤波后的第一待处理图片的色彩与下采样至第一分辨率的预设标准图片的色彩之间的损失值。

若损失值未收敛,则可以将该第一滤波器作为第一初始滤波器,重新执行上述图3的校正过程,并重新使用第一滤波器对待处理图片进行滤波,然后计算滤波后的待处理图片的色彩与下采样至第一分辨率的预设标准图片的色彩之间的损失值。

若损失值收敛,则确定得到了最终的第一滤波器。

S102:根据第一滤波器,渲染得到对应预设目标分辨率的目标滤波器。

需要注意的是,在本申请实施例中,渲染是指从一个低分辨率的滤波器依次向上计算出更高分辨率的滤波器的过程。其可以通过上采样操作来实现。

还需要注意的是,在本申请实施例中,高层级的滤波器的分辨率应高于低层级的滤波器的分辨率。例如,目标滤波器的分辨率应大于其余滤波器的分辨率,而第二分辨率应大于第一分辨率。

应理解,在本申请实施例中,目标滤波器所需的目标分辨率可以由工程师根据实际所需的图像处理需求确定。

在本申请实施例中,可以对第一滤波器进行渲染,得到对应预设第二分辨率的第二初始滤波器。

进而,使用预设网络对第二初始滤波器中的高频系数进行校正,得到校正后的第二滤波器。

此时,若本次学习的目标滤波器所需的目标分辨率就是该第二分辨率,那么本次学习即结束,第二滤波器即为学习得到的所需的目标滤波器。

若本次学习的目标滤波器所需的目标分辨率不是该第二分辨率,那么则继续对第二滤波器进行渲染,得到对应预设第三分辨率的第三初始滤波器。然后使用预设网络对第三初始滤波器中的高频系数进行校正,得到校正后的第三滤波器。

若本次学习的目标滤波器所需的目标分辨率还不是该第三分辨率,则继续对第三滤波器进行渲染,直至得到对应预设目标分辨率的目标滤波器。

在本申请实施例中,可以按照相邻层级间的分辨率相差倍数进行向上渲染,得到下一层级的初始滤波器。

比如,对于对第一滤波器渲染得到第二初始滤波器的过程,即可根据预设第二分辨率与第一分辨率之间的相差倍数,通过上采样得到第二初始滤波器。

例如,第二分辨率为2h*2w,第一分辨率为h*w,那么第二分辨率与第一分辨率之间长宽相差倍数均为2,可以对第一滤波器进行2倍上采样,得到第二初始滤波器。

在本申请实施例中,各层级的滤波器对应的分辨率可以是工程师预先设定好的,也即工程师可以预先配置好需要渲染多少次,每一个层次的滤波器对应的分辨率是多少等。

此外,工程师也可以通过配置渲染倍数以及第一滤波器的分辨率大小的方式,由电子设备自动判断最新一次渲染、校正得到的滤波器是否为所需的目标滤波器。例如,假设配置的第一滤波器的大小为输入图像分辨率的1/16(指长宽两个方向均为1/16,下同),而目标分辨率为输入图像的分辨率,每一次渲染倍数为2,那么此时第一、二、三次渲染时,得到的滤波器大小分别为输入图像分辨率的1/8、1/4和1/2,电子设备会确定渲染、校正得到的滤波器不是所需的目标滤波器,还需要进行渲染。而第4次渲染、校正得到的滤波器大小为输入图像分辨率,电子设备即可确定得到了目标滤波器,从而停止继续渲染。

需要说明的是,在本申请实施例中,可以通过插值等方式实现上采样。

需要说明的是,对于上采样的过程,本申请实施例中采用由后向前展开倒推的方式来代替从前向后的迭代处理过程。

应理解,通过插值等上采样方式得到的初始滤波器,通常会在低频部分表现良好,但是在高频部分表现较差(这是因为低频部分表征的通常为图像内色彩变化程度不高的区域,如物体的内部区域等,而高频区域则表征的通常为图像内色彩变化程度较高的区域,如不同物体间的交界区域,因此对应低频部分的滤波器系数会相对平滑,而对应高频部分的滤波器系数则变化剧烈。而插值等上采样方式得到的滤波器,其滤波器系数会变得相对平滑,从而导致对应高频区域的高频系数不准确)。为此,需要对初始滤波器的高频系数进行校正。

在本申请实施例中,可以通过回归高频系数的方式实现对于高频系数的校正。应理解,本申请中各初始滤波器中校正高频系数的方式是一致的,因此,校正过程可参见前述对于第一初始滤波器的高频系数校正过程。

示例性的,对第二初始滤波器进行校正过程如下:

首先,获取第一待处理图片。

应理解,在本申请实施例中,可以预先将预设的输入图片下采样至第二分辨率大小,从而得到第一待处理图片。

还应理解,对于其余层级的初始滤波器,则是将输入图片下采样至相应层级的分辨率大小。

然后,使用第二初始滤波器对第一待处理图片进行滤波,得到第二滤波图片。

接着,提取出第二滤波图片对应的高频特征数据,使用预设网络对高频特征数据进行回归,得到回归后的高频系数。

应理解,所谓高频特征数据是指,可用于训练滤波器高频系数的特征数据。

在本申请实施例中,可以先获取第二滤波图片中高频区域的位置,进而在神经网络模型所输出的尺寸为第二分辨率的特征图中,提取出第二滤波图片中高频区域的位置所对应的高频特征数据。

应理解,神经网络模型在训练得到第一滤波器的过程中,需要逐级进行特征提取,得到各级的特征图。比如参见图4所示的神经网络模型,其由4个非线性卷积单元(conv+bn+relu,conv表征卷积、bn表征批归一化、relu表征激活函数)以及一个1*n*n*3卷积层构成(第一滤波器为n*n*3滤波器),4个非线性卷积单元中的conv的步长为2。这样,第一个非线性卷积单元输出的特征图的长宽尺寸均为输入图像的1/2;而第二个非线性卷积单元输出的特征图的长宽尺寸均为第一个非线性卷积单元输出的特征图的1/2,即为输入图像的1/4;第三个非线性卷积单元输出的特征图的长宽尺寸均为输入图像的1/8;第四个非线性卷积单元输出的特征图的长宽尺寸均为输入图像的1/16。图4中即会得到4个不同尺寸大小的特征图。

因此,可以基于训练第一滤波器时得到第二分辨率的特征图,直接提取出第二滤波图片中高频区域的位置所对应的高频特征数据,而不需要再将输入图片重新使用神经网络模型进行特征提取,得到第二分辨率的特征图。

当然,将输入图片重新使用神经网络模型进行特征提取,从而重新得到第二分辨率的特征图的方案也可被本申请实施例所采用。

最后,使用回归后的高频系数替换第二初始滤波器中的高频系数,从而得到第二滤波器。

类似的,为了确保得到的第二滤波器可靠,在本申请实施例中,可以使用第二滤波器对第一待处理图片进行滤波,然后计算滤波后的第一待处理图片的色彩与下采样至第二分辨率的预设标准图片的色彩之间的损失值。

若损失值未收敛,则可以将该第二滤波器作为第二初始滤波器,重新执行上述校正过程,并重新使用第二滤波器对第一待处理图片进行滤波,然后计算滤波后的第一待处理图片的色彩与下采样至第二分辨率的预设标准图片的色彩之间的损失值。

若损失值收敛,则确定得到了最终的第二滤波器。

在本申请实施例中,通过上述方式即可学习得到满足图像处理需求的目标滤波器,此后即可使用目标滤波器执行相应的图像处理任务。

需要说明的是,本申请实施例中所述的损失值收敛,可以是损失值小于预设损失值阈值,也可以是损失值的变化值低于预设变化值阈值。

需要注意的是,本申请实施例中向上渲染得到的目标滤波器对应的目标分辨率,可以不同于输入图片的分辨率,当然也可以等于输入图片的分辨率。目标分辨率的具体大小受目标滤波器实际应用的算法限制。比如,对于demosaic算法,目标分辨率可以等于输入图片的分辨率。

S103:使用目标滤波器对预设的待滤波图片进行处理。

应理解的是,本申请实施例中所述的待滤波图片为得到目标滤波器后,与所述目标滤波器的处理能力适配的,所需进行处理的图像。

需要注意的是,所谓与目标滤波器的处理能力适配是指,待滤波图片的分别率为目标滤波器对应的目标分辨率,且所需实现的处理功能也是目标滤波器的功能。

应理解,目标滤波器的功能是与前述获取过程适配的。比如,获得目标滤波器的过程中,采用的标准图片为输入图片成功增强后的图片,那么标准图片为输入图片成功增强后的图片为图像增强功能,此时采用目标滤波器对待滤波图片进行处理,会增强待滤波图片的显示效果。

本申请实施例中提供的图像处理方法,通过采用预设的神经网络模型训练得到对应预设第一尺寸大小的第一滤波器,进而通过渲染的方式,依据第一滤波器渲染得到实际需要的目标尺寸大小的目标滤波器。这样,即通过多层滤波渲染的方式,将低分辨率的滤波器渲染得到高分辨率的滤波器。得到目标滤波器的过程不再是端到端的方式,而是基于神经网络模型输出的低分辨率滤波器间接得到。工程师可以基于各级滤波器实现对于目标滤波器的滤波器系数的修正调整,工程师具有的对于目标滤波器的滤波器系数的修正调整能力。

同时,由于存在各级滤波器,因此也便于分析和调试整个图像处理算法。

此外,由于是基于渲染的间接学习方式,得到的目标滤波器也不易出现过拟合的情况,即使出现过拟合的情况,工程师也容易基于各级滤波器进行修正调整,而不像目前的端到端的方式中,无法进行系数调整。

此外,在端到端的方式中,由于输入是未处理过的输入图片,输出是处理后的图片。在这样的处理中,输入图片的所有像素都会经过同样的处理(同样的卷积处理)。而在本申请实施例所提供的方案中,由于神经网络训练得到的是一个粗尺度(即低分辨率)的滤波器,通过向上渲染得到目标尺寸的滤波器。因此,在此过程中输入图片的所有像素的处理并不是一视同仁的,本申请实施例的方案中对于不需要重复计算的像素点(比如低频区域的像素点)可以直接通过插值得到,而重要的像素点(比如高频区域的像素点)才会进行重新计算,从而给相比于端到端的方式,可以显著降低神经网络处理图片的计算量。

此外,本申请实施例所提供的图像处理方法,可广泛应用于各种图像处理算法中,实现对于算法中的滤波器的训练,从而提高各图像处理算法的可靠性。

实施例二:

本实施例在实施例一的基础上,以在demosaic算法中的应用为例,对本申请的方案进行示例说明。

设输入图片为raw,设raw长宽为h*w;设raw对应的标准图片RAW,长宽为h*w。

在demosaic算法中,目标分辨率即为输入图片的分辨率,即为h*w。

神经网络结构参见图4所示,最后的卷积层通道数设为1*n*n*3。

将raw输入至神经网络中,即输出(h/16)*(w/16)*n*n*3的第一初始滤波器。

使用第一初始滤波器对raw下采样至(h/16)*(w/16)的图片raw1进行滤波,得到滤波后的图片r1。

将滤波后的图片r1与对RAW下采样至(h/16)*(w/16)的图片RAW1进行损失计算。

若损失值未收敛,更新神经网络参数,重新输出(h/16)*(w/16)*n*n*3的第一初始滤波器,使用新的第一初始滤波器对raw1进行滤波,得到新的滤波后的图片r1。将新的滤波后的图片r1与RAW1进行损失计算,若损失值未收敛,重复前述过程。

若损失值收敛,使用损失值收敛时的第一初始滤波器对raw1进行滤波,得到滤波后的图片r11。

计算图片r11与对RAW1之间的损失值。

根据图片r11中损失值大于预设阈值的像素点集合A1的位置,确定像素点集合A1在神经网络的第四个非线性卷积单元所输出的特征图中的位置,并提取出该特征图矩阵中像素点集合A1对应的数值。

使用MLP对该数值集合进行回归,将回归后的数值按照各数值在特征图矩阵中的位置,替换第一初始滤波器对应的滤波器矩阵中的相应位置的数据,实现对于第一初始滤波高频系数的校正,得到第一滤波器。

对第一滤波器进行二倍上采样,得到(h/8)*(w/8)*n*n*3的第二初始滤波器。第二初始滤波器比第一滤波器多的那部分滤波器系数,通过对第一滤波器的滤波器系数进行插值得到。

使用第二初始滤波器对raw下采样至(h/8)*(w/8)的图片raw2进行滤波,得到滤波后的图片r2。

计算图片r2与对RAW下采样至(h/8)*(w/8)的图片RAW2之间的损失值。

根据图片r2中损失值大于预设阈值的像素点集合A2的位置,确定像素点集合A2在神经网络的第三个非线性卷积单元所输出的特征图中的位置,并提取出该特征图矩阵中像素点集合A2对应的数值。

使用MLP对该数值集合进行回归,将回归后的数值按照各数值在特征图矩阵中的位置,替换第二初始滤波器对应的滤波器矩阵中的相应位置的数据,实现对于第二初始滤波高频系数的校正,得到第二滤波器。

对第二滤波器进行二倍上采样,得到(h/4)*(w/4)*n*n*3的第三初始滤波器。第三初始滤波器比第二滤波器多的那部分滤波器系数,通过对第二滤波器的滤波器系数进行插值得到。

使用第三初始滤波器对raw下采样至(h/4)*(w/4)的图片raw3进行滤波,得到滤波后的图片r3。

计算图片r3与对RAW下采样至(h/4)*(w/4)的图片RAW3之间的损失值。

根据图片r3中损失值大于预设阈值的像素点集合A3的位置,确定像素点集合A3在神经网络的第二个非线性卷积单元所输出的特征图中的位置,并提取出该特征图矩阵中像素点集合A3对应的数值。

使用MLP对该数值集合进行回归,将回归后的数值按照各数值在特征图矩阵中的位置,替换第三初始滤波器对应的滤波器矩阵中的相应位置的数据,实现对于第三初始滤波高频系数的校正,得到第三滤波器。

对第三滤波器进行二倍上采样,得到(h/2)*(w/2)*n*n*3的第四初始滤波器。第四初始滤波器比第三滤波器多的那部分滤波器系数,通过对第三滤波器的滤波器系数进行插值得到。

使用第四初始滤波器对raw下采样至(h/2)*(w/2)的图片raw4进行滤波,得到滤波后的图片r4。

计算图片r4与对RAW下采样至(h/2)*(w/2)的图片RAW4之间的损失值。

根据图片r4中损失值大于预设阈值的像素点集合A4的位置,确定像素点集合A4在神经网络的第一个非线性卷积单元所输出的特征图中的位置,并提取出该特征图矩阵中像素点集合A4对应的数值。

使用MLP对该数值集合进行回归,将回归后的数值按照各数值在特征图矩阵中的位置,替换第四初始滤波器对应的滤波器矩阵中的相应位置的数据,实现对于第四初始滤波高频系数的校正,得到第四滤波器。

对第四滤波器进行二倍上采样,得到h*w*n*n*3的目标初始滤波器。目标初始滤波器比第四滤波器多的那部分滤波器系数,通过对第四滤波器的滤波器系数进行插值得到。

使用目标初始滤波器对raw进行滤波,得到滤波后的图片r5。

计算图片r5与RAW之间的损失值。

根据图片r5中损失值大于预设阈值的像素点集合A5的位置,确定像素点集合A5在神经网络的第一个非线性卷积单元所输出的特征图中的位置,并提取出该特征图矩阵中像素点集合A5对应的数值。

使用MLP对该数值集合进行回归,将回归后的数值按照各数值在特征图矩阵中的位置,替换目标初始滤波器对应的滤波器矩阵中的相应位置的数据,实现对于目标初始滤波高频系数的校正,得到目标滤波器。

最后,将目标滤波器应用到原图raw上即可得到最终的输出结果。

本申请实施例的方案,摒弃了传统端到端的设计思想,通过学习到的滤波器层层渲染成高分辨率的滤波器。这样,由于是基于渲染的间接学习方式,得到的目标滤波器也不易出现过拟合的情况,因此不太容易出现严重伪迹。此外,由于目标滤波器是渲染成高分辨率的,所以在大量不需要过多处理的像素点(例如低频区域)上不会浪费算力。此外,各滤波器系数可被工程师查阅,也便于分析与调试算法。

实施例三:

基于同一发明构思,本申请实施例中还提供了一种图像处理装置。请参阅图5所示,图5示出了与实施例一所示的方法对应的图像处理装置100。应理解,图像处理装置100具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。图像处理装置100包括至少一个能以软件或固件的形式存储于存储器中或固化在图像处理装置100的操作系统中的软件功能模块。具体地:

参见图5所示,图像处理装置100包括:获取模块101、渲染模块102、处理模块103。其中:

所述获取模块101,用于对预设的神经网络模型训练得到对应预设第一分辨率的第一滤波器。

所述渲染模块102,用于根据所述第一滤波器,渲染得到对应预设目标分辨率的目标滤波器;所述预设目标分辨率大于所述预设第一分辨率。

所述处理模块103,用于使用所述目标滤波器对预设的待滤波图片进行处理;所述待滤波图片的分别率为所述预设目标分辨率。

在本申请实施例中,获取模块101具体用于将预设的输入图片输入至所述神经网络模型中,得到第一初始滤波器;使用所述第一初始滤波器对下采样至所述第一分辨率的所述输入图片进行滤波,得到第一滤波图片;计算所述第一滤波图片的色彩与下采样至所述第一分辨率的预设标准图片的色彩之间的损失值;在所述损失值未收敛时,迭代更新所述神经网络模型参数,直至所述损失值收敛为止;使用预设网络对损失值收敛时的所述第一初始滤波器中的高频系数进行校正,得到所述第一滤波器。

在本申请实施例中,渲染模块102具体用于对所述第一滤波器进行渲染,得到对应预设第二分辨率的第二初始滤波器;所述预设第二分辨率大于所述预设第一分辨率;使用预设网络对所述第二初始滤波器中的高频系数进行校正,得到校正后的第二滤波器;若所述预设第二分辨率不是所述预设目标分辨率,继续对所述第二滤波器进行渲染,直至得到对应预设目标分辨率的目标滤波器。

在本申请实施例的一种可行实施方式中,渲染模块102具体用于按照所述预设第二分辨率与所述预设第一分辨率之间的相差倍数,对所述第一滤波器进行插值,得到所述第二初始滤波器。

在本申请实施例的另一种可行实施方式中,渲染模块102具体用于获取将预设的输入图片下采样至所述预设第二分辨率时的第一待处理图片;使用所述第二初始滤波器对所述第一待处理图片进行滤波,得到第二滤波图片;提取出所述第二滤波图片对应的高频特征数据,使用所述预设网络对所述高频特征数据进行回归,得到回归后的高频系数;使用所述回归后的高频系数替换所述第二初始滤波器中的高频系数,得到所述第二滤波器。

在上述可行实施方式中,获取所述第二滤波图片中高频区域的位置;在所述神经网络模型所输出的尺寸为所述预设第二分辨率的特征图中,提取出所述第二滤波图片中高频区域的位置所对应的所述高频特征数据。

在上述可行实施方式中,所述预设网络为多层感知机。

需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。

实施例四:

本实施例提供了一种电子设备,可以参见图6所示,其包括处理器601、存储器602及通信总线603。其中:

通信总线603用于实现处理器601和存储器602之间的连接通信。

处理器601用于执行存储器602中存储的一个或多个程序,以实现上述实施例一/二中的图像处理方法。

可以理解,图6所示的结构仅为示意,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置,例如还可以具有键盘、通信模组、显示屏等部件。

本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一/二中的图像处理方法。在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

在本文中,多个是指两个或两个以上。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术分类

06120112163297