张 亮 段向欢 李建伟
1(广州民航职业技术学院航空港管理学院 广东 广州 510403)2(河北工业大学人工智能与数据科学学院 天津 300401)
显著性检测一直是计算机视觉领域火热的研究方向,它在边缘提取[1]、目标跟踪[2]等诸多领域有着非常重要的应用价值。随着图像显著性研究不断取得突破性的成果[3-4],处理大量视频数据的要求不断涌现,越来越多的研究人员加入到了视频显著性检测的研究行列。
视频显著性检测通过设计算法让计算机模拟人眼自动提取视频序列中人类感兴趣的区域。它常作为视频处理的预处理操作,能有效提升任务的处理效率。相比图像显著性检测,视频显著性目标检测不仅要考虑空间特征,还需考虑时间特征或者运动特征,所以更具挑战性。随着深度学习理论在图像领域中的不断应用,深度神经网络在视频显著性检测中的潜力也愈发凸显。在背景复杂或者运动信息多样的情况下,已知的视频显著性检测算法仍然没有实现高准确率、高运行效率和高鲁棒性等问题。如何更好地提高显著目标检测性能以及减少帧间损失等仍是一个研究热点。以往的方法常常分为两个阶段:分别处理视频的空间特征(或运动特征)与时序特征。再通过加权函数融合两个阶段得到的显著图或者利用能量函数进一步优化两个阶段得到的结果[5-6]。为了加深神经网络模型的层数、挖掘更深层次的特征,同时避免常见的梯度消失、梯度爆炸和网络退化等问题,本文融合周期性学习率[7],提出一种以深度残差网络[8]和U-net[9]为基本结构的双阶段视频显著性检测方法。不同于以往方法需要通过先验手动提取空间、时序维度的特征,该方法分为两个训练阶段,利用深度学习模型自动挖掘各个维度深层特征的优势。第一阶段初步获取样本的时空特征;第二个阶段通过融合连续三帧视频序列信息进一步加强模型学习到的时序特征,以此来提高视频显著性检测的效果。
模型调优是训练深度学习模型的重要一环,超参数的设置和优化起着关键性的作用。学习率就是非常重要的超参数之一,它决定着每一次损失函数的梯度更新程度,其选取是否恰当将直接影响训练模型的进度和最终效果。训练模型的权重如下:
式中:θ表示模型的权重;θi表示其中某个权重;J为代价函数;α为学习率的值。如采用固定的学习率,很难依据先验知识确定最佳初始值。
文献[7]提出周期性学习率的概念,让学习率在最大边界和最小边界内循环变化而不是单一地按着一定规则衰减。周期性学习率可以有不同的模式,常见的有三角形循环规则、周期性减半规则和周期性指数级衰减策略,它们的基本策略在于每个周期结束后,学习率的最大值不变或按着半数、指数级进行衰减。本文在融合周期性学习率时,选用的模式是周期性减半规则,如图1所示,每个新的周期,最大学习率会是上个周期的半数值。步长采用周期的一半,学习率的上下边界采用的默认值为0.001和0.006。
图1 学习率周期性减半规则示意图
深度残差网络通过添加经典的捷径连接(shortcut connections),解决了网络层数加深时常会遇到的梯度爆炸、梯度消失、网络退化等问题。残差网络经过不断地改进和发展,已有多个变体,其中常用的是ResNet-50、ResNet-101、ResNet-152等,名称中的数字代表神经网络的深度。为了加深网络层数,学习更深层次的对象特征,本文提出融合深度残差网络和U-net作为基本结构进行双阶段的视频显著性检测方法。为了减少计算量,本文选用ResNet-50,其基本结构由残差模块堆叠而成,残差模块包含卷积层、批标准化层、激活层等。此外,为使残差模块更加有效堆叠,每个残差模块后面都添加了非线性的激活函数。
U-net采用编码-解码结构,并且网络模型左右严格对称,呈“U”形。本文将残差网络和U-net相融合,即把ResNet-50网络模型作为U-net的编码端,负责对图像或者视频帧进行上下文特征信息的学习。同时,为了更好地与后面的网络进行衔接,对ResNet-50尾部结构进行了调整,并增加了两个残差模块。得益于更深层的压缩路径,U-net新的编码器可以提取更多维度的信息和更高级的特征,更好地区分目标图像中的显著性信息和冗余信息,为后续解码工作奠定良好基础。为了按照下采样的节奏来逐步将特征图恢复至原始输入图片的大小,针对编码器进行的五次压缩操作,新的U-net解码端在相对应的层次也进行了五次上采样工作,最后输出的检测图即为最终结果。新的网络模型是一个端到端的结构,一定程度上可以认为解码器和编码器的结构呈镜面对称,最大的不同是跳跃连接带来的差异。整个网络结构一共包含了四个跳跃连接,除去第一次下采样和最后一次升采样,跳跃连接将对应的下采样和升采样区域联系起来。通过高层特征和底层特征的结合,减少了压缩路径下采样过程中重要特征信息的丢失,为检测结果增加了更多细节信息。
前面提到的残差网络ResNet-50和U-net的结构,可记作BaseNet。利用该结构训练图像或者视频序列,得到的模型能够学习到不错的空间特征和时序特征。但是,为了进一步增强模型对视频序列时序特征的学习能力,减少检测结果中视频帧间的特征损失,本文又提出了基于BaseNet的双阶段视频显著性检测方法。整体模型的结构如图2所示,其中残差块指的是残差网络中的基本残差单元,ResNet-50-v1是对ResNet-50网络的末尾层进行调整得到的,ResNet-50-v2是为了构成类似U-net的整体结构对ResNet-50网络进行了修改,ResNet-50-v3则因为修改了输入端的结构而与ResNet-50-v1稍有不同。
图2 基于残差网络的双阶段训练模型结构图
该方法共分为两个阶段:第一阶段采用BaseNet网络模型,采用图像数据集和视频数据集训练模型,以期提升模型捕获时空特征的能力;第二阶段将第一阶段通过训练达到收敛的模型锁定,即它的模型权重不再被训练和改变,称为BaseModel,然后对BaseNet的输入端进行调整和改变,新网络模型将接收的连续三帧视频序列和BaseModel对于第二帧预测的显著图作为输入进行训练,直到模型收敛为止。每个连续的三帧视频序列中,第二帧是求解目标,它所对应的前后帧以及BaseModel模型预测的显著图都是参考信息,以此更好地指导网络模型进行训练。整个方法可以通过下式抽象表示:
Y=F2(It-1,It,It+1,F1(It;θ1);θ2)
(2)
式中:Y表示整个模型的输出结果,即所需要的对应的最终显著图;I表示视频帧或者静态图像,t表示视频序列在时间维度上的刻度;F1表示第一阶段训练好的模型,即BaseModel,θ1表示模型的权重或者参数;It-1、It、It+1分别表示连续的三帧视频序列;F1(It;θ1)为第二帧视频序列在模型BaseModel下得到的显著图;F2表示第二个阶段训练好的模型;θ2表示该模型训练好的参数和权重。
对于双阶段模型的初始化、超参数设计以及损失函数等训练细节会在2.1节进行描述。通过引入周期性学习率、融合残差网络和U-net网络以及构造双阶段网络结构,既使模型得到更好的训练,也进一步提高模型对视频时序特征的学习能力,得到的最终模型在对视频序列检测时,检测结果各帧中的显著目标均能更为完整、清晰和准确。
本文采用深度学习框架Keras来进行测试和实验。在训练模型的第一阶段,使用DUT-OMRON[10]、ECSSD[11]、HKU-IS[12]和MSRA10K[4]等图像数据集以及UVSD[5]、Gygo-dataset[13]和DAVIS[14](仅训练集)等视频数据集训练模型。这些数据集是显著性检测领域比较知名和权威的数据集,一方面对应的真实值标注比较可靠,前人的工作也经常用到这些数据集;另一方面这些数据集包含了不同的场景和目标类别,用它们一起训练进一步提升模型的泛化能力。在训练阶段,将这些数据汇合并打乱重排,训练集、验证集都是按着4∶1的比例随机划分,保证验证集样本有着丰富的类型,每轮的训练都是根据验证集样本的表现调整模型参数。这样通过多轮的训练,提升模型对于不同场景和目标的适应性。在实验中对于模型的编码端,采用ImageNet数据集上训练好的ResNet-50预训练模型进行迁移学习,采用均方误差(MSE)作为该阶段的损失函数。类似地,在训练模型的第二阶段,使用第一阶段的3个视频数据集作为训练集,进一步增强模型对于训练集时序特征的学习。由于两个阶段输入通道和训练模型不一致,所以从零开始训练调整后的网络模型,并采用平均绝对误差(MAE)作为惩罚函数来训练模型。模型的输入图片可以是任意大小,批量大小为32,训练轮数设置为200。在测试阶段,为了更好地评估提出的方法,使用的是SegTrackV2[15]和DAVIS(测试集部分)等常用的、具有挑战性的数据集。
为了更全面地评估文本所提方法,从定性和定量两个方面将其和目前主流方法在相同测试集上进行了对比。对比的方法包括:基于超像素级图和时空传播的显著性(SGSP)[5]、融合显著区域特征的显著性(DRFI)[3]、基于梯度流域计算的显著性(GAFL)[6]、基于测地距离的视频显著性(SAGE)[16]。其中,第二个方法是用于图像显著性检测的,其他的方法都是针对视频显著性检测的。在DAVIS测试数据集和SegTrackV2数据集上的视觉效果对比分别如图3和图4所示。
图3 DAVIS数据集上的视觉效果对比
图4 SegTrackV2数据集上的视觉效果对比
图中每一行表示几种方法对于同一视频帧的检测结果。图中前两列表示原始视频帧(Input)及对应的真实值(GT),自第一行起,每三行取自同一视频序列,每个数据集随机选取了三个视频样本。通过分析图3和图4可知,DRFI方法由于没有考虑时序信息,所以处理的结果会附带很多显著目标周围的背景,造成显著目标在结果中不易辨识,目标的边缘也不易识别。在某些情况下,该方法会造成目标不完整,在多目标视频中很难把握全部目标信息。其他用于视频的方法融合了空间和时序信息,故均可以更好地处理帧间信息,显著目标周围的背景也处理得较为彻底。但SGSP方法由于过度依赖运动特征,对于帧间运动不是很明显的视频往往效果不是很理想,得到的结果中显著目标周围往往附带一些冗余的像素,很难确定显著目标的边缘,有些场景背景抑制能力不高,如图3中第四、五行和图4中第一行和最后一行。GAFL和SAGE两种方法都基于超像素和光流法,主要依赖视频帧的边缘特征和运动特征,其结果相对清晰,但光流的计算比较耗时,检测结果也需要进一步改善。相比而言,本文方法通过深度模型自动挖掘各层次的关键特征,获得的结果保留了显著目标的准确信息,目标背景处理更彻底,各帧的预测结果显著目标都更完整,更接近人工标注的真实值。
在定量角度,采用常见的评价标准F-measure和MAE(平均绝对误差)对以上方法进行客观评价。F-measure(Fm)代表查准率(Pm)和查全率(R)的统计加权调和平均值,可表示为:
基于前人工作的推荐,这里设置β为0.3,以此来突出查准率的重要性。
各个方法在公开数据集DAVIS和SegTrackV2上的F-measure值如表1所示。
表1 两个公开数据集上F-measure值的对比
MAE(M)表示待评估模型预测出的显著概率图P与对应的真实值G之间的逐像素平均差异。它的公式表示为:
式中:h和w分别代表输入视频帧的高度和宽度。所有方法在DAVIS测试集和SegTrackV2数据集上的MAE的值如表2所示。
表2 两个公开数据集上MAE值的对比
由表1、表2可知,本文所提方法的MAE(值越小效果越好)和F-measure(值越大效果越好)两个评价指标均优于对比的其他方法,充分说明了该方法的优越性和有效性。
为了更好地突出所提方法中一些设计思想和细节的必要性,我们通过实验进行了对比分析。对于双阶段训练的必要性,对比实验的结果如表3和表4所示。
表3 单双阶段的MAE值对比
表4 单双阶段的F-measure值对比
通过对比数据可知,双阶段得到的模型在两个测试集上的MAE、F-measure的值都得到了进一步的提升,突出了双阶段训练的必要性。此外,通过观察表1和表4、表2和表3,可以发现本文单阶段得到的模型在公开测试集上的MAE、F-measure值都超过了对比的四个模型。可见这些模型利用先验知识手动提取相关特征普遍容易造成获取特征不足的问题,对比数据也再次证明通过深度学习模型自动获取各个维度特征会得到更好的结果。综合考虑检测效果提升幅度、计算量成本、整体模型复杂度以及避免模型对于训练数据过拟合,本文采用了双阶段的训练。
针对运行效率的问题,本文分别从DAVIS测试集和SegTrackV2数据集随机选择出一个视频序列,各个方法处理这两个视频的效率对比如表5所示。其中:Cows来自DAVIS数据集;Frog来自SegTrackV2数据集。实验的计算资源包括Intel(R) Core(TM) i5-7300HQ CPU(4核),计算机内存8 GB。
表5 各个方法处理同一视频的平均速率对比
从表5中数据可知,本文方法不需要超像素分割、平滑滤波等预处理以及光流计算,在处理视频时省去了很大的时间开销,具有很高的运行效率,相比其他的方法有数量级的提升。
本文提出一种基于深度残差网络的双阶段视频显著性检测方法。该方法一方面通过融合周期性学习率,使得学习率周期性变化,保证了模型在训练过程中能够使用最优或者接近最优的学习率,实现更好、更快的收敛。另一方面,通过融合残差网络和U-net,实现了网络模型更深的层次,进一步丰富了模型提取的不同维度和深度的特征。此外,该方法又提出了双阶段的训练结构,通过结合前后帧的信息以及第一阶段得到的显著图,进一步增强模型对于视频序列时序特征的学习能力。实验结果表明,本文所提方法在定量和定性的评价标准上都比主流的几个方法更具优势。如何进一步简化模型、降低训练成本以及实现无监督训练模式等,是未来工作中值得进一步研究的内容。