abstract

视频显著目标检测的主要目的是检测出视频中视觉上最突出、最独特的目标,现有的方法没有获取和使用视频中的运动线索,或忽略了光流图像中的空间上下文。

本文的方法使用两个子网络分别实现两个子任务,一个子网络(appearance branches)在静态图像中对显著目标(salient object)进行检测,另一个子网络(motion branches)对光流图像中的运动的显著目标(salient object)进行检测。通过多个运动引导注意力模块(motion guided attention module),结合两个端到端训练的子网络,可以当前最好的检测效果。

introduce

视频显著目标(salient object)检测大致可以分为两类,一类主要用来预测视频中观察者的视角,可以从生物学角度了解人类视觉和认知系统的内部机制;第二类主要用来从混乱的背景中分割出重要的或显著的对象。

本文方法针对第二类问题进行解决,因为SOD(salient object detection)可以作为很多计算机视觉技术的前置步骤,如视觉跟踪、图像和视频压缩、人员识别等。

在视频显著目标(salient object)检测过程中如何把目标的运动考虑进去是非常重要的——第一,目标的显著性(saliency)不仅受其外观的影响,也受其连续帧运动的影响;第二,目标的运动提供了空间一致性的重要线索,具有相似位移的相邻图像很可能属于同一前景对象或背景区域;第三,利用运动线索可以使得视频图像目标分割变得简单,从而可以产生更高质量的saliency map。

当前的SOD算法还没有有效利用目标的运动信息。《Video saliency detection via spatialtemporal fusion and low-rank coherency diffusion》、《Consistent video saliency using local gradient flow optimization and global refinement》、《Saliency detection for unconstrained videos using superpixel-level graph and spatiotemporal propagation》尝试基于时空一致性合并外观和运动信息,但是因为手动标记的低维特征和缺乏训练数据挖掘而受到限制。因此这几个方法无法自适应的获取复杂场景中的运动模式和对象语义的准确特征。这些方法很难捕捉对象运动和高级语义的对比和唯一性。

基于FCN(全连接网络)的方法通过把当前帧和之前的帧或之前预测的saliency map简单的进行连接,形成CNN的输入,从而对时间一致性进行建模。这些基于CNN的方法没有利用显式的运动估计,如光流信息,并且受视频外观和混乱的背景的影响。

当前处理视频中显著目标效果最好的方法是基于RNN的方法,它们利用卷积记忆单元如ConvLSTM来聚合大范围的时空特征,部分算法利用flow warp使之前的特征与当前特征进行对齐,但是忽略了光流图像中的空间一致性和运行对比度。

本文提出一个多任务、运动引导的视频显著目标检测网络,其中包含两个部分,一部分是静态图像显著目标检测,另一部分是从光流图像中推断运动显著性。为了实现视频显著目标检测,需要把两个部分进行结合,为了实现完整的注意力机制,使用一系列运动引导注意力模块,集中了残差学习以及空间和通道注意力的优势。

本算法因为ConvLSTM的原因不在需要当前帧之前的大范围特征,仅需要之前帧小范围的上下文信息用于计算。

本文的contributions:

  1. 提出一个新颖的运动引导注意力模块,可以通过运动特征或运动显著性来增强特征;
  2. 提出一个新颖的视频显著目标检测网络,其中包含一个外观分支——静态图像显著目标检测模块,一个运动分支——光流图像运动显著性检测模块,和连接两部分的注意力模块;
  3. 大量的实验论证表明,本文的算法在广泛的数据集和指标上大大优于现有的最新算法。

模型

运动引导注意力机制 motion guided attention

为了利用运动信息,定义一个外观特征作为一个特征张量,该特征由一些隐藏层产生,如外观分支中的ReLU函数等。

运动信息可以分为两类,一类被定义为motion saliency map,由运动分支中最后一个层产生,这些motion saliency map可以被Sigmoid函数预测,它们的值被限定在[0,1];第二类是运动特征,由一些运动分支中的ReLU函数产生。

把motion saliency map定义为PmP_mPm​,外观特征appearance feature定义为faf_afa​,前向计算得到的attended 外观特征:

其中fa′f^{'}_afa′​和faf_afa​的大小为C×H×WC ×H ×WC×H×W,PmP_mPm​的大小为H×WH × WH×W,⨂\bigotimes⨂表示元素之间的乘法,PmP_mPm​与faf_afa​中每个通道进行元素相乘。这种乘法计算简单,但是具有局限性,因为运动分支通过motion saliency map训练检测任务的,而与背景具有相同位移的图像部分在PmP_mPm​中最有可能被预测为0。

MGA-m

上图可以看出,只有一部分显著目标在连续帧内移动,所以静止的部分在PmP_mPm​中为0,所以得到的外观特征fa′f^{'}_afa′​是被压缩的,因此不能保证显著目标的完整性。为了解决这个问题,提出一个获取fa′f^{'}_afa′​的变形算法fa′=fa⨂Pm+faf^{'}_a = f_a \bigotimes P_m + f_afa′​=fa​⨂Pm​+fa​,只使得显著运动区域变得明显(其中的"+++"表示元素间的相加),fa⨂Pmf_a \bigotimes P_mfa​⨂Pm​被视为一个残差项,使用+fa+ f_a+fa​的方式来完善fa⨂Pmf_a \bigotimes P_mfa​⨂Pm​导致的不正确的压缩。因此fa⨂Pmf_a \bigotimes P_mfa​⨂Pm​部分可以参与显著部分的计算,而静态但显著的区域不会被忽略。

把上述的模块称为MGA-m(motion guided attention,m表示该attention模块的输入是一个map)。

MGA-t

下面讨论如何利用运动张量fmf_mfm​——与MGA-m一致,提出一个新的运动注意力模块,

其中faf_afa​和fmf_mfm​的大小分别为C×H×WC ×H ×WC×H×W和C′×H×WC^{'} ×H ×WC′×H×W。g(⋅)g(·)g(⋅)是一个1×1的卷积,作用是使运动特征和外观特征对齐。该模块被称为MGA-t,t表示来自运动分支的输入是一个特征张量feature tensor。

MGA-tm

受MGA-m模块的启发,该模块利用运动信息作为空间注意权重,我们设想了一种通过将运动特征预先转换为空间权重来与另一个张量同时出现的张量的变体。

其中h(·)是一个1×1的卷积且输出为单通道。Sigmoid(·)的输出是一个大小为H×WH × WH×W的attention map。该模块被称为MGA-tm,tm表示输入的特征张量feature tensor在最开始就被转换为一个spatial map。

MGA-tm模块可以看作是在运动特征上应用空间注意力机制,而MGA-t模块空间和通道层面的注意力是依靠一个3维的注意力权重张量同时实现的。

MGA-tmc

在本文的算法中,运动分支只需要一个光流图像作为输入,用于向外观分支传递信息,且不了解外观信息。所以仅仅依靠运动特征来实现每个通道的注意力机制不现实,但是对于MGA-tm模块,它缺少对与视觉显著性对象或显著运动对象高度相关的通道的重要性进行强调的功能。

基于上述的原因,提出了新的MGA模块:

其中张量faf_afa​、fa′f^{'}_afa′​和fa′′f^{''}_afa′′​的大小为C×H×WC ×H ×WC×H×W,fmf_mfm​的大小为C′×H×WC^{'} × H × WC′×H×W。h(⋅)h(·)h(⋅)和h′(⋅)h^{'}(·)h′(⋅)都是1×1的卷积,输出分别为单通道和C通道。GAP(⋅)GAP(·)GAP(⋅)表示空间层面的全局平均池化操作。C的大小等于Softmax函数输出元素的数量。该模块被称为MGA-tmc,其中c表示是通道层面的注意力。

关于MGA-tmc的其他细节:fa′f^{'}_afa′​是一个外观特征,且早己被一个运动特征在空间上突出显示。GAP(fa′)GAP(f^{'}_a)GAP(fa′​)输入fa′f^{'}_afa′​输出一个包含C个元素的向量,h(⋅)h(·)h(⋅)对每个通道分别预测出一个权重为C的向量。这些通道层面的注意力权重的主要作用是选择或增强一些基本属性,如边缘、边界、颜色、纹理、语义等。

Softmax(⋅)⋅CSoftmax(·) · CSoftmax(⋅)⋅C正则h(⋅)h(·)h(⋅)的输出,使其平均值等于1,为了简化,把这个过程记为"softmax",如上图(d)部分的"softmax"模块。

fa′⨂[⋅]f^{'}_a \bigotimes [·]fa′​⨂[⋅]的作用是把fa′f^{'}_afa′​中的每个空间位置处的特征列与正则化的注意力向量相乘。

总结来说,MGA-tmc模块首先通过显著运动突出空间位置,然后选择潜在的属性以根据运行展现的外观特征对显著性进行建模,最后添加输入向量作为补充。

网络结构 network architecture

上图可以看出,本文算法的结构包含一个外观分支appearance branches(蓝色)、一个运动分支motions branches(绿色)、一个预训练的流估计网络Flow-estimation network(灰色,基于Flownet 2.0: Evolution of optical flow estimation with deep networks实现的FlowNet 2.0网络)以及一系列运动引导注意力模块motion guided attention module(橙色)来连接外观分支和运动分支。

外观分支与运动分支相似又有所不同,因为光流图像不需要像RGB图像那样保持大量高维语义信息和细微的边缘细节。

外观分支和运动分支都包含三个部分——编码器encoder多孔空间金字塔池化模块ASSP(atrous spatial pyramid pooling)、解码器decoder

  1. 编码器的作用是从低维特征向高维提取可视化特征并减少特征图的分辨率,其中包含五层:一个卷积层(outputchannels=64,kernel=3,stride=2,然后紧跟着normalization函数和ReLu函数)和四个残差层(四层的stride分别为2,2,2,1;对于外观分支,四层的残差学习模块分别为3,4,23,3,outputchannels分别是256,512,1024,2048;对于运动分支四层的残差学习模块分别为3,4,6,3,outputchannels分别是64,128,256,512),所以编码器可以减少特征图的空间尺寸为原始输入的1/8;
  2. ASSP模块通过膨胀卷积在特征图中获取到大范围的依赖关系,并将其与局部、全局的representation进行集成,这样可以隐式的获取到大范围的比较,从而进行显著性建模。从上图的绿色部分可以看到ASSP的内部构造——一个1×1的卷积层,三个膨胀率分别为12,24,36的卷积层和一个全局平均池化层GAP。这5层的输出根据其深度维度进行链接,形成一个特征图;
  3. 解码器通过融合低维特征和高维特征,恢复特征图的空间大小,从而预测具有高分辨率的saliency map。从上图中可以看到,通过一个1×1的卷积层conv-1使得ASSP的输出缩小为256通道的特征,编码器encoder中的residual-1的低维输出通过一个1×1的卷积层conv-2缩小为48通道的特征。把上述的两个特征进行连接后,使用两个3×3的卷积层conv-3conv-4进行处理,得到一个256通道的输出。最后通过一个1×1的卷积层conv-5Sigmoid函数,预测得到最终的单通道saliency map
  4. 关于运动引导注意力模块motion guided attention module,共有6个分别为MGA-i(i∈{0,1,2,3,4,5} ),其中MGA-0将两个子模块的head-conv的输出作为输入,并将输出传入外观分支的residual-1作为输入;其余的MGA-i 都是将对于的两个子模块中的residual-i 的输出作为,将其输出传入外观分支的residual-(i+1)作为输入。上图中可以看到,外观分支的编码器中的没有内部的链接,而都是把MGA的输出作为输入。MGA-5使用运动分支的最终输出和外观分支的解码器融合的特征作为输入,其输出作为外观分支解码器的conv-3的输入,因为MGA-5的输入是一个单通道的saliency map,所以它只能够被MGA-m实例化。而其他几个MGA-i可以选择MGA-t、MGA-tm或MGA-tmc进行实现。

多任务训练体系muti-task training scheme

多任务训练体系:

  1. 首先使用在ImageNet上预训练的ResNet-101初始化外观子网络appearance sub-network,然后使用静态图像显著目标检测数据集对外观分支进行fine-tune;
  2. 实现光流估计模块(前文中提到了,使用现成的FlowNet 2.0),然后使用其提供光流图像,这些光流图像计算后作为先前的帧传递到当前帧的forward flow;
  3. 首先使用在ImageNet上预训练的ResNet-34初始化运动子网络motion sub-network,然后在视频显著目标检测数据集上对这些合成的光流图像及其对应的saliency map进行训练;
  4. 最后使用MGA将两个分支链接起来,构成一个整体。

因为训练样本是静态图像或视频的第一帧,不具有一致的运动图像,所以假定在此之前的图像与当前图像相同,也就意味着这种样本中的对象不运动或不具有显著运动,因此遇到这种情况,只需要再MGA模块的运动输入中填充 0 即可。

Motion Guided Attention for Video Salient Object Detection论文详读相关推荐

  1. 【图像分割】MGA:Motion Guided Attention for Video Salient Object Detection

    文章: Motion Guided Attention for Video Salient Object Detection 代码:https://github.com/lhaof/Motion-Gu ...

  2. 显著性目标检测之Shifting More Attention to Video Salient Object Detection

    Shifting More Attention to Video Salient Object Detection 文章目录 Shifting More Attention to Video Sali ...

  3. Shifting More Attention to Video Salient Object Detection (CVPR 2019)

    Shifting More Attention to Video Salient Object Detection 现实生活中缺少一个完善的高质量标注的视频显著性目标检测(video salient ...

  4. Weakly Supervised Video Salient Object Detection

    Weakly Supervised Video Salient Object Detection 摘要 1. Introduction 2. Related Work 3. Our Method 3. ...

  5. 视频显著性检测----《Flow Guided Recurrent Neural Encoder for Video Salient Object Detection》

    本文将重点与大家探讨和分享发表于CVPR2018上的视频显著性检测文章–<Flow Guided Recurrent Neural Encoder for Video Salient Objec ...

  6. Semi-Supervised Video Salient Object Detection Using Pseudo-Labels 论文详读

    Semi-Supervised Video Salient Object Detection Using Pseudo-Labels --使用伪标签的半监督式的重要目标(显著目标)检测. abstra ...

  7. EGNet: Edge Guidance Network for Salient Object Detection 论文及代码解读

    EGNet: Edge Guidance Network for Salient Object Detection 论文及代码解读 注:本文原创作者为Jia-Xing Zhao, Jiang-Jian ...

  8. Complementary Trilateral Decoder for Fast and Accurate Salient Object Detection(速读啊)内含与u-shape的对比

    今天早早起来了 吃完饭就开始干活了 十点开始读论文 所以速读适合没有很长事假你的情况下,你只需要读懂大意就可以了 QAQ,bhys,以后一定精读,好好找找里面的专业名词整理下来呜呜呜 这次策略跟以前差 ...

  9. Part-aware attention correctness for video salient object detection笔记总结

    一.摘要 问题:在以往的VSOD中,一般主要是研究时空结构,利用隐式注意力模型去聚合相邻视频帧的互补信息.但很少有方法去关注跨视频帧的亲和力,即建立显式注意力图式去完成VSOD. 解决:提出一个新的注 ...

最新文章

  1. 高并发整体可用性:一文详解降级、限流和熔断
  2. 网络通信基础知识普及篇
  3. cropped-img_2692.jpg
  4. Redis学习手册(Sorted-Sets数据类型)
  5. Klockwork告警常见错误
  6. php面试宝典1000题,【PHP面试宝典1000题】HTTP中的请求头(深圳小美网络科技)
  7. canal kafka 环境搭建
  8. GARFIELD@01-01-2005
  9. ZigBee开发(15)--组网实验点播
  10. hp380g5 安装linux7,hp 380G5 安装centos 7
  11. 安装Win10,ERROR_0x8007025D问题解决
  12. 免费素材大荟萃:免费图标和UI设计
  13. 【动态规划】P1018 线性dp:乘积最大
  14. 美团CAT客户端(windows版)接入指南
  15. google maps js v3 api教程(3) -- 创建infowindow
  16. Android 打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单
  17. 基于Opencv的图像卡通化
  18. 什么是SQL注入攻击以及如何防止SQL注入攻击
  19. 爱心之火成燎原之势——浩荣 成都传智播客支持你
  20. c店banner的一个宽高度范围,详情页的宽高度是。淘宝天猫的详情页,看尺寸的快捷键,banner的设计规则和技巧

热门文章

  1. LayoutParams理解和使用
  2. 数字签名,数字证书,证书链原理(图文详解)
  3. 专访 | 清华大学朱军:深度学习“盛行”_传统方法何去何从?
  4. 正确安装wireshark
  5. Struts中ActionForm的初始化步骤
  6. 动态令牌离线生成机制探究(2FA TOTP)
  7. 时尚红人马宁:我们可以选择无为
  8. java程序员年终总结工作总结
  9. 什么是人格魅力?如何培养人格魅力?
  10. 计算机应用能力考试怎么填,职称计算机应用能力考试网上报名表格怎么填写