高平网站建设沉默是金什么意思
news/
2025/9/23 9:33:20/
文章来源:
高平网站建设,沉默是金什么意思,深圳线上注册公司,梅州市城乡建设部网站首页目录 引言
1 FastSAM介绍
1.1 FastSAM诞生
1.2 模型算法
1.3 实验结果
2 FastSAM运行环境构建
2.1 conda环境构建
2.2 运行环境安装
2.3 模型下载
3 FastSAM运行
3.1 命令行运行
3.1.1 Everything mode 3.1.2 Text prompt
3.1.3 Box prompt (xywh)
3.1.4 Points p…目录 引言
1 FastSAM介绍
1.1 FastSAM诞生
1.2 模型算法
1.3 实验结果
2 FastSAM运行环境构建
2.1 conda环境构建
2.2 运行环境安装
2.3 模型下载
3 FastSAM运行
3.1 命令行运行
3.1.1 Everything mode 3.1.2 Text prompt
3.1.3 Box prompt (xywh)
3.1.4 Points prompt 3.2 通过代码调用
4 总结 引言
MetaAI提出的能够“分割一切”的视觉基础大模型SAM提供了很好的分割效果为探索视觉大模型提供了一个新的方向。虽然sam的效果很好但由于SAM的backbone使用了vit导致推理时显存的占用较多推理速度偏慢对硬件的要求较高在项目应用上有很大的限制。
SAM的详细讲解https://blog.csdn.net/lsb2002/article/details/131421165
一些研究在尝试解决这个问题其中一个是清华团队的Expedit-SAM对模型进行加速论文结果最多可以提速1.5倍。主要思路是用2个不需要参数的操作token clustering layer和token reconstruction layer。token clustering layer通过聚类将高分辨率特征转到低分辨率推理时用低分辨率的进行卷积等操作这样可以加速推理时间token reconstruction layer是将低分辨率特征重新转回高分辨率。个人测试好像没有明显提升不过已经打开了sam推理加速的思路。
1 FastSAM介绍
1.1 FastSAM诞生
最近发布的FastSAMFast Segment Anything论文结果最快提升50倍参数更少显存占用减少适合应用部署。
FastSAM是基于YOLOv8-seg的这是一个配备了实例分割分支的对象检测器它利用了YOLACT 方法。作者还采用了由SAM发布的广泛的SA-1B数据集。通过直接在仅2%1/50的SA-1B数据集上训练这个CNN检测器它实现了与SAM相当的性能但大大减少了计算和资源需求从而实现了实时应用。作者还将其应用于多个下游分割任务以显示其泛化性能。在MS COCO的对象检测任务上在AR1000上实现了63.7比32×32点提示输入的SAM高1.2分在NVIDIA RTX 3090上运行速度快50倍。
实时SMA对工业应用都是有价值的。它可以应用于许多场景。所提出的方法不仅为大量的视觉任务提供了一种新的、实用的解决方案而且它的速度非常高比目前的方法快数十或数百倍。它还为一般视觉任务的大型模型架构提供了新的用途。作者认为对于专业的任务专业的模型具备更好的效率和准确性的权衡。然后在模型压缩的意义上FastSAM的方法证明了一个路径的可行性通过引入一个人工的结构可以显著减少计算工作量。 论文地址https://arxiv.org/pdf/2306.12156.pdf
代码地址https://github.com/CASIA-IVA-Lab/FastSAM
web demohttps://huggingface.co/spaces/An-619/FastSAM
1.2 模型算法
以yolov8-seg的instance segmentation为基础检测时集成instance segmentation分支。 FastSAM主要分成2步全实例分割(all instance Segmentation)和基于prompt的mask输出(Prompt-guided Selection)。 全实例分割(all instance Segmentation) 模型基于yolov8-seg的模型.实例分割yolov8-seg实现了实例分割结果包含了检测和分割分支。检测分支输出box和类别cls,检测分支输出k默认为32个mask分数检测和分割分支是并行的。看推理代码的模型这块其实就是yolov8的segment网络具体可以看yolov8的segment训练代码。 Prompt-guided Selection 利用prompt挑选出感兴趣的特点目标类似sam支持point/box/text。
point prompt点prompt用点和实例分割输出的mask进行匹配。和sam一样利用前景点/背景点作为prompt。如果一个前景点落在多个mask中可以通过背景点进行过滤。通过使用一组前景/背景点能够在感兴趣的区域内选择多个mask然后将这些mask合并为一个mask用于完整的标记感兴趣的对象。此外利用形态学操作来提高掩模合并的性能。box prompt与实例分割输出的mask的box和输入的box进行iou计算利用iou得分过滤mask。text prompt利用clip模型利用图像编码和文本编码直接的相似性提取分数较高的mask。因为引入clip模型text prompt的运行速度比较慢。
1.3 实验结果
FastSAM利用yolov8-x模型取SA-1B数据集的2%进行监督训练为了检测更大的instance将yolov8的reg_max参数从16改成26输入图像的size为1024。在4种级别的任务上与SAM的zero-shot对比边缘检测、目标Proposal、实例分割、提示输入分割。 边缘检测将模型的全景实例分割结果用sobel算子得到边缘FastSAM与SAM性能相近都倾向于预测更多的边数据集中没有标注的边目标Proposal在coco上对比了SAM、ViTDet、OLN和FastSAMFastSAM与SAM略差但其是zero-shot transfer而OLN在voc上进行预训练实例分割使用ViTDet [23]生成的边界框bbox作为提示符来完成实例分割任务FastSAM比SAM差一些。提示输入分割与SAM性能类似但是运行效率有些低下这主要是受CLIP模型的影响 2 FastSAM运行环境构建
2.1 conda环境构建
conda环境准备详见annoconda
2.2 运行环境安装
conda create -n fastsam python3.9
conda activate fastsamgit clone https://ghproxy.com/https://github.com/CASIA-IVA-Lab/FastSAM.git
cd FastSAMpip install -r requirements.txt
pip install githttps://ghproxy.com/https://github.com/openai/CLIP.git
2.3 模型下载
创建模型保存模型的目录weights
mkdir weights
模型下载地址模型
模型下载后存储到weights目录下
(fastsam) [rootlocalhost FastSAM]# ll weights/
总用量 141548
-rw-r--r-- 1 root root 144943063 8月 21 16:28 FastSAM_X.pt
3 FastSAM运行
原始图片如下通过FastSAM对这张图片进行处理 3.1 命令行运行
3.1.1 Everything mode
python Inference.py --model_path ./weights/FastSAM_X.pt --img_path ./images/dogs.jpg 3.1.2 Text prompt
python Inference.py --model_path ./weights/FastSAM_X.pt --img_path ./images/dogs.jpg --text_prompt the yellow dog 3.1.3 Box prompt (xywh)
python Inference.py --model_path ./weights/FastSAM_X.pt --img_path ./images/dogs.jpg --box_prompt [[570,200,230,400]] 3.1.4 Points prompt
python Inference.py --model_path ./weights/FastSAM_X.pt --img_path ./images/dogs.jpg --point_prompt [[520,360],[620,300]] --point_label [1,0] 3.2 通过代码调用
vi test.py
from fastsam import FastSAM, FastSAMPromptmodel FastSAM(./weights/FastSAM_X.pt)
IMAGE_PATH ./images/dogs.jpg
DEVICE cpu
everything_results model(IMAGE_PATH, deviceDEVICE, retina_masksTrue, imgsz1024, conf0.4, iou0.9,)
prompt_process FastSAMPrompt(IMAGE_PATH, everything_results, deviceDEVICE)# everything prompt
ann prompt_process.everything_prompt()# bbox default shape [0,0,0,0] - [x1,y1,x2,y2]
ann prompt_process.box_prompt(bbox[200, 200, 300, 300])# text prompt
ann prompt_process.text_prompt(texta photo of a dog)# point prompt
# points default [[0,0]] [[x1,y1],[x2,y2]]
# point_label default [0] [1,0] 0:background, 1:foreground
ann prompt_process.point_prompt(points[[620, 360]], pointlabel[1])prompt_process.plot(annotationsann,output_path./output/dog.jpg,)
python test.py 4 总结
在FastSAM模型中作者重新考虑了segment of anything task和相应模型结构的选择并提出了一个比SAM-ViT-H (32×32)运行速度快50倍的替代解决方案。实验结果表明FastSAM可以很好地解决多个下游任务。尽管如此FastSAM仍有几个弱点可以加以改进比如评分机制和实例面具生成范式。这些问题都留待进一步研究。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912062.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!