首页 / 专利库 / 图形技术 / 压缩失真 / 卷积神经网络的处理方法及装置

卷积神经网络的处理方法及装置

阅读:222发布:2020-05-12

专利汇可以提供卷积神经网络的处理方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 是关于一种 卷积神经网络 的处理方法及装置,属于视频编解码技术领域。所述方法包括:对初始卷积神经网络进行训练,得到第一卷积神经网络;对所述第一卷积神经网络进行裁剪处理,得到第二卷积神经网络;基于所述第二卷积神经网络,确定目标卷积神经网络,所述目标卷积神经网络用于视频的编解码。本发明可以解决目前的卷积神经网络进行卷积运算时,运算效率较低的问题。,下面是卷积神经网络的处理方法及装置专利的具体信息内容。

1.一种卷积神经网络的处理方法,其特征在于,所述方法包括:
对初始卷积神经网络进行训练,得到第一卷积神经网络;
对所述第一卷积神经网络进行裁剪处理,得到第二卷积神经网络;
基于所述第二卷积神经网络,确定目标卷积神经网络,所述目标卷积神经网络用于视频的编解码。
2.根据权利要求1所述的方法,其特征在于,
所述对所述第一卷积神经网络进行裁剪处理,包括:
对所述第一卷积神经网络进行卷积核的裁剪处理;
和/或,对所述第一卷积神经网络进行卷积核之间的通道的裁剪处理。
3.根据权利要求2所述的方法,其特征在于,
所述对所述第一卷积神经网络进行卷积核的裁剪处理,包括:
对于所述第一卷积神经网络中每个卷积层,执行卷积核的裁剪处理,所述卷积核的裁剪处理包括:
计算所述卷积层中每个卷积核的打分;
当任一卷积核的打分大于所述卷积层的预设的裁剪分数阈值,裁剪所述任一卷积核,并裁剪与所述任一卷积核连接的输入通道和输出通道。
4.根据权利要求2所述的方法,其特征在于,
所述对所述第一卷积神经网络进行卷积核之间的通道的裁剪处理,包括:
对于所述第一卷积神经网络中每个卷积层中的每个卷积核,执行通道的裁剪处理,所述通道的裁剪处理包括:
当所述卷积核对应的任一网络参数的参数值小于预设的参数值阈值,将所述任一网络参数对应的通道裁剪;
或者,确定所述卷积核对应网络参数中参数值最小的D1个网络参数,将所述D1个网络参数对应的通道裁剪,所述D1为预设的正整数。
5.根据权利要求1至4任一所述的方法,其特征在于,
所述基于所述第二卷积神经网络,确定目标卷积神经网络,包括:
将所述第二卷积神经网络确定为所述目标卷积神经网络;
或者,对所述第二卷积神经网络进行二次调优训练,得到所述目标卷积神经网络。
6.根据权利要求5所述的方法,其特征在于,
所述二次调优训练包括:
获取预设训练集,所述预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与所述原始样本图像对应的所述目标特征分量的失真图像,所述预设训练集与训练所述初始卷积神经网络时所采用的训练集相同;
设置所述第二卷积神经网络的目标网络参数集,所述目标网络参数集包括所述第二卷积神经网络的所有目标网络参数的参数值;
重复执行卷积神经网络的训练过程,直至预设的第二损失函数对应的损失值收敛至目标范围,以得到所述目标卷积神经网络,所述卷积神经网络的训练过程包括:
基于所述预设训练集以及所述目标网络参数集,对所述第一卷积神经网络进行前向计算,得到所述第一卷积神经网络的输出数据;
基于所述预设训练集以及所述目标网络参数集,对所述第二卷积神经网络进行前向计算,得到所述第二卷积神经网络的输出数据;
基于所述第一卷积网络的输出数据和所述第二卷积网络的输出数据,通过反向传递的方式更新所述第二卷积神经网络的目标网络参数集;
其中,所述卷积神经网络的训练过程中,所述第一卷积神经网络和所述第二卷积神经网络的学习率固定。
7.根据权利要求1至4任一所述的方法,其特征在于,在所述基于所述第二卷积神经网络,确定目标卷积神经网络之后,所述方法还包括:
通过聚类算法对所述目标卷积神经网络进行压缩;
存储压缩后的所述目标卷积神经网络。
8.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
向所述目标卷积神经网络输入待处理视频数据;
获取所述目标卷积神经网络输出的处理后的视频数据,所述处理后的视频数据是所述目标卷积神经网络对所述待处理视频数据进行视频的编码处理或者视频的解码处理得到的数据。
9.根据权利要求8所述的方法,其特征在于,
所述视频的编码处理包括:内预测处理、帧间预测处理、变换处理、量化处理、去失真滤波处理和熵编码处理中的至少一种;
所述视频的解码处理包括:熵解码处理、帧内预测处理、帧间预测处理、去失真滤波处理、反变换处理和反量化处理中的至少一种。
10.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
生成目标特征分量的失真图像对应的边信息图像,其中,所述目标特征分量的失真图像为在失真图像中提取所述目标特征分量所得到的图像,所述失真图像为对原始图像进行图像处理得到的图像,所述边信息图像表示所述目标特征分量的失真图像相对于所述原始图像的失真特征;
将目标特征分量的失真图像以及生成的边信息图像,输入所述目标卷积神经网络;
通过所述目标卷积神经网络进行图像的卷积滤波处理,得到目标特征分量的去失真图像。
11.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
将目标特征分量的失真图像输入所述目标卷积神经网络,其中,所述目标特征分量的失真图像为在失真图像中提取所述目标特征分量所得到的图像,所述失真图像为对原始图像进行图像处理得到的图像;
通过所述目标卷积神经网络进行图像的卷积滤波处理,得到目标特征分量的去失真图像。
12.一种卷积神经网络的处理方法,其特征在于,所述方法包括:
获取目标卷积神经网络,所述目标卷积神经网络用于视频的编解码;
对所述目标卷积神经网络进行压缩;
存储压缩后的所述目标卷积神经网络。
13.一种卷积神经网络的处理装置,其特征在于,所述装置包括:
训练模,用于对初始卷积神经网络进行训练,得到第一卷积神经网络;
裁剪模块,用于对所述第一卷积神经网络进行裁剪处理,得到第二卷积神经网络;
确定模块,用于基于所述第二卷积神经网络,确定目标卷积神经网络,所述目标卷积神经网络用于视频的编解码。
14.根据权利要求13所述的装置,其特征在于,
所述裁剪模块,包括:
卷积核裁剪子模块,用于:对所述第一卷积神经网络进行卷积核的裁剪处理;
和/或,通道核裁剪子模块,用于:对所述第一卷积神经网络进行卷积核之间的通道的裁剪处理。
15.根据权利要求14所述的装置,其特征在于,
卷积核裁剪子模块,用于:
对于所述第一卷积神经网络中每个卷积层,执行卷积核的裁剪处理,所述卷积核的裁剪处理包括:
计算所述卷积层中每个卷积核的打分;
当任一卷积核的打分大于所述卷积层的预设的裁剪分数阈值,裁剪所述任一卷积核,并裁剪与所述任一卷积核连接的输入通道和输出通道。
16.根据权利要求15所述的装置,其特征在于,
所述通道裁剪子模块,用于:
对于所述第一卷积神经网络中每个卷积层中的每个卷积核,执行通道的裁剪处理,所述通道的裁剪处理包括:
当所述卷积核对应的任一网络参数的参数值小于预设的参数值阈值,将所述任一网络参数对应的通道裁剪;
或者,确定所述卷积核对应网络参数中参数值最小的D1个网络参数,将所述D1个网络参数对应的通道裁剪,所述D1为预设的正整数。
17.根据权利要求13至16任一所述的装置,其特征在于,
所述确定模块,包括:
定子模块,用于将所述第二卷积神经网络确定为所述目标卷积神经网络;
或者,训练子模块,用于对所述第二卷积神经网络进行二次调优训练,得到所述目标卷积神经网络。
18.根据权利要求17所述的装置,其特征在于,
所述二次调优训练包括:
获取预设训练集,所述预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与所述原始样本图像对应的所述目标特征分量的失真图像,所述预设训练集与训练所述初始卷积神经网络时所采用的训练集相同;
设置所述第二卷积神经网络的目标网络参数集,所述目标网络参数集包括所述第二卷积神经网络的所有目标网络参数的参数值;
重复执行卷积神经网络的训练过程,直至预设的第二损失函数对应的损失值收敛至目标范围,以得到所述目标卷积神经网络,所述卷积神经网络的训练过程包括:
基于所述预设训练集以及所述目标网络参数集,对所述第一卷积神经网络进行前向计算,得到所述第一卷积神经网络的输出数据;
基于所述预设训练集以及所述目标网络参数集,对所述第二卷积神经网络进行前向计算,得到所述第二卷积神经网络的输出数据;
基于所述第一卷积网络的输出数据和所述第二卷积网络的输出数据,通过反向传递的方式更新所述第二卷积神经网络的目标网络参数集;
其中,所述卷积神经网络的训练过程中,所述第一卷积神经网络和所述第二卷积神经网络的学习率固定。
19.根据权利要求13至16任一所述的装置,其特征在于,所述装置还包括:
压缩模块,用于在所述基于所述第二卷积神经网络,确定目标卷积神经网络之后,通过聚类算法对所述目标卷积神经网络进行压缩;
存储模块,用于存储压缩后的所述目标卷积神经网络。
20.根据权利要求13至16任一所述的装置,其特征在于,所述装置还包括:
第一输入模块,用于向所述目标卷积神经网络输入待处理视频数据;
获取模块,用于获取所述目标卷积神经网络输出的处理后的视频数据,所述处理后的视频数据是所述目标卷积神经网络对所述待处理视频数据进行视频的编码处理或者视频的解码处理得到的数据。
21.根据权利要求20所述的装置,其特征在于,
所述视频的编码处理包括:帧内预测处理、帧间预测处理、变换处理、量化处理、去失真滤波处理和熵编码处理中的至少一种;
所述视频的解码处理包括:熵解码处理、帧内预测处理、帧间预测处理、去失真滤波处理、反变换处理和反量化处理中的至少一种。
22.根据权利要求13至16任一所述的装置,其特征在于,所述装置还包括:
生成模块,用于生成目标特征分量的失真图像对应的边信息图像,其中,所述目标特征分量的失真图像为在失真图像中提取所述目标特征分量所得到的图像,所述失真图像为对原始图像进行图像处理得到的图像,所述边信息图像表示所述目标特征分量的失真图像相对于所述原始图像的失真特征;
第二输入模块,用于将目标特征分量的失真图像以及生成的边信息图像,输入所述目标卷积神经网络;
滤波模块,用于通过所述目标卷积神经网络进行图像的卷积滤波处理,得到目标特征分量的去失真图像。
23.根据权利要求13至16任一所述的装置,其特征在于,所述装置还包括:
第三输入模块,用于将目标特征分量的失真图像输入所述目标卷积神经网络,其中,所述目标特征分量的失真图像为在失真图像中提取所述目标特征分量所得到的图像,所述失真图像为对原始图像进行图像处理得到的图像;
滤波模块,用于通过所述目标卷积神经网络进行图像的卷积滤波处理,得到目标特征分量的去失真图像。
24.一种卷积神经网络的处理装置,其特征在于,所述装置包括:
获取模块,用于获取目标卷积神经网络,所述目标卷积神经网络用于视频的编解码;
压缩模块,用于对所述目标卷积神经网络进行压缩;
存储模块,用于存储压缩后的所述目标卷积神经网络。
25.一种计算机设备,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器
其中,所述处理器被配置为执行权利要求1至12任一所述的卷积神经网络的处理方法。
26.一种可读存储介质,其特征在于,所述可读存储介质中存储有指令,当所述可读存储介质在处理组件上运行时,使得处理组件执行权利要求1至12任一所述的卷积神经网络的处理方法。

说明书全文

卷积神经网络的处理方法及装置

技术领域

[0001] 本发明涉及视频编解码技术领域,特别涉及一种卷积神经网络的处理方法及装置。

背景技术

[0002] 在数字图像系统的处理过程中,滤波、数据四舍五入、量化或其他处理可能使得像素值发生强度偏移,导致视觉障碍或假象。为了避免或减轻上述的潜在问题,可以设计使用图像去失真滤波器对图像进行后处理,以恢复像素强度偏移,减轻视觉损失。
[0003] 传统的图像去失真滤波器通常是人为地去归纳失真图像的特征,人为地设计滤波器结构,以实验和经验为基础配置滤波器系数,例如图像/视频编码标准里使用的去滤波器(英文:Deblocking Filter;简称:DBK)等;也有一类图像去失真滤波器,它们基于局部图像区域的一些统计信息,自适应地配置滤波器结构和滤波器系数等,如H.265标准中使用的样点自适应补偿技术(英文:Sample Adaptive Offset;简称:SAO)或视频编解码里使用的自适应环路滤波技术(英文:Adaptive loop Filter;简称:ALF)等,这类自适应滤波器复杂度较高,且在编解码领域使用时,需要将依赖于局部统计信息的滤波器相关参数写入码流中以保证编解码端的一致性,这无疑增加了编码比特数。
[0004] 近年来,深度学习理论迅速发展,与传统依赖先验知识的特征提取算法不同,卷积神经网络可在训练数据驱动下自适应地构建特征描述,具有更高的灵活性和普适性。
[0005] 深度学习在许多高层次的计算机视觉问题上已经取得很大的成功,如图像分类、目标检测和目标分割等。目前,业界已经提出了多种基于卷积神经网络(英文:Convolutional Neural Network;简称:CNN)的去失真滤波算法,如基于卷积神经网络的端到端的图像超分辨率重建算法(英文:Super Resolutin Convolutional Neural Network;
简称:SRCNN);又如,使用变滤波卷积神经网络(英文:Variable  Filter  size ResidueConvolutional Neural Network;简称:VRCNN)替代传统的去块滤波技术和自适应样点补偿技术,对内编码后的图像进行后处理滤波。
[0006] 但是目前的卷积神经网络,网络结构较为复杂,在基于该卷积神经网络进行卷积运算时,运算效率较低。

发明内容

[0007] 本发明实施例提供了一种卷积神经网络的处理方法及装置,可以解决目前的卷积神经网络进行卷积运算时,运算效率较低的问题。所述技术方案如下:
[0008] 根据本发明实施例的第一方面,提供一种卷积神经网络的处理方法,所述方法包括:
[0009] 对初始卷积神经网络进行训练,得到第一卷积神经网络;
[0010] 对所述第一卷积神经网络进行裁剪处理,得到第二卷积神经网络;
[0011] 基于所述第二卷积神经网络,确定目标卷积神经网络,所述目标卷积神经网络用于视频的编解码。
[0012] 根据本发明实施例的第二方面,提供一种卷积神经网络的处理方法,其特征在于,所述方法包括:
[0013] 获取目标卷积神经网络,所述目标卷积神经网络用于视频的编解码;
[0014] 对所述目标卷积神经网络进行压缩;
[0015] 存储压缩后的所述目标卷积神经网络。
[0016] 根据本发明实施例的第三方面,提供一种卷积神经网络的处理装置,所述装置包括:
[0017] 训练模块,用于对初始卷积神经网络进行训练,得到第一卷积神经网络;
[0018] 裁剪模块,用于对所述第一卷积神经网络进行裁剪处理,得到第二卷积神经网络;
[0019] 确定模块,用于基于所述第二卷积神经网络,确定目标卷积神经网络,所述目标卷积神经网络用于视频的编解码。
[0020] 根据本发明实施例的第四方面,提供一种卷积神经网络的处理装置,所述装置包括:
[0021] 获取模块,用于获取目标卷积神经网络,所述目标卷积神经网络用于视频的编解码;
[0022] 压缩模块,用于对所述目标卷积神经网络进行压缩;
[0023] 存储模块,用于存储压缩后的所述目标卷积神经网络。
[0024] 根据本发明实施例的第五方面,提供一种计算机设备,包括:
[0025] 处理器;
[0026] 用于存储所述处理器的可执行指令的存储器
[0027] 其中,所述处理器被配置为第一方面或第二方面任一所述的卷积神经网络的处理方法。
[0028] 根据本发明实施例的第六方面,提供一种可读存储介质,其特征在于,所述可读存储介质中存储有指令,当所述可读存储介质在处理组件上运行时,使得处理组件执行第一方面或第二方面任一所述的卷积神经网络的处理方法。
[0029] 综上所述,本发明实施例对第一卷积神经网络进行裁剪处理,以减少第一卷积神经网络中冗余的参数,简化最终得到的目标卷积神经网络的结构,从而提高该目标卷积神经网络的运算效率。
[0030] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。附图说明
[0031] 为了更清楚地说明本发明的实施例,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032] 图1是根据相关技术示出的一种H.265的编码原理示意图。
[0033] 图2是根据本发明一示意性实施例示出的一种H.265的编码原理示意图。
[0034] 图3是根据相关技术示出的一种H.265的解码原理示意图。
[0035] 图4是根据本发明一示意性实施例示出的一种H.265的解码原理示意图。
[0036] 图5是根据本发明一示意性实施例示出的一种卷积神经网络的结构示意图。
[0037] 图6是根据一示例性实施例示出的一种卷积神经网络的处理方法的流程示意图。
[0038] 图7是根据一示例性实施例示出的另一种卷积神经网络的处理方法的流程示意图。
[0039] 图8是根据一示例性实施例示出的对第一卷积神经网络进行卷积核的裁剪处理的示意图。
[0040] 图9是根据一示例性实施例示出的对第一卷积神经网络进行卷积核之间的通道的裁剪处理的示意图。
[0041] 图10是根据一示例性实施例示出的一种边信息图像的矩阵结构的示意图。
[0042] 图11是根据一示例性实施例示出的另一种边信息图像的矩阵结构的示意图。
[0043] 图12是根据一示例性实施例示出的一种视频处理方法的流程示意图。
[0044] 图13是根据一示例性实施例示出的另一种视频处理方法的流程示意图。
[0045] 图14是根据一示例性实施例示出的一种卷积神经网络的处理方法的流程示意图。
[0046] 图15是根据一示例性实施例示出的一种卷积神经网络的处理装置的结构示意图。
[0047] 图16是根据一示例性实施例示出的一种裁剪模块的结构示意图。
[0048] 图17是根据一示例性实施例示出的另一种卷积神经网络的处理装置的结构示意图。
[0049] 图18是根据另一示例性实施例示出的又一种卷积神经网络的处理装置的结构示意图。
[0050] 图19是根据另一示例性实施例示出一种卷积神经网络的处理装置的结构示意图。
[0051] 图20是根据另一示例性实施例示出的另一种卷积神经网络的处理装置的结构示意图。
[0052] 图21是根据又一示例性实施例示出的一种卷积神经网络的处理装置的结构示意图。
[0053] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

具体实施方式

[0054] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0055] 本发明实施例提供一种卷积神经网络的处理方法,其可以由卷积神经网络的处理装置执行,该卷积神经网络的处理方法主要用于在对初始卷积神经网络进行训练后进一步调整得到目标卷积神经网络,该卷积神经网络的处理方法可以应用于视频编解码领域,为了便于读者理解,下面对视频编码过程和解码过程进行简单的解释。
[0056] 第一、视频编码过程。
[0057] 目前的视频编码标准有H.261至H.265,以及MPEG-4V1至MPEG-4V3等多种,其中,H.264,又称视频编码(英文:Advanced Video Coding;简称:AVC),H.265,又称高效率视频编码(英文:High Efficiency Video Coding;简称:HEVC),两者均采用运动补偿混合编码算法,本发明实施例以H.265为例进行解释。
[0058] 如图1所示,图1为H.265的编码系统的编码原理示意图。H.265的编码架构大致上和H.264的编码架构相似,主要包含:帧内预测(英文:intra prediction)模块、帧间预测(英文:inter prediction)模块、变换(英文:transform)模块、量化(英文:quantization)模块、熵编码(英文:entropy coding)模块(也称熵编码器)、反变换模块、反量化模块、重建模块、去失真滤波模块和参考图像缓存模块(也称参考图像缓存器)等模块,其中,帧间预测模块可以包括运动估计模块和运动补偿模块,去失真滤波模块可以包括去块滤波(英文:deblocking)模块(也称去块滤波器(英文:deblocking filter))和采样点自适应偏移(英文:Sample Adaptive Offset;简称:SAO)模块。
[0059] 其中,在进行视频编码时,通常会将待编码图像划分为矩阵状排布的尺寸相等(也可以不等)的多个编码区域(即一个个图像块,也称待编码块),然后依次对每个编码区域的像素值进行预测编码。需要说明的是,每个编码区域既可以是正方形的编码区域,也可以是长方形的编码区域。
[0060] 在进行编码时,通常是按照从上至下,从左至右的顺序对各个图像块依次进行处理。例如,上述帧内预测模块用于基于同一图像帧中的已重建的周围像素值对当前图像块的像素值进行预测,以去除空间冗余信息;上述帧间预测模块用于利用视频时域的相关性,使用邻近已重建的图像帧中的像素值预测待编码图像的像素值,以去除时间上的关联性;量化模块用于将图像块的连续取值映射成多个离散的幅值;去失真滤波模块中,去块滤波模块用于对图像块边界处的像素进行滤波以去除块效应;SAO模块用于进行像素值的补偿处理,重建模块用于将预测值和重建残差相加获得已重建的像素值。经过去失真滤波模块得到的重建帧形成参考帧列表,保存在参考图像缓存模块中,用于帧间预测;熵编码模块用于对得到的模式信息(帧内模式信息或帧间模式信息)、量化参数(即经过量化模块处理的网络参数)和残差进行处理得到比特流(英文:bitstream,也称码流)。需要说明的是,比特流中也可以不包括量化参数。
[0061] 进一步的,请参考图2,图2提供了一种基于CNN的编码系统的原理图,本发明实施例主要针对该编码系统中的CNN的生成过程进行改进。该基于CNN的编码系统主要是将如图1所示的传统的编码系统中的去失真滤波模块的功能由CNN执行,从而提高了编码端去失真滤波效率。在本发明实施例中,该基于CNN的编码系统也可以是将如图1所示的传统的编码系统中的其他模块的功能由CNN执行,例如熵解码模块、帧内预测模块、帧间预测模块、去失真滤波模块、反变换模块和反量化模块中的至少一种功能由该CNN执行,从而提高相应的处理效率。图2只是示意性说明。
[0062] 第二、视频解码过程。
[0063] 如图3所示,图3为H.265的解码系统的解码原理示意图。H.265的解码架构大致上和H.264的编码架构相似,主要包含:熵解码模块(也称熵解码器)、帧内预测模块、帧间预测模块、去失真滤波模块、反变换模块和反量化模块、去失真滤波模块和参考图像缓存模块等模块,其中,帧间预测模块包括运动补偿模块,去失真滤波模块包括去块滤波模块和SAO模块。经过去失真滤波模块得到的重建帧形成参考帧列表,保存在参考图像缓存模块中,用于帧间预测;熵解码模块用于对得到比特流进行处理得到模式信息(帧内模式信息或帧间模式信息)、量化参数和残差。需要说明的是,比特流中也可以不包括量化参数。
[0064] 其中,在进行视频解码时,通常会将比特流中的解码区域(即一个个图像块,也称待解码块,其与编码端的编码区域一一对应),然后依次对每个解码区域的像素值进行预测解码。需要说明的是,每个解码区域既可以是正方形的解码区域,也可以是长方形的解码区域。
[0065] H.265的解码原理可以参考上述H.265的编码原理,本发明实施例对此不再赘述。值得说明的是,解码过程是和编码过程对应的,其是按照一个个图像块进行解码的。
[0066] 进一步的,请参考图4,图4提供了一种基于CNN的解码系统的原理图,本发明实施例主要针对该解码系统中的CNN的生成过程进行改进。该基于CNN的解码系统主要是将如图3所示的传统的解码系统中的去失真滤波模块的功能由CNN执行,从而提高了解码端去失真滤波效率。在本发明实施例中,该基于CNN的解码系统也可以是将如图3所示的传统的解码系统中的其他模块的功能由CNN执行,例如熵解码模块、帧内预测模块、帧间预测模块、去失真滤波模块、反变换模块和反量化模块中的至少一种功能由该CNN执行,从而提高相应的处理效率。图4只是示意性说明。
[0067] 本发明实施例所提供的卷积神经网络的处理方法中,最终生成的目标卷积神经网络用于对目标特征分量的失真图像进行卷积滤波处理,得到目标特征分量的去失真图像。其中,特征分量包括颜色分量、位置分量、频谱图或特征图,颜色分量是颜色编码过程中所涉及的概念,为了便于读者理解,本发明实施例对颜色编码格式进行简单介绍:
[0068] 目前较为常用的两种颜色编码格式有YUV格式和RGB格式。
[0069] 一方面,当颜色编码格式为YUV格式时,一个像素点具有的像素值包括:亮度分量Y、色度分量U和色度分量V。本发明实施例提供的目标卷积神经网络用于对上述的任一种颜色分量的失真图像(即仅包含上述任一种颜色分量的失真图像)进行卷积滤波处理,例如对亮度分量Y的失真图像进行卷积滤波处理,对色度分量U的失真图像进行卷积滤波处理或者对色度分量V的失真图像进行卷积滤波处理。
[0070] 另一方面,当待处理图像帧的颜色编码格式为RGB格式时,该待处理图像帧中各个像素点的像素值包括透明度分量和多个颜色分量,该多个颜色分量可以包括红色分量、绿色分量和蓝色分量。本发明实施例提供的帧内预测方法是针对上述的一种颜色分量的失真图像(即仅包含上述任一种颜色分量的失真图像)进行卷积滤波处理,例如是对红色分量的失真图像进行卷积滤波处理。
[0071] 值得说明的是,本发明实施例的保护范围并不局限于此,当失真图像的颜色编码格式为其他格式时,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,也可以采用本发明实施例提供的目标卷积神经网络轻易想到变换或替换来进行相应的颜色分量的失真图像的卷积滤波处理,因此,这些可轻易想到变化或替换,也涵盖在本发明实施例保护范围内。
[0072] 进一步的,为了便于读者理解,下面对卷积神经网络进行简单的解释。
[0073] 卷积神经网络是一种前馈神经网络,是深度学习技术中极具代表的网络架构之一,它的人工神经元(英文:Neuron)可以响应一部分覆盖范围内的周围单元,能根据图像特征进行处理。
[0074] 一般地,卷积神经网络的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部接受域的特征。其二是特征映射层,网络的每个特征映射层由多个特征映射组成,每个特征映射为一个平面。特征映射层设置有激活函数(英文:activation function),通常的激活函数为非线性映射函数,可以为sigmoid函数或神经网络回顾(英文:Rectified linear unit;简称:ReLU)函数。需要说明的是,卷积神经网络由大量的节点(也称“神经元”或“单元”)相互连接而成,每个节点代表一种特定的输出函数。每两个节点之间的连接代表参数值,称之为权重(英文:weight)。不同的权重和激活函数,则会导致卷积神经网络不同的输出。
[0075] 卷积神经网络相较于传统的图像处理算法的优点之一在于,避免了对图像复杂的前期预处理过程(例如提取人工特征等),可以直接输入原始图像,进行端到端的学习。卷积神经网络相较于传统的神经网络的优点之一在于,传统的神经网络都是采用全连接的方式,即输入层隐藏层的神经元都是全部连接的,这样做将导致参数量巨大,使得网络训练耗时甚至难以训练,而卷积神经网络则通过局部连接和参数值共享等方式避免了这一问题。
[0076] 如图5所示,图5为本发明实施例提供的一种卷积神经网络的结构示意图,本发明实施例提供的卷积神经网络的输入层、隐含层和输出层均包括至少一个卷积层,则该卷积神经网络共包括多个卷积层。该卷积神经网络应用于视频的编码和解码过程中。在本发明实施例中,该卷积神经网络是在对初始卷积神经网络进行训练后进一步调整得到的目标卷积神经网络,示例的,该目标卷积神经网络可以用于对目标特征分量的失真图像进行卷积滤波处理,得到目标特征分量的去失真图像。该目标特征分量可以为亮度分量Y、色度分量U或者色度分量V;当然,该目标特征分量也可以为红色特征分量、绿色特征分量或者蓝色特征分量,或者,该目标特征分量可以为特征图或频谱图等。
[0077] 如图6所示,本发明实施例提供的卷积神经网络的处理方法包括:
[0078] 步骤301、对初始卷积神经网络进行训练,得到第一卷积神经网络。
[0079] 步骤302、对第一卷积神经网络进行裁剪处理,得到第二卷积神经网络。
[0080] 步骤303、基于第二卷积神经网络,确定目标卷积神经网络,该目标卷积神经网络用于视频的编解码。
[0081] 本发明实施例提供的卷积神经网络的处理方法,对训练后的第一卷积神经网络进行裁剪处理,以减少第一卷积神经网络中冗余的参数,简化最终得到的目标卷积神经网络的结构,从而提高该目标卷积神经网络的运算效率。
[0082] 如图7所示,图7为本发明实施例提供的一种卷积神经网络的处理方法的流程示意图,该方法包括:
[0083] 步骤401、对初始卷积神经网络进行训练,得到第一卷积神经网络。
[0084] 本发明实施例提供的卷积神经网络(例如,图2和图4中的卷积神经网络)的目标网络参数集是通过训练(也称预训练)得到的。一般情况下,卷积神经网络与网络结构相关的参数,如卷积层数、卷积层的连接方式、每一层卷积层的卷积核的个数及其卷积核大小等参数是固定的。本发明实施例将该卷积神经网络中需要进行训练获得的参数,均称为目标网络参数,例如,权重系数和偏移系数为目标网络参数。
[0085] 目前可以通过指定训练平台对该初始卷积神经网络进行训练,该训练过程可以包括配置学习率等参数的过程。示例的,该训练过程可以基于监督学习算法(英文:supervised learning)的训练方式来实现,监督学习算法是通过已有的训练集(也称训练样本,即已知数据以及其对应的训练标签,该训练标签可以为明确的标识或者输出数据)来训练,以训练得到最终的目标网络参数的参数值。示例的,训练过程还可以通过人工标定,或者无监督学习算法,或者半监督学习算法等方式实现。
[0086] 示例的,本发明实施例提供一种卷积神经网络的训练方法,包括:
[0087] 步骤A1、获取预设训练集,预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与原始样本图像对应的目标特征分量的失真图像。
[0088] 可选的,可以先获取至少一个目标特征分量的原始样本图像,该原始样本图像为未失真图像,其为自然图像中提取的目标特征分量的图像,然后,采用指定的视频编码系统对至少一个目标特征分量的原始样本图像进行逐帧编码,以得到与该至少一个目标特征分量的原始样本图像一一对应的目标特征分量的失真图像;最后,将每个目标特征分量的原始样本图像与对应的目标特征分量的失真图像划分为一组,得到上述至少一个图像组。
[0089] 上述指定的视频编码系统可以为采用H.261至H.265,以及MPEG-4V1至MPEG-4V3编码标准中的任一种视频编码系统,例如,其可以为图1所示的视频编码系统。目标特征分量的失真图像可以为经过重建模块后,未经过去失真滤波模块前所得到的目标颜色的图像。
[0090] 本发明实施例中,预设训练集可以包括多组图像组,这样可以采用该多组图像组对初始卷积神经网络进行训练,从而提高训练得到的卷积神经网络的准确度。
[0091] 可选的,上述每个图像组还可以包括每个目标特征分量的失真图像对应的边信息图像。该边信息图像的生成过程可以参考后述步骤501,本发明实施例在此不再详述。
[0092] 步骤A2、设置初始卷积神经网络的目标网络参数集,该目标网络参数集包括初始卷积神经网络的所有目标网络参数的参数值。
[0093] 可选的,目标网络参数可以为各个卷积核的权重系数和偏移系数。设置该目标网络参数集的方式可以有多种,例如可以将所有的目标网络参数的参数值设置为同一数值;或者将每个卷积层对应的目标网络参数的参数值设置为同一数值,不同卷积层对应的目标网络参数的参数值设置为不同数值;或者按照高斯分布模型设置每个卷积层的目标网络参数的参数值。本发明实施例对此不作限定。
[0094] 在本发明实施例中,在设置初始卷积神经网络的目标网络参数集之前,还可以设置除该目标网络参数集中的参数之外的其他参数,例如设置初始卷积神经网络的固定参数,这些固定参数也称为上层参数,其不随目标网络参数的变化而变化,该固定参数可以为学习率,以及学习更新算法等。
[0095] 步骤A3、重复执行卷积神经网络的训练过程,直至预设的第一损失函数(也称训练代价函数)对应的损失值收敛至目标范围(即第一损失函数的函数值不断减小,最后在一个很小的数值范围内波动,且该数值范围为一个较优的数值范围),以得到第一卷积神经网络。
[0096] 可选的,该损失值可以为目标特征分量的去失真图像和目标特征分量的原始样本图像的预设运算值,该预设运算值为均方误差(英文:Mean squared error;简称:MSE),或者,平均绝对差值(即先求取对应像素值的差值的绝对值,然后求取所有差值绝对值的平均值),或者,绝对差值之和(即先求取对应像素值的差值的绝对值,然后求取所有差值绝对值之和),或者,标准差,或者交叉熵(英文:Cross Entropy;简称:CE)。该目标特征分量的去失真图像为一次卷积神经网络的训练过程中,初始卷积神经网络的输出图像。
[0097] 在上述步骤A3中,为了提高第一卷积神经网络的稀疏程度,还可以进行网络参数的筛选处理,此时该步骤A3包括:
[0098] 执行至少一次筛选训练过程,直至预设的第一损失函数对应的损失值收敛至目标范围,以得到第一卷积神经网络,其中,每次筛选训练过程包括:
[0099] S1、执行F1次卷积神经网络的训练过程,F1为正整数。
[0100] 在本发明实施例中,上述F1通常为大于1的整数。该卷积神经网络的训练过程可以参考后续说明。如后续步骤A31至A32。
[0101] S2、将F1次训练后的卷积神经网络中,弱化参数的参数值置0,执行F2次卷积神经网络的训练过程,该弱化参数为目标网络参数集中除参数值最大的前r1个目标网络参数之外的目标网络参数,F2为正整数。
[0102] 在本发明实施例中,上述F2通常为大于1的整数。该卷积神经网络的训练过程可以参考后续说明。如后续步骤A31至A32。
[0103] S3、将F2次训练后的卷积神经网络中,弱化参数的参数值恢复至F2次训练前的参数值。
[0104] 需要说明的是,在实现上述筛选训练过程时,可以为目标网络参数集生成掩膜矩阵,掩膜矩阵包括的多个掩膜值与目标网络参数集中的多个目标网络参数的参数值一一对应,掩膜矩阵中的掩膜值均属于预设数值集合,预设数值集合仅包括0和1。在上述步骤S2中,当需要将弱化参数的参数值置0时,将该弱化参数的掩膜值设置为0即可,在上述步骤S3中,当需要将弱化参数的参数值恢复至F2次训练前的参数值时,将该弱化参数的掩膜值设置为1即可。
[0105] 通过多次执行上述筛选训练过程,可以将对卷积神经网络的影响较小的网络参数的影响度进一步减小,将对卷积神经网络的影响较大的网络参数的影响度进一步增大,从而将一些影响度较低的网络参数的参数值弱化至趋近于0,提高得到的第一卷积神经网络的稀疏程度。
[0106] 进一步的,为了提高第一卷积神经网络的精度,本发明实施例第一损失函数满足:
[0107]
[0108] 其中,L(Θ)为第一损失函数对应的损失值,F(Yn)为一次卷积神经网络的训练过程中,基于第一损失函数以及目标特征分量的失真图像Yn,初始卷积神经网络所输出的目标特征分量的去失真图像,N2为一次卷积神经网络的训练过程中,输入初始卷积神经网络中的图像所属图像组的个数(N2也等于一次卷积神经网络的训练过程输入的目标特征分量的原始图像的个数,例如,在一次卷积神经网络的训练过程中,输入了2个目标特征分量的原始样本图像,或者输入了2个目标特征分量的原始样本图像以及对应的边信息图像,则N2=2),Xn为目标特征分量的失真图像Yn对应的目标特征分量的原始样本图像,α为第一损失函数的衰减因子, 为预先设置的用于稀疏化训练的第s个正则函数,T为正则函数的总数,λs为第s个正则函数的衰减因子,Loss(F(Yn),Xn)表示基于目标特征分量的去失真图像F(Yn)和目标特征分量的原始样本图像Xn,采用第一损失函数得到的初始损失值。
[0109] 可选的,该第一损失函数可以为均方误差函数,相应的,该初始损失值为目标特征分量的去失真图像和目标特征分量的原始样本图像的均方误差;该第一损失函数可以为平均绝对差值函数,相应的,该初始损失值为目标特征分量的去失真图像和目标特征分量的原始样本图像的平均绝对值。当然,该第一损失函数还可以为其他函数,例如,绝对差值的和函数,标准差函数或者交叉熵函数,则一一对应的,初始损失值为目标特征分量的去失真图像和目标特征分量的原始样本图像的绝对差值之和,标准差,或者交叉熵。
[0110] 示例的,假设第一损失函数为均方误差函数。则损失值L(Θ)满足:
[0111]
[0112] 其中,F(Yn)为一次卷积神经网络的训练过程中,基于第一损失函数以及目标特征分量的失真图像Yn,初始卷积神经网络所输出的目标特征分量的去失真图像,N2为一次卷积神经网络的训练过程中,输入初始卷积神经网络中的图像所属图像组的个数,Xn为目标特征分量的失真图像Yn对应的目标特征分量的原始样本图像,α为均方误差函数的衰减因子, 为预先设置的用于稀疏化训练的第s个正则函数,T为正则函数的总数,λs为第s个正则函数的衰减因子,||F(Yn)-Xn||2表示目标特征分量的去失真图像F(Yn)和目标特征分量的原始样本图像Xn的均方误差。可以使得损失值L(Θ)尽可能逼近0,增加网络参数的稀疏度,从而优化最终获取的目标卷积神经网络的性能。上述范数运算也可以使得损失值L(Θ)尽可能逼近0,增加网络参数的稀疏度,从而优化最终获取的目标卷积神经网络的性能。
[0113] 在本发明实施例中,上述正则函数 可以有多种实现形式。本发明实施例以以下三种实现形式为例进行说明:
[0114] 第一种实现形式, 满足:
[0115]
[0116] 其中,A2为预设的系数,Ni为初始卷积神经网络中的第i个卷积层的卷积核的个数,I1为初始卷积神经网络中的卷积层的总层数, 表示求第i个卷积层中的第ni个卷积核的输出数据的L范数。其中,L为一通用标识符,该L用于指示任一范数类型。
[0117] 可选的,该A2=8×10-6。当然A2还可以为其他数值,例如2×10-6,本发明实施例只是示意性说明,并不对A2的取值进行限定。
[0118] 第二种实现形式, 满足:
[0119]
[0120] 其中,A3为预设的系数,Ni为初始卷积神经网络中的第i个卷积层的卷积核的个数,Ci为第i个卷积层的输入通道总数,Hi为第i个卷积层的高度维度,Wi为第i个卷积层的宽度维度,I1为初始卷积神经网络中的卷积层的总层数, 表示求第i个卷积层中的第ni个卷积核的第ci个输入通道在高度维度为hi,宽度维度为wi处的参数值的L范数。其中,L为一通用标识符,该L用于指示任一范数类型。
[0121] 可选的,该A3=10-4。当然A3还可以为其他数值,例如2×10-4,本发明实施例只是示意性说明,并不对A3的取值进行限定。
[0122] 第三种实现形式, 满足:
[0123]
[0124] 其中,λ为预设的系数,I1为初始卷积神经网络中的卷积层的总层数,Ni为初始卷积神经网络中的第i个卷积层的卷积核的个数, 氛示第i个卷积层的第j1个卷积核与第l1个卷积核的类间距。其中, 表示第j1个卷积核的参数值与第j1个卷积核的参数值的范数的比值, 氛示第l1个卷积核的参数值与第l1个卷积核的参数值的范数的比值,第j1个卷积核与第l1个卷积核是第i个卷积层中的任意两个卷积核。则氛示求第i层所有对卷积核的范数。
[0125] 本发明实施例中,通过设置用于稀疏化训练的至少一个正则函数,可以使得损失值L(Θ)在不同维度上尽可能逼近0,增加网络参数的稀疏度,从而优化最终获取的目标卷积神经网络的性能,并且可以提高卷积神经网络的可裁剪度,为后续裁剪过程提供便利。并且也可以提高卷积神经网络的可分解度,为后续分解提供便利。
[0126] 可选的,步骤A3的卷积神经网络的训练过程可以包括:
[0127] 步骤A31、基于预设训练集以及目标网络参数集,对初始卷积神经网络进行前向计算,得到初始卷积神经网络的输出数据。
[0128] 可选的,步骤A31包括:
[0129] 步骤A311、为目标网络参数集生成掩膜矩阵,掩膜矩阵包括的多个掩膜值与目标网络参数集中的多个目标网络参数的参数值一一对应,掩膜矩阵中的掩膜值均属于预设数值集合,该预设数值集合至少包括0和1。
[0130] 掩膜矩阵有多种实现方式,本发明实施例以以下几种实现方式为例进行说明:
[0131] 第一种实现方式,当前的目标网络参数集中第i个卷积层的任一目标网络参数的参数值Θi在掩膜矩阵中对应的掩膜值M(Θi)满足:
[0132]
[0133] 其中,1≤i≤I1,I1为初始卷积神经网络中的卷积层的总层数,ai和bi为第i个卷积层的预设的比较阈值,0≤ai<bi≤1,Ti为第i个卷积层的预设的参考掩膜值,同一掩膜层的参考掩膜值相等,0<Ti<1。
[0134] 第二种实现方式,当前的目标网络参数集中第i个卷积层的任一目标网络参数的参数值Θi在掩膜矩阵中对应的掩膜值M(Θi)满足:
[0135]
[0136] 其中,1≤i≤I1,I1为初始卷积神经网络中的卷积层的总层数,ai为第i个卷积层的预设的比较阈值,0≤ai≤1。
[0137] 第三种实现方式,当前的目标网络参数集中第i个卷积层的任一目标网络参数的参数值Θi在掩膜矩阵中对应的掩膜值M(Θi)满足:
[0138]
[0139] 其中,1≤i≤I1,I1为初始卷积神经网络中的卷积层的总层数,ai和bi为第i个卷积层的预设的比较阈值,ai<bi,T为所有卷积层的预设的参考掩膜值,所有掩膜层的参考掩膜值相等,0<T<1。
[0140] 步骤A312、将当前的目标网络参数集中所有目标网络参数的参数值与掩膜矩阵中对应的掩膜值相乘,将得到处理后的参数值组成处理后的目标网络参数集。
[0141] 由于掩膜矩阵中的掩膜值均属于预设数值集合,预设数值集合至少包括0和1,则当第i个卷积层的任一目标网络参数的参数值Θi较小时,例如在上述第一种实现方式至第三种实现方式中,参数值Θi小于预设的比较阈值ai时,说明该目标网络参数对卷积神经网络的影响较小,其对应掩膜值为M(Θi)=0,则该目标网络参数的参数值Θi与掩膜矩阵中对应的掩膜值M(Θi)相乘得到处理后的参数值为0,基于该处理后的参数值,可以将该目标网络参数对卷积神经网络的影响降低为0,也即是滤除了该目标网络参数对卷积神经网络的影响,从而提高了卷积神经网络的可裁剪度,为后续裁剪处理提供了便利。
[0142] 当第i个卷积层的任一目标网络参数的参数值Θi较大时,例如在上述第一种实现方式和第三种实现方式中,参数值Θi大于或等于预设的比较阈值bi;或者,在上述第二种实现方式中,参数值Θi大于或等于预设的比较阈值ai,说明该目标网络参数对卷积神经网络的影响较大,其对应掩膜值为M(Θi)=1,则该目标网络参数的参数值Θi与掩膜矩阵中对应的掩膜值M(Θi)相乘得到处理后的参数值为原参数值,则基于该处理后的参数值,可以保持该目标网络参数对卷积神经网络的影响。
[0143] 步骤A313、基于预设训练集以及处理后的目标网络参数集,对初始卷积神经网络进行前向计算,得到初始卷积神经网络的输出数据。
[0144] 需要说明的是,由于预设训练集可以有多种形式,因此,上述前向计算过程也可以有多种实现过程,本发明实施例以以下两种实现过程为例进行说明:
[0145] 第一种实现过程,当预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与原始样本图像对应的目标特征分量的失真图像时,该实现过程包括:
[0146] 将初始卷积神经网络的目标网络参数的参数值按照目标网络参数集中的参数值设置;向设置参数值后的初始卷积神经网络输入预设训练集中的至少一组图像组中的目标特征分量的原始样本图像,以对初始卷积神经网络进行前向计算,得到初始卷积神经网络的输出数据。
[0147] 第二种实现过程,当预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与原始样本图像对应的目标特征分量的失真图像以及边信息图像时,该实现过程包括:
[0148] 将初始卷积神经网络的目标网络参数的参数值按照目标网络参数集中的参数值设置;向设置参数值后的初始卷积神经网络输入预设训练集中的至少一组图像组中的目标特征分量的原始样本图像和边信息图像,以对初始卷积神经网络进行前向计算,得到初始卷积神经网络的输出数据。
[0149] 需要说明的是,上述步骤A311中的前向计算方式只是示意性说明,在本发明实施例中也可以参考传统的前向计算方式,例如可以无需设置掩膜矩阵,直接将初始卷积神经网络的目标网络参数的参数值按照目标网络参数集中的参数值设置;向设置参数值后的初始卷积神经网络输入预设训练集中的至少一组图像组中的目标特征分量的原始样本图像,或者,输入预设训练集中的至少一组图像组中的目标特征分量的原始样本图像和边信息图像,以对初始卷积神经网络进行前向计算,得到初始卷积神经网络的输出数据。
[0150] 步骤A32、基于输出数据,通过反向传递的方式更新初始卷积神经网络的目标网络参数集。
[0151] 在得到第一卷积神经网络后,可以对第一卷积神经网络进行裁剪处理,得到第二卷积神经网络,在本发明实施例中,可以直接将该第一卷积神经网络确定为待处理卷积神经网络;也可以对该训练后卷积神经网络进行裁剪处理以得到待处理卷积神经网络,后述步骤以对该训练后卷积神经网络进行裁剪处理以得到待处理卷积神经网络为例进行说明。
[0152] 步骤402、对第一卷积神经网络进行裁剪处理,得到第二卷积神经网络。
[0153] 可选的,对第一卷积神经网络进行裁剪处理可以有多种实现方式,本发明实施例以以下两方面为例进行说明:
[0154] 第一方面,对第一卷积神经网络进行卷积核的裁剪处理。
[0155] 对卷积核的裁剪处理指的是删除冗余的卷积核以及与该卷积核连接的通道的过程,对于第一卷积神经网络中每个卷积层,可以执行卷积核的裁剪处理,以一个卷积层为例,该卷积核的裁剪处理包括:
[0156] 步骤B1、计算卷积层中每个卷积核的打分。
[0157] 步骤B2、判断该卷积层中是否存在打分大于该卷积层的预设的裁剪分数阈值的卷积核,当任一卷积核的打分大于卷积层的预设的裁剪分数阈值,执行步骤B3,当不存在打分大于该卷积层的预设的裁剪分数阈值的卷积核,停止进行卷积核的裁剪。
[0158] 步骤B3、当任一卷积核的打分大于卷积层的预设的裁剪分数阈值,裁剪该卷积核,并裁剪与该卷积核连接的输入通道和输出通道。
[0159] 可选的,上述步骤B1中计算卷积层中每个卷积核的打分的计算方式有多种,本发明实施例以以下两种计算方式为例进行说明:
[0160] 在第一种计算方式中,可以通过降低所有目标网络参数的参数值的维度,然后基于降维后的参数值进行打分。具体的,计算卷积层中每个卷积核的打分的过程包括:
[0161] 步骤B11、将卷积层中的所有目标网络参数的参数值拆分为与N个卷积核一一对应的N个数组,每个数组包括对应卷积核的C个参数值,N为卷积层中的卷积核的个数,C为卷积层的输入通道数。
[0162] 该拆分过程实质上即为降维过程,该降维过程的实现方式有多种,例如,可以通过求最大值或求平均值的方式进行降维。本发明实施例对此不做限定。
[0163] 步骤B12、将每个数组划分为m1个子数组,m1为大于1的整数。
[0164] 可选的,该m1为预设的经验值。可以基于该m1,对数组进行等步长的划分。例如,对于一个数组,该数组的数值范围为100至150,m1=3,可以按照每20一个步长,将该数组划分为3个子数组,该三个子数组的数值区间分别为[100,119],[120,139]和[140,159]。
[0165] 当然,基于该m1,也可以对数组进行均分,本发明实施例对此不作限定。
[0166] 该m1个子数组实际上可以以m1×C的矩阵表示。
[0167] 步骤B13、统计每个子数组中的参数值个数在对应数组的参数值总数中的占比。
[0168] 例如,对于第n个卷积核的第i1个子数组,该第i1个子数组的参数值个数在对应数组的参数值总数中的占比为:Pi1=F i1/F;其中,F i1为第i1个子数组的参数值个数,F为该第i1个子数组所在数组的参数值总数。
[0169] 仍然以上述步骤B2中的例子为例,假设i1=1,则对于第1个子数组,该子数组的数值区间为[100,119],假设第1个子数组所在数组的参数值总数为100,该第1个子数组的参数值个数为20,则P1=20/100=0.2,即第1个子数组的参数值个数在对应数组的参数值总数中的占比为0.2。
[0170] 步骤B14、基于每个子数组中的参数值个数在对应数组的参数值总数中的占比,采用熵值计算公式计算卷积层中每个卷积核的打分,熵值计算公式为:
[0171]
[0172] 其中,Hn为卷积层中第n个卷积核的打分,Pi1为第n个卷积核的第i1个子数组的参数值个数在对应数组的参数值总数中的占比,m1为第n个卷积核的子数组总数。
[0173] 需要说明的是,上述步骤B11至B14是将所有目标网络参数的参数值的维度降为2维为例进行说明的,实际上也可以根据所有目标网络参数的参数值原有的维度,将所有目标网络参数的参数值的维度降为3维或4维,本发明实施例对此不做限定。
[0174] 在第二种计算方式中,计算卷积层中每个卷积核的打分的过程包括:
[0175] 步骤B15、计算卷积层中每个卷积核的参数值之平方和。
[0176] 例如,第n个卷积核的参数值的平方和An可以表示为:
[0177]
[0178] 其中,C2为第n个卷积核的输入通道总数,H2为第n个卷积核的高度维度,W2为第n个卷积核的宽度维度,w(n,i2,j2,p2)表示第n个卷积核的第i2个输入通道在高度维度为j2,宽度维度为p2处的参数值。
[0179] 步骤B16、基于卷积层中每个卷积核的参数值的平方和以及打分公式,计算卷积层中每个卷积核的打分,该打分公式为:
[0180]
[0181] 其中,Hn为卷积层中第n个卷积核的打分,An为第n个卷积核的参数值的平方和,Aq为第q个卷积核的参数值的平方和,N为卷积层中的卷积核的个数。
[0182] 如图8所示,图8是一种对第一卷积神经网络进行卷积核的裁剪处理的示意图。图8中圆圈表示卷积核,圆圈之间的连线表示通道,图8只示意性地绘制出了卷积神经网络中的卷积核及卷积核间的通道,该卷积神经网络中的其他结构并未绘出,假设第一卷积神经网络包括三个卷积层,分别为卷积层1至3,其中,卷积层1包括2个卷积核,卷积层2包括3个卷积核,卷积层3包括2个卷积核,进行了卷积核裁剪后,卷积层2的一个卷积核被裁剪掉,其输入通道和输出通道也相应被裁剪掉。
[0183] 需要说明的是,在上述第一方面所提供的方式进行卷积核的裁剪处理后,如果初始卷积神经网络出现整个卷积层被裁剪的情况,此时会出现梯度消失现象,卷积神经网络的处理装置可以确定网络训练失败,可以重新执行上述步骤401。可选的,该卷积神经网络的处理装置也可以输出告警信息,以提示网络训练失败,需要重新调整网络结构和网络参数集。
[0184] 第二方面,对第一卷积神经网络进行卷积核之间的通道的裁剪处理。
[0185] 可选的,对第一卷积神经网络进行卷积核之间的通道的裁剪处理的过程可以包括:
[0186] 对于第一卷积神经网络中每个卷积层中的每个卷积核,执行通道的裁剪处理,该通道的裁剪处理包括:
[0187] 当卷积核对应的任一网络参数的参数值小于预设的参数值阈值,将任一网络参数对应的通道裁剪;
[0188] 或者,确定卷积核对应网络参数中参数值最小的D1个网络参数,将D1个网络参数对应的通道裁剪,该D1为预设的正整数。
[0189] 如图9所示,图9是一种对第一卷积神经网络进行卷积核之间的通道的裁剪处理的示意图。图9中圆圈表示卷积核,圆圈之间的连线表示通道,假设第一卷积神经网络包括三个卷积层,分别为卷积层1至3,其中,卷积层1包括2个卷积核,分别为卷积核11和12,卷积层2包括3个卷积核,分别为卷积核21-23,卷积层3包括2个卷积核,分别为卷积核31和32,进行了通道裁剪后,卷积核11与卷积核21以及卷积核23之间的通道被裁剪掉。
[0190] 需要说明的是,在上述第二方面所提供的方式进行通道的裁剪处理后,如果初始卷积神经网络出现一个卷积核的所有通道被裁剪或者,该卷积核的所有输入通道被裁剪等的情况,可以将该卷积核也裁剪掉。
[0191] 值得说明的是,针对同一初始卷积神经网络,上述两方面所提供的对第一卷积神经网络进行裁剪处理的方式可以分别单独执行,也可以同时执行,本发明实施例对此不作限定。
[0192] 步骤403、基于所述第二卷积神经网络,确定目标卷积神经网络,该目标卷积神经网络用于视频的编解码。
[0193] 在本发明实施例中,基于所述第二卷积神经网络,确定目标卷积神经网络的方式可以有多种,本发明实施例以以下两种为例进行说明:
[0194] 在第一种方式中,可以将所述第二卷积神经网络确定为所述目标卷积神经网络。
[0195] 在第二种方式中,可以对所述第二卷积神经网络进行二次调优训练,得到所述目标卷积神经网络。该二次调优训练的过程可以包括:
[0196] 步骤C1、获取预设训练集,所述预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与所述原始样本图像对应的所述目标特征分量的失真图像,所述预设训练集与训练所述初始卷积神经网络时所采用的训练集相同;
[0197] 步骤C2、设置所述第二卷积神经网络的目标网络参数集,所述目标网络参数集包括所述第二卷积神经网络的所有目标网络参数的参数值;
[0198] 步骤C3、重复执行卷积神经网络的训练过程,直至预设的第二损失函数对应的损失值收敛至目标范围,以得到所述目标卷积神经网络,所述卷积神经网络的训练过程包括:
[0199] 步骤C4、基于所述预设训练集以及所述目标网络参数集,对所述第一卷积神经网络进行前向计算,得到所述第一卷积神经网络的输出数据;
[0200] 步骤C5、基于所述预设训练集以及所述目标网络参数集,对所述第二卷积神经网络进行前向计算,得到所述第二卷积神经网络的输出数据;
[0201] 步骤C6、基于所述第一卷积网络的输出数据和所述第二卷积网络的输出数据,通过反向传递的方式更新所述第二卷积神经网络的目标网络参数集。
[0202] 在一种可选的实现方式,所述卷积神经网络的训练过程中,所述第一卷积神经网络和所述第二卷积神经网络的学习率固定。
[0203] 在另一种可选的实现方式,所述卷积神经网络的训练过程中,所述第一卷积神经网络和所述第二卷积神经网络的学习率可变。
[0204] 在执行上述二次调优训练的过程中,可以采用指定划分方式,将划分为J个调优单元,也即是,所述第一卷积神经网络和所述第二卷积神经网络采用相同的指定划分方式,划分为J个调优单元,所述J为大于1的整数;
[0205] 则,上述第二损失函数满足:
[0206]
[0207] 其中,所述 为所述第二损失函数对应的损失值,L(Θ)为第一损失函数对应的损失值,所述第一损失函数为训练所述初始卷积神经网络时所采用的损失函数,A4和A5为预设的系数, 表示求第l个调优单元中的第nl个卷积核的第cl个输入通道在高度维度为ml,宽度维度为kl处的参数值的g范数, 表示所述第二卷积神经网络的第j个的调优单元的第1个卷积核的输出, 表示所述第一卷积神经网络的第j个的调优单元的第1个卷积核的输出,Lj为所述初始卷积神经网络中的第j个卷积层的卷积核的个数,|| ||p表示求P范数。
[0208] 在本发明实施例中,卷积核与输出通道一一对应,则上述 也可以表示所述第二卷积神经网络的第j个的调优单元的第l个输出通道的输出, 表示所述第一卷积神经网络的第j个的调优单元的第l个输出通道的输出,Lj也可以表示所述初始卷积神经网络中的第j个卷积层的输出通道的个数。
[0209] 在本发明实施例中,由于前述步骤402中第二卷积神经网络是对第一卷积神经网络经过剪裁处理得到的,虽然通过剪裁处理,去除的是第一卷积神经网络中冗余的参数,但是网络中参数的减少仍然可能会对最终得到的第二卷积神经网络的性能造成一定的影响,通过上述二次调优训练可以恢复前述裁剪处理所带来的性能损失,保证二次调优训练后得到目标卷积神经网络的性能良好。
[0210] 步骤404、对目标卷积神经网络进行压缩。
[0211] 为了减少目标卷积神经网络所占用的存储空间,可以对该目标卷积神经网络进行压缩,在使用时再进行解压缩。
[0212] 可选的,可以通过聚类算法对目标卷积神经网络进行压缩。本发明实施例中,可以采用的聚类算法有多种,示例的,该聚类算法可以为k-means算法。
[0213] 例如,该通过聚类算法对目标卷积神经网络进行压缩的过程,包括:
[0214] 步骤D1、对于目标卷积神经网络中的每个卷积层,将当前的卷积层中的所有目标网络参数的参数值的平均值确定为初始聚类中心。
[0215] 示例的,假设目标卷积神经网络共c3个卷积层,则分别为该c3个卷积层确定c3个初始聚类中心,分别为m1(1),m2(1),......,mc3(1),其中,聚类中心mi(1)则表示第i个卷积层的参数值的平均值。
[0216] 步骤D2、基于初始聚类中心,对卷积层中的所有目标网络参数的参数值进行至少一次聚类处理,直至相邻两次聚类处理中聚类中心位于指定阈值范围内,此时聚类算法结束,聚类处理包括:
[0217] 步骤D21、分别计算卷积层中的所有目标网络参数的参数值与聚类中心的距离。
[0218] 示例的,该第i个卷积层中的任一目标网络参数的参数值Θ与其聚类中心mi(1)的距离d(Θ,mi(1))满足:
[0219] d(Θ,mi(1))=||Θ-mi(1)||。
[0220] 步骤D22、将卷积层中的所有目标网络参数的参数值中与聚类中心的距离最小的参数值与聚类中心的平均值,确定为新的聚类中心。
[0221] 例如,在每执行一次聚类处理后,可以判断本次聚类处理得到的聚类中心与前一次聚类处理(即本次聚类处理之前的且与本次聚类处理相邻的聚类处理)的聚类中心是否位于指定阈值范围内,若本次聚类处理得到的聚类中心与前一次聚类处理的聚类中心均位于指定阈值范围内,结束执行聚类处理;若本次聚类处理得到的聚类中心与前一次聚类处理的聚类中心中的至少一个不位于指定阈值范围内,继续新一轮聚类处理。其中,若本次聚类处理为第一次聚类处理,则前一次聚类处理的聚类中心为初始聚类中心。在本发明实施例中,上述聚类处理至少执行一次。
[0222] 步骤405、存储压缩后的目标卷积神经网络。
[0223] 可选的,当采用上述步骤404中的聚类算法对目标卷积神经网络进行压缩,则可以保存聚类中心以及其他参数值与聚类中心的距离,其他参数值为目标卷积神经网络的目标网络参数的参数值中除聚类中心之外的参数值。
[0224] 其中,其他参数值与聚类中心的距离可以有两种保存方式,一种是直接进行保存,另一种是将其他参数值与聚类中心的距离进行量化处理,得到量化处理后的距离,然后保存聚类中心以及量化处理后的距离。
[0225] 量化就是把信号的连续取值映射成多个离散的幅值的过程,实现了信号取值多对一的映射。量化可以有效减小信号的取值范围,进而获得更好的压缩效果。本发明实施例中,量化处理后的距离相对于其他参数值与聚类中心的距离的取值范围有效减少,从而能够减小存储空间。可选的,该将其他参数值与聚类中心的距离进行量化处理可以通过将其他参数值与聚类中心的距离输入图2所示的量化模块实现。
[0226] 在需要使用压缩后的目标卷积神经网络时,可以通过解压缩的方式恢复得到目标卷积神经网络,例如,可以采用上述聚类中心算法的逆运算解压得到目标卷积神经网络,示例的,可以获取聚类中心以及其他参数值与聚类中心的距离以恢复目标卷积神经网络,若其他参数值与聚类中心的距离是以量化处理后的距离的方式存储,可以对该量化处理后的距离进行反量化处理得到其他参数值与聚类中心的距离,可选的,该反量化过程可以通过将量化后的距离输入图4所示的反量化模块实现;若其他参数值与聚类中心的距离是直接存储,则直接提取该距离即可。本发明实施例对此不再赘述。
[0227] 综上所述,本发明实施例提供的卷积神经网络的处理方法,对训练后的第一卷积神经网络进行裁剪处理,以减少第一卷积神经网络中冗余的参数,例如减少冗余的卷积核和/或通道,简化最终得到的目标卷积神经网络的结构,从而提高该目标卷积神经网络的运算效率。并且通过设置掩膜矩阵和正则函数,进一步提高卷积神经网络的可裁剪度,以得到更为简化的目标卷积神经网络。
[0228] 本发明实施例所提供的卷积神经网络的处理方法中,最终生成的目标卷积神经网络用于视频的编解码。在使用该目标卷积神经网络时,可以向目标卷积神经网络输入待处理视频数据;然后获取目标卷积神经网络输出的处理后的视频数据,处理后的视频数据是目标卷积神经网络对待处理视频数据进行视频的编码处理或者视频的解码处理得到的数据。
[0229] 其中,该视频的编码处理包括:帧内预测处理、帧间预测处理、变换处理、量化处理、去失真滤波处理和熵编码处理中的至少一种;该视频的解码处理包括:熵解码处理、帧内预测处理、帧间预测处理、去失真滤波处理、反变换处理和反量化处理中的至少一种。其中,帧内预测处理、帧间预测处理、变换处理、量化处理、去失真滤波处理和熵编码处理的过程可以对应参考上述图1或图2中帧内预测模块、帧间预测模块、变换模块、量化模块、去失真滤波模块和熵编码模块所执行的动作;熵解码处理、帧内预测处理、帧间预测处理、反变换处理和反量化处理的过程可以对应参考上述图3或图4中熵解码模块、帧内预测模块、帧间预测模块、反变换模块和反量化模块所执行的动作。本发明实施例对此不再赘述。
[0230] 上述步骤401至405主要是以目标卷积神经网络用于视频的去失真滤波为例进行示意性说明的,在此基础上任意容易想到的变换均应涵盖在本发明实施例的保护范围内。在目标卷积神经网络用于视频的不同处理时,输入目标卷积神经网络和目标卷积神经网络输出的数据不同,同时,训练得到该目标卷积神经网络时,预设训练集也不同,本发明实施例对此不再赘述。
[0231] 示例的,本发明实施例所提供的卷积神经网络的处理方法中,最终生成的目标卷积神经网络可以用于对目标特征分量的失真图像进行卷积滤波处理,得到目标特征分量的去失真图像。其可以应用于编码方法中,也可以应用于解码方法中。该方法可以应用于如图2和图4所示的编码系统或解码系统中,该方法可以参考上述步骤A31的前向计算过程。本发明实施例提供的视频处理方法,该视频处理方法中的目标卷积神经网络的输入层可以仅输入目标特征分量的失真图像,也可以输入目标特征分量的失真图像以及对应的边信息图像。
[0232] 本发明实施例以以下两种可实现方式为例对目标卷积神经网络的应用进行说明。
[0233] 第一种可实现方式,目标卷积神经网络的输入层输入目标特征分量的失真图像以及对应的边信息图像。
[0234] 为了便于读者理解,首先对边信息图像进行解释。边信息(英文:side information)是指待处理信息外的已有的先验知识,边信息图像为能够作为边信息的图像。在本发明实施例中,边信息图像表示失真图像相对原始图像的失真特征,是一种由图像处理过程确定的失真特征的表达,能够为目标卷积神经网络提供滤波参考。在实际应用中,上述失真特征可以至少包括如下失真特征之一:
[0235] 失真程度、失真位置和失真类型。
[0236] 例如,边信息图像可以表示目标特征分量的失真图像相对原始图像的失真程度。
[0237] 又例如,边信息图像也可以表示目标特征分量的失真图像相对原始图像的失真位置,例如在主流的视频编解码应用中,图像通常被划分为矩阵状排布的尺寸相等(也可以不等)的多个编码区域,该多跟编码区域不重叠,针对编码区域分别进行预测编码及不同程度的量化处理,编码区域之间的失真通常不具有一致性,在编码区域的边界处通常会产生像素突变,因此,编码区域的边界坐标可以作为一种先验的表征失真位置的边信息。
[0238] 再例如,边信息图像也可以表示目标特征分量的失真图像相对原始图像的失真类型,例如在视频编解码应用中,图像中不同编码区域可能采用不同预测模式,不同预测模式会影响残差的分布,从而影响失真图像的特征,因此,编码区域的预测模式可以作为一种表征失真类型的边信息。
[0239] 本发明实施例中,目标特征分量的失真图像对应的边信息图像可以为上述一种或多种的组合,也可以为上述一种的多个边信息图像,例如,在图像处理方法中,可能通过一种物理含义的参量表示目标特征分量的失真图像的失真程度,也可能通过不同物理含义的两种参量表示目标特征分量的失真图像的失真程度,相应的,即可以根据实际需要,将一种或多种均表示目标特征分量的失真程度的边信息图像作为输入数据。
[0240] 如图10所示,边信息图像的矩阵结构与目标特征分量的失真图像的矩阵结构相同,其中,坐标[0,0]、[0,1]表示失真位置,矩阵的元素值1表示失真程度,即边信息图像同时能表示失真程度与失真位置。
[0241] 又如图11所示,坐标[0,0]、[0,1]、[2,0]、[2,4]表示失真位置,矩阵的元素值1、2表示失真类型,即边信息图像同时能表示失真程度与失真位置。
[0242] 并且,本发明实施例提供的上述解决方案中,可以同时包括图10和图11分别所示意的两个边信息图像。
[0243] 进一步的,目标特征分量的失真图像为在失真图像中提取目标特征分量所得到的图像,在本发明实施例中,对目标特征分量的失真图像中所包含的目标特征分量的种类不进行限定,例如,其通常为可以为包含一种特征分量的失真图像,如亮度分量Y的失真图像;其也可以为包含两种特征分量的失真图像,如包含亮度分量Y和色度分量U的失真图像;当然,若该目标特征分量的失真图像中所包含的目标特征分量的种类与原失真图像相同,则无需进行目标特征分量的提取动作。
[0244] 根据实际应用情况和需要,当目标特征分量的失真图像的特征分量包括多种时,边信息图像可以包括分别与每种特征分量的失真图像对应的边信息图像。
[0245] 如图12所示,该视频处理方法包括:
[0246] 步骤501、生成目标特征分量的失真图像对应的边信息图像,其中,目标特征分量的失真图像为在失真图像中提取目标特征分量所得到的图像,失真图像为对原始图像进行图像处理得到的图像。
[0247] 在本发明实施例中,基于失真图像所生成的目标特征分量的失真图像对应的边信息图像,通常与失真图像本身对应的边信息图像一致,也即是上述每种特征分量的失真图像对应的边信息图像均相同。本发明实施例假设目标特征分量的失真图像对应的边信息图像与失真图像对应的边信息图像相同,相应的,本发明实施例提供的一种生成目标特征分量的失真图像对应的边信息图像的过程,包括如下步骤:
[0248] 步骤E1、针对待处理的失真图像,确定失真图像每个像素点的失真程度值。
[0249] 在实际应用中,对原始图像进行不同方式的图像处理之后,表示失真程度的物理参量也可能不同,因此,本步骤中,可以基于不同的图像处理方式,确定出对应的能够准确表示像素点失真程度的失真程度值,具体可以如下:
[0250] 第一种方式:针对通过编解码得到的失真图像,每个编码区域的量化参数都是已知的,即可以获取每个编码区域的量化参数,将失真图像每个像素点所在编码区域的量化参数,确定为失真图像每个像素点的失真程度值;
[0251] 第二种方式:针对通过超分辨率处理得到的失真图像,图像的上采样倍数是已知的,即可以将进行超分辨率处理时的上采样倍数,确定为失真图像每个像素点的失真程度值;例如,在对图像进行超分辨率处理中,需要将分辨率100×100的图像,处理成分辨率200×200的图像,则上采样倍数为2。
[0252] 上述两种方式,均是在图像失真程度已知的情况下采用的,对于通过其他图像处理方式得到的失真图像,只要其失真程度已知,均可以采用类似的方式,直接将进行图像处理时所使用的能够表示失真程度的参数,确定为表示像素点失真程度的失真程度值。
[0253] 对于失真程度未知的失真图像,可以采用如下第三种方式:
[0254] 第三种方式:使用无参考图像质量评价方法对失真图像进行评估,得到失真图像每个像素点的失真程度值。
[0255] 例如,无参考图像质量评价方法可以为图像主观质量评价方法。受测者根据主观观看感受对当前失真图像的质量进行评分,该评分分值可确定为失真图像每个像素点的失真程度值。
[0256] 步骤E2、基于失真图像各像素点的位置,使用获取的各像素点的失真程度值,生成失真图像对应的边信息图像,其中,该边信息图像包括的每个分量值与失真图像上相同位置的像素点相对应。
[0257] 由于边信息图像包括的每个分量值与失真图像上相同位置的像素点相对应,则边信息图像与目标特征分量的失真图像的结构相同,即表示边信息图像的矩阵与表示失真图像特征分量的矩阵是同型的。
[0258] 本步骤中,可以基于失真图像各像素点的位置,将获取的每个像素点的失真程度值,确定为失真图像对应的边信息图像中该像素点相同位置的分量值,即直接将每个像素点的失真程度值,确定为边信息图像中该像素点对应的分量值。
[0259] 当失真图像的像素值范围与像素点的失真程度值的取值范围不同时,也可以基于失真图像的像素值范围,对获取的各像素点的失真程度值进行标准化处理,得到处理后失真程度值,处理后失真程度值的取值范围与像素值范围相同;然后基于失真图像各像素点的位置,将每个像素点的处理后失真程度值,确定为失真图像对应的边信息图像中该像素点相同位置的分量值。
[0260] 相应的,在将通过不同通道的输入数据进行卷积之前,可以先检测至少一个边信息图像中是否存在取值范围与失真图像的取值范围不同的边信息图像,当至少一个边信息图像中任一边信息图像与失真图像的取值范围不同时,可以对该任一边信息图像进行标准化处理,使得处理后的该任一边信息图像的取值范围与失真图像的取值范围相同。
[0261] 该标准化处理过程可以是线性映射过程,或者归一化过程。例如,该任一边信息图像的取值范围为[PIEXLMIN,PIXELMAX],失真图像的取值范围为[QPMIN,QPMAX],若该任一边信息图像符合归一化公式:
[0262]
[0263] 其中,x为该任一边信息图像中的数值,该x可以为像素点的失真程度值,norm(x)为标准化处理后得到的处理后的数值。
[0264] 例如,至少一个边信息图像中的某一边信息图像包含的数值取值范围为1-35,而失真图像的取值范围为0-255,则将该某一边信息图像中的所有数值分别代入上述归一化公式,以对该某一边信息图像进行标准化处理,使得处理后的该某一边信息图像的取值范围为0-255。
[0265] 值的说明的是,上述标准化处理过程可以在失真图像输入目标卷积神经网络前执行,也可以在目标卷积神经网络中执行,本发明实施例对此不作限定。
[0266] 通过上述步骤E1和步骤E2,即生成了失真图像的边信息图像,生成边信息图像的过程,也可以理解为生成了失真图像对应的边信息引导图,该边信息引导图通过其边信息图像表示失真图像的失真程度,且该边信息引导图与失真图像是等高等宽的。
[0267] 步骤502、将目标特征分量的失真图像以及生成的边信息图像,输入目标卷积神经网络。
[0268] 其中,目标卷积神经网络为基于预设训练集经过上述步骤401至404的过程生成的目标卷积神经网络,该预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与原始样本图像对应的目标特征分量的失真图像,以及每个失真图像对应的边信息图像。
[0269] 步骤503、通过目标卷积神经网络进行图像的卷积滤波处理,得到目标特征分量的去失真图像。
[0270] 本发明实施例中,目标卷积神经网络可以包括输入层、隐含层和输出层,在本发明的一个示意性实施例中,目标卷积神经网络可以包括一个输入层、一个隐含层和一个输出层。该目标卷积神经网络用于进行图像的卷积滤波处理。则上述步骤503包括:
[0271] 步骤F1、通过输入层对输入数据进行多维卷积滤波和非线性映射,得到输入层的输出数据。
[0272] 示例的,输入层用于在有一个通道存在输入数据时,对输入数据进行多维卷积滤波和非线性映射,得到输入层的输出数据;在有至少两个通道存在输入数据时,通过输入层对每个通道输入的数据分别进行多维卷积滤波和非线性映射,并将不同通道的多维卷积滤波和非线性映射后的输入数据进行合并,得到输入层的输出数据,或者,在有至少两个通道存在输入数据时,通过输入层对每个通道输入的数据进行合并,并将合并后的数据进行多维卷积滤波和非线性映射,得到输入层的输出数据。
[0273] 可选的,输入层可以包括依次连接的至少一个卷积层,本发明实施例中不对输入层中包含的卷积层层数、卷积层连接方式和卷积层属性等作限定。每个卷积层包括一个特征提取层和一个特征映射层。
[0274] 可选的,输入层可以包含至少一个输入通道,该至少一个输入通道,输入层可以对每个输入通道输入的数据分别通过卷积层进行多维卷积滤波和非线性映射,并将不同输入通道的多维卷积滤波和非线性映射后的输出数据进行合并,得到输入层的输出数据;输入层也可以对每个输入通道输入的数据先进行合并,再将合并后的数据分别通过卷积层进行多维卷积滤波和非线性映射,得到输入层的输出数据。当输入层仅有一个输入通道存在输入数据时,也即是当输入层仅包括一个输入通道,或者输入层包括多个输入通道,但是只通过一个输入通道进行了数据输入时,输入层可以无需执行上述合并动作,直接将对第一输入数据进行多维卷积滤波和非线性映射所得到的数据作为输入层的输出。
[0275] 在本发明实施例中,上述输入数据包括:目标特征分量的失真图像以及生成的边信息图像,可以通过第一通道向目标卷积神经网络输入失真图像。通过至少一个第二通道向目标卷积神经网络输入至少一个边信息图像,该至少一个边信息图像与至少一个第二通道一一对应。通过输入层对每个通道输入的数据分别进行多维卷积滤波和非线性映射,并将不同通道的多维卷积滤波和非线性映射后的输入数据进行合并,得到输入层的输出数据。
[0276] 假设输入层包含M个卷积层,M≥1,每个特征提取层包括一个卷积核组,每个卷积核组包括至少一个卷积核(也称卷积滤波器),特征映射层的非线性映射函数为r(),则第j个卷积层的输出数据满足:
[0277]
[0278] 其中,Fj(J)表示输入层中第j个卷积层的输出数据,J为输入数据,*为卷积操作,Wj为该输入层第j个卷积层中卷积核组的权重系数,Bj为第j个卷积层中卷积核组的偏移系数。
[0279] 假设第j个卷积层的卷积核组包括nj个卷积核,该nj个卷积核作用于第j个卷积层的输入数据后,输出nj个图像分块。可选的,第j个卷积层的每个卷积核的大小为cj×fj×fj,其中,cj为第j个卷积层的输入通道数,fj×fj为第j个卷积层的每个卷积核在空间上的大小(或者称为尺寸)。
[0280] 如图5所示,图5为本发明实施例提供的一种目标卷积神经网络的结构示意图,输入层包括一个卷积层,该卷积层包括特征提取层X1和特征映射层X2。其中,特征映射层X2设置有激活函数,该激活函数为非线性映射函数。
[0281] 假设特征提取层X1包括n1个卷积核,n1为正整数,则通过特征提取层X1的n1个卷积核对输入层的输入数据进行多维卷积滤波,得到n1个图像数据;通过特征映射层X2对该n1个图像数据进行非线性映射,得到n1个映射图像数据,则n1个映射图像数据即为输入层的输出数据。
[0282] 相应的,输入层的输出数据F1(J)满足:
[0283] F1(J)=r(W1*J+B1);
[0284] 其中,J为输入层的输入数据,*表示卷积,W1表示n1个卷积核的权重系数,B1为该n1个卷积核的偏移系数,r()为特征映射层的激活函数,该激活函数可以为sigmoid函数或ReLU函数等非线性映射函数。
[0285] 进一步的,假设n1=64,每个卷积核的参数为:c1=2,f1=5,使用ReLU函数作为上述非线性映射函数r(),r()的函数表达式为r(x)=max(0,x),则该输入层的输出数据F1(J)满足:
[0286] F1(J)=max(0,W1*J+B1);
[0287] 其中,J为输入数据,*表示卷积,W1表示64个卷积核的权重系数,B1为该64个卷积核的偏移系数,每个卷积核的大小为2×5×5。
[0288] 步骤F2、通过隐含层对输入层的输出数据进行多维卷积滤波和非线性映射,得到高维图像数据。
[0289] 示例的,隐含层用于通过对输入层的输出数据进行多维卷积滤波和非线性映射,得到高维图像数据。
[0290] 可选的,隐含层包括依次连接的至少一个卷积层,本发明实施例中不对隐含层中包含的卷积层层数、卷积层连接方式和卷积层属性等作限定。每个卷积层包括一个特征提取层和一个特征映射层,该隐含层中每个卷积层的结构可以参考上述第一方面输入层中卷积层的结构,隐含层中各个卷积层的功能也可以参考上述输入层中卷积层的功能。
[0291] 则在隐含层的每个卷积层中:可以通过特征提取层对输入的数据进行多维卷积滤波,并通过特征映射层对输入的数据进行非线性映射;然后将经过该至少一个卷积层处理的数据作为高维图像数据,该高维图像数据即为隐含层的输出数据。
[0292] 假设隐含层包含Q个卷积层,Q≥1,每个特征提取层包括一个卷积核组,每个卷积核组包括至少一个卷积核,特征映射层的非线性映射函数为g(),则第u个卷积层的输出数据满足:
[0293]
[0294] 其中,Hu(I)表示隐含层中第u个卷积层的输出数据,I为输入层的输出数据,即上述第一方面输入层中的FM(J),*为卷积操作,Ou为该隐含层第u个卷积层中卷积核组的权重系数,Au为第u个卷积层中卷积核组的偏移系数。
[0295] 假设第u个卷积层的卷积核组包括mu个卷积核,该mu个卷积核作用于第u个卷积层的输入数据后,输出mu个图像分块。可选的,第u个卷积层的每个卷积核的大小为du×ku×ku,其中,du为第u个卷积层的输入通道数,ku×ku为第u个卷积层的每个卷积核在空间上的大小。
[0296] 例如,假设该隐含层包括1个卷积层,即上述Q=1,该卷积层中的卷积核组包括32个卷积核,每个卷积核的参数为:d1=64,k1=1,使用ReLU函数作为上述非线性映射函数g(),g()的函数表达式为g(x)=max(0,x),则该隐含层的输出数据满足高维映射公式(也称卷积处理表达式),该高维映射公式为:
[0297] H1(I)=max(0,O1*I+A1);
[0298] 其中,H1(I)为隐含层的输出数据,I为输入层的输出数据,也即隐含层的输入数据,即上述第一方面输入层中的FM(J),*表示卷积,O1为该卷积层中32个卷积核的权重系数,A1为32个卷积核的偏移系数,每个卷积核的大小为64×1×1。
[0299] 步骤F3、通过输出层对高维图像数据进行聚合,得到目标特征分量的去失真图像。
[0300] 示例的,输出层用于对高维图像数据进行聚合,得到目标卷积神经网络的输出数据,该输出数据即为目标特征分量的去失真图像。
[0301] 其中,输出层的结构可以为直接学习(英文:Direct Learning)结构,也可以为残差学习(英文:Residual learning)结构,还可以为其他结构,本发明实施例对此不作限定。
[0302] 在一种可实现方式中,当输出层的结构为Direct Learning时,输出层可以对隐含层输出的高维图像数据进行卷积操作后直接输出。输出层的输出数据满足第一重建公式,该第一重建公式为:
[0303] P(V)=Uv*V+Cv;
[0304] 其中,P(V)为输出层的输出数据,也即是目标卷积神经网络的输出数据,V为隐含层的输出数据,也即是上述第二方面中隐含层的HQ(I),*为卷积操作,Uv为输出层的权重系数,Cv为输出层的偏移系数。
[0305] 进一步的,输出层可以包括1个卷积核,即有1个卷积核作用于隐含层的输出数据,输出1个图像数据,从而实现高维图像数据的聚合;每个卷积核的大小为e×t×t,其中,e为输入通道数,t×t为输出层的每个卷积核在空间上的大小。
[0306] 在另一种可实现方式中,输出层的结构为Residual Learning结构,输出层包括1个卷积层,该卷积层包括1个卷积核,该输出层的卷积核的参数为:e=32,t=3,则输出层的输出数据满足:
[0307] P(V)=Uv*V+Cv;
[0308] 其中,P(V)为输出层的输出数据,也即是输出数据,V为隐含层的输出数据,也即是上述第二方面中的Hu(I),*为卷积操作,Uv为1个卷积核的权重系数,Cv为1个卷积核的偏移系数,该卷积核的大小为32×3×3。
[0309] 在另一种可实现方式中,当输出层的结构为Residual learning时,输出层可以对隐含层输出的高维图像数据进行卷积操作后,将处理后的数据与输入层的输出数据进行聚合以输出重建图像的数据,该重建图像的数据即为输出数据。输出层的输出数据满足第二重建公式,该第二重建公式为:
[0310] P(V)=Uv*V+Cv+I;
[0311] 其中,P(V)为输出层的输出数据,也即是目标卷积神经网络的输出数据,V为隐含层的输出数据,也即是上述第二方面中隐含层的HQ(I),I为输入层的输出数据,即上述第一方面中输入层的FM(J),*为卷积操作,Uv为输出层的权重系数,Cv为输出层的偏移系数。
[0312] 值得说明的是,本发明实施例提供的目标卷积神经网络由于是经过张量分解操作所得到的卷积神经网络,也即是至少有一个目标卷积层是经过张量分解操作所得到的处理后的目标卷积层。则在上述步骤F1至F2中,对于任一处理后的目标卷积层 当其与前一层的输出数据 进行卷积操作时,该卷积操作满足:
[0313]
[0314] 其中, 表示第一基向量与第n1个卷积核的第k1维度对应的参数值, 表示第二基向量中与第n1个卷积核的第k1维度的第c1个输入通道对应的参数值, 表示前一层的输出数据 中的第c1个输出通道输入的数据。
[0315] 由上可知,即使对目标卷积层进行了张量分解,在实际使用处理后的目标卷积层时,只需将输入数据与对应维度的参数值进行卷积操作即可,因此,采用该处理后的目标卷积层可以直接进行输入数据的卷积操作,过程简单。
[0316] 第二种可实现方式,目标卷积神经网络的输入层仅输入目标特征分量的失真图像。
[0317] 如图13所示,该视频处理方法包括:
[0318] 步骤601、将目标特征分量的失真图像输入目标卷积神经网络,其中,目标特征分量的失真图像为在失真图像中提取目标特征分量所得到的图像,失真图像为对原始图像进行图像处理得到的图像。
[0319] 其中,目标卷积神经网络为基于预设训练集经过上述步骤401至405的过程生成的目标卷积神经网络,该预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与原始样本图像对应的目标特征分量的失真图像。
[0320] 步骤602、通过目标卷积神经网络进行图像的卷积滤波处理,得到目标特征分量的去失真图像。
[0321] 本发明实施例中,目标卷积神经网络可以包括输入层、隐含层和输出层,在本发明的一个示意性实施例中,目标卷积神经网络可以包括一个输入层、一个隐含层和一个输出层。该目标卷积神经网络用于进行图像的卷积滤波处理。则上述步骤602的过程可以参考上述步骤F1至步骤F3。
[0322] 其中,本实施例中与上述步骤F1不同的是,由于在步骤601中,对目标卷积神经网络的输入层中输入的数据为目标特征分量的失真图像,只需要通过一个输入通道进行数据的输入,因此,输入层可以无需执行上述步骤F1中的合并动作,直接将对输入数据进行多维卷积滤波和非线性映射所得到的数据作为输入层的输出数据。
[0323] 在不同的应用场景中,本发明实施例提供的视频处理方法所处理的待处理图像帧的类型不同,需要目标卷积神经网络所处理的目标特征分量的失真图像相应不同。请参考上述图2和图4,以及对上述视频编码过程和视频解码过程的解释,对于编码端,待处理图像帧为待编码图像帧,该目标特征分量的失真图像是从失真图像中提取的目标特征分量的图像,该失真图像为对原始图像进行图像处理得到的图像,如图2所示,该失真图像为待处理图像帧的编码区域依次经过帧内预测模块(或帧间预测模块)、变化模块、量化模块、熵编码模块、反变换模块、反量化模块和重建模块所输出的图像。编码端在基于上述步骤501至503,或者在基于上述步骤601至602得到目标特征分量的去失真图像后,还可以基于最终获取的所有特征分量的去失真图像生成去失真图像,再将该编码区域的原始图像与该去失真图像相减,得到该编码区域对应的残差,然后基于该残差编码得到该编码区域对应的比特流。进一步的,基于上述第一种可实现方式所提供的方案,若需要向解码端传输量化参数(例如上述步骤E1和E2中基于量化参数生成目标特征分量的失真图像对应的边信息图像的情况),也可以将量化参数编码至比特流中。
[0324] 对于解码端,待处理图像帧为待解码图像帧,该目标特征分量的失真图像是从失真图像中提取的目标特征分量的图像,该失真图像是对待处理图像帧的编码区域对应的比特流恢复得到的。示例的,该失真图像是待处理图像帧的编码区域对应的比特流依次经过熵解码模块、帧内预测模块(或帧间预测模块)、反变换模块、反量化模块和重建模块所输出的图像。可选的,解码端可以在需要播放视频时,向编码端发送视频获取请求,编码端将编码得到的比特流传输至解码端,由解码端实时从比特流中获取编码区域对应的比特流,以进行解码。解码端也可以预先从编码端获取视频的比特流,然后在需要进行视频播放时,从比特流中获取编码区域对应的比特流,基于该比特流确定失真图像,然后基于失真图像确定目标特征分量的失真图像,再执行上述步骤501至503,或者上述步骤601至602以进行解码。本发明实施例对此不做限定。进一步的,基于上述第一种可实现方式所提供的方案,若解码端传输的比特流中包含量化参数,解码端也可以从比特流中提取量化参数,在执行步骤601时,可以采用如上述步骤E1和E2中的过程基于量化参数生成目标特征分量的失真图像对应的边信息图像。
[0325] 需要说明的是,本发明实施例提供的卷积神经网络的处理方法和视频处理方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
[0326] 综上所述,本发明实施例提供的卷积神经网络的处理方法,对训练后的第一卷积神经网络进行裁剪处理,以减少第一卷积神经网络中冗余的参数,简化最终得到的目标卷积神经网络的结构,从而提高该目标卷积神经网络的运算效率。
[0327] 本发明实施例提供一种卷积神经网络的处理方法,如图14所示,所述方法包括:
[0328] 步骤701、获取目标卷积神经网络,目标卷积神经网络用于视频的编解码。
[0329] 步骤702、对目标卷积神经网络进行压缩。
[0330] 步骤702可以参考上述步骤404,本发明实施例对此不再限定。
[0331] 步骤703、存储压缩后的目标卷积神经网络。
[0332] 步骤703可以参考上述步骤405,本发明实施例对此不再限定。
[0333] 综上所述,本发明实施例提供的卷积神经网络的处理方法,通过对所述目标卷积神经网络进行压缩并且存储,可以减少目标卷积神经网络所占用的存储空间。
[0334] 本发明实施例提供一种卷积神经网络的处理装置80,如图15所示,所述装置包括:
[0335] 训练模块801,用于对初始卷积神经网络进行训练,得到第一卷积神经网络;
[0336] 裁剪模块802,用于对所述第一卷积神经网络进行裁剪处理,得到第二卷积神经网络;
[0337] 确定模块803,用于基于所述第二卷积神经网络,确定目标卷积神经网络,所述目标卷积神经网络用于视频的编解码。
[0338] 综上所述,本发明实施例提供的卷积神经网络的处理装置,裁剪模块对训练后的第一卷积神经网络进行裁剪处理,以减少第一卷积神经网络中冗余的参数,简化最终得到的目标卷积神经网络的结构,从而提高该目标卷积神经网络的运算效率。
[0339] 可选的,如图16所示,所述裁剪模块802,包括:
[0340] 卷积核裁剪子模块8021,用于对所述第一卷积神经网络进行卷积核的裁剪处理;和/或,通道裁剪子模块8022,用于对所述第一卷积神经网络进行卷积核之间的通道的裁剪处理。
[0341] 其中,卷积核裁剪子模块8021,用于:
[0342] 对于所述第一卷积神经网络中每个卷积层,执行卷积核的裁剪处理,所述卷积核的裁剪处理包括:
[0343] 计算所述卷积层中每个卷积核的打分;
[0344] 当任一卷积核的打分大于所述卷积层的预设的裁剪分数阈值,裁剪所述任一卷积核,并裁剪与所述任一卷积核连接的输入通道和输出通道。
[0345] 可选的,所述卷积核裁剪子模块8021,用于:
[0346] 将所述卷积层中的所有目标网络参数的参数值拆分为与N个卷积核一一对应的N个数组,每个数组包括对应卷积核的C个参数值,所述N为所述卷积层中的卷积核的个数,所述C为所述卷积层的输入通道数;
[0347] 将所述每个数组划分为m1个子数组,m1为大于1的整数;
[0348] 统计每个子数组中的参数值个数在对应数组的参数值总数中的占比;
[0349] 基于每个子数组中的参数值个数在对应数组的参数值总数中的占比,采用熵值计算公式计算所述卷积层中每个卷积核的打分,所述熵值计算公式为:
[0350]
[0351] 其中,所述Hn为所述卷积层中第n个卷积核的打分,所述Pi1为所述第n个卷积核的第i1个子数组的参数值个数在对应数组的参数值总数中的占比,所述m1为所述第n个卷积核的子数组总数。
[0352] 可选的,所述卷积核裁剪子模块8021,用于:
[0353] 计算所述卷积层中每个卷积核的参数值的平方和;
[0354] 基于所述卷积层中每个卷积核的参数值的平方和以及打分公式,计算所述卷积层中每个卷积核的打分,所述打分公式为:
[0355]
[0356] 其中,所述Hn为所述卷积层中第n个卷积核的打分,所述An为所述第n个卷积核的参数值的平方和,所述Aq为第q个卷积核的参数值的平方和,所述N为所述卷积层中的卷积核的个数。
[0357] 可选的,所述通道裁剪子模块8022,用于:
[0358] 对于所述第一卷积神经网络中每个卷积层中的每个卷积核,执行通道的裁剪处理,所述通道的裁剪处理包括:
[0359] 当所述卷积核对应的任一网络参数的参数值小于预设的参数值阈值,将所述任一网络参数对应的通道裁剪;
[0360] 或者,确定所述卷积核对应网络参数中参数值最小的D1个网络参数,将所述D1个网络参数对应的通道裁剪,所述D1为预设的正整数。
[0361] 可选的,所述训练模块801,用于:
[0362] 获取预设训练集,所述预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与所述原始样本图像对应的所述目标特征分量的失真图像;
[0363] 设置所述初始卷积神经网络的目标网络参数集,所述目标网络参数集包括所述初始卷积神经网络的所有目标网络参数的参数值;
[0364] 重复执行卷积神经网络的训练过程,直至预设的第一损失函数对应的损失值收敛至目标范围,以得到所述第一卷积神经网络,所述卷积神经网络的训练过程包括:
[0365] 基于所述预设训练集以及所述目标网络参数集,对所述初始卷积神经网络进行前向计算,得到所述初始卷积神经网络的输出数据;
[0366] 基于所述输出数据,通过反向传递的方式更新所述初始卷积神经网络的目标网络参数集。
[0367] 可选的,所述训练模块801,用于:
[0368] 执行至少一次筛选训练过程,直至预设的第一损失函数对应的损失值收敛至目标范围,以得到所述第一卷积神经网络,其中,每次筛选训练过程包括:
[0369] 执行F1次所述卷积神经网络的训练过程,所述F1为正整数;
[0370] 将F1次训练后的所述卷积神经网络中,弱化参数的参数值置0,执行F2次所述卷积神经网络的训练过程,所述弱化参数为所述目标网络参数集中除参数值最大的前r1个目标网络参数之外的目标网络参数,所述F2为正整数;
[0371] 将F2次训练后的所述卷积神经网络中,所述弱化参数的参数值恢复至所述F2次训练前的参数值。
[0372] 可选的,所述每个图像组还包括每个所述目标特征分量的失真图像对应的边信息图像。
[0373] 可选的,所述训练模块801,用于:
[0374] 为目标网络参数集生成掩膜矩阵,所述掩膜矩阵包括的多个掩膜值与所述目标网络参数集中的多个目标网络参数的参数值一一对应,所述掩膜矩阵中的掩膜值均属于预设数值集合,所述预设数值集合至少包括0和1;
[0375] 将所述当前的目标网络参数集中所有目标网络参数的参数值与所述掩膜矩阵中对应的掩膜值相乘,将得到处理后的参数值组成处理后的目标网络参数集;
[0376] 基于所述预设训练集以及所述处理后的目标网络参数集,对所述初始卷积神经网络进行前向计算,得到所述初始卷积神经网络的输出数据。
[0377] 可选的,所述训练模块801,用于:
[0378] 将所述初始卷积神经网络的目标网络参数的参数值按照所述目标网络参数集中的参数值设置;
[0379] 向设置参数值后的所述初始卷积神经网络输入所述预设训练集中的至少一组图像组中的目标特征分量的原始样本图像,以对所述初始卷积神经网络进行前向计算,得到所述初始卷积神经网络的输出数据。
[0380] 可选的,所述当前的目标网络参数集中第i个卷积层的任一目标网络参数的参数值Θi在所述掩膜矩阵中对应的掩膜值M(Θi)满足:
[0381]
[0382] 其中,1≤i≤I1,I1为所述初始卷积神经网络中的卷积层的总层数,ai和bi为所述第i个卷积层的预设的比较阈值,0≤ai<bi≤1,Ti为所述第i个卷积层的预设的参考掩膜值,0<Ti<1。
[0383] 可选的,所述当前的目标网络参数集中第i个卷积层的任一目标网络参数的参数值Θi在所述掩膜矩阵中对应的掩膜值M(Θi)满足:
[0384]
[0385] 其中,1≤i≤I1,I1为所述初始卷积神经网络中的卷积层的总层数,ai为所述第i个卷积层的预设的比较阈值,0≤ai≤1。
[0386] 可选的,所述第一损失函数满足:
[0387]
[0388] 其中,L(Θ)为所述第一损失函数对应的损失值,F(Yn)为一次所述卷积神经网络的训练过程中,基于所述第一损失函数以及目标特征分量的失真图像Yn,初始卷积神经网络所输出的目标特征分量的去失真图像,N2为一次所述卷积神经网络的训练过程中,输入所述初始卷积神经网络中的图像所属图像组的个数,Xn为所述目标特征分量的失真图像Yn对应的目标特征分量的原始样本图像,α为所述第一损失函数的衰减因子, 为预先设置的用于稀疏化训练的第s个正则函数,T为正则函数的总数,λs为第s个正则函数的衰减因子,Loss(F(Yn),Xn)表示基于所述目标特征分量的去失真图像F(Yn)和所述目标特征分量的原始样本图像Xn,采用所述第一损失函数得到的初始损失值。
[0389] 可选的,所述 满足:
[0390]
[0391] 其中,A2为预设的系数,Ni为所述初始卷积神经网络中的第i个卷积层的卷积核的个数,I1为所述初始卷积神经网络中的卷积层的总层数, 表示求第i个卷积层中的第ni个卷积核的输出数据的L范数;
[0392] 或者,所述 满足:
[0393]
[0394] 其中,A3为预设的系数,Ni为所述初始卷积神经网络中的第i个卷积层的卷积核的个数,所述Ci为所述第i个卷积层的输入通道总数,所述Hi为所述第i个卷积层的高度维度,所述Wi为所述第i个卷积层的宽度维度,I1为所述初始卷积神经网络中的卷积层的总层数,表示求第i个卷积层中的第ni个卷积核的第ci个输入通道在高度维度为hi,宽度维度为wi处的参数值的L范数;
[0395] 或者,所述 满足:
[0396]
[0397] 其中,λ为预设的系数,I1为所述初始卷积神经网络中的卷积层的总层数,Ni为所述初始卷积神经网络中的第i个卷积层的卷积核的个数, 表示所述第i个卷积层的第j1个卷积核与第l1个卷积核的类间距。
[0398] 可选的,所述确定模块803,包括:
[0399] 确定子模块,用于将所述第二卷积神经网络确定为所述目标卷积神经网络;
[0400] 或者,训练子模块,用于对所述第二卷积神经网络进行二次调优训练,得到所述目标卷积神经网络。
[0401] 可选的,所述二次调优训练包括:
[0402] 获取预设训练集,所述预设训练集包括至少一个图像组,每个图像组包括目标特征分量的原始样本图像,与所述原始样本图像对应的所述目标特征分量的失真图像,所述预设训练集与训练所述初始卷积神经网络时所采用的训练集相同;
[0403] 设置所述第二卷积神经网络的目标网络参数集,所述目标网络参数集包括所述第二卷积神经网络的所有目标网络参数的参数值;
[0404] 重复执行卷积神经网络的训练过程,直至预设的第二损失函数对应的损失值收敛至目标范围,以得到所述目标卷积神经网络,所述卷积神经网络的训练过程包括:
[0405] 基于所述预设训练集以及所述目标网络参数集,对所述第一卷积神经网络进行前向计算,得到所述第一卷积神经网络的输出数据;
[0406] 基于所述预设训练集以及所述目标网络参数集,对所述第二卷积神经网络进行前向计算,得到所述第二卷积神经网络的输出数据;
[0407] 基于所述第一卷积网络的输出数据和所述第二卷积网络的输出数据,通过反向传递的方式更新所述第二卷积神经网络的目标网络参数集;
[0408] 其中,所述卷积神经网络的训练过程中,所述第一卷积神经网络和所述第二卷积神经网络的学习率固定。
[0409] 可选的,所述第一卷积神经网络和所述第二卷积神经网络采用相同的指定划分方式,划分为J个调优单元,所述J为大于1的整数;
[0410] 所述第二损失函数满足:
[0411]
[0412] 其中,所述 为所述第二损失函数对应的损失值,L(Θ)为第一损失函数对应的损失值,所述第一损失函数为训练所述初始卷积神经网络时所采用的损失函数,A4和A5为预设的系数, 表示求第l个调优单元中的第nl个卷积核的第cl个输入通道在高度维度为ml,宽度维度为kl处的参数值的g范数, 表示所述第二卷积神经网络的第j个的调优单元的第1个卷积核的输出, 表示所述第一卷积神经网络的第j个的调优单元的第1个卷积核的输出,Lj为所述初始卷积神经网络中的第j个卷积层的卷积核的个数,|| ||p表示求P范数。
[0413] 可选的,如图17所示,所述装置80还包括:
[0414] 压缩模块804,用于在所述基于所述第二卷积神经网络,确定目标卷积神经网络之后,对所述目标卷积神经网络进行压缩;
[0415] 存储模块805,用于存储压缩后的所述目标卷积神经网络。
[0416] 可选的所述压缩模块804,用于:
[0417] 通过聚类算法对所述目标卷积神经网络进行压缩。
[0418] 可选的,所述压缩模块804,用于:
[0419] 对于所述目标卷积神经网络中的每个卷积层,将当前的所述卷积层中的所有目标网络参数的参数值的平均值确定为初始聚类中心;
[0420] 基于所述初始聚类中心,对所述卷积层中的所有目标网络参数的参数值进行至少一次聚类处理,直至相邻两次聚类处理中聚类中心位于指定阈值范围内,所述聚类处理包括:
[0421] 分别计算所述卷积层中的所有目标网络参数的参数值与所述聚类中心的距离;
[0422] 将所述卷积层中的所有目标网络参数的参数值中与所述聚类中心的距离最小的参数值与所述聚类中心的平均值,确定为新的聚类中心。
[0423] 可选的,所述存储模块805,用于:
[0424] 保存所述聚类中心;
[0425] 保存其他参数值与所述聚类中心的距离,所述其他参数值为所述目标卷积神经网络的目标网络参数的参数值中除所述聚类中心之外的参数值;
[0426] 或者,将其他参数值与所述聚类中心的距离进行量化处理,得到量化处理后的距离,保存所述聚类中心以及所述量化处理后的距离。
[0427] 可选的,如图18所示,所述装置80还包括:
[0428] 第一输入模块806,用于向所述目标卷积神经网络输入待处理视频数据;
[0429] 获取模块807,用于获取所述目标卷积神经网络输出的处理后的视频数据,所述处理后的视频数据是所述目标卷积神经网络对所述待处理视频数据进行视频的编码处理或者视频的解码处理得到的数据。
[0430] 可选的,所述视频的编码处理包括:帧内预测处理、帧间预测处理、变换处理、量化处理、去失真滤波处理和熵编码处理中的至少一种;
[0431] 所述视频的解码处理包括:熵解码处理、帧内预测处理、帧间预测处理、去失真滤波处理、反变换处理和反量化处理中的至少一种。
[0432] 可选的,如图19所示,所述装置80还包括:
[0433] 生成模块808,用于生成目标特征分量的失真图像对应的边信息图像,其中,所述目标特征分量的失真图像为在失真图像中提取所述目标特征分量所得到的图像,所述失真图像为对原始图像进行图像处理得到的图像,所述边信息图像表示所述目标特征分量的失真图像相对于所述原始图像的失真特征;
[0434] 第二输入模块809,用于将目标特征分量的失真图像以及生成的边信息图像,输入所述目标卷积神经网络;
[0435] 滤波模块810,用于通过所述目标卷积神经网络进行图像的卷积滤波处理,得到目标特征分量的去失真图像。
[0436] 可选的,如图20所示,所述装置80还包括:
[0437] 第三输入模块811,用于将目标特征分量的失真图像输入所述目标卷积神经网络,其中,所述目标特征分量的失真图像为在失真图像中提取所述目标特征分量所得到的图像,所述失真图像为对原始图像进行图像处理得到的图像;
[0438] 滤波模块810,用于通过所述目标卷积神经网络进行图像的卷积滤波处理,得到目标特征分量的去失真图像。
[0439] 可选的,所述目标卷积神经网络包括输入层、隐含层和输出层;
[0440] 所述滤波模块810,用于:
[0441] 通过所述输入层对输入数据进行多维卷积滤波和非线性映射,得到所述输入层的输出数据;
[0442] 通过所述隐含层对所述输入层的输出数据进行多维卷积滤波和非线性映射,得到高维图像数据;
[0443] 通过所述输出层对所述高维图像数据进行聚合,得到所述目标特征分量的去失真图像。
[0444] 综上所述,本发明实施例提供的卷积神经网络的处理装置,裁剪模块对训练后的第一卷积神经网络进行裁剪处理,以减少第一卷积神经网络中冗余的参数,简化最终得到的目标卷积神经网络的结构,从而提高该目标卷积神经网络的运算效率。
[0445] 本发明实施例提供一种卷积神经网络的处理装置90,如图21所示,所述装置90包括:
[0446] 获取模块901,用于获取目标卷积神经网络,所述目标卷积神经网络用于视频的编解码;
[0447] 压缩模块902,用于对所述目标卷积神经网络进行压缩;
[0448] 存储模块903,用于存储压缩后的所述目标卷积神经网络。
[0449] 综上所述,本发明实施例提供的卷积神经网络的处理装置,通过压缩模块对所述目标卷积神经网络进行压缩并通过存储模块对压缩后的目标卷积神经网络存储,可以减少目标卷积神经网络所占用的存储空间。
[0450] 本发明实施例提供一种计算机设备,包括:
[0451] 处理器;
[0452] 用于存储所述处理器的可执行指令的存储器;
[0453] 其中,所述处理器被配置为执行本发明实施例提供的所述的卷积神经网络的处理方法。
[0454] 本发明实施例提供一种可读存储介质,所述可读存储介质中存储有指令,当所述可读存储介质在处理组件上运行时,使得处理组件执行本发明实施例提供的卷积神经网络的处理方法。
[0455] 本发明实施例提供一种编解码系统,包括上述任一实施例中所述的卷积神经网络的处理装置或者包括上述计算机设备。该编解码系统指的是编码系统和/或解码系统,其中,当编解码系统包括编码系统时,该编码系统包括上述任一实施例中所述的卷积神经网络的处理装置或者包括上述计算机设备,示例的,该编码系统可以为如图2所示的系统;当编解码系统包括解码系统时,该解码系统包括上述任一实施例中所述的卷积神经网络的处理装置或者包括上述计算机设备,示例的,该解码系统可以为如图4所示的系统。
[0456] 关于上述实施例中的装置和系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0457] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
[0458] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈