长时间目标跟踪算法(3)-GlobalTrack:A Simple and Strong Baseline for Long-termTracking
GlobalTrack的原始论文和源码均已开源,下载地址。
目录
-
背景与概述
1.1 长期视觉跟踪的挑战
1.2 现有方法的局限性
1.3 GlobalTrack的核心思想 -
算法原理与架构
2.1 全局实例搜索框架
2.2 Query-Guided RPN(QG-RPN)
2.3 Query-Guided RCNN(QG-RCNN)
2.4 交叉查询损失(Cross-Query Loss)
2.5 离线训练与在线跟踪流程 -
核心创新点
3.1 消除时间一致性假设
3.2 基于两阶段检测器的全局搜索
3.3 抗干扰的交叉查询机制 -
算法流程与实现细节
4.1 整体流程图
4.2 特征调制与相关性建模
4.3 训练数据与优化策略
4.4 在线跟踪的简化设计 -
实验效果与分析
5.1 基准数据集与评价指标
5.2 对比实验:与SOTA方法的性能对比
5.3 消融实验:各模块的贡献分析
5.4 长时跟踪场景下的鲁棒性验证 -
应用场景与未来方向
6.1 实际应用场景
6.2 算法的局限性
6.3 未来研究方向 -
总结
1. 背景与概述
1.1 长期视觉跟踪的挑战
视觉跟踪是计算机视觉领域的核心任务之一,目标是在视频序列中持续定位用户指定的目标。在长期跟踪场景中,目标可能经历以下挑战:
- 目标长时间消失:例如被遮挡或移出视野。
- 剧烈运动与尺度变化:目标的运动轨迹不连续或尺度突变。
- 干扰物干扰:相似物体或复杂背景导致误检。
传统跟踪方法(如基于相关滤波或孪生网络的方法)通常依赖时间一致性假设(目标的位置和尺度在相邻帧间平滑变化),通过局部搜索和轨迹平滑处理目标。然而,当假设被打破时,这些方法易因累积错误导致跟踪失败。
1.2 现有方法的局限性
现有方法的主要问题包括:
- 局部搜索的限制:仅在局部窗口内搜索目标,无法应对目标突然消失后重新出现的情况。
- 累积误差:依赖历史轨迹进行预测,单帧失败会影响后续所有帧。
- 复杂后处理:需通过在线学习、轨迹平滑等策略提升性能,增加计算复杂度。
1.3 GlobalTrack的核心思想
GlobalTrack提出一种基于全局实例搜索的纯检测式跟踪框架,其核心思想包括:
- 全图多尺度搜索:摒弃局部窗口,直接在整张图像中搜索目标。
- 无时间一致性假设:每帧独立预测,避免累积误差。
- 两阶段检测器改造:基于Faster-RCNN设计查询引导的RPN和RCNN模块,实现目标特异性检测。
2. 算法原理与架构
2.1 全局实例搜索框架
GlobalTrack的架构如图1所示,包含两个核心模块:
- Query-Guided RPN(QG-RPN):生成与查询目标相关的候选区域。
- Query-Guided RCNN(QG-RCNN):对候选区域进行分类和回归,输出最终预测框。
图1:GlobalTrack整体架构,包含QG-RPN和QG-RCNN模块。
2.2 Query-Guided RPN(QG-RPN)
QG-RPN的核心是通过特征调制(Feature Modulation)将查询信息嵌入搜索图像的特征中,生成目标相关的候选框。
特征调制公式
设查询目标的ROI特征为 z ∈ R k × k × c z \in \mathbb{R}^{k \times k \times c} z∈Rk×k×c,搜索图像的特征为 x ∈ R h × w × c x \in \mathbb{R}^{h \times w \times c} x∈Rh×w×c,特征调制过程定义为:
x ^ = f o u t ( f x ( x ) ⊗ f z ( z ) ) \hat{x} = f_{out}(f_x(x) \otimes f_z(z)) x^=fout(fx(x)⊗fz(z))
其中, ⊗ \otimes ⊗ 为卷积操作, f z f_z fz 和 f x f_x fx 分别为查询和搜索图像的特征投影层, f o u t f_{out} fout为输出调整层。
损失函数
QG-RPN的损失函数沿用Faster-RPN的二元交叉熵分类损失和平滑L1回归损失:
L q g _ r p n = 1 N c l s ∑ i L c l s ( p i , p i ∗ ) + λ 1 N l o c ∑ i p i ∗ L l o c ( s i , s i ∗ ) L_{qg\_rpn} = \frac{1}{N_{cls}} \sum_i L_{cls}(p_i, p_i^*) + \lambda \frac{1}{N_{loc}} \sum_i p_i^* L_{loc}(s_i, s_i^*) Lqg_rpn=Ncls1i∑Lcls(pi,pi∗)+λNloc1i∑pi∗Lloc(si,si∗)
2.3 Query-Guided RCNN(QG-RCNN)
QG-RCNN对QG-RPN生成的候选框进行细粒度分类和回归。其通过Hadamard积(逐元素相乘)融合查询与候选框特征:
x ^ i = h o u t ( h x ( x i ) ⊙ h z ( z ) ) \hat{x}_i = h_{out}(h_x(x_i) \odot h_z(z)) x^i=hout(hx(xi)⊙hz(z))
其中, ⊙ \odot ⊙ 表示Hadamard积, h x h_x hx 和 h z h_z hz为特征投影层。
损失函数
QG-RCNN的损失函数同样使用分类和回归损失:
L q g _ r c n n = 1 N p r o p ∑ i [ L c l s ( p i , p i ∗ ) + λ p i ∗ L l o c ( s i , s i ∗ ) ] L_{qg\_rcnn} = \frac{1}{N_{prop}} \sum_i \left[ L_{cls}(p_i, p_i^*) + \lambda p_i^* L_{loc}(s_i, s_i^*) \right] Lqg_rcnn=Nprop1i∑[Lcls(pi,pi∗)+λpi∗Lloc(si,si∗)]
2.4 交叉查询损失(Cross-Query Loss)
为提升模型对干扰物的鲁棒性,GlobalTrack提出交叉查询损失。对于同一图像中存在的多个实例,计算每个实例作为查询时的损失并取平均:
L c q l = 1 M ∑ k = 1 M [ L q g _ r p n ( z k , x ) + L q g _ r c n n ( z k , x ) ] L_{cql} = \frac{1}{M} \sum_{k=1}^M \left[ L_{qg\_rpn}(z_k, x) + L_{qg\_rcnn}(z_k, x) \right] Lcql=M1k=1∑M[Lqg_rpn(zk,x)+Lqg_rcnn(zk,x)]
该损失强制模型学习查询与预测结果的强关联性,降低对相似干扰物的误检。
3. 核心创新点
3.1 消除时间一致性假设
传统方法依赖相邻帧间目标状态平滑变化的假设,而GlobalTrack每帧独立进行全局搜索,彻底避免因历史预测错误导致的累积误差。如图2所示,当目标长时间消失后重新出现时,GlobalTrack仍能准确定位,而传统方法(如ATOM、SiamRPN++)无法恢复跟踪。
图2:目标在400帧后重现,GlobalTrack成功恢复跟踪。
3.2 基于两阶段检测器的全局搜索
GlobalTrack基于Faster-RCNN改造,利用两阶段检测器的全图搜索能力:
- QG-RPN:生成目标相关的高召回候选框(AR@1达67.1%,见表1)。
- QG-RCNN:通过细粒度分类提升Top-1准确率(AR@1达76.6%,见表2)。
RPN类型 | AR@1 | AR@10 | AR@100 |
---|---|---|---|
传统RPN | 11.3 | 40.5 | 84.9 |
QG-RPN | 67.1 | 91.9 | 97.4 |
表1:不同RPN的平均召回率对比(AR@k)。
3.3 抗干扰的交叉查询机制
交叉查询损失通过多查询联合训练增强模型区分目标与干扰物的能力。实验表明,使用交叉查询损失后,模型在LaSOT数据集上的精度提升4.2%(见表3)。
损失类型 | 精度 (%) | 归一化精度 (%) | 成功率 (%) |
---|---|---|---|
单查询损失 | 49.3 | 55.7 | 49.5 |
交叉查询损失 | 52.7 | 59.9 | 52.1 |
表2:交叉查询损失的消融实验结果。
4. 算法流程与实现细节
4.1 特征调制与相关性建模
- QG-RPN:通过卷积操作建模全局相关性,生成目标相关的候选框。
- QG-RCNN:通过Hadamard积融合局部特征,提升分类精度。
4.2 训练数据与优化策略
- 数据集:COCO(通用检测)、GOT-10k和LaSOT(跟踪专用)。
- 优化器:SGD,学习率0.01,批次大小4,训练24个epoch。
4.3 在线跟踪的简化设计
- 无后处理:直接取QG-RCNN的Top-1预测结果,避免轨迹平滑或在线学习。
- 实时性:单GPU推理速度约6 FPS。
5. 实验效果与分析
5.1 基准数据集与评价指标
- LaSOT:长时跟踪,平均2500帧。
- TLP:超长视频,平均13529帧。
- 评价指标:成功率(Success)、精度(Precision)、MaxGM(几何均值)。
5.2 对比实验
在TLP数据集上,GlobalTrack以63.8%的成功率远超SPLT(52.7%)和ATOM(47.5%)。在OxUvA上,MaxGM提升14.9%(见表3)。
方法 | TLP SR₀.₅ (%) | OxUvA MaxGM (%) |
---|---|---|
SPLT | 52.7 | 62.2 |
ATOM | 47.5 | 45.4 |
GlobalTrack | 63.8 | 60.3 |
表3:TLP和OxUvA数据集上的性能对比。
5.3 消融实验
- QG-RPN vs QG-RCNN:QG-RCNN的Top-1准确率更高,QG-RPN的召回率更优(图4)。
- 交叉查询损失:显著提升抗干扰能力(表2)。
5.4 长时跟踪鲁棒性
在目标消失400帧的极端场景下,GlobalTrack仍能立即恢复跟踪,而传统方法因依赖历史信息彻底失败(图2)。
6. 应用场景与未来方向
6.1 实际应用场景
- 智能监控:长时间追踪特定人员或车辆。
- 无人机跟踪:处理目标快速移动与尺度变化。
- 视频编辑:自动标注运动物体。
6.2 局限性
- 实时性不足:6 FPS难以满足实时需求。
- 小目标跟踪:对低分辨率目标敏感。
6.3 未来方向
- 轻量化设计:通过模型压缩或蒸馏提升速度。
- 多模态融合:结合深度或红外信息增强鲁棒性。
7. 总结
GlobalTrack通过全局实例搜索和两阶段检测器改造,为长期视觉跟踪提供了简单而强力的基线方法。其消除时间一致性假设、抗干扰的交叉查询机制以及在四大基准数据集上的优异表现,证明了纯检测式跟踪的潜力。未来研究可进一步优化实时性与小目标跟踪能力,推动实际应用落地。
相关文章:
长时间目标跟踪算法(3)-GlobalTrack:A Simple and Strong Baseline for Long-termTracking
GlobalTrack的原始论文和源码均已开源,下载地址。 目录 背景与概述 1.1 长期视觉跟踪的挑战 1.2 现有方法的局限性 1.3 GlobalTrack的核心思想 算法原理与架构 2.1 全局实例搜索框架 2.2 Query-Guided RPN(QG-RPN) 2.3 Query-Guided RCNN&a…...
深入理解指针与回调函数:从基础到实践
引言 在C语言中,指针和回调函数是两个非常重要的概念。指针为我们提供了直接操作内存的能力,而回调函数则为我们提供了一种灵活的编程方式,使得我们可以将函数作为参数传递给其他函数,从而实现更加模块化和可复用的代码。本文将深…...
算法学习新姿势:从0开始用hello-algo搭建自己的在线学习平台
文章目录 前言1.关于hello-algo2.安装Docker和Docker compose3.本地部署hello-algo4. hello-algo本地访问5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定Uptime Kuma公网地址 前言 今天要给大家安利一款绝对不能错过的开源神器——Hello-Algo!无论你是刚踏…...
常用 nvm 命令指南
nvm(Node Version Manager) 是一个用于管理 Node.js 版本的工具,可以轻松安装、切换和卸载不同版本的 Node.js。本文将介绍常用的 nvm 命令,帮助你高效管理 Node.js 环境。 1. 列出系统中通过 nvm 安装的所有 Node.js 版本 nvm l…...
后端-Java虚拟机
Java虚拟机 Java虚拟机的组成 Java虚拟机的组成由类加载器ClassLoader、运行时数据区域(JVM管理的内存)和执行引擎(即时遍历器、解释器垃圾回收器) 类加载器加载class字节码文件中的内容到内存运行时数据区域负责管理jvm使用到…...
开源PDF解析工具olmOCR
olmOCR 是由 Allen Institute for Artificial Intelligence (AI2) 的 AllenNLP 团队开发的一款开源工具,旨在将PDF文件和其他文档高效地转换为纯文本,同时保留自然的阅读顺序。它支持表格、公式、手写内容等。 olmOCR 经过学术论文、技术文档和其他文档…...
Java里的ArrayList和LinkedList有什么区别?
大家好,我是锋哥。今天分享关于【Java里的ArrayList和LinkedList有什么区别?】面试题。希望对大家有帮助; Java里的ArrayList和LinkedList有什么区别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 ArrayList 和 Lin…...
Python的循环和条件判断 笔记250303
Python的循环和条件判断 Python中的循环和条件判断是编程基础,以下是关键点总结及示例: 条件判断 语法:if、elif、else,使用缩进划分代码块。逻辑运算符:and、or、not。示例:age 18 if age < 12:prin…...
浔川官方回应
浔川官方回应 近期,有用户反馈《浔川社团官方文章被 Devpress 社区收录!》一文中的文章链接,点击后出现无法访问的情况。在此,浔川社团向各位关注我们的用户致以诚挚的歉意,并就该问题作出如下说明: 经社…...
【计算机网络入门】初学计算机网络(六)
目录 1.回忆数据链路层作用 2. 组帧 2.1 四种组帧方法 2.1.1 字符计数法 2.1.2 字节填充法 2.1.3 零比特填充法 2.1.4 违规编码法 3. 差错控制 3.1 检错编码 3.1.1 奇偶校验码 3.1.2 CRC(循环冗余校验)校验码 3.2 纠错编码 3.2.1 海明校验码…...
摄像头应用编程(三):多平面视频采集
文章目录 1、前言2、环境介绍3、步骤4、应用程序编写5、测试5.1、编译应用程序5.2、运行应用程序 6、总结 1、前言 在查看摄像头类型时,大致可以分为两类:Video Capture 和 Video Capture Multiplanar。 本次应用程序主要针对类型为Video Capture Multi…...
用工厂函数简化redis配置
工厂函数(Factory Function)不同于构造函数,工厂函数就是一个普通函数,通常用于创建对象或实例。它的核心思想是通过一个函数来封装对象的创建逻辑,而不是直接使用类的构造函数。工厂函数可以根据输入参数动态地决定创…...
网页制作11-html,css,javascript初认识のCCS样式列表(上)
Advantage. 更加精确的控制网页的内容、形式。样式更加丰富。定义样式灵活。 一、css的基本语法 Css的语法结构由三部分组成: 1、选择符 Selector: 指这种样式编码所要针对的对象,可以是一个xhtml标签,例如body hl;…...
VSCode 移除EmmyLua插件的红色波浪线提示
VSCode 中安装插件EmmyLua,然后打开lua文件的时候,如果lua代码引用了C#脚本的变量,经常出现 “undefined global variable: UnityEngineEmmyLua(undefined-global)” 的红色波浪线提示,这个提示看着比较烦人,我们可以通…...
【PHP】fastadmin框架后台开关的传值问题
文章目录 概要技术细节 概要 fastadmin的后台ui框架中,处理列表开关的场景比较多见,有时传值不是0和1,而是1和2,那么就需要调整js的代码了。 技术细节 处理开关字段的js代码: {field: is_sellOut,title: 销售中,yes…...
机器学习数学基础:37.统计学基础知识1
统计学基础概念入门教程 在统计学的世界里,概率和数据分布是基础且重要的概念,它们能帮助我们理解和分析各种数据现象。除此之外,点估计与区间估计也是在对总体参数进行推断时常用的方法。下面,就为统计学小白详细讲解这些关键的…...
HTB academy ---Active Directory Enumeration Attacks---An ACE in the Hole
ACL Enumeration 那么章节开始我们先枚举一下用户的GUID,也就是如图所示objectacetype这一块儿的内容,这一步的目的其实是观察我们已获得的用户对其他用户的权限,这个权限就是通过这个GUID得出来的(当然枚举的时间会比较长可能需…...
2025华为OD机试真题目录【E卷+A卷+B卷+C卷+D卷】持续收录中...
摘要 本专栏提供2025最新最全的华为OD机试真题库(EABCD卷),包括100分和200分题型。题目包含题目描述、输入描述、用例、备注和解题思路、多种语言解法(Java/JS/Py/C/C)。希望小伙伴们认真学习、顺利通过。 声明 本专…...
【Linux第一弹】Linux基础指令(上)
目录 1.ls指令 1.1 ls使用实例 2.pwd指令 3.cd指令 3.1 cd使用实例 4.touch指令 4.1touch使用实例 5.mkdir指令 5.1mkdir使用实例 6.rmdir指令和rm指令 6.1 rmdir指令使用实例->: 6.2 rm指令使用实例 7.man指令 8.cp指令 8.1 cp 使用实例 9.mv指令 9.1mv使用…...
linux下自旋锁(spin_lock)
文章目录 Linux自旋锁:单核与多核环境下的实现差异与核心原理 🖥️🔒一、自旋锁的核心特性 ⚙️🎯 适用场景: 二、单核环境下的自旋锁实现 🛑1. **实现原理** 🔄2. **关键代码解析** Ǵ…...
【华为OD机考】2024E+D卷真题【完全原创题解 详细考点分类 不断更新题目 六种主流语言Py+Java+Cpp+C+Js+Go】
可上 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 oj1441了解算法冲刺训练(备注【CSDN】否则不通过) 文章目录 相关推荐阅读模拟 数学排序字符串基础数组基础系统设计蒙特卡洛模拟其他 栈 常规栈单调栈 队列(题目极少,几乎不…...
VirtualBox虚拟机转VM虚拟机
前言:部分靶机只适用于VirtualBox,VM打不开VirtualBox的文件,所以需要进行转换 前置条件:本机已经下载VM和VirtualBox 第一步:文件转换 找到VirtualBox.exe所在位置,启动cmd窗口 文件转换的命令…...
UE5设置打开新窗口默认停靠在主窗口
打开引擎所在位置 找到路径 ...\UE_5.5\Engine\Config 找到 BaseEditorPerProjectUserSettings.ini 文件 打开后CtrlF搜索 [/Script/UnrealEd.EditorStyleSettings] 在末尾添加一行 AssetEditorOpenLocationMainWindow 保存即可,之后的项目都是默认主窗口打开...
vi常见操作命令
vi(Visual Editor)是Linux和Unix系统中广泛使用的文本编辑器,它以其高效、强大的功能深受程序员和系统管理员的喜爱。这个“常用vi命令集合.zip”压缩包包含了一份详细记录了vi编辑器常用命令的文档“常用vi命令集合.doc”。下面,…...
AIGC和搜索引擎的异同
AIGC(生成式人工智能)与搜索引擎的核心差异体现在信息处理方式和输出形态上,我们可以从以下维度对比: 一、工作原理的本质差异 信息检索机制 搜索引擎:基于关键词匹配(如"中暑怎么办"→返回相关…...
【ATXServer2】Android无法正确显示手机屏幕
文章目录 现象原因分析与解决排查手机内部minicap 解决minicap问题查看移动端Android SDK版本查看minicap支持版本单次方案多次方案 现象 原因分析与解决 由于atxserver2在与Android动终端的链接过程中使用了agent:atxserver2-android-provider,按照项目…...
fps项目总结:动画蓝图
文章目录 状态不同状态的并存性。 状态 不同状态的并存性。...
Trae:国内首款AI原生IDE,编程效率大提升
今年一月,在新闻上看到字节跳动面向海外市场推出了一款名为Trae的AI集成开发环境(IDE)。起初,我并未给予过多关注,因为市面上已有不少IDE集成了AI插件,功能也非常全面,而字节跳动自家的MarsCode…...
《深度学习进阶》第8集:多模态学习与跨领域融合**
第8集:多模态学习与跨领域融合 在深度学习的浪潮中,单模态模型(如仅处理图像或文本的模型)已经取得了令人瞩目的成就。然而,随着人工智能应用场景的复杂化和多样化,多模态学习逐渐成为研究和应用的热点。多…...
大模型在败血症预测及围手术期管理中的应用研究报告
目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 1.3 研究方法与数据来源 二、败血症概述 2.1 定义与流行病学 2.2 病因与发病机制 2.3 临床表现与诊断标准 2.4 并发症与危害 三、大模型技术原理及在医疗领域的应用 3.1 大模型技术概述 3.2 大模型在医疗领…...
Hadoop架构详解
Hadoop 是一个开源的分布式计算系统,用于存储和处理大规模数据集。Hadoop 主要由HDFS(Hadoop Distributed File System)、MapReduce、Yarn(Jobtracker,TaskTracker)三大核心组件组成。其中HDFS是分布式文件…...
【操作系统】文件
文件 一、文件的概念二、文件目录2.1 FCB2.2 目录结构2.2.1 单机目录2.2.2 两级目录2.2.3 树形目录结构2.2.4 无环图目录结构 三、文件的逻辑结构和物理结构3.1 文件的逻辑结构3.1.1 顺序文件3.1.2 索引文件3.1.3 索引顺序文件 3.2 文件的物理结构3.2.1 连续分配3.2.2 隐式链接…...
我的ChatGPT怎么登不上?
近期,不少用户反馈在使用ChatGPT时遇到登录困难、连接超时等问题。本文将从技术角度分析常见原因,并提供合规、安全的解决方案,同时结合开发者实际需求推荐实用工具,助您高效应对登录障碍。 ChatGPT登录失败的常见原因 网络环境限…...
实时金融信息搜索的新突破:基于大型语言模型的智能代理框架
“An Agent Framework for Real-Time Financial Information Searching with Large Language Models” 论文地址:https://arxiv.org/pdf/2502.15684 摘要 在金融决策过程中,需要处理海量的实时信息以及复杂的时序关系。然而,传统的搜索引擎在…...
Linux服务器Ubuntu系统环境中安装Jupyter Notebook并且配置内核以便在网页端调用
一、前提 在使用终端访问,并且个人目录下已创建环境。如果还不知道创建环境和安装包,请参考之前文章 机器学习模型算法代码需要在环境中安装的库和包 二、安装相关库Jupyter Notebook 使用pip 或 conda指令安装,确保服务器上安装了 Python …...
Magic 1-For-1: 在一分钟内生成一分钟视频片段(基于Python实现,视频生成模型)
一、前言 文章所有代码都使用Python实现,并且可以分享开源,文章末尾联系博主或者往期文章末尾联系,欢迎探讨学习分享专业领域前言研究和技术分享。 二、摘要 在本技术报告中,我们介绍了 Magic 1-For-1 (Magic141&#…...
基于RK3588的重症监护信息系统应用解决方案
重症监护信息系统是医院临床信息系统的重要组成部分,也是医院信息化建设的重要组成部分。通过集成化的电子病历、实时监测、决策支持等功能,提高重症患者的诊疗效率和质量。 图片来源于网络 重症监护信息系统主要由数据信息采集单元、信息处理单元、通信…...
二十三种设计模式
2 工厂方法模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通…...
网络安全六层模型
🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 一、单选题(一) 1、在以下人为的恶意攻击行为中,属于主动攻击的是( )A A.数据篡改及破坏 B…...
BrainSCK:通过知识注入和再激活进行大脑结构和认知对齐以诊断脑部疾病
文章目录 BrainSCK: Brain Structure and Cognition Alignment via Knowledge Injection and Reactivation for Diagnosing Brain Disorders摘要方法实验结果 BrainSCK: Brain Structure and Cognition Alignment via Knowledge Injection and Reactivation for Diagnosing Bra…...
【在Spring Boot项目中接入Modbus协议】
【在Spring Boot项目中接入Modbus协议】 在Spring Boot项目中接入Modbus协议,可以通过使用第三方库(如jamod或modbus4j)来实现。以下是一个基本的步骤指南,帮助你在Spring Boot项目中集成Modbus。 1. 添加依赖 首先,…...
CSS_复合选择器
目录 7. 复合选择器 7.1 交集选择器 7.2 并集选择器 7.3 后代选择器 7.4 子代选择器 7.5 兄弟选择器 7.6 属性选择器 7.7 伪类选择器 7.7.1动态伪类 7.7.2结构伪类 7.7.3否定伪类 7.7.4 UI伪类 7.7.5 目标选择器 7. 复合选择器 7.1 交集选择器 作用:…...
QT-信号与槽
1.在注册登录的练习里面,追加一个QListWidget项目列表 要求:点击注册之后,将账号显示到列表窗口小部件上面去 以及,在列表窗口小部件中双击某个账号的时候,将该账号删除 头文件 #ifndef WIDGET_H #define WIDGET_H #include <…...
在python语言中,请详细介绍一下比较运算符中等于符号(==)的情况?
李升伟 整理 一、有关思考 嗯,我现在要详细了解一下Python中的等于运算符()。首先,我得回忆一下自己之前学过的知识,可能有些地方不太确定,需要仔细思考或者查阅资料。 首先,等于运算符&#…...
halcon学习笔记1
环境的搭建就不说了,主要是作者在入职后的实际学习与实践。 打开应用程序 这里作者的个人理解是1号区域主要是可以观察到读取的图像以及后续对图像进行何种操作,2的算子类似于Opencv中的API,可以在上面进行参数的调整,例如read_I…...
解决寻找两个正序数组中位数问题:C语言实现与解析
在算法学习和实际编程应用中,处理数组相关的问题是很常见的。其中,寻找两个正序数组的中位数就是一个经典的题目,不仅考验对数组操作的熟悉程度,还涉及到对算法效率的考量。今天,我们就来深入探讨如何使用C语言解决这一…...
在 ArcGIS Pro 中描绘和绘制流域
查找数字高程模型 (DEM) 对于 DEM,我使用了USGS Lidar Explorer 地图。该地区有 10m 分辨率的 DEM。 设置坐标系 将坐标系设置为 UTM,以尽量减少失真,并使工具在后续过程中进行更精确的计算。对于俄勒冈州,这是 UTM 区域 10。 …...
在华为统信UOS中安装Anaconda,并配置PyCharm
这里写目录标题 1. 下载Anaconda安装包2. 打开终端3. 安装Anaconda4.下载安装PyCharm 1. 下载Anaconda安装包 首先打开 Anaconda官网 : https://www.anaconda.com/products/distribution,接受或拒绝网站投喂的饼干 然后输入自己的邮箱后,进入下载页面…...
谈谈 HTTPS 的工作原理,SSL / TLS 握手流程是什么?
一、HTTPS 核心机制:非对称加密 对称加密 HTTPS HTTP over TLS/SSL,通过 混合加密体系 解决三大问题: 防窃听 - 对称加密传输内容(如 AES)防篡改 - 数字签名验证数据完整性防冒充 - 数字证书验证服…...
Linux虚拟机网络配置-桥接网络配置
简介 本文档旨在指导用户如何在虚拟环境中配置Linux系统的桥接网络,以实现虚拟机与物理主机以及外部网络的直接通信。桥接网络允许虚拟机如同一台独立的物理机一样直接连接到物理网络,从而可以被分配一个独立的IP地址,并能够与网络中的其他设…...