当前位置: 首页 > news >正文

【深度学习MOT videos detect】Detect to Track and Track to Detect

论文:https://arxiv.org/abs/1710.03958
代码:https://github.com/feichtenhofer/Detect-Track

文章目录

  • Abstract
  • 1. Introduction
  • 2. Related work
  • 后面翻译略

Abstract

近期用于在视频中高精度检测和跟踪目标类别的方法越来越复杂,每年都变得更加繁琐。在本文中,我们提出了一个卷积神经网络(ConvNet)架构,同时执行检测和跟踪,以简单而有效的方式解决这个任务。

我们的贡献有三个方面:(i)我们建立了一个ConvNet架构,用于同时进行检测和跟踪,使用多任务目标进行基于帧的物体检测和跨帧轨迹回归;(ii)我们引入了相关特征,表示随时间发生的物体共现,以帮助ConvNet进行跟踪;(iii)我们根据我们的跨帧轨迹将基于帧的检测进行链接,以在视频级别产生高精度的检测。我们的时空物体检测ConvNet架构在大规模ImageNet VID数据集上进行评估,取得了最先进的结果。我们的方法在单一模型性能方面比上一次ImageNet挑战中的获胜方法表现更好,同时在概念上更加简单。最后,我们展示通过增加时间步幅,可以显著提高跟踪器的速度。我们的代码和模型可以在http://github.com/feichtenhofer/detect-track 上获取。

1. Introduction

图像中的目标检测近年来受到了广泛关注,主要得益于深度卷积网络(Deep Convolutional Networks)的出现 [12, 19, 21, 36, 38] 以及它们的区域性后代 [3, 9, 10, 31],取得了巨大的进展。在视频中进行目标检测和跟踪的情况下,最近的方法通常将检测作为第一步,然后使用后处理方法,如应用跟踪器来随时间传播检测分数。这种“通过检测进行跟踪”的范 paradigm 变已取得令人瞩目的进展,但仍以帧级别的检测方法为主导。

近来,视频中的目标检测引起了大量的兴趣,尤其是自从引入了ImageNet [32] 视频目标检测挑战(VID)之后。与ImageNet目标检测(DET)挑战不同,VID展示了图像序列中的目标,并带来了额外的挑战,包括(i)规模:视频提供了大量的帧数(VID大约有130万张图像,而DET约有40万张或COCO [22] 中的10万张),(ii)动态模糊:由于快速的相机或目标运动,(iii)质量:互联网视频剪辑通常比静态照片的质量要低,(iv)部分遮挡:由于目标/观察者位置的变化,以及(v)姿态:在视频中经常看到非常规的目标对相机的姿态。在图1中,我们展示了VID数据集的示例图像;更多示例请参见[1]。

为了解决这一具有挑战性的任务,ImageNet [32] 视频检测挑战中的最新成果在帧级别检测器之上使用了详尽的后处理方法。例如,ILSVRC’15的获胜者[17]使用了两个多阶段的Faster R-CNN [31] 检测框架、上下文抑制、多尺度训练/测试、ConvNet跟踪器 [39]、基于光流的分数传播和模型集成。

在本文中,我们提出了一种统一的方法来解决现实视频中的目标检测问题。我们的目标是通过同时进行检测和跟踪来直接推断多帧上的“轨迹片段(tracklet)”,并使用ConvNet来完成这一任务。为了实现这一目标,我们建议在R-FCN [3] 检测器的基础上引入一种跟踪公式,该公式受到当前基于相关和回归的跟踪器 [1, 13, 25] 的启发。

我们训练了一个完全卷积的架构,端到端地使用基于检测和跟踪的损失进行训练,并将我们的方法命名为D&T,用于联合检测和跟踪。网络的输入由多个帧组成,首先通过ConvNet主干(例如ResNet-101 [12])传递,以产生用于检测和跟踪任务共享的卷积特征。我们计算相邻帧的特征响应之间的卷积交叉相关,以估计不同特征尺度上的局部位移。在这些特征之上,我们采用一个RoIpooling层 [3] 来对候选框进行分类和回归,以及一个RoI跟踪层,该层对帧之间的框进行变换(平移、尺度、宽高比)回归。最后,为了在视频中推断出对象的长期轨迹,我们基于我们的轨迹片段连接检测。

在大规模的ImageNet VID数据集上的评估表明,我们的方法能够在单一模型性能上取得比上一届ILSVRC’16挑战的获胜者更好的表现,尽管在概念上更为简单且速度更快。此外,我们展示了包含跟踪损失可能会改善特征学习,以获得更好的静态目标检测结果,并且我们还提出了一种在时间上有间隔的输入帧上运行的D&T的快速版本。

2. Related work

目标检测。目前有两类流行的检测器:首先是基于区域提案的检测器,如R-CNN [10]、Fast R-CNN [9]、Faster R-CNN [31] 和 R-FCN [3];其次是直接在一步中预测图像的边界框的检测器,如YOLO [30] 和 SSD [23]。

我们的方法建立在R-FCN [3] 的基础之上,它是一个在区域提案上进行对象检测的简单高效的框架,具有完全卷积的性质。在准确性方面,它与使用多层网络对每个区域进行评估的Faster R-CNN [31] 相竞争(因此其成本与候选RoIs的数量线性增长)。

R-FCN通过引入一个位置敏感的RoI池化层将区域级操作推向网络的末尾,该层在编码输入RoIs的空间下采样类别得分的卷积特征上工作,从而降低了区域分类的成本。

跟踪。跟踪也是计算机视觉中一个广泛研究的问题,最近的进展大多致力于在深度ConvNet特征上操作的跟踪器。在[26]中,ConvNet在测试时被微调,通过检测和边界框回归来跟踪同一视频中的目标。

在测试序列的示例上进行训练速度较慢,而且在目标检测设置中不适用。其他方法使用预训练的ConvNet特征来进行跟踪,并且通过相关性 [1, 25] 或热图上的回归跟踪器 [39] 或边界框 [13] 已经取得了强大的性能。[13]中的回归跟踪器与我们的方法相关。

它基于一个孪生ConvNet,预测前一图像中心显示的对象在第二图像中的位置。由于此跟踪器预测边界框而不仅仅是位置,因此它能够对跟踪模板的尺度和宽高比的变化进行建模。这种方法的主要缺点是它只能处理单一的目标模板,而且还必须依赖于大量的数据增强来学习跟踪框的所有可能变换。[1]中的方法是相关跟踪器的一个例子,启发了我们的方法。该跟踪器还使用全卷积孪生网络,将跟踪模板和搜索图像作为输入。最后一个卷积层的ConvNet特征与响应图中的目标位置进行相关分析。许多相关跟踪器 [1, 25] 的一个缺点是它们只能处理单一的目标,并且不考虑目标尺度和宽高比的变化。

视频目标检测。动作检测也是一个相关问题,最近受到了增加的关注,主要是基于两流ConvNet [35] 的方法。在[11]中,提出了一种方法,该方法使用两流R-CNN [10] 对区域进行分类,并根据动作预测和它们的空间重叠将它们连接在帧之间。

这种方法被[33]和[27]采用,其中R-CNN被Faster R-CNN取代,RPN在外观和动态信息的两个流上运行。

一个感兴趣的领域是在每帧中进行检测和定位(例如视频共定位),只有弱监督的情况下。YouTube Object 数据集 [28] 就是为这个目的而使用的,例如[15, 20]。

自从目标检测从视频任务被引入到ImageNet挑战以来,它引起了相当大的关注。在[18]中,通过将跟踪器应用于基于帧的边界框提案,生成了管道提案。通过1D CNN模型对视频中的检测器分数进行重新评分。在相应的ILSVRC提交中,[17]小组基于帧之间的光流将分数传播到附近的帧,并抑制不属于视频中前几类的类别分数。更近期的工作[16]引入了一个管道提案网络,对多帧中的静态对象提出回归提案,在应用Faster R-CNN进行特征提取后,通过编码器-解码器LSTM进行最终处理。在深度特征流 [42]中,仅将识别ConvNet应用于关键帧,使用光流ConvNet通过流场传播深度特征图到其他帧。这种方法可以将检测速度提高5倍,但会稍微降低准确性。该方法在很大程度上容易出现错误,主要有两个方面的原因:首先,从关键帧到当前帧的传播可能出错;其次,关键帧可能会错过当前帧的特征。最近,一个新的大规模视频目标检测数据集 [29] 被引入,其中包含视频序列中的单个对象注释。

后面翻译略

这篇文章提出了一种同时进行检测和追踪的ConvNet架构,以简单有效的方式解决了这个任务。该方法通过使用多任务目标进行基于帧的目标检测和跨帧目标回归,建立了一个ConvNet架构来进行时空目标检测。同时,引入了表示目标在时间上的共现关系的相关特征,以帮助ConvNet进行目标追踪。此外,通过将基于跨帧轨迹的帧级检测结果进行链接,可以在视频级别产生高准确度的检测结果。

该方法在大规模的ImageNet VID数据集上进行了评估,并取得了最先进的结果。与上一届ImageNet挑战的获胜方法相比,该方法在单模型性能上表现更好,同时概念上更简单。此外,通过增加时间步长,可以显著提高追踪器的速度。

具体实现方面,该方法使用了一个ConvNet架构,通过同时进行检测和追踪来直接推断多帧上的“tracklet”。输入网络的是多个帧,首先通过一个ConvNet主干(如ResNet-101)来获取特征图。然后,在R-FCN目标检测器的基础上,引入了一个受当前相关和回归追踪器启发的追踪公式,通过在特征图上计算相关图来进行多目标追踪。整个系统可以端到端地进行训练,从视频中的帧作为输入,产生目标检测和它们的轨迹。

相关文章:

【深度学习MOT videos detect】Detect to Track and Track to Detect

论文:https://arxiv.org/abs/1710.03958 代码:https://github.com/feichtenhofer/Detect-Track 文章目录 Abstract1. Introduction2. Related work后面翻译略 Abstract 近期用于在视频中高精度检测和跟踪目标类别的方法越来越复杂,每年都变得…...

关于Neo4j的使用及其基本命令

关于Neo4j的使用 文章目录 关于Neo4j的使用1、启动方式2、创建新节点,节点内有属性3、创建关系4、查询节点5、查询关系6、删除两个节点的关系7、删除节点8、删除某个标签的全部关系9、某个节点添加属性10、删除节点某个属性 1、启动方式 进入bin目录: …...

【笔记】树状数组

【笔记】树状数组 目录 简介引入1. 直接暴力2. 维护前缀和数组总结 定义前置知识: lowbit ⁡ \operatorname{lowbit} lowbit 操作区间的表示方法操作单点修改前缀和查询任意区间查询 例题1: 单点修改,区间查询例题2: 区间修改,单点查询例题3:…...

vue全局组件自动注册直接使用,无需单独先引用注册再使用

目录结构: 本案例是在根目录下components文件夹测试的,文件位置项目内任意,确保在main.js挂载路径正确即可 1、新建文件夹(名字随意)zxy_components (放自己组件的地方) 2、在zxy_components文件夹下 !新建…...

【HarmonyOS】@ohos.request 上传下载的那些事儿

【关键字】 ohos.request、上传下载​ 【写在前面】 在进行HarmonyOS应用开发时,可能需要进行上传或下载文件功能开发,本文章主要进行上传下载相关功能介绍和一些注意事项及FAQ。 【上传开发步骤】 步骤1:上传下载接口需要申请ohos.permis…...

github版面混乱加载不出的解决办法

最近出现打开github 界面加载不成功,网页访问乱码,打开chrome的检查发现 github的github.githubassets.com 拒绝访问, 解法: 1.先打开hosts文件所在的目录C:\Windows\System32\drivers\etc 2.右键点击hosts文件-选择用记事本或者…...

dotNet 之数据库sqlite

Sqlite3是个特别好的本地数据库,体积小,无需安装,是写小控制台程序最佳数据库。NET Core是同样也是.NET 未来的方向。 **硬件支持型号 点击 查看 硬件支持 详情** DTU701 产品详情 DTU702 产品详情 DTU801 产品详情 DTU802 产品详情 D…...

走近ChatGPT与类似产品:原理解析与比较

目录 1. 引言1.1 技术的进步与自然语言处理1.2 ChatGPT的崭新概念 2. ChatGPT: 一览众山小2.1 GPT-3.5架构简介2.2 ChatGPT的学习与训练2.3 文本生成的工作原理 3. 市场上类似产品调研3.1 对话式人工智能产品分类3.2 文心一言3.3 讯飞星火 4. 应用前景与局限性展望4.1 ChatGPT的…...

HarmonyOS SDK开放能力,服务鸿蒙生态建设,打造优质应用体验

华为开发者大会2023(HDC.Together)于8月4日至6日在东莞松山湖举行,在HarmonyOS端云开放能力技术分论坛上,华为为广大开发者们介绍了HarmonyOS SDK开放能力在基础开发架构、功能特性等方面的变化之处,通过将常见的通用能…...

数字经济对产业结构升级和创业增长的影响(2011-2021年)

参照刘翠花(2022)的做法,对来自中国人口科学《数字经济对产业结构升级和创业增长的影响》一文中的基准回归部分进行复刻。文章从理论层面分析数字经济发展对产业结构升级、创业增长的影响及其机理,并利用2011-2021年中国省级面板数…...

GPT-4助力数据分析:提升效率与洞察力的未来关键技术 | 京东云技术团队

摘要 随着大数据时代的到来,数据分析已经成为企业和组织的核心竞争力。然而,传统的数据分析方法往往无法满足日益增长的数据分析需求的数量和复杂性。在这种背景下,ChatGPT-4作为一种先进的自然语言处理技术,为数据分析带来了革命…...

Zabbix6 对接飞书告警

文章目录 Zabbix对接飞书告警背景创建飞书群组Zabbix配置创建告警媒介类型创建动作用户关联飞书告警 Zabbix对接飞书告警 背景 运维 你看下他的进程是不是挂了,之前在9点28分有发消息的,这次没有发消息 哐哐哐的去看了一通,确实有个进程之前…...

Javascript异步编程的4种方法

你可能知道,Javascript语言的执行环境是"单线程"(single thread)。 所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一…...

【MySQL】表的内外连接

目录 一、内连接 二、外连接 1、左外连接 2、右外连接 一、内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。 语法: select 字段 from 表1 i…...

详解Mysql——第一篇/连接查询

mysql的连接查询,相必在网上都能找到很多的教程,博主今天不做老话常谈,不走重复路线 1.建表 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id) – –课程编…...

uniapp获取屏幕宽度时 获取不到移动设备中内容盒子宽度

首先 :我使用的是uniapp vue3语法: 问题: 我出现这个问题是IOS 设备发现的,data.boxWidth为0 代码: const initCreated () > {const query uni.createSelectorQuery().in(instance.proxy);const el query.select…...

篇十二:代理模式:控制对象访问

篇十二:“代理模式:控制对象访问” 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 另外有2本不错的关于设计模式的资料&#xff0c…...

P1657 选书

1:思路:一看数据,嗯....!,爆搜嘛?,看一眼题目,嗯!!!,爆搜! 配上俺的无敌小剪枝,按下拿下! 2:暴力枚举每个人获…...

代码随想录第46天 | 139. 单词拆分、多重背包

139. 单词拆分 确定dp数组以及下标的含义 dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词。 确定递推公式 如果确定dp[j] 是true,且 [j, i] 这个区间的子串出现在字典里,那么dp[i]一定是tru…...

Unreal View Model结合GAS使用

这个东西真的难用,各种问题,记录下 官方文档 bilibili教学 开启插件 插件开启 Viewmodel: build.cs内PublicDependencyModuleNames加上ModelViewViewModel 创建ViewModel类 #pragma once#include "CoreMinimal.h" #include &quo…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

Robots.txt 文件

什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...