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

【Block总结】DASI,多维特征融合

论文信息

HCF-Net(Hierarchical Context Fusion Network)是一种新提出的深度学习模型,专门用于红外小目标检测。该论文于2024年3月16日发布,作者包括Shibiao Xu、ShuChen Zheng等,主要研究机构为北京邮电大学。该模型旨在提高红外图像中微小目标的识别和定位能力,尤其是在复杂背景下。

  • 论文链接:https://arxiv.org/pdf/2403.10778
  • 官方GitHub代码:https://github.com/zhengshuchen/HCFNet

在这里插入图片描述

创新点

HCF-Net的主要创新包括:

  • 并行化补丁感知注意力(PPA)模块:通过多分支特征提取策略,捕获不同尺度和层次的特征信息,增强小目标的表示能力。

  • 维度感知选择性融合(DASI)模块:实现自适应的通道选择和融合,优化特征信息的整合,提高模型的灵活性和准确性。

  • 多膨胀通道细化器(MDCR)模块:通过多层深度可分离卷积捕捉不同感受野范围的空间特征,增强对小目标的定位能力。

这些模块的结合使得HCF-Net在处理红外小目标检测时,能够有效应对小目标丢失和背景复杂度高的问题。

方法

HCF-Net采用了一种升级版的U-Net架构,主要由三个关键模块组成:

  1. PPA模块

    • 采用多分支特征提取策略,分别提取局部和全局特征。
    • 通过注意力机制增强特征表示,确保在多次下采样过程中保留关键信息。
  2. DASI模块

    • 通过自适应选择和融合高维与低维特征,增强小目标的显著性。
    • 采用通道分割选择机制,根据目标的大小和特征自适应选择合适的特征进行融合。
  3. MDCR模块

    • 引入多个深度可分离卷积层,捕捉不同感受野范围的空间特征。
    • 通过通道分割和重组增强特征表示,提升小目标的辨识能力。

DASI模块解读

DASI(Dimension-Aware Selective Integration)模块是HCF-Net中的一个重要组成部分,旨在解决红外小目标检测中高维特征和低维特征融合的挑战。该模块通过自适应选择和融合不同维度的特征,增强了小目标的显著性,从而提高了检测性能。
在这里插入图片描述

主要功能

  1. 自适应特征选择

    • DASI模块通过对高维特征和低维特征进行对齐,确保在特征融合过程中保留关键信息。具体来说,模块首先通过卷积和插值操作将高维特征和低维特征与当前层特征进行对齐,以便于后续的融合。
  2. 通道划分机制

    • DASI将对齐后的特征沿通道维度均等划分为四个部分。这种划分使得模块能够根据目标的大小和特性自适应地选择合适的特征进行融合。每个部分的特征在融合时会根据其重要性进行加权,从而提高小目标的检测能力。
  3. 特征融合与输出

    • 在特征融合过程中,DASI模块使用sigmoid激活函数对每个部分的特征进行加权,生成选择性聚合的结果。最终,经过卷积、批量归一化和激活函数处理后,输出融合后的特征。

具体实现

  • 特征对齐
    高维特征 F h ∈ R H h × W h × C h F_h \in \mathbb{R}^{H_h \times W_h \times C_h} FhRHh×Wh×Ch 和低维特征 F l ∈ R H l × W l × C l F_l \in \mathbb{R}^{H_l \times W_l \times C_l} FlRHl×Wl×Cl 首先通过卷积和插值操作与当前层特征 F u ∈ R H × W × C F_u \in \mathbb{R}^{H \times W \times C} FuRH×W×C 对齐。

  • 通道划分
    将对齐后的特征划分为四个部分:
    ( h i ) i = 1 4 , ( l i ) i = 1 4 , ( u i ) i = 1 4 (h_i)_{i=1}^4, (l_i)_{i=1}^4, (u_i)_{i=1}^4 (hi)i=14,(li)i=14,(ui)i=14

  • 加权聚合
    通过sigmoid函数计算加权系数 α \alpha α,并根据该系数对高维和低维特征进行加权聚合:
    u i ′ = α l i + ( 1 − α ) h i u_i' = \alpha l_i + (1 - \alpha) h_i ui=αli+(1α)hi

  • 输出特征
    最终输出特征 F u ′ ∈ R H × W × C F_u' \in \mathbb{R}^{H \times W \times C} FuRH×W×C 经过卷积和激活函数处理后生成:
    F u final = δ ( B ( C o n v ( F u ′ ) ) ) F_u^{\text{final}} = \delta(B(Conv(F_u'))) Fufinal=δ(B(Conv(Fu)))

DASI模块通过自适应特征选择和通道划分机制,增强了HCF-Net在红外小目标检测中的特征融合能力。其设计不仅提高了小目标的检测精度,还确保了在多次下采样过程中关键信息的保留,为红外图像处理提供了强有力的支持。

效果

HCF-Net在SIRST红外单帧图像数据集上的实验结果表明,该模型在红外小目标检测任务中表现优异,超越了其他传统和深度学习模型。具体而言,HCF-Net在小目标的识别和定位上具有显著的优势,能够有效减少小目标在复杂背景下的丢失率。

实验结果

  • 数据集: HCF-Net在SIRST数据集上进行评估。
  • 性能指标: HCF-Net在IoU(Intersection over Union)和nIoU(normalized IoU)上分别达到80.09%和78.31%,显著优于其他方法。
  • 对比实验: 与传统方法和其他深度学习模型相比,HCF-Net在多个指标上均表现出色,验证了其设计的有效性和实用性。

总结

HCF-Net通过创新的模块设计和深度学习方法,显著提升了红外小目标检测的性能。其在处理小目标丢失和背景复杂度高的问题上展现了良好的能力,为未来的研究和应用提供了新的思路和方向。该模型的成功应用不仅推动了红外图像处理技术的发展,也为相关领域的实际应用提供了强有力的支持。

代码

import torch.nn.functional
import torch
import torch.nn as nn
import torch.nn.functional as Fclass Bag(nn.Module):def __init__(self):super(Bag, self).__init__()def forward(self, p, i, d):edge_att = torch.sigmoid(d)return edge_att * p + (1 - edge_att) * iclass conv_block(nn.Module):def __init__(self,in_features,out_features,kernel_size=(3, 3),stride=(1, 1),padding=(1, 1),dilation=(1, 1),norm_type='bn',activation=True,use_bias=True,groups = 1):super().__init__()self.conv = nn.Conv2d(in_channels=in_features,out_channels=out_features,kernel_size=kernel_size,stride=stride,padding=padding,dilation=dilation,bias=use_bias,groups = groups)self.norm_type = norm_typeself.act = activationif self.norm_type == 'gn':self.norm = nn.GroupNorm(32 if out_features >= 32 else out_features, out_features)if self.norm_type == 'bn':self.norm = nn.BatchNorm2d(out_features)if self.act:# self.relu = nn.GELU()self.relu = nn.ReLU(inplace=False)def forward(self, x):x = self.conv(x)if self.norm_type is not None:x = self.norm(x)if self.act:x = self.relu(x)return xclass DASI(nn.Module):def __init__(self, in_features, out_features) -> None:super().__init__()self.bag = Bag()self.tail_conv = nn.Sequential(conv_block(in_features=out_features,out_features=out_features,kernel_size=(1, 1),padding=(0, 0),norm_type=None,activation=False))self.conv = nn.Sequential(conv_block(in_features = out_features // 2,out_features = out_features // 4,kernel_size=(1, 1),padding=(0, 0),norm_type=None,activation=False))self.bns = nn.BatchNorm2d(out_features)self.skips = conv_block(in_features=in_features,out_features=out_features,kernel_size=(1, 1),padding=(0, 0),norm_type=None,activation=False)self.skips_2 = conv_block(in_features=in_features * 2,out_features=out_features,kernel_size=(1, 1),padding=(0, 0),norm_type=None,activation=False)self.skips_3 = nn.Conv2d(in_features//2, out_features,kernel_size=3, stride=2, dilation=2, padding=2)# self.skips_3 = nn.Conv2d(in_features//2, out_features,#                          kernel_size=3, stride=2, dilation=1, padding=1)self.relu = nn.ReLU()self.gelu = nn.GELU()def forward(self, x, x_low, x_high):if x_high != None:x_high = self.skips_3(x_high)x_high = torch.chunk(x_high, 4, dim=1)if x_low != None:x_low = self.skips_2(x_low)x_low = F.interpolate(x_low, size=[x.size(2), x.size(3)], mode='bilinear', align_corners=True)x_low = torch.chunk(x_low, 4, dim=1)x_skip = self.skips(x)x = self.skips(x)x = torch.chunk(x, 4, dim=1)if x_high == None:x0 = self.conv(torch.cat((x[0], x_low[0]), dim=1))x1 = self.conv(torch.cat((x[1], x_low[1]), dim=1))x2 = self.conv(torch.cat((x[2], x_low[2]), dim=1))x3 = self.conv(torch.cat((x[3], x_low[3]), dim=1))elif x_low == None:x0 = self.conv(torch.cat((x[0], x_high[0]), dim=1))x1 = self.conv(torch.cat((x[0], x_high[1]), dim=1))x2 = self.conv(torch.cat((x[0], x_high[2]), dim=1))x3 = self.conv(torch.cat((x[0], x_high[3]), dim=1))else:x0 = self.bag(x_low[0], x_high[0], x[0])x1 = self.bag(x_low[1], x_high[1], x[1])x2 = self.bag(x_low[2], x_high[2], x[2])x3 = self.bag(x_low[3], x_high[3], x[3])x = torch.cat((x0, x1, x2, x3), dim=1)x = self.tail_conv(x)x += x_skipx = self.bns(x)x = self.relu(x)return xif __name__ == "__main__":dim=512# 如果GPU可用,将模块移动到 GPUdevice = torch.device("cuda" if torch.cuda.is_available() else "cpu")# 输入张量 (batch_size, channels,height, width)x = torch.randn(2,dim,40,40).to(device)x_low = torch.randn(2,dim*2,20,20).to(device)x_hight = torch.randn(2,dim//2,80,80).to(device)# 初始化 Sea_Attention 模块block = DASI(dim,dim) # kernel_size为height或者widthprint(block)block = block.to(device)# 前向传播output = block(x,x_low,x_hight)print("输入:", x.shape)print("输出:", output.shape)

输出结果:
在这里插入图片描述

相关文章:

【Block总结】DASI,多维特征融合

论文信息 HCF-Net(Hierarchical Context Fusion Network)是一种新提出的深度学习模型,专门用于红外小目标检测。该论文于2024年3月16日发布,作者包括Shibiao Xu、ShuChen Zheng等,主要研究机构为北京邮电大学。该模型…...

LabVIEW的智能电源远程监控系统开发

在工业自动化与测试领域,电源设备的精准控制与远程管理是保障系统稳定运行的核心需求。传统电源管理依赖本地手动操作,存在响应滞后、参数调节效率低、无法实时监控等问题。通过集成工业物联网(IIoT)技术,实现电源设备…...

4.PPT:日月潭景点介绍【18】

目录 NO1、2、3、4​ NO5、6、7、8 ​ ​NO9、10、11、12 ​ 表居中或者水平/垂直居中单元格内容居中或者水平/垂直居中 NO1、2、3、4 新建一个空白演示文稿,命名为“PPT.pptx”(“.pptx”为扩展名)新建幻灯片 开始→版式“PPT_素材.doc…...

《迪拜AI展:探寻中东人工智能发展的璀璨新篇》

迪拜:AI 浪潮下的闪耀明珠 迪拜,这座位于阿拉伯半岛东部、波斯湾东南岸的城市,犹如一颗璀璨的明珠,在中东地区散发着独特的魅力。它是阿拉伯联合酋长国的第二大城市,也是迪拜酋长国的首府 ,凭借优越的地理位…...

axios如何利用promise无痛刷新token

目录 需求 需求解析 实现思路 方法一: 方法二: 两种方法对比 实现 封装axios基本骨架 instance.interceptors.response.use拦截实现 问题和优化 如何防止多次刷新token 同时发起两个或以上的请求时,其他接口如何重试 最后完整代…...

R语言 | 使用 ComplexHeatmap 绘制热图,分区并给对角线分区加黑边框

目的:画热图,分区,给对角线分区添加黑色边框 建议直接看0和4。 0. 准备数据 # 安装并加载必要的包 #install.packages("ComplexHeatmap") # 如果尚未安装 library(ComplexHeatmap)# 使用 iris 数据集 #data(iris)# 选择数值列&a…...

TensorFlow 简单的二分类神经网络的训练和应用流程

展示了一个简单的二分类神经网络的训练和应用流程。主要步骤包括: 1. 数据准备与预处理 2. 构建模型 3. 编译模型 4. 训练模型 5. 评估模型 6. 模型应用与部署 加载和应用已训练的模型 1. 数据准备与预处理 在本例中,数据准备是通过两个 Numpy 数…...

蓝桥杯备考:模拟算法之字符串展开

P1098 [NOIP 2007 提高组] 字符串的展开 - 洛谷 | 计算机科学教育新生态 #include <iostream> #include <cctype> #include <algorithm> using namespace std; int p1,p2,p3; string s,ret; void add(char left,char right) {string tmp;for(char ch left1;…...

[创业之路-282]:《产品开发管理-方法.流程.工具 》-1- 优秀研发体系的特征、IPD关注的4个关键要素、IPD体系的7个特点

目录 一、优秀研发体系的特征 二、IPD关注的4个关键要素 1. 组织管理 2. 市场管理 3. 流程管理 4. 产品管理 三、IPD体系的7个特点 1、产品开发是投资行为&#xff1a; 2、基于市场的产品研发&#xff1a; 3、平台化开发&#xff0c;大平台&#xff0c;小产品&#x…...

Node.js 与 PostgreSQL 集成:深入 pg 模块的应用与实践

title: Node.js 与 PostgreSQL 集成:深入 pg 模块的应用与实践 date: 2025/2/5 updated: 2025/2/5 author: cmdragon excerpt: 随着 JavaScript 在服务器端编程中的兴起,Node.js 已成为构建高性能网络应用程序的重要平台。PostgreSQL 则以其强大的特性以及对复杂数据结构的…...

【Uniapp-Vue3】从uniCloud中获取数据

需要先获取数据库对象&#xff1a; let db uniCloud.database(); 获取数据库中数据的方法&#xff1a; db.collection("数据表名称").get(); 所以就可以得到下面的这个模板&#xff1a; let 函数名 async () > { let res await db.collection("数据表名称…...

LeetCode 0090.子集 II:二进制枚举 / 回溯

【LetMeFly】90.子集 II&#xff1a;二进制枚举 / 回溯 力扣题目链接&#xff1a;https://leetcode.cn/problems/subsets-ii/ 给你一个整数数组 nums &#xff0c;其中可能包含重复元素&#xff0c;请你返回该数组所有可能的 子集&#xff08;幂集&#xff09;。 解集 不能 …...

Pytest+selenium UI自动化测试实战实例

今天来说说pytest吧&#xff0c;经过几周的时间学习&#xff0c;有收获也有疑惑&#xff0c;总之最后还是搞个小项目出来证明自己的努力不没有白费。 环境准备 1 确保您已经安装了python3.x 2 配置python3pycharmselenium2开发环境 3 安装pytest库pip install p…...

黑马点评 - 商铺类型缓存练习题(Redis List实现)

首先明确返回值是一个 List<ShopType> 类型那么我们修改此函数并在 TypeService 中声明 queryTypeList 方法&#xff0c;并在其实现类中实现此方法 GetMapping("list")public Result queryTypeList() {return typeService.queryTypeList();}实现此方法首先需要…...

C++ 创建和配置dll与lib库

C简明教程&#xff08;13&#xff09;创建和配置dll与lib库_怎样生成lib库和dll库-CSDN博客 C 动态库与静态库详解 一、为什么要引入库的概念 在 C 编程中&#xff0c;随着项目规模的不断扩大&#xff0c;代码量也会急剧增加。如果将所有代码都写在一个源文件中&#xff0c;…...

深度剖析 Veo2 工具:解锁 AI 视频创作新境界

在当下这个 AI 技术日新月异的时代,各种 AI 工具如雨后春笋般涌现,让人目不暇接。今天,我就来给大家好好说道说道谷歌旗下的 Veo2,这可是一款在 AI 视频创作领域相当有分量的工具。好多朋友都在问,Veo2 到底厉害在哪?好不好上手?能在哪些地方派上用场?别着急,今天我就…...

LabVIEW自定义测量参数怎么设置?

以下通过一个温度采集案例&#xff0c;说明在 LabVIEW 中设置自定义测量参数的具体方法&#xff1a; 案例背景 ​ 假设使用 NI USB-6009 数据采集卡 和 热电偶传感器 监测温度&#xff0c;需自定义以下参数&#xff1a; 采样率&#xff1a;1 kHz 输入量程&#xff1a;0~10 V&a…...

JVM执行流程与架构(对应不同版本JDK)

直接上图&#xff08;对应JDK8以及以后的HotSpot&#xff09; 这里主要区分说明一下 方法区于 字符串常量池 的位置更迭&#xff1a; 方法区 JDK7 以及之前的版本将方法区存放在堆区域中的 永久代空间&#xff0c;堆的大小由虚拟机参数来控制。 JDK8 以及之后的版本将方法…...

数据治理项目为什么沦为了PPT工程?

数据治理项目为什么沦为了PPT工程&#xff1f; 数据治理项目为什么沦为PPT工程数据治理项目面临的深层挑战数据治理项目的破局之道 "这个项目明明做了快一年了&#xff0c;怎么感觉还在原地踏步&#xff1f;"数据治理小张最近很烦恼。 整天泡在会议室里&#xff0c;写…...

module ‘matplotlib.cm‘ has no attribute ‘get_cmap‘

目录 解决方法1&#xff1a; 解决方法2&#xff0c;新版api改了&#xff1a; module matplotlib.cm has no attribute get_cmap 报错代码&#xff1a; cmap matplotlib.cm.get_cmap(Oranges) 解决方法1&#xff1a; pip install matplotlib3.7.3 解决方法2&#xff0c;新版…...

HTML5 教程之标签(3)

HTML5 <center> 标签 (已废弃) 定义和用法 <center> 标签对其包围的文本进行水平居中处理。HTML5不支持使用<center>标签&#xff0c;因此有关该标签的更多信息&#xff0c;请参考“HTML <center>标签”部分&#xff01; 示例: <center>这个…...

告别传统办公软件,这款编辑器让你事半功倍!

文章目录 1 界面的多样性2 性能优化3 文档编辑器的新功能4 外部文本支持5 体验感想 ONLYOFFICE最近发布了文档8.2版本&#xff0c;带来了众多新特性和性能改进。作为一名用户和开发者&#xff0c;我对这些更新进行了深入的体验&#xff0c;感受到了不少亮点。 新版本特别强调了…...

AI协助探索AI新构型自动化创新的技术实现

一、AI自进化架构的核心范式 1. 元代码生成与模块化重构 - 代码级自编程&#xff1a;基于神经架构搜索的强化学习框架&#xff0c;AI可通过生成元代码模板&#xff08;框架的抽象层定义、神经元结点-网络拓扑态的编码抽象定义&#xff09;自动组合功能模块。例如&#xff0…...

全能型免费内网穿透工具,全面支持macOS、Windows、Linux及Docker系统

1. 登陆官网网址并注册帐号 ngrok | API Gateway, Kubernetes Networking Secure Tunnels 2 下载并安装工具 3. 启动工具 在命令行执行 ngrok http http://localhost:8080 其中端口可换成用户自己想要穿透的端口 4. 获取穿透地址 命令执行后会出现如下画面&#xff0c;红…...

Web - CSS3浮动定位与背景样式

概述 这篇文章主要介绍了 CSS3 中的浮动定位、背景样式、变形效果等内容。包括 BFC 规范与创建方法、浮动的功能与使用要点、定位的多种方式及特点、边框与圆角的设置、背景的颜色、图片等属性、多种变形效果及 3D 旋转等&#xff0c;还提到了浏览器私有前缀。 BFC规范与浏览…...

VUE之组件通信(二)

1、v-model v-model的底层原理&#xff1a;是:value值和input事件的结合 $event到底是啥&#xff1f;啥时候能.target 对于原生事件&#xff0c;$event就是事件对象 &#xff0c;能.target对应自定义事件&#xff0c;$event就是触发事件时&#xff0c;所传递的数据&#xff…...

Gauss高斯:建表语法,存储方式,OLTP和OLAP,系统时间,数组,分组(grouping set,rollup)

数据库和表的语法 数据库 表 oracle,高斯, hive的默认存储方式都是列式存储 存储方式 高斯数据库&#xff08;GaussDB&#xff09;支持列式存储和行式存储 OLTP 与 OLAP OLTP&#xff08;联机事务处理&#xff0c;Online Transaction Processing&#xff09;是一种用于管理…...

Java基础进阶

Java基础进阶 异常 概述 异常就是程序出现了不正常的情况 具体分为&#xff1a;Throwable—>(Error Exception);Exception—>(RuntimeException 非RuntimeException) Throwable类是Java语言中所有错误和异常的祖宗类&#xff1b;&#xff08;上面还有Object类) Thr…...

【数据结构】链表应用1

链表应用 面试题 02.02.返回倒数第k个节点题目描述思路解题过程复杂度 查找相同后缀题目描述解题思路完整代码&#xff1a; 删除绝对值相等的节点题目描述解题思路代码 面试题 02.02.返回倒数第k个节点 题目描述 实现一种算法&#xff0c;找出单向链表中倒数第 k 个节点。返回…...

python gltf生成预览图

使用Python生成GLTF模型的预览图 随着3D技术的不断发展&#xff0c;GLTF&#xff08;GL Transmission Format&#xff09;逐渐成为了Web和移动应用程序中最流行的3D文件格式之一。GLTF文件不仅能以较小的体积存储复杂的3D模型&#xff0c;还支持动画、材质、光照和纹理等特性。…...

HTTP和HTTPS协议详解

HTTP和HTTPS协议详解 HTTP详解什么是http协议http协议的发展史http0.9http1.0http1.1http2.0 http协议的格式URI和URL请求request响应response http协议完整的请求与响应流程 HTTPS详解为什么使用HTTPSSSL协议HTTPS通信过程TLS协议 HTTP详解 什么是http协议 1、全称Hyper Tex…...

实战:利用百度站长平台加速网站收录

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/33.html 利用百度站长平台加速网站收录是一个实战性很强的过程&#xff0c;以下是一些具体的步骤和策略&#xff1a; 一、了解百度站长平台 百度站长平台是百度为网站管理员提供的一系列工…...

专门记录台式电脑常见问题

1、蓝屏死机&#xff0c;检查内存硬盘和cpu 2、拆内存条&#xff0c;用橡皮擦金手指 3、放主板静电&#xff0c;扣主板电池 4、系统时间不正确&#xff0c;主板电池没电 5、开机键坏了 6、电脑主机的风扇转&#xff0c;正常通电运行&#xff0c;但显示器没信号。看键盘的num键&…...

数据库系统概念第六版记录 一

1.关系型数据库 关系型数据库&#xff08;Relational Database&#xff0c;简称 RDB&#xff09;是基于关系模型的一种数据库&#xff0c;它通过表格的形式来组织和存储数据。每个表由若干行&#xff08;记录&#xff09;和列&#xff08;字段&#xff09;组成&#xff0c;数据…...

本地Ollama部署DeepSeek R1模型接入Word

目录 1.本地部署DeepSeek-R1模型 2.接入Word 3.效果演示 4.问题反馈 上一篇文章办公新利器&#xff1a;DeepSeekWord&#xff0c;让你的工作更高效-CSDN博客https://blog.csdn.net/qq_63708623/article/details/145418457?spm1001.2014.3001.5501https://blog.csdn.net/qq…...

Meta Sapiens AI论文解读:人类视觉模型基石初现,AI 未来走向何方?

一、引言 在本文中&#xff0c;我们将深入探讨 Meta AI 的一项新成果&#xff0c;该成果发表于一篇题为《Sapiens&#xff1a;人类视觉模型的基础》的研究论文中。这篇论文介绍了一系列模型&#xff0c;这些模型针对四项以人类为中心的基本任务&#xff0c;正如我们在上面的演示…...

输入类控件和多元素控件【QT】

文章目录 输入类控件QLineEdit Text EditCombo BoxSpin BoxDialSlider多元素控件QListWidget TableWidetTreeWidgetQGroupBoxTab Widget# QVBoxLayout# QHBoxLayoutQGridLayoutQFormLayout 输入类控件 QLineEdit 例如&#xff1a; 实现一个用户输入姓名 密码 电话 性别 的功能…...

一键开启/关闭deepseek

一键开启/关闭 Deepseek对应下载的模型一键开启 Deepseek&#xff0c;一键关闭Deepseek双击对应的bat&#xff0c;就可以启动https://mbd.pub/o/bread/Z56YmpZvbat 下载&#xff1a;https://mbd.pub/o/bread/Z56YmpZv 可以自己写下来&#xff0c;保存成bat文件&#xff0c;也可…...

gitea - fatal: Authentication failed

文章目录 gitea - fatal: Authentication failed概述run_gitea_on_my_pkm.bat 笔记删除windows凭证管理器中对应的url认证凭证启动gitea服务端的命令行正常用 TortoiseGit 提交代码备注END gitea - fatal: Authentication failed 概述 本地的git归档服务端使用gitea. 原来的用…...

Spring AI 智能体通过 MCP 集成本地文件数据

作者&#xff1a;刘军 Model Context Protocol&#xff08;MCP&#xff09;简介 模型上下文协议&#xff08;即 Model Context Protocol&#xff0c;MCP&#xff09; [ 1] 是一个开放协议&#xff0c;它规范了应用程序如何向大型语言模型&#xff08;LLM&#xff09;提供上下…...

音视频入门基础:RTP专题(5)——FFmpeg源码中,解析SDP的实现

一、引言 FFmpeg源码中通过ff_sdp_parse函数解析SDP。该函数定义在libavformat/rtsp.c中&#xff1a; int ff_sdp_parse(AVFormatContext *s, const char *content) {const char *p;int letter, i;char buf[SDP_MAX_SIZE], *q;SDPParseState sdp_parse_state { { 0 } }, *s1…...

MyBatis XML文件配置

目录 一、 配置连接字符串和MyBatis 二、书写持久层代码 2.1 添加Mapper接口 2.2 添加UserlnfoXMLMapper.xml 三、增删改查 3.1 、增&#xff08;Insert&#xff09; 3.2、删&#xff08;Delete) 3.3、改 (Update) 3.4、查 (Select) MyBatisXML的方式需要以下两步&am…...

【Leetcode 热题 100】1143. 最长公共子序列

问题背景 给定两个字符串 t e x t 1 text_1 text1​ 和 t e x t 2 text_2 text2​&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 0 0。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变…...

【算法】动态规划专题④ ——LCS(最长公共子序列)+ LPS(最长回文子序列) python

目录 前置知识LCS举一反三LPS 前置知识 【算法】动态规划专题③ ——二维DP python 子序列定义为&#xff1a; 不改变剩余字符顺序的情况下&#xff0c;删除某些字符或者不删除任何字符形成的一个序列。 LCS 最长公共子序列 https://www.lanqiao.cn/problems/1189/learning/?p…...

Cesium点集中获取点的id,使用viewer.value.entities.getById报错的解决方法

错误代码&#xff1a; viewer.value.entities.getById(pickedObject.id) 报错&#xff1a; 可以正常获取movement.position但是一直出现如下报错&#xff0c;无法获得航点的id&#xff0c;通过断点定位为 viewer.value.entities.getById(pickedObject.id)导致的报错 解决方…...

360手机刷机 360手机解Bootloader 360手机ROOT

360手机刷机 360手机解Bootloader 360手机ROOT 问&#xff1a;360手机已停产&#xff0c;现在和以后&#xff0c;能刷机吗&#xff1f; 答&#xff1a;360手机&#xff0c;是肯定能刷机的 360手机资源下载网站 360手机-360手机刷机RootTwrp 360os.top 360rom.github.io 一、…...

深度探索DeepSeek-R1:AI大模型的本地应用与个人知识库构建

深度探索DeepSeek-R1&#xff1a;AI大模型的本地应用与个人知识库构建 引言 在当今这个信息爆炸的时代&#xff0c;如何高效地存储、处理和获取知识&#xff0c;已经成为每个人面临的挑战。想象一下&#xff0c;如果你能在没有互联网连接的情况下&#xff0c;构建一个属于自己…...

LabVIEW图像采集与应变场测量系统

开发了一种基于LabVIEW的图像采集与应变场测量系统&#xff0c;提供一种高精度、非接触式的测量技术&#xff0c;用于监测物体的全场位移和应变。系统整合了实时监控、数据记录和自动对焦等功能&#xff0c;适用于工程应用和科学研究。 项目背景 传统的位移和应变测量技术往往…...

解决DeepSeek服务器繁忙问题:本地部署与优化方案

deepseek服务器崩了&#xff0c;手把手教你如何在手机端部署一个VIP通道&#xff01; 引言 随着人工智能技术的快速发展&#xff0c;DeepSeek等大语言模型的应用越来越广泛。然而&#xff0c;许多用户在使用过程中遇到了服务器繁忙、响应缓慢等问题。本文将探讨如何通过本地部…...

今日AI和商界事件(2025-02-05)

今日AI领域的相关事件主要包括以下几个方面&#xff1a; 一、DeepSeek引发全球关注 性能与成本优势&#xff1a; DeepSeek推出的R1模型性能出色&#xff0c;成本较低&#xff0c;在全球AI行业引发震动。该模型在数学、代码处理等方面性能优异&#xff0c;受到广泛赞誉。 平台…...