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

计算机视觉算法实战——实例分割算法深度解析

  ✨个人主页欢迎您的访问 ✨期待您的三连 ✨

 ✨个人主页欢迎您的访问 ✨期待您的三连 ✨

  ✨个人主页欢迎您的访问 ✨期待您的三连✨

​​​

​​​​​​​​​

一、实例分割领域概述

实例分割(Instance Segmentation)是计算机视觉领域中的一个重要任务,它结合了目标检测和语义分割的特点,不仅要识别图像中每个像素的类别(如语义分割),还要区分同一类别中的不同实例(如目标检测)。这一技术在自动驾驶、医学影像分析、机器人视觉、增强现实等领域有着广泛的应用前景。

与语义分割(Semantic Segmentation)相比,实例分割需要区分同类物体的不同个体;与目标检测(Object Detection)相比,实例分割提供了像素级的精确位置信息而非边界框。这使得实例分割成为计算机视觉中最具挑战性的任务之一。

实例分割的发展经历了几个关键阶段:早期的基于传统图像处理的方法,到基于深度学习的方法,再到现在的端到端解决方案。随着深度学习技术的进步,特别是卷积神经网络(CNN)和Transformer架构的发展,实例分割的性能得到了显著提升。

二、当前主流实例分割算法

当前实例分割领域的主要算法可以分为以下几类:

  1. 两阶段方法

    • Mask R-CNN (2017):最经典的实例分割算法,在Faster R-CNN基础上增加了一个分割分支

    • Cascade Mask R-CNN (2018):通过级联结构逐步优化检测和分割结果

    • HTC (2019):Hybrid Task Cascade,通过混合任务级联进一步提升性能

  2. 单阶段方法

    • YOLACT (2019):首个实时实例分割算法,通过原型掩码和系数预测实现

    • CenterMask (2020):基于CenterNet的单阶段实例分割方法

    • SOLO (2020):将实例分割视为分类问题,直接预测实例掩码

  3. 基于Transformer的方法

    • DETR (2020):首个使用Transformer的端到端目标检测算法

    • MaskFormer (2021):将实例分割视为掩码分类问题

    • Mask2Former (2022):改进的掩码分类框架,统一了语义、实例和全景分割

  4. 其他创新方法

    • PointRend (2020):将分割视为渲染问题,在边界区域进行点采样

    • CondInst (2020):动态生成实例特定的掩码头

    • K-Net (2021):通过可学习核进行实例分割

三、性能最佳算法:Mask2Former深度解析

在当前的实例分割算法中,Mask2Former表现尤为出色。它在多个基准测试(如COCO)上都达到了最先进的性能,同时统一了语义分割、实例分割和全景分割的任务框架。

基本原理

Mask2Former的核心思想是将分割任务统一为掩码分类问题:预测一组二进制掩码,每个掩码关联一个类别预测。其主要创新点包括:

  1. 掩码注意力机制:通过交叉注意力将像素特征与可学习查询(queries)关联

  2. Transformer解码器改进:使用多层自注意力和交叉注意力逐步优化查询

  3. 高效的高分辨率特征处理:采用多尺度特征和稀疏注意力降低计算成本

Mask2Former的架构主要包括:

  • 骨干网络(如Swin Transformer)提取多尺度特征

  • 像素解码器逐步上采样特征图

  • Transformer解码器处理可学习查询

  • 预测头输出类别和掩码

相比于前代MaskFormer,Mask2Former的主要改进在于:

  1. 替换标准的Transformer解码器为改进的掩码注意力解码器

  2. 使用优化的训练策略,如更长的训练计划

  3. 引入多尺度特征的高效处理机制

四、常用数据集及下载链接

实例分割研究常用的数据集包括:

  1. COCO (Common Objects in Context)

    • 最常用的实例分割基准数据集

    • 包含80个类别,超过33万张图像,其中20万张有标注

    • 下载链接:COCO - Common Objects in Context

  2. Cityscapes

    • 专注于城市街景的语义理解

    • 包含5000张精细标注和20000张粗略标注的图像

    • 下载链接:Cityscapes Dataset – Semantic Understanding of Urban Street Scenes

  3. PASCAL VOC

    • 包含20个类别的物体分割

    • 下载链接:The PASCAL Visual Object Classes Homepage

  4. ADE20K

    • 包含150个类别,用于场景解析

    • 下载链接:ADE20K dataset

  5. LVIS

    • 针对长尾分布的大规模实例分割数据集

    • 下载链接:LVIS

五、代码实现

以下是使用PyTorch实现Mask2Former的简化代码示例:

import torch
import torch.nn as nn
import torch.nn.functional as F
from torchvision.models import resnet50
from transformers import Mask2FormerConfig, Mask2FormerModelclass Mask2Former(nn.Module):def __init__(self, num_classes, hidden_dim=256, num_queries=100):super().__init__()# 骨干网络(这里使用ResNet50作为示例)self.backbone = resnet50(pretrained=True)self.feature_extractor = nn.Sequential(*list(self.backbone.children())[:-2])# Mask2Former配置config = Mask2FormerConfig(hidden_size=hidden_dim,num_queries=num_queries,num_labels=num_classes,mask_feature_size=hidden_dim,)self.mask2former = Mask2FormerModel(config)# 像素解码器(简化版)self.pixel_decoder = nn.Sequential(nn.Conv2d(2048, hidden_dim, 1),nn.GroupNorm(32, hidden_dim),nn.Conv2d(hidden_dim, hidden_dim, 3, padding=1),nn.GroupNorm(32, hidden_dim),)# 预测头self.class_predictor = nn.Linear(hidden_dim, num_classes + 1)self.mask_predictor = nn.Sequential(nn.Linear(hidden_dim, hidden_dim),nn.LayerNorm(hidden_dim),nn.Linear(hidden_dim, hidden_dim),nn.LayerNorm(hidden_dim),)def forward(self, x):# 提取特征features = self.feature_extractor(x)# 像素解码pixel_features = self.pixel_decoder(features)batch_size, _, height, width = pixel_features.shape# 准备Transformer输入inputs = {"pixel_values": x,"pixel_mask": torch.ones((batch_size, height, width), device=x.device),}# Mask2Former前向传播outputs = self.mask2former(**inputs,output_hidden_states=True,output_attentions=True,return_dict=True,)# 获取Transformer输出queries = outputs.last_hidden_state# 类别预测class_logits = self.class_predictor(queries)# 掩码预测mask_embeddings = self.mask_predictor(queries)mask_logits = torch.einsum("bqc,bchw->bqhw", mask_embeddings, pixel_features)return {"class_logits": class_logits,"mask_logits": mask_logits,"queries": queries,"auxiliary_outputs": outputs.auxiliary_outputs,}# 使用示例
if __name__ == "__main__":model = Mask2Former(num_classes=80)input_tensor = torch.randn(1, 3, 512, 512)outputs = model(input_tensor)print(f"Class logits shape: {outputs['class_logits'].shape}")print(f"Mask logits shape: {outputs['mask_logits'].shape}")

实际应用中,建议使用HuggingFace的Transformers库中提供的完整Mask2Former实现:

from transformers import Mask2FormerForUniversalSegmentationmodel = Mask2FormerForUniversalSegmentation.from_pretrained("facebook/mask2former-swin-small-coco-instance"
)

六、优秀论文及下载链接

  1. Mask R-CNN (2017)

    • Kaiming He et al. "Mask R-CNN"

    • 链接:[1703.06870] Mask R-CNN

  2. Mask2Former (2022)

    • Bowen Cheng et al. "Masked-attention Mask Transformer for Universal Image Segmentation"

    • 链接:[2112.01527] Masked-attention Mask Transformer for Universal Image Segmentation

  3. DETR (2020)

    • Nicolas Carion et al. "End-to-End Object Detection with Transformers"

    • 链接:[2005.12872] End-to-End Object Detection with Transformers

  4. YOLACT (2019)

    • Daniel Bolya et al. "YOLACT: Real-time Instance Segmentation"

    • 链接:[1904.02689] YOLACT: Real-time Instance Segmentation

  5. SOLOv2 (2020)

    • Xinlong Wang et al. "SOLOv2: Dynamic and Fast Instance Segmentation"

    • 链接:[2003.10152] SOLOv2: Dynamic and Fast Instance Segmentation

  6. Swin Transformer (2021)

    • Ze Liu et al. "Swin Transformer: Hierarchical Vision Transformer Using Shifted Windows"

    • 链接:[2103.14030] Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

七、具体应用场景

实例分割技术在多个领域有着广泛的实际应用:

  1. 自动驾驶

    • 精确识别和分割道路上的各种物体(车辆、行人、障碍物等)

    • 场景理解与语义地图构建

    • 特斯拉、Waymo等公司广泛应用

  2. 医学影像分析

    • 肿瘤检测与分割

    • 细胞实例分割与计数

    • 器官分割与三维重建

  3. 工业检测

    • 缺陷检测与定位

    • 产品计数与质量检查

    • 自动化生产线监控

  4. 增强现实(AR)

    • 精确的对象识别与交互

    • 虚拟物体与现实场景的精确融合

    • Snapchat、Instagram等应用的滤镜效果

  5. 机器人视觉

    • 物体抓取与操作

    • 环境理解与导航

    • 服务机器人的场景理解

  6. 视频监控与安防

    • 人群分析与计数

    • 异常行为检测

    • 智能交通监控

  7. 遥感图像分析

    • 建筑物分割与识别

    • 土地利用分类

    • 灾害评估

八、未来研究方向与改进方向

实例分割技术虽然取得了显著进展,但仍面临诸多挑战和未来发展方向:

  1. 效率与实时性

    • 开发更轻量级的模型,适用于移动设备和边缘计算

    • 优化推理速度,实现更高帧率的实时处理

  2. 小样本与弱监督学习

    • 减少对大量标注数据的依赖

    • 发展few-shot和zero-shot实例分割方法

  3. 三维实例分割

    • 从2D图像扩展到3D点云和体素数据

    • 开发统一的2D-3D实例分割框架

  4. 视频实例分割

    • 处理时间连续性的分割任务

    • 保持时序一致性,减少帧间抖动

  5. 开放世界与增量学习

    • 适应新类别的不断出现

    • 避免灾难性遗忘的增量学习策略

  6. 多模态融合

    • 结合RGB、深度、热成像等多源数据

    • 开发跨模态的实例分割方法

  7. 鲁棒性与泛化能力

    • 提高对光照变化、遮挡、噪声等干扰的鲁棒性

    • 增强模型在未见过的领域中的泛化能力

  8. 自监督与无监督学习

    • 探索不依赖人工标注的学习范式

    • 开发基于对比学习等自监督方法的分割技术

  9. 可解释性与可信AI

    • 提高模型决策的可解释性

    • 开发可靠、可信的实例分割系统

  10. 与生成模型的结合

    • 利用扩散模型等生成技术提升分割质量

    • 探索分割与生成的协同学习

随着技术的不断发展,实例分割将在更多领域发挥关键作用,同时也将与其他AI技术(如大语言模型)深度融合,推动计算机视觉技术的整体进步。

相关文章:

计算机视觉算法实战——实例分割算法深度解析

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​ ​​​​​​​​​ ​​ 一、实例分割领域概述 实例分割(Instance Segmentation)是计算机视觉领域中的一个重要任务,它…...

ARM分拣机vs传统PLC:实测数据揭示的4倍效率差

在苏州某新能源汽车零部件仓库,凌晨3点的分拣线上依然灯火通明。8台搭载ARM Cortex-A72处理器的智能分拣机正在以每秒3件的速度处理着形状各异的电池包组件,它们通过MES系统接收订单信息,自主规划最优路径,将不同规格的零部件精准…...

IDEA 中遇到 Git Log 界面不显示问题的解决方案

IntelliJ IDEA 中遇到 Git Log 界面不显示问题的解决方案。以下是根据文章内容整理的解决步骤: (我清理 IDEA 缓存后成功解决) 问题描述 在 IntelliJ IDEA 中,Git 的 Log 界面没有任何显示。其他选项和界面工作正常。使用命令行查询 Git 日…...

虚幻引擎UActorComponent的TickComponent详解

文章目录 前言一、TickComponent 的作用二、函数签名与参数三、 使用步骤1.启用 Tick2. 重写 TickComponent 四、实际示例:旋转组件4.1 头文件 URotatingComponent.h4.2 源文件 URotatingComponent.cpp4.3 使用组件 五、注意事项六、常见问题总结 前言 在虚幻引擎&…...

如何迁移 GitHub 仓库到 GitLab?

如何迁移 GitHub 仓库到 GitLab? 一、基础迁移方法(保留完整历史) 1.‌在 GitLab 创建空仓库 1.登录 GitLab 并新建项目,选择「空白项目」,‌不要初始化 README 或 LICENSE 文件 2.复制新建仓库的 HTTPS/SSH 地址&a…...

深入理解C++面向对象特性之一 多态

欢迎来到干货小仓库,堪比沙漠!!! 从“Hello World”到改变世界,中间隔着千万次再试一次. 1.多态的概念 多态的概念:通俗来说,就是多种形态, 具体点就是去完成某个行为,当不同的对象去完成时会 产生出不同的…...

linux下MMC_TEST的使用

一:打开如下配置,将相关文件编译到内核里: CONFIG_MMC_TEST CONFIG_MMC_DEBUG CONFIG_DEBUG_FS二:将mmc设备和mmc_test驱动进行绑定 2.1查看mmc设备编号 ls /sys/bus/mmc/drivers/mmcblk/mmc0:aaaa2.2将mmc设备与原先驱动进行解绑 echo mmc0:aaaa >...

数字人技术的核心:AI与动作捕捉的双引擎驱动(2/10)

摘要:数字人技术从静态建模迈向动态交互,AI与动作捕捉技术的深度融合推动其智能化发展。尽管面临表情僵硬、动作脱节、交互机械等技术瓶颈,但通过多模态融合技术、轻量化动捕方案等创新,数字人正逐步实现自然交互与情感表达。未来…...

Java Web从入门到精通:全面探索与实战(二)

Java Web从入门到精通:全面探索与实战(一)-CSDN博客 目录 四、Java Web 开发中的数据库操作:以 MySQL 为例 4.1 MySQL 数据库基础操作 4.2 JDBC 技术深度解析 4.3 数据库连接池的应用​ 五、Java Web 中的会话技术&#xff…...

从个人博客到电商中台:EdgeOne Pages的MCP Server弹性架构×DeepSeek多场景模板实测报告

什么是EdgeOne Pages? EdgeOne Pages 是腾讯云推出的一站式边缘开发与部署平台,基于全球边缘节点网络和 Serverless 架构,为开发者提供从代码托管到全球分发的全流程服务。其核心价值在于将边缘计算能力与现代 Web 开发范式深度融合&#xf…...

【C++】优先级队列+反向迭代器

priority_queue的介绍 通常用堆来实现,能在O(log n)的时间复杂度内插入和提取最高(或最低)优先级的元素。 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的(默认情况)。此…...

HOW - 缓存 React 自定义 hook 的所有返回值(包括函数)

目录 场景优化方案示例延伸例子:为什么这很重要?常见的请求 hook 封装优化前优化后优化点一览优化后的 useLoadData使用方式示例:优点回顾 场景 如果你写了一个自定义 Hook,比如 useMyHook(),它暴露出某些值或函数给外…...

AIDD-人工智能药物设计-网络药理学-多组学与网络药理学分析揭示龟龄集治疗少精症的机制

IF6.7|多组学与网络药理学分析揭示龟龄集治疗少精症的机制 2024年10月28日,海军军医大学张卫东教授团队在Phytomedicine(IF6.7)上发表了题为“Multi-omics and network pharmacology approaches reveal Gui-Ling-Ji alleviates oligoastheno…...

打破单一视角!融合红外和可见光,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 服务器&#xff…...

软考系统架构设计师之物联网与边缘计算笔记

一、物联网与边缘计算的核心概念 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响应式系统的简单实现

一、什么是副作用函数和响应式数据&#xff1f; 副作用函数&#xff1a; 可以产生副作用的函数&#xff0c;那么什么是副作用呢&#xff1f;举个栗子&#xff1a; let count 1function effect() {count }function fn() {if (count 1) {console.log(执行1)} else {console.l…...

超卖问题解决方案

目录 需求概述 系统需求 提升高并发吞吐量 解决超卖问题 解决方案分析 悲观锁与乐观锁 悲观锁 乐观锁 数据库行级锁 实现悲观锁&#xff08;排他锁&#xff09; 实现乐观锁 悲观锁&乐观锁 Redis分布式锁 Redis原子操作方案 方案分析 技术实现 通过MULTI事务…...

智享AI直播代理:零门槛掘金新风口

智享AI直播代理&#xff1a;零门槛掘金新风口 传统直播困局&#xff0c;AI破局而生 在电商与内容创业井喷的今天&#xff0c;传统直播模式却陷入“三高”泥潭——人力成本高、内容门槛高、运营风险高。一位主播单日直播超8小时即面临状态下滑&#xff0c;而多平台运营更需…...

在huggingface上制作小demo

在huggingface上制作小demo 今天好兄弟让我帮他搞一个模型&#xff0c;他有小样本的化学数据&#xff0c;想让我根据这些数据训练一个小模型&#xff0c;他想用这个模型预测一些值 最终我简单训练了一个小模型&#xff0c;起初想把这个模型和GUI界面打包成exe发给他&#xff0…...

Spring、Spring Boot和 Spring Cloud 的关系

Spring、Spring Boot和 Spring Cloud 的关系 Spring, Spring Boot 和 Spring Cloud 都是 Spring 生态系统中的重要组成部分&#xff0c;它们之间有紧密的关系&#xff0c;但各自有不同的定位和功能。下面是它们之间的关系和区别&#xff1a; 1、Spring Framework&#xff1a;…...

[蓝桥杯] 求和(C语言)

题目链接 P8772 [蓝桥杯 2022 省 A] 求和 - 洛谷 题目理解 这道题就是公式题&#xff0c;我们模拟出公式后&#xff0c;输出最终结果即可。 本题不难&#xff0c;相信很多同学第一次见到这道题都是直接暴力解题。 两个for循环&#xff0c;测试样例&#xff0c;直接拿下。 #in…...

从用户需求到产品迭代:Scrum 实践全流程详解

目录 前言1. 用户需求与产品待办列表的形成1.1 用户需求的来源与整理1.2 构建产品待办列表&#xff08;Product Backlog&#xff09; 2. 迭代计划与目标设定2.1 Sprint 的时间周期设定2.2 设定明确的 Sprint 目标 3. 开发执行与每日站会3.1 高效协作的开发过程3.2 每日站会&…...

windows10安装配置并使用Miniconda3

windows10安装配置并使用Miniconda3 Conda 与 Anaconda 的区别 Conda 是包管理和环境管理工具&#xff0c;Anaconda 在 Conda 的 基础上预装了大量科学计算包 Conda 与 pip 的区别 Conda 是跨语言的包和环境管理器&#xff08;支持 Python/R 等&#xff09;&#xff0c;能安…...

16-产品经理-需求的评审

在创建需求的时候&#xff0c;有一个"不需要评审"的复选框&#xff0c;如果选中该复选框的话&#xff0c;需求的创建成功后状态是激活的。 但大部分情况下面&#xff0c;需求还是需要评审的。 即使产品完全由一个人负责&#xff0c;也可以将一些不成熟的想法存为草…...

【java图形化界面编程】

文章目录 一、GUI简介二、Swing1.容器组件2. 布局管理器&#xff1a;BorderLayout3.代码实现 实验总结&#xff1a; 一、GUI简介 GUI&#xff1a;图形用户界面。通过图形用户界面&#xff0c;程序的输入输出可以脱离控制台JAVA中实现GUI主要使用3种技术&#xff1a;AMT&#x…...

BGP路由协议之属性1

公认属性是所有 BGP 路由器都必须能够识别的属性 公认必遵 (Well-known Mandatory) : 必须包括在每个 Update 消息里公认任意 (Well-known Discretionary) : 可能包括在某些 Update 消息里。 可选属性不需要都被 BGP 路由器所识别 可选过渡(OptionalTransitive) : BGP 设备不…...

架构思维: 数据一致性的两种场景深度解读

文章目录 Pre案例数据一致性问题的两种场景第一种场景&#xff1a;实时数据不一致不要紧&#xff0c;保证数据最终一致性就行第二种场景&#xff1a;必须保证实时一致性 最终一致性方案实时一致性方案TCC 模式Seata 中 AT 模式的自动回滚一阶段二阶段-回滚二阶段-提交 Pre 架构…...

压测工具开发实战篇(四)——client子窗口功能

你好&#xff0c;我是安然无虞。 文章目录 树控件添加文件补充学习: 函数定义中循环体里的局部变量补充学习: 动态添加对象属性 刷新文件上下文菜单 (右键菜单)实现右键菜单功能 编辑节点文本 在学习本篇文章之前, 建议先看一下上篇介绍MDI子窗口的文章: 压测工具开发实战篇(三…...

如何开发 HTML 游戏

开发 HTML 游戏适合初学者学习编程和游戏开发的基础知识。HTML 游戏通常结合了 HTML、CSS 和 JavaScript 技术&#xff0c;利用浏览器的渲染能力来实现交互式的游戏体验。 1. 确定游戏类型 在开始开发之前&#xff0c;你需要明确你的游戏类型。例如&#xff1a; 简单游戏&…...

机器学习 从入门到精通 day_01

1. 机器学习介绍与定义 1.1 机器学习定义 机器学习&#xff08;Machine Learning&#xff09;本质上就是让计算机自己在数据中学习规律&#xff0c;并根据所得到的规律对未来数据进行预测。 机器学习包括如聚类、分类、决策树、贝叶斯、神经网络、深度学习&#xff08…...

React中的跨组件通信

在React中&#xff0c;跨组件通信有几种常见的方式。每种方式适用于不同的场景&#xff0c;下面是几种常见的跨组件通信方法&#xff1a; 1. 通过父子组件传递 Props 父组件可以通过 props 将数据传递给子组件&#xff0c;子组件只能接收和使用这些数据。 父组件&#xff08…...

Vue项目 bug 解决

Vue2项目部署失败 从gitee 上拉下一个前端项目&#xff0c;然后npm install&#xff0c;报错如下&#xff1a; 解决办法&#xff1a; 从 npm切换到cnpm&#xff1a;npm install -g cnpm执行命令export NODE_OPTIONS--openssl-legacy-provider下载依赖&#xff1a;cnpm instal…...

Python 3.13.2 安装教程(附安装包)轻松开启编程之旅

文章目录 前言软件介绍安装步骤1. 下载安装包2. 运行安装程序3. 选择安装选项4. 等待安装完成5. 验证安装结果 前言 在数字化时代&#xff0c;Python 作为一种简洁、高效且功能强大的编程语言&#xff0c;广泛应用于 Web 开发、数据科学、人工智能等诸多领域。无论是编程新手入…...

Meta 最新发布的 Llama 4:多模态开源大模型全面解析

TL;DR 2025 年 4 月 5 日&#xff0c;Meta AI 正式发布了第四代大型语言模型 Llama 4。引入了 Mixture-of-Experts (MoE&#xff0c;专家混合) 架构&#xff0c;同时原生支持多模态输入&#xff0c;最小的 Llama 4 Scout 模型支持 10m 的长文本输入。 Paper name The Llama 4…...

Web开发:常用 HTML 表单标签介绍

在 Web 开发中&#xff0c;HTML 表单是实现用户交互的关键元素&#xff0c;它为用户提供了输入数据的途径&#xff0c;广泛应用于注册登录、搜索查询、问卷调查等功能场景。本文将详细介绍常用的 HTML 表单标签及其使用方法。 表单容器标签 <form> <form>标签用…...

力扣HOT100之链表:2. 两数相加

这道题就是按照正常的数学思维去做的&#xff0c;设置一个标志位flag用来标记进位的情况&#xff0c;当发生进位时设置为1&#xff0c;否则设置为0&#xff0c;初始时设置为0。我们同时遍历两个链表&#xff0c;将两个节点的值相加&#xff0c;再加上上一位的进位flag&#xff…...

Spring Boot 项目集成 License 授权与续期完整指南

一、背景说明 在 Spring Boot 项目中&#xff0c;通过引入第三方 spring-boot-starter-license 组件&#xff0c;可以快速实现系统权限到期控制、License 证书管理等功能。本文详细介绍如何集成 License 功能&#xff0c;并解决证书安装、权限配置、异常拦截及续期流程等关键问…...

2010年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析

2010年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析 全国大学生数学建模竞赛&#xff08;China Undergraduate Mathematical Contest in Modeling&#xff09;是国家教委高教司和中国工业与应用数学学会共同主办的面向全国大学生的群众性科技活动&#xff0c;目的在于激…...

典型的ETL使用场景与数据集成平台的应用

在当今数字化时代&#xff0c;数据已经成为企业决策和运营的核心资产。为了更好地管理和利用数据&#xff0c;企业需要借助高效的数据处理技术。ETL&#xff08;Extract&#xff0c;Transform&#xff0c;Load&#xff09;作为数据处理的核心技术之一&#xff0c;广泛应用于数据…...

深入解析嵌入式Linux系统架构:从Bootloader到用户空间 - 结合B站视频教学

B站视频链接,请多多关注本人B站&#xff1a; &#x1f4cc; Yocto项目实战教程&#xff1a;第二章 视频讲解 目录 第2章 Linux系统架构 2.1 GNU/Linux2.2 Bootloader2.3 内核空间2.4 用户空间 总结 第2章 Linux系统架构 {#linux系统架构} 嵌入式Linux系统是Linux内核的精简版…...