Video Object Detection with an Aligned Spatial-Temporal Memory

摘要

  本文针对视频目标检测问题提出时空记忆网络(STMN)。它的核心是时空记忆模块,作为一种递归计算单元去建模长时间目标外观和运动信息。STMN可以用一个预训练的CNN backbone进行初始化,这对提高检测精度非常重要。本文为了建模目标运动提出匹配变换去对齐帧到帧的特征。本文的方法在VID数据集上获得了state-of-the-art的结果,我们的消融学习清楚地证明了本文设计架构的有效性,代码和模型都公开在:http://fanyix.cs.ucdavis.edu/project/stmn/project.html.

1.简介

  视频目标检测的问题在于视频中的运动模糊、遮挡和极端视角等情况会使得静态图像检测器出问题,但是视频提供了丰富的时空和运动信息,应当学习去利用这些信息,使得视频目标检测器更加鲁棒。

  从Fig1可以看出图像检测器在模糊、遮挡和极端视角下出现了误检,但是本文模型会聚合前两帧质量较好的图像所以检测成功率会高一些。最近,很多研究者开始研究视频目标检测问题,比较有名的微软的DFF和FGFA,商汤的T-CNN,2016年代的SEQ-NMS,牛津VGG组的D&T,其实视频目标检测的研究最早约在2015年左右,ImageNet用VID数据集进行比赛。其中有很多工作是通过后处理的方式,不能避免单帧检测器所存在的问题,D&T,FGFA,THPVOD等开在在模型的训练中,通过预测帧间的平移,将帧与帧之间的特征聚合起来。然而这些方法处理的是固定长度窗口的图像,不能建模较长的依耐性,Tubelet Proposal Network开始考虑建模长时间的信息,但是速度较慢,对tubelet的初始化依赖严重。

  为了解决这些问题,本文提出Spatial-Temporal memory Network(STMN),用一个网络统一建模长时间的外观和运动。它的核心为Spatial-Temporal Memory Module(STMM),一种卷积递归计算单元,可以集成到从静态图像训练得到的预训练模型中。这种设计在实际应用中是有用的,因为一个一百万张图像的图片数据集多样性要比一百万张图片的视频数据集好很多。本文显示这种设计比标准的ConvGRU要好。考虑到图像数据的二维特性,STMN中保留了每帧图像的二维空间信息。为了实现帧间的像素级对齐,本文提出了MatchTrans模块显式建模帧间的平移。由于将每帧图像做了对齐聚合,这样的得到的特征对于区域的定位是有好处的,而且包含多帧信息也有助于识别。同时,每个区域的特征可以用ROI pooling从记忆模块中提取。

  基于以上的工作,本文在VID数据集中用不同的backbone和检测器均获得了state-of-the-art的效果。

3.方法

3.1. 概述

系统框架如Fig2所示,假设视频序列的长度为T,每一帧图像首先各自提取其卷积特征得到\(F_1,F_2,\cdots,F_T\)作为表观特征,为了沿时间轴集成这些特征,每一帧的表观特征都被送入STMM。STMM在时间t得到当前帧的表观特征\(F_t\)以及在时间步t-1得到的带有之前所有帧信息的时空记忆\(M_{t-1}^{\to}\),然后更新得到当前时间步的时空记忆单元\(M_t^{\to}\)。为了同时捕获过去帧和之后帧的信息,我们使用了两个STMM,进行双向特征聚合,同时聚合\(M^{\to}\)和\(M^{\gets}\)。将包含了时间信息的\(M_t\)送到卷积/全连接层进行分类和回归。这种做法的提升在于,如Fig2,图像检测器往往只看过自行车的俯视图,所以看到前视图的时候会识别不出来,但是本文的方法,因为模型已经看过了两边的侧视图,所以识别出前视图会容易一些。

3.2. STMM

  在每一帧输入\(F_t\)和\(M_{t-1}\),按下面的式子更新\(M_t\):

  这里圈表示按元素相乘,*表示卷积,\(U,W,U_r,W_r,U_z,W_z\)是2D卷积核,\(r_t\)是更新门,表示\(M_{t-1}\)有多少需要丢掉,从而生成暂态记忆\(\widetilde{M}_{t-1}\),\(z_t\)为重置门决定了之前的状态\(M_{t-1}\)和暂时的状态\(\widetilde{M}_{t-1}\)的融合权重。为了得到\(r_t\)和\(z_t\),STMM首先对\(M_{t-1}\)和\(F_t\)做仿射变换,再进行relu操作。因为\(r_t\)和\(z_t\)为门,因此它们的值应当处于[0,1]。这里针对标准的batch normalization做了两个改变得到\(BN^*\),这样将输入正则化到[0,1],而不是均值为零的,方差为1 的标准正态分布。

  第一个改变,计算输入batch X的均值\(\mu(X)\)和标准差\(\sigma(X)\),利用线性挤压函数\(S(X;\mu,\sigma)\)(如Fig 3所示)进行正则化。

第二个改变,对每个batch单独计算均值和方差,而不是在训练过程中持续计算所有training batch的均值方差。用这种方式不用在不同时间步存储不同的统计量,这使得我们在测试的时候不用试训练长度而定。

  与ConvGRU的不同。视频目标检测训练的过程中的一个现实的问题就是,由于视频具有冗余性,使得数据的多样化和图像数据集没法比,所以希望能够迁移图像数据集中的训练结果。本文用R-FCN初始化网络,将Position-Sensitive ROI pooling的前一个卷积层替换为本文的STMM,由于R-FCN的激活函数ReLU的输出均为非负,而传统ConvGRU的sigmoid和tanh函数的输出为[-1,1],这样是不匹配的,所以这里将GRU的激活函数改为ReLU,同时STMM的卷积层用替换出去的卷积层的参数进行初始化。

3.3. 时空信息对齐

  由于目标的运动,如果特征不进行对齐的话,会造成融合的特征图长时间不能忘记之前目标的信息,造成虚影,而且和其他特征图重叠之后会降低特征图的质量,如Fig4所示。

  为了解决这个问题,对于\(F_t(x,y)\)的领域,本文在\(F_{t-1}\)图的(x,y)处的(2k+1)*(2k+1)的领域使用余弦距离计算相似性,公式如下所示:

使用系数\(Gamma\),本文将非对齐的\(M_{t-1}\)变化到对齐的\(M_{t-1}\),对齐公式如下:

相当于用2k+1领域内的\(F_{t-1]\)与\(F_t\)的相关系数,对\(M_{t-1}\)的特征图的值进行加权重构。对齐后的\(M_{t-1}\)才是最终的公式(4)中的值。对齐的示意图如Fig5,

  k的选择涉及到性能和速度的权衡,在本文实验中选择k=2。用光流进行对齐的问题在于计算比较慢,而且存储光流也占用了内存。对于FlowNet,它的速度是24.3ms,MatchTrans的速度是2.9ms,有数量级的优势。

4. 结果

  检测器采用R-FCN,训练并初始化STMN,训练时长度为7,测试时序列长度为11,STMM特征图的通道数为512,考虑到视频的冗余性,每10帧采样一帧。ResNet-101为backbone,在imagenet vid验证集上达到了80.5的mAP,在TiTan X上每帧0.83 秒的处理时间。

原文地址:https://www.cnblogs.com/hf19950918/p/10737133.html

时间: 2024-11-10 14:02:28

Video Object Detection with an Aligned Spatial-Temporal Memory的相关文章

Progressive Sparse Local Attention for Video object detection

motivation: 之前使用flownet的方法有诸多弊端. 1.在检测框架中加入光流网络极大地增加了检测器模型的参数,无法用在移动端. 2.光流原本是描述两张图片间像素点的位移的,直接将其用在high-level的feature map上会引入人为的干扰.特别的,high-level的feature map上的像素点移动一格,对应的图片上可能存在10-20个像素点的位移,光流估计大位移容易出错. 因此本文舍弃了光流网络,提出了一个叫做Progressive Sparse Local Att

cvpr 2016 论文学习 Video object segmentation

Abstract— Video object segmentation, a binary labelling problem is vital in various applications including object tracking, action recognition, video summarization, video editing, object based encoding and video retrieval(检索). This paper presents an

对这个运动目标检测方法实现的结果A Hybrid Algorithm for Moving Object Detection

最近在做烟火检测,需要用到运动检测,看到论文A System for Video Surveillance and Monitoring中的A Hybrid Algorithm for Moving Object Detection这个方法,我用opencv将其实现,代码下面会贴出,但是其的到的结果很差,不知道代码哪里出了问题,请高手给予指点,谢谢! 左图为原图,有图为用上面论文中的方法得到前景图像,[自己的代码可能写错了,请大神们给予指点谢谢] 代码如下: #include <stdio.h>

【论文笔记】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

写在前面: 我看的paper大多为Computer Vision.Deep Learning相关的paper,现在基本也处于入门阶段,一些理解可能不太正确.说到底,小女子才疏学浅,如果有错误及理解不透彻的地方,欢迎各位大神批评指正! E-mail:[email protected]. ------------------------------------------------ <Faster R-CNN: Towards Real-Time Object Detection with Reg

中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks

R-FCN: Object Detection via Region-based Fully Convolutional Networks 摘要 我们提出了基于区域的全卷积网络,以实现准确和高效的目标检测.与先前的基于区域的检测器(如Fast/Faster R-CNN [6,18])相比,这些检测器应用昂贵的每个区域子网络数百次,我们的基于区域的检测器是全卷积的,几乎所有计算都在整张图像上共享.为了实现这一目标,我们提出了位置敏感分数图,以解决图像分类中的平移不变性与目标检测中的平移变化之间的困

论文阅读:DHSNet: Deep Hierarchical Saliency Network for Salient Object Detection

因写作需要,再精读一下这篇文章,只说这篇文章提出的方法. 1.摘要部分: 本文提出了一种基于卷积神经网络的深层次显著性网络(deep hierarchical saliency network,DHSNet).该网络以下统一称作"DHSNet".工作流程大体是这样的: 1)首先,DHSNet通过自动学习各种全局结构上的显著性线索(这些线索包括全局对比度.对象性.紧凑性以及它们的优化组合),对输入的图片生成一个粗略的全局上的预测结果: 2)接着, 本文提出了一种分层递归卷积神经网络(hi

ThunderNet: Towards Real-time Generic Object Detection

Related Work CNN-based object detectors:CNN-based object detectors are commonly classified into two-stage detectors and one-stage detectors. In two-stage detectors, R-CNN [8] is among the earliest CNN-based detection systems. Since then, progressive

Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection

Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11  19:47:46   CVPR 2017 This paper use GAN to handle the issue of small object detection which is a very hard problem in general object detection. As shown in the followin

CV:object detection(Haar)

一. Haar分类器的前世今生 人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来. 目前的人脸检测方法主要有两大类:基于知识和基于统计. "基于知识的方法主要利用先验知识将人脸看作器官特征的组合,根据眼睛.眉毛.嘴巴.鼻子等器官的特征以及相互之间的几何位置关系来检测人脸.基于统计的方法则将人脸看作一个整体的模式--二维像素矩阵,从统计的观点通过大量人脸图像样本构造人脸模