GAIA-2:用于自动驾驶的可控多视图生成世界模型

news2025/4/22 6:56:39

25年3月来自英国创业公司 Wayze 的论文“GAIA-2: A Controllable Multi-View Generative World Model for Autonomous Driving”。(注:23年9月其发布GAIA-1)

生成模型为模拟复杂环境提供一种可扩展且灵活的范例,但目前的方法不足以满足自动驾驶领域特定要求,例如多智体交互、细粒度控制和多摄像头一致性。其推出 GAIA-2(自主生成人工智能),这是一个潜扩散世界模型,将这些功能统一在一个生成框架中。GAIA-2 支持以丰富的结构化输入为条件的可控视频生成:自车动力学、智体配置、环境因素和道路语义。它在不同地理位置的驾驶环境(英国、美国、德国)中生成高分辨率、时空一致的多摄像头视频。该模型集成结构化条件和外部潜嵌入(例如,来自专有驾驶模型),以促进灵活且基于语义的场景合成。通过这种集成,GAIA-2 能够对常见和罕见驾驶场景进行可扩展模拟,推动生成世界模型作为自动系统开发的核心工具的使用。

GAIA-2 是一个环视视频生成世界模型,具有结构化条件、多摄像头相干性和高时空分辨率。该架构(如图所示)由两个主要组件组成:视频 token 化器和潜世界模型。这两个模块共同作用,使 GAIA-2 能够生成跨多个视角、语义连贯且逼真的视频,并具备丰富的条件控制。

请添加图片描述

视频 token 化器将原始高分辨率视频压缩成紧凑、连续的潜空间,同时保留语义和时间结构。这种紧凑的表示形式能够实现高效的大规模学习和生成。然后,世界模型学习预测未来的潜状态,并以过去的潜状态、动作和一系列特定域的控制信号为条件。它还可以用于完全从零开始生成新状态,并通过修复修改视频内容。随后,使用视频 token 化器解码器将预测的潜状态解码回像素空间。

与大多数潜扩散模型相比,GAIA-2 采用更高的空间压缩率(例如,32 倍,而非更常见的 8 倍),并通过增加潜空间的通道维度(例如,64 通道而非 16 通道)来弥补这一缺陷。这会产生更少但语义更丰富的潜 tokens。由此带来的优势有两方面:(1) 更短的潜序列能够实现更快的推理和更高的内存效率;(2) 该模型展现出更强大的捕捉视频内容和时间动态的能力。这种参数化策略的灵感来源于先前关于紧凑潜表征的研究 [10, 11]。

与依赖离散潜变量的前身 GAIA-1 [5] 不同,GAIA-2 采用连续潜空间,从而提高时间平滑度和重建保真度。此外,GAIA-2 引入一个灵活的调节接口,支持自车动作、动态智体状态(例如 3D 边框)、结构化元数据、CLIP 和场景嵌入以及相机几何结构。这种设计能够在生成过程中对场景语义和代理行为进行鲁棒控制,同时确保跨视图一致性和时间连贯性。

视频 token 化器

视频 token 化器将像素空间视频压缩为一个紧凑的潜空间,该空间连续且语义结构化。它由一个时空分解的transformer 和一个非对称的编码器-解码器架构组成(分别具有 85M 和 200M 个参数)。编码器提取时间上独立的时空下采样的潜空间;解码器利用时间上下文,从这些潜空间重建全帧视频,以保持时间一致性。

编码器

给定输入视频 (i_1, …, i_T_v),编码器 e_φ 计算潜 tokens (z_1, …, z_T_L) = e_φ(i_1, …, i_T_v),其中 T_v 表示视频帧的数量,T_L 表示潜 token 的数量。用 H_v × W_v 表示视频帧的空间分辨率,用 H × W 表示潜 tokens的空间分辨率。编码器在空间上以 H_v/H = 32 的因子进行下采样,在时间上以 T_v/T_L = 8 的因子进行下采样。潜维度为 L = 64,因此总压缩率为 (T_v × H_v × W_v × 3 / (T_L × H × W × L) = 384),其中 (T_v, H_v, W_v) = (24, 448, 960),(T_L, H, W) = (3, 14, 30)。

此下采样通过将输入帧的时间步长设为 2 倍,并采用以下模块实现:

  1. 一个步长为 2 × 8 × 8(时间、高度、宽度)的下采样卷积块,随后是另一个步长为 2 × 2 × 2 的下采样卷积块(两者均在嵌入维度 512 下运行)。
  2. 一系列 24 个空间 Transformer 块,维度为 512,包含 16 个输入头。
  3. 最后进行步长为 1 × 2 × 2 的卷积,然后线性投影到 2L 个通道,以对潜层建模高斯分布。需要注意的是,由于编码器预测高斯分布的均值和标准差,因此潜层维度会加倍。在训练和推理过程中,潜层都会从得到的分布中采样。

解码器

解码器架构如下:

  1. 从潜层维度到嵌入维度的线性投影,然后是第一个步长为 1 × 2 × 2 的上采样卷积块(上采样通过深度到空间模块 [12] 实现)。
  2. 一系列 16 个时空分解的 Transformer 块,维度为 512,包含 16 个输入头。
  3. 一个步幅为 2×2×2 的上采样卷积块,后接 8 个时空分解的 Transformer 块,维度为 512,包含 16 个卷积头。
  4. 最后一个上采样卷积块,步幅为 2×8×8,维度为 3,对应于像素 RGB 通道。

编码器和解码器之间的一个关键区别在于,编码器独立地将 8 个连续的视频帧映射到单个时间潜向量,而解码器则将 T_L = 3 个时间潜向量联合解码为 T_v = 24 个视频帧,以保持时间一致性。在推理过程中,使用滑动窗口对视频帧进行解码。其逻辑如图中的“训练”和“推理”图所示。

请添加图片描述

训练损失

视频 token 化器采用像素重建和潜空间损失的组合进行训练:

  • 使用 L1、L2 和感知损失 [13] 进行图像重建。
  • 通过余弦相似度损失对潜特征进行 DINO [14] 蒸馏,从而与预训练表征进行语义对齐。视频帧采用 DINO 模型进行编码,并通过线性插值进行时间下采样,以匹配潜特征的维度。
  • 使用相对于标准高斯分布的 Kullback-Leibler 散度损失 [1] 来正则化潜空间。

为了提升视觉质量,进一步使用 GAN 损失 [4] 对解码器进行微调,使用 3D 卷积鉴别器和图像重建损失,同时保持编码器处于冻结状态。鉴别器由一系列残差 3D 卷积块组成,其基本通道数为 64,时间和空间步长均为 2,包含 3D 模糊池化[15]、通道乘子[2, 4, 8, 8]、3D 实例归一化以及斜率为 0.2 的 LeakyReLU。它采用谱归一化[16],并使用 softplus 激活函数实现原始的 GAN 损失函数。

世界模型

潜世界模型基于过去的潜状态、动作和丰富的条件输入,预测未来的潜状态。它被实现为一个具有 8.4B 参数的时空分解transformer,并使用流匹配 [17] 进行训练,以确保稳定性和样本效率。

设 x_1:T 为输入潜状态,其中 T 为时间窗口,N 为摄像机数量。输入潜状态是通过使用编码器 e_φ 对每个摄像机视图进行独立编码获得的。在每个时间步 t,还提供一个动作向量 a_t 和一个条件向量 c_t。

架构

世界模型是一个具有隐维度 C 的时空分解transformer。每个动作 a_t 和条件向量 c_t 都被嵌入,K 对应于条件变量的数量。流匹配时间 τ ∈ [0, 1] 也使用正弦编码进行映射 [18]。流匹配时间 τ 和动作 a_t 通过自适应层范数 [19] 注入到每个 Transformer 模块中,而对其他条件变量 c_t 使用交叉注意机制。使用自适应层范数,比使用交叉注意机制时动作条件的准确性更高。由于动作会影响每个空间 token,自适应层范数提供一个显式的信息入口,而不必依赖可学习的注意机制。

关于位置编码,分别对以下参数进行编码:(i) 使用正弦嵌入表示空间 token 位置;(ii) 使用正弦嵌入后接小型多层感知器 (MLP) 表示相机时间戳;以及 (iii) 使用可学习的线性层表示相机几何形状(畸变、内参和外参)。所有这些位置编码都添加到每个 Transformer 模块开头的输入潜变量中,类似于 [20]。

世界模型包含 22 个时空分解的 Transformer 模块,隐层维度为 C = 4096,并有 32 个头。每个 Transformer 模块包含一个空间注意机制(覆盖空间和摄像头)、一个时间注意机制、一个交叉注意机制和一个具有自适应层范数的 MLP 层。为了提高训练稳定性,在每个注意层之前使用查询键归一化 [21]。

损失函数

在训练时,随机抽取上下文帧的数量 t ∈ {0, …, T − 1},其中 t = 0 表示从头开始生成。还根据预定义的分布抽取一个流匹配时间 τ ∈ [0, 1]。上下文潜向量 x_1:t 保持不变,而未来潜向量 x_t+1:T 则通过随机高斯噪声 ε_t+1:T ∼ N(0, I) 进行线性插值。

速度目标向量 v_t+1:T 是目标潜向量与随机噪声之间的差值。世界模型 f_θ 根据上下文潜向量 x_1:t、动作 a_1:T 和条件变量 c_1:T 预测目标速度 v_t+1:T。该模型在预测速度和目标速度之间使用 L_2 损失函数进行训练。

条件控制

GAIA-2 支持丰富且结构化的条件输入,从而能够对生成的场景进行细粒度控制。这些输入包括车辆自身动作、动态智体属性、场景级元数据、摄像头配置、时间戳嵌入以及外部潜表征,例如 CLIP 或专有场景嵌入。条件机制通过自适应层归一化(用于动作)、附加模块(用于摄像头几何形状和时间戳)和交叉注意机制(用于所有其他变量)的组合集成到世界模型中。

摄像头参数。分别计算内参、外参和畸变的嵌入,然后将它们相加形成统一的相机编码。对于内参,从内在矩阵中提取焦距和主点坐标,对其进行归一化,并将它们投影到共享的潜空间中。外参和畸变系数也通过各自的编码器进行类似的处理,以产生紧凑的表示。这种配置使模型能够有效地融合现实世界中的相机变化。如图展示训练数据集中最常见的三种相机支架配置。

请添加图片描述

视频频率。为了考虑不同的视频帧率,GAIA-2 使用时间戳调节。每个时间戳:(i) 相对于当前时间进行归一化并缩放到 [-1, 1] 范围;(ii) 使用正弦函数进行变换(傅里叶特征编码);以及 (iii) 通过多层感知器 (MLP) 生成共享潜空间向量。这种编码能够捕捉低频和高频时间变化,使模型能够对以不同速率录制的视频进行有效推理。

动作。自车辆行为由速度和曲率参数化。由于这些量跨越多个数量级,使用对称对数变换 symlog [22] 进行归一化。结果是一个缩放到 [-1, 1] 的紧凑表示,从而提高了训练稳定性。

动态智体。为了表示周围的智体,用由 3D 目标检测器 [23] 预测的 3D 边框,这些边框在数据集上进行重新训练。每个边框都编码智体的 3D 位置、方向、尺寸和类别。3D 边框被投影到 2D 图像平面并进行归一化,得到 f_i 个条件特征,T 表示时间潜向量的数量,N 表示摄像头的数量,B 表示 3D 边框的最大数量(可根据需要进行零填充)。每个特征维度都独立嵌入,并通过单层 MLP 进行聚合。

为了增强模型的鲁棒性和泛化能力,在训练期间在特征维度和实例级别都实现丢弃。具体而言,以 p = 0.3 的概率丢弃特征维度,使模型能够在推理时在信息不完整的情况下运行。例如,此设置允许在不指定实例 3D 位置的情况下对 2D 投影框进行条件投影,或者忽略方向,让模型根据其他条件预测最合理的方向。

在实例级别,对于每个摄像头,采样一帧 t ∈ {1, …, T } 并计算检测的实例数 N_instances。然后,采样实例数以 n ∈ {0, …, min(B, N_instances)} 为条件,并对超过此样本量的实例应用丢弃。这使得模型能够在推理过程中适应可变数量的动态智体。请注意,在保持 n 随时间恒定的同时,不使用实例跟踪,从而允许模型独立确定跨帧的条件投影特征是属于相同还是不同的实例。

元数据。元数据特征是分类的,并使用专用的可学习嵌入层嵌入。这些包括:国家/地区、天气、一天中的时间;限速;车道数量和类型(例如,公交车、自行车);人行横道、交通信号灯及其状态;单行道指示牌和交叉路口类型。这些嵌入使 GAIA-2 能够学习场景级特征与其对行为影响之间的微妙关系,从而能够模拟典型场景和罕见场景。

CLIP 嵌入。为了实现语义场景调节,GAIA-2 支持对 CLIP 嵌入进行调节 [24]。在训练过程中,使用图像编码器从视频帧中提取 CLIP 特征。在推理过程中,这些特征可以用来自自然语言提示的 CLIP 文本编码器输出替换。所有 CLIP 嵌入都使用可学习的线性投影投影到模型的潜空间中。这使得能够通过自然语言或视觉相似性对场景语义进行零样本控制。CLIP 调节如图所示:

请添加图片描述

场景嵌入。GAIA-2 还可以使用从内部专有模型获得的场景嵌入进行调节,该模型经过训练可编码特定于驾驶的信息。这些嵌入可以紧凑地捕捉自我动作和场景上下文,例如道路布局和智体配置。场景向量通过可学习的线性层投影到潜空间,然后再集成到 Transformer 中。这允许从紧凑的抽象表示生成高级场景。

流匹配时间分布

在流匹配框架下,训练世界模型的一个关键因素是,流匹配时间 τ 的分布。该分布决定模型看到接近真实的潜输入和受到严重干扰的潜输入频率。

使用具有两种模态的双模态对数正态分布:

  • 一个主要模式,以 μ = 0.5、σ = 1.4 为中心,以 p = 0.8 的概率采样。这使模型倾向于在低到中等噪声水平下学习。从经验上讲,这鼓励学习有用的梯度,因为即使是少量的噪声也会显著干扰高容量潜在输入。
  • 一个次要模式,以 μ = −3.0、σ = 1.0 为中心,以 p = 0.2 的概率采样。这使得训练集中在 τ = 0 附近几乎纯噪声的区域,帮助模型学习空间结构和低级动态,例如自我运动或目标轨迹。

这种双模态策略,确保训练在低噪声和高噪声环境下均有效,从而提高泛化能力和样本质量。

此外,输入潜向量 x_t 按照 [25] 的方法,通过其平均值 μ_x 和标准差 σ_x 进行归一化,以确保其幅度与添加的高斯噪声相匹配。这避免信号和扰动之间的尺度失配,否则可能会降低训练动态性能。

GAIA-2 基于一个大规模内部数据集进行训练,该数据集专门用于满足自动驾驶视频生成的多样化需求。该数据集包含约 2500 万个视频序列,每个序列时长 2 秒,收集于 2019 年至 2024 年期间。为了覆盖地理和环境差异化的驾驶条件,数据集采集自英国、美国和德国三个国家。

为了捕捉现实世界自动驾驶的复杂性,数据收集工作涉及多个车辆平台,包括三种不同的轿车型号和两种厢式货车。每辆车都配备五个或六个摄像头,配置为提供全面的 360 度环视覆盖。摄像头系统的捕捉频率各不相同——20 Hz、25 Hz 和 30 Hz——从而带来一系列时间分辨率。这种差异性反映实际自动驾驶汽车中传感器配置的异构性,并支持 GAIA-2 在不同输入速率和硬件规格之间进行泛化的能力。

该数据集的一个重要特征是在整个数据收集期间摄像头位置的变化。随时间的推移,摄像头的位置和标定会跨平台进行调整,从而引入广泛的空间配置。这种多样性提供强大的训练信号,可用于在不同摄像头装置上进行泛化,这是自动驾驶领域可扩展合成数据生成的关键要求。

该数据集还涵盖广泛的驾驶场景,包括不同的天气条件、一天中的时间、道路类型和交通环境。为了确保覆盖这种复杂性,不仅根据单个特征,还根据它们的联合概率分布明确地平衡训练数据。这种方法通过对现实的共现情况(例如,特定地理区域的特定光照和天气条件,或特定道路类型特有的行为)进行建模,从而能够获得更具代表性的学习信号。为了避免训练样本冗余,在选定的序列之间强制使用最小时间步长,从而在保持自然分布的同时降低重复风险。

在评估方面,实施地理隔离验证策略。定义特定的验证地理围栏,将某些区域完全排除在训练集之外。这确保了模型评估是在未见过的位置进行的,从而能够更严格地评估不同环境下的泛化性能。

总而言之,该数据集为训练 GAIA-2 奠定坚实的基础。其广泛的时间和空间覆盖范围、车辆和摄像头配置的多样性以及原则性的验证设置,使其非常适合开发生成世界模型,能够在各种现实条件下生成逼真且可控的驾驶视频。

训练存在 GAIA-2 两个组件的训练流程:视频 token化器和世界模型。每个组件都使用大规模计算基础设施和定制的损失函数配置进行独立训练,以优化各自的目标。

视频 token 化器。视频 token 化器使用 128 个 H100 GPU,训练 30 万步,批次大小为 128。输入序列由 24 个以其原生捕获频率(20、25 或 30 Hz)采样的视频帧组成。从帧中提取尺寸为 448 × 960 的随机空间裁剪。对于每个训练样本,从可用的 N = 5 个视角中随机选择一个摄像机视图。注:每个摄像机流都独立编码。

Token 化器执行 8 倍时间下采样和 32 倍空间下采样,产生潜在维度 L = 64 的压缩表示,有效总压缩率约为 400(24×448×960×3 /(3×14×30×64) ≃ 400)。

Token化器的损失函数由图像重建、感知和语义对齐项组合而成:(1) DINO v2 (Large) [14] 在潜空间中进行蒸馏,权重为 0.1。(2) 潜分布与单位高斯分布之间的 KL 散度 [1],权重较低,为 1e−6,以提高平滑度。(3) 像素级损失:L1 损失(权重 0.2)、L2 损失(权重 2.0)和 LPIPS 感知损失 [26](权重 0.1)。

在整个训练过程中,token化器参数 φ 保持指数移动平均值 (EMA),衰减因子为 0.9999,并在每个训练步更新。EMA权重用于推理。

使用 AdamW 优化训练:2,500个预热步,基础学习率为1e-4;5,000个冷却步,最终学习率为1e-5;Adam betas [0.9, 0.95],权重衰减为0.1,梯度裁剪为1.0。初始训练后,使用 GAN 损失函数(权重为0.1)结合之前的重建损失函数,对 token化器解码器进行额外的20,000步微调。鉴别器采用1e-5的学习率进行优化。

世界模型。潜世界模型在 256块 H100 GPU上以256的批量大小训练 460,000 步。输入由 48 个视频帧组成,这些视频帧的原始捕捉频率为 20、25 或 30 Hz,空间分辨率为 448 × 960,跨越 N = 5 个摄像头。将这些视频编码到潜空间后,相当于 T × N × H × W = 6 × 5 × 14 × 30 = 12,600 个输入 tokens。

为了提高泛化能力,按以下方式采样不同的训练任务:70% 从零开始生成、20% 上下文预测和 10% 空间修复。为了使模型正则化并实现无分类器指导,随机删除条件变量。每个单独的条件变量以 80% 的概率独立删除,所有条件变量以 10% 的概率同时删除。

输入摄像头视图以 10% 的概率随机删除,以增强对部分可观测性的鲁棒性。使用固定均值 μ_x = 0.0 和标准差 σ_x = 0.32 对潜 tokens 进行归一化,这两个值是在 token 化器训练过程中根据经验确定的。

与 token化器一样,维护世界模型参数 θ 的 EMA,衰减因子为 0.9999,并在每个训练步骤中更新。EMA 权重用于推理。优化器是 AdamW,其优化器具有以下特点:2,500 个预热步骤,初始学习率为 5e−5,并在整个训练期间进行余弦衰减,最终学习率为 6.5e−6;Adam 的 beta 值为 [0.9, 0.99],权重衰减为 0.1,梯度剪裁为 1.0。

GAIA-2 模型支持一系列推理任务,展现了其在视频生成场景中的灵活性和可控性。这些任务通过在潜空间中运行的共享去噪过程统一起来,然后通过视频 token化器解码到像素空间。

推理任务。考虑四种主要的推理模式,每种模式都展现模型的独特能力:

  • 从零开始生成涉及采样纯高斯噪声,并在条件变量的指导下对其进行去噪。然后,使用视频 token 化器解码器将生成的潜数据解码为视频帧,并通过滚动窗口解码机制生成时间一致的输出。
  • 自回归预测能够根据过去上下文潜数据序列预测未来潜数据。给定一个包含 k = 3 个时间潜数据的初始上下文窗口,该模型预测下一组潜数据,将其附加到上下文中,然后使用滑动窗口重复该过程。这种方法允许在结合自我运动等条件信号的同时进行长视界展开。如图提供一个示例。

请添加图片描述

  • 修复允许选择性地修改视频内容。对潜输入应用时空掩码,并通过条件去噪重新生成被掩码的区域。来自动态智体条件(例如,智体位置)的可选指导可以引导掩码区域内的生成。如图展示一个示例。

请添加图片描述

  • 场景编辑是通过对从真实视频中提取的潜输入进行部分加噪,然后通过改变条件进行去噪来实现的。这可以实现有针对性的语义或风格转换,例如更改天气、时间或道路布局,而无需重新生成完整场景。如图展示此功能。

请添加图片描述

这些模式表明,GAIA-2 可以作为通用模拟器,用于各种场景操作任务,无论是从噪声、上下文还是现有视频开始。

推理噪声调度。对于所有推理任务,采用 [20] 中提出的线性二次噪声调度。该方案从线性间隔的噪声级别开始,这对于捕捉粗略的场景布局和运动模式非常有效。在后期阶段,该方案过渡到二次间隔的步骤,以便更有效地细化高频视觉细节。这种混合方法同时提高生成质量和计算效率。在实验中,使用固定数量的 50 个去噪步骤。

无分类器引导。推理过程中默认不使用无分类器引导 (CFG)。但是,对于具有挑战性或分布不均匀的场景,例如涉及罕见边缘情况或不寻常的智体配置的场景(例如下图所示),会根据场景的复杂程度,使用 2 到 20 的引导等级来激活 CFG。

请添加图片描述

在涉及动态智体条件的场景中,与智体特定区域关联的潜 token 是先验已知的,应用空间选择性 CFG。在这种情况下,引导仅应用于受条件影响的空间位置(例如 3D 边框),从而提升目标区域的生成质量,而不会对场景的其余部分造成不必要的影响。这种定向方法能够更精确地控制场景元素,同时保持全局一致性。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈AI致幻

文章目录 当前形势下存在的AI幻觉(AI致幻)什么是AI幻觉AI幻觉的类型为什么AI会产生幻觉AI幻觉的危害与影响当前应对AI幻觉的技术与方法行业与学术界的最新进展未来挑战与展望结论 当前形势下存在的AI幻觉(AI致幻) 什么是AI幻觉 …

车载软件架构 --- 二级boot设计说明需求规范

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…

Java高效合并Excel报表实战:GcExcel让数据处理更简单

前言:为什么需要自动化合并Excel? 在日常办公场景中,Excel报表合并是数据分析的基础操作。根据2023年企业办公效率报告显示: 财务人员平均每周花费6.2小时在Excel合并操作上人工合并的错误率高达15%90%的中大型企业已采用自动化…

第十四届蓝桥杯 2023 C/C++组 平方差

目录 题目: 题目描述: 题目链接: 思路: 核心思路: 第一种思路: 第二种思路: 坑点: 代码: 数学找规律 O(n) 50分代码详解: O(1)满分代码详解&#x…

I/O复用函数的使用——select

I/O复用函数的使用——select 目录 一、概念 二、select接口 2.1 基础概念 2.2 使用 select 函数的标准输入读取代码 2.3 基于 select 模型的多客户端 TCP 服务器实现 一、概念 i/o复用使得程序能同时监听多个文件描述符,可以提高程序性能。 之前为了让服务器能…

图像预处理-图像轮廓特征查找

其实就是外接轮廓,有了轮廓点就可以找到最上、最下、最左、最右的四个坐标(因为有xmin,xmax,ymin,ymax)。就可以绘制出矩形。 一.外接矩形 cv.boundingRect(轮廓点) - 返回x,y,w,h,传入一个轮廓的轮廓点,若有多个轮廓需…

全同态加密医疗数据分析集python实现

目录 摘要一、前言二、全同态加密与医疗数据分析概述2.1 全同态加密(FHE)简介2.2 医疗数据分析需求三、数据生成与预处理四、系统架构与流程4.1 系统架构图五、核心数学公式六、异步任务调度与(可选)GPU 加速七、PyQt6 GUI 设计八、完整代码实现九、自查测试与总结十、展望…

list的学习

list的介绍 list文档的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一…

HarmonyOS:Navigation实现导航之页面设置和路由操作

导读 设置标题栏模式设置菜单栏设置工具栏路由操作页面跳转页面返回页面替换页面删除移动页面参数获取路由拦截 子页面页面显示类型页面生命周期页面监听和查询 页面转场关闭转场自定义转场共享元素转场 跨包动态路由系统路由表自定义路由表 示例代码 Navigation组件适用于模块…

管道位移自动化监测方案

一、背景 管道系统在区域性地质沉降作用下易形成非均匀应力场集中现象,诱发管体屈曲变形及环焊缝界面剥离等连续损伤累积效应,进而导致管道力学性能退化与临界承载能力衰减。传统人工巡检受限于空间覆盖度不足及数据采集周期长(≥72h&#xf…

【学习笔记】机器学习(Machine Learning) | 第五周| 分类与逻辑回归

机器学习(Machine Learning) 简要声明 基于吴恩达教授(Andrew Ng)课程视频 BiliBili课程资源 文章目录 机器学习(Machine Learning)简要声明 一、逻辑回归的基本原理分类判断条件模型输出的解释Sigmoid 函数与 Logistic 函数逻辑…

Python 深度学习 第8章 计算机视觉中的深度学习 - 卷积神经网络使用实例

Python 深度学习 第8章 计算机视觉中的深度学习 - 卷积神经网络使用实例 内容概要 第8章深入探讨了计算机视觉中的深度学习,特别是卷积神经网络(convnets)的应用。本章详细介绍了卷积层和池化层的工作原理、数据增强技术、预训练模型的特征…

[免费]SpringBoot+Vue博物馆(预约)管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue博物馆(预约)管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue博物馆(预约)管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着计算机科学技术的日渐成熟&#xff…

【python】pyCharm常用快捷键使用-(2)

pyCharm常用快捷键使用 快速导入任意类 【CTRLALTSPACE】代码补全【CTRLSHIFTENTER】代码快速修正【ALTENTER】代码调试快捷键

机器视觉lcd屏增光片贴合应用

在现代显示制造领域,LCD屏增光片贴合工艺堪称显示效果的"画龙点睛"之笔。作为提升屏幕亮度、均匀度和色彩表现的关键光学组件,增光片的贴合精度直接影响着终端用户的视觉体验。传统人工贴合方式难以满足当前超窄边框、高分辨率显示屏的严苛要求…

VScode-py环境

settings.json {"git.ignoreLimitWarning": true,"code-runner.runInTerminal": true,"code-runner.executorMap": {"python": "python3"} } 第二句话保证在终端里面进行IO 第三句话保证python3的用户不会执行python关键…

用键盘实现控制小球上下移动——java的事件控制

本文分享Java的一个有趣小项目,实现用键盘控制小球的移动 涉及java知识点:Swing GUI框架,绘图机制,事件处理,焦点控制 1.编写窗口和面板 (1.)定义面板类 Panel 继承自Java 自带类JPanel (2.)定义窗口类 window 继承…

《马尼拉》桌游期望计算器

《马尼拉》桌游期望计算器:做出最明智的决策 注:本项目仍在开发验证中,计算结果可能不够准确,欢迎游戏爱好者提供协助! 在线使用 | GitHub 项目简介 马尼拉期望计算器是一个基于 Vue 3 Vite 开发的网页应用&#xff…

动态LOD策略细节层级控制:根据视角距离动态简化远距量子态渲染

动态LOD策略在量子计算可视化中的优化实现 1. 细节层级控制:动态简化远距量子态渲染 在量子计算的可视化中,量子态通常表现为高维数据(如布洛赫球面或多量子比特纠缠态)。动态LOD(Level of Detail)策略通过以下方式优化渲染性能: 距离驱动的几何简化: 远距离渲染:当…

线程池的介绍

目录 一、什么是线程池 二、线程池的详细内容 三、线程池的简化 一、什么是线程池 提到线程池,我们可能想到 常量池,可以先来说说常量池: 像是字符串常量,在Java程序最初构建的时候,就已经准备好了,等程…