一种基于神经网络的轻量级视频超分辨率重建系统和方法

文档序号:29631607发布日期:2022-04-13 16:05阅读:227来源:国知局
一种基于神经网络的轻量级视频超分辨率重建系统和方法

1.本发明涉及数字图像处理技术领域,特别涉及一种基于知识蒸馏以及剪枝的神经网络训练视频超分辨率重建系统和方法。


背景技术:

2.随着科学信息技术的高速发展,图像和视频的应用遍布人类社会的各个领域,人们对图像的清晰度和质量的要求也越来越高,从720p分辨率(720x480)到1080p高清分辨率(1920x1080),再到4k分辨率(3840x2160)甚至是8k(7680x4320)超高清分辨率,人们对于高分辨率图片及视频的需求正在逐渐增加。视频超分辨率因此具有重要用途。视频超分辨率源于图像超分辨率,它的目的是从一个或多个低分辨率图像中恢复高分辨率图像。
3.传统的视频超分辨率有基于插值的算法,如双线性插值法、双三次插值法等,但是这种方法过渡平滑图像,失去部分细节,导致最后视频性能下降。
4.与本发明相关的现有技术一
5.目前,大多数视频超分辨率算法以图像超分辨率算法为基础,增加模块探索帧与帧之间的特征,从而提高视频超分辨率算法的性能。很多算法基于运动估计和补偿的思想,大部分方法将光流法应用于运动估计之中,通过计算帧与帧之间的时域相关性和变化,得到帧间的信息。通常的方法是将输入的图像由一个单独图像变成多个相关图像,通过光流模块来提取帧间的运动信息,进行运动补偿。最后再将其输入超分辨率模型进行超分辨率得到高分辨率的帧。
6.现有技术一的缺陷
7.1.虽然这种方法使视频超分辨率的性能显著提升,但是训练的和预测的计算复杂度、存储开销、时间耗费都非常地高。
8.2、引入神经网络之后,模型变得十分庞大,不适合轻量级设备。
9.3、现实情况下较大距离的运动普遍存在,而光流法对较小的运动比较敏感,当运动速度过快时,传统的光流放法适用性降低。
10.与本发明相关的现有技术二
11.还有一部分视频超分辨率算法采用transformer模型,增大模型的特征感受野,同时缩小模型的大小,并提高模型的性能。transformer作为近些年在自然语言处理领域大放异彩的技术,目前也开始逐步被应用到计算机视觉领域,取得了很好的效果。其核心就是采用qkv机制,增强模型的特征提取能力,从而生成更加清晰的高分辨率帧。
12.现有技术二的缺陷
13.1.虽然这种方法模型大小较小,但是模型运行时间较长,运行过程中耗费的空间较大,对模型落地带来很大的困难。
14.2.这种方法没有充分考虑视频信息间的时序关系,造成一定的信息的浪费。
15.缩略语和关键术语定义
16.1.卷积神经网络(convolutional neural networks,cnn)是一类包含卷积计算且
具有深度结构的前馈神经网络(feedforward neural networks),是深度学习(deep learning)的代表算法之一。
17.在二十一世纪后,随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到了快速发展,并被应用于计算机视觉、自然语言处理等领域。
18.2.训练模型:是指基于特定机器学习框架(如tensorflow)通过特定算法训练生成的模型。
19.3.光流方法:光流法(optical flow or optic flow)是关于视域中的物体运动检测中的概念。用来描述相对于观察者的运动所造成的观测目标、表面或边缘的运动。光流法在样型识别、计算机视觉以及其他影像处理领域中非常有用,可用于运动检测、物件切割、碰撞时间与物体膨胀的计算、运动补偿编码,或者通过物体表面与边缘进行立体的测量等等。
20.4.知识蒸馏:是指在教师-学生框架中,将复杂、学习能力强的网络学到的特征表示“知识”蒸馏出来,传递给参数量小、学习能力弱的网络的用于模型压缩的方法。
21.5.剪枝:是指通过评估神经网络中参数的重要性,去除神经网络中不重要的参数,从而实现在不影响评价参数的情况下大幅缩减神经网络模型大小的方法。


技术实现要素:

22.本发明针对现有技术的缺陷,提供了一种基于神经网络的轻量级视频超分辨率重建系统和方法。使用了基于知识蒸馏以及剪枝的神经网络训练方法,训练出的模型较小,在保证视频质量的情况下,重建效率高。
23.为了实现以上发明目的,本发明采取的技术方案如下:
24.一种基于神经网络的轻量级视频超分辨率重建系统,包括:云端服务器、视频图像转换模块和超分辨率模块;
25.所述云端服务器用于发送视频至频图像转换模块;
26.所述视频图像转换模块部署在本地个人电脑或便携式设备上的服务程序,
27.视频图像转换模块功能是:a.接收来自服务器端的低分辨率视频b.将低分辨率视频按照视频所提供的帧率信息转换为多张图片c.接收超分辨率模块所提供的超分辨率结果并将其在显示设备上输出。
28.超分辨率模块部署在本地个人电脑或者便携式设备上的服务程序,
29.当视频图像转换模块接收到来自服务器的视频并将其转换为数个图片帧之后,超分辨率模块负责在保持视觉效果及相关指标仍处于较高水平的情况下快速准确实时地提升图片帧的分辨率,并将分辨率得到提升之后的视频帧发送至视频图像转换模块以供显示输出。
30.本发明还公开了一种基于神经网络的轻量级视频超分辨率重建方法,包括以下步骤:
31.s1:视频图像转换模块从云端服务器接收低分辨率视频,并将低分辨率视频转换为数个图片帧之后,将图片帧输入超分辨率模块,每次输入两帧。
32.s2:超分辨率模块先对图片进行预处理,预处理包含如下内容:a.计算机所读取的内容为图片在每个像素位置不同的像素值,预处理将每个像素点上的像素值都提取出来,
并转换为程序可以直接处理的矩阵形式。b.神经网络所处理的数据区间位于[0,1]之间,而图片的原有表示区间位于[0,255]之间,预处理进行了数据的转换。
[0033]
s3:在完成图片帧的预处理之后,利用事先训练并加载好的神经网络模型,将低分帧通过神经网络模型,获得经超分辨率处理之后的高分辨率矩阵信息;
[0034]
s4:超分辨率模块将高分辨率矩阵信息进行图片后处理,包括:神经网络所得到的输出信息位于[0,1]之间,将输出信息转换至图片输出所在的[0,255]区间;神经网络的输出与图片信息的排列方式不同,故需要将神经网络的输出转换为图片对应的形式以便输出,转换时将每一个处于[0,255]区间内的数值除以255即转换完成。
[0035]
s5:在超分辨率模块完成对于图片的后处理之后,超分辨率模块将高分辨率图片帧输出给视频图像转换模块,视频图像转换模块在显示设备上完成对图片的输出。
[0036]
进一步地,s3中的神经网络模型训练流程为:
[0037]
s31:收集不同的高分辨率图片数据,并将其经过降采样方法获得对应的低分辨率图片。
[0038]
s32:利用编写好的神经网络模型,不断优化神经网络模型的参数直至参数收敛,即可获得训练好的神经网络模型。
[0039]
与现有技术相比,本发明的优点在于:
[0040]
1.考虑了视频帧与视频帧之间的相关性。传统插值算法在每次超分辨率的过程之中仅接收当前待插值帧作为输入,但本方法每次除了接收当前待超分帧之外,还接收视频序列之中的当前帧的前一帧作为输入,辅助补全超分辨率相关细节信息。
[0041]
2.利用神经网络方法分层次的提取视频帧提供的特征信息,在显示效果上以及相关指标上都大幅度领先于传统插值算法。测试基于vid4数据集,测试指标为峰值信噪比(psnr)和结构相似度(ssim),两项指标均为数值越大表现越好,传统插值算法的峰值信噪比为23.82,结构相似度为0.6548;我们的方法的峰值信噪比为27.39,结构相似度为0.84.
[0042]
3.训练得出的模型大小较小,剪枝及知识蒸馏方法的应用使得神经网络模型可以准确识别关键信息并将其保留。本模型经剪枝与知识蒸馏方法之后,模型大小仅为100kb,现有的其与神经网络模型大小均在数mb以上。
[0043]
4.运行的时间较快,在1920x1080分辨率的情况下可以实现每秒30帧的输出速率,保证了本方法可以实时输出相关超分辨率处理之后的视频。现有其余模型在1920x1080分辨率上仅能做到每秒10帧左右的输出速率。
[0044]
5.在运行时所用内存空间较小,对个人电脑的配置要求较低,也保证了在便携式移动设备上也可以应用本方法。由于剪枝和知识蒸馏降低了网络的大小,进而降低了网络的参数数量,所以网络在推理过程之中所用的内存空间较小,这允许了网络在低配置的个人电脑及移动端上运行。
附图说明
[0045]
图1是本发明实施例视频超分辨率重建系统结构示意图;
[0046]
图2是本发明实施例视频超分辨率重建方法流程图;
[0047]
图3是基于本发明方法所实现的视频超分辨率重建效果图;
[0048]
图4是基于传统插值算法实现的视频超分辨率重建效果图。
具体实施方式
[0049]
为使本发明的目的、技术方案及优点更加清楚明白,以下根据附图并列举实施例,对本发明做进一步详细说明。
[0050]
如图1所示,一种基于神经网络的轻量级视频超分辨率重建系统,包括:云端服务器、视频图像转换模块和超分辨率模块;
[0051]
所述云端服务器用于发送视频至频图像转换模块;
[0052]
所述视频图像转换模块部署在本地个人电脑或便携式设备上的服务程序,
[0053]
视频图像转换模块功能是:a.接收来自服务器端的低分辨率视频b.将低分辨率视频按照视频所提供的帧率信息转换为多张图片c.接收超分辨率模块所提供的超分辨率结果并将其在显示设备上输出。
[0054]
超分辨率模块部署在本地个人电脑或者便携式设备上的服务程序,
[0055]
当视频图像转换模块接收到来自服务器的视频并将其转换为数个图片帧之后,超分辨率模块负责在保持视觉效果及相关指标仍处于较高水平的情况下快速准确实时地提升图片帧的分辨率,并将分辨率得到提升之后的视频帧发送至视频图像转换模块以供显示输出。
[0056]
如图2所示,一种基于神经网络的轻量级视频超分辨率重建方法,包括以下步骤:
[0057]
s1:视频图像转换模块从云端服务器接收低分辨率视频,并将低分辨率视频转换为数个图片帧之后,由于视频本身就是多个图片帧的组合,将低分辨率视频帧转换为图片帧的过程即将视频按照传输过程之中的帧率参数分解的过程,完成该过程之后,将图片帧输入超分辨率模块,每次输入两帧。
[0058]
s2:超分辨率模块先对图片进行预处理,预处理部分包含如下内容:1.计算机所读取的内容为图片在每个像素位置不同的像素值,预处理将每个像素点上的像素值都提取出来,并转换为程序可以直接处理的矩阵形式。2.神经网络所处理的数据区间位于[0,1]之间,而图片的原有表示区间位于[0,255]之间,预处理进行了数据的转换。
[0059]
s3:在完成图片帧的预处理之后,利用事先训练并加载好的神经网络模型,神经网络模型的训练流程包含:1.高分辨率-低分辨率数据对的收集:收集不同的高分辨率图片数据,并将其经过降采样方法获得对应的低分辨率图片。2.利用编写好的神经网络模型,不断优化神经网络模型的参数直至参数收敛,即可获得训练好的神经网络模型,将低分帧通过训练好的神经网络模型,获得经超分辨率处理之后的高分辨率矩阵信息。优化神经网络模型是现有成熟技术,主要原理基于梯度下降法,常用的方法有基于动量的方法(adam),随机梯度下降(sgd)等。
[0060]
s4:超分辨率模块将高分辨率矩阵信息进行图片后处理,包含将高分辨率矩阵信息逆映射到图片信息所在区间以及将神经网络所输出的矩阵信息转换为图片信息等步骤。该部分主要包含以下内容:1.神经网络所得到的输出信息位于[0,1]之间,将其转换至图片输出所在的[0,255]区间2.神经网络的输出与图片信息的排列方式不同,故需要将神经网络的输出转换为图片对应的形式以便输出。,由于图片由rgb三通道构成,每一通道上的颜色数值由8位0或1的数值组成,故每一像素点的信息由3个处于[0,255]区间内的数值组成,转换时将每一个处于[0,255]区间内的数值除以255即转换完成。
[0061]
s5:在超分辨率模块完成对于图片的后处理之后,超分辨率模块将高分辨率图片
帧输出给视频图像转换模块,视频图像转换模块在显示设备上完成对图片的输出。
[0062]
如图3和4所示,可以看出利用本发明方法重建得到的视频具有更好的清晰度。
[0063]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1