了解FastSam:一个通用分割模型(草记)(2)

简介: 2 Sam相关项目阅读:Segment Anything(sam)项目整理汇总新鲜名词:点云分割,有趣的项目:

了解FastSam:一个通用分割模型(草记)(1):https://developer.aliyun.com/article/1407235?spm=a2c6h.13148508.setting.17.79f64f0ecKMDuK

2 Sam相关项目

阅读:Segment Anything(sam)项目整理汇总

新鲜名词:点云分割,

有趣的项目

Grounded-Segment-Anything:包含图像编辑,此外还有其它不少东西。


Personalize-SAM:仅给定一张带有参考mask的图像,PerSAM 无需任何训练即可在其他图像或视频中分割特定的目标,例如您的宠物狗。也提供了微调,但是只训练了2个参数。


Inpaint-Anything:图像编辑,包含移除目标,填充目标,替换目标等。


EditAnything:重新生成图像中的一部分。


小结:文章各种项目挺多的,不过好些都有些相似。包括对SAM模型的微调与场景移植,与视频处理结合,与文字提示结合(如CLIP),3d,以及一些相关的部署优化项目。此外还有辅助标注工具。

3 Sam论文解读

阅读:【论文解读】MetaAi SAM(Segment Anything) 分割一切

Sam模型的输出是无标记的纯掩码。

名词:prompt engineering,embedding,tokken,nms

摘句

在网络数据集上预训练的大语言模型具有强大的zero-shot(零样本)和few-shot(少样本)的泛化能力,这些"基础模型"可以推广到超出训练过程中的任务和数据分布,这种能力通过“prompt engineering”实现

比如CLIP和ALIGN利用对比学习,将文本和图像编码进行了对齐,通过提示语生成image encoder,就可以扩展到下游任务

论文的目的是建立一个图像分割的基础模型,开发一个具有提示能力的模型。

先标注数据进行训练模型,然后用模型辅助标注数据,如此建立一个数据循环。

训练时模拟交互分割的过程,从目标mask中随机选取前景点或者box,点是从gt mask选取,box增加长边10%的噪声,最大20像素。

在第一次prompt预测mask之后,后续是从预测mask和gt mask有差异的区域采样点,

mask 用focal loss和dice loss进行线性组合,系数(20:1),iou 用mse loss。

小结:感觉好像看了很多东西,但如果让我回忆一下,我脑子里面好像又没有什么东西。文中陌生的东西太多了,很多我都没什么概念,可能也就无法将它们联系起来而在我脑海里面生成一个整体的图景。

4 FastSam & Sam & MobileSam

阅读:(1)【Paper日记】FastSAM vs. MobileSAM vs. SAM


(2)【SAM】SAM & Fast SAM & Mobile SAM


名词:ViT-H,freeze解码器,知识蒸馏,对象提议,object-level


摘句:

FS虽然里面有SAM,但其实本质上并不是在SAM上进行优化架构,而是选择了一条完全不同的道路——采用带有实例分割分支的CNN网络。

一方面,按原始SAM的训练方法来训练一个新的SAM模型极不划算;另一方,由于图像编码器和分割掩码解码器之间的耦合优化,很难复现甚至改进FAIR他们的成果。

MS指出FS的工作achieved superior performance,而MS比FS的模型小7倍,速度快4倍,且mIoU远高于FS。

FastSAM经常无法预测一些对象;此外,有时很难解释掩模提议;其次,FastSAM经常生成具有非平滑边界的掩模。

虽然说FastSAM中带SAM,但其实已经和SAM的工作没有太大关系了,个人感觉是聚焦于Segment Anythin Task,用传统CNN的架构去解决大模型在实际应用中遇到的问题。而MobileSAM是基于SAM的架构提出了轻量化版本

sam模型是 promptable,包括 point, bbox, masks, text

(sam)训练过程中不使用任何数据增强

(fastsam的text-prompt效果差)个人分析原因为,CLIP 训练是 4 亿图文对特征对齐的训练,而并不是 object-level 与文本的对齐,使用分割数据训练好的 YOLOv8-seg 的图像特征直接与 CLIP 对应的文本特征进行强对齐(没经过训练),由于分割数据和训练 CLIP 的图像数据没有半毛钱关系,所以 mask 的特征与文本特征很难对齐,从而 text prompt 的方式效果很差是可以想通的。其实这一点是我一直想吐槽的,一直感觉将 CLIP 作为打通图文多模态的一个桥梁,多少是有点牵强的。

摘图:


Sam:

198766c300b348cb92c53d958b009564.pngFastSam

216cf7bd067d49ea9df8cb1e4b2ad253.png小结:脑子里还是比较模糊,fastsam和sam的区别。

文(2)中有些东西说得更加细致、丰富一些,但用的英文词比较多,比如object-level。

5 YOLACT

阅读:(1)【实例分割】YOLACT: Real-time Instance Segmentation


FastSam对于 all-instance segmentation阶段,网络结构基于YOLOv8-seg(YOLOv8 + YOLACT)


YOLACT:You Only Look At CoefficienTs.


(2)【经典论文解读】YOLACT 实例分割(YOLOv5、YOLOv8实例分割的基础)


这篇文章解释得要更清楚、细致些。

名词:FCN,anchor,NMS(又看见它),protonet,FPN特征金字塔,


摘句:


mask 模板产生的分支(protonet)针对每幅图像预测 k 个模板mask,用FCN的方式来实现protonet,FCN最后一层有 k 个channel,每个channel对应一个模板。

c57177663b094767b2810743848aacda.png

小结:文中说模型分为两个并行的过程(1)产生一系列模板mask,该mask是不基于任何一个实例的,而是基于整张输入图片的;(2)预测对于每个实例mask的系数。之后将模板mask和实例mask系数进行线性组合来获得实例的mask。


可是看了后面的解释,我还是没有懂文中的**”预测mask的系数“和”线性组合“**,具体是在干嘛。


将实例分割任务,划分为两个并行任务;(目标检测Detect、实例分割mask 是并行计算的,这样设计的网络是单阶段的,适合YOLO系列,速度快)

比如在一张街道场景的图片,图中有行人、车辆、建筑物、树木等,当检测分支框中的是行人,那么行人相关的mask原型图置信度高(头、身体、手、脚、随身物品等的位置、轮廓、编码位置敏感的方向等原型图),其它的类别mask原型图置信度低,这样组合形成实例分割的结果。

在 prototype 空间,某些 prototypes 对图片空间分块,某些 prototypes 定位实例······ (不懂这些分工与组合是怎样产生的)


相关文章
|
机器学习/深度学习 算法 自动驾驶
|
22天前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
128 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
6月前
|
SQL Oracle 关系型数据库
C# 利用IDbDataAdapter / IDataReader 实现通用数据集获取
C# 利用IDbDataAdapter / IDataReader 实现通用数据集获取
|
6月前
|
测试技术 网络架构 C++
使用MergeKit创建自己的专家混合模型:将多个模型组合成单个MoE
MoE架构通过MergeKit实现新突破,允许整合预训练模型创建frankenMoEs,如FrankenMoE,区别于头开始训练的MoEs。MergeKit工具支持选择专家模型,定义正负提示,并生成MoE配置。
238 2
|
6月前
|
机器学习/深度学习 存储 编解码
了解FastSam:一个通用分割模型(草记)(1)
一、FastSam下载与体验 1 问题记录 似乎从网页上下载压缩包,会比使用git clone要方便很多。 1 CLIP是什么?
372 0
|
机器学习/深度学习 传感器 编解码
万字长文 | 多目标跟踪最新综述(基于Transformer/图模型/检测和关联/孪生网络)(上)
随着自动驾驶技术的发展,多目标跟踪已成为计算机视觉领域研究的热点问题之一。MOT 是一项关键的视觉任务,可以解决不同的问题,例如拥挤场景中的遮挡、相似外观、小目标检测困难、ID切换等。为了应对这些挑战,研究人员尝试利用transformer的注意力机制、利用图卷积神经网络获得轨迹的相关性、不同帧中目标与siamese网络的外观相似性,还尝试了基于简单 IOU 匹配的 CNN 网络、运动预测的 LSTM。为了把这些分散的技术综合起来,作者研究了过去三年中的一百多篇论文,试图提取出近年来研究者们更加关注的解决 MOT 问题的技术。
万字长文 | 多目标跟踪最新综述(基于Transformer/图模型/检测和关联/孪生网络)(上)
|
12月前
|
编解码 自然语言处理 并行计算
【经典论文解读】YOLACT 实例分割(YOLOv5、YOLOv8实例分割的基础)
 YOLACT是经典的单阶段、实时、实例分割方法,在YOLOv5和YOLOv8中的实例分割,也是基于 YOLACT实现的,有必要理解一下它的模型结构和设计思路。
1550 0
|
机器学习/深度学习 人工智能 架构师
AI框架跟计算图什么关系?PyTorch如何表达计算图?
目前主流的深度学习框架都选择使用计算图来抽象神经网络计算表达,通过通用的数据结构(张量)来理解、表达和执行神经网络模型,通过计算图可以把 AI 系统化的问题形象地表示出来。 本节将会以AI概念落地的时候,遇到的一些问题与挑战,因此引出了计算图的概念来对神经网络模型进行统一抽象。接着展开什么是计算,计算图的基本构成来深入了解诶计算图。最后简单地学习PyTorch如何表达计算图。
180 0
|
机器学习/深度学习 数据可视化 数据挖掘
字符级CNN分类模型的实现
字符级CNN分类模型的实现
|
算法 关系型数据库 数据挖掘
实例分割算法综述
实例分割算法综述
251 0