LTrack:实现夜间多目标追踪,并开放低光多目标追踪数据集LMOT

摘要

低光场景在现实应用中很常见(例如,夜间的自动驾驶和监控)。最近,多目标跟踪在各种实际用例中受到了很多关注,但黑暗场景中的多目标跟踪却很少被考虑。在本文中,我们专注于黑暗场景中的多目标跟踪。为了应对数据集的缺乏,我们首先建立了一个低光多目标跟踪(LMOT)数据集。LMOT提供了通过我们的双摄像头系统捕获的对齐良好的低光视频对,并为所有视频提供高质量的多目标跟踪注释。然后,我们提出了一种低光多目标跟踪方法,称为LTrack。我们引入了自适应低通下采样模块,以增强图像中传感器噪声之外的低频成分。降解抑制学习策略使模型能够在噪声干扰和图像质量降级下学习不变的信息。这些组件提高了黑暗场景中多目标跟踪的鲁棒性。我们对LMOT数据集和提出的LTrack方法进行了综合分析。实验结果证明了所提方法的优越性及其在夜间低光场景中的竞争力。

代码地址:https://github.com/ying-fu/LMOT

Introduction

多目标跟踪(MOT)旨在定位和关联视频序列中的多个对象。它被广泛应用于许多下游应用中,例如视频识别、自动驾驶和监控。最近,针对各种实际用例的多目标跟踪受到了很多关注,极大地促进了MOT的发展。然而,这些工作主要针对高质量输入,忽略了现实世界中普遍存在的低光场景。出于这个动机,我们研究了黑暗场景中的多目标跟踪。
在本文中,我们构建了一个专门设计来解决黑暗场景中多目标跟踪挑战的低光多目标跟踪数据集(LMOT)。为此,我们开发了一套能够同时捕获亮光和低光视频帧的双摄像头系统。这些视频对在空间和时间维度上高度对齐,提供了两个关键好处。首先,它使我们能够在亮光视频上进行注释,从而获得高质量的注释。其次,亮光视频可以在训练阶段提供额外的监督信息,显著增强黑暗场景中的表现。经过仔细注释,我们收集了32个视频序列(是MOT17的2.3倍),超过35K帧(是MOT17的3.1倍),和超过815K个边界框(是MOT17的2.8倍)。RAW数据是图像传感器的输出,是图像信号处理器(ISP)的输入数据。它保存了所有从图像传感器获取的信息,这对于在黑暗场景中捕捉对象信息至关重要。因此,我们收集了LMOT的RAW视频。
此外,我们提出了一种低光多目标跟踪方法,称为LTrack。低光视频的特点是传感器噪声显著且图像质量差,这显著降低了浅层和深层特征表示,导致跟踪性能下降。我们观察到,低光图像中的传感器噪声与对抗攻有相似之处。为了解决这个问题,我们的主要思想是在噪声干扰和质量下降下学习不变的语义信息。我们提出了自适应低通下采样模块(ALD)。它通过空间低通卷积从图像中提取低频成分,排除噪声,并自适应增强特征图。我们还提出了降解抑制学习策略(DSL),利用配对的低光视频帮助模型抑制噪声干扰,并在特征域中鼓励图像内容响应。我们对LMOT数据集进行了综合分析,并验证了LTrack在真实夜间场景中的优越性。

Method

低光多目标跟踪数据集

在本节中,我们首先介绍我们的双摄像头系统以及收集和注释低光多目标跟踪(LMOT)数据集的详细信息。然后,我们分析了LMOT数据集的统计特征。

1 数据集构建

多目标跟踪需要动态场景和对象视频。为了收集低光视频进行多目标跟踪,我们构建了一套双摄像头系统,如图1所示。它可以同时捕获配对的低光和亮光视频。其主要组件包括分光器、中性密度(ND)滤光片和两个FLIR Grasshopper3 GS3-U3-23S6C摄像头。分光器将进入的光分成两条独立的光路。这种布置使一台摄像机直接捕捉亮光图像,而另一台摄像机记录低光图像,ND滤光片衰减光强度。为了确保视频帧的时间同步,我们采用硬件接口触发摄像机曝光事件。此外,为了避免帧丢失,我们的双摄像头系统使用两个独立的硬件接口进行数据传输,并配备了高速固态硬盘。得益于精确校准,我们的双摄像头系统能够实时捕捉动态场景和对象的配对低光和亮光视频。关于我们双摄像头系统的更多详细信息,请参见补充材料。
我们将视频帧保存为RAW格式,在图像处理之前,这些图像由摄像头图像信号处理器(ISP)处理。就摄像头设置而言,我们将两台摄像机的曝光时间设置为10毫秒,帧速率固定为20帧。这一设置能够避免运动模糊。我们调整了亮光摄像头的增益水平以达到最佳图像质量。低光摄像头的增益始终设置为最大值,以模拟实际场景中的低光拍摄设置。我们还收集了一个真实的低光MOT数据集(LMOT-real)来评估在真实黑暗场景中的表现。这些视频使用相同的摄像头设置单独拍摄。
我们的LMOT数据集包含各种城市户外场景,包括道路、天桥、行人和十字路口。天桥场景从高处拍摄对象,而所有其他场景均从行人视角拍摄。为了考虑摄像机运动的影响,我们引入了任意的水平旋转和垂直随机移动摄像机。图2显示了我们的LMOT数据集中两个视频序列的采样。
我们注释了六类移动对象,包括汽车、行人、自行车、摩托车、公交车和卡车。注释标签包括边界框、目标ID和目标类别。我们将亮光视频注释结果映射到低光视频中,以确保所有低光视频都具备与亮光视频相同的MOT注释。为了获得高质量注释,我们在原始亮光视频上进行半自动注释,首先通过ByteTrack检测所有目标框。然后,我们使用SORT将检测到的框与亮光视频上的跟踪结果相关联,并通过修正小的错位或遗漏来进一步提升注释质量。最终的注释由两个团队成员审阅和核实。

2 数据集分析

为了演示LMOT数据集的独特性,我们提供了其统计特征并与流行的MOT数据集进行比较。在表1中,我们总结了七个MOT数据集,包括车辆(KITTI和 UA-DETRAC)、行人(ETH、DukeMTMC和 MOT17)和混合场景(BDD100K和 PathTrack)。请注意,原始BDD100K MOT数据集没有低光场景,而PathTrack是大规模数据集,但没有低光条件。LMOT在数据量上远超其他流行MOT数据集。它包含35,481帧(MOT17的3.1倍),815,035个边界框(MOT17的2.8倍)和32个视频序列(MOT17的2.3倍)。此外,LMOT视频序列包含多种动态场景和对象。
图3显示了不同数据集中的帧速度分布。为简洁起见,我们仅显示LMOT与MOT17和KITTI的对比。与其他MOT数据集相比,LMOT中的对象速度分布更加均匀,涵盖了宽范围的运动速度。这些对象包括行人、自行车、汽车等,行人通常比汽车更慢。因此,对象速度的分布更加均匀。
图4对比了LMOT、KITTI和MOT17数据集中不同场景下的帧平均IoU(目标框与注释框的交并比)。在车辆MOT任务中,KITTI视频帧通常具有较大的目标框,其IoU较大。行人MOT任务中,MOT17视频帧的IoU较小。LMOT视频帧具有较小的IoU。这意味着LMOT视频中的目标运动速度更快。总之,LMOT数据集具有动态场景和对象、较大的数据量和高质量的注释,极具挑战性。

图片

图片

低光多目标跟踪

在本节中,我们提出了一种低光多目标跟踪方法(LTrack)。我们的主要思路是在噪声干扰和质量下降的情况下学习不变的语义信息。总体框架如图4所示。

1. 公式化和动机

在低光场景中,相机在单次曝光中只能捕捉到少量光子。因此,潜在的传感器噪声被放大,导致图像质量显著下降。我们观察到,直接将低光图像输入网络而不进行任何特殊设计,会导致特征图退化,显著降低模型性能。一种直接的解决方案是应用低光增强技术,专注于学习从低光图像到清晰良好照明图像的映射函数。由于这是一个高度不适定问题,学习这样的映射函数需要大量的计算和存储开销。尽管基于DNN的方法在低光增强方面取得了优异的性能,但增强后的图像对于下游任务可能并不理想。在这项工作中,我们从低光图像中进行多目标跟踪,绕过了低光增强。利用RAW视频,网络比sRGB获得了更多的原始场景信息。为了增强多目标跟踪模型的性能和鲁棒性,我们的主要思路是在噪声干扰和质量下降的情况下学习不变的语义信息。因此,我们提出了自适应低通下采样(ALD)模块,以增强图像的低频成分并过滤掉高频噪声。我们还提出了降解抑制学习策略(DSL),利用配对的低光视频帮助模型抑制图像噪声干扰,并在特征域中鼓励图像内容响应。

2. 自适应低通下采样

下采样操作在保留最重要信息的同时减少特征尺寸。低光图像中的噪声会将高频干扰引入特征图,从而误导目标信息的保留。为了减弱高频噪声的影响并增强特征图的低频部分,我们引入了空间低通卷积(SConv)来从噪声特征图中提取低频特征。

3. 降解抑制学习

由于低光图像和良好照明图像对共享相同的内容,模型应对它们表现出相同的特征响应。然而,低光图像的浅层特征充满噪声,深层特征对目标的响应较低(如图5所示)。为了解决这个问题,我们的想法是在浅层特征中抑制图像噪声,并利用良好照明的图像帮助模型学习低光图像中的干扰不变信息。

图片

Experiments

1. 实验设置

数据集划分在构建数据集时,我们随机将视频划分为训练集、验证集和测试集,分别由11、4和11个视频组成。我们还提供了在真实夜间场景中捕获的6个视频的LMOT-real数据集。详细的数据集划分和统计信息如表2所示。

图片

2. 低光条件下的分析
对检测器的影响

我们首先分析光照条件对检测器的影响。我们选择YOLOX作为检测器,因为它在MOT领域被广泛使用。我们使用良好照明图像(WL)、低光图像(LL)和所有图像(AL)训练检测器。然后,在良好照明和低光图像上测试它们。结果如表3所示。从表中可以看出,使用良好照明图像训练的模型在良好照明图像上取得了最佳结果,但其在低光图像上的性能显著下降。

图片

对关联模块的影响

分析低光条件对目标关联模块的影响。运动和外观对目标关联很重要。两者都依赖于检测框来定位目标。为了分离检测器的影响,我们使用地面实况检测框作为检测框。结果如表4所示。可以看出,使用仅外观匹配在良好照明条件下取得了最佳结果,而在低光条件下使用仅外观匹配的结果非常差。这表明LMOT中的目标在特征空间中具有明显的视觉可区分性,但在低光条件下这种可区分性显著降低。在图6中,我们可视化了LMOT数据集中良好照明和低光条件下目标的外观特征。

图片

图片

3 在LMOT数据集上的结果

从表5中可以看出,所提出的LTrack在所有指标上都具有最佳的HOTA并且竞争力很强。例如,所提出的方法在与基线方法几乎相同的参数和计算量下提高了1.3的HOTA。这强有力地证明了所提出方法的有效性。

图片

4 真实世界中的结果

为了验证我们的方法在夜间真实世界低光场景中的性能,我们使用OC-SORT对LMOT-real数据集上的所有方法进行了评估。如表6所示,所提出的LTrack表现明显优于所有比较方法。无论是低光增强后的跟踪方法还是RAW检测方法都遇到了泛化性问题,甚至不如Base-all。这强烈证明了我们的LTrack在真实世界黑暗场景中的鲁棒性。

图片

5 探索与讨论

在本节中,我们对LMOT数据集和所提出的方法进行了广泛的分析和讨论。
消融研究。我们进行了消融实验,以验证我们改进的有效性,结果如表7所示。可以看出,所有改进都有效地提高了性能。其中,降解抑制学习策略表现出最显著的效果,使HOTA大约提升了1点。当同时采用所有策略时,达到了最佳效果。这证明了我们所有贡献的有效性。

图片

RAW vs. sRGB。我们分析了输入数据格式的影响,结果如表8所示。12位的RAW格式比sRGB取得了显著更好的结果。因为RAW格式保存了更多潜在的信息,对低光场景中的多目标跟踪(MOT)很有帮助。我们还观察到,较高的位宽有利于性能,这在其他视觉任务中也有所观察。

图片

LMOT vs. 合成数据。我们将我们的LMOT数据集与合成低光数据进行了比较,以进一步证明LMOT的价值。我们应用基于高斯-泊松的和基于物理的低光数据合成方法,从良好光照视频合成低光视频。我们在这些类型的数据上训练了我们的LTrack,并在使用LMOT-real进行的真实低光场景中评估了它们的性能。如表9所示,在我们的LMOT数据集上训练的跟踪器在真实夜间场景中表现要好得多,这强烈证明了我们的LMOT数据集的价值。

图片

不同类别的分析。我们还分析了不同类别的表现。从表10中可以看出,汽车和巴士由于形状规则和面积较大,表现最佳。卡车的表现最差,因为它们的实例最少,使得模型难以准确识别。行人取得了相对平均的分数。自行车和摩托车的分数接近,因为它们在外观和运动模式上相似。

图片

总结

本文的主要贡献如下:

  1. 使用精心构建的双摄像头系统构建了第一个低光多目标跟踪数据集。它提供了对齐良好的RAW格式低光视频和高质量的MOT注释。

  2. 提出了一种低光多目标跟踪方法。它利用自适应低通下采样模块和降解抑制学习策略来学习从低光视频中提取不变特征。

  3. 对数据集和提出的方法进行了综合分析。实验结果证明了所提方法的优越性及其在真实夜间场景中的竞争力。

引用文章:

Multi-Object Tracking in the Dark

关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/392329.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java | Leetcode Java题解之第313题超级丑数

题目&#xff1a; 题解&#xff1a; class Solution {public int nthSuperUglyNumber(int n, int[] primes) {int[] dp new int[n 1];int m primes.length;int[] pointers new int[m];int[] nums new int[m];Arrays.fill(nums, 1);for (int i 1; i < n; i) {int minN…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第五篇 文件系统构建篇-第七十四章 buildroot构建文件系统

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

CnosDB 元数据集群 – 分布式时序数据库的大脑

CnosDB 是一个分布式时序数据库系统&#xff0c;其中元数据集群是核心组件之一&#xff0c;负责管理整个集群的元数据信息。 1. 概述 CnosDB 是一个分布式时序数据库系统&#xff0c;其中元数据集群是核心组件之一&#xff0c;负责管理整个集群的元数据信息。元数据包括数据库…

回文链表(Leetcode)

题目 给你一个单链表的头节点 &#xff0c;请你判断该链表是否为 回文链表。如果是&#xff0c;返回 &#xff1b;否则&#xff0c;返回 。 解题 class ListNode:def __init__(self, val0, nextNone):self.val valself.next nextdef isPalindrome(head: ListNode) -> …

rpc框架怎么使用

这是我们提供RPC的服务类&#xff1a; class MprpcApplication { public:static void Init(int argc, char **argv);static MprpcApplication& GetInstance();static MprpcConfig& GetConfig(); private:static MprpcConfig m_config;MprpcApplication(){}MprpcApplica…

【数据结构】栈的概念、结构和实现详解

本文来介绍一下数据结构中的栈&#xff0c;以及如何用C语言去实现。 1. 栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;它只允许在固定的一端进行插入和删除元素的操作。 进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。 栈中元素遵循后进先出…

API 接口设计原则:RESTful 与 GraphQL

RESTful 接口 REST 的全称是 REpresentational State Transfer&#xff0c;是一种 Web API 的设计风格 RESTful API 设计 6 大原则 一个 RESTful 风格的接口应该满足如下的 6 点原则&#xff1a; 统一接口&#xff1a;For example, the HTTP-based REST APIs make use of th…

OpenCV及rembg去除图像背景

OpenCV去除图像背景 去除图像背景&#xff0c;需要综合使用二值化&#xff08;thresholding&#xff09;、腐蚀&#xff08;erosion&#xff09;、膨胀&#xff08;dilation&#xff09;以及位运算&#xff08;bitwise operations&#xff09;&#xff0c;代码如下&#xff1a…

【启明智显方案分享】6.86寸高清显示屏音频效果器解决方案

一、项目概述 本方案旨在设计一款集成6.86寸高清触摸显示屏的音频效果器&#xff0c;通过HMI&#xff08;Human-Machine Interface&#xff09;芯片Model 4驱动&#xff0c;实现高清晰度的视觉交互。该设备不仅支持音乐、麦克风及温响音量的精细控制&#xff0c;还内置丰富的预…

Mybatis学习-day18

Mybatis学习-day18 数据持久化是将内存中的数据模型转换为存储模型&#xff0c;以及将存储模型转换为内存中数据模型的统称。例如&#xff0c;文件的存储、数据的读取以及对数据表的增删改查等都是数据持久化操作。 MyBatis 支持定制化 SQL、存储过程以及高级映射&#xff0c…

Python 字典 ({})的概念与操作

1、使用字典 在Python中&#xff0c;字典(dictionary)是一系列键值对(k-v pair)。每个键都有相应的值对应&#xff0c;使用键来访问与之关联的值&#xff0c;与键关联的值可以为数、字符串、列表乃至字典。 在Python中&#xff0c;字典放在花括号&#xff08;{}&#xff09;中…

MySQL1 DDL语言

安装与配置 官网&#xff1a; MySQL :: Download MySQL Installer 阿里云&#xff1a; MySQL8 https://www.alipan.com/s/auhN4pTqpRp 点击链接保存&#xff0c;或者复制本段内容&#xff0c;打开「阿里云盘」APP &#xff0c;无需下载极速在线查看&#xff0c;视频原画倍速…

opencascade AIS_ViewController源码学习 视图控制、包含鼠标事件等

opencascade AIS_ViewController 前言 用于在GUI和渲染线程之间处理视图器事件的辅助结构。 该类实现了以下功能&#xff1a; 缓存存储用户输入状态&#xff08;鼠标、触摸和键盘&#xff09;。 将鼠标/多点触控输入映射到视图相机操作&#xff08;平移、旋转、缩放&#xff0…

联想QuickFix工具中心,一款综合性电脑维护和管理工具

联想QuickFix工具中心是联想公司推出的一款综合性电脑维护和管理工具&#xff0c;它集成了众多实用的电脑维护工具&#xff0c;如系统优化、硬盘清理、网络优化、硬件诊断等&#xff0c;旨在为用户提供一个便捷的平台来解决电脑日常使用中遇到的各种问题。该工具中心适用于Wind…

PyCharm 2024.1 总结和最新变化

​ 您好&#xff0c;我是程序员小羊&#xff01; 前言 PyCharm 2024.1 是 JetBrains 最新发布的Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;旨在提供更强大的功能和更好的用户体验。以下是对这个版本的总结和最新变化的介绍 智能代码建议和自动完成&#xff1a…

C++基础编程100题-034 OpenJudge-1.4-15 最大数输出

更多资源请关注纽扣编程微信公众号 http://noi.openjudge.cn/ch0104/15/ 描述 输入三个整数,输出最大的数。 输入 输入为一行&#xff0c;包含三个整数&#xff0c;数与数之间以一个空格分开。 输出 输出一行&#xff0c;包含一个整数&#xff0c;即最大的整数。 样例…

西部菱斑响尾蛇教你基础IO

快学&#xff0c;再不学普洱就要超过你们了 在C阶段进行的文件操作有哪些呢&#xff1f; #include<stdio.h> #include<string.h>int main() {FILE* fp fopen("myfile", "w");if (!fp){printf("fopen error!\n");}const char* msg …

5.8软件工程基础知识-项目管理

项目管理 范围管理产品范围和项目范围管理过程WBS练习题 进度管理基本原则过程活动资源估算 软件规模估算方法进度安排关键路径法练习题 成本管理过程成本的类型练习题 软件配置管理配置项配置基线配置数据库练习题 质量管理过程质量模型软件评审软件容错技术练习题 风险管理宏…

2024年【山东省安全员B证】考试报名及山东省安全员B证证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 山东省安全员B证考试报名参考答案及山东省安全员B证考试试题解析是安全生产模拟考试一点通题库老师及山东省安全员B证操作证已考过的学员汇总&#xff0c;相对有效帮助山东省安全员B证证考试学员顺利通过考试。 1、【…

人工智能时代,程序员当如何保持核心竞争力?

目录 前言 一.AI辅助编程对程序员工作的影响 二.程序员应重点发展的核心能力 三.人机协作模式下的职业发展规划 结束语 前言 随着AIGC&#xff08;如chatgpt、midjourney、claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序…