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

新一代跟踪器StrongSORT: Make DeepSORT Great Again论文解析—让 DeepSORT 再次伟大

新一代跟踪器StrongSORT: Make DeepSORT Great Again论文解析—让 DeepSORT 再次伟大

时间:2023年 机构:北京邮电大学
发表在:IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 25, 2023
代码源码地址:
pytorch版本:https://github.com/dyhBUPT/StrongSORT
MMTracking版本:https://github.com/open-mmlab/mmtracking.

在这里插入图片描述

在解析论文的内容之前先对StrongSORT模型进行整体的概括。StrongSORT模型是在DeepSORT模型的基础上改进所得到的。(可以理解为是2023年北邮的团队在使用现在的技术,对17年经典的DeepSort算法进行改进。)

StrongSORT它在DeepSORT的基础上进行了一系列的改进,以提高跟踪的准确性和性能。改时以下的几个地方:

  1. BoT(Bag of Tricks): 改进了外观特征提取器,它使用深度学习技术来提取目标的视觉特征,这些特征对于区分和识别不同的目标至关重要。替换了之前简单的CNN而是使用了RestNet50+BOT的结构
  2. EMA(Exponential Moving Average): 通过引入惯性项来平滑特征更新,EMA有助于减少噪声和异常值的影响,使得跟踪更加稳定。使用了指数移动平均的思想
  3. NSA(Neural Network-based Appearance): 这是一种用于非线性运动的卡尔曼滤波器,它通过神经网络来预测目标的状态,以适应更复杂的运动模式。改进了一下卡尔曼滤波的公式
  4. MC(Motion Compensation): 包括运动信息的成本矩阵,这有助于在匹配过程中更好地考虑目标的运动信息,提高匹配的准确性。加入了Motion Compensation实现了两个特征之间的关联
  5. ECC(External Camera Calibration): 摄像机运动更正,它允许算法校正摄像机的外部参数,从而提高跟踪的准确性。图像立体匹配方面的一个算法
  6. woC(Without Cascading): 不采用级联算法,这可能意味着算法避免了在不同阶段使用不同复杂度的检测器,从而提高了处理速度。更换了级联匹配的方式只使用一次匹配。

在StrongSORT模型的基础上提出了自己的两个创新点将其应用到StrongSORT中提出了StrongSORT++模型并取得了良好的成绩。

  1. AFLink(Association Graph Linking): 这是一种仅使用运动信息的全局链接方法,它在离线处理阶段用于改进跟踪结果。

  2. GSI(Gaussian Process-based Interpolation): 通过高斯过程对检测误差进行内插,这是一种后处理技术,用于进一步提高跟踪的精度。

在这里插入图片描述

摘要核心概况

  1. 论文首先重新审视了经典的跟踪器 DeepSORT,然后从目标检测特征嵌入轨迹关联等多个角度进行了显着改进从而提出了StrongSORT。

  2. 提出了两种轻量级、即插即用的算法来解决 MOT 两个固有的“缺失”问题:关联失败和没检测到(没有关联到检测框的轨迹、没有关联到轨迹的检测框

具体来说,与大多数方法不同,大多数方法以高计算复杂度将短轨迹关联成完整轨迹

  1. 提出了一种无外观链接模型(AFLink),可以在没有外观信息的情况下执行全局关联,并在速度和准确性之间取得良好的平衡。

这里的使用外观信息而进行轨迹的关联从而减少计算量是后来论文用很大的篇幅去描述的部分。

  1. 提出基于高斯过程回归的高斯平滑插值(GSI)来减少丢失检测 (插值过程中忽略了运动信息提出了这种方法来进行后处理的操作。

在这里插入图片描述

这篇论文的整个摘要部分就基本介绍完了整个论文提出的核心的工作。概括的十分简洁易懂。

引言与相关工作总结

运动特征与外观特征

在介绍解析这篇论文的过程中我们会回顾并总结一些基础的相关概念加深对MOT领域的一些理解。

  1. 运动特征与外观特征的解读:运动特征和外观特征是两种主要的特征类型,它们分别描述了目标在视频中的不同属性
  • 定义:运动特征是指目标在视频序列中随时间变化的位置、速度和加速度等动态属性。

其类型包括了:

  • 位置信息:目标在每一帧中的位置坐标。

  • 速度:目标从一个帧移动到另一个帧的速度。

  • 加速度:目标速度变化的速率。

  • 光流:描述场景中所有点的运动矢量场。

之前看的并解析的光流估计,和点跟踪相关的论文更多的使用的是运动特征来进行运动状态的估计的。

  • 应用:运动特征常用于预测目标在下一帧的位置,以及处理遮挡和相似目标的问题。

优点:对光照变化和背景变化具有较好的鲁棒性。缺点:可能受到快速运动和复杂场景中遮挡的影响。

外观特征(Appearance Features):外观特征是指目标的视觉外观,包括颜色、纹理、形状等静态属性。
其类型包括了:

  • 颜色特征:目标的颜色分布,如直方图、颜色矩等。
  • 纹理特征:目标的纹理信息,如局部二值模式(LBP)、Gabor特征等。
  • 形状特征:目标的轮廓或几何形状,如边缘检测、轮廓跟踪等。

这里可以这么理解Reid特征也就是DeepSort中Reid网络用来进一步提取128维度的外观特征向量,通过级联匹配来进行配对这里更多用到的就是外观特征
E
应用:外观特征用于描述和识别目标的外观,有助于在相似目标中区分特定目标 对光照变化、遮挡和视角变化较为敏感。出现遮挡很难提取外观的特征

TBD与JDE范式

MOT任务一直以检测跟踪(TBD)范式为主 Tracking by Detection的模式。

  1. 它执行每帧检测并将MOT问题表述为数据关联任务。 TBD 方法倾向于首先提取外观和/或运动嵌入,然后执行二分图匹配。受益于高性能的目标检测模型,TBD方法因其优异的性能而受到青睐

很依赖与检测器的性能条件。

  1. 向于使用各种检测器和 ReID 模型来提高 MOT 性能 [18, 39],这使得很难在它们之间构建公平的比较

这里作者就说他提出的StrongSORT可以作为新的一种基线模型?

  1. 提到了DeepSORT 的表现不佳是因为其技术过时,而不是其跟踪范式
  • 为DeepSORT配备了强大的检测器YOLOX
  • 一个新的重识别技术
  • 一个数据关联的改进方法
  1. 提出模型的动机作者自己总结为了:
  1. 它可以作为不同跟踪方法之间公平比较的基线,特别是对于通过检测进行跟踪的跟踪器。
  2. 与弱基线相比,较强的基线可以更好地证明方法的有效性。
  3. 精心收集的推理技巧可以应用于其他跟踪器,而无需重新训练模型。这可以有利于学术界和工业界的一些任务。

在这里插入图片描述

  1. 读完引言的第一个部分之后我产生了一些问题,并结合的查询了一些资料进行补充和说明。
  1. JDE这种联合跟踪的范式指的是什么呢?

联合跟踪器(Joint Detection and Tracking)指的是一种多目标跟踪(MOT)算法框架,它在一个共享神经网络中同时学习目标检测(Detection)和目标嵌入(Embedding),即同时进行检测和跟踪。这种框架通过多任务学习的思路共享特征学习网络参数并设置损失函数,实现目标检测和重识别(ReID)的交互和促进。与基于检测的跟踪(Detection-based Tracking)方法不同,联合跟踪器将检测和跟踪过程集成在一个端到端的模型中,从而提高了目标跟踪的效率和准确性。

端到端的一种模型

  1. ByteTrack也是一种典型的TBD范式核心是关联一个低分框从背景信息中对轨迹进行建模 它没有用REid网络提取特征而是之间用强大的YOLOX检测器 为什么依赖于外观特征的跟踪方法会带来很高的计算成本?

Reid特征虽然可以提高识别的精准度但也会产生一下的问题。

  • 特征提取的复杂性:外观特征通常包括颜色、纹理、形状等视觉信息,提取这些特征需要复杂的计算过程。例如,使用深度学习模型(如卷积神经网络)来提取特征时,需要进行大量的矩阵运算和反向传播,这些操作计算量大,耗时较长

  • 高分辨率处理:为了获得更准确的外观特征,往往需要处理高分辨率的图像,这进一步增加了计算负担。高分辨率图像意味着更多的像素和更复杂的特征提取网络,导致计算成本呈平方增长

  • 实时性要求:在多目标跟踪中,实时性是一个重要要求。依赖外观特征的方法需要在每一帧图像中都进行特征提取和匹配,这在实时处理中尤为具有挑战性,尤其是在目标数量多或场景复杂时。

  • 对抗环境变化:外观特征容易受到光照变化、遮挡和目标姿态变化的影响,这要求算法必须能够处理这些变化,增加了额外的计算成本来适应这些变化

  • 数据关联的复杂性:在多目标跟踪中,需要将提取的外观特征用于数据关联,即确定哪些检测到的目标对应于哪些跟踪对象。这个过程涉及到计算和比较大量的特征向量,当场景中目标数量增多时,计算成本呈指数增长。

  • 深度学习模型的参数量:使用深度学习模型提取外观特征时,模型参数众多,需要大量的计算资源进行训练和推理,尤其是在使用如ResNet这样的复杂网络时。

  • 特征匹配的计算成本:在跟踪过程中,需要对每一帧中的目标进行特征匹配,这涉及到大量的相似性度量和比较操作,尤其是当使用复杂的特征(如基于深度学习的ReID特征)时,计算成本非常高在这里插入图片描述

两个主要创新点提出的背景

MOT任务中存在两个“缺失”问题,即缺失关联和缺失检测。缺少关联意味着同一对象分布在多个 tracklet 中。这个问题在在线跟踪器中尤其常见,因为它们缺乏关联的全局信息。漏检,也称为漏报,是指将物体识别为背景,通常是由遮挡和低分辨率引起的。

下面我们概括两个创新点所提出的背景。

  1. 缺失关联问题,有几种方法提出使用全局链接模型将短轨迹关联到轨迹中。他们通常首先生成准确但不完整的轨迹,然后以离线方式将它们与全局信息关联起来。尽管这些方法显着提高了跟踪性能,但它们依赖于计算密集型模型,尤其是外观嵌入

  2. 其次,线性插值被广泛用于补偿丢失的检测。然而,它在插值过程中忽略了运动信息,这限制了插值位置的准确性。

针对改进所提出的创新点

  1. 提出了一种无外观链接模型(AFLink),它仅利用时空信息来预测两个输入轨迹是否属于同一 ID。没有外观模型,AFLink在速度和准确性之间实现了更好的权衡

目标存在,但是没有检测到,也就导致没有匹配ID原因:通常是因为遮挡导致没检测到。或者是由于分辨率较低导致的现有解决方法:线性插值.

  1. 提出了高斯平滑插值算法(GSI),它使用高斯过程回归算法来修复插值边界框。 GSI也是一种检测噪声滤波器,可以产生更准确和稳定的定位。

在这里插入图片描述

广泛的实验旨在证明所提出方法的有效性。此外,所提出的 StrongSORT 和 StrongSORT++ 在多个基准上实现了 SOTA 性能,包括 MOT17、MOT20、DanceTrack 和 KITTI

在这里插入图片描述

相关工作分层总结

相关工作的部分更多是分层的介绍,我这里只通过标题进行总结大部分的内容之前是以及提到过的。

  1. Separate and Joint Trackers

在这里插入图片描述

MOT方法分类:单独的跟踪器(检测跟踪分离)、联合跟踪器(检测跟踪不分离)

单独的跟踪器:方法:先定位目标,再根据外观运动信息进行帧间关联优点:检测高速发展

联合跟踪器:方法:联合训练检测和其他组件优点:计算成本低

最近的几项研究[42,43,63,7]放弃了外观信息,仅依靠高性能检测器和运动信息,在MOTChallenge基准上实现了高运行速度和最先进的性能[31, 9] ]。然而,放弃外观特征会导致在更复杂的场景中鲁棒性较差。在本文中,我们采用类似DeepSORT的[55]范式,并从各个方面为其配备先进技术,以证实这个经典框架的有效性。

  1. 因此读到这里我就产生了第三个问题即:为什么检测器的高速发展可以放弃外观特征只用运动特征?
  • 检测器性能的提升:随着深度学习技术的发展,目标检测器的性能得到了显著提升,尤其是在准确性和鲁棒性方面。这意味着检测器能够更可靠地识别和定位目标,从而使得跟踪过程中可以依赖于检测结果的运动信息

  • 遮挡和相似目标问题:在复杂场景中,外观特征容易受到遮挡和相似目标的影响,导致跟踪失败。而运动特征相对更加稳定,能够在目标被遮挡或目标之间外观相似时,仍然保持跟踪的连续性。

  • 联合跟踪器的发展:一些联合跟踪器(Joint Detection and Tracking)能够在一个模型中同时进行目标检测和跟踪,减少了对外观特征的依赖。这些跟踪器通过优化检测和跟踪的联合性能,提高了整体跟踪的准确性和效率。

  1. Global Link in MOT MOT中的全局链接(AFLink)

方法:首先使用时空或外观信息生成准确但不完整的轨迹。然后通过离线的方式链接这些轨迹

  • TNT方法:设计了多尺度TrackletNet 测量两个不完整轨迹之间的连接性。使用多尺度卷积核在统一网格中对运动和外观信息进行编码。
  • TPM 方法:提出了一个轨迹平面的概念。将容易混淆的轨迹推入不同的轨迹平面。
  • ReMOT 方法:将不完美的整体的轨迹分割成多个小的完美的轨迹,然后再通过外观特征进行合并
  • GIAOTracker 方法:使用ResNet50-TP模型编码了完美部分轨迹的外观特征,然后使用时空成本将他们关联起来。
    问题:依赖于外观特征,计算成本较高

论文中改进的方法

  • 特点:仅利用运动信息预测两个完美部分轨迹之间的链接置信度。
  • 方法:LGMTracker(也是仅使用运动信息)设计的复杂,我们设计的更简单、更轻量
  • 效果:AFlink 在 MOT17 上训练仅需十几秒,测试仅需十秒(离线模型)。

在这里插入图片描述
3. Interpolation in MOT

它下面提到的一些论文自己都不太懂就不过多的进行概述了。

  • 方法:基于高斯过程回归(GPR)算法对非线性运动进行建模
  • 效果:在准确率和效率之间形成了良好的平衡。

STRONGSORT的核心

Review of DeepSORT

  1. DeepSORT 简单总结为一个双分支框架,即具有外观分支和运动分支 其实就是对应级联匹配的两个匹配过程

  2. 在外观分支中,给定每帧中的检测,深度外观描述符( simple CNN),在行人重识别数据集 MARS [65] 上进行预训练,用于提取他们的外观特征。它利用特征库机制来存储每个 tracklet 最后 100 帧的特征。随着新检测的到来,第 i 个轨迹的特征库 Bi 与第 j 个检测的特征 fj 之间的最小余弦距离计算为

d ( i , j ) = min ⁡ { 1 − f j T f k ( i ) ∣ f k ( i ) ∈ B i } d(i, j)=\min \left\{1-f_{j}^{T} f_{k}^{(i)} \mid f_{k}^{(i)} \in B_{i}\right\} d(i,j)=min{1fjTfk(i)fk(i)Bi}

在运动分支主要就用卡尔曼滤波公式同时结合级联匹配。

x ^ k ′ = F k x ^ k − 1 , P k ′ = F k P k − 1 F k T + Q k \begin{aligned} \hat{x}_{k}^{\prime} & =F_{k} \hat{x}_{k-1}, \\ P_{k}^{\prime} & =F_{k} P_{k-1} F_{k}^{T}+Q_{k} \end{aligned} x^kPk=Fkx^k1,=FkPk1FkT+Qk

K = P k ′ H k T ( H k P k ′ H k T + R k ) − 1 , K=P_{k}^{\prime} H_{k}^{T}\left(H_{k} P_{k}^{\prime} H_{k}^{T}+R_{k}\right)^{-1}, K=PkHkT(HkPkHkT+Rk)1,

x k = x ^ k ′ + K ( z k − H k x ^ k ′ ) , P k = ( I − K H k ) P k ′ \begin{array}{l} x_{k}=\hat{x}_{k}^{\prime}+K\left(z_{k}-H_{k} \hat{x}_{k}^{\prime}\right), \\ P_{k}=\left(I-K H_{k}\right) P_{k}^{\prime} \end{array} xk=x^k+K(zkHkx^k),Pk=(IKHk)Pk

在这里插入图片描述

在这里插入图片描述

Strongsort的改进

在这里插入图片描述

结构的改进
  1. 检测器:Faster RCNN------>YOLOX-X
  2. 外观特征提取器:simple CNN------>BoT
EMA

虽然 DeepSORT 中的特征库机制可以保留长期信息,但它对检测噪声很敏感。为了解决这个问题,我们用中提出的特征更新策略替换特征库机制,该策略以指数移动平均(EMA)方式更新帧 t 处第 i 个轨迹的外观状态 eti

e i t = α e i t − 1 + ( 1 − α ) f i t , e_{i}^{t}=\alpha e_{i}^{t-1}+(1-\alpha) f_{i}^{t}, eit=αeit1+(1α)fit,

ECC

这个图像配置的相关部分其实没太看懂

相机移动存在于多个基准中 [31,44,19]。与[20,43,25,21]类似,我们采用增强相关系数最大化(ECC)[13]模型进行相机运动补偿。它是一种参数化图像对齐技术,可以估计相邻帧之间的全局旋转和平移。具体来说,基于以下标准来量化扭曲变换的性能:

E E C C ( p ) = ∥ i ‾ r ∥ i ‾ r ∥ − i ‾ w ( p ) ∥ i ‾ w ( p ) ∥ ∥ 2 , E_{E C C}(\mathbf{p})=\left\|\frac{\overline{\mathbf{i}}_{\mathbf{r}}}{\left\|\overline{\mathbf{i}}_{\mathbf{r}}\right\|}-\frac{\overline{\mathbf{i}}_{\mathbf{w}}(\mathbf{p})}{\left\|\overline{\mathbf{i}}_{\mathbf{w}}(\mathbf{p})\right\|}\right\|^{2}, EECC(p)= ir ir iw(p) iw(p) 2,

NSA Kalman

该算法提出了一个自适应计算噪声协方差 ̃ Rk 的公式:

R ~ k = ( 1 − c k ) R k , \widetilde{R}_{k}=\left(1-c_{k}\right) R_{k}, R k=(1ck)Rk,

其中Rk是预设的常数测量噪声协方差,ck是状态k处的检测置信度分数。
当噪声较少时,检测得分 ck 较高,从而导致 ̃ Rk 较低。根据公式4-6,较低 ̃Rk意味着检测在状态更新步骤中将具有较高的权重,反之亦然。这有助于提高更新状态的准确性。

源自:GIAOTracker 这个论文
贡献:提出了自适应计算噪声协方差的公式
公式解释:利用计算出来的Rk和检测置信度ck来得到一个新的自适应的 ̃Rk。检测置信度越高, ̃ Rk越低,则检测在状态更新步骤中将具有较高的权重

Motion Cost

DeepSORT在第一个关联阶段仅使用外观特征距离作为匹配成本,其中运动距离仅用作门。相反,我们用外观和运动信息来解决分配问题。成本矩阵C是出现成本Aa运动成本Am的加权和,如下:

C = λ A a + ( 1 − λ ) A m , C=\lambda A_{a}+(1-\lambda) A_{m}, C=λAa+(1λ)Am,

其中权重因子 λ 设置为 0.98

在这里插入图片描述
我自己感觉就是对应这里的连线的部分,这里它更改了成本矩阵后面自然也会更改级联匹配的方式。也就是最后一个部分

Vanilla Matching

在这里插入图片描述
尽管匹配级联算法在 DeepSORT 中并不简单,但随着跟踪器变得更强大,它限制了性能。原因是,随着跟踪器变得更强,它对令人困惑的关联也变得更加鲁棒。因此,额外的先验约束限制了匹配精度。

Vanilla Matching我们将级联匹配替换为了全局线性分配:

STRONGSORT++核心

AFLink

  1. 过度依赖外观特征可能容易受到遮挡的影响。受此启发,我们设计了一个无外观模型 AFLink,仅依靠时空信息来预测两个轨迹之间的连接性

这里自己读论文的时候产生了第四个问题,轨迹连接性是什么呢?因此结合一些查找的资料总结如下:

在目标跟踪中,预测两个轨迹之间的连接性通常指的是评估两个轨迹段(tracklets)之间是否存在着连续性或者它们是否属于同一个目标。这种预测对于多目标跟踪(MOT)尤其重要,因为它涉及到如何将分散在不同帧中检测到的目标正确地关联起来,形成完整的轨迹。

以下是几种体现预测轨迹连接性的方法和特征:

  1. 基于外观和运动信息的全局链接模型:
  2. 基于时空特征的链接预测:
  3. 基于图模型的轨迹关联:

在这里插入图片描述
2 . AFLink 模型的两分支框架。它采用两个轨迹 Ti 和 Tj 作为输入

T ∗ = { f k ∗ , x k ∗ , y k ∗ } k = k ∗ k ∗ + N − 1 T_{*}=\left\{f_{k}^{*}, x_{k}^{*}, y_{k}^{*}\right\}_{k=k^{*}}^{k^{*}+N-1} T={fk,xk,yk}k=kk+N1

在这里插入图片描述

由帧 id fk* 和位置 (最近 N = 30 帧的 xk*, yk*)。零填充用于短于 30 帧的轨迹。应用时间模块通过沿时间维度与 7 × 1 内核进行卷积来提取特征,该内核由四个“Conv-BN-ReLU”层组成。然后,融合模块(具有 BN 和 ReLU 的单个 1 × 3 卷积层)用于集成来自不同特征维度(即 f、x 和 y)的信息。得到的两个特征图被池化并压缩为特征向量,然后连接起来,其中包含丰富的时空信息。最后,使用 MLP 来预测关联的置信度得分。请注意,时间模块和融合模块中两个分支的权重不共享

在这里插入图片描述
在这里插入图片描述

在训练期间,关联过程被制定为二元分类任务。然后,用二元交叉熵损失对其进行优化

L n B C E = − ( y n log ⁡ ( e x n e x n + e 1 − x n ) + ( 1 − y n ) log ⁡ ( 1 − e 1 − x n e x n + e 1 − x n ) ) \begin{aligned} L_{n}^{B C E}= & -\left(y_{n} \log \left(\frac{e^{x_{n}}}{e^{x_{n}}+e^{1-x_{n}}}\right)\right. \\ & \left.+\left(1-y_{n}\right) \log \left(1-\frac{e^{1-x_{n}}}{e^{x_{n}}+e^{1-x_{n}}}\right)\right) \end{aligned} LnBCE=(ynlog(exn+e1xnexn)+(1yn)log(1exn+e1xne1xn))

GSI

我们将第 i 个轨迹的 GSI 模型制定如下:

p t = f ( i ) ( t ) + ϵ , p_{t}=f^{(i)}(t)+\epsilon, pt=f(i)(t)+ϵ,

其中 t ∈ F 是帧 id,pt ∈ P 是帧 t 处的位置坐标变量(即 x, y, w, h),E∼ N (0, σ2) 是高斯噪声。给定跟踪和线性插值轨迹

S ( i ) = { t ( i ) , p t ( i ) } t = 1 L S^{(i)}=\left\{t^{(i)}, p_{t}^{(i)}\right\}_{t=1}^{L} S(i)={t(i),pt(i)}t=1L

,长度为 L,非线性运动建模的任务通过拟合函数 f (i) 来解决。我们假设它服从高斯过程:

f ( i ) ∈ G P ( 0 , k ( ⋅ , ⋅ ) ) , f^{(i)} \in G P(0, k(\cdot, \cdot)), f(i)GP(0,k(,)),

其中

k ( x , x ′ ) = exp ⁡ ( − ∥ x − x ′ ∥ 2 2 λ 2 ) k\left(x, x^{\prime}\right)=\exp \left(-\frac{\left\|x-x^{\prime}\right\|^{2}}{2 \lambda^{2}}\right) k(x,x)=exp(2λ2xx2)

是径向基函数核。根据高斯过程的性质,给定一个新的帧集 F*,其平滑位置 P* 预测为

P ∗ = K ( F ∗ , F ) ( K ( F , F ) + σ 2 I ) − 1 P , P^{*}=K\left(F^{*}, F\right)\left(K(F, F)+\sigma^{2} I\right)^{-1} P, P=K(F,F)(K(F,F)+σ2I)1P,

此外,超参数 λ 控制轨迹的平滑度,这应该与其长度有关。我们简单地将其设计为适应长度l的函数,如下所示:

λ = τ ∗ log ⁡ ( τ 3 / l ) \lambda=\tau * \log \left(\tau^{3} / l\right) λ=τlog(τ3/l)


http://www.mrgr.cn/news/66262.html

相关文章:

  • 参数失配(Mismatch)
  • 【专题】产业全球化视角下中国企业出海人才趋势洞察报告汇总PDF洞察(附原数据表)
  • mybatis源码解析-sql执行流程
  • 【用Java学习数据结构系列】泛型上界与通配符上界
  • 开源竞争-数据驱动成长-11/05-大专生的思考
  • 鸿蒙进阶-AlphabetIndexer组件
  • nacos本地虚拟机搭建切换wiff问题
  • 基于SpringBoot的免税商品优选购物商城的设计与实现
  • 小美和大富翁
  • 动态规划 —— dp问题-按摩师
  • Docker 的基本概念和优势
  • 气体传感器种类详解:从半导体到红外吸收型的全面解析
  • 仿真APP助力汽车零部件厂商打造核心竞争力
  • 解决从huggingface.co下载模型失败问题
  • EasyQBlog .NET 8 + Q-Blog 2.0博客模板 + easyweb iframe后台模板 开发的个人博客
  • 树莓派开发相关知识十 -小车服务器
  • Python打包脚本为EXE可执行文件
  • 信息安全工程师(77)常见网络安全应急事件场景与处理流程
  • 基于SSD模型的行人跌倒、摔倒检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】
  • segformer模型实现pcb缺陷检测
  • DMRl-Former用于工业过程预测建模和关键样本分析的数据模式相关可解释Transformer网络
  • vos3000外呼系统如何检查落地网关配置正常,路由分析
  • 为什么学习Mybatis框架
  • Vue3安装、创建到使用
  • 2025郑州国际台球及配套设施展会,台球盛宴,产业新篇
  • 判断图中是否存在环