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

密集场景下的行人跟踪替代算法,头部跟踪算法 | CVPR 2021

一个不知名大学生,江湖人称菜狗
original author: Jacky Li

Email : 3435673055@qq.com

 Time 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…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...