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

突破传统限制!全新端到端开放词汇多目标跟踪框架OVTR,开启视觉追踪新纪元

在自动驾驶和智能监控等场景中,多目标跟踪(MOT)技术需要应对现实世界中层出不穷的新物体类别。传统方法依赖预定义类别,面对“无人机配件”“新型宠物”等未知目标时往往失效。上海人工智能实验室团队提出的OVTR(Open-Vocabulary Multiple Object Tracking with Transformer),通过端到端架构与视觉-语言模型结合,首次实现了无需后处理、支持动态类别扩展的开放词汇跟踪,成为该领域的重要突破。

论文链接:https://arxiv.org/abs/2503.10616
代码链接:https://github.com/jinyanglii/OVTR
在这里插入图片描述


一、为何需要开放词汇跟踪?

多目标跟踪(MOT)作为视频感知的核心技术,在自动驾驶、智能监控等领域广泛应用。传统方法(如YOLO系列、SORT算法)基于闭合词汇(closed-vocabulary),仅能跟踪训练集中预定义的类别(如“人”“车”),但现实场景中常出现训练时未见过的新类别(如“临时路障”“新型无人机”),传统模型在此类情况下易失效。例如,自动驾驶需动态识别突发障碍物,零售场景需实时追踪新上架商品,这些需求暴露了传统方法的局限性:泛化能力不足场景适应性差

现有开放词汇跟踪(OVMOT)的三大痛点
  1. 分类与跟踪割裂:传统方法逐帧独立预测类别,缺乏跨帧信息融合,导致分类结果不稳定。例如,目标在遮挡后重现时可能被误判为新实例,破坏跟踪连续性。
  2. 框架复杂低效:依赖手工设计的锚框生成和后处理(如非极大值抑制),推理速度受限(通常低于20 FPS),难以应对开放场景的多样性需求。
  3. 预处理负担重:需预训练视觉编码器提取海量物体嵌入(涵盖未见过类别),耗时且性能提升有限。例如,部分方法需生成伪标签,引入数据噪声。
OVTR的技术革新

针对上述问题,**OVTR(Open-Vocabulary Multiple Object Tracking with Transformer)**首次实现端到端的开放词汇跟踪,核心突破包括:

  1. 跨帧信息融合:通过“轨迹查询”动态建模目标的时空特征,联合优化检测与关联,避免逐帧独立分类的割裂问题。
  2. 简化流程:摒弃传统两阶段流程,直接通过集合预测输出唯一轨迹,无需后处理(如NMS),在1080p视频下实现30 FPS实时推理。
  3. 零样本能力:融合CLIP等视觉-语言模型,支持自然语言指令扩展类别(如“手持滑板的儿童”),无需预训练嵌入或伪标签生成。

二、核心技术突破

1. 端到端Transformer架构:告别手工关联

传统方法依赖“检测-关联”两阶段流程,需手动设计相似性度量(如IoU或外观特征匹配)。OVTR基于Transformer构建端到端框架,核心创新在于:

  • 轨迹查询(Track Query):每个目标对应一个动态更新的查询向量,隐式编码时空信息,实现检测与跟踪的联合优化。
  • 双分支解码器
    • OFA分支:对齐CLIP视觉特征,提升未见过类别的泛化能力。
    • CTI分支:通过文本交叉注意力提取语义信息,支持开放词汇分类。
      该设计在TAO数据集上TETA指标超越OVTrack 12.9%,验证了多模态融合的有效性。
      在这里插入图片描述
2. 开放词汇能力:零样本识别新类别
  • 语言引导分类头:利用CLIP文本编码器生成类别特征,与检测框视觉特征计算相似度,实现动态类别扩展。
  • 类别信息传播(CIP):将当前帧的类别信息传递至下一帧,形成跨帧的“记忆流”,解决传统方法分类不稳定的问题。
3. 运动与外观协同建模

针对遮挡与复杂运动场景,OVTR提出:

  • 运动路径:通过光流估计与轨迹查询的注意力机制,预测短期轨迹。
  • 外观路径:结合SAM分割模型提取局部细节特征,提升遮挡鲁棒性。实验显示,长时遮挡下ID切换次数减少90%。

三、性能表现:刷新多项记录

OVTR 在多个基准数据集上表现出色,验证了其技术优势。在TAO数据集上的实验表明,OVTR在TETA指标上优于现有方法,验证集和测试集上分别超过OVTrack 12.9%和12.4%。此外,在KITTI迁移实验中,OVTR在MOTA指标上也超过了OVTrack 2.9%。
在这里插入图片描述


四、应用场景与开源生态

1. 场景落地
  • 智能交通:追踪特种车辆、无人机等罕见目标,提升道路安全。
  • 零售分析:实时统计货架商品动态,支持“即插即用”品类更新。
  • 机器人交互:通过自然语言指令定位目标(如“红色手柄工具”)。
2. 开源与部署

团队已公开代码及预训练模型(GitHub链接),支持自定义类别扩展。开发者可通过简单指令(如添加“工地警示牌”)调整模型,无需标注数据。


五、未来展望

OVTR为开放世界感知提供了新范式,但其在极端遮挡和小目标跟踪上仍有优化空间。未来方向包括:

  • 视频级语义理解:融合属性识别(如颜色、材质)与关系检测(如“人拿杯子”)。
  • 多模态提示:结合文本、语音等多维度输入,提升交互灵活性。

结语
OVTR通过端到端架构与开放词汇能力的结合,打破了传统MOT的类别限制。随着视觉-语言模型的进化,这类技术将推动机器真正“理解”动态世界,为智能系统赋予人类般的场景适应力。正如研究者所言:“未来的跟踪模型不应局限于看见,而应学会认知。”

相关文章:

突破传统限制!全新端到端开放词汇多目标跟踪框架OVTR,开启视觉追踪新纪元

在自动驾驶和智能监控等场景中,多目标跟踪(MOT)技术需要应对现实世界中层出不穷的新物体类别。传统方法依赖预定义类别,面对“无人机配件”“新型宠物”等未知目标时往往失效。上海人工智能实验室团队提出的OVTR(Open-…...

Springboot + Vue + WebSocket + Notification实现消息推送功能

实现功能 基于Springboot与Vue架构,首先使用Websocket实现频道订阅,在实现点对点与群发功能后,在前端调用windows自带的消息通知,实现推送功能。 开发环境 Springboot 2.6.7vue 2.6.11socket-client 1.0.0 准备工作 在 Vue.js…...

Linux内核物理内存组织结构

一、系统调用sys_mmap 系统调用mmap用来创建内存映射,把创建内存映射主要的工作委托给do_mmap函数,内核源码文件处理:mm/mmap.c 二、系统调用sys_munmap 1、vma find_vma (mm, start); // 根据起始地址找到要删除的第一个虚拟内存区域 vma 2…...

Redis高级技能进阶

什么是事务的ACID 事务是由一系列对系统中数据进行访问或更新的操作组成的程序执行逻辑单元。这些操作要么都执行,要么都不执行。 为了保证数据库的一致性,在事务处理之前和之后,都应该遵循某些规则,也就是大家耳熟能详的ACID。 …...

PCB设计基础:面向嵌入式工程师的系统性指南

嵌入式系统的性能、稳定性和可靠性,很大程度上依赖于电路硬件的设计质量。在硬件设计中,PCB(Printed Circuit Board)设计是连接系统功能与实际运行的关键一环。本文将从嵌入式工程师的视角,系统性地介绍PCB设计的关键基…...

aspark 配置2

编写Hadoop集群启停脚本 1.建立新文件,编写脚本程序 在hadoop101中操作,在/root/bin下新建文件:myhadoop,输入如下内容: 2.分发执行权限 保存后退出,然后赋予脚本执行权限 [roothadoop101 ~]$ chmod x /r…...

【统计方法】LASSO筛变量

启 比较原始做LASSO包是library(glmnet) 若目标是纯 LASSO 分析,alpha 必须设为 ​​1 ​​标准化数据​​:LASSO 对特征的尺度敏感,需对数据进行标准化(均值为0,方差为1)。 cv.glmnet​获得的lambda.m…...

拥抱健康生活,书写养生新篇

在快节奏的现代生活中,健康愈发成为人们关注的焦点。践行健康养生,并非是一种选择,而是我们对自己和家人应尽的责任。掌握正确的养生之道,不仅能提升生活品质,更能让生命焕发出新的活力。​ 合理饮食是健康的基石。一…...

Shiro学习(五):Shiro对权限的缓存

一、问题描述 由前边的学习中了解,用户的角色权限一般存储在数据库中,每次进行权限校验时都要从 数据库查询用户的角色权限信息;对数据库来说这样频繁的查询压力太大了,也影响程序的 性能。 Shiro 中执行权限角色校验时&#xff0…...

QGIS实战系列(六):进阶应用篇——Python 脚本自动化与三维可视化

欢迎来到“QGIS实战系列”的第六期!在前几期中,我们从基础操作到插件应用逐步提升了 QGIS 技能。这一篇,我们将迈入进阶领域,探索如何用 Python 脚本实现自动化,以及如何创建三维可视化效果,让你的 GIS 项目更高效、更立体。 第一步:Python 脚本自动化 QGIS 内置了 Py…...

redis-cpp-cpp如何使用lua脚本

1.前言 我今天要在项目中使用lua脚本,结果搞半天都没有弄明白这个函数怎么调用,而且也似乎很少有redis相关的博客介绍,ai也回答的不准确! 2.正文 今天用一个例子演示一下 下面是lua脚本 const std::string LuaScript R"…...

C# Winform 入门(6)之不同类之间的值传递

承接上一个教程,利用委托事件来进行值传递 声明变量 public static double plx, ply,plxx,plyy;声明委托、事件 //声明委托 //事件 public delegate void transferDistance(double dis); public static transferDistance doTransfer; 直接读取form1中的变量 publ…...

PyTorch 深度学习 || 6. Transformer | Ch6.1 注意力机制

...

JWT 秘钥的作用机制

JWT 秘钥的作用并不是给前端使用的,而是用于后端服务器内部的一个重要安全机制。 JWT 秘钥的作用 签名与验证: 秘钥主要用于对 JWT(JSON Web Token)进行签名和验证后端使用这个秘钥对令牌进行签名,确保令牌的完整性…...

sun.misc.BASE64Encoder 和 sun.misc.BASE64Decoder包

1. 在将别人的项目导入eclipse之后,出现了"sun.misc.BASE64Encoder找不到jar"的错误,我解决的办法是:右键项目》属性》Java Build Path》jre System Library 》access rules 》resolution选择accessible,下面填上**点击确定即可&#xff0…...

Java面试黄金宝典34

1. 主键索引底层的实现原理 定义 主键索引是数据库中用于唯一标识表中每一行记录的索引,常见的底层实现是 B 树结构。B 树是一种平衡的多路搜索树,由内部节点和叶子节点组成。内部节点只存储索引键和指向下一层节点的指针,不存储实际数据&am…...

计算机系统---CPU

定义与功能 中央处理器(Central Processing Unit,CPU),是电子计算机的主要设备之一,是计算机的核心部件。CPU是计算机的运算核心和控制核心,负责执行计算机程序中的指令,进行算术运算、逻辑运算…...

AWS云安全基线:构建企业级安全防护体系的完整指南

1. 引言 随着越来越多的企业将其业务和数据迁移到云端,云安全已成为一个不容忽视的关键议题。AWS作为全球领先的云服务提供商,提供了丰富的安全工具和最佳实践。本文将深入探讨如何构建一个全面的AWS云安全基线,以确保您的企业在云环境中的安全性。 2. AWS共享责任模型 在深…...

(三十三)Dart 中使用 Pub 包管理系统与 HTTP 请求教程

Dart 中使用 Pub 包管理系统与 HTTP 请求教程 Pub 包管理系统简介 Pub 是 Dart 和 Flutter 的包管理系统,用于管理项目的依赖。通过 Pub,开发者可以轻松地添加、更新和管理第三方库。 使用 Pub 包管理系统 1. 找到需要的库 访问以下网址&#xff0c…...

如何实现单例模式?

一、模式定义与核心价值 单例模式(Singleton Pattern)是一种创建型设计模式,保证一个类仅有一个实例,并提供全局访问点。其核心价值在于: ​​资源控制​​:避免重复创建消耗性资源(如数据库连…...

【51单片机】2-4【I/O口】震动传感器控制继电器

1.硬件 51最小系统继电器模块震动传感器模块 2.软件 #include "reg52.h"sbit vibrate P3^3;//震动传感器DO接到P3.3口 sbit switcher P1^1;//继电器控制端IN接到P1.1void Delay2000ms() //11.0592MHz {unsigned char i, j, k;// _nop_();i 15;j 2;k 235;do{…...

正点原子 迷你 miniSTM32用ST link烧录后程序不运行(已解决)

情况,在程序和配置都没有问题时检查 烧录使用ST linkv2 烧录后有时程序可行,有时不可行 解决方法 加USB供电配合SW烧录 建议直接用USB转串口烧录 不推荐JLINK供电,也不推荐ST linkv2供电...

如何确保MQ消息队列不丢失:Java实现与流程分析

前言 在分布式系统中,消息队列(Message Queue, MQ)是核心组件之一,用于解耦系统、异步处理和削峰填谷。然而,消息的可靠性传递是使用MQ时需要重点考虑的问题。如果消息在传输过程中丢失,可能会导致数据不一…...

Pascal语言的系统监控

Pascal语言的系统监控 引言 在现代计算机系统中,系统监控是确保计算机平稳运行的重要组成部分。无论是个人计算机还是大型服务器,监控系统的性能、资源使用及状态,都是提高系统效率、及时发现问题的关键。Pascal语言作为一种结构化编程语言…...

6.0 使用Qt+ OpenCV+Python加载图片

本例作为python图像处理的入门课程1,使用Qt+ OpenCV+Python加载图片。 主要有如下几个地方需要注意: 1. OpenCV 默认使用 BGR 格式,而 Qt 使用 RGB。显示前需要转换:cv2.cvtColor(img, cv2.COLOR_BGR2RGB),一般使用某个QLabel控件进行显示。 pic = cv2.cvtColor(pic, cv2.C…...

低成本训练垂直领域文娱大模型的技术路径

标题:低成本训练垂直领域文娱大模型的技术路径 内容:1.摘要 在文娱产业快速发展且对智能化需求日益增长的背景下,为降低垂直领域文娱大模型的训练成本,本研究旨在探索低成本训练的有效技术路径。采用对现有开源模型进行微调、利用轻量化模型架构以及优化…...

音视频入门基础:RTP专题(21)——使用Wireshark分析海康网络摄像机RTSP的RTP流

一、引言 使用vlc等播放器可以播放海康网络摄像机的RTSP流: 网络摄像机的RTSP流中,RTSP主要用于控制媒体流的传输,如播放、暂停、停止等操作。RTSP本身并不用于转送媒体流数据,而是会通过PLAY方法使用RTP来传输实际的音视频数据。…...

【Java网络编程详解】

文章目录 前言一、网络编程基础知识1. 什么是网络编程? 二、Java网络编程核心类三、TCP编程实现1. TCP通信原理2. TCP服务器端示例3. TCP客户端示例 四、UDP编程实现1. UDP通信原理2. UDP服务器端示例3. UDP客户端示例 五、使用HttpURLConnection发送HTTP请求1. GET…...

DuckDB系列教程:如何分析Parquet文件

Parquet 是一种强大的、基于列的存储格式,适用于实现更快捷和更高效的数据分析。您可以使用 DuckDB 这种内存型分析数据库来处理 Parquet 文件并运行查询以对其进行分析。 在这篇文章中,我们将逐步介绍如何使用 DuckDB 对存储在 Parquet 文件中的餐厅订单…...

uniapp的v-for不显示或者swiper-item的不显示

今天开发的时候碰见一个问题&#xff0c;在布局的时候发现v-for遍历的时候不显示内容 H5是正常的 但是在小程序就是不显示 最后排查的原因是同一个组件 swiper-item的 v-for不能用相同的名称 比如 <swiper-item v-for"i in 3" :key"i"><image …...

解决LeetCode“使括号有效的最少添加”问题

目录 问题描述 解题思路 复杂度分析 示例分析 暴力替换“不讲码德” 总结 问题描述 给定一个仅由 ( 和 ) 组成的字符串 s&#xff0c;我们需要通过添加最少数量的括号&#xff08;( 或 )&#xff09;使得字符串有效。有效字符串需满足&#xff1a; 空字符串是有效的。 …...

黑马点评_知识点

将手机验证码保存到HttpSession中进行验证&#xff08;感觉已经过时&#xff09; Controller中的参数有HttpSession&#xff0c;存验证码session.setAttribute(SystemConstants.VERIFY_CODE, code); 其他的都是逻辑代码 Cookie的缺点 什么是Session集群共享问题&#xff1f; …...

2025年渗透测试面试题总结-某腾讯-玄武实验室扩展(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 某腾讯-玄武实验室扩展 一、Web安全基础原理与关联漏洞 1.1 CSRF攻击原理深度解析 1.2 反序列化漏洞…...

管理系统 UI 设计:提升企业办公效率的关键

一、管理系统UI设计的基本原则 管理系统UI设计应遵循一系列基本原则&#xff0c;以确保界面友好、操作便捷、信息直观。这些原则包括&#xff1a; 简洁性&#xff1a;界面应去除冗余元素&#xff0c;保持简洁明了&#xff0c;避免用户迷失在复杂界面中。一致性&#xff1a;界…...

Apache Commons Lang3 中的 `isNotEmpty` 与 `isNotBlank`的区别

前言 在 Java 开发中&#xff0c;字符串的空值&#xff08;null&#xff09;、空字符串&#xff08;“”&#xff09;和空白字符串&#xff08;如 " "&#xff09;的判断是高频需求。Apache Commons Lang3 的 StringUtils 类提供了两个核心方法&#xff1a;isNotEmp…...

WPF 登录页面

效果 项目结构 LoginWindow.xaml <Window x:Class"PrismWpfApp.Views.LoginWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.…...

CExercise_05_1函数_2海伦公式求三角形面积

题目&#xff1a; 键盘录入三个边长&#xff08;带小数&#xff09;&#xff0c;然后用海伦公式计算三角形的面积&#xff08;如果它确实是一个三角形的话&#xff09; 海伦公式求三角形面积&#xff1a; 要求基于下列两个函数完成这个编程题&#xff1a; // 判断abc是否可以组…...

Muduo网络库实现 [十五] - HttpContext模块

目录 设计思路 类的设计 解码过程 模块的实现 私有接口 请求函数 解析函数 公有接口 疑惑点 设计思路 记录每一次请求处理的进度&#xff0c;便于下一次处理。 上下文模块是Http协议模块中最重要的一个模块&#xff0c;他需要记录每一次请求处理的进度&#xff0c;需…...

构建自己的私有 Git 服务器:基于 Gitea 的轻量化部署实战指南

对于个人开发者、小型团队乃至企业来说&#xff0c;将项目代码托管在 GitHub、Gitee 等公共平台虽然方便&#xff0c;但也存在一定的隐私与可控性问题。 搭建一套私有 Git 代码仓库系统&#xff0c;可以实现对源码的完全控制&#xff0c;同时不依赖任何第三方平台&#xff0c;…...

【计科】计算机科学与技术,从离散数学到软件工程,从理学/抽象/科学到工学/具体/技术

【计科】计算机科学与技术&#xff0c;从离散数学到软件工程&#xff0c;从理学/抽象/科学到工学/具体/技术 文章目录 1、发展史与桥梁&#xff08;离散数学 -> 算法/数据结构 -> 软件工程&#xff09;2、离散数学&#xff08;数理逻辑-命题/谓词/集合/函数/关系 -> 代…...

架构与大数据-RabbitMQ‌和Kafka的技术实现异同及落地场景上的异同

RabbitMQ‌与Kafka技术实现及场景对比 ‌一、技术实现异同‌ ‌对比维度‌‌RabbitMQ‌‌Kafka‌‌核心协议/模型‌基于 ‌AMQP 协议‌&#xff0c;支持点对点、发布/订阅、Topic Exchange 等多种消息模式&#xff0c;支持灵活的路由规则‌基于 ‌发布-订阅模型‌&#xff0c;…...

工程画图-UML类图 组合和聚合

组合VS聚合 组合&聚合浅层理解 组合似组装&#xff0c;电脑组装&#xff0c;少装一个CPU行不&#xff1f;不行&#xff0c;没CPU哪还是电脑啊。用实心菱形表示。 而聚合似起义&#xff0c;聚是一团火&#xff0c;散是满天星。就像公司和员工&#xff0c;少你一个照常运转…...

Go语言-初学者日记(七):用 Go 写一个 RESTful API 服务!

&#x1f477; 实践是最好的学习方式&#xff01;这一篇我们将用 Go Gin 框架从零开始开发一个用户管理 API 服务。你将学到&#xff1a; 如何初始化项目并引入依赖如何组织目录结构如何用 Gin 实现 RESTful 接口如何通过 curl 测试 API进阶功能拓展建议 &#x1f9f0; 一、项…...

数据结构:手工创建表达式树的方法

1. 表达式树 表达式树&#xff08;Binary Expression Tree&#xff09;是一类特殊的二叉树&#xff0c;用以表示表达式&#xff0c;如图 7.6.1 所示&#xff0c;是一棵表示了 a b * c d * (e f) 的表达式树。 图 7.6.1 表达式树示例 表达式树有如下特点&#xff1a; 操作数…...

自定义类型:联合和枚举

文章目录 前言一、联合体类型的声明1.1 联合体类型的声明1.2 联合体的特点1.3 相同成员的结构体和联合体对比1.4 联合体大小的计算1.5 联合体的一个练习 二、枚举类型的声明2.1 枚举类型的声明2.2 枚举类型的优点2.3 枚举类型的使用1. 用于 switch 语句2. 作为函数参数 总结 前…...

注意力机制

实现了Bahdanau式加法注意力的核心计算逻辑。以下是三个线性层设计的完整技术解析&#xff1a; 一、数学公式推导 注意力分数计算流程&#xff1a; s c o r e ( h d e c , h e n c ) v T ⋅ tanh ⁡ ( W 1 ⋅ h e n c W 2 ⋅ h d e c ) score(h_{dec}, h_{enc}) v^T \cdot …...

OrangePi5Plus开发板不能正确识别USB 3.0 设备 (绿联HUB和Camera)

1、先插好上电&#xff08;可正确识别&#xff09; 2、上电开机后插&#xff0c;报错如下&#xff0c;只能检测到USB2.0--480M&#xff0c;识别不到USB3.0-5Gbps&#xff0c;重新插拔也不行 Apr 4 21:30:00 orangepi5plus kernel: [ 423.575966] usb 5-1: reset high-speed…...

KubeVirt虚拟化管理架构

目录 一. KubeVirt简介 1.1 KubeVirt的价值 1.2 KubeVirt架构 1.3 KubeVirt组件 1.4 KubeVirt流程管理 KubeVirt实战 2.1 Kubevirt安装 2.1.1节点规划 2.1.2 环境准备 2.1.3 安装KubeVirt 2.1.4 安装CDI 2.1.5 安装virtctl命令工具 2.1.6 生成官方虚拟机 2.1.7 进…...

游戏引擎学习第202天

调试器&#xff1a;启用“跳转到定义/声明”功能 开始了一个完整游戏的开发过程&#xff0c;并分享了一些实用技巧。首先&#xff0c;讨论了如何在 Visual Studio 中使用“跳转到定义”和“跳转到声明”功能&#xff0c;但当前的项目并未启用这些功能&#xff0c;因为缺少浏览…...

sqlalchemy查询json

第一种&#xff1a;字段op是json格式&#xff1a; {"uid": "cxb123456789","role": 2,"op_start_time": 1743513707504,"op_end_time": 1743513707504,"op_start_id": "op_001","op_end_id"…...