论文笔记:no pose,no problem-基于dust3r输出GS参数实现unpose稀疏重建

news2024/11/25 0:58:11

1.摘要

        我们引入了 NoPoSplat,这是一种前馈模型,能够从未设置的稀疏多视图图像中重建由 3D 高斯参数化的 3D 场景。 我们的模型专门使用光度损失进行训练,在推理过程中实现了实时 3D 高斯重建。

        为了消除重建过程中对准确pose的需要,我们将一个输入视图的本地相机坐标锚定为规范空间,并训练网络来预测该空间内所有视图的高斯基元。 这种方法不需要将高斯基元从局部坐标变换到全局坐标系,从而避免了与每帧高斯和姿态估计相关的错误。

        为了解决尺度模糊性,我们设计并比较了各种embedding方法,最终选择将相机内参embedding,并将其与图像token连接起来作为模型的输入,从而实现准确的场景尺度预测。 然后,我们利用重建的 3D 高斯函数进行新的视图合成和姿态估计任务,并提出了一个coarse-to-fine的pipeline来实现精确的姿态估计。

2.问题背景与相关工作

稀疏视角下的pose问题        

可泛化三维重建中,当前sota的工作(包括pixelsplat,mvsplat)旨在使用前馈网络预测 3D 辐射场,无需按场景优化即可实现逼真的结果,但它们需要精确的相机pose作为网络的输入,一般来说,pose是利用SFM从密集采集的图片数据中估计得到的,比如colmap,但是,在稀疏视角的条件下,很难利用SFM方法得到稀疏视角图片的pose,故而进一步进行GS重建也是无从谈起!并且,依赖于SFM的pipeline,会大量增加推理训练的时间,而且,如果场景中含有无纹理或者纹理很少或者没有足够重叠的共视图片都会导致SFM过程的失败,进而也是无法GS重建!

几种当前工作的不足与我们的工作

        最近的Dbarf,Flowcam,Hong et al., 2024等工作,将pose估计和3D场景重建整合起来,然而效果比sota的mvsplat(需要pose已知)差。性能差距源于姿态估计和场景重建之间交替的顺序过程,错误的pose使得重建退化,反过来又影响了pose估计。我们的方法证明完全不依赖相机姿势重建场景是可行的,从而消除了姿势估计的需要。然而,与 DUSt3R 不同,我们表明,可推广的重建网络可以仅在没有GT的深度信息的情况下使用光度损失进行训练,因此可以利用更广泛可用的视频数据。

        在pixelsplat和mvsplat中,高斯球的坐标需要首先在局部坐标系(相机坐标系)下得到,然后再利用pose变换transform进世界坐标,最后再把所有高斯球堆(fuse)到一起。我们的做法是,直接把第一个view的坐标系作为规范坐标系(世界坐标系),所以避免了相机变换带来的误差以及重建质量的损失。与变换然后融合的pipeline相比,我们要求网络直接在规范空间内学习不同视图的融合,从而消除显式坐标系变换引入的错位。

        我们在实验中观察到,pose-free方法在渲染新视角时存在显著的尺度不准确问题,我们后续发现,这和相机的焦距长度有关系,因为重建效果和图片质量相关,而图片质量受焦距影响!因此,我们设计并且比较了三种不同的方法用来编码相机内参,最后发现,把相机内参编码成为feature token然后和图片token进行concatenate就能使得网络很合理的预测scale,达到很好的效果

        mvsnerf,murf,pixelsplat各有千秋,但是这些基于几何先验的方法需要相机pose输入,并且输入视角之间要有重叠,相反,我们的网络基于vit,无需几何先验,效率更高,效果更好。最近的工作(wang,frahm)联合优化了pose和场景表达,但是需要一个粗略的初始化pose,另外,稀疏可泛化方法在推理的过程中需要pose,这是一个很大的挑战,因为这些姿势在测试期间在现实世界的应用中通常是不可用的。

        虽然两视图pose估计方法(wang,edstedt)存在,但是他们在无纹理区域或者共视很少的情况下会失败。一些最近的新视角合成方法(lee,smith,hong)尝试两阶段来解决此任务:首先估计位姿,然后重建场景。但是这些方法落后于以pose作为输入的方法,因为初始化pose估计引入了噪声,也进而影响了重建质量。

        我们的工作首先直接得到3dgs场景,然后再回头预测pose,避免了pose估计中的潜在噪声,还能更好的获得场景重建 ,一个之前的工作splatt3r也是在全局坐标系中得到了3dgs,但是依赖于一个冻结的mast3r,这在新视角合成中是不合适的,因为masr3r难以平滑地从不同的视角合并场景内容。另外,splatt3r需要深度GT,所以他不能用于没有深度GT或者相机pose的大规模视频数据。

        对于位姿估计,我们先利用pnp得到一个粗略估计,然后,通过这个位姿渲染图片,再通过图片与GT的损失,回传到位姿进行优化。

        我们的方法在 NVS 和姿态估计任务中都表现出色。 对于 NVS,我们首次证明,当在相同设置下对相同数据集进行训练时,无pose方法可以优于依赖姿势的方法,特别是当两个输入图像之间的重叠很小时。 在姿态估计方面,我们的方法在多个基准测试中显着优于先前的 SOTA。 此外,NoPoSplat 可以很好地推广到分布外的数据。 由于我们的方法不需要输入图像的相机姿势,因此它可以应用于用户提供的图像来重建底层 3D 场景并渲染新颖的视图。 为了说明这一点,我们将我们的模型应用于手机捕获的稀疏图像对,以及从 Sora 生成的视频中提取的稀疏帧(OpenAI,2024)。

3.方法

3.1问题设置

        我们的输入是稀疏无pose图片一级对应的相机内参{​{I^{v},k^{v}}}_{v=1}^{V},其中V是视角数量,然后通过学习一个前馈神经网络f_{\theta },在规范空间将{​{I^{v},k^{v}}}_{v=1}^{V}映射到3D高斯,以表达一个场景的几何与外观:

箭头右边表示一个高斯球的集合,每一个高斯球又括号里面的中心位置、透明度、旋转向量、尺度因子、k个自由度的球谐函数。

        通过在大规模数据集上的训练,我们的方法可以推广到新的场景,而不需要任何优化。得到的标准空间中的3D高斯直接实现了两个任务:a)给定目标摄像机相对于第一个输入视图的变换,合成新的视图,以及b)不同输入视图之间的相对姿态估计。接下来,我们将介绍我们的整体流水线。

3.2pipeline

        我们的pipeline如图2所示,包括三个主要组件:编码器、解码器和高斯参数预测头。编码器和解码器都使用纯视觉转换器(VIT)结构,而不注入任何几何先验(例如,PixelSplat中采用的核线约束(Charatan等人,2024),或MVSplat中的代价体(Chen等人,2024))。我们在实验中的结果显示,这种简单的VIT网络作为主干的pipeline表现,与结合了几何先验的pipeline效果相当或者更换更,特别是在输入视图之间内容重叠有限的情况下。这一优势源于这样一个事实,即这样的几何先验通常需要输入相机之间的大量重叠才能有效。

        首先还是dust3r的基础架构:RGB图像被划分为多个patch,然后展平成为图像序列token,然后与内参token连接起来,最后送入vit里面的encoder,encoder共享权重,接下来,encoder输出的feature送入decoder,其中每个view的feature与其他view的feature做cross-attention,促进多视信息交互。

        为了预测高斯参数,我们使用了两个基于DPT结构的head,第一个head关注高斯中心,第二个head预测其余参数,除了解码器特征,还输入了RGB图像,这种RGB图像快捷方式确保了纹理信息的直接流动,这对于在3D重建中捕捉到精细的纹理细节至关重要。这种方法补偿了VIT解码器输出的高级特征,这些特征被下采样16倍,这些特征主要是语义的,并且缺乏详细的结构信息。

3.3输出高斯空间的分析

        虽然我们的方法与以前的工作(pixelsplat,GPS-Gaussian,splatter image)在预测输入图像的像素高斯方面具有类似的想法,但我们在输出高斯空间上有所不同。下面,我们首先讨论已有方法中的局部到全局的高斯空间及其固有的局限性,再介绍我们的标准高斯空间。        

baseline:Local-to-Global Gaussian Space

        先前的工作中,高斯基元的坐标关系是从Local-to-Global的,即对于每一个input view首先预测每一个像素对应的深度(在dust3r的框架下,一个pixel对应一个3D点,自然就是一个高斯球的中心),然后利用这个深度以及相机内参将已经预测得到的高斯参数lift到高斯基元,注意,这个高斯基元是在local坐标系的,也就是这个input view下的,最后再将这个局部坐标下的所有高斯球利用相机外参R,t(也就是每一个视角的R,t)变换到global坐标系,这样,我们完成了整个场景的global坐标系下的重建。

        简单来说,就是对于每一个view,都要完成先局部推理,然后再经过坐标系变换进全局坐标系下,这是一个很麻烦并且很难的过程

        这样的做法会有两个问题:首先,对于一个Gaussian primitive来说,local2global的变换需要一组非常准确的相机pose,我们要解决的是稀疏视角下的重建问题,所以很难得到这样一个pose(前面介绍中也有提到)。第二,transform-then-fuse的方法很难将来自不同视角(也就是不同的local坐标系)的3DGaussian统一到同一个global坐标系下,特别是当输入视角的共视内容不多或者推广到out-of-distribution data时,如图5,6所示

图5可以看到target视角下渲染的效果和深度图,以及mvsplat和pixelsplat有畸变和偏移的区域

图6可以看到在out-of-distribution上各个模型的表现

Proposed: Canonical Gaussian Space.

        我们的做法是:直接输出不同视角在一个规范坐标系统下的Gaussian,特别是我们约定第一个输入视角作为global坐标系,因此,第一个输入视角的pose可以表示为\left [ U| 0\right ],其中U为单位矩阵,0表示平移矩阵,在这个规范坐标系下,神经网络输出所有input view的Gaussian。用公式记作,其中v\rightarrow 1表示在视角v下任意像素p_{j}对应的高斯参数,然后这个Gaussian是在view1下的坐标系中。我们再回头看看前面的公式1就可以发现不同:

        直接在规范空间下进行预测提供了几个好处。首先,该网络学会了直接在规范空间内融合不同的view,消除了对相机pose的需求。其次,绕过变换然后融合的步骤导致了内聚的全局表示,这进一步解锁了对输入未设定的视图的姿势估计的应用。

这里遗留一个问题,Canonical Gaussian这一步具体到底是怎么做的,有待查看代码来了解补充!!

3.4相机内参的embedding

        我们的网络输入还包括每个输入视图的相机内参 k。 这是解决固有比例失调并提供提高 3D 重建质量的基本几何信息所必需的(参见消融实验图 8 和表 5 中的“无内参”)。 我们引入了三种不同的编码策略,将相机内参注入到我们的模型中。我们比较了性能效果最终选择了intrinsic token Concat image token的方式。

Global Intrinsic Embedding - Addition.

        简单粗暴地将内参送进线性层获得global特征,该特征在ViT的patch embedding层之后被广播并添加到RGB图像特征中。

Global Intrinsic Embedding - Concat

        获得全局特征后,将其视为额外的内参token,并将其与所有图像token连接在一起。

Dense Intrinsic Embedding

对于任一view中的像素p_{j},我们计算它的相机光线方向K^{-1}p_{j},这里K是相机内参k的矩阵形式,然后这些光线使用球谐函数转换为高维特征,再concat到RGB图片作为神经网络的输入。这就是相机内参的像素级嵌入,请注意,像素级嵌入可以被视为广泛使用的PLUCKER射线嵌入(Dmv3d,Lgm)的简化版本,因为不需要相机外参。

3.5训练和推理

关于训练

        我们的网络使用RGB图像的GT作为监督进行端到端的训练。我们follow了mvsplat的loss,使用MSE和LPIPS的线性组合,权重分别为1和0.05。

pose估计

        为了进行有效的姿态估计,我们提出了一种two-step方法。 首先,给定世界坐标中的高斯球中心(也就是前面提到的pixel对齐的3D点),也就是给定了点云(PnP是点云方法),我们使用 PnP 和 RANSAC估计输入两个视图的初始相关相机位姿( 此步骤非常高效并且在几毫秒内完成)。 接下来,冻结高斯参数,我们通过模型训练中 SSIM 光度损失的一部分来优化前面的初始pose。一句话总结,pose估计是在训练好模型的情况下,初始化一个粗的pose,然后用模型渲染pose,然后用loss最小化来迭代,一直优化

4.实验

        我们按照(Charatan等人,2024;Chen等人,2024)中的设置,分别在RealEstate10k(RE10K)和ACID数据集上训练和评估我们的方法。RE10K主要包含室内房地产视频,而ACID则以无人机拍摄的自然场景为特色。两者都包括使用COLMAP计算的相机姿势。为了进一步扩大我们的模型训练规模,我们还将RE10K与DL3DV结合在一起,DL3DV是一个包含10K视频的户外数据集,它包括比RE10K更广泛的相机运动模式。

        此外,对于zero-shot泛化,我们还在DTU(以对象为中心的场景)、ScanNet和ScanNet++(具有与RE10K不同的相机运动和场景类型的室内场景)上进行了测试。我们还展示了我们在野外手机捕获以及由文本到视频模型生成的图像方面的方法(OpenAI,2024)。

评价指标

        我们使用常用的度量标准:PSNR、SSIM和LPIPS来评估新的视图合成。对于位姿估计,我们报告了累积位姿误差曲线下的面积,阈值为5◦、10◦、20◦

baseline

        我们在新的视图合成方面与Sota稀疏视图概括方法进行了比较:1)需要pose:PixelNeRF(Yu等人,2021),AttnRend(Du等人,2023),PixelSplat(Charatan等人,2024),和MVSplat(Chen等人,2024);2)无pose:DUSt3R(Wang等人,2024),MASt3R(Leroy等人,2024),Splatt3R(Smart等人,2024),CoPoNeRF(Hong等人,2024)和Roma(Edstedt等人,2024)。对于相对位姿估计,我们也与2)中的方法进行了比较。

实现

        使用 PyTorch,编码器是一个普通的 ViT-large 模型,patch大小为 16,解码器是 ViT-base。 我们使用 MASt3R 的权重初始化编码器/解码器和高斯中心头,而其余层则随机初始化。 请注意,如附录所示,我们的方法也可以仅使用 RGB 监督进行训练(无需 MASt3R 的预训练权重),并且仍能实现类似的性能。 我们以两种不同的分辨率(256 × 256 和 512 × 512)训练模型。

4.1实验结果于分析

1.新视角合成

        如表1所示。 如图 2 和图 4 所示,NoPoSplat 显着优于所有 SOTA 无姿态方法。 请注意,DUSt3R(和 MASt3R)由于依赖于每像素深度损失而难以连贯地融合输入视图,Splatt3R 也继承了其冻结的 MASt3R 模块的限制。 另一方面,我们实现了比 SOTA 姿态要求方法有竞争力的性能(Charatan et al., 2024; Chen et al., 2024),甚至当输入图像之间的重叠很小时表现优于它们,如图 4 所示 第一行(图4左侧显示重叠率)。 这清楚地表明了我们模型在规范空间中的 3D 高斯预测相对于基线方法的变换然后融合策略的优势,如第 3.3.节中所讨论的。

2.相对位姿估计

        我们的方法是在RE10K或RE10K和DL3DV的组合上训练的。表3表明,在涉及DL3DV的情况下,当扩展训练时,性能持续提高。这可以归因于RE10K上DL3DV中相机运动的更大变化。值得注意的是,我们的方法在ACID和ScanNet-1500上甚至显示出优越的zero-shot性能,甚至优于在ScanNet上训练的Sota方法Roma。这不仅表明了我们的姿势估计方法的有效性,而且还表明了我们输出的3D几何体的质量。下一部分验证了这一点。

3.几何重建

        与SOTA的要求输入pose的方法相比,我们的方法还输出了显著更好的3D高斯和深度,如图5所示。仔细观察,MVSplat不仅在两个输入图像的相交区域(由蓝色箭头表示)中存在未对齐的问题,而且在没有足够重叠的区域(由洋红色箭头表示)中还存在扭曲或不正确的几何图形。这些问题在很大程度上是由于transform-then-fuse pipeline中引入的噪声。我们的方法直接在规范空间中预测高斯,解决了这个问题。

4.跨数据集的泛化性

        我们还评估了模型的零样本性能,我们仅在 RealEstate10k 上进行训练,并将其直接应用于 ScanNet++(Yeshwanth 等人,2023)和 DTU(Jensen 等人,2014)数据集。 结果如图 6 和表 2 所示。 图 4 表明,与 SOTA 姿态要求方法相比,NoPoSplat 在分布外数据上表现出优越的性能。 这一优势主要源于我们网络结构中最小的几何先验,使其能够有效地适应各种类型的场景。 值得注意的是,即使在训练 Splatt3R 的 ScanNet++ 上,我们的方法也优于 Splatt3R。

5.In-the-Wild Unposed Images

        我们的方法最重要的优点之一是它可以直接推广到In-the-Wild Unposed Images。我们测试了两种类型的数据:用手机随意拍摄的图像,以及从SORA生成的视频中提取的图像帧(OpenAI,2024)。图7中的结果表明,我们的方法可以潜在地应用于文本/图像到3D场景的生成,例如,人们可以首先使用文本/图像到多图像/视频模型来生成稀疏的场景级多视图(Gao等人,2024;OpenAI,2024),然后将这些提取的未定位图像馈送到我们的模型并获得3D模型。

4.2 ablation

1.规范空间的有效性

        为了证明我们在规范空间fuse高斯的有效性,我们将其与pose要求方法通常使用的transform-then-fuse pipeline进行比较(Charatan等人,2024;Chen等人,2024)。具体地说,它首先预测每个局部摄像机坐标系中的高斯,该坐标系使用摄像机姿势转换到世界坐标系。

        为了公平比较,这两种方法使用相同的网络主体和head。表5第(F)行中的结果表明,我们的no pose 规范空间预测方法的性能优于这种有姿势要求的策略。

        图8显示出了变换然后融合策略导致渲染中的重影伪影,因为当变换到全局坐标时,它很难对齐两个输入视图的两个单独的高斯。

2.相机内参编码的有效性

        我们展示了SEC中描述的三种内参编码。首先,我们可以在Tab5中看到行(B)和图8没有内在编码导致结果模糊,因为尺度歧义混淆了模型的学习过程。其次,我们注意到,在这三种尝试的内参编码中,intrinsic token始终执行得最好,因此,我们使用它作为默认的内部编码。

3.RGBShortcut的有效性

        如3.2中所述,除了低分辨率的VIT特征外,我们还将RGB图像输入到高斯参数预测头中。如图8所示,当没有RGB快捷方式时,渲染的图像在纹理丰富的区域模糊。

4. 3 views

        为了与baseline进行公平的比较,我们主要使用两个输入视图设置进行实验。在这里,我们通过在两个原始输入视图之间添加一个额外的视图,使用三个输入视图显示结果。如表5第(G)行所示,通过包含附加视图,性能显著提高。

5.conclusion

        本文介绍了一种简单而有效的通用稀疏视图三维重建的无姿势方法。通过在标准空间中直接预测任意给定的未定位多视角图像的3D高斯分布,我们在新视角合成和相对姿态估计方面表现出了优越的性能。虽然我们的方法目前只适用于静态场景,但将我们的管道扩展到动态场景为未来的工作提供了一个有趣的方向。

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

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

相关文章

godot--自定义边框/选中时样式 StyleBoxTexture

前提知识: stylebox就像一个贴图,把图案贴到控件是。多个stylebox同时生效的话,那当然也有层级之分,上层覆盖下层(可以设置透明度来显示下层) 关于主题的概念: godot——主题、Theme、StyleB…

ReactPress 安装指南:从 MySQL 安装到项目启动

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。 ReactPress 是一个基于 React 的开源发布平台,适用于搭建博客、网站或内容管理系统(CMS)。本文将详细介绍如何安装 ReactPress,包括…

BMC运维管理:IPMI实现服务器远控制

IPMI实现服务器远控制 实操一、使用IPMI重置BMC用户密码实操二、使用IPMI配置BMC的静态IP实操三、IPMI实现BMC和主机控制操作实操四、ipmitool查看服务器基本信息实操五、ipmitool实现问题定位BMC(Baseboard Management Controller,基板管理控制器)是服务器硬件的一个独立管…

手机上用什么方法可以切换ip

手机上用什么方法可以切换IP?在某些特定情境下,用户可能需要切换手机的IP地址,以满足网络安全、隐私保护或绕过地域限制等需求。下面以华为手机为例,将详细介绍手机IP地址切换的几种方法,帮助用户轻松实现这一目标。 一…

鸿蒙多线程开发——并发模型对比(Actor与内存共享)

1、概 述 并发是指在同一时间段内,能够处理多个任务的能力。为了提升应用的响应速度与帧率,以及防止耗时任务对主线程的干扰,HarmonyOS系统提供了异步并发和多线程并发两种处理策略。 异步并发:指异步代码在执行到一定程度后会被…

【NLP】使用 PyTorch 从头构建自己的大型语言模型 (LLM)

读完这篇文章后,你会取得什么成就?你将能够自己构建和训练大型语言模型 (LLM),同时与我一起编写代码。虽然我们正在构建一个将任何给定文本从英语翻译成马来语的 LLM,但你可以轻松地修改此 LLM 架构以用于其他语言翻译任务。 LLM…

css:还是语法

emmet的使用 emmet是一个插件&#xff0c;Emmet 是 Zen Coding 的升级版&#xff0c;由 Zen Coding 的原作者进行开发&#xff0c;可以快速的编写 HTML、CSS 以及实现其他的功能。很多文本编辑器都支持&#xff0c;我们只是学会使用它&#xff1a; 生成html结构 <!-- emme…

YOLO即插即用---PConv

Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks 论文地址&#xff1a; 1. 论文解决的问题 2. 解决问题的方法 3. PConv 的适用范围 4. PConv 在目标检测中的应用 5. 评估方法 6. 潜在挑战 7. 未来研究方向 8.即插即用代码 论文地址&#xff1a; …

小白NAS磁盘规划实践:一次科学、高效的存储旅程

引言 如今,数字化生活正逐步渗透到我们生活的方方面面。从家庭影音到工作文件,从珍贵的照片到大型游戏库,数据的存储需求日益增加。许多朋友开始关注NAS(网络附加存储)设备。作为一个专为数据存储和管理设计的系统,NAS能为我们提供安全、高效的存储方案。但如何科学地规…

ADC前端控制与处理模块--AD7606_Module

总体框架 AD7606_Module主要由3个模块组成组成&#xff0c;AD7606_Data_Pkt和AD7606_Drive以及AD7606_ctrl。 1.AD7606_Data_Pkt主要作用是把AD芯片数据组好数据包&#xff0c;然后发送给上位机&#xff1b; 2.AD7606_Drive主要负责和芯片的交互部分 3.AD7606_ctrl控制模块的作…

注意力机制篇 | YOLO11改进 | 即插即用的高效多尺度注意力模块EMA

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。与传统的注意力机制相比&#xff0c;多尺度注意力机制引入了多个尺度的注意力权重&#xff0c;让模型能够更好地理解和处理复杂数据。这种机制通过在不同尺度上捕捉输入数据的特征&#xff0c;让模型同时关注局部细节和全局…

dell服务器安装ESXI8

1.下载镜像在官网 2.打开ipmi&#xff08;idrac&#xff09;&#xff0c;将esxi镜像挂载&#xff0c;然后服务器开机 3.进入bios设置cpu虚拟化开启&#xff0c;进入boot设置启动选项为映像方式 4..进入安装引导界面3.加载完配置进入安装 系统提示点击继 5.选择安装磁盘进行…

Linux -- 操作系统(软件)

目录 什么是操作系统&#xff1f; 计算机的层状结构 为什么要有操作系统 操作系统到底层硬件 驱动程序 操作系统如何管理硬件&#xff1f; 操作系统到用户 系统调用接口 库函数 回到问题 什么是操作系统&#xff1f; 操作系统&#xff08;Operating System&#xf…

【大数据算法】MapReduce算法概述之:MapReduce基础模型

MapReduce基础模型 1、引言2、MapReduce基础模型2.1 定义2.2 核心原理2.3 优点2.4 缺点2.5 局限性2.6 实例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c;鱼哥&#xff0c; 不得了啊 小鱼&#xff1a;啥事情这么慌慌张张的 小屌丝&#xff1a;这不是慌张啊 小鱼&#x…

深入解析 Transformers 框架(四):Qwen2.5/GPT 分词流程与 BPE 分词算法技术细节详解

前面我们已经通过三篇文章&#xff0c;详细介绍了 Qwen2.5 大语言模型在 Transformers 框架中的技术细节&#xff0c;包括包和对象加载、模型初始化和分词器技术细节&#xff1a; 深入解析 Transformers 框架&#xff08;一&#xff09;&#xff1a;包和对象加载中的设计巧思与…

商品详情 API 接口的返回结果通常包含哪些信息?

商品详情 API 接口的返回结果通常包含以下几类信息&#xff1a; 一、商品基本信息&#xff1a; 商品 ID&#xff1a;唯一标识商品的编号&#xff0c;在电商平台的数据库中具有唯一性&#xff0c;用于区分不同的商品。商品标题&#xff1a;对商品的简要描述&#xff0c;通常包…

探索 Seata 分布式事务

Seata&#xff08;Simple Extensible Autonomous Transaction Architecture&#xff09;是阿里巴巴开源的一款分布式事务解决方案&#xff0c;旨在帮助开发者解决微服务架构下的分布式事务问题。它提供了高效且易于使用的分布式事务管理能力&#xff0c;支持多种事务模式&#…

AI写作(七)的核心技术探秘:情感分析与观点挖掘

一、AI 写作中的关键技术概述 情感分析与观点挖掘在 AI 写作中起着至关重要的作用。情感分析能够帮助 AI 理解文本中的情感倾向&#xff0c;无论是正面、负面还是中性。在当今信息时代&#xff0c;准确把握用户情绪对于提供个性化体验和做出明智决策至关重要。例如&#xff0c;…

容器化技术入门:Docker详解

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 容器化技术入门&#xff1a;Docker详解 容器化技术入门&#xff1a;Docker详解 容器化技术入门&#xff1a;Docker详解 引言 Doc…

Flutter运行App时出现“Running Gradle task ‘assembleDebug“问题解决

在参考了众多解决办法中最有用并且最快的方法 Gradle Distributions 在这个地方下载对应你这个文件中的gradle版本 然后将 最后一行本来不是这样的,我们把下载好的zip包保存到本地,然后用这个代替网址,最后成功运行