CV | Semantic Co-segmentation in Videos 视频协同语义分割


前言:这篇文章发表在ECCV2016上,之前读过同一作者的CVPR2016的Object Flow,最近因为做了报告,就顺便整理学习笔记了,欢迎大家一起讨论。


视频的协同语义分割

这个方向相关的文章还不多,是比较新的研究领域。从字面上理解,即对视频集进行协同分割的同时,进行语义分割,为输出的分割结果添加语义标签。大致效果借用论文里的插图,如下所示。


图中对比三个方法的分割结果,最后一列为本文方法,对于输入的三组视频,同时输出三组视频的分割结果,即为协同分割,协同语义分割则为这些分割结果加上语义标签,如图中的大象、长颈鹿、狮子等等。

摘要 / 贡献点

本文主要的贡献在于提出了一个视频协同语义分割算法,该算法主要分为以下三个部分:
  • 1. 使用FCN(全卷积网络)得到初始分割结果及所属类别语义分值。
  • 2. 基于分割结果跟踪生成语义轨迹链Tracklet。
  • 3. 对Tracklet进行子模优化,筛选出具有高相似度和精确分割结果的Tracklet以得到最终的语义分割结果。

现有工作对比

1. 视频目标分割 / 协同分割

  • 目前比较常见的视频分割算法都是基于proposals或通过传递前景信息进行的。
  • 协同分割算法大多假设输入视频中至少包含一个共同的目标。

而本文提出的方法不同点在于不依赖任何假设和proposals,并且不限制分割的目标种类和数量。

2. 弱监督的目标分割算法

目前大多的弱监督目标分割算法,已知待分割的目标类别,因而分割效果较优而受到关注。该类目标分割算法可分为训练类和非训练类:基于训练的方法依赖于训练样本;而费训练类方法依赖于目测检测算法或proposals。

作者指出本文的方法是无监督的,不依赖于proposals,而是使用子模优化图结构得到不同视频中的分割结果。

整体框架

本文提出方法的整体框图如下,除去FCN预处理得到的初始化分割结果,方法主要由两部分组成。


算法大致流程是:输入多段视频后,FCN处理得到的初始化的多段视频的每帧分割结果,对其进行聚类后分别对每一类别的分割结果生成tracklet,然后基于子模函数进行优化,选择出相似性高且分割性好的轨迹链tracklet,得到最终结果。

生成语义链 Semantic Tracklet Generation

这个部分主要分为三个部分:


1. 初始化:使用FCN全卷积网络得到每一帧的语义分割结果。

2. 聚类:对得到的分割结果进行聚类,本文提出的方法属于无监督,视频包含目标类别位置,所以使用mean-shift算法进行聚类,然后选出前N大的聚类结果。

3. 跟踪生成语义链:
这部分对聚类结果的每一类目标分割结果,采样选择几帧作为语义链的初始化输入。确保每个初始化输入都相隔20帧以内,以保证跟踪质量。形成语义链的关键点在于对每个初始化都进行前后扫描,这样可以有效解决目标出现遮挡的问题,如下图所示。最终每个类别都生成两条语义链。



本阶段输出:每个类别2N条语义链。

为优化前后帧分割结果,定义CRF能量方程求解,因为定义比较常规不做太多解释。公式如下:


语义链协同选择

上一步骤的输出:每个视频的多条轨迹链tracklet,分别属于不同类别。

这一步骤的目的:选出更可靠的轨迹链tracklet,得到优化的分割结果。

本文选择子模优化方法以得到较优的分割结果。给出子模函数之前,需要构建图结构,本方法针对所有视频中出现的每个类别的轨迹链分别建图。定义图结构,G=(V,E),V为图节点,此处为一条轨迹链,E则为具有相关性的相信轨迹链边集。设共有M个类别的分割目标,L={1,2,...,M},对于每个类别l∈L都有初始化轨迹链集合O,目标链集合A。

子模函数定义目标为求解得到,同一类别中的轨迹链:1)具有更为相似的特性;2)具有更好的分割结果。分别对应为一个facility项(翻译为设施项的话= =)和一个unary项(数据惩罚项)。

facility项

这一项的定义为了找到更加相似的节点,沿用子模优化中常见的灭火器模型,定义如下:

其中wij为每个待选设施节点vi(即本文要选出的较好轨迹链)和当前节点vj的相似性,若这两个节点很相似则对应的wij值很大。第二项为代价值,即为要选择vi需要付出的代价值,越小则F(A)的值越大。

unary项

这一项的定义为了找到分割质量高的节点,与常规的unary项类似,定义如下:

其中,fai_o是为了衡量vi属于某一目标类别的objectness score,fai_m是衡量运动一致性,而fai_s衡量形状一致性。U(A)越大则说明分割质量越高。

子模函数优化

要得到更具相似性和分割质量高的tracklet:

可以理解为,最大化得到A,则得到最佳的结果。这个步骤用贪心算法求解,大致流程如下图所示:
(其中H(Ai)为第i次迭代得到的能量增量值;N是节点总数。)


下图为贪心优化过程的一个示例图。假设此时共有三个节点tracklet具有很高的相似性,从图中可以看到similarity的值都是80+,目前的策略已经左边两个节点选入A集合(图中标亮的节点)。判断第三个节点是否选择,虽然有较高的相似性,但unary term即衡量分割结果质量的分值较低只有29.7,所以最终决定不选择该节点。


实验结果

本文方法分别在Youtube-Objects Dataset、MOViCS Dataset和Safari Dataset上进行评测,都取得了不错的效果。下面贴几张实验结果图吧。





总体说来,本文的创新点在于没有依赖proposals对多个视频进行协同语义分割。对帧与帧之间的分割结果进行轨迹链的双向跟踪,较好地解决了遮挡问题。子模函数的优化筛选出较优的实验结果。


欢迎大家一起学习讨论啊!


题外话:有一个没有午睡的中午。。。话说最近想做的事情太多,很有可能都做不好,是不是应该放下一些,好好做好眼前事,一件件慢慢来。

题外题外话:即将周末,又即将放假,放空一下自己吧!

觉得写得不错就点赞吧!*^_____________________________^*






  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值