Multi-Drone based Single Object Tracking with Agent Sharing Network阅读笔记

Multi-Drone based Single Object Tracking with Agent Sharing Network阅读笔记

Abstract

搭载摄像头的无人机可以从更广阔的视角在空中动态跟踪目标,与静态摄像头或地面移动传感器相比具有优势。然而,由于外观变化和严重遮挡等多种因素,使用单架无人机准确跟踪目标仍然是一个挑战。在本文中,我们收集了一个==新的多无人机单目标跟踪(MDOT)数据集,该数据集包含92组由两架无人机拍摄的113,918帧高分辨率视频片段,以及63组由三架无人机拍摄的145,875帧高分辨率视频片段。此外,特别为多无人机单目标跟踪设计了两种评估指标,即自动融合得分(AFS)和理想融合得分(IFS)==。更进一步,我们提出了一种代理共享网络(ASNet),通过自我监督的模板共享和对多架无人机目标的视觉感知融合,显著提高了跟踪精度,与单无人机跟踪相比有显著改进。在MDOT上的大量实验表明,我们的ASNet显著优于最近的最先进跟踪器。

Introduction

  • 应用背景
    • 无人机或通用无人机(UAV)在我们的日常生活中被广泛使用。具体而言,基于无人机的视觉跟踪应用场景包括现场直播、军事战场、犯罪调查、体育和娱乐等领域。与静态相机和手持移动设备相比,无人机可以动态移动并覆盖广阔的地面区域,非常适合跟踪快速移动的目标。
    • 为了在无人机上执行稳健的跟踪,具有高质量注释的大规模数据集对于推动算法的发展起着至关重要的作用。最近,已经收集了一些单无人机的基准数据集,包括UAV123、Campus【4】、VisDrone-2018【2】和UAVDT【3】。如图1所示,与只在某个区域收集数据的静态相机相比,无人机还可以从更广的视角在空中动态跟踪目标。然而,这也给视觉跟踪带来了额外的挑战,包括目标微小、相机运动、目标高密度分布等。
    • 为了解决上述问题,结合多架无人机是提高目标跟踪在遮挡和外观歧义方面的性能和稳健性的有效解决方案。因此,一些算法专注于基于多摄像头视频监控的长期跟踪和重新识别【5】【6】【7】【8】【9】【10】【11】【12】【13】。在过去的几年中,已经构建了一些具有相互重叠或非重叠视角的多摄像头基准数据集【14】【15】【11】。一些具有完全重叠视角的数据集受限于短时间间隔和受控条件【14】。这些多摄像头数据集专门为跨摄像头的多目标跟踪或人员重新识别收集。

尽管提供了许多用于视觉跟踪的数据集,但它们要么是为单无人机跟踪,要么是为多摄像头跟踪构建的。然而,很少有基准数据集用于多无人机视觉跟踪。在本文中,为了结合基于无人机的跟踪和多摄像头跟踪的优势,我们提出了一个多无人机单目标跟踪(MDOT)数据集。MDOT由92组由两架无人机拍摄的113,918帧高分辨率视频剪辑和63组由三架无人机拍摄的145,875帧高分辨率视频剪辑组成。在每组视频剪辑中,多架无人机跟踪同一个目标。此外,我们还标注了10种不同类型的属性,包括白天、夜晚、相机运动、部分遮挡、完全遮挡、视野外、类似物体、视角变化、光照变化和低分辨率。

为了评估我们数据集中的跟踪算法,我们**提出了两种新的评估指标,即自适应融合得分(AFS)和理想融合得分(IFS)。**具体来说:

  • AFS衡量了使用在线融合策略融合跟踪结果的多无人机跟踪器的性能,
  • IFS是当我们假设多无人机系统可以准确选择性能更好的无人机的跟踪结果时的理想融合性能。

另一方面,为了利用多无人机的互补性,我们提出了一个代理共享网络(ASNet),该网络以自我监督的方式跨无人机共享模板,并自动融合跟踪结果,以实现稳健和精确的视觉跟踪。我们还提出了一种基于无人机的跟踪器的重新检测策略,以解决目标漂移问题,当目标被判断为满足定义条件时,通过扩大搜索区域的大小。在MDOT上的实验表明,ASNet大大优于20种最新的最先进跟踪算法。

Multi-Drone single object tracking dataset

A. 数据收集

数据集是由多架DJI PHANTOM 4 Pro无人机收集的。具体来说,这些无人机由几名专业的人类操作员在不同高度和各种户外场景(例如,公园、校园、广场和街道)控制,如图2所示。为了增加目标外观和尺度的多样性,同一目标由多架无人机从不同视角和不同高度跟踪,高度范围从20米到100米。该数据集有155组视频剪辑,包含259,793帧高分辨率帧,分为两个子数据集。基于两架无人机的数据集(Two-MDOT)包括92组视频剪辑,由两架无人机拍摄的113,918帧高分辨率帧,而基于三架无人机的数据集(Three-MDOT)包含63组视频剪辑,由三架无人机拍摄的145,875帧高分辨率帧。Two-MDOT是在2018年收集的,而Three-MDOT是在2019年收集的。因此,Two-MDOT和Three-MDOT之间没有重叠。此外,该数据集被划分为训练集(Two-MDOT中的37组和Three-MDOT中的28组)和测试集(Two-MDOT中的55组和Three-MDOT中的35组)。

如表I所示,大多数以前的数据集都是由一台相机收集的,其中目标的外观并不丰富。尽管NLPR MCT和DukeMTMC用于评估多目标跟踪和人员重新识别,但它们是由静态相机收集的。相比之下,MDOT可以动态地用移动无人机跟踪目标(见图3)。需要注意的是,我们没有收集激光雷达数据,因为配备激光雷达的几架无人机与配备可见光相机的无人机相比要昂贵得多,而且激光雷达的准确感测距离大约为200米,与可见光相机相比没有明显优势。

B. 标注

对于标注,我们收集了1280×720尺寸的图像,并使用常用的标注工具VATIC来标注目标的位置、遮挡和视野外信息。之后,使用LabelMe逐帧细化和复核标注。此外,155个序列中的目标被划分为9个类别,即行人、汽车、马车、摩托车、自行车、三轮车、卡车、狗和公共汽车,每个类别中的目标也都是多样的。此外,如表II所示,所有序列均由10个属性标注,即白天(DAY)、夜晚(NIGHT)、相机运动(CM)、部分遮挡(POC)、完全遮挡(FOC)、视野外(OV)、类似物体(SO)、视点变化(VC)、光照变化(IV)和低分辨率(LR)。关于10个属性的统计数据在图4中总结。值得注意的是,CM、IV和LR在大多数序列中出现,这可能会显著降低跟踪器的性能。与经典单目标跟踪任务的设置类似,我们在不同无人机的第一帧手动标注了相同对象的跟踪目标。

C. 评价指标

单目标跟踪通常通过成功率和精确度图来评估。然而,对于基于多无人机的跟踪,算法的结果应当基于多无人机融合结果来评估。为此,我们提出了两个新的评价指标,用于多无人机单目标跟踪,即自动融合得分(AFS)和理想融合得分(IFS)。

  • 自动融合得分(AFS) 评估使用在线融合策略融合跟踪结果的多无人机跟踪器的性能。

    定义 1:设 h_i^vy_i^v 分别是第 i 帧和第 v 架无人机的跟踪结果(即,框的位置、宽度和高度)和真值。AFS定义为:

A F S = 1 n ∑ i = 1 n ∑ v = 1 V w v s ( h i v , y i v ) AFS = \frac{1}{n} \sum_{i=1}^{n} \sum_{v=1}^{V} w_v s(h_i^v, y_i^v) AFS=n1i=1nv=1Vwvs(hiv,yiv)

其中 s(·,·) 是单目标跟踪的评价指标(即,成功率和精确度得分)而 w_v 是第 v 架无人机的权重。nV 分别是视频剪辑中的帧数和无人机的数量。w_v 的值应该是零或一。w_v 是自动学习的,并且在跟踪过程中针对每一帧进行在线更新。

  • 理想融合得分(IFS) 是当我们假设多无人机系统可以准确选择性能更好的无人机的跟踪结果时的理想融合性能。它被定义为评估多无人机跟踪系统的极端性能,可以指导设计更优秀的多无人机跟踪器。

定义 2:设 h_i^vy_i^v 分别是第 i 帧和第 v 架无人机的跟踪结果和真值。IFS定义为:

I F S = 1 n ∑ i = 1 n max ⁡ ( s ( h i 1 , y i 1 ) , … , s ( h i V , y i V ) ) IFS = \frac{1}{n} \sum_{i=1}^{n} \max(s(h_i^1, y_i^1), \ldots , s(h_i^V, y_i^V)) IFS=n1i=1nmax(s(hi1,yi1),,s(hiV,yiV))

在评估阶段,OPE(单次通过评估)指标是单目标跟踪器的传统指标。基于OPE,我们提出了AFS和IFS作为多无人机跟踪器的评估指标。与AFS相比,IFS展示了与多无人机融合的上界之间的差距,这启发我们设计具有更有用融合策略的优秀多无人机跟踪器。

image-20231211021706712

Agent Sharing NetWork

IV. 代理共享网络

多无人机跟踪的关键挑战是如何共享无人机之间的信息并自适应融合跟踪结果。为了应对这一挑战,每架无人机被视为一个代理,我们提出了一个代理共享网络(ASNet)来有效利用无人机之间的互补信息,参见图5。

A. 网络架构

动态孪生网络(DSiam)【45】能够有效地进行目标外观变化和从前一帧中抑制背景的在线学习。因此,我们选择DSiam作为基础跟踪器,并开发相应的多无人机跟踪器。一个公共跟踪器被训练用于所有无人机跟踪同一个目标在同一场景中。因此,它不偏向任何不同的无人机。我们专注于在线跟踪过程,并从三个方面设计代理共享网络,即模板共享,视觉感知融合和目标重新检测。

O v 1 O_v^1 Ov1 Z v t Z_v^t Zvt 分别表示第一帧和第 t t t 帧对应于第 v v v 架无人机的模板和搜索区域。通过一个嵌入模块 f f f,例如,卷积神经网络(CNN),可以为模板和搜索区域提取深度特征,即 f ( O v 1 ) f(O_v^1) f(Ov1) f ( Z v t ) f(Z_v^t) f(Zvt)。DSiam的关键组成部分是目标外观变化变换和背景抑制变换【45】。对于ASNet,我们需要为所有无人机确定变换。目标外观变化变换 M t − 1 v M_{t-1}^v Mt1v 相对于第 v v v 架无人机是通过下面的方式学习的:

M t − 1 v = arg ⁡ min ⁡ ∥ M ⊗ F 1 v − F t − 1 v ∥ 2 + λ m ∥ M ∥ 2 , M_{t-1}^v = \arg \min \| M \otimes F_1^v - F_{t-1}^v \|^2 + \lambda_m \| M \|^2, Mt1v=argminMF1vFt1v2+λmM2,

其中 F v 1 = f ( O v 1 ) F_v^1 = f(O_v^1) Fv1=f(Ov1) F v t − 1 = f ( O v t − 1 ) F_v^{t-1} = f(O_v^{t-1}) Fvt1=f(Ovt1) O v t − 1 O_v^{t-1} Ovt1 是第 t − 1 t-1 t1 帧的目标对于第 v v v 架无人机。 ⊗ \otimes 表示circular convolution,可以在频率域中快速计算【45】。 M t − 1 v M_{t-1}^v Mt1v 可以捕捉目标变化,在时间平滑假设下,因此大大贡献于在线学习。同样地,背景抑制变换 W t − 1 v W_{t-1}^v Wt1v 也可以被学习:

KaTeX parse error: Can't use function '$' in math mode at position 56: …_{t-1}}^v - F_{$̲\tilde{G}_{t-1}…

其中 G t − 1 v G_{t-1}^v Gt1v 是以目标为中心且与 Z t − 1 v Z_{t-1}^v Zt1v 大小相同的区域。 G ~ t − 1 v \tilde{G}_{t-1}^v G~t1v 通过将 G t − 1 v G_{t-1}^v Gt1v 与高斯权重图相乘得到。 W t − 1 v W_{t-1}^v Wt1v 能够抑制背景信息,因此诱导出更好的跟踪性能。关于 M t − 1 v M_{t-1}^v Mt1v W t − 1 v W_{t-1}^v Wt1v 的更多细节可以在【45】中找到。

与使用单架无人机的视觉跟踪相比,ASNet共享所有无人机的模板,并获取对应于多架无人机模板的响应图。由于多架无人机的模板可靠性不同,我们以自我监督的方式自适应融合多模板的响应图。最终,多架无人机的跟踪结果可以通过跟踪得分自适应融合。

image-20231211021743222

这两个公式似乎是视觉跟踪领域中用于描述目标外观变化和背景抑制模型的优化问题。让我来帮您解释这两个公式的意思。

第一个公式定义了目标外观变化模型 ( M_{t-1}^v ) 的优化问题:

M t − 1 v = arg ⁡ min ⁡ ∥ M ⊗ F 1 v − F t − 1 v ∥ 2 + λ m ∥ M ∥ 2 , M_{t-1}^v = \arg \min \| M \otimes F_1^v - F_{t-1}^v \|^2 + \lambda_m \| M \|^2, Mt1v=argminMF1vFt1v2+λmM2,

在这个公式中:

  • ( M ) 是一个变换矩阵,用于表示目标外观从第一帧到第 ( t-1 ) 帧的变化。
  • ( F_1^v ) 是在第一帧中,第 ( v ) 架无人机视角下目标的特征。
  • ( F_{t-1}^v ) 是在第 ( t-1 ) 帧中,相同无人机视角下目标的特征。
  • ( \otimes ) 表示卷积操作。
  • ( \lambda_m ) 是正则化参数,用于平衡目标外观变化模型的复杂性和拟合程度。

这个优化问题的目的是找到一个模型 ( M ),使得通过该模型变换后的第一帧目标特征与第 ( t-1 ) 帧目标特征之间的差异最小,同时保持模型 ( M ) 的复杂性尽可能低。

第二个公式定义了背景抑制模型 ( W_{t-1}^v ) 的优化问题:

W t − 1 v = arg ⁡ min ⁡ ∥ W ⊗ F G t − 1 v − F G ~ t − 1 v ∥ 2 + λ w ∥ W ∥ 2 , W_{t-1}^v = \arg \min \| W \otimes F_{G_{t-1}}^v - F_{\tilde{G}_{t-1}}^v \|^2 + \lambda_w \| W \|^2, Wt1v=argminWFGt1vFG~t1v2+λwW2,

在这个公式中:

  • ( W ) 是一个变换矩阵,用于表示背景的抑制。
  • ( F_{G_{t-1}}^v ) 和 ( F_{\tilde{G}_{t-1}}^v ) 表示第 ( v ) 架无人机在第 ( t-1 ) 帧的背景特征。
  • 同样,( \otimes ) 表示卷积操作。
  • ( \lambda_w ) 是正则化参数,用于平衡背景抑制模型的复杂性和拟合程度。

这个优化问题的目的是找到一个模型 ( W ),使得通过该模型变换后的背景特征与真实背景特征之间的差异最小,同时保持模型 ( W ) 的复杂性尽可能低。

在这两个公式中,“( \arg \min )”表示我们的目标是最小化后面的表达式,并找到使这个表达式最小化的变换矩阵 ( M ) 或 ( W )。

\lambda_m是正则化参数,用于平衡目标外观变化模型的复杂性和拟合程度。 为什么lambda_m可以平衡目标外观变化模型的复杂性和拟合程度?

在优化问题中,正则化参数(如 \(\lambda_m\))用来平衡模型的复杂性(通常关联于模型的过拟合风险)和模型对数据的拟合程度。这是通过在损失函数中加入一个额外的项来实现的,该项通常与模型参数的规范(或大小)有关。具体来说:

  1. 模型复杂性:如果模型过于复杂,它可能会过度拟合训练数据,即它可能会记住训练数据的噪声而不是其潜在的结构。在上述情况中,( M ) 的复杂性可以通过 ( M ) 的规范(例如,( | M |_2^2 ))来衡量,这是 ( M ) 所有元素的平方和。

  2. 拟合程度:模型对数据的拟合程度可以通过模型的预测(在这种情况下是 ( M \otimes F_1^v ))和真实数据 ( F_{t-1}^v ) 之间的差异来衡量,通常使用二范数(即 ( | \cdot |_2^2 ))。

正则化参数 ( \lambda_m ) 控制了正则化项 ( | M |2^2 ) 相对于拟合误差项 ( | M \otimes F_1^v - F{t-1}^v |_2^2 ) 的重要性。当 ( \lambda_m ) 较大时,优化过程会更多地惩罚模型复杂性,从而倾向于选择一个更简单的 ( M ) 来避免过拟合。相反,当 ( \lambda_m ) 较小时,优化过程会更多地关注减少拟合误差,可能会导致一个更复杂的 ( M ),这可能会提高模型在训练数据上的性能,但可能降低其泛化能力。

因此,( \lambda_m ) 的选择决定了模型的复杂性与拟合数据能力之间的权衡,这是机器学习中调整模型性能的关键实践。

B. 自我监督模板共享

由于目标的外观可能会有很大的变化,所有无人机的模板可以共享以提高单个无人机跟踪器的鲁棒性。第 k k k 架无人机的响应图 S t k v S_{t}^{kv} Stkv,对应于第 v v v 架无人机的模板,计算如下:

S t k v = corr ( M t − 1 v ⊗ f ( O 1 v ) , W t − 1 ⊗ f ( Z t k ) ) , S_{t}^{kv} = \text{corr}(M_{t-1}^{v} \otimes f(O_{1}^{v}), W_{t-1} \otimes f(Z_{t}^{k})), Stkv=corr(Mt1vf(O1v),Wt1f(Ztk)),

其中 corr ( A , B ) \text{corr}(A, B) corr(A,B) 是相关操作,可以被视为以 A A A 为卷积滤波器对 B B B 进行的卷积操作。对于第 k k k 架无人机,我们获得了一组响应图 S t k 1 , S t k 2 , . . . , S t k V S_{t}^{k1}, S_{t}^{k2}, ..., S_{t}^{kV} Stk1,Stk2,...,StkV。为了融合响应图,我们提出了一种自我监督的融合策略。具体来说,我们使用前 t − 1 t-1 t1 帧的跟踪结果作为监督信息来指导 V V V 个模板的权重学习。设 O t k v O_{t}^{kv} Otkv 表示第 k k k 架无人机上跟踪器跟踪的目标,使用第 v v v 架无人机的模板。融合权重 u t k u_{t}^{k} utk 可以通过以下方式学习得到:

min ⁡ u ∥ D t k u t k − M t − 1 k ⊗ f ( O 1 k ) ∥ 2 + λ u ∥ u t k ∥ 2 , \min_{u} \left\| D_{t}^{k} u_{t}^{k} - M_{t-1}^{k} \otimes f(O_{1}^{k}) \right\|^{2} + \lambda_{u} \left\| u_{t}^{k} \right\|^{2}, umin DtkutkMt1kf(O1k) 2+λu utk 2,

其中 D t k = [ f ( O t k 1 ) , f ( O t k 2 ) , . . . , f ( O t k V ) ] D_{t}^{k} = [f(O_{t}^{k1}), f(O_{t}^{k2}), ..., f(O_{t}^{kV})] Dtk=[f(Otk1),f(Otk2),...,f(OtkV)]。权重反映了跟踪目标和目标模板在 ( t − 1 ) (t-1) (t1) 帧之间的相关性。考虑到学习到的权重和响应图,我们可以获得第 k k k 架无人机上跟踪器的融合响应图,即:

S t k = ∑ v = 1 n u t k v S t k v . S_{t}^{k} = \sum_{v=1}^{n} u_{t}^{kv} S_{t}^{kv}. Stk=v=1nutkvStkv.

对于一个有 V V V 架无人机的多无人机跟踪系统,我们总共可以获得 V V V 个融合响应图,即 S t 1 , S t 2 , . . . , S t V S_{t}^{1}, S_{t}^{2}, ..., S_{t}^{V} St1,St2,...,StV

C. 视角感知融合

为了在多无人机跟踪上生成最终结果,我们在获得 V V V 个融合响应图后使用自动视角感知融合方案。对于第 k k k 架无人机的响应图,我们在响应图中搜索最大值 g ( S t k ) g(S_{t}^{k}) g(Stk),并获取其对应位置 p t k : g ( S t k ) p_{t}^{k} : g(S_{t}^{k}) ptk:g(Stk) 被定义为第 t t t 帧在第 k k k 架跟踪器上的跟踪分数。然后,我们可以通过以下方式获得最佳响应图的索引 b t b_{t} bt

b t = arg ⁡ max ⁡ ( g ( S t 1 ) , g ( S t 2 ) , . . . , g ( S t V ) ) . b_{t} = \arg \max(g(S_{t}^{1}), g(S_{t}^{2}), ..., g(S_{t}^{V})). bt=argmax(g(St1),g(St2),...,g(StV)).

在第 b t b_{t} bt 架无人机上的目标位置 p t b t p_{t}^{b_{t}} ptbt 是最佳响应图的位置。从方程式 8 获得的最佳响应图的无人机跟踪器的权重 w v w_{v} wv 被设置为 1,其余为 0。

D. 目标重新检测

由于在基于无人机的跟踪中经常发生相机移动,目标位置可能在连续帧中变化很大。为了解决这个问题,我们使用基于过去和当前帧的目标重新检测策略。对于第 t t t 帧,设 I t q I_{t}^{q} Itq 表示过去 q q q 帧的一组分数。 μ t q \mu_{t}^{q} μtq σ t q \sigma_{t}^{q} σtq 分别表示 I t q I_{t}^{q} Itq 的均值和标准差。受 MOSSe 中峰值到旁瓣比的启发【46】,目标重新检测的阈值定义为:

ω t q = μ t q − λ ⋅ σ t q , \omega_{t}^{q} = \mu_{t}^{q} - \lambda \cdot \sigma_{t}^{q}, ωtq=μtqλσtq,

其中 λ \lambda λ 是一个预设参数。当分数小于 ω t q \omega_{t}^{q} ωtq 或跟踪分数是阈值 T s c o r e T_{score} Tscore 时,目标可能丢失。如果是这样,我们使用局部到全局策略逐步扩展搜索区域以重新检测目标【21】。在使用了所提出的重新检测策略后,跟踪性能大幅提升。

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

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

相关文章

网传鸿蒙月薪达到40-70K,是真是假......

据消息称,华为将于明年发布不兼容安卓的鸿蒙版本,这意味着未来鸿蒙将独立开发,成为华为的核心操作系统。 现在提出观点一和观点二供大家讨论: 观点一 认为鸿蒙不再兼容安卓,会导致华为失去大量用户和市场份额 观点…

Autosar CAN开发05(从实际应用认识CAN波特率)

建议同时阅读本专栏的: Autosar CAN开发03(从实际应用认识CAN总线的物理层) Autosar CAN开发04(从实际应用认识CAN报文) Autosar CAN开发05(从实际应用认识CAN波特率) 前言 当知道了CAN的物…

Spring 依赖注入概述、使用以及原理解析

前言 源码在我github的guide-spring仓库中,可以克隆下来 直接执行。 我们本文主要来介绍依赖注入的使用示例及其原理 依赖注入 什么是依赖注入 依赖注入(Dependency Injection,简称DI)是一种设计模式,它用于实现对…

嵌入式 C 语言大神的进阶之路

C语言可以说是一种"古老"的编程语言,也是目前嵌入式中主流的编程语言,没有C语言就没有今天的各种嵌入式系统以及操作系统等等。 C语言虽然说是编程开发的基础,那到底你掌握到了什么程度呢? 下面我们一起看看C语言熟练到…

第十三节TypeScript 元组

1、简介 我们知道数组中元素的数据类型一般都是相同的(any[]类型的数组可以不同),如果存储的元素类型不同,则需要使用元组。 元组中允许存储不同类型的元素,元组可以作为参数传递给函数。2、创建元组的语法格式&#x…

python:改进型鳟海鞘算法(SSALEO)求解23个基本函数

一、改进型鳟海鞘算法SSALEO 改进型鳟海鞘算法(SSALEO)由Mohammed Qaraad等人于2022年提出。 参考文献:M. Qaraad, S. Amjad, N. K. Hussein, S. Mirjalili, N. B. Halima and M. A. Elhosseini, "Comparing SSALEO as a Scalable Larg…

阻抗控制中的弹簧与阻尼影响分析

阻抗控制是一种机器人控制方法,通过调整机器人的阻抗来实现对机器人的精准控制。在阻抗控制中,弹簧和阻尼是两个重要的参数,它们对机器人的性能和稳定性有很大的影响。 弹簧代表机器人的刚度和弹性,而阻尼代表机器人的阻尼特性&a…

DRF从入门到精通四(视图基类、GenericAPIView的视图扩展类、视图子类、视图集父类、子类)

文章目录 前言一、视图基类APIView基类GenericAPIView通用视图基类 二、GenericAPIView的视图拓展类1.ListModelMixin2.CreateModelMixin3.RetrieveModelMixin4.UpdateModelMixin5.DestroyModelMixin 三、GenericAPIView的视图子类ListCreateAPIViewRetrieveUpdateDestroyAPIVi…

中庸 原文与译文

《中庸》是中国古代论述人生修养境界的一部道德哲学专著,是儒家经典著作之一,原属《礼记》第三十一篇,相传为战国时期子思所作。 其内容肯定“中庸”是道德行为的最高标准,认为“至诚”则达到人生的最高境界,并提出“…

C语言中关于if else的理解

if else我们可以理解为 if(条件1) //如果条件1成立 语句1; //执行语句1 else //如果条件1不成立 语句2; //执行语句2 这是一个经典的if els…

大数据技术学习笔记(十一)—— Flume

目录 1 Flume 概述1.1 Flume 定义1.2 Flume 基础架构 2 Flume 安装3 Flume 入门案例3.1 监控端口数据3.2 实时监控单个追加文件3.3 实时监控目录下多个新文件3.4 实时监控目录下的多个追加文件 4 Flume 进阶4.1 Flume 事务4.2 Flume Agent 内部原理4.3 Flume 拓扑结构4.3.1 简单…

1861_什么是H桥

Grey 全部学习内容汇总: GitHub - GreyZhang/g_hardware_basic: You should learn some hardware design knowledge in case hardware engineer would ask you to prove your software is right when their hardware design is wrong! 1861_什么是H桥 H桥电路可以…

蓝桥杯c/c++程序设计——数位排序

数位排序【第十三届】【省赛】【C组】 题目描述 小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序。 当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面。 例如&#xff0…

reactive和TypeScript标注数据类型-ts使用方法

一、vite项目中<script setup lang"ts"> : lang"ts" 是表明支持ts校验&#xff08;ts 全称typescript,是es6语法&#xff0c;是javascript的超集强类型编程语言&#xff0c;类似java&#xff0c;定义变量类型后&#xff0c;赋值类型不一致&#xff0…

创建一台可以安装linux系统的虚拟机的流程

1、打开vmware-->点击左上角文件-->新建虚拟机-->自定义 2、默认选择&#xff0c;直接下一步 3、选中稍后安装操作系统&#xff0c;然后下一步 4、选中Linux&#xff0c;然后下拉框选择CentOS7(64位) 5、设置虚拟机名称及存储位置 6、设置虚拟机处理器数量及核心数 7、…

选择排序之C++实现

描述 选择排序&#xff08;Selection Sort&#xff09;是一种简单直观的排序算法。它的基本思想是&#xff1a;每一轮从待排序的数据中选择最小&#xff08;或最大&#xff09;的一个元素&#xff0c;然后与待排序数据的第一个元素交换位置。对剩余未排序的数据重复这个过程&a…

【【IIC模块Verilog实现---用IIC协议从FPGA端读取E2PROM】】

IIC模块Verilog实现–用IIC协议从FPGA端读取E2PROM 下面是 design 设计 I2C_dri.v module IIC_CONTROL #(parameter SLAVE_ADDR 7b1010000 , // E2PROM 从机地址parameter CLK_FREQ 26d50_000_000 , // 50MHz 的时钟频率parameter …

Ensp dhcp全局地址池(配置命令 + 实例)

使用DHCP的好处&#xff1a;减少管理员的工作量、避免输入错误的可能、避免ip冲突 DHCP报文类型&#xff1a; DHCP DISCOVER:客户端用来寻找DHCP服务器 DHCP OFFER:DHCP服务器用来响应DHCP DISCOVER报文&#xff0c;此报文携带了各种配置信息 DHCP REQUEST:客户端配置请求确…

Python机器学习 – 用最小二乘法实现散点图

Python机器学习 – 用最小二乘法实现散点图 Machine Learning in Python – Implement Scatter Plot with Least Squares By JacksonML 1. 最小二乘法定义 最小二乘法是由A.M.Legendre&#xff08;勒让德&#xff09;先生最早提出的。他在1805年&#xff0c;通过《计算彗星轨…

3. 结构型模式 - 组合模式

亦称&#xff1a; 对象树、Object Tree、Composite 意图 组合模式是一种结构型设计模式&#xff0c; 你可以使用它将对象组合成树状结构&#xff0c; 并且能像使用独立对象一样使用它们 问题 如果应用的核心模型能用树状结构表示&#xff0c; 在应用中使用组合模式才有价值。 …