M3D: 基于多模态大模型的新型3D医学影像分析框架,将3D医学图像分析从“看图片“提升到“理解空间“的层次,支持检索、报告生成、问答、定位和分割等8类任务

M3D: 基于多模态大模型的新型3D医学影像分析框架,将3D医学图像分析从“看图片“提升到“理解空间“的层次,支持检索、报告生成、问答、定位和分割等8类任务

    • 论文大纲
    • 理解
      • 1. 确认目标
      • 2. 分析过程(目标-手段分析)
        • 核心问题拆解
      • 3. 实现步骤
      • 4. 效果展示
      • 5. 领域金手指
    • 结构分析
      • 1. 层级结构分析
        • 叠加形态(从基础到高级)
        • 构成形态(部分到整体)
        • 分化形态(能力分支)
      • 2. 线性结构分析(发展趋势)
      • 3. 矩阵结构分析
      • 4. 系统动力学分析
    • 观察和假设
      • 1. 关键观察
        • 不寻常现象
        • 变量分析
      • 2. 提出假设
        • 关于技术路线
        • 关于应用价值
      • 3. 验证分析
        • 直接证据
        • 间接证据
    • 数据分析
      • 第一步:数据收集
        • 原始数据
        • 评测数据
      • 第二步:规律挖掘
        • 数据特征
      • 第三步:相关性分析
        • 已知数据与未知数据的关联
      • 第四步:模型建立
        • 数学模型
        • 预测模型
      • 结论和应用
    • 解法拆解
      • 1. 逻辑拆解
        • 技术架构
        • 子解法拆解
      • 2. 逻辑结构
      • 3. 隐性方法分析
      • 4. 隐性特征分析
      • 5. 局限性分析
    • 全流程优化分析
        • 多题一解
        • 一题多解
      • 输入输出示例
    • 核心模式
      • 1. 原始信息分析
      • 2. 压缩策略
        • 空间维度压缩
        • 关键模式识别
      • 3. 无损压缩实现
        • 多尺度池化
        • 信息保留机制
      • 4. 压缩效果分析
        • 维度减少
        • 性能保持
      • 5. 智能体现
        • 发现的规律
    • 效果
      • M3D-LaMed模型在不同医学影像任务上的性能表现和对比结果
      • 图像检索与报告生成
      • 闭合式和开放式视觉问答
      • 定位和分割任务
      • 报告生成的对比
      • 封闭式视觉问答的对比
      • 开放式视觉问答的对比
      • 定位
      • 图像-文本检索的结果
      • 俩种分割任务上的定性分析结果
    • 提示词
      • VQA数据生成提示词
      • 表达分割数据生成提示词
      • VQA数据检查提示词
      • 模型评估提示词
      • 报告生成指令示例
      • 参考表达理解
      • 参考表达生成
      • 语义分割
      • 术语词典
    • 这个能做前列腺癌、乳腺癌分割检测吗?
    • 提问
      • 为什么传统的2D医学图像分析方法在处理3D图像时会遇到困难?
      • 医生是如何在脑海中构建3D图像的立体认知的?
      • 为什么说空间信息的压缩对于3D医学图像分析至关重要?
      • 在压缩过程中,如何确定哪些信息是关键的,哪些是冗余的?
      • 为什么需要将3D图像特征与语言模型对齐?
      • 评测系统中为什么需要包含8个不同任务?
      • 如何平衡模型的性能与实时性需求?
      • 该系统可能会对医生的工作方式产生什么影响?
      • 在实际应用中,该系统可能面临哪些挑战?
      • 文章声称使用了"3D空间池化感知器"来减少图像token数量,但这种池化是否会导致重要的3D空间信息丢失?如何在效率和精度之间取得平衡?
      • 在图2和表4中展示了5种问题类型的分布,但为什么"异常性"(Abnormality)类问题的准确率明显低于其他类型(66.65%相比其他类型的70-90%)?
      • 在多模态大语言模型训练中,论文使用了两阶段训练策略 - 先冻结视觉编码器和LLM只训练感知器,再全部解冻联合训练。这种策略的理论依据是什么?
      • 在生成数据集时使用了ChatGPT和Qwen-72B来产生问答对,声称准确率达到99.4%,但这个准确率是如何验证的?人工验证的样本量有多大?
      • 论文提出的M3D-Bench包含8个评估任务,但对于一些关键的临床任务(如病变进展跟踪、多时序比较)却没有涉及,这些限制是否影响模型的实际应用价值?
      • 在5.5节提到使用Dice作为分割评估指标,但对于不同类型和大小的器官,单一的Dice指标是否足够?为什么不考虑其他补充指标?
      • 论文使用了LLaMA2-7B作为基础模型,但相比其他可选的大模型(如GPT-4等),选择这个模型的具体原因是什么?是否做过相关对比实验?

 


论文:M3D: Advancing 3D Medical Image Analysis with Multi-Modal Large Language Models

代码:https://github.com/BAAI-DCAI/M3D

论文大纲

├── M3D研究【整体框架】
│      ├── 研究背景【问题背景】
│      │      ├── 医学场景包含大量多模态信息【现状】
│      │      └── MLLMs展现出优秀的多模态性能【技术基础】
│      ├── 研究挑战【技术难点】
│      │      ├── 现有研究主要关注2D医学图像【局限性】
│      │      └── 3D医学图像分析不足【缺口】
│      └── 研究贡献【创新点】
│             ├── M3D-Data数据集【数据贡献】
│             │      ├── 120K图文对【数据规模】
│             │      └── 662K指令-响应对【数据规模】
│             ├── M3D-LaMed模型【技术贡献】
│             │      ├── 支持多种3D医学任务【功能特点】
│             │      ├── 图像检索和报告生成【具体任务】
│             │      ├── 视觉问答和定位【具体任务】
│             │      └── 分割功能【具体任务】
│             └── M3D-Bench评测基准【评测贡献】
│                    ├── 覆盖8个任务【评测范围】
│                    └── 支持自动化评估【评测特点】
├── 技术方案【实现方法】
│      ├── 3D视觉编码器预训练【模型训练】
│      ├── 3D空间池化感知器【核心组件】
│      └── LLM微调【模型优化】
└── 实验验证【效果评估】
├── 图文检索性能【评估维度】
├── 报告生成质量【评估维度】
├── 视觉问答准确度【评估维度】
├── 定位任务效果【评估维度】
└── 分割任务精度【评估维度】

理解

医学影像诊断中的"维度之困"

想象一下,你正在玩一个3D积木拼图。

如果只能看到每块积木的平面照片(2D),拼出完整的立体作品会很困难。

医生在诊断时也面临类似的挑战——现有的人工智能系统主要处理平面医学图像,就像只能看照片一样,无法充分理解器官、病变的立体结构。

为什么这是个问题?

CT和核磁共振(MRI)这类医学检查会产生一系列切片图像,就像把面包切成片。

医生通过在脑海中"重建"这些切片,形成对患者内部器官的立体认知。

但目前的人工智能系统难以模仿这种思维过程,因为:

  1. 缺少足够的3D训练数据
  2. 模型不擅长处理体积数据
  3. 没有统一的评估标准

M3D:立体化突破

研究团队开发的M3D系统,首次实现了类似医生思维的立体分析能力。

它包含三个关键部分:

  • 丰富的3D医学数据库(12万组)
  • 能理解立体结构的AI模型
  • 全面的性能测试平台

举个例子:传统系统看到肺部CT时,需要一片片分析,容易错过病变之间的空间关联。而M3D系统能像医生一样,通过整体观察发现病变的立体分布规律,提供更准确的诊断建议。

这项突破意味着什么?

  • 对医生:提供更可靠的AI辅助诊断工具
  • 对患者:获得更精准的诊断结果
  • 对医疗发展:推动智能诊断从"平面"迈向"立体"

M3D的诞生,标志着医学AI迈入了一个新时代——从看图片到读立体,从局部到整体,真正开始接近人类医生的诊断思维方式。

1. 确认目标

主要目标:如何让AI系统实现对3D医学图像的高效分析和理解?

2. 分析过程(目标-手段分析)

核心问题拆解
  1. 数据问题:如何获取足够的3D医学图像训练数据?

    • 收集公开医学网站的CT数据
    • 构建M3D-Data数据集(12万图文对,66.2万指令对)
  2. 模型问题:如何让AI理解3D空间信息?

    • 设计3D视觉编码器
    • 开发3D空间池化感知器
    • 引入大语言模型实现多模态理解
  3. 评估问题:如何验证系统的性能?

    • 建立M3D-Bench评测基准
    • 覆盖8个关键医学任务
    • 支持自动化评估

3. 实现步骤

  1. 数据准备阶段

    • 收集3D CT数据和诊断报告
    • 构建图文对和指令对
    • 进行数据清洗和标注
  2. 模型开发阶段

    • 预训练3D视觉编码器
    • 实现空间信息压缩
    • 集成语言模型能力
  3. 评测验证阶段

    • 设计多维度评测标准
    • 进行对比实验
    • 验证系统效果

4. 效果展示

  • 目标:实现3D医学图像的智能分析
  • 过程:数据集构建→模型开发→系统评测
  • 问题:解决了3D数据缺乏、空间信息处理等难题
  • 方法:多模态大模型+3D空间理解
  • 结果:支持8类医疗任务,性能显著超越现有方案
  • 数字:12万图文对,66.2万指令对,评测通过率99.4%

5. 领域金手指

本文的金手指是"3D空间池化感知器"技术:

  1. 图像分析:压缩3D空间信息而保留关键特征
  2. 报告生成:整合空间信息生成诊断报告
  3. 问答系统:支持基于3D结构的医学问答
  4. 定位分割:精确定位病变区域

这个技术框架可以推广到其他3D图像分析场景:

  • 工业CT检测
  • 地质勘探
  • 建筑设计
  • 机器人视觉

通过这个框架,研究团队成功将3D医学图像分析从"看图片"提升到"理解空间"的层次,为医疗AI的发展开辟了新方向。

结构分析

1. 层级结构分析

叠加形态(从基础到高级)
顶层:智能诊断能力
  ↑
中层:多模态理解
  ↑
基层:3D空间处理
构成形态(部分到整体)
M3D整体系统
├── M3D-Data(数据基础)
│      ├── 12万图文对
│      └── 66.2万指令对
├── M3D-LaMed(模型核心)
│      ├── 3D视觉编码器
│      ├── 空间池化感知器
│      └── 语言模型组件
└── M3D-Bench(评测体系)
       ├── 8类任务评估
       └── 自动化评测

M3D-LaMed :

在这里插入图片描述

  1. 3D图像编码器预训练部分:
  • 使用图像-文本对进行跨模态对比学习
  • 实现图像-文本检索功能
  1. M3D-LaMed模型主体:
  • 3D医学图像输入到预训练的编码器
  • 通过3D空间池化感知器生成优化的嵌入
  • 使用LoRA微调的LLM处理文本
  • [SEG]标记用于触发分割模块生成3D掩码

这个模型可以执行多种3D医学任务:

  • 报告生成
  • 视觉问答(封闭式和开放式)
  • 定位(理解和生成参考表达)
  • 分割(语义分割和参考表达分割)
分化形态(能力分支)
核心能力
├── 空间理解
│      ├── 结构识别
│      └── 位置关系
├── 语义理解
│      ├── 报告生成
│      └── 问答对话
└── 专业分析
       ├── 病变检测
       └── 诊断建议

2. 线性结构分析(发展趋势)

过去 → 现在 → 未来
2D切片分析 → 3D整体分析 → 多模态智能诊断
单一任务 → 多任务支持 → 通用医疗AI
人工标注 → 半自动构建 → 自动化数据获取

3. 矩阵结构分析

维度/能力   基础处理    语义理解    专业诊断
数据层面    3D重建      文本匹配    病例库建设
模型层面    空间编码    多模态融合  诊断推理
应用层面    可视化      报告生成    辅助决策

4. 系统动力学分析

核心循环:
数据积累 → 模型优化 → 性能提升 → 应用扩展 → 更多数据

反馈环路:
正向:准确诊断 → 医生认可 → 更多使用 → 系统改进
负向:错误预测 → 及时纠正 → 模型更新 → 性能提升

通过这四种结构分析方法的组合,我们可以:

  1. 理解M3D系统的分层架构(层级结构)
  2. 预测技术发展方向(线性结构)
  3. 定位具体功能模块(矩阵结构)
  4. 把握系统动态特性(系统动力学)

通过这种分析框架,我们不仅理解了M3D系统"是什么",还理解了它"为什么这样设计"以及"将向何处发展"。

观察和假设

1. 关键观察

不寻常现象
  • 论文提到了"完整的3D医学图像分析生态系统",这是个异常宏大的目标
  • 使用了大语言模型来处理3D医学图像,这种组合比较罕见
  • 建立了一个包含8个任务的评测基准,远超一般研究的评测范围
变量分析

对比传统方法和M3D系统:

改变的因素:
-2D到3D的处理方式
- 从单一任务到多任务支持
- 从固定评测到自动化评测

保持不变的因素:
- 基础的医学图像数据来源
- 最终的诊断目标
- 医生的专业知识需求

2. 提出假设

关于技术路线

假设1:3D空间池化感知器是突破性创新

  • 原因:解决了3D信息压缩而不失真的难题
  • 验证:通过多任务性能测试证实

假设2:多模态融合是关键

  • 原因:结合了视觉理解和语言理解
  • 验证:在报告生成和问答任务中表现优异
关于应用价值

假设3:系统将改变医疗诊断流程

  • 原因:提供了全方位的3D分析能力
  • 验证:需要临床实践验证

3. 验证分析

直接证据
  • 性能指标:8类任务的优异表现
  • 数据规模:12万图文对的处理能力
  • 评测结果:99.4%的通过率
间接证据
  • 解决了历史难题(3D信息处理)
  • 建立了完整的评测体系
  • 提供了可扩展的框架

数据分析

第一步:数据收集

原始数据
  • 12万组3D医学图像-文本对
  • 66.2万组指令-响应对
  • 来自25个公开医学数据集的5772个3D CT扫描

两个主要的数据生成管道:

在这里插入图片描述

  1. VQA(视觉问答)数据生成管道:
  • 从医学图像-文本对数据集开始
  • 使用LLM从医疗报告生成问题和答案
  • 通过自过滤和LLM+专家检查实现99.4%的通过率
  • 最终生成高质量的问答对
  1. 定位和分割数据生成管道:
  • 通过三种方法构建图像-掩码-文本三元组:
    • 基于标签的指令生成
    • 基于定义的指令生成
    • 基于人工注释的指令生成
  • 可以直接从掩码生成定位任务所需的边界框坐标

M3D-VQA 数据集的统计信息:
在这里插入图片描述

  • 包含5种问题类型的分布情况:
    • 异常(35%)
    • 器官(19%)
    • 平面(19%)
    • 位置(16%)
    • 相位(11%)
  • 使用词云展示了每种类型的具体词频分布
  • “What”、"Which"和"Where"是三种典型的问题形式
评测数据
  • 8类医疗任务的性能指标
  • 模型在不同规模测试集上的表现
  • 通过率和准确率数据

第二步:规律挖掘

数据特征
  1. 数量规律
  • 数据规模与模型性能呈正相关
  • 任务种类越多,模型泛化能力越强
  1. 质量规律
  • 自动生成的数据需要99.4%的通过率才可用
  • 3D空间信息完整性对准确率影响显著
  1. 应用规律
  • 检索性任务准确率高于生成性任务
  • 简单任务表现优于复杂任务

第三步:相关性分析

已知数据与未知数据的关联
  1. 通过图像特征预测诊断结果
已知数据:3D图像的空间特征
未知数据:医生的诊断思维
关联方式:空间特征→语义理解→诊断推理
  1. 通过文本报告推断病变位置
已知数据:诊断报告文本
未知数据:病变的精确位置
关联方式:文本描述→空间定位→区域标注

第四步:模型建立

数学模型
  1. 3D空间编码模型
Input: 3D医学图像 I ∈ RC×D×H×W
Output: 图像嵌入 v = Eimg(I) ∈ Rn×d
转换关系: 空间池化感知器P(I) → 压缩特征
  1. 多模态融合模型
图像特征: v = Eimg(I)
文本特征: t = Etxt(T)
融合表示: F(v,t) = Attention(v,t)
预测模型
性能 = f(数据规模, 模型复杂度, 任务难度)
其中:
- 数据规模 ∝ log(准确率)
- 模型复杂度与计算成本成正比
- 任务难度与准确率成反比

结论和应用

  1. 数据规律
  • 数据量达到10万量级才能保证模型性能
  • 多任务训练能提升模型泛化能力
  1. 模型设计启示
  • 空间信息压缩是核心技术
  • 多模态融合是关键突破点
  • 自动化评测保证质量
  1. 实践指导
  • 优先保证数据质量
  • 注重空间信息完整性
  • 重视多模态融合能力

解法拆解

1. 逻辑拆解

技术架构
M3D = 3D视觉编码器 + 空间池化感知器 + 大模型

3D空间池化感知器架构图:
在这里插入图片描述
展示了处理3D医学图像数据的特殊架构设计:

  1. 输入处理流程:

    • 接收输入tokens
    • 重构为3D空间
    • 进行空间池化
    • 解构回序列形式
  2. 维度对齐:

    • 使用线性层或MLP投影层
    • 将序列tokens转换为与LLM相匹配的维度

这个架构设计的目的是既要保持3D空间信息,又要减少计算开销,使模型能更高效地处理3D医学图像数据。

子解法拆解
  1. 3D视觉编码器
  • 特征:3D医学图像包含丰富空间信息
  • 解法:采用3D Vision Transformer处理体积数据
  • 原因:能够保留空间连续性和结构信息
  1. 空间池化感知器
  • 特征:3D数据维度过高,难以直接输入语言模型
  • 解法:设计空间感知压缩机制
  • 原因:需要在压缩维度的同时保留关键空间信息
  1. 大模型集成
  • 特征:医学诊断需要专业知识理解和推理
  • 解法:使用LoRA微调LLaMA-2-7B
  • 原因:平衡了计算效率和模型性能

例子:在诊断肺部肿瘤时

输入:3D CT扫描
↓
3D编码:提取空间特征
↓
空间池化:压缩信息
↓
语言模型:生成诊断报告

2. 逻辑结构

决策树形式:
├── 输入层
│   └── 3D医学图像
├── 特征提取层
│   ├── 空间特征(3D编码器)
│   └── 语义特征(文本编码)
├── 信息融合层
│   ├── 空间压缩
│   └── 多模态对齐
└── 输出层
    ├── 诊断报告
    ├── 问答响应
    └── 区域定位

3. 隐性方法分析

  • 多任务协同学习:不同任务间的互相促进
  • 跨模态特征对齐:空间信息与语言表示的映射
  • 动态权重分配:根据任务类型调整特征重要性

4. 隐性特征分析

  • 特征冗余度:影响压缩效率
  • 空间连续性:影响区域定位准确性
  • 语义一致性:影响报告生成质量
  • 计算复杂度:影响实时性能

5. 局限性分析

  1. 技术局限
  • 计算资源需求高
  • 对数据质量依赖强
  • 3D数据预处理复杂
  1. 应用局限
  • 需要标准化的输入格式
  • 实时性能有待提升
  • 难以处理罕见病例
  1. 评估局限
  • 缺乏统一的评测标准
  • 临床验证不充分
  • 可解释性有限
  1. 数据局限
  • 数据集规模仍显不足
  • 标注成本高
  • 隐私保护问题

全流程优化分析

在这里插入图片描述

多题一解
  1. 共用特征:3D空间信息
  • 适用任务:检索、定位、分割
  • 共用解法:3D视觉编码器
  • 应用场景:需要空间理解的医学任务
  1. 共用特征:语义理解
  • 适用任务:报告生成、问答、检索
  • 共用解法:大语言模型
  • 应用场景:需要专业知识理解的任务
一题多解

以医学报告生成为例:

  1. 基于规则的方法
  • 特征:固定模板
  • 优点:稳定可控
  • 缺点:缺乏灵活性
  1. 基于深度学习
  • 特征:端到端训练
  • 优点:表达丰富
  • 缺点:需要大量数据
  1. 本文方法(多模态融合)
  • 特征:空间+语言双重理解
  • 优点:结合空间和语义信息
  • 缺点:计算复杂度高

输入输出示例

以肺部肿瘤诊断为例:

输入:
- 胸部CT 3D扫描
- 医生指令:"分析右肺是否存在肿瘤"

处理流程:
1. 3D编码:提取空间特征
2. 空间池化:压缩维度
3. 特征融合:结合指令理解
4. 多任务处理:
   - 定位肿瘤位置
   - 生成诊断报告
   - 回答具体问题

输出:
- 诊断报告:"在右肺上叶发现直径2.3cm的实性结节..."
- 区域定位:具体肿瘤位置的3D坐标
- 问答响应:"是的,右肺上叶存在疑似恶性肿瘤..."

核心模式

1. 原始信息分析

想象你有一摞照片(CT切片),需要看出人体内部结构:

  1. 原始数据太大
  • 一次扫描 = 256层 × 每层256×256像素
  • 就像一摞256张照片,每张都是256×256的大小
  • 直接处理这么大的数据很困难
  1. 但数据有规律
  • 相邻的片子差不多(比如都是肝脏部分)
  • 人体器官位置固定(比如心脏总在左边)
  • 组织特征有规律(比如骨头永远比肌肉密度大)
3D医学图像数据结构:
维度 = 通道数(C) × 深度(D) × 高度(H) × 宽度(W)
特点:
- 高维度:典型CT扫描可达 1×256×256×256
- 冗余大:相邻切片间差异小
- 关联强:空间连续性明显

2. 压缩策略

空间维度压缩
  1. 第一步:建立3D模型
一摞照片 → 3D立体图像
(就像把所有照片叠在一起)
  1. 第二步:智能压缩
找重要的留下:
- 器官边界要留
- 异常区域要留
- 相似的区域可以压缩
  1. 第三步:转换格式
3D信息 → 计算机能理解的格式
(压缩后数据量只有原来的1/256

 

输入:3D图像 I ∈ RC×D×H×W
输出:压缩特征 v ∈ Rn×d
其中:
n << D×H×W (token数显著减少)
d = 768 (对齐语言模型维度)
关键模式识别
  1. 空间连续性
  • 相邻区域高度相关
  • 可用较少采样点表示
  • 保留结构特征
  1. 解剖学规律
  • 器官位置相对固定
  • 组织密度分布规律
  • 病变特征模式化

3. 无损压缩实现

多尺度池化
步骤:
1. 空间重构:token序列 → 3D体素
2. 自适应池化:选择关键区域
3. 序列重构:压缩后的3D特征 → token序列
信息保留机制
保留项:
- 空间关系
- 密度分布
- 结构边界
- 异常特征

4. 压缩效果分析

维度减少
压缩比 = 输入维度/输出维度
      ≈ (256×256×256)/(256×768)256
性能保持
评测指标:
- 检索准确率维持
- 定位精度不降
- 分割质量稳定

本质上,M3D做到了:

  1. 理解CT图像的3D特征
  2. 抓住关键医学信息
  3. 去除重复冗余数据
  4. 保持诊断所需细节

5. 智能体现

发现的规律
  1. 空间模式
  • 器官形状特征
  • 病变分布规律
  • 组织密度变化
  1. 医学知识
  • 解剖学关系
  • 病理学特征
  • 诊断关键点

效果

M3D-LaMed模型能够:

  1. 准确理解3D医学图像内容
  2. 生成准确的医学描述和报告
  3. 回答各类医学相关问题
  4. 精确定位和分割感兴趣区域
  5. 在多个不同的医学影像任务上展现出强大的通用性能

M3D-LaMed模型在不同医学影像任务上的性能表现和对比结果

在这里插入图片描述

  • 比较了视觉编码器在冻结和解冻状态下对3D定位任务的影响
  • 展示了在REG(参考表达生成)和REC(参考表达理解)任务上的表现
  • 数据显示解冻视觉编码器能显著提升REG任务性能,尤其在IOU和准确率指标上

图像检索与报告生成

在这里插入图片描述

  • 展示了模型在图像-文本检索任务中的表现
  • 使用颜色标记来对比模型生成的内容与真实标注的匹配程度
  • 包含了不同等级(Rank 1-3)的检索结果,展示检索系统的排序能力
  • 在报告生成任务中对比了模型生成报告与标准答案和RadFM模型的生成结果

闭合式和开放式视觉问答

在这里插入图片描述

  • 展示了模型在图像-文本检索任务中的表现
  • 使用颜色标记来对比模型生成的内容与真实标注的匹配程度
  • 包含了不同等级(Rank 1-3)的检索结果,展示检索系统的排序能力
  • 在报告生成任务中对比了模型生成报告与标准答案和RadFM模型的生成结果

定位和分割任务

在这里插入图片描述

  • 展示了四种不同任务的表现:
    1. 参考表达理解:根据文本描述定位目标区域
    2. 参考表达生成:根据区域生成文本描述
    3. 语义分割:对特定器官进行分割
    4. 参考表达分割:根据自然语言描述进行分割
  • 使用绿色框/掩码表示真实标注,红色框/掩码表示模型预测结果

报告生成的对比

在这里插入图片描述

  • 比较了本模型(“Our”)与RadFM模型的报告生成质量
  • 使用相同颜色标注相似内容,不同颜色表示不同内容
  • 展示本模型能生成更接近标准答案的医学报告
  • 指出GPT-4V在生成医学诊断建议时存在局限性

封闭式视觉问答的对比

在这里插入图片描述

  • 比较了本模型与RadFM和GPT-4V在多选题形式问答中的表现
  • 涵盖了5种问题类型:平面、期相、器官、异常和位置
  • 显示本模型在选择题形式的医学问答中表现优异

开放式视觉问答的对比

在这里插入图片描述

  • 比较了三个模型在自由回答形式问题中的表现
  • 同样涵盖5种问题类型
  • 显示某些异常相关问题对GPT-4V仍具有挑战性,用"-"标记无法回答的情况

定位

在这里插入图片描述

  • 展示了两种定位任务:输出边界框和输入边界框
  • 绿色框表示真实标注,红色框表示模型预测
  • 展示了模型在理解医学图像空间位置关系方面的能力
  • 包括了对器官定位和描述的准确性评估

图像-文本检索的结果

在这里插入图片描述
展示了系统根据医学图像检索相关文本描述的能力

使用不同颜色标注相似内容,展示匹配的准确性

包括了多个等级(Rank 1-5)的检索结果,展示系统的排序能力

俩种分割任务上的定性分析结果

在这里插入图片描述

  1. 语义分割任务(上半部分):
  • 展示了模型对不同器官的分割能力,包括:
    • 肝脏分割
    • 食管分割
    • 胰腺分割
    • 右肾分割
    • 胆囊分割
    • 十二指肠分割
  1. 参考表达分割任务(下半部分):
  • 基于自然语言描述进行器官分割,包括:
    • 基于功能描述的右肾分割
    • 基于蛋白质合成功能的肝脏分割
    • 基于细胞增殖描述的肿瘤分割
    • 基于血管异常的主动脉分割
    • 基于男性生殖系统的前列腺分割

在所有可视化结果中:

  • 绿色掩码代表真实标注
  • 红色掩码代表模型预测结果
  • 结果显示模型在两种分割任务上都表现出很好的准确性

提示词

VQA数据生成提示词

你是一个可以分析单张CT图像的医学AI视觉助手。你会收到CT图像的文件名和医学诊断报告。该报告描述了图像中的多个异常病变。

任务是使用提供的CT图像和报告信息创建9个关于图像的合理问题。每个问题对应四个选项,这些问题来自以下5个方面:
1) 平面(轴向、矢状位、冠状位);
2) CT扫描期相(平扫、增强、动脉期、门静脉期、静脉期、延迟期、实质期、肾皮质期、双期、肾排泄期、动静脉混合期、脊髓造影等)或窗位(骨窗、肺窗等);
3) 器官;
4) 异常类型或描述;
5) 异常位置;

图像:{image_file_name} #提供关于平面和期相的基本信息
报告:{text} #提供详细的影像发现和诊断印象

期望格式:
1) 平面
问题1...? 选项:A. ... B. ... C. ... D. ... 答案:A. ...

2) CT期相
问题2...? 选项:A. ... B. ... C. ... D. ... 答案:A. ...

3) 器官
问题3...? 选项:A. ... B. ... C. ... D. ... 答案:A. ...

4) 异常类型或描述
问题4...? 选项:A. ... B. ... C. ... D. ... 答案:A. ...
问题5...? 选项:A. ... B. ... C. ... D. ... 答案:A. ...
问题6...? 选项:A. ... B. ... C. ... D. ... 答案:A. ...

5) 异常位置
问题7...? 选项:A. ... B. ... C. ... D. ... 答案:A. ...
问题8...? 选项:A. ... B. ... C. ... D. ... 答案:A. ...
问题9...? 选项:A. ... B. ... C. ... D. ... 答案:A. ...

请确保正确答案在四个选项中随机分布。
如果是是非题,请确保是和否的比例相当。例如,"是否...""是否...""是否...""是否...""是否..."?等。

请不要直接询问图像中可见的器官或异常情况,因为答案并不唯一。最好在问题中使用具体描述,以确保其他人即使不提供选项也能得到准确答案。

请注意不要提及文件名和报告。总是如同直接看着图像一样提问和回答。

表达分割数据生成提示词

你是一个可以分析单张CT图像的医学AI视觉助手。虽然你看不到图像,但你可以收到CT图像局部区域的诊断报告。该报告描述了图像中的异常病变。

任务是使用提供的报告信息创建6个关于图像的合理问题和答案,用于推理分割任务。

报告:{text} #提供详细的影像发现和诊断印象

问题和答案需要基于报告构建。但在问答中不要提及报告。问题需要针对特定病变区域,并要求对该区域进行分割。答案需要只使用一个<SEG>符号来指代分割区域,并提供文本解释。

问题分为两类:一类是基于描述信息回答和分割,另一类需要基于一般和医学知识进行推理来获得答案和分割。

示例:
1) 基于描述
问题1:请分割图像中肝囊肿出现的位置。答案:是的,它是肝右上方的[SEG]2) 基于推理
问题1:你能分割这张图像中的异常部分并解释原因吗?答案:是的,它是[SEG]。在图像中,异常部分是...
问题2:是什么让这名女性站得更高?请输出分割掩码并解释原因。答案:是的,[SEG]。这名女性通过...站得更高。
问题3:如果人体最大器官中有任何病变,请分割它们。答案:最大的器官是肝脏,其中存在肝脏肿瘤,区域是<SEG>。

期望输出格式:
1) 基于描述
问题1...? 答案:...
问题2...? 答案:...
问题3...? 答案:...

2) 基于推理
问题4...? 答案:...
问题5...? 答案:...
问题6...? 答案:...

请按照期望格式构建总共6组问答对,每种类型3组。
在问题中使用具体描述可以确保其他人能得到准确答案。
总是如同直接看着图像一样提问和回答。

VQA数据检查提示词

你是一个医学AI助手。请根据以下问题提供答案和帮助。

这是来自视觉问答数据集的问题。这些问题是基于图像和报告信息生成的,生成的数据不可避免地包含一些错误。

请使用以下信息判断问题中描述的内容是否与文本报告一致,以及答案是否正确。

图像路径:{img_file_name} #提供关于平面和期相的基本信息
报告:{text} #提供详细的影像发现和诊断印象
问题:{question}
选项:A. {choice_A} B. {choice_B} C. {choice_C} D. {choice_D}
答案选择:{answer_choice}. {answer}

如果存在错误,请先回答"否",然后给出更合理的问题和答案。如果基本正确,直接回答"是"。不要给出冗余答案。

模型评估提示词

你是一个AI助手,请根据以下内容进行评估。

请参考以下两段文字中的真实答案和预测结果,识别真实答案中提到的各个方面,并计算预测结果中正确提到或部分匹配这些方面的百分比,打分范围从0100。

真实答案:{answer} #参考文本
预测结果:{prediction} #生成文本

请按照以下格式输出:
分数:xx。原因是......

报告生成指令示例

报告生成:
- 能否为这张医学图像提供一份包含发现的说明?
- 描述你看到的医学图像中的发现。
- 请为这张医学扫描提供一份带有发现的说明。
- 这张图像有哪些发现?
- 请描述这张医学扫描中的发现。
- 请为这张图像写一份包含发现的说明。
- 能否总结一下呈现的图像中的发现?
- 请为这张扫描提供一份带有发现的说明。
- 请为这张医学图像提供一份包含发现的说明。
- 能否提供一份包含该放射影像发现的总结?
- 这张医学扫描中呈现了哪些发现?
- 请为这次扫描写一份包含发现的说明。
- 能否描述一下这张医学扫描中的发现?
- 请为这张医学扫描提供一份带有发现的说明。
- 能否为这张医学扫描提供一份包含发现的说明?

参考表达理解

类别问题:
- 你能在这幅图像中找到{}吗?请给出坐标。
- 你能在这幅图像中找到{}吗?请输出坐标。
- 请用边界框标出图像中的{}- {}在图像中的什么位置?请用边界框回答。
- {}在图像中的什么位置?请输出边界框。
- 你能定位图像中的{}吗?请输出其坐标。
- 你能用边界框标记图像中的{}吗?
- 在图像中哪里能找到{}?请提供其边界框。
- 请指出图像中提到的{}。请提供其边界框的坐标。

答案:
- 坐标是{}- 好的,{}- 好的,是{}- 好的,边界框是{}- {}- 坐标是:{}- 当然,它位于{}- 边界框由{}给出。
- 框的位置是{}。

描述性问题:
- 描述:{}请根据上述描述回答并用边界框找到它。
- 定义:{}请根据上述定义回答并显示边界框。
- 描述:{}你能根据描述回答并用坐标找到它吗?
- 定义:{}请根据定义输出边界框并回答。
- 描述:{}根据描述用边界框定位它。
- 定义:{}请根据给定定义提供答案并显示边界框。
- 描述:{}你能根据提供的描述或定义识别并定位它吗?
- 定义:{}请输出边界框并根据提供的定义给出答案。
- 根据描述或定义,请回答{}并用边界框标示其位置。

答案:
- 目标是{},坐标是{}- 类别是{},边界框是{}- 它是{}{}- {}{}- 目标被识别为{},其坐标是{}- 类别是{},边界框提供为{}- 它的特征是{},坐标是{}- 识别出的特征是{}{}- 描述它为{},对应的框是{}

参考表达生成

类别问题:
- 坐标{}内存在什么目标?
- 边界框{}中包含什么目标?
- 在指定区域{}中,存在什么目标?
- 你知道边界框{}中是什么吗?
- 这个区域{}中是什么?
- 坐标{}内有什么物体?
- 在指定区域{}中,能找到什么物体?
- 你能识别边界框{}中的物体吗?
- 这个区域{}中存在什么物体?

答案:
- 目标是{}- 确实,边界框包含{}- 是的,是{}- 是的,{}在边界框中。
- {}- 物体是{}- 当然,是{}- 确实,可以在边界框中找到{}- 是的,边界框包含{}。

描述性问题:
- 请描述图像中框{}内的目标及其功能。
- 你知道边界框{}中是什么吗?请回答并解释。
- 边界框{}中的目标是什么?它有什么功能?
- 图像中标记为{}的区域是什么?能解释一下吗?
- 你能描述边界框{}中的物体及其用途吗?
- 你能识别并描述边界框{}中的物体吗?请解释。
- 边界框{}中的物体是什么?能解释其功能吗?
- 你能描述图像中由框{}勾勒出的区域吗?请解释其意义。

答案:
- 是的,它是{}{}- 类别是{}{}- 它是{}{}- {}{}- 目标被识别为{},其描述是{}- 类别是{}。描述:{}- 它的特征是{}{}- 识别出的特征是{}{}- 是的,它是{}。描述为{}

语义分割

问题:
- 你能分割图像中的{}吗?
- 你能分割图像中的{}吗?请输出掩码。
- 请分割图像中的{}- 图像中的{}是什么?请用分割掩码回答。
- 图像中的{}是什么?请输出分割掩码。
- 你能为{}提供一个分割吗?
- 从图像中分割{}并提供掩码。
- 请为图像中的{}提供分割掩码。
- 你能识别并分割图像中的{}吗?

答案:
- 它是[SEG]- 好的,[SEG]- 好的,它是[SEG]- 好的,分割结果是[SEG]- 分割显示[SEG]- 根据分割,它是[SEG]- 分割结果显示[SEG]- 分割表明[SEG]- 从分割来看,它是[SEG]。

参考表达分割:
问题:
- 描述:{}请根据上述描述回答并分割。
- 定义:{}请根据上述定义回答并分割。
- 描述:{}你能根据上述描述或定义回答并分割吗?
- 定义:{}请根据上述描述或定义输出分割掩码和答案。
- 给定定义:{}请提供分割和答案。
- 提供的描述是:{}现在,分割它并提供答案。
- 根据提供的定义:{}请分割并提供回答。
- 描述对象为:{}你能据此分割吗?

答案:
- 目标是{},分割掩码是[SEG]- 类别是{},掩码是[SEG]- 它是{}[SEG]- 识别为{},这里是分割:[SEG]- 归类为{},分割是:[SEG]- 类别是{},对应的分割是:[SEG]- 就分类而言,它是{},分割是:[SEG]- 分类为{},这是分割:[SEG]

术语词典

{
"肝脏": [
    "主要负责通过清除有害物质来解毒血液的器官",
    "产生胆汁,这种液体有助于消化和脂肪吸收",
    "储存和调节肝糖原,这是身体重要的能量储备",
    "合成对血液凝固和免疫系统功能必要的蛋白质",
    "在代谢中发挥核心作用,包括碳水化合物和脂肪的分解",
    "位于右上腹的大器官,具有多种代谢功能",
    ...],

"左肺": [
    "位于胸腔左侧参与呼吸的器官",
    "位于左侧胸腔的呼吸器官",
    "位于身体左侧负责呼吸的肺",
    "位于胸腔左侧负责气体交换的肺部结构",
    "左侧呼吸器官,负责氧气交换",
    "位于左胸腔负责给血液供氧的器官",
    "位于左侧胸腔参与通气的肺",
    ...],

"肾脏": [
    "一对负责过滤血液中废物的器官",
    "一对参与清除体内废物和过量体液的器官",
    "一对豆形器官,对调节体液至关重要",
    "负责过滤血液和产生尿液的器官",
    "一对对过滤血液和维持体液平衡至关重要的器官",
    "豆形器官,对废物清除和尿液生成至关重要",
    ...],

"心脏": [
    "负责将血液泵送到全身的器官",
    "通过循环系统输送血液的肌肉器官",
    "将含氧血液泵送到组织和器官的重要器官",
    "循环系统的主泵,为组织供应氧气",
    "心血管系统的中枢器官,推动血液循环",
    "循环系统的主要器官,分配营养和氧气",
    ...],

"肝肿瘤": [
    "肝组织中的异常生长",
    "在肝脏中形成的细胞团块",
    "在肝脏中发现的肿瘤病变",
    "发生在肝组织中的病理性生长",
    "肝脏中的不受控制的细胞增殖",
    "肝脏内的组织异常生长",
    ...],
......
}

这个能做前列腺癌、乳腺癌分割检测吗?

M3D-LaMed确实具备处理前列腺和乳腺相关病变的能力,但有以下几点需要注意:

  1. 数据集覆盖:
  • 文章提到的M3D-Data数据集主要是基于CT图像
  • 包含了前列腺在内的多个器官标注数据
  • 但对于乳腺组织的专门数据集没有明确提及
  1. 任务支持:
  • 模型支持器官分割和病变检测
  • 在图16中展示了对前列腺的分割能力
  • 但针对癌症的具体分类和分期没有专门评估
  1. 实际应用限制:
  • 前列腺癌检测通常需要结合MRI图像
  • 乳腺癌诊断主要依赖乳腺X线和超声
  • 当前模型主要针对CT模态,可能不够专业
  1. 潜在扩展:
  • 理论上模型架构支持扩展到其他成像模态
  • 需要补充相应的训练数据
  • 可能需要针对性优化模型结构

建议:

  1. 如果需要专门的癌症诊断系统,建议:
  • 使用专门的前列腺癌/乳腺癌数据集进行训练
  • 选择更适合的成像模态(MRI/超声等)
  • 增加与癌症分期相关的标注数据
  1. M3D-LaMed更适合作为:
  • 初筛工具
  • 辅助分析系统
  • 多器官分割的通用平台
  1. 临床应用需要:
  • 更多的验证数据
  • 专科医生的评估
  • 可能的模型优化和调整

提问

为什么传统的2D医学图像分析方法在处理3D图像时会遇到困难?

根据论文,这主要有两大困难:

  • 需要逐片分析:2D方法必须对3D图像进行切片分析,这非常耗时且无法捕捉跨切片的空间关系
  • 信息丢失:按切片处理会丢失重要的3D空间信息,而这些信息对于准确诊断非常关键

医生是如何在脑海中构建3D图像的立体认知的?

系统试图模拟医生通过整体性地观察所有切片来构建3D认知的过程。

为什么说空间信息的压缩对于3D医学图像分析至关重要?

3D图像具有高维度和大量token,直接输入LLM会导致巨大的计算成本。因此需要高效的空间压缩来实现实际应用。

在压缩过程中,如何确定哪些信息是关键的,哪些是冗余的?

通过两个步骤来处理:

  • 重构到3D空间进行池化,保留空间结构信息
  • 使用MLP调整embedding维度,与LLM对齐

为什么需要将3D图像特征与语言模型对齐?

这是为了让模型能够:

  • 理解3D医学图像的空间特征
  • 生成准确的诊断描述
  • 回答关于图像的具体问题

评测系统中为什么需要包含8个不同任务?

这8个任务覆盖了临床实践中的主要场景:

  • 图像-文本检索
  • 报告生成
  • 视觉问答
  • 定位
  • 分割

不同任务测试模型的不同能力。

如何平衡模型的性能与实时性需求?

论文通过以下方式实现:

  • 使用3D空间池化感知器压缩token
  • 采用LoRA进行参数高效微调
  • 使用两阶段训练策略

该系统可能会对医生的工作方式产生什么影响?

论文表明系统可以:

  • 辅助报告生成
  • 回答关于图像的问题
  • 定位和分割关键区域

这可以提高医生的工作效率。

在实际应用中,该系统可能面临哪些挑战?

基于论文讨论,主要挑战包括:

  • 计算资源需求
  • 临床准确性的保证
  • 与现有工作流程的整合
  • 实时性要求的满足

文章声称使用了"3D空间池化感知器"来减少图像token数量,但这种池化是否会导致重要的3D空间信息丢失?如何在效率和精度之间取得平衡?

这是个很好的问题。论文在第5页提到了这个权衡:

  • 使用3D空间重构来保留关键的空间信息
  • 通过MLP调整来保持信息的表达能力
    但确实没有深入分析可能的信息损失。

在图2和表4中展示了5种问题类型的分布,但为什么"异常性"(Abnormality)类问题的准确率明显低于其他类型(66.65%相比其他类型的70-90%)?

这可能是因为:

  • 异常形态更复杂多样
  • 需要更专业的医学知识
  • 样本数据可能不均衡

但论文没有深入分析这个问题。

在多模态大语言模型训练中,论文使用了两阶段训练策略 - 先冻结视觉编码器和LLM只训练感知器,再全部解冻联合训练。这种策略的理论依据是什么?

理论依据是:

  • 先优化特征对齐
  • 再进行端到端优化

这种渐进式策略有助于模型收敛。

在生成数据集时使用了ChatGPT和Qwen-72B来产生问答对,声称准确率达到99.4%,但这个准确率是如何验证的?人工验证的样本量有多大?

准确率验证通过:

  • LLM自动检查
  • 专家复核

但确实没有详细说明验证样本量。

论文提出的M3D-Bench包含8个评估任务,但对于一些关键的临床任务(如病变进展跟踪、多时序比较)却没有涉及,这些限制是否影响模型的实际应用价值?

在5.5节提到使用Dice作为分割评估指标,但对于不同类型和大小的器官,单一的Dice指标是否足够?为什么不考虑其他补充指标?

仅使用Dice确实存在局限性,可以考虑:

  • Hausdorff距离
  • 平均表面距离
  • 体素重叠率等补充指标

论文使用了LLaMA2-7B作为基础模型,但相比其他可选的大模型(如GPT-4等),选择这个模型的具体原因是什么?是否做过相关对比实验?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/940864.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【102. 二叉树的层序遍历 中等】

题目&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 示例…

第四届电气工程与控制科学

重要信息 官网&#xff1a;www.ic2ecs.com 时间&#xff1a;2024年12月27-29日 简介 第四届电气工程与控制科学定于2024年12月27-29日在中国南京召开。主要围绕“电气工程“、”控制科学“、”机械工程“、”自动化”等主题展开&#xff0c;旨在为从电…

监控易在汽车制造行业信息化运维中的应用案例

引言 随着汽车制造行业的数字化转型不断深入&#xff0c;信息化类IT软硬件设备的运行状态监控、故障告警、报表报告以及网络运行状态监控等成为了企业运维管理的关键环节。监控易作为一款全面、高效的信息化运维管理工具&#xff0c;在汽车制造行业中发挥着重要作用。本文将结合…

大模型+安全实践之春天何时到来?

引子:距《在大模型实践旅途中摸了下上帝的脚指头》一文发布近一年,2024年笔者继续全情投入在大模型+安全上,深度参与了一些应用实践,包括安全大模型首次大规模应用在国家级攻防演习、部分项目的POC直到项目落地,也推动了一些场景安全大模型应用从0到3的孵化上市。这一年也…

大小端存储的问题

请你用C语言写一个简单的程序&#xff0c;判断你使用的主机是大端存储还是小端存储 #include <stdio.h> int main(){int x 0x11223344;char *p (char *)&x;if(0x44 *p){printf("小端\n");}else if(0x11 *p){printf("大端\n");}return 0; }

山景BP1048增加AT指令,实现单片机串口控制播放音乐(一)

1、设计目的 山景提供的SDK是蓝牙音箱demo&#xff0c;用户使用ADC按键或者IR遥控器&#xff0c;进行人机交互。然而现实很多场景&#xff0c;需要和单片机通信&#xff0c;不管是ADC按键或者IR接口都不适合和单片机通信。这里设计个AT指令用来和BP1048通信。AT指令如下图所示…

EMC VMAX/DMX 健康检查方法

近期连续遇到2个由于对VMAX存储系统没有做及时的健康检查&#xff0c;出现SPS电池故障没有及时处理&#xff0c;然后同一pair就是同一对的另外一个SPS电池再次出现故障&#xff0c;然后存储系统保护性宕机vault&#xff0c;然后业务系统挂掉的案例。 开始之前&#xff0c;先纠…

51c大模型~合集94

我自己的原文哦~ https://blog.51cto.com/whaosoft/12897659 #D(R,O) Grasp 重塑跨智能体灵巧手抓取&#xff0c;NUS邵林团队提出全新交互式表征&#xff0c;斩获CoRL Workshop最佳机器人论文奖 本文的作者均来自新加坡国立大学 LinS Lab。本文的共同第一作者为上海交通大…

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备 一、前提条件 确保路由器硬件支持&#xff1a; OpenWrt 路由器需要足够的存储空间和 CPU 性能来运行 Tailscale。确保设备架构支持 Tailscale 二进制文件&#xff0c;例…

Webpack学习笔记(4)

1.缓存 可以通过命中缓存降低网络流量&#xff0c;是网站加站速度更快。 然而在部署新版本时&#xff0c;不更改资源的文件名&#xff0c;浏览器可能认为你没有更新&#xff0c;所以会使用缓存版本。 由于缓存存在&#xff0c;获取新的代码成为问题。 接下来将配置webpack使…

java抽奖系统(八)

9. 抽奖模块 9.1 抽奖设计 抽奖过程是抽奖系统中最重要的核⼼环节&#xff0c;它需要确保公平、透明且⾼效。以下是详细的抽奖过程设计&#xff1a; 对于前端来说&#xff0c;负责控制抽奖的流程&#xff0c;确定中奖的人员 对于后端来说&#xff1a; 接口1&#xff1a;查询完…

VulnHub靶场渗透之:Gigachad

环境搭建 VulnHub是一个丰富的实战靶场集合&#xff0c;里面有许多有趣的实战靶机。 本次靶机介绍&#xff1a;http://www.vulnhub.com/entry/gigachad-1,657/ 下载靶机ova文件&#xff0c;导入虚拟机&#xff0c;启动环境&#xff0c;便可以开始进行靶机实战。 虚拟机无法分…

解决Apache/2.4.39 (Win64) PHP/7.2.18 Server at localhost Port 80问题

配置一下apache里面的配置文件&#xff1a;httpd.conf 和 httpd.vhosts.conf httpd.conf httpd-vhosts.conf 重启服务 展示&#xff1a; 浏览器中中文乱码问题&#xff1a;

.NET重点

B/S C/S什么语言 B/S&#xff1a; 浏览器端&#xff1a;JavaScript&#xff0c;HTML&#xff0c;CSS 服务器端&#xff1a;ASP&#xff08;.NET&#xff09;PHP/JSP 优势&#xff1a;维护方便&#xff0c;易于升级和扩展 劣势&#xff1a;服务器负担沉重 C/S java/.NET/…

Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务间的通讯-消息队列【入门四】

继续上一篇任务创建 【Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务间的通讯-信号量【入门三】-CSDN博客】 今天要实现消息队列进行任务的通讯 一、从上一篇信号量通讯demo拷贝一份重命名&#xff0c;还是之前的两个任务&#xff0c;重命名了。 xTaskCreatePinned…

【AI日记】24.12.22 容忍与自由 | 环境因素和个人因素

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 内容&#xff1a;看 OpenAi 这周的发布会和其他 AI 新闻&#xff0c;大佬视频时间&#xff1a;3 小时 读书 书名&#xff1a;富兰克林自传时间&#xff1a;1 小时评估&#xff1a;读完&#xff0c;总体…

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>电话号码的字母组合

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; private String[] hash {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};private StringBuffer p…

设计模式 -- 单例模式

设计模式 -- 单例模式 单例模式C++ 实现饿汉式单例模式懒汉式单例模式使用静态局部变量实现懒汉式单例模式(推荐)使用call_once实现懒汉式单例模式(推荐)使用静态全局部变量和指针的方式实现懒汉式单例模式(不推荐)双重检测懒汉式单例模式单例模式 单例模式:确保在整个程…

CH430N 插上电脑无反应

电路图&#xff0c;此处我用的是3.3V供电&#xff0c;现象就是插上USB,电脑没有反应。搜索也搜索不到 抄板请看自己是多少V供电 后来看到也有类似的 换了芯片后就好了。md新板子第一个芯片就是坏的&#xff0c;服了。

重拾设计模式--状态模式

文章目录 状态模式&#xff08;State Pattern&#xff09;概述状态模式UML图作用&#xff1a;状态模式的结构环境&#xff08;Context&#xff09;类&#xff1a;抽象状态&#xff08;State&#xff09;类&#xff1a;具体状态&#xff08;Concrete State&#xff09;类&#x…