超分网络模型训练方法、装置、电子设备以及存储介质转让专利

申请号 : CN202110920065.8

文献号 : CN113361510B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢植淮

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请提供了一种超分网络模型训练方法、装置、电子设备以及存储介质,涉及计算机视觉技术领域,该方法包括:利用第一网络模型对第二网络模型进行知识蒸馏;并在知识蒸馏过程中,计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项;进而,基于该互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,对该第二超分网络模型的参数进行调整,得到训练后的该第二超分网络模型。本申请通过引入知识蒸馏技术并设计了适用于视频超分领域的监督指标,能够在保证超分网络模型的性能的基础上,降低超分网络模型的复杂度,进而,有利于该第二超分网络模型在低计算能力的终端平台(如嵌入式设备等)上或线上实时运行。

权利要求 :

1.一种超分网络模型训练方法,其特征在于,包括:获取待处理视频的且连续的T个训练图像帧,所述T个训练图像帧标注有T个标注图像帧;

利用已训练的第一超分网络模型对输入的所述T个训练图像帧进行特征提取,得到所述第一超分网络模型的m个残差模块中的k个残差模块分别输出的k个第一特征图谱和所述第一超分网络模型输出的T个第一图像帧;其中,T和m为正整数;

利用第二超分网络模型对输入的所述T个训练图像帧进行特征提取,并利用所述m个残差模块中的k个残差模块对所述第二超分网络模型的n个残差模型中的k个残差块分别进行蒸馏,得到所述n个残差模型中的k个残差块分别输出的k个第二特征图谱和所述第二超分网络模型输出的T个第二图像帧;其中,n<m,n为正整数;

计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项;其中,所述互信息损失用于表征所述k个第一特征图谱的灰度值和所述k个第二特征图谱的灰度值之间的差异,所述第一时序一致性损失用于表征所述T个第二图像帧和所述T个标注图像帧之间的时序差异,所述第二时序一致性损失用于表征所述T个第二图像帧和所述T个第一图像帧之间的时序差异;

基于所述互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,对所述第二超分网络模型的参数进行调整,得到训练后的所述第二超分网络模型;

所述利用所述m个残差模块中的k个残差模块对所述第二超分网络模型的n个残差模型中的k个残差块分别进行蒸馏之前,所述方法还包括:利用特征转换层中的至少一个卷积层和激活函数层,对所述m个残差模块中的k个残差模块输出的特征图谱分别进行特征提取,得到k个第三特征图谱;

针对所述k个第三特征图谱中的第i个第三特征图谱,若所述第i个第三特征图谱的特征分布与所述k个第二特征图谱中的第i个第二特征图谱的特征分布相同,将所述第i个第三特征图谱确定为第i个第一特征图谱。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述第i个第三特征图谱的特征分布与所述k个第二特征图谱中的第i个第二特征图谱的特征分布不相同,利用所述特征转换层中的池化层,将所述第i个第三特征图谱转换为第四特征图谱,所述第四特征图谱的特征分布与所述第i个第二特征图谱的特征分布相同;

将所述第四特征图谱确定为所述第i个第一特征图谱。

3.根据权利要求1所述的方法,其特征在于,所述计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项之前,所述方法还包括:基于所述T个训练图像帧的图像帧类型确定预设数值;

利用所述k个第一特征图谱与所述预设数值相乘后的特征图谱,更新所述k个第一特征图谱;以及利用所述k个第二特征图谱与所述预设数值相乘后的特征图谱,更新所述k个第二特征图谱。

4.根据权利要求3所述的方法,其特征在于,所述基于所述T个训练图像帧的图像帧类型确定预设数值,包括:

若T个训练图像帧的图像帧类型为八位图,则确定所述预设数值为255。

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,包括:针对所述k个第一特征图谱中的第i个第一特征图谱的N个灰度值,基于所述N个灰度值中的每一个灰度值在所述第i个第一特征图谱中出现的概率,确定所述第i个第一特征图谱的信息熵,N为正整数;

针对所述k个第二特征图谱中的第i个第二特征图谱中的M个灰度值,基于所述M个灰度值中的每一个灰度值在所述第i个第二特征图谱中出现的概率,确定所述第i个第二特征图谱的信息熵,M为正整数;

针对在所述第i个第一特征图谱和所述第i个第二特征图谱中位于同一位置的像素点,基于所述像素点在所述第i个第一特征图谱中的灰度值为第一数值,且所述像素点在所述第i个第二特征图谱中的灰度值为第二数值的概率,确定所述第i个第一特征图谱和所述第i个第二特征图谱的联合熵;

利用所述第i个第一特征图谱的信息熵与所述第i个第二特征图谱的信息熵的和,减去所述联合熵,得到所述第i个第一特征图谱与所述第i个第二特征图谱之间的损失;

基于所述k个第一特征图谱分别与所述k个第二特征图谱之间的损失,确定所述互信息损失。

6.根据权利要求5所述的方法,其特征在于,所述基于所述k个第一特征图谱分别与所述k个第二特征图谱之间的损失,确定所述互信息损失,包括:将所述k个第一特征图谱分别与所述k个第二特征图谱之间的损失的加权平均值或平均值,确定为所述互信息损失。

7.根据权利要求1所述的方法,其特征在于,所述计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,包括:基于光流估计算法,确定所述T个第二图像帧的光流估计、所述T个标注图像帧的光流估计以及所述T个第一图像帧的光流估计;

将所述T个第二图像帧的光流估计和所述T个标注图像帧的光流估计之间的差异确定为所述第一时序一致性损失,以及将所述T个第二图像帧的光流估计以及所述T个第一图像帧的光流估计之间的差异确定为所述第二时序一致性损失。

8.根据权利要求7所述的方法,其特征在于,所述基于光流估计算法,确定所述T个第二图像帧的光流估计、所述T个标注图像帧的光流估计以及所述T个第一图像帧的光流估计,包括:

基于稠密光流的估计算法,确定所述T个第二图像帧的光流估计、所述T个标注图像帧的光流估计以及所述T个第一图像帧的光流估计。

9.根据权利要求1 8中任一项所述的方法,其特征在于,所述基于所述互信息损失、第~

一时序一致性损失以及第二时序一致性损失中的至少一项,对所述第二超分网络模型的参数进行调整,得到训练后的所述第二超分网络模型之前,所述方法还包括:相对所述T个标注图像帧,计算所述T个第二图像帧的重建损失;

其中,所述基于所述互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,对所述第二超分网络模型的参数进行调整,得到训练后的所述第二超分网络模型,包括:

基于所述重建损失、所述互信息损失、第一时序一致性损失以及第二时序一致性损失的加权值,对所述第二超分网络模型的参数进行调整,得到训练后的所述第二超分网络模型。

10.根据权利要求9所述的方法,其特征在于,所述重建损失为基于L2损失函数得到的损失值。

11.根据权利要求9所述的方法,其特征在于,所述互信息损失的权重为所述重建损失的权重、所述互信息损失的权重、第一时序一致性损失的权重以及第二时序一致性损失的权重的最大值;和/或,所述第二时序一致性损失的权重为所述重建损失的权重、所述互信息损失的权重、第一时序一致性损失的权重以及第二时序一致性损失的权重的最小值。

12.一种超分网络模型训练装置,其特征在于,包括:获取单元,用于获取待处理视频的且连续的T个训练图像帧,所述T个训练图像帧标注有T个标注图像帧;

已训练的第一超分网络模型,用于对输入的所述T个训练图像帧进行特征提取,得到所述第一超分网络模型的m个残差模块中的k个残差模块分别输出的k个第一特征图谱和所述第一超分网络模型输出的T个第一图像帧;其中,T和m为正整数;

第二超分网络模型,用于对输入的所述T个训练图像帧进行特征提取,并利用所述m个残差模块中的k个残差模块对所述第二超分网络模型的n个残差模型中的k个残差块分别进行蒸馏,得到所述n个残差模型中的k个残差块分别输出的k个第二特征图谱和所述第二超分网络模型输出的T个第二图像帧;其中,n<m,n为正整数;

计算单元,用于计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项;其中,所述互信息损失用于表征所述k个第一特征图谱的灰度值和所述k个第二特征图谱的灰度值之间的差异,所述第一时序一致性损失用于表征所述T个第二图像帧和所述T个标注图像帧之间的时序差异,所述第二时序一致性损失用于表征所述T个第二图像帧和所述T个第一图像帧之间的时序差异;

调整单元,用于基于所述互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,对所述第二超分网络模型的参数进行调整,得到训练后的所述第二超分网络模型;

所述第二超分网络模型利用所述m个残差模块中的k个残差模块对所述第二超分网络模型的n个残差模型中的k个残差块分别进行蒸馏之前,所述第二超分网络模型还用于:利用特征转换层中的至少一个卷积层和激活函数层,对所述m个残差模块中的k个残差模块输出的特征图谱分别进行特征提取,得到k个第三特征图谱;

针对所述k个第三特征图谱中的第i个第三特征图谱,若所述第i个第三特征图谱的特征分布与所述k个第二特征图谱中的第i个第二特征图谱的特征分布相同,将所述第i个第三特征图谱确定为第i个第一特征图谱。

13.一种电子设备,其特征在于,包括:处理器,适于执行计算机程序;

计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至11中任一项所述的超分网络模型训练方法。

14.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至11中任一项所述的超分网络模型训练方法。

说明书 :

超分网络模型训练方法、装置、电子设备以及存储介质

技术领域

[0001] 本申请实施例涉及人工智能的计算机视觉技术领域,并且更具体地,涉及超分网络模型训练方法、装置、电子设备以及存储介质。

背景技术

[0002] 视频超分指通过超分算法基于给定的低分辨率视频生成高分辨率视频。
[0003] 随着深度学习的发展,人工智能中深度学习方法因强大、灵活的特征提取能力而被应用于视频超分领域并逐渐成为视频超分的主流方法。目前,基于深度学习的视频超分,
需要对不同场景训练多个视频超分模型,即需要进行具体场景的定制化设计,通用性不高;
需要的模型参数较多,导致模型的计算速度变慢,难以在低计算能力的终端平台(如嵌入式
设备等)上或线上实时运行。

发明内容

[0004] 本申请提供了一种超分网络模型训练方法、装置、电子设备以及存储介质,能够在保证超分网络模型的性能的基础上,降低超分网络模型的复杂度,进而,有利于在低计算能
力的终端平台(如嵌入式设备等)上或线上实时运行。
[0005] 一方面,本申请提供了一种超分网络模型训练方法,包括:
[0006] 获取待处理视频的且连续的T个训练图像帧,该T个训练图像帧标注有T个标注图像帧;
[0007] 利用已训练的第一超分网络模型对输入的该T个训练图像帧进行特征提取,得到该第一超分网络模型的m个残差模块中的k个残差模块分别输出的k个第一特征图谱和该第
一超分网络模型输出的T个第一图像帧;其中,T和m为正整数;
[0008] 利用第二超分网络模型对输入的该T个训练图像帧进行特征提取,并利用该m个残差模块中的k个残差模块对该第二超分网络模型的n个残差模型中的k个残差块分别进行蒸
馏,得到该n个残差模型中的k个残差块分别输出的k个第二特征图谱和该第二超分网络模
型输出的T个第二图像帧;其中,n<m,n为正整数;
[0009] 计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项;其中,该互信息损失用于表征该k个第一特征图谱的灰度值和该k个第二特征图谱的灰度值
之间的差异,该第一时序一致性损失用于表征该T个第二图像帧和该T个标注图像帧之间的
时序差异,该第二时序一致性损失用于表征该T个第二图像帧和该T个第一图像帧之间的时
序差异;
[0010] 基于该互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,对该第二超分网络模型的参数进行调整,得到训练后的该第二超分网络模型。
[0011] 另一方面,本申请提供了一种超分网络模型训练装置,包括:
[0012] 获取单元,用于获取待处理视频的且连续的T个训练图像帧,该T个训练图像帧标注有T个标注图像帧;
[0013] 已训练的第一超分网络模型,用于对输入的该T个训练图像帧进行特征提取,得到该第一超分网络模型的m个残差模块中的k个残差模块分别输出的k个第一特征图谱和该第
一超分网络模型输出的T个第一图像帧;其中,T和m为正整数;
[0014] 第二超分网络模型,用于对输入的该T个训练图像帧进行特征提取,并利用该m个残差模块中的k个残差模块对该第二超分网络模型的n个残差模型中的k个残差块分别进行
蒸馏,得到该n个残差模型中的k个残差块分别输出的k个第二特征图谱和该第二超分网络
模型输出的T个第二图像帧;其中,n<m,n为正整数;
[0015] 计算单元,用于计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项;其中,该互信息损失用于表征该k个第一特征图谱的灰度值和该k个第二特
征图谱的灰度值之间的差异,该第一时序一致性损失用于表征该T个第二图像帧和该T个标
注图像帧之间的时序差异,该第二时序一致性损失用于表征该T个第二图像帧和该T个第一
图像帧之间的时序差异;
[0016] 调整单元,用于基于该互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,对该第二超分网络模型的参数进行调整,得到训练后的该第二超分网络
模型。
[0017] 另一方面,本申请提供了一种电子设备,包括:
[0018] 处理器,适于实现计算机指令;以及,
[0019] 计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上述超分网络模型训练方法。
[0020] 另一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备
执行上述超分网络模型训练方法。
[0021] 另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算
机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使
得该计算机设备执行上述超分网络模型训练方法。
[0022] 基于上技术方案,通过在视频超分领域引入知识蒸馏技术,即利用第一超分网络模型的m个残差模块中的k个残差模块对所述第二超分网络模型的n个残差模型中的k个残
差块分别进行蒸馏,能够在保证超分网络模型的性能的基础上,降低超分网络模型的复杂
度,进而,有利于该第二超分网络模型在低计算能力的终端平台(如嵌入式设备等)上或线
上实时运行。
[0023] 此外,在引入知识蒸馏技术的同时,设计了适用于视频超分领域的监督指标,即互信息损失、第一时序一致性损失以及第二时序一致性损失;在训练该第二超分网络模型的
过程中,通过监督互信息损失,能够对该第二超分网络模型的知识蒸馏效果进行监督,使得
该第二超分网络模型尽可能拟合该第一超分网络模型的特征分布,以尽可能的达到最优的
学习效果,进而保证该第二超分网络模型的超分性能;通过监督第二时序一致性损失,可以
将第一超分网络模型的输出作为第二超分网络模型的参考,保证了该第二超分网络模型的
生成的图像帧的帧间细节的一致性,即保证了该第二网络模型输出的图像帧的帧间连续
性,有助于提升第二超分网络模型的超分性能;通过监督第一时序一致性损失,可以将针对
训练图像帧标注的标注图像帧作为第二超分网络模型的参考,保证了该第二超分网络模型
的生成的图像帧的帧间细节的一致性,即保证了该第二网络模型输出的图像帧的帧间连续
性,有助于提升第二超分网络模型的超分性能。

附图说明

[0024] 图1是本申请实施例提供的知识蒸馏框架的示例。
[0025] 图2是本申请实施例提供的超分网络模型训练方法的示意性流程图。
[0026] 图3是本申请实施例提供的知识蒸馏框架的另一示例。
[0027] 图4是本申请实施例提供的超分网络模型训练装置的示意性框图。
[0028] 图5是本申请实施例提供的电子设备的示意性框图。

具体实施方式

[0029] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是
本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范
围。
[0030] 本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它
们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系
统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单
元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0031] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同
的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和
隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0032] 首先,对本申请实施例中涉及的相关名词术语进行介绍和说明:
[0033] 人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理
论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解
智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能
也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0034] 人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、
大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机
视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0035] 计算机视觉技术(Computer Vision,CV):计算机视觉是一门研究如何使机器“看”的科学,更进一步地说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机
器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数
据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理
解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、
虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生
物特征识别技术。
[0036] 机器学习(Machine Learning,ML):一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行
为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习
是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机
器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技
术。
[0037] 视频信息流产品是炙手可热的互联网产品,随着5g的发展,移动端或者终端对于高清视频的需求越来越大。在云,微视,视频号等会有巨大的应用需求。视频信息流产品通
常为视频超分后的视频,视频超分指通过超分算法基于给定的低分辨率视频生成高分辨率
视频。视频超分也可称为视频增强,视频超分后主观效果较好,能够生成更多细节,提升画
面的清晰程度。
[0038] 此外,随着深度学习的发展,人工智能中深度学习方法因强大、灵活的特征提取能力而被应用于视频超分领域并逐渐成为视频超分的主流方法。目前,基于深度学习的视频
超分,需要对不同场景训练多个视频超分模型,即需要进行具体场景的定制化设计,通用性
不高;需要的模型参数较多,导致模型的计算速度变慢,难以在低计算能力的终端平台(如
嵌入式设备等)上或线上实时运行。
[0039] 基于此,本申请将知识蒸馏引入至视频超分领域,进而提供了一种超分网络模型训练方法、装置、电子设备以及存储介质,能够在保证超分网络模型的性能的基础上,降低
超分网络模型的复杂度,进而,有利于在低计算能力的终端平台(如嵌入式设备等)上或线
上实时运行。
[0040] 需要说明的是,知识蒸馏(knowledge distillation)也叫暗知识提取,是指通过结构复杂、计算量大但是性能优秀的教师神经网络(teacher network),对结构相对简单、
计算量较小的学生神经网络(student network)的训练进行指导,以提升学生神经网络的
性能,实现知识迁移(knowledge transfer)的过程。知识蒸馏能使模型变轻量的同时(方便
部署),尽量不损失性能。本申请在视频超分领域引入知识蒸馏技术,为了便于描述,下文将
用于视频超分的教师神经网络或类似教师神经网络的模型统称为第一超分网络模型,将用
于视频超分的学生神经网络或类似学生神经网络的模型统称为第二超分网络模型。
[0041] 图1是本申请实施例提供的知识蒸馏框架100的示例。
[0042] 如图1所示,该知识蒸馏框架100可包括第一超分网络模型和第二超分网络模型。其中,该第一超分网络模型和第二超分网络网络模型可通过相同的训练视频进行训练,在
针对第二超分网络模型的训练过程中,可通过已训练号的第一超分网络模型对第二超分网
络模型进行知识蒸馏。
[0043] 示例性地,该第一超分网络模型的设计是自编码器(Auto Encoder)的结构,采用高分辨率(high resolution,HR)视频作为先验知识,而不是在最后只对第一超分网络模型
和第二超分网络模型的输出进行监督。第一超分网络模型的解码器(Decoder)结构和第二
超分网络模型结构可以是完全一样的,以尽可能的减少第一超分网络模型与第二超分网络
模型之间的差异,进而提升知识迁移的效果,例如可以将训练好的第一超分网络模型的解
码器(Decoder)的参数直接作为第二超分网络模型的解码器的初始化参数。在蒸馏损失上,
可以采用各种损失函数对第二超分网络模型进行监督,达到提升第二超分网络模型性能的
效果。
[0044] 图2是本申请实施例提供的超分网络模型训练方法200的示意性流程图。需要说明的,本申请实施例提供的方案可通过任何具有数据处理能力的电子设备执行。例如,该电子
设备可实施为服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的
服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网
络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计
算服务的云服务器,服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请
在此不做限制。为便于描述,下文以超分网络模型训练装置为例对本申请提供的预测方法
进行说明。
[0045] 如图2所示,该方法200可包括:
[0046] S210,获取待处理视频的且连续的T个训练图像帧,该T个训练图像帧标注有T个标注图像帧;
[0047] S220,利用已训练的第一超分网络模型对输入的该T个训练图像帧进行特征提取,得到该第一超分网络模型的m个残差模块中的k个残差模块分别输出的k个第一特征图谱和
该第一超分网络模型输出的T个第一图像帧;其中,T和m为正整数;
[0048] S230,利用第二超分网络模型对输入的该T个训练图像帧进行特征提取,并利用该m个残差模块中的k个残差模块对该第二超分网络模型的n个残差模型中的k个残差块分别
进行蒸馏,得到该n个残差模型中的k个残差块分别输出的k个第二特征图谱和该第二超分
网络模型输出的T个第二图像帧;其中,n<m,n为正整数;
[0049] S240,计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项;其中,该互信息损失用于表征该k个第一特征图谱的灰度值和该k个第二特征图谱的
灰度值之间的差异,该第一时序一致性损失用于表征该T个第二图像帧和该T个标注图像帧
之间的时序差异,该第二时序一致性损失用于表征该T个第二图像帧和该T个第一图像帧之
间的时序差异;
[0050] S250,基于该互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,对该第二超分网络模型的参数进行调整,得到训练后的该第二超分网络模型。
[0051] 换言之,第一超分网络模型由m个残差模块组成,第二超分网络模型由n个残差模块组成,其中m>n。训练时,先设计好第一超分网络模型,并训练直至该第一超分网络模型收
敛取,即得优良的性能,然后,基于该第一超分网络模型对第二超分网络模型进行知识蒸
馏,以得到复杂度低,但是性能接近或优于第一超分网络模型的模型。
[0052] 需要说明的是,本申请中的第二超分网络模型根据第一超分网络模型进行复杂度裁剪得到的模型。例如,可以为减少残差模块的个数,或者采用类似的简化设计。由于该第
一超分网络模型具备优良的性能,但是复杂度太高,而直接训练第二超分网络模型难以保
证超分性能,而通过知识蒸馏可以获得一个复杂度低,但是性能接近或优于第一超分网络
模型的模型。
[0053] 本实施例中,通过在视频超分领域引入知识蒸馏技术,即利用第一超分网络模型的m个残差模块中的k个残差模块对所述第二超分网络模型的n个残差模型中的k个残差块
分别进行蒸馏,能够在保证超分网络模型的性能的基础上,降低超分网络模型的复杂度,进
而,有利于该第二超分网络模型在低计算能力的终端平台(如嵌入式设备等)上或线上实时
运行。
[0054] 此外,在引入知识蒸馏技术的同时,设计了适用于视频超分领域的监督指标,即互信息损失、第一时序一致性损失以及第二时序一致性损失;在训练该第二超分网络模型的
过程中,通过监督互信息损失,能够对该第二超分网络模型的知识蒸馏效果进行监督,使得
该第二超分网络模型尽可能拟合该第一超分网络模型的特征分布,以尽可能的达到最优的
学习效果,进而保证该第二超分网络模型的超分性能;通过监督第二时序一致性损失,可以
将第一超分网络模型的输出作为第二超分网络模型的参考,保证了该第二超分网络模型的
生成的图像帧的帧间细节的一致性,即保证了该第二网络模型输出的图像帧的帧间连续
性,有助于提升第二超分网络模型的超分性能;通过监督第一时序一致性损失,可以将针对
训练图像帧标注的标注图像帧作为第二超分网络模型的参考,保证了该第二超分网络模型
的生成的图像帧的帧间细节的一致性,即保证了该第二网络模型输出的图像帧的帧间连续
性,有助于提升第二超分网络模型的超分性能。
[0055] 简言之,本申请提出一种基于知识蒸馏的视频超分方法,目的在于通过引入知识蒸馏,即利用第一超分网络模型提升第二超分网络模型的性能,从而获得一个复杂度低、性
能优越的模型。
[0056] 图3是本申请实施例提供的知识蒸馏框架300的示例。下面结合图3所示的知识蒸馏框架300对该方法200进行说明。
[0057] 如图3所示,该知识蒸馏框架300可包括第一超分网络模型和第二超分网络模型。其中,该第一超分网络模型用于对第二超分网络模型进行蒸馏,使得第二超分网络模型取
得较好的性能。该第一超分网络模型跟第二超分网络模型可以采用同样的结构设计,此时,
该第一超分网络模型的模型复杂度比该第二超分网络模型的模型复杂度更大,具体表现为
主干网络由更多的残差模块(Residual Blocks)或者其他模块组成。该第一超分网络模型
在主干网络部分或者网络尾部可以对该第二超分网络模型的对应位置进行蒸馏,使得第二
超分网络模型学习到第一超分网络模型的特征分布,取得接近甚至优于第一超分网络模型
的性能。
[0058] 示例性地,假设第一超分网络模型由12个残差模块组成,第二超分网络模型由6个残差模块组成,那么可以在导师的第4、8、12个残差模块后分别对第二超分网络模型的第2、
4、6个残差模块进行蒸馏,当然,本申请对具体蒸馏形式不作限定,例如可以根据实验结果
而定。
[0059] 在训练第一超分网络模型之前,可以根据第一超分网络模型设计一个复杂度更低,结构相似的第二超分网络模型并对该第二网络模型进行初始化;如果可以利用该第二
超分网络模型的参数对第一超分网络模型的参数进行初始化,则利用该第二超分网络模型
的参数对第一超分网络模型的参数进行初始化;如果无法利用该第二超分网络模型的参数
对第一超分网络模型的参数进行初始化,则对该第二超分网络模型的参数进行随机初始
化。
[0060] 在第一超分网络模型的训练阶段,可以将待处理视频分解为连续的T个训练图像帧,例如,处理为低分辨率(low resolution,LR)的第LRt个到第LRt+T个图像帧;接着,将第
LRt个到第LRt+T个图像帧输入到第一超分网络模型中,然后在该第一超分网络模型的主干
网络位置(即残差模块所在位置)和该第一超分网络模型的输出位置进行互信息损失、第一
时序一致性损失、第二时序一致性损失的监督,使得第二超分网络模型拟合第一超分网络
模型的特征分布,学习第一超分网络模型提取特征的能力,进而提升性能。可选的,还可以
在该第一超分网络模型的输出位置进行重建损失的监督,进一步提升性能。
[0061] 其中,该T个训练图像帧标注有T个标注图像帧,该T个标注图像帧可以为高分辨率(high resolution,HR)图像帧,例如图3所示的第HRt个到第HRt+T个图像帧。可选的,该T个
训练图像帧可以是对T个标注图像帧进行降采样得到的。该第一超分网络模型输出的T个第
一图像帧可以是如图3所示的第TSRt个到第TSRt+T个图像帧;该第二超分网络模型输出的T
个第二图像帧可以是如图3所示的第SSRt个到第SSRt+T个图像帧。基于此,该互信息损失用
于表征该k个第一特征图谱的灰度值和该k个第二特征图谱的灰度值之间的差异,该第一时
序一致性损失用于表征该第SSRt个到第SSRt+T个图像帧和该第HRt个到第HRt+T个图像帧之间
的时序差异,该第二时序一致性损失用于表征该第SSRt个到第SSRt+T个图像帧和该第TSRt个
到第TSRt+T个图像帧之间的时序差异。
[0062] 在训练好该第二超分网络模型后,可以使用该第二超分网络模型进行对视频进行超分,以对该第二超分网络的超分性能进行测试。
[0063] 如图3所示,在训练过程中,该第一超分网络模型中的连接层和该第二超分网络模型中的连接层均可用于将输入的第LRt个到第LRt+T个图像帧进行拼接,该第一超分网络模
型中的特征提取模块和该第二超分网络模型中的特征提取模块均可用于对连接层的输出
进行特征提取,以便后续的残差模块再次进行特征提取。
[0064] 如图3所示,在训练该第一超分网络模型的训练阶段,可以通过第三时序一致性损失的监督,提升该第一超分网络模型的超分性能。在训练好该第一超分网络模型后,可以使
用该第一超分网络模型进行对视频进行超分,以对该第一超分网络的超分性能进行测试。
换言之,可以是先训练好第一超分网络模型,并在训练过程中采用第三时序一致性损失
(Temporal Consistency Loss)与重建损失(Reconstruction Loss)进行优化,并固定第一
超分网络模型。针对固定的第一超分网络模型,可以对其不再进行训练,也可以在训练第二
超分网络模型时将第一超分网络模型与第二超分网络模型联合训练,本申请对此不作具体
限定。
[0065] 需要说明的是,本申请涉及的该T个训练图像帧可以是基于任意格式任意尺寸的待处理视频得到的,例如,可以是基于任意格式任意尺寸的高清视频(mp4,avi等)得到的;
具体地,可以对该待处理视频进行连续图像帧的提取,可提取为多种格式图片;例如,便携
式网络图像格式(portable network graphics,png),位图文件的扩展名(Bitmap,bmp)或
图像压缩格式(Joint Picture Group,jpg)等。再如,该T个训练图像帧可以是同一场景下
的图像帧;具体地,可以对该待处理视频进行场景检测,针对某一特定的场景提取T个连续
的图像帧,训练或测试时则按照提取顺序依次输入提取的图像帧。可选的,该T个训练图像
帧和该T个标注图像帧也可统称为T个训练数据对,本申请对此不作具体限定。
[0066] 此外,本申请中涉及的HR图像帧为提取的高清图像,LR为HR进行下采样s倍的图像帧,可做数据增强,例如增加高斯噪声,进行高斯模糊,增加去压缩噪声等。另外,该知识蒸
馏框架300可适用于x2,x4等偶数倍超分,具体地,可以根据需要调整模块,本申请对此不作
具体限定。示例性的,以x2超分为例,训练数据的批次大小(patch size)可设置为64,96,
128等,即T可设置为64,96,128等。
[0067] 还应理解,图1和图3所示的框架仅为本申请的示例,不应理解为对本申请的限制。例如,在其他可替代实施例中,本申请设计的模块可以根据需要进行其他设计,例如进行扩
充等。
[0068] 在一些实施例中,利用该m个残差模块中的k个残差模块对该第二超分网络模型的n个残差模型中的k个残差块分别进行蒸馏之前,该方法200还可包括:
[0069] 利用特征转换层中的至少一个卷积层和激活函数层,对该m个残差模块中的k个残差模块输出的特征图谱分别进行特征提取,得到k个第三特征图谱;针对该k个第三特征图
谱中的第i个第三特征图谱,若该第i个第三特征图谱的特征分布与该k个第二特征图谱中
的第i个第二特征图谱的特征分布相同,将该第i个第三特征图谱确定为该第i个第一特征
图谱。
[0070] 换言之,若该第一超分网络模型中的第i个残差模块输出的特征图谱的特征分布与该第二超分网络模型中的第i个残差模块输出的特征图谱的特征分布相同,则该第一超
分网络模型中的特征转换层或和/或该第二超分网络模型中的特征转换层均可仅用于将残
差模块输出的特征图谱进行特征提取,即可直接基于第i个蒸馏模块中的两个特征转换层
提取的特征图谱进行特征图谱之间的损失计算。该第一超分网络模型中的第i个残差模块
与该第二超分网络模型中的第i个残差模块之间的特征转换层可统称为第i个蒸馏模块。
[0071] 在一些实施例中,若该第i个第三特征图谱的特征分布与该k个第二特征图谱中的第i个第二特征图谱的特征分布不相同,利用该特征转换层中的池化层,将该第i个第三特
征图谱转换为第四特征图谱,该第四特征图谱的特征分布与该第i个第二特征图谱的特征
分布相同;将该第四特征图谱确定为该第i个第一特征图谱。
[0072] 换言之,若该第一超分网络模型中的第i个残差模块输出的特征图谱的特征分布与该第二超分网络模型中的第i个残差模块输出的特征图谱的特征分布不相同,则该第一
超分网络模型中的特征转换层中的特征转换层不仅用于将残差模块输出的特征图谱进行
特征提取,还用于将提取的特征处理为:与该第二超分网络模型中的第i个残差模块输出的
特征图谱的特征分布相同的特征图谱,即可基于该第一超分网络模型的特征转换层提取并
转换后的特征图谱,和该第二超分网络模型的特征转换层提取的特征图谱进行特征图谱之
间的损失计算。
[0073] 由于第一超分网络模型跟第二超分网络模型之间的特征分布可能存在差异,直接进行互信息损的计算容易引入噪声。本实施例中,通过设计的特征转换层来对第一超分网
络模型和第二超分网络模型的输出的特征图谱进行调整,使得第一超分网络模型和第二超
分网络模型的特征分布在训练中趋于一致,提升了互信息损失的准确度,进而基于互信息
损失对知识蒸馏过程进行监督时,能够提升蒸馏效果。
[0074] 需要说明的是,本申请的特征分别可以指特征图谱的尺寸或维度等参数,但本申请并不限于此。此外,本申请涉及的池化层可以是自适应池化层,即可以将输入的特征图谱
自适应的降采样,以得到和该第二超分网络模型的特征分布相同的特征图谱。
[0075] 在一些实施例中,在S240之前,该方法200还可包括:
[0076] 基于该T个训练图像帧的图像帧类型确定预设数值;利用该k个第一特征图谱与该预设数值相乘后的特征图谱,更新该k个第一特征图谱;以及利用该k个第二特征图谱与该
预设数值相乘后的特征图谱,更新该k个第二特征图谱。可选的,若T个训练图像帧的图像帧
类型为八位图,则确定该预设数值为255。
[0077] 换言之,假设第一超分网络模型在特征转换层的输出特征图谱T,为了方便计算像素值的概率,本申请可以将该第一超分网络模型的特征转换层输出的特征图谱T乘以N,其
结果记为FT;例如对于八位图像,N取255;类似的,第二超分网络模型的输出特征图谱也乘
以N,其结果记为FS,此时可基于FT和FS计算两个特征图谱之间的损失。
[0078] 在一些实施例中,该S240可包括:
[0079] 针对该k个第一特征图谱中的第i个第一特征图谱的N个灰度值,基于该N个灰度值中的每一个灰度值在该第i个第一特征图谱中出现的概率,确定该第i个第一特征图谱的信
息熵,N为正整数;针对该k个第二特征图谱中的第i个第二特征图谱中的M个灰度值,基于该
M个灰度值中的每一个灰度值在该第i个第二特征图谱中出现的概率,确定该第i个第二特
征图谱的信息熵,M为正整数;针对在该第i个第一特征图谱和该第i个第二特征图谱中位于
同一位置的像素点,基于该像素点在该第i个第一特征图谱中的灰度值为第一数值,且该像
素点在该第i个第二特征图谱中的灰度值为第二数值的概率,确定该第i个第一特征图谱和
该第i个第二特征图谱的联合熵;利用该第i个第一特征图谱的信息熵与该第i个第二特征
图谱的信息熵的和,减去该联合熵,得到该第i个第一特征图谱与该第i个第二特征图谱之
间的损失;基于该k个第一特征图谱分别与该k个第二特征图谱之间的损失,确定该互信息
损失。可选的,将该k个第一特征图谱分别与该k个第二特征图谱之间的损失的加权平均值
或平均值,确定为该互信息损失。换言之,当采用了k个蒸馏模块时,分别计算出每个蒸馏模
块的损失,然后求加权平均值或者平均值,记为该互信息损失。
[0080] 换言之,可按照以下公式确定该第i个第一特征图谱与该第i个第二特征图谱之间的损失:
[0081] MI(FT,FS)=H(FT)+H(FS)‑H(FT,FS);
[0082] 其中,FT和FS分别表示该第i个第一特征图谱与该第i个第二特征图谱,MI(FT,FS)表示该第i个第一特征图谱与该第i个第二特征图谱之间的损失,H(FT)和H(FS)分别表示该
第i个第一特征图谱与该第i个第二特征图谱的信息熵,H(FT,FS)表示该第i个第一特征图
谱和该第i个第二特征图谱的联合熵。
[0083] 作为一个示例,可按照以下公式确定H(FT):
[0084] ;
[0085] 其中,N是特征图谱内不同灰度值的数量,对于灰度图像可取255,Pi是灰度值为i的像素点在该图像中出现的概率。
[0086] 作为一个示例,可按照以下公式确定H(FT,FS):
[0087] ;
[0088] 其中,FT和FS分别表示该第i个第一特征图谱与该第i个第二特征图谱,PFT,FS(a,b)是同一位置的像素点在该第i个第一特征图谱中灰度值为a,且在该第i个第二特征图谱中
的灰度值为b时的概率。
[0089] 在一些实施例中,该S240可包括:
[0090] 基于光流估计算法,确定该T个第二图像帧的光流估计、该T个标注图像帧的光流估计以及该T个第一图像帧的光流估计;将该T个第二图像帧的光流估计和该T个标注图像
帧的光流估计之间的差异确定为该第一时序一致性损失,以及将该T个第二图像帧的光流
估计以及该T个第一图像帧的光流估计之间的差异确定为该第二时序一致性损失。可选的,
基于稠密光流的估计算法,确定该T个第二图像帧的光流估计、该T个标注图像帧的光流估
计以及该T个第一图像帧的光流估计。
[0091] 具体而言,基于光流估计算法,确定该T个第二图像帧中每一个第二图像帧的光流估计、该T个标注图像帧中每一个标注图像帧的光流估计以及该T个第一图像帧中每一个第
一图像帧的光流估计;针对该T个第二图像帧,计算每一个第二图像帧的光流估计和对应的
标注图像帧的光流估计的均方根误差的平均值,并将该T个第二图像帧的均方根误差的平
均值确定为该第一时序一致性损失;针对该T个第二图像帧,计算每一个第二图像帧的光流
估计和对应的第一图像帧的光流估计的均方根误差的平均值,并将该T个第二图像帧的均
方根误差的平均值确定为该第二时序一致性损失。
[0092] 换言之,可基于以下公式确定该T个图像帧的时序一致性损失:
[0093] ;
[0094] 其中,tcl表示该T个图像帧的时序一致性损失,mset+1表示第t+1个图像帧的光流估计的损失。需要说明的是,由于第t个到第t+T个图像帧,其包括T个图像帧,即第t个图像
帧的前一帧没有图像帧,所以tcl只需要计算T‑1个图像帧的光流估计的损失的平均值,并
将其作为T个图像帧的时序一致性损失。
[0095] 需要说明的是,上文描述的T个图像帧可以是本申请涉及的T个第二图像帧或T个第一图像帧,换言之,上述公式可用于计算本申请涉及的第一时序一致性损失、第二时序一
致性损失以及第三时序一致性损失,本申请对此不作具体限定。
[0096] 例如,若上述公式涉及的T个图像帧为上文描述的T个第二图像帧,且mset+1表示第t+1个第二图像帧的光流估计相对第t+1个标注图像帧的损失,则tcl表示该第一时序一致
性损失。再如,若上述公式涉及的T个图像帧为上文描述的T个第二图像帧,且mset+1表示第t
+1个第二图像帧的光流估计相对第t+1个第一图像帧的损失,则tcl表示该第二时序一致性
损失。再如,若上述公式涉及的T个图像帧为上文描述的T个第一图像帧,且mset+1表示第t+1
个第一图像帧的光流估计相对第t+1个标注图像帧的损失,则tcl表示该第三时隙一致性损
失。
[0097] 其中,可基于以下公式计算第t+1个图像帧的光流估计的损失:
[0098] ;
[0099] 其中,其中n为第t+1个图像帧的特征图谱的特征总数;x为第t+1个图像帧的特征图谱中的某一个位置。
[0100] 需要说明的是,mset+1可用于表示第t+1个第二图像帧的光流估计相对第t+1个标注图像帧的损失,也可用于表示第t+1个第二图像帧的光流估计相对第t+1个第一图像帧的
损失,还可用于表示第t+1个第一图像帧的光流估计相对第t+1个标注图像帧的损失,本申
请对此不作具体说明。
[0101] 作为一个示例,若第t+1个图像帧的光流估计的损失用于计算的时序一致性损失为本申请的第一时序一致性损失,即mset+1用于表示第t+1个第二图像帧的光流估计相对第
t+1个标注图像帧的损失,则:
[0102] F̂t+1,x表示第t+1个第二图像帧的光流估计;
[0103] Ft+1,x表示第t+1个标注图像帧的光流估计。
[0104] 换言之,该第一时序一致性损失可表示为:
[0105] stu_tcl=TCL(Ft+1(HRt+1,HRt), F̂t+1(SSRt+1,SSRt)) (t=[t,t+T‑1])。
[0106] 作为另一个示例,若第t+1个图像帧的光流估计的损失用于计算的时序一致性损失为本申请的第二时序一致性损失,即mset+1用于表示第t+1个第二图像帧的光流估计相对
第t+1个第一图像帧的损失,则:
[0107] F̂t+1,x表示第t+1个第二图像帧的光流估计;
[0108] Ft+1,x表示第t+1个第一图像帧的光流估计。
[0109] 换言之,该第二时序一致性损失可表示为:
[0110] dist_tcl=TCL(Ft+1(TSRt+1,TSRt), F̂t+1(SSRt+1,SSRt)) (t=[t,t+T‑1])。
[0111] 作为另一个示例,若第t+1个图像帧的光流估计的损失用于计算的时序一致性损失为本申请的第三时序一致性损失,即mset+1表示第t+1个第一图像帧的光流估计相对第t+
1个标注图像帧的损失,则:
[0112] F̂t+1,x表示第t+1个第一图像帧的光流估计;
[0113] Ft+1,x表示第t+1个标注图像帧的光流估计。
[0114] 换言之,该第三时序一致性损失可表示为:
[0115] tea_tcl=TCL(Ft+1(HRt+1,HRt), F̂t+1(TSRt+1,TSRt)) (t=[t,t+T‑1])。
[0116] 需要说明的是,本申请针对图像帧的光流估计用于表征该图像帧的运动方向或移动方向,本申请对其具体计算方式不作限定。例如,可以使用Gunnar Farneback算法计算稠
密光流,也可以采用其他方式进行计算,本申请对此不作具体限定。
[0117] 在一些实施例中,在S240之前,该方法200还可包括:
[0118] 相对该T个标注图像帧,计算该T个第二图像帧的重建损失。
[0119] 基于此,该S240可包括:
[0120] 基于该重建损失、该互信息损失、第一时序一致性损失以及第二时序一致性损失的加权值,对该第二超分网络模型的参数进行调整,得到训练后的该第二超分网络模型。
[0121] 作为一个示例,该重建损失为基于L2损失函数得到的损失值。
[0122] 当然,在其他可替代实施例中,也可基于L1损失函数或其他损失函数获取该重建损失,本申请对此不作具体限定。
[0123] 换言之,可通过以下公式对该第二超分网络模型的参数进行调整:
[0124] loss=α×stu_l2+β×stu_tcl+γ×dist_tcl+δ×dist_mll;
[0125] 其中,loss表示该第二超分网络模型的损失,stu_l2表示重建损失,α为重建损失的权重,stu_tcl表示第一时序一致性损失,β为该第一时序一致性损失的权重,dist_tcl表
示第二时序一致性损失,γ为第二时序一致性损失的权重,dist_mll表示互信息损失,δ为
互信息损失的权重。
[0126] 作为一个示例,该互信息损失的权重为该重建损失的权重、该互信息损失的权重、第一时序一致性损失的权重以及第二时序一致性损失的权重的最大值;和/或,该第二时序
一致性损失的权重为该重建损失的权重、该互信息损失的权重、第一时序一致性损失的权
重以及第二时序一致性损失的权重的最小值。
[0127] 换言之,在α、β、γ以及δ中,δ最大且γ最小。
[0128] 例如,α、β、γ以及δ可以分别为0.5,0.5,0.2,0.8。当然,上述取值仅为本申请的示例,不应理解为对本申请的限定。例如,可基于应用场景或实验结果进行调整。
[0129] 以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简
单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各
个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要
的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方
式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开
的内容。
[0130] 还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例
的实施过程构成任何限定。
[0131] 上文对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的装置进行说明。
[0132] 图4是本申请实施例提供的超分网络模型训练装置400的示意性框图。
[0133] 如图4所示,该超分网络模型训练装置400可包括:
[0134] 获取单元410,用于获取待处理视频的且连续的T个训练图像帧,该T个训练图像帧标注有T个标注图像帧;
[0135] 已训练的第一超分网络模型420,用于对输入的该T个训练图像帧进行特征提取,得到该第一超分网络模型的m个残差模块中的k个残差模块分别输出的k个第一特征图谱和
该第一超分网络模型输出的T个第一图像帧;其中,T和m为正整数;
[0136] 第二超分网络模型430,用于对输入的该T个训练图像帧进行特征提取,并利用该m个残差模块中的k个残差模块对该第二超分网络模型的n个残差模型中的k个残差块分别进
行蒸馏,得到该n个残差模型中的k个残差块分别输出的k个第二特征图谱和该第二超分网
络模型输出的T个第二图像帧;其中,n<m,n为正整数;
[0137] 计算单元440,用于计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项;其中,该互信息损失用于表征该k个第一特征图谱的灰度值和该k个第二
特征图谱的灰度值之间的差异,该第一时序一致性损失用于表征该T个第二图像帧和该T个
标注图像帧之间的时序差异,该第二时序一致性损失用于表征该T个第二图像帧和该T个第
一图像帧之间的时序差异;
[0138] 调整单元450,用于基于该互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项,对该第二超分网络模型的参数进行调整,得到训练后的该第二超分网
络模型。
[0139] 在一些实施例中,该第二超分网络模型430利用该m个残差模块中的k个残差模块对该第二超分网络模型的n个残差模型中的k个残差块分别进行蒸馏之前,还用于:
[0140] 利用特征转换层中的至少一个卷积层和激活函数层,对该m个残差模块中的k个残差模块输出的特征图谱分别进行特征提取,得到k个第三特征图谱;
[0141] 针对该k个第三特征图谱中的第i个第三特征图谱,若该第i个第三特征图谱的特征分布与该k个第二特征图谱中的第i个第二特征图谱的特征分布相同,将该第i个第三特
征图谱确定为该第i个第一特征图谱。
[0142] 在一些实施例中,该第二超分网络模型430还用于:
[0143] 若该第i个第三特征图谱的特征分布与该k个第二特征图谱中的第i个第二特征图谱的特征分布不相同,利用该特征转换层中的池化层,将该第i个第三特征图谱转换为第四
特征图谱,该第四特征图谱的特征分布与该第i个第二特征图谱的特征分布相同;
[0144] 将该第四特征图谱确定为该第i个第一特征图谱。
[0145] 在一些实施例中,该计算单元440计算互信息损失、第一时序一致性损失以及第二时序一致性损失中的至少一项之前,还用于:
[0146] 基于该T个训练图像帧的图像帧类型确定预设数值;
[0147] 利用该k个第一特征图谱与该预设数值相乘后的特征图谱,更新该k个第一特征图谱;以及利用该k个第二特征图谱与该预设数值相乘后的特征图谱,更新该k个第二特征图
谱。
[0148] 在一些实施例中,该计算单元440具体用于:
[0149] 若T个训练图像帧的图像帧类型为八位图,则确定该预设数值为255。
[0150] 在一些实施例中,该计算单元440具体用于:
[0151] 针对该k个第一特征图谱中的第i个第一特征图谱的N个灰度值,基于该N个灰度值中的每一个灰度值在该第i个第一特征图谱中出现的概率,确定该第i个第一特征图谱的信
息熵,N为正整数;
[0152] 针对该k个第二特征图谱中的第i个第二特征图谱中的M个灰度值,基于该M个灰度值中的每一个灰度值在该第i个第二特征图谱中出现的概率,确定该第i个第二特征图谱的
信息熵,M为正整数;
[0153] 针对在该第i个第一特征图谱和该第i个第二特征图谱中位于同一位置的像素点,基于该像素点在该第i个第一特征图谱中的灰度值为第一数值,且该像素点在该第i个第二
特征图谱中的灰度值为第二数值的概率,确定该第i个第一特征图谱和该第i个第二特征图
谱的联合熵;
[0154] 利用该第i个第一特征图谱的信息熵与该第i个第二特征图谱的信息熵的和,减去该联合熵,得到该第i个第一特征图谱与该第i个第二特征图谱之间的损失;
[0155] 基于该k个第一特征图谱分别与该k个第二特征图谱之间的损失,确定该互信息损失。
[0156] 在一些实施例中,该计算单元440具体用于:
[0157] 将该k个第一特征图谱分别与该k个第二特征图谱之间的损失的加权平均值或平均值,确定为该互信息损失。
[0158] 在一些实施例中,该计算单元440具体用于:
[0159] 基于光流估计算法,确定该T个第二图像帧的光流估计、该T个标注图像帧的光流估计以及该T个第一图像帧的光流估计;
[0160] 将该T个第二图像帧的光流估计和该T个标注图像帧的光流估计之间的差异确定为该第一时序一致性损失,以及将该T个第二图像帧的光流估计以及该T个第一图像帧的光
流估计之间的差异确定为该第二时序一致性损失。
[0161] 在一些实施例中,该计算单元440具体用于:
[0162] 基于稠密光流的估计算法,确定该T个第二图像帧的光流估计、该T个标注图像帧的光流估计以及该T个第一图像帧的光流估计。
[0163] 在一些实施例中,该计算单元440具体用于:
[0164] 相对该T个标注图像帧,计算该T个第二图像帧的重建损失;
[0165] 其中,该调整单元450具体用于:
[0166] 基于该重建损失、该互信息损失、第一时序一致性损失以及第二时序一致性损失的加权值,对该第二超分网络模型的参数进行调整,得到训练后的该第二超分网络模型。
[0167] 在一些实施例中,该重建损失为基于L2损失函数得到的损失值。
[0168] 在一些实施例中,该互信息损失的权重为该重建损失的权重、该互信息损失的权重、第一时序一致性损失的权重以及第二时序一致性损失的权重的最大值;和/或,该第二
时序一致性损失的权重为该重建损失的权重、该互信息损失的权重、第一时序一致性损失
的权重以及第二时序一致性损失的权重的最小值。
[0169] 应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,超分网络模型训练装置400可以对应于执行本申请
实施例的方法200中的相应主体,并且超分网络模型训练装置400中的各个单元分别为了实
现方法200中的相应流程,为了简洁,在此不再赘述。
[0170] 还应当理解,本申请实施例涉及的超分网络模型训练装置400中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆
分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的
技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以
由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该超
分网络模型训练装置400也可以包括其它单元,在实际应用中,这些功能也可以由其它单元
协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括例
如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元
件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序
(包括程序代码),来构造本申请实施例涉及的超分网络模型训练装置400,以及来实现本申
请实施例的超分网络模型训练方法。计算机程序可以记载于例如计算机可读存储介质上,
并通过计算机可读存储介质装载于电子设备中,并在其中运行,来实现本申请实施例的相
应方法。
[0171] 换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可
以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公
开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及
软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储
器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储
器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
[0172] 图5是本申请实施例提供的电子设备500的示意结构图。
[0173] 如图5所示,该电子设备500至少包括处理器510以及计算机可读存储介质520。其中,处理器510以及计算机可读存储介质520可通过总线或者其它方式连接。计算机可读存
储介质520用于存储计算机程序521,计算机程序521包括计算机指令,处理器510用于执行
计算机可读存储介质520存储的计算机指令。处理器510是电子设备500的计算核心以及控
制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令
从而实现相应方法流程或相应功能。
[0174] 作为示例,处理器510也可称为中央处理器(Central Processing Unit,CPU)。处理器510可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,
DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门
阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体
管逻辑器件、分立硬件组件等等。
[0175] 作为示例,计算机可读存储介质520可以是高速RAM存储器,也可以是非不稳定的存储器(Non‑VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于
远离前述处理器510的计算机可读存储介质。具体而言,计算机可读存储介质520包括但不
限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器
(Read‑Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只
读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,
EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用
作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取
存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取
存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data 
Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同
步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器
(Direct Rambus RAM,DR RAM)。
[0176] 如图5所示,该电子设备500还可以包括收发器530。
[0177] 其中,处理器510可以控制该收发器530与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器530可以包括发射机和接
收机。收发器530还可以进一步包括天线,天线的数量可以为一个或多个。
[0178] 应当理解,该通信设备500中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
[0179] 在一种实现方式中,该电子设备500可以是任一具有数据处理能力的电子设备;该计算机可读存储介质520中存储有第一计算机指令;由处理器510加载并执行计算机可读存
储介质520中存放的第一计算机指令,以实现图1所示方法实施例中的相应步骤;具体实现
中,计算机可读存储介质520中的第一计算机指令由处理器510加载并执行相应步骤,为避
免重复,此处不再赘述。
[0180] 根据本申请的另一方面,本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备500中的记忆设备,用于存放程序和数据。例如,
计算机可读存储介质520。可以理解的是,此处的计算机可读存储介质520既可以包括电子
设备500中的内置存储介质,当然也可以包括电子设备500所支持的扩展存储介质。计算机
可读存储介质提供存储空间,该存储空间存储了电子设备500的操作系统。并且,在该存储
空间中还存放了适于被处理器510加载并执行的一条或多条的计算机指令,这些计算机指
令可以是一个或多个的计算机程序521(包括程序代码)。
[0181] 根据本申请的另一方面,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存
储介质中。例如,计算机程序521。此时,数据处理设备500可以是计算机,处理器510从计算
机可读存储介质520读取该计算机指令,处理器510执行该计算机指令,使得该计算机执行
上述各种可选方式中提供的超分网络模型训练方法。
[0182] 换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令
时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是
通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计
算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行
传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如
同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微
波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
[0183] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究
竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人
员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超
出本申请的范围。
[0184] 最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到
变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的
保护范围为准。