卷起来用英语怎么说(Segment Anything Model (SAM)——卷起来了,那个号称分割一切的CV大模型他来了)
最近每天打开微信看到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.git cd 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, SamAutomaticMaskGenerator mask_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 model
ViT-L SAM model
ViT-B SAM model三种不同模型体积如下:
可以根据自己的兴趣自由使用即可。
今天就简单到这里了 ,后面找时间在仔细看看吧!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!