未完待续综述:用于视频分割(Video Segmentation)的深度学习

Posted EDPJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未完待续综述:用于视频分割(Video Segmentation)的深度学习相关的知识,希望对你有一定的参考价值。

A Survey on Deep Learning Technique for Video Segmentation

0. 摘要

本文回顾视频分割的两条基本研究路线:视频目标分割(object segmentation)和视频语义分割(semantic segmentation)。本文介绍它们各自的task setting、背景概念、感知需求、发展历史以及主要挑战。本文详细概述相关的方法和数据集的代表性文献。本文在一些知名的数据集上对这些方法检测(benchmark)。最后,指出这些领域的opne issue以及未来的研究方向。

1. 简介

视频分割(找出视频中具有特殊性质或者语义(semantics)的关键目标)是计算机视觉(computer vision,CV)中基础且有挑战性的的问题。它有无数潜在的应用:自动驾驶、机器人、监控(surveillance)、社交媒体、AR、电影制作以及视频会议。

这个问题已经被传统的CV和机器学习(machine learning,ML)方法解决。包括:

  • hand-crafted features (e.g., histogram statistics, optical flow, etc.)
  • heuristic prior knowledge (e.g., visual attention mechanism, motion boundaries, etc.)
  • low/mid-level visual representations (e.g., super-voxel, trajectory, object proposal, etc.)
  • classical machine learning models (e.g., clustering, graph models, random walks, support vector machines, random decision forests, markov random fields, conditional random fields, etc.)

最近,深度网络(DNN),尤其是全卷积网络(FCN)在视频分割取的巨大进展。相比于传统方法,这些基于深度学习(Deep Learning,DL)的(Video Segmentation,VS)算法有更高的精度(有时甚至更有效)。 

全卷积网络(fully convolutional network,FCN)采用卷积神经网络实现了从图像像素到像素类别的变换。与卷积神经网络有所不同,全卷积网络通过转置卷积(transposed convolution)层将中间层特征图的高和宽变换回输入图像的尺寸,从而令预测结果与输入图像在空间维(高和宽)上一一对应:给定空间维上的位置,通道维的输出即该位置对应像素的类别预测。

现在大多数的研究视角狭隘,例如,只关注视频的前景/背景分割。本文系统地介绍了VS的最新进展,跨度从任务公式化(task formulation)到分类(taxonomy)、从算法到数据集、从未解决的问题到未来的研究方向,涵盖的关键点包括:

  • 任务类别(前景/背景分离、语义分割)
  • 推断模型(自动的、半自动的、交互的)
  • 学习方式(监督、无监督、弱监督)
  • 澄清术语(减背景法(background subtraction)、运动分割(motion segmentation))

本文主要关注VS两个主要分支(目标分割、语义分割)的最新进展,之后会分为八个子领域。本文参考来自有名望的期刊和会议中有影响力的作品,也包含其他领域(例如:视觉跟踪)中非深度学习的视频分割模型和文献。

上图是本文回顾的视频分割任务:

  • 目标级自动视频目标分割(object-level AVOS)
  • 实例级自动视频目标分割(instance-level AVOS)
  • 半自动视频目标分割(SVOS)
  • 交互式视频目标分割(IVOS)
  • 语言引导的视频目标分割(LVOS)
  • 视频语义分割(VSS)
  • 视频实例分割(VIS)
  • 视频全景分割(video panoptic segmentation,VPS)

上图是本文的结构。

2. 背景

2.1 问题公式化和分类学

令 X 和 Y 分别表示输入空间和输出的分割空间,基于深度学习的VS就是要找到一个理想映射

2.1.1 视频分割(VS)的类别

基于如何定义输出空间Y,VS大致可分为两类:VOS、VSS。

视频目标(前景/背景)分割(VOS):Y 是一个二值的前景/背景分割空间。VOS应用于视频分析以及编辑场景,例如:移除电影中的目标、基于内容的视频编码、视频会议中生成虚拟背景。

视频语义分割(VSS):图像语义分割向时空(spatio-temporal)域的直接扩展。目标是从视频中提取属于预定义语义类别(例如:车、建筑物、人行道、道路)的对象。因此,Y 对应一个多类别的语义解析(parsing)空间。VSS是许多应用的的感知基础,这些应用要求对环境的高度理解,例如:机器人感知、人机交互、自动驾驶。

评论:VOS和VSS有相同的挑战,例如:快速移动和目标遮挡(object occlusion)。不同的应用场景有不同的挑战。例如:VOS通常关注人类创造的媒介,这些媒介具有较大的镜头移动、变形和外观变化;VSS通常关注像自动驾驶这样的应用,要求精度和时延的权衡、对小目标精确地探测、模型的并行性、跨域泛化能力。

2.1.2 视频分割(VS)的推断模式(Inference Modes)

基于人类参与推断的程度,VOS又被进一步分成三类:自动、半自动、交互式。

自动视频目标分割(AVOS):又被成为无监督VS、zero-shot VS。它自动执行VOS,且不需要手动初始化。

半自动视频目标分割(SVOS):又被称为半监督学习、one-shot VS,通过有限的人类监督(通常在第一帧提供)找出所需的目标。典型的人类输入是在视频第一帧的目标掩模(mask),这种情况下,SVOS也叫做像素跟踪,或掩模传播。从这个角度来看,语言引导的视频目标分割(LVOS)是SVOS的一个分支,其中,人类输入是关于所需对象的语言描述。与AVOS相比,SVOS定义target objects更灵活,但需要人工输入。

交互式视频目标分割(IVOS):一旦target确定,SVOS就自动运行;而IVOS的进程需要人为引导。

与VOS不同,VSS是自动模式,除了少量早期方法使用半自动模式,例如:label propagation。

2.1.3 视频分割(VS)的学习方法

根据训练策略,基于DL的VS可以分为三个类别:监督、半监督、弱监督。

监督学习:完全使用labelled data学习,使模型输出贴近label。 

无监督(自监督,self-supervised)学习:完全使用unlabeled data学习。无监督学习包括完全无监督学习(不需要任何label)和自监督学习(不需要人工标注,使用自动生成的伪标签(pseudo labels)训练网络)。几乎所有现存的无监督VS都是自监督学习。

弱监督(weakly-supervised)学习:使用有限数目的labelled data学习,且该label易于标注,例如:边界。

2.2 历史和术语

VS的早期尝试是video over-segmentation:基于特定区域像素强度的不连续性和相似性。典型的方法包括:hierarchical video segmentation,temporal superpixel,super-voxels。这些方法适用于视频的预处理,但是不能解决目标级的分割问题。因为它们不能把分层(hierarchical)视频分解为二值分割

二值分割:首先把图像转换成灰度图像,然后设置一个用来进行二值分割的阈值,再遍历灰度图像的每个像素点。如果该像素点的灰度值大于阈值,就将该像素点灰度值设为255,如果该像素点的灰度值小于阈值,就将该像素点灰度值设为0。

为了从视频序列中提取前景目标,在70年代后期,减背景法(background subtraction)出现了。 他们假设背景是先验已知的,并且相机是静止的或经历可预测的、参数化的2D或具有3D视差的3D运动。这些基于几何的方法非常适合特定的应用场景,如监控系统,但它们对模型选择(2D或3D)敏感,无法处理相机非确定移动的场景。

视差(parallax):从不同位置观察物体所产生的位置或方向上的差别

运动分割(motion segmentation):寻找运动的目标。减背景法可视为运动分割的特例。然而,大多数运动分割模型是基于运动分析、因子分解和统计技术建立的,这些技术在相机运动模式未知的情况下对运动场景的特征进行建模。

轨迹分割(trajectory segmentation):运动分割的一种。轨迹由多个帧上的跟踪点生成,表示长期的运动模式,可作为分割的信息提示。基于运动的方法严重依赖于光流估计的准确性,并且当物体的不同部分表现出不同的运动模式时,可能会失败。

光流(optical flow):分析运动图像的重要方法,指时变图像中亮度模式的运动。因为当物体在运动时,它在图像上对应点的亮度模式也在运动。(百科

在分析光流时,需要用到两个重要假设:1.对象的像素强度在连续帧之间不会改变。2.相邻像素具有相似的运动。(参考

AVOS可以克服上面所说的限制。一些方法在视频的每一帧中生成大量候选目标,并将分割视频目标的任务转化为目标区域选择的问题。这些算法的主要缺点是计算量大以及复杂的目标推断。还有一些人探索了启发式假设,如visual-attention和运动边界,但在启发式假设不成立的场景中很容易失败。 

启发式(heuristic): “自我发现的能力”或“运用某种方式或方法去判定事物的知识和技能”

运动边界(motion boundary):提取运动物体的边界信息(轮廓)

早期的SVOS通常依赖于光流,且和目标跟踪很像。此外,IVOS在大量的人类指导下完成高质量视频分割任务。SVOS和IVOS的灵活性和准确性的代价:由于人工参与,不可能大规模使用。

由于VSS任务的复杂性,在DL时代之前,相关研究很少。该方法主要依赖于有监督的分类器(例如,SVM)以及video over-segmentation

综上,相比于以往的方法,基于DL的方法进一步提升了VS的性能。

2.3 相关研究领域

视觉跟踪:为了推断时变目标的位置,现有方法通常假设目标在视频的第一帧就已经被圈定了。视觉跟踪和VS有一些共通的挑战(例如:目标/相机运动、外观改变、目标遮挡等),这促使了它们的联合使用。

图像语义分割:端到端图像语义分割的成功促使VSS快速发展。最近的VSS基于时间连续性提升分割的精度和有效性,而不是对视频逐帧的使用图像语义分割。

视频目标检测:为了进行视频目标检测,视频目标检测器使用了框或特征级的时间线索。视频目标检测和(实例级)视频分割之间存在许多关键技术步骤和挑战,如目标建议(object proposal)生成、时间信息聚合和帧间目标关联。

目标建议(object proposal)的基本思路就是在图像上找到一些潜在的目标,而不是穷举!然后将这些潜在的目标输入目标识别模型进行分类。

3. 基于深度学习(DL)的视频分割(VS)

3.1 基于DL的视频目标分割(VOS)

VOS从视频序列中提取通用前景对象,而不考虑语义类别识别。基于人工参与度,VOS分为AVOS、SVOS、IVOS。

3.1.1 自动视频目标分割(AVOS)

现代的AVOS以数据驱动的方式学习通用视频目标模式。

上图是一些AVOS技术的特点,其中的Instance表示instance级或者object级的分割。 

基于DL的方法

  • 2015年,Fragkiadaki做出了早期的努力。他学习了一个多层感知器来对propoasl segments进行排序并推断前景目标。
  • 2016年,Tsai提出了用于AVOS和光流估计的联合优化框架,该框架使用了一个预训练分类网络的深度特征。
  • 后来的方法,基于帧或光流预测初始的、像素级的前景,尽管仍需要一些后续步骤。
  • 基本上,这些原始解决方案主要依赖于传统的AVOS技术;神经网络的学习能力尚不充分。

基于像素实例Embedding的方法:首先生成像素级实例embeddings,然后选择聚类为前景或者背景的代表性embeddings。最终,被采样embeddings的label被传播给其他embeddings。聚类和传播是无监督的。虽然使用了较少的注释,但这些方法的却是支离破碎且复杂的。

基于短时信息编码的端到端的方法

  • 卷积递归神经网络(CRNN,CNN用于特征提取,RNN基于特征预测)用于学习时空视觉模式。
  • 双流法(two-stream):构建并行双流从图像和光流中提取特征。双流特征融合(feature fusion)之后用于分割预测。双流法充分利用了外观和运动信息,代价是光流的计算以及大量需要学习的参数。

这些端到端的方法提升了精度,并且显示了使用神经网络的优势。然而,它们只考虑了有限时间跨度内的局部内容:提取少量连续帧中的外观和运动信息作为输入,忽视了间隔较远帧的关系。虽然通常使用RNN,但它们的内部隐藏内存(internal hidden memory)在建模长期依赖性时造成了固有的限制。

基于长时语境编码的端到端的方法:目前领先的AVOS使用长时间跨度上的全局语境(global context)。

  • Lu提出了基于Siamese结构的模型:提取任意成对帧的特征,然后通过计算像素级特征相关性来获取cross-frame context。
  • 另一个同时期的方式有相似的思想,但是只是把第一帧作为参考。
  • 还有一些扩展研究改进对多个帧中信息的使用、编码空间语境、结合时间连续性,从而提升表示能力(representation power)和计算有效性。

基于无/弱监督的方法:只有少数AVOS使用无/弱标签数据训练。

相比于VS data,更容易获取的静态图像目标分割和动态注视data被用于学习通用的视频目标模式。

通过探索视频在多个粒度(granularity)上的固有属性来学习视觉模式,例如:帧内显著性(saliency,)、短时视觉连贯性、长程语义对应性、视频级辨别性。

通过最小化目标的运动与其语境之间的互信息,开发了一种对抗性(adversarial)语境模型来分割运动目标,且无需任何手动注释。还可通过自举(bootstrapping)策略和强制时间连续性进一步增强该方法。

对运动专门研究用于发现移动的目标,并且基于Transformer的模型使用未标记视频数据的自监督流重建(self-supervised flow reconstruction)来设计和训练。

实例级AVOS方法:又称为多目标无监督视频分割。这个任务更有挑战性,因为它不止需要把多个前景从背景中分离出来,还要区分不同的实例目标。目前该任务的解决办法是从宏观到微观(top-down)的办法:生成每一帧的候选目标,然后联合不同帧的实例。

综上,目前的实例级AVOS遵循古典的通过检测进行跟踪的办法,精度和有效性仍有相当大的提升空间。

3.1.2 半自动视频目标分割(SVOS)

基于DL的SVOS主要关注第一帧的掩模传播(mask propagation)。该技术基于目标掩模的测试时间进行分类。

基于online fine-tune的方法:基于one-shot的方法,以一种online的方法分别在每一个给定的目标掩模上训练一个分割模型。Fine-tune本质上是开发神经网络迁移学习的能力,并且通常有两步:

  • 离线pre-train:从图像和视频序列中学习通用的分割特征;
  • 在线fine-tune:基于监督学习目标专门的representation。

然而,fine-tune的方法有一些缺点: 

  • 预训练是固定的,且没有为之后的fine-tune优化;
  • online fine-tune的超参数通常过于专门设计,所以不具有良好的泛化能力;
  • 现存的fine-tune都有着高运行时间(每个分割目标多达1000次训练迭代)。根本原因在于这些方法编码了所有与目标相关的信息(例如:外观、掩模)

为了自动有效的进行fine-tune,人们开始使用meta learning,即优化fine-tune policy(例如:通用的模型初始化、learning rate等)或者直接更改网络权重。

基于传播的方法

(未完待续)机器学习教程视频资料汇总

在学习机器学习的过程中,我陆陆续续收集了些免费的教程资料,希望能和您共享。

如果您有好的网站希望分享就评论吧,我也会整理到文章中。

 技术分享


 

1 机器学习基础篇

(1)课程资源

吴恩达《机器学习》coursera课程

台大林教授《机器学习基石》coursera课程

 

(2)机器学习算法:

感知机

K近邻法

朴素贝叶斯法

决策树

逻辑斯蒂回归与最大熵模型

支持向量机

提升方法

EM算法及其推广

隐马尔可夫模型

条件随机场

 技术分享

2 深度学习

《深度学习框架介绍》by study-ai

 

3 神经网络

《卷积神经网络入门到精通》by study-ai

 

4 python应用篇

(1)python机器学习教程

《机器学习 Python scikit-learn》by study-ai

《机器学习之Kaggle竞赛之路》by study-ai

 

(2)相关库函数

numpy:Python科学计算》by study-ai 

opencv:《机器学习之opencv》by study-ai

 

(3)案例分析:

《阿里云之机器学习by study-ai》

 技术分享

4 框架

Tensorflow:《Tensorflow中级教程》by study-ai

 

技术分享

以上是关于未完待续综述:用于视频分割(Video Segmentation)的深度学习的主要内容,如果未能解决你的问题,请参考以下文章

Android学习《Android开发视频教程》第二季笔记(未完待续)

(未完待续)机器学习教程视频资料汇总

jmeter 工具学习 未完待续

sublime常用快捷键整理(未完待续)

某度质量部测试开发面试题3(未完待续)

某度质量部测试开发面试题4(未完待续)