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模块生成像素级异常分割图和图像级异常分数。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接口测试用例设计思路(通俗易懂)

一、接口测试的流程: 需求分析(需求文档、开发提供接口文档)→测试设计→测试用例评审→测试执行→验收→预发布→上线 二、基本功能流程测试: 冒烟测试(主业务的正向流程)、正常流程覆盖测试(正常分支的业务流程进行覆盖→分支覆盖、路径覆盖、业务场…

零基础怎么快速进行单细胞分析?

近一段时间正在努力学习单细胞相关的理论知识,发现单细胞测序和普通的真核细胞的转录组非常相似。两者之间的最大的区别在于,一个测的是单个细胞的表达,一个测的是一堆细胞的表达之和。所以从这里就可以理解,为什么网上很多教程都…

【c++算法篇】双指针(下)

🔥个人主页:Quitecoder 🔥专栏:算法笔记仓 朋友们大家好啊,本篇文章我们来到算法的双指针的第二部分 目录 1.有效三角形的个数2.查找总价格为目标值的两个商品3.三数之和4.四数之和5.双指针常见场景总结 1.有效三角形…

解决 SyntaxError: Unexpected token ‘.‘ 报错问题

这个报错一般是编译问题&#xff0c;浏览器的版本过低没通过代码 解决办法&#xff1a; 在package.json文件中加上这个 "browserslist": ["> 1%","last 2 versions","not dead","not ie < 6","Android > 4&…

98、技巧-颜色分类

思路 这道题的思路是什么&#xff0c;首先典型荷兰国旗问题&#xff1a; 该问题的关键在于我们要将所有的0放到数组的前部&#xff0c;所有的1放在中间&#xff0c;所有的2放在后部。这可以通过使用两个指针&#xff0c;一个指向数组开头的“0”的最后一个位置&#xff0c;另…

如何确保UDP文件传输工具有最低稳定的传输速度?

在当前日新月异的数字时代背景下&#xff0c;文件传输工具已经成为我们日常生活与工作中不可或缺的一部分&#xff0c;尤其针对那些频繁涉及即时数据交互与多媒体流通的场景。 UDP协议&#xff0c;以其突出的高速传输与低延迟特性&#xff0c;脱颖而出成为众多用户的首选。不过…

Python管理PVE(Proxmox VE)云平台--节点资源统计

一、前言 写本脚本的初衷是因手动查看统计已分配的PVE资源过于耗时&#xff0c;因此写一个脚本一劳永逸&#xff0c;具体实现方法&#xff1a;利用Python的paramiko模块进行远程命令查看、统计PVE平台各节点已分配的cpu、内存、磁盘空间。 二、步骤 1.构建shell脚本 1.1 统计…

Ubuntu系统下编译OpenCV4.8源码

OpenCV4.8源码编译与安装 其实很简单&#xff0c;只要三步即可搞定&#xff0c;第一步是下载指定版本的源码包&#xff1b;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持&#xff1b;第三步就是编译OpenCV源码包生成安装文件并安装。 01下载OpenCV4.8源码包 在Ubunt…

解锁楼宇自动化新维度西门子Insight+BACnet IP I/O控制器

数字城市的楼宇自动化已不再是一个遥不可及的概念&#xff0c;而是成为了现代建筑的标配。特别是在大型商业综合体、高端写字楼和公共设施中&#xff0c;高效的楼宇管理系统是确保环境舒适度与能源效率的关键。当提及楼宇自动化领域的佼佼者&#xff0c;西门子Insight楼宇自动化…

KMeans,KNN,Mean-shift算法的学习

1.KMeans算法是什么&#xff1f; 在没有标准标签的情况下&#xff0c;以空间的k个节点为中心进行聚类&#xff0c;对最靠近他们的对象进行归类。 2.KMeans公式&#xff1a; 2. 1.关键分为三个部分&#xff1a; 1.一开始会定义n个中心点&#xff0c;然后计算各数据点与中心点…

jenkins使用gitLab(极狐)认证登陆

jenkins安装 GitLab Authentication插件 我因为java版本和最新GitLab Authentication 1.19版本不兼容&#xff0c;选择了本地安装 找个历史版本1.13版本&#xff0c;然后下载到电脑上 - 本地上传插件并安装 在极狐上创建一个应用 - 配置应用信息 应用名&#xff1a;jenkinsLo…

你以为是个黄金程序员,结果是个王者

玩过王者荣耀的同学都知道&#xff0c;从青铜到王者&#xff0c;过程中需要步步修炼&#xff0c;可以说等级的提升是胜利的积累&#xff0c;也可以说是技术的提升。 而程序员行业也是这样&#xff0c;技术越高段位越高&#xff0c;当然段位越高技术也越高&#xff0c;这个行业大…

Oracle -在线回缩表

conn scott/tiger DROP TABLE EMP1 PURGE; CREATE TABLE EMP1 AS SELECT * FROM EMP; alter table emp1 enable row movement; -- 启动回缩特性 insert into emp1 select * from emp1; / / commit; -- 增加到14000行 -- 分析表的结构 analyze table emp1 comput…

小程序如何确定会员身份并批量设置会员积分或余额

因为一些原因&#xff0c;商家需要从其它系统里面批量导入会员&#xff0c;确定会员身份&#xff0c;然后给他们设置对应的账户余额。下面&#xff0c;就具体介绍如何进行这种操作。 一、客户进入小程序并绑定手机号 进入小程序&#xff1a;客户打开小程序&#xff0c;系统会自…

交友软件源码-源码+搭建+售后,上线即可运营聊天交友源码 专业语聊交友app开发+源码搭建-快速上线

交友小程序源码是一种可以帮助开发者快速搭建交友类小程序的代码模板。它通常包括用户注册、登录、个人信息编辑、匹配推荐、好友聊天等常见功能&#xff0c;以及与后台数据交互的接口。使用这种源码可以极大地缩短开发时间&#xff0c;同时也可以根据自己的需求进行二次开发和…

从0到1开发一个vue3+ts项目(一)

1. 环境配置 1.1 安装node 使用官方安装程序 前往 Node.js 官网&#xff1a;访问 Node.js 官网&#xff0c;下载适合你操作系统的安装程序。运行安装程序&#xff1a;下载完成后&#xff0c;双击安装程序并按照提示进行安装。验证安装&#xff1a;安装完成后&#xff0c;在终…

C++对象的拷贝构造函数

如果一个构造函数的第一个参数是类本身的引用,且没有其它参数(或者其它的参数都有默认值),则该构造函数为拷贝构造函数。 拷贝(复制)构造函数:利用同类对象构造一个新的对象 ●1.函数名和类同名 (构造函数) ●2.没有返回值 (构造函数) ●3.第一个参数必…

软考中级-软件设计师(九)数据库技术基础 考点最精简

一、基本概念 1.1数据库与数据库系统 数据&#xff1a;是数据库中存储的基本对象&#xff0c;是描述事物的符号记录 数据库&#xff08;DataBase&#xff0c;DB&#xff09;&#xff1a;是长期存储在计算机内、有组织、可共享的大量数据集合 数据库系统&#xff08;DataBas…

【C++】模拟实现string

文章目录 前言成员变量成员函数构造函数拷贝构造函数浅拷贝深拷贝拷贝构造函数实现 析构函数赋值重载 空间管理函数元素访问元素修改字符串运算流提取 & 流插入流提取流插入 迭代器begin & endrbegin & rend 总结 前言 模拟实现不是为了写得和库里面一样好。而是为…

OmniReader Pro mac激活版:智慧阅读新选择,开启高效学习之旅

在追求知识的道路上&#xff0c;一款优秀的阅读工具是不可或缺的。OmniReader Pro作为智慧阅读的新选择&#xff0c;以其独特的功能和卓越的性能&#xff0c;为您开启高效学习之旅。 OmniReader Pro具备高效的文本识别和处理技术&#xff0c;能够快速准确地提取文档中的关键信息…