数据关联_3.7
目标
- 利用匈牙利算法对目标框和检测框进行关联
在这里我们对检测框和跟踪框进行匹配,整个流程是遍历检测框和跟踪框,并进行匹配,匹配成功的将其保留,未成功的将其删除。
def associate_detections_to_trackers(detections, trackers, iou_threshold=0.3):"""将检测框bbox与卡尔曼滤波器的跟踪框进行关联匹配:param detections:检测框:param trackers:跟踪框,即跟踪目标:param iou_threshold:IOU阈值:return:跟踪成功目标的矩阵:matchs新增目标的矩阵:unmatched_detections跟踪失败即离开画面的目标矩阵:unmatched_trackers"""# 跟踪目标数量为0,直接构造结果if (len(trackers) == 0) or (len(detections) == 0):return np.empty((0, 2), dtype=int), np.arange(len(detections)), np.empty((0, 5), dtype=int)# iou 不支持数组计算。逐个计算两两间的交并比,调用 linear_assignment 进行匹配iou_matrix = np.zeros((len(detections), len(trackers)), dtype=np.float32)# 遍历目标检测的bbox集合,每个检测框的标识为dfor d, det in enumerate(detections):# 遍历跟踪框(卡尔曼滤波器预测)bbox集合,每个跟踪框标识为tfor t, trk in enumerate(trackers):iou_matrix[d, t] = iou(det, trk)# 通过匈牙利算法将跟踪框和检测框以[[d,t]...]的二维矩阵的形式存储在match_indices中result = linear_sum_assignment(-iou_matrix)matched_indices = np.array(list(zip(*result)))# 记录未匹配的检测框及跟踪框# 未匹配的检测框放入unmatched_detections中,表示有新的目标进入画面,要新增跟踪器跟踪目标unmatched_detections = []for d, det in enumerate(detections):if d not in matched_indices[:, 0]:unmatched_detections.append(d)# 未匹配的跟踪框放入unmatched_trackers中,表示目标离开之前的画面,应删除对应的跟踪器unmatched_trackers = []for t, trk in enumerate(trackers):if t not in matched_indices[:, 1]:unmatched_trackers.append(t)# 将匹配成功的跟踪框放入matches中matches = []for m in matched_indices:# 过滤掉IOU低的匹配,将其放入到unmatched_detections和unmatched_trackersif iou_matrix[m[0], m[1]] < iou_threshold:unmatched_detections.append(m[0])unmatched_trackers.append(m[1])# 满足条件的以[[d,t]...]的形式放入matches中else:matches.append(m.reshape(1, 2))# 初始化matches,以np.array的形式返回if len(matches) == 0:matches = np.empty((0, 2), dtype=int)else:matches = np.concatenate(matches, axis=0)return matches, np.array(unmatched_detections), np.array(unmatched_trackers)
相关文章:
数据关联_3.7
目标 利用匈牙利算法对目标框和检测框进行关联 在这里我们对检测框和跟踪框进行匹配,整个流程是遍历检测框和跟踪框,并进行匹配,匹配成功的将其保留,未成功的将其删除。 def associate_detections_to_trackers(detections, track…...
总结虚函数表机制——c++多态底层原理
前言: 前几天学了多态。 然后过去几天一直在测试多态的底层与机制。今天将多态的机制以及它的本质分享给受多态性质困扰的友友们。 本节内容只涉及多态的原理, 也就是那张虚表的规则,有点偏向底层。 本节不谈语法!不谈语法&#x…...
Contos7 安装 Maven
Contos7 安装 Maven 前言 Maven是一个用于构建和管理Java项目的强大工具。它提供了一种简单且一致的方式来构建、测试和部署项目,同时管理项目依赖关系。Maven基于项目对象模型(Project Object Model,POM),使用XML…...
对适配器模式的理解
目录 一、适配器模式是什么?二、示例【[来源](https://refactoringguru.cn/design-patterns/adapter)】1 第三方依赖 (接口A 数据A)2 客户端3 方钉转圆钉的适配器(数据B) 三、适配器(xxxAdapter࿰…...
纯前端调用本机原生Office实现Web在线编辑Word/Excel/PPT,支持私有化部署
在日常协同办公过程中,一份文件可能需要多次重复修改才能确定,如果你发送给多个人修改后再汇总,这样既效率低又容易出错,这就用到网页版协同办公软件了,不仅方便文件流转还保证不会出错。 但是目前一些在线协同Office…...
双指针的详细教程
双指针算法是一种常用的算法技巧,它通常用于在数组或字符串中进行快速查找、匹配、排序或移动操作。 双指针并非真的用指针实现,一般用两个变量来表示下标(在后面都用指针来表示) 双指针算法使用两个指针在数据结构上进行迭代&a…...
【Review+预测】测试架构演进的曲折之路
文章目录 前言 一、“原始”阶段 二、“小打小闹”阶段 三、“小米加步枪”阶段 四、“摩托化部队”阶段 五、“骑兵连”阶段 六、“海军陆战队”阶段 七、“社区型组织”阶段 前言 近期公司的测试团队需要重新组织安排,本着谦虚谨慎的态度,我从…...
2015年认证杯SPSSPRO杯数学建模D题(第二阶段)城市公共自行车全过程文档及程序
2015年认证杯SPSSPRO杯数学建模 D题 城市公共自行车 原题再现: 城市交通问题直接影响市民的生活和工作。在地形平坦的城市,公共自行车出行系统是一种很好的辅助手段。一般来说,公共自行车出行系统由数据中心、驻车站点、驻车桩、自行车&…...
视频汇聚平台EasyCVR启用图形验证码之后调用login接口的操作方法
视频综合管理平台EasyCVR视频监控系统支持多协议接入、兼容多类型设备,平台可以将区域内所有部署的监控设备进行统一接入与集中汇聚管理,实现对监控区域的实时高清视频监控、录像与存储、设备管理、云台控制、语音对讲、级联共享等,在监控中心…...
【数据结构】非线性结构——二叉树
文章目录 前言1.树型结构1.1树的概念1.2树的特性1.3树的一些性质1.4树的一些表示形式1.5树的应用2.二叉树 2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的基本操作 前言 前面我们都是学的线性结构的数据结构,接下来我们就需要来学习非…...
数据分析POWER BI之power query
1.导入数据 ctrla全选--数据--获取数据--其他来源--来自表格/区域 导入数据,进入编辑模式 2.整理与清除 清除:删除所选列的非打印字符 转换--格式--清除 修整:删除前面和后面的空格 转换---格式---修整(修整后前面后面的空格没有了…...
【c语言】详解操作符(上)
1. 操作符的分类 2. 原码、反码、补码 整数的2进制表示方法有三种,即原码、反码、补码 有符号整数的三种表示方法均有符号位和数值位两部分,2进制序列中,最高位的1位是被当做符号位其余都是数值位。 符号位都是用0表示“正”,用…...
VR全景展示:传统制造业如何保持竞争优势?
在结束不久的两会上,数字化经济和创新技术再度成为了热门话题。我国制造产业链完备,但是目前依旧面临着市场需求不足、成本传导压力加大等因素影响,那么传统制造业该如何保持竞争优势呢? 在制造行业中,VR全景展示的应用…...
2.7、创建列表(List)
概述 列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、…...
solr functionquery函数查询自定义函数实现
Solr是一个开源的搜索平台,基于Apache Lucene库构建,主要用于提供全文搜索的功能。它被设计为一个高度可靠、可扩展的搜索应用服务器。以下是Solr的一些主要使用场景: 全文搜索:Solr最核心的功能是提供全文搜索,它可以…...
如何将 Parallels虚拟机 安装或者迁移到 移动硬盘 or U盘?
本文讨论主题 如何安装 Parallels 虚拟机到移动硬盘和U盘? 已经安装到了mac上的虚拟机如何迁移到移动硬盘活着U盘上? 关于Parallels Deskshop 19 虚拟机 安装激活,文末关注公众号AIshape,回复:PD 进行获取通过将虚拟机安装在外置的移动硬盘U盘上,可以节省mac本身SSD的容…...
大型网站集群管理负载均衡
课程介绍 结合企业大规模应用,解决应用高并发问题,解决单节点故障问题,缓存数据库的应用。学完掌握知识点:企业应用实现四七层负载均衡,以及Nginx等应用的高可用性,Redis缓存数据库的部署应用以及高可用方…...
JAVA使用POI实现Excel单元格合并-02
JAVA使用POI实现Excel单元格合并 实现效果 解释:只要是遇见与前一行相同的数据就合并 引入jar <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version></depe…...
深入了解 Linux 中的 MTD 设备:/dev/mtd* 与 /dev/mtdblock*
目录 前言一、什么是MTD子系统?二、 /dev/mtd* 设备文件用途注意事项 三、/dev/mtdblock* 设备文件用途注意事项 三、这两种设备文件的关系四、关norflash的一些小知识 前言 在嵌入式Linux系统的世界里,非易失性存储技术扮演着至关重要的角色。MTD&#…...
2、Spring CLI安装
安装 Spring CLI 提供了多种格式,让您选择自己喜欢的安装方法。可下载的制品可从发布页面获取。 二进制发行版 WindowsLinuxMac手动安装(Windows,其他自己看) spring-cli-standalone-<version>-windows.x86_64.zip - 打包了 x86 JDKspring-cli-installer-<versi…...
混沌系统预测:输入长度如何影响模型误差与稳定性
1. 项目概述与核心问题在时间序列预测领域,尤其是在处理像气象、流体力学、金融这样高度复杂、内在混沌的系统时,我们常常面临一个核心的工程与科学问题:模型到底需要看多长的历史数据,才能做出足够好的下一时刻预测?这…...
用100行PyTorch代码实现扩散模型:从理论到实战的完整指南
用100行PyTorch代码实现扩散模型:从理论到实战的完整指南 【免费下载链接】Diffusion-Models-pytorch Pytorch implementation of Diffusion Models (https://arxiv.org/pdf/2006.11239.pdf) 项目地址: https://gitcode.com/gh_mirrors/di/Diffusion-Models-pytor…...
Linux 安全 | 禁用敏感命令历史记录与服务器加固配置
注:本文为 “Linux 命令与服务器安全加固” 相关合辑。 英文引文,机翻未校。 中文引文,略作重排。 如有内容异常,请看原文。 How to Prevent Passwords from Saving in Bash History 如何防止密码被保存到 Bash 历史记录中 Ravi…...
AI应用开发岗面经
1、请先做一下自我介绍。2、你的毕设作品,从产品需求设计到后续开发全流程,都是你一个人独立完成的吗?3、你为什么会选择做这个毕设项目?4、你在做这个项目的过程中,遇到的比较大的挑战是什么?5、你为什么会…...
从‘栅栏’看频谱:一个音频信号处理的例子,讲透FFT分辨率与泄漏的权衡
从‘栅栏’看频谱:一个音频信号处理的例子,讲透FFT分辨率与泄漏的权衡想象你正在调试一段钢琴录音,其中有两个非常接近的音符——比如C4(261.63Hz)和C#4(277.18Hz)。在频谱分析仪上,…...
Hermes Agent(爱马仕agent )爆火背后的技术解析
基于对现有技术资料的分析,Hermes Agent 的火爆及其与 OpenClaw 的对比,可以从以下几个核心维度进行解构与推演。 一、 Hermes Agent 项目详细分析与火爆原因 Hermes Agent 是一个由 Nous Research 开发的 AI Agent 框架,其设计哲学偏向于构…...
Linux渗透测试实战命令指南:从信息收集到横向移动
1. 这不是命令手册,而是一张渗透测试现场的“作战地图”你有没有过这样的经历:坐在靶机前,刚扫出一个Web服务,脑子里立刻蹦出七八个工具名——nmap、gobuster、sqlmap、hydra……可手一伸向键盘,却卡在了第一个参数上&…...
3分钟掌握novel-downloader:打造你的永久小说图书馆终极指南
3分钟掌握novel-downloader:打造你的永久小说图书馆终极指南 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 你是否曾经因为小说网站突然关闭、章节被删除或VIP内容无法离…...
Taotoken的Token Plan套餐如何帮助初创公司控制AI实验成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken的Token Plan套餐如何帮助初创公司控制AI实验成本 1. 成本不可预测:初创AI实验的常见困境 在产品原型和早期开…...
告别命令行!在Ubuntu标题栏实时显示网速和CPU的保姆级教程(Indicator-Sysmonitor)
在Ubuntu标题栏打造个性化系统监控中心:Indicator-Sysmonitor终极指南每次打开终端查看系统资源占用是否让你感到繁琐?作为长期使用Ubuntu的开发者,我深刻理解高效监控系统状态的重要性。Indicator-Sysmonitor这款轻量级工具彻底改变了我的工…...
