轻量级万物分割SAM模型——MobileSAM安装实测摘要

目录

  • 0、前言
  • 1、准备工作
    • 安装
      • python环境说明
      • 安装说明
    • 运行测试app
      • 安装依赖
      • 修改代码
  • 2、实际测试效果
    • 自带图片测试
    • 其它图片测试1
    • 其它图片测试2
  • 总结

0、前言

本文将介绍一种轻量级万物分割SAM模型——MobileSAM的安装和实测情况。SAM是meta公司的一种图像分割大模型,它可以将图像中自带分割物体,他们号称“SAM已经学会了物体的概念”,诸如此类视觉大模型是目前图像分割领域的研究热点之一。然而,SAM模型存在着模型过于庞大对平民不太友好,只能运行在不差钱的人和公司的服务器上,这对于实际应用来说是不可接受的。然而,MobileSAM出现了,诸如此类的量化模型的出现给平民带来了福音,使得模型在保证准确率的同时,运行速度更快,更加适合实际应用。本文将体验MobileSAM模型,并进行实际运行测试,看看实际运行效果。
在这里插入图片描述

1、准备工作

安装

python环境说明

安装也比较简单,直接按照github主页要求按照就可以。我这里python版本是conda2021的 3.9版本
在这里插入图片描述
我计算机的配置是:
在这里插入图片描述

安装说明

在这里插入图片描述
根据如上版本要求安装好依赖pytorch,torchvision两个依赖后,可以直接安装sam:

pip install git+https://github.com/ChaoningZhang/MobileSAM.git

运行测试app

安装依赖

运行官方自带的app,需要安装最新版本的 gradio:

pip install gradio

这里要注意,如果是conda的环境,安装完后可能会出现打不开spyder的情况,是由于gradio安装时,可能是对pyqt做了更换,可以通过重新安装spyder解决(其它环境根据实际情况而定):

pip install Spyder

在这里插入图片描述

修改代码

打开官方自带的app.py,可以发现,默认把自动分割给注释掉了,
在这里插入图片描述
不去掉的话,运行只有手动分割:

如果要自动分割,简单做法直接替换一下函数就行:

segment_with_points替换为segment_everything

在这里插入图片描述

2、实际测试效果

运行app后,点击浏览器进入url:http://127.0.0.1:7860/:
在这里插入图片描述
默认加载自带demo图片:
在这里插入图片描述

自带图片测试

点击start segmenting按钮就开始自动分割了:
在这里插入图片描述
风格结果如下:
在这里插入图片描述
由上图可知分割的整体效果还是可以的,但是比较耗时,已经超过了10秒。

其它图片测试1

在这里插入图片描述
图片信息为
在这里插入图片描述
耗时为:
在这里插入图片描述

其它图片测试2

在这里插入图片描述
图片信息:
在这里插入图片描述
消耗时间:
在这里插入图片描述
结果:
在这里插入图片描述

总结

从运行几个demo可以看出,总体上,mobilesam的分割效果还是不错的,可以对高纹理特征的物体进行有效分割。但是离实际的产品应用可能还需要进一步优化,包括识别的速度、包括准确度、和稳定性。
总之,mobilesam的出现,以及量化大模型技术的出现,给大模型端到端和平明化应用带来了希望,这点还是要感谢那些具有开源精神和具有高超编码技术的计算机大拿们,应用一位网友的话做得“功德无量,让大模型进入寻常百姓家”。我们相信,随着更多类似量化技术的贡献,低功耗、实时运行大模型的时代会快速到来的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/190772.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二分+dp:[ARC120E] 1D Party

https://www.luogu.com.cn/problem/AT_arc120_e 考虑二分时间,然后设 d p ( i , 0 ) dp(i,0) dp(i,0) 表示第 i i i 个人开头往左走,掉头后剩余步数。 d p ( i , 1 ) dp(i,1) dp(i,1) 表示第 i i i 个人先往右走,最多走多少步就有掉头。 …

css中的 Grid 布局

flex布局和grid布局区别 flex布局是 一维布局grid布局是二维布局 flex布局示例 grid布局示例 grid 布局初体验 体验地址 <div class"wrapper"><div class"one item">One</div><div class"two item">Two</div&…

Asp.net core WebApi 配置自定义swaggerUI和中文注释,Jwt Bearer配置

1.创建asp.net core webApi项目 默认会引入swagger的Nuget包 <PackageReference Include"Swashbuckle.AspNetCore" Version"6.2.3" />2.配置基本信息和中文注释&#xff08;默认是没有中文注释的&#xff09; 2.1创建一个新的controller using Micr…

开源堡垒机Jumpserver

文章目录 开源堡垒机JumpserverJumpserver介绍安装环境部署安装jumpserver访问jumpserver的web界面 开源堡垒机Jumpserver Jumpserver介绍 Jumpserver 是全球首款完全开源的堡垒机&#xff0c;使用 GNU GPL v2.0 开源协议&#xff0c;是符合 4A 的运维安全审计系统。 Jumpse…

一、个人博客搭建保姆级教程-总篇

前言 首先说明一下&#xff0c;我们这套教程主要部署的是静态网页&#xff0c;即不涉及到JavaWeb、ASP.Net这些框架。直接使用nginx托管静态网页。 主要面向的是不希望花太多时间在搭建个人博客上的小伙伴、以及非程序员的小伙伴。 前置知识 当然了&#xff0c;搭建需要一些…

项目代码规范

Web端代码规范 Vue项目代码规范 一、命名规范 1、项目名 全部采用小驼峰命名式&#xff0c;例&#xff1a;camelCase&#xff08;小驼峰式命名法 —— 首字母小写&#xff09; 2、目录名 参照项目命名规则&#xff0c;有复数结构时&#xff0c;要采用复数命名法。例&#xff…

J-LINK J-FLASH 下载STM32单片机程序使用教程

J-LINK J-FLASH 下载STM32单片机程序使用教程 Chapter1 J-LINK J-FLASH 下载STM32单片机程序使用教程1.安装提供的 JLINK驱动程序2. 点击打开 J-Flash V7.223.点击 create a new project.&#xff08;使用后可以在软件菜单File保存这个烧写工程&#xff0c;后续直接打开使用即可…

SHAP(四):NHANES I 生存模型

SHAP&#xff08;四&#xff09;&#xff1a;NHANES I 生存模型 这是一个 Cox 比例风险模型&#xff0c;基于来自 NHANES I 的数据以及来自 NHANES I 流行病学随访研究。 它旨在说明 SHAP 值如何能够以传统上仅由线性模型提供的清晰度解释 XGBoost 模型。 我们在数据中看到有趣…

Spring---Bean的作用域和生命周期

文章目录 Bean的作用域Bean的六种作用域设置Bean的作用域 Bean的生命周期Bean&#xff08;Spring&#xff09;的执行流程Bean的生命周期 Bean的作用域 我们通过一个例子来认识 Bean 的作用域&#xff1a; 假设现在有一个公共的 Bean 对象提供给用户A和用户B使用&#xff0c;然…

第9课 任务创建、删除和API函数

第9课 任务创建、删除和API函数 任务创建和删除本质是调用FreeRTOS的API函数 API函数描述xTaskCreate()动态方式创建任务xTaskCreateStatic()静态方式创建任务xTaskDelete()删除任务 动态创建任务&#xff1a; 任务的任务控制块以及任务的栈空间所需的内存&#xff0c;均由…

JOSEF约瑟时间继电器ARTD-DC110V-2H2D 0.25-2.5s导轨安装

ARTD系列断电延时继电器&#xff1a; ARTD-220VDC-1H1D断电延时继电器&#xff1b;ARTD-220VDC-2H断电延时继电器&#xff1b; ARTD-220VDC-2H2D断电延时继电器&#xff1b;ARTD-220VDC-4H断电延时继电器&#xff1b; ARTD-110VDC-1H1D断电延时继电器&#xff1b;ARTD-110VD…

SSM框架(四):SSM整合 案例 + 异常处理器 +拦截器

文章目录 一、整合流程图1.1 Spring整合Mybatis1.2 Spring整合SpringMVC 二、表现层数据封装2.1 问题引出2.2 统一返回结果数据格式 代码设计 三、异常处理器3.1 概述3.2 异常处理方案 四、前端五、拦截器5.1 概念5.2 入门案例5.3 拦截器参数5.4 拦截器链 一、整合流程图 1.1 S…

本科毕业生个人简历23篇

刚毕业的本科生如何制作一份令招聘方印象深刻的简历&#xff1f;可以参考以下这23篇精选的本科毕业生应聘简历案例&#xff01;无论您的专业是什么&#xff0c;都能从中汲取灵感&#xff0c;提升简历质量&#xff0c;轻松斩获心仪职位&#xff01;小伙伴们快来看看吧&#xff0…

代理模式简单demo(java)

1、背景 mybatis中使用了大量的代理模式&#xff0c;如果了解了代理的使用&#xff0c;可能会对阅读mybatis源码有事半功倍的效果。所以在空闲的时候整理了下java常见的代理和使用demo。 2、关键点介绍 代理模式本质上的目的是为了增强现有代码的功能&#xff0c;其分为静态…

在qt5中使用XShapeCombineRectangles编译报错

linux x11环境中&#xff0c;在qt5中使用XShapeCombineRectangles去实现鼠标穿透 引用了两个头文件&#xff1a; #include <QX11Info> #include <X11/extensions/shape.h>编译的时候会报错&#xff1a; Desktop_Qt_5_12_12_GCC_64bit-Debug/moc_mainwindow.cpp:8…

等保之道:从基础出发,解密网站防护的重要性

随着数字化时代的推进&#xff0c;网站安全问题日益凸显。网站被攻击不仅会导致信息泄漏、服务中断&#xff0c;还可能损害用户信任和企业声誉。为了更好地解决这一问题&#xff0c;我们需从等保的角度审视网站防护&#xff0c;全面提升网络安全水平。 等保背景 等保&#xff0…

C++作业4

代码整理&#xff0c; 将学过的三种运算符重载&#xff0c;每个至少实现一个运算符的重载 代码&#xff1a; #include <iostream>using namespace std;class Stu {friend const Stu operator*(const Stu &L,const Stu &R);friend bool operator<(const Stu …

抓取检测(Grasp Dection)

抓取检测 抓取检测被定义为能够识别任何给定图像中物体的抓取点或抓取姿势。抓取策略应确保对新物体的稳定性、任务兼容性和适应性&#xff0c;抓取质量可通过物体上接触点的位置和手的配置来测量。为了掌握一个新的对象&#xff0c;完成以下任务&#xff0c;有分析方法和经验…

智慧工地一体化解决方案(里程碑管理)源码

智慧工地为管理人员提供及时、高效、优质的远程管理服务&#xff0c;提升安全管理水平&#xff0c;确保施工安全提高施工质量。实现对人、机、料、法、环的全方位实时监控&#xff0c;变被动“监督”为主动“监控”。 一、建设背景 施工现场有数量多、分布广&#xff0c;总部统…

Woocommerce Private Store私人商店秘密商城插件,适合批发商店,会员制俱乐部

点击访问原文Woocommerce Private Store私人商店秘密商城插件&#xff0c;适合批发商店&#xff0c;会员制俱乐部 - 易服客工作室 WooCommerce Private Store插件是使 WooCommerce 私有的简单方法。密码保护您的整个 WooCommerce 商店并使其隐藏。 非常适合批发商店、会员制俱…