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

[Survey] Image Segmentation in Foundation Model Era: A Survey

BaseInfo

TitleImage Segmentation in Foundation Model Era: A Survey
Adresshttps://arxiv.org/pdf/2408.12957
Journal/Time-
Author北理工、上交、浙大 CCAI 、瑞士苏黎世联邦理工学院、德国慕尼黑工业大学
Codehttps://github.com/stanley-313/ImageSegFM-Survey

1. Introduction

通用图像分割(即语义分割、实例分割、全景分割)
可提示的图像分割(即交互式分割、指代分割、少样本分割)
在这里插入图片描述
开创性算法 N-Cut、FCN 和 MaskFormer -> adapting FMs: CLIP、Stable Diffusion、DINO -> SAM, SAM2 专有的。


将像素划分为不同的组 -> 更高级目标(包括物理场景理解、基于视觉常识的推理、感知社交关联)-> 自动驾驶、医学图像分析、自动监控和图像编辑等众多领域

  1. 传统的非深度学习方法,如阈值分割 [1, 2]、直方图模式搜索 [3, 4]、区域生长和合并 [5, 6]、空间聚类 [7]、能量扩散 [8]、超像素 [9]、条件随机场和马尔可夫随机场 [10]
  2. 深度学习方法,例如基于全卷积网络(FCN)的方法 [11 - 20],尤其是 DeepLab 系列 [17 - 20]、基于 RNN 的方法 [21]、基于 Transformer 的方法 [22 - 28] 以及 R - CNN 系列 [29 - 31]。
  3. 基础模型(FMs): 包括自然语言处理 [33]、计算机视觉 [34] 以及许多跨学科领域 [35 - 37]。著名的例子包括大语言模型(LLMs),如 GPT - 3 [38] 和 GPT - 4 [39],多模态大语言模型(MLLMs),如 Flamingo [40] 和 Gemini [41],以及扩散模型(DMs),如 Sora [42] 和 Stable Diffusion(SD) [43] : 生成推理链 [46]、在对话场景中提供类似人类的回复 [38]、创建逼真的视频 [42] 以及合成新颖的程序 [47].

  • 分割领域的新任务:如 zero-shot 、few-shot、开放词汇语义分割、不同的提示分割
  • Training-free segmentation :无训练分割是近年来兴起的一个新兴研究领域。它旨在从预训练的FMs中提取分割知识,这标志着与已有的学习范式(如监督学习、半监督学习、弱监督学习和自监督学习)的不同。CLIP,Stable Diffusion 或DINO/DINOv2,最初不是为分割目的而设计,也可以很轻易得到 mask。
  • integrating LLMs into segmentation systems : 将大语言模型融入分割系统,参考图像分割 Referring Image Segmentation 和推理图像分割 Reasoning Image Segmentation
  • Generative models:特别是文本到图像的扩散模型

在这里插入图片描述

2. Background

分别将 X \mathcal{X} X Y \mathcal{Y} Y表示为输入空间和输出分割空间。图像分割解决方案旨在学习一个理想的映射函数 f f f f : X ↦ Y ,其中 X = I × P , Y = M × C f: \mathcal{X} \mapsto \mathcal{Y} ,其中\mathcal{X} = \mathcal{I} \times \mathcal{P},\mathcal{Y} = \mathcal{M} \times \mathcal{C} f:XY,其中X=I×PY=M×C 这里 f f f通常具体化为一个神经网络。输入空间 X \mathcal{X} X被分解为 I × P \mathcal{I} \times \mathcal{P} I×P,其中 I \mathcal{I} I代表图像域(仅包含单个图像 I I I ), P \mathcal{P} P指的是提示集合,在某些分割任务中会专门使用。输出空间 Y = M × C \mathcal{Y} = \mathcal{M} \times \mathcal{C} Y=M×C,它包含一组分割掩码 M \mathcal{M} M以及与这些掩码相关的语义类别词汇表 C \mathcal{C} C

  • 通用图像分割(GIS)输入空间仅包含图像,即 X ≡ I \mathcal{X} \equiv \mathcal{I} XI,这表明 P = ∅ \mathcal{P} = \emptyset P= 。根据测试词汇表 C t e s t \mathcal{C}_{test} Ctest是否包含训练词汇表 C t r a i n \mathcal{C}_{train} Ctrain中不存在的新类别,这三个任务在两种设置下进行研究:封闭词汇(即 C t r a i n ≡ C t e s t \mathcal{C}_{train} \equiv \mathcal{C}_{test} CtrainCtest )和开放词汇(即 C t r a i n ⊂ C t e s t \mathcal{C}_{train} \subset \mathcal{C}_{test} CtrainCtest )分割。

    • 语义分割: 图像中每个像素所属的语义类别,该类别来自 C \mathcal{C} C
    • 实例分割: 将属于同一语义类别的像素分组为单独的对象实例。
    • 全景分割: 结合了语义分割和实例分割,以预测每个像素的类别和实例标签,并且能够提供全面的场景解析。
  • 提示图像分割(PIS)额外纳入了一组提示 P \mathcal{P} P,用于指定要分割的目标。

    • 交互式分割旨在根据用户输入(通常通过点击、涂抹、绘制框或多边形提供,即 P = { click, scribble, box, polygon } \mathcal{P} = \{\text{click, scribble, box, polygon}\} P={click, scribble, box, polygon} )分割出特定对象或部分。
    • 指称分割 提取由文本短语所指的相应区域,即 P = { l i n g u i s t i c p h r a s e } \mathcal{P} = \{linguistic \space phrase\} P={linguistic phrase} 指的是文本提示。
    • 少样本分割(图 1f)旨在利用少量带注释的支持图像在给定查询图像中分割新对象,即 P = { ( i m a g e , m a s k ) } \mathcal{P} = \{(image, mask)\} P={(image,mask)} 指的是图像 - 掩码对的集合。

学习策略:
i)监督学习:现代图像分割方法通常以完全监督的方式进行学习,这需要一组训练图像及其期望的输出,即每个像素的注释。
ii)无监督学习:在没有明确标注监督的情况下,逼近f 的任务属于无监督学习。现有的大多数基于无监督学习的图像分割模型利用自监督技术,用从图像数据自动生成的伪标签来训练网络。
iii)弱监督学习:在这种情况下,监督信息可能不准确、不完整或不正确。对于不准确的监督,标签通常来自更容易标注的领域(如图像标签、边界框、涂抹 )。对于不完整的监督,仅为训练图像的一个子集提供标签。不准确的监督意味着虽然存在噪声,但为所有训练图像提供每个像素的注释。
iv)自由训练:除了上述策略之外,在基础模型时代,无需训练的分割受到了关注,它旨在直接从预训练的基础模型中提取分割信息,而无需进行任何模型训练。


基础模型:any model that is trained on broad data (generally using self-supervision at scale) that can be adapted to a wide range of downstream tasks

  1. Language Foundation Model 语言基础模型
  • Large Language Models (LLMs)
  • Multimodal Large Language Models (MLLMs) 将推理能力与处理非文本模态(如视觉、音频 )的能力相结合。
  1. Visual Foundation Model 视觉基础模型
  • Contrastive Language-Image Pre-training (CLIP). 对比学习 CLIP 和 ALIGN
  • Diffusion Models (DMs) 扩散模型
  • Self-Distillation with No Labels (DINO&DINOv2).
  • Segment Anything (SAM)

在这里插入图片描述

SEGMENTATION KNOWLEDGE EMERGES FROM FMS

  1. CLIP 学习的是整体视觉特征,位置信息相对不变。Mask-CLIP :修改 CLIP 的图像编码器:(1) 删除查询和关键嵌入层; (2) 将值嵌入层和最后一个线性层重新组合成两个各自的 1×1 卷积层。. GEM:计算 k q v 的各自通过矩阵乘法得到关联矩阵。 softmax ( q q ⊤ ) + softmax ( k k ⊤ ) + softmax ( v v ⊤ ) \text{softmax}(\mathbf{q}\mathbf{q}^\top)+\text{softmax}(\mathbf{k}\mathbf{k}^\top)+\text{softmax}(\mathbf{v}\mathbf{v}^\top) softmax(qq)+softmax(kk)+softmax(vv)
  2. DM :关键在于分割源自扩散模型中的交叉注意力图。
    m = CrossAttention ( q , k ) = softmax ( q k ⊤ / d ) m = \text{CrossAttention}(q, k)=\text{softmax}(qk^\top / \sqrt{d}) m=CrossAttention(q,k)=softmax(qk/d ) 。其中, q = Φ ( z t ) ∈ R h w × d q = \Phi(z_t) \in \mathbb{R}^{hw \times d} q=Φ(zt)Rhw×d k = Ψ ( e ) ∈ R N × d k = \Psi(e) \in \mathbb{R}^{N \times d} k=Ψ(e)RN×d Φ \Phi Φ Ψ \Psi Ψ 是 U - Net 中在隐空间进行去噪的线性层。 m ∈ R h w × N m \in \mathbb{R}^{hw \times N} mRhw×N 表示单个头的交叉注意力图。
  3. DINO : 在最后一层注意力头中,通过计算类别标记 [CLS] 的查询特征 q CLS \boldsymbol{q}_{\text{CLS}} qCLS 和图像块标记 [I] 的键特征 k I ⊤ \boldsymbol{k}^{\top}_{\text{I}} kI 的点积,得到亲和向量 α CLS = q CLS ⋅ k I ⊤ ∈ R 1 × M \boldsymbol{\alpha}_{\text{CLS}} = \boldsymbol{q}_{\text{CLS}} \cdot \boldsymbol{k}^{\top}_{\text{I}} \in \mathbb{R}^{1 \times M} αCLS=qCLSkIR1×M 。对每个注意力头 α CLS \boldsymbol{\alpha}_{\text{CLS}} αCLS 进行平均,对这个最终注意力图进行二值化处理(比如设置一个阈值,大于阈值的像素设为 1,小于阈值的设为 0 ),就可以得到分割掩码.一些工作还直接利用图像块标记之间的相似性来定位目标。

4. FOUNDATION MODEL BASED GIS

在这里插入图片描述

  1. 如何将 CLIP 中的预训练知识迁移到分割任务中?
  • Training free Semantic Segmentation :对自注意力模块稍作修改,从 CLIP 导出分割掩码是可行的。)利用 CLIP 文本编码器作为分类器来确定每个掩码的类别,从而实现语义分割,整个过程无需额外训练或微调。
  • CLIP 微调:遵循流行的 “预训练 - 微调” 范式,大量方法使用分割数据对 CLIP 进行微调,可分为全量微调或参数高效微调方法。全量微调方法需调整 CLIP 的整个视觉或文本编码器。防止对已见类别过拟合,它们都学习特定于图像的文本嵌入,以实现更准确的像素 - 文本对齐;
  • CLIP 作为零样本分类器:掩码分类方法(文献 [128]-[136] )通常遵循两阶段范式,即首先提取与类别无关的掩码提议,然后使用预训练的 CLIP 对提议进行分类。像素分类:像素分类方法(文献 [101]、[137]-[141] )使用 CLIP 识别像素。
  • 文本监督下的语义分割:TagAlign(文献 [147] )也专注于优化部分,并引入精细属性作为监督信号,实现密集的图像 - 文本对齐。
  • 知识蒸馏(KD):CLIP-DINOiser(文献 [153] )将 DINO 作为教师模型,引导 CLIP 学习类似 DINO 的、有利于分割的特征。
  1. 扩散模型(DMs):
  • Training free Semantic Segmentation:
  • 利用扩散模型潜在特征进行语义分割:多数用 T2I - DMs(主要是 SD )挖掘语义表示。
  • 去噪扩散模型的语义分割:将语义分割重新表述为去噪扩散过程,通过迭代去噪过程学习预测给定随机噪声 和图像编码器视觉特征条件下的噪声图
  • 利用 T2I - DMs 进行数据增强,而非直接生成合成掩码。
  1. DINO
  • 通过直接分组实现无监督分割: 直接利用 DINO 特征进行区域分组. 利用 k - means 聚类 或基于图的。
  • 通过自训练实现无监督语义分割: 尝试从 DINO 特征训练分割模型,自动从 DINO 特征中获取伪标签。
  1. SAM : 缺乏语义感知能力,但它具有通用且出色的分割能力。在弱监督场景下常被用于提升分割质量, 比如利用 SAM 对分割掩码进行后处理,以及将其用于零样本推理.
    CLIP 在语义理解方面表现出色,SAM 和 DINO 则专注于空间定位 。

5. FOUNDATION MODEL BASED PIS

在这里插入图片描述

  1. 交互式分割:SAM 引入多粒度交互式分割流程,每次用户交互时,期望的分割区域可能涉及附近不同部分的对象概念。通过将查询分割区域与 CLIP 的相应文本表示对齐来微调 SAM 。
  2. Referring Segmentation:
    基于 CLIP
  • Training-free : 文献 :Zero-shot referring image seg- mentation with global-local context features 和 Text augmented spatial aware zero-shot referring image segmentation 基于跨模态相似度识别目标掩码
  • 多模态知识迁移:常见方法是将 CLIP 特征与文本特征融合,训练文本到像素的对比学习,在每个阶段整合桥接模块。
  • 弱监督:TSEG 用 CLIP 计算文本目标相似度,通过多补丁分配机制指导分类目标。
    基于 DMs
  • Training-free :前景掩码优化问题。
  • 扩散特征:模型反转注意力图可直观得到初始视觉密集表示,用于生成最终分割掩码。
    基于 LLMs:实现推理分割。
    BERT因其简单性和实用性成为首选。多数方法设计融合模块,连接视觉编码器和解码器与 BERT。
    使用大型语言模型作为多模态统一处理工具,将图像和文本融合为统一特征空间,生成强大对话能力。
    增强视觉基础的方法广泛用于丰富分割先验知识,提供提示驱动框架连接 CLIP 和 SAM,构建提示机制,在编码器 - 解码器架构中结合 CLIP 和 SAM,采用简单高效的双编码器设计,分别适配 SAM 和 LLM 提取图像和文本特征,融合多模态特征进行分割预测。
  1. 小样本分割
  • 基于 CLIP 的特征表示,通过函数图像生成原型,计算查询原型距离
  • DMs 的内部表示对小样本分割有用,可将支持图像特定时间步的表示作为输入,解码为原始图像并输入掩码解码器。通过去噪扩散过程处理小样本分割,微调 SD 以明确生成掩码。
  • 利用 DINO/DINOv2 丰富的潜在表示来增强查询和支持图像的特征
  • 基于支持查询图像对的相似性生成候选点,突出查询图像的语义,用于指导目标导向提示。
  • 一些基于 LLM/MLLM 的通过指令设计解决 FSS 问题。
    上下文分割(ICS),即仅用少量示例预测分割掩码,无需特定微调。

6. OPEN ISSUE AND FUTURE DIRECTION

  1. 解释: 不同 FMs 在架构、数据和训练方式上有差异,但当前方法无法充分解释模型如何学习,尤其是像素与其他模态交互,需新方法理解像素在 FMs 中的作用,这对减少负面影响、拓展应用很关键。
  2. In-Context Segmentation. 上下文学习。
  3. 缓解基于 MLLMs 模型的物体幻觉问题:幻觉问题(模型生成不存在或错误物体描述)
  4. 强大且可扩展的数据引擎
  5. 扩散模型作为新数据源
  6. 高效图像分割模型:基于 FM 的分割模型计算量大、需精细调整,影响实际应用。
@article{zhou2024SegFMSurveytitle={Image Segmentation in Foundation Model Era: A Survey},author={Zhou, Tianfei and Xia, Wang and Zhang, Fei and Chang, Boyu and Wang, Wenguan and Yuan, Ye and Konukoglu, Ender and Cremers, Daniel},journal={arXiv preprint arXiv:2408.12957},year={2024},
}

相关文章:

[Survey] Image Segmentation in Foundation Model Era: A Survey

BaseInfo TitleImage Segmentation in Foundation Model Era: A SurveyAdresshttps://arxiv.org/pdf/2408.12957Journal/Time-Author北理工、上交、浙大 CCAI 、瑞士苏黎世联邦理工学院、德国慕尼黑工业大学Codehttps://github.com/stanley-313/ImageSegFM-Survey 1. Introdu…...

关于杰理ac791切换版本, git clone下来仍然是最新版本问题

在git clone 之后,在本地切换分支 常规流程:git clone →git branch →git branch -a → git checkout 分支名...

生成项目.gitignore文件的多种高效方式

在使用 Git 进行版本控制时,.gitignore 文件是不可或缺的配置文件。它可以帮助我们指定哪些文件或目录不需要被 Git 跟踪,从而避免将不必要的文件(如临时文件、编译生成的文件等)提交到仓库中。这篇文章将介绍几种生成 .gitignore…...

2025年“深圳杯”数学建模挑战赛D题-法医物证多人身份鉴定问题

法医物证多人身份鉴定问题 小驴数模 犯罪现场法医物证鉴定是关系到国家安全、公共安全、人民生命财产安全和社会稳定的重大问题。目前法医物证鉴定依赖DNA分析技术不断提升。DNA检验的核心是STR(Short Tandem Repeat,短串联重复序列)分析技术…...

嵌入式开发高频面试题全解析:从基础编程到内存操作核心知识点实战

一、数组操作:3x3 数组的对角和、偶数和、奇数和 题目 求 3x3 数组的对角元素和、偶数元素和、奇数元素和。 知识点 数组遍历:通过双重循环访问数组的每个元素,外层循环控制行,内层循环控制列。对角元素判断: 主对…...

JAVA SE 反射,枚举与lambda表达式

文章目录 📕1. 反射✏️1.1 反射相关的类✏️1.2 Class类中的相关方法✏️1.3 Field类中的相关方法✏️1.4 Method类中的相关方法✏️1.5 Constructor类中的相关方法✏️1.6 获取Class对象的三种方式✏️1.7 反射的使用 📕2. 枚举2.1 枚举的定义✏️2.2 …...

每日算法-250430

每日算法 - 2025年4月30日 记录下今天解决的两道题目。 870. 优势洗牌 (Advantage Shuffle) 题目描述 解题思路与方法 核心思想:贪心策略 (田忌赛马) 这道题的目标是对于 nums1 中的每个元素,找到 nums2 中一个比它小的元素进行配对(如果…...

MacOS 安装 cocoapods

MacOS 安装 cocoapods 下面使用 HomeBrew 安装 cocoapods 一、检测 HomeBrew 是否安装 打开终端执行命令 brew -v #如果安装,输出如 Homebrew 4.5.0如果未安装 Mac HomeBrew安装 二、检测 ruby 是否安装 系统一般自带了 ruby 但是这个升级有些麻烦,我…...

MATLAB绘制饼图(二维/三维)

在数据分析与展示领域,饼图是一种直观且高效的可视化工具,能够在瞬间传递各部分与整体的比例关系。今天,我将分享一段 MATLAB 绘制二维及三维饼图的代码,助你轻松将数据以饼图形式呈现于众人眼前。 无论是二维饼图的简洁明了&…...

python将字符串转成二进制数组

python将字符串转成二进制数组 功能概述: save_binary_to_json() 函数:将字符串转换为二进制数据(字节的整数表示),并保存到JSON文件中。 load_binary_from_json() 函数:从JSON文件中读取二进制数据并还原…...

防止HTTPS页面通过<iframe>标签嵌入HTTP内容

防止HTTPS页面通过<iframe>标签嵌入HTTP内容 出于安全考虑&#xff0c;现代浏览器实施了严格的规则来防止HTTPS页面通过<iframe>标签嵌入HTTP内容。这种行为主要是为了防止所谓的“混合内容”问题&#xff0c;即在一个安全&#xff08;加密&#xff09;的页面中…...

windows 使用websocket++ (C++环境)

一、简介 websocket官方网址&#xff1a;http://websocket.org/ websocketpp官方网址&#xff1a;https://www.zaphoyd.com/websocketpp websocketpp使用手册&#xff1a;https://www.zaphoyd.com/websocketpp/manual/ websocketpp 是 C 的 WebSocket 客户端/服务器库. 它是…...

无水印短视频素材下载网站有哪些?十个高清无水印视频素材网站分享

你知道怎么下载无水印视频素材吗&#xff1f;今天小编就给大家推荐十个高清无水印视频素材下载的网站&#xff0c;如果你也是苦于下载高清无水印的短视频素材&#xff0c;赶紧来看看吧&#xff5e; 1. 稻虎网 首推的是稻虎网。这个网站简直就是短视频创作者的宝库。无论你需要…...

【dify—5】Dify关联Ollama

目录 一、修改.env文件 二、启动dify 三、访问dify 四、设置关联 五、添加模型插件 5.1 添加模型 5.2 配置信息​编辑 第一部分 安装difydocker教程&#xff1a;【difydocker安装教程】-CSDN博客 第二部分 dock重装教程&#xff1a; 【dify—2】docker重装-CSDN博客 第三…...

PostgreSQL可串行化快照隔离和冻结处理

1.可串行化快照隔离 可串行化快照隔离SSI已经嵌入到快照隔离SI中&#xff0c;以实现真正的可串行化隔离等级。 SSI实现基本策略 使用SIREDA锁记录事务访问的所有对象&#xff08;元组&#xff0c;页面&#xff0c;关系&#xff09;。 当写入任何堆元组/索引元组时&#xff…...

Java 多线程进阶:什么是线程安全?

在多线程编程中&#xff0c;“线程安全”是一个非常重要但又常被误解的概念。尤其对于刚接触多线程的人来说&#xff0c;不理解线程安全的本质&#xff0c;容易写出“偶尔出错”的代码——这类 bug 往往隐蔽且难以复现。 本文将用尽可能通俗的语言&#xff0c;从三个角度解释线…...

Java导出带图片的Excel

使用easypoi导出带图片的Excel&#xff0c; 引入依赖 依赖中着重要剔除可能会造成冲突的依赖&#xff0c;不剔除的话可能会报错 Exception in thread “main” java.lang.NoSuchFieldError: Class org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook does not …...

Keysight万用表使用指南及基于Python采集数据生成Excel文件

文章目录 说明使用的库openpyxlpyvisa 代码说明效果展示参考代码 说明 本文介绍了 Keysight 34465A 的基本使用和 SCPI 指令设置&#xff0c;演示了使用 Python 的 PyVISA 库控制两台 34465A 同时采集数据的完整流程&#xff0c;包括设置采样参数、触发测量、读取数据、使用 O…...

HarmonyOS Next-DevEco Studio(5.0.2)无网络环境配置(详细教程)

开发者如果电脑处于完全无网环境&#xff0c;可以参考下面文档进行相关配置 DevEco Studio(5.0.2)开发环境一览&#xff1a; 工具版本DevEco Studio5.0.2openHarmonySDK14ohpm5.0.11node.js18.20.1hypium1.0.21 一、下载DevEco Studio&#xff08;5.0.2 Release&#xff09;…...

数字中国的建设之路:超聚变以“智算数能”四大密钥,共建智能体时代

文 | 智能相对论 作者 | 陈泊丞 即便是数字中国建设这样的宏大叙事&#xff0c;在长期的行业实践与业务聚焦之下&#xff0c;未来的发展路径也将会越来越清晰。日前&#xff0c;第八届数字中国建设峰会在福建拉开序幕&#xff0c;各大论坛、企业、机构、组织等纷纷围绕数字中…...

PageOffice在线打开word文件,并实现切换文件

本示例关键代码的编写位置&#xff0c;请参考“PageOffice 开发者中心-快速起步–开始 - 快速上手”里您所使用的开发语言框架的最简集成代码 注意 本文中展示的代码均为关键代码&#xff0c;复制粘贴到您的项目中&#xff0c;按照实际的情况&#xff0c;例如文档路径&#xff…...

Ubuntu 24.04 终端美化

参考文章&#xff1a;Ubuntu终端美化&#xff08;tabbyoh-my-zsh&#xff09;-Ubuntu系列03 有些步骤和 Ubuntu 24.04 不太适配&#xff0c;而且逻辑不太适合小白&#xff0c;故写此文。 1. 安装 Tabby 参考文章的 tabby 版本过老&#xff0c;如果在 Ubuntu 24.04 装会报一些依…...

python合并word中的run

在处理Word文档时&#xff0c;使用python-docx库可以读取文档中的段落&#xff0c;并将每个段落中的多个run合并为一个run。run对象用于表示段落中具有相同格式的文本部分。将多个run合并为一个run可以帮助简化文档结构&#xff0c;尤其是在格式一致的情况下。 以下是一个示例…...

微前端框架选型指南

微前端框架选型指南 一、写在前面 微前端架构为大型前端系统提供了分而治之的能力&#xff0c;不同团队可以独立开发、部署和维护各自的模块。然而&#xff0c;当前市面上存在多种微前端框架&#xff08;如 Qiankun、Wujie、micro-app、Hel、Emp 等&#xff09;&#xff0c;选…...

Tailwind CSS实战技巧:从核心类到高效开发

使用 Kooboo平台 训练实战技巧&#xff0c;无需配置安装&#xff0c;直接引入CDN就可以在线练习了&#xff01;具体操作流程&#xff1a;进入Kooboo后&#xff0c;选择创建空白站点 -> 站点开发 -> 控制面板 -> 页面 ->新建普通页面 -> 编写代码 一、核心布局类…...

C# 事件与委托

一、委托基础 1. 委托定义 委托是一种类型安全的函数指针&#xff0c;它允许将方法作为参数传递给其他方法。 // 声明一个委托类型 public delegate void MyDelegate(string message);// 使用委托 public class Program {public static void Main(){// 创建委托实例并指向方…...

django_rq

使用 Loguru 记录 Django-RQ 任务日志 要在 Django-RQ 处理的任务中使用 Loguru 记录日志&#xff0c;你需要做的就是按照标准的 Loguru 使用方法配置和使用日志记录器。下面是一个简单的示例&#xff0c;展示如何在 Django-RQ 的任务中集成 Loguru&#xff1a; 安装必要的包…...

Java List分页工具

PageUtil.java import com.google.common.collect.Lists; import com.jd.platform.hotkey.dashboard.common.domain.Page; import org.springframework.util.CollectionUtils;import java.util.ArrayList; import java.util.List;public class PageUtil {/*** 通用分页工具类*…...

【UE5】“对不起,您的客户端未能传递登录所需的参数”解决办法

想要进入Epic账户&#xff0c;正常登录后就会弹出这个&#xff1a; 官方提供了一个解决办法&#xff1a; 如果以上办法行不通&#xff0c;关闭单点登录&#xff1a; 成功解决...

Web开发-JavaEE应用SpringBoot栈模版注入ThymeleafFreemarkerVelocity

知识点&#xff1a; 1、安全开发-JavaEE-开发框架-SpringBoot&路由&传参 2、安全开发-JavaEE-模版引擎-Thymeleaf&Freemarker&Velocity 一、演示案例-WEB开发-JavaEE-开发框架-SpringBoot&路由&传参 类似于php语言中的thinkphp&#xff0c;不过要更加…...

出现Invalid bound statement (not found)问题的原因可能有哪些

1.全局配置文件没配好&#xff1f; 检查全局配置文件application.properties或application.yml是否配置扫描mapper包的文件路径 #mybatis配置mapper文件路径 #mybatis.mapper-locationsclasspath:/mapper/*.xml #mybatis-plus配置mapper文件路径 mybatis-plus.mapper-locatio…...

多类型文件集中查看系统

软件介绍 Universal Viewer 是一款具备多格式兼容能力的文件查看工具&#xff0c;旨在为用户提供统一化的文档处理方案。 核心功能优势 该工具采用全格式兼容架构&#xff0c;支持包括图片、音视频及办公文档在内的多种通用文件类型&#xff0c;实现单一软件完成多格式处…...

WebSocket与Socket、TCP、HTTP的关系及区别

1.什么是WebSocket及原理 WebSocket是HTML5中新协议、新API。 WebSocket从满足基于Web的日益增长的实时通信需求应运而生&#xff0c;解决了客户端发起多个Http请求到服务器资源浏览器必须要在经过长时间的轮询问题&#xff0c;实现里多路复用&#xff0c;是全双工、双向、单套…...

【25软考网工】第四章(4)无线局域网WLAN安全技术、无线个人网WPAN

目录 一、无线局域网安全技术 1. WLAN安全机制 ​编辑 1&#xff09;SSID访问控制 2&#xff09;物理地址过滤 3&#xff09;WEP认证和加密 4&#xff09;WPA&#xff08;认证、加密、数据完整性&#xff09; 5&#xff09;WPA2 6&#xff09;无线认证技术 2. WEP和W…...

Vue:el-table-tree懒加载数据

目录 一、出现场景二、具体使用三、修改时重新加载树节点四、新增、删除重新加载树节点 一、出现场景 在项目的开发过程中&#xff0c;我们经常会使用到表格树的格式&#xff0c;但是犹豫数据较多&#xff0c;使用分页又不符合项目需求时&#xff0c;就需要对树进行懒加载的操…...

JCRQ1河马算法+消融实验!HO-CNN-LSTM-Attention系列四模型多变量时序预测,作者:机器学习之心

JCRQ1河马算法消融实验&#xff01;HO-CNN-LSTM-Attention系列四模型多变量时序预测 目录 JCRQ1河马算法消融实验&#xff01;HO-CNN-LSTM-Attention系列四模型多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于HO-CNN-LSTM-Attention、CNN-LSTM-Attent…...

vue elementui 去掉默认填充 密码input导致的默认填充

<el-form-item prop"code"><div style"display: flex; width: 100%; align-items: flex-end"><el-inputv-model"loginForm.code"size"small"auto-complete"off"placeholder"请输入验证码"keyup.en…...

Android学习总结之设计场景题

设计图片请求框架的缓存模块 核心目标是通过分层缓存策略&#xff08;内存缓存 磁盘缓存&#xff09;提升图片加载效率&#xff0c;同时兼顾内存占用和存储性能。以下是针对 Android 面试官的回答思路&#xff0c;结合代码注释说明关键设计点&#xff1a; 一、缓存架构设计&…...

【数学建模国奖速成系列】优秀论文绘图复现代码(四)

文章目录 引言三维图双轴图三维散点图完整复现代码 引言 数模比赛的绘图是非常重要得&#xff0c;这篇文章给大家分享我自己复现国奖优秀论文的代码&#xff0c;基于Matalab来实现&#xff0c;可以直接运行出图。之前的文章也有分享【折线图、柱状图、箱线图、热图】的绘制&am…...

哪些因素会影响远程视频监控的质量?浅述EasyCVR视频智能诊断技术

在安防领域&#xff0c;无线监控系统凭借其灵活部署、便捷扩展的特性得到广泛应用。然而&#xff0c;实时监控图像清晰度不足、回放调查受限等问题&#xff0c;严重制约了其应用效果。经分析&#xff0c;摄像机性能、线缆质量、无线网桥性能、交换机配置及供电电压等是影响图像…...

Android学习总结之算法篇六(数组和栈)

括号匹配 public static boolean isValid(String s) {// 创建一个栈用于存储左括号Stack<Character> stack new Stack<>();// 遍历字符串中的每个字符for (char c : s.toCharArray()) {if (c ( || c [ || c {) {// 如果是左括号&#xff0c;将其压入栈中stack…...

一套SaaS ERP管理系统源码,支持项目二开商用,SpringBoot+Vue+ElementUI+UniAPP

ERP管理系统源码&#xff0c;一款适用于小微企业的SaaS ERP管理系统源码, 采用最新的技术栈开发(SpringBootVueElementUIUniAPP)&#xff0c;让企业简单上云。 专注于小微企业的应用需求&#xff0c;如企业基本的进销存、询价&#xff0c;报价, 采购、销售、MRP生产制造、品质…...

【Agent】MCP协议 | 用高德MCP Server制作旅游攻略

note MCP (Model Context Protocol) 代表了 AI 与外部工具和数据交互的标准建立。MCP 的本质&#xff1a;它是一个统一的协议标准&#xff0c;使 AI 模型能够以一致的方式连接各种数据源和工具&#xff0c;类似于 AI 世界的"USB-C"接口。 它能够在 LLM/AI Agent 与外…...

ISO 26262认证步骤

一、企业需要做&#xff1f; 从 ISO 26262 标准导入到认证大概需要经历7 个主要的阶段&#xff0c; 分别是策划阶段、 流程建立阶段、 流程试运行阶段、 流程认证阶段、 流程推广阶段、 产品认证阶段和持续运行阶段。 策划阶段&#xff1a;精准布局差距分析&#xff1a;对照 I…...

php+mysql活动报名学生选课产品预定旅游报名系统网站源码

本系统是一个基于PHPMySQL的活动报名管理系统&#xff0c;支持多个活动的发布、报名、审核等功能。系统分为用户端和管理端两个部分&#xff0c;实现了活动报名的完整流程管理。 环境要求 ------- - PHP 7.1 - MySQL 5.6 - 支持mysqli扩展 - 支持session - 支持文件上传 默认账…...

Qt QWebEngine应用和网页的交互

一、QWebEngine简介 1、Qt WebEngine模块提供了一个Web浏览器引擎&#xff0c;可以轻松地将万维网上的内容嵌入到没有本机Web引擎的平台上的Qt应用程序中。 2、Qt WebEngine提供了用于渲染HTML&#xff0c;XHTML和SVG文档的C 类和QML类型&#xff0c;它们使用级联样式表&#…...

【爬虫】deepseek谈爬虫工具

2025 年&#xff0c;随着 Web 技术的演进和反爬机制的升级&#xff0c;工具生态也会进一步优化。以下是 2025 年爬虫 & 自动化测试的前沿工具预测&#xff0c;结合行业趋势和现有技术发展方向&#xff1a; &#x1f680; 2025 年推荐组合&#xff08;预测版&#xff09; 1…...

大数据治理自动化与智能化实践指南:架构、工具与实战方案(含代码)

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:从人治到机治,数据治理正在进化 随着数据体量持续膨胀、数据场景复杂化,传统依赖人工规则的大数据治理方式已难以为继。企业在治理过程中面临: 数据质量问题激增,人工检测成本高 元数…...

基于BM1684X+RK3588的智能工业视觉边缘计算盒子解决方案

智能工业视觉边缘计算终端技术方案书‌ ‌1. 产品概述‌ 1.1 产品定位 面向工业自动化场景的高性能AI视觉处理设备集成BM1684X&#xff08;8TOPS INT8&#xff09;AI加速芯片 RK3588&#xff08;6TOPS NPU&#xff09;异构计算支持工业级多相机接入、实时缺陷检测、高精度定…...

dubbo泛化调用时transient字段失效问题

工作中发现dubbo泛化调用时结果类中的某个字段即使已经用transient修饰了&#xff0c;但是前端还是会有该字段展示&#xff0c;探究了原因如下&#xff1a; 如果是走的泛化调用&#xff0c;会通过genericFilter和genericImplFilter两个类来处理序列化和反序列化&#xff0c;会…...