图像处理方法及装置、计算机可读介质和电子设备转让专利

申请号 : CN202010524978.3

文献号 : CN111798385A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李兴龙

申请人 : OPPO广东移动通信有限公司

摘要 :

本公开提供一种图像处理方法、图像处理装置、计算机可读介质和电子设备,涉及图像处理技术领域。该方法包括:获取待处理图像,通过维度变换模块中并列设置的m2个第一卷积核分别对待处理图像进行卷积处理,以对待处理图像进行增维得到对应的m2个特征图像;将m2个特征图像输入预训练的卷积神经网络,以对m2个特征图像进行图像复原处理,得到m2个中间图像;将m2个中间图像输入维度恢复模块进行处理,得到待处理图对应的目标图像。本公开一方面可以增加用于进行图像复原处理的预训练的卷积神经网络的感受野,进而提高目标图像的质量,另一方面,可以实现特征图像尺寸的无损降低,进而能够降低预训练的卷积神经网络的时间复杂度。

权利要求 :

1.一种图像处理方法,其特征在于,包括:

获取待处理图像,通过维度变换模块中并列设置的m2个第一卷积核分别对所述待处理图像进行卷积处理,以对所述待处理图像进行增维得到对应的m2个特征图像;

其中,m2个所述第一卷积核的参数规模均为m×m,每个所述第一卷积核中包括一个数值为1的参数和m2-1个数值为0的参数,且m2个所述第一卷积核互不相同;所述卷积处理的步长参数为m,填充参数为0;

将m2个所述特征图像输入预训练的卷积神经网络,以对m2个所述特征图像进行图像复2

原处理,得到m个中间图像;

将m2个所述中间图像输入维度恢复模块进行处理,得到所述待处理图对应的目标图像。

2.根据权利要求1所述的方法,其特征在于,所述将m2个所述中间图像输入维度恢复模块进行处理,得到所述待处理图对应的目标图像,包括:2

确定得到m个所述中间图像所采用的第一卷积核对应的参数信息,所述参数信息包括数值为1的参数在所述第一卷积核中的行数i和列数j;

将m2个所述中间图像输入维度恢复模块中,并根据各所述中间图像对应的所述行数i和所述列数j对各所述中间图像进行维度恢复处理,得到所述待处理图像对应的目标图像。

3.根据权利要求2所述的方法,其特征在于,所述维度恢复处理的步长参数为m-1,填充参数为m-1;

根据各所述中间图像对应的所述行数i和所述列数j对各所述中间图像进行维度恢复处理,得到所述待处理图像对应的目标图像,包括:分别根据所述行数i和所述列数j在所述维度恢复模块中并列设置的m2个第二卷积核中,确定各所述中间图像对应的目标第二卷积核;其中,所述目标第二卷积核中,数值为1的参数在第m+1-i行,第m+1-j列;

根据所述填充参数m-1对所述中间图像进行填充,并根据所述步长参数m-1和所述中间图像对应的目标第二卷积核对填充后的m2个所述中间图像进行维度恢复处理,得到所述待处理图像对应的目标图像;

其中,m2个所述第二卷积核的参数规模均为m×m,每个所述第二卷积核中包括一个数值为1的参数和m2-1个数值为0的参数,且m2个所述第二卷积核互不相同。

4.根据权利要求3所述的方法,其特征在于,所述根据所述填充参数m-1对所述中间图像进行填充,包括:分别在所述中间图像中的各行像素之间插入m-1行全零行,在各列像素之间插入m-1列全零列;

分别在所述中间图像的边界处插入m-1行全零行和m-1列全零列。

5.根据权利要求3所述的方法,其特征在于,所述根据所述步长参数m-1和所述中间图像对应的目标第二卷积核对填充后的m2个所述中间图像进行维度恢复处理,得到所述待处理图像对应的目标图像,包括:分别以所述目标第二卷积核对m2个所述中间图像中对应的中间图像进行第一次卷积,2

对得到的m个第一卷积结果求和,以确定所述目标图像中的第一行、第一列的像素对应的像素值;

以m-1为步长参数,分别以所述目标第二卷积核对m2个所述中间图像中对应的中间图像进行第n次卷积,对得到的m2个第n卷积结果求和,以确定所述目标图像中,第a行,第b列的像素对应的像素值;

其中,a为对n/c上取整得到的数值;b为对n/c取余得到的数值;c为待处理图像中每行的像素数。

6.根据权利要求1所述的方法,其特征在于,所述图像复原处理包括超分辨率重建处理、图像去模糊处理和图像去噪处理中至少一种。

7.根据权利要求1所述的方法,其特征在于,在所述图像复原处理包括超分辨率重建处2

理时,在所述通过维度变换模块中并列设置的m个第一卷积核分别对所述待处理图像进行卷积处理之前,所述方法还包括:根据对所述目标图像的尺寸要求对所述待处理图像进行插值,得到与所述目标图像的尺寸要求相同的待处理图像。

8.根据权利要求1所述的方法,其特征在于,所述待处理图像包括单帧单通道图像时,所述维度恢复模块包括亚像素卷积神经网络。

9.一种图像处理装置,其特征在于,包括:

维度变换模块,用于获取待处理图像,通过所述维度变换模块中并列设置的m2个第一卷2

积核分别对所述待处理图像进行卷积处理,以对所述待处理图像进行增维得到对应的m 个特征图像;

其中,m2个所述第一卷积核的参数规模均为m×m,每个所述第一卷积核中包括一个数值为1的参数和m2-1个数值为0的参数,且m2个所述第一卷积核互不相同;所述卷积处理的步长参数为m,填充参数为0;

图像复原模块,用于将m2个所述特征图像输入预训练的卷积神经网络,以对m2个所述特征图像进行图像复原处理,得到m2个中间图像;

维度恢复模块,用于对m2个所述中间图像进行维度恢复处理,得到所述待处理图对应的目标图像。

10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法。

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

处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至8任一项所述的方法。

说明书 :

图像处理方法及装置、计算机可读介质和电子设备

技术领域

[0001] 本公开涉及图像处理技术领域,具体涉及一种图像处理方法、图像处理装置、计算机可读介质和电子设备。

背景技术

[0002] 在计算机技术不断发展的过程中,许许多多对图像进行修复,提高图像质量的方法层出不穷。例如,可以通过预训练的卷积神经网络对图像进行图像去模糊、图像去噪、超分辨率重建等复原处理,提升图像质量。
[0003] 在通过预训练的卷积神经网络进行图像质量提升时,由于图像较大,对应的特征尺寸也比较大,因此可能会增加卷积神经网络的带宽和时间复杂程度,进而导致卷积神经网络的处理结果较差的问题。

发明内容

[0004] 本公开的目的在于提供一种图像处理方法、图像处理装置、计算机可读介质和电子设备,可以在不增加预训练的卷积神经网络的时间复杂度的前提下,保证预训练的卷积神经网络对图像的复原效果。
[0005] 根据本公开的第一方面,提供一种图像处理方法,包括:获取待处理图像,通过维度变换模块中并列设置的m2个第一卷积核分别对待处理图像进行卷积处理,以对待处理图像进行增维得到对应的m2个特征图像;其中,m2个第一卷积核的参数规模均为m×m,每个第一卷积核中包括一个数值为1的参数和m2-1个数值为0的参数,且m2个第一卷积核互不相同;卷积处理的步长参数为m,填充参数为0;将m2个特征图像输入预训练的卷积神经网络,以对m2个特征图像进行图像复原处理,得到m2个中间图像;将m2个中间图像输入维度恢复模块进行处理,得到待处理图对应的目标图像。
[0006] 根据本公开的第二方面,提供一种图像处理装置,包括:维度变换模块,用于获取待处理图像,通过维度变换模块中并列设置的m2个第一卷积核分别对待处理图像进行卷积处理,以对待处理图像进行增维得到对应的m2个特征图像;其中,m2个第一卷积核的参数规模均为m×m,每个第一卷积核中包括一个数值为1的参数和m2-1个数值为0的参数,且m2个第一卷积核互不相同;卷积处理的步长参数为m,填充参数为0;图像复原模块,用于将m2个特征图像输入预训练的卷积神经网络,以对m2个特征图像进行图像复原处理,得到m2个中间图像;维度恢复模块,用于对m2个中间图像进行维度恢复处理,得到待处理图对应的目标图像。
[0007] 根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的图像处理方法。
[0008] 根据本公开的第四方面,提供一种电子设备,其特征在于,包括:
[0009] 处理器;以及
[0010] 存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的图像处理方法。
[0011] 本公开的一种实施例所提供的图像处理方法,一方面,通过在预训练的卷积神经网络的输入端引入维度变换模块,以增加维度的方式将待处理图像转换为m2个特征图像,可以增加用于进行图像复原处理的预训练的卷积神经网络的感受野,进而提高目标图像的质量;另一方面,通过维度变换模块对待处理图像进行增维,可以实现特征图像尺寸的无损降低,进而能够降低预训练的卷积神经网络的时间复杂度。
[0012] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0013] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0014] 图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
[0015] 图2示出了可以应用本公开实施例的一种电子设备的示意图;
[0016] 图3示意性示出本公开示例性实施例中一种图像处理方法的流程图;
[0017] 图4示意性示出本公开示例性实施例中一种维度变换模块中并列设置的m2个第一卷积核;
[0018] 图5示意性示出本公开示例性实施例中一种维度恢复模块处理方法的流程图;
[0019] 图6示意性示出本公开示例性实施例中一种经m2个第一卷积核处理后的各中间图像对应目标第二卷积核;
[0020] 图7示意性示出本公开示例性实施例中一种图像处理方法的流程示意图;
[0021] 图8示意性示出本公开示例性实施例中一种维度变换模块的处理过程;
[0022] 图9示意性示出本公开示例性实施例中一种维度恢复模块的处理过程;
[0023] 图10示意性示出本公开示例性实施例中图像处理装置的组成示意图。

具体实施方式

[0024] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
[0025] 此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0026] 图1示出了可以应用本公开实施例的一种图像处理方法及装置的示例性应用环境的系统架构的示意图。
[0027] 如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器
105可以是多个服务器组成的服务器集群等。
[0028] 本公开实施例所提供的图像处理方法一般由服务器105执行,相应的,图像处理装置也可以设置于服务器105中。但本领域技术人员容易理解的是,本公开实施例所提供的图像处理方法也可以由终端设备101、102、103中执行,相应地,图像处理装置一般设置于终端设备101、102、103中。本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以通过终端设备101、102、103包括的摄像装置收集待处理图像,并将待处理图像传输至服务器105,服务器105通过本公开实施例所提供的图像处理方法生成目标图像后,将目标图像传输给终端设备101、102、103等。
[0029] 本公开的示例性实施方式提供一种用于实现图像处理方法的电子设备,其可以是图1中的终端设备101、102、103或服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行图像处理方法。
[0030] 下面以图2中的移动终端200为例,对电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。在另一些实施方式中,移动终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端200的结构限定。在另一些实施方式中,移动终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。
[0031] 如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、通用串行总线(Universal Serial Bus,USB)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803等。
[0032] 处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(Application Processor,AP)、调制解调处理器、图形处理器(Graphics Processing Unit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)、基带处理器和/或神经网络处理器(Neural-Network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0033] NPU为神经网络(Neural-Network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现移动终端200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。在一些实施例中,上述NPU可以进行卷积神经网络的训练,以及卷积神经网络的处理过程,例如卷积、反卷积等处理。
[0034] 举例而言,反卷积层是一种具有特殊结构的卷积层,通过在输入图像的各像素行和像素列中插入整行或整列的零元素行或者零元素列实现分辨率的提升,然后使用卷积核对分辨率提升后的输入图像进行卷积,得到的卷积结果即为反卷积层的输出。反卷积层分辨率提升的方式是在输入特征间插入行或列。以尺度因子为2为例,输入的图像大小为A×B,期望输出的图像大小为2A×2B,反卷积层的输入、输出尺寸的对应公式为:
[0035] 在(Zout+2p-k)%s=0时,Zout=s(Zin-1)-2p+k;
[0036] 在(Zout+2p-k)%s≠0时,Zout=s(Zin-1)-2p+k+(Zout+2p-k)%s;
[0037] 其中,Zin表示输入图像的大小、Zout输出图像的大小,s为反卷积层的步长参数,k的卷积核的尺寸,p为填充参数。上述NPU可以通过设置的反卷积层对输入的图像进行反卷积处理得到对应的输出图像。
[0038] 处理器210中设置有存储器,用于存储指令和数据。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器210来控制执行。
[0039] 充电管理模块240用于从充电器接收充电输入。电源管理模块241用于连接电池242、充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210、内部存储器221、显示屏290、摄像模组291和无线通信模块260等供电。
[0040] 移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号;移动通信模块250可以提供应用在移动终端200上的包括2G/3G/4G/5G等无线通信的解决方案;调制解调处理器可以包括调制器和解调器;无线通信模块260可以提供应用在移动终端200上的包括无线局域网(Wireless Local Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)、蓝牙(Bluetooth,BT)等无线通信的解决方案。
[0041] 在一些实施例中,移动终端200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得移动终端200可以通过无线通信技术与网络以及其他设备通信。移动终端200通过GPU、显示屏290及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏290和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0042] 移动终端200可以通过ISP、摄像模组291、视频编解码器、GPU、显示屏290及应用处理器等实现拍摄功能。其中,ISP用于处理摄像模组291反馈的数据;摄像模组291用于捕获静态图像或视频;数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号;视频编解码器用于对数字视频压缩或解压缩,移动终端200还可以支持一种或多种视频编解码器。
[0043] 外部存储器接口222可以用于连接外部存储卡,例如Micro SD卡,实现扩展移动终端200的存储能力。外部存储卡通过外部存储器接口222与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0044] 内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储移动终端200使用过程中所创建的数据(比如音频数据,电话本等)等。
[0045] 此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。处理器210通过运行存储在内部存储器221的指令和/或存储在设置于处理器中的存储器的指令,执行移动终端200的各种功能应用以及数据处理。
[0046] 移动终端200可以通过音频模块270、扬声器271、受话器272、麦克风273、耳机接口274及应用处理器等实现音频功能。例如音乐播放、录音等。
[0047] 深度传感器2801用于获取景物的深度信息。在一些实施例中,深度传感器可以设置于摄像模组291。
[0048] 压力传感器2802用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器2802可以设置于显示屏290。压力传感器2802的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。
[0049] 陀螺仪传感器2803可以用于确定移动终端200的运动姿态。在一些实施方式中,可以通过陀螺仪传感器2803确定移动终端200围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器2803可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器2803检测移动终端200抖动、导航,体感游戏场景。
[0050] 此外,还可以根据实际需要在传感器模块280中设置其他功能的传感器,例如气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器、骨传导传感器等。
[0051] 移动终端200中还可包括其它提供辅助功能的设备。例如,按键294包括开机键,音量键等,用户可以通过按键输入,产生与移动终端200的用户设置以及功能控制有关的键信号输入。再如,指示器292、马达293、SIM卡接口295等。
[0052] 在相关技术中,对图像进行质量提升过程中。可能会出现图像较大,对应的特征尺寸也比较大的问题,这种问题会增加卷积神经网络的带宽和时间复杂程度。
[0053] 以通过预训练的卷积神经网络进行超分辨率重建的算法为例,在相关技术中,可以采用以下方式实现超分辨率重建:一是通过插值的方式对原始图像进行放大后,将放大的图像输入预训练的卷积神经网络中进行预测处理,以实现任意倍率的超分辨率重建任务。但这种方法会增加预训练的卷积神经网络的带宽和时间复杂度,进而导致预训练的卷积神经网络的重建结果较差的问题;二是在预训练的卷积神经网络的输出端添加一个反卷积层,在将原始图像输入预训练的卷积神经网络中进行预测处理后,通过反卷积层进行放大,进而输出超分辨率图像。这种方法虽然不会提高预训练的卷积神经网络的带宽和时间复杂度,但是由于反卷积层的放大倍率是确定的,因此只能处理一种放大倍率的超分辨率重建任务,限制了放大倍率的自由程度。
[0054] 下面对本公开示例性实施方式的图像处理方法和图像处理装置进行具体说明。
[0055] 图3示出了本示例性实施方式中一种图像处理方法的流程,包括以下步骤S310至S330:
[0056] 在步骤S310中,获取待处理图像,通过维度变换模块中并列设置的m2个第一卷积核分别对待处理图像进行卷积处理,以对待处理图像进行增维得到对应的m2个特征图像。
[0057] 在一示例性实施例中,维度变换模块是一种特殊的特征下采样方式,其中并列设置了m2个第一卷积核,在对待处理图像进行卷积处理时,可以通过m2个第一卷积核中的每一个第一卷积核分别对待处理图像进行卷积处理,实现对待处理图像的增维,得到对应的m2个特征图像。
[0058] 其中,每个第一卷积核的参数规模均为m×m,且每个第一卷积核中的m2个参数中,2 2
只包括一个数值为1的参数,其余m-1个参数均为0。同时,m 个第一卷积核被设置为互不相同,即每个第一卷积和中数值为1的参数在第一卷积核中的位置互不相同,例如,如图4所示的m2个第一卷积核中,数值为1的参数的位置各不相同。
[0059] 同时,为了可以在不丢失图像细节的前提下,对待处理图像进行增维,得到尺寸降低的特征图像,可以将卷积处理的步长参数设置为m,填充参数设置为0。其中,步长参数用于限定卷积处理的步幅,即船机处理过程中,每次卷积后第一卷积核的移动步幅;填充参数用于限定卷积时是否对输入的待处理图像进行“0”填充,在填充参数为0时,说明不对输入的待处理图像进行“0”填充。
[0060] 需要说明的是,在待处理图像为多通道图像时,可以根据待处理图像的通道数量设置对应数量的维度变换模块,进而同时对多个通道对应的图像进行处理,得到每个通道对应图像对应的m2个特征图像。例如,在通道数量为3时,可以设置3个维度变换模块分别对每个通道进行处理,共得到3m2个特征图像。
[0061] 具体的,在待处理图像的通道数为Cin时,对待处理图像进行处理时需要Cin个维度变换模块。由于维度变换模块中的第一卷积核的尺寸为m×m,卷积核的个数始终与其尺寸大小一致,因此Cin个维度变换模块中的第一卷积核的参数规模为Cin×m2×m×m。在这种情况下,假设输入的待处理图像的属性为Cin×Sx×Sy,其中,Sx×Sy表示输入待处理图像的像素数。对应的,Cin个维度变换模块输出的特征图像的属性为(Cin×m2)×(Sx/m)×(Sy/m),即输出结果的分辨率变为原来的1/m,输出图像的通道数变为原来的m2倍。
[0062] 在步骤S320中,将m2个特征图像输入预训练的卷积神经网络,以对m2个特征图像进行图像复原处理,得到m2个中间图像。
[0063] 在一示例性实施例中,图像复原处理可以包括超分辨率重建处理、图像去模糊处理、图像去噪处理等多种以提高图片质量为目的的处理过程中的至少一种。对应的,预训练的卷积神经网络可以包括用于进行超分辨率重建处理、图像去模糊处理、图像去噪处理的任意卷积神经网络,例如,经典的VDSR卷积神经网络。
[0064] 需要说明的是,由于预训练的卷积神经网络在本示例性实施例中可以用于进行超分辨率重建处理、图像去模糊处理、图像去噪处理等多种以提高图片质量为目的的处理过程,因此在对卷积神经网络进行预训练时,需要以对应的训练样本进行训练,具体的训练过程可以根据不同卷积神经网络的要求以及不同图像复原的质量要求进行具体的设定,本公开对此不做特殊限定。例如,用于进行超分辨率重建处理的卷积神经网络,可以将尺寸更小的原始图像作为样本集,原始图像对应的重建图像作为标记,对卷积神经网络进行训练。
[0065] 此外,在预训练的卷积神经网络之前添加了维度变换模块,可以得到增维后,尺寸减小的特征图像,因此目标图像的尺寸要求相同时,相对于不添加维度变换模块的卷积神经网络,在对本公开实施例中的卷积神经网络进行训练时,可以采用尺寸更小的样本进行训练,因此可以提高卷积神经网络的训练效率。
[0066] 在一示例性实施例中,在图像复原处理包括超分辨率重建处理时,为了能够实现多种倍率的超分辨率重建任务,可以在通过维度变换模块中并列设置的m2个第一卷积核分别对待处理图像进行卷积处理之前,先根据对目标图像的尺寸要求对待处理图像进行插值,即通过插值的方式将待处理图像放大至与目标图像尺寸一致的图像。然后通过上述图像处理方法对待处理图像进行处理后,可以得到待处理图像对应的超分辨重建后的目标图像。需要说明的是,在这种方式中,预训练的卷积神经网络是对插值过程生成的部分进行预测与重建,因此超分辨率重建过程不会对特征图像的尺寸造成影响,即特征图像与中间图像的尺寸相同。
[0067] 需要说明的是,本公开实施例所提供的图像处理方法,输入维度变换模块的待处理图像与维度恢复模块输出的目标图像始终为尺寸一致的图像,因此在对图像进行高倍率的图像恢复处理时,通常需要先通过插值等方式将待处理图像进行放大后,再输入维度变换模块进行处理。这种对待处理图像的放大方式可以进行任意倍率的放大,放大倍率的自由程度不会受到限制。
[0068] 在步骤S330中,将m2个中间图像输入维度恢复模块进行处理,得到待处理图对应的目标图像。
[0069] 在一示例性实施例中,在得到m2个中间图像,每个中间图像均包括了修复后的待处理图像的一部分特征,因此需要将m2个中间图像进行重组拼接,得到待处理图像对应的目标图像。
[0070] 在一示例性实施例中,参照图5所示,将m2个中间图像输入维度恢复模块进行处理,得到待处理图对应的目标图像,可以包括如下步骤S510至S520:
[0071] 在步骤S510中,确定得到m2个中间图像所采用的第一卷积核对应的参数信息。
[0072] 其中,由于每个第一卷积核中仅包括一个数值为1的参数,其它参数均为0,因此在确定第一卷积核时,只需确定其中数值为1的参数的位置即可以确定第一卷积核。因此第一卷积核的参数信息可以包括数值为1的参数在第一卷积核中的行数i和列数j。
[0073] 在步骤S520中,将m2个中间图像输入维度恢复模块中,并根据各中间图像对应的行数i和列数j对各中间图像进行维度恢复处理,得到待处理图像对应的目标图像。
[0074] 在一示例性实施例中,维度恢复模块是一种特殊的特征上采样方式,可以提升输入到该卷积层中特征的分辨率。其中,m2个中间图像分别与m2个特征图像一一对应,因此在通过中间图像进行维度恢复处理时,维度恢复处理的方式与得到该中间图像对应的特征图像时使用的第一卷积核有关。基于此,可以根据第一卷积核的参数信息,即数值为1的参数2
在第一卷积核中的行数i和列数j,对m 个中间图像进行维度恢复处理,得到待处理图像对应的目标图像。
[0075] 在一示例性实施例中,在得到各中间图像对应的第一卷积核的参数信息后,可以根据数值为1的参数在第一卷积核中的行数i和列数j在维度恢复模块中并列设置的m2个第二卷积核中,找到各中间图像对应的目标第二卷积核。
[0076] 其中,m2个第二卷积核中的每一个,参数规模均为m×m,且每个第二卷积核的m2个参数中,只包括一个数值为1的参数,其余m2-1个参数均为0。同时,m2个第一卷积核被设置为互不相同,即每个第一卷积和中数值为1的参数在第一卷积核中的位置互不相同。基于上述描述可知,m2个第二卷积核在本质上与第一卷积核是相同的。
[0077] 同时,各中间图像对应的目标第二卷积核中,数值为1的参数在第m+1-i行,第m+1-j列。例如,图6示出了经m2个第一卷积核处理后的各中间图像对应目标第二卷积核。
[0078] 在一示例性实施例中,在得到各中间图像对应的目标第二卷积核后,可以先根据填充参数m-1对各个中间图像进行填充,然后根据步长参数m-1和中间图像对应的目标第二卷积核对填充后的m2个中间图像进行维度恢复处理,得到待处理图像对应的目标图像。
[0079] 在一示例性实施例中,在根据填充参数m-1对各个中间图像进行填充时,针对每一个中间图像,需要在该中间图像中各行像素之间插入m-1行全零行,同时在各列像素之间插入m-1列全零列,此外,还学要在中间图像的边界处插入m-1行全零行和m-1列全零列。
[0080] 在一示例性实施例中,在对m2个中间图像进行维度恢复处理,需要对m2个中间图像进行维度变换,以重组拼接成待处理图像对应的目标图像。
[0081] 举例而言,可以分别以目标第二卷积核对m2个中间图像中对应的中间图像进行第一次卷积,得到m2个第一卷积结果,然后对m2个第一卷积结果进行求和计算,得到目标图像中第一行、第一列的像素对应的像素值;然后根据步长参数m-1移动各目标第二卷积核,分2 2
别对m个中间图像中对应的中间图像进行第二次卷积,然后对得到的m个第二卷积结果进行求和计算,得到目标图像中第一行,第二列的像素对应的像素值,继续根据上述卷积处理方式进行卷积以确定目标图像中各个像素对应的像素值。
[0082] 需要说明的是,在根据步长参数m-1移动n次各目标第二卷积核时,对得到的第n次卷积结果求和后,可以确定目标图像中第a行第并列的像素对应的像素值。其中,a为对n/m上取整得到的数值;b为对n/m取余得到的数值。
[0083] 此外,在待处理图像包括单帧单通道图像时,维度恢复模块中可以包括亚像素卷积神经网络,即在对单帧单通道的待处理图像进行维度变换和图像复原处理后,可以通过亚像素卷积神经网络对得到的中间图像进行处理,得到目标图像。举例而言,上述亚像素卷积神经网络可以包括经典的pytorch、tensorflow等深度学习框架中的亚像素卷积神经网络。
[0084] 需要说明的是,在待处理图像为多通道图像时,对应的,在进行维度恢复时,也需要Cin个维度恢复模块。同样的,Cin个维度恢复模块中的第二卷积核的参数规模也为Cin×m2×m×m。在Cin个维度变换模块中的假设情况下,输入Cin个维度恢复模块的中间图像的属性为(Cin×m2)×(Sx/m)×(Sy/m),最终输出的目标图像的属性则为Cin×Sx×Sy,即即输出结果的分辨率变为原来的m倍,输出图像的通道数变为原来的1/m2。
[0085] 另外,需要注意,处理每个通道的维度变换模块和维度恢复模块分别对该通道进行本公开实施例的处理过程,处理过程可参考上述实施例,在此不做赘述。
[0086] 此外,本示例性实施方式还可以用于视频超分辨率任务,例如可以用于实现多帧视频输入,单帧视频输出的视频超分辨率重建任务。
[0087] 以下以m=2,目标图像的尺寸要求为6*6,待处理图像为灰度图像,对待处理图像进行超分辨率重建处理为例,对本公开实施例的技术方案进行详细描述。
[0088] 参照图7所示,对待处理图像的处理过程包括以下4个步骤:
[0089] S710,对灰度图像进行插值处理,得到尺寸为6*6的灰度图像。
[0090] S720,将灰度图像输入维度变换模块进行处理,得到4个3*3的特征图像。
[0091] S730,对4个3*3的特征图像进行超分辨率重建处理,得到4个3*3的中间图像。
[0092] S740,在维度恢复模块中,对4个3*3的中间图像进行填充参数为1的填充,并以步长参数为1进行维度恢复处理,得到尺寸为6*6的目标图像。
[0093] 在S720中,通过维度变换模块中并列设置的4个第一卷积核分别对6*6的灰度图像进行处理,可以得到4个3*3的特征图像,如图8所示。
[0094] 在第4步中,如图9所示,先对4个3*3的中间图像进行填充,得到4个7*7的填充后的中间图像(其中,填充行和填充列均全零行和全零列),然后通过4个对应的目标第二卷积核分别对4个7*7的填充后的中间图像进行第一次卷积,对第一次卷积结果进行求和,得到目标图像中第一行、第一列像素对应的像素值。
[0095] 具体的,图9中的4个3*3的中间图像分别与图8中的4个3*3的特征图像一一对应,对应关系参照图中的数字标号(即标号为1的中间图像对应与标号为1的特征图像),因此4个3*3的中间图像1,2,3,4对应的目标第二卷积核如图9所示,分别为第二卷积核1,第二卷积核2,第二卷积核3和第二卷积核4。
[0096] 在确定中间图像对应的目标第二卷积核时,以中间图像1为例,生成中间图像1的特征图像1对应的第一卷积核的参数信息为第1行,第1列,因此中间图像1对应的目标第二卷积核中,参数信息为第2+1-1行,第2+1-1列,即第二卷积核1。
[0097] 随后以1为步长参数,分别通过目标第二卷积核1、2、3、4对填充后的中间图像1、2、3、4进行第n次卷积,确定目标图像中第a行、第b列像素对应的像素值。其中,a=[n/6],即a为对n/6上取整得到的数值;b=n%6,即b为对n/6取余得到的数值。
[0098] 举例而言,在第8次卷积处理时,第8卷积结果求和确定的是目标图像中第2行,第2列像素对应的像素值。
[0099] 在一示例性实施例中,分别以经典的VDSR网络、引入m=2或m=3的维度变换模块和维度恢复模块后的VDSR网络对几种常见的数据集(Set5、B100和Urban100)进行处理,可以得到如表1所示的数据。
[0100] 表1不同处理方式下,图像的峰值信噪比和处理时间
[0101]
[0102] 通过表1列示的数据可知,在引入m=2和m=3的维度变换模块和维度恢复模块后,目标图像的峰值信噪比明显降低,即引入m=2和m=3的维度变换模块和维度恢复模块后,超分辨率重建得到的目标图像的质量更高;同时,图像的处理时间明显减小,引入m=2和m=3的维度变换模块和维度恢复模块后,VDSR网络的时间复杂度降低。
[0103] 综上,本示例性实施方式中,可以通过在预训练的卷积神经网络的输入端引入维度变化模块的方式,提高预训练的卷积神经网络的感受野,进而提高图像复原处理的效果;同时,通过维度变换模块对待处理图像进行增维,可以实现特征图像尺寸的无损降低,进而能够降低预训练的卷积神经网络的时间复杂度,提高图像处理的效率。
[0104] 需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0105] 进一步的,参考图10所示,本示例的实施方式中还提供一种图像处理装置1000,包括维度变换模块1010、图像复原模块1020和维度恢复模块1030。其中:
[0106] 维度变换模块1010可以用于获取待处理图像,通过维度变换模块中并列设置的m2个第一卷积核分别对待处理图像进行卷积处理,以对待处理图像进行增维得到对应的m2个特征图像;其中,m2个第一卷积核的参数规模均为m×m,每个第一卷积核中包括一个数值为1的参数和m2-1个数值为0的参数,且m2个第一卷积核互不相同;卷积处理的步长参数为m,填充参数为0。
[0107] 图像复原模块1020可以用于将m2个特征图像输入预训练的卷积神经网络,以对m2个特征图像进行图像复原处理,得到m2个中间图像。
[0108] 维度恢复模块1030可以用于对m2个中间图像进行维度恢复处理,得到待处理图对应的目标图像。
[0109] 在一示例性实施例中,维度恢复模块1030可以用于确定得到m2个中间图像所采用的第一卷积核对应的参数信息,参数信息包括数值为1的参数在第一卷积核中的行数i和列数j;将m2个中间图像输入维度恢复模块中,并根据各中间图像对应的行数i和列数j对各中间图像进行维度恢复处理,得到待处理图像对应的目标图像。
[0110] 在一示例性实施例中,维度恢复模块1030可以用于分别根据行数i和列数j在维度恢复模块中并列设置的m2个第二卷积核中,确定各中间图像对应的目标第二卷积核;其中,目标第二卷积核中,数值为1的参数在第m+1-i行,第m+1-j列;根据填充参数m-1对中间图像进行填充,并根据步长参数m-1和中间图像对应的目标第二卷积核对填充后的m2个中间图像进行维度恢复处理,得到待处理图像对应的目标图像;其中,m2个第二卷积核的参数规模均为m×m,每个第二卷积核中包括一个数值为1的参数和m2-1个数值为0的参数,且m2个第二卷积核互不相同。
[0111] 在一示例性实施例中,维度恢复模块1030可以用于分别在中间图像中的各行像素之间插入m-1行全零行,在各列像素之间插入m-1列全零列;分别在中间图像的边界处插入m-1行全零行和m-1列全零列。
[0112] 在一示例性实施例中,维度恢复模块1030可以用于分别以目标第二卷积核对m2个中间图像中对应的中间图像进行第一次卷积,对得到的m2个第一卷积结果求和,以确定目标图像中的第一行、第一列的像素对应的像素值;以m-1为步长参数,分别以目标第二卷积核对m2个中间图像中对应的中间图像进行第n次卷积,对得到的m2个第n卷积结果求和,以确定目标图像中,第a行,第b列的像素对应的像素值;其中,a为对n/c上取整得到的数值;b为对n/c取余得到的数值;c为待处理图像中每行的像素数。
[0113] 在一示例性实施例中,图像复原处理包括超分辨率重建处理、图像去模糊处理、图像去噪处理。
[0114] 在一示例性实施例中,维度变换模块1010可以用于根据对目标图像的尺寸要求对待处理图像进行插值,得到与目标图像的尺寸要求相同的待处理图像。
[0115] 在一示例性实施例中,待处理图像包括单帧单通道图像时,维度恢复模块包括亚像素卷积神经网络。
[0116] 上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
[0117] 所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0118] 本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3、图5中任意一个或多个步骤。
[0119] 需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0120] 在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0121] 此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0122] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0123] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。