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

ImageNet 2.0?自动驾驶数据集迎来自动标注新时代

引言: 3DGS因其渲染速度快和高质量的新视角合成而备受关注。一些研究人员尝试将3DGS应用于驾驶场景的重建。然而,这些方法通常依赖于多种数据类型,如深度图、3D框和移动物体的轨迹。此外,合成图像缺乏标注也限制了其在下游任务中的直接应用。这些挑战促使研究者们寻求更简便高效的解决方案。

©️【深蓝AI】编译

论⽂题目:EGSRAL:An Enhanced 3D Gaussian Splatting based Renderer with Automated Labeling for Large-Scale Driving Scene

论文作者:Yixiong Huo, Guangfeng Jiang, Hongyang Wei, Ji Liu, Song Zhang, Han Liu, Xingliang Huang, Mingjie Lu, Jinzhang Peng, Dong Li, Lu Tian, Emad Barsoum

论文地址:https://arxiv.org/abs/2412.15550

为了解决上述问题,作者提出了EGSRAL,这是一种基于3DGS的方法,完全依赖训练图像而无需额外的标注。EGSRAL增强了3DGS在建模动态物体和静态背景方面的能力,并引入了一种新颖的适配器用于自动标注,能够根据现有的标注生成相应的注释。此外,研究人员还提出了一种分组策略,用于解决在渲染大规模复杂场景时的透视问题。这些创新使得EGSRAL在无需额外标注的情况下,能够高效地处理复杂的驾驶场景,并生成大量带标注的图像数据。

实验结果表明,EGSRAL在多个数据集上实现了最先进的性能。结合3DGS强大的多视角合成能力,该方法有望成为自动驾驶领域的ImageNet2.0,为该领域贡献出极大地图像数据集。

1、引入

合成逼真的新视角在计算机视觉和图形学领域中是一个复杂而关键的挑战。随着神经辐射场(NeRFs)的快速发展,自由视角合成逐渐转向大规模视角合成领域,特别是在合成对自动驾驶至关重要的街景方面。然而,由于地理位置的复杂性、多样的环境和变化的道路条件,模拟户外环境具有很大挑战。图像到图像的转换方法被提出用于通过学习源图像与目标图像之间的映射来合成语义标注的街景。虽然这些方法能够生成视觉上令人印象深刻的街景图像,但在局部细节中往往会出现明显的伪影和纹理不一致的问题。此外,合成图像的视角相对统一,这在复杂的自动驾驶场景中应用时也带来了挑战。

为了解决这些挑战,Drive-3DAu引入了一种使用NeRF的3D数据增强方法,旨在在3D空间中增强驾驶场景。DGNR提出了一个新颖的框架,通过从场景中学习密度空间来指导点基渲染器的构建。同时,READ提供了一个大规模的驾驶模拟环境,用于生成用于先进驾驶辅助系统的逼真数据。基于3DGS的方法由于其优越的生成能力,已被用于合成驾驶场景。尽管这些方法生成了适用于自动驾驶的逼真图像,但它们无法同时合成新视角并提供相应的2D/3D标注框,而这些标注框对于监督模型训练至关重要。因此,提升大规模场景的新视角合成能力并实现新视角的自动标注仍然是自动驾驶领域的关键挑战。

为了克服这些挑战,作者提出了一种名为EGSRAL的新框架,基于增强的3DGS技术。该框架在提高新视角合成质量的同时,能够生成相应的标注。具体而言,团队提出了一个形变增强模块,用于细化高斯形变场,增强对动态物体和静态背景的建模能力。此外,他们还引入了一个不透明度增强模块,利用神经网络取代原有的可学习参数,显著提升了复杂驾驶场景的建模能力。进一步地,为了解决在渲染大规模复杂场景时视角不合理的问题,即不应包含被遮挡的远处高斯点,研究人员还为原始3DGS提出了一种分组策略。

总的来说,研究工作的贡献如下: (1) 提出了一个名为EGSRAL的增强型3DGS渲染器,能够基于现有数据集的标注合成带有相应标注的新视角图像。EGSRAL引入了形变增强模块和不透明度增强模块,提升了3DGS在复杂场景中的建模能力。 (2) 此外,为了解决在渲染大规模复杂场景时视角不合理的问题,提出了原始3DGS的分组策略。 (3) 与之前仅关注新视角合成的方法不同,作者还提出了一种带有三个约束的适配器,能够将相邻的标注框转换为自动驾驶领域中新视角的标注框。 (4) 实验结果表明,该方法在大规模场景的渲染性能上优于现有方法。此外,带有相应标注的新视角图像显著提升了2D/3D检测模型的性能。这一成果不仅展示了3DGS在实际应用中的潜力,也为未来自动驾驶和计算机视觉领域的研究提供了新的思路和方法。

▲图1|全文方法总览©️【深蓝AI】编译

2、具体方法与实现

基于结构光测量(SfM)方法估计的驾驶场景输入图像序列和点云,EGSRAL框架能够从多个视角合成逼真的驾驶场景,同时自动标注相应的新合成视图。本文还提出了一种分组策略,以解决大规模驾驶场景中的透视问题。本文的框架分为两部分:增强型3DGS渲染和新视角自动标注,如图1所示为整体EGSRAL框架示意图,本文先对这个图进行一个整体的解读,由图可见,EGSRAL框架首先对输入图像进行对齐,随后使用由结构光测量(SfM)生成的点云来初始化3D高斯。一个可变形网络(橙色模块)构建3D高斯形变场,而形变增强模块(DEM)(黄色模块)对该形变场进行优化。不透明度增强模块(OEM)(蓝色模块)则负责优化不透明度。为了应对大规模复杂场景中的透视问题,采用了基于分组的训练和渲染策略(绿色模块)。此外,适配器通过三个约束条件(橙色)进行训练,以增强其坐标关系建模能力。在推理阶段,这些模块将渲染并合成带有相应标注的新视角图像。同时,本文通过创新模块对其进行了扩展,以改进新视角合成。对于自动标注,本文引入了一个适配器,用于转换相机姿态和边界框,生成新视角的相应注释。

2.1 增强型3DGS渲染

3DGS通常用于建模静态场景,其处理动态场景的能力有限。近期的研究集中于改进动态场景的建模。本文以可变形3DGS作为基线,并将其应用于自动驾驶场景的重建。这种方法为静态背景和动态物体使用统一的形变场。为了更好地表示每个高斯原语的状态,本文引入了状态属性d ∈ Rd×1,隐式指示原语是静态还是动态。本文通过结合形变增强模块进一步增强了形变场。该模块解码每个高斯原语的状态属性d和时间编码γ(t),以确定形变场的调整因子。认识到不透明度在渲染中的重要性,本文还引入了不透明度增强模块以提升建模能力。

可变形3DGS网络。为了减少数据依赖性,本文仅使用图像数据进行驾驶场景重建。首先,通过SfM初始化一组3D高斯G(x,r,s,σ)其中x、r、s和σ分别代表高斯原语的位置、四元数、缩放和不透明度。为了更好地建模动态3D高斯,可变形3DGS引入了一个形变场,该形变场以位置x和时间t为输入,分别预测x、r和s的偏移量δx、δr和δs。随后,这些形变后的3D高斯G(x+δx,r+δr,s+δs,σ)通过一个可微分的瓷砖光栅化器渲染出新图像:

C\{u,v\} = \sum_{i \in N} T_i \alpha_i c_i

其中,C\{u,v\}表示(u, v)像素的渲染颜色,Ti是由定义的透射率,ci是每个高斯原语的颜色,αi通过评估带有协方差矩阵的2D高斯并乘以每个原语的学习不透明度计算得到。然而,可变形3DGS在有效建模动态物体和静态背景方面存在困难。本文认为这是由于3D高斯无法充分表示动态和静态元素。为了解决这一问题,本文为每个高斯原语引入了状态属性d,并将其作为输入传递给可变形网络。此增强提升了网络捕捉高斯原语状态的能力:

(\delta x, \delta r, \delta s) = F_{\theta} (\gamma(sg(x)), \gamma(t), d)

其中Fθ,代表可变形网络的参数,sg(·)表示停止梯度操作,γ是位置编码。形变增强模块(DEM)。为了进一步增强动态物体的建模能力,本文提出了一个形变增强模块,根据高斯原语的时间t和状态属性d微调形变场。具体而言,本文使用状态属性d和时间编码γ(t)作为输入,输出每个高斯原语形变场的调整因子αp:

\alpha_p = \text{sigmoid} (\text{MLP}_1 (F_{\beta} (d, \gamma(t), x - c_{\text{view}})))

其中,表示动态编码网络的参数,是激活函数。此外,在驾驶场景中,本文使用不透明度调整因子ασ动态调整动态物体的不透明度,以更有效地建模其出现和消失: 其中,tanh(·)是激活函数。通过使用调整因子αp和ασ,本文将形变后的3D高斯属性从G1修改为G(x+δx,r+δr,s+δs),使形变场能够更详细地建模动态物体和静态背景。 不透明度增强模块(OEM)。如图像渲染公式所示,当前像素的渲染依赖于高斯原语的颜色和不透明度。为了增强不透明度预测的能力,本文通过将不透明度初始化为可训练参数σ′ ∈ R16×1,并引入一个轻量级网络加速不透明度优化: σ=Fη 其中,Fη是不透明度增强模块的参数。

▲图2|分组策略图示©️【深蓝AI】编译

分组策略(GPS)。之前基于3DGS的驾驶场景重建方法未考虑大规模场景。为了解决这一问题,本文提出了一种分组策略。如图2(a)所示,本文使用固定的图像间隔将场景划分为N组,并为每个高斯原语分配一个组识别id,这使本文能够基于这些组id执行后续的克隆、拆分和渲染。通过分组策略,本文解决了不合理视场的问题。如图2(c)所示,原始3DGS的渲染视场包括远处被遮挡的高斯原语(绿色矩形),这是不切实际的。通过分组(红色矩形),本文将视场限制在特定范围内,从而通过排除该范围外的高斯原语减少优化负担。与DrivingGaussian的静态增量训练模式不同,本文的方法避免了顺序分组训练和为每个组单独使用可变形网络,减少了模型数量并缩短了训练时间。然而,高斯原语的不同位置分布可能影响收敛性。为了解决这一问题,本文引入了多组联合优化策略。如图2(b)所示,每组独立执行前向传播以累积梯度。所有组完成前向传播后,本文执行梯度反向传播以优化网络参数,稳定可变形网络的训练。此外,为了解决3DGS在初始帧中的重建质量差的问题,本文提出了重叠训练策略。具体而言,对于每组,本文使用前一组的N张图像训练当前组,显著提高了重建质量。

2.2 新视角自动标注

适配器需求。本文的方法利用图像序列(数据集)构建场景点云,并使用SfM方法估计相机姿态和参数。生成的点云和相机姿态定义在SfM方法生成的新坐标系中。然而,图像序列的3D注释和相应的相机姿态定义在原始世界坐标系中。因此,存在两个不同的坐标系:原始世界坐标系(OWCS)和SfM方法估计的世界坐标系(EWCS)。本文的渲染器基于EWCS进行训练,因为它接受EWCS中的估计点和相机姿态作为输入。用于生成新视角图像的新相机姿态也基于EWCS,这使得在OWCS中利用数据集的3D注释变得复杂。需要一个变换适配器来建立这两个坐标系之间的关系,使本文能够有效地利用3D注释。该适配器将坐标从OWCS转换为EWCS。因此,来自OWCS的新视角相机姿态可以转换为EWCS并输入渲染器生成新视角图像。

本文的适配器。本文使用神经网络来建模两个坐标系中相机姿态的转换关系,该网络以OWCS中的相机姿态作为输入,预测EWCS中的相应相机姿态。本文将相机姿态表示为包含旋转和平移信息的3×4矩阵。因此,输入和输出的形状均为3×4。本文使用多层感知器(MLP)构建适配器,如图3所示,适配器的主干由8层MLP组成,输出头是一个简单的线性层,用于预测EWCS中的相机姿态。为了优化适配器,本文在训练过程中引入了三个约束条件。

适配器的约束条件。为了有效训练适配器,本文需要数据集中两个坐标系中的相机姿态。可以直接获取这些系统中相同帧的相机姿态对,每对包括OWCS和EWCS中的相机姿态。本文采用smoothL1损失,确保适配器的预测与EWCS中对应的SfM相机姿态紧密匹配,给定OWCS中的原始相机姿态。相机姿态约束的损失函数为:

L_p = \text{smoothL1} (P_A, P_S)

其中,Lp是现有相机姿态约束的损失,PA是适配器在给定OWCS中相机姿态P时预测的姿态,PS是SfM在EWCS中生成的对应姿态。应用初始约束后,适配器可以在两个坐标系之间转换现有相机姿态。然而,由于相机姿态对的数量有限,适配器的泛化能力受限,导致在未包含在现有对中的新相机姿态下表现不佳。为了解决这一问题,本文引入了新的相机姿态约束。

新视角相机姿态约束旨在通过利用现有数据约束新相机姿态,增强适配器的泛化能力。基于同一物体在两个相机坐标系中的投影一致性规则,本文提出了一种为新相机姿态构建投影约束的方法。具体而言,针对数据集中的相机姿态P,作者使用随机位置变换(RPT)模块采样一个附近的新姿态Pnov。该新姿态在估计世界坐标系(EWCS)中对应一个相机姿态Pnov S,但这一对应关系是隐式的,无法直接获得。接下来,作者选取当前相机姿态之后的N个相机姿态对,并将它们投影到两个不同坐标系中的新相机姿态平面。对应的投影点需要在两个坐标系中的像素坐标保持一致。

如图3所示,首先通过坐标转换模块(CCM)利用坐标转换公式将原始世界坐标系(OWCS)中的点转换到相机坐标系中。然后,在新相机姿态的坐标系中,相对姿态Pn+i nnov被表示出来。接下来,这些点被投影到新相机姿态的平面上。图3还展示了点投影模块(PPM),该模块负责将相机坐标系中的点投影到像素坐标系中。

▲图3|坐标系转换图示©️【深蓝AI】编译

接下来,本文利用相机内参矩阵计算新相机姿态平面上的像素坐标。具体来说,首先通过相机内参矩阵和相机姿态的平移部分,将相对相机姿态的三维坐标转换为像素坐标系中的二维坐标。这样得到的像素坐标用于后续的投影约束。投影约束的目标是确保在估计的新相机姿态下,不同坐标系中的相机姿态投影结果一致。为了实现这一点,适配器需要通过训练,使得在新相机姿态下,相对姿态的像素坐标在不同坐标系中保持一致。

由于仅依赖像素坐标的约束只能限制坐标之间的比例关系,而无法确定具体的位置信息,适配器在这种情况下难以收敛到理想的结果。为了解决这一问题,本文将相机坐标系中的位置信息约束纳入整体损失函数中。考虑到真实相机内参与通过结构光测量方法估计的相机内参相似,本文假设在适配器训练的初始阶段,相机坐标系中的位置信息是一致的。随着训练的进行,可以逐步减少对相机坐标系位置约束的权重,从而优化适配器的性能。

整体损失函数综合了现有相机姿态约束、三维坐标系中的相机姿态约束以及投影像素坐标中的相机姿态约束。这些损失项分别通过不同的权重进行调节,以确保适配器在训练过程中能够有效地学习两个坐标系之间的转换关系。通过这种多重约束的方式,适配器不仅能够准确预测新相机姿态,还能够在不同视角下保持投影的一致性,从而提升自动标注的准确性和可靠性。

注释生成。在推理阶段,如图1所示,作者首先从数据集中获取原始相机姿态。该姿态经过随机位置变换(RPT)模块进行仿射随机变换,生成新的姿态。接着,新姿态被输入到适配器中,生成对应于估计世界坐标系的姿态。将新姿态输入渲染器后,可以生成相应的新视角图像。同样,对原始数据集的注释应用相同的仿射变换,得到对应的新标注,这与新视角渲染的图像相对应。最后,将新视角渲染与新标注生成结合,生成带有注释的新视角图像,实现了自动标注。

3.实验

作为一个数据集生成方法,本文的实验设置和大多数数据集生成方法类似,主要从生成质量,标注精度两个角度出发,对方法进行评估,值得Highlight的一点是作者做了大量的可视化实验,因此我们能够很清晰明了的观测到本方法的具体效果。

▲图4|数值实验©️【深蓝AI】编译

图4所示为数值对比实验,需要关注的点有两个地方,第一个是算法的PSNR,这代表图像渲染质量,直接决定了数据集的好坏,显然本文的算法在多个数据集上与当前的SOTA方法相比都取得了领先。

▲图5|标注生成可视化实验©️【深蓝AI】编译

▲图6|标注生成数值实验©️【深蓝AI】编译

图5为可视化的标注生成实验效果,包含了室外的多个不同场景,从标注的可视化结果来看能够直观清晰的体会到本文方法自动标注生成的出色效果,标注的Bonding Box仅仅的贴住了物体的边缘。图6所示的标注生成数值结果取得的优秀成绩也佐证了这一点。

总结

在本文中,作者提出了 EGSRAL,这是一种新颖的基于3DGS的渲染器,它配备了一个自动标注框架,能够合成带有相应标注的新视角图像。对于新视角渲染,我们引入了两个有效的模块来提升 3DGS对复杂场景进行建模的能力,并提出了一种分组策略以解决大规模场景视角不合理的问题。对于新视角自动标注,作者提出了一种适配器来为新视角生成新的标注。实验结果表明,EGSRAL 在新视角合成方面显著优于现有方法,并且在带标注图像上实现了卓越的目标检测性能。

相关文章:

ImageNet 2.0?自动驾驶数据集迎来自动标注新时代

引言: 3DGS因其渲染速度快和高质量的新视角合成而备受关注。一些研究人员尝试将3DGS应用于驾驶场景的重建。然而,这些方法通常依赖于多种数据类型,如深度图、3D框和移动物体的轨迹。此外,合成图像缺乏标注也限制了其在下游任务中的…...

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之11 方案再探之2 项目文件(修改稿1)

(以下内容是第二次重建项目(“方案再探”)时的项目附件。) 为AI聊天工具添加一个知识系统 Part1 人性化&去中心化 前情提要 这一次我们暂时抛开前面对“智能工厂的软件设计”的考虑--其软件智能 产品就是 应用程序。直接将这些思维方式和方法论 运…...

详解MySQL SQL删除(超详,7K,含实例与分析)

文章目录 前言1. 删除表中的所有记录基本语法使用场景注意事项运用实例分析说明2. 删除特定记录基本语法使用场景注意事项运用实例分析说明3. 删除单条记录基本语法使用场景注意事项运用实例分析说明4. 删除违反引用完整性的记录基本语法使用场景注意事项运用实例分析说明5. 删…...

uniapp:跳转第三方地图

1.跳转第三方高德地图 //跳转地图 toMap(item){uni.navigateTo({url: (window.location.href https://uri.amap.com/navigation?to${item.lng},${item.lat},${item.shopName}&modecar&policy1&srchttps://gawl.gazhcs.com/wap/index.html&callnative0)}) },…...

深入浅出梯度下降算法:快速抵达函数最小值的方法

引言 梯度是机器学习和优化领域中不可或缺的概念,它为我们提供了理解和调整多维空间中函数行为的工具。本文将详细介绍梯度的定义、性质,并通过具体的一元和多元函数案例展示如何使用梯度下降算法找到最佳参数。 一、梯度的基础知识 1.1 定义与计算 梯…...

RWKV 语言模型

RWKV Language Model是一种独特的循环神经网络(RNN)架构的语言模型,具有诸多优势和特点,在自然语言处理领域展现出了良好的性能和应用潜力,以下是具体介绍: 核心原理 融合RNN与Transformer优点:…...

pycharm如何拉取一个git项目,然后,修改后再上传到自建的项目中?

以chattts为例 https://github.com/2noise/ChatTTS.git 1.建一个虚拟环境,用于项目使用 2.pycharm新建工程 3.忽略 提示 勾选,新建远程仓库 设置账号和密码 设置git路径,一般是正确的,点测试即可 &…...

Java 性能调优实战

性能调优是每个程序员在开发过程中都无法避免的课题,尤其在面对大规模、高并发的系统时,性能优化更是必不可少。本文将根据《Java 性能调优实战》课程的七个模块,深入探讨其中的核心内容,结合实际代码示例,帮助大家更好…...

ctfshow 每日练习 web 区 php特性 1-10

前置知识 这个php特性可以很好的练习我们的白盒简单代码的审计能力 web89 preg_match 正则匹配函数 (绕过 : 换行符绕过 (也可以利用他的数组返回数字进行绕过一下禁止字符的情况)) include("flag.php&q…...

《C++设计模式》单例模式

文章目录 1、简介2、单例模式的种类2.1 饿汉式单例模式:2.2 懒汉式单例模式: 3、单例模式的具体介绍3.1、饿汉式3.1.1、代码示例3.1.2、组成部分3.1.3、优缺点3.1.4、应用场景 3.2、懒汉式3.2.1、代码示例3.2.2、组成部分3.2.3、优缺点3.2.4、应用场景 4…...

mapbox进阶,添加路径规划控件

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️MapboxDirections 控件二、🍀添加路径规划控件1. ☘️实现思路2. ☘️…...

【论文阅读笔记】SCI算法与代码 | 低照度图像增强 | 2022.4.21

目录 一 SCI 1 SCI网络结构 核心代码(model.py) 2 SCI损失函数 核心代码(loss.py) 3 实验 二 SCI效果 1 下载代码 2 运行 一 SCI 💜论文题目:Toward Fast, Flexible, and Robust Low-Light Image …...

RAG实战:本地部署ragflow+ollama(linux)

1.部署ragflow 1.1安装配置docker 因为ragflow需要诸如elasticsearch、mysql、redis等一系列三方依赖,所以用docker是最简便的方法。 docker安装可参考Linux安装Docker完整教程,安装后修改docker配置如下: vim /etc/docker/daemon.json {…...

前路漫漫,曙光在望 !

起始 从20年大一开始写作至今,转眼五年时光已经过去了,最开始在CSDN这个平台写博客也只是因为一次机缘巧合情况下得知写博客可以获取奖赏,所以那个时期开始疯狂在CSDN发文记录自己编程学习过程,但是至今也未从写作中获利一分哈…...

特征工程-特征预处理

1.7 特征工程-特征预处理 学习目标 目标 了解什么是特征预处理知道归一化和标准化的原理及区别 1 什么是特征预处理 1.1 特征预处理定义 scikit-learn的解释 provides several common utility functions and transformer classes to change raw feature vectors into a represe…...

代码随想录算法训练营day22

代码随想录算法训练营 —day22 文章目录 代码随想录算法训练营前言回溯算法理论基础回溯法解决的问题回溯法模板 一、77. 组合二、216. 组合总和 III三、17. 电话号码的字母组合总结 前言 今天是算法营的第22天,希望自己能够坚持下来! 今日任务&#x…...

2024秋语法分析作业-B(满分25分)

特别注意:第17条产生式改为 17) Stmt → while ( Cond ) Stmt 【问题描述】 本次作业只测试一个含简单变量声明、赋值语句、输出语句、if语句和while语句的文法: 0) CompUnit → Block 1) Block → { BlockItemList } 2) BlockItemList → BlockItem…...

Python爬虫入门(1)

在互联网时代,数据成为了最宝贵的资源之一。Python作为一种功能强大的编程语言,因其简洁的语法和丰富的库支持,成为了编写网络爬虫的首选。本文将带你入门Python爬虫技术,让你能够从互联网上自动获取数据。 什么是爬虫&#xff1…...

鸿蒙1.2:第一个应用

1、create Project,选择Empty Activity 2、配置项目 project name 为项目名称,建议使用驼峰型命名 Bundle name 为项目包名 Save location 为保存位置 Module name 为模块名称,即运行时需要选择的模块名称,见下图 查看模块名称&…...

2024年常用工具

作为本年度高频使用工具,手机端也好,桌面端也好,筛选出来9款产品,这里也分享给关注我的小伙伴 ,希望对你有些帮助,如果你更好的产品推荐,欢迎留言给我。 即刻 产品经理的聚集地,“让…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

<6>-MySQL表的增删查改

目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表&#xf…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...