1.本发明属于图像处理技术领域,更具体地,涉及一种基于历史特征融合的实时超分辨率重建方法及系统。
背景技术:
2.超分辨率技术是将低分辨率画面变换为高分辨率画面的一种技术手段,目前逐渐应用在视频、游戏等场景。传统的超分辨率技术包括双线性、双三次插值法等,这些以插值法为代表的超分辨率方法虽然对算力的要求不高,但是其本质还是对局部进行色彩填充,效果不太理想。
3.自从srcnn网络提出开始,神经网络被引入解决超分辨率问题。接着,针对图像的超分辨率神经网络以及针对视频的超分辨率神经网络被不断提出,并在某些指标上不断刷新记录,提高了超分辨率技术的成熟度和可用性。但目前要求实时的超分辨率网络还没有被深入发掘,存在的一些应用对电视画质进行增强,或者对游戏场景进行超分辨率获得性能提升,但这些应用或者是针对图像的超分辨率网络,在视频流场景下仅能进行逐帧超分辨率,容易带来画面细节的时序断裂、伪色等问题;或者是采用了大量的gpu渲染时的运动矢量作为输入,和gpu的耦合性强,并非传统意义上基于帧的超分辨率应用,其结构复杂且集成度、专用性高。
技术实现要素:
4.针对现有技术的以上缺陷或改进需求,本发明提供了一种基于历史特征融合的实时超分辨率重建方法及系统,以当前帧特征为基础、精确结合历史帧运动情况进行特征补偿,解决了当前超分辨率技术存在的实时性差、细节时序断裂、伪色、通用性差等一系列问题,兼顾实时性和画质。
5.为实现上述目的,按照本发明的一个方面,提供了一种超分辨率重建方法,包括构建网络模型;构建网络模型包括:对当前帧进行线性特征提取,获得当前帧的线性特征图;对当前帧和历史帧进行非线性特征提取和特征融合,获得特征融合后的非线性特征图;其中,历史帧为当前帧的前n帧,n为自然数;对历史帧的非线性特征提取是基于对历史帧进行运动补偿之后的图像进行的;基于特征融合后的非线性特征图和当前帧的线性特征图,得到当前帧的超分辨率重构图像。
6.在一些实施方式中,对历史帧进行非线性特征提取包括:对历史帧中的每一帧,与当前帧进行拼接后,使用无激活函数的卷积核进行偏移场补偿,得到历史帧的帧运动补偿矩阵,再将历史帧的帧运动补偿矩阵与历史帧叠加,得到运动补偿之后的历史帧;对运动补偿之后的历史帧进行非线性特征提取,得到历史帧的运动补偿之后的n幅非线性特征图。
7.在一些实施方式中,特征融合包括:将历史帧的运动补偿之后的n幅非线性特征图和当前帧的非线性特征图拼接后,进行非线性特征提取,得到特征融合后的非线性特征图。
8.在一些实施方式中,基于特征融合后的非线性特征图和当前帧的线性特征图,得
到当前帧的超分辨率重构图像包括:将特征融合后的非线性特征图和当前帧的线性特征图叠加并进行像素重排,再使用无激活函数的卷积核对像素重排后的图像进行像素修正,得到当前帧的超分辨率重构图像。
9.在一些实施方式中,该方法还包括构建数据集;构建数据集包括:根据实时的运动数据,渲染在初始分辨率和目标分辨率下的输出录像,构建初始分辨率的数据集和目标分辨率的数据集,将初始分辨率的数据集和目标分辨率的数据集按照预定的比例划分为训练集和测试集。
10.在一些实施方式中,该方法还包括训练网络模型;训练网络模型包括:利用训练集中初始分辨率和目标分辨率的图像数据,根据预设的损失函数计算损失值,在损失值和/或训练集的准确率和/或测试集的准确率达到预设标准时,完成所述网络模型的训练。
11.根据本发明的另一方面,提供了一种超分辨率重建方法,对用上述方法训练好的网络模型进行量化后,部署到硬件平台上,以实现目标功能。
12.根据本发明的另一方面,提供了一种超分辨率重建系统,包括网络模型构建模块;网络模型构建模块包括:线性特征提取模块,用于对当前帧进行线性特征提取,获得当前帧的线性特征图;运动补偿模块,用于对历史帧进行运动补偿,得到运动补偿之后的历史帧;非线性特征提取模块,用于对当前帧进行非线性特征提取,得到前帧的非线性特征图,还用于对运动补偿之后的历史帧进行非线性特征提取,得到历史帧的运动补偿之后的非线性特征图;非线性特征融合模块,用于将运动补偿之后的非线性特征图与当前帧的非线性特征图拼接后,进行非线性特征融合,得到特征融合后的非线性特征图;图像处理模块,用于基于特征融合后的非线性特征图和当前帧的线性特征图,得到当前帧的超分辨率重构图像。
13.按照本发明的又一方面,提供了一种电子设备,包括上述超分辨率重建系统。
14.按照本发明的又一方面,提供了一种电子设备,包括:处理器;与处理器通信连接的存储器;存储器存储有可被处理器执行的指令,指令被处理器执行,以使处理器能够执行上述方法。
15.按照本发明的又一方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现上述方法。
16.总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
17.1.算力要求低,相同硬件条件下超分辨率重建的帧率高。例如,将(540*960*3)像素的原始画面超分到(1080*1920*3)像素的画面所需要的算力仅为29.55gflops,理论上每t算力可以渲染33.85帧。以2018cvpr的duf视频超分辨网络为对比,本发明提出的实时超分辨率网络rtsr2(real-time super resolution ii)仅需要duf网络1/17的算力。
18.2.克服传统设计,可实时进行超分辨率重建。传统的vsr(vedio super resolution,视频超分辨率)方法超分当前帧需要调用历史n帧和未来n帧,必然会对当前帧的超分辨率重建造成至少n帧的延迟。本发明提出的rtsr2网络仅利用当前帧和历史n帧渲染画面进行预测,在设计上避免了对未来帧的调用从而降低了延迟。此外,由于每帧超分辨率重建需要的算力低,因此当前帧在渲染初始分辨率后进行超分辨率重建的延迟小,充分保证了算法所应对的实时性需求。
19.3.画面质量高,细节表现出色。采用了历史帧的高频信息,rtsr2网络的细节填充
丰富,有效地抑制了伪影。
20.4.运动补偿精确,运动画面连贯。在模型中将每个历史帧和当前帧拼接后通过卷积计算帧运动补偿矩阵,每个历史帧都与当前帧进行比较,因此得到的运动补偿矩阵灵活精确,减少了画面的撕裂和帧间细节的跳动。
21.5.数据集准确。不同于传统采用高清录制视频降采样的方法构建数据集,本发明采用同步渲染的方法构建数据集,根据同样的游戏信息逐帧渲染得到时序同步的不同分辨率数据集,更贴合实际应用情况,提高模型训练的准确性,进而有效提高超分重建的准确性。
附图说明
22.图1是本发明实施例的基于多帧融合的实时超分辨率重建方法的流程示意图;
23.图2是本发明实施例的构建网络模型的流程示意图;
24.图3是本发明实施例的构建数据集的流程示意图;
25.图4是图2所示的构建网络模型过程的具体实施流程示意图;
26.图5是图4所示的构建网络模型过程的具体实施流程示意图;
27.图6是本发明实施例的基于多帧融合的实时超分辨率重建系统的结构示意图;
28.图7是本发明实施例的电子设备的结构框图。
具体实施方式
29.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。正如本领域技术人员可以认识到的那样,在不脱离本技术的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
30.如图1所示,本发明实施例的基于历史特征融合的实时超分辨率重建方法包括如下步骤:
31.步骤1:构建数据集。
32.具体地,根据实时的运动数据(包括控制指令)和模型文件,渲染在不同分辨率下的输出录像,构建不同分辨率下的数据集,将不同分辨率下的数据集按照预定的比例划分为训练集和测试集。
33.在一些实施方式中,不同分辨率包括第一分辨率、第二分辨率和第三分辨率,其中,不同分辨率均为通过运动数据和模型文件生成的指定分辨率,第二分辨率大于第一分辨率,第三分辨率大于第二分辨率。在一些实施方式中,第二分辨率为第一分辨率的整数倍,第三分辨率为第一分辨率和第二分辨率的整数倍。在一些实施方式中,第二分辨率为第一分辨率的2倍,第三分辨率为第一分辨率的4倍、为第二分辨率的2倍,例如,第一分辨率为540p,第二分辨率为1080p,第三分辨率为2160p。
34.在一些实施方式中,构建第一分辨率下的第一数据集,第二分辨率下的第二数据集,以及第三分辨率下的第三数据集。在一些实施方式中,用于输入(初始分辨率)为第一分辨率、输出(目标分辨率)为第二分辨率的超分辨率重建时,将第一数据集和第二数据集按
照预定的比例划分为训练集和测试集。可以理解的是,在本发明实施例中,目标分辨率大于初始分辨率。例如,用于输入为540p、输出为1080p的2倍超分辨率重建时,将540p的数据集和1080p的数据集按照预定的比例划分为训练集和测试集。在一些实施方式中,用于输入为第二分辨率、输出为第三分辨率的超分辨率重建时,将第二数据集和第三数据集按照预定的比例划分为训练集和测试集。例如,用于输入为1080p、输出为2160p的2倍超分辨率重建时,将1080p的数据集和2160p的数据集按照预定的比例划分为训练集和测试集。在一些实施方式中,用于输入为第一分辨率、输出为第三分辨率的超分辨率重建时,将第一数据集和第三数据集按照预定的比例划分为训练集和测试集。例如,用于输入为540p、输出为2160p的4倍超分辨率重建时,将540p的数据集和2160p的数据集按照预定的比例划分为训练集和测试集。
35.在一些实施方式中,训练集的数据占比大于测试集。例如,将初始分辨率数据集按7:3的比例划分为训练集和测试集,同时将训练集中初始分辨率数据对应的目标分辨率数据也划入训练集,将测试集中初始分辨率数据对应的目标分辨率数据也划入测试集。
36.步骤2:构建网络模型。
37.如图2所示,对当前帧和历史帧进行非线性特征提取和特征融合,获得特征融合后的非线性特征图,基于特征融合后的非线性特征图和当前帧的线性特征图,得到当前帧的超分辨率重构图像。
38.其中,历史帧为当前帧的前n帧,n为自然数,对历史帧的非线性特征提取是基于对历史帧进行运动补偿之后的图形进行的。定义当前帧为f(i),历史帧为f(i-t),t=1,...,n。
39.在一些实施方式中,对历史帧中的每一帧f(i-t),t=1,...,n,与当前帧f(i)进行拼接后,使用无激活函数的卷积核进行偏移场补偿,得到历史帧f(i-t)的帧运动补偿矩阵(motion warpping matrix)mwm(i-t),再将历史帧f(i-t)的帧运动补偿矩阵mwm(i-t)与该历史帧f(i-t)叠加,得到运动补偿之后的历史帧f’(i-t)。
40.在一些实施方式中,使用非线性函数激活的卷积核对运动补偿之后的历史帧f’(i-t)进行非线性特征提取,得到历史帧f(i-t)的运动补偿之后的非线性特征图。使用非线性函数激活的卷积核对当前帧f(i)进行非线性特征提取,获得当前帧f(i)的非线性特征图。将历史帧f(i-1)~f(i-n)的运动补偿之后的非线性特征图和当前帧f(i)的非线性特征图拼接后,使用非线性函数激活的卷积核进行非线性特征提取,得到特征融合后的非线性特征图。特征融合后的非线性特征图即为当前帧和历史帧的非线性特征的统一表达,去除了一些无效的特征信息。
41.在一些实施方式中,使用无激活函数的卷积核对当前帧f(i)进行线性特征提取,获得当前帧f(i)的线性特征图。将拼接后的非线性特征图与当前帧f(i)的线性特征图叠加并进行像素重排(pixel shuffle),得到当前帧的超分辨率重构图像。
42.在一些实施方式中,构建网络模型还包括对像素重排后的图像进行像素修正。例如,使用无激活函数的卷积核对像素重排后的图像进行像素修正,得到当前帧的超分辨率重构图像,完成当前帧的超分辨率重构。
43.在一些实施方式中,非线性函数例如可以是tanh、sigmoid或者relu。
44.本步骤中,当前帧的线性特征图对应于低频信息,具体地,低频信息是指图像中颜
色/灰度缓慢变化的区域信息,这类信息广泛存在于边缘以内的色块填充区域;时序上连续的非线性特征图对应于高频信息,具体地,高频信息指的是图像中颜色/灰度快速变化的区域信息,一般和图像中的边缘/纹理信息密切相关;通过线性和非线性特征提取,同时获得图像的色块分布和细节分布,从而有效提升模型的超分辨率重建质量。
45.下面结合具体的实例对本发明的基于多帧融合的实时超分辨率重建方法进行详细描述。设定分辨率放大倍数为u,基本卷积核数量为n,基本卷积核大小为k,卷积步长为a,激活函数为afunc。
46.如图4所示,采用多分支神经网络,对当前帧f(i)使用卷积核大小为k*k的3au2核进行线性卷积提取特征备用,使用激活函数afunc对当前帧进行卷积核大小为k*k的n核卷积、卷积核大小为k*k的3au2核卷积提取非线性特征。对于历史n帧f(i-1)~f(i-n)中的每一帧f(i-t),先与当前帧f(i)进行拼接后进行线性卷积,包括卷积核大小为k*k的6核卷积,卷积核大小为k*k的3核卷积,可得到帧运动补偿矩阵mwm(i-t)。再将历史帧f(i-t)的偏移场补偿矩阵mwm(i-t)与f(i-t)相加得到帧间运动补偿之后的历史帧f’(i-t),接着使用激活函数afunc对f’(i-t)进行卷积核大小为k*k的n核卷积、卷积核大小为k*k的3au2核卷积提取得到历史帧f(i-t)的运动补偿之后的非线性特征图。
47.将历史n帧f(i-1)~f(i-n)的运动补偿之后的非线性特征图和当前帧f(i)的非线性特征图拼接后再次使用激活函数afunc进行卷积核大小为k*k的n核卷积、卷积核大小为k*k的3au2核卷积得到所有非线性特征,将此非线性特征图与当前帧的线性特征相加后再像素重排特征图到所需要的放大尺寸,最后经过一个由卷积核大小为k*k的3核线性卷积构成的特征修正模块,得到超分辨率帧的实时重建结果。
48.至此,rtsr2网络构建完成。rtsr2网络采用了当前帧和历史n帧进行特征提取(n满足≥1即可),在进行线性和非线性卷积的过程中,基本卷积核数量n不限定值(一般取n=2a,a≥4,或n=3a*u2,a为正整数),在图4中省略号处省略了若干卷积块,在实际设计时可添加可删减。rtsr2网络有易修改的特性,可采用精简版本应用于移动端或嵌入式设备,也可以采用扩大版本应用于工作站、影院等质量需求苛刻的场景。rtsr2网络采集了当前帧的线性特征和非线性特征,以经过精确运动补偿的历史帧的非线性特征作为辅助,在当前帧的特征基础上融入历史帧提炼出的特征,提升了画面的细节表现。
49.步骤3:训练网络模型。
50.利用训练集中初始分辨率和目标分辨率的图像数据,根据预设的损失函数计算损失值,在损失值以及训练集和测试集的准确率达到预设标准时,保留该模型,完成模型的训练。
51.在一些实施方式中,采用huber损失函数计算损失值,以增强平方误差损失函数对离群点的鲁棒性。损失值的表达式如下:
[0052][0053]
其中,y为训练集中目标分辨率的图像数据,即目标输出。x为训练集中初始分辨率的图像数据,f()函数为模型计算过程,f(x)为x通过神经网络模型计算出的超分辨率重构图像结果。δ是自定义的全局参数,当偏差值|y-f(x)|小于δ时,采用平方误差,当偏差值|y-f(x)|大于δ时,采用线性误差。
[0054]
在一些实施方式中,采用步骤1构建的训练集对步骤2构建的网络模型使用反向传播算法进行训练,即,将训练集的初始分辨率(低分辨率)数据输入模型,模型计算输出预测的高分辨率图像,然后将预测得到的高分辨率图像与训练集的目标分辨率图像(例如ground truth)代入损失函数计算损失值(loss),再将损失值反向传播以调整模型的参数,再重复上述计算过程,不断迭代直至损失值以及训练集和测试集的准确率均达到预设标准,完成模型的训练。
[0055]
在一些实施方式中,准确率为利用神经网络模型实现从初始分辨率到目标分辨率的超分辨率重构的像素点数占总像素点数的比例。具体地,训练集的准确率为将训练集中的初始分辨率数据输入模型,将模型输出的分辨率数据与训练集中对应的目标分辨率数据进行对比,其中分辨率相同的像素点数除以训练集中总的像素点数,即为训练集的准确率。类似地,测试集的准确率为将测试集中的初始分辨率数据输入模型,将模型输出的分辨率数据与测试集中对应的目标分辨率数据进行对比,其中分辨率相同的像素点数除以测试集中总的像素点数,即为测试集的准确率。
[0056]
测试集的准确率与真实场景中的准确率近似,可以预见到真实场景下的模型表现。此外,测试集的准确率还可以反应模型的鲁棒性,当测试集准确率和训练集准确率近似时,模型的鲁棒性强;当测试集准确率和训练集准确率相差较大时,模型的鲁棒性较差。
[0057]
在一些实施方式中,预设标准包括:损失值≤10-5
,训练集的准确率≥99.9%,测试集的准确率≥99.9%。
[0058]
步骤4:网络模型部署。
[0059]
对步骤3训练好的网络模型进行量化后,部署到硬件平台上,即可实现目标功能。
[0060]
下面以540p分辨率(原始分辨率)超分到1080p分辨率(目标分辨率)、使用2帧历史帧(n=2)、王者荣耀游戏为例,对本发明的基于多帧融合的实时超分辨率重建方法进行详细描述。
[0061]
分辨率放大倍数u=2,基本卷积核数量n=32,基本卷积核大小k=3,卷积步长a=1,激活函数afunc为tanh。
[0062]
结合图1,本发明实施例的实现流程如下:
[0063]
步骤1:构建数据集。
[0064]
如图3所示,在构建数据集时对于游戏场景提出了一种创新的数据集构建方法。不同于常用的从高清视频降采样获得不同分辨率的方法,本发明实施例根据游戏内的运动数据(例如控制指令)和模型文件渲染王者荣耀游戏在不同分辨率(540p、1080p、2160p)下的输出录像,构建成不同倍数关系之间的数据集(2个2倍数据集,1个4倍数据集),并按照7:3的比例划分为训练集和测试集。选定540p与1080p组合的数据集用于本次训练。
[0065]
步骤2:构建网络模型。
[0066]
如图2所示,对当前帧进行线性和非线性特征的提取,对历史帧则与当前帧拼接之后通过线性卷积计算出运动偏移场的补偿量,将偏移场补偿和历史帧相加得到和当前帧图像内容位姿一致的修正帧。对所有修正帧进行非线性特征提取之后,与当前帧的非线性特征进行拼接,再一次提取非线性特征。将非线性特征和前述当前帧的线性特征相加得到高低频信息丰富的特征图,接来下进行像素重排以恢复特征图为待重建的图像分辨率尺寸,最后对像素重排后的图像进行特征的进一步修正得到当前帧的超分辨率重建结果。
[0067]
具体地,结合图5,rtsr2超分辨率神经网络采用1层卷积核大小为3*3的12核卷积对当前帧f(i)进行线性特征提取,以及采用tanh函数激活的2层卷积核大小为3*3的32核卷积、1层卷积核大小为3*3的12核卷积对当前帧进行非线性特征提取。
[0068]
对于历史2帧f(i-1)和f(i-2)中的任意一帧f(i-t),t=1,2,都以下面方法进行处理。先与当前帧f(i)进行拼接,再通过1层卷积核大小为3*3的6核卷积,1层卷积核大小为3*3的3核卷积进行线性卷积,得到帧运动补偿矩阵mwm(i-t),再将偏移场补偿矩阵mwm(i-t)与f(i-t)相加得到帧间运动补偿之后的历史帧f’(i-t),接着采用tanh函数激活的2层3*3的32核卷积及1层tanh函数激活的3*3的12核卷积对f’(i-t)进行非线性卷积组的提取,得到运动补偿之后的非线性特征图。
[0069]
将历史帧f(i-1)和f(i-2)的运动补偿之后的非线性特征图和当前帧f(i)的非线性特征图拼接后再次进行非线性卷积组的特征提取,得到总的非线性特征图,将此非线性特征图与当前帧的线性特征相加后再像素重排特征图到所需要的放大尺寸,最后经过一个包含1层卷积核大小为3*3的3核线性卷积的特征修正模块,得到超分辨率帧的实时重建结果。
[0070]
步骤3:训练网络模型。
[0071]
损失函数采用huber损失函数,增强平方误差损失函数对离群点的鲁棒性,huber损失函数表达式如下:
[0072][0073]
采用步骤1构建的数据集对前述模型使用反向传播算法进行训练。采用步骤1构建的数据集对前述模型使用反向传播算法进行训练,迭代直到损失值l≤10-5
且训练集和测试集准确率均≥99.9%,保留该模型。
[0074]
步骤4:网络模型部署。
[0075]
对步骤3训练好的模型进行量化后,部署到硬件加速平台上,使移动端处理器在渲染王者荣耀游戏获得流畅稳定的高分辨率高画质实时结果的同时保持原生渲染540p的低负载水平。此模型可应用于超分辨数据集内涉及到的游戏录播、游戏直播、游戏中分辨率实时提升等场景。
[0076]
如图6所示,本技术实施例还提供了一种基于多帧融合的实时超分辨率重建系统,包括:
[0077]
数据集构建模块,用于根据实时的运动数据,渲染在不同分辨率下的输出录像,构建不同分辨率下的数据集,将不同分辨率下的数据集按照预定的比例划分为训练集和测试集。
[0078]
在一些实施方式中,不同分辨率包括第一分辨率、第二分辨率和第三分辨率,其中,不同分辨率均为通过运动数据和模型文件生成的指定分辨率,第二分辨率大于第一分辨率,第三分辨率大于第二分辨率。在一些实施方式中,第二分辨率为第一分辨率的整数倍,第三分辨率为第一分辨率和第二分辨率的整数倍。在一些实施方式中,第二分辨率为第一分辨率的2倍,第三分辨率为第一分辨率的4倍、为第二分辨率的2倍,例如,第一分辨率为540p,第二分辨率为1080p,第三分辨率为2160p。
[0079]
在一些实施方式中,构建第一分辨率下的第一数据集,第二分辨率下的第二数据
集,以及第三分辨率下的第三数据集。在一些实施方式中,用于输入(初始分辨率)为第一分辨率、输出(目标分辨率)为第二分辨率的超分辨率重建时,将第一数据集和第二数据集按照预定的比例划分为训练集和测试集。例如,用于输入为540p、输出为1080p的2倍超分辨率重建时,将540p的数据集和1080p的数据集按照预定的比例划分为训练集和测试集。在一些实施方式中,用于输入为第二分辨率、输出为第三分辨率的超分辨率重建时,将第二数据集和第三数据集按照预定的比例划分为训练集和测试集。例如,用于输入为1080p、输出为2160p的2倍超分辨率重建时,将1080p的数据集和2160p的数据集按照预定的比例划分为训练集和测试集。在一些实施方式中,用于输入为第一分辨率、输出为第三分辨率的超分辨率重建时,将第一数据集和第三数据集按照预定的比例划分为训练集和测试集。例如,用于输入为540p、输出为2160p的4倍超分辨率重建时,将540p的数据集和2160p的数据集按照预定的比例划分为训练集和测试集。
[0080]
在一些实施方式中,训练集的数据占比大于测试集。例如,将初始分辨率数据集按7:3的比例划分为训练集和测试集,同时将训练集中初始分辨率数据对应的目标分辨率数据也划入训练集,将测试集中初始分辨率数据对应的目标分辨率数据也划入测试集。
[0081]
网络模型构建模块,用于对当前帧进行线性特征提取,获得当前帧的线性特征图,对当前帧和历史帧进行非线性特征提取和特征融合,获得特征融合后的非线性特征图,基于特征融合后的非线性特征图和当前帧的线性特征图,得到当前帧的超分辨率重构图像。
[0082]
在一些实施方式中,网络模型构建模块包括线性特征提取模块,用于使用无激活函数的卷积核对当前帧f(i)进行线性特征的提取。
[0083]
在一些实施方式中,网络模型构建模块包括运动补偿模块,用于将历史帧f(i-t)与当前帧f(i)进行拼接后,使用无激活函数的卷积核进行偏移场补偿,得到历史帧f(i-t)的帧运动补偿矩阵mwm(i-t),再将历史帧f(i-t)的帧运动补偿矩阵mwm(i-t)与历史帧f(i-t)叠加,得到运动补偿之后的历史帧f’(i-t)。
[0084]
在一些实施方式中,网络模型构建模块还包括非线性特征提取模块,用于使用非线性函数激活的卷积核对当前帧f(i)进行非线性特征的提取,得到当前帧的非线性特征图。非线性特征提取模块还用于使用非线性函数激活的卷积核对运动补偿之后的历史帧f’(i-t)进行非线性特征提取,得到历史帧f(i-t)的运动补偿之后的非线性特征图。
[0085]
网络模型构建模块还包括非线性特征融合模块,用于将运动补偿之后的n幅非线性特征图与当前帧的非线性特征图拼接后,使用非线性函数激活的卷积核进行非线性特征融合,得到特征融合后的非线性特征图。特征融合后的非线性特征图即为当前帧和历史帧的非线性特征的统一表达,去除了一些无效的特征信息。
[0086]
在一些实施方式中,网络模型构建模块还包括图像处理模块,用于基于特征融合后的非线性特征图和当前帧的线性特征图,得到当前帧的超分辨率重构图像。
[0087]
在一些实施方式中,图像处理模块还包括像素重排模块,用于将特征融合后的非线性特征图和当前帧的线性特征图叠加并进行像素重排(pixel shuffle),得到当前帧的超分辨率重构图像。
[0088]
在一些实施方式中,图像处理模块还包括像素修正模块,用于对像素重排后的图像进行像素修正。例如,使用无激活函数的卷积核对像素重排后的图像进行像素修正,得到当前帧的超分辨率重构图像,完成当前帧的超分辨率重构。
[0089]
在一些实施方式中,非线性函数例如可以是tanh、sigmoid或者relu。
[0090]
网络模型训练模块,用于利用训练集中初始分辨率和目标分辨率的图像数据,根据预设的损失函数,计算损失值,在损失值以及训练集和测试集的准确率达到预设标准时,保留该模型,完成模型的训练。
[0091]
在一些实施方式中,采用huber损失函数计算损失值,以增强平方误差损失函数对离群点的鲁棒性。损失值的表达式如下:
[0092][0093]
其中,y为训练集中目标分辨率的图像数据,即目标输出。x为训练集中初始分辨率的图像数据,f()函数为模型计算过程,f(x)为x通过神经网络模型计算出的超分辨率重构图像结果。δ是自定义的全局参数,当偏差值|y-f(x)|小于δ时,采用平方误差,当偏差值|y-f(x)|大于δ时,采用线性误差。
[0094]
在一些实施方式中,采用数据集构建模块构建的数据集对网络模型构建模块构建的网络模型使用反向传播算法进行训练,即,将训练集的初始分辨率(低分辨率)数据输入模型,模型计算输出预测的高分辨率图像,然后将预测得到的高分辨率图像与训练集的目标分辨率图像(ground truth)代入损失函数计算损失值(loss),再将损失值反向传播以调整模型的参数,再重复上述计算过程,不断迭代直到训练集的损失值和准确率以及测试集的损失值和准确率达到预设标准,完成模型的训练。
[0095]
在一些实施方式中,预设标准包括:训练集的损失值≤10-5
,训练集的准确率≥99.9%,测试集的损失值≤10-5
,测试集的准确率≥99.9%。
[0096]
网络模型部署模块,用于对网络模型训练模块训练好的网络模型进行量化后,部署到硬件平台上,即可实现目标功能。
[0097]
图7为根据本技术一实施例的电子设备的结构框图。本技术实施例还提供了一种电子设备,如图7所示,该电子设备包括:至少一个处理器701,以及与至少一个处理器701通信连接的存储器703。存储器703内存储有可被至少一个处理器701执行的指令。指令被至少一个处理器701执行。处理器701执行该指令时实现上述实施例中的驾驶场景重构方法。存储器703和处理器701的数量可以为一个或多个。该电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
[0098]
该电子设备还可以包括通信接口705,用于与外界设备进行通信,进行数据交互传输。各个设备利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器701可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(graphical user interface,gui)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处
理器系统)。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0099]
可选的,在具体实现上,如果存储器703、处理器701及通信接口705集成在一块芯片上,则存储器703、处理器701及通信接口705可以通过内部接口完成相互间的通信。
[0100]
应理解的是,上述处理器可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
[0101]
本技术实施例提供了一种计算机可读存储介质(如上述的存储器703),其存储有计算机指令,该程序被处理器执行时实现本技术实施例中提供的方法。
[0102]
可选的,存储器703可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据驾驶场景重构方法的电子设备的使用所创建的数据等。此外,存储器703可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器703可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至驾驶场景重构方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0103]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本技术的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0104]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0105]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个(两个或两个以上)用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
[0106]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
[0107]
应理解的是,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0108]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
[0109]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种超分辨率重建方法,其特征在于,包括构建网络模型;所述构建网络模型包括:对当前帧进行线性特征提取,获得当前帧的线性特征图;对当前帧和历史帧进行非线性特征提取和特征融合,获得特征融合后的非线性特征图;其中,所述历史帧为所述当前帧的前n帧,n为自然数;对历史帧的非线性特征提取是基于对历史帧进行运动补偿之后的图像进行的;基于特征融合后的非线性特征图和当前帧的线性特征图,得到当前帧的超分辨率重构图像。2.如权利要求1所述的超分辨率重建方法,其特征在于,所述对历史帧进行非线性特征提取包括:对历史帧中的每一帧,与当前帧进行拼接后,使用无激活函数的卷积核进行偏移场补偿,得到历史帧的帧运动补偿矩阵,再将历史帧的帧运动补偿矩阵与历史帧叠加,得到运动补偿之后的历史帧;对运动补偿之后的历史帧进行非线性特征提取,得到历史帧的运动补偿之后的n幅非线性特征图。3.如权利要求1所述的超分辨率重建方法,其特征在于,所述特征融合包括:将历史帧的运动补偿之后的n幅非线性特征图和当前帧的非线性特征图拼接后,进行非线性特征提取,得到特征融合后的非线性特征图。4.如权利要求1所述的超分辨率重建方法,其特征在于,所述基于特征融合后的非线性特征图和当前帧的线性特征图,得到当前帧的超分辨率重构图像包括:将特征融合后的非线性特征图和当前帧的线性特征图叠加并进行像素重排,再使用无激活函数的卷积核对像素重排后的图像进行像素修正,得到当前帧的超分辨率重构图像。5.如权利要求1至4中任一项所述的超分辨率重建方法,其特征在于,还包括构建数据集;所述构建数据集包括:根据实时的运动数据,渲染在初始分辨率和目标分辨率下的输出录像,构建初始分辨率的数据集和目标分辨率的数据集,将初始分辨率的数据集和目标分辨率的数据集按照预定的比例划分为训练集和测试集。6.如权利要求1至4中任一项所述的超分辨率重建方法,其特征在于,还包括训练网络模型;所述训练网络模型包括:利用训练集中初始分辨率和目标分辨率的图像数据,根据预设的损失函数计算损失值,在所述损失值和/或所述训练集的准确率和/或所述测试集的准确率达到预设标准时,完成所述网络模型的训练。7.一种超分辨率重建方法,其特征在于,对用权利要求6所述的方法训练好的网络模型进行量化后,部署到硬件平台上,以实现目标功能。8.一种超分辨率重建系统,其特征在于,包括网络模型构建模块;所述网络模型构建模块包括:线性特征提取模块,用于对当前帧进行线性特征提取,获得当前帧的线性特征图;
运动补偿模块,用于对历史帧进行运动补偿,得到运动补偿之后的历史帧;非线性特征提取模块,用于对当前帧进行非线性特征提取,得到前帧的非线性特征图,还用于对运动补偿之后的历史帧进行非线性特征提取,得到历史帧的运动补偿之后的非线性特征图;非线性特征融合模块,用于将运动补偿之后的非线性特征图与当前帧的非线性特征图拼接后,进行非线性特征融合,得到特征融合后的非线性特征图;图像处理模块,用于基于特征融合后的非线性特征图和当前帧的线性特征图,得到当前帧的超分辨率重构图像。9.一种电子设备,其特征在于,包括权利要求8所述的超分辨率重建系统;或者,所述电子设备包括:处理器;与所述处理器通信连接的存储器;所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行权利要求1至7中任一项所述的方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1至7中任一项所述的方法。
技术总结
本发明公开了一种基于历史特征融合的实时超分辨率重建方法及系统。该方法包括构建网络模型;构建网络模型包括:对当前帧进行线性特征提取,获得当前帧的线性特征图;对当前帧和历史帧进行非线性特征提取和特征融合,获得特征融合后的非线性特征图;其中,历史帧为当前帧的前N帧,N为自然数;对历史帧的非线性特征提取是基于对历史帧进行运动补偿之后的图像进行的;基于特征融合后的非线性特征图和当前帧的线性特征图,得到当前帧的超分辨率重构图像。本发明解决了当前超分辨率技术存在的实时性差、细节时序断裂、伪色、通用性差等一系列问题,兼顾实时性和画质。兼顾实时性和画质。兼顾实时性和画质。
技术研发人员:敖海 朱文康 冯雨 徐亮
受保护的技术使用者:芯动科技(珠海)有限公司
技术研发日:2021.12.12
技术公布日:2022/3/8