目录
此次yolov9+deepsort不论是准确率还是稳定性,都超越了之前的yolo+deepsort系列。
yolov9介绍
在目标检测领域,YOLOv9 实现了一代更比一代强,利用新架构和方法让传统卷积在参数利用率方面胜过了深度卷积。继 2023 年 1 月 YOLOv8 正式发布一年多以后,YOLOv9 终于来了!
我们知道,YOLO 是一种基于图像全局信息进行预测的目标检测系统。自 2015 年 Joseph Redmon、Ali Farhadi 等人提出初代模型以来,领域内的研究者们已经对 YOLO 进行了多次更新迭代,模型性能越来越强大。
此次,YOLOv9 由中国台湾 Academia Sinica、台北科技大学等机构联合开发,相关的论文《Learning What You Want to Learn Using Programmable Gradient Information 》已经放出。
论文地址:https://arxiv.org/pdf/2402.13616.pdf
GitHub 地址:https://github.com/WongKinYiu/yolov9
如今的深度学习方法重点关注如何设计最合适的目标函数,从而使得模型的预测结果能够最接近真实情况。同时,必须设计一个适当的架构,可以帮助获取足够的信息进行预测。然而,现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,大量信息将会丢失。
因此,YOLOv9 深入研究了数据通过深度网络传输时数据丢失的重要问题,即信息瓶颈和可逆函数。
研究者提出了可编程梯度信息(programmable gradient information,PGI)的概念,来应对深度网络实现多个目标所需要的各种变化。PGI 可以为目标任务计算目标函数提供完整的输入信息,从而获得可靠的梯度信息来更新网络权值。
此外,研究者基于梯度路径规划设计了一种新的轻量级网络架构,即通用高效层聚合网络(Generalized Efficient Layer Aggregation Network,GELAN)。该架构证实了 PGI 可以在轻量级模型上取得优异的结果。
研究者在基于 MS COCO 数据集的目标检测任务上验证所提出的 GELAN 和 PGI。结果表明,与基于深度卷积开发的 SOTA 方法相比,GELAN 仅使用传统卷积算子即可实现更好的参数利用率。
对于 PGI 而言,它的适用性很强,可用于从轻型到大型的各种模型。我们可以用它来获取完整的信息,从而使从头开始训练的模型能够比使用大型数据集预训练的 SOTA 模型获得更好的结果。下图 1 展示了一些比较结果。
对于新发布的 YOLOv9,曾参与开发了 YOLOv7、YOLOv4、Scaled-YOLOv4 和 DPT 的 Alexey Bochkovskiy 给予了高度评价,表示 YOLOv9 优于任何基于卷积或 transformer 的目标检测器。
strongsort介绍
三个要点
✔️ 改进了MOT任务中的早期深度模型DeepSORT,实现了SOTA!
✔️ 提出了两种计算成本较低的后处理方法AFLink和GSI,以进一步提高准确度!
✔️ AFLink和GSI提高了几个模型的准确性,不仅仅是所提出的方法!
性能指标图
首先,我附上了MOT17和MOT20的准确性比较,这表明了StrongSORT的优越性。现在,VGGNet,一个著名的特征提取器,最近作为RepVGG,一个更强大的版本回归。以类似的标题回归的是StrongSORT:让DeepSORT再次伟大,其中DeepSORT是一个早期的基于深度学习的物体追踪模型,而StrongSORT是对这个早期模型的改进,采用最新的技术实现SOTAStrongSORT是一个通过用最新技术在初始模型上进行改进而实现SOTA的模型。让我们先快速看一下这些改进。
DeepSORT
+BoT:改进的外观特征提取器
+EMA:带有惯性项的特征更新
+NSA:用于非线性运动的卡尔曼滤波器
+MC:包括运动信息的成本矩阵
+ECC:摄像机运动更正
+woC:不采用级联算法
=StrongSORT
+AF链接:仅使用运动信息的全局链接
=StrongSORT+
+GSI内插:通过高斯过程对检测误差进行内插
=StrongSORT++
与其说从根本上改变了结构,不如说是改进了跟踪所需的特征提取、运动信息和成本矩阵的处理。StrongSORT++将AFLink(离线处理)和GSI插值(后处理)应用于改进的StrongSORT,是一个更加精确的模型。我个人认为关键在于此,所以如果你能读到最后,我将很高兴。让我们快速了解一下StrongSORT。
系统定位
本节首先解释了这一方法的系统定位。想了解该方法细节的人可以跳过这一节。深度学习跟踪方法始于DeepSORT。后来,出现了FairMOT和ByteTrack等新方法,并超越了DeepSORT的准确性。在提出新的追踪方法的过程中,出现了两种追踪方法。DeepSORT属于SDE,其检测器是单独准备的。它属于SDE。然而,在本文中,DeepSORT的低准确性并不是因为方法不好,而只是因为它的年龄,其动机是,如果根据此后提出的最新元素技术进行改进,就可以使它变得足够准确。我们有动力去改进它。
改进DeepSORT的原因还有很多。首先,JDE方法的缺点是不容易训练:JDE同时训练检测和跟踪等不同任务的参数,所以模型容易发生冲突,从而限制了准确性。它还需要一个可以同时从检测到跟踪进行训练的数据集,这限制了训练的范围。相比之下,使用SDE,检测和跟踪模型可以被单独优化。最近,诸如ByteTrack这样的模型也被提出来,用于仅基于运动信息的高速跟踪,而没有任何外观信息,但这种模型指出了当目标的运动不简单时无法跟踪的问题。
因此,基于在基于DeepSORT的SDE方法中使用外观特征进行追踪是最佳的动机,提出了StrongSORT。
效果展示
训练与预测
UI设计
将本次的实验使用pyqt打包,方便体验
界面其他功能展示
其他功能演示参考yolov5+deepsort文章
两万字深入浅出yolov5+deepsort实现目标跟踪,含完整代码, yolov,卡尔曼滤波估计,ReID目标重识别,匈牙利匹配KM算法匹配_yolov5 deepsort-CSDN博客
完整代码实现+UI界面
视频,笔记和代码,以及注释都已经上传网盘,放在主页置顶文章