SuperVINS:应对挑战性成像条件的实时视觉-惯性SLAM框架【全流程配置与测试!!!】【2025最新版!!!!】
一、项目背景及意义
SuperVINS是一个改进的视觉-惯性SLAM(同时定位与地图构建)框架,旨在解决在挑战性成像条件下的定位和地图构建问题。该项目基于经典的VINS-Fusion框架,但通过引入深度学习方法进行了显著改进。
视觉-惯性导航系统(VINS)在机器人、自动驾驶、增强现实等领域具有广泛应用前景。然而,传统的SLAM系统在光照变化、模糊、快速运动等挑战性环境下性能会显著下降。SuperVINS通过深度学习方法增强了SLAM系统的鲁棒性,特别是在这些困难环境下的表现。
二、解决的问题
SuperVINS主要解决了以下几个问题:
- 挑战性成像条件下的特征检测与匹配:传统特征点检测方法在光照变化、模糊等条件下容易失败。
- 前端追踪稳定性问题:常规光流法在快速运动或视角变化时容易丢失跟踪。
- 回环检测能力有限:传统回环检测方法对环境变化不够鲁棒。
- 实时性和精度的平衡:深度学习方法通常计算量大,如何在保证性能的同时实现实时运行。
三、使用的方法
SuperVINS的核心改进在于将深度学习特征与传统视觉-惯性融合算法结合:
1、前端特征处理:
- 替换了原VINS-Fusion基于光流追踪的前端,采用SuperPoint网络进行特征点提取和描述
- 使用LightGlue网络进行特征匹配,提高匹配的准确性和鲁棒性
2、回环检测:
- 将原DBoW2替换为DBoW3词袋系统
- 使用SuperPoint深度学习描述子进行回环检测,提高了回环检测的准确性
3.后端优化:
- 保留了VINS-Fusion优秀的后端优化框架,结合了视觉和IMU数据进行多传感器融合
4、加速策略:
- 使用ONNX Runtime进行模型推理加速,保证系统实时性
四、效果与性能
根据项目信息,SuperVINS在以下方面表现出色:
- 鲁棒性增强:在光照变化、运动模糊等挑战性条件下具有更强的稳定性
- 实时性能:尽管引入了深度学习方法,但通过优化实现了实时运行能力
- 回环检测能力提升:基于深度学习描述子的回环检测在环境变化时有更好的表现
论文已于2025年3月发表在IEEE Sensors Journal上,表明其研究价值和技术水平得到了认可。
五、创新点
- 深度学习与传统SLAM融合:巧妙地将SuperPoint和LightGlue等深度学习方法与经典VINS-Fusion框架结合
- 全流程深度学习特征:使用SuperPoint特征贯穿前端和回环检测全过程,保持特征描述的一致性
- 实时性与高精度平衡:通过ONNX Runtime等优化手段,在保证深度学习模型性能的同时实现实时运行
- 系统集成与工程实现:将多个先进组件有机集成为完整系统并开源,具有实用价值
六、主要工作流程
SuperVINS的工作流程可以概括为:
- 图像预处理:对输入图像进行基本处理
- 特征提取:使用SuperPoint网络提取特征点和描述子
- 特征匹配:使用LightGlue网络匹配当前帧与前一帧的特征点
- 视觉-惯性融合:结合匹配的视觉特征和IMU数据进行状态估计
- 后端优化:基于滑动窗口的非线性优化
- 回环检测与闭环:基于SuperPoint描述子和DBoW3进行回环检测,闭环优化地图
七、开源状态
SuperVINS是完全开源的项目,代码托管在GitHub上:https://github.com/luohongk/SuperVINS,使用GPL 3.0开源许可证。
八、工作优缺点分析
1、优点:
- 鲁棒性提升:在挑战性环境下表现优于传统方法
- 实时性能:成功实现了深度学习特征与实时SLAM的结合
- 开源共享:完整开源代码和详细文档,有利于学术交流和技术推广
- 系统完整性:提供了从前端到后端再到回环检测的完整解决方案
2、缺点:
- 依赖性:需要依赖多个第三方库和深度学习框架,部署和编译可能较为复杂
- 计算资源需求:相比传统方法,对硬件资源要求更高
- 版本状态:项目仍在更新中,当前SuperVINS 1.0版本尚未支持回环检测功能
- 泛化能力:对于未见过的极端环境可能仍有挑战
九、推荐测试数据集
SuperVINS主要在EuRoC MAV数据集上进行了测试。EuRoC是一个广泛用于视觉-惯性SLAM评估的标准数据集,包含了多个不同难度的序列。项目提供的下载脚本会自动下载V2_01_easy序列:
./download_data.sh # 这会下载EuRoC V2_01_easy.bag数据
其他推荐的测试数据集:
- EuRoC完整数据集:其他难度序列如MH_01_easy、MH_05_difficult等
- TUM VI数据集:提供更多样化的场景和运动模式
- KITTI数据集:适合测试户外场景性能
十、使用自有数据集
如果要使用自己的数据集测试SuperVINS,需要将数据转换为ROS bag格式,并确保包含以下内容:
- 单目或双目图像:发布为标准ROS图像消息
- IMU数据:发布为标准的IMU消息
需要配置适合你的数据集的参数文件:
- 相机内参:包括焦距、主点和畸变参数
- IMU参数:噪声、随机游走等参数
- 外参:相机与IMU之间的相对位姿
十一、环境配置与测试
我测试的环境是Ubuntu 20.04,CUDA 11.8,RTX 4090
1、安装ros
作者推荐 Ros1 noetic,具体安装方法可以参考ROS官方教程
安装好了之后,可以运行roscore
进行测试
出现上述信息就代表ros安装好了!!
2、安装依赖库
# 安装Ceres Solver
mkdir -p ~/Thirdparty
cd ~/Thirdparty
git clone https://github.com/ceres-solver/ceres-solver.git -b 2.1.0
cd ceres-solver
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/Thirdparty/Ceres
make -j8
make install# 安装ONNX Runtime
cd ~/Thirdparty
wget https://github.com/microsoft/onnxruntime/releases/download/v1.16.3/onnxruntime-linux-x64-gpu-1.16.3.tgz
tar -zxvf onnxruntime-linux-x64-gpu-1.16.3.tgz
mv onnxruntime-linux-x64-gpu-1.16.3 onnxruntime
3、创建工作区
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
catkin_init_workspace
cd ~/catkin_ws
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bash
source ~/.bashrc
4、修改CMakeLists.txt中的路径
# 打开文件vins_estimator/CMakeLists.txt, supervins_loop_fusion/CMakeLists.txt, camera_models/CMakeLists.txtchange
set(ONNXRUNTIME_ROOTDIR "/home/lhk/Thirdparty/onnxruntime")
find_package(Ceres REQUIRED PATHS "/home/lhk/Thirdparty/Ceres")
to
set(ONNXRUNTIME_ROOTDIR "your onnxruntime path")
find_package(Ceres REQUIRED PATHS "you Ceres path")
我修改完的CMakeLists.txt内容如下:
vins_estimator/CMakeLists.txt
supervins_loop_fusion/CMakeLists.txt
camera_models\CMakeLists.txt
5、编译SuperVINS
# 克隆SuperVINS
git clone https://github.com/luohongk/SuperVINS.git# 下载数据集
cd SuperVINS
chmod +x download_data.sh
./download_data.sh# 编译项目
cd ~/catkin_ws
catkin_make -j8# 添加到环境变量
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
六、运行EuRoC数据集测试
# 终端1:启动RViz可视化界面
roslaunch supervins supervins_rviz.launch# 终端2:启动SuperVINS
rosrun supervins supervins_node ~/catkin_ws/src/SuperVINS/config/euroc/euroc_mono_imu_config.yaml# 终端3:(当前版本不支持回环检测,未来版本可用)
# rosrun supervins_loop_fusion supervins_loop_fusion_node ~/catkin_ws/src/SuperVINS/config/euroc/euroc_mono_imu_config.yaml# 终端4:播放数据集
rosbag play ~/catkin_ws/src/SuperVINS/data/V2_01_easy.bag
我自己实际测试的路径及命令如下所示:
sun@sun:~/Project/SurperVINS/catkin_ws$ roslaunch supervins supervins_rviz.launch
sun@sun:~/Project/SurperVINS/catkin_ws$ rosrun supervins supervins_node src/SuperVINS/config/euroc/euroc_mono_imu_config.yaml
sun@sun:~/Project/SurperVINS/catkin_ws/src/SuperVINS/data$ rosbag play V2_01_easy.bag
[INFO] [1747842367.015657289]: Opening V2_01_easy.bagWaiting 0.2 seconds after advertising topics... done.Hit space to toggle paused, or 's' to step.[RUNNING] Bag Time: 1413393235.057626 Duration: 23.120455 / 113.974481
RVIZ界面如下:
十二、自有数据集测试
假设你已经准备好了符合ROS标准的bag文件(包含图像和IMU数据),步骤如下:
1、创建配置文件:
# 复制并修改配置文件
cp ~/catkin_ws/src/SuperVINS/config/euroc/euroc_mono_imu_config.yaml ~/catkin_ws/src/SuperVINS/config/custom_config.yaml# 使用文本编辑器修改配置参数,主要包括:
# - 相机内参和畸变参数
# - IMU噪声参数
# - 话题名称,确保与你的bag文件中的话题一致
2、运行测试
# 终端1:启动RViz
roslaunch supervins supervins_rviz.launch# 终端2:启动SuperVINS,使用自定义配置
rosrun supervins supervins_node ~/catkin_ws/src/SuperVINS/config/custom_config.yaml# 终端3:播放自定义数据集
rosbag play 你的数据集.bag
十三、总结
SuperVINS是一个创新性地将深度学习特征与经典视觉-惯性SLAM融合的开源项目,特别适合解决挑战性成像条件下的定位问题。该项目基于VINS-Fusion的优秀框架,通过引入SuperPoint特征点和LightGlue匹配网络,显著提高了系统在复杂环境下的鲁棒性。
项目由武汉大学BRAIN实验室开发,已发表于IEEE Sensors Journal,代码完全开源。通过本文提供的详细安装和测试方案,可以在自己的环境中成功运了SuperVINS,并使用自定义数据集进行测试和性能评估。
对于计算机视觉、SLAM和机器人领域的研究者和工程师来说,SuperVINS提供了一个值得参考的深度学习增强SLAM系统实现。
如果有问题或者经验交流,欢迎评论区留言!!
相关文章:
SuperVINS:应对挑战性成像条件的实时视觉-惯性SLAM框架【全流程配置与测试!!!】【2025最新版!!!!】
一、项目背景及意义 SuperVINS是一个改进的视觉-惯性SLAM(同时定位与地图构建)框架,旨在解决在挑战性成像条件下的定位和地图构建问题。该项目基于经典的VINS-Fusion框架,但通过引入深度学习方法进行了显著改进。 视觉-惯性导航系…...
【后端】【UV】【Django】 `uv` 管理的项目中搭建一个 Django 项目
🚀 一步步搭建 Django 项目(适用于 uv pyproject.toml 项目结构) 🧱 第 1 步:初始化一个 uv 项目(如果还没建好) uv init django-project # 创建项目,类似npm create vue⚙️ 第 …...
sqlsugar查看表结构并导出word文档
前提 SqlSugar 5.1.4 MiniWord 0.9.2 使用 using MiniSoftware; using SqlSugar;namespace ConsoleApp5 {internal class Program{/// <summary>/// 导出数据库表结构和字段信息/// https://www.donet5.com/Home/Doc?typeId1203/// </summary>/// <param n…...
【机器学习】支持向量机(SVM)
目录 一、支持向量机基本概念 1.1 定义 1.2 支持向量:距离超平面最近的样本点,决定了超平面的位置。 二、线性支持向量机 2.1 硬间隔支持向量机 2.2 软间隔支持向量机 三、非线性支持向量机 3.1 核函数 3.2 常用核函数 3.2.1 线性核:…...
[Java实战]Spring Boot整合MinIO:分布式文件存储与管理实战(三十)
[Java实战]Spring Boot整合MinIO:分布式文件存储与管理实战(三十) 一、MinIO简介与核心原理 MinIO 是一款高性能、开源的分布式对象存储系统,兼容 Amazon S3 API,适用于存储图片、视频、日志等非结构化数据。其核心特…...
SpringBoot微服务编写Dockerfile流程及问题汇总
背景 跟 Docker 磕了两天,将一个包含 N 个微服务的应用部署包改造,使其能够生成 Docker 镜像,并在 Docker 容器中运行。几年前玩过 Docker,隐约记得几个命令「Dockerfile 命令:黑卡饮料、山楂果费、哦SUV,…...
PostgreSQL使用
一、PostgreSQL语法 PostgreSQL表、模式、库三者之间的关系 库 -> 模式 -> 表、视图、函数等等对象。 在postgresql的交互式终端psql中,“\”开头的命令称为元命令(类似mysql的show语句),用于快速管理数据库。 常见元命令&…...
现代化SQLite的构建之旅——解析开源项目Limbo
现代化SQLite的构建之旅——解析开源项目Limbo 在当今飞速发展的技术世界中,轻量级且功能强大的数据库已成为开发者的得力助手。当我们谈论轻量级数据库时,SQLite无疑是一个举足轻重的名字。然而,随着技术的进步,我们对数据库的需…...
MySQL 主从复制搭建全流程:基于 Docker 与 Harbor 仓库
一、引言 在数据库管理中,MySQL 主从复制是一种非常重要的技术,它可以实现数据的备份、读写分离,减轻主数据库的压力。本文将详细介绍如何使用 Docker 和 Harbor 仓库来搭建 MySQL 主从复制环境,适合刚接触数据库和 Docker 的新手…...
网页表格转换为markdown
网页表格到Markdown:一键转换,复制即用! 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或论坛中使用。然而,手动转换不仅耗时,还容易…...
MySQL字符串拼接方法全解析
目录 常用字符串处理函数 方法一:CONCAT基础拼接 方法二:CONCAT_WS带分隔符拼接 方法三:GROUP_CONCAT分组拼接 方法四:算术运算符拼接(仅限数字) 常用字符串处理函数 方法一:CONCAT基础拼接…...
零基础教程:用 Docker + pgloader 将 MySQL 数据库迁移到 PostgreSQL
在日常开发中,可能会遇到从 MySQL 迁移到 PostgreSQL 的需求。你也许是: 正在准备从传统架构转向云原生;想使用 PostgreSQL 更强的事务与 JSON 支持;想统一团队数据库技术栈;纯粹为了尝试学习不同的数据库系统。 别担…...
影刀Fun叉鸟-2048
文章目录 仅为自动化演示,实际2048判定逻辑需要更加严谨 参考代码 # 使用提醒: # 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能 # 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能 # 3. 当此模块作…...
uni-app(2):页面
1 页面简介 uni-app项目中,一个页面就是一个符合Vue SFC规范的 vue 文件。 在 uni-app js 引擎版中,后缀名是.vue文件或.nvue文件。 这些页面均全平台支持,差异在于当 uni-app 发行到App平台时,.vue文件会使用webview进行渲染&…...
【spring】spring学习系列之十一:spring的事件监听
系列文章目录 文章目录 系列文章目录前言一、使用二、整体流程三、EventListenerMethodProcessor和DefaultEventListenerFactory1.EventListenerMethodProcessor2.DefaultEventListenerFactory3.ApplicationListenerDetector4.initApplicationEventMulticaster5.registerListen…...
代码随想录打卡|Day45 图论(孤岛的总面积 、沉没孤岛、水流问题、建造最大岛屿)
图论part03 孤岛的总面积 代码随想录链接 题目链接 视频讲解链接 思路:既然某个网格在边界上的岛屿不是孤岛,那么就把非 孤岛的所有岛屿变成海洋,最后再次统计还剩余的岛屿占据的网格总数即可。 dfs: import java.util.Scanner…...
AI人工智能——Matplotlib绘制各种数据可视化图表的基础方法
一、绘制图像基础 import matplotlib.pyplot as plt# 1、创建画布 plt.figure(figsize(20, 8), dpi100) # 2、绘制图像 x [1, 2, 3, 4, 5, 6] y [3, 5, 4, 3, 6, 1] plt.plot(x, y) # 3、显示图像 plt.show() 二、图像保存 import matplotlib.pyplot as plt# 1、创建画布 p…...
亚马逊AWS跑不动了?
5月2日,亚马逊公布了2025年第一季度的财报。财报数据显示,云计算业务增速放缓以及第二季度的指引低于预期。事实上,这并不是亚马逊AWS第一次增速放缓。 亚马逊AWS作为全球第一大云计算服务公司,这些年跟微软云、谷歌云等其他云计…...
PyTorch中cdist和sum函数使用详解
torch.cdist 是 PyTorch 中用于计算**两个张量之间的成对距离(pairwise distance)**的函数,常用于点云处理、图神经网络、相似性度量等场景。 基本语法 torch.cdist(x1, x2, p2.0)参数说明: 参数说明x1一个形状为 [B, M, D] 或 …...
PyTorch的基本操作
前言 为了方便大家学习,我整理了PyTorch全套学习资料,包含配套教程讲义和源码 除此之外还有100G人工智能学习资料 包含数学与Python编程基础、深度学习机器学习入门到实战,计算机视觉自然语言处理大模型资料合集,不仅有配套教程…...
分类算法 Kmeans、KNN、Meanshift 实战
任务 1、采用 Kmeans 算法实现 2D 数据自动聚类,预测 V180,V260 数据类别; 2、计算预测准确率,完成结果矫正 3、采用 KNN、Meanshift 算法,重复步骤 1-2 代码工具:jupyter notebook 视频资料 无监督学习ÿ…...
aws平台s3存储桶夸域问题处理
当我们收到开发反馈s3存在跨域问题 解决步骤: 配置 S3 存储桶的 CORS 设置: 登录到 AWS 管理控制台。转到 S3 服务。选择你存储文件的 存储桶。点击 权限 标签页。在 跨域资源共享(CORS)配置 部分,点击 编辑。 登陆…...
在Windows上安装Pygame 2.1.3:解决常见问题
在Windows系统上安装Pygame 2.1.3时,可能会遇到各种问题,例如网络问题或依赖安装失败。本文将详细介绍如何在Windows上成功安装Pygame 2.1.3,并解决常见的安装问题。 1. 前提条件 在开始安装之前,确保你的系统中已经安装了Pytho…...
linux中安装jdk(Java环境),tomcat
安装时候选择 tomcat 软件版本要与程序开发使用的版本一致。jdk 版本要进行与 tomcat 保持一致。 1. 系统环境说明 [root@bogon ~]# getenforce Disabled [root@bogon ~]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon …...
DeepSeek源码解构:从MoE架构到MLA的工程化实现
文章目录 **一、代码结构全景:从模型定义到分布式训练****二、MoE架构:动态路由与稀疏激活的工程化实践****1. 专家路由机制(带负载均衡)****数学原理:负载均衡损失推导** **三、MLA注意力机制:低秩压缩与解…...
国产linux系统(银河麒麟,统信uos)使用 PageOffice实现PDF文件加盖印章和签字功能
PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(Mips、LoogArch)芯片架构。 PageOffice支持…...
第四十三节:人脸检测与识别-人脸识别基础 (Eigenfaces, Fisherfaces, LBPH)
引言 人脸识别技术是计算机视觉领域最具应用价值的方向之一,广泛应用于安防监控、身份认证、人机交互等领域。本文将通过OpenCV框架,深入解析人脸检测与识别的核心算法(Eigenfaces/Fisherfaces/LBPH),并提供完整的代码实现。 第一部分:人脸检测基础 1.1 人脸检测原理 …...
面向恶劣条件的道路交通目标检测----大创自用(当然你也可以在里面学到很多东西)
全部内容梳理 目标检测的两个任务: 预测标签 边界框 语义分割 实力分割 一个是类别 一个是实例级别 分类任务把每个图像当作一张图片看待 所有解决方法是先生成候选区域 再进行分类 置信度: 包括对类别和边界框预测的自信程度 输出分类和IOU分数的…...
物联网相关词汇
物联网(英文:Internet of Things,缩写:IoT) specs 英[speks] 美[speks] 规格说明 topology 英[təpɒlədʒɪ] 拓扑结构 vertical 美 [ˈvɜrtɪk(ə)l] 英 [ˈvɜː(r)tɪk(ə)l] n.垂直线;垂直位…...
【net6】一文跑通前后端以及数据库,简单的天气系统管理(保姆入门)
一、前言 使用Vue3为前端,.net6为后端,连接postgreSQL数据库,连通前后端与数据库,实现最基础的天气管理系统的增删改查。 二、内容 目录 一、前言 二、内容 2.1 后端部分 2.1.1 在VS里面使用此模板创建项目 2.1.2 安装下列…...
宝塔安装的 MySQL 无法连接的情况及解决方案
宝塔安装的 MySQL 无法连接的情况及解决方案 宝塔面板是一款流行的服务器管理工具,其中集成的 MySQL 数据库有时会出现连接问题。本文详细介绍两种最常见的 MySQL 连接错误:“1130 - Host is not allowed to connect” 和 “1045 - Access denied”&…...
【iOS】分类、扩展、关联对象
分类、扩展、关联对象 前言分类扩展扩展和分类的区别关联对象key的几种用法流程 总结 前言 最近的学习中笔者发现自己对于分类、扩展相关知识并不是很熟悉,刚好看源码类的加载过程中发现有类扩展与关联对象详解。本篇我们来探索一下这部分相关知识,首先…...
计算机网络学习(一)—— OSI vs TCP/IP网络模型
一、OSI模型(开放系统互联参考模型) OSI(Open Systems Interconnection)模型由ISO(国际标准化组织)在1984年提出,用于标准化网络通信,它将网络通信分为七个层次: 层级名…...
【MySQL成神之路】MySQL查询用法总结
MySQL查询语句全面指南 一、基础查询语句 MySQL中select的基本语法形式 select 属性列表 from 表名和视图列表 [where 条件表达式] [group by 属性名[having 条件表达式]] [order by 属性名[asc|desc]] [limit <offset>,row count] 说明: where子句&…...
攻防世界——Web题 fakebook
首先测试网站的功能,当我注册一个账号时,发现这里的链接: 点进去看到URL: 感觉no这个地方可以尝试一下sql注入 推测应该是数字型注入 发现果然可以进行sql注入, 最终测得列数应该是4列,但当我尝试sql注入…...
【Java微服务组件】异步通信P2—Kafka与消息
欢迎来到啾啾的博客🐱。 记录学习点滴。分享工作思考和实用技巧,偶尔也分享一些杂谈💬。 欢迎评论交流,感谢您的阅读😄。 目录 引言Kafka与消息生产者发送消息到Kafka批处理发送设计消息的幂等信息确保消息送达acks配置…...
AI数字人一体机和智慧屏方案:开启智能交互新纪元
在当今这个信息化飞速发展的时代,AI技术正以前所未有的速度改变着我们的生活方式和工作模式。特别是在人机交互领域,AI数字人的出现不仅极大地丰富了用户体验,也为各行各业提供了前所未有的创新解决方案。本文将重点介绍由广州深声科技有限公…...
10-码蹄集600题基础python篇
题目如上: 这题就是ASCII的转换,直接使用ord就可以 下面是代码: def main():#code here# a1,a2input().split(",")# print(f"The ASCII code of {a1} is {ord(a1)}")# print(f"The ASCII code of {a2} is {ord(a2…...
给几张图片和一段文字,怎么制作成带有语音的视频---php
想用PHP将图片和文字转换成带有语音的视频,想做自动化的视频生成,比如用于广告、演示或者其他需要多媒体处理的场景。 接下来考虑PHP本身的能力。PHP主要是用于服务器端的脚本语言,不太擅长处理多媒体内容,比如视频和语音合成。所…...
vue3中RouterView配合KeepAlive实现组件缓存
KeepAlive组件缓存 为什么需要组件缓存代码展示缓存效果为什么不用v-if 为什么需要组件缓存 业务需求:一般是列表页面通过路由跳转到详情页,跳转回来时,需要列表页面展示上次展示的内容 代码展示 App.vue入口 <script setup lang"…...
NIFI的处理器:ExecuteGroovyScript 2.4.0
ExecuteGroovyScript是常用的处理器之一,用于执行GroovyScript脚本。该脚本负责处理传入的流文件(例如传输到SUCCESS或删除)以及由该脚本创建的任何流文件。如果处理不完整或不正确,会话将被回滚。 属性值-失败处理策略 Failure …...
安全可控的AI底座:灯塔大模型应用开发平台全面实现国产信创兼容适配认证
国产信创产品兼容适配认证是为了支持和推动国产信息技术产品和服务的发展而设立的一种质量标准和管理体系。适配认证旨在确保相关产品在安全性、可靠性、兼容性等方面达到一定的标准,以满足政府和关键行业对信息安全和自主可控的需求。 北京中烟创新科技有限公司&a…...
.NET外挂系列:5. harmony 中补丁参数的有趣玩法(下)
一:背景 1. 讲故事 开局一张表,故事全靠编,为了能够承上启下,先把参数列表放出来。 参数名说明__instance访问非静态方法的实例(类似 this)。__result获取/修改返回值,要想修改用 ref。__res…...
Spring Boot 登录实现:JWT 与 Session 全面对比与实战讲解
Spring Boot 登录实现:JWT 与 Session 全面对比与实战讲解 2025.5.21-23:11今天在学习黑马点评时突然发现用的是与苍穹外卖jwt不一样的登录方式-Session,于是就想记录一下这两种方式有什么不同 在实际开发中,登录认证是后端最基础也是最重要…...
vscode离线安装组件工具vsix
1.外网下载vsix 网址为:Open VSX Registry 2.输入需要下载的组件 3.下载组件 4.安装 5.选择安装文件 6.安装完成...
Vue大数据量前端性能优化策略
文章目录 前言Vue大数据量前端性能优化策略1. 虚拟列表的使用方式及优势2. 列表和图表的懒加载技术3. Web Worker 在图表数据预处理中的应用4. 图表渲染优化技巧5. 分批渲染技术实现方法(如 requestIdleCallback)6. 其他可行的 Vue 层优化策略 前言 Vue…...
Hass-Panel - 开源智能家居控制面板
文章目录 ▎项目介绍:预览图▎主要特性安装部署Docker方式 正式版Home Assistant Addon方式详细安装方式1. Home Assistant 插件安装(推荐)2. Docker 安装命令功能说明 :3. Docker Compose 安装升级说明Docker Compose 版本升级 功…...
iPaaS集成平台技术选型关注哪些指标?
在数字化转型进程中,企业系统间的数据孤岛问题日益凸显。根据IDC调研,85%的IT决策者将“系统集成效率”列为业务创新的关键瓶颈。iPaaS(集成平台即服务)凭借其敏捷性、低代码特性和智能化能力,已成为企业构建数字生态的…...
JavaScript性能优化实战(14):跨端JavaScript性能优化
在当今多端开发的时代,JavaScript已经突破了浏览器的界限,广泛应用于移动应用、桌面应用、小程序等各类环境。然而,不同平台的运行时环境存在差异,为JavaScript性能优化带来了新的挑战和思考维度。 目录 React Native性能优化最佳实践Electron应用性能优化策略混合应用中J…...
多通道经颅直流电刺激器产品及解决方案特色解析
前记 团队在多通道经颅直流电刺激这个技术方向,一路深耕。在服务了不少客户之后,为了方便后续的产品和方案推广。我们弄出来了产品和方案两种形态。标准产品是为了给用户演示以及一些常规的实验使用。方案则是为了满足不同方向的科研用户的需求。这两者相…...