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

Towards Frame Rate Agnostic Multi-object Tracking—迈向帧率无关的多目标跟踪

Towards Frame Rate Agnostic Multi-object Tracking—迈向帧率无关的多目标跟踪

发表在IJCV 2023年
作者:Weitao Feng, Lei Bai, Yongqiang Yao, Fengwei Yu & Wanli Ouyang
研究目标:多目标跟踪的帧率无关性研究

IJCV 在计算机视觉领域的影响力非常大,其 影响因子(Impact Factor)通常较高,是很多计算机视觉研究人员和学者首选的期刊之一。期刊的影响因子在学术界反映了它的引用和学术影响力,通常是 A 类期刊。(和CVPR相当了

在这里插入图片描述

这里是杭电的一个刚认识的朋友推荐的,学习的目标是结合论文理论了解一下复杂的关联场景是如何建立的。

背景知识—帧率与多目标跟踪的关系

帧率反映了图像序列中图像更新的速度或频率,影响目标跟踪系统对运动目标的感知和跟踪能力。

  1. 帧率高:在高帧率场景中,每秒钟捕获更多的图像帧,相邻的帧之间差距小,运动信息更加细腻和连续,跟踪系统能够更精确地捕捉到目标在空间和时间上的变化。

在高帧率场景下,运动线索更加可靠,但可能会面临计算量过大的问题。

  1. 帧率低:在低帧率场景中,视频每秒钟的帧数较少,相邻帧之间的时间间隔较长。此时,目标的运动可能在帧与帧之间跨越较大的距离,运动信息会变得不那么连续或容易丢失。此时,外观线索(如目标的颜色、形状、纹理等)变得更加重要,因为外观特征相对稳定,可以帮助跟踪系统弥补运动信息的不足。

低帧率下:虽然外观线索较为稳定,但缺乏运动线索时,目标跟踪可能会因为 目标外观变化或快速运动而出现跟踪丢失的情况。

  1. 多目标跟踪 (MOT) 领域的研究大多假设输入的视频流具有固定的采样帧率,即视频中每秒钟的图像帧数保持不变,系统在设计和实现时大多是基于这一假设进行优化的。这种假设虽然在传统的视频和图像处理任务中是常见的,但随着多种帧率场景(如动态视频流、不同帧率的视频源等)逐渐成为现实,现有的 MOT 方法可能无法很好地应对帧率变化带来的挑战。

摘要整理与总结

  1. 目前的MOT研究仍然局限于输入流的固定采样帧率。 根据经验当输入帧速率发生变化时,所有最新最先进的跟踪器的准确性都会急剧下降。

  2. 本文的研究工作主要是:将注意力转向帧率不可知 MOT (FraMOT) 问题上去了。在本文中,我们提出了一种具有定期训练方案(FAPS:具有周期性训练方案的帧率无关多目标跟踪框架(FAPS))的帧率不可知 MOT 框架,以首次解决 FraMOT 问题。

    • 提出了一个帧速率不可知关联模块(FAAM老师推荐重点学习的部分,它可以推断和编码帧速率信息,以帮助跨多帧速率输入进行身份匹配,从而提高学习模型在 FraMOT 中处理复杂运动外观关系的能力。

    • 提出定期训练方案,通过跟踪模式匹配和融合来反映训练中的所有后处理步骤

  3. 尝试在已知帧率未知帧率两种不同模式下解决新的挑战,旨在处理更复杂的情况。

在MOT17/20 dataset (FraMOT version) 版本上进行实验验证的。

介绍与相关工作

多目标跟踪算法仍然存在不完善的地方主要因为:处理具有固定帧速率的视频。 现在先进的追踪器帧率的变化表现的是很不稳定的。

在这里插入图片描述

图 1 最近最先进的跟踪器在多帧速率设置下的性能。 当帧速率降低时,MOTA 和 HOTA 分数都会急剧下降。 与以前的方法相比,我们提出的方法具有更好的处理帧速率变化的能力。

跟踪器对帧率的信息相当的敏感了,那么我们该如何去解决这一个问题呢?

尽管为每个帧速率训练和部署单独的跟踪器是可行的,但这种简单的解决方案既不方便也不高效,因为对于大型系统来说,为每个应用程序和帧速率开发、选择和部署最佳跟踪器既费力又昂贵。

引出了研究的问题:因此有必要提出能够像人类一样理解不同帧速率视频的跟踪器。 这些跟踪器应该是通用的、统一的并且与帧速率无关。

  1. 直接的方式是在具有多种不同帧率的数据集上训练经典设计的模型(即帧率不可知训练)。 然而,由于以下两个挑战,这种普通设计效果不佳。
  • 首先,运动-外观关系的最佳匹配规则在不同的输入帧速率下是不同的。

空间距离较大,具有相似外观的两个检测在较高帧速率视频中可能不太可能被判断为同一对象,但在较低帧速率视频中更有可能被判断为同一对象。

  1. 其次,传统帧对关联训练方案中涉及多帧率数据导致训练和推理之间存在较大差距。

训练阶段未包含但在推理阶段应用的后处理步骤将改变检测到的对象位置,导致训练阶段关联网络的输入数据与推理阶段不同。这些变化在正常(更高)帧率下较小,因此在传统的训练方案中可以忽略不计。然而,在低帧率下这些变化被放大,并且在多帧率训练中不可忽视。

  1. 提出了一个带有周期性训练方案(FAPS)的帧率无关MOT框架,它主要包含了两种技术来进行实现的。
  • 对于第一个挑战,提出了一个统一的帧速率不可知关联模块(FAAM)来处理各种帧速率设置。

对于测试期间确切帧率未知的情况,我们提出使用帧间最佳匹配距离向量(IBDV)来推断帧率信息

  • 设计了一个周期性训练方案(PTS),通过跟踪模式匹配和融合来增强帧率无关训练。在开始训练之前,我们通过在包含所有后处理步骤的真实推理流程上运行先前的模型检查点来采样跟踪模式。跟踪模式记录了我们在训练期间模拟推理阶段环境所需的所有信息(即位置、运动预测和缓存的特征)。我们假设在短时间内,跟踪器的这些模式变化可以忽略不计,因此我们将整个训练过程划分为几个训练周期,并在周期之间只更新模式。在训练过程中,不匹配这些模式的实例将被丢弃,因为它们可能不会出现在推理时间,从而减少了帧率无关训练的难度。剩余的实例将与记录的模式融合,以减少输入方差,并转化为关联特征。通过所提出的方法,我们成功提高了跟踪器的准确性,特别是在较低帧率设置下。

文章的贡献

文章主要提出了下面的四种贡献。

  1. 我们首次提出帧速率不可知多对象跟踪(FraMOT)问题,其目标是学习一个统一的模型来跟踪帧速率不可知的视频中的对象。 与经典的MOT相比,FraMOT更加智能,对于大型视觉系统也更加实用。

  2. 我们提出了一个具有定期训练方案(FAPS)的帧速率不可知 MOT 框架,这是第一个帧速率不可知 MOT 基线,尝试使用单个统一模型有效处理各种输入帧速率,以便在工业场景中实现更稳健的 MOT 跟踪器。

  3. 我们提出了一个帧速率不可知关联模块(FAAM),利用给定或推断的帧速率线索来帮助身份匹配,从而形成更智能的跟踪器。

  4. 我们提出了一种用于帧率无关 MOT 模型训练的定期训练方案(PTS),提供推理环境的模拟,从而减少数据关联的训练与推理差距。

对于背景知识的介绍和相关工作的一些内容并不作为重点的部分,因此在这里进行省略。主要是介绍训练和评估的一些方式。

Frame Rate Agnostic MOT Frameworkwith a Periodic Training Scheme

之后介绍的内容就是论文的核心方法部分了,首先介绍的是与帧率无关的带有周期性训练的框架

确保即使在 低帧率设置下,在 训练阶段所采用的 非参数后处理步骤 也不会导致 训练和推理阶段之间的差距扩大。这样可以保证在实际应用中,无论帧率如何变化,模型在 推理阶段的表现不会逊色于在训练阶段的表现。

介绍了我们提出的带有周期性训练方案(FAPS)的帧率无关MOT框架,该框架专门设计用于解决前述目标并克服FraMOT相关的挑战。

在这里插入图片描述

概述

这里提出的与带有周期性训练(FAPS)帧率无关的关联框架,主要有一下的三个部分组成。(该框架中有三个不同的模块

  • 联合提取器模块(JEM)
  • 关联模块(AM)
  • 轨迹管理模块(TM)
  1. JEM 从原始图像生成检测结果和相应的外观特征嵌入

  2. AM 将新的检测结果与现有轨迹关联起来。

  3. TM决定所有轨迹的起始和终止,使它们更加平滑并处理它们的状态。

The core module of the proposed framework is the Asso-
ciation Module 核心还是提出的关联模块。

我们设计了一个新的帧速率不可知关联模块,具有编码帧速率信息的机制,提供处理各种帧速率的复杂运动外观关系的能力。同时,该框架使用所提出的==定期训练方案(PTS)==进行训练,该方案考虑了所有后处理步骤,提供了推理阶段环境的模拟,从而减少了训练和推理之间数据关联的差距。

在这里插入图片描述

图二说明:框架中有多个训练周期,每个周期包含两个阶段.跟踪模式生成和模块训练。(tracking patterns generation and module training.)在跟踪模式生成中,我们使用之前的 MOT 模型生成跟踪模式.然后这些跟踪模式将用于模块训练,提供有关测试环境的简要信息。 “JEM”、“AM”和“TM”分别是联合提取模块、关联模块和目标管理的缩写

训练管道遵循所提出的PTS,包含多个训练周期,每个周期包含两个阶段,即跟踪模式生成阶段和模块训练阶段

  1. 具体来说,在跟踪模式生成阶段,使用上一周期的模型进行前向传递,并生成跟踪模式。

  2. 模块训练阶段,关联模型采用JEM的输出和跟踪模式作为输入,生成关联特征,使用所提出的帧率无关关联模块(FAAM)预测关联分数,并受到相应关联真值信号的监督。

  3. 在训练期间,不是直接将输入数据传递给FAAM,我们设计了一个关联特征生成模块,通过模式匹配和融合利用生成的跟踪模式调整关联特征。然后,调整后的关联特征将通过FAAM

在这里插入图片描述

  1. FAAM网络利用帧率信息推断出帧率感知注意力,并增强关联预测。在推理过程中,将使用上一周期的模型检查点。关联模型仅将JEM的输出作为输入,不再需要跟踪模式,并且移除了模式匹配和融合步骤。推理管道与跟踪模式生成管道相同。

相关文章:

Towards Frame Rate Agnostic Multi-object Tracking—迈向帧率无关的多目标跟踪

Towards Frame Rate Agnostic Multi-object Tracking—迈向帧率无关的多目标跟踪 发表在IJCV 2023年 作者:Weitao Feng, Lei Bai, Yongqiang Yao, Fengwei Yu & Wanli Ouyang 研究目标:多目标跟踪的帧率无关性研究 IJCV 在计算机视觉领域的影响力非常…...

视频网站中重磅推荐模块(附加源码)

写在开头 上期代码主要实现省市区三级联动效果,开发久了很多功能都是通过框架组件库来完成,但是如果组件满足不了开发需求,还需要开发人员手动封装组件,专门出这样一期文章,通过原生js实现一些特定功能,功能…...

Flink keyBy算子的分区规则

demo代码 String worlds "flink,spark,hadoop,zk,kafka";streamSource.flatMap(new RichFlatMapFunction<String, String>() {Overridepublic void flatMap(String value, Collector<String> collector) throws Exception {String[] worlds value.spl…...

jvm内存优化方式

1. JVM&#xff08;Java Virtual Machine&#xff09;&#xff1a; • 定义&#xff1a;Java虚拟机&#xff0c;是运行Java字节码的抽象计算机。 • 内存管理&#xff1a;负责内存的分配和回收&#xff0c;是JVM内存优化的核心。 2. 堆&#xff08;Heap&#xff09;&#xff1a…...

顺序表的实现

大家好&#xff0c;今天给大家分享一下最基础的数据结构--顺序表的实现&#xff0c;其实顺序表与我们的数组相似&#xff0c;但是顺序表存储数据必须是连续的&#xff0c;不能像数组一样存储在任意下标&#xff0c;那么我们就来看看顺序表的代码。 SeqList.h SeqList.c 那么今…...

优化Go语言中的网络连接:设置代理超时参数

网络连接优化的重要性 在分布式系统和微服务架构中&#xff0c;网络请求的效率直接影响到整个系统的响应速度。合理的超时设置可以防止系统在等待网络响应时陷入无限期的阻塞&#xff0c;从而提高系统的吞吐量和用户体验。特别是在使用代理服务器时&#xff0c;由于增加了网络…...

活动|华院计算董事长宣晓华出席第十五届田长霖论坛会议

12月11日&#xff0c;2024年光谷田长霖中心科技文化交流大会暨第十五届田长霖论坛会议举行&#xff0c;300多位院士专家、大学校长、青年学者和优秀企业家齐聚光谷。 华院计算技术&#xff08;上海&#xff09;股份有限公司&#xff08;以下简称“华院计算”&#xff09;创始人…...

qt-C++语法笔记之mapToGlobal将组件(控件)中的本地坐标系(局部坐标)映射到全局坐标系

qt-C语法笔记之mapToGlobal将组件&#xff08;控件&#xff09;中的本地坐标系&#xff08;局部坐标&#xff09;映射到全局坐标系 code review! 文章目录 qt-C语法笔记之mapToGlobal将组件&#xff08;控件&#xff09;中的本地坐标系&#xff08;局部坐标&#xff09;映射到…...

设计一个高效的Java多线程应用程序及案例

《剑来》 勇敢追梦&#xff1a;“如果真的有那么喜欢苏姑娘&#xff0c;既然这辈子到最后也没能说出口喜欢她&#xff0c;没关系&#xff0c;以后数十年百余年&#xff0c;哪怕找遍人间&#xff0c;你都要去再见她一次&#xff0c;大声告诉她&#xff0c;自己喜欢她。” 正视困…...

基于最新的Apache StreamPark搭建指南

一、StreamPark 的介绍 官方文档:Apache StreamPark (incubating) | Apache StreamPark (incubating) 中文文档:Apache StreamPark (incubating) | Apache StreamPark (incubating)Github地址:https://github.com/apache/incubator-streampark Apache StreamPark™ 是一个…...

迎接全新的 Kotlin 支持 – K2 模式:基本信息

K2 模式有什么作用&#xff1f; K2 模式是 IntelliJ IDEA 中 Kotlin 支持的新实现&#xff0c;它可以提高 IDE 的稳定性&#xff0c;同时也会为支持未来 Kotlin 语言功能奠定基础。 K2 模式与 Kotlin K2 编译器有什么区别&#xff1f; K2 编译器负责编译 Kotlin 语言 2.0 或…...

阿里云元宇宙

在数字经济时代&#xff0c;技术的迅猛发展带来了前所未有的机遇与挑战&#xff0c;元宇宙正逐步成为全球科技与商业创新的热点。作为中国云计算和人工智能领域的领导者&#xff0c;阿里云通过其强大的技术能力&#xff0c;推出了全面的阿里云元宇宙解决方案&#xff0c;为全球…...

题目 1688: 数据结构-字符串插入

第一种方式字符串 #include<iostream> #include<cstring> #include<algorithm> using namespace std; int main(){string s1,s2;int n;cin>>s1>>s2>>n;s1.insert(n-1,s2);cout<<s1<<endl;return 0; } 第二种方式字符数组 …...

MetaGPT中的教程助手:TutorialAssistant

1. 提示词 COMMON_PROMPT """ You are now a seasoned technical professional in the field of the internet. We need you to write a technical tutorial with the topic "{topic}". """DIRECTORY_PROMPT (COMMON_PROMPT "…...

如何将Python程序打包发布,实现一键安装

哈喽,大家好,我是木头左! 编写完Python脚本后,如何将其高效地发布并安装到其他计算机上,。本文将详细介绍如何将Python程序打包发布,实现一键安装,让程序的分发与部署变得轻松便捷。 一、准备工作 1. 编写和测试程序 在开始打包之前,首先要确保你的Python程序已经编…...

Java 接口

1. 接口概述 (1) Java提供了一个关键字 interface&#xff0c;用这个关键字可以定义接口&#xff1b; (2)格式&#xff1a; public interface 接口名{ //成员变量(常量) //成员方法(抽象方法) } public interface A {//成员变量(接口默认为常量-public static final)String NA…...

RTMP推流平台EasyDSS在无人机推流直播安防监控中的创新应用

无人机与低空经济的关系密切&#xff0c;并且正在快速发展。2024年中国低空经济行业市场规模达到5800亿元&#xff0c;其中低空制造产业占整个低空经济产业的88%。预计未来五年复合增速将达到16.03%。 随着科技的飞速发展&#xff0c;公共安防关乎每一个市民的生命财产安全。在…...

【Flutter_Web】Flutter编译Web第一篇(插件篇):Flutter_web实现上传TOS上传资源,编写web插件

前言 由于Flutter在双端的开发体验几乎接近的情况下&#xff0c;尝试将Flutter代码转Web端进行部署和发布&#xff0c;在其中遇到的所有问题&#xff0c;我都会通过这种方式分享出来。那么第一个要解决的就是上传资源到TOS上&#xff0c;在双端中都是通过插件的方式在各端通过…...

SpringBoot 项目使用 EasyExcel 插件构建 Excel 表格格式(行高、列宽和字体等)工具类

本文主要讲了如何使用 EasyExcel 插件&#xff0c;在导出 Excel 时&#xff0c;设置行高&#xff0c;列宽&#xff0c;表头格式&#xff0c;内容字体大小等工具类。 1、代码使用的依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyex…...

数据优化带来的问题

原因大概可以猜到 等待进一步深究&#xff08;必须一个是浮点型&#xff09; double x 1 / 2;double x2 static_cast<double> (1 / 2);double x3 (double)1 / (double)2;double x4 (double)1 / 2;double x5 1 / (double)2;double nTotalDataCount 78182;double n…...

2024153读书笔记|《春烂漫:新平摄影作品选》——跳绳酷似人生路,起落平常,进退平常,莫惧征途万里长

2024153读书笔记|《春烂漫&#xff1a;新平摄影作品选》——跳绳酷似人生路&#xff0c;起落平常&#xff0c;进退平常&#xff0c;莫惧征途万里长 《春烂漫&#xff1a;新平摄影作品选》作者新平&#xff0c;2019.12.25年读完的小书&#xff0c;当时就觉得挺不错&#xff0c;今…...

RabbitMQ个人理解与基本使用

目录 一. 作用&#xff1a; 二. RabbitMQ的5中队列模式&#xff1a; 1. 简单模式 2. Work模式 3. 发布/订阅模式 4. 路由模式 5. 主题模式 三. 消息持久化&#xff1a; 消息过期时间 ACK应答 四. 同步接收和异步接收&#xff1a; 应用场景 五. 基本使用 &#xff…...

每天40分玩转Django:Django视图和URL

Django视图和URL 一、课程概述 学习项目具体内容预计用时视图基础函数视图、类视图、视图装饰器90分钟URL配置URL模式、路由系统、命名URL60分钟请求处理请求对象、响应对象、中间件90分钟 二、视图基础 2.1 函数视图 # blog/views.py from django.shortcuts import render…...

ModbusTcp获取数据

ModbusTcp获取数据 记录一个用 pymodbus 库来获取数据的代码。 注意&#xff1a; 1.读取寄存器地址是16进制的。2.大小端转换通过代码知道原理。读取数据时&#xff0c;切记频率别太高&#xff0c;否则会出现连接被关闭问题。 from pymodbus.client.sync import ModbusTcpCli…...

汽车车牌识别数据集,支持YOLO,COCO,VOC格式的标注,8493张图片,可识别多种环境下的车牌

汽车车牌识别数据集&#xff0c;支持YOLO&#xff0c;COCO&#xff0c;VOC格式的标注&#xff0c;8493张图片&#xff0c;可识别多种环境下的车牌 数据集分割 训练组82&#xff05; 6994图片 有效集12&#xff05; 999图片 测试集6% 500图片 预处理 自动…...

YOLOv5+pyqt5+摄像头在特定条件下进行目标检测并采集原始数据

项目介绍 项目地址 GitHub - biabu0/Yolov5_D435i: 通过YOLOV5与pyqt5实现一个使用D435i深度摄像头采集特定需求与场景下的深度数据的小程序 通过YOLOV5对指定的区域进行检测&#xff0c;当检测到目标进入特定区域时&#xff0c;开始保存数据&#xff0c;摄像头采用D435i深度…...

代码随想录-算法训练营-番外(图论02:岛屿数量,岛屿的最大面积)

day02 图论part02 今日任务:岛屿数量,岛屿的最大面积 都是一个模子套出来的 https://programmercarl.com/kamacoder/0099.岛屿的数量深搜.html#思路往日任务: day01 图论part01 今日任务:图论理论基础/所有可到达的路径 代码随想录图论视频部分还没更新 https://programmercar…...

C# 23种设计模式(3)工厂(SimpleFactory)模式

一、工厂模式介绍 工厂模式&#xff08;Factory Pattern&#xff09;是一种在软件开发中常用的创建型设计模式。它的主要目的是将对象的创建逻辑与使用逻辑分离&#xff0c;使得增加新的对象类型时不需要修改使用对象的代码。这样做提高了系统的可扩展性和可维护性。 工厂模式…...

安卓主板_MTK联发科android主板方案

在当前智能设备的发展中&#xff0c;安卓主板的配置灵活性和性能优化显得尤为重要。安卓主板的联发科方案&#xff0c;在芯片上&#xff0c;搭载联发科MTK6761、MT8766、MT6765、MT6762、MT8768、MT8390、MTK8370以及MT8788等型号&#xff0c;均基于64位的四核或八核架构设计。…...

中企出海 - 平行账 - Parallel Ledger

以中国企业出海美国&#xff0c;为同时满足中国和美国的会计核算要求&#xff0c;请给出SAP 平行账的实施方案及国家科目表(alternative account)实施海外国家的注意事项 中国企业在美国开展业务需同时满足中国和美国的会计准则&#xff0c;这通常包括《中国企业会计准则》&am…...

Pyside6 --Qt设计师--简单了解各个控件的作用之:Item Views

目录 一、List View二、Tree View三、Table View四、Column View 一、List View 学习方法和Buttons一样&#xff0c;大家自己在qt设计师上面在属性编辑区进行相应的学习&#xff01; 我就先紧着qt设计师的页面进行讲解&#xff0c;部分内容查自AI。 后面有什么好用的控件或者…...

智能家居WTR096-16S录放音芯片方案,实现语音播报提示及录音留言功能

前言&#xff1a; 在当今社会的高速运转之下&#xff0c;夜幕低垂之时&#xff0c;许多辛勤工作的父母尚未归家。对于肩负家庭责任的他们而言&#xff0c;确保孩童按时用餐与居家安全成为心头大事。此时&#xff0c;家居留言录音提示功能应运而生&#xff0c;恰似家中的一位无形…...

算法2(蓝桥杯19)-合并两个有序链表

问题&#xff1a;将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解题思路&#xff1a; 创建一个虚拟节点&#xff0c;循环比较l1、l2链表各节点的大小&#xff0c;将较小的节点追加到虚拟节点后&#xff0c;返回新链表 1、…...

OpenAI 正式赋予 ChatGPT 通过视频实时与用户互动的能力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

【Email】基于SpringBoot3.4.x集成发送邮件功能

【Email】基于SpringBoot3.4.x集成发送邮件功能 摘要本地开发环境说明pom.xml启动类application.yaml写一个邮件模板定义模板引擎工具类定义一个邮件发送对象封装一个邮件发送器单元测试邮件模板单元测试发送邮件单元测试 邮件效果参考资料 摘要 在业务系统开发过程中&#xf…...

debian12学习笔记

前置条件 基于debian12官网的qcow2格式文件进行操作 安装ssh 登录虚拟机后安装ssh服务端 apt install openssh-server配置国内源 新增/etc/apt/sources.list.d/tsinghua.list 使用清华大学的源 https://www.cnblogs.com/shanhubei/p/18104430 deb https://mirrors.tuna.t…...

(补)算法刷题Day16:BM39 序列化二叉树

题目链接 描述 思路&#xff1a; 自行序列化和反序列化。元素用逗号分隔。 序列化&#xff1a; 使用队列层序遍历。遍历每一层节点&#xff0c;并访问其左右孩子&#xff0c;如果是空则序列化成#&#xff0c;如果是数字&#xff0c;则序列化成str。 反序列化&#xff1a; 使…...

科研绘图系列:R语言绘制热图和散点图以及箱线图(pheatmap, scatterplot boxplot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载图1图2图3系统信息参考介绍 R语言绘制热图和散点图以及箱线图(pheatmap, scatterplot & boxplot) 加载R包 library(magrittr) library(dplyr) library(ve…...

docker 安装mysql 5.7 详细保姆级教程

1. 安装mysql(5.7) docker pull mysql:5.7 若是拉取不了&#xff0c;可以配置下 docker 源 2. 查看是否安装成功 docker images 下图就是成功了 3.创建mysql专用目录、数据挂载目录、配置文件目录 &#xff0c;演示目录在于/home/下 //命令逐条执行cd /home/ mkdir mysql …...

PostgreSql

PostgreSql 1.物化视图1.1 创建物化视图1.2 查询物化视图1.3 使用物化视图1.4 刷新物化视图1.5 删除物化视图 1.物化视图 物化视图是一种存储查询结果的数据库对象。与普通视图不同&#xff0c;物化视图将查询结果实际存储在磁盘上&#xff0c;而不是在每次查询时动态计算结果…...

优化移动端H5:常见问题与解决方案

移动端H5开发中的“坑”与解决方案 本文介绍了开发中遇到的几个关于移动端H5开发中的小问题&#xff0c;以及解决的方法。 一、iOS滑动不流畅问题 在iOS设备上&#xff0c;H5页面的滑动效果有时会出现不流畅的情况&#xff0c;特别是在页面高度超过一屏时。这通常是由于iOS的…...

AWS Glue实现RDS到RDS的数据同步

使用 在AWS上,AWS Glue 是一个完全托管的ETL(Extract, Transform, Load)服务,可以轻松地将数据从一个源系统提取出来,转换数据格式,然后将其加载到目标系统。本文将详细介绍如何使用AWS Glue将数据从一个RDS(关系型数据库服务)实例同步到另一个RDS实例,而无需手动编写…...

【Redis】Redis缓存击穿

1. 概述 缓存击穿&#xff1a;缓存击穿问题也叫热点key问题&#xff0c;一个高并发的key或重建缓存耗时长&#xff08;复杂&#xff09;的key失效了&#xff0c;此时大量的请求给数据库造成巨大的压力。如下图&#xff0c;线程1还在构建缓存时&#xff0c;线程2&#xff0c;3&…...

QILSTE H8-316QFO高亮橙光LED灯珠 发光二极管LED

在当今电子技术领域&#xff0c;H8-316QFO型号的LED以其卓越的性能和可靠性 脱颖而出。本文将深入探讨这款LED的关键参数&#xff0c;以期为工程师和技术人员提供详尽的技术参考。 首先&#xff0c;H8-316QFO的物理特性不容忽视。其外观尺寸为3.2x1.5x0.8mm&#xff0c;小巧的…...

pytest入门三:setup、teardown

https://zhuanlan.zhihu.com/p/623447031 function对应类外的函数&#xff0c;每个函数调用一次 import pytest def setup_module():print(开始 module)def teardown_module():print(结束 module)def setup_function():print(开始 function)def teardown_function():print(结…...

MySQL有哪些高可用方案?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL有哪些高可用方案?】面试题。希望对大家有帮助&#xff1b; MySQL有哪些高可用方案? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MySQL 高可用方案旨在确保数据库系统的高可靠性、低宕机时间、以及在硬件故障…...

IT 行业的就业情况

当前&#xff0c;IT 行业的就业情况呈现出以下特点&#xff1a; 1. 需求持续增长&#xff1a;随着数字化转型的加速&#xff0c;各个行业对信息技术的依赖程度不断提高&#xff0c;推动了对 IT 人才的持续需求。特别是在云计算、大数据、人工智能、物联网等新兴领域&#xff…...

[SWPU 2019]漂流记的马里奥

[SWPU 2019]漂流记的马里奥 解压安装包&#xff0c;里面有一个exe程序&#xff0c;运行后得到一个1.txt的文件 打开1.txt文件发现里面有给flag.txt 在这里的话可以用windows中的命令来打开falg.txt文件 notepad是一个用于打开Windows系统自带的记事本程序的命令 输入 notepa…...

如何在Android设备上复制整个目录到另一个位置?

在Android设备上复制整个目录到另一个位置&#xff0c;通常需要通过adb工具&#xff08;Android Debug Bridge&#xff09;来进行操作&#xff0c;因为它提供了文件系统级别的访问权限。以下是步骤&#xff1a; 打开命令行终端&#xff1a;首先&#xff0c;你需要连接你的Andro…...

人工智能在医疗健康领域的革命:从早期诊断到个性化治疗

引言&#xff1a;人工智能如何改变医疗健康 人工智能&#xff08;AI&#xff09;正在以惊人的速度渗透到医疗健康领域&#xff0c;从自动化诊断到个性化治疗&#xff0c;AI技术为提高医疗服务效率、降低成本和提升治疗效果提供了革命性的解决方案。本文将探讨人工智能在医疗健…...