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

3D姿势和跟踪的人体行为识别

🏡作者主页:点击! 

🤖编程探索专栏:点击!

⏰️创作时间:2024年11月28日21点20分


神秘男子影,
  秘而不宣藏。
泣意深不见,
男子自持重,
   子夜独自沉。

论文链接

点击开启你的论文编程之旅icon-default.png?t=O83Ahttps://www.aspiringcode.com/content?id=17323757482265&uid=778c699eab064a78af32362069bf7ab0

引言

本文介绍的文章是《On the Benefits of 3D Pose and Tracking for Human Action Recognition》(CVPR 2023)。

在流体力学中,拉格朗日和欧拉描述方式是观察流体运动的两种方式。拉格朗日观点是指观察者跟随单个流体粒子,随着它在空间和时间中移动,可以想象成坐在船上顺流而下。欧拉观点则关注流体流过特定空间位置的情况,随着时间的变化,可以想象成坐在河边观察水流过固定位置。

这些概念与我们分析人类活动视频的方式非常相关。在欧拉观点中,我们会关注特定位置的特征向量,并考虑其随时间的演变。而在拉格朗日观点中,我们会跟踪个体(例如一个人)在时空中的移动,并跟踪与之相关的特征向量。

在这项工作中,我们采取拉格朗日视角来分析人类行为。通过利用最近的3D跟踪方法PHALP和HMR 2.0,我们能够恢复人物轨迹,并使用这些轨迹来识别行为。尽管人体姿态随时间的变化是一个强烈的信号,但一些行为需要更多的上下文信息,包括外观和场景。

因此,本文还探讨了将姿态与来自人和场景的外观信息融合的好处,并提出了一种在拉格朗日框架内结合这些信息的方法,即拉格朗日行动识别(LART),它通过融合3D姿态和上下文化的外观信息来提高行为识别的性能。

LART模型

理解人类行为需要考虑多种信息,包括头部和视线方向、人体姿态和动态、与物体或其他人或动物的互动、整个场景、活动背景等。一些简单的行为可以通过姿态和姿态动态单独识别,对于更复杂的行为,需要结合多种信息源进行推理,例如识别某人正在用刀具切番茄时,看到刀具和番茄是有帮助的。

作者提出了两种设计选择:一是使用“解耦”表示,明确地以模块化方式表示姿态、交互物体等元素;二是将视频像素直接输入到大容量神经网络模型中,依赖模型自己来识别区分性信息。

仅用3D姿态进行动作识别

在动作识别领域,3D人体姿态是一个强有力的特征,因为它包含了动作的空间和时间信息。研究人员试图探索仅使用这种3D姿态信息而不依赖于其他视觉内容(如场景的外观和上下文)是否能够实现有效的动作识别。

数据获取

  • 3D姿态数据获取:通过使用PHALP方法,从视频中提取每个人的3D姿态和位置信息。PHALP能够将2D检测提升到3D,从而链接多帧中的人物并获取其3D表示。
  • SMPL参数:使用SMPL模型参数化3D人体姿态,包括关节角度(207个参数,23个关节每个关节3个角度)和全局身体方向(3x3的旋转矩阵)以及身体形状(10个参数)。
  • 3D位置信息:除了姿态,还包括每个人在相机坐标系中的3D位置(3个参数),这有助于理解人与人之间的相对位置和交互。

人向量和动作管构建

  • 人向量:在时间 tt 的人向量 Hi,tHi,t 被定义为 Hi,t=Pi,t={θi,t,ψi,t,Li,t}Hi,t=Pi,t={θi,t,ψi,t,Li,t},其中包含了3D姿态和位置信息。
  • 动作管(Action-Tube):对于视频中的每个人 ii,构建一个动作管 ΦiΦi,它包含了该人在所有时间帧 TT 的人向量 Hi,tHi,t

模型架构

模型的输入是基于SMPL模型参数化的3D人体姿态,包括关节角度、全局身体方向和身体形状,以及人在相机坐标系中的3D位置。每个人在时间 tt 的表示 Hi,tHi,t 包含了这些3D姿态和位置信息,被编码为一个高维向量。

使用一个多层感知机(MLP)将3D姿态和位置信息从原始的高维空间投影到一个低维空间,通常是256维或512维,以便于模型处理。

为了使模型能够理解时间序列数据,对每个时间步进行位置编码,使用正弦和余弦函数的变换来表示时间信息。除了时间,轨迹ID也进行了位置编码,以区分视频中不同的人。对于时间和轨迹ID的位置编码,使用2D正弦和余弦函数作为位置编码,具体公式如下:

其中,tt 是时间索引,ii 是轨迹ID,r,s∈[0,d/2)r,s∈[0,d/2) 指定维度,DD 是token的维度。

模型使用标准的Transformer架构,Transformer网络的输出通过一个线性层,用于预测动作类别。在添加了时间和身份的位置编码后,每个人标记被传递到Transformer网络。第 (t+i×N)(t+i×N) 个标记由下式给出:

这里,fprojfproj 是一个线性层,用于将人向量 Hi,tHi,t 投影到更高维度的空间,PE(t,i,:)PE(t,i,:) 表示所有位置编码的向量。

使用二元交叉熵损失函数来训练模型,以最小化模型预测和真实标签之间的差异。

从外观和3D姿态识别动作

在许多情况下,仅依赖3D姿态信息不足以准确识别复杂的动作。例如,切菜、打球等动作不仅依赖于人体的运动轨迹,还需要考虑与环境中物体的交互。3D姿态提供了关于人体运动的几何信息,而外观特征则提供了关于场景和人物的上下文信息。将这两种信息结合,可以提升模型对动作的理解能力。

模型架构

外观特征提取

使用预训练的2D动作识别模型(如MViT,经过MaskFeat预训练)来提取每个轨迹的外观特征。这个模型能够从视频帧中捕捉到丰富的视觉信息,包括背景、物体和人物的外观。在每个轨迹的特定时间点 tt,提取的外观特征向量记为 Ui,tUi,t

轨迹和频率

对于每个轨迹 ΦiΦi,在一定的时间频率 fsfs 下运行2D动作识别模型,以获取与该轨迹相关的外观特征。通过这种方式,模型能够在时间上捕捉到动作的动态变化。

人向量的构建

每个人的向量 Hi,tHi,t 现在包含了3D姿态信息和外观信息,形式为:

其中,θi,tθi,t 是关节角度,ψi,tψi,t 是全局身体方向,Li,tLi,t 是3D位置,Ui,tUi,t 是外观特征向量。

特征融合

将3D姿态特征和外观特征通过一个多层感知机(MLP)映射到相同的维度(例如256维),然后将这两个特征向量拼接在一起,形成一个完整的人向量:

训练与推理

使用与前面相同的Transformer架构,输入为融合了外观和姿态信息的人向量。同样使用时间位置编码和轨迹ID位置编码,以帮助模型理解输入序列的顺序。使用二元交叉熵损失函数来训练模型,以最小化模型预测和真实标签之间的差异。

在推理时,模型对输入的融合了外观和姿态信息的3D姿态序列进行处理,输出每个时间步的动作预测结果。

实验

数据集

论文中使用了AVA数据集进行评估,该数据集提供了1Hz的标注,每个演员有1个姿态动作,以及可选的最多3个人-物体交互和3个人-人交互标签。评估标准是使用60个类别的帧级IoU为0.5的平均精度均值(mAP)。此外,还在AVA-Kinetics数据集上进行了评估。

跟踪和数据准备

作者使用PHALP方法在AVA数据集上跟踪人物。PHALP是一个基于检测的跟踪方法,使用Mask R-CNN进行人物检测。在训练阶段,作者使用Mask R-CNN检测来填充非标注帧的人物框,并使用真实框作为每30帧的标注。对于验证集,作者使用了ACAR提供的人物框,并采取了类似的策略来完成跟踪。

模型训练

模型首先在Kinetics-400数据集上进行预训练,使用MViT在每个轨迹上以1Hz的频率运行来生成伪ground truth标注。然后,使用AVA数据集的真实动作标签对预训练模型进行微调。

实验结果

LART方法在AVA v2.2数据集上的标准基准设置上实现了最先进的性能,如下图,与仅使用姿态线索的动作识别模型相比,mAP提高了10.0,与最佳现有技术模型相比提高了2.8 mAP。最佳模型在AVA 2.2数据集上达到了45.1 mAP。

作者展示了在AVA数据集上60个类别的类级性能。LART方法在许多类别上都显示出了相对于现有技术的改进,特别是在那些涉及人-人交互的动作类别中,如舞蹈、格斗等。例如,在舞蹈类别中,LART方法相对于现有技术的相对增益超过了30%。

我们在AVA v2.2的验证样本上展示了MViT和LART的预测。彩色网格表示识别动作的感兴趣人物,而灰色网格表示辅助演员。

前两列展示了获取其他人的动作管对动作预测的好处。在第一列中,橙色人物非常靠近另一个采取拥抱姿势的人物,这使得以更高的概率预测拥抱变得容易。同样,在第二列中,多人之间的明确互动,以及知道其他人也在打架,增加了绿色人物打架动作的置信度,超过了2D识别模型。第三和第四列展示了显式建模3D姿态随时间变化(使用轨迹)对动作识别的好处。图中黄色人物处于骑乘姿势,紫色人物向上看,腿部在一个垂直平面上。最后一列显示了用amodal表示法表示人物的好处。这里,蓝色人物的手被遮挡了,所以2D识别模型没有看到整个动作。然而,SMPL网格是amodal的,因此手仍然存在,这提高了预测关门动作标签的概率。

总结

本文介绍了一种名为LART的新方法,用于提高视频帧中人体动作识别的准确性。LART方法的核心在于结合了3D姿态跟踪和外观特征,以捕捉人体动作的动态变化和上下文信息。

LART方法首先利用PHALP算法进行人物跟踪,将2D检测提升至3D表示,从而获得人物在视频中的轨迹。通过结合SMPL模型参数化的3D姿态和外观特征(如MViT模型提取的特征),LART构建了一个包含时空信息的人向量。使用Transformer网络处理这些向量,模型能够学习个体随时间的动作变化,并预测其动作。

LART方法通过结合3D姿态和外观特征,有效地提高了动作识别的准确性,特别是在复杂和交互性动作的识别上。本研究不仅推动了动作识别技术的发展,也为未来在更细粒度任务上的应用提供了新的可能性,如通过更精确的3D人体重建和场景中物体的显式建模来进一步提升性能。

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

相关文章:

3D姿势和跟踪的人体行为识别

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年11月28日21点20分 神秘男子影, 秘而不宣藏。 泣意深不见, 男子自持重, 子夜独自沉。 论文链接 点击开启你的论文编程之旅…...

手机设置了卡2上网,卡1禁止上网,但是卡1还是会偷偷跑流量,这是什么情况???

双卡双待手机,卡2设置为默认上网卡,卡1却会偷偷跑流量,这就很迷。 双卡双待手机,不管是哪个牌子(网上有小米,华为,vivo出现这种情况,我的是华为mate20),都存在…...

基于单片机的温度控制系统设计

摘 要 当今社会不断发展,工业以及生活领域对温度控制系统的要求日益增加。以往的设计系统已经不能满足如今的社会需求,因此设计更加符合要求的温度控制系统是大势所趋。采用单片机进行温度控制系统的设计可以使温度的调节更简单、灵活,节约操…...

pjfun.top相册中上传图片获取github apiToken

1、登录github [登录](https://github.com/login) 没有账号就注册2、 点击头像,进入设置settings 3、进入Developer settings 4、点击Fine-grained tokens 再点击 Generate new token 5、填写相关基础信息 Token name(随意起名) Expiratio…...

S4 UPA of AA :新资产会计概览

通用并行会计(Universal Parallel Accounting)可以支持每个独立的分类账与其他模块集成,UPA主要是为了支持平行评估、多货币类型、财务合并、多准则财务报告的复杂业务需求 在ML层面UPA允许根据不同的分类账规则对物料进行评估,并…...

单片机学习笔记 11. 外部中断

更多单片机学习笔记:单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘单片机学习笔记 8…...

C++中智能指针的使用及其原理 -- RAII,内存泄漏,shared_ptr,unique_ptr,weak_ptr

目录 1.智能指针的使用场景分析 2.RAII和智能指针的设计思路 3.C标准库智能指针的使用 4.智能指针的原理以及模拟实现 5.shared_ptr循环引用问题和weak_ptr 5.1shared_ptr循环引用问题 5.2weak_ptr的原理和部分接口 5.3weak_ptr的简单模拟实现 6. shared_ptr的线程安…...

DICOM医学影像应用篇——伪彩色映射 在DICOM医学影像中的应用详解

目录 引言 伪彩色映射的概念 基本原理 查找表(Look-Up Table, LUT) 步骤 示例映射方案 实现伪彩色映射的C代码 代码详解 伪彩色处理效果展示 总结 扩展知识 LUT 的基本概念 LUT 在伪彩色映射中的应用 示例 引言 在医学影像处理中&#xff0c…...

注意http-proxy-middleware要解决跨域问题,想修改origin请求头不要设置changeOrigin=true

在使用http-proxy-middleware的时候,有一个配置是“changeOrigin”,通过名字来看这个字段是用来控制是否修改origin的,但是实际使用下来,你会发现,当设置为true的时候,header中的origin的值并不会修改&…...

SpringBoot宠物领养平台:设计与实现

摘 要 如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为了解决现有问题而产生的。针对于宠物领养…...

qt 的udp发送和接收

udp要在.pro中加入 QT network udp接收 //QUdpSocket *udp1; udp1 new QUdpSocket(this); udp1->bind(2024,QUdpSocket::ShareAddress); connect(udp1,SIGNAL(readyRead()),this,SLOT(ReadyOut())); void MainWindow::ReadyOut() { while(udp1->hasPend…...

极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【五】

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...

中科亿海微SoM模组——波控处理软硬一体解决方案

本文介绍的波控处理软硬一体解决方案主要是面向相控阵天线控制领域,波控处理通过控制不同天线组件的幅相来调整天线波束的方向和增益,实现高精度角度控制和高增益。本方案由波控处理板、波控处理控制软件算法和上位机软件共同构成。波控处理SoM模组原型样…...

vue页面跟数据不同步this.$set

“Vue页面跟数据同步this.$set”可能是指在某些情况下,需要确保数据的响应式特性,即当数据发生变化时,页面上的显示也能实时更新。 如果你遇到数据已经设置,但页面没有更新,可能是因为你没有正确使用 Vue 的响应式系统…...

黑马2024AI+JavaWeb开发入门Day02-JS-VUE飞书作业

视频地址&#xff1a;哔哩哔哩 讲义作业飞书地址&#xff1a;飞书 一、作业1 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">&l…...

(0基础保姆教程)-JavaEE开课啦!--12课程(Spring MVC注解 + Vue2.0 + Mybatis)-实验10

一、常见的SpringMVC注解有哪些&#xff1f; 1.Controller&#xff1a;用于声明一个类为 Spring MVC 控制器。 2.RequestMapping&#xff1a;用于将 HTTP 请求映射到特定的处理方法上。可以指定请求类型&#xff08;GET、POST等&#xff09;和URL路径。 3.GetMapping&#xff…...

未成年人模式护航,保障安全健康上网

为保护未成年人的上网环境&#xff0c;预防未成年人沉迷网络&#xff0c;帮助未成年人培养积极健康的用网习惯&#xff0c;HarmonyOS SDK 提供未成年人模式功能&#xff0c;在华为设备上加强对面向未成年人的产品和服务的管理。 场景介绍&#xff08;应用跟随系统未成年人模式…...

【实体配置】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列 &#x1f…...

MySQL中Update在什么情况下行锁会升级成表锁

MySQL中Update在什么情况下行锁会升级成表锁 在MySQL中&#xff0c;特别是使用InnoDB存储引擎时&#xff0c;行锁&#xff08;row-level locking&#xff09;通常用于提高并发性能。然而&#xff0c;在某些特定情况下&#xff0c;行锁可能会升级为表锁&#xff08;table-level…...

应急响应靶机——easy溯源

载入虚拟机&#xff0c;开启虚拟机&#xff1a; &#xff08;账户密码&#xff1a;zgsfsys/zgsfsys&#xff09; 解题程序.exe是额外下载解压得到的&#xff1a; 1. 攻击者内网跳板机IP地址 2. 攻击者服务器地址 3. 存在漏洞的服务(提示:7个字符) 4. 攻击者留下的flag(格式…...

使用Compose Multiplatform开发跨平台的Android调试工具

背景 最近对CMP跨平台很感兴趣&#xff0c;为了练手&#xff0c;在移动端做了一个Android和IOS共享UI和逻辑代码的天气软件&#xff0c;简单适配了一下双端的深浅主题切换&#xff0c;网络状态监测&#xff0c;刷新调用振动器接口。 做了两年多车机Android开发&#xff0c;偶…...

LabVIEW实现TCP通信

目录 1、TCP通信原理 2、硬件环境部署 3、云端环境部署 4、TCP通信函数 5、程序架构 6、前面板设计 7、程序框图设计 8、测试验证 本专栏以LabVIEW为开发平台&#xff0c;讲解物联网通信组网原理与开发方法&#xff0c;覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合…...

Realtek网卡MAC刷新工具PG8168.exe Version:2.34.0.4使用说明

本刷新工具虽然文件名叫PG8168.EXE&#xff0c;但不是只有RTL8168可用&#xff0c;是这一个系列的产品都可以使用。实验证明RTL8111也可以使用。 用法&#xff1a; PG8168 [/h][/?][/b][/c HexOffsetHexValue][/d NICNumber][/l][/r][/w][/v] [/# NICNumber] [/nodeidHexNOD…...

【maven】配置下载私有仓库的快照版本

1、setting.xml配置 <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/SETTINGS/1.0.0https://maven.apache.org/xsd/settings-1.0.0.…...

基于pytorch使用仿真数据集来训练一个深度学习模型进行相位解包裹

使用 PyTorch 来训练一个深度学习模型进行相位解包裹是一种常见的方法。下面是一个详细的示例&#xff0c;展示如何生成仿真数据集并在 PyTorch 中训练模型。 1. 生成仿真数据集 首先&#xff0c;我们生成一些仿真数据集&#xff0c;包含多个包裹相位图和对应的解包裹相位图。…...

【排序算法】之快速排序篇

思想&#xff1a; 分而治之&#xff0c;通过选定某一个元素作为基准值&#xff0c;将序列分为两部分&#xff0c;左边的序列小于基准值&#xff0c;右边的序列大于基准值&#xff0c; 然后再分别将左序列和右序列进行递归排序&#xff0c;直至每部分有序。 性质&#xff1a;这…...

WebSocket

握手 1 客户端发起握手请求&#xff1a;客户端向服务器发送一个特殊的HTTP请求&#xff0c;其中包含一个Upgrade字段&#xff0c;表明客户端希望将该连接从HTTP协议升级为WebSocket协议。请求的关键部分包括&#xff1a; GET请求&#xff1a;客户端使用GET方法请求与WebSocket…...

适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09;详解 定义 适配器模式是一种结构型设计模式&#xff0c;通过将一个类的接口转换为客户期望的另一个接口&#xff0c;使得原本接口不兼容的类可以一起工作。适配器模式又称“包装器&#xff08;Wrapper&#xff09;”。 适配…...

Jmeter最新详细安装及修改中文教程(附安装包)

目录 初识&#xff1a;Jmeter 一、下载&#xff1a;Jmeter 二、安装前必要的配置 1.桌面点击菜单栏搜索【cmd】&#xff0c;然后打开命令提示符 2.输入java -version命令 三、安装&#xff1a;Jmeter 1.首先在D盘创建【Jmeter】文件夹&#xff0c;把下载的【Jmeter】压缩…...

Java 语言的起源发展与基本概念(JDK,JRE,JVM)

Java语言的起源 源起 Java语言最初是由Sun Microsystems公司&#xff08;该公司于2009年被Oracle公司收购&#xff09;开发的一种编程语言。其创造者是詹姆斯高斯林&#xff08;James Gosling&#xff09;&#xff0c;他是一位加拿大计算机科学家。其前身名为Oak&#xff08;橡…...

利用dockerCompose一键部署前后端分离项目

1.Docker Compose介绍 2.将自己准备好的docker-compose.yml文件上传到宿主机 3.查看docker-compose.yml文件 宿主机的文件内容可参考&#xff1a; 项目部署-通过docker手动部署前后端分离项目&#xff08;全网超级详细 的教程&#xff09;-CSDN博客 修改宿主机的nginx.conf …...

redis大key和热key

redis中大key、热key 什么是大key大key可能产生的原因大key可能会造成什么影响如何检测大key如何优化删除大key时可能的问题删除大key的策略 热key热key可能导致的问题解决热key的方法 什么是大key 大key通常是指占用内存空间过大或包含大量元素的键值对。 数据量大&#xff…...

在 Linux 系统中根据pid查找软件位置

在 Linux 系统中,如果您知道一个进程的 PID(进程标识符),并且想要找到该进程对应的可执行文件的位置,可以使用以下几种方法: 方法一:使用 ps 命令 ps 命令可以显示进程的详细信息,包括可执行文件的路径。假设您的 PID 是 1234,可以使用以下命令: ps -p 1234 -o co…...

Python开发环境搭建+conda管理环境

下载Miniconda 推荐从清华镜像下载安装包 Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 打开网页后&#xff0c;下拉到最后找到Miniconda3-latest前缀的文件&#xff0c;或者网页中直接搜索Miniconda3-latest&#xff0c;都可以找…...

Java 8新特性详解与实战

目录 引言 1. Lambda 表达式&#xff08;Lambda Expressions&#xff09; 2. 函数式接口&#xff08;Functional Interfaces&#xff09; 3. 流 API&#xff08;Stream API&#xff09; 4. 默认方法&#xff08;Default Methods&#xff09; 5. Optional 类 6. 新的时间日…...

K8s内存溢出问题剖析:排查与解决方案

文章目录 一、背景二、排查方案&#xff1a;1. 可能是数据量超出了限制的大小&#xff0c;检查数据目录大小2. 查看是否是内存溢出2.1 排查数据量&#xff08;查看数据目录大小是否超过limit限制&#xff09;2.2 查看pod详情发现问题 三、解决过程 一、背景 做redis压测过程中…...

Network Link Conditioner Mac 上模拟网络环境工具的安装和使用

前言 Xcode 的模拟器本身是不支持模拟网络环境的&#xff0c;在开发界面的时候&#xff0c;设计会出无网、弱网这种情况的设计图&#xff0c;为了方便在开发过程中实现这些情况的代码逻辑&#xff0c;Network Link Conditioner 就是模拟网络环境的好帮手。 安装 Network Lin…...

SeggisV1.0 遥感影像分割软件【源代码】讲解

在此基础上进行二次开发&#xff0c;开发自己的软件&#xff0c;例如&#xff1a;【1】无人机及个人私有影像识别【2】离线使用【3】变化监测模型集成【4】个人私有分割模型集成等等&#xff0c;不管是您用来个人学习 还是公司研发需求&#xff0c;都相当合适&#xff0c;包您满…...

电子应用设计方案-27:智能淋浴系统方案设计

智能淋浴系统方案设计 一、系统概述 本智能淋浴系统旨在为用户提供舒适、便捷、个性化的淋浴体验&#xff0c;通过集成多种智能技术&#xff0c;实现水温、水流、淋浴模式的精准控制以及与其他智能家居设备的联动。 二、系统组成 1. 喷头及淋浴杆 - 采用可调节角度和高度的设计…...

旋转图像(java)

题目描述&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 代码思路&#xff1a; class Solution {public void ro…...

单片机知识总结(完整)

1、单片机概述 1.1. 单片机的定义与分类 定义&#xff1a; 单片机&#xff08;Microcontroller Unit&#xff0c;简称MCU&#xff09;是一种将微处理器、存储器&#xff08;包括程序存储器和数据存储器&#xff09;、输入/输出接口和其他必要的功能模块集成在单个芯片上的微型…...

蓝桥杯备赛笔记(一)

这里的笔记是关于蓝桥杯关键知识点的记录&#xff0c;有别于基础语法&#xff0c;很多内容只要求会用就行&#xff0c;无需深入掌握。 文章目录 前言一、编程基础1.1 C基础格式和版本选择1.2 输入输出cin和cout&#xff1a; 1.3 string以下是字符串的一些简介&#xff1a;字符串…...

Spring Boot【四】

单例bean中使用多例bean 1.lookup-method方式实现 当serviceB中调用getServiceA的时候&#xff0c;系统自动将这个方法拦截&#xff0c;然后去spring容器中查找对应的serviceA对象然后返回 2.replaced-method&#xff1a;方法替换 我们可以对serviceB这个bean中的getServiceA…...

linux基础1

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…...

DAMODEL丹摩|部署FLUX.1+ComfyUI实战教程

本文仅做测评体验&#xff0c;非广告。 文章目录 1. FLUX.1简介2. 实战2. 1 创建资源2. 1 ComfyUI的部署操作2. 3 部署FLUX.1 3. 测试5. 释放资源4. 结语 1. FLUX.1简介 FLUX.1是由黑森林实验室&#xff08;Black Forest Labs&#xff09;开发的开源AI图像生成模型。它拥有12…...

Python语法基础(三)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 我们这篇文章来说一下函数的返回值和匿名函数 函数的返回值 我们先来看下面的这一段函数的定义代码 # 1、返回值的意义 def func1():print(111111111------start)num166print…...

计算分数的浮点数值

计算分数的浮点数值 C语言代码C 代码Java代码Python代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 两个整数a和b分别作为分子和分母&#xff0c;既分数 a/b &#xff0c;求它的浮点数值&#xff08;双精度浮点数&#xff0c;保留小数点…...

Staircase mesh” 和 Conformal mesh区别

一、Staircase Mesh&#xff08;阶梯状网格&#xff09; 1.1 含义 阶梯状网格就像是用一个个小方块或者矩形拼接起来的网格。在对几何形状进行划分网格时&#xff0c;它会以一种比较简单直接的方式&#xff0c;使得网格边界呈现出像楼梯台阶一样的形状。比如在模拟一个圆形物体…...

探索未来工业的核心:数字孪生技术深度解析

经过数十年的发展&#xff0c;建模和模拟已成为工程和科学的基石。人们针对改进建模的计算方法进行了大量的研究和开发工作。这些计算机模型对系统设计非常有用&#xff0c;可以削减实验和测试的高昂成本。然而在实操中&#xff0c;还需要跟踪系统随时间的演变情况&#xff0c;…...

dns 服务器简单介绍

dns 服务器分类&#xff1a; 根域名服务器顶级域名服务器权威域名服务器本地域名服务器 dns 的查询过程 国内优秀公共域名 腾讯&#xff1a;DNSPod-免费智能DNS解析服务商-电信_网通_教育网,智能DNS-烟台帝思普网络科技有限公司 119.29.29.29 和 182.254.118.118 阿里&#xf…...