大模型机器视觉新突破,sam进化版sav来了:分割一切视频!开源! -凯时游戏官方网站

2023-07-19 16:18
浏览:1764

  今年4月,meta的ai模型segment anything model(sam,分割一切模型)发布,一键轻松实现图像分割,难怪网友直呼太强。

 

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

 

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

 

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

 

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

 

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

 

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

 

  一、sav模型

 

  现在,云创数据(835305.bj)在sam和yolov8的基础上,“分割一切”模型的进化版——分割一切视频segment-any-video(sav)来了,进一步丰富了计算机视觉成果。

 

图片sav模型(图片来源:sav)

 

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

 

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

 

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

 

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

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

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

 

图片sav与sam图像分割对比结果(图片来源:sav)

 

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

 

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

 

  二、示例

 

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

 

  在尊龙凯时人生就是博首页可任意选择一张示例图片,也可从本地上传图片,然后点击segment按钮,就可以同时得到sam和sav的结果。

 

demo尊龙凯时人生就是博首页示例图片(图片来源:sav)

 

图片分割结果:左侧为sam,右侧为sav(图片来源:sav)

 

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

 

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

 

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

 

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

 

  更多示例如下:

 

 

 

图片图片分割结果对比(图片来源:sav)

 

  三、原理

 

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

 

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

 

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

 

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

 

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

 

  图像分割

 

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

 

使用yolov8做前向推理(图片来源:sav)

 

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

 

使用sam做全局自动分割(图片来源:sav)

 

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

 

sav分割单幅图像(图片来源:sav)

 

  视频分割

 

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

 

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

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

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

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

 

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

 

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

 

  效果展示

 

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

 

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

 

  四、潜在用途

 

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

 

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

 

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

 

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

 

  五、更多

 

  目前,sav模型已开源,并在github正式上线。感兴趣的朋友可以点击【阅读原文】或者直接前往https://github.com/cstor-cdeep/segment-any-video了解,也欢迎向研发团队订制更高性能的大模型算法,凯时游戏官方网站的联系方式如下:

 

  联系人:张先生

  邮箱:zhangkun@cstor.cn

  手机:15895885574(微信同号)

 

  参考文献

  [1] kirillov a, mintun e, ravi n, et al. segment anything[j]. arxiv preprint arxiv:2304.02643, 2023.

  [2] dillon reis, jordan kupec, et al. real-time flying object detection with yolov8[j]. arxiv preprint arxiv:2305.09972, 2023.


网站地图