51-60 CVPR 2024 最佳论文 | Generative Image Dynamics

在2023年11月,谷歌研究院发布了一项令人瞩目的研究成果——Generative Image Dynamics(生成图像动力学)。这项技术的核心是将静态的图片转化为动态的、无缝循环的视频,而且更令人兴奋的是,这些生成的视频还具有交互性。

一作Zhengqi Li,作为谷歌研究院的杰出科学家,专注于3D/4D计算机视觉、基于图像的渲染以及计算摄影的研究。他尤其擅长处理“in the wild”图像和视频,即那些在非受控环境下捕获的复杂数据。在康奈尔大学攻读计算机科学博士学位期间,师从著名学者Noah Snavely。Zhengqi Li的杰出贡献得到了业界的广泛认可,曾荣获CVPR 2019最佳论文荣誉提名奖,并于2020年获得谷歌博士奖学金和奥多比研究奖学金。在随后的职业生涯中,他再接再厉,于2021年获得百度全球人工智能100强中国新星奖,在CVPR 2023上荣获最佳论文荣誉奖,更在CVPR 2024的评选中获得最佳论文奖。这些荣誉充分展现了Zhengqi Li在计算机视觉领域的卓越才华和持续贡献。

该研究提出了一种对场景运动建模图像—空间先验的方法。该先验是从真实视频序列中提取的运动轨迹集合中学习而来,描绘了物体的自然振荡动力学,例如树木、衣服等物体在风中摇曳。该研究将傅立叶域中密集、长期运动建模为频谱体积(spectral volume),研究团队发现这非常适合用扩散模型预测。

Figure 1. We model a generative image-space prior on scene motion 

该研究可以通过调整运动纹理的幅度来缩小(顶部)或放大(底部)动画运动。

与基于图像的渲染模块一起,预测的运动特征可用于许多下游应用,例如将静止图像变成无缝循环视频,或者允许用户与真实图像中的对象进行交互,产生逼真的动态模拟。

本专题由深圳季连科技有限公司AIgraphX自动驾驶大模型团队编辑,旨在学习互助。内容来自网络,侵权即删,转发请注明出处。 

Abstract

我们提出了一种基于场景运动图像空间先验的建模方法。先验知识是从真实运动轨迹序列中学习,这些运动轨迹描绘了树木、花朵、蜡烛和在风中摇摆的衣服等物体的自然振荡动力学。我们将傅里叶域中密集、长期的运动建模为频谱体积spectral volumes,我们发现这非常适合用扩散模型进行预测。给定单个图像,训练模型使用频率协调扩散frequency-coordinated diffusion采样过程来预测频谱体积,可以将其转换为跨整个视频的运动纹理。与基于图像渲染模块一起,预测运动表示可用于许多下游应用,例如将静止图像转换为无缝循环视频,或允许用户与真实图像对象进行交互,产生逼真的动态变化(通过将频谱体积解释为图像空间模态基)。

项目网址:Generative Image Dynamics

1. Introduction

自然世界总是在运动中,即使是看似静态的场景,即使风、水流、呼吸或其他自然韵律,也包含不易觉察的振荡。模拟这种运动对于视觉内容合成至关重要——人类对运动的敏感性会导致没有运动的图像看起来不可思议或不真实。

虽然人类很容易解释或想象场景中的运动,但训练模型来学习或产生逼真的场景运动绝非易事。我们在现实世界中观察到的运动是底层物理动力学的结果,即施加在物体上的力根据其独特的物理特性(质量、弹性等)做出反应,这些物理特性很难在一定范围内测量和捕捉。幸运的是,对于某些应用程序来说,测量它们不是必需的:例如,可以通过简单地分析一些观察到的 2D 运动来模拟场景中的合理动态。

这种运动也可以作为跨场景学习的监督信号——因为尽管观察到的运动是多模态的,并且基于复杂的物理效应,但它仍然通常是可预测的:蜡烛会以某种方式闪烁,树木会摇摆,树叶会沙沙作响。对于人类来说,这种可预见性在我们的感知系统中根深蒂固:通过查看静止图像,我们可以想象合理的运动——或者,由于可能有许多可能的这样的运动,自然运动的分布取决于该图像。考虑到人类有模拟这些分布的能力,一个自然的研究问题是通过计算来模拟。

生成模型特别是条件扩散模型的最新进展使我们能够对丰富的分布进行建模,包括以文本为条件的真实图像分布。该功能支持几个新应用,例如以文本为条件生成各种逼真的图像内容。随着这些图像模型的成功,最近的工作将这些模型扩展到其他领域,如视频和3D几何。

在本文中,我们为图像空间场景运动建模生成先验,即单个图像中所有像素的运动。该模型从大量真实视频序列中自动提取运动轨迹来进行训练。特别是,从每个训练视频中,我们以频谱体积的形式计算运动,这是密集长像素轨迹的频域表示。

  • Image-space modal bases for plausible manipulation of objects in video,2015
  • Visual vibration analysis,2016

频谱体积非常适合表示振荡动力学的场景,例如,树木和花朵在风中移动。我们发现这种表示作为扩散模型输出来建模场景运动也非常有效。我们训练了一个生成模型,该模型以单个图像为条件,从学习分布中采样频谱体积。然后,预测的频谱体积可以直接转换为运动纹理——一组逐像素的长运动轨迹——可以用来使图像动画化。频谱体积也可以解释为图像空间模态基——用于模拟交互动力学。

我们使用扩散模型从输入图像中预测频谱体积,该模型每次生成一个频率的系数,但通过共享注意力模块跨频段协调这些预测。预测的运动可以用来合成未来帧(通过基于图像的渲染模型)——将静止图像转化为逼真的动画,如图1所示。

与原始RGB像素的先验相比,运动先验捕捉更基本,更低维的结构,有效地解释了像素值的长期变化。因此,生成中间运动有助于更连贯的长期生成和对动画更细粒度控制。我们演示了几个下游应用,例如创建无缝循环视频、编辑生成运动,以及通过图像空间模态基建立交互式动态图像,即针对用户施加的力来模拟物体动态响应。

2. Related Work

Generative synthesis.

生成模型的最新进展使基于文本提示的图像合成成为可能。这些文本到图像的模型可以通过沿着时间维度扩展生成的图像张量来增强合成视频序列。虽然这些方法可以产生视频序列,捕捉真实镜头的时空统计信息,然经常会出现伪影,如不连贯的运动、纹理中不切实际的时间变化,以及违反物理约束。

Animating images.

其他技术不是完全从文本生成视频,而是将静止图片作为输入,并使其动画化。最近许多深度学习方法采用3D-Unet架构直接生成视频。这些模型实际上是相同的视频生成模型(但以图像信息而不是文本为条件),并且表现出与上述相似的伪影。克服这些限制的一种方法是不直接生成视频内容本身,而是通过基于图像的渲染对输入源图像进行动画处理。即根据来自外部源的运动如驾驶视频、运动或三维几何先验或用户标注移动图像周围内容。根据运动场对图像进行动画会产生更大的时间一致性和真实感,但这些先前的方法要么需要额外的引导信号或用户输入,要么利用有限的运动表示。

Motion models and motion priors.

在计算图形学中,自然振荡的3D运动(例如,水的波纹或风中摇曳的树木),可以用在傅立叶域中形成的噪声来建模,然后转换为时域运动场。其中一些方法依赖于被模拟系统潜在动力学的模态分析。

Chuang等人在给定用户标注的情况下,将这些频谱技术用于从单张2D图片中绘制植物、水和云的动画。我们的工作特别受到[Visual vibration analysis,2016]的启发,他将场景的模态分析与该场景视频中观察到的运动联系起来,并使用该分析来模拟视频中的交互动态。我们采用频率-空间频谱体积运动表示法frequency-space spectral volume motion representation,并从大量训练视频中提取该表示法。结果表明,频谱体积适用于具有扩散模型的单幅图像运动预测。其他方法在预测任务中使用了各种运动表示,其中使用图像或视频来告知确定性的未来运动估计,或更丰富的可能运动分布。然而这些方法大部分是预测光流运动估计(即,每个像素的瞬时运动),而不是完整的运动轨迹。此外,之前的许多工作都集中在活动识别等任务上,而不是综合任务上。最近的研究表明,在人类和动物等封闭领域环境中,使用生成模型建模和预测运动具有优势。

Videos as textures.

某些移动场景可以被认为是一种纹理——称为运动纹理——它将视频建模为随机过程的时空样本。运动纹理可以表示平滑、自然的运动,如波浪、火焰或移动的树木,并已广泛用于视频分类、分割或编码。另一种相关的纹理称为视频纹理,它将运动场景表示为一组输入视频帧以及任意帧对之间的过渡概率。许多方法通过分析场景运动和像素统计来估计运动或视频纹理,目的是生成无缝循环或无限变化的输出视频。与此工作相比,我们的方法可以提前学习先验,然后将其应用于单个图像。

3. Overview

给定一张图片I0,我们的目标是生成一个具有振荡运动的视频{^I1, ^I2,… ^It},如在微风中摇曳的树木、花朵或蜡烛火焰。我们的系统由两个模块组成:运动预测模块和基于图像的渲染模块。我们的流程首先使用潜在扩散模型LDM,输入I0,预测频谱体积S = (Sf0 , Sf1 , ..., SfK−1)。然后通过离散傅里叶反变换,将预测的频谱体积转换为运动纹理F = (F1, F2,… FT)。这个运动决定了每个输入像素在未来每个时间步长的位置。

给定预测的运动纹理,然后我们使用基于神经图像的渲染技术对输入的RGB图像进行动画处理(第5节)。我们在第6节中探索了这种方法的应用,包括生成无缝循环动画和模拟交互动态。

4. Predicting motion

4.1. Motion representation

形式上,运动纹理是一系列时变的2D位移映射 F = {Ft|t = 1, ..., T }。其中,从输入图像I0开始的每个像素坐标p处的2D位移向量Ft(p)定义了该像素在未来时刻 t 的位置。为了在时间 t 生成未来帧,可以使用相应的位移映射Dt从I0中分割像素,从而得到前向扭曲图像

我们的目标是通过运动纹理制作视频,那么一种选择是直接从输入图像中预测时域运动纹理。然而,运动纹理的大小需要根据视频的长度进行缩放:

生成T个输出帧意味着预测T个位移场。为了避免预测长视频如此大的输出表示,许多先验动画方法要么自回归生成视频帧,要么通过额外的时间嵌入独立预测每个未来输出帧。然而,这两种策略都不能保证生成视频的长时间一致性。

幸运的是,许多自然运动可以被描述为以不同频率、幅度和相位表示的少数谐波振荡器叠加。因为这些潜在运动是准周期的,所以在频域对它们进行建模是很自然的。因此,我们采用了[Visual vibration analysis,2016]对视频运动一种有效的频率空间表示,称为频谱体积,如图 1 所示。频谱体积是从视频中提取的逐像素轨迹的时间傅里叶变换,组织成称为模态图像的图像。

以前工作进一步表明,在某些假设下,在特定频率下评估的频谱体积形成了一个图像空间模态基,它是底层场景的振动模式投影(或者更一般地说,捕捉运动中的空间相关性)。我们使用术语频谱体积来指代特定运动纹理的频率空间编码(去除高频)。稍后,当频谱体积用于模拟时,我们也将其称为“图像空间模态基”。

鉴于这种运动表示,我们将运动预测问题表述为多模态图像到图像的转换任务:从输入图像到输出运动频谱体积。我们采用潜在扩散模型LDM来生成由4K通道2D运动频谱图组成的频谱体积,其中K << T是建模的频率数,并且在每个频率上我们需要四个标量来表示x和y维度的复傅立叶系数。

注意,像素在未来时间步长运动轨迹 F(p) = {Ft(p)|t = 1, 2, ...T }

及其频谱体积 S(p) = {Sfk (p)|k = 0, 1,...,T2 -1} 通过快速傅里叶变换 (FFT) 关联:

如何选择K个输出频率?

先前的实时动画研究工作发现,大多数自然振荡运动主要由低频成分组成。为了验证这一观察结果,我们计算了从1000个随机采样的5秒真实视频片段中提取的运动的平均功率频谱。如图 2 左图所示,运动的功率频谱随着频率的增加呈指数递减。这表明大多数自然振荡运动确实可以用低频项很好地表示。在实践中,我们发现第一个K = 16傅立叶系数足以在一系列真实视频和场景中逼真地再现原始的自然运动。

4.2. Predicting motion with a diffusion model

我们选择潜在扩散模型LDM作为运动预测模块的主干,因为LDM比像素空间扩散模型计算效率更高,同时保持合成质量。

Frequency adaptive normalization.

我们观察到的一个问题是,运动纹理在频率上具有特定的分布特征。如图 2 左图所示,频谱体积的振幅范围为0到100,并且随着频率的增加近似呈指数衰减。由于扩散模型需要输出值在0到1之间才能进行稳定的训练和去噪,因此我们必须对从真实视频中提取的S系数进行归一化,然后再使用它们进行训练。如果我们像之前的工作一样,根据图像尺寸将这些系数的大小缩放到[0,1],则几乎所有高频系数最终都接近于零,如图 2 的右图所示。在这些数据上训练的模型可能会产生不准确的运动,因为在推理过程中,即使很小的预测误差也会在非规范化后导致较大的相对误差。

为了解决这个问题,我们采用了一种简单但有效的频率自适应归一化方法:首先,我们根据从训练集计算的统计数据独立地归一化每个频率的傅里叶系数。也就是说,对于每个单独的频率 fj,我们计算所有输入样本的傅里叶系数幅度的97个百分位数,并将该值用作每频率缩放因子sfj。然后,我们对每个缩放后的傅里叶系数进行幂变换,使其远离极值。在实践中,我们观察到平方根比其他非线性变换(如对数或倒数)表现得更好。总之,频谱体积S(p)在频率 fj (用于训练我们的LDM)的最终系数值计算为

如图 2 右图所示,经过频率自适应归一化处理后,频谱体积系数分布更加均匀。

Frequency-coordinated denoising.

预测具有K个频带的频谱体积S的直接方法是从单个扩散U-Net输出4K通道的张量。然而,正如之前的工作,我们观察到训练一个模型来产生大量的通道可能会产生过度平滑的、不准确的输出。另一种选择是通过向LDM中注入额外的频率嵌入来独立预测每个单独频率,但这种设计选择将导致频域中不相关的预测,从而导致不切实际的运动。

因此,受最近视频扩散工作的启发,我们提出了一种频率协调去噪策略,如图 3 所示。

Figure 3. Motion prediction module.  

特别的,给定输入图像I0,我们首先训练LDM εθ来预测频谱体积Sfj的单个4通道频率,其中我们将额外的频率嵌入与时间步长嵌入一起注入LDM。然后,我们冻结LDM的参数,在K频段上引入与εθ的2D空间层交织的注意层,并进行微调。

具体来说,对于批大小B, εθ的2D空间层将通道大小C对应的B·K噪声潜在特征视为形状为R(B·K)×C×H×W的独立样本。然后,注意层将这些解释为跨频率轴的连续特征,我们将先前2D空间层中的潜在特征重塑为RB×K×C×H×W,将它们提供给注意层。换句话说,频率注意层被微调以协调所有的频率切片,从而产生相干的频谱体积。在我们的实验中,我们看到当我们从单个2D U-Net切换到频率协调去噪模块时,平均VAE重建误差从0.024提高到0.018,这表明LDM预测精度的上限得到了提高;在第7.3节中,我们还展示了这种设计选择提高了视频生成质量。

5. Image-based rendering

现在,描述如何对给定输入图像I0预测频谱体积S,并在时间t上渲染未来的帧。首先使用应用于每个像素 F(p) =FFT−1(S(p)) 的逆时序 FFT 推导出时域的运动纹理。为了生成未来的帧^It,我们采用基于深度图像的渲染技术,并使用预测的运动场Ft进行溅射,对编码后的I0进行正向扭曲,如图 4 所示。由于前向扭曲会导致孔洞,并且多个源像素可以映射到相同的输出2D位置,因此我们采用先前在帧插值中提出的 feature pyramid softmax splatting 策略。

Figure 4. Rendering module. 

具体而言,我们通过特征提取器网络对I0进行编码,生成多尺度特征图。对于尺度为 j 的每个单独的特征图,我们根据分辨率调整预测的2D运动场Ft的大小。与先前工作一样,我们使用预测的流Flow大小作为深度的代理,以确定映射到其目标位置的每个源像素贡献权重。特别是,我们计算了每像素的权重W (p) = 1/T Pt  || Ft(p) ||2 作为预测运动纹理的平均大小。换句话说,我们假设大的运动对应于移动的前景物体,小的或零的运动对应于背景。我们使用运动衍生的权重,而不是可学习的权重,因为我们观察到在单视图情况下,可学习的权重不能有效地解决消光歧义。

对于运动场Ft和权重W,我们应用 softmax splatting 在每个尺度上变换特征映射,以产生变形的特征。然后将新特征注入到图像合成解码器的相应块中,以产生最终渲染的图像。我们使用从真实视频中随机采样的起始帧和目标帧(I0, It)共同训练特征提取器和合成网络,使用I0到It的估计流场来变换I0的编码特征,并使用VGG感知损失监督预测。

6. Applications

Image-to-video.

我们的系统通过首先从输入图像预测运动频谱体积,并通过应用基于图像的渲染模块对从频谱体积转换的运动纹理生成动画,从而实现单个静止图像的动画。由于我们明确地模拟场景运动,这允许我们通过线性插值运动纹理来制作慢动作视频,或者通过调整预测的频谱体积系数的幅度来放大(或缩小)动作。

Seamless looping.

许多应用程序需要无缝循环的视频,在视频的开始和结束之间没有间断。不幸的是,很难找到大量的无缝循环视频用于培训。相反,我们设计了一种方法来使用我们的运动扩散模型,在常规的非循环视频剪辑上训练,以产生无缝循环视频。受近期图像编辑指导工作的启发,我们的方法是一种运动自引导技术,使用显式循环约束指导运动去噪采样处理。特别是,在推理过程中的每个迭代去噪步骤中,我们在标准无分类器引导的基础上加入了一个额外的运动引导信号,其中我们强制每个像素在开始帧和结束帧的位置和速度尽可能相似:

其中,Fn/t为预测的2D位移场时刻,去噪步数n, w为无分类器引导权值,u为运动自引导权值。在补充视频中,我们应用了基于基线外观的循环算法,从我们的非循环输出中生成循环视频,并表明我们的运动自引导技术产生的无缝循环视频失真更少,伪影更少。

Interactive dynamics from a single image.

以前工作在某些共振频率下评估的频谱体积可以近似图像空间模态基,即底层场景振动模式的投影(或者,更一般地说,捕获振荡动力学中的空间和时间相关性),并可用于模拟对象对用户定义力的响应。我们采用这种模态分析方法,使我们能够将物体物理响应的图像空间2D运动位移场写成运动谱系数Sfj的加权和,该运动谱系数由每个模拟时间步长t处的复模态坐标qfj(t)的状态调制:

复模态坐标qfj(t)通过一种应用于模态空间中质量-弹簧-阻尼解耦系统运动方程的显式欧拉方法来模拟。我们建议读者参阅补充材料和原始作品以获得完整的推导。请注意,我们的方法从单个图片生成交互式场景,而之前的方法需要视频作为输入。

7. Experiments

Implementation details.

我们使用LDM[74]作为骨干来预测光谱体积,为此我们使用连续潜在空间为4维的VAE。我们用L1重建损失、多尺度梯度一致性损失和KL散度损失来训练VAE,其权重分别为1、0.2、10−6。我们训练原始LDM工作中使用的相同的2D U-Net,使用简单的MSE损失进行迭代去噪,并采用[41]中的注意层进行频率协调去噪。对于定量评估,我们从头开始训练大小为 256 × 160 图像的 VAE 和 LDM 以进行公平比较,使用 16 个 Nvidia A100 GPU 训练,收敛大约需要 6 天。为了主要的定量和定性结果,我们使用DDIM运行运动扩散模型250步。最后还展示了生成分辨率为 512 × 288 的视频,通过在我们的数据集上微调预训练图像修复 LDM 模型来创建。

我们在IBR模块中对特征提取器采用ResNet-34。我们的图像合成网络基于条件图像修复的架构。我们的渲染模块在推理过程中在Nvidia V100 GPU上以25FPS实时运行。我们采用通用指导来生成无缝循环视频,权重 w = 1.75, u = 200,并使用 500 步具有 2 次自重复迭代的 DDIM 步骤。

Data.

我们收集并处理了一组3015个自然场景的视频。自己拍摄的振荡运动视频,保留10%的视频用于测试,其余用于训练。为了提取地面真值运动轨迹,我们在每个选定的起始图像和视频的每个未来帧之间应用从粗到细的流方法flow method。作为训练数据,作为训练数据,我们将每第10视频帧作为输入图像,并使用接下来的149帧上计算运动轨迹来导出相应的地面真值频谱体积。总的来说,我们的数据由超过150K个图像-运动对组成。

7.1. Quantitative results

7.2. Qualitative results

7.3. Ablation study

8. Discussion and conclusion

Limitations.

由于我们的方法只预测频谱体积的较低频率,它可能无法模拟非振荡运动或高频振动——这可以通过使用学习运动基来解决。此外,生成视频质量依赖于底层运动轨迹质量,在具有很小运动或具有大位移物体的场景中,性能可能会降低。即使正确,需要产生大量新的未见内容的运动也可能导致退化。

Conclusion.

我们提出了一种从单幅静止图像建模自然振荡动力学的新方法。我们的图像空间运动先验用频谱体积表示,频谱体积是每像素运动轨迹的频率表示,我们发现这对于扩散模型的预测是有效的,并且我们从真实世界的视频集合中学习。使用频率协调的潜在扩散模型预测频谱体积,并通过基于图像的渲染模块对未来视频帧进行动画处理。实验表明,我们的方法可以从一张图片中产生逼真的动画,明显优于先前的基线,并且它还可以支持一些下游应用程序,例如创建无缝循环或交互式的动态图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/738880.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝牙ble数传芯片推荐,TD5327A芯片蓝牙5.1—拓达半导体

蓝牙数传芯片TD5327A芯片是一款支持蓝牙BLE的纯数传芯片&#xff0c;蓝牙5.1版本。芯片的亮点在于性能强&#xff0c;除了支持APP端直接对芯片做设置与查询操作&#xff0c;包括直接操作蓝牙芯片自身的IO与PWM口以外&#xff0c;还支持RTC日历功能&#xff0c;可以做各类定时类…

LeetCode:经典题之141、142 题解及延伸

系列目录 88.合并两个有序数组 52.螺旋数组 567.字符串的排列 643.子数组最大平均数 150.逆波兰表达式 61.旋转链表 160.相交链表 83.删除排序链表中的重复元素 389.找不同 1491.去掉最低工资和最高工资后的工资平均值 896.单调序列 206.反转链表 92.反转链表II 141.环形链表 …

Ps:转换为配置文件

Ps菜单&#xff1a;编辑/转换为配置文件 Edit/Convert to Profile 转换为配置文件 Convert to Profile命令可用于在不同色彩空间之间转换图像的颜色配置文件&#xff0c;从而确保在不同设备和介质上颜色的一致性和准确性。 ◆ ◆ ◆ 工作原理说明 当将图像的配置文件从一种转…

秒懂双亲委派机制

前言 最近知识星球中&#xff0c;有位小伙伴问了我一个问题&#xff1a;JDBC为什么会破坏双亲委派机制&#xff1f; 这个问题挺有代表性的。 双亲委派机制是Java中非常重要的类加载机制&#xff0c;它保证了类加载的完整性和安全性&#xff0c;避免了类的重复加载。 这篇文…

北斗三号短报文通信终端 | 助力户外无网络场景作业

北斗三号短报文通信终端是一款专为户外无网络场景作业设计的先进通信工具&#xff0c;它依托于中国自主研发的北斗卫星导航系统&#xff0c;为用户在偏远地区或无网络覆盖区域提供了可靠的通信保障。以下是关于北斗三号短报文通信终端的详细介绍&#xff1a; 一、功能特点 北斗…

[Python人工智能] 四十六.PyTorch入门 (1)环境搭建、神经网络普及和Torch基础知识

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前文讲解合如何利用keras和tensorflow构建基于注意力机制的CNN-BiLSTM-ATT-CRF模型,并实现中文实体识别研究。这篇文章将介绍PyTorch入门知识。前面我们的Python人工智能主要以TensorFlow和Keras为主,…

JavaWeb系列十六: jQuery初步入门

跟老韩-JavaScript开发利器之jQuery 1.1 原理示意图1.2 快速入门1.2 什么是jquery对象1.3 dom对象转jQuery对象1.4 jQuery对象转dom对象 jQuery是一个快速的, 简洁的javaScript库, 使用户能更方便地处理HTML, css, dom…提供方法, events, 选择器, 并且方便地为网站提供AJAX交互…

FFmpeg交叉编译报错pkg-config not found

ffmpeg交叉编译时报错&#xff1a; WARNING: arm-linux-gnueabihf-pkg-config not found, library detection may fail.不慌&#xff0c;没有就下载嘛&#xff0c;直接install&#xff1a; sudo apt-get install pkg-config-arm-linux-gnueabihf 参考&#xff1a; How To I…

无水蒸汽室的热特性​研究

更多资讯&#xff0c;请关注公众号【莱歌数字】~~ 扩散电阻在从源到汇的整体传热过程中继续起着主导作用。 随着电子元件占地面积小和高功耗的趋势&#xff0c;需要在散热器的底部散热对于降低扩散电阻变得非常重要。 在一些应用中&#xff0c;如高功率激光器&#xff0c;可…

JavaWeb系列十七: jQuery选择器 上

jQuery选择器 jQuery基本选择器jquery层次选择器基础过滤选择器内容过滤选择器可见度过滤选择器 选择器是jQuery的核心, 在jQuery中, 对事件处理, 遍历 DOM和Ajax 操作都依赖于选择器jQuery选择器的优点 $(“#id”) 等价于 document.getElementById(“id”);$(“tagName”) 等价…

Anzo Capital昂首资本独家揭秘,掌握价格行为交易法则,轻松盈利

探索交易成功的秘密!Anzo Capital昂首资本独家揭秘价格行为模式的五大核心步骤&#xff0c;助各位投资者都能把握市场脉搏&#xff0c;轻松盈利。 第一步&#xff0c;精准识别市场趋势&#xff0c;为成功交易奠定坚实基础。 第二步&#xff0c;洞察图表密码&#xff0c;巧妙标…

程序员系统入门大模型的路径和资源,看这篇就够了

本篇文章面向对大模型领域感兴趣&#xff0c;又不知如何下嘴的程序员。 看一下围绕大模型的应用场景和人才需求&#xff1a; **Prompt工程&#xff1a;**基于提示词对大模型的使用&#xff0c;会问问题就行。 **基于大模型的应用&#xff08;狭义的&#xff09;&#xff1a;*…

Avalonia 常用控件二 Menu相关

1、Menu 添加代码如下 <Button HorizontalAlignment"Center" Content"Menu/菜单"><Button.Flyout><MenuFlyout><MenuItem Header"打开"/><MenuItem Header"-"/><MenuItem Header"关闭"/&…

一文讲清楚人工智能集成学习之多模型投票(Voting)

一、集成学习 集成学习是人工智能领域中一种强大的机器学习方法&#xff0c;它通过结合多个学习器来提高整体的预测或分类性能&#xff0c;通常能够比单一模型表现得更好。 1.1 集成学习的原理 集成学习的核心思想是“集思广益”&#xff0c;即通过集合多个模型的预测结果来提…

面向对象修炼手册(二)(消息与继承)(Java宝典)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;面向对象修炼手册 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 消息传递 1 基本概念 1.…

Python19 lambda表达式

在 Python 中&#xff0c;lambda 表达式是一个小型匿名函数&#xff0c;通常用于实现简单、单行的函数。lambda 函数可以接受任意数量的参数&#xff0c;但只能有一个表达式。 基本语法&#xff1a; lambda arguments: expression这里&#xff0c;arguments 是传递给 lambda …

LeetCode —— 只出现一次的数字

只出现一次的数字 I 本题依靠异或运算符的特性&#xff0c;两个相同数据异或等于0&#xff0c;数字与0异或为本身即可解答。代码如下: class Solution { public:int singleNumber(vector<int>& nums) {int ret 0;for (auto e : nums){ret ^ e;}return ret;} };只出…

Kubernetes排错(十)-处理容器数据磁盘被写满

容器数据磁盘被写满造成的危害: 不能创建 Pod (一直 ContainerCreating)不能删除 Pod (一直 Terminating)无法 exec 到容器 如何判断是否被写满&#xff1f; 容器数据目录大多会单独挂数据盘&#xff0c;路径一般是 /var/lib/docker&#xff0c;也可能是 /data/docker 或 /o…

基于CDMA的多用户水下无线光通信(3)——解相关多用户检测

继续上一篇博文&#xff0c;本文将介绍基于解相关的多用户检测算法。解相关检测器的优点是因不需要估计各个用户的接收信号幅值而具有抗远近效应的能力。常规的解相关检测器有运算量大和实时性差的缺点&#xff0c;本文针对异步CDMA的MAI主要来自干扰用户的相邻三个比特周期的特…

wordpress教程自动采集并发布工具

随着互联网的快速发展&#xff0c;越来越多的人开始关注网络赚钱。而对于许多人来说&#xff0c;拥有一个自己的个人网站是一个不错的选择。然而&#xff0c;要让自己的个人网站内容丰富多样&#xff0c;就需要不断地进行更新。那么&#xff0c;有没有一种方法可以让我们轻松地…