位置: IT常识 - 正文
推荐整理分享Segment Anything Model (SAM)——卷起来了,那个号称分割一切的CV大模型他来了(segment anything model模型 需要的配置),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:segment anything model模型 需要的配置,segment anything model,segment anything model最新版本,segment anything model模型 需要的配置,segment anything model官网,segment anything model github,segment anything model,segment anything model配置,内容如对您有帮助,希望把文章链接给更多的朋友!
最近每天打开微信看到10个公众号里面差不多有11个都在各种玩赚chatGPT,每个都在说是各种大好风口,哎,看得眼睛都是累的。
今天下午无意间看到Meta发布了一款号称能分割一切的CV大模型,CV圈也开始卷起来,今年各种大模型要爆发了感觉。
吃瓜群众满怀好奇,点开了解一下。
官方论文在这里,感兴趣可以自行阅读。
官方同时也开源了项目,地址在这里,如下所示:
可以看到:才开源了一天的时间就已经有6k的star量了,后续增长感觉会更猛的!
官方也给出来了数据集地址,在这里,如下所示:
有需要的话可以自行下载使用即可。
当然了这么精彩的技术自然不会少的了技术博客的介绍,官方的技术博客在这里。
为了能让大家第一时间上手体验,这里官方也是开放出来了Demo地址,在这里,如下所示:
上传一张我本地的图片,用的就是上一篇博客摔倒检测的数据集,如下:
我添加了一个box,瞬间就给我分割出来了,如下:
随着光标的移动,模型给出来的响应也是很快的:
甚至还可以一键cutout所有的子对象如下:
很强大了已经。
官方这里也提供了很多实例图片,简单看下:
选择小狗试试吧:
添加box对指定区域直接分割:
再来一张:
效果如下:
指定区域分割:
最后再来试一下:
效果如下:
感兴趣的话都可以自己玩玩体验一下。
当然了如果想要自己安装使用也是可以的,官方同样给了安装说明如下:
先安装一些基础依赖pip install opencv-python pycocotools matplotlib onnxruntime onnx安装SAM方法一:pip install git+https://github.com/facebookresearch/segment-anything.git方法二:git clone git@github.com:facebookresearch/segment-anything.gitcd segment-anything; pip install -e .模型库在这里,需要的自行下载即可。
使用方法也很简单如下:
#from a given prompt:from segment_anything import build_sam, SamPredictor predictor = SamPredictor(build_sam(checkpoint="</path/to/model.pth>"))predictor.set_image(<your_image>)masks, _, _ = predictor.predict(<input_prompts>)或者也可以如下使用:
#generate masks for an entire image:from segment_anything import build_sam, SamAutomaticMaskGeneratormask_generator = SamAutomaticMaskGenerator(build_sam(checkpoint="</path/to/model.pth>"))masks = mask_generator_generate(<your_image>)当然了,mask也可以通过命令行生成,如下:
python scripts/amg.py --checkpoint <path/to/sam/checkpoint> --input <image_or_folder> --output <output_directory>关于两种不同的调用计算方式,官方也都给出来了详细的demo样例如下:
predictor_example
automatic_mask_generator_example
想要导出onnx格式的话也是可以的,如下:
python scripts/export_onnx_model.py --checkpoint <path/to/checkpoint> --output <path/to/output>这里一共提供了H、L、B三种不同size的模型,如下:
ViT-H SAM modelViT-L SAM modelViT-B SAM model
三种不同模型体积如下:
可以根据自己的兴趣自由使用即可。
今天就简单到这里了,后面找时间在仔细看看吧!
上一篇:pytorch 笔记:torch.distributions 概率分布相关(更新中)(pytorch torch)
下一篇:vue3 父子组件传参详解(vue3父子组件传递数组通信)
友情链接: 武汉网站建设