一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于视频超分辨率的多阶段多参考自举的制作方法

2022-02-22 02:48:10 来源:中国专利 TAG:

用于视频超分辨率的多阶段多参考自举
1.相关申请案交叉引用
2.本技术要求于2019年6月14日提交的第62/861,884号、发明名称为“用于视频超分辨率的多阶段多参考自举(multi-stage multi-reference bootstrapping for video super-resolution)”的美国临时申请,以及2019年5月3日提交的第62/843,135号、发明名称为“用于视频超分辨率的多阶段多参考自举(multi-stage multi-reference bootstrapping for video super-resolution)”的美国临时申请的优先权。上述美国临时申请通过引用并入本文,如全文再现一样。
技术领域
3.本发明大体上涉及一种视频信号处理,在特定实施例中,涉及用于视频超分辨率的多阶段多参考自举的技术和机制。


背景技术:

4.多年来,通过非光学手段,使用视觉数据的原始低分辨率版本提高视觉数据的空间分辨率一直是图像增强的目标之一。视频超分辨率(video super-resolution,vsr)是一种用于生成视觉数据的高分辨率图像的技术,随着视频数据的使用显著增加,该技术变得愈发重要。据估计,在2016年,视频数据约占所有互联网流量的73%,预计未来将继续增加。例如,据预测,在2021年,视频数据可能约占互联网流量的82%,几年内,带宽达到惊人的187百亿亿字节(1870亿千兆字节)。需求可能来自各种类型的互联网视频,例如点播内容、网络摄像头观看、互联网上提供的传统电视选项,以及通过社交媒体提供的实时视频、体育比赛直播、视频监控和内容提供商的实时过顶捆绑包。vsr不仅可以确保减少所有这些应用的带宽,而且还可以减少时延。


技术实现要素:

5.本发明的实施例通常实现了技术优势,这些实施例描述了用于视频超分辨率的多阶段多参考自举。
6.根据本发明的一个方面,提供了一种计算机实现的方法,所述方法包括:获取视频中的当前帧和所述当前帧的多个参考帧;对使用所述当前帧和所述多个参考帧构建的第一张量进行第一卷积滤波,以生成所述当前帧的第一估计图像,所述第一估计图像的分辨率高于所述当前帧的图像的分辨率;获取所述多个参考帧的估计参考图像,所述估计参考图像的分辨率高于所述多个参考帧的图像的分辨率;对使用所述当前帧的所述第一估计图像和所述多个参考帧的所述估计参考图像构建的第二张量进行第二卷积滤波,以生成所述当前帧的第二估计图像。
7.上述方法能够增强当前帧的图像质量,并通过使用多个参考视频帧生成时间一致的结果。该方法还可以通过迭代执行获取和执行卷积滤波的步骤来逐步提高当前帧的图像分辨率。
8.可选地,在上述任一方面中,所述当前帧的所述多个参考帧包括所述当前帧的先前帧。
9.可选地,在上述任一方面中,所述当前帧的所述多个参考帧包括所述当前帧之前的帧和所述当前帧之后的帧。
10.可选地,在上述任一方面中,所述方法还包括:在进行所述第一卷积滤波之前,确定所述多个参考帧中的一个参考帧中的扩展区域,所述扩展区域对应于所述当前帧中的一个区域,并且所述参考帧中的所述扩展区域包括所述当前帧中所述区域的放大场景;根据所述参考帧的每个像素是否属于所述扩展区域,为所述参考帧的每个像素分配效用分数,从而生成所述参考帧的效用掩码,所述效用掩码包括所述参考帧的像素的效用分数集合;使用所述当前帧、所述多个参考帧和所述参考帧的所述效用掩码构建所述第一张量。
11.可选地,在上述任一方面中,所述方法还包括:使用所述当前帧和所述多个参考帧生成场景流,所述场景流包括根据所述当前帧的所述图像进行运动补偿的所述多个参考帧的图像;为所述多个参考帧中的每个参考帧生成流图;其中,确定所述参考帧中的所述扩展区域是基于所述场景流和所述流图。
12.可选地,在上述任一方面中,生成所述场景流包括使用所述当前帧、所述多个参考帧和所述当前帧的数字世界参考图像生成所述场景流。
13.可选地,在上述任一方面中,所述数字世界参考图像是从数字世界图像数据库获取的。
14.可选地,在上述任一方面中,所述方法还包括:获取所述当前帧的视觉定位系统(visual positioning system,vps)信息;根据所述vps信息在所述数字世界图像数据库中查找所述数字世界参考图像。
15.可选地,在上述任一方面中,所述方法还包括:调整所述数字世界参考图像的大小,使得所述数字世界参考图像具有与所述当前帧的所述图像的大小相同的大小。
16.可选地,在上述任一方面中,所述方法还包括:为所述多个参考帧中的每个参考帧生成效用掩码;使用所述当前帧、所述多个参考帧和所述多个参考帧的效用掩码构建所述第一张量。
17.可选地,在上述任一方面中,构建所述第一张量包括:根据所述当前帧和所述多个参考帧的序列,对所述当前帧和所述多个参考帧进行排序;根据所述序列对所述多个参考帧的所述效用掩码进行排序。
18.可选地,在上述任一方面中,构建所述第一张量包括:将所述多个参考帧中的每个参考帧的像素值和相应参考帧的效用掩码相乘。
19.可选地,在上述任一方面中,所述第一估计图像或所述第二估计图像的大小大于所述当前帧的所述图像的大小。
20.可选地,在上述任一方面中,所述方法还包括:在进行所述第二卷积滤波之前,确定所述多个参考帧中的估计参考图像中的扩展区域,所述扩展区域对应于所述第一估计图像中的一个区域,并且所述估计参考图像中的所述扩展区域包括所述第一估计图像中所述区域的放大场景;根据所述估计参考图像的每个像素是否属于所述扩展区域,为所述估计参考图像的每个像素分配效用分数,从而生成所述估计参考图像的效用掩码,所述估计参考图像的所述效用掩码包括所述估计参考图像的像素的效用分数集合;使用所述第一估计
图像、所述多个参考帧的所述估计参考图像和所述估计参考图像的所述效用掩码构建所述第二张量。
21.可选地,在上述任一方面中,所述方法还包括:使用所述第一估计图像和所述多个参考帧的所述估计参考图像生成场景流,所述场景流包括根据所述第一估计图像进行运动补偿的所述估计参考图像的图像;为所述估计参考图像中的每个估计参考图像生成流图;其中,确定所述估计参考图像中的所述扩展区域是基于所述场景流和所述流图。
22.可选地,在上述任一方面中,所述方法还包括:为所述估计参考图像中的每个估计参考图像生成效用掩码。
23.可选地,在上述任一方面中,所述方法还包括:使用所述第一估计图像、所述多个参考帧的所述估计参考图像和所述估计参考图像的效用掩码构建所述第二张量。
24.可选地,在上述任一方面中,所述方法还包括:对所述估计的第一图像和所述多个参考帧的所述估计参考图像进行卷积滤波,从而生成所述估计的第一图像和所述估计参考图像的特征图;其中,构建所述第二张量包括:使用所述特征图、所述估计参考图像的所述效用掩码和所述第一张量构建所述第二张量。
25.根据本发明的另一方面,提供了一种计算机实现的方法,所述方法包括:获取视频中的当前帧和所述当前帧的多个参考帧;确定所述多个参考帧中的一个参考帧中的扩展区域,所述扩展区域对应于所述当前帧中的一个区域,并且所述参考帧中的所述扩展区域包括所述当前帧中所述区域的放大场景;根据所述参考帧的每个像素是否属于所述扩展区域,为所述参考帧的每个像素分配效用分数,从而生成所述参考帧的效用掩码,所述效用掩码包括所述参考帧的像素的效用分数集合;使用所述当前帧、所述多个参考帧和所述参考帧的所述效用掩码构建第一张量;对所述第一张量进行卷积滤波,以生成所述当前帧的第一重建图像。
26.上述方法能够利用当前帧的参考帧提高当前帧的图像分辨率。
27.可选地,在上述任一方面中,所述方法还包括:使用所述当前帧和所述多个参考帧生成场景流,所述场景流包括根据所述当前帧的所述图像进行运动补偿的所述多个参考帧的图像;为所述多个参考帧中的每个参考帧生成流图;其中,确定所述参考帧中的所述扩展区域是基于所述场景流和所述流图。
28.可选地,在上述任一方面中,生成所述场景流包括使用所述当前帧、所述多个参考帧和所述当前帧的数字世界参考图像生成所述场景流。
29.可选地,在上述任一方面中,所述数字世界参考图像是从数字世界图像数据库获取的。
30.可选地,在上述任一方面中,所述方法还包括:获取所述当前帧的视觉定位系统(visual positioning system,vps)信息;根据所述vps信息在所述数字世界图像数据库中查找所述数字世界参考图像。
31.可选地,在上述任一方面中,所述方法还包括:调整所述数字世界参考图像的大小,使得所述数字世界参考图像具有与所述当前帧的所述图像的大小相同的大小。
32.可选地,在上述任一方面中,所述方法还包括:为所述多个参考帧中的每个参考帧生成效用掩码;使用所述当前帧、所述多个参考帧和所述多个参考帧的效用掩码构建所述第一张量。
33.可选地,在上述任一方面中,构建所述第一张量包括:根据所述当前帧和所述多个参考帧的序列,对所述当前帧和所述多个参考帧进行排序;根据所述序列对所述多个参考帧的所述效用掩码进行排序。
34.可选地,在上述任一方面中,构建所述第一张量包括:将所述多个参考帧中的每个参考帧的像素值和相应参考帧的效用掩码相乘。
35.根据本发明的另一方面,提供了一种装置,所述装置包括:非瞬时性存储器,包括指令;一个或多个处理器,与所述存储器通信,其中,所述一个或多个处理器执行所述指令以执行上述任一方面所述的方法。
36.根据本发明的另一方面,提供了一种非瞬时性计算机可读介质。所述非瞬时性计算机可读介质存储计算机指令,所述计算机指令在由一个或多个处理器执行时,使所述一个或多个处理器执行上述任一方面所述的方法。
附图说明
37.为了更全面地理解本发明及其优势,现在参考下面结合附图进行的描述。
38.图1示出了神经网络的实施例架构的图;
39.图2示出了阶段1中的输入子网和阶段2中的输入子网的实施例操作的图;
40.图3示出了实施例混合骨干子网和实施例空间上采样子网的图;
41.图4示出了用于生成视频帧的效用掩码的实施例操作的图;
42.图5示出了用于确定扩展区域和计算视频帧的效用掩码的实施例操作的图;
43.图6示出了用于生成低分辨率(low resolution,lr)帧的高分辨率图像的实施例方法的流程图;
44.图7示出了用于生成lr帧的高分辨率图像的另一实施例方法的流程图;
45.图8是可以用于实现本文公开的方法的实施例处理系统的框图;
46.图9示出了可以用于实现本文公开的方法的另一实施例处理系统的框图。
47.除非另有指示,否则不同图中的对应数字和符号通常指代对应部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。
具体实施方式
48.下文详细讨论了本发明的实施例的制作和使用。但是,应当理解,本文公开的概念可以在各种特定上下文中体现,并且本文讨论的特定实施例仅仅是说明性的,并不用于限制权利要求的范围。此外,应当理解,在不脱离由所附权利要求书界定的本发明的精神和范围的情况下,可以对本文做出各种改变、替代和更改。
49.本发明的实施例提供了用于从视频帧的低分辨率(low resolution,lr)图像重建或估计视频帧(当前帧)的高分辨率(high resolution,hr)图像的方法。hr图像的分辨率高于lr图像的分辨率。这些实施例利用当前帧的参考帧,或当前帧的具有当前帧的相似图像(或内容或场景)的数字世界参考图像,以便获取可用于重建hr图像的信息。参考帧是当前帧的相邻帧(包括直接相邻和足以具有基本相似图像的相邻),并且具有与当前帧的lr图像的图像分辨率相似的图像分辨率。但是,参考帧的hr版本(hr图像或sr图像)可以例如使用实施例方法预先生成,并可供使用。这些实施例迭代地使用lr图像和参考帧在多个阶段估
计当前帧的hr图像。在一些实施例中,初始阶段(阶段1)使用lr图像和参考帧(也可以使用数字世界参考图像)来构建张量,然后对该张量进行处理以估计阶段1hr图像。阶段1之后的每个阶段使用在前一阶段中生成的hr图像(例如,阶段1hr图像)和参考帧的hr图像来生成每个阶段的另一hr图像,从而逐步增强生成的hr图像的质量。这在下文详细描述。
50.多年来,通过非光学手段,使用视觉数据的原始低分辨率版本提高视觉数据的空间分辨率一直是图像增强的目标之一。超分辨率(super-resolution,sr)是一种将低分辨率(low-resolution,lr)图像变换为高分辨率图像的成像技术。视频超分辨率(video super resolution,vsr)将超分辨率任务扩展到视频数据。vsr方法是图像超分辨率技术的改编。vsr旨在提高给定输入视频的空间和时间分辨率。已证明vsr技术具有减少带宽和减少时延的优点。
51.但是,由于原始hr信息丢失,(对于图像和视频)从低分辨率(low-resolution,lr)输入重建高分辨率(high-resolution,hr)版本通常是一个不适定问题。为了解决该问题,施加主要依赖于数据冗余或多次观测的附加限制。冗余通常以局部相关性的形式强制实施,方式是施加稀疏约束或假设各种图像统计信息的恒定性,例如多尺度块(patch)复现以恢复丢失的高频细节。在同一场景的不同观测可用的情况下,各观测之间的共享冗余用于调节问题,以反转缩小尺度过程。视频数据自然在同一镜头内的连续帧之间具有高相关度,可以利用这一点来重建其hr版本。
52.随着对视频数据的需求增加,基于近来在卷积神经网络方面的成功的超分辨率新趋势也彻底改变了vsr领域。基于深度学习的技术迅速实现了更好的高分辨率估计。尽管取得了长足进步,但现有的vsr计划仍然存在几个问题。例如,基于块的神经网络,特别是结构较浅的神经网络,缺乏全局上下文,关注局部特征。另一方面,具有更多参数的更深层网络更难训练,因为在初始训练阶段,学习速率等最佳超参数的选择变得至关重要,但更难估计。由于gpu内存限制,vsr网络通常以基于块的方式训练。但是,块大小(即使是128
×
128大块)可能不支持覆盖大对象运动(例如经典光圈问题),也不支持从较大的感受野中学习有益的方面。直接适配视频的单个图像超分辨率框架通常需要同时在管道末端一起放大(upscaling),当目标上采样因子为4
×
或更高时,这会导致学习瓶颈。
53.可以根据使用的参考示例对过去的单图像分辨率方法进行分类。基于内部参考的方法尝试使用块复现来识别内部冗余,以获取在放大块时的基本信息。复现假设单个图像中的块对多尺度关系进行编码,这可能支持从较粗尺度的块推断给定尺度下缺失的高频内容。字典学习方法将输入图像定义为耦合到hr字典的字典原子的稀疏线性组合,可以使用内部和外部参考示例,因为此类字典是使用内部和外部训练对以数据驱动的方式学习的。
54.基于深度学习的方法主要基于外部参考建立模型,同时近似超分辨率任务中固有的复杂非线性函数。开创性的卷积神经网络之一,超分辨率卷积神经网络(super-resolution convolutional neural network,srcnn),由一个简单的三层模型组成。此后,神经网络一直在实现卓越的性能,通常利用深层结构和残差学习。这些方法将双三次放大的lr图像作为其第一个卷积层的输入,这导致计算负担较高。为了解决这个问题,一种方案保持网络中特征图的空间分辨率与在lr图像中一样,并通过对多通道输出特征图进行简单重新排序来获取hr图像。基于转置卷积,也提出了类似的提高效率的方案。通过重用保存的内存(可能占原始网络的40%)来使用更大的模型,并将上采样推迟到网络的最末端,从而
去除批标准化层,进一步提高了性能。有观点认为,批标准化会导致尺度信息丢失,并阻碍网络的范围灵活性。
55.vsr方法将超分辨率任务从图像扩展到视频,通过聚合连续帧之间的空间信息,同时补偿帧间运动,暴露并利用时间相关性访问同一场景的多个参考。关于基于深度学习的方案,一个主要想法是在所有图像馈送到超分辨率网络之前,相对当前帧对齐和扭曲相邻帧。因此,vsr例如使用现成的光流算法显式计算运动是非常常见的。另一方面,计算运动通常成本较高。或者,运动估计层可以集成到超分辨率中作为网络的一部分。类似地,另一种方案使用滑动窗口方法,并结合了帧对齐和超分辨率步骤。也可以使用相当浅的递归双向网络进行联合运动补偿和超分辨率,而不需要显式运动补偿。但是,训练一个集成的、通常是低容量的运动估计层是具有挑战性的,可能会使精度失真。并非对运动进行补偿,而是使用方法同时对一批帧进行操作,以生成不同的高分辨率图像,然后将结果压缩为单个图像。但是,这些方法对视频中的运动程度很敏感。另一种值得注意的vsr方法在使用光流的对抗递归网络中应用感知损失,以便利用各帧间的时间线索和时间一致性损失项来加强各帧间的一致性。这种网络将放大推迟到生成网络的最末端,这可以认为使学习比阶段式学习更困难。基于像素重组的上采样已经在一种方法中引入,其中,网络还具有专用的光流子网。但是,基于块的运动补偿训练可能无法概括和解释大运动。随后,通过从显式运动补偿切换到3d滤波器,提供了一些小的改进。
56.本发明的实施例提供了一种根据视频帧的第一图像生成视频帧的第二图像的方法,其中,第二图像的分辨率高于第一图像的分辨率。第二图像是第一图像的重建超分辨率图像。与第一图像相比,第二图像包括视频帧的高分辨率(high-resolution,hr)或超分辨率(super-resolution,sr)细节。在本发明中,具有较高分辨率的第二图像通常称为视频帧的sr图像,具有较低分辨率大小的第一图像通常称为视频帧的低分辨率(low-resolution,lr)图像。该方法通常可以称为vsr过程或vsr方法。第二图像的大小可以与第一图像的大小相同或大于第一图像的大小。本文所使用的图像分辨率由每个面积单位(例如每平方英寸、每平方毫米)的像素数,或用于表示图像分辨率的任何其它单位表示。图像或帧的大小由图像的长度和宽度表示。例如,图像的大小可以为5cm*5cm,其分辨率为每平方毫米8个像素。在另一个示例中,图像的大小可以为5cm*5cm,其分辨率为每平方毫米16个像素。当两个图像的分辨率相同时,例如预定义分辨率相同时,它们的大小也可以由图像的像素数表示。例如,多个图像的大小可能相同,为64*64个像素。所讨论的图像也可以具有预定义大小,例如单位大小,例如4英寸*4英寸。在这种情况下,每个图像的分辨率可以由每个图像的像素数表示。例如,一个图像的分辨率可以是800*600(个像素),另一个图像的分辨率可以是1600*900。
57.sr图像与lr图像的比值称为放大因子r,其中,r可以是正整数或大于1的非整数。即,sr图像与lr图像的分辨率比值为r。放大因子也可以称为r
×
。sr图像的分辨率可以表示为r
×
。例如,分辨率可以为2
×
、4
×
、8
×
、1.1
×
、2.5
×

58.具体而言,这些实施例提供了一种神经网络模型(例如用于4
×
或更高视频超分辨率),该神经网络模型能够通过利用运动补偿参考帧并重用在自举(换句话说,递归)的分辨率增强过程的前几个阶段估计的参考帧的高分辨率版本来生成具有高分辨率细节的清晰视频帧。这些实施例不对图像中的对象进行任何假设,因此是类别无关的。
59.直观上,当可用于对高分辨率细节建立证据的低分辨率参考的数量增加时,神经网络的超分辨率性能就会提高。因此,可以使用当前帧的多个运动补偿参考帧。优化神经网络以获取时间一致的结果通常并不简单,因为当前步骤中没有直接包括先前超解析帧的信息。时间一致性是指重建的hr视频的连续帧之间不存在视觉伪影、闪烁、纹理变化、振动模式和类似的动态变化。时间一致的视频帧不包含背景场景和对象的任何人为和分散注意力的运动。换句话说,两个连续视频帧的sr版本具有相似的运动特征。为了实现时间一致的结果,可以使用自举帧递归方法,其中,前一步骤的重建高分辨率帧可以在将其像素重排成大小小于重建高分辨率帧的大小的多个图像之后调度到网络中。
60.下文对这些实施例进行总体描述,然后进行详细描述。
61.根据一个实施例,用于生成视频帧的sr图像的神经网络模型可以包括三个组成部分,即,重组和组合多个运动补偿参考帧的输入子网、对lr特征图应用卷积块的混合骨干子网,以及重建高分辨率图像的空间上采样子网。神经网络也可以称为卷积神经网络。神经网络模型用于实现或执行从lr图像重建sr图像的vsr过程。
62.混合骨干子网可以包括卷积残差单元或块。在一长串的残差单元(层)之后,可以从第一特征层到最后一个特征层嵌入直接跳过连接,以保持原始参考帧对最后一层特征图的影响。因此,混合骨干子网的条件是重建残差信息,该残差信息包括视觉数据中缺失的高分辨率模式。残差块和直接跳过连接还支持加深混合骨干子网,从而提高网络的整体表示能力,并增加了更高层卷积层的感受野面积,从而实现更好的上下文反馈。表示容量应该与网络参数的数量成正比。神经网络由相互连接的多层神经元和滤波器组成。每个神经元应用线性或非线性运算的组合。这些运算是根据权重、偏置项和函数参数定义的。这些权重、偏置项和函数参数也称为网络参数。网络参数的数量是整个神经网络的这些参数的计数。混合骨干子网利用运动补偿参考帧的不同组合,包括前一阶段的当前图像的估计高分辨率输出的重组和低分辨率映射版本。这可以在后续阶段将初始模型转移到逐步更复杂的网络中。
63.在混合骨干子网之后,应用空间上采样子网以从混合骨干子网生成的特征图重建高分辨率图像。空间上采样子网使用具有学习权重的像素重组,因此不需要反卷积。可以认为,混合骨干子网准备了通常可能的最佳特征图,这些特征图具有大量通道,空间上采样子网层使用这些层的滤波器的学习权重将特征图重排成hr图像。
64.这些实施例中的特征图是卷积神经网络层的输出。此输出可以是3d。卷积神经网络层可以包括滤波器,其输出可以认为代表卷积神经网络层的输入的“特征”。输入和输出都可以是张量。张量可以具有任何高维数据结构。例如,矢量是1d张量,灰度图像是2d张量,矩阵是2d张量,彩色图像是3d张量(有3个颜色通道),彩色视频是4d张量。
65.然后,vsr过程可以通过如下方式进行自举:将估计的hr图像进行空间到深度重排,成为多个lr通道,更新运动补偿,组合估计帧和原始帧,并再次应用类似的网络作为下一阶段。这种帧递归方法可以对估计的高分辨率结果进行自举,并提供额外的性能改进。
66.一个实施例自举vsr方案可以包括多个阶段。每个阶段使用神经网络模型,并具有输入子网、深度混合骨干子网和空间上采样子网,如图1所示。需要说明的是,每个阶段都是一个独立的网络。
67.图1示出了神经网络100的实施例架构的图。神经网络100可用于从当前视频帧的
lr图像生成当前视频帧的sr图像。神经网络100包括用于生成当前视频帧的sr图像的n个阶段。每个阶段使用上述神经网络模型,并生成当前视频帧的中间图像/结果。最后一个阶段生成的中间图像/结果也可以称为神经网络100的最终结果,因为它用作神经网络100生成的当前帧的重建sr图像。在该实施例和其它以下实施例中,神经网络100的当前帧的输入图像(即,到第一阶段的输入图像)称为“lr”图像。根据该lr图像重建sr图像。在该实施例和其它以下实施例中,由神经网络100生成/输出的最终结果(即,由神经网络100的最后一个阶段生成的结果)称为(lr图像/帧的)“sr图像”。sr图像的分辨率高于lr图像的分辨率,并且该sr图像是输入lr图像的重建图像。在神经网络100的操作期间由每个阶段生成的中间图像可以描述为(lr图像/帧的)“hr图像”。hr图像的分辨率高于lr图像的分辨率,可能与sr图像的分辨率相同或更低。因此,由最后一个阶段生成的图像可以称为hr图像或sr图像。在图1中,由各阶段生成的这些中间图像由sr
t,i
表示,其中,i表示第i阶段。本文使用术语“lr”、“hr”和“sr”表示图像的相对分辨率,不应解释为仅限于任何特定分辨率。
68.lr图像的大小(例如,大小1)可以小于sr图像的大小,或与sr图像的大小相同。神经网络100可以视为自举vsr方案。神经网络100接收多个视频帧102(包括当前视频帧101)作为输入,并根据视频帧102生成当前视频帧的sr图像。视频帧通常是视频中的图像。视频帧的图像源是视频,并且可能存在与视频帧相关联的时间。所述多个视频帧包括待生成sr图像的当前视频帧101和当前视频帧的多个参考帧103。多个视频帧102对应于具有相同lr分辨率和相同图像大小(例如大小1)的图像。多个视频帧102也可以称为lr帧/图像。在以下描述中,为了说明的简单起见,“视频帧”也称为“帧”。术语“视频帧”和“帧”可互换使用。术语“帧”和“图像”在本发明中可互换使用。术语“帧”与“图像”之间的区别,以及术语“视频帧”与“帧”之间的区别在需要时提供。
69.如图所示,神经网络100包括多个阶段,即阶段1、阶段2
……
阶段n。n可以是大于1的整数。n可以是预定的数字,例如3、5或8。n也可以动态调整。例如,神经网络100可以持续逐阶段运行(因此n增加),直到达到目标放大因子(即,当运行的当前阶段的输出图像已经达到为lr当前帧确定的目标分辨率时)。在一个示例中,每个阶段提供2
×
放大,目标放大因子为16
×
,则需要运行四个阶段(n为4)才能达到目标放大。随后执行多个阶段。阶段1也可以称为初始阶段。阶段1将多个视频帧102作为输入,并在阶段1中生成当前视频帧101的hr图像,即结果sr
t,1 118。hr图像118的分辨率可以高于lr图像102的分辨率。每个其它阶段(除了初始阶段)将参考帧103的sr图像(例如,通过使用神经网络100先前估计)和前一阶段的输出(即,当前视频帧的估计hr图像,例如118)作为输入,并在阶段2中处理输入以生成当前视频帧101的另一hr图像,例如结果sr
t,2 128。输入还可以包括数字世界参考图像。参考帧103的sr图像(包括参考帧103的每个参考帧的sr图像)可以以类似于当前视频帧101的sr图像的方式生成,如本发明的下文所述。神经网络100继续运行到阶段3、阶段4
……
,直到阶段n。最后一个阶段(即阶段n)的输出包括最终结果sr
t,n 104,其是当前视频帧101的sr图像。sr图像是当前视频帧101的重建高分辨率图像。最终结果sr
t,n 104称为神经网络100在重建当前视频帧时的最终结果。最终结果可以与参考帧103的sr图像一起保存在存储器140中。在重建当前帧的下一个视频帧的sr图像时,这些存储的sr图像可以用于估计下一个视频帧的sr图像。重建多个视频帧的sr图像可以逐帧进行。例如,将多个视频帧中的第一帧作为当前帧,并且如上所述,神经网络100在第一周期内通过n个阶段重建作为当前帧的第一
帧的sr图像。然后在第二周期(或下一个周期)中,将多个视频帧中的第二帧(即,第一帧的下一帧)作为当前帧,并且如上所述,神经网络100通过n个阶段重建作为当前帧的第二帧的sr图像。类似地重建多个视频帧的其余视频帧。所述多个视频帧可以是视频的顺序帧。当当前帧是视频的第一帧时,即,当前帧之前没有可用作参考帧以重建当前帧的帧时,可以使用任何其它可用资源(例如数字世界参考图像)提供图像作为当前帧的参考帧。例如,可以从例如数字世界参考图像中选择包含当前帧的类似或关键内容、图像、场景的图像,并用作当前帧的参考帧。存储器140可以存储使用神经网络100估计的sr图像。存储器140还可以存储其它数据,例如在阶段执行期间生成的任何结果。
70.每个阶段包括输入子网、混合骨干子网和空间上采样子网。如图所示,阶段1包括输入子网112、混合骨干子网114和空间上采样子网116。阶段2包括输入子网122、混合骨干子网124和空间上采样子网126。阶段n包括输入子网132、混合骨干子网134和空间上采样子网136。每个阶段可以是一个独立的网络。
71.输入子网112包括lr场景流块111和初始多参考块113。lr场景流块111使用多个视频帧102计算相对于当前视频帧101的lr流。lr场景流块111还可以使用数字世界参考图像计算lr流。数字世界参考图像可以包括高分辨率信息,该高分辨率信息可以用于生成当前图像101的hr图像。在本发明的下文中提供详细信息。初始多参考块113根据lr流生成张量。除阶段1外的其它阶段的输入子网的操作类似,每个阶段都包括hr场景流块和中间多参考块。如图所示,输入子网122包括hr场景流块121和中间多参考块123。输入子网132包括hr场景流块131和中间多参考块133。hr场景流块(例如,hr场景流块121)使用当前视频帧的多个参考帧103和从前一阶段(例如,阶段1)生成的当前帧的hr图像计算相对于当前视频帧的hr流。具体而言,hr场景流块使用参考帧103的sr图像和当前帧101的hr图像计算hr流。中间多参考块(例如,中间多参考块123)根据hr流、从前一阶段(例如,阶段1)生成的张量、参考帧103的sr图像,以及从前一阶段(例如,阶段1)生成的hr图像生成张量。关于输入子网、混合骨干子网和空间上采样子网的详细信息在本发明的下文中提供。
72.每个参考帧可以是rgb图像,其被归一化为[-1,1],例如,用于高效的反向传播。参考帧是根据待重建的当前帧确定的,用于重建当前帧的所有阶段都使用相同的参考帧。参考帧可以包括当前帧的相邻帧。这些相邻帧可以是连续帧。可以在以当前帧为中心的时间窗口内选择参考帧。在一个示例中,时间窗口可以设置为具有[t

n,t n]的大小,其中,t表示当前视频帧,n是大于0的整数。根据时间窗口,选择当前视频帧之前的n个连续帧和当前视频帧之后的n个连续帧作为当前视频帧的参考帧。在一个示例中,n可以设置为2,即,时间窗口大小设置为[t

2;t 2],作为生成当前视频帧的sr图像的速度与精度之间的权衡。在该示例中,选择时间窗口内的四个参考帧,并且包括当前帧在内的总共五个帧用作神经网络100的输入。在另一个示例中,可以使用时间窗口[t

3;t 3](即,n=3)。在这种情况下,用于添加两个参考帧(与n=2相比)的图形处理单元(graphic processing unit,gpu)推理时间较短(约1毫秒)。但是,一个可能引起关注的问题是额外的光学计算的成本,这可能需要大约400毫秒。在另一个示例中,时间窗口可以设置为[t

k,t],其中,t表示当前视频帧,k为大于0的整数。在这种情况下,选择当前视频帧之前的k个连续帧作为当前视频帧的参考帧。如图1所示,当前时间窗口t1([t

k,t])用于选择多个帧102。前一个时间窗口t2([t
–k–
1,t

1])可以用于选择帧i
t
–1之前的k个帧,用于估计帧i
t
–1的sr图像。虽然在图1的实施例中使用
时间窗口[t

k,t]来选择当前帧的参考帧,但也可以使用其它时间窗口。例如,可以使用时间窗口[t

n,t n]或[t

m,t n],其中,n和m是大于0的整数。
[0073]
在一些实施例中,时间窗口[t

m,t n](其中,m可以不同于或等于n)用于确定当前帧的参考帧,即,当前帧的参考帧包括当前帧之后的帧。这可能是如下情况:当前帧的后续帧可以为重建当前帧的sr图像提供有用的信息。在这种情况下,可以调整上述用于重建当前帧的sr图像的逐阶段过程,以便可以获取当前帧的后续帧的hr图像甚至sr图像以供使用。例如,用于重建当前帧i的参考帧包括帧i

2、i

1、i 1和i 2(即,使用时间窗口[t

2,t 2])。帧i

2和i

1在当前帧i之前已重建,因此它们的sr/hr图像已经可用。当前帧i和后续帧i 1和i 2将被重建。在一个实施例中,神经网络100的第一阶段(阶段1)可以针对当前帧i和后续帧i 1和i 2中的每一个运行,以针对当前帧i和后续帧i 1和i 2中的每一个生成第一估计hr图像,例如,分别由sr
i,1
、sr
i 1,1
和sr
i 2,1
表示。但是,在第一阶段,用于生成sr
i,1
、sr
i 1,1
和sr
i 2,1
的时间窗口是[t

k,t]。这样一来,获取了后续帧i 1和i 2中每一个的hr图像,该hr图像可以用于在后续一个或多个阶段中使用时间窗口[t

2,t 2]重建当前帧i。例如,可以与上文关于图1描述的类似,运行第二阶段,以使用时间窗口[t

2,t 2]生成当前帧i的第二估计hr图像,即sr
i,2
。即,在第二阶段,使用帧i

2和i

1的sr图像以及帧i 1和i 2的hr图像sr
i 1,1
和sr
i 2,1
来估计sr
i,2
。在另一个实施例中,可以运行阶段1和阶段2以使用时间窗口[t

k,t]生成当前帧i和后续帧i 1和i 2的估计hr图像。在阶段3中,后续帧i 1和帧i 2的估计hr图像然后可以用于使用时间窗口[t

m,t n]估计当前帧的hr/sr图像。本领域普通技术人员会认识到,在不脱离本发明原理的情况下,根据时间窗口[t

m,t n]使用当前帧的参考帧的其它变化也可以应用于本发明的实施例中。
[0074]
可以对多个视频帧102进行均匀采样。采样频率可以根据运动或帧差异选择。例如,当运动较小时,可以降低采样频率,反之亦然。
[0075]
例如,可以使用从每个参考图像/帧到当前帧的帧间运动,相对当前视频帧扭曲(即,运动补偿)每个参考帧。运动补偿通过考虑视频中给定帧的帧间运动来预测该给定帧的运动补偿(即扭曲)版本。扭曲(运动补偿)参考帧可以通过为相对当前像素坐标在该当前像素坐标处偏移帧间运动的每个参考帧像素分配值来计算。输入子网将多个运动补偿(即扭曲)参考帧作为输入张量,并对该输入张量应用卷积滤波器层。输入张量的稠密光流可以在光流过程中使用另一个光流网络模型来估计。该光流网络模型依赖于堆叠光流网络的布置,这些堆叠光流网络捕获粗光流估计中的大位移,然后可以通过后续光流网络来细化这些位移。在光流过程的最后一步,这些多尺度估计由浅光流融合网络融合。稠密光流可以通过其它方法计算,例如相位相关、块匹配、微分方法和离散优化。
[0076]
在为当前视频帧101选择四个参考帧103的示例中(多个视频帧102包括五个帧,即当前帧101和四个先前帧103,称为lr帧102),输入网络112可以将参考帧103的四个扭曲图像和当前视频帧101布置在15通道张量中,然后将256个滤波器应用于15通道张量,每个滤波器的尺寸为3
×3×
15。滤波器的数量和每个滤波器的尺寸可能会有所不同。
[0077]
在阶段1中,针对当前帧101估计/重建hr图像sr
t,1 118。对于以下阶段,可以使用其它参考。以阶段2为例,在阶段2中使用hr图像sr
t,1 118和参考帧103的sr/hr图像(包括四个参考帧103中的每个参考帧的sr图像)作为输入,该输入包括五(5)个hr图像。在一个示例中,阶段2中输入的每个图像的像素可以被重排(即,空间到深度)成16个lr图像。因此,五张
hr图像被转换为lr图像。然后,来自5个hr图像的所有得到的lr图像(16*5=80个lr图像)可以组合成240通道张量。然后,可以将240通道张量与五个lr帧102(即,15通道张量)级联,以获取具有原始lr空间分辨率的255通道张量。然后,255个通道可用于重建sr
t,1 118。对于2
×
超分辨率(即,当前帧101的分辨率与待为当前帧101生成的sr图像大小的分辨率的比值),空间到深度重排后的lr图像的数量将是4。
[0078]
需要说明的是,实施例神经网络100在其所有子网和阶段中对与原始帧(即视频帧102)具有相同的lr分辨率的图像进行计算和处理。通过对在神经网络100中处理的所有图像(例如,原始lr帧和估计hr帧的重排图像)使用相同的lr图像分辨率和rgb模式,学习变得更高效。多个参考为超分辨率任务提供空间振动的局部模式。
[0079]
lr帧的重建sr图像可以应用于各种用途,如本领域技术人员所认识到的。例如,lr帧的重建sr图像可以在屏幕上显示,用于lr帧的增强视图。在另一个示例中,可以重建lr帧的sr图像并传输到接收点。在又一个示例中,可以重建lr帧的sr图像以进一步处理lr帧,例如从lr帧的图像中提取特征,或进行图像识别。在又一个示例中,lr帧的重建sr图像可以用于对其它帧的图像进行处理。
[0080]
图2示出了如图1所示的阶段1中的输入子网112和阶段2中的输入子网122的实施例操作的图200。下文结合图1和图2描述图2。阶段2之后的各阶段中的输入子网具有与阶段2类似的操作。在该示例中,k 1个视频帧202,包括当前帧i
t
和k个参考帧i
t
–k、i
t

k 1
……it
–1用作神经网络的输入。
[0081]
lr场景流块111获取输入视频帧202,并使用输入视频帧202计算相对于当前帧的lr流(也称为lr场景流)(块212)。lr流包括每个参考帧的流图,以及视频帧202的扭曲视频帧。lr流可以使用光流网络计算,该光流网络采用当前视频帧和参考帧202的lr版本。lr流也可以使用其它光流计算方法进行计算。lr场景流块111可以相对于拍摄视频帧的相机、2d光流或运动矢量生成6d场景流图。然后,将计算出的lr流图发送到初始多参考块113。lr场景流块111还生成扭曲的视频帧,这些扭曲的视频帧是使用lr流图生成的输入视频帧202的对齐版本。lr场景流块111的输出包括lr流图和扭曲的视频帧。使用lr流图,每个扭曲的视频帧相对于当前帧的场景(或图像)与当前帧对齐。lr流包括视频帧202的数字扭曲图像。
[0082]
在阶段1中,初始多参考块113获取lr流,并在一个或多个参考帧中查找(或选择)向后扩展区域(块214)。通常,对于当前帧中的区域,参考帧中与当前帧中的一个区域对应的高向后扩展区域更可能包含当前帧中该区域的更有用的hr信息(例如,hr纹理信息)。当前帧的参考帧中的向后扩展区域是描绘场景和/或对象(或场景或对象的一部分)的图像像素的集合。该场景或对象也可以在当前帧中找到。但是,参考帧中的场景或对象的分辨率高于当前帧中的场景或对象的分辨率或大小大于当前帧中的场景或对象的大小。换句话说,当前帧的参考帧中的向后扩展区域描绘了当前帧中场景(或区域)的放大版本。即,描绘当前帧中场景的区域在参考帧中被放大。由于参考帧中的向后扩展区域的分辨率高于当前帧中的对应区域的分辨率或大小大于当前帧中的对应区域的大小,因此该向后扩展区域可以包括可以用于提高当前帧的分辨率,或者至少提高当前帧中对应区域的分辨率的信息。
[0083]
初始多参考块113可以确定/识别参考帧中对应于当前帧的每个区域的向后扩展区域。然后,向后扩展区域可以用于重建当前帧的hr图像。在一个实施例中,初始多参考块113可以确定参考帧中像素的向后扩展尺度(或向后扩展级别)。向后扩展尺度可以根据当
前帧中的区域在参考帧的向后扩展中放大的程度来确定。初始多参考块113然后为视频帧202中的像素分配根据扩展尺度确定的效用分数,从而针对包括当前帧的视频帧202的每个视频帧计算和构建效用掩码217(即,u
t
–k、u
t

k 1
……ut
)(块216)。帧的效用掩码是根据分配给帧像素的效用分数构建的。帧的效用掩码包括帧像素的效用分数集合。视频帧(包括m*n个像素)的效用掩码可以是m*n矩阵,该矩阵包括分配给帧的相应m*n个像素的m*n个效用分数。当前帧的参考帧的效用掩码表明参考帧(例如,在该示例中为当前帧的前一帧)中的哪个(些)区域是当前帧中对应区域的更大版本,因此对于生成当前帧的sr图像可能是重要的(例如,包括sr图像的详细hr信息)。当前帧的效用掩码可以包括表明当前帧不包括当前帧的向后扩展区域的分数。效用分数可以在[0,1]的范围内。接近0的效用分数表明像素对生成sr图像的贡献很小。接近1的效用分数表明像素可能包括可用于生成sr图像的(在不同级别)的特征,因此可能有助于生成sr图像。效用分数也可以是二进制形式,其中,每个像素值为零(0)或1。确定扩展区域和构建效用掩码的示例在本发明的下文描述。
[0084]
然后,对输入视频帧202和效用掩码217进行布置,以生成张量220(块218)。张量220可以称为特征图。每个图像或效用掩码是张量220中的一个通道。输入视频帧202和效用掩码217可以按各种方式布置以生成张量220。在一个实施例中,输入视频帧202和效用掩码217可以按模式布置以形成张量220。例如,输入视频帧202可以根据输入视频帧202的序列按升序或降序排序,例如从i
t
到i
t
–k。输入视频帧202的效用掩码也可以根据输入视频帧202的序列按升序或降序排序,例如,从u
t
到u
t
–k。然后,对输入视频帧202和效用掩码217进行布置,使得它们按顺序彼此交替(如a所示),即i
t
、u
t
、i
t
–1、u
t
–1……
。在另一个示例中,输入视频帧202和效用掩码217可以分别根据序列按升序或降序排序,例如,从i
t
到i
t
–k和从u
t
到u
t
–k,并且输入视频帧202置于效用掩码217之前(如b所示),即i
t
……it
–k,u
t
……ut
–k;或者,输入视频帧202置于效用掩码217之后。在另一个示例中,将输入视频帧202分别与效用掩码217相乘(将输入视频帧202的像素值和它们对应的效用掩码的效用分数相乘),相乘结果用于形成张量220(如c所示)。然后,可以将张量220发送到阶段1的混合骨干子网114。根据张量220,阶段1通过对张量220进行卷积滤波等方式(通过混合骨干子网114和空间上采样子网116)生成当前帧的估计hr图像232(例如,sr
t,1
),该估计hr图像232的分辨率高于当前帧的图像的分辨率。也可以将张量220发送到中间多参考块123,参与阶段2的处理。
[0085]
在阶段2中,hr场景流块121获取前一阶段hr估计(即在阶段1中生成的估计hr图像232)以及先前已经估计的参考帧的sr图像作为输入,并且使用该输入计算相对于当前帧的估计hr图像232的hr流(也称为hr场景流)(块234)。换句话说,阶段2中hr场景流块121的输入是多个视频帧202的高分辨率图像。在阶段2中,hr场景流块121的输入还可以包括经检索并调整大小的数字世界参考图像(块262)。关于数字世界参考图像的详细信息在本发明的下文提供。参考帧的sr图像可以从存储器260检索。存储器260类似于图1所示的存储器140。存储器260可以包括视频帧(例如,当前帧之前和/或之后的帧)的sr图像,这些视频帧已经使用如本发明中所述的类似方法估计。hr流的计算类似于关于块212所述的lr流的计算。hr流包括参考帧的sr图像的数字扭曲图像(从存储器260获取)和当前帧的估计hr图像232(从前一阶段,即阶段1估计),以及参考帧的每个sr图像的流图。
[0086]
中间多参考块123获取hr流,在参考帧的sr图像中查找与当前帧的估计hr图像232的区域对应的向后扩展区域,并根据hr流计算参考帧的sr图像和估计hr 232的另一个效用
掩码集合(块236)。例如,中间多参考块123可以根据hr流确定参考帧的一个或多个sr图像中的一个或多个向后扩展区域,并根据确定的一个或多个向后扩展区域为参考帧的sr图像和估计hr图像232的像素分配效用分数,从而根据hr流针对参考帧的sr图像和估计hr图像232中的每一个生成效用掩码。
[0087]
估计hr图像232和参考帧的sr图像中的每一个是高分辨率图像,并且可以显示为通过重排其lr图像的图像像素而形成的图像238。如图所示,图像238包括多个着色不同的方块。具有相同阴影的方块表示lr图像中位于相同位置的像素。可以对图像238进行下采样并传递到卷积层(例如,全卷积层)240,这些卷积层生成估计hr图像232和参考帧的sr图像的特征图(张量)。特征图可以称为卷积神经网络层(即卷积层240)的输出。该输出可以是3d,对应于映射的输入。输入和输出是张量。全卷积层由应用于输入的多个卷积滤波器组成,该输入可以是图像、矩阵或高维矩阵(张量)。这些滤波器可以是三维(three dimension,3d)、2d或1d。这些滤波器可以是可分离的。这些全卷积层用于通过应用卷积滤波将输入(例如张量)变换为输出张量。它们可以变换数据空间。特征图可以相对于放大因子进行重排(块244),从而生成多个lr图像246。lr图像246的大小小于估计hr图像232和参考帧的sr图像的大小。放大因子是估计hr图像232与当前帧/图像的比值。例如,放大因子可以是2
×
、4
×
或6
×

[0088]
然后,将来自阶段1的lr图像246和张量220与在块236中计算的效用掩码一起布置,以生成张量250(块248)。张量250也可以称为特征图。然后,张量250可以在阶段2中发送到混合骨干子网124以进行进一步处理。例如,可以在阶段2中对张量250进行卷积滤波,以生成当前帧的估计hr图像。还可以将张量250发送到下一阶段(即阶段3)的输入子网,参与阶段3的处理。
[0089]
例如,在阶段3中,阶段2中当前帧的估计hr图像和参考帧的sr图像用于计算另一个hr流(类似于块234),并根据hr流计算阶段2中当前帧的估计hr图像和参考帧的sr图像的阶段3效用掩码(类似于块244)。也可以对阶段2中当前帧的估计hr图像和参考帧的sr图像进行下采样并传递到卷积层(类似于块240),然后相对于放大因子进行重排(类似于块244),从而在阶段3中生成多个lr图像。然后,这些lr图像、阶段3效用掩码和在阶段2中生成的张量250用于形成阶段3张量。然后,阶段3张量可以用于在阶段3中通过对阶段3张量进行卷积滤波等方式生成当前帧的估计图像,或传递到阶段3中的混合骨干子网和空间上采样子网。阶段3张量也可以传递到阶段4参与阶段4的处理,类似于阶段2中的张量250参与阶段3的处理。
[0090]
以五个lr视频帧202(包括一个当前帧和四个当前帧的参考帧)为例,在阶段1中,输入子网112布置五个lr视频帧202及其相应的效用掩码,以生成15通道张量220,其中,每个lr视频帧具有三个通道,五个lr帧对应于15个通道,并且通过对张量220进行卷积滤波等方式来生成估计hr图像232。在阶段2中,估计hr图像232和四个参考帧的sr图像用作输入帧(五个hr帧)。阶段2中的五个输入hr帧各自可以类似于图像238表示。在阶段2中,可以对五个输入hr帧中的每一个进行重排(即,空间到深度),以针对2
×
放大因子生成16个lr图像,从而为五个输入hr帧生成80个lr图像246。然后,可以组合(例如,级联)80个lr图像246(形成240通道张量)和15通道张量220以及五个输入hr帧的效用掩码以形成255通道张量250。在这种情况下,五个输入hr帧的效用掩码可以与五个输入hr帧按关于块218如c所示的模式
布置。五个输入hr帧的效用掩码也可以与五个输入hr帧按其它适用的模式布置,在这种情况下,张量255的张量通道的数量可以增加。然后,在阶段2中,混合骨干子网124和空间上采样子网126使用张量250以生成阶段2中当前帧的hr图像(例如,sr
t,2
)。张量250也可以发送到阶段3,参与对阶段3中生成的张量的处理(以类似于在阶段2中发送和处理的张量220的方式)。
[0091]
除了参考帧之外,lr场景流块111还可以将当前帧的调整大小的数字世界参考图像作为输入。这些数字世界参考图像由阶段1的lr场景流块111或后续阶段中的hr场景流块以与参考帧相同的方式处理。数字世界参考图像可以例如根据从视觉定位系统(visual positioning system,vps)204获取的信息从数字世界图像数据库208检索,其中,信息(在下文中称为vps信息)可以包括地理空间位置、姿态、角速度、线速度和相对于全局参考坐标的位置,以及惯性测量单元(inertial measurement unit,imu)数据。惯性测量单元用于使用加速度计、陀螺仪和/或磁力仪的组合测量处理器周围的力、角速率和磁场。在一个实施例中,处理系统(例如本发明的下文所示的处理系统800或900)可以安装在使用相机的主机设备中。在这种情况下,可以获取vps信息,该vps信息包括捕获视频的相机的位置和方向。vps信息也可以手动获取或提供,或通过输入视频的另一个进程获取或提供。数字世界图像数据库208可以包括街道、地标、室外和室内环境、建筑物和所有地理空间位置的图像。这类图像可以由用户例如使用数码相机以及其它相机(例如用于拍摄街道级图像、空中和卫星图像的相机)捕获。这些图像可能具有关联的地理空间标签,该标签可以是6自由度(degrees-of-freedom,dof)姿态信息、全球定位系统(global positioning system,gps)信息或地图坐标的形式。
[0092]
检索最佳视图块206可以获取当前帧和从vps 204获取的当前帧的vps信息,并在数字世界图像数据库208中搜索具有相似vps信息的与当前帧相似的图像。它可以从数据库208检索当前图像的一个或多个匹配图像。可以定义规则来确定匹配的图像。例如,可以检索一个或多个总体最佳的匹配图像。然后,可以将匹配图像的大小调整为lr图像大小(块210),并发送到lr场景流块111以用于计算lr流。也可以将匹配图像发送到hr场景流块121,以用于计算hr流。在一个示例中,当前帧在背景中显示塔的图像。检索最佳视图块206搜索数据库208以查找具有相似地理空间标签(数据库中的图像具有地理空间标签)并描绘塔的一个或多个图像。它可以返回具有最相似位姿(例如,6dof位姿)和成像条件的一个或多个图像作为当前帧。检索最佳视图块206的输出可以是塔的一个或多个图像。
[0093]
图3示出了图300,该图示出了神经网络(例如神经网络100)中的实施例混合骨干子网310和实施例空间上采样子网340。混合骨干子网310可以用作如图1所示的混合骨干子网114、124和134。空间上采样子网340可以用作如图1所示的空间上采样子网116、126和136。通常,混合骨干子网310和空间上采样子网340对输入子网(例如输入子网112或122)生成的张量进行卷积滤波,并生成当前帧的重建hr图像。
[0094]
混合骨干子网对输入子网生成的低分辨率特征图(即张量)应用全卷积块(或单元)。混合骨干子网310获取输入子网生成的张量(即特征图)302,并根据张量302生成混合骨干特征图。张量302和混合骨干特征图对于空间维度而言各自具有当前帧的图像大小。到混合骨干子网310的输入张量302包括重排的lr图像和对于空间维度(例如,张量的前两个维度)而言具有当前帧的图像大小的效用掩码,张量的深度大小(第三维度)可以根据参考
帧的数量、上采样比和/或数字世界参考图像的数量而变化。由混合骨干子网310生成的特征图具有与输入张量302相同的空间维度;但是,其第三维度可能与输入张量302不同。混合骨干子网的特征图包括应用多个残差单元之后的(对于当前帧)超分辨率任务的增强信息。然后,混合骨干特征图提供给空间上采样子网340以进行进一步处理。
[0095]
混合骨干子网310包括卷积层312和多个全卷积残差单元,例如如图所示的全卷积残差单元314和316。残差单元可以增加混合骨干子网310中的层数量,以及将阶段的所有子网一起高效训练。多个全卷积残差单元串联连接。多个全卷积残差单元的数量可以变化,例如为16、10或20。每个残差单元包括多个层,从残差单元的输入到输出具有直接跳过连接,其中,输入张量逐元素添加到输出张量。残差单元能够增加混合骨干子网的深度,因此提高神经网络的整体表示能力。表示容量与网络参数的数量成正比。通过增加混合骨干子网的深度,连续卷积层的感受野面积增加,因此更深的混合骨干子网可以为超分辨率任务提供更好的上下文信息。混合骨干子网310中的每个卷积层对输入张量(例如张量302)进行卷积滤波(例如3d、2d或1d卷积滤波),并生成输出,该输出馈送到连续卷积层,例如全卷积残差单元314。卷积层312获取输入特征图(即张量)302,应用卷积滤波器,并生成卷积层312的输出特征图,其中,所述卷积滤波器可以在卷积滤波器的感受野内合并局部信息。输出特征图利用信息和局部上下文增强。卷积层(例如,残差单元314和316)的连续应用可以增加投影回初始特征图上的后续层的局部感受野,从而在最终特征图内更好地结合局部上下文。这可以提高超分辨率结果。每个全卷积残差单元都有前卷积层,之后跟修正线性单元(rectified linear unit,relu)和第二卷积层,从前卷积层的输入到第二卷积层的输出有一个跳过连接。例如,全卷积残差单元314具有前卷积层318,之后跟relu 320和第二卷积层322,从前卷积层318的输入到第二卷积层322的输出具有跳过连接324。全卷积残差单元316具有前卷积层326,之后跟relu 328和第二卷积层330,从前卷积层326的输入到第二卷积层330的输出具有跳过连接332。每个全卷积残差单元作为卷积滤波器工作,对其输入进行卷积滤波并生成输出,该输出是输入的滤波结果。具体而言,每个全卷积残差单元对其输入进行非线性变换,并将其输出馈送到下一个全卷积残差单元。relu是修正线性单元,它可以是一种激活函数。从数学上讲,激活函数可以定义为0和relu的输入的最大值,即relu=max(0,x)。relu可以替换为非线性激活函数,例如,泄漏relu、指数线性单元(exponential linear unit,elu)、swish(其中,输出用其反指数加一缩放)、双曲正切、参数relu、上限幅relu(其中,如果relu的输出大于参数的值,则将其设置为固定值)和sigmoid。
[0096]
混合骨干子网310还具有从第一全卷积残差单元(即,在该示例中为314)的输入到最后一个全卷积残差单元(即,在该示例中为316)的输出的直接跳过连接334。该跳过连接334支持混合骨干子网310通过重建残差信息来学习缺失的高分辨率细节。如图1所示的神经网络100中每个阶段的混合骨干子网的结构与混合骨干子网310相同。
[0097]
全卷积残差块或单元(例如314和316)和直接跳过连接(例如324、332和334)能够进一步加深每个阶段的混合骨干子网。这通过支持神经网络由更深层(即多个)层(卷积层)组成,从而具有更多的参数提高了神经网络的整体容量,并增加了卷积滤波器的感受野大小。感受野是投影到初始输入特征图上的卷积滤波器的有效面积。例如,全卷积残差块314的当前(第一)层318中的3
×
3滤波器在其输入特征图(即312的输出特征图)上的感受野为3
×
3。在3
×
3滤波器的两个层(即,当前层3
×
3、第二层3
×
3)之后,全卷积残差块314的第二
层322的3
×
3滤波器在输入特征图(即,312的输出特征图)上的感受野为5
×
5。因此,混合骨干特征图可以更好地访问参考图像中的上下文信息。
[0098]
空间上采样子网340用于从混合骨干子网310生成的特征图重建当前帧的高分辨率图像。由于图像像素是重组的,并应用了一组卷积滤波器,因此上采样不需要反卷积操作。空间上采样子网340包括串联连接的多个卷积层(例如卷积层342、344)和上采样层346。这些卷积层342和344是卷积层,每个卷积层包括多个滤波器(例如,3d滤波器)。这些滤波器也可以是2d或1d滤波器。这些滤波器对空间上采样子网340的输入进行卷积滤波。空间上采样子网340的最后一层(即上采样层346)可以包括用于生成图像的滤波器。例如,上采样层346可以具有用于生成3通道彩色图像的3个滤波器。上采样层346使用滤波器来生成具有更高分辨率的放大图像,例如图像348。在不同阶段的空间上采样子网中,可以有不同数量的层(包括多个卷积层和一个上采样层)。例如,第一阶段(阶段1)的空间上采样子网中可以有3个层,后续阶段的空间上采样子网中可以有5个层。
[0099]
由混合骨干子网310生成的特征图可以包括数量相当多的特征图通道(即,张量通道)。例如,张量通道的数量可以是256。特征图通道由卷积层342、344进行滤波(通过进行卷积滤波),然后由最后一个上采样层346使用上采样层346的滤波器的权重重排每个像素成高分辨率图像。这些权重和其它子网(例如,混合骨干子网)的权重可以在训练过程中单独学习。第一阶段(阶段1)和第二阶段(阶段2)的空间上采样子网340的卷积层342、344的数量可以分别设置为3和5,因为第二阶段混合骨干特征图具有更多的通道。可以为每个阶段提供预设的放大因子,例如2
×
超分辨率,但当特征图足够深时,可以将上采样因子设置为更大的比值。
[0100]
图4示出了用于生成视频帧的效用掩码的实施例操作的图400。实施例操作可以用于神经网络中,以用于生成输入视频帧102或202的效用掩码,如图1和图2所示。如图所示,当前帧402的图像1和当前帧402的参考帧(或数字世界参考图像)404的图像2用于计算图像的流(块420)。该流可以称为场景流。流可以是lr流或hr流。流可以使用涉及求解微分方程的光流方法计算。流也可以通过其它方法计算,例如相位相关、块匹配、微分方法或离散优化。
[0101]
流指示图像1(402)中的像素在图像2(404)中的移动量。在一个实施例中,对于图像1(402)中位于位置p1(在x-y坐标平面中定义)的像素,可以确定第二图像中像素的对应位置p2,并且确定位置p1与p2之间的差值(例如,在x和y方向上)。差值是一个矢量,称为该像素的运动或流。可以为所有像素(即,稠密流)或为几个代表性像素(例如,块)计算流。在该示例中,流计算的输入是两个图像,例如图像402和404。流计算的输出包括参考帧404的流图430(也称为流图像)。流图430包括像素,其中,每个像素具有两个数字,一个数字对应x方向上的运动,另一个数字对应y方向上的运动。流计算(即流图)的目的是将当前帧的参考帧(和/或数字世界参考图像)扭曲到当前帧上。因此,流图还显示基于当前帧的扭曲(运动补偿)参考帧。因此,在当前帧中的每个像素周围,可能有多个参考像素(在参考帧或数字世界参考图像中)显示该像素的内容。如果一个lr图像缺失一些细节,则另一个lr图像(例如,参考图像或数字世界参考图像)可能包含这些细节。流计算可能会产生同一图像(当前图像)的多个版本,从而能够生成当前图像的超分辨率图像。即,流计算的输出包括根据当前帧/图像进行运动补偿的参考帧的图像。根据运动补偿参考帧确定流图。
[0102]
如图所示,图像402包括人头部图像406和汽车图像408,图像404包括大于406的人头部图像410,以及汽车图像412。流图430示出了人头部图像406和汽车图像408的流动。头部图像位置上的箭头表示参考帧404中的头部图像大于当前帧402中的头部图像,图像402和404中的汽车图像大小相同,但汽车位置上的箭头表示汽车412相对于汽车408的左流动。
[0103]
在一个实施例中,在参考帧404中查找向后扩展区域的过程(块440)期间,分析流图430。对于流图430中的给定区域,通过根据给定区域的像素的计算的流动平移这些像素来计算目标区域。如果目标区域大于给定区域,则目标区域是扩展区域。例如,当前帧402中的人头部图像442是给定区域,参考帧404中的人头部图像444是目标区域。由于目标区域444大于给定区域442,因此目标区域444是查找到的扩展区域。当前帧402中的汽车图像是另一个给定区域,并且分析参考帧404中的汽车图像以确定该汽车图像是否是给定区域的目标区域。由于区域446和448大小相同,即使汽车412相对于汽车408位于稍微左侧,区域448也不是扩展区域。也可以使用用于确定当前帧中的扩展区域的其它方法。
[0104]
在确定向后扩展区域的情况下,根据每个像素是否属于向后扩展区域,为帧的像素分配不同的分数,从而计算(或构建)帧402和404的效用掩码(块450)。图4示出了参考图像404的效用掩码460。效用掩码可以视为图像,并作为通道置于张量中。效用掩码也可以与其对应的参考帧或数字世界参考图像相乘,并置于张量中。
[0105]
图5示出了用于确定扩展区域和计算视频帧的效用掩码的实施例操作的另一个图500。这些操作可以在图4的块430和450中使用。在该示例中,分析流图502以确定当前帧的参考帧或数字世界参考图像中的向后扩展区域。为当前帧中坐标(x,y)处的每个像素p分配(或确定/选择)空间区域ro(p)(块512)。例如,空间区域可以是以像素p为中心的5
×
5块。区域大小和形状可能因不同像素而不同。使用流图,生成与区域ro(p)对应的区域ru(p)(称为更新区域)(块514)。这可以通过针对区域ro(p)中的每个像素,将流图值添加到ro(p)中的像素坐标,以查找更新区域ru(p)来完成。例如,对于像素p=(100,100),ro(p)可以是角坐标在(98,98)、(102,98)、(98,102)和(102,102)处的5
×
5区域。这些坐标处的流图矢量值可以分别为(

3,

3)、(3,

3)、(

3,3)和(3,3),其中,流图矢量中的第一值是x轴的运动,第二值是y轴的运动。然后,ru(p)角坐标为(95,95)、(105,95)、(95,105)和(105,105),这些角坐标通过将对应的流图矢量值添加到ro(p)的角坐标来获取。ru(p)角坐标定义更新区域ru(p)。然后计算ro(p)的面积(块516)。例如,对于5
×
5区域,面积为25。还计算更新区域ru(p)的面积(块518)。在该示例中,ru(p)的面积为121,因为它是11
×
11区域。计算ru(p)/ro(p)面积的比值(块520),即121/25=4.84。该比值可用作像素p的扩展尺度。比值4.84可分配为像素(100,100)处的效用分数。在一个实施例中,比值可以转换为0与1之间的范围内的值。例如,激活函数524可以应用于效用掩码的每个效用分数(块522)。激活函数524有助于映射[0,1]范围内的分数。激活函数可以是逻辑函数,即1/(1 exp(

分数)),其中,函数中的分数是如上所述的比值(或扩展尺度)。以上文计算的比值4.84为例,结果为1/(1 exp(

4.84))=0.992,这将用作(100,100)处像素p的最终效用分数,并分配给像素p(块526)。激活函数可以是阶跃函数、双曲正切函数、反正切函数、sigmoid函数、阈值函数和相似函数。在使用逻辑函数的情况下,ru(p)/po(p)的比值大于1(扩展)的像素具有接近1的效用掩码分数,比值等于1的像素具有分数0.5(大小相同),比值小于1(收缩)的像素具有接近0的分数。可以对效用分数设定阈值,以将这些效用分数映射到0和1。参考帧中其它像素的效用分数可以
类似地计算和分配,从而生成参考帧的效用掩码504。
[0106]
向后扩展区域还可以通过如下方式计算:使用分段函数对当前帧和参考帧进行分段,然后在两个分段结果中找到对应的分段,并分析对应分段的面积的比值以分配效用掩码分数。
[0107]
神经网络的所有子网(例如神经网络100)都具有由滤波器组成的层,并且滤波器由称为网络参数的权重表示。这些参数可以在训练处理中使用损失函数单独学习。为了提高峰值信噪比(peak signal-to-noise ratio,psnr),简单的损失函数可以基于均方误差(mean squared error,mse),该均方误差度量误差的平方的平均值。例如,损失函数可以计算估计值与被估计的值之间的平均平方差。但是,mse会对离群值进行严重惩罚。在训练的初始阶段,使用基于mse的损失函数会导致不稳定。但是,在后期使用基于平均绝对误差(mean absolute error,mae)的损失函数学习较缓慢。或者,可以使用huber损失函数,该函数是可微的,并结合了mae和mse的益处。该函数定义为目标与估计之间的逐像素差值。将截止值设置为1,即huber损失函数从二次变为线性的点。
[0108]
本发明中描述的神经网络(例如神经网络100)可以逐阶段训练。例如,可以先训练第一阶段网络,然后通过使用第一阶段网络参数进行初始化来训练第二阶段网络,以加快损失函数的收敛速度和第二阶段网络的训练过程。
[0109]
虽然上述实施例使用混合骨干子网和空间上采样子网中的卷积层对特征图进行卷积滤波,以生成hr图像和sr图像,但也可以在实施例的神经网络中使用其它方法以实现相同的目的。例如,具有连接的神经元层的层、决策树桩网络、光谱滤波网络或脉冲神经网络可以用于一个或多个阶段来生成hr图像和sr图像。
[0110]
效用掩码用于表示每个参考帧在重建当前帧的hr图像时提供信息的重要性。这也可以理解为表示每个参考帧与当前帧之间的相关性水平。这些实施例确定向后扩展区域以构建效用掩码。但是,在不脱离实施例的精神的情况下,也可以使用其它适用的方法。
[0111]
总之,这些实施例提供了用于视频超分辨率的通用、类无关的全卷积网络,该网络在其混合骨干子网中处理原始低分辨率格式的多个参考帧,然后从重排的特征图重建高分辨率输出。这些实施例递归地应用网络,以利用来自先前阶段的重建高分辨率输出逐步自举和增强图像质量。实施例方法生成时间一致的结果,并处理描绘移动对象、快速相机运动、不受控制的光照条件和阴影的复杂真实世界场景,而不会诱发感知伪影。
[0112]
实施例方法递归地利用来自先前阶段的重建的高分辨率输出,从而可以自举并因此逐步增强生成的sr图像质量。它计算高效且节省内存,因为它们在其所有子网中处理原始分辨率(大小较小)的多个参考帧。原始分辨率的处理还可以提高卷积滤波过程在可学习参数数量方面的容量。实施例方法通过使用多个参考视频帧生成时间一致的结果。通过使用数字世界参考图像作为参考帧,它可以获取卓越的性能。这些实施例方法不要求输入视频帧具有固定大小,因此可以处理具有不同大小的视频帧的视频。实施例方法的放大因子是可调的,因此实施例方法可用于针对不同的放大因子生成超分辨率结果。
[0113]
图6示出了用于生成lr帧的高分辨率图像的实施例方法600的流程图。方法600可以为计算机实现的方法。如图所示,方法600包括获取视频中的当前帧和当前帧的多个参考帧(块602)。方法600包括对使用当前帧和多个参考帧构建的第一张量进行第一卷积滤波,以生成当前帧的第一估计图像(块604)。第一估计图像的分辨率可以高于当前帧的图像的
分辨率。方法600还包括获取多个参考帧的估计参考图像,其中,估计参考图像的分辨率高于多个参考帧的图像的分辨率(块606)。方法600还包括对使用当前帧的第一估计图像和多个参考帧的估计参考图像构建的第二张量进行第二卷积滤波,以生成当前帧的第二估计图像(块608)。第二估计图像的分辨率可以高于当前帧的图像的分辨率。
[0114]
图7示出了用于生成lr帧的高分辨率图像的另一实施例方法700的流程图。方法700可以为计算机实现的方法。如图所示,方法700包括获取视频中的当前帧和当前帧的多个参考帧(块702)。方法700还包括确定多个参考帧中的一个参考帧中的扩展区域(块704)。扩展区域对应于当前帧中的一个区域,并且参考帧中的扩展区域包括当前帧中所述区域的放大场景。方法700还包括根据参考帧的每个像素是否属于扩展区域,为参考帧的每个像素分配效用分数,从而生成参考帧的效用掩码(块706)。效用掩码包括参考帧的像素的效用分数集合。方法700还包括使用当前帧、多个参考帧和参考帧的效用掩码构建第一张量(块708)。方法700还包括对第一张量进行卷积滤波,以生成当前帧的第一重建图像(块710)。第一估计图像的分辨率可以高于当前帧的图像的分辨率。
[0115]
图8是可以用于实现本文公开的方法的处理系统的框图。特定设备可使用所示出的所有组件或仅使用所述组件的子集,且设备之间的集成程度可能不同。此外,设备可以包括组件的多个实例,例如多个处理单元、处理器、存储器、发射器、接收器等。处理系统可以包括配备有一个或多个输入/输出设备的处理单元,例如扬声器、麦克风、鼠标、触摸屏、键盘、打印机、显示器等。处理单元可以包括中央处理单元(central processing unit,cpu)、存储器、大容量存储设备、视频适配器和连接到总线的i/o接口。
[0116]
总线可以是任何类型的几种总线架构中的一种或多种,包括存储器总线或存储器控制器、外设总线、视频总线等。cpu可以包括任何类型的电子数据处理器。存储器可以包括任何类型的非瞬时性系统存储器,例如静态随机存取存储器(static random access memory,sram)、动态随机存取存储器(dynamic random access memory,dram)、同步dram(synchronous dram,sdram)、只读存储器(read-only memory,rom),或其组合等。在一个实施例中,存储器可以包括在开机时使用的rom以及在执行程序时使用的存储程序和数据的dram。
[0117]
大容量存储设备可以包括用于存储数据、程序和其它信息并使数据、程序和其它信息能够通过总线访问的任何类型的非瞬时性存储设备。例如,大容量存储设备可以包括固态硬盘、硬盘驱动器、磁盘驱动器、光盘驱动器等中的一种或多种。
[0118]
视频适配器和i/o接口提供接口以将外部输入和输出设备耦合到处理单元。如图所示,输入和输出设备的示例包括耦合到视频适配器的显示器,以及耦合到i/o接口的鼠标/键盘/打印机/按钮/键。其它设备可以耦合到处理单元,并且可以利用额外的或较少的接口卡。例如,可使用如通用串行总线(universal serial bus,usb)等串行接口(未示出)为打印机提供接口。
[0119]
处理单元还包括一个或多个网络接口,所述网络接口可以包括例如以太网线等有线链路,和/或用于访问节点或不同网络的无线链路。网络接口支持处理单元通过网络与远程单元通信。例如,网络接口可以通过一个或多个发射器/发射天线以及一个或多个接收器/接收天线提供无线通信。在一个实施例中,处理单元与局域网或广域网耦合,以进行数据处理并与如其它处理单元、互联网、远程存储设施等远程设备进行通信。
[0120]
图9示出了可以安装在主机设备中的用于执行本文描述的方法的实施例处理系统900的框图。如图所示,处理系统900包括处理器904、存储器906和接口910-914,它们可以(也可以不)如图9中所示进行布置。处理器904可以是用于执行计算和/或其它处理相关任务的任何组件或组件集合,存储器906可以是用于存储处理器904执行的程序和/或指令的任何组件或组件集合。在一个实施例中,存储器906包括非瞬时性计算机可读介质。接口910、912、914可以是支持处理系统900与其它设备/组件和/或用户通信的任何组件或组件集合。例如,接口910、912、914中的一个或多个接口可以用于将数据、控制或管理消息从处理器904传送给安装在主机设备和/或远程设备中的应用。作为另一个示例,接口910、912、914中的一个或多个接口可以用于支持用户或用户设备(例如,个人计算机(personal computer,pc)等)与处理系统900交互/通信。处理系统900可以包括图6中未示出的附加组件,例如长期存储器(例如,非易失性存储器等)。
[0121]
在一些实施例中,处理系统900包括在网络设备中,该网络设备接入电信网络或以其它方式成为电信网络一部分。在一个示例中,处理系统900位于无线或有线电信网络中的网络侧设备中,例如基站、中继站、调度器、控制器、网关、路由器、应用服务器、或电信网络中的任何其它设备。在其它实施例中,处理系统900位于接入无线或有线电信网络的用户侧设备中,例如移动站、用户设备(user equipment,ue)、个人计算机(personal computer,pc)、平板电脑、可穿戴通信设备(例如,智能手表等),或任何用于接入电信网络的其它设备。在一些实施例中,接口910、912、914中的一个或多个接口将处理系统900连接到用于通过电信网络发送和接收信令的收发器。
[0122]
应理解,本文提供的实施例方法的一个或多个步骤可以由对应的单元或模块执行。例如,信号可以由发送单元或发送模块发送。信号可以由接收单元或接收模块接收。信号可以由处理单元或处理模块处理。其它步骤可以由以下执行:重组单元/模块、获取单元/模块、确定单元/模块、分配单元/模块、构建单元/模块、执行单元/模块、场景流计算单元/模块、效用掩码计算单元/模块、扩展区域确定单元/模块、卷积滤波单元/模块、张量构建单元/模块、生成单元/模块、重建单元/模块、扭曲单元/模块、采样单元/模块、显示单元、组合单元/模块、级联单元/模块、上采样单元/模块、重排单元/模块和/或训练单元/模块。相应的单元/模块可以是硬件、软件或其组合。例如,一个或多个单元/模块可以是集成电路,例如现场可编程门阵列(field programmable gate array,fpga)或专用集成电路(application-specific integrated circuit,asic)。
[0123]
以下文件作为附件包含在此,并通过全文引用并入本文:
[0124]
ratheesh kalarot、fatih porikli,“multiboot vsr:用于视频超分辨率的多阶段多参考自举(multiboot vsr:multi-stage multi-reference bootstrapping for video super-resolution)”。
[0125]
尽管进行了详细的描述,但应理解的是,在不脱离由所附权利要求书界定的本发明的精神和范围的情况下可以做出各种改变、替代和更改。此外,本发明的范围不旨在受限于本文中所描述的特定实施例,本领域普通技术人员从本发明中容易了解到,过程、机器、制造工艺、物质成分、构件、方法或步骤(包括目前存在的或以后将开发的)可以执行与本文所描述的对应实施例基本相同的功能或实现与本文所描述的对应实施例基本相同的效果。因此,所附权利要求书旨在于其范围内包括这些过程、机器、制造工艺、物质成分、构件、方
法或步骤。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献