CN114945935A - 使用卷积神经网络的超分辨率 - Google Patents
使用卷积神经网络的超分辨率 Download PDFInfo
- Publication number
- CN114945935A CN114945935A CN202080093007.6A CN202080093007A CN114945935A CN 114945935 A CN114945935 A CN 114945935A CN 202080093007 A CN202080093007 A CN 202080093007A CN 114945935 A CN114945935 A CN 114945935A
- Authority
- CN
- China
- Prior art keywords
- frame
- resolution
- training
- neural network
- convolutional neural
- 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.)
- Pending
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 216
- 238000003384 imaging method Methods 0.000 claims abstract description 14
- 238000012549 training Methods 0.000 claims description 152
- 238000000034 method Methods 0.000 claims description 107
- 230000004913 activation Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 26
- 241000023320 Luma <angiosperm> Species 0.000 claims description 21
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 21
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 13
- 230000001902 propagating effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 33
- 230000008569 process Effects 0.000 description 22
- 238000013528 artificial neural network Methods 0.000 description 18
- 238000013135 deep learning Methods 0.000 description 14
- 238000005070 sampling Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000009466 transformation 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/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
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
一种用于超分辨率成像的装置包括卷积神经网络(104),用于接收低分辨率帧(102)并且生成高分辨率亮度分量帧。该装置还包括硬件缩放器(106),用于接收低分辨率帧(102)并且生成第二高分辨率色度分量帧。该装置还包括组合器(108),用于将高分辨率亮度分量帧和高分辨率色度分量帧相组合,以生成高分辨率帧(110)。
Description
背景技术
超分辨率(super-resolution,SR)成像是一类提高由成像系统处理的图像的分辨率的技术。例如,低分辨率图像可以利用各种SR技术被转换为具有改善的细节的高分辨率图像。
附图说明
图1是图示出用于使用可缩放神经网络的超分辨率的示例系统的框图;
图2是图示出用于超分辨率的示例可缩放卷积神经网络的框图;
图3是图示出用于训练用于超分辨率的可缩放卷积神经网络的示例系统的流程图;
图4是示出用PReLU激活函数替换ReLU激活函数的一对图线;
图5是图示出用于利用自相似性损失来训练用于超分辨率的可缩放卷积神经网络的示例系统的框图;
图6是图示出用于训练用于超分辨率的可缩放卷积神经网络的方法的过程流程图;
图7是图示出用于利用自相似性损失来训练用于超分辨率的可缩放卷积神经网络的方法的过程流程图;
图8是图示出用于使用可缩放神经网络的超分辨率的方法的过程流程图;
图9是图示出用于使用具有PReLU激活的可缩放神经网络的超分辨率的方法的过程流程图;
图10是图示出能够使用可缩放神经网络来执行超分辨率的示例计算设备的框图;并且
图11是示出存储用于使用可缩放神经网络来执行超分辨率的代码的计算机可读介质的框图。
相同的数字在本公开和附图各处始终被用于提及相似的组件和特征。100系列的数字指代最初出现于图1中的特征;200系列的数字指代最初出现于图2中的特征;等等。
具体实施方式
基于深度学习的超分辨率可用于将低分辨率图像和视频帧恢复为高分辨率图像和视频帧。当前,基于深度学习的方法可以基于通过某些降采样技术获得的低分辨率和高分辨率图像对来进行训练过程。例如,可以使用传统的超分辨率技术,该技术使用通过双三次滤波器降尺度的低分辨率图像。例如,传统的超分辨率技术可以使用通过双三次滤波器降尺度的低分辨率图像。一些盲目的超分辨率系统可以通过将双三次滤波器与使用多个内核的高斯平滑结合起来,来进一步改进这这个降尺度过程。这种训练过程可能适用于自然内容。然而,在屏幕或游戏内容中,严重的过冲和欠冲伪影可能会在尖锐边缘的升尺度之后被观察到。如本文所使用的,过冲伪影是在边缘附近以虚假条带或者“鬼影”形式出现的伪影。过冲伪影也可以被称为振铃伪影。自然内容是包含相机捕捉的视频场景的视频。例如,自然内容可能包含较少的尖锐边缘。屏幕内容是包含很大一部分渲染的图形(不包括游戏)、文本或者动画而不是相机捕捉的视频场景的视频。游戏内容是很大一部分渲染的游戏。
对于基于深度学习的超分辨率,有时使用两种方法来实现更高质量的输出。例如,深度卷积网络可被用作传统缩放器的后处理模型,以增强通过传统方法(例如,双线性、双三次、Lanczos滤波器,等等)调整大小的图像和视频的细节。然而,这可能会给推理设备引入很大的计算工作负载,尤其是当图像或视频的输入分辨率很高时。另一种实现更高质量输出的方式是直接将低分辨率图像或者视频帧作为输入,然后利用卷积网络来恢复高分辨率图像的细节。例如,卷积网络可被用来将一系列的神经网络层首先应用到低分辨率视频帧,以精确导入用于恢复高分辨率细节的特征图谱。此后,专用的神经网络层可以将低分辨率特征图谱升尺度到高分辨率输出。以这种方式,工作负载的一部分可以被转移到低分辨率特征。与先前方式相比,以这种方式转移工作负载可以减少计算和带宽开销,因为大部分的计算可以在低分辨率而不是高分辨率上进行。
对地面实况高分辨率训练图像进行降采样以获得低分辨率图像是一种直接且简单的方式,来为神经网络获得对大多数自然内容适用的训练对。然而,对于在频域中可能包含极高频的屏幕或游戏内容,高频信息在降采样过程之后可能被破坏。例如,帧可以通过使用某种变换首先被转移到频域。该变换可以是离散余弦变换,或者离散傅里叶变换。这种变换的主要目的可能是使用不同基数的线性组合来表示图像。每个变换所定义的基数可包含具有范围从很低频率到很高频率的不同频率的各种信号。对于空间或图像域中的尖锐边缘,为了在频域中表示这个信号,可以使用许多高频基数。从而,尖锐的边缘通常可包含比其他地方高得多的频率分量。此外,使用插值的降采样,例如经由双线性、双三次、Lanczos或者其他滤波器,可能倾向于破坏这种高频分量。神经网络可能永远无法学习如何处理这种高频输入。从而,当被应用到真实的屏幕内容案例时——这与可能不会遭受任何频率破坏的训练过程不同,由于高频信息以不恰当的方式被强调,可能会出现伪影。
在一些示例中,在数据增强调谐过程之后,过冲伪影可能几乎被去除。然而,与没有使用数据增强的结果相比,最终的高分辨率输出可能变得模糊,这也可能导致其他纹理内容上的质量下降。与调谐前的结果相比,输出变得模糊。这种过冲问题可能沿着黑线发生,并且可能是由于使用修正线性单元(rectified linear unit,ReLU)激活造成的。此外,具有重复模式的图像或视频也可能显示混叠伪影。
本公开概括而言涉及使用可缩放神经网络的超分辨率的技术。例如,该技术包括训练方法和示例推理拓扑。首先,在数据准备阶段中,取代传统的基于插值的降采样过程,例如双线性或双三次降采样,最近邻降采样可被用于屏幕内容以获得额外的数据增强。在训练阶段中,除了使用L1/L2损失函数以外,还使用自相似性损失作为损失函数的一部分来处理混叠伪影。对于推理拓扑,该技术还包括基于增强型深度超分辨率(enhanced deepsuper-resolution,EDSR)的小尺度网络,并且用参数化修正线性单元(parametricrectified linear unit,PReLU)激活替换了ReLU激活,以改善网络的鲁棒性。
本文描述的技术从而能够消除屏幕内容中的过冲、欠冲和混叠问题,而不影响修复后的图像或视频的锐度。所设计的网络可以帮助用户用任何分辨率(例如1280x720(720p)、1920×1080(1080p)、2560x1440(1440p)或者更高的分辨率)的输入视频实现实时高质量的超分辨率。例如,通过经由卷积神经网络只处理亮度通道,并且使用硬件升尺度器来处理色度通道,该技术可以使用更少的计算资源来高效地处理视频帧。此外,本文描述的技术可以消除屏幕和游戏内容中的伪影,而对自然内容的外观几乎没有副作用。从而,这里的技术可被用于增强自然、屏幕和游戏内容的图像和视频帧的质量。
图1是图示出用于使用可缩放神经网络的超分辨率的示例系统的框图。可以使用图6-图9的方法600-900在图10的计算设备1000中实现示例系统100。例如,可以使用图6和图7的方法600和700来训练系统100,并且使用图8和图9的方法800和900来执行系统100。
示例系统100包括低分辨率帧102。系统100包括与低分辨率帧102的源通信耦合的卷积神经网络(convolutional neural network,CNN)104。系统100还包括与低分辨率帧102的源通信耦合的硬件缩放器106。系统100还进一步包括与卷积神经网络(CNN)104和硬件缩放器106通信耦合的组合器108。
图1的系统100图示了一种推理框架,它直接取得低分辨率视频帧作为输入,并且利用卷积神经网络104来恢复输出高分辨率帧110中的细节。具体地,低分辨率帧102可以被馈送到CNN 104和硬件缩放器106中。在一些示例中,低分辨率帧102可以采取YUV420格式,其中UV通道的大小可以是亮度通道Y的四分之一。YUV格式编码的彩色图像或视频考虑到人类的感知,允许了减小色度分量的带宽。在一些示例中,可以应用从RGB到YUV的颜色转换。
在各种示例中,硬件缩放器106可以是使用特定缩放系数的升采样器。在一些示例中,缩放系数是由高分辨率和低分辨率帧对的不同采样率决定的。例如,为了将360p转换为720p,缩放系数为2x。例如,硬件缩放器106可以接收低分辨率图像或视频帧作为输入,并且在每个方向上对色度分量图像或视频进行两倍的升采样。硬件缩放器106的输出从而可以是高分辨率的图像或视频帧。例如,由硬件缩放器106生成的高分辨率图像或视频帧可以具有两倍于输入低分辨率帧的分辨率。
CNN 104可以是任何取得低分辨率帧102作为输入的升尺度框架。CNN 104可以被训练来在给定包括低分辨率输入帧和地面实况高分辨率帧的训练对的情况下学习神经网络的输出之间的残差。例如,神经网络的若干个权重可以基于计算出的残差被修改。以这种方式,CNN 104可能已经被反复训练以输出更接近地类似于训练帧集合中的输入低分辨率帧的地面实况的帧。
组合器108将CNN 104的输出高分辨率帧与来自硬件缩放器106的高分辨率帧相组合,以生成组合的高分辨率帧110。例如,与来自硬件缩放器106的高分辨率帧相比,组合高分辨率帧110可具有改善的细节。此外,在各种示例中,系统100可以使用可缩放的CNN超分辨率框架,该框架包括硬件缩放器106和可缩放的CNN 104,该可缩放CNN可以随着质量要求和计算能力的增大而被扩展。例如,CNN 104可以是图2的可缩放CNN 200。
图1的示意图并不打算表明示例系统100要包括图1所示的所有组件。更确切地说,示例系统100可以使用更少的组件或者图1中未图示的额外组件(例如,额外的低分辨率帧、高分辨率帧、CNN网络、硬件缩放器,等等)来实现。
图2是图示出用于超分辨率的示例可缩放卷积神经网络的框图。示例的可缩放CNN200可以使用图6-图9的方法600-900实现在图1的系统100的CNN 104中,或者图10的计算设备1000的CNN 1038中。例如,可缩放CNN 200可以使用图6和图7的方法600和700来进行训练,并且使用图8和图9的方法800和900来用于生成高分辨率帧。
示例可缩放CNN 200包括图1中类似编号的元素。例如,可缩放CNN 200被示为接收低分辨率帧102并且输出高分辨率帧110。在一些示例中,除了YUV输入帧102以外,可缩放CNN网络200可被配置为支持原生RGB输入帧102。在这些示例中,训练和推理都可以使用RGB颜色空间中的图像或视频帧作为输入102,而不使用硬件缩放器。可缩放CNN 200还包括具有PReLU激活的第一卷积层202A。例如,第一卷积层202A可具有(K,1,3,N)的参数值,其中K是卷积内核大小,第一“1”值是指应用卷积的跨步数目,“3”值是指输入通道的数目,并且N指的是输出通道或特征图谱的数目。作为另一个示例,如果在CNN 104中使用第一卷积层202A,则参数值可以是(K,1,1,N),其中单个通道可以是YUV视频帧的Y分量。可缩放CNN 200包括与第一卷积层202A通信耦合的残差块组204。可缩放CNN 200还包括与残差块组204通信耦合的具有PReLU激活的第二卷积层202B。例如,第二卷积层202B可具有(K,1,N,N)的参数值,其中第一“N”是输入特征图谱的数目,并且第二“N”值是新输出的特征图谱集合中的特征图谱的数目。例如,卷积层202B可具有N个特征图谱的输入,并且每个特征图谱是二维图像斑块。在卷积层202B处的处理之后,卷积层202B可以输出一组新的N个特征图谱,这些特征图谱被用来恢复高分辨率图像或视频。该系统包括与第一卷积层202A和第二卷积层202B通信耦合的组合器108。可缩放CNN 200还包括与组合器108通信耦合的具有PReLU激活的转置卷积层208。例如,转置卷积层208可以具有(K,1,N,N)的参数值。在各种示例中,转置卷积层208将输入的N个特征图谱按某个整数系数进行升尺度。例如,转置卷积层208可以将输入的特征图谱按2倍的系数升尺度,用于2倍升尺度的情况。作为一个示例,如果每个输入特征图谱的大小是p,那么转置卷积层208可以输出一组新的N个特征图谱,并且每个特征图谱的大小是2p。可缩放CNN 200还包括与转置卷积层208通信耦合的第三卷积层210。例如,第三卷积层210可具有(K,1,N,3)个特征。在一些示例中,例如,如果可缩放CNN 200被用作CNN 104,那么第三卷积层210的参数集合可以是(K,1,N,1),因为只有一个通道可以由该网络输出。例如,该一个通道可以是Y分量通道。残差块组204包括若干个残差块210。对减少数目的残差块的使用是由虚线箭头指示的210。例如,残差块组204的最后一个残差块210可以不被用于计算复杂性较低的操作。
如图2的示例中所示,在各种示例中,基于增强型深度超分辨率网络(EDSR)结构的拓扑可以被部署为可缩放CNN 200的基线框架。与传统的残差网络相比,EDSR结构可以通过去除不必要的模块而得到优化。在各种示例中,可缩放CNN 200的内部权重和激活精度可以被降低。例如,可缩放CNN 200可以使用16比特浮点表示而不是原始EDSR结构中的32比特。此外,在各种示例中,为了在移动平台中以有限的计算能力和存储器带宽实现实时性能,可以修剪残差块和特征维度的数目。例如,修剪残差块210以使用更低数目的残差块210是由虚线箭头指示的。卷积层202A、202B、208和210中使用的特征图谱的数目N也可以被减少,以减少可缩放CNN 200的特征维度。通过减少这个数目,可以有效地减少总的计算资源和存储器带宽。在一些示例中,网络特征图谱大小也可以适应输入分辨率。例如,CNN网络的能力可以随着计算增长而进一步提高。例如,通过级联更多的残差块或者增大特征图谱的数目N,系统可以被扩展到更大的网络并且提供更高质量的结果。类似地,为了降低计算强度,可以通过减少残差块的数目或者减少卷积层202A、202B、208和210中使用的特征图谱的数目N来减小CNN网络200的能力。在一些示例中,为了改善缓存局部性,也可以调整特征图谱的大小。如本文所使用的,特征图谱大小指的是图像斑块的大小。例如,图像斑块的大小可以是(W/M)x(H/N)。作为一个示例,当M=N=1时,特征图谱大小可以等于低分辨率图像的宽度W和高度H。在推理阶段中,每个低分辨率图像可以被划分成MxN个图像斑块,其大小为(W/M)x(H/N)。在一些示例中,最优特征图谱大小可用于改善缓存局部性,以实现最佳系统性能。例如,可以通过使用不同的特征图谱大小多次运行推理以确定哪种特征图谱大小具有最佳性能,从而来确定最优特征图谱大小。在一些示例中,如果有关于计算设备的体系结构的更多详细信息可用,那么可以使用不同的特征图谱大小执行理论性能预测,以确定最优特征大小值。
此外,可以用PReLU函数来替换EDSR结构的ReLU函数。例如,PReLU函数可以是图4的PReLU函数。
图2的示意图并不打算表明示例可缩放CNN 200要包括图2所示的所有组件。更确切地说,示例可缩放CNN 200可以使用更少的组件或者图2中未图示的额外组件(例如,额外的低分辨率帧、高分辨率帧、卷积层、残差块,等等)来实现。
图3是图示出用于训练用于超分辨率的可缩放卷积神经网络的示例系统的流程图。利用图10的计算设备1000,或者图11的计算机可读介质1100,示例系统300可被实现来训练图1和图2的系统100或者可缩放CNN 200。
图3的系统300包括一组高分辨率帧302。例如,高分辨率帧302可以是一组训练帧。系统300包括降尺度器304。系统300包括被示为由降尺度器302输出的低分辨率帧306。系统300包括基于CNN的超分辨率单元308,该单元与降尺度器304通信耦合以接收降尺度的低分辨率帧306。系统300包括被示为由基于CNN的超分辨率单元308生成的一组重建的高分辨率帧310。例如,可以使用图2的可缩放卷积神经网络200来实现基于CNN的超分辨率网络308。系统300还进一步包括损失计算器312,其与基于CNN的超分辨率单元308通信耦合并且被示为接收高分辨率帧302和重建的高分辨率帧310两者。
用于训练基于CNN的超分辨率单元308的示例系统300包括第一低分辨率帧306和高分辨率帧302对可以在训练前被准备。例如,高分辨率帧310可以由设备以更高的采样率捕捉。在一些示例中,高分辨率帧310可以从其他图像格式,例如RGB,被转换为YUV格式。在各种示例中,降尺度器304可以通过对高分辨率帧302进行降采样而生成低分辨率帧306。在各种示例中,可以使用最近邻降采样方法对高分辨率帧302进行降尺度,以达到数据增强的目的。例如,可以首先以传统方式生成训练数据集,然后可以使用最近邻方法对屏幕和游戏内容进行调整大小。在各种示例中,可以控制总训练集之中的最近邻降采样帧的比例。通过将最近的降采样帧用于训练输入,可以成功地防止所产生的经训练的基于CNN的超分辨率网络308在推理时在文本和边缘上生成过冲伪影。然而,如果最近的降采样帧被专用于训练输入,则可能会在文本区域上引入一些失真。例如,文本区域可能看起来具有改变了的字体风格。此外,一些尖锐的细节也可能沿着线条被去除。从而,只用邻居降尺度数据进行训练可能会降低高分辨率输出质量。因此,在一些示例中,最近邻训练帧的比例可以被优化,并且被设置为在总训练帧之中的10%至25%内被使用。以这种方式,基于CNN的超分辨率网络308的经训练的模型可能不会被过度调谐。
在各种示例中,基于CNN的超分辨率网络308接收降尺度的低分辨率帧306,并且生成重建的高分辨率帧310。例如,重建的高分辨率帧310可以匹配高分辨率帧302的分辨率。
重建的高分辨率帧310可以与原始的高分辨率帧302一起被输入损失计算器312中,以计算要最小化的损失。例如,可以使用任何适当的损失函数来计算损失。在各种示例中,用于训练的损失函数可以被设计为输出和地面实况的L1/L2,或者任何其他适当的感知损失。在一些示例中,可以使用反向传播来计算损失函数相对于CNN的权重的梯度。CNN的一个或多个权重可以相应地被更新。通过最小化所生成的重建高分辨率帧310和其相应的地面实况高分辨率帧302之间的损失函数,基于CNN的超分辨率网络308可以最终收敛到一定程度。例如,收敛程度可以被设置为预定的阈值。
在各种示例中,所产生的经训练的基于CNN的超分辨率网络308可被用于推理阶段中,以改善超分辨率成像。例如,经训练的基于CNN的超分辨率网络308可被用作图1的系统100。
图3的示意图并不打算表明示例系统300要包括图3所示的所有组件。更确切地说,示例系统300可以使用更少的组件或者图3中未图示的额外组件(例如,额外的低分辨率帧、高分辨率帧、重建的高分辨率帧、降尺度器、基于CNN的超分辨率网络、损失,等等)来实现。例如,系统300也可以通过引入基于CNN的降采样器来使用图5的自相似性损失和最终损失。
图4是示出用PReLU激活函数404替换ReLU激活402函数的一对图线400。图线的垂直轴指示f(y)的值,并且水平轴指示y的值。在一些示例中,由于ReLU激活402可能将低于零的输出y钳制到f(y)值零,所以这可能导致训练期间的梯度消失。具体地,对于y<0,ReLU的梯度等于0,这意味着梯度反向传播可能在这一点停止,并且ReLU之前的所有层可能没有被训练很好地优化。从而,为了改善训练和结果输出质量,可以用PReLU激活404来替换ReLU激活402。例如,使用PReLU 404时的质量改善在包括尖锐边缘(例如文本)的帧的推理中可能尤其明显。一些类型的内容,例如屏幕内容,可能更经常包括尖锐边缘。与图3中描述的数据增强技术一起,使用PReLU激活404训练的模型可以去除屏幕和游戏内容上的过冲伪影,同时保留自然内容中的锐利度。
图5是图示出用于利用自相似性损失训练用于超分辨率的可缩放卷积神经网络的示例系统的框图。示例系统500可被实现来训练图1和图2的系统100或可缩放CNN 200、图10的计算设备1000或者图11的计算机可读介质1100。
图5的系统500包括图3的系统300的类似编号的元素。此外,系统500包括与基于CNN的超分辨率网络308通信耦合的基于CNN的降尺度器502。在各种示例中,基于CNN的降尺度器502可以具有与图2的示例可缩放卷积神经网络200相同的拓扑,但参数配置不同以实现降尺度。此外,系统500还包括与基于CNN的降采样器502通信耦合的自相似性损失计算器504。系统500还进一步包括与自相似性损失计算器504和损失计算器312通信耦合的最终损失计算器506。
在系统500中,基于CNN的降尺度器502可以对重建的高分辨率帧310执行降采样,以生成具有低分辨率的降采样重建高分辨率帧,在此称为基于CNN的降采样帧。例如,基于CNN的降采样帧可具有与低分辨率帧306类似的分辨率。
自相似性损失计算器504可以基于低分辨率帧306和基于CNN的降采样帧计算自相似性损失。在各种示例中,自相似性损失衡量降尺度的输入帧和重建的高分辨率帧310的降尺度副本之间的相似性。在各种示例中,自相似性损失可被用于规范化CNN网络,以经由反向传播抑制混叠伪影。
最终损失计算器506可以基于损失312和自相似性损失504计算最终损失。例如,可以通过损失312和自相似性损失504的加权平均来计算最终损失。例如,可以利用以下公式来计算最终损失:
Finalloss=lossA+λ*self_similarity_loss 公式1
其中lossA是由损失计算器312计算的损失,self_similarity_loss是由自相似性损失计算器504计算的损失,并且lambda是根据经验确定的加权参数。从而,通过在网络优化中使用最终损失,可以抑制混叠伪影。因为基于CNN的降采样器502只在训练期间被使用,而在推理期间不被使用,所以所产生的使用经训练的基于CNN的超分辨率网络308的系统在推理时可能在计算上非常高效。
图5的示意图并不打算表明示例系统500要包括图5所示的所有组件。更确切地说,示例系统500可以使用更少的组件或者图5中未图示的额外组件(例如,额外的高分辨率地面实况帧、低分辨率帧、高分辨率帧、CNN网络、硬件缩放器,等等)来实现。
图6是图示出用于训练用于超分辨率的可缩放卷积神经网络的方法600的过程流程图。可以在图1和图2的系统100和200、图10的计算设备1000或者图11的计算机可读介质1100中实现示例方法600。
在块602,接收训练帧。例如,训练帧可以是用作地面实况帧的高分辨率帧。在各种示例中,训练帧可以是YUV格式的帧。
在块604,对训练帧进行降尺度以生成低分辨率训练帧。例如,训练帧可以在每个方向上被按2的系数进行降尺度。从而,在低分辨率训练帧中,四个像素的每个块可以由一个像素表示。在各种示例中,可以使用最近邻降尺度对训练帧降尺度。在一些示例中,训练帧可包括基础部分和增强部分。基础部分可以是通过使用双三次插值生成的低分辨率帧。增强部分可以是通过使用最近邻降尺度生成的低分辨率帧。在各种示例中,增强部分占部分总和的百分比可能是10%-25%。我想知道我们是否需要在这里强调这两个部分。
在块606,经由可缩放卷积神经网络处理低分辨率训练帧,以生成重建的高分辨率帧。例如,重建的高分辨率帧可具有与高分辨率训练帧相同的分辨率。
在块608,基于训练帧与重建的高分辨率帧的比较来计算损失。例如,该损失可以是L1/L2损失或者任何其他适当的感知损失。
在块610,计算出的损失被反向传播。例如,可以基于计算出的损失来调整可缩放卷积神经网络的一个或多个权重。
图6的过程流程图并不打算表明要以任何特定顺序执行示例方法600的块,或者在每一种情况中都要包括所有的块。另外,取决于具体实现方式的细节,在示例方法600内可包括任何数目的未示出的额外块。
图7是图示出用于利用自相似性损失训练用于超分辨率的可缩放卷积神经网络的方法700的过程流程图。可以在图1和图2的系统100和200、图10的计算设备1000或者图11的计算机可读介质1100中实现示例方法700。
在块702,接收训练帧。例如,训练帧可以是高分辨率彩色帧或视频帧。在各种示例中,训练帧可以是YUV格式的视频帧。例如,卷积神经网络可被配置为接收YUV格式视频帧的Y通道。在一些示例中,训练帧可以是RGB格式的。例如,可缩放卷积神经网络可被配置为支持三通道输入,而不使用缩放器。
在块704,对训练帧进行降尺度以生成低分辨率训练帧。例如,训练帧可以在每个方向上被按2的系数进行降尺度。在各种示例中,可以使用最近邻降尺度对训练帧降尺度。
在块706,经由可缩放卷积神经网络处理低分辨率训练帧,以生成重建的高分辨率帧。例如,重建的高分辨率帧可具有与高分辨率训练帧相同的分辨率。
在块708,基于训练帧与重建的高分辨率帧的比较来计算第一损失。例如,该损失可以是L1/L2损失或者任何其他适当的感知损失。
在块710,处理重建的高分辨率帧以生成降采样的帧。例如,可以使用基于CNN的降采样器对重建的高分辨率帧进行降采样。
在块712,基于低分辨率训练帧与降采样帧的比较,来计算自相似性损失。例如,可以使用L1/L2损失或者任何其他适当的感知损失来计算自相似性损失。
在块714,基于自相似性损失和第一损失来计算最终损失。例如,可以通过组合自相似性损失与第一损失来计算自相似性损失。
在块716,通过可缩放卷积神经网络来反向传播最终损失。例如,可以基于计算出的损失来调整可缩放卷积神经网络的一个或多个权重。
图7的过程流程图并不打算表明要以任何特定顺序执行示例方法700的块,或者在每一种情况中都要包括所有的块。另外,取决于具体实现方式的细节,在示例方法700内可包括任何数目的未示出的额外块。
图8是图示出用于使用可缩放神经网络的超分辨率的方法800的过程流程图。可以在图1和图2的系统100和200、图10的计算设备1000或者图11的计算机可读介质1100中实现示例方法800。
在块802,接收低分辨率帧。例如,低分辨率视频帧可以是YUV视频帧格式。在一些示例中,低分辨率帧可以从RGB格式被转换为YUV帧格式。
在块804,经由卷积神经网络(CNN),基于低分辨率帧生成高分辨率亮度分量帧。例如,可以基于低分辨率帧的亮度分量来生成高分辨率亮度分量帧。在一些示例中,CNN可以是图2的可缩放CNN。在各种示例中,可以使用高分辨率地面实况训练帧的最近邻降采样来训练CNN。在一些示例中,可以使用自相似性损失函数来训练CNN。例如,可以使用图6和图7的方法600或者700来训练CNN。在一些示例中,CNN可包括化简的残差块组。在各种示例中,CNN还可包括参数化修正线性单元(PReLU)激活。
在块806,经由硬件缩放器,基于低分辨率帧生成高分辨率色度分量帧。例如,可以基于低分辨率帧的色度分量来生成高分辨率亮度分量帧。在各种示例中,硬件缩放器可以是节能的硬件缩放器。
在块808,将高分辨率亮度分量帧与高分辨率色度分量帧相组合以生成高分辨率帧。例如,可以将高分辨率亮度分量帧与高分辨率色度分量帧相组合以生成高分辨率YUV格式视频帧。
图8的过程流程图并不打算表明要以任何特定顺序执行示例方法800的块,或者在每一种情况中都要包括所有的块。另外,取决于具体实现方式的细节,在示例方法800内可包括任何数目的未示出的额外块。例如,方法800可包括使卷积神经网络的特征图谱大小适应于低分辨率帧的分辨率。在一些示例中,方法800可包括基于处理器可用的存储器带宽来调整卷积神经网络中的特征图谱的数目。
图9是图示出用于使用具有PReLU激活的可缩放神经网络的超分辨率的方法900的过程流程图。可以在图1和图2的系统100和200、图10的计算设备1000或者图11的计算机可读介质1100中实现示例方法900。
在块902,接收低分辨率帧。例如,低分辨率帧可以是以YUV视频帧格式接收的。在一些示例中,帧可以以RGB格式被接收,并且被转换为YUV帧格式。
在块904,经由具有PReLU激活的卷积神经网络(CNN)生成高分辨率帧。例如,可以基于低分辨率帧的亮度分量来生成高分辨率亮度分量帧。在一些示例中,CNN可以是图2的可缩放CNN。
在块906,经由具有残差块组和PReLU激活的硬件缩放器来生成高分辨率帧。例如,可以基于低分辨率帧的色度分量来生成高分辨率亮度分量帧。在各种示例中,硬件缩放器可以是节能的硬件缩放器。
在块908,将CNN的高分辨率帧与硬件缩放器的高分辨率帧相组合,以生成组合的高分辨率帧。例如,可以将高分辨率亮度分量帧与高分辨率色度分量帧相组合以生成高分辨率YUV格式帧。
图9的过程流程图并不打算表明要以任何特定顺序执行示例方法900的块,或者在每一种情况中都要包括所有的块。另外,取决于具体实现方式的细节,在示例方法900内可包括任何数目的未示出的额外块。例如,方法900可包括使卷积神经网络的特征图谱大小适应于低分辨率帧的分辨率,基于处理器可用的存储器带宽调整卷积神经网络中的特征图谱的数目,或者包括这两者。
现在参考图10,示出了图示出可以使用可缩放神经网络执行超分辨率的示例计算设备的框图。计算设备1000可以是例如膝上型计算机、桌面型计算机、平板计算机、移动设备、或者可穿戴设备,等等。在一些示例中,计算设备1000可以是云计算系统中的边缘设备。在各种示例中,计算设备1000可以是相机系统。计算设备1000可包括被配置为执行存储的指令的中央处理单元(central processing unit,CPU)1002,以及存储可被CPU 1002执行的指令的存储器设备1004。CPU 1002可通过总线1006耦合到存储器设备1004。此外,CPU1002可以是单核处理器、多核处理器、计算集群、或者任何数目的其他配置。此外,计算设备1000可包括多于一个CPU 1002。在一些示例中,CPU 1002可以是具有多核处理器体系结构的片上系统(system-on-chip,SoC)。在一些示例中,CPU 1002可以是用于视频处理的专用数字信号处理器(digital signal processor,DSP)。存储器设备1004可包括随机访问存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、闪存、或者任何其他适当的存储器系统。例如,存储器设备1004可包括动态随机访问存储器(dynamic randomaccess memory,DRAM)。
存储器设备1004可包括随机访问存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、闪存、或者任何其他适当的存储器系统。例如,存储器设备1004可包括动态随机访问存储器(dynamic random access memory,DRAM)。
计算设备1000还可包括图形处理单元(graphics processing unit,GPU)1008。如图所示,CPU 1002可通过总线1006耦合到GPU 1008。GPU 1008可被配置为在计算设备1000内执行任何数目的图形操作。例如,GPU 1008可被配置为渲染或操纵图形图像、图形帧、视频等等,以被显示给计算设备1000的用户。
存储器设备1004可包括随机访问存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、闪存、或者任何其他适当的存储器系统。例如,存储器设备1004可包括动态随机访问存储器(dynamic random access memory,DRAM)。存储器设备1004可包括设备驱动器1010,其被配置为执行用于训练多个卷积神经网络以执行序列独立处理的指令。设备驱动器1010可以是软件、应用程序、应用代码之类的。
CPU 1002也可通过总线1006连接到输入/输出(I/O)设备接口1012,该接口被配置为将计算设备1000连接到一个或多个I/O设备1014。I/O设备1014可包括例如键盘和指点设备,其中指点设备可包括触摸板或者触摸屏,等等。I/O设备1014可以是计算设备1000的内置组件,或者可以是从外部连接到计算设备1000的设备。在一些示例中,存储器1004可以通过直接存储器访问(direct memory access,DMA)与I/O设备1014进行通信耦合。
CPU 1002也可通过总线1006链接到显示接口1016,该接口被配置为将计算设备1000连接到显示设备1018。显示设备1018可包括作为计算设备1000的内置组件的显示屏幕。显示设备1018还可包括在计算设备1000内部或者从外部连接到计算设备900的计算机监视器、电视或者投影仪,等等。
计算设备1000还包括存储设备1020。存储设备1020是物理存储器,例如硬盘驱动器、光驱动器、拇指驱动器、驱动器的阵列、固态驱动器、或者这些的任何组合。存储设备1020也可包括远程存储驱动器。
计算设备1000还可包括网络接口控制器(network interface controller,NIC)1022。NIC 1022可被配置为通过总线1006将计算设备1000连接到网络1024。网络1024可以是广域网(wide area network,WAN)、局域网(local area network,LAN)或者因特网,等等。在一些示例中,该设备可以通过无线技术与其他设备通信。例如,该设备可以经由无线局域网连接与其他设备通信。在一些示例中,该设备可以经由或类似的技术与其他设备连接和通信。
计算设备1000还包括相机1026。例如,相机1026可包括一个或多个成像传感器。在一些示例中,相机1026可包括处理器以生成视频帧。
计算设备1000还包括深度学习超分辨率训练器1028。例如,深度学习超分辨率训练器1028可用于训练神经网络以执行超分辨率成像。深度学习超分辨率训练器1028可包括降采样器1030、损失计算器1032、以及反向传播器1034。在一些示例中,深度学习超分辨率训练器1028的每个组件1030-1034可以是微控制器、嵌入式处理器或者软件模块。降采样器1030可以对高分辨率训练帧进行降尺度,以生成包括基础部分和增强部分的额外训练对。例如,降采样器1030可以使用双三次降采样对训练帧进行降尺度,以生成每个训练帧对的基础部分。在各种示例中,降采样器1030可以使用高分辨率地面实况训练帧的最近邻降采样对训练帧进行降尺度,以生成每个训练帧对的增强部分。在各种示例中,包括基础部分和增强部分的额外训练对可以是所使用的训练数据集的百分之10到25。例如,在训练期间使用10-25%的额外训练对可以使网络正规化,并且改善经训练的网络的质量。损失计算器1032可以基于重建的高分辨率帧和高分辨率地面实况帧的比较来计算损失。例如,卷积神经网络可用于在训练期间从低分辨率训练帧生成重建的高分辨率帧。在一些示例中,损失计算器1032可以基于降采样的重建的高分辨率帧和降采样的低分辨率帧的比较来计算自相似性损失。例如,损失计算器1032可以基于从重建的高分辨率帧生成的基于CNN的降采样帧,以及通过对高分辨率地面实况帧进行降尺度生成的低分辨率训练帧,来计算自相似性损失。在各种示例中,损失计算器1032可以基于第一损失和自相似性损失来计算最终损失。例如,损失计算器1032可以通过组合第一损失和自相似性损失来计算最终损失。反向传播器1034可以反向传播损失以修改基于CNN的超分辨率网络的一个或多个权重。在一些示例中,反向传播器1034可以反向传播最终损失以修改基于CNN的超分辨率网络的一个或多个权重。
该计算设备还进一步包括深度学习超分辨率网络1036。例如,深度学习超分辨率网络1036可以是可缩放的卷积神经网络。深度学习超分辨率网络1036可用于在输入帧上执行超分辨率,以生成具有更高分辨率和细节的帧。深度学习超分辨率网络1036包括卷积神经网络1038、硬件缩放器1040、以及组合器1042。卷积神经网络1038可以接收低分辨率帧并且生成高分辨率亮度分量帧。例如,卷积神经网络1038可以是基于增强型深度超分辨率的小尺度网络。在一些示例中,卷积神经网络1038可包括参数化修正线性单元(PReLU)激活。在各种示例中,卷积神经网络1038可包括被优化来改善缓存局部性的特征图谱大小。硬件缩放器1040可以接收低分辨率帧并且生成高分辨率色度分量帧。组合器1042可以将高分辨率亮度分量帧和高分辨率色度分量帧相组合,以生成高分辨率帧。例如,组合的高分辨率图像可以在人类视觉最容易注意的亮度分量中具有改善的细节。
图10的框图并不打算表明计算设备1000要包括图10所示的所有组件。更确切地说,计算设备1000可包括更少的组件或者图10中没有图示的额外组件,例如,额外的缓冲器、额外的处理器,额外的CNN,等等。取决于具体实现方式的细节,计算设备1000可包括图10中没有示出的任何数目的额外组件。例如,深度学习超分辨率训练器1028可还包括基于CNN的降采样器,以对重建的高分辨率帧进行降采样,用于训练卷积神经网络。此外,最近邻降采样器1030、损失计算器1032和反向传播器1034或者CNN 1038、硬件缩放器1040或组合器1042的任何功能可以部分或全部在硬件中和/或在处理器1002中实现。例如,功能可利用专用集成电路来实现,用在处理器1002中实现的逻辑来实现,或者在任何其他设备中实现。此外,CPU 1002的任何功能可以部分或完全在硬件中和/或在处理器中实现。例如,深度学习超分辨率训练器1028或者深度学习超分辨率网络1036的功能可以用专用集成电路、在处理器中实现的逻辑、在专门的图形处理单元(例如GPU 1008)中实现的逻辑来实现,或者在任何其他设备中实现。
图11是示出存储用于使用可缩放神经网络执行超分辨率的代码的计算机可读介质1100的框图。计算机可读介质1100可被处理器1102通过计算机总线1104访问。此外,计算机可读介质1100可包括被配置为指挥处理器1102执行本文描述的方法的代码。在一些实施例中,计算机可读介质1100可以是非暂态计算机可读介质。在一些示例中,计算机可读介质1100可以是存储介质。
本文论述的各种软件组件可被存储在一个或多个计算机可读介质1100上,如图11中所示。例如,接收器模块1106可被配置为接收低分辨率帧。训练器模块1108可被配置为接收高分辨率地面实况训练帧并且基于训练帧来训练CNN。例如,训练器模块1108可被配置为对训练帧进行降尺度以生成低分辨率训练帧来训练CNN。在一些示例中,训练器模块1108可被配置为使用高分辨率地面实况训练帧的最近邻降采样来对训练帧进行降尺度。训练器模块1108可被配置为基于训练帧与来自CNN的重建高分辨率帧的比较来计算第一损失。在一些示例中,训练器模块1108可被配置为处理重建的高分辨率帧以生成降采样的帧。在各种示例中,训练器模块1108可被配置为基于低分辨率训练帧与降采样帧的比较来计算自相似性损失。例如,训练器模块1108可被配置为执行图6和图7的方法600或700。CNN模块1110可被配置为基于低分辨率帧来生成高分辨率亮度分量帧。在一些示例中,CNN模块1110可被配置为具有化简的残差块组。在各种示例中,CNN模块1110可被配置为包括参数化修正线性单元(PReLU)激活。在一些示例中,CNN模块1110可被配置为具有可适应的特征图谱大小以匹配低分辨率帧的分辨率。在各种示例中,CNN模块1110可被配置为具有基于处理器可用的存储器带宽的可调整的特征图谱数目。硬件缩放器模块1112可被配置为基于所接收的低分辨率帧来生成高分辨率色度分量帧。例如,硬件缩放器模块1112可被配置为对低分辨率帧的色度通道进行升尺度。组合器模块1114可被配置为将CNN模块1110的高分辨率亮度分量帧与来自硬件缩放器模块1112的高分辨率色度分量帧相组合以生成高分辨率帧。例如,组合的高分辨率帧可以是YUV帧,其在亮度分量中包括改善的细节。
图11的框图并不打算表明计算机可读介质1100要包括图11所示的所有组件。另外,取决于具体实现方式的细节,计算机可读介质1100可包括图11中没有示出的任何数目的额外组件。
示例
示例1是一种用于超分辨率成像的装置。所述装置包括卷积神经网络,用于接收低分辨率帧并且生成高分辨率亮度分量帧。所述装置还包括硬件缩放器,用于接收所述低分辨率帧并且生成高分辨率色度分量帧。所述装置还包括组合器,用于将所述高分辨率亮度分量帧和所述高分辨率色度分量帧相组合,以生成高分辨率帧。
示例2包括如示例1所述的装置,包括或不包括可选的特征。在这个示例中,所述卷积神经网络在额外的训练帧对上被训练,所述额外的训练帧对被生成为包括增强部分,所述增强部分是使用高分辨率地面实况训练帧的最近邻降采样来生成的。
示例3包括如示例1至2中的任一者所述的装置,包括或不包括可选的特征。在这个示例中,所述卷积神经网络是使用自相似性损失函数来训练的。
示例4包括如示例1至3中的任一者所述的装置,包括或不包括可选的特征。在这个示例中,所述卷积神经网络包括基于增强型深度超分辨率的小尺度网络。
示例5包括如示例1至4中的任一者所述的装置,包括或不包括可选的特征。在这个示例中,所述卷积神经网络包括参数化修正线性单元(PReLU)激活。
示例6包括如示例1至5中的任一者所述的装置,包括或不包括可选的特征。在这个示例中,所述卷积神经网络用于在训练期间从低分辨率训练帧生成重建的高分辨率帧。所述重建的高分辨率帧和地面实况高分辨率帧被用于计算损失,该损失被用于训练所述卷积神经网络。
示例7包括如示例1至6中的任一者所述的装置,包括或不包括可选的特征。在这个示例中,所述装置包括基于CNN的降采样器,用于对重建的高分辨率帧进行降采样,以用于训练所述卷积神经网络。
示例8包括如示例1至7中的任一者所述的装置,包括或不包括可选的特征。在这个示例中,所述装置包括自相似性损失计算器,用于基于从重建的高分辨率帧生成的基于CNN的降采样帧、以及通过对高分辨率地面实况帧进行降尺度生成的低分辨率训练帧,来计算自相似性损失。
示例9包括如示例1至8中的任一者所述的装置,包括或不包括可选的特征。在这个示例中,所述装置包括最终损失计算器,用于基于损失和自相似性损失来计算最终损失,所述最终损失被用于在训练期间训练所述卷积神经网络。
示例10包括如示例1至9中的任一者所述的装置,包括或不包括可选的特征。在这个示例中,所述卷积神经网络的特征图谱大小被优化来改善缓存局部性。
示例11是一种用于超分辨率成像的方法。所述方法包括经由处理器接收低分辨率帧。所述方法还包括经由卷积神经网络(CNN)基于所述低分辨率帧生成高分辨率亮度分量帧。所述方法还包括经由硬件缩放器基于所述低分辨率帧生成高分辨率色度分量帧。所述方法还进一步包括经由所述处理器将所述高分辨率亮度分量帧和所述高分辨率色度分量帧相组合,以生成高分辨率帧。
示例12包括如示例11所述的方法,包括或不包括可选的特征。在这个示例中,所述方法包括使用高分辨率地面实况训练帧的最近邻降采样来训练所述卷积神经网络。
示例13包括如示例11至12中的任一者所述的方法,包括或不包括可选的特征。在这个示例中,所述方法包括使用自相似性损失函数来训练所述卷积神经网络。
示例14包括如示例11至13中的任一者所述的方法,包括或不包括可选的特征。在这个示例中,生成所述高分辨率亮度分量帧包括使用具有化简的残差块组的CNN。
示例15包括如示例11至14中的任一者所述的方法,包括或不包括可选的特征。在这个示例中,生成所述高分辨率亮度分量帧包括使用具有参数化修正线性单元(PReLU)激活的CNN。
示例16包括如示例11至15中的任一者所述的方法,包括或不包括可选的特征。在这个示例中,所述方法包括使所述卷积神经网络的特征图谱大小适应于所述低分辨率帧的分辨率。
示例17包括如示例11至16中的任一者所述的方法,包括或不包括可选的特征。在这个示例中,所述方法包括基于所述处理器可用的存储器带宽来调整所述卷积神经网络中的特征图谱的数目。
示例18包括如示例11至17中的任一者所述的方法,包括或不包括可选的特征。在这个示例中,所述方法包括训练所述卷积神经网络。训练所述卷积神经网络包括接收训练帧。训练所述卷积神经网络包括经由降尺度器对所述训练帧进行降尺度以生成低分辨率训练帧。训练所述卷积神经网络还包括经由所述卷积神经网络处理所述低分辨率训练帧以生成重建的高分辨率帧。训练所述卷积神经网络还包括基于所述训练帧与所述重建的高分辨率帧的比较来计算损失。训练所述卷积神经网络还进一步包括反向传播计算出的损失。
示例19包括如示例11至18中的任一者所述的方法,包括或不包括可选的特征。在这个示例中,所述方法包括训练所述卷积神经网络。训练所述卷积神经网络包括经由基于CNN的降采样器来处理重建的高分辨率帧以生成降采样的帧。训练所述卷积神经网络还包括基于低分辨率训练帧与所述降采样的帧的比较来计算自相似性损失。训练所述卷积神经网络还包括基于自相似性损失以及在高分辨率训练帧和重建的高分辨率帧之间计算出的损失,来计算最终损失。训练所述卷积神经网络还进一步包括基于计算出的最终损失来反向传播所述卷积神经网络。
示例20包括如示例11至19中的任一者所述的方法,包括或不包括可选的特征。在这个示例中,所述方法包括接收RGB分量帧并且将RGB颜色帧转换成YUV分量帧。
示例21是用于超分辨率成像的至少一个计算机可读介质,其上存储有指令,所述指令指挥所述处理器接收低分辨率帧。所述计算机可读介质还包括指令,所述指令指挥所述处理器基于所述低分辨率帧生成高分辨率亮度分量帧。所述计算机可读介质还包括指令,所述指令指挥所述处理器基于所述低分辨率帧生成高分辨率色度分量帧。所述计算机可读介质还进一步包括指令,所述指令指挥所述处理器将所述高分辨率亮度分量帧和所述高分辨率色度分量帧相组合,以生成高分辨率帧。
示例22包括如示例21所述的计算机可读介质,包括或不包括可选的特征。在这个示例中,所述计算机可读介质包括指令,所述指令使得所述处理器使用高分辨率地面实况训练帧的最近邻降采样来训练卷积神经网络。
示例23包括如示例21至22中的任一者所述的计算机可读介质,包括或不包括可选的特征。在这个示例中,所述计算机可读介质包括指令,所述指令使得所述处理器使用自相似性损失函数来训练卷积神经网络。
示例24包括如示例21至23中的任一者所述的计算机可读介质,包括或不包括可选的特征。在这个示例中,所述计算机可读介质包括指令,所述指令使得所述处理器使用具有化简的残差块组的卷积神经网络(CNN)来生成所述高分辨率亮度分量帧。
示例25包括如示例21至24中的任一者所述的计算机可读介质,包括或不包括可选的特征。在这个示例中,所述计算机可读介质包括指令,所述指令使得所述处理器使用具有参数化修正线性单元(PReLU)激活的卷积神经网络(CNN)来生成所述高分辨率亮度分量帧。
示例26包括如示例21至25中的任一者所述的计算机可读介质,包括或不包括可选的特征。在这个示例中,所述计算机可读介质包括指令,所述指令使得所述处理器使所述卷积神经网络的特征图谱大小适应于所述低分辨率帧的分辨率。
示例27包括如示例21至26中的任一者所述的计算机可读介质,包括或不包括可选的特征。在这个示例中,所述计算机可读介质包括指令,所述指令使得所述处理器基于所述处理器可用的存储器带宽来调整所述卷积神经网络中的特征图谱的数目。
示例28包括如示例21至27中的任一者所述的计算机可读介质,包括或不包括可选的特征。在这个示例中,所述计算机可读介质包括指令,所述指令使得所述处理器:接收训练帧;对所述训练帧进行降尺度以生成低分辨率训练帧;处理所述低分辨率训练帧以生成重建的高分辨率帧;基于所述训练帧与所述重建的高分辨率帧的比较来计算损失;并且反向传播计算出的损失。
示例29包括如示例21至28中的任一者所述的计算机可读介质,包括或不包括可选的特征。在这个示例中,所述计算机可读介质包括指令,所述指令使得所述处理器:处理重建的高分辨率帧以生成降采样的帧;基于低分辨率训练帧与所述降采样的帧的比较,来计算自相似性损失;基于所述自相似性损失以及在高分辨率训练帧和所述重建的高分辨率帧之间计算出的损失,来计算最终损失;并且基于计算出的最终损失来反向传播所述卷积神经网络。
示例30包括如示例21至29中的任一者所述的计算机可读介质,包括或不包括可选的特征。在这个示例中,所述计算机可读介质包括指令,所述指令使得所述处理器接收RGB分量帧并且将RGB颜色帧转换成YUV分量帧。
示例31是一种用于超分辨率成像的系统。所述系统包括卷积神经网络,用于接收低分辨率帧并且生成高分辨率亮度分量帧。所述系统还包括硬件缩放器,用于接收所述低分辨率帧并且生成高分辨率色度分量帧。所述系统还包括组合器,用于将所述高分辨率亮度分量帧和所述高分辨率色度分量帧相组合,以生成高分辨率帧。
示例32包括如示例31所述的系统,包括或不包括可选的特征。在这个示例中,所述卷积神经网络在额外的训练帧对上被训练,所述额外的训练帧对被生成为包括增强部分,所述增强部分是使用高分辨率地面实况训练帧的最近邻降采样来生成的。
示例33包括如示例31至32中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述卷积神经网络是使用自相似性损失函数来训练的。
示例34包括如示例31至33中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述卷积神经网络包括基于增强型深度超分辨率的小尺度网络。
示例35包括如示例31至34中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述卷积神经网络包括参数化修正线性单元(PReLU)激活。
示例36包括如示例31至35中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述卷积神经网络用于在训练期间从低分辨率训练帧生成重建的高分辨率帧。所述重建的高分辨率帧和地面实况高分辨率帧被用于计算损失,该损失被用于训练所述卷积神经网络。
示例37包括如示例31至36中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述系统包括基于CNN的降采样器,用于对重建的高分辨率帧进行降采样,以用于训练所述卷积神经网络。
示例38包括如示例31至37中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述系统包括自相似性损失计算器,用于基于从重建的高分辨率帧生成的基于CNN的降采样帧、以及通过对高分辨率地面实况帧进行降尺度生成的低分辨率训练帧,来计算自相似性损失。
示例39包括如示例31至38中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述系统包括最终损失计算器,用于基于损失和自相似性损失来计算最终损失,所述最终损失被用于在训练期间训练所述卷积神经网络。
示例40包括如示例31至39中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述卷积神经网络的特征图谱大小被优化来改善缓存局部性。
示例41是一种用于超分辨率成像的系统。所述系统包括用于基于接收到的低分辨率帧来生成高分辨率亮度分量帧的装置。所述系统还包括用于基于所述接收到的低分辨率帧来生成高分辨率色度分量帧的装置。所述系统还包括用于将所述高分辨率亮度分量帧和所述高分辨率色度分量帧相组合以生成高分辨率帧的装置。
示例42包括如示例41所述的系统,包括或不包括可选的特征。在这个示例中,所述用于生成高分辨率亮度分量帧的装置是使用高分辨率地面实况训练帧的最近邻降采样来训练的。
示例43包括如示例41至42中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述用于生成高分辨率亮度分量帧的装置是使用自相似性损失函数来训练的。
示例44包括如示例41至43中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述用于生成高分辨率亮度分量帧的装置包括基于增强型深度超分辨率的小尺度网络。
示例45包括如示例41至44中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述用于生成高分辨率亮度分量帧的装置包括参数化修正线性单元(PReLU)激活。
示例46包括如示例41至45中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述用于生成高分辨率亮度分量帧的装置在训练期间从低分辨率训练帧生成重建的高分辨率帧。所述重建的高分辨率帧和地面实况高分辨率帧被用于计算损失,该损失被用于训练所述用于生成高分辨率亮度分量帧的装置。
示例47包括如示例41至46中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述系统包括用于对重建的高分辨率帧进行降采样以用于训练所述用于生成高分辨率亮度分量帧的装置的装置。
示例48包括如示例41至47中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述系统包括用于基于从重建的高分辨率帧生成的基于CNN的降采样帧、以及通过对高分辨率地面实况帧进行降尺度生成的低分辨率训练帧来计算自相似性损失的装置。
示例49包括如示例41至48中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述系统包括用于基于损失和自相似性损失来计算最终损失的装置,所述最终损失被用于在训练期间训练所述用于生成高分辨率亮度分量帧的装置。
示例50包括如示例41至49中的任一者所述的系统,包括或不包括可选的特征。在这个示例中,所述用于生成高分辨率亮度分量帧的装置的特征图谱大小被优化来改善缓存局部性。
在一个或多个特定方面中不需要包括本文描述和图示的所有组件、特征、结构、特性,等等。如果说明书陈述例如“可”、“可能”、“可以”或者“能够”包括某一组件、特征、结构或特性,那么并不是要求要包括该特定组件、特征、结构或特性。如果说明书或权利要求提及“一”元素,那么并不意味着只有一个该元素。如果说明书或权利要求提及“一额外”元素,那么并不排除有多于一个该额外元素。
要注意,虽然已参考特定实现方式描述了一些方面,但根据一些方面,其他实现方式是可能的。此外,不需要按图示和描述的特定方式来布置附图中图示和/或本文描述的电路元件或其他特征的布置和/或顺序。根据一些方面,许多其他布置是可能的。
在附图中示出的每个系统中,元素在一些情况下可各自具有相同的标号或不同的标号以暗示出所表示的元素可以是不同的和/或相似的。然而,元素可以灵活到足以具有不同的实现方式并且与本文示出或描述的一些或所有系统一起工作。附图中示出的各种元素可以是相同或者不同的。哪一个被称为第一元素以及哪一个被称为第二元素,是任意的。
要理解,上述示例的细节可在一个或多个方面中的任何地方被使用。例如,也可对本文描述的方法或计算机可读介质的任一者实现上文描述的计算设备的所有可选特征。此外,虽然流程图和/或状态图在本文中可能已被用于描述一些方面,但本技术并不限于这些图或者本文的相应描述。例如,流程不需要按与本文图示和描述的顺序完全相同的顺序移动经过每个图示的方框或状态。
本技术不限于本文列出的具体细节。事实上,受益于本公开的本领域技术人员将会明白,在本技术的范围内,可做出不同于前述描述和附图的许多其他变化。因此,限定本技术的范围的是所附权利要求,包括对其的任何修改。
Claims (25)
1.一种用于超分辨率成像的装置,包括:
卷积神经网络,用于接收低分辨率帧并且生成高分辨率亮度分量帧;
硬件缩放器,用于接收所述低分辨率帧并且生成高分辨率色度分量帧;以及
组合器,用于将所述高分辨率亮度分量帧和所述高分辨率色度分量帧相组合,以生成高分辨率帧。
2.如权利要求1所述的装置,其中,所述卷积神经网络在额外的训练帧对上被训练,所述额外的训练帧对被生成为包括增强部分,所述增强部分是使用高分辨率地面实况训练帧的最近邻降采样来生成的。
3.如权利要求1所述的装置,其中,所述卷积神经网络是使用自相似性损失函数来训练的。
4.如权利要求1所述的装置,其中,所述卷积神经网络包括基于增强型深度超分辨率的小尺度网络。
5.如权利要求1所述的装置,其中,所述卷积神经网络包括参数化修正线性单元(PReLU)激活。
6.如权利要求1-5的任何组合所述的装置,其中,所述卷积神经网络用于在训练期间从低分辨率训练帧生成重建的高分辨率帧,其中,所述重建的高分辨率帧和地面实况高分辨率帧被用于计算损失,该损失被用于训练所述卷积神经网络。
7.如权利要求1-5的任何组合所述的装置,包括:基于CNN的降采样器,用于对重建的高分辨率帧进行降采样,以用于训练所述卷积神经网络。
8.如权利要求1-5的任何组合所述的装置,包括:自相似性损失计算器,用于基于从重建的高分辨率帧生成的基于CNN的降采样帧、以及通过对高分辨率地面实况帧进行降尺度生成的低分辨率训练帧,来计算自相似性损失。
9.如权利要求1-5的任何组合所述的装置,包括:最终损失计算器,用于基于损失和自相似性损失来计算最终损失,所述最终损失被用于在训练期间训练所述卷积神经网络。
10.如权利要求1-5的任何组合所述的装置,其中,所述卷积神经网络的特征图谱大小被优化来改善缓存局部性。
11.一种用于超分辨率成像的方法,包括:
经由处理器接收低分辨率帧;
经由卷积神经网络(CNN)基于所述低分辨率帧生成高分辨率亮度分量帧;
经由硬件缩放器基于所述低分辨率帧生成高分辨率色度分量帧;以及
经由所述处理器将所述高分辨率亮度分量帧和所述高分辨率色度分量帧相组合,以生成高分辨率帧。
12.如权利要求11所述的方法,包括:使用高分辨率地面实况训练帧的最近邻降采样来训练所述卷积神经网络。
13.如权利要求11所述的方法,包括:使用自相似性损失函数来训练所述卷积神经网络。
14.如权利要求11所述的方法,其中,生成所述高分辨率亮度分量帧包括:使用具有化简的残差块组的CNN。
15.如权利要求11所述的方法,其中,生成所述高分辨率亮度分量帧包括:使用具有参数化修正线性单元(PReLU)激活的CNN。
16.如权利要求11-15的任何组合所述的方法,包括:使所述卷积神经网络的特征图谱大小适应于所述低分辨率帧的分辨率。
17.如权利要求11-15的任何组合所述的方法,包括:基于所述处理器可用的存储器带宽来调整所述卷积神经网络中的特征图谱的数目。
18.如权利要求11-15的任何组合所述的方法,包括:训练所述卷积神经网络,其中,训练所述卷积神经网络包括:
接收训练帧;
经由降尺度器对所述训练帧进行降尺度以生成低分辨率训练帧;
经由所述卷积神经网络处理所述低分辨率训练帧以生成重建的高分辨率帧;
基于所述训练帧与所述重建的高分辨率帧的比较来计算损失;以及
反向传播计算出的损失。
19.如权利要求11-15的任何组合所述的方法,包括:训练所述卷积神经网络,其中,训练所述卷积神经网络包括:
经由基于CNN的降采样器来处理重建的高分辨率帧以生成降采样的帧;
基于低分辨率训练帧与所述降采样的帧的比较,来计算自相似性损失;
基于所述自相似性损失以及在高分辨率训练帧和所述重建的高分辨率帧之间计算出的损失,来计算最终损失;以及
基于计算出的最终损失来反向传播所述卷积神经网络。
20.如权利要求11-15的任何组合所述的方法,包括:接收RGB分量帧并且将RGB颜色帧转换成YUV分量帧。
21.一种用于超分辨率成像的系统,包括:
用于基于接收到的低分辨率帧来生成高分辨率亮度分量帧的装置;
用于基于所述接收到的低分辨率帧来生成高分辨率色度分量帧的装置;以及
用于将所述高分辨率亮度分量帧和所述高分辨率色度分量帧相组合以生成高分辨率帧的装置。
22.如权利要求21所述的系统,其中,所述用于生成高分辨率亮度分量帧的装置是使用高分辨率地面实况训练帧的最近邻降采样来训练的。
23.如权利要求21所述的系统,其中,所述用于生成高分辨率亮度分量帧的装置是使用自相似性损失函数来训练的。
24.如权利要求21-23的任何组合所述的系统,其中,所述用于生成高分辨率亮度分量帧的装置包括基于增强型深度超分辨率的小尺度网络。
25.如权利要求21-23的任何组合所述的系统,其中,所述用于生成高分辨率亮度分量帧的装置包括参数化修正线性单元(PReLU)激活。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/075540 WO2021163844A1 (en) | 2020-02-17 | 2020-02-17 | Super resolution using convolutional neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114945935A true CN114945935A (zh) | 2022-08-26 |
Family
ID=77390297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080093007.6A Pending CN114945935A (zh) | 2020-02-17 | 2020-02-17 | 使用卷积神经网络的超分辨率 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230052483A1 (zh) |
EP (1) | EP4107692A4 (zh) |
JP (1) | JP7507243B2 (zh) |
CN (1) | CN114945935A (zh) |
WO (1) | WO2021163844A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220138596A1 (en) * | 2020-11-02 | 2022-05-05 | Adobe Inc. | Increasing efficiency of inferencing digital videos utilizing machine-learning models |
US11948271B2 (en) * | 2020-12-23 | 2024-04-02 | Netflix, Inc. | Machine learning techniques for video downsampling |
CN113348465A (zh) * | 2021-02-22 | 2021-09-03 | 商汤国际私人有限公司 | 图像中对象的关联性预测方法、装置、设备和存储介质 |
US20230021463A1 (en) * | 2021-07-21 | 2023-01-26 | Black Sesame International Holding Limited | Multi-frame image super resolution system |
CN114549328B (zh) * | 2022-04-24 | 2022-07-22 | 西南财经大学 | Jpg图像超分辨率恢复方法、计算机可读存储介质及终端 |
WO2023229644A1 (en) * | 2022-05-25 | 2023-11-30 | Innopeak Technology, Inc. | Real-time video super-resolution for mobile devices |
CN116385318B (zh) * | 2023-06-06 | 2023-10-10 | 湖南纵骏信息科技有限公司 | 一种基于云桌面的图像画质增强方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6440305B2 (ja) | 2014-12-18 | 2018-12-19 | 日本放送協会 | 超解像装置およびプログラム |
JP6957197B2 (ja) | 2017-05-17 | 2021-11-02 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
CN107492070B (zh) * | 2017-07-10 | 2019-12-03 | 华北电力大学 | 一种双通道卷积神经网络的单图像超分辨率计算方法 |
JP2019139713A (ja) | 2018-02-15 | 2019-08-22 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、プログラムおよび記憶媒体 |
IL277035B1 (en) | 2018-03-12 | 2024-03-01 | Lvis Corp | Systems and methods for creating thin image slices from thick image slices |
CN108805814B (zh) | 2018-06-07 | 2020-05-19 | 西安电子科技大学 | 基于多频段深度卷积神经网络的图像超分辨重建方法 |
KR102570562B1 (ko) * | 2018-07-16 | 2023-08-24 | 삼성전자주식회사 | 영상 처리 장치 및 그 동작방법 |
CN110751597B (zh) * | 2019-10-12 | 2023-03-28 | 西安电子科技大学 | 基于编码损伤修复的视频超分辨方法 |
-
2020
- 2020-02-17 CN CN202080093007.6A patent/CN114945935A/zh active Pending
- 2020-02-17 EP EP20920121.9A patent/EP4107692A4/en active Pending
- 2020-02-17 US US17/793,341 patent/US20230052483A1/en active Pending
- 2020-02-17 JP JP2022543379A patent/JP7507243B2/ja active Active
- 2020-02-17 WO PCT/CN2020/075540 patent/WO2021163844A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2021163844A1 (en) | 2021-08-26 |
JP2023523491A (ja) | 2023-06-06 |
EP4107692A1 (en) | 2022-12-28 |
EP4107692A4 (en) | 2023-11-29 |
US20230052483A1 (en) | 2023-02-16 |
JP7507243B2 (ja) | 2024-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021163844A1 (en) | Super resolution using convolutional neural network | |
Sun et al. | Learned image downscaling for upscaling using content adaptive resampler | |
CN111275626B (zh) | 一种基于模糊度的视频去模糊方法、装置及设备 | |
US8867858B2 (en) | Method and system for generating an output image of increased pixel resolution from an input image | |
Acharya et al. | Computational foundations of image interpolation algorithms. | |
US20130071040A1 (en) | High-Quality Upscaling of an Image Sequence | |
CN111028150A (zh) | 一种快速时空残差注意力视频超分辨率重建方法 | |
JP2003018398A (ja) | ピクセル画像から超解像度画像を生成する方法 | |
US8422767B2 (en) | Method and apparatus for transforming signal data | |
WO2021115403A1 (zh) | 一种图像的处理方法及装置 | |
Wang et al. | Underwater image super-resolution and enhancement via progressive frequency-interleaved network | |
Goto et al. | Learning-based super-resolution image reconstruction on multi-core processor | |
CN111091515B (zh) | 图像复原方法及装置、计算机可读存储介质 | |
CN116895037A (zh) | 基于边缘信息和多尺度交叉融合网络的帧插入方法及系统 | |
US11871145B2 (en) | Optimization of adaptive convolutions for video frame interpolation | |
RU2310911C1 (ru) | Способ интерполяции изображений | |
Xiang et al. | Learning spatio-temporal downsampling for effective video upscaling | |
Liu et al. | Algorithm and architecture design of high-quality video upscaling using database-free texture synthesis | |
Jung et al. | Curvature preserving image super-resolution with gradient-consistency-anisotropic-regularization prior | |
Lin et al. | Single image super-resolution based on local self-similarity | |
Li et al. | Fast single image super-resolution by self-trained filtering | |
KR102541603B1 (ko) | 딥러닝 기반 디스플레이 기울기 정보를 활용한 초해상도 영상 생성 장치 및 방법 | |
Jiang et al. | Super-resolution reconstruction based on structure tensor's eigenvalue and classification dictionary | |
US20240135507A1 (en) | Upsampling blocks of pixels | |
Zhou et al. | Fast single image super resolution reconstruction via image separation |
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 |