SAM(Segment Anything Model)让CV走到尽头?学CV的研究生还能正常毕业吗?怎么使用SAM?

news2024/11/27 10:19:57

SAM(Segment Anything Model)让CV走到尽头?学CV的研究生还能正常毕业吗?怎么使用SAM?

1. 引言

最近无论是在B站、知乎还是论坛、微博,都看了一些有关SAM的讨论。这个号称“CV界ChatGPT”的模型从出生起就备受各界关注。ChatGPT的开放使用一方面让大众深切体会到了顶尖团队的人工智能与“某某同学”、“小某小某”等“人工智障”的区别,另一方面也让公众对AI融入生活的期待值空前高涨。SAM恰巧诞生在这个CV界也正在寻求突破的时机,自然从出生起就伴随着争议。首先必须明确我的两个个人观点:

  • SAM强吗?——强,很强。无论是否诞生在这个时机,SAM本身的价值都是毋庸置疑的。

  • SAM会让CV走到尽头吗?学CV的研究生还能正常毕业吗?——SAM绝不会让CV走到尽头,学CV的研究生一样具有很多可能性。

2. SAM到底是什么

SAM是Facebook AI Research开发的一种计算机视觉模型。实现的功能是计CV中最常见的需求之一——分割(Segment)。分割的本质是:判断图像中的某个像素属于哪一个具体的对象。

在较新版本的PS中,已经引入了一些图像分割的应用,例如“选择主体”功能。

PS选择主体

PS可以轻松地选中图中的两条狗,但是当我放大图片尝试选择木棍时,PS显得有些乏力。

事实上,在具体的细分领域中,完成同SAM相同效果的图像分割是工程中最基础的任务之一。而SAM之所以产生了如此大的影响力,是因为SAM实现了不需要任何标注就可以完成(几乎)所有目标的分割。这也是模型的名字叫做Segment ANYTHING Model的原因。

SAM官方提供了Demo测试,演示了其强大的分割功能。我做了加个简单的测试,直接上图。

首先点击了模特的脸部,SAM分割出了男模特,精度整体可以接受。再右击男模特的身体部分(右击表示该像素点不在需要的目标内),SAM随即只选择了模特的头部。

除了基础的Segment之外,SAM的Demo还提供了一些进阶的功能。包括框选范围选择(BOX)、自动分割整张图片(EVERYTHOING)的模式,在官方提供的数据中都能达到不错的效果。再上图。

Box

EveryThing


分割线以上都是我使用官方提供的图片做的测试。SAM在一些偏激的使用场景下会有怎样的表现呢?我使用一张自己的图片做了测试。

自己的数据

图片是我之前做过的一个试验,图像中有一条亮度较高的激光线,以及若干条鱼。SAM的识别能力明显弱于在其官方数据中的表现。尤其是在边缘的识别上。点选的方式选中像素时,需要经过2-3次的调整,才能选中亮度较低的目标。使用Every Thing模式时,目标的边缘出现了较大的偏差。当然,这里所谓的”偏差“是跟”标准答案作对比的,客观地说,没有经过任何标签,能够做到这种精度的分割已经很了不起了。我同时简单标注了一些图片,使用Yolov7-segmentation标注,使用默认参数训练300 Epoch的效果与SAM零标签的效果类似。

yolov7segment

所以,SAM是一个强大的图像分割模型,能够在不进一步标注任何数据的情况下完成各种目标的分割。功能的实现除了归功于结构外,也无法忽视大数据发挥的重要作用,大力出奇迹在DL中格外适用。

PS:因为各种原因无法使用官方网站Demo的,也可以从github下载源码和模型,在本地跑测试。有需要的话我可以上传到度盘供下载。

3. 讨论:SAM真的会引发CV的巨变吗?

一些自媒体说SAM是CV界的ChatGPT,那就先让ChatGPT来回答一下这个问题吧:

每当一个新技术被提出时,总是会有一些人赶着热度唱衰整个行业。其实,SAM的出现只会将CV向前推进一步,而远不会使CV走到尽头。无论对从业者还是研究生,SAM带来的机遇都会大于挑战。

对于从业者来说:

  • SAM将Engineering的开箱即用做到了极致,SAM的生产力工具属性远远超过了其潜在的危险属性。在SAM问世之前,对于中下游的从业者来说,完成一个几乎没有学术意义的分割任务至少需要:1. 大量的图像标注工作 2. 算力说得过去的机器。而在SAM问世之后,几乎可以以零标注甚至是零代码的方式实现最基础的分割任务。

  • 可能会带来工作岗位的流失?一个真正伟大的扩时代的技术(且不论SAM有没有达到这个高度),带来的一定的工作岗位的增加,至少也该是更多应用的落地。SAM缩小了大厂、小厂之间的差距,让数据、算力都无法与大厂相比的中小型企业也有了站上CV顶端的可能性。只要思维够开阔,SAM可以带来很多便利。

对于CV研究生来说:CV很卷是事实,有一些人开始跑路也是事实。但是如果因为听信了一些自媒体鼓吹的SAM使CV走到了尽头,CV的研究生将无法毕业,那实在是过于悲观了。

  • 虽然SAM的作者们在朝着Segment Everything 的方向努力,但是真正的Segment Everything时代还没有来临(即使来临了,CV也不会走到尽头)。这是因为CV语义几乎可以无限细分,一些特定领域的分割语义是罕见、冷门甚至是自定义的。这些语义之间的逻辑关系错综复杂,目前的环境下很难通过一张图片来分割出所谓的Everything。

  • CV具有语义稀疏性、域间差异性和无限粒度性等天然的难题。例如,当前的图像识别、分割研究存在的一个问题是,当识别的粒度增加时,识别的确定性必然下降,也就是说,粒度和确定性是冲突的。举例说,在ImageNet中,存在着“家具”和“电器”两个大类;显然“椅子”属于“家具”,而“电视机”属于“家电”,但是“按摩椅”属于“家具”还是“家电”,就很难判断——这就是语义粒度的增加引发的确定性的下降。这还仅仅是继续针对分割而言的,即使今天Meta已经将分割做到了无懈可击,CV也不至于走到了尽头。

  • 不指望在任何分支领域做出突破,只想安安心心混个毕业?那SAM是否问世就更没有关系了。趁着SAM的热度还在,蹭一波热度应用到自己的领域中发几篇文章他不香吗?

4. SAM还能怎么用?

  • 与自动标签工具结合。SAM强大的分割功能最先让人想到打标签时的窒息。将SAM与标签工具结合,可以大大提高生产力。我已经在github上看到一些类似思路的工具,不过还没有试用,有需要可以自行检索。如果能够加上团队协作的功能就更完美了~。
  • 与AI绘画结合。前段时间很火的Stable Diffusion可以跟SAM做一个比较好的融合,尤其是在重绘功能的绘制蒙版时,可以进一步提高自动化的程度。
  • 给Idol换件衣服是不是也不错哈哈哈,这也是基于SAM的一个开源库,叫做Grounded-Segment-Anything

更多用法欢迎交流~~

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

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

相关文章

x86中断基础

x86中断基础 原文:Basic x86 interrupts 作者:Alex Dzyoba 原文发表日期:2016年4月2日 在我的关于多重引导内核的文章中,我们看到了如何加载内核、打印文本,然后停止。然而要让操作系统可用,需要支持键…

[chapter 26][PyTorch][MNIST 测试实战】

前言 这里面结合手写数字识别的例子,讲解一下训练时候注意点 目录 训练问题解决方案参考代码一 训练问题 训练的时候,我们的数据集分为Train Data 和 validation Data。 随着训练的epoch次数增加,我们发现Train Data 上精度 先逐步增加,但…

协议篇之以太网ARP协议

协议篇之以太网ARP协议一、什么是ARP协议?作用是什么?二、ARP请求与ARP应答三、以太网ARP数据报格式四、总结一、什么是ARP协议?作用是什么? ARP(Address Resolution Protocol),地址解析协议&am…

GUID分区与MBR分区有什么区别? 操作系统知识

GUID分区与MBR分区有什么区别? 操作系统知识 1、MBR分区表类型的磁盘 主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,它仅仅包含一个64个字节的硬盘分区表。由于每个分区信息需要…

以ChatGPT为例进行自然语言处理学习——入门自然语言处理

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三…

Python办公自动化之PostgreSQL篇2——利用Python连接PostgreSQL并读取一张表

在上一篇我们已经安装好了最新的PostgreSQL,以及最方便的可视化工具,Navicat 如果错过的小伙伴,可以去上一篇查看:点我查看 今天我们来用Python连接一下PostgreSQL,然后准备一张测试表,导入PostgreSQL&am…

elasticsearch 拼音分词器 自动补全。

elasticsearch 拼音分词器 & 自动补全。 文章目录elasticsearch 拼音分词器 & 自动补全。2. 自动补全。2.1. 拼音分词器。2.2. 自定义分词器。2.3. 自动补全查询。2.4. 实现酒店搜索框自动补全。2.4.1. 修改酒店映射结构。2.4.2. 修改 HotelDoc 实体。2.4.3. 重新导入。…

Shader Graph10-Min, Max, Clamp, Saturate节点

打开UE,新建Material叫做DemoMinMaxClamp,双击打开 一、Minimum节点,两个值比较取较小的。 Min的含义是,红框的0.5为参数B的值,1.0为白色圆形的值,下面的0.5为背景颜色值。图片中每个像素值与0.5进行比较&a…

java基于mvc的停车收费系统mysql

系统需要解决的主要问题有: (1)车位管理模块 添加车位、查看车位状态、车位信息查询等。 (2)客户信息管理模块 客户基本信息录入、客户信息查询等。 (3)卡业务办理 添加卡信息、查余额查询、卡充值。 (4)车辆信息管理模块 车牌信息录入等。 (5)收费管理 可以调整相应…

【Java 数据结构】集合类 (精华篇)

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

一本通 3.4.3 图的连通性

1383:刻录光盘(cdrom) 【题目描述】 在FJOI2010夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学习。组委会觉得这个主意不错!可是组委会一时没有足够的空光盘&#xff…

数学术语——指数的发展历程

指数的发展历程 指数(exponents)的历史可以追溯到许多世纪以前,欧几里德(Euclid)被认为是第一个已知的指数用法。他用“幂(power)”这个词来表示我们今天所知的一个数自乘的次数(注:底数连同其右上角的指数一起的整体形式称为“幂”)。古希腊数学家使用…

寄存器:计算机中的小而强大的存储器件

目录 什么是寄存器? 寄存器的作用 提高计算机的性能 存储处理器需要快速访问的数据 存储函数调用时的参数和返回值 存储中间计算结果 寄存器的种类 程序计数器 指令寄存器 状态寄存器 通用寄存器 寄存器的进化过程 寄存器:计算机中的小而强大…

Linux操作基础(文件系统和日志分析)

文章目录一、inode与block1.1inode和block概述1.2 inode包含文件的元信息1.3 linux文件系统的三个时间戳1.4 inode的号码1.5 inode的大小1.6 inode号的特点1.7软连接与硬链接二 、文件恢复2.1 xfsdump恢复2.2 opic恢复方式三 、日志文件3.1 日志文件的分类3.2 日志的格式3.3 常…

大数据分析案例-基于决策树算法构建信用卡违约预测模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

定制你的专属大模型 Finetuner+体验开启!

如 ChatGPT、GPT4 这样的大型语言模型就像是你为公司请的一个牛人顾问,他在 OpenAI、Google 等大公司被预训练了不少的行业内专业知识,所以加入你的公司后,你只需要输入 Prompt 给他, 介绍一些业务上的背景知识,他就能…

Flink学习:Flink如何打印窗口的开始时间和结束时间

Window一、简介二、代码实现三、测试一、简介 大家知道,Flink用水位线和窗口机制配合来处理乱序事件,保证窗口计算数据的正确性,当水位线超过窗口结束时间的时候,就会触发窗口计算 水位线是动态生成的,根据进入窗口的最大事件时间-允许延迟时间 那么窗口的开始时间和结束时间…

力扣70爬楼梯:思路分析+优化思路+代码实现+补充思考

文章目录第一部分:题目描述第二部分:思路分析2.1 初步分析2.2 问题描述2.3 优化思路第三部分:代码实现第四部分:补充思考第一部分:题目描述 🏠 链接:70. 爬楼梯 - 力扣(LeetCode&am…

“衰老标志物”重磅综述:细胞衰老、器官衰老、衰老时钟及其应用

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 随着人口老龄化程度不断加深,实现“健康老龄化(healthy aging)”已成为我国乃至世界迫切需要解决的重大社会和科学问题。据测算,我国60岁及…

LVGL界面开发之模拟器环境搭建

前言 通常我们在使用 LVGL 进行界面开发时,会先在PC上搭建模拟器环境,而不是直接烧录到硬件板子上,使用模拟器是百利而无一害的,而且它是跨平台的,任何Windows,Linux或macOS系统都可以运行PC模拟器。每当界…