发明内容
基于此,有必要针对上述技术问题,提供一种视频超分模型构建处理方法、装置、计算机设备和存储介质。
一种视频超分模型构建处理方法,所述方法包括:
确定学生模型的推理结构;
利用结构重参数化技术,将所述学生模型的推理结构转换为学生模型的训练结构;
获取包含多个不同分辨率的视频帧作为训练样本,将所述训练样本输入教师模型,得到第一输出结果;以及,将所述训练样本输入所述学生模型的训练结构;
利用知识蒸馏的方法,将所述第一输出结果作为所述学生模型的训练结构的唯一监督信号,对所述学生模型的训练结构进行训练,得到第二输出结果;
若所述第一输出结果与所述第二输出结果满足预设条件,则输出所述第二输出结果对应的所述学生模型的训练结构的第二模型权重;
基于所述学生模型的训练结构与所述学生模型的推理结构的参数对应关系,将所述学生模型的训练结构的第二模型权重转换为所述学生模型的推理结构的第一模型权重;
基于所述第一模型权重和所述学生模型的推理结构,构建视频超分模型。
在其中一个实施例中,所述方法还包括:
若所述第一输出结果与所述第二输出结果未满足所述预设条件,则返回所述确定学生模型的推理结构的步骤。
在其中一个实施例中,所述预设条件包括:所述第一输出结果与所述第二输出结果的峰值信噪比均大于预设的信噪比阈值,且所述第一输出结果与所述第二输出结果之间的结构相似性大于预设的相似性阈值。
在其中一个实施例中,所述利用结构重参数化技术,将所述学生模型的推理结构转换为学生模型的训练结构,包括:
利用预设的转换函数将所述学生模型的推理结构中的预设大小的卷积核转换为不同大小的多个卷积核,得到所述学生模型的训练结构。
在其中一个实施例中,
所述基于所述第一模型权重和所述学生模型的推理结构,构建视频超分模型,包括:
基于预设的卷积算子和/或激活层算子,使用所述第一模型权重和所述学生模型的推理结构构建所述视频超分模型;
或者,
基于预设的软件开发框架,使用所述第一模型权重和所述学生模型的推理结构构建所述视频超分模型。
一种视频超分处理方法,应用于移动终端,所述方法包括:
获取根据权利要求1至5任一项所述的方法构建的学生模型的推理结构;
获取待处理视频帧,并将所述待处理视频帧输入所述学生模型的推理结构;
获取所述学生模型的推理结构输出的各增强图片,并将所述各增强图片输入视频编码器得到增强视频。
一种视频超分模型构建处理装置,所述装置包括:
推理结构确定模块,用于确定学生模型的推理结构;
训练结构转换模块,用于利用结构重参数化技术,将所述学生模型的推理结构转换为学生模型的训练结构;
训练样本获取模块,用于获取包含多个不同分辨率的视频帧作为训练样本,将所述训练样本输入教师模型,得到第一输出结果;以及,将所述训练样本输入所述学生模型的训练结构;
第二输出结果确定模块,用于利用知识蒸馏的方法,将所述第一输出结果作为所述学生模型的训练结构的唯一监督信号,对所述学生模型的训练结构进行训练,得到第二输出结果;
第二模型权重确定模块,用于若所述第一输出结果与所述第二输出结果满足预设条件,则输出所述第二输出结果对应的所述学生模型的训练结构的第二模型权重;
第一模型权重转换模块,用于基于所述学生模型的训练结构与所述学生模型的推理结构的参数对应关系,将所述学生模型的训练结构的第二模型权重转换为所述学生模型的推理结构的第一模型权重;
视频超分模型构建模块,用于基于所述第一模型权重和所述学生模型的推理结构,构建视频超分模型。
一种视频超分处理装置,应用于移动终端,所述装置包括:
推理结构获取模块,用于获取根据权利要求1至5任一项所述的方法构建的学生模型的推理结构;
待处理视频帧获取模块,用于获取待处理视频帧,并将所述待处理视频帧输入所述学生模型的推理结构;
增强图片输出模块,用于获取所述学生模型的推理结构输出的各增强图片,并将所述各增强图片输入视频编码器得到增强视频。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述视频超分模型构建处理方法实施例以及视频超分处理方法实施例中的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述视频超分模型构建处理方法实施例以及视频超分处理方法实施例中的步骤。
上述视频超分模型构建处理方法、装置、计算机设备和存储介质,通过确定学生模型的推理结构,利用结构重参数化技术,将推理结构转换为训练结构,获取包含多个不同分辨率的视频帧作为训练样本,将该训练样本输入教师模型,得到第一输出结果;以及,将上述训练样本输入上述训练结构;利用知识蒸馏的方法,将上述第一输出结果作为训练结构的唯一监督信号,对上述训练结构进行训练,得到第二输出结果;若第一输出结果与第二输出结果满足预设条件,则输出第二输出结果对应的训练结构的第二模型权重;基于训练结构和推理结构的参数对应关系,将第二模型权重转换为推理结构的第一模型权重;基于第一模型权重和上述推理结构,构建视频超分模型。本申请能够通过知识蒸馏方法快速训练得到视频超分模型,使得该视频超分模型能够运行于低性能手机上,实现对视频的实时超分处理的功能。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的视频超分模型构建处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器101进行通信。其中,终端102可以但不限于是各种低性能移动终端,例如高通865,华为990等,这些移动终端可以实时处理目标分辨率为360P,720P等的视频,服务器101可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种视频超分模型构建处理方法,以该方法应用于图1中的服务器101为例进行说明,包括以下步骤:
步骤S201,确定学生模型的推理结构。
其中,推理结构是相对于训练结构而言的,为了保证知识蒸馏过程中网络更容易部署,或者更容易、更快速地学习知识,将训练结构中的3*3卷积、1*1卷积和卷积输入相加的结构简化为3*3卷积,而成为推理结构。
具体地,设计学生模型的训练结构时,需要先设计好与训练结构对应的推理结构,推理结构就是通过卷积转换的方式,把训练结构中的3*3卷积、1*1卷积和卷积输入相加的结构简化为3*3卷积,便于训练时的网络部署和加速。
步骤S202,利用结构重参数化技术,将所述学生模型的推理结构转换为学生模型的训练结构;
具体地,训练结构与推理结构一般是解耦的,需要通过一条链路将二者进行转换,结构重参数化技术就是通过该链路将推理结构中每个单纯3*3卷积结构用3*3卷积、1*1卷积和卷积输入三者相加的结构进行替换,这就成为了训练结构,训练结构能够更快速、充分地学习教师网络传授的知识。
步骤S203,获取包含多个不同分辨率的视频帧作为训练样本,将所述训练样本输入教师模型,得到第一输出结果;以及,将所述训练样本输入所述学生模型的训练结构。
其中,教师模型是指具有明显细节增强的,并且可以在NVIDIA2080TI上实时超分处理2k分辨率视频的大模型,该模型用于将知识传递给学生模型。
具体地,将训练样本输入训练好的教师模型,得到第一输出结果;上述训练样本中包含多个不同分分辨率的视频帧;将该训练样本输入上述学生模型的训练结构中。
步骤S204,利用知识蒸馏的方法,将第一输出结果作为学生模型的训练结构的唯一监督信号,对学生模型的训练结构进行训练,得到第二输出结果。
具体地,使用教师模型的输出,即第一输出结果,作为学生模型的唯一监督信号,对学生模型进行训练,调整学生模型中的网络参数,得到第二输出结果。
步骤S205,若第一输出结果与第二输出结果满足预设条件,则输出第二输出结果对应的学生模型的训练结构的第二模型权重;
具体地,评估训练结构的视频超分效果,判断是否符合预设条件,该预设条件例如可以是第一输出结果和第二输出结果中的PSNR(Peak Signal to Noise Ratio,峰值信噪比)和SSIM(Structural Similarity,结构相似性)均满足预设阈值,例如PSNR>35,SSIM>90。若满足预设条件,则输出与上述第二输出结果对应的训练结构的网络参数,即第二模型权重。
步骤S206,基于学生模型的训练结构与学生模型的推理结构的参数对应关系,将学生模型的训练结构的第二模型权重转换为学生模型的推理结构的第一模型权重;
具体地,基于上述训练结构与推理结构的参数对应关系,将第二模型权重转换为相应的推理模型的第一模型权重。
步骤S207,基于第一模型权重和学生模型的推理结构,构建视频超分模型;
具体地,由上述第一模型权重和已经设计好的推理结构,构建视频超分模型。
上述实施例,通过确定学生模型的推理结构,利用结构重参数化技术,将推理结构转换为训练结构,获取包含多个不同分辨率的视频帧作为训练样本,将该训练样本输入教师模型,得到第一输出结果;以及,将上述训练样本输入上述训练结构;利用知识蒸馏的方法,将上述第一输出结果作为训练结构的唯一监督信号,上述训练结构进行训练,得到第二输出结果;若第一输出结果与第二输出结果满足预设条件,则输出第二输出结果对应的训练结构的第二模型权重;基于训练结构和推理结构的参数对应关系,将第二模型权重转换为推理结构的第一模型权重;基于第一模型权重和上述推理结构,构建视频超分模型。本申请能够通过知识蒸馏方法快速训练得到视频超分模型,使得该视频超分模型能够运行于地性能手机上,实现对视频的实时超分处理的功能。
在一实施例中,上述方法还包括:若第一输出结果与第二输出结果未满足预设条件,则返回所述确定学生模型的推理结构的步骤。
具体地,若上述第一输出结果与上述第二输出结果未满足上述预设条件,则返回步骤S201,即根据需要处理的视频的分辨率、低性能手机的算力评估和和实际部署测试,重新设计合适的模型结构作为学生模型的推理结构,以满足视频超分的实时性和低功耗。
上述实施例,在第一输出结果与第二输出结果不满足预设条件时,重新设计模型,有利于在后续过程中得到更准确的训练结果。
在一实施例中,上述预设条件包括:第一输出结果与第二输出结果的峰值信噪比均大于预设的信噪比阈值,且第一输出结果与第二输出结果之间的结构相似性大于预设的相似性阈值。
具体地,该预设条件例如可以是第一输出结果和第二输出结果中的PSNR(PeakSignal to Noise Ratio,峰值信噪比)和SSIM(Structural Similarity,结构相似性)均满足预设阈值,例如PSNR>35,SSIM>90。
上述实施例,通过设置合适的预设条件,便于评估第一输出结果与第二输出结果能够满足实际需求。
在一实施例中,上述步骤S202包括:利用预设的转换函数将学生模型的推理结构中的预设大小的卷积核转换为不同大小的多个卷积核,得到学生模型的训练结构。
具体地,预设的转换函数将推理结构中每个单纯3*3卷积核转换为3*3卷积、1*1卷积和卷积输入三者相加的结构,进而得到训练结构。
上述实施例,通过预设的转换函数将推理结构转换为训练结构,使得训练时能够更快速、充分地学习教师网络传授的知识。
在一实施例中,上述步骤S206,包括:基于预设的卷积算子和/或激活层算子,使用第一模型权重和学生模型的推理结构构建视频超分模型;或者,基于预设的软件开发框架,使用第一模型权重和学生模型的推理结构构建视频超分模型。
具体地,构建方式可根据不同低性能手机的硬件情况而定,比如,低性能手机可能具有较低端的NPU芯片,也可能没有。对于有NPU芯片的,可以依据基于预设的软件开发框架,如芯片制造商提供的SDK(如:SNPE,HIAI)进行部署以调动NPU芯片计算。而对于没有NPU芯片的,可以使用通用的移动端框架(如:MNN,NCNN);或者需要根据推理模型的结构,自己在DSP、GPU、CPU上实现对应的卷积算子,激活层算子等。
可选地,还可针对上述推理结构做进一步地格式转换,格式转换也是针对是否用框架部署而言,如果需要用到框架部署,则按照框架提供者提供的调用说明进行模型的格式转换,以得到可用于移动端运行的模型文件。而如果不需要用框架部署,则需要根据工程师实现的算子组成,生成所需的对应算子的权重文件,以在模型运行时读取。
上述实施例,通过预设的卷积算子或激活层算子,或者使用预设的软件开发框架,结合上述第一模型权重和推理结构构件视频超分模型,有利于后续对低性能手机进行视频超分处理。
在一实施例中,如图3所示,还提供了一种视频超分处理方法,应用于移动终端,该方法包括:
步骤S301,获取根据上述任一项视频超分模型构建处理方法实施例所构建的学生模型的推理结构;
具体地,根据上述任意视频超分模型构建处理方法实施例中的步骤得到已经训练好的推理结构;该推理结构运行于移动终端,其中,移动终端为低性能手机,例如可以是高通865,华为990等,可以实时处理目标分辨率(比如:360P,720P等)视频。
步骤S302,获取待处理视频帧,并将待处理视频帧输入学生模型的推理结构;
具体地,获取待处理视频帧,将该待处理视频帧输入上述推理结构。
步骤S303,获取学生模型的推理结构输出的各增强图片,并将各增强图片输入视频编码器得到增强视频。
具体地,通过上述推理结构针对上述待处理视频帧进行超分处理,得到细节增强后的各增强图片,将这些增强图片输入视频编码器编码得到处理后的增强视频。
上述实施例,通过使用训练好的推理结构对待处理视频进行增强处理,得到细节增强后的增强视频,解决了低性能手机具有的低算力、低电量和教师模型要求的高算力、高功耗之间存在的矛盾点,在低性能手机上实现了视频超分的实时性、低功耗和良好的超分效果。
应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种视频超分模型构建处理装置400,包括:推理结构确定模块401、训练结构转换模块402、训练样本获取模块403、第二输出结果确定模块404、第二模型权重确定模块405、第一模型权重转换模块406和视频超分模型构建模块407,其中:
推理结构确定模块401,用于确定学生模型的推理结构;
训练结构转换模块402,用于利用结构重参数化技术,将所述学生模型的推理结构转换为学生模型的训练结构;
训练样本获取模块403,用于获取包含多个不同分辨率的视频帧作为训练样本,将所述训练样本输入教师模型,得到第一输出结果;以及,将所述训练样本输入所述学生模型的训练结构;
第二输出结果确定模块404,用于利用知识蒸馏的方法,将所述第一输出结果作为所述学生模型的训练结构的唯一监督信号,对所述学生模型的训练结构进行训练,得到第二输出结果;
第二模型权重确定模块405,用于若所述第一输出结果与所述第二输出结果满足预设条件,则输出所述第二输出结果对应的所述学生模型的训练结构的第二模型权重;
第一模型权重转换模块406,用于基于所述学生模型的训练结构与所述学生模型的推理结构的参数对应关系,将所述学生模型的训练结构的第二模型权重转换为所述学生模型的推理结构的第一模型权重;
视频超分模型构建模块407,用于基于所述第一模型权重和所述学生模型的推理结构,构建视频超分模型。
在一实施例中,第二模型权重确定模块405,还用于若所述第一输出结果与所述第二输出结果未满足所述预设条件,则返回所述确定学生模型的推理结构的步骤。
在一实施例中,所述预设条件包括:所述第一输出结果与所述第二输出结果的峰值信噪比均大于预设的信噪比阈值,且所述第一输出结果与所述第二输出结果之间的结构相似性大于预设的相似性阈值。
在一实施例中,训练结构转换模块402,还用于:利用预设的转换函数将所述学生模型的推理结构中的预设大小的卷积核转换为不同大小的多个卷积核,得到所述学生模型的训练结构。
在一实施例中,视频超分模型构建模块407进一步用于,基于预设的卷积算子和/或激活层算子,使用所述第一模型权重和所述学生模型的推理结构构建所述视频超分模型;或者,基于预设的软件开发框架,使用所述第一模型权重和所述学生模型的推理结构构建所述视频超分模型。
在一个实施例中,如图5所示,提供了一种视频超分处理装置500,包括:推理结构获取模块501,待处理视频帧获取模块502,和增强图片输出模块503,其中:
推理结构获取模块501,用于获取根据权利要求1至5任一项所述的方法构建的学生模型的推理结构;
待处理视频帧获取模块502,用于获取待处理视频帧,并将所述待处理视频帧输入所述学生模型的推理结构;
增强图片输出模块503,用于获取所述学生模型的推理结构输出的各增强图片,并将所述各增强图片输入视频编码器得到增强视频。
关于视频超分模型构建处理装置和视频超分处理装置的具体限定可以参见上文中对于视频超分模型构建处理方法和视频超分处理方法的限定,在此不再赘述。上述视频超分模型构建处理装置和视频超分处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练样本数据以及各模型中的权重参数。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种视频超分模型构建处理方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种视频超分处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6-7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上述的视频超分模型构建处理方法实施例或者视频超分处理方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述的视频超分模型构建处理方法实施例或者视频超分处理方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。