CN111587447A - 帧循环视频超分辨率 - Google Patents
帧循环视频超分辨率 Download PDFInfo
- Publication number
- CN111587447A CN111587447A CN201980007326.8A CN201980007326A CN111587447A CN 111587447 A CN111587447 A CN 111587447A CN 201980007326 A CN201980007326 A CN 201980007326A CN 111587447 A CN111587447 A CN 111587447A
- Authority
- CN
- China
- Prior art keywords
- frame
- image frame
- resolution image
- low resolution
- computing devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000012549 training Methods 0.000 claims description 57
- 125000004122 cyclic group Chemical group 0.000 claims description 52
- 238000010801 machine learning Methods 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 28
- 238000013507 mapping Methods 0.000 claims description 9
- 230000003287 optical effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 230000008901 benefit Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013341 scale-up Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了增大影像的分辨率的系统和方法。在一个示例实施例中,一种由计算机实现的方法包括获得当前低分辨率图像帧。该方法包括获得先前估计的高分辨率图像帧,先前估计的高分辨率帧是先前低分辨率图像帧的高分辨率估计。该方法包括基于当前低分辨率图像帧来对先前估计的高分辨率图像帧进行翘曲。该方法包括将翘曲的先前估计的高分辨率图像帧和当前低分辨率图像帧输入到机器学习帧估计模型中。该方法包括作为机器学习帧估计模型的输出接收当前估计的高分辨率图像帧,当前估计的高分辨率图像帧是当前低分辨率图像帧的高分辨率估计。
Description
技术领域
本公开概括而言涉及机器学习。更具体而言,本公开涉及利用机器学习模型对诸如视频的影像执行超分辨率(super-resolution)。
背景技术
超分辨率是图像处理中的一个经典问题,其解决如下问题:如何从图像的低分辨率(low-resolution,LR)版本,诸如例如图像的缩小规模版本,构造该图像的高分辨率(high-resolution,HR)版本。随着深度学习的兴起,超分辨率在过去几年已受到了来自研究社群的大量关注。虽然在单图像超分辨率的情况中通常是仅从空间统计重构高频细节的,但对于视频超分辨率可利用输入中的时间关系来改善重构。因此,某些超分辨率技术尝试组合来自尽可能多的LR帧的信息来达到最佳的视频超分辨率结果。
某些视频超分辨率方法通过组合一批LR帧以估计单个HR帧并且在整个视频上以滑动窗口方式运行此方案来解决该问题。此方案实际上将视频超分辨率的任务划分成大量分开的多帧超分辨率子任务。然而,此方案具有若干个弱点。首先,此方案是计算上昂贵的,因为每个输入帧需要被处理几次。第二,分开生成每个输出帧降低了系统产生时间上一致的帧的能力,这可导致令人不快的闪烁伪影。也就是说,每个输出帧被以输入帧为条件独立地估计,限制了系统产生时间上一致的结果的能力。
发明内容
本公开的实施例的一些方面和优点将部分地在接下来的描述中记载,或者可从描述中习得,或者可通过实践实施例来习得。
本公开的一个示例方面针对的是一种增大影像的分辨率的计算机实现的方法。该方法包括由一个或多个计算设备获得当前低分辨率图像帧。该方法包括由一个或多个计算设备获得先前估计的高分辨率图像帧,先前估计的高分辨率帧是先前低分辨率图像帧的高分辨率估计。该方法包括由一个或多个计算设备基于当前低分辨率图像帧翘曲(warp)先前估计的高分辨率图像帧。该方法包括由一个或多个计算设备将翘曲的先前估计的高分辨率图像帧和当前低分辨率图像帧输入到机器学习帧估计模型中。该方法包括由一个或多个计算设备作为机器学习帧估计模型的输出接收当前估计的高分辨率图像帧,当前估计的高分辨率图像帧是当前低分辨率图像帧的高分辨率估计。该方法还可包括以下可选特征。该方法可包括,在所述翘曲之前,由一个或多个计算设备确定先前低分辨率图像帧和当前低分辨率图像帧之间的流;并且其中由一个或多个计算设备基于当前低分辨率图像帧翘曲先前估计的高分辨率图像帧包括由一个或多个计算设备基于流翘曲先前估计的高分辨率图像帧。由一个或多个计算设备确定先前低分辨率图像帧和当前低分辨率图像帧之间的流可包括:由一个或多个计算设备将先前低分辨率图像帧和当前低分辨率图像帧输入到机器学习流估计模型中;并且由一个或多个计算设备作为机器学习流估计模型的输出接收该流。由一个或多个计算设备确定先前低分辨率图像帧和当前低分辨率图像帧之间的流可包括由一个或多个计算设备确定先前低分辨率图像帧和当前低分辨率图像帧之间的光流。由一个或多个计算设备确定先前低分辨率图像帧和当前低分辨率图像帧之间的流可包括由一个或多个计算设备确定先前低分辨率图像帧和当前低分辨率图像帧之间的低分辨率流;并且该方法还可包括由一个或多个计算设备使低分辨率流扩增规模以获得高分辨率流;并且由一个或多个计算设备基于流翘曲先前估计的高分辨率图像帧可包括由一个或多个计算设备基于高分辨率流翘曲先前估计的高分辨率图像帧。该方法还可包括,在所述输入之前:由一个或多个计算设备将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧。由一个或多个计算设备将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧可包括由一个或多个计算设备对翘曲的先前估计的高分辨率图像帧执行空间到深度变换以将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧的低分辨率空间。由一个或多个计算设备将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧可包括将当前低分辨率图像帧上采样到翘曲的先前估计的高分辨率图像帧的高分辨率空间。由一个或多个计算设备将翘曲的先前估计的高分辨率图像帧和当前低分辨率图像帧输入到机器学习帧估计模型中可包括:由一个或多个计算设备在通道维度中将翘曲的先前估计的高分辨率图像帧的低分辨率映射与当前低分辨率图像帧串接;并且由一个或多个计算设备将串接的图像馈送到机器学习帧估计模型。该方法还可包括对于多次迭代执行该方法。该方法还可包括:由一个或多个计算设备评估第一损失函数,该第一损失函数评估当前估计的高分辨率图像帧和当前地面真值高分辨率图像帧之间的差异;并且由一个或多个计算设备至少部分地基于第一损失函数来训练机器学习帧估计模型。该方法还可包括:由一个或多个计算设备评估第一损失函数,该第一损失函数评估当前估计的高分辨率图像帧和当前地面真值高分辨率图像帧之间的差异;并且由一个或多个计算设备至少部分地基于第一损失函数来联合训练机器学习帧估计模型和机器学习流估计模型两者。该方法还可包括:由一个或多个计算设备至少部分地基于由机器学习流估计模型输出的流来翘曲先前低分辨率图像帧以获得先前低分辨率图像帧的翘曲版本;由一个或多个计算设备评估第二损失函数,该第二损失函数评估先前低分辨率图像帧的翘曲版本和当前低分辨率图像帧之间的空间均方误差;并且由一个或多个计算设备至少部分地基于第二损失函数来训练至少机器学习流估计模型。
本公开的另一示例方面针对的是一种计算系统。该计算系统包括至少一个处理器、机器学习循环超分辨率模型。该计算系统包括至少一个存储指令的有形非暂态计算机可读介质,所述指令当被至少一个处理器执行时,使得该至少一个处理器执行操作。操作包括获得表示视频的当前低分辨率帧的数据。操作包括获得表示视频的先前估计的高分辨率帧的数据。操作包括将当前低分辨率帧和先前估计的高分辨率帧输入到循环超分辨率模型中。操作包括响应于输入帧,获得循环超分辨率模型的输出,该输出包括表示视频的当前低分辨率帧的高分辨率估计的数据。操作还可包括:在显示器上显示从循环超分辨率模型输出的视频的当前低分辨率帧的高分辨率估计。操作还可包括:获得视频的先前低分辨率帧;循环超分辨率模型包括机器学习流估计模型和机器学习帧估计模型;并且将当前低分辨率帧和先前估计的高分辨率帧输入到循环超分辨率模型中可包括:将表示视频的先前低分辨率帧的数据和表示视频的当前低分辨率帧的数据输入到机器学习流估计模型中;至少部分地基于机器学习流估计模型的输出来修改视频的先前估计的高分辨率帧;并且将表示视频的当前低分辨率帧和经修改的先前估计的高分辨率帧的数据输入到机器学习帧估计模型中。将当前低分辨率帧和先前估计的高分辨率帧输入到循环超分辨率模型中可包括:由一个或多个计算设备至少部分地基于视频的运动估计来翘曲先前估计的高分辨率帧;并且由一个或多个计算设备将先前估计的高分辨率帧输入到机器学习帧估计模型中。操作还可包括上述方法方面的任何特征。
本公开的另一示例方面针对的是一种存储指令的非暂态计算机可读介质,所述指令当被一个或多个计算设备执行时,使得该一个或多个计算设备执行操作。操作包括至少部分地基于视频的运动估计来翘曲视频的先前高分辨率帧。操作包括将视频的翘曲的先前高分辨率帧和当前低分辨率帧输入到机器学习帧估计模型中。操作包括作为机器学习帧估计模型的输出获得当前估计的高分辨率帧。操作包括评估损失函数以获得描述当前估计的高分辨率帧和当前地面真值高分辨率帧之间的差异的损失值。操作包括调整机器学习帧估计模型的一个或多个参数以减小损失值。操作还可包括:获得表示视频的先前低分辨率帧的数据和表示视频的当前低分辨率帧的数据;将先前低分辨率帧和当前低分辨率帧输入到机器学习流估计模型中;并且响应于输入先前低分辨率帧和当前低分辨率帧,获得包括视频的运动估计的机器学习流估计模型的输出;其中调整机器学习帧估计模型的一个或多个参数以减小损失值包括基于损失函数以端到端方式联合训练机器学习流估计模型和机器学习帧估计模型。操作还可包括至少部分地基于运动估计来翘曲先前低分辨率帧;其中损失函数还评估先前低分辨率帧的翘曲版本和当前低分辨率帧之间的空间均方误差。操作还可包括上述方法方面的任何特征。
本公开的其他方面针对的是各种系统、装置、非暂态计算机可读介质、用户界面和电子设备。
参考接下来的描述和所附的权利要求将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。包含在本说明书中并构成本说明书的一部分的附图图示了本公开的示例实施例并且与描述一起用于说明相关的原理。
附图说明
针对本领域普通技术人员的实施例的详细论述在说明书中阐述,说明书参考了附图,附图中:
图1A描绘了根据本公开的示例实施例的对影像执行超分辨率的示例计算系统的框图。
图1B描绘了根据本公开的示例实施例的示例计算设备的框图。
图1C描绘了根据本公开的示例实施例的示例计算设备的框图。
图2描绘了根据本公开的示例实施例的示例机器学习循环超分辨率模型的框图。
图3描绘了根据本公开的示例实施例的示例端到端可训练帧循环视频超分辨率框架的框图。
图4A描绘了根据本公开的示例实施例的用于训练机器学习流估计模型的示例损失函数的框图。
图4B描绘了根据本公开的示例实施例的用于训练机器学习帧估计模型的示例损失函数的框图。
图5描绘了根据本公开的示例实施例的示例空间到深度变换的图。
图6描绘了根据本公开的示例实施例的对视频的图像帧进行超分辨率的示例方法的流程图。
图7描绘了根据本公开的示例实施例的机器学习帧估计模型的示例体系结构的框图。
图8描绘了根据本公开的示例实施例的机器学习流估计模型的示例体系结构的框图。
在多幅附图间重复的附图标记旨在识别各种实现方式中的相同特征。
具体实施方式
概述
本公开的示例方面针对的是包括或者以其他方式利用机器学习循环(recurrent)超分辨率模型来对诸如视频的图像帧的影像(imagery)进行超分辨率的系统和方法。具体地,循环超分辨率模型可根据端到端可训练帧循环视频超分辨率框架来构造,该框架使用先前推断的高分辨率(HR)估计来对后续低分辨率(LR)帧进行超分辨率。此框架可天然地鼓励时间上一致的结果并且通过在每个步骤中只翘曲一个图像来降低计算成本。此外,由于其循环性质,本公开的系统和方法具有吸收(assimilate)大量的先前帧而没有增大的计算需求的能力。广泛的评估和与先前方法的比较证实了本公开的系统和方法的长处并且证明了提出的框架能够显著胜过当前技术水平。
更具体而言,本公开的一些方面针对的是一种使能对视频的图像帧进行超分辨率的循环超分辨率模型。循环超分辨率模型可包括机器学习帧估计模型和机器学习流估计模型。循环超分辨率模型可由计算系统实现或者以其他方式执行。例如,诸如例如用户计算设备(例如,智能电话、平板设备、个人助理设备等等)的计算设备可实现循环超分辨率模型来对与视频的低分辨率版本对应的图像帧(例如,低分辨率图像帧)进行超分辨率,并且获得视频的估计的高分辨率版本。作为另一示例,计算系统可获得一组连续的低分辨率视频图像帧,将该组低分辨率图像帧循序地输入到循环超分辨率模型中,并且获得一组估计的高分辨率图像帧。
在一些实现方式中,计算系统可获得低分辨率视频的当前低分辨率图像帧,以及作为该低分辨率视频的先前低分辨率图像帧的高分辨率估计的先前估计的高分辨率图像帧。计算系统可将当前低分辨率图像帧和先前估计的高分辨率图像帧输入到循环超分辨率模型中。
在一些实现方式中,计算系统可基于当前低分辨率图像帧来对先前估计的高分辨率图像帧进行翘曲。计算系统可将翘曲的先前估计的高分辨率图像帧和当前低分辨率图像帧输入到机器学习帧估计模型中。
在一些实现方式中,在对先前高分辨率图像帧进行翘曲之前,计算系统可确定先前低分辨率图像帧和当前低分辨率图像帧之间的流。计算系统可基于该流来翘曲先前估计的高分辨率图像帧。
作为一个示例,先前低分辨率图像帧和当前低分辨率图像帧之间的流可以是光流。作为另一示例,流可以是或者可以包括参数性平移数据(parametric translationdata)。作为另一示例,流可以是或者可以包括视频编码数据。
在一些实现方式中,计算系统可通过将先前低分辨率图像帧和当前低分辨率图像帧输入到机器学习流估计模型中来确定先前低分辨率图像帧和当前低分辨率图像帧之间的流。计算系统可接收该流作为机器学习流估计模型的输出。例如,计算系统可接收先前低分辨率图像帧和当前低分辨率图像帧之间的光流作为机器学习流估计模型的输出。
在一些实现方式中,计算系统可确定先前低分辨率图像帧和当前低分辨率图像帧之间的低分辨率流。例如,计算系统可接收先前低分辨率图像帧和当前低分辨率图像帧之间的低分辨率光流作为机器学习流估计模型的输出。计算系统可使低分辨率流扩增规模(upscale)以获得高分辨率流。计算系统可基于高分辨率流来翘曲先前估计的高分辨率图像帧。
在一些实现方式中,在将翘曲的先前估计的高分辨率图像帧输入到机器学习帧估计模型中之前,计算系统可将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧。作为一个示例,计算系统可对翘曲的先前估计的高分辨率图像帧执行空间到深度变换。例如,空间到深度变换可将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧的低分辨率空间。作为另一示例,计算系统可将当前低分辨率图像帧上采样到翘曲的先前估计的高分辨率图像帧的高分辨率空间以将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧。
在一些实现方式中,计算系统可将翘曲的先前估计的高分辨率图像帧和当前低分辨率图像帧输入到机器学习帧估计模型中。作为响应,机器学习帧估计模型可输出当前估计的高分辨率图像帧,其中当前估计的高分辨率图像帧是当前低分辨率图像帧的高分辨率估计(即,超分辨率的版本)。
在一些实现方式中,计算系统可通过在通道维度中将翘曲的先前估计的高分辨率图像帧的低分辨率映射与当前低分辨率图像帧串接(concatenate),并且将串接的图像馈送到机器学习帧估计模型中,来将翘曲的先前估计的高分辨率图像帧和当前低分辨率图像帧输入到机器学习帧估计模型中。
根据本公开的另一方面,当前估计的高分辨率图像帧可被传递回来用作下次迭代中的输入。也就是说,当前估计的高分辨率图像帧在下次迭代可被用作先前估计的高分辨率图像帧,在下次迭代中下一个后续低分辨率图像帧被超分辨率。
在一些实现方式中,机器学习循环超分辨率模型可包括一个或多个神经网络(例如,深度神经网络)、支持向量机、决策树、整体模型(ensemble models)、k最近邻居模型、贝叶斯网络或者包括线性模型和/或非线性模型的其他类型的模型。示例神经网络可包括前馈神经网络、卷积神经网络、循环神经网络(例如,长短期记忆(long short-term memory,LSTM)循环神经网络、门控循环单元(gated recurrent unit,GRU)神经网络)或者其他形式的神经网络。例如,机器学习流估计模型和/或机器学习帧估计模型可以是或者可以包括上述模型中的一个或多个。
在一些实现方式中,训练计算系统可基于训练数据集训练循环超分辨率模型以确定输入图像帧的高分辨率估计。训练数据集可包括多个视频。例如,训练数据集可基于多个原始高分辨率视频来生成,这些原始高分辨率视频被下采样(例如,通过2的因子)以具有清洁(clean)的高分辨率地面真值,从中多个图块(例如,大小为256×256)被提取来生成多个高分辨率视频以包括在训练数据集中。
在一些实现方式中,训练数据集可包括多个低分辨率视频来在训练循环超分辨率模型时输入到循环超分辨率模型中。可基于训练数据集中包括的多个高分辨率视频来生成多个低分辨率视频。例如,训练数据集中包括的多个高分辨率视频的每个高分辨率图像帧可被模糊(例如,通过应用具有1.5的标准偏差的高斯模糊),并且被下采样(例如,通过在每个维度上对每四个像素采样),来生成多个低分辨率视频以包括在训练数据集中。
在一些实现方式中,训练数据集可包括与来自从多个视频提取的低分辨率剪辑(例如,10个连续图像帧的低分辨率剪辑)的一组低分辨率图像帧对应的数据的第一部分。训练数据集还可包括与来自从该多个视频提取的与该低分辨率剪辑对应的高分辨率剪辑的一组原始高分辨率图像帧对应的数据的第二部分。
在一些实现方式中,为了训练循环超分辨率模型,训练计算系统可将一组地面真值数据的第一部分(例如,与一组低分辨率图像帧对应的训练数据集的第一部分)输入到循环超分辨率模型中。响应于接收到这样的第一部分,循环超分辨率模型可为每个输入的低分辨率图像帧输出估计的高分辨率图像帧。机器学习模型的这个输出预测该组地面真值数据的剩余部分(例如,与一组原始高分辨率图像帧对应的训练数据集的第二部分)。在这种预测之后,训练计算系统可应用或以其他方式确定损失函数,该损失函数将由循环超分辨率模型输出的估计的高分辨率图像帧与该模型尝试预测的地面真值数据的剩余部分相比较。训练计算系统随后可反向传播损失函数通过循环超分辨率模型来训练模型(例如,通过修改与模型相关联的一个或多个权重)。输入地面真值数据、确定损失函数并且反向传播损失函数通过循环超分辨率模型的这个过程可作为训练循环超分辨率模型的一部分被重复许多次。例如,该过程可对在训练数据集内提供的许多组地面真值数据的每一组重复。
根据本公开的另一方面,在一些实现方式中,本文描述的模型和框架还可包括协助对抗估计的图像帧中包括的遮蔽的一个或多个存储器通道。例如,在一些实现方式中,机器学习超分辨率模型可包括允许从一次迭代到下一次迭代保留(retention)隐藏单元值的一个或多个循环连接。
在一个示例应用中,本公开的系统和方法可用于执行视频解压缩。例如,HR视频可被压缩或编码,例如通过对HR视频的HR帧的一些或全部进行下采样,从而生成压缩的视频。这个下采样是一种极为计算廉价的编码技术。视频可以其压缩形式通过网络被传输、被存储等等,从而由于其更小的存储器占用(footprint)而提供带宽节省、存储空间节省等等。本文描述的系统和方法然后可用于对视频的LR帧解压缩或解码。具体地,本文描述的系统和方法可操作来将视频的每个LR帧超分辨率回到原始HR帧的估计。
在一些实现方式中,大部分HR帧可被下采样,而某些HR帧不被下采样并且保持为HR关键帧。关键帧可以均匀地间隔或者可根据场景改变数据、运动数据等等来间隔。每个HR关键帧可被用作初始种子来协助对随后的LR帧循环地超分辨率,直到到达下一个HR关键帧为止。
本公开的系统和方法中的循环超分辨率模型的使用提供了若干个技术优点。例如,通过使用先前推断的高分辨率(HR)估计来对后续低分辨率(LR)帧进行超分辨率,此框架可天然地鼓励时间上一致的结果。也就是说,通过迭代地提供过去的推断作为下一迭代的输入,数据可在迭代间被保留,从而提供了更时间上一致的输出。从而,通过经由被循环地传递过时间的估计的高分辨率图像帧将信息从过去图像帧传播到后来图像帧,系统和方法可重新创建精细细节并且产生时间上一致的结果,而不增加计算。
作为另一示例技术效果和益处,本文描述的示例系统和方法可通过在每个步骤中只翘曲一个图像来降低执行超分辨率的计算成本。例如,某些现有视频超分辨率方法通过组合一批LR帧以估计单个HR帧并且在整个视频上以滑动窗口方式运行此方案来解决该问题。此方案实际上将视频超分辨率的任务划分成大量分开的多帧超分辨率子任务。然而,此方案是计算上昂贵的,因为每个输入帧需要被处理几次。与之相反,本文描述的示例系统和方法每次迭代只执行一个翘曲操作,从而减少了对于每个超分辨率的帧的处理步骤的数目。从而,由于框架的循环性质,本公开的系统和方法具有吸收大量的先前帧而没有增大的计算需求的能力。
此外,循环超分辨率模型可直接估计视频的全RGB高分辨率图像帧,取消了对模型的输出进行后处理的必要性。此外,在一些实现方式中,系统是端到端可训练的并且不要求任何预训练阶段。
作为另一示例技术效果和益处,在一些实现方式中,所有或者大部分计算密集的操作可在LR空间中执行。例如,先前HR估计可利用空间到深度变换被映射到LR空间中。当与将会在HR空间中操作的超分辨率模型相比较时,在LR空间中运行机器学习超分辨率模型提供了降低存储器占用和增大感受域的优点。
示例设备和系统
现在参考附图,将更详细论述本公开的示例实施例。
图1A描绘了根据本公开的示例实施例的执行视频的一个或多个图像帧的超分辨率的示例计算系统100的框图。系统100包括通过网络180通信耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如例如个人计算设备(例如,膝上型电脑或桌面型电脑)、移动计算设备(例如,智能电话或平板设备)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或者任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何适当的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等等)并且可以是一个处理器或者操作性连接的多个处理器。存储器114可包括一个或多个非暂态计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等等,及其组合。存储器114可存储数据116和被处理器112执行来使得用户计算设备102执行操作的指令118。
在一些实现方式中,用户计算设备102可存储或包括一个或多个循环超分辨率模型120。例如,循环超分辨率模型120可以是或者可以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或者其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可包括前馈神经网络、循环神经网络(例如,长短期记忆循环神经网络)、卷积神经网络或者其他形式的神经网络。参考图2-图5来论述示例循环超分辨率模型120。
在一些实现方式中,一个或多个循环超分辨率模型120可以是通过网络180从服务器计算系统130接收的,被存储在用户计算设备存储器114中,并随后被一个或多个处理器112使用或以其他方式实现。在一些实现方式中,用户计算设备102可实现单个循环超分辨率模型120的多个并行实例(例如,为了在循环超分辨率模型120的多个实例上执行图像帧的并行超分辨率)。
更具体而言,在一些实现方式中,一个或多个循环超分辨率模型120可基于视频的一组连续低分辨率帧来输出视频的一个或多个高分辨率图像帧。例如,用户计算设备102可将视频的低分辨率版本的每个图像帧输入到循环超分辨率模型120中,并且作为响应,循环超分辨率模型120可输出对应的估计的高分辨率图像帧。例如,估计的高分辨率图像帧可近似视频的高分辨率版本的对应原始高分辨率图像帧。替选地,对应的原始高分辨率图像帧可不存在。也就是说,循环超分辨率模型120可生成低分辨率图像帧的估计的高分辨率图像帧,即使先前不存在这样的高分辨率版本。
额外地或者替选地,一个或多个循环超分辨率模型140可被包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130中或者被该服务器计算系统130以其他方式存储和实现。例如,循环超分辨率模型140可被服务器计算系统140作为web服务(例如,视频流媒体服务)的一部分来实现。从而,一个或多个模型120可被存储和实现在用户计算设备102处,并且/或者一个或多个模型140可被存储和实现在服务器计算系统130处。
用户计算设备102也可包括可接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触摸敏感组件(例如,触摸敏感显示屏或触摸板)。触摸敏感组件可用于实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或者用户可通过其提供用户输入的其他手段。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何适当的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等等)并且可以是一个处理器或者操作性连接的多个处理器。存储器134可包括一个或多个非暂态计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等等,及其组合。存储器134可存储数据136和被处理器132执行来使得服务器计算系统130执行操作的指令138。
在一些实现方式中,服务器计算系统130包括一个或多个服务器计算设备或者由一个或多个服务器计算设备以其他方式实现。在服务器计算系统130包括多个服务器计算设备的实例中,这种服务器计算设备可根据循序计算体系结构、并行计算体系结构或者其某种组合来操作。
如上所述,服务器计算系统130可存储或以其他方式包括一个或多个机器学习循环超分辨率模型140。例如,模型140可以是或者可以其他方式包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。参考图2-图5来论述示例模型140。
用户计算设备102和/或服务器计算系统130可经由与通过网络180通信耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150可与服务器计算系统130分开或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何适当的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等等)并且可以是一个处理器或者操作性连接的多个处理器。存储器154可包括一个或多个非暂态计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等等,及其组合。存储器154可存储数据156和被处理器152执行来使得训练计算系统150执行操作的指令158。在一些实现方式中,训练计算系统150包括一个或多个服务器计算设备或者由一个或多个服务器计算设备以其他方式实现。
训练计算系统150可包括模型训练器160,该模型训练器160利用诸如例如误差的向后传播的各种训练或学习技术来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140。在一些实现方式中,执行误差的向后传播可包括执行通过时间的截断反向传播。模型训练器160可执行多种一般化技术(例如,权重衰减、退出(dropout)等等)来改善被训练的模型的一般化能力。
具体地,模型训练器160可基于一组训练数据162来训练循环超分辨率模型120和/或140。训练数据162可包括例如处于720p、1080p和/或4k的分辨率的多个高分辨率视频。然而,如下文更详细说明的,任何适当分辨率的视频可被包括在训练数据162中。
在一些实现方式中,可基于多个原始高分辨率视频来生成训练数据162。例如,多个原始高分辨率视频可被下采样(例如,通过2的因子)以生成清洁的高分辨率地面真值。可从清洁的高分辨率地面真值中提取多个图块(例如,大小为256×256),来生成多个高分辨率视频以包括在训练数据162中。
在一些实现方式中,训练数据162可包括多个低分辨率视频来在训练期间输入到循环超分辨率模型120和/或140中。可基于训练数据162中包括的多个高分辨率视频来生成多个低分辨率视频。例如,训练数据162中包括的多个高分辨率视频的每个高分辨率图像帧可被模糊(例如,通过应用具有1.5的标准偏差的高斯模糊),并且被下采样(例如,通过在每个维度上对每4个像素采样),来生成多个低分辨率视频以包括在训练数据162中。
在一些实现方式中,如果用户提供了同意,则训练示例可由用户计算设备102提供。从而,在这种实现方式中,提供给用户计算设备102的模型120可由训练计算系统150在从用户计算设备102接收的用户特定数据上来训练。在一些实例中,此过程可被称为个性化模型。
模型训练器160包括用来提供期望的功能的计算机逻辑。模型训练器160可以用硬件、固件和/或控制通用处理器的软件来实现。例如,在一些实现方式中,模型训练器160包括存储在存储设备上、被加载到存储器中并且被一个或多个处理器执行的程序文件。在其他实现方式中,模型训练器160包括被存储在诸如RAM硬盘或者光学介质或磁性介质的有形计算机可读存储介质中的计算机可执行指令的一个或多个集合。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或者其某种组合,并且可包括任何数目的有线或无线链路。一般地,通过网络180的通信可经由任何类型的有线和/或无线连接,利用各种各样的通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL),来承载。
图1A图示了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现方式中,用户计算设备102可包括模型训练器160和训练数据集162。在这种实现方式中,可在用户计算设备102本地训练和使用模型120。在一些这样的实现方式中,用户计算设备102可实现模型训练器160来基于用户特定数据个性化模型120。
图1B描绘了根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括若干个应用(例如,应用1至应用N)。每个应用包含其自己的机器学习库和(一个或多个)机器学习模型。例如,每个应用可包括机器学习模型。示例应用包括文本消息传递应用、电子邮件应用、口述应用、虚拟键盘应用、浏览器应用,等等。
如图1B中所示,每个应用可与计算设备的若干个其他组件通信,其他组件为诸如例如一个或多个传感器、情境管理器、设备状态组件和/或额外的组件。在一些实现方式中,每个应用可利用API(例如,公共API)与每个设备组件通信。在一些实现方式中,每个应用使用的API是特定于该应用的。
图1C描绘了根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括若干个应用(例如,应用1至应用N)。每个应用与中央智能层通信。示例应用包括文本消息传递应用、电子邮件应用、口述应用、虚拟键盘应用、浏览器应用,等等。在一些实现方式中,每个应用可利用API(例如,所有应用的共同API)与中央智能层(以及存储在其中的(一个或多个)模型)通信。
中央智能层包括若干个机器学习模型。例如,如图1C中所示,可为每个应用提供相应的机器学习模型(例如,模型)并且由中央智能层来管理该模型。在其他实现方式中,两个或更多个应用可共享单个机器学习模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现方式中,中央智能层被包括在计算设备50的操作系统内或者由计算设备50的操作系统以其他方式实现。
中央智能层可与中央设备数据层通信。中央设备数据层可以是用于计算设备50的数据的集中仓库。如图1C中所示,中央设备数据层可与计算设备的若干个其他组件通信,其他组件为诸如例如一个或多个传感器、情境管理器、设备状态组件和/或额外的组件。在一些实现方式中,中央设备数据层可利用API(例如,私有API)与每个设备组件通信。
示例模型布置
图2描绘了根据本公开的示例实施例的示例循环超分辨率模型200的框图。在一些实现方式中,循环超分辨率模型200被训练来接收包括当前低分辨率图像帧204和先前估计的高分辨率图像帧206的输入数据;并且作为对当前低分辨率图像帧204和先前估计的高分辨率图像帧206的接收的结果,提供当前估计的高分辨率图像帧208。
在一些实现方式中,循环超分辨率模型200被训练来接收包括先前低分辨率图像帧210的另外输入数据。作为对先前低分辨率图像帧210和当前低分辨率图像帧204的接收的结果,循环超分辨率模型200可估计先前低分辨率图像帧210和当前低分辨率图像帧204之间的低分辨率流。循环超分辨率模型200可至少部分地基于低分辨率流来提供当前估计的高分辨率图像帧208。
在其他实现方式中,循环超分辨率模型200不一定接收先前低分辨率图像帧210。例如,循环超分辨率模型200可对先前估计的高分辨率图像帧206进行下采样并且确定先前估计的高分辨率图像帧206的下采样版本和当前低分辨率图像帧204之间的低分辨率流。
图3描绘了根据本公开的示例实施例的示例端到端可训练帧循环视频超分辨率框架300的框图。具体地,图3提供了可用于实现图2的循环超分辨率模型200的一个示例框架300。从而,图2的循环超分辨率模型200可如图3中所示或者可具有其他结构、数据流和/或组件。
计算系统(例如,用户计算设备102)可使用框架300来执行当前低分辨率图像帧306的超分辨率以获得当前估计的高分辨率图像帧308。
参考图3,计算系统可将当前低分辨率图像帧306和先前低分辨率图像帧304输入到机器学习流估计模型310中以获得先前低分辨率图像帧304和当前低分辨率图像帧306之间的估计流图312。例如,计算系统可获得向中的每个像素位置指派中的位置的正规化低分辨率流图作为机器学习流估计模型310的输出。
作为一个示例,图7提供了可用于实现机器学习流估计模型310的一个示例网络体系结构。可取代图7中所示的示例使用其他模型体系结构。图7中所示的示例网络体系结构可以完全是卷积的并且可在LR空间中工作。在一些实现方式中,所有卷积可以步幅1使用3x3内核。记法2x指示对应的块被复制并且漏泄(leaky)ReLU单元可使用0.2的漏泄因子。
再次参考图3,计算系统可使估计的流图312扩增规模以获得高分辨率流图314。例如,计算系统可将流图FLR视为图像,并且利用具有比例因子s的双线性插值来使其扩增规模,这产生了HR流图FHR=bi(FLR)∈[-1,1]sH×sW×2。
计算系统可使用高分辨率流图314来翘曲先前估计的高分辨率图像帧304并且获得翘曲的先前估计的高分辨率图像帧316。先前估计的高分辨率图像帧304可由机器学习帧估计模型320在先前迭代期间估计。替选地,先前估计的高分辨率图像帧304可以是空白或黑图像(例如,)。在一些实现方式中,翘曲可利用双线性插值作为可微函数来执行。例如,计算系统可使用高分辨率流图FHR来根据从先前帧到当前帧上的光流来翘曲先前估计的图像以获得翘曲的图像
计算系统可将翘曲的先前估计的高分辨率图像帧316映射到低分辨率空间。例如,计算系统可使用空间到深度变换来获得翘曲的先前估计的高分辨率图像316的低分辨率映射318。例如,计算系统可利用空间到深度变换将翘曲的先前输出映射到LR空间,该空间到深度变换从图像中提取移位的低分辨率网格并且以基于零的索引编制、模“%”和整数除法“/”将它们放置到通道维度中以获得
计算系统可将翘曲的先前估计的高分辨率图像的低分辨率映射318与当前低分辨率图像帧306串接,并且将串接结果输入到机器学习帧估计模型320中。例如,计算系统可在通道维度中将翘曲的先前输出的LR映射与当前低分辨率输入帧串接,并且将结果馈送到帧估计模型320中。
计算系统可获得估计的高分辨率图像帧308作为机器学习帧估计模型320的输出。例如,计算系统可获得可被表示为的最终估计来作为机器学习帧估计模型320的输出。最终估计可被传递回来用作下一迭代的先前估计的图像如虚线所指示。
作为一个示例,图8提供了可用于实现机器学习帧估计模型320的一个示例网络体系结构。可取代图8中所示的示例使用其他模型体系结构。图8中所示的示例网络体系结构可以完全是卷积的并且可在LR空间中工作。在一些实现方式中,所有卷积可以步幅1使用3x3内核,除了可使用步幅2的转置卷积以外。
图4A描绘了根据本公开的示例实施例的用于训练机器学习流估计模型的示例损失函数的框图402。计算系统(例如,训练计算系统150)可通过相对于当前低分辨率图像帧412在翘曲的先前低分辨率图像帧上应用损失410来训练流估计模型。翘曲的先前低分辨率图像帧可通过基于估计的流图416翘曲先前低分辨率图像帧414来获得。估计的流图416可以是由流估计模型基于当前低分辨率图像帧412和先前低分辨率图像帧414估计的流。损失410可被反向传播过流估计模型来训练该模型。例如,计算系统可在翘曲的先前低分辨率图像帧上应用空间均方误差。作为一个可能的示例实现方式,损失410可被写作如下:
图4B描绘了根据本公开的示例实施例的用于训练机器学习帧估计模型的示例损失函数的框图404。计算系统(例如,训练计算系统150)可通过相对于当前地面真值高分辨率图像帧422在由帧估计模型输出的当前估计的高分辨率图像帧424上应用损失420来训练帧估计模型。损失420可被反向传播过帧估计模型来训练该模型。在一些实现方式中,损失420可被反向传播过机器学习帧估计模型和机器学习流估计模型两者。作为一个可能的示例实现方式,损失420可被写作如下:从而,在一些实现方式中,用于训练的总损失是
图5描绘了根据本公开的示例实施例的示例空间到深度变换的图500。如图5中所示,可通过从高分辨率图像590中提取低分辨率网格并且将低分辨率网格移位到通道维度中来将高分辨率图像590映射到低分辨率空间,以获得低分辨率映射592。高分辨率图像590可包括多个部分,从中可提取一个或多个低分辨率网格。每个部分可对应于一个或多个像素。例如,部分502、504、506、508、510、512、514、516和518可被提取为第一低分辨率网格。高分辨率图像590的第一低分辨率网格中的部分502、504、506、508、510、512、514、516和518可如低分辨率映射592中所示被移位到通道维度中。如图5中所示,如图像590和低分辨率映射592中使用的对应阴影图案所指示,可从高分辨率图像590中提取额外的示例低分辨率网格。
示例方法
图6描绘了根据本公开的示例实施例执行的示例方法的流程图。虽然图6为了图示和论述而描绘了按特定顺序执行的步骤,但本公开的方法不限于具体图示的顺序或排列。方法600的各种步骤可按各种方式被省略、重排列、组合和/或适应性修改,而不脱离本公开的范围。
在602,计算系统可获得当前低分辨率图像帧。例如,计算系统(例如,用户计算设备102、服务器计算系统130、训练计算系统150)可获得视频的当前低分辨率图像帧306。当前低分辨率图像帧306可以是视频的一组连续的低分辨率图像帧的一部分。
在604,计算系统可获得先前估计的高分辨率图像帧。例如,计算系统可获得视频的先前估计的高分辨率图像帧304。先前估计的高分辨率图像帧304可由循环超分辨率模型在先前迭代中基于视频的先前低分辨率图像帧302来估计。作为另一示例,当当前低分辨率图像帧306是视频的该组连续低分辨率图像帧中的第一低分辨率图像帧时,计算系统可使用空白或黑图像作为先前估计的高分辨率图像帧304。
在606,计算系统可翘曲先前估计的高分辨率图像帧。例如,计算系统可基于当前低分辨率图像帧306来对先前估计的高分辨率图像帧304进行翘曲。在翘曲先前估计的高分辨率图像帧304之前,计算系统可确定先前低分辨率图像帧302和当前低分辨率图像帧306之间的流,并且计算系统可基于该流来翘曲先前估计的高分辨率图像帧304。计算系统可通过将先前低分辨率图像帧302和当前低分辨率图像帧306输入到机器学习流估计模型中来确定先前低分辨率图像帧302和当前低分辨率图像帧306之间的流。计算系统可接收估计的流作为流估计模型的输出。计算系统可接收估计的流作为先前低分辨率图像帧302和当前低分辨率图像帧306之间的光流。计算系统可接收估计的流作为先前低分辨率图像帧302和当前低分辨率图像帧306之间的低分辨率流。计算系统可使低分辨率流扩增规模以获得高分辨率流,并且计算系统可基于高分辨率流来翘曲先前估计的高分辨率图像帧304。
在608,计算系统可将翘曲的先前估计的高分辨率图像帧和当前低分辨率图像帧输入到帧估计模型中。例如,计算系统可将翘曲的先前估计的高分辨率图像帧和当前低分辨率图像帧306输入到帧估计模型中。在输入翘曲的先前估计的高分辨率图像帧之前,计算系统可将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧306。计算系统可通过对翘曲的先前估计的高分辨率图像帧执行空间到深度变换来将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧306。替选地,计算系统可通过对当前低分辨率图像帧306进行上采样来将翘曲的先前估计的高分辨率图像帧映射到当前低分辨率图像帧306。计算系统可将翘曲的先前估计的高分辨率图像帧的映射与当前低分辨率图像帧306串接,并且将该串接输入到帧估计模型320中。
在610,计算系统可获得当前估计的高分辨率图像帧。例如,计算系统可接收当前估计的高分辨率图像帧308作为帧估计模型320的输出。
额外的公开
本文论述的技术参考了服务器、数据库、软件应用和其他基于计算机的系统,以及由这种系统采取的动作和发送到和发送自这种系统的信息。基于计算机的系统的内在灵活性允许了在组件之间和当中对于任务和功能的各种各样可能的配置、组合和划分。例如,本文论述的过程可利用单个设备或组件或者组合工作的多个设备或组件来实现。数据库和应用可实现在单个系统上或分布在多个系统间。分布式组件可循序地或并行地操作。
虽然已针对其各种具体示例实施例详细描述了本主题,但每个示例是作为说明而不是对本公开的限制提供的。本领域技术人员在达到对前述的理解后,能够容易地产生对这种实施例的更改、变化和等同。从而,本公开不排除包括对本领域普通技术人员将会显而易见的对本主题的这种修改、变化和/或添加。例如,作为一个实施例的一部分图示或描述的特征可与另一实施例一起使用来产生又一个实施例。从而,希望本公开覆盖这种更改、变化和等同。
Claims (20)
1.一种增大影像的分辨率的计算机实现的方法,所述方法包括:
由一个或多个计算设备获得当前低分辨率图像帧;
由所述一个或多个计算设备获得先前估计的高分辨率图像帧,所述先前估计的高分辨率帧是先前低分辨率图像帧的高分辨率估计;
由所述一个或多个计算设备基于所述当前低分辨率图像帧翘曲所述先前估计的高分辨率图像帧;
由所述一个或多个计算设备将翘曲的先前估计的高分辨率图像帧和所述当前低分辨率图像帧输入到机器学习帧估计模型中;以及
由所述一个或多个计算设备作为所述机器学习帧估计模型的输出接收当前估计的高分辨率图像帧,所述当前估计的高分辨率图像帧是所述当前低分辨率图像帧的高分辨率估计。
2.如权利要求1所述的计算机实现的方法,还包括,在所述翘曲之前:
由所述一个或多个计算设备确定所述先前低分辨率图像帧和所述当前低分辨率图像帧之间的流;
其中,由所述一个或多个计算设备基于所述当前低分辨率图像帧翘曲所述先前估计的高分辨率图像帧包括由所述一个或多个计算设备基于所述流翘曲所述先前估计的高分辨率图像帧。
3.如权利要求2所述的计算机实现的方法,其中,由所述一个或多个计算设备确定所述先前低分辨率图像帧和所述当前低分辨率图像帧之间的流包括:
由所述一个或多个计算设备将所述先前低分辨率图像帧和所述当前低分辨率图像帧输入到机器学习流估计模型中;以及
由所述一个或多个计算设备作为所述机器学习流估计模型的输出接收所述流。
4.如权利要求2或3所述的计算机实现的方法,其中,由所述一个或多个计算设备确定所述先前低分辨率图像帧和所述当前低分辨率图像帧之间的流包括由所述一个或多个计算设备确定所述先前低分辨率图像帧和所述当前低分辨率图像帧之间的光流。
5.如权利要求2至4中的任一项所述的计算机实现的方法,其中:
由所述一个或多个计算设备确定所述先前低分辨率图像帧和所述当前低分辨率图像帧之间的流包括由所述一个或多个计算设备确定所述先前低分辨率图像帧和所述当前低分辨率图像帧之间的低分辨率流;
所述方法还包括由所述一个或多个计算设备使所述低分辨率流扩增规模以获得高分辨率流;以及
由所述一个或多个计算设备基于所述流翘曲所述先前估计的高分辨率图像帧包括由所述一个或多个计算设备基于所述高分辨率流翘曲所述先前估计的高分辨率图像帧。
6.如任何在前权利要求所述的计算机实现的方法,还包括,在所述输入之前:
由所述一个或多个计算设备将所述翘曲的先前估计的高分辨率图像帧映射到所述当前低分辨率图像帧。
7.如权利要求6所述的计算机实现的方法,其中,由所述一个或多个计算设备将所述翘曲的先前估计的高分辨率图像帧映射到所述当前低分辨率图像帧包括由所述一个或多个计算设备对所述翘曲的先前估计的高分辨率图像帧执行空间到深度变换以将所述翘曲的先前估计的高分辨率图像帧映射到所述当前低分辨率图像帧的低分辨率空间。
8.如权利要求6或7所述的计算机实现的方法,其中,由所述一个或多个计算设备将所述翘曲的先前估计的高分辨率图像帧映射到所述当前低分辨率图像帧包括将所述当前低分辨率图像帧上采样到所述翘曲的先前估计的高分辨率图像帧的高分辨率空间。
9.如权利要求6至8中的任一项所述的计算机实现的方法,其中,由所述一个或多个计算设备将所述翘曲的先前估计的高分辨率图像帧和所述当前低分辨率图像帧输入到所述机器学习帧估计模型中包括:
由所述一个或多个计算设备在通道维度中将所述翘曲的先前估计的高分辨率图像帧的低分辨率映射与所述当前低分辨率图像帧串接;以及
由所述一个或多个计算设备将串接的图像馈送到所述机器学习帧估计模型。
10.如任何在前权利要求所述的计算机实现的方法,还包括对于多次迭代执行如权利要求1所述的方法。
11.如任何在前权利要求所述的计算机实现的方法,还包括:
由所述一个或多个计算设备评估第一损失函数,所述第一损失函数评估所述当前估计的高分辨率图像帧和当前地面真值高分辨率图像帧之间的差异;以及
由所述一个或多个计算设备至少部分地基于所述第一损失函数来训练所述机器学习帧估计模型。
12.如权利要求3所述的计算机实现的方法,还包括:
由所述一个或多个计算设备评估第一损失函数,所述第一损失函数评估所述当前估计的高分辨率图像帧和当前地面真值高分辨率图像帧之间的差异;以及
由所述一个或多个计算设备至少部分地基于所述第一损失函数来联合训练所述机器学习帧估计模型和所述机器学习流估计模型两者。
13.如权利要求12所述的计算机实现的方法,还包括:
由所述一个或多个计算设备至少部分地基于由所述机器学习流估计模型输出的流来翘曲所述先前低分辨率图像帧以获得所述先前低分辨率图像帧的翘曲版本;
由所述一个或多个计算设备评估第二损失函数,所述第二损失函数评估所述先前低分辨率图像帧的翘曲版本和所述当前低分辨率图像帧之间的空间均方误差;以及
由所述一个或多个计算设备至少部分地基于所述第二损失函数来训练至少所述机器学习流估计模型。
14.一种计算系统,包括:
一个或多个处理器;
循环超分辨率模型;以及
存储指令的一个或多个非暂态计算机可读介质,所述指令当被所述一个或多个处理器执行时,使得所述计算系统执行操作,所述操作包括:
获得表示视频的当前低分辨率帧的数据;
获得表示所述视频的先前估计的高分辨率帧的数据;
将所述当前低分辨率帧和所述先前估计的高分辨率帧输入到所述循环超分辨率模型中;以及
响应于输入帧,获得所述循环超分辨率模型的输出,所述输出包括表示所述视频的当前低分辨率帧的高分辨率估计的数据。
15.如权利要求14所述的计算系统,其中,所述操作还包括:
在显示器上显示从所述循环超分辨率模型输出的所述视频的当前低分辨率帧的高分辨率估计。
16.如权利要求14或15所述的计算系统,其中:
所述操作还包括获得所述视频的先前低分辨率帧;
所述循环超分辨率模型包括机器学习流估计模型和机器学习帧估计模型;以及
将所述当前低分辨率帧和所述先前估计的高分辨率帧输入到所述循环超分辨率模型中包括;
将表示所述视频的先前低分辨率帧的数据和表示所述视频的当前低分辨率帧的数据输入到所述机器学习流估计模型中;
至少部分地基于所述机器学习流估计模型的输出来修改所述视频的先前估计的高分辨率帧;以及
将表示所述视频的当前低分辨率帧和经修改的先前估计的高分辨率帧的数据输入到所述机器学习帧估计模型中。
17.如权利要求14至16中的任一项所述的计算系统,其中,将所述当前低分辨率帧和所述先前估计的高分辨率帧输入到所述循环超分辨率模型中包括:
由所述一个或多个计算设备至少部分地基于所述视频的运动估计来翘曲所述先前估计的高分辨率帧;以及
由所述一个或多个计算设备将所述先前估计的高分辨率帧输入到机器学习帧估计模型中。
18.一种存储指令的非暂态计算机可读介质,所述指令当被一个或多个计算设备执行时,使得所述一个或多个计算设备执行操作,所述操作包括:
至少部分地基于视频的运动估计来翘曲视频的先前高分辨率帧;
将所述视频的翘曲的先前高分辨率帧和当前低分辨率帧输入到机器学习帧估计模型中;
作为所述机器学习帧估计模型的输出获得当前估计的高分辨率帧;
评估损失函数以获得描述所述当前估计的高分辨率帧和当前地面真值高分辨率帧之间的差异的损失值;以及
调整所述机器学习帧估计模型的一个或多个参数以减小所述损失值。
19.如权利要求18所述的非暂态计算机可读介质,其中,所述操作还包括:
获得表示视频的先前低分辨率帧的数据和表示所述视频的当前低分辨率帧的数据;
将所述先前低分辨率帧和所述当前低分辨率帧输入到机器学习流估计模型中;以及
响应于输入所述先前低分辨率帧和所述当前低分辨率帧,获得包括所述视频的运动估计的所述机器学习流估计模型的输出;
其中,调整所述机器学习帧估计模型的一个或多个参数以减小所述损失值包括基于所述损失函数以端到端方式联合训练所述机器学习流估计模型和所述机器学习帧估计模型。
20.如权利要求18或19所述的非暂态计算机可读介质,其中,所述操作还包括:
至少部分地基于所述运动估计来翘曲所述先前低分辨率帧;
其中,所述损失函数还评估所述先前低分辨率帧的翘曲版本和所述当前低分辨率帧之间的空间均方误差。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/859,992 US10783611B2 (en) | 2018-01-02 | 2018-01-02 | Frame-recurrent video super-resolution |
US15/859,992 | 2018-01-02 | ||
PCT/US2019/012064 WO2019136077A1 (en) | 2018-01-02 | 2019-01-02 | Frame-recurrent video super-resolution |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111587447A true CN111587447A (zh) | 2020-08-25 |
CN111587447B CN111587447B (zh) | 2021-09-21 |
Family
ID=65241311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980007326.8A Active CN111587447B (zh) | 2018-01-02 | 2019-01-02 | 帧循环视频超分辨率 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10783611B2 (zh) |
EP (1) | EP3714424A1 (zh) |
CN (1) | CN111587447B (zh) |
WO (1) | WO2019136077A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592709A (zh) * | 2021-02-19 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 图像超分处理方法、装置、设备及存储介质 |
TWI829350B (zh) * | 2021-09-22 | 2024-01-11 | 聯發科技股份有限公司 | 增強幀序列的質量的方法及系統 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10733714B2 (en) * | 2017-11-09 | 2020-08-04 | Samsung Electronics Co., Ltd | Method and apparatus for video super resolution using convolutional neural network with two-stage motion compensation |
CN111046710A (zh) * | 2018-10-11 | 2020-04-21 | 顾泽苍 | 一种导入sdl模型的图像抽出的方法 |
CN112365553B (zh) * | 2019-07-24 | 2022-05-20 | 北京新唐思创教育科技有限公司 | 人体图像生成模型训练、人体图像生成方法及相关装置 |
KR102147912B1 (ko) * | 2019-08-13 | 2020-08-25 | 삼성전자주식회사 | 프로세서 칩 및 그 제어 방법들 |
US20210073944A1 (en) * | 2019-09-09 | 2021-03-11 | Nvidia Corporation | Video upsampling using one or more neural networks |
CN112529776B (zh) * | 2019-09-19 | 2023-04-07 | 中移(苏州)软件技术有限公司 | 图像处理模型的训练方法、图像处理方法及装置 |
US11341688B2 (en) * | 2019-10-02 | 2022-05-24 | Nokia Technologies Oy | Guiding decoder-side optimization of neural network filter |
CN111062408B (zh) * | 2019-10-23 | 2023-04-18 | 杭州云栖智慧视通科技有限公司 | 一种基于深度学习的模糊车牌图像超分辨率重建方法 |
US11037531B2 (en) * | 2019-10-24 | 2021-06-15 | Facebook Technologies, Llc | Neural reconstruction of sequential frames |
WO2021096159A1 (ko) * | 2019-11-15 | 2021-05-20 | 한국과학기술원 | 라이브 비디오 수집 시스템 및 방법 |
KR20210066653A (ko) | 2019-11-28 | 2021-06-07 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US11200644B2 (en) | 2020-02-27 | 2021-12-14 | Fotonation Limited | Video super resolution method |
US11638032B2 (en) * | 2020-03-05 | 2023-04-25 | The Hong Kong University Of Science And Technology | VistGAN: unsupervised video super-resolution with temporal consistency using GAN |
US11836893B2 (en) * | 2020-03-11 | 2023-12-05 | Mediatek Inc. | Online AI super resolution engine and operations |
CN111598775B (zh) * | 2020-04-26 | 2023-02-03 | 西安理工大学 | 基于lstm网络的光场视频时域超分辨重建方法 |
CN111586412B (zh) * | 2020-05-06 | 2022-07-26 | 华为技术有限公司 | 高清视频处理方法、主设备、从设备和芯片系统 |
US11238601B2 (en) * | 2020-06-11 | 2022-02-01 | Toyota Research Institute, Inc. | Multi-scale recurrent decoder for monocular depth estimation |
US11481877B2 (en) * | 2020-06-16 | 2022-10-25 | Meta Platforms Technologies, Llc | Enhancing the resolution of a video stream |
WO2022016299A1 (zh) * | 2020-07-20 | 2022-01-27 | 陈永聪 | 一种建立强人工智能的方法 |
US20220067879A1 (en) * | 2020-09-03 | 2022-03-03 | Nvidia Corporation | Image enhancement using one or more neural networks |
CN113191945B (zh) * | 2020-12-03 | 2023-10-27 | 陕西师范大学 | 一种面向异构平台的高能效图像超分辨率系统及其方法 |
AU2020281143B1 (en) * | 2020-12-04 | 2021-03-25 | Commonwealth Scientific And Industrial Research Organisation | Creating super-resolution images |
CN112712537B (zh) * | 2020-12-21 | 2022-10-18 | 深圳大学 | 视频时空超分辨率实现方法及装置 |
CN112508792A (zh) * | 2020-12-22 | 2021-03-16 | 北京航空航天大学杭州创新研究院 | 一种基于在线知识迁移的深度神经网络集成模型单张图像超分辨率方法和系统 |
CN112826513B (zh) * | 2021-01-05 | 2022-02-18 | 华中科技大学 | 一种基于深度学习和特异性矫正在fecg上胎儿心率检测系统 |
WO2022231643A1 (en) * | 2021-04-26 | 2022-11-03 | Google Llc | Compression-informed video super-resolution |
CN113538525B (zh) * | 2021-05-28 | 2023-12-05 | 北京旷视科技有限公司 | 光流估计方法、模型训练方法及对应装置 |
FR3126526A1 (fr) * | 2021-09-02 | 2023-03-03 | Safran Electronics & Defense | Procédé de super-résolution d'images |
US20230095237A1 (en) * | 2021-09-23 | 2023-03-30 | Samsung Electronics Co., Ltd. | Efficient flicker suppression for single image super-resolution |
WO2023229644A1 (en) * | 2022-05-25 | 2023-11-30 | Innopeak Technology, Inc. | Real-time video super-resolution for mobile devices |
CN115115516B (zh) * | 2022-06-27 | 2023-05-12 | 天津大学 | 基于Raw域的真实世界视频超分辨率的构建方法 |
CN117058001B (zh) * | 2023-10-12 | 2023-12-12 | 深圳云天畅想信息科技有限公司 | 超分辨率视频融合重建方法、装置及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2525320A1 (en) * | 2011-05-19 | 2012-11-21 | Sony Corporation | Learning apparatus and method, image processing apparatus and method, program, and recording medium |
CN104200498A (zh) * | 2014-08-18 | 2014-12-10 | 北京理工大学珠海学院 | 融合Cortex-A7的实时视频超分辨率处理方法 |
CN106254722A (zh) * | 2016-07-15 | 2016-12-21 | 北京邮电大学 | 一种视频超分辨率重建方法和装置 |
US20170262705A1 (en) * | 2016-03-11 | 2017-09-14 | Qualcomm Incorporated | Recurrent networks with motion-based attention for video understanding |
WO2017178806A1 (en) * | 2016-04-11 | 2017-10-19 | Magic Pony Technology Limited | Motion estimation through machine learning |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109964237B (zh) * | 2016-09-15 | 2020-07-17 | 谷歌有限责任公司 | 图像深度预测神经网络 |
-
2018
- 2018-01-02 US US15/859,992 patent/US10783611B2/en active Active
-
2019
- 2019-01-02 CN CN201980007326.8A patent/CN111587447B/zh active Active
- 2019-01-02 EP EP19702315.3A patent/EP3714424A1/en active Pending
- 2019-01-02 WO PCT/US2019/012064 patent/WO2019136077A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2525320A1 (en) * | 2011-05-19 | 2012-11-21 | Sony Corporation | Learning apparatus and method, image processing apparatus and method, program, and recording medium |
CN104200498A (zh) * | 2014-08-18 | 2014-12-10 | 北京理工大学珠海学院 | 融合Cortex-A7的实时视频超分辨率处理方法 |
US20170262705A1 (en) * | 2016-03-11 | 2017-09-14 | Qualcomm Incorporated | Recurrent networks with motion-based attention for video understanding |
WO2017178806A1 (en) * | 2016-04-11 | 2017-10-19 | Magic Pony Technology Limited | Motion estimation through machine learning |
CN106254722A (zh) * | 2016-07-15 | 2016-12-21 | 北京邮电大学 | 一种视频超分辨率重建方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592709A (zh) * | 2021-02-19 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 图像超分处理方法、装置、设备及存储介质 |
CN113592709B (zh) * | 2021-02-19 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 图像超分处理方法、装置、设备及存储介质 |
TWI829350B (zh) * | 2021-09-22 | 2024-01-11 | 聯發科技股份有限公司 | 增強幀序列的質量的方法及系統 |
Also Published As
Publication number | Publication date |
---|---|
WO2019136077A1 (en) | 2019-07-11 |
US20190206026A1 (en) | 2019-07-04 |
US10783611B2 (en) | 2020-09-22 |
EP3714424A1 (en) | 2020-09-30 |
CN111587447B (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111587447B (zh) | 帧循环视频超分辨率 | |
Liu et al. | Video super-resolution based on deep learning: a comprehensive survey | |
US20210067848A1 (en) | End to End Network Model for High Resolution Image Segmentation | |
US8594464B2 (en) | Adaptive super resolution for video enhancement | |
CN110570356B (zh) | 图像处理方法和装置、电子设备及存储介质 | |
CN114008663A (zh) | 实时视频超分辨率 | |
US20190005619A1 (en) | Image upscaling system, training method thereof, and image upscaling method | |
US20190289321A1 (en) | Video Frame Synthesis with Deep Learning | |
US20180315165A1 (en) | Apparatus for upscaling an image, method for training the same, and method for upscaling an image | |
KR20100112162A (ko) | 고속의 메모리 효율적인 변환 구현 방법 | |
JP6978542B2 (ja) | 電子装置及びその制御方法 | |
US11308361B1 (en) | Checkerboard artifact free sub-pixel convolution | |
JP2017505951A (ja) | 画像の品質を高める方法及びデバイス | |
CN116744056A (zh) | 电子装置及其控制方法 | |
López-Tapia et al. | A single video super-resolution GAN for multiple downsampling operators based on pseudo-inverse image formation models | |
Wu et al. | Image autoregressive interpolation model using GPU-parallel optimization | |
Muhammad et al. | Multi-scale Xception based depthwise separable convolution for single image super-resolution | |
CN113891027B (zh) | 视频插帧模型训练方法、装置、计算机设备和存储介质 | |
CN114692765A (zh) | 视频时空超分模型构建方法、装置、设备及可读存储介质 | |
Zeng et al. | Real-time video super resolution network using recurrent multi-branch dilated convolutions | |
Chen et al. | High-order relational generative adversarial network for video super-resolution | |
US20240022760A1 (en) | Compression-Informed Video Super-Resolution | |
US11871145B2 (en) | Optimization of adaptive convolutions for video frame interpolation | |
US11436442B2 (en) | Electronic apparatus and control method thereof | |
CN112801868B (zh) | 图像超分辨率重建的方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |