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

SemCity: 一个应用于真实户外环境场景生成的3D Diffusion模型

论文标题:

SemCity: Semantic Scene Generation with Triplane Diffusion

论文作者:

Jumin Lee1, Sebin Lee1, Changho Jo, Woobin Im, Juhyeong Seon, Sung-Eui Yoon

项目地址:https://sglab.kaist.ac.kr/SemCity/

前言:

该论文已被CVPR24接收,提出了一个可用于户外真实场景的生成的三维扩散模型。其利用Triplane
Diffusion方法,不仅出色完成户外真实场景的生成,还可以无缝的进行场景生成等的扩展任务(如:Scene Inpainting,Scence Outpainting,语义场景完成细化)。©️【深蓝AI】编译

1. 背景介绍

扩散(Diffusion)模型是当前主流的场景生成工具,尤其在图像领域取得了很好的效果。当前无论是学术界还是工业界,都在积极探索扩散模型在三维数据(3D data)生成领域的应用场景,并且有些扩散模型在生成各种三维形式(如体素、网格)方面也有不俗的表现。尽管这些三维扩散模型主要旨在制作单个物体,但生成由多个物体组成的场景仍然是三维扩散暂未探索到的领域。

场景生成扩散模型旨在制作几何和语义上协调一致的环境。与单个物体生成相比,生成包含多个物体的场景,由于其空间范围更广,需要对更复杂的几何和语义结构有更深入的理解。场景生成扩散模型主要有两个方向,分别针对室内和户外环境。特别是户外环境比室内环境具有更广阔的景观,但同时挑战更大。

在本文中,作者提出了SemCity方法,它是一种用于实际户外环境语义场景生成的三维扩散模型。具体来说,SemCity利用三平面表示(Triplane Representation)来处理更广阔的户外场景,这是一种将三维数据分解到三个正交二维平面上的方法,已经被广泛应用于三维物体重建和NeRF模型中。三平面表示方法在解决户外数据集中通常存在的数据稀疏问题(这是由于传感器限制,譬如遮挡、范围限制等在捕捉户外场景时造成的)方面有一定的优势,它可以通过将三维数据分解到二维平面来减少不必要的空白信息的包含。

这种捕捉相关空间细节的效率使其成为表示户外环境中通常存在的众多物体的有效工具。

在本文中,作者通过重建场景的语义标签,利用一个三平面自编码器学习将体素化场景压缩为三平面表示。此外,研究者还训练三平面扩散模型并用于生成新场景,如图1(a)所示, 通过基于高效表示创建新的三平面。且其能够将三平面扩散模型扩展到几个实际任务(即场景修复、场景扩展和语义场景完成细化),如图1(b-d)所示。

在这里插入图片描述
图1|SemCity 扩散模型户外场景生成概览©️【深蓝AI】编译

本文主要贡献:

●作者揭示了三平面表示在生成实际户外环境的语义场景中的适用性,并将其扩展到场景修复、场景扩展和语义场景完成细化等实际下游任务。

●同时提出在扩散过程中操作三平面特征,无缝地将该方法扩展到下游任务(如添加、删除或修改场景中的物体)。

●明了该方法在真实户外环境中显著提高了生成场景的质量。

2. 相关工作

2.1 扩散模型

通过基于评分函数的迭代去噪过程学习数据分布。其生成的结果在各种2D图像合成任务中展现了非常逼真的外观、高保真度和多样性,如outpainting、inpainting和文本到图像生成。在这些基础上,扩散模型也被扩展到3D领域,在各种3D形状中生成了不错的结果,包括体素网格、点云、网格和隐式函数。虽然这些模型可以制作单个3D物体,但SemCity专注于使用分类体素数据结构生成由多个物体组成的3D场景,这是3D扩散领域相对较少探索的领域。

2.2 场景生成的扩散模型

与单个物体生成相比,场景生成涉及对更大3D空间的理解,导致更多语义和几何复杂性。在室内环境中,扩散模型旨在通过表示为场景图来学习对象之间关系的分布。场景图包含对象属性(如位置、方向和大小),捕捉有限空间内复杂的对象间关系。对于户外场景,不同的是它通常包含大量空旷区域(如天空、开放区域)。传统方法依赖于体素空间上的离散扩散方法,需要对每个空气体积进行详细表示,而SemCity是通过将3D空间抽象为三个正交的2D平面,三平面表示有效地捕捉了以空气为主的户外环境的广阔性。

2.3 3D Inpainting and Outpainting

3D Inpainting的主要目标是填补缺失部分或修改现有元素,同时保持几何一致性。大多数现有工作集中在单个物体修复,例如将3D椅子的腿数从三个过渡到四个。与修复相反,3D Outpainting是在未观察到的空间外推给定的场景。现有工作专注于在有界的室内环境内进行场景外推。而在2D图像中,修复和外推并不限于单个物体。同样地,在3D空间中,本文更关注场景级修复,SemCity可以无缝地添加、删除或修改场景中的物体。此外,本文的场景级Outpainting不局限于有界的场景,可以从传感器范围(如LiDAR)扩展到城市规模的户外场景。

2.4 语义场景完成

语义场景完成(Semantic Scene Completion: SSC)对于3D场景理解至关重要,它从传感器观测(如RGB图像或点云)中共同推断3D场景的完成和语义分割。此外,SSC在支持全面自主导航系统的关键下游任务(如路径规划和地图构建)中发挥关键作用。尽管该领域取得了重大进展,但一个持续的挑战是SSC估计的场景与其真实对应物之间存在语义和几何差异,如图1©所示。这些差异可能会损害下游任务的性能。本文的三平面扩散模型可以通过利用3D场景先验来帮助弥合这一差距。这种方法提高了SSC的可靠性和有效性,预计将改善其在自主导航系统中的应用。

3. 方法精析

本节重点阐述SemCity中的三平面扩散模型及其扩展。

在这里插入图片描述
图2|SemCity工作原理©️【深蓝AI】编译

3.1 Representing a Semantic Scene with Triplane

为了将3D场景表示为三平面,自编码器学习将3D场景压缩为如图2(a)所示的三平面表示。自编码器由两个模块组成:

1)一个编码器 f θ f_{\theta} fθ,产生一个三平面

2)一个隐式多层感知机(MLP)解码器 g θ g_{\theta} gθ,用于从三平面重建。

编码器 f θ f_{\theta} fθ接受一个体素化的场景 x = R X × Y × Z \mathbf x = \mathbb R^{X \times Y \times Z } x=RX×Y×Z,其中包含 N N N个类别,空间网格分辨率为 X × Y × Z X \times Y \times Z X×Y×Z。它产生一个轴对齐的三平面表示 h = [ h x y , h x z , h y z ] \mathbf h = [\mathbf h^{xy}, \mathbf h^{xz}, \mathbf h^{yz}] h=[hxy,hxz,hyz]。三平面由三个平面组成,每个平面都有不同的维度特性: h x y ∈ R C h × Y h × Z h , h x z ∈ R C h × Y h × Z h \mathbf h^{xy} \in \mathbb R^{C_h \times Y_h \times Z_h},\mathbf h^{xz} \in \mathbb R^{C_h \times Y_h \times Z_h} hxyRCh×Yh×Zh,hxzRCh×Yh×Zh h y z ∈ R C h × Y h × Z h \mathbf h^{yz} \in \mathbb R^{C_h \times Y_h \times Z_h} hyzRCh×Yh×Zh,其中 C h C_h Ch表示特征维度 X h 、 Y h X_h、Y_h XhYh Z h Z_h Zh表示三平面的空间维度。在编码阶段,通过3D卷积层从场景 x \mathbf x x中提取3D特征体积,然后通过轴向平均池化得到三平面。给定3D坐标 p = ( x , y , z ) \mathbf p = (x, y, z) p=(x,y,z),三平面被解释为从每个平面双线性插值的向量之和: h ( p ) = h x y ( x , y ) + h x z ( x , z ) + h y z ( y , z ) \mathbf{h(p)} = \mathbf h^{xy}(x, y) + \mathbf h^{xz}(x, z) + \mathbf h^{yz}(y, z) h(p)=hxy(x,y)+hxz(x,z)+hyz(y,z)。为了重建3D场景 x \mathbf x x,通过使用隐式MLP解码器 g θ g_{\theta} gθ解码编码的三平面 h \mathbf h h,该解码器预测语义类概率。解码器采用三平面向量 h ( p ) \mathbf {h(p)} h(p)及其正弦位置编码 P E ( p ) {PE}(\mathbf p) PE(p),得到类概率 c ( p ) = g θ ( h ( p ) , P E ( p ) ) ∈ [ 0 , 1 ] N \mathbf {c(p)} = g_{\theta}(\mathbf{h(p)}, {PE}(\mathbf p)) \in [0, 1]^{N} c(p)=gθ(h(p),PE(p))[0,1]N。位置编码根据坐标 p \mathbf p p产生高频特征,有助于隐式解码器表示高频场景内容。编码器 f θ f_{\theta} fθ和MLP解码器 g θ g_{\theta} gθ使用自编码器损失 L A E \mathcal L_{AE} LAE和场景标签 x ( p ) \mathbf {x(p)} x(p)进行训练,如公式(1)所示,其中 λ \lambda λ是损失权重, P \mathcal P P是场景网格坐标集合,并使用加权交叉熵损失 ℓ C E \ell_{CE} CE和Lovász-softmax损失 ℓ L Z \ell_{LZ} LZ来学习场景中不平衡的语义分布。

L A E = E p ∼ P [ ℓ C E ( c ( p ) , x ( p ) + λ ℓ L Z c ( p ) , x ( p ) ) ] ( 1 ) \mathcal L_{AE} = \mathbb E_{\mathbf p \sim \mathcal P}[\ell_{CE}(\mathbf{c(p), x(p)} + \lambda \ell_{LZ}\mathbf{c(p), x(p)}) ]\qquad(1) LAE=EpP[CE(c(p),x(p)+λLZc(p),x(p))](1)

3.2 Triplane Diffusion

基于3D语义场景的三平面表示,其中三平面扩散模型 D ϕ D_{\phi} Dϕ通过去噪扩散概率模型学习生成新的三平面,如图2(b)所示。这种三平面生成最终通过使用隐式MLP解码器 g θ g_{\theta} gθ解码生成的三平面来生成3D场景。通过参数化,扩散模型 D ϕ D_{\phi} Dϕ被训练去重建给定其从扩散过程 q ( h t ∣ h ) = N ( α ˉ h , ( 1 − α ˉ t ) I ) q(\mathbf h_{t}|\mathbf h) = \mathcal N (\sqrt{ \bar{\alpha}}\mathbf h, (1 - \bar{\alpha}_t)I) q(hth)=N(αˉ h,(1αˉt)I)中采样的受损三平面 h t \mathbf h_{t} ht,其中 N \mathcal N N是高斯分布, α ˉ t = ∏ i = 1 t α i , α t = 1 − β t , β t \bar{\alpha}_t = \prod\limits_{i=1}^t \alpha_i,\alpha_t = 1 - \beta_t,\beta_t αˉt=i=1tαi,αt=1βt,βt是方差时间表。扩散过程 q ( h t ∣ h ) q(\mathbf h_{t}|\mathbf h) q(hth)是从单步扩散过程 q ( h t ∣ h t − 1 ) = N ( 1 − β t h t − 1 , β t I ) q(\mathbf h_{t}|\mathbf h_{t-1}) = \mathcal N (\sqrt{1-\beta_t}\mathbf h_{t-1}, \beta_tI) q(htht1)=N(1βt ht1,βtI)导出的马尔可夫链规则。因此,三平面扩散损失定义为:

L D = E t ∼ U ( 1 , T ) ∥ h − D ϕ ( h t , t ) ∥ p ( 2 ) \mathcal L_D = \mathbb E_{t \sim \mathcal U(1, T)} \parallel \mathbf h - D_\phi(\mathbf h_t, t)\parallel_p\qquad(2) LD=EtU(1,T)hDϕ(ht,t)p(2)

其中 T T T是去噪步数, p p p表示范数的阶。时间步长 t t t从离散均匀分布 U \mathcal U U中采样。训练后,扩散模型 D ϕ D_{\phi} Dϕ通过从 h T ∼ N ( 0 , I ) \mathbf h_T \sim \mathcal N(0, I) hTN(0,I)开始的迭代DDPM生成过程生成新的三平面 h 0 \mathbf h_0 h0

h t − 1 ∼ N ( γ t h t + δ t D ϕ ( h t , t ) , β t 2 I ) ( 3 ) \mathbf h_{t-1} \sim \mathcal N(\gamma_t \mathbf h_t + \delta_tD_\phi(\mathbf h_t, t), \beta_t^2\mathbf I)\qquad(3) ht1N(γtht+δtDϕ(ht,t),βt2I)(3)

其中 γ t : = α t ( 1 − α ˉ t − 1 ) / ( 1 − α ˉ t ) , δ t : = α t − 1 β ˉ t / ( 1 − α ˉ t ) \gamma_t := {\sqrt{\alpha_t}(1 - \bar{\alpha}_{t-1})}/{(1 - \bar{\alpha}_{t} )},\delta_t := {\sqrt{\alpha_{t-1}}\bar{\beta}_{t}}/{(1 - \bar{\alpha}_{t} )} γt:=αt (1αˉt1)/(1αˉt),δt:=αt1 βˉt/(1αˉt)。从生成的三平面 h 0 \mathbf h_0 h0,通过查询坐标 p \mathbf p p到隐式解码器 g θ ( p 0 ( p ) , P E ( p ) ) g_\theta(\mathbf p_0(\mathbf p), PE(\mathbf p)) gθ(p0(p),PE(p))来生成新的3D语义场景 x 0 x_0 x0

3.3 Applications with Triplane Manipulation

如上所述,基于三平面扩散过程允许模型在进行少量修改的情况下促进各种实际的下游任务。

Scene Inpainting:通过随机编辑3D场景,无缝地添加、修改或删除物体,同时保持场景的一致性和真实性。例如,修复包括汽车或人行道出现然后消失,或者相反的情况,如图1(d)所示。受到RePaint采样策略的启发,本文提出了一种具有语义一致性的3D感知修复方法。不同于RePaint只专注于图像域,而没有明确考虑底层3D场景的保真度。为了实现3D感知修复,作者对三平面进行修复,作为场景的紧凑代理表示。SemCity方法定义了一个二进制空间遮罩 m = [ m x y , m x z , m y z ] \mathbf m = [\mathbf m^{xy}, \mathbf m^{xz}, \mathbf m^{yz} ] m=[mxy,mxz,myz],覆盖三平面空间上的修复区域,允许控制生成过程中的遮罩区域。遮罩 m / \mathbf m/ m/被设置为修复区域为1,其他区域为0。通过覆盖生成过程(公式3)中的第 t t t个三平面 h t = [ h t x y , h t x z , h t y z ] \mathbf h_t = [\mathbf h_t^{xy}, \mathbf h_t^{xz}, \mathbf h_t^{yz} ] ht=[htxy,htxz,htyz],如公式4所示。

h t ← m ⊗ h t + ( 1 − m ) ⊗ h t k n o w n ( 4 ) \mathbf h_t \leftarrow \mathbf m \ \otimes \ \mathbf h_t + (1 - \mathbf m) \otimes \mathbf h_t^{known}\qquad(4) htm  ht+(1m)htknown(4)

其中 ⊗ \otimes 是元素级乘积,完整区域的已知三平面 h t k n o w n \mathbf h_t^{known} htknown是从扩散过程 q ( h t k n o w n ∣ h ) : = q ( h t ∣ h ) q(\mathbf h_t^{known} | \mathbf h) := q(\mathbf h_t | \mathbf h) q(htknownh):=q(hth)中采样的,它遵循已知的高斯分布。

Scene Outpainting: 在不需要额外训练的情况下扩展了3D场景的边界,就像修复一样。为了无缝地外推场景,被扩展的区域应该以原始场景为条件。为了覆盖需要外推的区域,扩散模型生成了一个部分重叠于原始三平面的新三平面,通过使用遮罩 m \mathbf m m和已知三平面 h t k n o w n \mathbf h_t^{known} htknown的概念来实现这一点。遮罩 m \mathbf m m覆盖需要外推的区域,而 h t k n o w n \mathbf h_t^{known} htknown是从原始和外推区域之间三平面的交集中获得的。基于外推策略,可以沿着主要和次要方向扩展给定的场景,从而创造出无边界的场景。虽然三平面扩散模型是使用固定大小的三平面训练的,但它展示了将场景扩展到比原始场景大几倍的能力,如图1©所示。

Semantic Scene Completion Refinement: SSC模型从传感器观测(如图像或点云)中完成和分割3D场景。与数据分布相比,SSC结果存在几何和语义上的差异,如图1(b)所示。通过扩展了三平面扩散模型,以减少这种差异,对SSC模型的预测进行细化。为了有效地将三平面扩散方案与SSC模型的预测 x s c c \mathbf x^{scc} xscc相结合,可以利用由三平面编码器 f θ f_\theta fθ导出的它的三平面表示 h s c c = f θ ( x s c c ) \mathbf h^{scc} = f_\theta(\mathbf x^{scc}) hscc=fθ(xscc)。通过对扩散损失(公式2)和 生成过程(公式3)中的三平面 h t \mathbf h_{t} ht进行简单修改来扩展三平面扩散方案,如公式5所示。

h t = h t s c c ⊗ h s c c ( 5 ) \mathbf h_{t} = \mathbf h_t^{scc} \otimes \mathbf h^{scc}\qquad(5) ht=htscchscc(5)

其中 ⊗ \otimes 是连接操作, h t s c c \mathbf h_t^{scc} htscc是通过DDPS扩散过程以SSC预测的三平面 h s c c \mathbf h^{scc} hscc为条件采样的第 t t t个扩散三平面。

4. 实验

4.1 实验细节

训练数据集: 实验在SemanticKITTI和CarlaSC数据集上进行验证。其中SemanticKITTI提供了20个语义类别的真实户外环境的3D语义场景标注。每个场景由256×256×32的体素网格表示,覆盖了车前51.2米、车侧各51.2米、高度6.4米的区域。该数据集保留了传感器帧集成产生的物体运动痕迹,用于建立密集的地面真值。相比之下,CarlaSC是一个合成数据集,提供了11个语义类别的3D语义户外场景,没有移动物体的痕迹。该数据集包含128×128×8的体素网格,覆盖了车前后25.6米、车侧各25.6米、高度3米的区域。

实现细节: 实验部署在单个RTX3090 GPU上,三平面自编码器的批量大小为4,三平面扩散模型的批量大小为18。对于三平面自编码器,输入场景被编码为空间分辨率 ( X h , Y h , Z h ) = ( 128 , 128 , 32 ) (X_h,Y_h, Z_h) = (128,128,32) (Xh,Yh,Zh)=(128,128,32)、特征维度 C h = 16 C_h=16 Ch=16的三平面。公式1中的损失权重 λ \lambda λ设为1.0。公式2中范数 p p p的阶数对于SSC细化设为1,其他情况设为2。在扩散过程中,使用默认设置,共100个时间步( T T T)。对于三平面inpainting和outpainting,作者采用了RePaint采样策略作为参考,进行5次重采样和20的跳跃步长。

评估指标: 通过检查渲染图像中3D语义场景的多样性和保真度来评估语义场景生成的性能。并使用召回率评估多样性,使用精确度和Inception Score(IS)评估保真度;以及使用Fr ́echet Inception Distance(FID) 和Kernel Inception Distance(KID) 指标,用来反映多样性和保真度对场景质量的综合影响。在语义场景完成(SSC)细化性能方面,使用交并比(IoU)指标量化场景完整性,使用平均IoU(mIoU)度量语义分割质量。

4.2 语义场景生成

如图3所示,SemCity展示了即使在真实数据集上也能有效合成详细场景的能力。它在准确捕捉CarlaSC数据集上复杂建筑物形状方面表现优于SSD。此外,该方法在生成SemanticKITTI数据集上道路和建筑物的整体轮廓以及细节方面也表现出卓越的能力。表1提供了使用各种指标的详细比较评估。SemCity模型在生成场景的保真度和多样性方面都显示出显著改进。此外,如图4所示,其生成的结果不受固定分辨率的限制,这得益于隐式神经表示。更多结果请参见原论文提供的补充材料。

在这里插入图片描述
图3|SemCity在SemanticKITTI和CarlaSC数据集上的定性比较©️【深蓝AI】编译

在这里插入图片描述
图4|高分辨的场景生成©️【深蓝AI】编译

在这里插入图片描述
表1|语义场景生成结果©️【深蓝AI】编译

4.3 Triplane Diffusion的应用

Scene Inpainting: 如图5所示,SemCity展示了在修复场景中小区域和大区域时的有效性,同时保持3D上下文的一致性。具体而言,a和b第二行说明了该模型无缝删除车辆的能力,与相邻的道路协调一致。第三行展示了插入新实体(a中的一辆车,b中的一个人)的能力,这些实体与参考场景的上下文一致。图5(a)中的第四行展示了该模型在修改和添加场景中车辆的双重功能,第五行突出了该模型修改场景的熟练程度。在这里,该模型改变了现有的场景组件,展示了它改变整个场景氛围的能力。这些结果表明,SemCity模型不仅擅长物体级别的修复,也擅长场景级别的修复。

在这里插入图片描述
图5|Scene Inpainting效果图©️【深蓝AI】编译

Scene Outpainting: 图6展示了生成的外推城市级场景,将256×256×32的场景扩展到大规模的1792×3328×32景观,结果显示SemCity展示了在大范围内保持一致性的能力。

在这里插入图片描述
图6|Scene Outpainting效果图©️【深蓝AI】编译

Semantic Scene Completion Refinement: 在图7中,现有语义场景完成(SSC)方法预测的场景与其真实场景对应物之间存在明显的语义和几何差异。SemCity模型通过利用3D场景先验来弥补这一差距,这种先验通过作者的扩散模型得到有效建模。虽然SSC模型显示出与真实世界数据分布的差异,但SemCity模型显示出将这些差异更紧密地与现实对齐的潜力。如表2所示,SemCity的SSC细化过程似乎为所有最先进的SSC模型提供了改进。这些初步结果表明,SemCity模型不仅能提供更准确的语义分割,还能提供更完整的场景。

在这里插入图片描述
图7|语义场景完成效果图©️【深蓝AI】编译

在这里插入图片描述
表2|Refining SSC的定量结果©️【深蓝AI】编译

Semantic Scene to RGB Image: 如图8所示,通过进行图像到图像的生成实验。语义地图在没有阴影的驾驶视角下呈现,用作ControlNet的输入。生成的RGB图像在几何和语义上都是合理的,但由于预训练的ControlNet未在实际自动驾驶数据集上训练,因此仅显示出一定的合成质量。

在这里插入图片描述
图8|语义场景到RGB图像©️【深蓝AI】编译

4.4 消融实验

如表3所示,作者也对三平面扩散模型进行了消融研究,其中重点关注两个关键设计元素:

位置嵌入 ——SemCity的变体排除了位置嵌入( P E PE PE),这会产生对于详细场景重建至关重要的高频特征。其缺失导致了所有指标的性能下降。

三平面表示 ——另外作者也评估了三平面表示在真实户外场景生成中的有效性。与3D特征相比,三平面和 x y xy xy平面可以提高生成质量,而 x y xy xy平面的性能低于三平面。可能的原因,过度的因子化限制了 x y xy xy平面相对于三平面的表示能力。

在这里插入图片描述
表3|场景生成的消融实验结果©️【深蓝AI】编译

4.5 局限性

尽管Semcity模型在3D真实户外场景生成方面取得了显著进展,但它本质上反映了训练数据的特点。这种依赖性带来了一些局限性。一个明显的挑战是模型难以准确描绘传感器视角下被遮挡的区域,如建筑物的后侧,这常常导致这些区域在生成的场景中表现不完整。此外,由于数据集是从驾驶视角捕获的,因此无法完全捕捉建筑物的全高。这导致场景中建筑物和其他高大元素的垂直结构只能部分表现。另一个问题是,模型倾向于产生来自数据集预处理合并连续帧的移动物体痕迹。

5. 总结

在本文中,作者提出SemCity的扩散框架,用于真实户外场景生成。其核心思想是通过将真实户外场景分解为三平面表示来生成场景。它借助三平面表示优于传统的体素方法的特点,生成的场景不仅视觉上更吸引人,在语义细节方面也更丰富,有效地捕捉了场景中各种物体的复杂性,而且由于引入隐式神经表示,该方法也不受固定分辨率的限制。另外,通过扩展三平面扩散模型的功能,SemCity模型不仅可以应用于scene inpainting、scene outpainting和语义场景完成细化等方面,还可以使用3D先验知识更好地将现有语义场景完成方法预测的场景与实际数据分布进行对齐。

编译|巴巴塔

审核|Los

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

相关文章:

SemCity: 一个应用于真实户外环境场景生成的3D Diffusion模型

论文标题: SemCity: Semantic Scene Generation with Triplane Diffusion 论文作者: Jumin Lee1, Sebin Lee1, Changho Jo, Woobin Im, Juhyeong Seon, Sung-Eui Yoon 项目地址:https://sglab.kaist.ac.kr/SemCity/ 前言: 该论…...

鸿蒙内核源码分析(互斥锁篇) | 互斥锁比自旋锁丰满多了

内核中哪些地方会用到互斥锁?看图: 图中是内核有关模块对互斥锁初始化,有文件,有内存,用消息队列等等,使用面非常的广.其实在给内核源码加注的过程中,会看到大量的自旋锁和互斥锁,它们的存在有序的保证了内核和应用程序的正常运行.是非常基础和重要的功能. 概述 自旋锁 和…...

MySQL之查询 拿下 * 。*

DQL数据查询语言 对上述的的查询操作进行代码演示(续上一篇学生表代码进行处理) 下面是上一篇的代码分享 下面进行简单的查询操作 字符串如果强行进行算数运算默认只为0 查询时常用的单行函数列举 未完待续...

目标检测(二阶段)领域,常见词汇

1、Backbone(主干网络) 定义: Backbone是目标检测模型的基础部分,通常是一个预训练的卷积神经网络(如ResNet、VGG、MobileNet等),负责从输入图像中提取多层特征图。这些特征图包含了不同尺度和抽象级别的信…...

区块链与人工智能哪个更有前景?

一、引言 随着科技的飞速发展,区块链技术和人工智能(AI)无疑是两大热门领域,各自以其独特的魅力吸引着全球的关注。两者虽源自不同的技术基础,却都预示着未来技术发展的无限可能。本文旨在探讨区块链与人工智能各自的前…...

计算机网络【应用层】邮件和DNS

文章目录 电子邮件DNSDNS提供的服务:域名分级域名解析流程DNS资源记录DNS服务器类型 电子邮件 使用SMTP协议发送邮件之前,需要将二进制多媒体数据编码为ASCII码SMTP一般不使用中间邮件服务器发送邮件,如果收件服务器没开机,那么会…...

js遍历数组将数组中属性名相同的属性值组成新的数组再转化成字符串并换行(js换行和html换行不同)

{label: 告警结果,display:true, html:true,formatter:(row)>{let list ""if(row.funRes&&row.funRes.length){let propName value; list row.funRes.map(obj > {return <span style"vertical-align: text-top;padding-right: 2px;">…...

Ai绘画|如何安装使用秋叶comfyui整合包,手把手详细教程

B 站的秋叶大佬在 1 月份就已经发布了 comfy ui 的整合包。用户将压缩包下载后&#xff0c;能够一键启动 comfy ui。其便利性与之前的 webui 整合包如出一辙。然而在整合包下载完成后&#xff0c;新手或许会遭遇插件以及模型缺失的情况&#xff0c;同时也不清楚该如何运行工作流…...

【React】React-redux多组件间的状态传递

效果&#xff08;部分完整代码在最底部&#xff09;&#xff1a; 编写 Person 组件 上面的 Count 组件&#xff0c;已经在前面几篇写过了&#xff0c;也可以直接翻到最底部看 首先我们需要在 containers 文件夹下编写 Person 组件的容器组件 首先我们需要编写 index.jsx 文件…...

XSS-Labs 靶场通过解析(上)

前言 XSS-Labs靶场是一个专门用于学习和练习跨站脚本攻击&#xff08;XSS&#xff09;技术的在线平台。它提供了一系列的实验场景和演示&#xff0c;帮助安全研究人员、开发人员和安全爱好者深入了解XSS攻击的原理和防御方法。 XSS-Labs靶场的主要特点和功能包括&#xff1a;…...

开源版本管理系统的搭建一:SVN服务端安装

作者&#xff1a;私语茶馆 1.Windows搭建SVN版本管理系统 点评&#xff1a;SVN本身非常简洁易用&#xff0c;VisualSVN文档支撑非常好&#xff0c;客户端TortoiseSVN非常专业。5星好评。 1.1.SVN概要和组成 背景介绍 Svn是一个开源版本管理系统&#xff0c;由CollabNet公司…...

Fastfetch一个类似neofetch的系统信息工具软件

1. 使用默认配置运行&#xff1a;fastfetch 2. 使用所有支持的模块运行&#xff0c;并找到您感兴趣的内容&#xff1a;fastfetch -c all.jsonc 3. 查找 fastfetch 检测到的所有数据&#xff1a;fastfetch -s <模块> --format json 4. 显示帮助信息&#xff1a;fastfetch …...

DV试验和PV试验介绍

1 基本介绍 DV试验 DV试验&#xff0c;全称Design Verification Test&#xff0c;又称设计验证试验&#xff0c;是指在产品设计阶段&#xff0c;对产品的设计进行验证的一种试验方法。DV试验的主要目的是为了验证产品的设计是否满足功能和性能要求&#xff0c;并找出设计中的…...

RTT PIN设备学习

获取GPIO编号 GET_PIN(port, pin)#define LED_BLUE_PIN GET_PIN(A, 0)设置引脚模式 void rt_pin_mode(rt_base_t pin, rt_base_t mode);设置引脚电平 void rt_pin_write(rt_base_t pin, rt_base_t value);rt_base_t pin 同上&#xff0c; 为引脚编号&#xff0c;尽量通过宏定…...

Spring Boot面试知识点总结(经典15问)

Spring Boot面试知识点总结&#xff08;问答合集&#xff09; 文章目录 Spring Boot面试知识点总结&#xff08;问答合集&#xff09;一、Spring Boot简介二、核心特性三、面试问题及答案问题1&#xff1a;Spring Boot的核心配置文件是什么&#xff1f;问题2&#xff1a;Spring…...

安卓手机原生运行 ARM Ubuntu 24.04 桌面版(一)

本篇文章&#xff0c;聊一聊尝试让安卓手机原生运行 Ubuntu&#xff0c;尤其是运行官方未发布过的 ARM 架构的 Ubuntu 24.04 桌面版本。 写在前面 最近的几篇文章&#xff0c;都包含了比较多的实操内容、需要反复的复现验证&#xff0c;以及大量的调试过程&#xff0c;为了不…...

AHB---数据总线

1. 数据总线 为了实现AHB系统&#xff0c;需要独立的读写数据总线。虽然推荐的最小数据总线宽度被指定为32位&#xff0c;但这可以根据数据总线宽度进行更改。 数据总线包含以下部分&#xff1a; HWDATAHRDATAEndianness&#xff08;字节序&#xff09; 1.1 HWDATA 在写传输…...

「51媒体」企业单位新闻稿件考核,怎么发布

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 电力税务企事业单位部门等单位提供了新闻稿件&#xff0c;如何在一些重点媒体进行宣发呢&#xff1a; 精准锁定发布媒体 了解考核要求&#xff1a;仔细阅读宣传任务名单&#xff0c;了解…...

「 网络安全常用术语解读 」SBOM主流格式CycloneDX详解

CycloneDX是软件供应链的现代标准。CycloneDX物料清单&#xff08;BOM&#xff09;可以表示软件、硬件、服务和其他类型资产的全栈库存。该规范由OWASP基金会发起并领导&#xff0c;由Ecma International标准化&#xff0c;并得到全球信息安全界的支持&#xff0c;如今CycloneD…...

React 之 内置标签<Fragment> (<>...</>) (十一)

通常使用 <>…</> 代替&#xff0c;它们都允许你在不添加额外节点的情况下将子元素组合。相当于vue的内置标签<template/> 1. 返回多个元素 <><OneChild /><AnotherChild /> </>2. 分配多个元素给一个变量 和其他元素一样&#xf…...

Mac M1 解决安装grpcio不可用

问题描述&#xff1a; 使用 pip 已经更新 grpcio 至最新版&#xff0c;调用时还是报错 如下图&#xff1a; Traceback (most recent call last):File "/Users/yu/anaconda3/envs/dify2/lib/python3.10/site-packages/flask/cli.py", line 245, in locate_app__imp…...

Linux第三节--常见的指令介绍集合(持续更新中)

点赞关注不迷路&#xff01;&#xff0c;本节涉及初识Linux第三节&#xff0c;主要为常见的几条指令介绍。 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1f44d;&#x1f3fb; 收藏 ✨ 加关注&#x1f440; 期待与你共同进步! Linux下基本指令 1. man指令 Linu…...

SpringMVC简介和体验

一、SpringMVC简介和体验 1.1 介绍 Spring Web MVC :: Spring Framework Spring Web MVC是基于Servlet API构建的原始Web框架&#xff0c;从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff08; spring-webmvc &#xff09;&#…...

Android单行字符串末尾省略号加icon,图标可点击

如图 设置仅显示单行字符串&#xff0c;末尾用省略号&#xff0c;加跟一个icon&#xff0c;icon可点击 tvName.text "test"val drawable ResourcesCompat.getDrawable(resources, R.mipmap.icon_edit, null)tvName.setCompoundDrawablesWithIntrinsicBounds(null,…...

山东省文史书画研究会成立20周年系列活动徽标征集胜选名单公布

2024年5月1日&#xff0c;山东省文史书画研究会成立20周年系列活动徽标征集落下帷幕。征稿启事下发后&#xff0c;得到社会各界人士的广泛关注与参与&#xff0c;共收到设计方案608件。经过初评&#xff0c;选出5幅作品进入复评&#xff0c;并经过网络投票和专家投票相结合的方…...

相机2:曝光三要素之ISO(感光度)

曝光是相机的感光元件与光线接触成像的过程&#xff0c;而曝光三要素分别指的是光圈大小&#xff0c;快门速度和感光度。这三个因素都可以控制曝光量&#xff0c;同时也分别有自己的特点。 什么是感光度&#xff1f; ISO又叫感光度&#xff0c;指的是相机感光元件&#xff08;…...

已解决java.util.IllegalFormatConversionException异常的正确解决方法,亲测有效!!!

已解决java.util.IllegalFormatConversionException异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 报错原因 示例报错代码&#xff1a; 解决思路 解决方法 检查和更正格式说明符 示例修正代码&#xff1a; 调整参数类型…...

OpenCV 库来捕获和处理视频输入和相似度测量(73)

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇:OpenCV的周期性噪声去除滤波器(70) 下一篇 :使用 OpenCV 创建视频(74) ​ 目标 如今&#xff0c;拥有数字视频录制系统供您使用是很常见的。因此&#xff0c;您最终会遇到不再处理一批图像&#xf…...

了解TMS运输管理系统,实现物流高效运转

TMS运输管理系统&#xff08;Transportation Management System&#xff09;是一种集成物流和信息技术的解决方案&#xff0c;通过优化运输流程、实时跟踪货物信息和自动化管理操作&#xff0c;提高物流效率&#xff0c;降低运营成本&#xff0c;实现高效运输。 TMS运输管理系…...

数据库原理与应用实验三 嵌套查询

实验目的和要求 加深和掌握对嵌套查询的理解和应用 实验环境 Windows10 SQLServer 实验内容与过程 图书&#xff08;书号&#xff0c;书名&#xff0c;价格&#xff0c;出版社&#xff09; 读者&#xff08;卡号&#xff0c;姓名&#xff0c;年龄&#xff0c;所属单位&a…...

焦作建网站/网站推广服务

0815遥感(RemoteSensing,RS)一词本身具有广义和狭义两种理解。当然,我们所指的RS自然是狭义的遥感,它是指从远距离、高空及外层空间的平台上,利用可见光、红外、微波等探测仪器,通过摄影或扫描方式,对电磁波辐射能量的感应、传输的处理,从而识别地面物体的几何影像、性质及运动…...

九寨沟城乡建设官方网站/淘宝网店怎么运营起来

梦到我、我爹和我妈三个人去了越南&#xff0c;住在一家简陋的宾馆里&#xff0c;晚上睡觉的时候我妈为了省钱让我们打地铺&#xff0c;点蜡烛。等天亮了我一个人出去溜达&#xff0c;发现越南人和中国人长的没什么两样&#xff0c;就是穿着打扮不同一些&#xff0c;我看到越南…...

图像生成器在线制作/草根seo视频大全网站

0x01.关于堆排序 堆排序&#xff08;英语&#xff1a;Heapsort&#xff09;是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构&#xff0c;并同时满足堆积的性质&#xff1a;即子结点的键值或索引总是小于&#xff08;或者大于&#xff09;它的父节点…...

wordpress给用户自动注册/地推项目平台

什么是回流&#xff1f; 页面中元素的尺寸&#xff0c;布局&#xff0c;隐藏等改变而需要重新构建页面&#xff0c;就会引起回流。 什么是重绘&#xff1f; 页面中元素属性发生改变&#xff0c;而这些属性只是影响元素的外观&#xff0c;风格&#xff0c;而不会影响布局的&…...

委托做网站违反广告法/营销策划公司收费明细

一、RabbitMQ基础知识 一、背景 RabbitMQ是一个由erlang开发的AMQP&#xff08;Advanced Message Queue &#xff09;的开源实现。AMQP 的出现其实也是应了广大人民群众的需求&#xff0c;虽然在同步消息通讯的世界里有很多公开标准&#xff08;如 COBAR的 IIOP &#xff0c;或…...

济南冰河世纪网站建设/上海搜索seo

/**问题描述利用字母可以组成一些美丽的图形&#xff0c;下面给出了一个例子&#xff1a;ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形&#xff0c;请找出这个图形的规律&#xff0c;并输出一个n行m列的图形。输入格式输入一行&#xff0c;包含两个整数n和m&#…...