当前位置: 首页 > news >正文

DiffMap:首个利用LDM来增强高精地图构建的网络

论文标题:

DiffMap: Enhancing Map Segmentation with Map Prior Using Diffusion Model

论文作者:

Peijin Jia, Tuopu Wen, Ziang Luo, Mengmeng Yang, Kun Jiang, Zhiquan Lei, Xuewei Tang, Ziyuan Liu, Le Cui, Kehua Sheng, Bo Zhang, Diange Yang

导读:

首个利用潜在扩散模块(Latent Diffusion Model)对地图分割掩码的结构化先验进行建模的新方法,基于该技术,现有语义分割方法的性能可以得到显著提升,并同时提高生成地图的质量。©️【深蓝AI】编译

1. 背景介绍

对自动驾驶车辆来说,高清(HD)地图能够帮助其提高对环境理解(感知)的准确度和导航的精度。然而,人工建图面临繁杂和高成本的问题。为此,当前研究将地图构建集成到BEV(鸟瞰视角)感知任务中,在BEV空间中构建栅格化HD地图视为一个分割任务,可以理解为获得BEV特征后增加使用类似于FCN(全卷积网络)的分割头。例如,HDMapNet通过LSS(Lift,Splat,Shoot)编码传感器特征,然后采用多分支FCN进行语义分割、实例检测和方向预测来构建地图。

但目前此类方法(基于像素的分类方法)仍存在固有局限性,包括可能忽略特定类别属性,这可能导致分隔带扭曲和中断、行人横道模糊以及其他类型的伪影和噪声,如图1(a)所示。这些问题不仅影响地图的结构精度,还可能直接影响自动驾驶系统的下游路径规划模块。

在这里插入图片描述
图1|HDMapNet,DiffMap和GroundTruth效果对比©️【深蓝AI】编译

因此,模型最好能考虑HD地图的结构先验信息,如车道线的平行和笔直特性。一些生成模型在捕捉图像真实性和固有特性具备这样的能力。例如,LDM(潜在扩散模型)在高保真图像生成方面展现了巨大潜力,并在与分割增强相关的任务中证明了其有效性。另外,还可以通过引入控制变量,进一步指导图像的生成以满足特定的控制要求。因此,将生成模型应用于捕捉地图结构先验,有望减少分割伪影并提高地图构建性能。

在本文中,作者提出DiffMap网络。该网络首次通过使用改进的LDM作为增强模块,对现有的分割模型进行地图结构化先验建模并支持即插即用。DiffMap不仅能通过添加和删除噪声的过程学习地图先验,还可以将BEV特征集成为控制信号,以确保输出与当前帧观测相匹配。实验结果表明,DiffMap能够有效地生成更加平滑合理的地图分割结果,同时极大地减少了伪影,提高了整体的地图构建性能。

2. 相关工作

2.1 语义地图构建

在传统的高清(HD)地图构建中,语义地图通常是基于激光雷达点云手动或半自动标注的。一般基于SLAM的算法来构建全局一致的地图,并手动为地图添加语义标注。然而,这种方法费时费力,同时在更新地图方面也存在极大挑战,从而限制了其可扩展性和实时性能。

HDMapNet提出了一种使用车载传感器动态构建局部语义地图的方法。它将激光雷达点云和全景图像特征编码到鸟瞰视图(BEV)空间,并使用三个不同的头部进行解码,最终产生一个矢量化的局部语义地图。SuperFusion专注于构建远程高精度语义地图,利用激光雷达深度信息增强图像深度估计,并使用图像特征引导远程激光雷达特征预测。然后采用类似于HDMapNet的地图检测头获得语义地图。MachMap将任务划分为折线检测和多边形实例分割,并使用后处理来细化掩码以获得最终结果。后续的研究聚焦在端到端在线建图,直接获得矢量化的高清地图。无需手动标注的语义地图动态构建有效地降低了构建成本。

2.2 扩散模型应用于分割和检测

去噪扩散概率模型(DDPMs)是基于马尔可夫链的一类生成模型,在图像生成等领域展现出优秀的性能,并逐步扩展到分割和检测等各种任务。SegDiff将扩散模型应用于图像分割任务,其中使用的UNet编码器进一步解耦为三个模块:E、F和G。模块G和F分别编码输入图像I和分割图,然后在E中通过加法合并,以迭代地细化分割图。DDPMS使用基础分割模型产生初始预测先验,并利用扩散模型对先验进行细化。DiffusionDet将扩散模型扩展到目标检测框架,将目标检测建模为从噪声框到目标框的去噪扩散过程。

扩散模型也应用于自动驾驶领域,如MagicDrive利用几何约束合成街景,以及Motiondiffuser将扩散模型扩展到多智能体运动预测问题。

2.3 地图先验

目前有几种方法通过利用先验信息(包括显式的标准地图信息和隐式的时间信息)来增强模型鲁棒性,减少车载传感器的不确定性。MapLite2.0以标准定义(SD)先验地图为起点,并结合车载传感器实时推断局部高清地图。MapEx和SMERF利用标准地图数据改善车道感知和拓扑理解。SMERF采用基于Transformer的标准地图编码器编码车道线和车道类型,然后计算标准地图信息与基于传感器的鸟瞰视图(BEV)特征之间的交叉注意力,以集成标准地图信息。NMP通过将过去的地图先验数据与当前感知数据相结合,为自动驾驶汽车提供长期记忆能力。MapPrior结合判别式和生成式模型,在预测阶段将基于现有模型生成的初步预测编码为先验,注入生成模型的离散潜在空间,然后使用生成模型进行细化预测。PreSight利用先 前行程的数据优化城市尺度的神经辐射场,生成神经先验,增强后续导航中的在线感知。

3. 方法精析

3.1 准备工作

DDPMs是一种利用扩散过程来近似潜在数据分布 p ( x ) p(x) p(x)的生成模型。它们的工作原理是从一个服从正态分布的变量中去除噪声,模拟了预置长度为 T T T的马尔可夫链的逆向操作。在DDPMs中,从干净的初始数据分布 x 0 {\mathbf x}_0 x0到噪声数据集 x T \mathbf x_T xT的转换是通过一系列条件概率 q ( x t ∣ x t − 1 ) q(\mathbf x_t|\mathbf x_{t-1}) q(xtxt1)来实现的,其中 q q q表示噪声引入过程。在每一步 t t t,噪声根据以下规范添加:

q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) ( 1 ) q(\mathbf x_t|\mathbf x_{t-1}) = \mathcal N(\mathbf x_t;\sqrt{1-\beta_t}\mathbf x_{t-1}, \beta_t \mathbf I)\qquad(1) q(xtxt1)=N(xt;1βt xt1,βtI)(1)

其中 β t \beta_t βt是噪声水平的调节器, N \mathcal N N表示正态分布, I I I是单位矩阵。这一过程的最终结果是 x T \mathbf x_T xT变得与随机噪声无异。随后的去噪机制是一个从 x T \mathbf x_T xT x 0 \mathbf x_0 x0的迭代重建过程,由去噪网络 ϵ θ \epsilon_\theta ϵθ驱动,该网络估计并逐步细化干净的数据点。去噪函数描述如下:

p θ ( x t ∣ x t − 1 ) = N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) ( 2 ) p_\theta(\mathbf x_t|\mathbf x_{t-1}) = \mathcal N(\mathbf x_{t-1};\mu_\theta(\mathbf x_t, t),\Sigma_\theta(\mathbf x_t, t))\qquad(2) pθ(xtxt1)=N(xt1;μθ(xt,t),Σθ(xt,t))(2)

这里, μ θ \mu_\theta μθ Σ θ \Sigma_\theta Σθ分别表示去噪网络 ϵ θ \epsilon_\theta ϵθ估计的均值和协方差。

类似地,潜在扩散模型(LDMs)采用增量式去噪方法,在更紧凑高效的潜在空间中运作。这种降维去除了通常无法感知的高频细节,使模型能够集中捕捉数据的核心语义特征。这种效率使LD(潜在空间)更适合基于似然的生成模型,而不是计算量大的高维像素空间。LDMs的目标函数表述如下:

L L D M = E x , ϵ ∼ N ( 0 , 1 ) , t [ ∥ ϵ − ϵ θ ( z t , t ) ∥ 2 ] ( 3 ) L_{LDM} = \mathbb E_{\mathbf x,\epsilon \sim \mathcal N(0,1),t}[\parallel \epsilon - \epsilon_\theta(\mathbf z_t, t) \parallel^2]\qquad(3) LLDM=Ex,ϵN(0,1),t[ϵϵθ(zt,t)2](3)

LDMs的去噪核心,由 ϵ θ \epsilon_\theta ϵθ表示,被实例化为一个时间条件的UNet。由于噪声引入过程是确定性的, z t \mathbf z_t zt可以在训练期间从 ϵ \epsilon ϵ高效地获得,模型能够通过单次前向传播网络 D D D p ( z ) p(\mathbf z) p(z)生成图像。这种方法不仅提高了图像合成效率,而且在训练和推理阶段都能以显著较低的计算成本产生高保真图像。

此外,在这些模型中集成条件去噪函数 ϵ θ ( z t , t , y ) \epsilon_\theta(\mathbf z_t, t, \mathbf y) ϵθ(zt,t,y)允许在受各种输入形式 y \mathbf y y(包括文本注释、语义地图和更广泛的图像到图像转换)影响时进行受控合成过程。条件LDM通过关注条件输入和潜在表示之间的相互作用的过程进行学习,其目标函数表述为:

L L D M = E x , y , ϵ ∼ N ( 0 , 1 ) , t [ ∥ ϵ − ϵ θ ( z t , t , τ θ ( y ) ) ∥ 2 ] ( 4 ) L_{LDM} = \mathbb E_{\mathbf x,\mathbf y,\epsilon \sim \mathcal N(0,1),t}[\parallel \epsilon - \epsilon_\theta(\mathbf z_t, t, \tau_\theta(\mathbf y)) \parallel^2]\qquad(4) LLDM=Ex,y,ϵN(0,1),t[ϵϵθ(zt,t,τθ(y))2](4)

这种配置确保了和的联合优化,展示了条件机制的适应性。

3.2 整体架构

如图2所示。DiffMap作为解码器,将扩散模型纳入语义地图分割模型,该模型以周围多视角图像和LiDAR点云作为输入,将其编码为BEV空间并获得融合的BEV特征。然后采用DiffMap作为解码器生成分割图。在DiffMap模块中,将BEV特征作为条件来引导去噪过程。

在这里插入图片描述
图2|DiffMap架构©️【深蓝AI】编译

· 语义地图构建的基线:

基线主要遵循BEV编码器-解码器范式。编码器部分负责从输入数据(LiDAR和/或相机数据)中提取特征,将其转换为高维表示。同时,解码器通常作为分割头,将高维特征表示映射到相应的分割图。基线在整个框架中起两个主要作用:监督者和控制器。作为监督者,基线生成分割结果作为辅助监督。同时,作为控制器,它提供中间BEV特征 B ∈ R H × W × C \mathcal B \in \mathbb R^{H×W×C} BRH×W×C作为条件控制变量,以引导扩散模型的生成过程。

· DiffMap模块:

沿袭LDM,作者在基线框架中引入DiffMap模块作为解码器。LDM主要由两部分组成:一个图像感知压缩模块(如VQVAE)和一个使用UNet构建的扩散模型。首先,编码器将地图分割ground truth x \mathbf x x编码为潜在空间中的 z = ε ( x ) ∈ R H ′ × W ′ × D ′ \mathbf z= \varepsilon (\mathbf x) \in \mathbb R^{H'×W'×D'} z=ε(x)RH×W×D,其中 D ′ D' D表示潜在空间的低维度。随后,在低维潜在变量空间中执行扩散和去噪,然后使用解码器 D \mathcal D D将潜在空间恢复到原始像素空间。

首先通过扩散过程添加噪声 σ \sigma σ,在每个时间步 t t t获得噪声潜在图 { z t } t = 0 T \{\mathbf z_t\}_{t=0}^T {zt}t=0T,其中 z 0 = z z_0 = \mathbf z z0=z。然后在去噪过程中,UNet作为噪声预测的主干网络。为了增强分割结果的监督部分,并希望DiffMap模型在训练期间直接为实例相关预测提供语义特征。因此,作者将UNet网络结构分为两个分支,一个分支用于预测噪声 ϵ \epsilon ϵ,如传统扩散模型,另一个分支用于预测潜在空间中的 z \mathbf z z

如图3所示。获得潜在图预测 z θ \mathbf z_{\theta} zθ后,将其解码到原始像素空间,作为语义特征图。然后就可以按照HDMapNet提出的方法从中获得实例预测,输出三种不同头的预测:语义分割、实例嵌入和车道方向。这些预测随后用于后处理步骤以矢量化地图。

在这里插入图片描述
图3|去噪模块©️【深蓝AI】编译

整个过程是一个有条件的生成过程,根据当前传感器输入下获得地图分割结果。其结果的概率分布可以建模为 p θ ( x ∣ y ) p_\theta(\mathbf x|\mathbf y) pθ(xy),其中 x \mathbf x x表示地图分割结果, y \mathbf y y表示条件控制变量,即BEV特征。作者这里用了两种方式融合控制变量。首先,由于 z t \mathbf z_t zt和BEV特征 B \mathcal B B在空间域上具有相同的类别和尺度,将 B \mathcal B B调整为潜在空间大小,然后将它们串联作为去噪过程的输入,如公式5所示。

z t ′ = c o n c a t ( z , B ) ( 5 ) \mathbf z_t^{'} = concat(\mathbf z, \mathcal B)\qquad(5) zt=concat(z,B)(5)

其次,将交叉注意力机制融入到UNet网络的每一层,其中 B \mathcal B B作为key/value, z t \mathbf z_t zt作为query。交叉注意力模块的公式如下:

A t t e n t i o n ( z t ′ , B , B ) = s o f t m a x ( z t ′ B T d ) ⋅ B ( 6 ) Attention(\mathbf z_t^{'}, \mathcal B, \mathcal B) = softmax(\frac{\mathbf z_t^{'} \mathcal B^T}{\sqrt{d}}) \cdot \mathcal B\qquad(6) Attention(zt,B,B)=softmax(d ztBT)B(6)

3.3 具体实现

训练:首先训练 VQVAE, 将原始分割的真值压缩到潜在空间中。总的训练目标变为:

L = log ⁡ p ( x ∣ z q ( x ) ) ⏟ r e c o n s t r u c t i o n s l o s s + ∥ s g [ z e ( x ) − e k ] ∥ 2 2 ⏟ V Q l o s s + β ∥ z e ( x ) − s g [ e ] ∥ 2 2 ⏟ c o m m i t m e n t l o s s ( 7 ) L = \underbrace{\log p(\mathbf x | z_q(\mathbf x))}_{reconstructions \ \ loss} \ + \underbrace{ \parallel sg[z_e(\mathbf x) - e_k] \parallel_2^2 }_{VQ \ loss} +\underbrace{\beta \parallel z_e(\mathbf x) - sg[e] \parallel_2^2 }_{commitment \ \ loss} \qquad(7) L=reconstructions  loss logp(xzq(x)) +VQ loss sg[ze(x)ek]22+commitment  loss βze(x)sg[e]22(7)

其中, z e ( x ) z_e(\mathbf x) ze(x)表示编码器的输出, e e e表示嵌入空间, z q ( x ) z_q(\mathbf x) zq(x)表示 z e ( x ) z_e(\mathbf x) ze(x)在嵌入空间中最近的嵌入,sg 是停止梯度运算符。通过VQVAE,真值图可以被压缩到潜在空间中,提高生成效率并防止扩散模型过度训练图像像素。

在扩散模型的训练过程中,主要目标是最小化预测图像(或噪声)与其真值之间的重建距离。由于将 UNet 分支解耦,训练目标变成:

min ⁡ θ E q ( x 0 ) E q ( ϵ ) ( ∥ z θ − z ∥ 2 + ∥ ϵ θ − ϵ ∥ 2 ) ( 8 ) \min_\theta \mathbb E_{q(\mathbf x_0)} E_{q(\epsilon)}( \parallel \mathbf z_\theta - \mathbf z \parallel^2 + \parallel \epsilon_\theta - \epsilon \parallel^2)\qquad(8) θminEq(x0)Eq(ϵ)(zθz2+ϵθϵ2)(8)

其中, z θ \mathbf z_\theta zθ ϵ θ \epsilon_\theta ϵθ分别对应于图像分支和噪声分支。随后,模型被训练来分别预测图像和噪声。此外,为了实现更高水平的图像生成准确性,作者还引入了基线模型的损失作为辅助监督,包括语义分割的交叉熵损失和HDMapNet中提到的实例嵌入的判别损失。最终的目标函数将扩散模型的损失 L d i f f L_{diff} Ldiff与基线模型的辅助损失 L b a s e l i n e L_{baseline} Lbaseline结合,如公式9所示:

L = L d i f f + L b a s e l i n e ( 9 ) \mathcal L = \mathcal L_{diff} + \mathcal L_{baseline}\qquad(9) L=Ldiff+Lbaseline(9)

· 推理:

在推理阶段, x 0 \mathbf x_0 x0从一个带噪声的图像开始,并根据训练得到的参数进行迭代去噪。经过多次去噪迭代后得到 z 0 \mathbf z_0 z0,其中噪声变得可以忽略不计。随后,使用VQVAE的解码器将其从潜在空间解码回原始像素空间。对于去噪迭代中的采样,采用DDIM采样器来加速采样。具体通过以下方式从样本 x t \mathbf x_t xt生成样本 x t − 1 \mathbf x_{t-1} xt1

x t − 1 = α t − 1 ( x t − 1 − α t ϵ θ ( t ) ( x t ) α t ) ⏟ p r e d i c t e d x 0 + 1 − α t − 1 − σ t 2 ⋅ ϵ θ ( t ) ( x t ) ⏟ d i r e c t i o n p o i n t i n g t o x t + σ t ϵ t ⏟ r a n d o m n o i s e ( 10 ) \mathbf x_{t-1} = \sqrt{\alpha_{t-1}} \underbrace{(\frac{\mathbf x_t - \sqrt{1 - \alpha_t }\epsilon_\theta^{(t)}(\mathbf x_t)}{\sqrt{\alpha_t}})}_{predicted \ x_0} + \underbrace{\sqrt{1 - \alpha_{t-1} - \sigma_t^2 }\cdot \epsilon_\theta^{(t)} (\mathbf x_t)} _{direction \ pointing \ to \ \mathbf x_t} \ + \underbrace{\sigma_t \epsilon_t}_{random \ noise} \qquad(10) xt1=αt1 predicted x0 (αt xt1αt ϵθ(t)(xt))+direction pointing to xt 1αt1σt2 ϵθ(t)(xt) +random noise σtϵt(10)

其中, ϵ t ∼ N ( 0 , I ) \epsilon_t \sim \mathcal N(0, I) ϵtN(0,I)是与 x t \mathbf x_t xt独立的标准高斯噪声。 σ t \sigma_t σt是一个超参数,不同的 σ t \sigma_t σt值会导致不同的生成过程。当所有 t t t σ t = 0 \sigma_t=0 σt=0时,前向过程在给定 x t − 1 \mathbf x_{t-1} xt1 x 0 \mathbf x_0 x0时变得确定性,除了 t = 1 t=1 t=1;在生成过程中,随机噪声 ϵ t \epsilon_t ϵt前的系数变为零。 α t \alpha_t αt是信号率,等于公式(1)中提到的 1 − β t 1 - \beta_t 1βt

4. 实验过程

4.1 实验细节

· 数据集:

在nuScenes数据集上验证DiffMap。nuScenes数据集包含1000个场景的多视角图像和点云,其中700个场景用于训练,150个用于验证,150个用于测试。nuScenes数据集还包含注释的高清地图语义标签。

· 架构:

使用ResNet-101作为相机分支的主干网络,使用PointPillars作为模型的LiDAR分支主干网络。基线模型中的分割头是基于ResNet-18的FCN网络。对于自编码器,采用VQVAE,该模型在nuScenes分割地图数据集上进行了预训练,以提取地图特征并将地图压缩为基本潜在空间。最后使用UNet来构建扩散网络。

· 训练细节:

使用AdamW优化器训练VQVAE模型30个epoch。使用的学习率调度器是LambdaLR,它以指数衰减模式逐渐降低学习率,衰减因子为0.95。初始学习率设置为,批量大小为8。然后,使用AdamW优化器从头开始训练扩散模型30个epoch,初始学习率为2e-4。采用MultiStepLR调度器,该调度器根据指定的里程碑时间点(0.7、0.9、1.0)和在不同训练阶段的缩放因子1/3来调整学习率。最后将BEV分割结果设置为0.15m的分辨率,并将LiDAR点云体素化。HDMapNet的检测范围为[-30m,30m]×[-15m,15m]m,因此相应的BEV地图大小为400×200,而Superfusion使用[0m,90m]×[-15m,15m]并得到600×200的结果。由于LDM的维度约束(在VAE和UNet中下采样8倍),需要将语义地面实况地图的大小填充到64的倍数。

· 推理细节:

通过在当前BEV特征条件下对噪声地图执行去噪过程20次来获得预测结果。使用3次采样的平均值作为最终的预测结果。

4.2 评估指标

主要针对地图语义分割和实例检测任务进行平评估。且主要集中在三个静态地图元素上:车道边界、车道分隔线和行人横道。

· 语义指标:

使用IoU(交并比)作为预测HD地图M1和地面真值HD地图M2之间的欧拉指标,公式如下:

I o U ( M 1 , M 2 ) = M 1 ∩ M 2 M 1 ∪ M 2 ( 11 ) IoU(M_1, M_2) = \frac{M_1 \cap M_2 }{ M_1 \cup M_2}\qquad(11) IoU(M1,M2)=M1M2M1M2(11)

· 实例指标:

使用Chamfer距离(CD)评估预测曲线和地面真值曲线之间的空间距离。

C D d i r ( C 1 , C 2 ) = 1 C 1 ∑ x ∈ C 1 min ⁡ y ∈ C 2 ∥ x − y ∥ 2 ( 12 ) CD_{dir}(C_1,C_2) = \frac{1}{C_1}\sum\limits_{x \in C_1} \min\limits_{y \in C_2} \parallel x - y \parallel_2(12) CDdir(C1,C2)=C11xC1yC2minxy2(12)

其中C1和C2是预测曲线和地面真值曲线上的点集。典型的Chamfer距离是双向的,预测曲线和地面真值曲线之间的CD计算如下:

C D = C D p r e d + C D g t = C D d i r ( C 1 , C 2 ) + C D d i r ( C 2 , C 1 ) ( 13 ) CD = CD_{pred} + CD_{gt} = CD_{dir}(C_1,C_2) + CD_{dir}(C_2,C_1)\qquad(13) CD=CDpred+CDgt=CDdir(C1,C2)+CDdir(C2,C1)(13)

然后使用AP(平均精度)来衡量实例检测距离,定义如下:

A P = 1 10 ∑ r ∈ 0.1 , 0.2 , ⋯ , 1.0 A P r ( 14 ) AP = \frac{1}{10} \sum\limits_{r \in 0.1,0.2,\cdots,1.0} AP_{r}\qquad(14) AP=101r0.1,0.2,,1.0APr(14)

其中 A P r AP_r APr是召回率为 r r r时的精度。同时,使用CD和IoU来选择真阳性实例。只有当IoU高于一定阈值且CD低于另一个阈值时,该实例才被视为真阳性。实验中IoU阈值设为0.1,CD阈值设为1.0米。

· 多区间评估:

为了更好地探索 DiffMap 在远程检测方面的有效性,将地面真值进一步划分为三个区间:0-30 米、30-60 米和 60-90 米,以公平地与 SuperFusion 进行比较。随后,在这三个区间内,计算不同方法的 IoU、CD 和 AP,旨在全面评估检测结果。

4.3 评估结果

表1显示了语义地图分割的 IoU 得分比较。DiffMap 在所有区间都显示出显著的改善,尤其在车道分隔线和行人横道上取得了最佳结果。

在这里插入图片描述
表1|IoU得分比较©️【深蓝AI】编译

如表2所示,DiffMap方法在平均精度(AP)方面也有显著提升,验证了 DiffMap 的有效性。

在这里插入图片描述
表2|MAP得分比较©️【深蓝AI】编译

如表3所示,将DiffMap范式集成到HDMapNet中时,可以观察到,无论是仅使用摄像头还是摄像头-激光雷达融合方法,DiffMap都能提高HDMapNet的性能。这说明DiffMap方法在各类分割任务上都很有效,包括远距离和近距离检测。然而对于边界,DiffMap的表现并不出色,这是因为边界的形状结构不固定,存在许多难以预测的扭曲,从而使捕捉先验结构特征变得困难。

在这里插入图片描述
表3|定量分析结果©️【深蓝AI】编译

4.4 消融实验

表4显示了VQVAE中不同下采样因子对检测结果的影响。通过分析DiffMap在下采样因子为4、8、16时的行为可以看到,当下采样因子设置为8x时,结果最佳。

在这里插入图片描述
表4|消融实验结果©️【深蓝AI】编译

此外,作者还测量了删除与实例相关的预测模块对模型的影响,如表5所示。实验表明,添加此预测进一步提高了IOU。

在这里插入图片描述
表5|消融实验结果(是否包含预测模块)©️【深蓝AI】编译

4.5 可视化

图4展示了DiffMap和基线(HDMapNet-fusion)在复杂场景中的比较。很明显,基线的分割结果忽略了元素内部的形状属性和一致性。相比之下,DiffMap展示了能够纠正这些问题的能力,产生与地图规范很好对齐的分割输出。具体而言,在案例(a)、(b)、(d)、(e)、(h)和(l)中,DiffMap有效地纠正了不准确预测的人行横道。在案例(c)、(d)、(h)、(i)、(j)和(l)中,DiffMap完成或删除了不准确的边界,使结果更接近于现实的边界几何。此外,在案例(b)、(f)、(g)、(h)、(k)和(l)中,DiffMap解决了分隔线断裂的问题,确保了相邻元素的平行性。

在这里插入图片描述
图4|定性分析结果©️【深蓝AI】编译

5. 总结展望

在本文中,作者设计的DiffMap网络是一种利用潜在扩散模型学习地图结构先验的新方法,从而增强了传统的地图分割模型。该方法可以作为任何地图分割模型的辅助工具,其预测结果在远近距离检测场景中都有显著改善。由于该方法具有很强的扩展性,适合研究其他类型的先验信息,例如可以将SD地图先验集成到DiffMap的第二模块中,从增强其性能表现。将来有望在矢量化地图构建中继续有所进步。

编译|巴巴塔

审核|Los

移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态。

相关文章:

DiffMap:首个利用LDM来增强高精地图构建的网络

论文标题: DiffMap: Enhancing Map Segmentation with Map Prior Using Diffusion Model 论文作者: Peijin Jia, Tuopu Wen, Ziang Luo, Mengmeng Yang, Kun Jiang, Zhiquan Lei, Xuewei Tang, Ziyuan Liu, Le Cui, Kehua Sheng, Bo Zhang, Diange Ya…...

ComfyUI简单介绍

🍓什么是ComfyUI ComfyUI是一个为Stable Diffusion专门设计的基于节点的图形用户界面,可以通过各种不同的节点快速搭建自己的绘图工作流程。 软件打开之后是长这个样子: 同时软件本身是github上的一个开源项目,开源地址为&#…...

【内存泄漏Bug】animation未释放

问题描述 一个页面做了动画特效,这个页面有可能跳转到其他页面,并长时间不返回,该页面此时已经不活跃了,该页面的对象为无用对象,存在内存泄漏风险 问题分析 这个activity的特性是 1. 有可能跳转到其他页面 2. 有可…...

《异常检测——从经典算法到深度学习》28 UNRAVEL ANOMALIES:基于周期与趋势分解的时间序列异常检测端到端方法

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …...

Python正则模块re方法介绍

Python 的 re 模块提供了多种方法来处理正则表达式。以下是一些常用的方法及其功能介绍: 1. re.match() 在字符串的开始位置进行匹配。 import repattern r\d string "123abc456"match re.match(pattern, string) if match:print(f"匹配的字符…...

pdf使用pdfbox切割pdf文件MultipartFile

引入依赖&#xff1a; <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.25</version></dependency>测试代码&#xff1a; import io.choerodon.core.iam.ResourceLevel; impo…...

力扣HOT100 - 31. 下一个排列

解题思路&#xff1a; 数字是逐步增大的 步骤如下&#xff1a; class Solution {public void nextPermutation(int[] nums) {int i nums.length - 2;while (i > 0 && nums[i] > nums[i 1]) i--;if (i > 0) {int j nums.length - 1;while (j > 0 &&…...

设计模式 20 中介者模式 Mediator Pattern

设计模式 20 中介者模式 Mediator Pattern 1.定义 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为型设计模式&#xff0c;它通过封装对象之间的交互&#xff0c;促进对象之间的解耦合。中介者模式的核心思想是引入一个中介者对象&#xff0c;将系统中对象之间…...

在 C++ 中,p->name 和 p.name 的效果并不相同。它们用于不同的情况,取决于你是否通过指针访问结构体成员。

p->name&#xff1a;这是指针访问运算符&#xff08;箭头运算符&#xff09;。当 p 是一个指向结构体的指针时&#xff0c;用 p->name 来访问结构体的成员。 student* p &stu; // p 是一个指向 student 类型的指针 cout << p->name << endl; // 通过…...

C++基础:多态

多态相关 多态继承重写父类的虚函数多态的体现,父类的引用指向子类对象的空间虚函数可以实现,也可以不实现,不实现必须要有初始值存在未定义的虚函数的类为抽象类.抽象类不能实例化对象;(animal父类不能实例化对象)如果父类中的函数非虚函数,则会调用父类中的函数//多态的体现…...

移除元素(算法题)

文章目录 移除元素解题思路 移除元素 给你一个数组 nums 和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。…...

电商场景的视频动效

AtomoVideo:AIGC赋能下的电商视频动效生成本文分享阿里妈妈视频 AIGC(AtomoVideo等) 赋能视频广告创意的探索和实践。通过基于扩散模型的视频生成技术,结合可控生成技术,使静态电商图片能够栩栩如生地“动”起来,实现了在电商领域的视频 AIGC 应用落地。https://mp.weixi…...

Windows操作系统基本知识整理

目录 引言 一、Windows操作系统的发展历史 1.1 Windows 1.0到Windows 3.0 1.2 Windows 95到Windows Me 1.3 Windows NT到Windows 2000 1.4 Windows XP到Windows 7 1.5 Windows 8到Windows 10 二、Windows操作系统的核心组件 2.1 内核 2.2 文件系统 2.3 图形用户界面&…...

Vue 状态管理深入研究:Vuex 和 Pinia 的原理与实践对比

推荐一个AI网站&#xff0c;免费使用豆包AI模型&#xff0c;快去白嫖&#x1f449;海鲸AI &#x1f44b; 引言 在 Vue.js 应用程序中&#xff0c;状态管理是一个至关重要的方面。它有助于集中管理应用的状态&#xff0c;使组件之间的数据共享更加高效和可维护。Vuex 和 Pinia …...

【三数之和】python,排序+双指针

暴力搜索3次方的时间复杂度&#xff0c;大抵超时 遇到不会先排序 排序双指针 上题解 照做 class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]:res[]nlen(nums)#排序降低复杂度nums.sort()k0#留两个位置给双指针i,jfor k in range(n-2):if nums[k]…...

TCP通信实现(服务端与客户端)

TCP通信实现&#xff08;服务器端) 案例 // TCP 通信的服务器端#include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> #include <stdlib.h>int main() {// 1.创建socket(用于监听的套接字)int lfd socket(AF_…...

安装appium自动化测试环境,我自己的版本信息

教程来自&#xff1a;Appium原理与安装 - 白月黑羽 我的软件的版本&#xff1a; 安装是选择为自己安装而不是选all user pip install appium-python-client命令在项目根目录下安装appium-python-client sdk的话最简单的安装方式就是去Android官网下一个android studio然后在…...

【讲解下Web前端三大主流的框架】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

视频监控平台AS-V1000产品介绍:账户或用户数据的导入和导出功能介绍

目录 一、功能描述 &#xff08;一&#xff09;导入功能定义 &#xff08;二&#xff09;导出功能定义 二、用户数据的导入导出的作用 三、AS-V1000新版本的导出和导入功能介绍 &#xff08;一&#xff09;功能主界面 &#xff08;二&#xff09;导出功能 1、导出操作 …...

markdown画时序图的时候,如何自动显示每一条时序的序号

1: 现象描述 今天画时序图的时候&#xff0c;发现时序上面没有显示序号&#xff0c;看起来不够清晰&#xff0c;只有单纯的说明; 如下图所示 刚测试CSDN的时序图&#xff0c;默认是带序号的&#xff0c;看起来和实际使用的markdown工具有关系&#xff1b; 2&#xff1a;解决办…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...