智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-DaSiamRPN(2018)

简介: DaSiamRPN网络的全称为Distractor-aware SiamRPN,是基于SiamRPN网络结构,提出更好的使用数据,针对跟踪过程的干扰物,利用更好的训练方式是跟踪更加的鲁棒。

DaSiamRPN网络的全称为Distractor-aware SiamRPN,是基于SiamRPN网络结构,提出更好的使用数据,针对跟踪过程的干扰物,利用更好的训练方式是跟踪更加的鲁棒。


DaSiamRPN认识到了现有的目标追踪数据集中存在的不平衡问题,即之前的目标追踪数据集会导致目标追踪算法的判别能力较差,造成这种现象的原因是,在目标周围的背景信息中,非语义背景(即真正的“背景”信息)占据了主要部分,语义背景(背景中的人、狗等实体)占据了极少一部分。这种不平衡的分布使得模型趋向于去学习到一个区分前景(目标+语义背景)和背景(非语义背景)的模型,而不是学习一个实例级别的表示方法。各种不同目标追踪算法的热图如下:


f0abd9f9911d40c3983621ae87454f51.png


基于上面这个理论,为目标追踪算法添加了一些数据对,用于增强算法的判别能力,其中,Detection pairs:提出使用ImageNet Detection和COCO数据集,通过一些数据增强技术构造出样本对,这类样本对用于提高模型的泛化能力。其次,使用来自相同类别的负样本对。如下图中(b)。最后,使用来自不同类别的负样本对。如下图中(c)。添加这两类负样本可以使模型在超出视线、全遮挡的情况下,避免模型漂移到其他的目标上去。这两类样本对用于提高模型的判别能力。


5b49b88e62eb4205a9481352967e3c5c.png


当模型跟踪失败的时候,模型采取一种“局部-全局”增大search region的策略去重新跟踪目标。如下图所示(红色是ground truth,绿色的是跟踪结果,蓝色的是search region):


20789f54ef6c49f295d7713c9ce48f83.png


detection scores 指的是算法判定追踪质量的分数,


overlaps指的是ground truth与tracking box之间的IOU。至于如何判断模型何时跟踪失败,


由于论文中使用多种策略增强了模型的判别能力,所以可以使用模型的判别分数来估算是否跟丢.

目录
相关文章
vue2自定义指令-加载指令v-loading和占位图指令v-showimg
vue2自定义指令-加载指令v-loading和占位图指令v-showimg
|
机器学习/深度学习 算法 Python
LightGBM中的特征选择与重要性评估
LightGBM中的特征选择与重要性评估【2月更文挑战第1天】
2795 0
|
2月前
|
监控 网络协议 Ubuntu
Debian网络延迟排查指南(从零开始诊断网络卡顿问题)
本文介绍如何在Debian系统中诊断网络延迟问题,涵盖ping、traceroute、mtr等工具的使用方法,帮助用户定位延迟根源,优化网络性能。适合Linux新手快速掌握网络诊断技巧。
|
7月前
|
机器学习/深度学习 自动驾驶 算法
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
在智慧交通和智能驾驶日益普及的今天,准确识别复杂交通场景中的关键元素已成为自动驾驶系统的核心能力之一。传统的图像处理技术难以适应高动态、复杂天气、多目标密集的交通环境,而基于深度学习的目标检测算法,尤其是YOLO(You Only Look Once)系列,因其检测速度快、精度高、可部署性强等特点,在交通场景识别中占据了重要地位。
878 0
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
1672 2
|
人工智能 自然语言处理 机器人
AI心语:智能时代的情感纽带
本文旨在探索人工智能在情感计算领域的应用,以及这些技术如何帮助我们更好地理解和模拟人类情感。通过分析当前的技术进展和面临的伦理挑战,文章为读者提供了一个关于AI与情感结合世界的全面视角。
1570 6
|
安全 C++ 开发者
C++一分钟之-动态内存管理:new与delete
【6月更文挑战第19天】在C++中,`new`和`delete`用于动态内存管理,分配和释放堆内存。不正确使用可能导致内存泄漏和悬挂指针。要避免这些问题,确保每次`new`都有匹配的`delete`,释放内存后设指针为`nullptr`。使用`delete[]`释放数组,避免重复释放。智能指针如`std::unique_ptr`可自动管理内存,减少手动管理的风险。通过实例展示了如何使用智能指针进行安全的内存操作。
320 4
Nest.js 实战 (十三):实现 SSE 服务端主动向客户端推送消息
这篇文章介绍了在Nest.js应用中使用Server-Sent Events (SSE)的技术。文章首先讨论了在特定业务场景下,为何选择SSE而不是WebSocket作为实时通信系统的实现方式。接着解释了SSE的概念,并展示了如何在Nest.js中实现SSE。文章包含客户端实现的代码示例,并以一个效果演示结束,总结SSE在Nest.js中的应用。
750 0
Nest.js 实战 (十三):实现 SSE 服务端主动向客户端推送消息
|
Linux Shell 开发工具
Linux文件内容查看和编辑指南:cat、less、grep等常用命令详解(一)
Linux文件内容查看和编辑指南:cat、less、grep等常用命令详解(一)
2937 0
|
前端开发 应用服务中间件 nginx
Docker安装nginx和基本配置
Docker安装nginx和基本配置
729 0