视频超分算法VESPCN:Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation

2023-05-16

在这里插入图片描述
这篇文章基于ESPCN提出了针对视频重建任务的网络结构VESPCN。ESPCN在图像和视频重建任务上都相比先前的方法都有一定的提升,但ESPCN只能对单帧图像进行重建,并不能利用视频多帧图像的时间相关性信息。该模型由对齐网络融合时空亚像素网络组成,能够有效利用时间冗余,提高重建精度,同时保持实时速度。

文章连接:Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation
参考目录:
超分之VESPCN
Pytorch源码

VESPCN:Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation

  • Abstract
  • 1 Introduction
  • 2 Method
    • 2.1 Spatial transformer motion compensation
    • 2.2 Spatio-temporal networks
      • 2.2.1 Early fusion
      • 2.2.2 Slow fusion
      • 2.2.3 3D convolutions
  • 3 Experiments
  • 4 Conclusion

Abstract

这篇文章是ESPCN的升级版本,ESPCN是一种SISR方法,但也可以针对视频做超分(视频只不过是连续多帧的图像)。它利用亚像素卷积实现了非常高效的性能,但其只能处理独立帧,对视频的简单扩展未能利用帧间冗余,也无法实现时间一致性。
对此,作者提出了能够利用时间冗余信息的时空亚像素卷积网络VESPCN,该方法主要针对视频超分,将ESPCN结构扩展成时序空间网络结构(Spatio-temporal Network),将时间信息加入到网络中,可以有效地利用时间冗余信息,提高重建精度,同时保持实时速度。

  1. 提出了一种新的联合运动补偿算法,该算法比其他方法效率高几个数量级,依赖于一个端到端可训练的快速多分辨率空间变换模块
  2. 提出了多帧的融合方法,分别使用早期融合、慢速融合和3D卷积融合对多个连续视频帧进行联合处理,通过实验研究三种方法的优劣。

1 Introduction

单图像SR中 :利用局部相关性的图像空间冗余,通过施加约束或其他类型的图像统计信息来恢复丢失的高频细节。
在多图像SR(视频)中 :假设同一场景的不同观测值可用,因此可以使用共享的时间冗余来约束问题。
从图像到视频的转换意味着加入一个具有高度相关性的额外数据维度(时间),可以利用它来提高准确性和效率。

  1. 在网络对齐部分,引入运动估计和补偿,是进一步约束问题和保留时间相关性的重要机制。运动补偿机制使用的是空间转换网络STN,其本身能够获取两幅图像之间的空间映射关系,且它是一个独立的网络,可以与针对其他目标任务的网络无缝结合并共同训练,以提高其性能。
  2. 网络融合部分,研究了早期融合、慢速融合和3D卷积融合对时间维度的不同处理。

在本文中,作者将亚像素卷积的效率时空网络结合起来,提出了一种基于空间变换的运动补偿和三种不同的融合多个相邻帧的方法,是一种端到端可训练的高效解决方案。

本文的主要贡献是:

  1. 提出了一种基于亚像素卷积和时空网络的实时视频SR方法VESPCN,提高了SR重建的准确性和时间一致性。
  2. 比较早期融合、慢速融合和3D卷积融合三种方法。
  3. 提出了一种基于多尺度空间变换网络的密集帧间运动补偿方法。
  4. 将提出的运动补偿技术与时空模型相结合,提供了一种高效、端到端可训练的运动补偿视频SR算法。

2 Method

VESPCN主要由Motion-Estimation网络和Spatio-Temporal网络组成。(对齐+融合)
运动补偿网络: 以STN网络为基础,预测出前后帧的像素值。
时序空间网络: Spatio-Temporal网络是以ESPCN为基础的SR网络,其主要利用亚像素卷积层来进行上采样,此外该模块需要结合early fusion、slow fusion或者3D卷积来将时间信息加入进来。

由于STN网络本身就是可导的,因此整个运动补偿+时序空间网络的训练是一个端对端的训练。VESPCN中整个运动补偿网络在VSR中本质就是个时间对齐网络,其基于Flow-based方法,属于Image-wise

事实上没有运动补偿模块,仅靠时序空间网络,也能够实现比较好的重建性能,但运动补偿使得前后帧内容上更加对齐增强了相关性,在时间上更连续。作者在实验部分也证实了这一点。

★★★简单梳理一下整个网络结构:★★★ 按图中:

  1. 输入三帧图像,当前帧 I t L R I_t^{LR} ItLR作为参考帧,前后两帧作为支持帧,前一帧 I t − 1 L R I_{t-1}^{LR} It1LR和后一帧 I t + 1 L R I_{t+1}^{LR} It+1LR分别与当前帧 I t L R I_t^{LR} ItLR做一个运动补偿得到两张warp后的图像 I t − 1 ′ L R I_{t-1}'^{LR} It1LR I t + 1 ′ L R I_{t+1}'^{LR} It+1LR

这个过程的目的是使前一帧 I t − 1 L R I_{t-1}^{LR} It1LR尽量变换到当前帧 I t L R I_t^{LR} ItLR的位置。当然后一帧也是相同。这也就是前面一直说的对齐。把三张图像减少偏移,尽量保持一致,这样在内容上有更多的相关性,时间上也更加连续。因为支持帧不可能变换到与参考帧完全一样的,还是会有所差别,只是差别变小了,可以看成是两张图中间插入新的一帧,所以运动的连贯性被大大加强了。图中的ME模块是以STN为基础的一个加入时间元素的变体TSTN。后面会详细介绍。

  1. 将得到的三张warp后更加相近的图像输入时序空间网络中进行融合,其实就是结合三张图像一起提取特征,最后使用亚像素卷积层Pixel-Shuffle上采样重建图像输出 I t S R I_t^{SR} ItSR

这个融合的过程有三种方式:early fusion、slow fusion、 3D卷积。最简单的早期融合early fusion其实就是直接在时间维度上拼接三张图像,然后一起提取特征。融合部分其实是指用怎样的方式结构时间信息去提取特征

在这里插入图片描述
以下三点介绍顺序和论文中不同,是按照网络前后顺序进行介绍的。

2.1 Spatial transformer motion compensation

首先使用高效的空间变换网络来补偿帧之间的运动再将结果输入SR网络。空间变换器可以有效地对光流进行编码,适用于运动补偿。首先在两个帧之间引入运动补偿。
在这里插入图片描述
粗略估计:
当前帧 I t I_t It和后一帧 I t + 1 I_{t+1} It+1同时输入,首先做一个粗略光流估计,计算两张图像的运动矢量 Δ c Δ^c Δc,在当前帧 I t I_t It的基础上加上运动矢量后得到 I t + 1 I_{t+1} It+1的坐标图(此处做的是一个坐标位置的转换计算,不涉及像素值),这一步中会产生很多小数,像素位置都是整数值,所以我们需要利用双线性插值来获得对应位置的像素值。这一步也就是重采样warp。得到粗略估计后的 I t + 1 ′ c I_{t+1}'^c It+1c,如下图,这里借用博主Ton的图。
在这里插入图片描述
精确估计:
将得到的粗略估计后的 I ’ t + 1 c I’_{t+1}^c It+1c I t I_t It I t + 1 I_{t+1} It+1以及得到的 Δ x c Δ^c_x Δxc Δ y c Δ^c_y Δyc一起输入到精确光流估计模块中,得到一个 Δ f Δ^f Δf,这是一个用以修正 Δ c Δ^c Δc的一个差值,将它和 Δ c Δ^c Δc相加,获得精确的运动矢量,重新估计 I t + 1 I_{t+1} It+1,进行重采样warp,得到最后的精确估计 I t + 1 ′ I'_{t+1} It+1

★ 这一步到这为止,很可能理解上真的是按精确估计 I t + 1 I_{t+1} It+1为目的走的。但是想一想我们前面说了,目的是使支持帧(前后相邻帧)对齐到参考帧,也就是说要网络要去学习如何减少偏移量 Δ c Δ^c Δc,所以可以看到损失函数求的是精确估计 I t + 1 ′ I'_{t+1} It+1和当前帧 I t I_t It的差。这一环节的公式:(后面一项是正则化项)
在这里插入图片描述

2.2 Spatio-temporal networks

这一节我觉得是VESPCN最重要的部分,如何去利用时间信息。时序空间网络分为两块:提取特征(融合)+ Pixel-shuffle上采样
本文主要讲述如何进行特征提取,Pixel-shuffle部分可以参看ESPCN。

在一张图像本身,我们利用图像内空间冗余信息来进行特征提取;而在多张连续图像,我们就要充分考虑到时间上的连续性,产生很多冗余的时间信息。利用时间上的冗余我们可以更快更好的重建SR图像。

作者提出的时序空间网络就是一个添加了时间信息的ESPCN升级版。我们前面所说的融合就是指用什么样的方式利用时间信息去提取多张相邻图像的特征

图像层面的特征提取本质是利用了图像中的空间冗余性质,采用一个卷积核去逐步提取图像的特征信息;而对于视频来说,除了像素间的空间冗余特性,还有相邻帧之间的时间冗余特性。因此在时序空间网络中我们引入时间维度 D l D_l Dl,其表示第 l l l层时间的深度,比如连续3帧进行合并之后, D l = 3 D_l=3 Dl=3。在论文中,作者设置初始时间深度为 D 0 D_0 D0 (奇数),表示输入端有 D 0 D_0 D0帧图像,故时序半径为 R = D 0 − 1 2 R=\frac{D_0-1}{2} R=2D01,所以输入端的LR图像组可以表示为 I [ t − R , t + R ] L R ∈ R H × W × D 0 I^{LR}_{[t-R,t+R]}\in\mathbb{R}^{H\times W\times D_0} I[tR,t+R]LRRH×W×D0,于是LR图像 I L R I^{LR} ILR重建成HR图像 I S R I^{SR} ISR的公式可以表示为:
在这里插入图片描述
其中 θ \theta θ是SR模型的参数, f ( ⋅ ) f(\cdot) f()表示 S R → H R SR\to HR SRHR的映射关系。第 l l l层滤波器参数 W l W_l Wl的shape为 d l × n l − 1 × n l × k l × k l d_l\times n_{l-1}\times n_l\times k_l\times k_l dl×nl1×nl×kl×kl,其中 d l d_l dl 表示滤波器每次卷积的时间帧数。彩色图像表示feature map拥有时间维度,其具有多种时间信息的融合,而灰色图代表只具备一种时间信息(时间维度为1)或者忽略时间信息。

作者提出了三种融合方式:Early fusion、3D convolutions、Slow fusion。作者在后面的实验中也对比了使用不同融合方式带来的性能优劣。
在这里插入图片描述

2.2.1 Early fusion

在这里插入图片描述
Early fusion是最简单的一种时序融合方式,如上图所示,它只需要在卷积之前的输入层直接concat不同时序的信息(这种就是通常的多通道卷积),图中 D 0 = 5 D_0 = 5 D0=5表示输入是相邻的5帧图像。而之后就像对待普通图像一样去用卷积来提取特征即可。

2.2.2 Slow fusion

在这里插入图片描述
缓慢融合是指每次融合指定帧数的图像,早期融合是缓慢融合的一个特例,早期融合是一下子所有帧都融合。如图 d l = 2 , d l ∈ [ 1 , D 0 ) d_l=2,d_l\in [1,D_0) dl=2,dl[1,D0),其表示第 l l l层需要融合2个时间帧并做特征提取。每层都要指定帧数融合,每次都按帧数进行concat然后进行卷积,直到最后维度缩小到了1,后面就和普通卷积一样提取特征。Slow fusion从头到尾一直保留着时间信息,不同帧的卷积参数是不共享的。

2.2.3 3D convolutions

在这里插入图片描述

慢速融合的另一个变体是强制在时间维度上共享权重,这种架构相当于使用3D卷积。也就是说3D卷积是Slow fusion的权重共享版本,3D卷积核在时间维度上共享参数,因此能够节约很多运算资源。多通道卷积的滤波器只是在2D平面上左右上下移动,而3D卷积可以在2D平面以及时间轴上移动。3D卷积的对象是 C × T × H × W C\times T\times H\times W C×T×H×W,因此可以看成是 C C C T × H × W T\times H\times W T×H×W的立方体,对于每个立方体都用一个小立方体滤波器去抽取特征,并且共享同一组参数,不同通道才使用不同的滤波器参数,3D卷积只是其本身卷积核存在一个“深度”,其卷积核是个3D窗口,因此就会造成和多通道2D卷积因深度不同而产生不同参数相对应,从而就有了3D卷积权重共享这种说法。(摘自博主Ton)
Note:

  1. 3D卷积的PyTorch实现Conv3d:输入图像: ( N , C , D , H , W ) (N,C,D,H,W) (N,C,D,H,W),3D卷积核参数: ( C , o u t _ c h a n n e l s , F D , F H , F W ) (C,out\_channels, FD, FH, FW) (C,out_channels,FD,FH,FW),其中 o u t _ c h a n n e l s out\_channels out_channels为输出通道数, ( F D , F H , F W ) (FD,FH,FW) (FD,FH,FW)为3D滤波器卷积核。例如nn.Conv3d(3, 16, kernel_size=(3,3,3), stride=1, padding=1)中的 W W W参数就是一个size为 ( 16 , 3 , 3 , 3 , 3 ) (16, 3, 3, 3, 3) (16,3,3,3,3)的张量,而 b b b参数就是一个 ( 16 , ) (16, ) (16,)的张量,从中可以看出3D卷积核需要 16 × 3 16\times 3 16×3 3 × 3 × 3 3\times 3\times 3 3×3×3的卷积核。 (所以一共有 C × o u t _ c h a n n e l s C×out\_channels C×out_channels个卷积核,记得每层都要拼接)。

经过融合多帧图像特征提取后我们都能得到输出维度为 r 2 r^2 r2大小为 H × W H×W H×W的feature map。最后一层亚像素卷积层会在输出的 r 2 r^2 r2 张feature map的基础上(即 n L − 1 = r 2 n_{L-1}=r^2 nL1=r2)进行PixelShuffle,来达到 ( b a t c h , r 2 , H , W ) → ( b a t c h , 1 , r H , r W ) (batch, r^2, H, W)\to (batch, 1, rH, rW) (batch,r2,H,W)(batch,1,rH,rW)的效果,从而完成上采样操作输出 r H × r W rH\times rW rH×rW格式的高分辨率图像。

VESPCN的运动补偿模块直接和后面的SR网络(时序空间网络)相连,并且TSTN和spatio-temporal network都是可以训练的,从而两者可相连形成一个端对端的网络。VESPCN的总体loss由SR网络的loss和运动补偿模块的loss共同组成,整体的训练Loss如下:
在这里插入图片描述

3 Experiments

setting:
论文中的数据集采用CDVL数据集,这是一个包含115个高清(HD)无压缩的视频,作者挑选其中100个视频作为训练集,并对每个视频随机选取30个样本,组成3000个 H R − L R HR-LR HRLR对;其中150个作为验证集,剩余2850个作为训练集;其余的15个高清视频作为测试集。
卷积核大小都为 k l = ( 3 , 3 ) k_l=(3,3) kl=(3,3)
batch个 33 × 33 33\times 33 33×33的视频输入。
Adam优化方式且学习率为 1 0 − 4 10^{-4} 104
batch初始设置为1,每过10个epochs,就翻一倍。
在spatio-temporal network中,当第 l l l层的时间深度为1的时候,设置 n l = 24 n n_l=24n nl=24n;当 l > 0 l>0 l>0时, n l = 24 / D l n_l=24/D_l nl=24/Dl

作者分两个部分进行了对比实验,具体实验可以看超分之VESPCN的讲解

  1. 针对时序空间网络,都不使用ME。对比了三种融合方式的网络表现力。
  2. 探究运动补偿模块的功能和对网络的影响。

4 Conclusion

本文提出的VESPCN模型由两方面组成:时序空间网络运动补偿机制

  1. 结合了亚像素卷积和时间融合策略的效率优势,提出了视频SR的时序空间模型。与独立的单帧处理相比,所使用的时空模型有助于提高重建精度和时间一致性,或降低计算复杂度。
  2. 通过基于空间变换网络运动补偿机制进行了扩展,该机制对于视频SR来说是有效的,并且是可联合训练的。

网络整体结构:对齐网络 + 融合SR网络 :
将多帧相邻图像通过基于STN的运动补偿模块对齐到参考帧,再输入以ESPCN为基础的时序空间网络将时间信息融合提取特征,最后使用亚像素卷积层上采样完成SR重建。融合过程有三种方式:early fusion、slow fusion或者3D卷积。

本文主要学习的模块是:三种融合方式、基于STN的运动补偿。
最主要是学习VSR的结构思想,关键就是怎么利用好时间信息

 


最后祝各位科研顺利,身体健康,万事胜意~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

视频超分算法VESPCN:Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation 的相关文章

  • Facebook Messenger Bot:视频附件的大小?能有多大?

    至少在此处的文档中没有说明通过 Facebook Messenger 发送视频附件时所需的大小和格式 https developers facebook com docs messenger platform send api refere
  • WPF 向我的 GUI 添加时钟

    简单请求 我希望能够在 WPF 应用程序窗口中显示当前时间 有免费的控件吗 只需要显示时间 没有别的 您可以有一个标签或文本块 并将其内容绑定到 System DateTime Now
  • 为什么我在模拟器中看不到视频?

    我见过几个与此类似的问题 但我想确定一下 我无法在模拟器上运行视频 是否一致 有人在模拟器上成功运行视频吗 以下是我使用的代码 import android app Activity import android net Uri impor
  • 如何在 Angular2 中嵌入视频?

    我想开发单页应用程序 它是一个视频门户 用户可以登录 查看视频列表 导航到单个视频 对视频进行评分 并可以执行所有媒体相关任务 例如 播放 暂停 调整音量和寻找视频位置 既然有
  • Phonegap html5视频无法播放

    我正在尝试在 iPad 上的phonegap 应用程序中播放视频 该视频给了我错误 MEDIA ERR SRC NOT SUPPORTED 我尝试播放的视频不是本地的 当我在该视频上使用curl I 时 这是它带来的信息 HTTP 1 1
  • Flask 无法播放 html 中的视频

    我有一个 Flask 应用程序 应该在加载页面时播放视频 但它只显示在左上角 并且不会从视频的第一帧开始改变 我已经尝试将其插入 html 代码但它不起作用 extends base html block content
  • 仅使用 url 嵌入视频

    给定一个 youtube url 我如何使用 net c 将视频嵌入到页面中 只需添加如下一行 将 autoplay 设置为 0 或 1 取决于您是否希望人们真正留在您的页面上
  • 是否可以使用 S3 进行 Flash 伪流?

    我一直在使用 S3 来存储和提供 FLV 和 MP4 视频 它效果很好 但内容是渐进下载的 我想知道是否有可能让所谓的 伪流 与 S3 一起使用 伪流允许观看者在下载完整视频之前在视频中向前搜索 并仅将必要的位发送到 Flash 播放器 我
  • 流媒体视频文件?

    我需要流式传输 flv 文件 流媒体应该看起来像直播 我应该有一种方法可以更改目标文件 抱歉我的英语不好 如果 流式传输 的意思是 显示 Flash 视频剪辑 则 flv streaming 并不是真正的流式传输 而是正常的文件传输 即使文
  • 如何将视频转换为base64数据

    我有一个应用程序 可以从相机或图库中获取视频并将其转换为 Base64 数据 并将该数据发送到服务器 但问题是每当我转换 Base64 数据时 videodata 变量中的数据都不是正确的 为此我使用了下面的代码 FileInputStre
  • 验证随时间变化的连续条件

    我想开发一个Python程序 从某个时刻开始 等待60秒再执行操作 该程序必须具有的另一个功能是 如果我更新初始时间 它必须开始检查条件 我想过用线程来做 但我不知道如何停止线程并以新的开始时间重新启动它 import thread imp
  • 通过 Websockets 进行 WebRTC 视频聊天

    我正在尝试使用 webRTC 和 WebSockets 进行信号发送来开发视频聊天应用程序 我的问题是 我不知道创建 RTCPeerConnection 并通过 webSocket 连接两个对等点 2 个浏览器 的过程是什么 至少在本地 我
  • 避免回绕的 timeGetTime 的最佳替代品是什么?

    time获取时间 http msdn microsoft com en us library dd757629 VS 85 aspx查询系统时间似乎相当不错 然而 它的返回值仅为 32 位 因此大约每 49 天环绕一次 在调用代码中检测翻转
  • PHP date_sun_info 错误时间

    我正在尝试使用 PHPdate sun info函数获取全天太阳某些位置的时间信息 目前我正在使用类似于中的代码文档 http php net manual en function date sun info php sun info da
  • iOS 视频压缩 Swift iOS 8 损坏的视频文件

    我正在尝试压缩用户相机从 UIImagePickerController 拍摄的视频 不是现有视频 而是动态视频 以上传到我的服务器 并花费少量时间来完成此操作 因此较小的尺寸是理想的选择 而不是 30 较新质量的相机为 45 mb 这是在
  • 当 mp4 是唯一来源时,自定义 HTML5 视频控件不起作用

    问题 我只有一个视频源 mp4 因为我正在尝试向 tumblr 视频添加自定义控件 如果只有mp4作为源video duration返回为NaN 作为使用 3 个源 mp4 webm ogg 时的测试 它可以工作 所以video durat
  • 请求完成时间大于 ActiveRecord 和 View 时间之和

    以下是一些示例请求完成时间 Completed 200 OK in 1054ms Views 10 8ms ActiveRecord 455 6ms Completed 200 OK in 1410ms Views 11 6ms Activ
  • 我如何对 youtube 嵌入播放器进行编程,使其在点击时取消静音

    如何设置 YouTube 嵌入式播放器在单击时取消静音 你可以看到我提到的嵌入式播放器http www harvestarmy org http www harvestarmy org主页 右边的那个写着 来自 YouTube 的最新视频
  • Android 从 C++ 端播放原始音频

    我需要能够在 Android 系统的 C 端以自定义文件格式传输音频 我正在致力于移植自定义媒体播放器 并且需要能够打开自定义文件并从中传输音频 这很重要 因为我认为从性能角度来看将整个播放器移植到 JAVA 是不可行的 并且通过 JNI
  • 如何制作过期/签名视频嵌入网址

    我是新来的 正在学习网络开发等等 我只知道如何将我的视频嵌入网站中 任何菜鸟都可以轻松获得源代码 他们也可以嵌入它 但在许多网站中 视频 src 均使用重定向器链接进行编码 例如 它会在一段时间后过期 在本例中是一天 我了解到这是一个签名网

随机推荐

  • wsl ubuntu22.04 conda环境安装labelImg解决xcb缺失问题

    labelImg 安装 pip install PyQt5 i https pypi tuna tsinghua edu cn simple pip install pyqt5 tools i https pypi tuna tsinghu
  • 7个大一C语言必学的程序 / C语言经典代码大全

    嗨 大家好 xff0c 这里是可莉 xff01 今天给大家带来的是7个C语言的经典基础代码 那一起往下看下去把 程序一 打印100到200之间的素数 include lt stdio h gt int main int i for i 61
  • 字符串转化为枚举类型

    需求 xff1a 通过配置文件中自定义传入枚举类型的值 span class token annotation punctuation 64 value span span class token punctuation span span
  • NAT和PAT的原理及配置

    文章目录 一 NAT1 NAT概述2 私有地址3 NAT工作原理4 NAT功能5 NAT包含4类地址6 NAT的实现方式 二 静态转换 xff08 Static Translation xff09 三 动态转换 xff08 Dynamic
  • Linux系统安装教程(手把手教学)

    文章目录 1 首先 xff0c 打开虚拟机 xff0c 点击新建虚拟机2 点击下一步 xff0c 再点击稍后安装3 操作系统选择Linux xff0c 版本选择CentOS7 64位4 命名虚拟机5 设置磁盘大小为100GB6 设置内存为4
  • NFS共享存储服务

    文章目录 引言一 NFS概述二 安装 nfs utils rpcbind 软件包三 NFS的特点四 实验步骤1 安装nfs和rpcbind软件2 设置共享目录3 启动 NFS服务并验证结果4 客户机中访问 NFS 共享资源4 1 手动挂载
  • 优化命令之Sar命令

    文章目录 引言一 sar简介1 sar命令常用格式2 常用选项3 常用参数 二 Sar常用性能数据三 CPU资源监控1 整体CPU使用统计 xff08 u xff09 2 各个CPU使用统计 P 3 将CPU使用情况保存到文件中 四 内存监
  • MySQL高级SQL语句

    文章目录 引言一 常用查询1 order by按关键字排序1 1 升序排序1 2 降序排序1 3 结合where进行条件过滤再排序1 4 多字段排序 2 and or判断2 1 and or 且与或的使用2 2 嵌套 多条件使用 3 dis
  • MongoDB搭建及基础操作

    文章目录 引言一 MongoDB概述1 什么是MongoDB2 MongoDB的特点3 MongoDB适用场景4 MongoDB概念解析 二 搭建MongoDB1 关闭系统防火墙和安全机制2 配置mongodb源仓库3 安装mongodb4
  • 【云原生之k8s】k8s之持久化存储PV、PVC

    文章目录 一 PV和PVC1 PV 概念2 PVC概念3 PV 与 PVC 之间的关系3 1 PV和PVC的生命周期3 2 一个PV从创建到销毁的具体流程3 3 三种回收策略3 4 查看pv pvc的定义方式 规格 4 两种PV的提供方式
  • react native 这样理解运行机制

    移动开发中 xff0c native开发性能和效果上无疑是最好的 但是在众多的情况下 xff0c native开发并不是最优的选择 当需求经常改动的时候 xff0c 当预算有限的时候 xff0c 当deadline很近的时候 xff0c n
  • Promethues原理详解

    目录 引言 一 Prometheus 概述 1 什么是Prometheus 2 Zabbix和Prometheus区别 3 Prometheus的特点 二 运维监控平台设计思路 三 Prometheus监控体系 1 系统层监控 xff08
  • Prometheus部署、操作及Grafana展示

    目录 一 部署Prometheus xff08 192 168 109 18 xff09 1 环境准备工作 2 普罗米修斯的部署 2 1 上传 prometheus 2 37 0 linux amd64 tar gz 到 opt 目录中 x
  • 云原生--kubectl命令汇总

    目录 1 kubectl自动补全 2 kubectl上下文和配置 3 创建对象 4 显示和查找资源 5 更新资源 6 修补资源 7 编辑资源 8 scale资源 9 删除资源 10 与运行中的pod交互 11 与节点和集群交互 12 资源类
  • 计蒜客 - T1096 - 石头剪刀布

    计蒜客 T1096 石头剪刀布 题目 石头剪刀布是常见的猜拳游戏 石头胜剪刀 xff0c 剪刀胜布 xff0c 布胜石头 如果两个人出拳一样 xff0c 则不分胜负 一天 xff0c 小 A 和小B正好在玩石头剪刀布 已知他们的出拳都是有周
  • Docker保姆级教程:用Dockerfile文件构建专属于你的镜像

    初学者想要详细的了解docker可以去Docker菜鸟教程仔细学习 xff0c 本文只展示使用docker部署代码的全部过程 操作系统是ubuntu xff1a 18 04 xff08 tip xff1a 一定要了解docker是什么 xf
  • Windows安装tar.gz格式文件的方法

    首先下载tar gz文件 xff0c 比如我准备安装python docx的库文件 xff1a python docx 0 8 6 tar gz xff0c 下载后是一个tar gz文件 xff0c 解压软件解压 xff0c 解压后的目录里
  • SQL单表查询语句及其示例

    主要包括模糊查询 排序 别名查询 条件查询 逻辑运算and or in 分页显示 单表查询 新建表 xff08 商品分类表 xff09 商品ID 商品分类名称 商品描述 1 香烟酒水 二锅头 xff0c 女儿红 2 皮鞋箱包 江南皮革厂打造
  • WIN10安装sedatools,出现蓝屏代码为PAGE_FAULT_IN_NONPAGED_AREA,提示重启原因是因为hardlock.sys。

    安装sedatools的方法是从b站上搜索 xff08 直接搜索silvaco xff0c up主为向上生长的谛听 xff09 在安装的时候刚开始setup不上 xff0c 然后通过开启windows的安全模式 xff0c 得以安装成功 x
  • 视频超分算法VESPCN:Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation

    这篇文章基于ESPCN提出了针对视频重建任务的网络结构VESPCN ESPCN在图像和视频重建任务上都相比先前的方法都有一定的提升 xff0c 但ESPCN只能对单帧图像进行重建 xff0c 并不能利用视频多帧图像的时间相关性信息 该模型由