打破单一视角!融合红外和可见光,YOLO算法实现全天候无人机检测
目录
一、摘要
二、系统概述
三、数据集
视频记录
数据集标注
四、数据集分析
五、基于深度学习的无人机探测
基于规则的跟踪方法
六、结论
论文题目:Drone Detection and Tracking with YOLO and a Rule-based Method
论文链接:https://arxiv.org/pdf/2502.05292
一、摘要
无人机或无人驾驶飞行器传统上用于军事任务、战争和间谍活动。然而,由于涉及安全和检查、转运、研究目的和娱乐性无人机飞行的多种工业应用,无人机的使用量大幅增加。公共场所无人机活动量的增加要求采取监管行动,以保护隐私和安全。因此,对非法无人机活动(如侵占边界)的检测就变得十分必要。这类检测任务通常由深度学习模型自动完成,而深度学习模型是在有注释的图像数据集上训练出来的。本文以之前的工作为基础,扩展了一个已发布的开源数据集。本文对整个数据集进行了描述和分析。该数据集用于训练YOLOv7深度学习模型及其一些次要变体,并提供了结果。由于检测模型基于单一图像输入,因此使用了一个简单的基于交叉相关的跟踪器,以减少视频中的检测下降并提高跟踪性能。最后,对整个无人机检测系统进行了总结。
二、系统概述
本节将介绍图1所示的系统概述。放置在5G室外网络覆盖的校园区域内的摄像头会记录飞行中的无人机,并将拍摄到的视频流传输到室内网络。然后,计算机接收传输,并运行无人机检测算法。检测结束后,计算机可显示检测结果或将其进一步传输到另一台机器。为了发送或接收视频,使用了GStreamer多媒体应用框架。构建的GStreamer流水线主要包括通过UDP发送和接收数据、处理和转换、编码和解码以及缓冲。接收到的数据流由Docker容器中定制的预训练YOLOv7模型处理,该容器内置了支持GStreamer的Python OpenCV。最后,显示结果。
三、数据集
为了创建数据集,我们使用三个不同的摄像头录制了无人机飞行视频,然后通过各种方法提取帧并对其进行标注。以下各小节简要介绍了这一过程。
-
视频记录
原始数据集是使用FLIR Scion OTM366红外摄像机和配备变焦镜头(25-150毫米)的InfraTec VarioCAM HD Z(图像分辨率分别为640×480像素和1024×768像素)在大学足球场和威廉斯堡港口拍摄的无人机视频构建的。在上述地点用索尼α6000摄像机录制彩色视频,图像分辨率为1920×1080像素。最初的视频是由每台摄像机从多个角度独立录制的,有些视频是在不同的日子录制的。
最后,将所有摄像机安装在一个可转向的三脚架上,在海港录制额外的视频。与最初录制的视频相比,新视频包含了更多的背景信息,而且所有摄像机在录制无人机时的视角都非常相似。图2显示了摄像机拍摄的一些示例图像。图3显示了三脚架上的相机设置。图4也显示了各个地点的图像示例。
-
数据集标注
LabelImg图形标注工具用于人工标注从视频记录中提取的彩色图像中的无人机。注释采用Pascal VOC格式。使用基于简单边界框跟踪方法的自动注释脚本来加速注释过程,然后对错误的检测结果进行人工修正。对于难以发现的无人机,要么不予标注,要么标注为困难示例。在对初始红外和彩色数据集进行人工标注后,将使用基础YOLO模型对其进行训练。
训练好的模型将用于在使用FLIR红外和彩色图像构建的第二个数据集中检测无人机。根据检测结果生成初始注释,并手动纠正错误注释。由于特征匹配被证明非常具有挑战性且不一致,因此自动配准方法效果不佳。取而代之的是根据多次试验手动生成一个变换矩阵,然后对无人机周围的小局部区域进行更简单的基于交叉相关的匹配。当配准结果不佳时,图像对将被丢弃。在多通道图像中,图像对中的背景会相互偏移,但对于单类分类任务来说,这种问题的影响应该较小。
四、数据集分析
之前的数据集已包含66,438张图像和71,520架注释无人机。在2,617幅图像中没有无人机。在10,130个案例中,注释的无人机被标记为难以辨认,因为它几乎无法与背景地面区分开来,或者大部分在图像之外。使用红外图像制作的数据集最初分为普通图像和困难图像,具体取决于由于杂波、遮挡或严重模糊而导致的无人机可见度。在这项工作中,选择了相对容易的图像,在这些图像中,肉眼基本可以看到无人机。但值得注意的是,正常图像集中确实包含大量具有挑战性的图像,这些图像中无人机被部分遮挡/模糊,或者无人机与背景之间的对比度不大。此外,由于部分图像模糊或无人机非常小,模型训练过程中使用的最终图像总数会进一步减少。
彩色图像数据集共包含37,508张图片,其中有37,842架注释过的无人机。在这种情况下,无人机难以察觉的情况根本不会被标注。所有图像都用于训练模型。
最后,从港口的最终记录中生成的附加数据集包括40059张红外图像和彩色图像。不过,这个数据集并不用于训练任何模型。相反,我们尝试根据预先训练好的模型的检测结果对红外图像和彩色图像进行配准,这样无人机的位置就能相对吻合,图像也能合并为4通道图像数据。由于红外图像和彩色图像的特征以及图像质量不同,传统的图像处理和配准算法无法可靠地找到正确的变换和投影。由于三脚架上的相机在跟踪无人机时的同步不完美和相对移动幅度较小,手动配准图像的尝试也变得十分困难。这导致大多数图像的背景不匹配。表 I 提供了所有数据集的概览。
图5和图6分别显示了红外图像和彩色图像单个像素上用于训练的注释无人机平均位置热图。热图中的黑色像素代表无人机未到达的位置。从图5中可以看出,与边界相比,无人机的平均位置在图像中心附近更为突出,这主要是由于手持式FLIR摄像机能够舒适地跟踪无人机。无人机出现在边界附近的原因是InfraTec摄像机较重,难以以所需的速度转向。最小边界框的大小为128像素,最大边界框的大小为230886像素。平均边界框大小约为7472像素。
与边界相比,彩色图像中无人机更多出现在图像中心。与FLIR摄像机类似,索尼α6000也易于操控和跟踪无人机。最小的边界框大小为44像素,最大的边界框大小为368954像素。平均边界框大小约为9794像素。上述所有尺寸都是根据1280×1280像素的参考图像尺寸计算得出的,这是后一部分中使用的YOLO模型的默认输入尺寸。
五、基于深度学习的无人机探测
在对YOLO系列中的多个CNN架构和基于EfficientDet的CNN架构进行初步应用后,得出的结论是YOLOv7是性能最佳的模型,尤其是在推理速度方面YOLOv7模型是在COCO数据集上预先训练的,训练时使用预先训练的权重进行初始化。与之前的YOLO 型类似,YOLOv7的架构可分为骨干、颈部和头部结构。
除了YOLOv7的基础结构外,我们还试验了一组模拟模块和几个变压器模块,以了解检测精度的提高是否足以抵消计算量的增加。新增模块如图7所示。第一个模块是通道关注(CAT)模块,该模块用于许多计算机视觉任务,其中每个输入特征图都有一个标量值或重要性分数加权,该分数是在训练过程中学到的。
像素注意力(PxAT)模块对特征图的每个像素而不是整个特征图进行加权,在图像去噪等特定计算机视觉任务中表现更好。补丁关注(PAT)模块将每个特征图划分为一定大小的补丁,并学习该层每个特征图中某个区域的重要性得分。这类模块试图对特征图进行去相关处理,以减少冗余并改善其相对变化。变换器模块在自然语言处理和大型语言模型中特别受欢迎,因为它们能高效识别连续数据中的模式。在计算机视觉任务的深度学习中,它们的使用也在多个应用中显示出显著的改进,因为它们通常能更好地改进对特征图上更显著特征或冗余结构的检测。具有多头注意力结构的经典变换器模块最初用于此类任务。这些多头模块的计算成本通常很高,尤其是在视觉应用模型中。因此,我们尝试使用移位窗口变换器(SWIN),它比普通变换器更快。在特征图分辨率降低的多个阶段,上述所有模块都被添加到金字塔骨干网中。不过,与CAT和PxAT相比,使用的PAT和SWIN变换模块较少,因为它们的参数复杂度和内存开销较高。整个红外和彩色图像数据集的子集分为训练集和验证集。表II提供了相应的信息。约22%的红外数据集和19%的彩色数据集用于验证。训练数据集和验证数据集的图像划分相当均匀,两个地点的图像都出现在训练数据集和验证数据集中。不过,训练数据集中的某些背景在验证数据集中并不存在,反之亦然。
在彩色图像数据集上对不同架构进行了初步实验,结果列于表III,其中显示了不同交集大于联合(IOU)阈值下的平均精度(MAPIOU=0.5和 MAPIOU=0.5:0.95)值和以毫秒为单位的平均处理时间。从结果可以看出,通道和像素注意力模块提高了平均精度值,但推理时间略有增加。斑块注意模块增加的推理时间更多,而SWIN模块则导致推理时间大幅增加。减少层数或头数可以减少变压器模块的推理时间,但精度结果并不比更简单的注意力模块更好。事实上,根据检测要求,基础模型在某些情况下可能就足够了,特别是与良好的跟踪算法结合使用时。然而,由于通道注意模块被认为整体性能略好,因此我们继续使用通道注意模块。
使用红外图像和彩色图像分别训练模型。表IV显示了红外数据集和彩色数据集的验证结果。从结果中可以看出,精度指标相对较好,处理速度也足够快,可以进行实时检测。不过,在视频或直播流中使用模型时,帧与帧之间会出现检测下降,特别是在环境或对比度突然变化时。
图8显示了部分检测实例。带有置信度分数的黄色方框表示检测到。YOLOv7在单张图像上的表现大多是可靠的,但也有少数例外情况。如图8b所示,在某些帧上,当阈值较高时,置信度分数的下降会导致假阴性。另一方面,如图8d中的红框所示,也可能出现高置信度分数的假阳性,尤其是在具有与无人机类似结构的红外图像中。
-
基于规则的跟踪方法
尽管YOLOv7在成功检测方面表现相对较好,但在某些帧之间,由于置信度突然下降或某种程度的遮挡,无人机检测失败。为了改善由于置信度突然变化而导致的检测失败,我们提出了一种基于规则或条件的简单方法。该方法可按以下步骤描述:
-
选择一个高置信度阈值(confh)和一个低置信度阈值(confl)。
-
保留高于confl的边界框,而仅将高于confh 的边界框视为有效边界框。该方法等待第一个或多个有效检测。
-
第一个或多个有效检测将作为参考。这些边框和边框周围稍大的区域将被选中用于交叉相关函数。这一帧成为上一帧。
-
新帧或当前帧的边界框最初会登记到之前的有效检测中,并选择相应的边界框(基于邻近度、IOU和大小的一个或多个边界框)。
-
如果找到了当前帧的新边界框,且其置信度高于confh,则无需其他步骤。
-
如果新边界框的置信度得分低于confh但高于confl,那么也会对边界框进行预测。这种预测是通过前一帧中的相应边界框和从新帧中裁剪的边界框周围区域的交叉相关方法完成的。根据估计的偏移,生成当前帧的预测边界框,并计算与新边界框的交集大于联合(IOU)值。如果IOU值高于某个阈值,则新的边界框被视为有效,其置信度分数会被之前的高置信度分数所取代。
-
如果上一步计算出的IOU值低于阈值,那么如果交叉相关值高于给定的阈值,则可以认为预测的边界框是有效的。
-
如果上述情况没有发生,则物体要么被遮挡,要么未被检测到。任何相应边界框的置信分值都会被替换为0。
在上述方法中,可以尝试使用不同的阈值。与仅使用YOLOv7相比,在YOLOv7基础上运行的建议方法成功地检测到了更多无人机,并减少了检测下降。改进的程度取决于对不同阈值的选择,根据视频的不同,检测到的无人机数量通常会增加2%到10%不等。图9显示了一个例子,与仅使用YOLOv7相比,该方法检测到了更多的无人机。 然而,由于置信度分数非常低,仍有很多检测不成功的情况。虽然该系统依赖于YOLO对每帧进行初始检测,但任何低于低阈值(confl)的置信度分数都会导致跟踪中断。该方法基于一个先验帧,如果加入多个先验帧,就能更准确地预测无人机的位置和移动情况。
在室内计算机上运行无人机飞行视频,显示器上显示的视频由放置在一定距离的USB摄像机记录。录制的视频同时从室内网络传输到室外网络,并被连接到5G网络和运行容器化模型的笔记本电脑接收。如图10所示,模型检测到无人机并将其显示在屏幕上。 该测试在一天内多次进行。在笔记本电脑上,帧速率达到15帧/秒,没有任何明显的卡顿。观察到大约350毫秒的延迟,这主要是由USB摄像头、GStreamer管道(抖动缓冲器)中的参数设置以及笔记本电脑上运行的检测模型和Nvidia RTX3050处理单元造成的。不过,还需要根据实际使用场景和精确测量设置建立适当的测试装置
如果你也想要进行模型训练或模型改进,Coovally平台满足你的要求!
Coovally平台整合了国内外开源社区1000+模型算法和各类公开识别数据集,无论是YOLO系列模型还是Transformer系列视觉模型算法,平台全部包含,均可一键下载助力实验研究与产业应用。
而且在该平台上,无需配置环境、修改配置文件等繁琐操作,一键上传数据集,使用模型进行训练与结果预测,全程高速零代码!
具体操作步骤可参考:YOLO11全解析:从原理到实战,全流程体验下一代目标检测
平台链接:https://www.coovally.com
如果你想要另外的模型算法和数据集,欢迎后台或评论区留言,我们找到后会第一时间与您分享!
六、结论
这项工作是我们之前基于YOLOv7的无人机探测系统相关工作的延续。该任务所需的数据已扩展到包含注释的彩色图像和多通道图像数据集。我们对整个数据集进行了描述和分析,并使用红外和彩色图像数据集来训练基于YOLOv7的多个CNN模型。他们的评估结果表明,在无人机检测方面的表现相当可靠,偶尔会出现由于置信度下降而导致的假阴性或假阳性,尤其是在红外图像中。他们提出了一种基于规则或条件的简单方法,以减少检测误差并改善跟踪效果。提出多通道数据集的目的是,与单一图像源相比,多通道数据集应能提高检测性能。由于该数据集是由预先训练好的YOLO模型生成的,因此不应通过使用同一模型进行再训练来评估其性能。在未来的工作中,应使用不同的模型对数据集进行训练,并对结果进行比较。考虑到在多种图像类型中进行图像注册所面临的挑战,使用带有多个传感器的相机系统可能是合适的,这些传感器都经过精确校准、对齐和同步。对于实时无人机检测系统,应利用真实场景和精确测量设置构建实验装置。
相关文章:
打破单一视角!融合红外和可见光,YOLO算法实现全天候无人机检测
目录 一、摘要 二、系统概述 三、数据集 视频记录 数据集标注 四、数据集分析 五、基于深度学习的无人机探测 基于规则的跟踪方法 六、结论 论文题目:Drone Detection and Tracking with YOLO and a Rule-based Method 论文链接:https://arxiv.…...
Go 语言数据类型
Go 语言数据类型 概述 Go 语言(也称为 Golang)是一种静态强类型、编译型、并发型、具有垃圾回收功能的编程语言。自2009年发布以来,Go 语言因其简洁的语法、高效的执行速度和强大的并发处理能力而广受欢迎。本文将详细介绍 Go 语言中的数据类型,帮助读者更好地理解和掌握…...
<tauri><rust><GUI>基于rust和tauri,将tauri程序打包为window系统可安装的安装包(exe、msi)
前言 本文是基于rust和tauri,由于tauri是前、后端结合的GUI框架,既可以直接生成包含前端代码的文件,也可以在已有的前端项目上集成tauri框架,将前端页面化为桌面GUI。 发文平台 CSDN 环境配置 系统:windows 10平台:visual studio code语言:rust、javascript库:taur…...
ragflow开启https访问:ssl证书为pem文件,window如何添加证书
在 Windows 系统中安装 PEM 格式的证书(通常用于 SSL/TLS 或客户端认证)可以通过以下步骤完成: 方法 1:通过证书管理器(MMC)安装 打开证书管理器 按 Win + R,输入 mmc 回车。点击菜单栏的 文件 > 添加/删除管理单元。选择 证书 > 添加,然后选择 计算机账户 或 当…...
自己搭建cesium应用程序
Cesium项目开发基础(1)——Cesium环境搭建_cesium版本怎么看-CSDN博客 看这篇的时候: 所以要用IIS搭建网站。下载一些东西看这篇的这部分:Tomcat IIS 在局域网中搭建网站(最全最详细教程)_tomcat iis-CSDN博客 然后在IIS里怎么…...
本地项目HTTPS访问问题解决方案
本地项目无法通过 HTTPS 访问的原因通常是默认配置未启用 HTTPS 或缺少有效的 SSL 证书。以下是详细解释和解决方案: 原因分析 默认开发服务器仅支持 HTTP 大多数本地开发工具(如 Vite、Webpack、React 等)默认启动的是 HTTP 服务器ÿ…...
软考系统架构设计师之物联网与边缘计算笔记
一、物联网与边缘计算的核心概念 1. 物联网(IoT) 定义:通过传感器、设备等物理对象接入网络,实现数据采集、传输与智能控制,核心在于物联设备互联与数据驱动决策。架构分层: 感知层:传感器、R…...
已知Word内容格式固定,通过宏实现Word转Excel
文章目录 需求描述一、宏是什么?二、使用步骤1.启用开发工具2.VBA基础知识3.单个Word文件转为Excel4.批量将Word文件转为Excel文件 总结 需求描述 现在有多个Word文档,Word文档格式固定,假如Word内容分为单选题和多选题,每个题目…...
window上 docker使用ros2开发并usbip共享usb设备
曾经参考 https://blog.csdn.net/laoxue123456/article/details/138339029 来共享windows上的usb 发现没有办法成功总是出现 tcp 错误。telnet测试能够正常连接 很是奇怪,window上换成低版本的usbipd仍然是同样的错误,没有办法的情况下参考了docker官方文…...
3D激光轮廓仪知识整理
文章目录 1.原理和应用场景1.1 相机原理1.1.1 测量原理1.1.2 相机激光器1.1.3 沙姆镜头1.1.4 相机标定1.1.5 中心线提取 1.2 应用场景1.2.1 测量相关应用1.2.2 缺陷检测相关应用 2.相机参数介绍及选型介绍2.1 成像原理2.2 原始图成像2.3 生成轮廓图2.4 相机规格参数2.4.1 单轮廓…...
SSH远程工具
一、常见SSH远程工具 工具开源跨平台多标签文件传输高级功能价格Xshell❌Win✔️✔️脚本、会话管理免费/商业版Tabby✔️全平台✔️✔️插件扩展免费MobaXterm❌Win✔️✔️集成工具集免费/付费SecureCRT❌Win/macOS/Linux✔️✔️企业级加密$129+PuTTY✔️全平台❌❌基础连接…...
C++day8
思维导图 牛客练习 练习 #include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory> using namespace std; class user{ public: …...
Vue响应式系统的简单实现
一、什么是副作用函数和响应式数据? 副作用函数: 可以产生副作用的函数,那么什么是副作用呢?举个栗子: let count 1function effect() {count }function fn() {if (count 1) {console.log(执行1)} else {console.l…...
超卖问题解决方案
目录 需求概述 系统需求 提升高并发吞吐量 解决超卖问题 解决方案分析 悲观锁与乐观锁 悲观锁 乐观锁 数据库行级锁 实现悲观锁(排他锁) 实现乐观锁 悲观锁&乐观锁 Redis分布式锁 Redis原子操作方案 方案分析 技术实现 通过MULTI事务…...
智享AI直播代理:零门槛掘金新风口
智享AI直播代理:零门槛掘金新风口 传统直播困局,AI破局而生 在电商与内容创业井喷的今天,传统直播模式却陷入“三高”泥潭——人力成本高、内容门槛高、运营风险高。一位主播单日直播超8小时即面临状态下滑,而多平台运营更需…...
在huggingface上制作小demo
在huggingface上制作小demo 今天好兄弟让我帮他搞一个模型,他有小样本的化学数据,想让我根据这些数据训练一个小模型,他想用这个模型预测一些值 最终我简单训练了一个小模型,起初想把这个模型和GUI界面打包成exe发给他࿰…...
Spring、Spring Boot和 Spring Cloud 的关系
Spring、Spring Boot和 Spring Cloud 的关系 Spring, Spring Boot 和 Spring Cloud 都是 Spring 生态系统中的重要组成部分,它们之间有紧密的关系,但各自有不同的定位和功能。下面是它们之间的关系和区别: 1、Spring Framework:…...
[蓝桥杯] 求和(C语言)
题目链接 P8772 [蓝桥杯 2022 省 A] 求和 - 洛谷 题目理解 这道题就是公式题,我们模拟出公式后,输出最终结果即可。 本题不难,相信很多同学第一次见到这道题都是直接暴力解题。 两个for循环,测试样例,直接拿下。 #in…...
从用户需求到产品迭代:Scrum 实践全流程详解
目录 前言1. 用户需求与产品待办列表的形成1.1 用户需求的来源与整理1.2 构建产品待办列表(Product Backlog) 2. 迭代计划与目标设定2.1 Sprint 的时间周期设定2.2 设定明确的 Sprint 目标 3. 开发执行与每日站会3.1 高效协作的开发过程3.2 每日站会&…...
windows10安装配置并使用Miniconda3
windows10安装配置并使用Miniconda3 Conda 与 Anaconda 的区别 Conda 是包管理和环境管理工具,Anaconda 在 Conda 的 基础上预装了大量科学计算包 Conda 与 pip 的区别 Conda 是跨语言的包和环境管理器(支持 Python/R 等),能安…...
16-产品经理-需求的评审
在创建需求的时候,有一个"不需要评审"的复选框,如果选中该复选框的话,需求的创建成功后状态是激活的。 但大部分情况下面,需求还是需要评审的。 即使产品完全由一个人负责,也可以将一些不成熟的想法存为草…...
【java图形化界面编程】
文章目录 一、GUI简介二、Swing1.容器组件2. 布局管理器:BorderLayout3.代码实现 实验总结: 一、GUI简介 GUI:图形用户界面。通过图形用户界面,程序的输入输出可以脱离控制台JAVA中实现GUI主要使用3种技术:AMT&#x…...
BGP路由协议之属性1
公认属性是所有 BGP 路由器都必须能够识别的属性 公认必遵 (Well-known Mandatory) : 必须包括在每个 Update 消息里公认任意 (Well-known Discretionary) : 可能包括在某些 Update 消息里。 可选属性不需要都被 BGP 路由器所识别 可选过渡(OptionalTransitive) : BGP 设备不…...
架构思维: 数据一致性的两种场景深度解读
文章目录 Pre案例数据一致性问题的两种场景第一种场景:实时数据不一致不要紧,保证数据最终一致性就行第二种场景:必须保证实时一致性 最终一致性方案实时一致性方案TCC 模式Seata 中 AT 模式的自动回滚一阶段二阶段-回滚二阶段-提交 Pre 架构…...
压测工具开发实战篇(四)——client子窗口功能
你好,我是安然无虞。 文章目录 树控件添加文件补充学习: 函数定义中循环体里的局部变量补充学习: 动态添加对象属性 刷新文件上下文菜单 (右键菜单)实现右键菜单功能 编辑节点文本 在学习本篇文章之前, 建议先看一下上篇介绍MDI子窗口的文章: 压测工具开发实战篇(三…...
如何开发 HTML 游戏
开发 HTML 游戏适合初学者学习编程和游戏开发的基础知识。HTML 游戏通常结合了 HTML、CSS 和 JavaScript 技术,利用浏览器的渲染能力来实现交互式的游戏体验。 1. 确定游戏类型 在开始开发之前,你需要明确你的游戏类型。例如: 简单游戏&…...
机器学习 从入门到精通 day_01
1. 机器学习介绍与定义 1.1 机器学习定义 机器学习(Machine Learning)本质上就是让计算机自己在数据中学习规律,并根据所得到的规律对未来数据进行预测。 机器学习包括如聚类、分类、决策树、贝叶斯、神经网络、深度学习(…...
React中的跨组件通信
在React中,跨组件通信有几种常见的方式。每种方式适用于不同的场景,下面是几种常见的跨组件通信方法: 1. 通过父子组件传递 Props 父组件可以通过 props 将数据传递给子组件,子组件只能接收和使用这些数据。 父组件(…...
Vue项目 bug 解决
Vue2项目部署失败 从gitee 上拉下一个前端项目,然后npm install,报错如下: 解决办法: 从 npm切换到cnpm:npm install -g cnpm执行命令export NODE_OPTIONS--openssl-legacy-provider下载依赖:cnpm instal…...
Python 3.13.2 安装教程(附安装包)轻松开启编程之旅
文章目录 前言软件介绍安装步骤1. 下载安装包2. 运行安装程序3. 选择安装选项4. 等待安装完成5. 验证安装结果 前言 在数字化时代,Python 作为一种简洁、高效且功能强大的编程语言,广泛应用于 Web 开发、数据科学、人工智能等诸多领域。无论是编程新手入…...
Meta 最新发布的 Llama 4:多模态开源大模型全面解析
TL;DR 2025 年 4 月 5 日,Meta AI 正式发布了第四代大型语言模型 Llama 4。引入了 Mixture-of-Experts (MoE,专家混合) 架构,同时原生支持多模态输入,最小的 Llama 4 Scout 模型支持 10m 的长文本输入。 Paper name The Llama 4…...
Web开发:常用 HTML 表单标签介绍
在 Web 开发中,HTML 表单是实现用户交互的关键元素,它为用户提供了输入数据的途径,广泛应用于注册登录、搜索查询、问卷调查等功能场景。本文将详细介绍常用的 HTML 表单标签及其使用方法。 表单容器标签 <form> <form>标签用…...
力扣HOT100之链表:2. 两数相加
这道题就是按照正常的数学思维去做的,设置一个标志位flag用来标记进位的情况,当发生进位时设置为1,否则设置为0,初始时设置为0。我们同时遍历两个链表,将两个节点的值相加,再加上上一位的进位flagÿ…...
Spring Boot 项目集成 License 授权与续期完整指南
一、背景说明 在 Spring Boot 项目中,通过引入第三方 spring-boot-starter-license 组件,可以快速实现系统权限到期控制、License 证书管理等功能。本文详细介绍如何集成 License 功能,并解决证书安装、权限配置、异常拦截及续期流程等关键问…...
2010年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析
2010年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析 全国大学生数学建模竞赛(China Undergraduate Mathematical Contest in Modeling)是国家教委高教司和中国工业与应用数学学会共同主办的面向全国大学生的群众性科技活动,目的在于激…...
典型的ETL使用场景与数据集成平台的应用
在当今数字化时代,数据已经成为企业决策和运营的核心资产。为了更好地管理和利用数据,企业需要借助高效的数据处理技术。ETL(Extract,Transform,Load)作为数据处理的核心技术之一,广泛应用于数据…...
深入解析嵌入式Linux系统架构:从Bootloader到用户空间 - 结合B站视频教学
B站视频链接,请多多关注本人B站: 📌 Yocto项目实战教程:第二章 视频讲解 目录 第2章 Linux系统架构 2.1 GNU/Linux2.2 Bootloader2.3 内核空间2.4 用户空间 总结 第2章 Linux系统架构 {#linux系统架构} 嵌入式Linux系统是Linux内核的精简版…...
从Oracle和TiDB的HTAP说起
除了数据库行业其他技术群体很多不知道HTAP的 时至今日还是有很多人迷信Hadoop,觉得大数据就是Hadoop。这是不正确的。也难怪这样,很多人OLTP和OLAP也分不清,何况HTAP。 Oracle是垂直方向实现 TiDB是水平方向实现 我个人认为这是两种流派…...
【Vue-路由案例】面经基础版
目录 <<回到导览1.面经基础版1.1.VueCli建项目1.1.1.VueCli 自定义项目1.1.2.ESlint代码规范 1.2.项目路由1.2.1.一级路由配置1.2.2.二级配置路由1.2.3.设置高亮1.2.4.发生请求、渲染1.2.5.跳转传参、再发请求1.2.6.体验优化1.2.7.keep-alive <<回到导览 1.面经基…...
C#调用C++动态库时出现`System.DllNotFoundException`错误的解决思路
文章目录 1. DLL文件路径问题2. 依赖的运行时库缺失3. 平台不匹配(x86/x64)4. 导出函数名称不匹配5. DLL文件损坏或权限问题6. 运行时库冲突(MT/MD不匹配)7. 使用DLLImport时的常见错误总结步骤 在C#中调用C动态库时出现System.Dl…...
数据清洗
map阶段:按行读入内容,对内容进行检查,如果字段的个数少于等于11,就删除这条日志(不保留)去除日志中字段个数小于等于11的日志内容。 <偏移量,第一行的内容> → <通过刷选之后的第一行…...
ubuntu 20.04 编译和运行A-LOAM
1.搭建文件目录和clone代码 mkdir -p A-LOAM/src cd A-LOAM/src git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM cd .. 2.修改代码文件 2.1 由于PCL版本1.10,将CMakeLists.txt中的C标准改为14: set(CMAKE_CXX_FLAGS "-stdc14"…...
Oracle迁移翻车,数据校验没做好...
作为DBA,你是否经历过这样的噩梦?数据库迁移、主从同步、容灾切换后,数据不一致却迟迟无法定位,只能手动写脚本逐表比对,熬到凌晨还在查差异… Oracle GoldenGate Veridata(OGG Veridata) 就是…...
小刚说C语言刷题——第17讲 循环之for语句
在生活中,我们经常会碰到重复去做某一件事。例如,一个人绕着操场跑圈,一天24小时往复。这些周而往复的事,我们称为循环。 1.循环的作用 在编程时,我们用循环的目的有两个。一个是减少循环时代码量,一个是通…...
如何使用 Coze 的 HTTP 请求节点实现高效数据交互
如何使用Coze的HTTP请求节点实现高效数据交互 在自动化工作流开发中,与外部服务进行数据交互是核心需求之一。Coze平台的HTTP请求节点提供了强大的解决方案,支持通过HTTP协议实现数据的获取、提交、更新和删除等操作。本文将结合官方文档,详…...
【力扣hot100题】(071)每日温度
经典单调栈问题。 感觉自己对这类问题还是不太熟练,想了很久思路,还想了很久是单调递增栈还是单调递减栈…… 方法是维护一个单调递减栈。先将结果result初始化为0,如果温度一直递减,那么result就不用变化了。 遍历每日温度&am…...
ChatBI的落地挑战——技术先进≠产品可用
近年来,大语言模型(LLM)的爆发让“对话式BI”(ChatBI)成为行业热点。然而,许多企业发现,尽管技术Demo令人惊艳,实际落地却困难重重——用户提问率低、回答准确度不稳定、使用场景模糊…...
1.2 测试设计阶段:打造高质量的测试用例
测试设计阶段:打造高质量的测试用例 摘要 本文详细介绍了软件测试流程中的测试设计阶段,包括测试用例设计、测试数据准备、测试环境搭建和测试方案设计等内容。通过本文,读者可以系统性地了解测试设计的方法和技巧,掌握如何高效…...
x64dbg调试python解释器
可以先写个input()这会让dbg中断在ntdll模块中,查看调用堆栈在系统调用结束后的打断点 然后直接断到PyObject_Vectorcall函数...
浙江大学DeepSeek系列专题线上公开课第二季第四期即将上线!端云协同:让AI更懂你的小心思! - 张圣宇 研究员
今晚8点10分左右,端云协同:让AI更懂你的小心思!浙大学者张圣宇研究员将揭秘人机交互新玩法。浙江大学DeepSeek系列专题线上公开课第二季第四期即将上线! 讲座 主题: 大小模型端云协同赋能人机交互 主讲人:…...