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

多模态模型详解

多模态模型是什么

        多模态模型是一种能够处理和理解多种数据类型(如文本、图像、音频、视频等)的机器学习模型,通过融合不同模态的信息来提升任务的性能。其核心在于利用不同模态之间的互补性,增强模型的鲁棒性和准确性。

如何融合多个模型

以下是多模态模型的融合方法及关键技术的详细解析:

一、多模态模型的核心概念

  1. 模态定义
    • 单模态:单一类型的数据(如纯文本或纯图像)。
    • 多模态:多种类型数据的组合(如“图像+文本”“音频+视频”)。
  2. 多模态模型的目标
    • 跨模态对齐(如将图像内容与文本描述关联)。
    • 互补信息利用(如通过音频的情感增强文本语义分析)。

二、多模态融合方法

多模态融合可分为不同阶段的策略,具体方法如下:

1. 早期融合(Early Fusion)
  • 定义:在输入或特征提取阶段直接合并不同模态的数据。
  • 技术
    • 特征拼接:将不同模态的特征向量拼接(如文本的BERT嵌入 + 图像的ResNet特征)。
    • 联合嵌入:通过投影矩阵将不同模态映射到同一空间(如CLIP的图像-文本对齐)。
  • 优点:捕捉低层交互,计算效率高。
  • 缺点:对数据对齐敏感,可能忽略高层语义关联。
  • 应用场景:简单分类任务、模态高度相关的场景。
2. 晚期融合(Late Fusion)
  • 定义:各模态独立处理,在决策层合并结果。
  • 技术
    • 加权平均:对不同模态的输出概率加权(如情感分析中文本权重更高)。
    • 投票机制:多数投票或集成学习(如随机森林结合多个单模态分类器)。
  • 优点:灵活处理模态缺失,适合异构模型。
  • 缺点:忽略模态间交互,可能损失互补信息。
  • 应用场景:多传感器数据融合、模态独立性强的任务。
3. 中间融合(Intermediate Fusion)
  • 定义:在模型中间层动态交互模态信息。
  • 技术
    • 跨模态注意力:如Transformer中的交叉注意力机制(ViLBERT中图像区域与文本词的交互)。
    • 门控机制:动态调整模态贡献(如LSTM中的门控单元融合多模态特征)。
  • 优点:平衡低层和高层交互,灵活性强。
  • 缺点:模型复杂度高,需大量训练数据。
  • 应用场景:视觉问答(VQA)、多模态翻译。
4. 混合融合(Hybrid Fusion)
  • 定义:结合早期、中期、晚期融合策略。
  • 示例:先通过早期融合提取联合特征,再用中间融合增强交互,最后用晚期融合输出结果。

三、典型多模态模型架构

  1. 双流网络

    • 每个模态独立处理(如图像用CNN,文本用RNN),在中间层融合(如Concatenate或注意力)。
    • 代表模型:CMU的Multimodal DBN。
  2. 基于Transformer的模型

    • 将不同模态嵌入为序列输入,通过自注意力机制交互。
    • 代表模型
      • CLIP:对比学习对齐图像-文本嵌入。
      • ViLBERT:在BERT基础上加入视觉模态,支持视觉-语言任务。
  3. 生成式模型

    • 利用生成对抗网络(GAN)或变分自编码器(VAE)生成跨模态数据。
    • 示例:文本生成图像(DALL-E)、语音驱动动画。

四、关键技术挑战

  1. 模态对齐:不同模态的时间/空间同步(如视频与字幕对齐)。
  2. 信息冗余与冲突:处理模态间重复或矛盾的信息。
  3. 模态缺失:鲁棒性设计(如测试时缺少某一模态)。
  4. 计算复杂度:多模态交互导致参数量剧增。

五、应用场景

  1. 视觉问答(VQA):结合图像和文本回答提问。
  2. 多模态情感分析:融合文本、语音和面部表情。
  3. 自动驾驶:激光雷达、摄像头、雷达数据融合。
  4. 医疗诊断:联合分析医学影像、电子病历和基因数据。

六、未来方向

  • 自监督学习:利用大规模无标注多模态数据预训练(如Facebook的Data2Vec)。
  • 动态融合:根据输入内容自适应调整融合策略。
  • 轻量化设计:减少计算开销(如知识蒸馏、模型剪枝)。

多模态模型通过有效融合不同模态信息,正在推动人工智能向更全面、更接近人类认知的方向发展。

自动驾驶的多模态模型是如何运作

自动驾驶的多模态模型通过整合多种传感器数据(如摄像头、激光雷达、雷达等),构建对环境的全面感知和决策能力。

车辆检测与避障场景

以下以车辆检测与避障场景为例,详细说明其运作流程及多模态融合方法:

一、多模态输入与传感器分工

自动驾驶车辆通常配备以下传感器:

  1. 摄像头:捕捉RGB图像,识别物体类别(如车辆、行人)、交通标志、车道线等。
  2. 激光雷达(LiDAR):生成3D点云,提供高精度距离和形状信息。
  3. 毫米波雷达:测量目标速度(多普勒效应),在雨雪雾天稳定工作。
  4. 超声波传感器:短距离探测(泊车场景)。

示例场景
车辆行驶中,前方出现一辆突然变道的卡车,需快速检测并决策避让。

二、多模态模型的运作流程

1. 数据预处理与特征提取
  • 摄像头数据

    • 输入:RGB图像(分辨率为1920×1080)。
    • 处理:使用CNN(如ResNet-50)提取图像特征,输出目标候选框(如YOLO检测结果)。
    • 输出:检测到“卡车”的2D边界框及置信度。
  • 激光雷达数据

    • 输入:点云(每秒约10万点,包含x/y/z坐标和反射强度)。
    • 处理:通过PointNet或VoxelNet提取3D特征,生成点云聚类。
    • 输出:卡车的3D边界框(位置、尺寸)及距离(如距离本车30米)。
  • 毫米波雷达数据

    • 输入:反射信号(距离、速度、方位角)。
    • 处理:滤波算法去除噪声,跟踪目标运动轨迹。
    • 输出:卡车速度为60 km/h,与本车相对速度-20 km/h(正在靠近)。
2. 多模态融合策略(中间融合为例)
  • 目标级融合
    将各模态的检测结果(2D框、3D框、速度)进行关联。

    • 数据对齐
      通过标定参数将摄像头图像坐标系与激光雷达点云坐标系对齐(如使用外参矩阵)。
    • 跨模态匹配
      利用匈牙利算法匹配摄像头检测的2D框和激光雷达的3D框(如图像中的卡车与点云中的3D框重叠)。
  • 特征级融合
    使用跨模态注意力机制动态整合特征:

    python

    # 伪代码示例:基于Transformer的跨模态注意力 
    image_features = CNN(image) 
    # 图像特征 [batch, H, W, C] 
    lidar_features = PointNet(lidar) 
    # 点云特征 [batch, N, D] 
    # 将图像特征展平为序列 
    image_sequence = reshape(image_features, [batch, H*W, C]) 
    # 跨模态注意力(图像作为Query,点云作为Key/Value) 
    cross_attention = MultiHeadAttention( query=image_sequence, key=lidar_features, value=lidar_features ) 
    # 融合后的特征用于目标检测 
    fused_features = concat(image_sequence, cross_attention) 
    output = DetectionHead(fused_features)

3. 决策与控制
  • 多模态输入的综合推理
    • 摄像头:确认目标为卡车(类别)。
    • 激光雷达:卡车距离30米,宽度3米(尺寸)。
    • 雷达:卡车以60 km/h靠近,相对速度-20 km/h(动态)。
  • 决策输出
    • 预测卡车未来2秒的轨迹(可能切入本车道)。
    • 规划模块生成避让路径(向左变道或减速)。
    • 控制模块调整方向盘和刹车力度。

三、多模态融合的优势

  1. 冗余性提升安全性
    • 若摄像头因强光失效,激光雷达和雷达仍可检测目标。
  2. 互补性增强精度
    • 激光雷达提供精确距离,摄像头补充语义信息(如区分卡车与公交车)。
  3. 适应复杂环境
    • 雷达在雨雾中可靠,激光雷达在夜间有效,摄像头识别交通信号。

四、典型案例:特斯拉的HydraNet

特斯拉采用多任务学习框架,通过单一神经网络处理多模态输入:

  1. 输入:8个摄像头+雷达(未用激光雷达)。
  2. 特征提取
    • 每个摄像头图像独立通过CNN提取特征。
    • 使用Transformer进行跨摄像头特征融合(“鸟瞰图”生成)。
  3. 输出
    • 目标检测、车道线预测、深度估计等多任务结果。
  4. 融合策略
    • 早期融合(图像拼接)+中间融合(跨摄像头注意力)。

五、挑战与解决方案

  1. 传感器时空同步
    • 硬件同步(如GPS时间戳)确保数据时间对齐。
  2. 模态冲突处理
    • 置信度加权(如摄像头检测到“停止标志”,但雷达未检测到车辆时,优先信任摄像头)。
  3. 计算效率优化
    • 模型压缩(如知识蒸馏)、硬件加速(专用AI芯片)。

总结

        自动驾驶多模态模型通过融合摄像头、激光雷达、雷达等数据,结合早期/中间/晚期融合策略,实现对环境的精准感知。例如,在检测前方卡车时,模型综合图像语义、点云距离和雷达速度,最终输出安全避让决策。这种多模态协作大幅提升了系统的鲁棒性和场景适应能力。

城市道路行人避让场景

自动驾驶的多模态模型通过整合多种传感器数据(如摄像头、激光雷达、雷达、超声波等)和上下文信息(如高精地图、GPS),实现环境感知、决策规划和车辆控制。以下详细说明其运作过程:

一、传感器输入与数据预处理

自动驾驶车辆在行驶中实时收集多模态数据:
1. 摄像头:捕捉RGB图像(2D视觉信息),识别车道线、交通灯、行人、车辆等。
2. 激光雷达(LiDAR):生成3D点云数据,精确测量周围物体距离、形状和运动速度。
3. 毫米波雷达:检测远距离移动物体(如前方突然变道的车辆),不受雨雾影响。
4. 超声波传感器:近距离探测(泊车时避免碰撞)。
5. 高精地图与GPS:提供车道级定位和道路拓扑结构。

预处理步骤:
时间同步:对齐不同传感器的数据时间戳(如激光雷达和摄像头帧率不同)。
空间对齐:将摄像头图像、LiDAR点云统一到车辆坐标系(通过标定外参矩阵)。
去噪滤波:去除雷达误报点、LiDAR雨雾噪点等。

二、多模态融合与感知(以行人检测为例)

1. 单模态特征提取
摄像头:用CNN检测图像中的行人边界框(2D位置),提取纹理、颜色特征。
LiDAR:用点云分割网络(如PointPillars)提取行人3D轮廓和距离信息。
雷达:通过多普勒效应判断行人是否在移动(速度向量)。

2. 跨模态融合策略
采用中间融合(Intermediate Fusion),结合模态互补信息:
特征级融合:
将摄像头的2D边界框与LiDAR的3D点云通过投影矩阵关联,生成带深度信息的行人候选框。
用Transformer或注意力机制动态加权不同模态的特征(例如:雨雾天LiDAR置信度更高)。
目标级融合:
对摄像头、LiDAR、雷达的检测结果进行卡尔曼滤波或概率融合,输出最终行人位置、速度和轨迹预测。

示例:  
当摄像头因逆光未能检测到阴影中的行人时,LiDAR的3D点云和雷达的移动物体检测可提供冗余信息,确保行人被准确识别。

三、决策与规划

1. 环境建模
BEV(Bird's Eye View)融合:将多模态感知结果投影到鸟瞰图,构建动态环境栅格地图。
行人位置、车辆、车道线等信息统一在BEV空间表达。
轨迹预测:用LSTM或GNN预测行人未来3秒的运动路径。

2. 行为决策
多模态输入:BEV地图 + 高精地图(路口结构) + 实时定位(GPS/IMU)。
强化学习/规则引擎:判断是否需刹车、转向或保持车道。
例如:若行人轨迹与自车路径重叠概率>90%,触发紧急制动。

四、控制执行

多模态反馈:规划路径(轨迹) + 车辆状态(速度、方向盘角度)。
PID/模型预测控制(MPC):调整油门、刹车和转向,平滑执行避让动作。

五、实例流程总结

场景:车辆以40km/h行驶,右侧突然有行人闯入车道。  
1. 感知层:
    摄像头:检测到右侧模糊移动物体(置信度60%)。
    LiDAR:点云显示1.5米高处有密集点(行人特征,置信度85%)。
     雷达:检测到横向移动目标,速度3m/s(置信度90%)。
     融合结果:确认行人正在横穿车道,距离车辆10米,2秒后可能发生碰撞。

2. 决策层:
   BEV地图显示左侧有对向车道,右侧为路沿,无法绕行。
   决策系统计算刹车力度:需在1.5秒内减速至20km/h。

3. 控制层:
   电子稳定系统(ESP)和电机控制器协同工作,实现平稳制动。

六、关键技术挑战与解决方案
1. 模态冲突(如摄像头和LiDAR检测结果不一致):
   解决方案:基于环境条件动态调整置信度权重(如雨天降低摄像头权重)。

2. 实时性要求:
   解决方案:硬件加速(如特斯拉FSD芯片、NVIDIA DRIVE Orin)和轻量化模型(如MobileNet)。

3. 极端场景泛化(如夜间+暴雨):
   解决方案:多模态数据增强(模拟雨雾点云、低光照图像)和对抗训练。

七、典型应用案例

Waymo:使用LiDAR+摄像头+雷达+高精地图,通过中间融合实现360°感知。
特斯拉FSD:以纯视觉(8摄像头)为主,通过BEV+Transformer融合多视角图像,模拟3D感知。
Mobileye EyeQ5:多模态融合芯片,支持摄像头、雷达、LiDAR的异构计算。

总结

自动驾驶的多模态模型通过跨模态特征互补和时空对齐,显著提升系统鲁棒性。其核心在于:
1. 冗余设计:多传感器互为备份,避免单点故障。
2. 动态融合:根据场景需求选择最优融合策略。
3. 端到端优化:从感知到控制的全局协同。  
未来方向包括神经辐射场(NeRF)提升3D重建精度、具身智能实现更拟人化决策。

相关文章:

多模态模型详解

多模态模型是什么 多模态模型是一种能够处理和理解多种数据类型(如文本、图像、音频、视频等)的机器学习模型,通过融合不同模态的信息来提升任务的性能。其核心在于利用不同模态之间的互补性,增强模型的鲁棒性和准确性。 如何融合…...

Unity3D实现显示模型线框(shader)

系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、效果展示👉二、第一种方式👉二、第二种方式👉壁纸分享👉总结👉前言 在 Unity 中显示物体线框主要基于图形渲染管线和特定的渲染模式。 要显示物体的线框,通常有两种常见的方法:一种是利用内置的渲染…...

【实测】用全志A733平板搭建一个端侧Deepseek算力平台

随着DeepSeek 的蒸馏技术的横空出世,端侧 SoC 芯片上运行大模型成为可能。那么端侧芯片跑大模型的效果如何呢?本文将在全志 A733 芯片平台上部署一个 DeepSeek-R1:1.5B 模型,并进行实测效果展示。 端侧平台环境 设备:全志A733平板…...

新数据结构(7)——Object

Object类是所有类的父类,在 Java 中,每个类都直接或间接地继承自Object类,也就是说所有类都是object类的子类可以使用Object里的方法。 equals()和hashCode()是Java中Object类所包含的两个关键方法,下面将介绍两个方法。 和equa…...

数据结构-栈和队列的应用

目录 前言一、栈的应用(迷宫问题)1.1 问题描述1.2 算法选择1.3 算法精化1.4 算法实现1.5 问题结果 二、队列的应用(农夫过河问题)2.1 问题描述2.2 算法选择2.3 算法精化2.4 算法实现2.5 问题结果 总结 前言 本篇文章使用两个例子…...

【JavaScript】异步编程汇总

异步编程解决方案: 回调函数PromiseGeneratorawait / async 回调函数 回调函数是早期处理异步编程的主要方式,虽然它本身存在很多的缺陷,比如那个时候对于复杂的异步处理常常会出现回调地狱。 但是因为 JavaScript 中当时并没有很好的API来帮…...

【AI系列】从零开始学习大模型GPT (2)- Build a Large Language Model (From Scratch)

前序文章 【AI系列】从零开始学习大模型GPT (1)- Build a Large Language Model (From Scratch) Build a Large Language Model 背景第1章:理解大型语言模型第2章:处理文本数据第3章:编码Attention机制什么是Attention机制?Attention机制的基本原理数学表示应用总结为什么要…...

动态规划——路径问题②

文章目录 931. 下降路径最小和算法原理代码实现 64. 最小路径和算法原理代码实现 174. 地下城游戏算法原理代码实现 931. 下降路径最小和 题目链接:931. 下降路径最小和 算法原理 状态表示: 经验题目要求:dp[i][j]表示到达[i,j]位置时&…...

【每日关注】科技圈重要动态

时代新动态 2025 年 2 月 12 日科技圈重要动态总结全球 AI 治理新进展巴黎 AI 宣言签署,美英缺席 科技巨头合作与竞争苹果联姻阿里开发中国版AI功能DeepSeek生态持续扩展OpenAI拒绝马斯克收购,矛盾公开化 汽车行业动态小米汽车销量跃居新势力第二比亚迪智…...

Postgresql的三种备份方式_postgresql备份

这种方式可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。它会产生一个脚本文件,里面包含备份开始时,已创建的各种数据库对象的SQL语句和每个表中的数据。可以使用数据库提供的工具pg_dumpall和pg_dump来进行…...

Linux 配置 MySQL 定时自动备份到另一台服务器

Linux 配置 MySQL 定时自动备份到另一台服务器这里写自定义目录标题 前言1、配置服务器通信1.1:配置过程 2、编写自动备份sh脚本文件3:设置定时自动执行 前言 此方案可使一台服务器上的 MySQL 中的所有数据库每天 0 点自动转储为 .sql 文件,…...

CCF-GESP 等级考试 2024年6月认证C++二级真题解析

2024年6月真题 一、单选题(每题2分,共30分) 正确答案:C 考察知识点:计算机基础与编程环境 解析:CCF 组织的 GESP 认证考试第 1 级可选择的认证语言有 Scratch、Python、C ,共 3 种。答案为C。 …...

vm虚拟机的一些操作命令

PowerShell命令 // 获取虚拟机列表: get-vm // 创建虚拟机: new-vm -Name "BrioDev75" -MemoryStartupBytes 16GB -Path "D:\Hyper-V" // 删除虚拟机: remove-vm -Name "BrioDev75" -Force (-Force参数是…...

sql难点

一、 假设你有一个查询&#xff0c;需要根据 id 是否为 null 来动态生成 SQL 条件&#xff1a; xml复制 <select id"getResources" resultType"Resource">SELECT * FROM resources<where><if test"id ! null">and id <!…...

【多模态大模型】系列1:Transformer Encoder——ViLT、ALBEF、VLMO

目录 1 ViLT2 ALBEF3 VLMO 1 ViLT ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision 图文多模态任务&#xff0c;关键是提取视觉特征和文本特征&#xff0c;然后对齐。在之前的多模态研究工作中&#xff0c;视觉侧通常需要一个目标检测器来…...

2.4 测试数据与初始化

测试数据与初始化 在 Spring Test 中&#xff0c;合理管理测试数据的初始化和清理是保证测试可靠性的关键。本章将介绍多种数据准备方式&#xff0c;涵盖 SQL 脚本执行、编程式初始化 和 动态数据生成&#xff0c;并提供最佳实践示例。 1. 使用 Sql 执行 SQL 脚本 作用 在测…...

DataBase【MySQL基础夯实使用说明(中)】

MySQL数据库 &#x1f3c6;当领导问你忙不忙&#xff0c;您怎么回复&#xff1f; &#x1f514;要让领导知道你很忙&#xff0c;但是你的事情紧急&#xff0c;我可以优先处理&#xff01; 文章目录 MySQL数据库前言一、SQL&#xff08;Structured Query Language&#xff09;1…...

Unity3D Shader 简析:变体与缓存详解

引言 在 Unity3D 中&#xff0c;Shader 是渲染管线的核心部分&#xff0c;负责控制物体的外观和材质表现。Shader 的变体&#xff08;Variants&#xff09;和缓存机制是优化渲染性能的关键。本文将深入探讨 Unity3D 中 Shader 变体的概念、缓存机制以及如何通过代码实现和管理…...

vuex基础介绍

/store/index.js import Vue from vue import Vuex from vuexVue.use(Vuex)/*** 创建并导出一个 Vuex 仓库实例* 仓库是一个存储应用所有状态的容器&#xff0c;并且提供了修改和获取状态的方法*/ export default new Vuex.Store({// state 是一个对象&#xff0c;用于存储应…...

OpenWRT中常说的LuCI是什么——LuCI介绍(一)

我相信每个玩openwrt的小伙伴都或多或少看到过luci这个东西&#xff0c;但luci到底是什么东西&#xff0c;可能还不够清楚&#xff0c;今天就趁机来介绍下&#xff0c;openwrt中的luci&#xff0c;到底是个什么东西。 什么是LuCI&#xff1f; 首先&#xff0c;LuCI是OpenWRT中…...

singleTaskAndroid的Activity启动模式知识点总结

一. 前提知识 1.1. 任务栈知识 二. Activity启动模式的学习 2.1 standard 2.2 singleTop 2.3.singleTask 2.4.singleInstance 引言&#xff1a; Activity作为四大组件之一&#xff0c;也可以说Activity是其中最重要的一个组件&#xff0c;其负责调节APP的视图&#xff…...

DeepSeek-V3 技术报告

1.摘要 为了减少开源模型与闭源模型的能力差距&#xff0c;我们提出了DeepSeek-V3&#xff0c;一个大的混合专家模型&#xff08;Mixture-of-Experts (MoE) &#xff09;&#xff0c;有6710亿参数&#xff0c;每个token会激活370亿参数。 DeepSeek-V3采用多头隐注意力&#xf…...

Vue 3 30天精进之旅:Day 22 - 构建和部署

欢迎回来&#xff01;在我们的Vue 3学习旅程的第22天&#xff0c;我们将探讨应用的构建和部署。在完成了我们的应用开发后&#xff0c;下一步就是如何将其部署到服务器&#xff0c;使得用户可以访问。 1. 构建Vue应用 构建Vue应用是将我们在本地开发的代码打包成生产环境可用…...

Ansible中Playbook的逻辑控制语句-when

playbook的逻辑控制语句 when 条件判断语句&#xff0c;类似if loop 循环语句&#xff0c;类似loop block 将几个任务组成一个代码块&#xff0c;便于针对一组操作的异常进行处理 when的基本用法 when的运算符操作 when关键字可以配合各种运算符进行操作&#xff0c;如下&…...

制造业物联网的十大用例

预计到 2026 年&#xff0c;物联网制造市场价值将达到 4000 亿美元。实时收集和分析来自联网物联网设备与传感器的数据&#xff0c;这一能力为制造商提供了对生产流程前所未有的深入洞察。物联网&#xff08;IoT&#xff09;有潜力彻底改变制造业&#xff0c;使工厂能够更高效地…...

InfiniBand与IP over InfiniBand(IPOIB):实现高性能网络通信的底层机制

在现代高性能计算(HPC)和数据中心环境中,网络通信的效率和性能至关重要。InfiniBand(IB)作为一种高性能的串行计算机总线架构,以其低延迟、高带宽和高可靠性而广泛应用于集群计算和数据中心。IP over InfiniBand(IPOIB)则是在InfiniBand网络上实现IP协议的一种方式,它…...

【通俗易懂说模型】一篇弄懂几个经典CNN图像模型(AlexNet、VGGNet、ResNet)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;深度学习_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …...

机器学习 | scikit-learn中分块拟合vs一次性拟合所有数据

Scikit-learn是一个广泛使用的机器学习Python库&#xff0c;提供了一系列分类、回归、聚类等算法。机器学习的关键挑战之一是处理无法一次性放入内存的大型数据集。本文探讨了使用scikit-learn将数据分块拟合与一次性拟合的策略&#xff0c;讨论了每种方法的优点和局限性。 大…...

两个同一对象targetList和 sourceList 去重

我现在需要解决的问题是从一个Java的源列表`sourceList`中移除所有在目标列表`targetList`中存在的数据,并且还要去除`targetList`中的重复数据。让我先理清楚这两个问题的思路。 首先,如何快速从`sourceList`中移除含有`targetList`的数据。这里的“含有”应该是指两个列表中…...

小游戏源码开发之可跨app软件对接是如何设计和开发的

专业小游戏开发的团队往往会面临跨领域和不同平台客户需要追加同一款游戏的需求&#xff0c;所以就要设计和开发一款可任意对接不同 App 软件的小游戏&#xff0c;那么针对这类需求小游戏开发团队早已有了成熟的解决方案&#xff0c;针对设计和开发可跨平台游戏对接大概流程简单…...

掌握正则表达式_模式匹配的艺术

当然,以下是《掌握正则表达式:模式匹配的艺术》文章内容,使用 Java 正则表达式,并包含丰富的代码示例: 1. 引言 1.1 正则表达式的定义与历史 正则表达式(Regular Expression,简称 regex 或 regexp)是一种用于描述文本模式的强大工具。它最初由数学家 Stephen Kleene…...

FacePoke详细使用指南:如何利用开源AI工具优化照片人物表情

文章目录 前言1. 本地使用FacePoke1.1 整合包方式安装1.2 Docker方式部署 2. FacePoke功能演示3. 公网使用FacePoke3.1 创建远程连接公网地址 4. 固定远程访问公网地址 前言 在数字创意的世界里&#xff0c;一款名为FacePoke的工具正以其风趣而强大的功能吸引着无数创作者的目…...

本地部署【LLM-deepseek】大模型 ollama+deepseek/conda(python)+openwebui/docker+openwebui

通过ollama本地部署deepseek 总共两步 1.模型部署 2.[web页面] 参考官网 ollama:模型部署 https://ollama.com/ open-webui:web页面 https://github.com/open-webui/open-webui 设备参考 Mac M 芯片 windows未知 蒸馏模型版本:deepseek-r1:14b 运行情况macminim2 24256 本地…...

分发饼干(力扣455)

从这道题开始我们就进入贪心算法的学习了。这个算法没有固定的套路&#xff0c;甚至题目之间的联系也很少&#xff0c;基本上每一道题都要当新题来写。我们能做的只有见多识广&#xff0c;这样才有机会在考试中根据以往经验解决贪心的题目。贪心的本质上就是找到局部最优解&…...

信息收集-主机服务器系统识别IP资产反查技术端口扫描协议探针角色定性

知识点&#xff1a; 1、信息收集-服务器系统-操作系统&IP资产 2、信息收集-服务器系统-端口扫描&服务定性 一、演示案例-应用服务器-操作系统&IP资产 操作系统 1、Web大小写(windows不区分大小写&#xff0c;linux区分大小写) 2、端口服务特征(22就是linux上的服…...

建筑兔零基础自学python记录18|实战人脸识别项目——视频检测07

本次要学视频检测&#xff0c;我们先回顾一下图片的人脸检测建筑兔零基础自学python记录16|实战人脸识别项目——人脸检测05-CSDN博客 我们先把上文中代码复制出来&#xff0c;保留红框的部分。 ​ 然后我们来看一下源代码&#xff1a; import cv2 as cvdef face_detect_demo(…...

vue-点击生成动态值,动态渲染回显输入框

1.前言 动态点击生成数值&#xff0c;回显输入框&#xff0c;并绑定。 2.实现 <template><div style"display:flex;align-items: center;flex-direction:row"><a-input:key"inputKey"v-model"uploadData[peo.field]"placehold…...

Idea 插件 Quickly-Code-Toolkit

使用说明 &#xff08;一&#xff09;全局设置 Paging Wrapper Setting&#xff08;分页设置&#xff09; 功能&#xff1a;主要用于在方法写入时&#xff0c;为返回参数提供分页包装类。设置方式&#xff1a;需准确填写分页包装类的全限定名&#xff0c;例如&#xff1a;com…...

fun-transformer学习笔记-Task1——Transformer、Seq2Seq、Encoder-Decoder、Attention之间的关系

Transformer、Seq2Seq、Encoder-Decoder、Attention由这四者之间的关系可以从模型架构的发展脉络来理解&#xff1a; Seq2Seq 与 Encoder–Decoder 模型 “Seq2Seq”&#xff08;sequence‐to‐sequence&#xff09;是一类用于将一个变长序列映射为另一个变长序列的任务&#x…...

使用瑞芯微RK3588的NPU进行模型转换和推理

使用边缘设备进行算法落地时&#xff0c;通常要考虑模型推理速度&#xff0c;NVIDA系列平台可以使用TensorRT和CUDA加速&#xff0c;瑞芯微RK3588的板子上都是Arm的手机GPU&#xff0c;虽然没有类似CUDA的加速计算方式&#xff0c;但是提供了NPU进行加速推理&#xff0c;本文说…...

mysql读写分离与proxysql的结合

上一篇文章介绍了mysql如何设置成主从复制模式&#xff0c;而主从复制的目的&#xff0c;是为了读写分离。 读写分离&#xff0c;拿spring boot项目来说&#xff0c;可以有2种方式&#xff1a; 1&#xff09;设置2个数据源&#xff0c;读和写分开使用 2&#xff09;使用中间件…...

Vue笔记(九)

一、文章分类架子--PageContainer 学习PageContainer组件的封装&#xff0c;这一组件用于搭建页面基础结构&#xff0c;为后续内容展示提供统一布局。它可能包含通用的页面样式、导航栏、侧边栏等基础元素的结构搭建。 在Vue组件中&#xff0c; <template> 标签内定义基础…...

YOLO11框架使用

YOLO11 1. Frame Understanding2. What can YOLO11 do?3.如何训练自己数据集?3.1 配置环境3.2 制作自己数据集3.3 配置文件3.3.1 数据集配置文件3.3.2 网络模块配置文件4.修改训练参数配置文件5. 训练脚本编写6.结果展示1. Frame Understanding 2. What can YOLO11 do? Ult…...

RK3588视觉控制器与AI 算法:开启工业视觉检测新境界

在实际应用中&#xff0c;工业相机拍摄产品的图像&#xff0c;RK3588 迅速接收并进行预处理。AI 算法随即对图像进行深入分析&#xff0c;提取特征并与预设的标准进行对比&#xff0c;从而准确判断是否存在缺陷。 例如&#xff0c;在电子元件生产线上&#xff0c;RK3588 和 AI…...

C语言基础入门:2.5基础输入输出

【C语言基础】输入输出完全指南&#xff1a;从printf到缓冲区安全 文章目录 【C语言基础】输入输出完全指南&#xff1a;从printf到缓冲区安全一、格式化输出艺术&#xff1a;printf函数详解二、scanf输入安全与缓冲区处理三、字符级交互&#xff1a;getchar与putchar实战程序员…...

压缩stl文件大小

1、MeshLab下载界面&#xff0c;从MeshLab下载适合自己系统的最新版本。 2、打开 MeshLab软件&#xff0c;将stl文件拖入其中。 3、 4、Percentage reduction参数即为缩放比例&#xff0c;根据自身想要将文件压缩到多大来。 然后点击apply 5、CtrlE弹出窗口保存文件后&…...

二、交换机的vlan子设备接入

一、交换机的vlan设置-CSDN博客 二、交换机的vlan子设备接入-CSDN博客 接上篇的文章&#xff0c;本文接入了子设备 网络结构如下&#xff1a; 用路由器A和POE交换机B代替第一篇中的笔记本电脑&#xff0c;路由器A和交换机B都关闭DHCP服务&#xff0c;并分别接入一个IPC&#…...

KEPServerEX 的接口类型与连接方式的详细说明

目录 一、KEPServerEX 核心架构 二、KEPServerEX 支持的接口类型 三、KEPServerEX 支持的连接类型 1. 通用工业协议 2. 品牌专属协议 3. 行业专用协议 4. 数据库与文件接口 四、配置示例 1. 接口配置&#xff08;以OPC UA为例&#xff09; 2. 连接配置&#xff08;以…...

Stack(栈)

定义&#xff1a;在Java编程语言中&#xff0c;栈(Stack)是一种非常重要的数据结构&#xff0c;具有后进先出的特性&#xff0c;即最后入栈的元素最先出栈。栈通常用于存储临时性的数据&#xff0c;如方法调用过程中的局部遍历、操作数栈等。 图像理解&#xff1a; 我们在这里要…...

【Vue3 Computed 与 Watch 维护对比】

让我们从开发体验和维护性的角度深入对比 computed 和 watch&#xff0c;通过具体场景分析它们的差异&#xff1a; 一、维护成本对比 1. 依赖管理差异 // 原始代码 const productFilter computed(() > {return products.value.filter((p) > p.price > minPrice.val…...