CVPR2019——MonoDepth2论文阅读
文章标题:Digging Into Self-Supervised Monocular Depth Estimation
摘要:
逐像素的真实尺度深度数据的大量获取,是具有挑战性的任务。为了克服这个限制,自监督学习已经成为一个有希望的替代训练模型,用来执行单目深度估计。本文中,我们提出了一系列的改进手段,用来提升自监督深度学习深度估计方法的精度。
自监督单目模型训练的研究,通常是探究越来越复杂的结构、损失函数和图像形成模型,而所有这些都有助于缩小与全监督方法的差距。我们展示了一个令人惊讶的简单模型,以及相关的设计选择,可以产生更好的预测。总的来说,我们提出了:
一个最小重投影误差,用来提升算法处理遮挡场景的鲁棒性
一种全分辨率多尺度采样方法,可以减少视觉伪影
一种auto-masking loss,用来忽略训练像素中违反相机运动假设的像素点
我们分别独立的演示了每个组件的有效性,并在KITTI基准上取得了高质量、sota的结果。
一、引入:
我们试图从一个单个彩色输入图像自动推断出一个密集的深度图像。估计绝对深度,甚至相对深度,在没有第二个输入图像的情况下,似乎无法使用三角测量。然而,人类却能从导航以及与现实世界的互动中学习,使我们能够为新场景假设合理的深度估计。
从彩色图像生成高质量的深度图,这项研究是十分具有吸引力的,因为它可以以低廉的价格成本,辅助用于自动驾驶汽车的激光雷达传感器,并支持新的单照片应用,如图像编辑和AR合成。通过使用大量未标注数据集求解深度,也可以达到为下游识别任务的深度神经网络进行预训练的目的。然而,为监督学习收集具有精确的ground truth的深度的大型和多样的训练数据集,其本身就是一个巨大的挑战。作为替代,最近有几个自监督的方法被提出,并且已经证明,可以只使用同步的立体图像对或单目视频来训练单目深度估计模型。在这两种自我监督的方法中,基于单目视频训练是一种有吸引力的替代立体图像监督的方法,但它也带来了一系列挑战。除了估计深度外,模型还需要估计训练过程中时间图像对之间的帧间运动。这通常涉及到训练一个以有限帧序列作为输入,并输出相应的摄像机变换的位姿估计网络。相反,使用立体图像对数据进行训练,使得相机姿态估计成为一次性离线校准(左右眼像平面变换),但可能会导致与遮挡和纹理复制等相关的问题。
我们提出了三种架构和一些可以用来组合的损失项,使得单目深度估计的性能得到大大提升,三种架构分别可以使用单目视频序列,立体双目图像对,或者两者结合的方式进行训练:
一种新颖的外观匹配损失,以解决在使用单目监督时出现的像素遮挡问题
一种新颖而简单的auto-masking方法,可以忽略在单目训练图像中没有发生相对相机运动的像素点
在输入分辨率下执行所有图像采样的多尺度外观匹配损失,导致深度伪影的减少
通过这些改进,我们在KITTI数据集[13]上取得了sota的单目和立体图像自监督深度估计结果,并简化了现有顶级模型中的许多组件。
二、相关工作:
我们回顾模型:在测试时,以一个单一的彩色图像作为输入,并预测每个像素的深度作为输出。
2.1 有监督深度估计
从单个图像估计深度是一个病态的问题,因为相同的输入图像可以投影到多个似是而非的深度(同一条射线)。为了解决这个问题,基于学习的方法已经证明自己能够拟合预测模型,通过利用彩色图像和它们相应深度之间的关系。各种方法,如结合本地预测[19,55],非参数场景采样[24],通过端到端的监督学习[9,31,10]已经被探索过。基于学习的算法在立体估计[72,42,60,25]和光流方面的性能也是最好的。许多上述方法是完全监督,要求有ground truth深度训练。然而,这在不同的现实环境中是具有挑战性的。结果,有越来越多的工作,利用弱监督训练数据,如已知对象的形式大小[66],稀疏的序数深度(77 6),监督外表匹配项(72、73),或未配对合成深度数据(45,2,16,78),同时还需要收集更多的深度或其他注释。合成训练数据是[41]的另一种选择,但生成大量包含各种真实世界外观和运动的合成数据并非易事。最近的研究表明,传统的从结构中恢复运动(SfM)管道可以生成摄像机姿态和深度的稀疏训练信号[35,28,68],这里的SFM作为与学习阶段解耦的预处理。最近,[65]在我们的模型的基础上加入了来自传统立体算法的噪声深度提示,改进了深度预测。
2.2 自监督深度估计
在缺乏ground truth深度的情况下,一种方法是利用图像重建作为监督信号来训练深度估计模型。在这里,模型被给定一组图像作为输入,要么是以立体对的形式,要么是以单目序列的形式。通过对给定图像预测深度,并将其投影到附近的视图中,通过最小化图像重构误差来训练模型。
自监督双目立体图像对训练范式
自监督的一种形式来自立体图像对。这里,同步立体图像对在训练过程中是可用的,通过预测它们之间的像素视差,可以训练一个深度网络在测试时进行单目深度估计。[67]针对新颖的视图综合问题,提出了一种具有离散深度的模型。[12]通过预测连续的视差值扩展了这个方法,并且[15]通过包括一个左-右深度一致性项产生了优于当前有监督方法的结果。基于立体图像对的方法已经被拓展到与半监督数据[30,39]、生成对抗网络[1,48]、附加一致性[50]、时间信息[33,73,3]结合,为了实时使用[49]。
在这项工作中,我们表明,仔细选择外观损失和图像分辨率,我们可以仅使用单目训练达到立体双目训练的性能。此外,我们的贡献之一延续到立体训练,导致性能也有所提高。
自监督单目训练范式
一种约束较少的自我监督形式是使用单目视频,其中连续的时间帧提供训练信号。在这里,除了预测深度之外,网络还必须估计帧之间的摄像机位姿,这在存在物体运动的情况下是具有挑战性的。这个估计的摄像机位姿只需要在训练中帮助约束深度估计网络。在最早的单目自监督方法中,[76]训练了一个深度估计网络和一个单独的位姿估计网络。为了处理非刚性场景运动,一个额外的运动解释蒙版允许模型忽略违反刚性场景假设的特定区域。然而,他们在后续模型的迭代更新中,弃用了这一方案,并取得了更好地性能。受到[4]的启发,[61]提出了一种更复杂的使用多个运动masks的运动模型。然而,这并没有得到充分的评估,因此很难理解它的用途。[71]还将运动分解为刚体和非刚体两部分,利用深度和光流来解释物体运动。这改善了流估计,但他们报告说,联合训练流和深度没有提升估计精度。在光流估计的背景下,[22]表明它有助于显式地建模遮挡。最近的一些方法已经开始缩小单目和立体双目自监督方法之间的性能差距。[70]约束预测深度与预测面法线一致,[69]强制边缘一致。40]提出了一个近似的基于几何的匹配损失,以鼓励时间深度一致性。[62]使用深度归一化层来克服对更小深度值的偏好,这些值来自于[15]中常用的深度平滑项。[5]利用已知类别的预先计算的实例分割掩码来帮助处理移动对象。
外貌损失
自监督训练通常依赖于对物体表面的外观(即亮度稳定性)和材料属性(如朗伯坦面)做出的假设。[15]表明,与简单的两两像素差相比,包含基于局部结构的外观损失[64]显著提高了深度估计性能[67,12,76]。[28]扩展了这种方法,使其包含一个误差拟合项,并且[43]探索了将其与基于对抗性损失相结合,以鼓励逼真的合成图像。最后,受到[72]的启发,[73]使用ground truth深度来训练一个外貌匹配项。
三、方法:
在这里,我们描述我们的深度预测网络,它接受单个彩色图像的输入,并产生一个深度图。我们首先回顾了单目深度估计的自监督训练背后的关键思想,然后描述了我们的深度估计网络和联合训练的损失。
3.1 自监督训练
自监督深度估计将学习问题定义为一种新视图合成问题,通过训练一个神经网络来从另一幅图像的视角来预测目标图像的外观。通过使用中间变量来限制网络执行图像合成,在我们的模型的深度或视差中,我们可以从模型中提取这个可解释的深度。这是一个不适定的问题,因为每个像素可能有非常多的不正确深度,在给定两个视图之间的相对位姿的情况下,这些不正确的深度可以正确地重建新视图(想象射线的空间变换)。传统的双目和多视图立体视觉方法通常通过在深度图中增加平滑约束来解决这种模糊性,并在通过全局优化(如[11])求解每个像素深度时,通过在小块上计算照片一致性来解决这种模糊性。
与[12,15,76]类似,我们也将问题表述为训练时光度重投影误差的最小化。我们将每个源图相对于目标图像的相对位姿记为我们预测一个稠密的深度图 ,通过最小化光度重投影误差:
这里是光度重建误差,比如L1范数。 是利用,和 重投影到的2D像素坐标,是采样算符。 为了简单起见,我们假设所有视图的预先计算的相机内参都是相同的。和[21]一样,我们使用双线性采样对源图像进行采样,这在局部是次可微的,我们遵循[75,15]使用L1范数和SSIM作为我们的光度误差函数 :
这里,。像[15]中的一样,我们使用边缘感知平滑。
其中是像[62]采用的一样的平均归一化逆深度,以防止估计深度的收缩。
在立体图像对训练中,源图像是相对于的第二视图,其有着已知的相对位姿。 虽然关于单目序列的相对位姿并不能提前知道,[76]表明训练第二个位姿估计网络来预测相对位姿是可能的。其可以用于投影函数中。在训练阶段,我们同时预测相机的位姿和深度图,从而最小化。对于单目序列训练范式,我们使用与时间相邻的两帧图像作为源图像,也就是说, 。子啊混合训练范式中,同时包括时序相邻帧和相对的(右)立体图像。
3.2提升的自监督深度估计
现有的自监督方法相对于有监督方法产生的预测深度精度要低很多。为了缩小差距,我们提出了几种改进手段,它们能有效的替身预测深度的精度,二不需要额外的模型部件。见图 3。
逐像素最小重投影误差损失
在从多个源图像来计算重投影误差时,现有的自监督深度估计方法,对于多源图像的重投影误差取平均。这可能会导致在目标图像中可见但在某些源图像中不可见的像素出现问题,见图 3c。如果网络预测了一个像素的正确深度,那么被遮挡的源图像中的相应颜色很可能与目标不匹配,从而产生一个很高的光度误差。这些有问题的像素主要来自两个类别:一种是处在图像边界,并且由于帧间运动而导致越界(跑出视图外)的像素,另一种是被遮挡的像素。通过在重投影损失中对相应像素进行掩蔽,可以减小视场外像素的影响[40,61],但这并不能处理(去)遮挡情况,平均重投影可能导致模糊的深度不连续。
我们提出了一种改进策略,来处理这两种情况。在每个像素处,我们不是对所有源图像的光度误差进行平均,而是简单地使用最小值。因此,我们最终的每像素光度损失是:
如图4所展示的,是这使用该损失的一个例子。
使用我们的最小重投影误差能有效的减少图像边界上的缺陷,提升遮挡边界的尖锐度,从而产生更高的精度。
自动过滤平稳像素
自监督单目训练通常建立在移动摄像机和静态场景的假设下进行。当这些假设失效时,例如当摄像机静止或场景中有物体运动时,性能会受到很大的影响。这个问题表现在,在测试时的预测深度图中产生无限深度的“孔”,对于在训练[38]期间通常观察到正在移动的对象(如图2)。
这激发了我们的第二个贡献:一个简单的自动屏蔽方法,它过滤掉那些不会在序列中从一帧到下一帧改变外观的像素。这样做的效果是让网络忽略与摄像机以相同速度移动的对象,甚至当摄像机停止移动时忽略单目视频中的整个帧。像其他工作[76、61、38]一样,我们也应用逐像素的mask 损失,有选择地加权像素。然而,与之前的工作相比,我们的掩码是二进制的,所以,并且是在神经网络前向传播过程中自动计算的,而不是通过物体运动来学习或估计。 我们观察到,在序列中相邻帧之间保持相同的像素通常表示是静态相机情形,或者是与相机相对静止的运动物体,或一个低纹理区域。因此,我们设置μ值只包含那些在变换后图像 上的重投影误差小于在原始图像上的重投影误差的像素点,如下式:
这里的[]在式子逻辑为真取1。 当相机和另一个物体都以相似的速度移动时,会过滤点这些静止像素,防止他们被计算在loss中。同样,当相机处于静止状态时,mask会滤除图像中的所有像素(如图 5)。
我们通过实验证明,这种简单而廉价的loss修正带来了显著的改善。
多尺度估计
由于双线性采样器[21]的梯度局部性,为了防止训练目标陷入局部极小值,现有的模型采用多尺度深度预测和图像重建。这里,总loss是解码网络在每一尺度上的单个loss的组合。[12,15]计算图像在每个解码层分辨率下的光度误差。我们观察到,这有在中间低分辨率深度图的大的低纹理区域和纹理复制情形下,创建“洞”的趋势。在测光误差不明确的低纹理区域,深度上的孔可以在低分辨率下出现。这使得深度估计网络的任务更加复杂,其可以自由地预测不正确的深度。在立体重建[56]技术的启发下,我们提出了对这种多尺度公式的改进,我们解耦了视差图像和用于计算重投影误差的彩色图像的分辨率。我们首先对低分辨率图像(从中间层)到输入图像分辨率的低分辨率深度图进行上采样,而不是对模糊的低分辨率图像进行光度误差计算,然后重投影,重新取样,并在更高的输入分辨率下计算误差(如图 3d)。这个过程类似于匹配图像块,因为低分辨率视差值将负责在高分辨率图像中扭曲整个像素快。这有效地约束了深度图在每个尺度上都朝着同一个目标努力,即尽可能精确地重建高分辨率输入目标图像。
最终的训练Loss
我们结合逐像素平滑和masked光度损失,并在每个像素,尺度,和批下取平均。
3.3 其他考虑项
我们的深度估计网络是基于一般的U-Net架构的[53],即一个编码-解码器网络,具有跳转连接,使我们能够表示深层抽象特征以及局部信息。我们使用ResNet18[17]作为我们的编码网络,它包含11M参数,与现有工作[15]中使用的更大、更慢的disnet,以及ResNet50模型相比。与[30,16]类似,我们从在ImageNet[54]上预先训练的权重开始,并表明与从零开始的训练相比,这提高了紧凑模型的准确性(见表 2)。
我们的深度解码网络类似于[15],在输出处使用sigmoid激活函数,在其他地方使用ELU非线性激活函数[7]。我们将sigmoid输出σ转换到深度,通过公式,这里a和b是用来约束D取值在0.1到100个单位之间的。 在解码器中,我们使用反射填充来代替零填充,当采样落在图像边界之外时,返回源图像中最近的边界像素的值。我们发现这极大地减少了现有方法(例如[15])中发现的边界瑕疵。对于姿态估计,我们遵循[62]并使用轴角表示来预测旋转,并将旋转和平移输出缩放0:01。对于单目训练范式,我们使用三帧的序列长度,而我们的位姿网络是由一个ResNet18构成的,修改后接受一对彩色图像(六个通道)作为输入,并预测单个6自由度的相对位姿。我们做水平翻转以及如下的训练数据扩充策略,以50%的几率:随机亮度、对比度、饱和度和色调抖动,其范围分别为±0:2、±0:2、±0:2和±0:1。重要的是,彩色图像扩充只适用于图像被馈送到网络阶段,而不是用来计算。向位姿和深度网络提供的所有三幅图像都使用相同的参数进行了扩充。
我们的模型是在PyTorch[46]中实现的,使用Adam[26]训练20个epochs,除非另有说明,批处理大小为12,输入/输出分辨率为640×192。我们对前15个epoch使用10 - 4的学习率,然后对其余的epoch使用10 - 5的学习率。使用10%数据的专用验证集。平滑项。训练使用单Tian XP GPU,在S,M,MS训练范式上分别花费8,12,15小时。
四、实验:
在这里,我们验证了:
与现有的重投影误差平均策略相比,我们的最小重投影损失有助于处理被遮挡的像素
我们的auto-masking改善了结果,特别是在使用静态摄像机的场景中进行训练时
我们的多尺度外观匹配损失提高了深度预测精度
我们在KITTI 2015立体声数据集[13]上评估我们的模型,命名为Monodepth2,以便与以前发表的单眼方法进行比较。
4.1 KITTI Eigen Split
我们使用Eigen提供的数据集子集。除消融实验外,对于使用单目序列(即单目和单目+立体)的训练,我们遵循Zhou et al.[76]的预处理去除静态帧。这导致有39,810个单目triplets可以用于训练,4,424名拿来验证。我们对所有的图像使用相同的相机内参,设置相机的主点为图像中心,焦距为KITTI中所有焦距的平均值。对于S以及MS训练范式,我们将两个立体帧(左右)之间的变换设置为固定长度的纯水平平移。在评估过程中,我们将每个标准实践[15]的深度限制为80m。对于我们的单目模型,我们使用由[76]引入的每幅图像的中位数ground truth缩放来报告结果。请参阅补充材料D.2部分,了解我们对整个测试集应用单一中位数缩放的结果,而不是单独缩放每个图像。对于使用任何立体监督的结果,我们不执行中位数缩放,因为在训练期间可以从已知的摄像机基线推断出缩放。
我们比较了我们的模型的几个变体的结果,用不同类型的自监督训练:单眼视频(M),立体(S),和两者(MS)。表1的结果表明,我们的单目方法优于所有现有的sota的自监督方法。
我们也超越了最近的方法([38,51]),它们明确地计算光流和运动掩模。定性结果见图7和补充部分E。
然而,与所有基于深度估计的图像重建方法一样,当场景包含违反我们的Lambertian假设的对象时,我们的模型就会崩溃(图8)。
正如预期的那样,M和S训练数据的组合提高了准确性,这在对大深度错误(如RMSE)敏感的度量标准上尤其显著。尽管我们的贡献是围绕单目训练设计的,我们发现,在只有立体图像对的情况下,我们仍然表现良好。尽管我们使用比[47]的1024×384分辨率更低的分辨率,但我们实现了较高的准确性,并且大大减少了训练时间(20 vs. 200 epoch),并且没有使用后处理。
4.1.1 KITTI Ablation Study
为了更好地理解我们的模型的组成部分是如何影响单目训练的整体表现的,在表2(a)中,我们通过改变模型的不同组成部分来进行消融研究。我们看到,没有我们的任何贡献的基线模型执行得最差。当组合在一起时,我们所有的组件都会带来显著的改进(Monodepth2 (full))。补充材料C部分显示了更多的试验,这些试验依次关闭了我们整个模型的各个部分。
Benefits of auto-masking 完整的Eigen [8] KITTI分割包含了几个序列,在这些序列中,摄像机不会在帧之间移动,例如,数据采集车在红绿灯处停下来。这些“无摄像机运动”序列可能会给自我监督单眼训练带来问题,因此,在训练时使用昂贵的光流计算来排除这些序列[76]。我们在表2(c)中报告了经过训练的单目结果,即不移除帧。在KITTI上训练的基准模型比我们的完整模型表现更差。
此外,在表2(a)中,我们用来自[76]的预测性mask的重新实现替换了我们的auto-masking。我们发现这个烧蚀模型比完全不使用mask更糟糕,而我们的auto-masking在所有情况下都改善了结果。我们可以在图5中看到auto-masking实际工作的例子。
Effect of ImageNet pretraining 我们遵循之前的工作[14,30,16]在初始化我们的编码器时,使用预先训练在ImageNet[54]上的权值。虽然其他一些单目深度预测工作已经选择不使用ImageNet预训练,我们在表1中显示,即使没有预训练,我们仍然取得了最先进的结果。我们训练这些30个epoch的“w/o预训练”模型以确保收敛。表2显示了我们的贡献给预先培训的网络和那些从零开始培训的网络带来的好处;更多烧蚀见补充材料C部分。
4.2 其他额外的数据集
KITTI Odometry 在补充材料的A部分,我们展示了对KITTI的里程计评估。虽然我们的关注点是更好的深度估计,我们的位姿网络表现出了具有竞争力的性能。与之竞争的方法通常提供更多的帧到它们的位姿网络,这可能提高它们的泛化能力。我们还对最近引入的KITTI深度预测评价数据集[59]进行了实验,该数据集有着更加准确的groud truth。我们使用这个新的benchmark split训练模型,并使用在线服务器[27]对其进行评估,并在补充部分D.3中提供结果。此外,93%的Eigen split test具有[59]提供的更高质量的ground truth。就像[1],我们使用这些代替重新投影的激光雷达扫描,以比较我们的方法与几个现有的基准算法,仍然显示优越的性能。
Make3D 在表3中,我们使用在KITTI上训练的模型报告在Make3D数据集[55]上的性能。根据[15]的评价标准,我们的方法优于所有不使用深度监督的方法。然而,Make3D应该谨慎使用,因为它的地面真值深度和输入图像没有很好地对齐,这可能会导致评估问题。我们在一个2×1比例的中心作物上进行评估,并对我们的M模型应用中值缩放。定性结果见图6和补充部分E。
五、结论:
我们提出了一个通用的模型,用于自监督的单目深度估计,实现了最先进的深度预测。我们引入了三种贡献:
一个最小重投影误差,逐像素计算,用来处理单目视频序列中的帧间遮挡问题
auto-masking 损失加权mask,用来筛除那些静止和相对静止的像素
一种全分辨率多尺度采样方法
我们展示了它们如何一起给出了一个简单而有效的深度估计模型,该模型可以用单目视频数据、立体数据或混合单目和立体数据进行训练。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 初识数据库
初识数据库数据库//Database 相互有关联关系的数据的集合数据库管理系统//DBMS 管理数据库的一种软件数据库管理员//DBA 使用数据库管理系统SQL:数据库语言 数据库管理员使用数据库的语言数据库应用程序//DBAP 不同用户使用的完成某功能的应用程序DBMS为完成DB管理,在后台运行…...
2024/4/16 22:59:04 - 500:Servlet.init() for servlet [springmvc] threw exception
这种问题可以修改以下设置,亲测有效修改完成后执行,问题解决。...
2024/4/16 22:58:58 - mongodb的操作
mongodb的操作 指定数据为文件(挂载数据库): mongod --dbpath d:\my mongo:进入到mongo环境。 查看数据库相关的信息 show dbs:查看当前的数据库 use wang:进入到名字为wang的数据库。 db:查看当前所在的数据库 show collections:查看当前库中有哪些集合。 增*** db.userLis…...
2024/5/1 16:33:51 - 力扣---2020.4.2
289. 生命游戏 class Solution {private static final int[] DX = {0,0,1,-1,1,1,-1,-1};private static final int[] DY = {1, -1, 0, 0, 1, -1, 1, -1};public void gameOfLife(int[][] board) {if(board.length==0){return;}int n = board.length,m = board[0].length;for(i…...
2024/4/23 13:29:25 - STM32 CAN通信实验
硬件连接 需要两个开发板 1.CRX和PA11短接,CTX和PA12短接 2.用杜邦线连接两个开发板,CANL连CANL,CANH连CANH CAN发送流程 程序选择 1 个空置的邮箱(TME=1)-> 设置标识符(ID),数据长度和发送数据 -> 设置 CAN_TIxR 的 TXRQ 位为 1,请求发送 -> 邮箱挂号(等待…...
2024/4/24 6:25:33 - JS 奇怪的语法细节 系列
文章目录括号和空格对数值的改变 括号和空格对数值的改变场景:我想得到十进制数字12的二进制格式、十六进制格式,有以下:12.toString(2) // VM600:1 Uncaught SyntaxError: Invalid or unexpected token (12).toString(2) 12 .toString(2)(12).toString(8) (12).toString(16…...
2024/4/24 6:25:33 - 使用visual studio2010生成lua动态链接库
编辑windows批处理脚本 vslua.bat @echo off md bin md lib md include cd srccl /c /nologo /W3 /O2 /Ob1 /Oi /Gs /MD /D_CRT_SECURE_NO_DEPRECATE l*.c ren lua.obj lua.o ren luac.obj luac.o lib /OUT:lua53.lib *.obj copy lua53.lib ..\lib\lua53.lib del *.o *.obj *.…...
2024/4/25 18:29:13 - Datawhale 零基础⼊⻔CV-Task2 数据读取与数据扩增
1.图像读取 由于赛题数据是图像数据,赛题的任务是识别图像中的字符。因此我们首先需要完成对数据的读取操作,在 Python中有很多库可以完成数据读取的操作,比较常见的有 Pillow和 OpenCV。 1. pillow读取图片pillow直接读取图片from PIL import Image im =Image.open(rC:/Use…...
2024/4/25 19:46:35 - 力扣---2020.4.3
8. 字符串转换整数 (atoi) class Solution {public int myAtoi(String str) {char[] chars = str.toCharArray();int n = chars.length;int idx = 0;while (idx < n && chars[idx] == ) {// 去掉前导空格idx++;}if (idx == n) {//去掉前导空格以后到了末尾了return…...
2024/4/15 7:34:46 - 美雅途
http://olyy.iask.in:8999/...
2024/4/16 22:59:10 - Protocol Buffers - 我在项目中的实践
目录前言正文准备.proto文件生成Java文件使用生成的Java文件进行Http数据传输Http方式的数据传输收尾前言在现有的项目开发中,应用之间大多都再使用Json方式的序列化数据传输,因为其小巧,快速,可读性好等原因,每个开发或多或少都接触过,或在项目开发中作为首选方式。然而…...
2024/4/16 22:59:58 - Redis持久化过程的监控及优化
Redis持久化过程一直是影响redis性能的常见因素,如何监控持久化以及如何优化持久化过程呢?下面我们就一起来看看吧。fork的监控及优化不管是使用哪种持久化,RDB持久化或AOF重写,主进程都会fork出一个子进程,在子进程里完成rdb文件的生成或aof的重写。fork操作对于操作系统…...
2024/4/23 5:21:47 - Word 2016 大括号多行公式左对齐详解(转载)
这是篇转载的csdn博客,亲测这个方法可行,很有用,收藏于此,以备后时之需: 原始状态最终效果灵魂操作 第一步:创建一个三行公式(快捷键:Alt + =)第二步:插入三行公式第三步:鼠标放到最后一个输入框后边,右键,在后面插入公式,将其拓展为四行公式第四步:同上操作,将…...
2024/4/16 23:01:22 - 力扣---2020.4.4
42. 接雨水 public class Solution {public int trap(int[] height) {if (height == null) {return 0;}Stack<Integer> stack = new Stack<>();int ans = 0;for (int i = 0; i < height.length; i++) {while(!stack.isEmpty() && height[stack.peek()] …...
2024/4/19 0:12:16 - 000-前言(更新至20200523)
一、确定工作方向 2020年4月19日将未来的工作方向重新定位到c++工程师,其实在此之前对c++掌握只停留在能够刷leetcode题,之所以换工作方向一方面是因为自己在深度学习造诣不深而计算机视觉竞争又很激烈;另一方面自己将来更偏向回西安发展,所以在距离秋招还有三个月的时间,…...
2024/4/19 11:28:15 - 神经科学学习笔记(第三章 静息态的神经元膜)
...
2024/4/26 10:41:29 - 街景识别-数据读取与数据扩增
数据读取与数据扩增一、学习目标二、图像读取2.1 pillow2.2 OpenCV三、数据扩增四 Pytorch赛题读取 一、学习目标 1.1 学习Python和Pytorch中图像读取 2.2 学会扩增方法和Pytorch读取赛题数据 二、图像读取 2.1 pillow pillow是Python图像处理函数库(PIL)的一个分支。Pillow提…...
2024/4/16 22:59:40 - 力扣---2020.4.5
460. LFU缓存 class LFUCache {class Node{int key;int val;int cnt;Node pre, next;public Node(int key, int val, int cnt){this.key = key;this.val = val;this.cnt = cnt;}public void incr(){cnt++;}}Map<Integer, Node> map;Node head, tail;int capacity;int siz…...
2024/4/16 23:00:04 - 离散数学——关系
关系序偶与笛卡儿积关系的概念、性质及运算关系的概念关系的表示关系的性质关系的复合运算关系的逆运算关系的闭包运算特殊关系等价关系相容关系偏序关系全序关系 序偶与笛卡儿积两个具有固定次序的元素 a,b 组成一个有序对被称为序偶\textcolor{red}{序偶}序偶,记作 <a,…...
2024/4/16 22:59:52 - 力扣---2020.4.6
72. 编辑距离 class Solution {public int minDistance(String word1, String word2) {int len1 = word1.length(),len2 = word2.length();int[][] dp = new int[len1+1][len2+1];for(int i = 0;i<=len1;i++){dp[i][0] = i;}for(int j = 0;j<=len2;j++){dp[0][j] = j;}fo…...
2024/4/16 23:00:04
最新文章
- 怎么用 C2CM 什么是c2cm
C2CM(Conv2D-Conv2D Matching)是一个并非正式或广泛使用的术语,但基于上下文,我们可以将其理解为一种在深度学习模型中使用的技术,其中两个连续的二维卷积层通过某种方式相互连接或匹配,以提高特征提取的效…...
2024/5/1 22:35:17 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 汽车疲劳测试试验平台技术要求(北重厂家)
汽车疲劳测试试验平台技术要求通常包括以下几个方面: 车辆加载能力:测试平台需要具备足够的承载能力,能够同时测试多种车型和不同重量的车辆。 动力系统:测试平台需要具备稳定可靠的动力系统,能够提供足够的力和速度来…...
2024/5/1 13:14:16 - 数据挖掘中的PCA和KMeans:Airbnb房源案例研究
目录 一、PCA简介 二、数据集概览 三、数据预处理步骤 四、PCA申请 五、KMeans 聚类 六、PCA成分分析 七、逆变换 八、质心分析 九、结论 十、深入探究 10.1 第 1 步:确定 PCA 组件的最佳数量 10.2 第 2 步:使用 9 个组件重做 PCA 10.3 解释 PCA 加载和特…...
2024/5/1 13:14:26 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/30 18:14:14 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/30 18:21:48 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/30 9:43:22 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57