[Context and Structure Mining Network for Video Object Detection]阅读笔记

2023-10-26

Abstract

  1. 强调目前主导视频目标检测(VOD)的是建议框级的特征聚合(proposal-level feature aggregation)
  2. 指出当前两个主要的问题。
    ①再当前常用的二阶段网络RPN忽略了对目标分类有帮助的上下文信息(context information)。
    ②当前VOD采用的特征融合都以整个建议框(proposal)为单位进行融合,这样没有考虑框中间的结构信息。
    会导致目标发生遮挡或者姿态改变时,两帧间的相似性较差。
  3. 为了解决这些问题:
    ①提出本文的模型CSMN
    ②编码了全局的时间-空间-上下文信息聚合在目标特征图中。
    ③每个proposal都被分成了几个patch来捕捉目标的结构信息。
    ④每个patch都会学习一个权重用于指示它在信息聚合时作用几何,如发生遮挡的patch可以低权重。

Introduction

  1. 首先先回忆了视频目标检测的历史
    ·2017 FGFA 光流方法
    ·2018 MANet 特征融合
    ·2017 D&T 相邻帧之间信息(追踪)
    ·2018 STSN 跨时域可变性卷积
    ·2019 PLSA 稀疏步幅局部跨镇特征空间对应关系
    ·还有其他后处理方法如seq-nms等
    ·SELSA 序列及语义聚合(就是融合帧信息,MEGA是它的升级版,作者说实验时基于这个basline的)
    ·MEGA 融合临近全局帧+记忆模块(作者github里说是根据MEGA改的,但是我没找到代码,就几个介绍文件)
    ·2020HVR-Net 视频间帧信息
  2. 本文贡献
    ·作者将proposal分成N个不重叠的patch(文中N=9)。
    ·特征融合时不是考虑两个整体proposal,而是patch,以缓解姿势偏差。
    ·给每一个patch以权重,更关注非遮挡的patch。

Related work

1.利用二阶段目标检测构建(实验中baseline是SELSA,但是代码地址里只有几个介绍文件和readme,说基于MEGA改的)。
2.本文方法属于VOD中的融合时序信息,融合时序信息又分为后处理和训练中融合帧信息,本文属于后者。

Proposed Method

1.overview

首先本文给当前检测的帧叫法为target frame,用于信息聚合的辅助帧叫作support frame。

1.骨干网络使用resnet101,conv4用于输入rpn,conv5用于输入一个stCIE(时间-空间-上下文信息编码)编码出一个新的feature map再和rpn的结果共同生成proposal。
2.生成的proposal会通过SPFA(Structure-base Proposal Feature Aggregation结构信息建议框特征融合)

具体流程可以看这个图,更清晰:
在这里插入图片描述

2.Sptial-temporal context Information Encoding(stCLE)

这个是基于non-local提出的一个模块,灵感来源于attention,作者把这个模块拓展到了时间空间的维度(本来就是考虑上下文的一个模块)。
关于non-local有一个博文说的非常清楚:【论文笔记】Non-local Neural Networks
关于作者图和改进,是这样实现的,将需要检测的proposal作为target pixel feature(我的理解是就只有一项像素,因为还没看到代码,可能理解有偏差),当前feature map的其他内容作为支持信息,包括其他帧的信息也为支持信息,蓝色为support pixel feature,红色为target,如下图:
在这里插入图片描述
最终的结构图是这样的:
在这里插入图片描述
其中eq.1是计算相似度的函数,具体矩阵每一个点的值怎么计算式子如下:
在这里插入图片描述
个人理解,通过这个式子计算的相=相似度,将系数控制在了1一下,并且数值都不算大,在当作系数乘support信 息时可以充分将其缩小,最后累加的时候起到参考作用而不至于起到决定作用。

关于我为什么觉得是一个像素,因为原文说了这样一段话:
在这里插入图片描述

3.Structure-based Proposal Feature Aggregation(SPFA)

大体思路:其他的信息融合方式的视频目标检测譬如MEGA,计算时以proposal为单位,而作者做出的改变时以patch为单位,以应对帧间遮挡姿态变化等状况。
先上结构图:
在这里插入图片描述
其中一个合并头的操作是这样的,target的patch计算和M个support proposal的相似度,然后乘以原输入的support proposal进行逐元素相加操作聚合成一个最终的结果,最终的输出的结果是宽高同proposal一样的数据(3*3)。这一组数据代表了support proposal支持聚合后target patch的信息,然后我们对这一组信息训练了一个权重参数W,W代表了这个patch在target proposal的重要程度。
在这里插入图片描述
下面看一下这个相似度S是怎么计算的,这幅图很好理解,针对于每一个support proposal,S只是一个数:
在这里插入图片描述
上述的大体思路了解之后,结合下面的流程图中的数据的shape就可以帮助我们加深理解了:
在这里插入图片描述
最开始的第一步:左边的target proposal分成N个patch,右边的support proposal则复制N份。
第二步:每一组support proposal(M个)计算同一个target patch的相似度,相乘原support proposal得到融合信息。
第三步:训练了一个权重W控制N组target patch和support proposal(M个)融合信息的重要程度。
第四步:得到的加权融合信息同原来的target proposal信息逐元素相加的aggregated feature。


实验

1.这个实验证明了两个模块的有效性。在这里插入图片描述
2.这个实验证明了stCIE融合时间维度的特征对视频目标检测是有帮助的。其中作者把数据集10帧以内的ground truth的同一物体的IOU叫做运动IOU,这个IOU比较大代表物体运动慢,以此为根据,作者将验证集分了三个档次slow/medium/fast来验证模型在物体不同运动速度的效果。
在这里插入图片描述
3.这个实验证明了,给target patch权重参数w是有效的,Fixed指参数是固定的,不是学习出的。
在这里插入图片描述
4.这个实验证明了不同的支持帧数量对结果的影响。
在这里插入图片描述
5.这个实验验证了N(proposal分成几份)选取什么值最合适。
在这里插入图片描述
6.这组是同视频目标检测方法的综合对比。
在这里插入图片描述

效果

在这里插入图片描述

上图中,作者说检测的效果体现了stCIE的效果,就比如这个海龟,因为上下文的水让模型更确信它是一只龟。
在这里插入图片描述
这张图片体现了SPFA的作用,看这个赛车发生了遮挡,在普通的proposal融合中效果并不佳,spfa起作用的具体原因可以看下图。
在这里插入图片描述
上图中,黄色字体是当前patch的权重,绿色数字是这个support proposal同当前patch的相似度,结果显而易见,遮挡的给了更低的权重。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Context and Structure Mining Network for Video Object Detection]阅读笔记 的相关文章

  • PhotonServer游戏服务器学习一

    步骤一 1 PhotonServe的官方网站https www photonengine com zh CN Photon 进入到官网后点击SDKs 选择Server 工程 点击SeverSDK ON PREMISES进行下载 需要注册一个

随机推荐

  • JDBC连接Access数据库的几种方式介绍

    接下来总结一下常用的几种连接方式 例如有如下的Access数据库student 表basic 以及6条记录 现在通过几种方式在Jsp中将他们的数据显示出来 如图所示 对于几种连接Access数据库的方式 基本上都是基于JDBC ODBC方式
  • 关于pytorch、torch_geometric安装 22.12.25

    系统坏了 重装系统 一开始以为电脑只能装cuda9 2版本一下 装了之后 显卡驱动自动更新了 然后显示可以装CUDA11 7版本一下 cuda 9 2 torch geometric 1 61 pytorch 1 6 0 python3 8
  • Linux 根目录爆掉,怎么办?

    极力推荐文章 欢迎收藏Android 干货分享 本篇文章主要介绍 Linux 开发中的部分知识点 通过阅读本篇文章 您将收获以下内容 一 cannot create temp file for here document No space
  • WebStorm 2023 下载、安装、汉化

    1 下载WebStorm 1 1 官网下载地址 https www jetbrains com webstorm https www jetbrains com webstorm download download thanks html
  • 问题解决:DatabaseMetaData.getTables()方法,返回了所有库中的表

    一 问题描述 DatabaseMetaData getTables 方法常常用来获取数据库中的所有表信息 但我想要获取我的本地数据库db test中的表信息 出现了错误 try Connection conn DBManager getCo
  • BigDecimal保留小数

    Java中BigDecimal取整方法 BigDecimal bd new BigDecimal 12 1 long l bd setScale 0 BigDecimal ROUND UP longValue 向上取整 long l bd
  • 【Docker存储】Docker容器的数据持久化

    Docker存储 Docker容器的数据持久化 一 Docker数据持久化方式 二 本次实践介绍 2 1 本次实践简介 2 2 本次实践环境介绍 三 容器的挂载目录 3 1 创建测试容器web01 3 2 查看容器信息 3 3 编辑测试文件
  • 单片机C语言中while(1)的问题

    单片机C语言的主程序 通常要用一个while 1 语句来让程序进入一个无限循环 目的是为了让程序一直保持在我们需要运行的情况下 虽然这种做法毋庸置疑 在网上还是有不少朋友有疑问 如果程序不加while 1 会出现什么情况 对于这种好学精神
  • Android开发——相册的访问、上传以及服务端对接

    相册的访问与图片保存 1 访问相册并上传到服务器 2 下载网络图片到相册 3 这里顺便分享一手后端的对接方法 4 生产环境资源配置 5 后端项目打包 一般Android开发需要涉及到本地相册的上传以及文件下载到相册 1 访问相册并上传到服务
  • redis必杀命令:发布订阅

    Redis 发布订阅 pub sub 是一种消息通信模式 发送者 pub 发送消息 订阅者 sub 接收消息 Redis 客户端可以订阅任意数量的频道 下图展示了频道 channel1 以及订阅这个频道的三个客户端 client2 clie
  • Spotify 一款不错的音乐工具

    Spotify简介 在这个时代 似乎听歌已经成了我们生活中不可缺少的一部分 生活中或多或少的我们都能接触到的 但每个人喜欢的风格是不一样的 又或者我们喜欢的歌曲可能因为种种的原因而听不见 那么下面这款工具就基本上能满足我们对歌曲的渴望 在这
  • 使用两个队列实现一个栈【数据结构】

    使用两个队列实现一个栈 StackByQueue h typedef int SQDataType typedef struct StackByQueue Queue q1 Queue q2 StackByQueue void InitSt
  • 多核编程与单核多线程编程

    并发 时间段内有很多的线程或进程在执行 但何时间点上都只有一个在执行 多个线程或进程争抢时间片轮流执行 并行 时间段和时间点上都有多个线程或进程在执行 单核cpu的话只能是并发 多核cpu才能做到并行执行 那有人可能有这样的疑问 那多进程的
  • Java Encoding

    现象 Java程序在Windows命令行编译运行打印中文时 直接在命令行下编译会报错 gbk编码的不可映射字符 Eclipse不存在该问题 分析 显然是几种编码格式不兼容 但要搞清楚源文件的编码方式 编译生成的class文件编码方式并且确保
  • Mac必备的矢量图处理软件:ai2021中文版

    备受期待的Adobe Illustrator 2021 for Mac终于来啦 这是全球最著名的矢量图形软件 这次的Illustrator2021中文版提升了软件的性 能 缩短了Illustrator 2021的启动时间并加快了文件打开速度
  • 【深度学习】深入浅出详解张量自动求导机制

    转载自 PaperWeekly 作者 清川 单位 上海交通大学博士生 研究方向 联邦学习 端云协同推断 1 写在前面 深入浅出 在计算机教材界被用滥的词 总是继承着领域小白的初心和梦想 顾名思义 它既意味着理解得透彻 又要求复述得通俗 如果
  • 软件测试人员在工作中如何运用Linux

    从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事 工作时需要用到 面试时会被问到 简历中需要写到 对于软件测试人员来说 不需要你多么熟练使用Linux所有命令 也不需要你对Linux系统完全了解 你只需要学会一些常用的基本命
  • 迪杰斯特拉(Dijkstra)算法

    一 算法介绍 迪杰斯特拉算法是由荷兰计算机科学家在1956年发现的算法 此算法使用类似广度优先搜索的方法解决了带权图的单源最短路径问题 它是一个贪心算法 二 核心思想 1 选定一个点 这个点满足两个条件 1 未被选过 2 距离最短 2 对于
  • 【数字图像处理笔记(七)】之冲激和取样的傅里叶变换

    本文章由公号 开发小鸽 发布 欢迎关注 老规矩 妹妹镇楼 一 冲激和取样特性 一 连续冲激的定义 线性系统和傅里叶变换研究的核心是冲激及其取样特性 连续变量t在t 0处的单位冲激表示 满足等式 物理上 如果我们把t解释为时间 那么一个冲激可
  • [Context and Structure Mining Network for Video Object Detection]阅读笔记

    文章目录 TOC 文章目录 Abstract Introduction Related work Proposed Method 1 overview 2 Sptial temporal context Information Encodi