点击下方卡片,关注“小白玩转Python”公众号
FastSAM,基于YOLOv8的检测分支和基于YOLACT的分割分支
SAM的庞大计算成本阻碍了它在工业场景中的更广泛应用。
在本文中,提出了FastSAM,将任务重新定义为分割生成和提示,发现一个带有实例分割分支的标准CNN检测器也能很好地完成这项任务。
大纲
1. FastSAM
2. Results
1. FastSAM
1.1. 全实例分割阶段
使用YOLOv8检测主干,并应用YOLACT原理进行实例分割,即YOLOv8-seg。
它从通过主干网络和特征金字塔网络(FPN)提取图像特征开始。
检测分支输出类别和边界框,而分割分支输出k个原型(FastSAM默认为32)以及k个掩模系数。
分割和检测任务并行计算。
分割分支输入高分辨率特征图。这张图通过卷积层处理,放大,然后通过另外两个卷积层输出掩模。
掩模系数类似于检测头的分类分支,范围在-1到1之间。实例分割结果是通过将掩模系数与原型相乘然后求和得到的。
1.2. 提示引导选择阶段
点提示:与SAM类似,前景/背景点可以作为提示。
框提示:目标是识别与选定框IoU分数最高的掩模,从而选择感兴趣的对象。
文本提示:如上所示,使用CLIP模型提取文本的相应文本嵌入。然后确定相应的图像嵌入,并使用相似性度量将它们与每个掩模的内在特征匹配。然后选择与文本提示的图像嵌入相似性分数最高的掩模。
1.3. 数据
仅使用SAM使用的SA-1B数据集的1/50来训练FastSAM模型。
2. 结果
2.1. 运行时间
尽管FastSAM生成了相对令人满意的结果,如图3所示,FastSAM在所有提示数量上的速度都超过了SAM。此外,FastSAM的运行速度不会随着提示而改变。
2.2. 零样本边缘检测
FastSAM的参数数量显著减少(仅68M),它生成了一个普遍良好的边缘图。
FastSAM与SAM的性能相似,特别是R50更高,AP更低。
2.3. 零样本对象提议生成
虽然其他人是监督方法,但FastSAM和SAM实现了完全零样本转移。
FastSAM和SAM在AR@10精度上表现不佳。然而,在AR@1000上,FastSAM明显优于OLN [17]。
FastSAM大大超过了SAM最计算密集的模型SAM-H E64,超过5%。
然而,与在LVIS数据集上训练的ViTDet-H相比,它还是有所不足。
同样,FastSAM的掩模提议生成在召回率上相对较低。
2.4. 零样本实例分割
在这项任务上,FastSAM未能实现高AP。
但定性地说,FastSAM仍然可以基于文本提示很好地分割对象。
2.5. 真实世界应用
图7:通过前景/背景点(FastSAM-point中的黄色和品红色点)或框引导选择,FastSAM可以在确切的缺陷区域进行分割。
图8:在一切模式下,FastSAM与SAM仅有微小差异,因为它分割了更少与任务无关的背景对象。
图9:FastSAM在分割规则形状的对象方面表现良好,但与SAM相比,它分割了更少与阴影相关的区域。
图10:在一些图像上,FastSAM甚至为大型对象生成了更好的掩模。
2.6. 失败模式
低质量的小尺寸分割掩模具有较大的置信度分数。
一些微小尺寸对象的掩模倾向于接近正方形。
· END ·
🌟 想要变身计算机视觉小能手?快来「小白玩转Python」公众号!
回复“Python视觉实战项目”,解锁31个超有趣的视觉项目大礼包!🎁
本文仅供学习交流使用,如有侵权请联系作者删除