【三维重建】FeatureGS:特征值优化的几何精度和伪影减少3DGS的重构
文章:https://arxiv.org/pdf/2501.17655
标题:FeatureGS: Eigenvalue-Feature Optimization in 3D Gaussian Splatting for Geometrically Accurate and Artifact-Reduced Reconstruction
文章目录
- 摘要
- 一、引言
- 二、相关工作:3D特征
- 三、算法
- 3.1 Photometric Loss 光度损失
- 3.2 Geometric Loss
- 3.2.1 Covariance Matrix
- 3.2.2 Eigenvalue Normalization 特征值归一化
- 3.2.3 Gaussians Geometric Loss
- 3.2.4 Gaussians Neighborhoods Geometric Loss
- 3.3 光度-几何损失
- 四、实验
- 总结
摘要
三维高斯溅射(3DGS)是一种功能强大的利用三维高斯数据重建三维场景的方法。然而,高斯模型的中心和表面都不能精确地对齐,这使得它们在点云和网格重建中的直接使用复杂化。此外,3DGS通常会产生artifacts,从而增加高斯数和存储需求。
为了解决这些问题,我们提出了FeatureGS,它将一个基于特征值导出的三维形状特征的附加几何损失项合并到3DGS的优化过程中。目的是提高局部三维邻域的几何精度,提高平面表面结构熵的性质。我们提出了基于高斯分布的“平面性planarity”,以及高斯邻域的“平面度planarity”、“全方差omnivariance”和“特征熵eigenentropy”的几何损失项的四种可选公式。我们对DTU基准数据集的15个场景进行了定量和定性的评估,重点关注以下关键方面:几何精度和伪影减少,由倒角距离测量,和内存效率,由高斯的总数评估。此外,渲染质量是由峰值信噪比监测的。FeatureGS在几何精度方面提高了30%,减少了90%的高斯数,并抑制了浮动伪影,同时保持了可比的光度渲染质量。高斯函数的“平面性”几何损失提供了最高的几何精度,而高斯邻域的“全方差”最多地减少了漂浮物的人为因素和高斯函数的数量。这使得FeatureGS成为一种几何精确、伪影减少和记忆有效的三维场景重建的强方法,从而能够直接使用高斯中心进行几何表示。
一、引言
自神经辐射场(NeRFs)[18]的引入以来,几何三维场景重建的创建发展迅速。在nerf中,一个网络通过估计每个位置和方向的颜色和体积密度来隐式地描述场景。相比之下,三维高斯溅射(3DGS)为三维场景和点云重建提供了新的可能性,因为它通过三维高斯分布来表示场景。这些都是椭球状的结构,以缩放、旋转和颜色为特征。在优化过程中,将三维高斯分布投影到图像上。为了最小化渲染图像和训练图像之间的光度误差,对高斯分布进行了细化和适应。与NeRF不同,3DGS中的高斯分布明确地表示了据称存在几何信息的场景。然而,高斯分布的中心和表面并不能直接代表物体表面,这使得它们直接用于三维点云和网格重建显得不切实际。此外,3DGS经常会导致浮动工件,这进一步增加了已经很高的高斯函数,从而增加了存储需求。
在这项工作中,我们提出了FeatureGS,它包含了四种基于特征值导出的三维形状特征的附加几何损失项的不同公式到3DGS的优化过程中。三维形状特征被广泛应用于语义解释和点云分类[25,26]的任务。因此,由一个点及其局部邻域推导出的三维协方差矩阵(三维结构张量)是描述这种形状性质[25]的著名特征。三个特征值 λ 1 ≥ λ 2 ≥ λ 3 ≥ 0 λ_1≥λ_2≥λ_3≥0 λ1≥λ2≥λ3≥0对应于一个正交的特征向量系统( ϵ 1 , ϵ 2 , ϵ 3 ϵ_1,ϵ_2,ϵ_3 ϵ1,ϵ2,ϵ3),表示三个椭球主轴的方向(旋转),对应于三维椭球沿主轴的范围(尺度)。根据特征值的行为,可以描述λ1、λ2和λ3的结构。FeatureGS旨在提高高斯分布的几何精度,通过降低结构熵的局部三维邻域增强平面曲面的性质。首先,与之前的扁平化方法[3,6,9,11]一样,FeatureGS的目标是通过增强高斯特征的“平面性”作为三维特征来实现三维高斯特征的扁平化,以获得更高的高斯中心几何精度。其次,点云的真实物理情况可以用single value[10]的可解释的几何特征来描述。为了增强邻域中三维高斯中心的结构表示,特别是对于与曼哈顿-词假设的人造对象(曼哈顿世界假设Manhattan World Assumption 假设人造环境中的主要结构(如墙壁、地板、天花板等)倾向于沿着三个正交的主方向(通常是笛卡尔坐标系的 xyz 轴)对齐),我们利用了由每个高斯分布的k-最近邻(kNN)得到的邻域三维特征。通过在几何损失中加入“平面性”、“全方差”或“特征熵”的三维特征,加强了具有结构熵的平面为优势的局部三维结构的表征。
我们研究了FeatureGS的不同几何损失项的结合是否可以通过加强高斯和高斯邻域的特定三维形状特性来提高高斯中心的三维几何精度和抑制伪影。评估的重点是倒角云到云的距离,以实现几何三维精度和伪影减少,以及表示场景的记忆效率所需的高斯数总数。虽然我们的主要目标是实现精确的几何表示和有效的内存使用,但我们还报告了渲染质量,通过峰值信噪比(PSNR)来测量,以确保场景重建的一致性。对来自DTU基准数据集的15个场景进行了实验。
通过将三维形状特征属性集成到三维高斯飞溅的优化过程中,FeatureGS在几何精度、浮动伪影抑制和记忆效率之间取得了显著的平衡。FeatureGS提高了几何精度,使高斯中心可以作为一个更精确的几何表示。此外,FeatureGS减少了表示与3DGS相同渲染质量的场景所需的高斯数总数。所得到的三维场景重建与高精度高斯中心的几何表示是伪影减少和记忆效率。
二、相关工作:3D特征
有几种类型的三维特征用于基于点云的应用程序,如分类、配准或校准。不能直接解释的复杂特征是描述符,如形状上下文3D(SC3D)[8]、定向直方图的签名(SHOT)[22]或快速点特征直方图(FPFH)[20]。相比之下,可解释特征,如局部二维和三维形状特征。为了描述三维点周围的低结构,通常考虑局部邻域中其他三维点的空间排列。因此,三维协方差矩阵,也被称为三维结构张量,是众所周知的,适合于表征三维数据的形状性质。
它是从点本身和它的局部邻居显式地导出的。三个特征值 λ 1 ≥ λ 2 ≥ λ 3 ≥ 0 λ_1≥λ_2≥λ_3≥0 λ1≥λ2≥λ3≥0对应于一个正交的特征向量系统( ϵ 1 , ϵ 2 , ϵ 3 ϵ_1,ϵ_2,ϵ_3 ϵ1,ϵ2,ϵ3),表示三个椭球主轴的方向(旋转),对应于三维椭球沿主轴的范围(尺度)。基于特征值λ1、λ2和λ3的行为,可以描述线性( λ 1 ≫ λ 2 , λ 3 λ_1≫λ_2,λ_3 λ1≫λ2,λ3)、平面( λ 1 ≈ λ 2 ≫ λ 3 λ_1≈λ_2≫λ_3 λ1≈λ2≫λ3)和球形( λ 1 ≈ λ 2 ≈ λ 3 λ_1≈λ_2≈λ_3 λ1≈λ2≈λ3)结构。在过去的几十年里,几何三维形状特征的使用已经在不同的领域发表了成千上万的出版物。它们特别用于点云的自动语义解释和分类[24–26]。也用于三维点云的校准[10]或配准[2]
三、算法
使用一个基于三维形状特征的附加几何损失项来描述FeatureGS(图1)。这些特征是由协方差矩阵的特征值推导出来的,并为每个高斯及其邻域高斯的空间结构提供了insights。几何损失与3DGS中使用的光度损失相结合,创建了光度-几何损失。
3.1 Photometric Loss 光度损失
光度损失使用像素级比较,度量渲染图像和真实图像之间的相似性,包括L1损失和结构相似性指数(SSIM)项,以捕捉图像之间的亮度、对比度和结构上的差异:
3.2 Geometric Loss
基于特征值推导出的三维形状特征,我们引入了四种不同的新型附加几何损失项,以增强三维高斯分布本身和邻域高斯分布中心的特定性质(见图2)。对于 第一种方法,目标是压平(flatten)高斯 ,以实现高斯中心的高几何精度。这是通过将几何损失项中每个高斯值本身的特征值(scale)(图3a)的三维形状特征“平面性”来实现的; 对于第二种方法,使用协方差矩阵(每个高斯中心的k(kNN)最近邻(图3b)的三维形状特征 ,加入一个基于邻域的几何损失项。为了增强与Manhattan-Word-Assumption一致的人造物体局部三维结构的具体表征,我们加强了平面表面的优势和结构熵(predominance of planar surfaces, structural entropy)。这是通过高斯邻域三维形状特征“平面性”、“全方差”和“特征熵”来完成的,即planarity,omnivariance以及eigenentropy。
3.2.1 Covariance Matrix
高斯。3DGS是一种场景的显式三维表示,每个点的特征是缩放、旋转和颜色,包括不透明度。缩放分量可以类似于协方差矩阵的三个特征值 s 1 ≥ s 2 ≥ s 3 ≥ 0 s_1 ≥ s_2 ≥ s_3 ≥ 0 s1≥s2≥s3≥0,旋转分量可以解释为协方差矩阵的特征向量 ( ε 1 、 ε 2 、 ε 3 ) (ε_1、ε_2、ε_3) (ε1、ε2、ε3)。通过使用高斯协方差矩阵的归一化特征值(尺度)(图3a),我们计算了三维形状特征。
高斯邻域。三维空间中高斯的中心点 p 0 p_0 p0,它的k近邻{ p 1 , p 2 , . . . , p k p_1,p_2,...,p_k p1,p2,...,pk}。该邻域的质心,以及邻域(图3b)的协方差矩阵计算为:
3.2.2 Eigenvalue Normalization 特征值归一化
然后将归一化的特征值 s 1 ′ s 2 ′ s 3 ′ s'_1s'_2s'_3 s1′s2′s3′和 λ 1 ′ λ 2 ′ λ 3 ′ λ'_1λ'_2λ'_3 λ1′λ2′λ3′按降序排列
3.2.3 Gaussians Geometric Loss
平面性度量了高斯分布与平面结构相似的程度;平面性高斯损失,偏向于高平面性:
3.2.4 Gaussians Neighborhoods Geometric Loss
为了增强人造物体的三维点云所表现出的结构特性,我们使用每个点的k-近邻合并了一个基于邻居的几何损失。通过几何邻域损失,实现了局部邻域中具有减少的结构熵的平面表面的表征。
Neighborhood Planarity。 与保持单个高斯的平面性类似,我们希望根据Manhattan-Word-Assumption和其他(几乎)平面表面来增强人造物的性质,并抑制高斯在邻域内的球面扩散。因此,除了高斯分布的平面性外,我们还利用邻域的平面性,以及对应的neighborhood planarity loss:
Neighborhood Omnivariance。 全方差表示邻域的体积,并表示点是否分散在局部各个方向上,是点云分类的一个高度相关的特征。最小化邻域全方差损失,能减少点的局部分散:
Neighborhood Eigenentropy。 特征熵通过基于归一化特征值测量局部三维邻域内的熵来量化邻域点局部结构的有序/无序性,是一个很好的三维特征来表征平面点云结构。特征熵和邻域特征熵损失定义如下,最小化邻域特征熵损失有利于最小化无序性,从而降低三维点的熵
3.3 光度-几何损失
四、实验
数据集与指标。数据采用DTU,由真实对象场景组成,包括49或64张RGB图像、相应的相机姿态,以及从结构化光扫描仪(SLS)获得的参考点云。评估采用了三维几何精度,需要表示场景的高斯数(兼顾效率和渲染质量)。三维评估采用了倒角cloud-to-cloud距离。表面精度的评估,使用DTU评估程序[14],它mask out了10 mm以上的点(后处理:剔除距离参考表面即GT表面超过 10 mm 的点,来过滤掉重建结果中的噪声和离群点,从而提高表面精度评估的可靠性)。此外,我们对所有点使用倒角cloud-to-cloud距离来评估对象外部的floater artifacts的存在。低倒角距离表明高精度和较少的伪影。使用dB中的峰值信噪比(PSNR)来评估图像的二维渲染质量
实验配置。采用NVIDIA RTX3090 GPU上,学习率为:球谐特征0.0025,不透明度调整为0.05,缩放操作为0.005,旋转转换为0.001。训练3DGS15 000次迭代,为了进行公平的比较,我们考虑达到相同PSNR值时提前停止训练。
优化的光度损失由式1中的损失函数给出,默认为θ = 0.2。公式12选择了 h p h o t o h_{photo} hphoto = 0.05的加权。这是基于超参数调优,见图7,以在渲染质量和几何精度之间创建一个适当的平衡。随着高斯分布的三维分布及其中心通过优化而发生变化,我们确定了一个固定数量的kNN = 50 [26]的近邻。 通过训练过程中点的变量分布和密度,我们的目标是实现类似于多尺度[1]邻域的效果,这在点云分类任务中已被证明是鲁棒性的。
可以观察到,在训练过程中,3DGS的倒角云-云距离(图4)都在不断增加。例如,在场景40的情况下,距离上升到大约50毫米。相比之下,对于所有的几何FeatureGS损失,距离在整个训练过程中始终保持较低。只有轻微的增加,这是由于来自SfM的初始点云具有最高的精度,并且FeatureGS也重建了不在(不完整的)参考点云中的点。对于扫描40,这个距离稳定在4-5毫米左右。这表明,与FeatureGS不同,3DGS训练过程包含了大量具有较高几何不准确性的点。
不同的 h p h o t o h_{photo} hphoto配置下的各种指标:
指标对比:
总结
d \sqrt{d} d 1 8 \frac {1}{8} 81 x ˉ \bar{x} xˉ x ^ \hat{x} x^ x ~ \tilde{x} x~ ϵ \epsilon ϵ
ϕ \phi ϕ
相关文章:
【三维重建】FeatureGS:特征值优化的几何精度和伪影减少3DGS的重构
文章:https://arxiv.org/pdf/2501.17655 标题:FeatureGS: Eigenvalue-Feature Optimization in 3D Gaussian Splatting for Geometrically Accurate and Artifact-Reduced Reconstruction 文章目录 摘要一、引言二、相关工作:3D特征三、算法3…...
请解释一下Standford Alpaca格式、sharegpt数据格式-------deepseek问答记录
1 Standford Alpaca格式 json格式数据。Stanford Alpaca 格式是一种用于训练和评估自然语言处理(NLP)模型的数据格式,特别是在指令跟随任务中。它由斯坦福大学的研究团队开发,旨在帮助模型理解和执行自然语言指令。以下是该格式的…...
WPS的AI助手进化跟踪(灵犀+插件)
Ver V0.0 250216: 如何给WPS安装插件用以支持其他大模型LLM V0.1 250217: WPS的灵犀AI现在是DeepSeek R1(可能是全参数671B) 前言 WPS也有内置的AI,叫灵犀,之前应是自已的LLM模型,只能说是属于“能用,有好过无”,所…...
本地事务简介
本地事务简介 1 事务基本性质 数据库事务的几个特性:原子性(Automicity)、一致性(Consistency)、隔离性或独立性(islation)和持久性(Durability),简称ACID。 原子性:一系列的操作,其整体不可拆分,要么同时成功&#…...
Python入门全攻略(七)
面向对象-基础 类和对象 类是一个抽象的概念,对象是一个具体的概念。类是对象的模板和蓝图,用来定义对象的属性和方法,对象是类的实例,具有具体的属性和行为。 类的定义 使用class关键字加上类名来定义类,在类的代码块中,我们可以写一些函数,这些函数是对一类对象共…...
SpringBoot 统一功能处理之拦截器、数据返回格式、异常处理
目录 拦截器 一、什么是拦截器 二 拦截器的使用 三 拦截路径配置 四 拦截器的执行流程 统一数据返回格式 统一异常处理 拦截器 一、什么是拦截器 拦截器是Spring框架提供的核心功能之一,主要用来拦截用户的请求,在指定方法前后,根据业务…...
Javascript网页设计案例:通过PDF.js实现一款PDF阅读器,包括预览、页面旋转、页面切换、放大缩小、黑夜模式等功能
前言 目前功能包括: 切换到首页。切换到尾页。上一页。下一页。添加标签。标签管理页面旋转页面随意拖动双击后还原位置 其实按照自己的预期来说,有很多功能还没有开发完,配色也没有全都搞完,先发出来吧,后期有需要…...
js考核第三题
题三:随机点名 要求: 分为上下两个部分,上方为显示区域,下方为控制区域。显示区域显示五十位群成员的学号和姓名,控制区域由开始和结束两个按钮 组成。点击开始按钮,显示区域里的内容开始滚动,…...
新型基于Go语言的恶意软件利用Telegram作为C2通信渠道
研究人员发现了一种新型后门恶意软件,使用Go语言编写,并利用Telegram作为其命令与控制(C2)通信渠道。尽管该恶意软件似乎仍处于开发阶段,但它已经具备完整的功能,能够执行多种恶意活动。这种创新的C2通信方…...
【Python 语法】Python 正则表达式(regular expressions, regex)
1. 基本语法1.1 字符匹配1.2 元字符1.3 特殊字符1.4 分组和捕获1.5 断言2. 常用函数2.1 `re.match()`2.2 `re.search()`2.3 `re.findall()`2.4 `re.sub()`2.5 `re.split()`3. 进阶用法3.1 捕获组3.2 非捕获组3.3 预查Python 中的**正则表达式(regular expressions, regex)**是…...
STM32 如何使用DMA和获取ADC
目录 背景 摇杆的原理 程序 端口配置 ADC 配置 DMA配置 背景 DMA是一种计算机技术,允许某些硬件子系统直接访问系统内存,而不需要中央处理器(CPU)的介入,从而减轻CPU的负担。我们可以通过DMA来从外设…...
【原创】vue-element-admin-plus完成编辑页面中嵌套列表功能
前言 vue-element-admin-plus对于复杂业务的支持程度确实不怎么样,我这里就遇到了编辑页面中还要嵌套列表的真实案例,比如字典,主字典嵌套子信息,类似于一个树状结构。目前vue-element-admin-plus给出的例子是无法满足这个需求的…...
Java零基础入门笔记:(3)程序控制
前言 本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。 【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类&…...
拷打,数据库面经!
数据库必会面试题 1. 请解释数据库中的MVCC(多版本并发控制)机制,并说明其在MySQL InnoDB中的具体实现方式? 答案: MVCC是一种通过维护数据的历史版本实现高并发的技术,允许读操作不阻塞写操作࿰…...
Docker+DockerCompose+Harbor安装
安装docker # 安装yum工具 yum install yum-utils -y# 配置yum源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装docker yum install -y docker-ce-25.0.3 docker-ce-cli-25.0.3 containerd.io# 加载镜像 systemctl d…...
论文笔记(七十二)Reward Centering(一)
Reward Centering(一) 文章概括摘要1 奖励中心化理论 文章概括 引用: article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arXiv preprint arXiv:2405.0…...
在springboot加vue项目中加入图形验证码
后端 首先先要创建一个CaptchaController的类,可以在下面的代码中看到 在getCaptcha的方法里面写好了生成随机的4位小写字母或数字的验证码,然后通过BufferedImage类变为图片,顺便加上了干扰线。之后把图片转为Base64编码方便传给前端 为了…...
【系列专栏】银行IT的云原生架构-存储架构-数据库部署 10
银行 IT 的云原生架构:存储架构(数据库部署) 一、引言 在银行 IT 云原生架构的构建中,存储架构作为关键支撑,其性能、可靠性和扩展性直接影响着银行各类业务系统的运行效率与数据安全。而数据库作为数据存储与管理的…...
OpenGL ES -> 投影变换矩阵完美解决绘制GLSurfaceView绘制图形拉伸问题
GLSurfaceView绘制图形拉伸问题 假如在XML文件中声明GLSurfaceView的宽高为 android:layout_width"match_parent"android:layout_height"match_parent GLSurfaceView绘制的图形在Open GL ES坐标系中,而Open GL ES坐标系会根据GLSurfaceView的宽高将…...
【Three.js】JS 3D library(一个月进化史)
#春节过完了,该继续投入学习了~ 作为一个平面开发者,想要增进更多的技能,掌握web3D开发# 前置知识与技能 1. JavaScript 基础 - 掌握ES6语法(类、模块、箭头函数、解构等) - 熟悉异步编程(Promise、…...
在 debian 12 上安装 mysqlclient 报错
报错如下 Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting mysqlclientUsing cached https://pypi.tuna.tsinghua.edu.cn/packages/61/68/810093cb579daae426794bbd9d88aa830fae296e85172d18cb0f0e5dd4bc/mysqlclient-2.2.7.tar.gz (91 kB)Installi…...
wordpress主题插件开发中高频使用的38个函数
核心模板函数 get_header()/get_footer()/get_sidebar() – 加载模板部件 the_title()/the_content()/the_excerpt() – 显示文章标题、内容、摘要 the_post() – 循环中获取文章数据 bloginfo(‘url’) – 获取站点URL wp_head()/wp_footer() – 输出头部/尾部代码 wp_n…...
BMS项目-面试及答疑整理
1. SOC计算用的什么原理实现的? bms目前计算SOC使用的安时积分+开路电压首先得对电池有一个抽象得概念,把电池比作游泳池,电量比作游泳池里面的水,电流比作流入和流出得水流,那么充电也就是往游泳池里面灌入水流安时积分:对水流进行一个实时监测,比如1S一次监测,那么每…...
js第十二题
题十二:轮播图 要求: 1.鼠标不在图片上方时,进行自动轮播,并且左右箭头不会显示;当鼠标放在图片上方时,停止轮播,并且左右箭头会显示; 2.图片切换之后,图片中下方的小…...
LeetCode-76.最小覆盖子串
1、题目描述: 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须…...
CAS单点登录(第7版)20.用户界面
如有疑问,请看视频:CAS单点登录(第7版) 用户界面 概述 概述 对 CAS 用户界面 (UI) 进行品牌化涉及编辑 CSS 样式表以及一小部分相对简单的 HTML 包含文件,也称为视图。(可选&…...
【强化学习的数学原理】第08课-值函数近似-笔记
学习资料:bilibili 西湖大学赵世钰老师的【强化学习的数学原理】课程。链接:强化学习的数学原理 西湖大学 赵世钰 文章目录 一、例子:曲线拟合二、原理-目标函数介绍三、原理-优化算法和函数选择四、原理-示例与分析五、Sarsa和Q-learning六、…...
基于css实现正六边形的三种方案
方案一:通过旋转三个长方形生成正六边形 分析: 如下图所示,我们可以通过旋转三个长方形来得到一个正六边形。疑问: 1. 长方形的宽高分别是多少? 设正六边形的边长是100,基于一些数学常识,可以…...
React VS Vue
React 和 Vue 是目前最流行的两个前端框架,它们在设计理念、生态系统和开发体验上各有特点。以下是对 React 和 Vue 的全方位对比: 1. 核心设计理念 React 库而非框架:React 是一个用于构建 UI 的库,专注于视图层,其…...
CMake 编译工具
在使用 CMake 时,你可以通过指定工具链文件来设置编译器(如 GCC、G 或 Clang)。以下是具体步骤: 1. 创建工具链文件 首先,创建一个工具链文件(例如 toolchain.cmake),并在其中指定…...
el-tree选中数据重组成树
vueelement-ui 实现el-tree选择重新生成一个已选中的值组成新的数据树,效果如下 <template><div class"flex"><el-tree class"tree-row" :data"list" ref"tree" :props"{children: children, label: …...
IO、NIO解读和不同点,以及常用的文件流操作方法
java高级——IO、NIO解读和不同点,以及常用的文件流操作方法 前情提要文章介绍1. 什么是IO1.1 节点的分类1.2 传输方式 2. 七大传输方式解读2.1 File类解读2.1.1 创建文件的三种方式2.2.2 File的常用方法2.2.3 如何正确认识FileUtils 2.2 字节流(核心&am…...
51单片机-按键
1、独立按键 1.1、按键介绍 轻触开关是一种电子开关,使用时,轻轻按开关按钮就可使开关接通,当松开手时,开关断开。 1.2、独立按键原理 按键在闭合和断开时,触点会存在抖动现象。P2\P3\P1都是准双向IO口,…...
Spring Boot Actuator 监控✨
Spring Boot Actuator 是 Spring Boot 提供的一个强大的监控和管理工具,它可以帮助你深入了解和监控你的应用程序的运行状态。通过 Actuator,你可以获取应用程序的健康状况、内存使用情况、线程信息、HTTP 请求跟踪等。🚀 核心知识点 &#…...
SpringBoot论坛网站 – 功能详解与部署教程
项目概述 《SpringBoot的论坛网站》是一个基于SpringBoot框架开发的现代化论坛平台,旨在为用户提供一个便捷的交流空间。该项目不仅功能丰富,还具备良好的扩展性和易用性,适合用于学习、分享和讨论各类话题。以下是项目的核心功能模块和部署…...
俄罗斯方块游戏完整代码示例
以下是一个基于Cocos Creator引擎开发的俄罗斯方块游戏的完整代码示例。该游戏实现了俄罗斯方块的基本功能,并且代码整合在单个文件中,无需任何外部依赖,可以直接在浏览器中运行。 1. 创建Cocos Creator项目 首先,确保你已经安装了…...
【设计模式】【结构型模式】组合模式(Composite)
👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…...
【设计模式】03-理解常见设计模式-行为型模式(专栏完结)
前言 前面我们介绍完创建型模式和创建型模式,这篇介绍最后的行为型模式,也是【设计模式】专栏的最后一篇。 一、概述 行为型模式主要用于处理对象之间的交互和职责分配,以实现更灵活的行为和更好的协作。 二、常见的行为型模式 1、观察者模…...
Qt 6.8版本 自制windows下运行软件<一>——串口调试助手
自制串口调试助手 哔哩哔哩效果展示 一、 说明 本人在读学生,跟随哔哩哔哩网站北京迅为公司的教学视频,进行学习qt,由于视频中的实现过程是利用ui界面的实现,本人在学习过程中,通过完全敲代码的形式,实现同…...
Qt——静态函数中发送信号方法总结(不需要通过类内部信号与槽实现,关键是清楚你发送的信号源自哪个对象)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实战》...
深入解析 vLLM:高性能 LLM 服务框架的架构之美(一)原理与解析
修改内容时间2.4.1处理请求的流程,引用更好的流程图2025.02.11首发2025.02.08 深入解析 vLLM:高性能 LLM 服务框架的架构之美(一)原理与解析 深入解析 vLLM:高性能 LLM 服务框架的架构之美(二)…...
关于视频去水印的一点尝试
一. 视频去水印的几种方法 1. 使用ffmpeg delogo滤镜 delogo 滤镜的原理是通过插值算法,用水印周围的像素填充水印的位置。 示例: ffmpeg -i input.mp4 -filter_complex "[0:v]delogox420:y920:w1070:h60" output.mp4 该命令表示通过滤镜…...
前端常见面试题-2025
vue4.0 Vue.js 4.0 是在 2021 年 9 月发布。Vue.js 4.0 是 Vue.js 的一个重要版本,引入了许多新特性和改进,旨在提升开发者的体验和性能。以下是一些关键的更新和新特性: Composition API 重构:Vue 3 引入了 Composition API 作为…...
JavaEE-SpringBoot快速入门
文章目录 本节目标Maven什么是Maven创建一个Maven项目maven项目功能maven的依赖管理全球仓库, 私服, 本地服务器, 配置国内镜像 第一个SpringBoot项目创建项目运行SpringBoot程序 SpringBoot原理初步Web服务器 总结 本节目标 了解什么是maven, 配置国内源使用Springboot创建项…...
盛铂科技 SMF106 低相位噪声贴片式频率综合器模块
在现代通信和电子设备领域,频率综合器作为关键组件,其性能优劣直接影响系统的整体表现。盛铂科技的 SMF106 低相位噪声贴片式频率综合器,以其卓越的性能和独特设计,成为众多高性能系统的选择。 一、频率覆盖范围广,步进…...
前端【技术方案】重构项目
1. 明确重构目标 优化性能 减少页面加载时间降低资源占用 提升代码可维护性 更规范的代码风格更清晰的代码结构更明确的模块设计 扩展功能 为项目添加新功能改进现有功能 2. 评估项目现状 审查代码 全面检查现有代码,找出代码中的问题,如代码冗余、耦合…...
第十六天 HarmonyOS WebView开发实战:从加载网页到与JavaScript交互
HarmonyOS WebView开发实战:从加载网页到与JavaScript交互 一、WebView基础与HarmonyOS特性解析 在移动应用开发中,WebView作为内嵌浏览器组件,在HarmonyOS(鸿蒙系统)中扮演着重要角色。它不仅能够加载本地和远程网页…...
Unity学习part2
为bilibili教程【【Unity教程】零基础带你从小白到超神】 https://www.bilibili.com/video/BV1gQ4y1e7SS/?p50&share_sourcecopy_web&vd_source6e7a3cbb802eb986578ad26fae1eeaab的笔记 1、灯光的使用 定向光模拟太阳,是平行光。旋转定向光,光…...
贪吃蛇游戏
贪吃蛇 一、html <div class"container" id"app"></div><script src"./js/index.js"></script>二、css * {margin: 0;top: 0;} .set {margin: 15px auto;width: 600px; } .container {width: 600px;height: 600px;bac…...
docker修改镜像默认存储路径(基于 WSL2 的迁移方法)
打开powershell窗口 任意地方shift右键 1、停止 WSL wsl --shutdown2、导出数据 wsl --export docker-desktop-data E:\docker\DockerDesktopdata\docker-desktop-data.tar wsl --export docker-desktop E:\docker\DockerDesktop\docker-desktop.tar3、取消注册 wsl --un…...