目录
方法
实验结果
首页 科技周边 人工智能 突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

Dec 15, 2023 pm 01:54 PM
框架 ai 3d

近年来,在预训练的扩散模型[1, 2, 3]的发展推动下,自动将文本转化为3D内容取得了重要的进展。其中,DreamFusion[4]引入了一种有效的方法,该方法利用预训练的2D扩散模型[5]从文本中自动生成3D资产,而无需专门的3D资产数据集

DreamFusion 引入的一项关键创新是分数蒸馏采样 (SDS) 算法。该算法利用预训练的 2D 扩散模型对单个 3D 表示进行评估,例如 NeRF [6],从而对其进行优化,以确保来自任何摄像机视角的渲染图像与给定文本保持较高的一致性。受开创性 SDS 算法的启发,出现了几项工作 [7,8,9,10,11],通过应用预训练的 2D 扩散模型来推进 text-to-3D 生成任务。

虽然 text-to-3D 的生成通过利用预训练的 text-to-2D 的扩散模型已经取得了重大进展,但是 2D 图像和 3D 资产之间仍存在很大的领域差距。这种区别在图 1 中清楚地展示出来。

首先,text-to-2D 模型产生与相机无关的生成结果,专注于从特定角度生成高质量图像,而忽略其他角度。相比之下,3D 内容创建与相机参数 (如位置、拍摄角度和视场) 错综复杂地联系在一起。因此,text-to-3D 模型必须在所有可能的相机参数上生成高质量的结果。

此外,text-to-2D生成模型需要同时生成前景和背景元素,以保持图像的整体连贯性。与此相反,text-to-3D生成模型只需专注于创建前景对象。这个区别使得text-to-3D模型能够分配更多资源和注意力来准确表示和生成前景对象。因此,当直接使用预训练的2D扩散模型来进行3D资产创建时,text-to-2D和text-to-3D生成之间的领域差异成为明显的性能障碍

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

图 1 text-to-2D 生成模型 (左) 和 text-to-3D 生成模型 (右) 在同一文本提示下的输出,即 "A statue of Leonardo DiCaprio's head.”。

为了解决这个问题,论文提出了 X-Dreamer,这是一种用于高质量 text-to-3D 内容创建的新颖方法,可以有效地弥合 text-to-2D 和 text-to-3D 生成之间的领域差距。

X-Dreamer 的关键组成部分是两种创新设计: Camera-Guided Low-Rank Adaptation (CG-LoRA) 和 Attention-Mask Alignment (AMA) 损失。

首先,现有方法 [7,8,9,10] 通常采用 2D 预训练扩散模型 [5,12] 来进行 text-to-3D 生成,缺乏与相机参数的固有联系。为了解决此限制并确保 X-Dreamer 产生直接受相机参数影响的结果,论文引入了 CG-LoRA 来调整预训练的 2D 扩散模型。值得注意的是,在每次迭代期间 CG-LoRA 的参数都是基于相机信息动态生成的,从而在 text-to-3D 模型和相机参数之间建立鲁棒的关系。

其次,预训练的 text-to-2D 扩散模型将注意力分配给前景和背景生成,而 3D 资产的创建需要更加关注前景对象的准确生成。为了解决这一问题,论文提出了 AMA 损失,使用 3D 对象的二进制掩码来指导预训练的扩散模型的注意力图,从而优先考虑前景对象的创建。通过合并该模块,X-Dreamer 优先考虑前景对象的生成,从而显着提高了生成的 3D 内容的整体质量。

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

项目主页:

https://xmu-xiaoma666.github.io/Projects/X-Dreamer/

Github主页:https://github.com/xmu-xiaoma666/X-Dreamer

地址:https://arxiv.org/abs/2312.00085

X-Dreamer 对 text-to-3D 生成领域做出了如下贡献:

  • 论文提出了一种新颖的方法,X-Dreamer,用于高质量的 text-to-3D 内容创建,有效地弥合了 text-to-2D 和 text-to-3D 生成之间的主要差距。
  • 为了增强生成的结果与相机视角之间的对齐,论文提出了 CG-LoRA,利用相机信息来动态生成 2D 扩散模型的特定参数。
  • 为了在 text-to-3D 模型中优先创建前景对象,论文引入了 AMA 损失,利用前景 3D 对象的二进制掩码来引导 2D 扩散模型的注意图。

方法

X-Dreamer包含两个主要阶段:几何学习和外观学习。对于几何学习,本研究使用DMTET作为3D表示,并利用3D椭球对其进行初始化。初始化时,损失函数采用均方误差(MSE)损失。接下来,使用分数蒸馏采样(SDS)损失和本研究提出的AMA损失来优化DMTET和CG-LoRA,以确保3D表示和输入的文本提示之间的对齐

对于外观学习,论文利用双向反射分布函数 (BRDF) 建模。具体来说,论文利用具有可训练参数的 MLP 来预测表面材料。类似于几何学习阶段,论文使用 SDS 损失和 AMA 损失来优化 MLP 和 CG-LoRA 的可训练参数,以实现 3D 表示和文本提示之间的对齐。图 2 展示了 X-Dreamer 的详细构成。

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

图 2 X-Dreamer 概览,包括几何学习和外观学习。

几何学习 (Geometry Learning)

在此模块中,X-Dreamer 利用 MLP 网络突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域将 DMTET 参数化为 3D 表示。为了增强几何建模的稳定性,本文使用 3D 椭球体作为 DMTET 突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域 的初始配置。对于属于四面体网格突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域的每个顶点突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域,本文训练突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域来预测两个重要的量:SDF 值突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域和变形偏移量突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域。为了将突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域初始化为椭球体,本文采样了均匀分布在椭球体内的 N 个点,并计算相应的 SDF 值突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域。随后,利用均方误差(MSE)损失来优化突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域。该优化过程确保突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域有效地初始化 DMTET,使其类似于 3D 椭球体。MSE 损失的公式如下:

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

初始化几何图形后,将 DMTET 的几何图形与输入文本提示对齐。具体的操作方法是通过使用差分渲染技术,在给定随机采样的相机姿势 c 的情况下,从初始化的 DMTET突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域生成法线映射 n 和对象的掩码 m 。随后,将法线映射 n 输入到具有可训练 CG-LoRA 嵌入的冻结的 Stable Diffusion 模型(SD)中,并使用 SDS 损失更新突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域中的参数,定义如下:

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

其中,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示 SD 的参数,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域为在给定噪声水平 t 和文本嵌入 y 的情况下的 SD 的预测噪声。此外,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域,其中突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示从正态分布采样的噪声。突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域的实现基于 DreamFusion [4]。

此外,为了将 SD 集中于生成前景对象,X-Dreamer 引入了额外的 AMA 损失,以将对象掩码  与 SD 的注意力图对齐,如下所示:


突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

其中突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示注意力层的数量,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域是第 i 个注意力层的注意力图。函数突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域用于调整渲染出来的 3D 对象掩码的大小,确保它的尺寸与注意力图的尺寸对齐。

外观学习 (Appearance Learning)

在获得 3D 对象的几何结构后,本文的目标是使用基于物理的渲染(PBR)材料模型来计算 3D 对象的外观。材料模型包括扩散项突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域,粗糙度和金属项突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域,以及法线变化项突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域。对于几何体表面上的任一点突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

,利用由突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域参数化的多层感知机(MLP)来获得三个材料项,具体可以表示如下:

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

其中,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示利用哈希网格技术进行位置编码。之后,可以使用如下公式计算渲染图像的每个像素:

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

其中,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示从方向突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域渲染 3D 物体表面的点突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域的像素值。突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示由满足条件突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域的入射方向集合突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域定义的半球,其中突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示入射方向,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示点突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域处的表面法线。突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域对应于来自现成环境图的入射光,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域是与材料特性(即突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域)相关的双向反射分布函数 (BRDF)。通过聚合所有渲染的像素颜色,可以获得渲染图像突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域。与几何学习阶段类似,将渲染图像突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域输入 SD,利用 SDS 损失和 AMA 损失优化突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域


摄像头引导的低秩适应(CG-LoRA)

为了解决生成文本到2D和3D之间存在的领域差距所导致的次优3D结果生成问题,X-Dreamer提出了基于相机引导的低秩适应方法

如图 3 所示,利用摄像机参数和方向感知文本来指导 CG-LoRA 中参数的生成,使 X-Dreamer 能够有效地感知摄像机的位置和方向信息。

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

图 3 摄像机引导的 CG-LoRA 示意。

具体的,给定文本提示突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域和相机参数突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域,首先使用预训练的文本 CLIP 编码器突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域和可训练的 MLP突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域,将这些输入投影到特征空间中:

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

其中,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域分别是是文本特征和相机特征。之后,使用两个低秩矩阵将突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域投影到 CG-LoRA 中的可训练降维矩阵中:

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

其中,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域是 CG-LoRA 的两个降维矩阵。函数突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

用于将张量的形状从变换突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域是两个低秩矩阵。因此,可以将它们分解为两个矩阵的乘积,以减少实现中的可训练参数,即突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域,其中突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域是一个很小的数字(如:4)。根据 LoRA 的构成,将维度扩展矩阵突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域初始化为零,以确保模型开始使用 SD 的预训练参数进行训练。因此,CG-LoRA 的前馈过程公式如下:

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

其中, 突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示预训练的 SD 模型的冻结参数,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域是级联运算。在本方法的实现中,将 CG-LoRA 集成到 SD 中注意力模块的线性嵌入层中,以有效地捕捉方向和相机信息。

需要重新表达的内容是:注意力蒙版对齐损失(AMA损失)

SD 被预训练以生成 2D 图像,同时考虑了前景和背景元素。然而,text-to-3D 的生成需要更加重视前景对象的生成。鉴于这一要求,X-Dreamer 提出了 Attention-Mask Alignment Loss(AMA 损失),以将 SD 的注意力图与 3D 对象的渲染的掩码图像对齐。具体的,对于预训练的 SD 中的每个注意力层,本方法使用查询图像特征突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域和关键 CLS 标记特征突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域来计算注意力图。计算公式如下:

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

其中,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域 表示多头注意力机制中的头的数量,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域表示注意力图,之后,通过对所有注意力头中注意力图突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域的注意力值进行平均来计算整体注意力图突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域的值。

由于使用 softmax 函数对注意力图值进行归一化,因此当图像特征分辨率较高时,注意力图中的激活值可能变得非常小。但是,考虑到渲染的 3D 对象掩码中的每个元素都是 0 或 1 的二进制值,因此将注意力图与渲染的 3D 对象的掩码直接对齐不是最佳的。为了解决这个问题,论文提出了一种归一化技术,该技术将注意力图中的值映射到(0,1)之间。此归一化过程的公式如下:

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

其中,突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域代表一个小的常数值 (例如突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域),来防止分母中出现 0。最后,使用 AMA 损失将所有注意力层的注意力图与 3D 对象的渲染的掩码对齐。

实验结果

论文使用四个 Nvidia RTX 3090 GPU 和 PyTorch 库进行实验。为了计算 SDS 损失,利用了通过 Hugging Face Diffusers 实现的 Stable Diffusion 模型。对于 DMTET 和 material 编码器,将它们分别实现为两层 MLP 和单层 MLP,隐藏层维度为 32。

从椭球体开始进行 text-to-3D 的生成

论文展示了 X-Dreamer 利用椭球作为初始几何形状的 text-to-3D 的生成结果,如图 4 所示。结果证明 X-Dreamer 具有生成高质量和照片般逼真的 3D 对象的能力,生成的 3D 对象与输入的文本提示准确对应。

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

图 4 以椭球体为起点进行了 text-to-3D 的生成

从粗粒度网格开始进行 text-to-3D 的生成

虽然可以从互联网上下载大量粗粒度网格,但由于缺乏几何细节,直接使用这些网格创建 3D 内容往往会导致性能较差。然而,与 3D 椭球体相比,这些网格可以为 X-Dreamer 提供更好的 3D 形状先验信息。

因此,也可以使用粗粒度引导网格来初始化 DMTET,而不是使用椭球。如图 5 所示,X-Dreamer 可以基于给定的文本生成具有精确几何细节的 3D 资产,即使所提供的粗粒度网格缺乏细节。

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

图 5 从粗粒度网格开始进行 text-to-3D 的生成。

需要重写的内容是:Qualitative Comparison.

为了评估X-Dreamer的有效性,本论文将其与四种先进方法进行比较:DreamFusion [4],Magic3D [8],Fantasia3D [7]和ProlificDreamer [11],如图6所示

当与基于 SDS 的方法进行比较时 [4,7,8],X-Dreamer 在生成高质量和逼真的 3D 资产方面优于他们。此外,与基于 VSD 的方法 [11] 相比,X-Dreamer 产生的 3D 内容具有相当甚至更好的视觉效果,同时需要的优化时间明显减少。具体来说,X-Dreamer 的几何形状和外观学习过程只需要大约 27 分钟,而 ProlificDreamer 则超过 8 小时。

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

图 6 与现有技术 (SOTA) 方法的比较。

需要重新写的内容是:消融实验

  • 模块消融

为了深入了解CG-LoRA 和AMA 损失的能力,论文进行了消融研究,其中每个模块单独加入以评估其影响。如图 7 所示,消融结果表明,当 CG-LoRA 被排除在 X-Dreamer 之外时,生成的 3D 对象的几何形状和外观质量显着下降。

此外,X-Dreamer 缺失 AMA 损失也对生成的 3D 资产的几何形状和外观保真度产生有害影响。这些需要重新写的内容是:消融实验为 CG-LoRA 和 AMA 损失在增强生成的 3D 对象的几何形状、外观和整体质量方面的单独贡献提供了有价值的研究。

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

图 7 X-Dreamer 的消融研究。

  • 有无 AMA 损失的注意力图比较

引入 AMA 损失的目的在于将去噪过程中的注意力集中于前景对象。实现这一目标的方法是通过将 SD 的注意力图与 3D 对象的渲染掩码对齐。为了评估AMA 损失在实现该目标方面的有效性,本文在几何学习和外观学习阶段分别比较了有和没有AMA 损失的SD 的注意力图

根据图8所示,可以观察到,添加AMA损失不仅能改善生成的3D资产的几何形状和外观,还能使SD的注意力特别集中在前景对象区域上。可视化结果证实了AMA损失在引导SD注意力方面的有效性,从而提高了几何和外观学习阶段的质量和前景对象的聚焦

突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域

需要重新写作的内容是:图8展示了注意力图、渲染掩码和渲染图像的可视化结果,其中包括和不包括AMA损失

这项研究引入了一个名为X-Dreamer的开创性框架,旨在通过解决文本到二维和文本到三维生成之间的领域差距来增强文本到三维的生成。为了实现这一目标,论文首先提出了CG-LoRA,该模块将三维相关信息(包括方向感知文本和相机参数)合并到预训练的稳定扩散(SD)模型中。通过这样做,本文能够有效地捕捉与三维领域相关的信息。此外,本文设计了AMA损失,以将SD生成的注意力图与三维对象的渲染掩码对齐。 AMA损失的主要目标是引导文本到三维模型的焦点朝着前景对象的生成方向发展。通过广泛的实验,本文全面评估了提出方法的有效性,并证明了X-Dreamer能够根据给定的文本提示生成高质量和真实的三维内容

以上是突破次元壁,X-Dreamer带来高质量的文本到3D生成,融合2D和3D生成领域的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Bootstrap列表如何改变大小? Bootstrap列表如何改变大小? Apr 07, 2025 am 10:45 AM

Bootstrap 列表的大小取决于包含列表的容器的大小,而不是列表本身。使用 Bootstrap 的网格系统或 Flexbox 可以控制容器的大小,从而间接调整列表项的大小。

Bootstrap列表如何实现嵌套? Bootstrap列表如何实现嵌套? Apr 07, 2025 am 10:27 AM

Bootstrap 中嵌套列表需要使用 Bootstrap 的网格系统来控制样式。首先用外层 <ul> 和 <li> 创建列表,然后将内层列表包裹在 <div class="row"> 中,并在内层列表上添加 <div class="col-md-6"> 来指定内层列表占据一行的一半宽度。这样,内层列表就能拥有合适

Bootstrap列表如何添加图标? Bootstrap列表如何添加图标? Apr 07, 2025 am 10:42 AM

在 Bootstrap 列表中添加图标的方法:直接将图标塞入列表项<li>,使用图标库(例如 Font Awesome)提供的类名。利用 Bootstrap 类对齐图标和文字(例如 d-flex、justify-content-between、align-items-center)。使用 Bootstrap 标签组件(badge)显示数字或状态。调整图标位置(flex-direction: row-reverse;),控制样式(CSS 样式)。常见错误:图标不显示(未

Vue.js 中字符串转对象用什么方法? Vue.js 中字符串转对象用什么方法? Apr 07, 2025 pm 09:39 PM

Vue.js 中字符串转对象时,首选 JSON.parse() 适用于标准 JSON 字符串。对于非标准 JSON 字符串,可根据格式采用正则表达式和 reduce 方法或解码 URL 编码字符串后再处理。根据字符串格式选择合适的方法,并注意安全性与编码问题,以避免 bug。

如何查看Bootstrap的网格系统 如何查看Bootstrap的网格系统 Apr 07, 2025 am 09:48 AM

Bootstrap的网格系统是一种用于快速构建响应式布局的规则,包含三个主要类:container(容器)、row(行)和col(列)。默认情况下提供12列网格,每一列的宽度可以通过col-md-等辅助类进行调整,从而实现针对不同屏幕尺寸的布局优化。通过使用偏移类和嵌套网格,可以扩展布局的灵活性。在使用网格系统时,确保每个元素的嵌套结构正确, 并考虑性能优化,以提升页面加载速度。只有深入理解和实践,才能熟练掌握Bootstrap网格系统。

Bootstrap 5的列表样式有什么变化? Bootstrap 5的列表样式有什么变化? Apr 07, 2025 am 11:09 AM

Bootstrap 5 列表样式改动主要在于细节优化和语义化提升,包括:无序列表默认内边距精简,视觉效果更干净利落;列表样式更强调语义,增强可访问性和可维护性。

Vue中export default导出的组件如何注册 Vue中export default导出的组件如何注册 Apr 07, 2025 pm 06:24 PM

问题:如何注册通过 export default 导出的 Vue 组件?答案:有三种注册方法:全局注册:使用 Vue.component() 方法,注册为全局组件。局部注册:在 components 选项中注册, 只在当前组件及其子组件中可用。动态注册:使用 Vue.component() 方法,在组件加载完毕后注册。

Laravel的地理空间:互动图和大量数据的优化 Laravel的地理空间:互动图和大量数据的优化 Apr 08, 2025 pm 12:24 PM

利用地理空间技术高效处理700万条记录并创建交互式地图本文探讨如何使用Laravel和MySQL高效处理超过700万条记录,并将其转换为可交互的地图可视化。初始挑战项目需求:利用MySQL数据库中700万条记录,提取有价值的见解。许多人首先考虑编程语言,却忽略了数据库本身:它能否满足需求?是否需要数据迁移或结构调整?MySQL能否承受如此大的数据负载?初步分析:需要确定关键过滤器和属性。经过分析,发现仅少数属性与解决方案相关。我们验证了过滤器的可行性,并设置了一些限制来优化搜索。地图搜索基于城

See all articles