视频目标检测(video object detection)简单综述

2023-05-16

对目前看过的视频目标检测论文做一个简单的综述,也欢迎大家补充一些其他遗漏掉的,不错的视频目标检测论文。持续更新。。。

github:https://github.com/breezelj/video_object_detection_paper

论文详细笔记:https://blog.csdn.net/breeze_blows/article/details/104533004

目标检测已经做到很成熟了,但是视频目标检测确实还在发展之中,视频目标检测主要挑战在于在长视频中往往有些帧的质量非常差,比如目标物体出现以下情况,单纯的目标检测算法难以胜任(图片来自于FGFA论文)

既然单帧图片进行检测效果不好,视频目标检测的主要考虑就是如何去融合更多的时空上面的特征,比如从bbox,frame,feature,proposal等level进行特征融合,从而弥补在训练或者检测中单帧得到的特征的不足。大概就是从上面level上面去融合特征,怎么去融合特征。

数据集:常用的数据集就是ImageNet VID dataset, 其中训练集包含了3862个video snippets,验证集含有555个snippets。共有30个类,这些类别是ImageNet DET dataset类别的子集。有时候训练集也可以用ImageNet DET这30个类的图片集。

评价标准:沿用目标检测中的mAP,但是会根据目标的速度分为mAP(slow), mAP(medium), mAP(fast), 划分标准按照FAFG论文中的方法为求当前帧与前后10帧的IOU的平均得分值score,the objects are divided into slow (score > 0.9), medium (score ∈ [0.7, 0.9]), and fast (score < 0.7) groups。

下面是按照自己的理解进行的分类与整理。主要有两个方向,一个是关注于精度的提升即Accuracy,另外一个就是注重速度即speed,想达到Accuracy和speed的tradeoff。

 

目录

1.Accuracy

Tracking-Related

Flow-Related

Attention-Related 

Other-Related

2.Speed

Flow-Related

Attention-Related

Other-Related


1.Accuracy

  • Tracking-Related

    • D&T:  Detect to Track and Track to Detect[paper][code]. 将跟踪引入到检测之中,通过使用track去学习不同帧feature之间的相似性,从而进行roi track得到帧间目标的位移,辅助检测。
  • Flow-Related

    • FGFA: Flow-Guided Feature Aggregation for Video Object Detection[paper][code]. 用bilinear warp融合FlowNet得到的当前帧与相邻帧特征,最后将这些特征进行加权aggregation。detection network采用R-FCN.详细分析:https://blog.csdn.net/breeze_blows/article/details/104533004
    • MANet: Fully Motion-Aware Network for Video Object Detection[paper]。 先提取出帧的feature和用FlowNet提取出帧间的光流信息,完成pixel-level的calibration,接着通过预测出来的instance的movement,其实就是R-FCN得到的proposal,进行instance-level的calibration,最后融合pixel-level和instance-level得到的feature用于训练和测试。
  • Attention-Related 

    • RDN: Relation Distillation Networks for Video Object Detection[paper]. faster rcnn为backbone,用multi-stage的形式将support frame的proposal来逐步增强reference frames的proposal特征,以融合更多的proposal之间联系的特征。最后advanced stage出来的feature用于最后检测的分类和回归。并且提出BLR(Box Linking with Relations)的后处理方式。详细分析:https://blog.csdn.net/breeze_blows/article/details/104709770

    • SELSA: Sequence Level Semantics Aggregation for Video Object Detection[paper][code]. faster rcnn为backbone,用两个selsa模块(其实就是self-attention)融合多帧训练时候的proposal特征,达到Spectral Clustering的效果。详细分析:https://blog.csdn.net/breeze_blows/article/details/104533004

    • LLTR: Leveraging Long-Range Temporal Relationships Between Proposals for Video Object Detection[paper]. 受non local,relation network的启发设计了一个relation block来发掘视频序列中target frame与support frames提取的proposal之间的关系,在这个relation block中还引入了feat norm以及一个graph loss进一步提高准确率。详细分析:https://blog.csdn.net/breeze_blows/article/details/104533004

    • OGEMN: Object Guided External Memory Network for Video Object Detection[paper]. Memory和attention结合的方法,通过一个guided external memory network Nmem存储pix级别的Memory Mpix(来自当前帧经过backbone之后的feature与previous Mpix attention), 存储instance级别的Memory Minst(来自roi align之后的feature与previous Minst attention), 并且通过去除redundant feature来更新Nmem。

    • HVRNet:  Mining Inter-Video Proposal Relations for Video Object Detection[paper]. 原来的视频目标检测文章都是在当前帧所在的视频序列中随机选取另外的support frames用来增强当前帧目标特征,作者指出当前视频序列只能知道该序列目标look like and how it moves in this video,has a little clue about object relations and variations among different videos。所以在文中分别用intra-video proposal relation and inter-video proposal relation来挖掘当前序列和不同序列中object 之间的relation,并且最后通过一个relation regularization来监督relation的学习,进一步提高了精度。详细分析见:https://blog.csdn.net/breeze_blows/article/details/108796729

  • Other-Related

    • STSN: Object Detection in Video with Spatiotemporal Sampling Networks[paper]. 用STSN模块从当前帧的邻近帧中学到spatially sample features,最后将这个spatially sample features结合到当前帧的feature用于最后的检测分类。 spatially sample features是通过DCN(deformable convolutional)完成的,不同于光流那种的聚合。
    • STMN: Video Object Detection with an Aligned Spatial-Temporal Memory[paper][code]. 与RNN结合的方法,当前帧和邻近帧经过backbone的feature都被送入STMM模块,STMM可以聚合先前所有帧在时间t-1的feature和当前时间t所有当前帧与邻近帧的feature,最后将聚合的feature用于检测与分类。

 

2.Speed

  • Flow-Related

    • THP: Towards High Performance Video Object Detection[paper]. 在DFF和FGFA基础上进行改进,提出sparsely recursive feature aggregation:inference时关键帧feature的聚合方式,spatially-adaptive partial feature updating:关键帧feature聚合到非关键帧feature的方式,temporally-adaptive key frame scheduling:关键帧的选取方式,达到了较高速度而且不错的精度.The mAP score is 78.6% at a runtime of 13.0 / 8.6 fps on Titan X / K40
    • DFF: Deep Feature Flow for Video Recognition[paper][code]. 区分关键帧与非关键帧,对于关键帧直接检测,对于非关键帧,就利用warp融合关键帧经过backbone得到的feature,FlowNet提取非关键帧的光流信息,最后用于最后非关键帧的检测这样做的目的主要是为了加速非关键帧的检测速度,因为视频中非关键与关键帧特征的相似性。
  • Attention-Related

    • LWDN: Video Object Detection with Locally-Weighted Deformable Neighbors[paper]. 受flow warp和non local的启发提出了一个LWDN模块(有点DCN的意思)用来聚合邻近帧的feature,并且在训练过程中维护了一个memory,逐步用memory和LWDN将关键帧的feature align到当前帧中,VID上面mAP为76.3, 在Titan X GPU有20fps的速度。
    • PSLA: Progressive Sparse Local Attention for Video Object Detection[paper]. a temporal feature Ft和关键帧经过backbone之后的feature经过Recursive Feature Updating (RFU)聚合优化Ft,以及输出用于关键帧检测与分类的feature。Ft和非关键帧经过backbone之后的feature通过Dense Feature Transforming (DenseFT)输出用于非关键帧检测和分类的feature,RFU和DenseFT的核心是PSLA模块,其实就是non local的一种变体。
  • Other-Related

    • LSTM-SSD: Mobile Video Object Detection with Temporally-Aware Feature Maps[paper]. 将SSD作为Mobilenet architecture,将其中的conv替换为depthwise separable convolutions,最后将LSTM插入到SSD中用于提取视频帧的空间和时间信息,据文中描述在cpu上面可以有15fps,不过mAP大概40-50的样子
    • ST-Lattice: Optimizing Video Object Detection via a Scale-Time Lattice[paper]. 先在稀疏的关键帧上进行检测,然后利用提出的尺度-时间网格(Scale-Time Lattice), 从不同尺度,时间维度辅助非关键帧的检测,进行位置修正,可以达到 79.6 mAP(20fps)和 79.0 mAP(62 fps)
    • CHP: CenterNet Heatmap Propagation for Real-time Video Object Detection[paper]。原来的所有视频目标检测算法都是基于two-stage的目标检测算法进行改进(大多数为Faster rcnn和R-FCN),这样就难以做到实时。在这篇文章中作者首次提出基于one-stage的目标检测算法即CenterNet进行视频目标检测,主要就是通过不断地propagate 前一帧的heatmap到当前帧,这里的heatmap每个点表示当前位置是否有目标的置信度。其实也是用其他帧的feature来进一步refine当前帧的feature。最后online performance:76.7% mAP at 37 FPS, offline performance:78.4% mAP at 34 FPS。

 

 

附上自己整理的实验结果图

无后处理的

加上后处理步骤的,∗ indicates use of video-level post-processing methods(e.g Seq-NMS, tubelet rescoring, BLR), △ indicates using data augmentation.
 

 

 

最后放两张论文中的实验图(分别来自PSLA和MEGA)

 

 

 

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

视频目标检测(video object detection)简单综述 的相关文章

  • px4+vins+ego单机鲁棒飞行二-1(更改px4外部视觉估计固件)

    px4 43 vins 43 ego单机鲁棒飞行二 1 xff08 更改px4外部视觉估计固件 xff09 一 EKF2源码 获取视觉里程计信息二 EKF2源码 设置外部视觉数据三 源码中对位置的发送四 测试 前提 xff1a 固件1 11
  • px4+vins+ego单机鲁棒飞行五(坐标系变换篇)

    px4 43 vins 43 ego单机鲁棒飞行五 xff08 坐标系变换篇 xff09 一 齐次矩阵变换原理二 无人机上利用旋转矩阵求飞机中心位置 一 齐次矩阵变换原理 参考一 参考二 二 无人机上利用旋转矩阵求飞机中心位置 首先写出相机
  • 编译多版本opencv,并在cmakelists中链接

    编译多版本opencv xff0c 并在cmakelists中链接 一 下载二 编译三 链接四 替代系统的 xff08 可选 xff0c 但不建议 xff09 五 链接了 xff0c 但无法找到 一 下载 github链接 自己选择版本 x
  • CMakeLists笔记

    CMakeLists笔记 一 路径名二 函数三 常用 一 路径名 PROJECT SOURCE DIR xff1a 一般为catkin ws src xff0c 是cmakelists的绝对路径PROJECT BINARY DIR xff1
  • 源码编译安装openvino

    源码编译安装openvino 1 原地升级cmake2 编译opencv4 5 33 下载openvino4 配置usb规则 参考博客 交叉编译方式 1 原地升级cmake 方法一 xff1a 下载3 19 0中的CMake 3 19 0
  • 【ros】读取串口数据

    文章目录 一 自定义 gnrmc msg二 代码三 结果四 注意点 有时候 有的设备是通过串口发送数据 xff0c 想要在 ros 中 xff0c 读取串口数据 xff0c 记录一下操作 xff1a 一 自定义 gnrmc msg 首先需要
  • Android守护进程

    守护进程 守护进程 一直在后台运行的进程 本文主要讲解一些android比较常用的守护进程的方法 实现思想 1 保活 xff0c 通过提高进程优先级 xff0c 降低进程被杀死的概率 2 拉起 xff0c 进程被杀死后 xff0c 进行拉起
  • ros package 由于依赖 msg 导致编译问题解决

    文章目录 1 问题2 解决 1 问题 经常我们会自定义一些 msg 给其他的 package 使用 如果正常写 CmakeLists txt 在编译的时候 就会提示没有找到依赖的 msg 需要先编译 msg 的 package 再编译其他的
  • 使用Docker部署软件运行环境

    什么是docker xff1f Docker是基于Go语言进行开发实现 xff0c 一个开源的应用容器引擎 采用Linux内核的cgroup xff0c namespace xff0c 以及AUFS类的Union FS等技术 xff0c 对
  • 【控制control】四足机器人运动学、动力学模型

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 四足机器人实际模型的物理难点二 四足机器人运动学模型1 方法一 xff1a DH法建
  • 【项目解读】fast_planner工程解读

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 规划系统运行逻辑 业务部分 1 Fast planner node cpp 程序入口
  • IMU方向位姿估计

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 方法一 xff1a IMU方向位姿可以直接从IMU本身提供的专有算法中获得 xff0
  • 【autoware的仿真平台】

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 仿真的必要性及常见的仿真工具介绍二 gazebo仿真插件介绍及源码解析1 gazeb
  • 【机械臂、无人机规控篇】(8)机械臂轨迹规划、跟踪控制方向

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 机械臂的规划控制和无人的规划控制的异同点分析1 规划的异同分析2 控制的异同分析 二
  • 微信支付——支付签名验证失败的坑

    只讲几个微信支付开发中的签名问题 xff08 JAVA版的公众号支付 xff09 第一个是获取订单数据时生成 xff0c 然后通过这些数据生成预支付订单 xff08 通过 统一下单 方法取得 xff09 xff0c 微信官方返回一串xml数
  • c++的多重继承

    一 前言 每个类只继承一个父辈 xff0c 在现实世界中事情通常是这样的 xff0c 但是有一些类却代表两个类的合成 例如两用沙发 xff0c 它是一张床 xff0c 也是一个沙发 二 示例代码 xff0c 用作下面提出问题使用 span
  • 学习 STM32之九轴姿态传感器(BWT901CL)串口通信读取数据

    由于个人应用到3轴传感器 xff0c 所以买了直接买了一个9轴的 xff0c 用于学习STM32Core平台串口2连接维特智能串口Normal协议 xff0c 然后通过串口1直接打印数据 xff0c 接收传感器数据和与传感器进行通信 xff
  • 用遗传算法求解旅行商问题

    以下是用遗传算法解决旅行商问题的实验报告 1 问题描述 旅行商问题 xff08 Travelling Salesman Problem 简记TSP xff0c 亦称货郎担问题 xff1a 设有n个城市和距离矩阵D 61 dij xff0c
  • 学习LLC谐振变换电路的工作原理

    五 学习LLC谐振变换电路的工作原理 在具有电阻R 电感L和电容C元件的交流电路中 xff0c 电路两端的电压与其中电流相位一般是不同的 如果调节电路元件 xff08 L或C xff09 的参数或电源频率 xff0c 可以使它们相位相同 x
  • 关于电赛应该了解的事

    2021年1月31日 xff0c 全国大学生电子设计竞赛组委会向各赛区组委会 各有关高校下发 关于组织2021年全国大学生电子设计竞赛的通知 xff0c 正式启动2021年全国竞赛组织工作 电赛越来越近 xff0c 很多大一大二的同学还没有

随机推荐

  • stm32的基本学习路径---新手指南

    心得 xff1a 本人学习STM32的时候有一些跟风的因素 xff0c 自以为学的芯片越多就越厉害 61 61 其实 xff0c 学习嵌入式重要的是整体的工程思想和项目经验积累 xff0c 说到底这些芯片 xff0c 我感觉学习起来都差不多
  • 初学stm32建议的---实用开发板推荐

    STM32编程作为一项实操性很强的技能 xff0c 所以要多实操 初学的话 xff0c 我觉得书籍就暂时先不买吧 xff0c 先考虑入手一块STM32开发板 xff0c 然后跟着开发板的教程走 几年前 xff0c 做STM32的教程有很多家
  • 嵌入式操作系统-ucos是什么?

    一句话概括ucos系统 xff1a 一款源代码开放的 xff0c 抢占式多任务实时操作系统 其在整个嵌入式产品的架构中的角色和主要功能代码如下图所示 xff1a ucos 系统建立了用户程序和底层硬件之间沟通的渠道 通过ucos系统的管理和
  • 自学stm32,需要会到什么程度能找到一份工作?

    我是从大一就开始接触单片机 xff0c 学过很多类型的单片机 从最简单的51单片机 xff08 stc xff0c atmel intel等类型都用过 xff09 到国内现在最火的stm32 xff08 推荐正点原子 xff0c 后期很多项
  • 学习STM32的寄存器版本好还是库函数版本好

    我个人认为 xff0c 在回答这个问题之前 xff0c 你得先问清楚自己 xff0c 我学习stm32 或者再往更深的地方走 xff0c 我学习单片机 xff0c 究竟是为了什么 xff1f 你现在是处于什么状态 xff1f 你是学生还是已
  • proteus 8 打开proteus 7版本仿真文件的两个方法

    Proteus版本一直在更新 xff0c 其中常见的大版本Proteus 7 和Proteus 8兼容是有问题的 xff0c Proteus是向上兼容的 xff0c 高版本可以打开低版本的仿真 xff0c 低版本打不开高版本的 Proteu
  • stm32 单片机主要优点有哪些?

    51单片机之所以成为经典 xff0c 成为易上手的单片机主要有以下特点 xff1a 特性 xff1a 1 从内部的硬件到软件有一套完整的按位操作系统 xff0c 称作位处理器 xff0c 处理对象不是字或字节而是位 不但能对片内某些特殊功能
  • openmv入门之路

    如果你发现OpenCV函数繁多 xff01 xff01 xff01 如果你发现OpenCV配置繁琐 xff01 xff01 xff01 如果你发现自己买不起miniPC xff01 xff01 xff01 请选择OpenMV来完成你的项目吧
  • GMM(高斯混合模型)的动态背景分割

    以下是GMM xff08 高斯混合模型 xff09 的动态背景分割的实验报告以及源码 xff0c 另外用到了形态学操作与多通道的处理 xff0c 提升了实验结果的性能 一 实验名称 基于混合高斯模型的动态背景分割 二 实验目的 探索如何对W
  • OpenMv学习总结

    入门阶段 简单来说 xff0c OpenMv就是一个可编程的摄像头 xff0c 通过使用python语言 xff0c 专门用作嵌入式当中的视觉感光元件 下面将介绍Openmv使用过程中的常用知识 感光元件 感光元件即sensor模块 xff
  • 分享一下使用机智云APP控制战舰V3

    第一步 xff1a 注册机智云 xff0c 然后进入到开发者中心 xff0c 然后开始创建新产品 具体代码 xff0c 已经上传共享 设置好后点击保存 xff0c 这个时候会跳转到开发向导界面 xff0c 选择去添加数据点 我们建3个数据节
  • FreeRTOS进入函数prvStartFirstTask() 启动SVC后进入HardFault死循环

    FreeRTOS进入函数prvStartFirstTask 启动SVC后进入HardFault死循环 原因 xff1a 在初始化串口时为串口中断配置的NVIC与FreeRTOS的优先级设置冲突 解决方法 xff1a 设置USART的中断分组
  • docker修改默认存储路径

    docker修改默认存储路径 一 环境 xff1a centos7 x系统 xff0c 已经装好docker ce服务包 二 查看当前docker的存储路径 yukw 64 yfb docker info grep Dir WARNING
  • FreeRTOS变量和函数命名规则

    1 变量名 在 FreeRTOS 中 xff0c 定义变量的时候往往会把变量的类型当作前缀加在变量上 xff0c 这样的 好处是让用户一看到这个变量就知道该变量的类型 c char 型变量 s short 型变量 l long型变量 x p
  • Cannot Load Flash Programming Algorithm !错误解决方案,亲自验证过的几套方案

    当你下载程序的时候遇到Cannot Load Flash Programming Algorithm xff01 错误的时候是不是很崩溃 xff1f 按字面翻译的意思大概是编程算法不对 xff1b 一 这个问题我们一般先检查设备是否连接和编
  • 使用snprintf函数使用时注意事项

    snprintf函数 函数原型 xff1a int snprintf char str size t size const char format 简介 xff1a 将可变参数 按照format的格式格式化为字符串 xff0c 然后再将其拷
  • UCOSii中的信号量

    任务间简单通个信 xff0c A告诉B你LED亮一下 这种问题可以用信号量来处理 xff0c UCOSii中关于信号量的函数也就八个 xff0c 今天简单总结下 函数列表 CREATE A SEMAPHORE Description Thi
  • FreeRTOS中的变量,函数命名规则(u.v.x.p什么意思)

    写在前面 初学FreeRTOS时 xff0c 每次打开函数列表都一脸懵逼 xff1f 根本不知道这什么prv v ux是什么意思 xff0c 虽然平时使用也不需要知道这么多东西 xff0c 因为它不怎么影响开发 xff0c 但是理解总比疑惑
  • stm32学习之路---最小系统的介绍

    目标 xff1a stm32最小系统的了解 1 STM32最小系统组成 电源电路复位电路晶振电路下载电路 电源电路 xff1a DC IN1和POWER那是单片机的火牛接口它是5V的 xff0c 不能乱接不然会烧毁芯片 POWER1处是单片
  • 视频目标检测(video object detection)简单综述

    对目前看过的视频目标检测论文做一个简单的综述 xff0c 也欢迎大家补充一些其他遗漏掉的 xff0c 不错的视频目标检测论文 持续更新 github https github com breezelj video object detect