大模型机器视觉新突破,SAM进化版SAV来了:分割一切视频!开源!

2023/7/20 14:43:05     

今年4月,Meta的AI模型Segment Anything Model(SAM,分割一切模型)发布,一键轻松实现图像分割。

mnggiflab-compressed-640 (1).gif

SAM图像分割(图片来源:SAM)

SAM模型之所以在计算机视觉领域产生重要影响,是因为图像分割是许多任务中的基础步骤,比如自动驾驶、人脸识别、车牌识别等都有用到。

在这些应用过程中,从目标检测、分割再到识别的整个流程,由算法自动完成,无需人工干预,而SAM模型正是专攻其中的图像分割。

虽然SAM是图像分割的代表性模型,但不可避免存在以下短板:

1.它能够处理图片分割,但是不能处理视频,尤其是不能对视频里边移动的物体做连续追踪。

2.它能分割,但是并不认识所分割的区域到底是什么。

3.它存在过度分割的问题,经常把一个完整的物体分割成不同的部分,而人是把目标作为整体看待的。

SAV模型

现在,云创数据(835305.BJ)在SAM和YOLOv8的基础上,“分割一切”模型的进化版——分割一切视频Segment-Any-Video(SAV)来了,进一步丰富了计算机视觉成果。

640.png

SAV模型(图片来源:SAV

作为一种新的图像、视频分割方法,SAV可以在图片或视频中实现全自动标注,一键分割物体。

同时,基于Zero-Shot Transfer(零样本迁移),SAV无需额外训练,即使是训练库中没有的图片,也可以实现轻松分割。

与SAM相比,SAV升级主要表现在以下方面:

1.既可以分割图片,也可以分割视频;

2.可以明确目标对象并打标签;

3.可得到语义上完整的目标区域。

640 (1).png

SAV与SAM图像分割对比结果(图片来源:SAV)

从上图可以看出,SAV将巴士、小汽车等分割成一个个完整的区域,而SAM是把这些单个的物体又分割为不同的区域。

除了图片以外,通过SAV,视频也可以进行清晰的目标分割和追踪:

mnggiflab-compressed-640 (12).gif

人群与机动车场景的分割及跟踪(图片来源:SAV

微信截图_20230720133803.png

空中作战场景的分割及跟踪(视频来源:SAV

示例

现在,我们在网页版 demo (http://sav.cstor.cn)上体验一下SAV,可以直观地感受SAM和SAV两者的差异。

在首页可任意选择一张示例图片,也可从本地上传图片,然后点击Segment按钮,就可以同时得到SAM和SAV的结果。

640.png

demo首页示例图片(图片来源:SAV

640 (1).png

640.png

分割结果:左侧为SAM,右侧为SAV(图片来源:SAV

如果需要观察某个实例的详细效果,鼠标放置原图,移动鼠标即可。

640.gif

640 (1).png

移动鼠标查看详细分割效果(图片来源:SAV

在上图中,由SAV分割的两只小狗是完整而独立的色块,并不像左边分割结果所展示——小狗耳朵颜色和身体部分颜色不一,不是完整的目标对象。同时,SAV分割的两只小狗都打上了“dog”的标签。

需要说明的是,本项目只关注算法自动分割的应用场景,所以SAV无需人工输入点、曲线、矩形框等提示信息。

更多示例如下:

640 (3).png

640 (4).png

640 (5).png

640 (2).png

图片分割结果对(图片来源:SAV

640 (1) (1).gif

行车记录仪视角的分割及跟踪(图片来源:SAV

原理

如前所述, SAM的自动分割不返回标签信息,并且一个实例(例如,一辆车)可能会被拆分成多个小区域。

640 (6).png

自动分割模式下,SAM不返回标签信息,车辆被分割成多个区域(图片来源:SAM)

基于此,研发团队在SAM的基础上加入YOLOv8检测模型,YOLOv8返回的结果中包含目标框、类别及置信度,目标框可作为提示信息输入到SAM,类别名称即为标签,因此SAM加YOLOv8可有效地解决上述问题。

该方法同样可用于视频分割任务,与处理单幅图像不同的是,除了分割,我们通常更关心目标的运动轨迹、目标重识别,以及如何实现一键抠视频等。因此研发团队在SAM和YOLOv8的基础上加入跟踪算法,持续关注感兴趣的目标,这样比单纯地分割每帧图像更有实际意义。

考虑到使用了目标检测模型,在跟踪方面,研发团队选择Tracking-By-Detection(TBD) 范式的跟踪方法,例如BoTSORT,而TBD是目前多目标跟踪任务中特别有效的范式。

图像分割

使用YOLOv8做前向推理,获得n个目标框,将这n个目标框作为提示信息输入到SAM模型并推理,即可完成目标框的实例分割并且得到n个对应的掩膜,然后对这n个掩膜取并集,结果记为m。

640 (8).png

使用YOLOv8做前向推理(图片来源:SAV

然后使用SAM做一次全局自动分割,将此时得到的掩膜图像记为m2。

640 (7).png

使用SAM做全局自动分割(图片来源:SAV

由于YOLOv8无法检测到它不能识别的物体,可以设置两个超参数来确定新的物体,即未知区域与检测区域的交并比r,以及未知区域的像素个数n。具体而言,按面积对m2中的区域作降序排序,依次取出其中的区域,然后分别与m计算交并比,若交并比r小于0.3且该区域的像素个数n大于100,则认为该区域是一个新的物体。按照此方法处理m2中的所有区域,即可完成SAV分割单幅图像的全部流程。

640 (9).png

SAV分割单幅图像图片来源:SAV

视频分割

SAV视频分割的原理可以简单描述为:

1.使用YOLOv8检测某帧图像中的所有目标;

2.使用跟踪算法预测后续帧中的目标框;

3.根据检测到的目标框与当前轨迹集合相关联,获得每个目标的id;

4.将目标矩形框输入SAM,进行实例分割。

重复上述1~4步骤,实现视频分割。


640.jpg

SAV视频分割算法框架图(图片来源:SAV)


效果展示

640 (10).png

图像分割对比(图片来源:SAV)

640 (11).gif

MOT挑战赛视频分割与跟踪(图片来源:SAV)


可以看出,SAV能够很好地解决文章开头提到的SAM存在的问题。

潜在用途

无人驾驶。特斯拉无人驾驶汽车经常会把树桩或者墓碑当成行人,这个对于无人驾驶来说是不利的,因为如果是电线杆子在路边的话,我们没必要让无人驾驶汽车减速,但如果是一个行人准备过马路的话,那么就需要预先作出处理。SAV可以有效地解决这种问题。

无人机自主飞行。无人机自主飞行在密林中或者建筑物中,需要对所有的目标进行识别,并且做出恰当的反应。SAV将大大提高这种智能水平。

机器人视觉。机器人行走在工厂或者街上的时候,如果不认得障碍物,不认得道路,不认得其他移动的物体,那将寸步难行。SAV将为机器人装上智慧的眼睛。

重点区域防护。可连续追踪和识别每个目标,结合其他的算法对目标的身份和行为进行识别。确保重点区域的的每一个人,每一辆车都在管控的范围内。

公司简介:

云创数据是处于软件和信息技术服务行业的高新技术企业,针对爆炸式增长的大数据人工智能需求,公司研发了具有自主知识产权的 “智能存储平台”、“大数据处理平台”和“人工智能云平台”三大平台,并在此基础上以 算法生成模型,由模型验证算法,研发出可以不断自我优化的“核心算法+模型库”智能成 长模式,作为企业技术核心能力。终,构建出具有特色和竞争力的核心产品体系,面向不同市场领域客户提供完整的大数据存储与智能处理解决方案,形成了自底而上的大数据人工智能全产业链架构。