密集场景下的行人跟踪替代算法,头部跟踪算法 | CVPR 2021
一个不知名大学生,江湖人称菜狗
original author: Jacky Li
Email : 3435673055@qq.comTime of completion:2023.4.8
Last edited: 2023.4.8

目录
摘要
主要内容
结果
这篇文章是CVPR 2021 的最新论文,文章的标题:

文章的主要内容是提出了一种行人跟踪的替代算法,尝试跟踪行人中最清晰可见的部位(头部)来代替跟踪人体,因为人体存在严重的遮挡现象。同时贡献了一个新的数据集 Crowd of Heads Dataset (CroHD) ,并且提出了一个新的评价跟踪器的指标 IDEucl 。
在活动识别、异常检测、机器人导航、视觉监控、安全规划等领域有着广泛的应用。
摘要
在拥挤的视频序列中跟踪人是视觉场景理解的重要组成部分。不断增加的人群密度挑战了人类的可见度,限制了现有行人跟踪器对更高人群密度的可扩展性。为此,我们提出用人头群数据集(Crowd of Heads Dataset,CroHD)恢复人头跟踪,该数据集由9个11463帧的序列组成,包含2276838个人头和5230个在不同场景中注释的轨迹。在评价方面,我们提出了一个新的指标IDEucl来衡量一个算法在图像坐标空间中保持最长距离唯一身份的有效性,从而建立了行人拥挤运动与跟踪算法性能之间的对应关系。此外,我们还提出了一种新的头部检测器HeadHunter,它是为拥挤场景中的小头部检测而设计的。我们扩展了一个粒子滤波和基于颜色直方图的头部跟踪再识别模块的HeadHunter。为了建立一个强大的基线,我们将我们的跟踪器与CroHD上现有的最先进的行人跟踪器进行了比较,并展示了其优越性,特别是在保持身份的跟踪指标方面。我们相信,我们的研究成果将有助于在密集人群中进行行人追踪,因为我们有一个轻便的头部探测器和一个能有效保存身份的跟踪器。

主要内容
在这项工作中,提出了一种在密集人群中进行跟踪的替代方法,通过视频最明显的部位来跟踪行人,即头部。不断增加的人群密度,对人的能见度来说是个挑战。
将现有的行人跟踪器的可拓展性,由于了更高人群密度中的遮挡问题,大大降低了目标检测器的性能。(存在的问题)
为了应对这些挑战,同时在拥挤的人群环境中有效跟踪人,作者重新思考了多目标跟踪任务,通过清晰可见的部位来跟踪人类(解决方案)。
为此,我们提出了一个新的数据集。crow hd crowd of heads 数据集,是由标签的行人头部组成,用于跟踪分布在五个场景中在不同照明环境下的全高清分辨率密集人群(解决方案)。

而现有的跟踪是跟踪算法的有说服力的性能指标,他们没有量化跟踪器能够在图像坐标空间中保留身份的真实情况的比例(存在的问题)。为了弥补这一差距,我们提出 IDEucl 一个度量标准(解决方案),该度量基于它在图像坐标空间中保持一致身份的效率,为了直观地理解我们的指标,请考虑上面显示的示例,图中两个跟踪器 a 和 b 计算相同ground truth 轨迹的不同身份。

跟踪器 a 在前 150 帧中提交了三个身份切换,而另一方面,跟踪器 b 在前 150 帧保持一致的身份,但在后 150 帧中提交了三个身份切换。然而,现有的指标报告了,两个跟踪器的分数相同,因此无法区分。它们作为我们提议的 ide ucl 措施 ,显示了基于图像坐标空间y轴上中行进距离的跟踪器,它能够区分两个跟踪器并报告跟踪器 a 的分数为 0.3,跟踪器 b 的分数为 0.67(验证猜想)。


作为补充,我们在crow hd 上开发了一个头部检测器baseline,称为HeadHunter,它更适合在拥挤的人群中进行头部检测。HeadHunter是一个端到端的 two-stage 具有三个功能特点的检测器(解决方案)。首先它使用特征金字塔网络在多个尺度上提取特征,使用 resnet 50 作为backbone。图像中外貌和头部是同质的,并且经常在拥挤的场景中像无关紧要对象(通常是背景),因此我们增加了一个每个单独的 fpns 之上的context-sensitive prediction module,因为检测行人头部是检测许多小尺寸的问题,相邻放置的目标,我们在特征上使用转置卷积,跨越所有金字塔层级以提升每个特征图的空间分辨率。最后,我们使用带区域提议网络(rpn)的faster rcnn 头,rpn 生成目标提议(object proposals),而回归和分类头每个分别提供位置偏移和置信度分数,通过三个主要组件的简单组装,我们的头部检测器实现了scut head 数据集的state-of-the-art 结果。


本文采用粒子滤波框架和基于颜色直方图的HeadHunter Re-ID 模块对猎头进行扩展,HeadHunter的工作原理可以概括为四个主要步骤
-
从 HeadHunter 中提取特征
-
从之前的视频帧中回归和预测部位的位置
-
Re-ID:基于颜色直方图的匹配
-
初始化新的检测
首先从前一帧初始化的headhunter轨迹中提取给定帧的特征,然后基于运动模型进行回归,并在新的帧中,根据它们的重要度权重估计它们的位置,然后使用基于颜色直方图的re-identification来最小化身份切换,最后对于没有粒子匹配的建议,在当前帧中初始化新的检测
结果

-
在CroHD和MOTChallenge之间对比相同的序列
-
ours 是在CroHD上评估,而others 实在MOTChallenge上评估
-
s-MOTA , s-IDF1, s-MT:由于各自检测器的MODA导致各自的得分尺度不一致
-
我们的方法大大优于其他方法
我们讨论了我们工作中最有趣的结果头部跟踪器和全身跟踪器之间的比较,我们在CroHD和MOTChallenge数据集之间对比相同的序列,相同的序列确保跟踪器在场景中相同行人的全身和头部边界框上进行评估为了进行比较,我们评估了 HeadHunter t在CroHD数据集 ground truth 上的表现,同时评估了mott challenge数据集ground truth 上公布的最新方法,因为我们使用了与其他方法不同的目标探测器。性能指标之间的直接比较是不公平的,因此对于每个序列,我们测量了跟踪得分相对于他们的目标探测器得分,以获得我们的方法大大优于其他方法,表明跟踪头部检测更适合于跟踪环境中涉及行人密度高。
相关文章:
密集场景下的行人跟踪替代算法,头部跟踪算法 | CVPR 2021
一个不知名大学生,江湖人称菜狗 original author: Jacky LiEmail : 3435673055qq.com Time of completion:2023.4.8 Last edited: 2023.4.8 目录 摘要 主要内容 结果 这篇文章是CVPR 2021 的最新论文,文章的标题: 文章的主要内…...
Matlab与ROS(1/2)---服务端和客户端数据通信(五)
0. 简介 在前几讲我们讲了Matlab中的Message以及Topic的相关知识。而ROS主要支持的通信机制还有服务这一类。服务通过允许请求以及响应的通信方式,来给整个系统完成更紧密的耦合。服务客户端向服务服务器发送请求消息并等待响应。服务器将使用请求中的数据构造响应…...
数字化转型的避坑指南:细说数字化转型十二大坑
随着信息技术的快速发展,数字化转型已经成为许多企业发展的必经之路。然而,数字化转型过程中也存在许多坑,如果不谨慎处理,就可能导致企业陷入困境。本文将细说数字化转型的十二大坑,并提供相应的避坑指南。 1、不了解…...
pt05Encapsulationinherit
Encapsulation &inherit 封装继承 封装 向类外提供必要的功能,隐藏实现的细节, 代码可读性更高优势:简化编程,使用者不必了解具体的实现细节,只需要调用对外提供的功能。私有成员:作用:无需向类外提供…...
面向对象编程(基础)9:封装性(encapsulation)
目录 9.1 为什么需要封装? 而“高内聚,低耦合”的体现之一: 9.2 何为封装性? 9.3 Java如何实现数据封装 9.4 封装性的体现 9.4.1 成员变量/属性私有化 实现步骤: 成员变量封装的好处: 9.4.2 私有化…...
fate-serving-server增加取数逻辑并源码编译
1.什么是fate-serving-server? FATE-Serving 是一个高性能、工业化的联邦学习模型服务系统,专为生产环境而设计,主要用于在线推理。 2.fate-serving-server源码编译 下载fate-serving-serving项目(GitHub - FederatedAI/FATE-Serving: A scalable, h…...
循环队列、双端队列 C和C++
队列 目录 概念 实现方式 顺序队列 循环队列 队列的数组实现 用循环链表实现队列 STL 之 queue 实现队列 STL 之 dequeue 实现双端队列 概念 队列是一种特殊的线性表,它只允许在表的前端(称为队头,front)进行删除操作…...
正则表达式(语法+例子)
文章目录一、介绍二、语法1、匹配字符2、表示数量的字符3、边界字符4、其他字符5、转义字符三、例子1、邮箱2、用逗号分隔的数字集合1,23、允许一位小数4、20yy-mm-dd日期格式5、手机号6、匹配html、xml标签一、介绍 正则表达式(Regular Expression)&am…...
Properties和IO流集合的方法
方法名说明void load(InputStream inStream)从输入字节流读取属性列表(键和元素)void load(Reader reader)从输入字符流读取属性列表(键和元素对)void store(OutputStream out,String comments)将此属性列表(键和元素对…...
python 生成器、迭代器、动态新增属性及方法
目录 一、生成器 1、生成器定义 2、生成器存在的意义 3、创建生成器方式一(生成器表达式) 4. 创建生成器方式二(生成器函数) 1. 生成器函数 2. 生成器函数的工作原理 5. 总结 1. 什么是生成器 2. 生成器特点 二、迭代器…...
Java处理JSON
Java处理json有很多种方法,在这里总结一下。 1 Jackson Spring MVC 默认采用Jackson解析Json,出于最小依赖的考虑,也许Json解析第一选择就应该是Jackson。 1.1 引入的包 Jackson核心模块由三部分组成:jackson-core、jackson-a…...
58-Map和Set练习-LeetCode692前k个高频单词
题目 给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率, 按字典顺序 排序。 示例 1: 输入: words ["i", "love", …...
线程生命周期及五种状态
文章目录一、线程生命周期及五种状态1、New(初始化状态)2、Runnable(就绪状态)3、Running(运行状态)4、Blocked(阻塞状态)5、Terminated(终止状态)二、线程基本方法1、线程等待(wait)2、线程睡眠(sleep)3、…...
OBCP第八章 OB运维、监控与异常处理-灾难恢复
灾难恢复是指当数据库中的数据在被有意或无意破坏后复原数据库所需要执行的活动 回收站:回收站在原理上说就是一个数据字典表,放置用户删除的数据库对象信息。用户删除的东西被放入回收站后,其实仍然占据着物理空间,除非您手动进…...
亚马逊云科技Serverless Data:数字经济下的创新动能
Serverless时代已经到来!企业的技术架构,总是伴随着不断增长的数据与日趋复杂的业务持续演进。如何通过构建更易用的技术架构来聚焦在业务本身,而不必在底层基础设施的管理上投入过多的精力,是数据驱动型企业需要思考的重要议题。…...
【Ruby学习笔记】15.Ruby 异常
Ruby 异常 异常和执行总是被联系在一起。如果您打开一个不存在的文件,且没有恰当地处理这种情况,那么您的程序则被认为是低质量的。 如果异常发生,则程序停止。异常用于处理各种类型的错误,这些错误可能在程序执行期间发生&…...
聊聊MySQL主从延迟
文章目录 MySQL 的高可用是如何实现的呢?二、什么是主备延迟?三、主备延迟常见原因1、备库机器配置差2、备库干私活3、大事务四、主库不可用,主备切换有哪些策略?1、可靠优先2、可用优先实验一实验二3、结论MySQL 的高可用是如何实现的呢? 高可用性(high availability,缩…...
【C++从0到1】19、C++中多条件的if语句
C从0到1全系列教程 1、多条件的if语句 语法: if (表达式一) { // 表达式一为真时执行的语句。 } else if (表达式二) {// 表达式二为真时执行的语句。 } else if (表达式三) {// 表达式三为真时执行的语句。 } …… else if (表达式n) {// 表达式n为真时执行的语句。…...
【多微电网】计及碳排放的基于交替方向乘子法(ADMM)的多微网电能交互分布式运行策略研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Linux(centos7)安装防火墙firewalld及开放端口相关命令
安装firewalld 防火墙命令: yum install firewalld 安装完成,查看防火墙状态为 not running,即未运行,输入命令开启: 添加开放端口: 防火墙相关命令: 查看防火墙状态 systemctl status firewa…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
