SAM轻量化应用Auto-SAM、Group-Mix SAM、RAP-SAM、STLM

1. Auto SAM(Auto-Prompting SAM for Mobile Friendly 3D Medical Image Segmentation)

1.1 面临问题

医学背景:
(1)与自然图像相比,医学图像的尺寸更小形状不规则对比度更低。(注意力模块)
(2)2D变3D对硬件的要求高。(Spatial Adapter)
SAM自身:
(1)SAM对劳动密集型手动生成提示的依赖。(APG自动提示生成器)
(2)解决SAM在3D医学图像分割任务上表现出低于标准的性能。
(3)强大的GPU服务器施加的大量计算负担。(Knowledge Distillation)

1.2 应用技术

(1)在输入级为图像编码器设计了复杂的修改,使原始的2D Transformer能够熟练地适应体积输入
(2)同时使用参数高效的微调方法优化预训练权重的可重用性。我们将所有三个维度都视为各向同性,并直接调整经过训练的Transformer块来捕获3D图案。
(3)在提示编码器级别,设计了一个自动提示生成器(APG)模块,该模块将从先前的图像编码器中提取的特征图作为输入,并自动学习以下掩码编码器所需的提示。该设计有效地消除了耗时的手动提示生成过程,特别是对于多器官医学图像分割任务。
(4)优先考虑在输出级的掩码解码器的轻量级设计,强调多层聚合。采用知识蒸馏来促进学习从AutoSAM Adapter转移到更小、资源高效的模型,弥合复杂模型和实际医学成像需求之间的差距,使其更适合于移动设备和实时应用场景。

1.3 模型结构 

(A) AutoSAM Adapter

        输入3D医学图像,通过Patch Partition模块,该模块将3D图像分割成小块(patch)生成patch Embedding,通过1xkxk的卷积核有效地提取3D图像中的局部特征,再通过k x 1 x 1卷积在不改变空间维度的情况下调整特征的通道数,整合通道间的信息。例如,它可以用于降维,减少模型的参数数量和计算量,或者用于升维,增加模型的表征能力。Positional Embedding为模型提供输入数据中每个点的空间位置信息将经过两次卷积后的patch Embedding与Positional Embedding相结合生成3D数据。将3D数据经过多次Attention Block 注意力机制模块(使模型动态地关注图像中的关键区域,整合图像的全局上下文信息,以灵活的方式处理不同大小和形状的图像块。)和Spatial Adapter 空间适配器(确保模型能够有效地处理3D数据,捕捉到深度方向上的细节和模式)生成特征图。从图像编码器提取的特征图输入到Auto Prompt Generator自动提示生成器(APG)模块中生成提示,减少了手动生成提示的需要,提高了效率。将图像编码器每个阶段生成的特征图和APG生成的提示输入到掩码解码器Mask Decoder中,生成最终的分割掩码,预测每个像素的类别。

(B)Spatial Adapter

        空间适配器专门设计来处理3D空间数据,能够捕捉和提取图像中的深度和空间特征。 通过空间适配器,模型能够学习到更细粒度的局部特征,这种设计还有助于模型在有限的计算资源下运行,使其适用于移动设备和实时应用场景。
        通过Depth-wise 3D Conv(沿着图像深度方向的3D卷积),用于提取3D空间特征,通过Up Proj., Down Proj.调整特征图的维度,将特征图传入到Norm归一化层调整和稳定特征的分布。Multi-head Attention多头注意力机制捕捉更丰富的上下文信息,MLP (多层感知器)用于从提取的特征中学习更高层次的表示。

(C)Auto Prompt Generator

        APG自动提示生成器自动生成用于指导图像分割过程的提示。APG接收来自图像编码器的特征图作为输入,然后通过内部网络结构(FCN)处理这些特征图,以生成用于分割的提示。FCN通过使用卷积层替代传统卷积神经网络(CNN)中最后一层全连接层(Fully Connected Layer)。通过自动化这一过程,减少了手动干预,提高了效率。

(D)Knowledge Distillation

        在AutoSAM Adapter中,知识蒸馏用于将从大型AutoSAM Adapter模型(约600M参数)中学到的知识转移到更小的SwinUNETR模型(如小型版本约15.7M参数或微型版本约4.0M参数)。均方误差损失 L_{MSE }用于衡量学生模型的预测与教师模型的预测之间的差异,L_{Seg}用于训练AutoSAM Adapter模型的损失函数,它结合了L_{Dice}和交叉熵损失L_{CE},用于评估模型预测的分割掩码与真实掩码之间的一致性。L_{Dice}衡量预测分割掩码和真实分割掩码之间的重叠程度。L_{CE} 衡量预测概率分布和真实标签之间的差异。

2. Group-Mix SAM(Group-Mix SAM: Lightweight Solution for Industrial Assembly Line Applications)

2.1 面临问题

(1)SAM在实际装配线场景中的部署尚未实现,因为其大型图像编码器的大小高达632 M,在实际部署中使用SAM执行分段任务会导致无法承受的计算和内存成本。
(2)在实际的装配线上,负责运行算法的是边缘计算机。这些边缘计算机的购买通常受到价格的限制,因此存在内存低和计算能力弱等问题

2.2 应用技术

(1)Groupmixformer:提出了群体混合注意力(GMA)作为传统自注意力的高级替代方案,分组计算混合注意力权重。
(2)知识蒸馏 知识蒸馏(Knowledge Distillation)是一种模型压缩技术,用小型的学生模型(student model)学习模仿大型的教师模型(teacher model)的行为,提高小型模型的性能,使其在推理时的性能更接近于大型模型。 学生模型不仅学习模仿教师模型的输出(即预测类别的概率分布),还可能学习模仿其中间层的表示(特征图)。这通常通过比较学生和教师模型在不同层次上的输出来实现。直接用小型图像编码器训练,费时费力,效果也不一定好。

2.3 模型结构

        Group-Mix SAM用一种更小的图像编码器结构Groupmixformer替换MobileSAM编码器中的原始ViT-Tiny结构。MobileSAM中的解耦蒸馏是直接从原始SAM的ViT-H中提取小型图像编码器,而不依赖于组合解码器,与半耦合(冻结掩码解码器并从掩码层优化图像编码器)和耦合蒸馏(直接从掩码层优化图像编码器)相比,解耦蒸馏在时间和效率方面都优于上述。因此,Group-Mix SAM依然用解耦蒸馏方法将基于ViT-Tiny的MobileSAM知识转移到具有较小图像编码器的Groupmixformer。与MobileSAM相比,参数减少了37.63%(2.16 M),浮点运算减少了42.5%(15614.7 M)。

3. RAP-SAM(RAP-SAM : Towards Real-Time All-Purpose Segment Anything)

3.1 面临问题

(1)以往的分割模型使用笨重的编码器和级联解码器,导致无法实时运行实时性能低,且移动设备间难以兼容
(2)以前的实时分割局限于单一应用目的,但实际情况是需要多种输出。仍没有研究调查实时的通用分割任务(或实时全方位分割),也就是包括图像分割、视频实例/视频分割以及类似 SAM 的交互式分割。

3.2 应用技术

(1)提出了一种新的实时全方位分割。
(2)提出的模型能够完成交互式分割全景分割以及视频分割三种任务。
(3)提出了一个实时全方位 SAM(RAP-SAM)模型。它包括一个轻量级的特征提取器、一个统一轻量高效的解码器两个非对称适配器(解耦的适配器 = 对象适配器 + 提示适配器)。

3.3 模型结构

(1)图像编码器

        图像编码器是用于从输入图像中提取特征,由于计算成本的限制,避免了大的骨干和较重的 Transformer 编码器,而是使用轻量级骨干如:ResNet 18 ,STDC-v1和 SeaFormer。通过backbone(主干网络)和Lite Neck(轻量级颈部网络)从输入的图像或视频中提取出特征图F,送入三阶段解码器进行后续处理。

(2)提示编码器

        将Visual Prompts(视觉提示)中的提示(如点、框)传送到prompt encoder(提示编码器)生成prompt queries提示查询;与可学习的object queries对象查询一起送入三阶段解码器进行后续处理。
        注意:Object queries是由模型内部的编码器-解码器架构自动生成,代表图像或视频中的对象,主要用于处理如语义分割、实例分割等任务。Prompt queries是由视觉提示(如用户指定的框或点)生成的,用于指导模型的分割行为,用于交互式分割任务。

(3)掩码解码器

        Three-Stage Decoder(三阶段解码器)负责将前面的提示查询、对象查询和特征图三种输入转换为最终的分割掩码。结构图虚线右半部分是它的详细组成。
        将三种输入传送到掩码解码器中,先通过基于池化的Dynamic Convolution(动态卷积)根据输入特征动态调整卷积核,以更好地细化对象查询;再通过Add & Norm(加法和归一化)保持数值的稳定性;通过Self-attention(自注意力机制)考虑全局上下文信息;通过FFN(前馈网络)进一步提炼和更新查询表示。最终输出更新后的提示查询和对象查询。

(4)双解耦适配器

        在共享解码器(Shared Decoder)之后使用双解耦适配器,通过将提示查询和对象查询分别与特征图结合传送到对应的适配器中进行细化,使模型能够灵活地适应不同的分割任务,同时保持实时的处理速度,以达到实时多用途分割。Object Adaptor(对象适配器)使用与动态卷积相同的设计来进一步细化对象查询,因为在图像和视频分割中,场景的上下文信息和时序特征对于生成准确的分割掩码至关重要。用于处理图像分割和视频分割任务。Prompt Adaptor(提示适配器)使用逐像素的cross-attention(交叉注意力机制),因为交互式分割更侧重于根据用户提供的视觉提示(如点或框)来定位和分割特定的区域,因此需要对局部细节有更好的捕捉能力。

4. STLM:A SAM-guided Two-stream Lightweight Model for Anomaly Detection

4.1 面临问题

(1)模型效率:在实际应用中,尤其是在资源受限的环境下,模型需要有较高的效率,能够实时处理数据并快速给出检测结果,即需要较少的计算资源和时间,模型的复杂性和内存占用也是一个重要考虑因素。
(2)移动友好性:随着移动设备的普及,模型需要能够在这些设备上运行,这要求模型必须足够轻量,以适应移动设备的计算能力和能耗限制。
(3)数据稀少:在实际的工业应用中,正常样本通常容易获得,而异常样本可能较为稀少,导致数据集不平衡。且异常可能包括从微小的变化到大的缺陷,具有多样性。

4.2 应用技术

(1)双流轻量级模块:采用了由SAM知识指导的两个轻量级的图像编码器,一个流被训练成在正常和异常区域生成判别和通用的特征表示,而另一个流在没有异常的情况下重建相同的图像。
(2)共享掩码解码器:采用共享掩码解码器和特征聚合模块来生成异常映射。

4.3 模型结构

        训练阶段:首先输入正常图像和由数据增强技术生成的伪异常图像,使用知识蒸馏技术从SAM的图像编码器中提取知识,转移到Two-stream Lightweight Model (TLM)双流轻量级模块中,TLM模型采用了ViT-Tiny作为图像编码器的骨干网络,分别包括Plain Student和Denoising Student两个图像编码器Plain Student 被训练用来生成正常和异常区域的有区分性和泛化的特征表示,生成直接嵌入;Denoising Student 被训练用来重建没有异常的图像特征,从而增强两路特征表示在面对异常区域时的差异性,生成异常嵌入。将两种嵌入传送到一个共享的掩码解码器,用于从学生网络生成的特征中提取信息,生成异常掩码。将两路学生网络的特征传送到Feature Aggregation (FA) Module,该模块由两个残差块和一个空洞空间金字塔池化模块组成,通过特征聚合模块融合特征,生成异常图,以提高异常检测的准确性。
        推理阶段:训练阶段训练TLM和FA模块。在推理阶段,丢弃固定的SAM教师网络,只使用TLM和FA模块生成像素级异常分割图和图像级异常分数。

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

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

相关文章

【Java】从0实现一个基于SpringBoot的个人博客系统

从0实现一个基于SpringBoot的个人博客系统 项目介绍准备工作数据准备创建项目准备前端页面编写配置文件 项目公共模块实体类公共层业务代码持久层实现博客列表实现博客列表约定前后端交互接口 实现博客详情约定前后端交互接口实现服务器代码 实现登录JWT令牌JWT令牌生成和校验实…

vCenter 7.3证书过期无法登录处理方法

登录报错:如下图 Exception in invking authentication handler [SSL: CERTIFICATE_VERIFY_FAILED] certificate vertify failed: certificate has expired(_ssl.c:1076) 处理方法1:推荐,可行 登录vCenter控制台,AltF3切换至命令…

【GaussTech速递】数据库技术解读之细粒度资源管控

背景 对数据库集群内资源管控与资源隔离一直是企业客户长久以来的诉求。华为云GaussDB作为一款企业级分布式数据库,一直致力于满足企业对大型数据库集群的管理需要。 数据库可以管理的资源有计算资源与存储资源,计算资源包括CPU、内存、IO与网络&#…

容器化Jenkins远程发布java应用(方式一:pipline+ssh)

1.创建pipline工程 2.准备工程Jenkinsfile文件(java目录) 1.文件脚本内容 env.fileName "planetflix-app.jar" env.configName "planetflix_prod" env.remoteDirectory "/data/project/java" env.sourceFile "/…

基于TL431的线性可调恒压恒流电源的Multisim电路仿真设计

1、线性电源的工作原理 在我们日常应用里,直流电是从市电或电网中的交流电获取的。例如15V直流电压源、24V直流电压源等等。交流电变为直流电的过程大概分为一下几步: 首先,交流电通过变压器降低其电压幅值。接着,经过整流电路进…

57.基于SpringBoot + Vue实现的前后端分离-在线教育系统(项目 + 论文PPT)

项目介绍 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了在线教育系统的开发全过程。通过分析在线教育系统管理的不足,创建了一个计算机管理在线教育系统的方案。文章介绍了在线教育系统的系统分析部分&…

深入理解Go语言并发编程

随着计算机硬件的发展,多核处理器已经成为现代计算机的主流配置。在这样的背景下,并发编程成为了一种必备的技能。Go 语言作为一门先进的编程语言,天生支持并发编程,提供了丰富的并发原语和工具,使得并发编程变得更加容…

掌握MySQL常用的命令

前言 MySQL是一个流行的开源关系型数据库管理系统,广泛应用于各种应用场景。熟练掌握MySQL的常用命令,对于数据库管理员和开发人员来说至关重要。本文将介绍MySQL数据库的一些基础术语、SQL语言分类,以及DDL、DML、DQL和DCL等操作&#xff0…

如何快速学习VCU电控开发

本课程基于实际项目案例和岗位需求技能制定教学大纲,以任务驱动方式引导学员,让学员快速掌握VCU开发知识。首先从VCU开发必备知识点和MATLAB/Simulink软件建模工具的使用入手,夯实学员基础。再通过策略设计、模型搭建和测试标定来指导学员完成…

解救应用启动危机:Spring Boot的FailureAnalyzer机制

目录 一、走进FailureAnalyzer 二、在Spring Boot中如何生效 三、为什么可能需要自定义FailureAnalyzer 四、实现自定义基本步骤 (一)完整步骤要求 (二)注册方式说明 通过Spring Boot的spring.factories文件(建…

CS03_BOM数据展开

CS03_BOM数据展开 一、功能介绍 使用事务码CS03进行数据展开 二、程序代码 程序代码: *&---------------------------------------------------------------------* *& Report ZMMR119 *&--------------------------------------------------------…

二层交换机与路由器连通上网实验

华为二层交换机与路由器连通上网实验 二层交换机是一种网络设备,用于在局域网(LAN)中转发数据帧。它工作在OSI模型的第二层,即数据链路层。二层交换机通过学习和维护MAC地址表,实现了数据的快速转发和广播域的隔离。 实…

相亲系统功能介绍

相亲系统是一种旨在帮助单身人士寻找合适伴侣的平台,其主要功能通常包括以下几个方面: 实名认证:为了确保双方的权益保障,用户必须进行实名认证后才能使用该系统。这有助于增加系统的安全性和可信度。偏好选择:用户可…

Android 按键消息流程源码分析

在Android系统中,键盘按键事件是由SystemServer服务来管理的;然后在以消息的形式分发给应用程序处理。产生键盘按键事件则是有Linux kernel的相关驱动来实现。键盘消息有别于其他类型的消息;需要从Linux kernel drivers产生由上层APP来处理。…

数据链路层——以太网协议

一、以太网的MAC帧格式 源地址与目标地址代表的是网卡的硬件地址,MAC 地址,在出厂时已经确定好了。 帧协议类型有三种值,IP0800,ARP 请求及应答0806,RARP 请求/应答8035. MAC地址一般都是唯一的,长度48位&…

Unity Editor 找物体助手

找啊找朋友~ 🍱功能介绍🥙使用方法 🍱功能介绍 💡输入相关字符串,它会帮你找到名称中带有该字符串的所有物体,还会找包含该字符串的Text、TextMeshProUGUI。 🥙使用方法 💡导入插…

240多道!Go开发岗位面试题合集(含答案)

随着今年互联网寒潮环境的影响,找工作的人也将达到顶峰,今天给大家分享一份《Go开发工程师超高频面试真题》,一共有240多道面试真题,希望能够帮助大家在面试中,少走一些弯路、更快拿到offer! 内容展示 GO 基…

集成逻辑分析器( ILA)IP核用法详解

集成逻辑分析器(Integrated Logic Analyzer, ILA)IP核是一个可定制的逻辑分析器,用于监测设计的内部信号。ILA核心包含了现代逻辑分析器的许多高级特性,比如布尔触发方程(boolean trigger equations)和边沿…

gitignore配置不生效记录

第一种可能性: 在你所有的文件都通过了git add . 命令的情况下,使用指令git rm -r --cached .进行缓存清除,完成之后,再次通过git add . 然后通过git status去看提交的文件都有哪些。 第二种可能性 如果上面的不行就是你添加的…

Makefile经验总结

文章目录 0.概述1.常用规则1.1 清空目录的规则1.2 文件搜寻 (用起来比较爽)1.3 伪目标(可用生成多个目标和配置工程删除规则)1.4 静态模式(用起来也很爽)1.5 显示命令(有助于调试makefile&#…