(CVPR-2023)用于步态识别的动态聚合网络

news/2023/12/1 2:15:41

用于步态识别的动态聚合网络

paper题目:Dynamic Aggregated Network for Gait Recognition

paper是BIT发表在CVPR 2023的工作

paper地址:链接

Abstract

步态识别有利于多种应用,包括视频监控、犯罪现场调查和社会安全等。然而,步态识别在实际场景中常常受到多种外部因素的影响,例如携带条件、穿着大衣、不同的视角等。近年来,各种基于深度学习的步态识别方法取得了可喜的成果,但它们往往使用固定权重的卷积网络来提取显着特征之一,没有很好地考虑关键区域步态特征之间的关系,并且忽略忽略了完整运动模式的聚合。在本文中,我们提出了一个新的观点,即实际步态特征包括多个关键区域的全局运动模式,并且每个全局运动模式由一系列局部运动模式组成。为此,我们提出了动态聚合网络(DANet)来学习更多有区别的步态特征。具体来说,我们在相邻像素的特征之间创建了一种动态注意机制,该机制不仅自适应地关注关键区域,而且还生成更具表现力的局部运动模式。此外,我们开发了一种自注意力机制来选择代表性的局部运动模式并进一步学习鲁棒的全局运动模式。对三个流行的公共步态数据集(即 CASIAB、OUMVLP 和 Gait3D)的广泛实验表明,所提出的方法可以对当前最先进的方法提供实质性改进。

1. Introduction

步态识别旨在远距离检索相同的身份,已广泛应用于社会治安[28]、视频监控[4、15、49]、犯罪侦查[25]等领域。与动作识别[17,53,54]和行人重识别[2,55,60,61]相比,步态识别是最具挑战性的细粒度标签分类问题之一。一方面,轮廓数据是受分割算法[26,62,63]的限制的人的二值图像,偶尔会有孔洞和破碎的边缘。另一方面,在真实场景中,步态识别也会受到各种外部因素的影响,如携带条件、穿着外套、不同的视角等。不同的角度和服装条件会极大地改变同一个人的剪影外观,导致类内差异远远大于类间差异。我们问:如何在各种外部因素的影响下,为每个人自适应地学习更稳健的特征?我们试图从以下几个角度回答这个问题:

(I)局部运动模式。步态,或行走的行为,本质上是身体各部分的协调运动。在步态序列中,我们观察到每个部分都有唯一的代表性运动模式,并且每个运动模式都由一组局部化子运动组成。因此,在各种外界因素的干扰下,准确定位判别部分,获得具有代表性的局部运动模式至关重要。然而,以前的基于步态的方法[7,8,13,14,20,24,33]简单地使用具有非线性激活的卷积网络来模拟动态运动。一旦网络被训练好,参数和非线性函数就只能集中在固定的模式上。为此,我们提出将每个像素的特征编码为具有幅度和相位的向量,如图1所示,这允许学习聚焦相邻像素之间的动态注意映射函数。通过对这种关系进行建模,网络可以进一步关注关键区域的局部运动模式。

图1

图1.每个像素的特征被映射为同时具有幅值和相位分量的矢量。幅值代表上下文信息,而相位分量用于构建关键区域的动态注意模型。卷积运算用∗表示,图中的蓝色圆圈表示动态注意力学习到的关键区域。

(Ii)全局运动模式。步态是一种周期性的运动。我们假设实际的运动模式是一维信号,如图2所示,其中局部运动模式是信号上的点。因此,有必要使用一系列局部运动模式来进一步拟合实际运动模式,以获得可区分的步态特征。然而,最近的基于步态的方法[8,20,33]只使用基于最大或平均的方法来提取其中一个重要的局部特征。这些方法容易受到干扰,不能适应实际的运动模式。根据信号处理理论中的Nyquist-Shannon采样定理[37,39],当以大于信号频率的两倍的频率对连续信号进行采样时,原始信号的信息保持不变。在这方面,我们提出构建一个全局注意模型,并使用它来动态地选择预设数量的可区分局部运动模式(绿色箭头),同时排除噪声(红色箭头)的影响。通过选择足够的区分局部运动模式,网络可以进一步获得稳健的全局运动模式。

图2

图2.实际运动模式与基于最大值的方法、基于均值的方法和全局运动模式聚合器(GMPA)模块的比较。黑色曲线表示受干扰影响的单个周期动作,而绿色曲线表示由GMPA选择的不同局部运动模式组成的合成周期动作。

在此基础上,提出了一种新颖有效的步态识别动态聚集网络(DANet)。如图3所示。DANet由两个设计良好的组件组成,即局部卷积混合块(LCMB)和全局运动模式聚合器(GMPA)。首先将每个像素的特征编码到包括幅度和相位的复数域中,其中幅度项代表上下文信息,而相位项用于建立每个向量之间的关系。通过聚集邻近焦点区域中的矢量的大小和相位来生成局部运动模式。其次,我们利用GMPA模型中的自注意机制动态地选择足够的可区分的局部运动模式,并进一步学习对实际步态模式的拟合。最后,使用我们提出的模型,我们获得了每个人最具代表性的稳定步态特征,并且性能优于最新的SOTA方法,特别是在最具挑战性的变装条件下。

图3

图 3.提出的 DANet 概述。每个阶段都包含局部卷积混合块(LCMB),它利用动态注意力模型来建立感兴趣的相邻像素之间的关系。 HP表示水平池化,GMPA表示全局运动模式聚合器, l l l表示最后阶段的数量。特别地, G M P A j \mathrm{GMPA}_j GMPAj模块负责聚合第 j j j个部分的局部运动模式并产生最终的全局运动模式 v i ˉ {v}_{\bar{i}} viˉ以供识别。

本文的主要贡献如下:

  • 提出了一种新的局部运动模式提取算法,该算法能够动态地对相邻像素的特征之间的关系进行建模,进而准确定位关键区域。

  • 设计了一种有效的全局运动模式匹配算法,用于选择具有区分性的局部运动模式,并对其进行聚合以获得稳健的全局表示。据我们所知,在这项任务中探索自我注意模式的潜力是第一次尝试。

  • 实验结果表明,该方法在CASIA-B[56]、OUMVLP[41]和Gait3D[59]数据集上的性能优于SOTA方法。此外,在CASIA-B[56]上的许多严格的消融实验进一步验证了DANet中每种成分的有效性。

2. Related Works

在这一部分中,我们简要概述了步态识别、局部动作建模和全局动作建模领域的相关研究。

步态架构。步态识别方法主要分为两个典型类别,即基于模型的方法和基于外观的方法。基于模型的方法 [1, 3, 27, 29–31, 44] 尝试将人体姿势结构 [10] 明确地拟合到图像。然而,预定义点是凭经验设计的,并受到低质量图像估计结果不准确的限制。因此,基于模型的方法在性能上通常不如基于外观的方法。基于外观的方法[7,8,13,18,20,21,24,32,33,43,47,51,52,58]是步态的主流框架,并受益于深度学习的快速发展。它大致可以分为三类,即基于模板的方法、基于集合的方法和基于序列的方法。基于模板的方法[18,36,43,47,52,57]通过压缩一系列步态轮廓(例如步态能量图像(GEI))来提取步态时空特征,这不可避免地破坏了判别性局部运动的表示步态序列中的模式。基于集合的方法[8,20,21,23]假设轮廓的外观包含其位置信息,这无法使用连续帧构建局部运动模式。最近一些先进的基于序列的方法[7,24,32,33,51]使用3D卷积(C3D)神经网络从步态序列中提取步态特征并实现SOTA结果。我们的方法属于基于序列的方法,与其他方法相比,我们提出使用可变长度帧作为输入。

局部动作建模。局部动作建模[14,24,32,33]旨在构建短程时空特征,这些特征已在各种文献中被证明有利于步态识别。 GaitPart [14]提出了一种微运动捕捉模块来建模短程时空特征。 MT3D [32]提出了多个时间尺度的 3D 卷积层来提取小和大时间尺度的运动特征。 GaitGL [33]利用局部时间聚合模块来提取局部时间信息。 3DLocal [24]提出了一个定位模块来自适应采样局部动作特征。与这些策略相反,我们提出将步态序列的每个像素映射到复值域,使用相位项来编码步态特征之间的关系。通过充分利用相位项,我们在特征的每个像素之间构建动态注意力模型,以提取关键区域的局部运动模式。

全局动作建模。旨在捕获远程依赖性的全局动作建模已被证明有利于广泛的识别任务,例如动作识别[6,45,48,54]和行人重识别[9,16,19, 35,40,61]。许多基于注意力的方法 [12,34,46] 在空间维度 [5, 50] 或通道维度 [22] 中建立了全局关系,并取得了显着的结果。然而,当前步态识别中最先进的工作[7,8,32,33]仍然直接使用基于Max或Mean的方法来提取全局时间特征,仅关注最显着的特征。与这些方法不同,我们设计了一个有效的全局自注意力模型来获得每个人的鲁棒表示,该模型可以选择有区别的局部运动模式,并进一步将它们映射到全局运动模式。

3. Methodology

在本节中,我们首先在第 3.1 节中描述我们方法的总体架构,然后介绍所提出的两个新颖的精心设计的模块,即第 3.2 节中的局部卷积混合块(LCMB)和第 3.3 节的全局运动模式聚合器(GMPA)。最后,我们将在 3.4 节中讨论联合损失函数。

3.1. Formulation and Motivation


步态识别旨在在各种外部因素的影响下识别同一个人。令 X ∈ R T × H × W \mathbf{X} \in \mathbb{R}^{T \times H \times W} XRT×H×W 表示包含连续 T T T 帧的轮廓数据,其中 T 、 H T、H TH W W W 表示时间,输入帧的高度和宽度尺寸。在我们的实现中,我们从连续序列中采样可变长度帧 T ∈ [ 20 , 40 ] T \in[20,40] T[20,40] 作为输入。步态特征的提取可表示为

f = G ( L ( X ) ) , f=\mathcal{G}(\mathcal{L}(\mathbf{X})), f=G(L(X)),

其中 f ∈ R P × C f \in \mathbb{R}^{P \times C} fRP×C是输出特征, P P P是水平切片部分的数量, C C C是特征通道, L \mathcal{L} L表示局部运动模式提取, G \mathcal{G} G表示全局运动模式聚合。

为了学习每个人的独特表征,之前基于 C2D 的方法 [8, 20] 和基于 C3D 的方法 [32, 33] 仅使用卷积层和非线性函数来学习步态特征。然而,经过训练的网络只能识别某些容易受到噪声影响的运动模式。在这项工作中,我们在 DANet 的主干中提出了一种新颖的 LCMB,它使网络能够专注于关键区域并通过动态构建像素之间的关系来提取局部运动模式。此外,受奈奎斯特香农采样定理[37, 39]的启发,我们提出了一个新的观点,即完整的步态模式应包含许多可区分的局部运动模式。为此,我们开发了一种有效的GMPA来选择足够可区分的局部运动模式,同时有效地排除噪声的干扰。然后聚合所选择的局部运动模式以生成鲁棒的全局运动模式。

3.2. Local Conv-Mixing Block


在本节中,我们详细描述了本地卷积混合块(LCMB)模块中的向量表示和向量聚合。

矢量表示。在 LCMB 模块中,输入特征表示为 V = [ v 1 , v 2 , … , v N ] ∈ R N × C i \mathbf{V}=\left[v_1, v_2, \ldots, v_N\right] \in \mathbb{R}^{N \times C_i} V=[v1,v2,,vN]RN×Ci,其中 N N N是步态序列中的像素数, C i C_i Ci是输入特征的维度。如图4所示,我们得到幅度 ∣ v j ∣ \left|v_j\right| vj和每个向量的相位 θ j \theta_j θj分别乘以可学习参数 W m ∈ R C i × C l W^m \in \mathbb{R}^{C_i \times C_l} WmRCi×Cl W t ∈ R C i × C l W^t \in \mathbb{R}^{C_i \times C_l} WtRCi×Cl,即

∣ v j ∣ = W m v j , j = 1 , 2 , ⋯ , N , θ j = max ⁡ ( 0 , W t v j ) , j = 1 , 2 , ⋯ , N , \begin{gathered} \left|v_j\right|=W^m v_j, j=1,2, \cdots, N, \\ \theta_j=\max \left(0, W^t v_j\right), j=1,2, \cdots, N, \end{gathered} vj=Wmvj,j=1,2,,N,θj=max(0,Wtvj),j=1,2,,N,

其中下标 j j j是第 j j j个像素的特征。每个向量的内容是由幅度项 ∣ v j ∣ \left|v_j\right| vj 建模的实值特征,而每个向量的关系由相位项 θ j \theta_j θj 进行调制,使用具有修正线性的分组卷积层激活 ReLU。复向量 v ~ j ∈ C C l \tilde{v}_j \in \mathbb{C}^{C_l} v~jCCl 使用欧拉公式通过幅度和相位项进行调制,即:

v ~ j = ∣ v j ∣ ⊙ cos ⁡ θ j ⏞ real part  + i ∣ v j ∣ ⊙ sin ⁡ θ j ⏞ imaginary part  , j = 1 , 2 , ⋯ , N , \tilde{v}_j=\overbrace{\left|v_j\right| \odot \cos \theta_j}^{\text {real part }}+\overbrace{i\left|v_j\right| \odot \sin \theta_j}^{\text {imaginary part }}, j=1,2, \cdots, N, v~j=vjcosθj real part +ivjsinθj imaginary part ,j=1,2,,N,

其中 i i i是满足 i 2 = − 1 i^2=-1 i2=1的虚数单位, ⊙ \odot 是逐元素乘法。

向量聚合。将每个像素的特征表示为向量后,我们进一步聚合每个向量的局部时空域,如图4所示。特别是,由可学习的卷积核 K ∈ R C i × C l × K t × K s × K s \mathcal{K} \in \mathbb{R}^{C_i \times C_l \times K_t \times K_s \times K_s} KRCi×Cl×Kt×Ks×Ks聚合的输出 o ~ j ∈ C C i \tilde{o}_j \in \mathbb{C}^{C_i} o~jCCi的复值表示,即

o ~ j = ∑ m ∈ N ( j ) K [ j − m ] v ~ m + v j , j = 1 , 2 , ⋯ , N , \tilde{o}_j=\sum_{m \in \mathcal{N}(j)} \mathcal{K}[j-m] \tilde{v}_m+v_j, j=1,2, \cdots, N, o~j=mN(j)K[jm]v~m+vj,j=1,2,,N,

其中 N ( j ) \mathcal{N}(j) N(j)表示 j j j的相邻像素集, v ~ m \tilde{v}_m v~m表示属于 v ~ j \tilde{v}_j v~j的相邻像素的向量。按照[42],为了方便计算,我们通过将 v ~ j \tilde{v}_j v~j的实部和虚部相加来获得实值输出特征 o j ∈ R C i o_j \in \mathbb{R}^{C_i} ojRCi,即:

o j = ∑ m ∈ N ( j ) ( K [ j − m ] ∣ v m ∣ ⊙ cos ⁡ θ m + K [ j − m ] ∣ v m ∣ ⊙ sin ⁡ θ m ) + v j , j = 1 , 2 , ⋯ , N , \begin{aligned} & o_j=\sum_{m \in \mathcal{N}(j)}\left(\mathcal{K}[j-m]\left|v_m\right| \odot \cos \theta_m+\right. \\ & \left.\mathcal{K}[j-m]\left|v_m\right| \odot \sin \theta_m\right)+v_j, j=1,2, \cdots, N, \end{aligned} oj=mN(j)(K[jm]vmcosθm+K[jm]vmsinθm)+vj,j=1,2,,N,

其中 ( cos ⁡ θ m + sin ⁡ θ m ) \left(\cos\theta_m+\sin\theta_m\right) (cosθm+sinθm)表示 j j j的相邻像素之间的动态注意力。为了进一步理解动态聚合模型,显示相位值的热图如图 6 所示。

图4

图 4. LCMB 的架构,其中“⊙”表示 Hadamard 乘积,“⊕”表示逐元素求和运算,Mix 表示向量聚合运算。

图6

图 6. 同一人剪影中相位值和相应位置(实心点)的注意力图(虚线框)可视化,其中“J”代表脸部,“H”代表手,“L”代表腿,“F”代表脚。

3.3. Global Motion Patterns Aggregator


在这一部分中,我们提出了一种用于步态识别的全局动作建模框架的新实例,称为全局运动模式聚合器(GMPA),它选择预设数量的区分局部运动模式,然后利用注意机制来聚合查询特定的全局运动模式每个查询位置。 GMPA 对每个部分采用单独的参数,并对相应部分的全局运动模式进行建模。

低阶全局运动模式。步态数据受到许多可变因素的影响,例如分段孔或破损边缘,进一步损害实际的运动模式。为此,我们首先提出将可变的局部运动模式压缩到预设数量的通道描述符中。然后,我们利用softmax在时间维度上构建注意力图,并将压缩的注意力图与重塑的局部运动模式特征相乘以获得全局低阶运动模式。形式上,全局低阶运动模式 G ~ ∈ R P × C × M \tilde{\mathbf{G}} \in \mathbb{R}^{P \times C \times M} G~RP×C×M由局部运动模式 L ∈ R P × T × C \mathbf{L} \in \mathbb{R}^{P \times T \times C} LRP×T×C和注意力图 M ∈ R P × T × M \mathbf{M} \in \mathbb{R}^{P \times T \times M} MRP×T×M生成,并且可以表示为
M = exp ⁡ ( W 1 L i ) ∑ i = 1 T exp ⁡ ( W 1 L i ) , G ~ = M ⊗ L , \begin{gathered} \mathbf{M}=\frac{\exp \left(W_1 \mathbf{L}_i\right)}{\sum_{i=1}^T \exp \left(W_1 \mathbf{L}_i\right)}, \\ \tilde{\mathbf{G}}=\mathbf{M} \otimes \mathbf{L}, \end{gathered} M=i=1Texp(W1Li)exp(W1Li),G~=ML,
其中 W 1 ∈ R P × C × M W_1 \in \mathbb{R}^{P \times C \times M} W1RP×C×M是Separate F C 1 的权重, i F C_1的权重,i FC1的权重,i是帧的索引, ⊗ \otimes 表示矩阵乘法。

高阶全局运动模式。为了利用低阶全局运动模式中聚合的信息,我们进行了进一步的映射,旨在完全捕获高阶全局运动模式。此外,我们还将残差学习引入到 GMPA 中以简化训练。具体来说,我们进一步将预设数量的低阶全局运动模式 G ~ \tilde{\mathbf{G}} G~映射为高阶全局特征 G \mathbf{G} G,即

G = δ ( W 2 G ~ ) ⊕ L , \mathbf{G}=\delta\left(W_2 \tilde{\mathbf{G}}\right) \oplus \mathbf{L}, G=δ(W2G~)L,

其中 W 2 ∈ R P × M × 1 W_2 \in \mathbb{R}^{P \times M \times 1} W2RP×M×1是Separate F C 2 的权重, δ F C_2的权重,\delta FC2的权重,δ表示LeakyReLU激活函数, ⊕ \oplus 表示逐元素广播添加。

图5

图 5.GMPA 的架构和特征图按维度显示,其中“⊗”是矩阵乘法。


http://www.ppmy.cn/news/1067848.html

相关文章

项目透明度如何改善团队的工作流程?

无论项目简单还是复杂,项目透明度一直是项目过程中的重要因素。在当今快节奏的商业环境中,对透明度的关注与日俱增,现已成为团队及其项目成功的关键因素。 但创建一个透明的流程对团队管理而言,是一个重大挑战,因团队…

Camunda 7.x 系列【31】并行网关

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 1. 概述 ParallelGateway并行网关用于在一个流程里用来对并发进行建模处理,将把单条线路拆分成多个…

煤矿皮带运输智能监控算法 opencv

煤矿皮带运输智能监控算法通过opencvpython深度学习算法网络模型,煤矿皮带运输智能监控算法实时监测皮带运输过程中的各种异常情况,如跑偏、撕裂、堆料异常等,一旦检测到异常情况,立即发出告警并采取相应的措施,以保障…

this.viewer.entities.removeById()循环删除为什么删除不完

在 Cesium 中,viewer.entities.removeById() 方法用于从场景中移除指定 ID 的实体。如果您在循环中使用这个方法来删除多个实体,有可能会出现删除不完全的问题,这是因为在删除实体的同时,实体数组的长度在不断减小,可能…

stm32 无刷电机 V/F控制(无刷电机变频控制)以及与foc(矢量控制)的区别

无刷电机有三种控制方式,方波控制,foc控制以及变频控制,前两章我们讲解了方波和foc的控制方法,今天我们一起来讲一讲什么是无刷电机的变频控制(VF)以及变频控制的优势是什么。 实验用的硬件还是KY_Motor的无…

MySql014——分组的GROUP BY子句排序ORDER BYSELECT子句顺序

前提:使用《MySql006——检索数据:基础select语句(使用products表、查询单列、多列、所有列、DISTINCT去除重复行、LIMIT限制返回结果的行数、了解完全限定)》中创建的products表 一、GROUP BY子句基础用法 SELECT vend_id, COU…

WiFi标签工作状态描述

1. LED 灯闪烁代表意义 蓝灯慢闪(每隔 500ms 亮一次):标签进入到配置模式 蓝灯快闪(每隔 100ms 亮一次): WIFI-TOOL 工具连接上了标签 蓝灯超快闪烁(每隔 50ms 闪烁一次)&…

Java简单算法题(面试准备)

一、两数之和 public int[] twoSum(int[] nums, int target) {for (int i 0; i < nums.length; i) {for (int j i 1; j < nums.length; j) {if (nums[i] nums[j] target) {return new int[]{i, j};}}}throw new IllegalArgumentException("No two sum solutio…

【Web系列二十四】使用JPA简化持久层接口开发

目录 环境配置 1、引入依赖 配置文件 代码编写 实体类创建 JPA常用注解 Service与ServiceImpl Service ServiceImpl Controller Dao 三种实现Dao功能方式 1.继承接口&#xff0c;使用默认接口实现 2.根据接口命名规则默认生成实现 3.自定义接口实现(类似MyBatis…

Node.js @zurmokeeper/exceljs 如何快速导出多表头的excel文件

Node.js 如何快速导出嵌套列&#xff08;多表头&#xff09;的excel文件。效果图如下&#xff1a; 1&#xff1a;使用 zurmokeeper/exceljs&#xff0c; V4.4.1以上 安装&#xff1a; npm i zurmokeeper/exceljs 2: 有一个 worksheet.makeColumns 方法&#xff0c;API文档&am…

Python itertools教程(python中的迭代器与组合迭代器)

当谈到在Python中优雅地处理迭代任务时&#xff0c;itertools库是一个不可或缺的工具。这个强大的库提供了一系列用于创建、操作和合并迭代器的函数&#xff0c;能够让你的代码更加紧凑、高效&#xff0c;并且更易于阅读和维护。无论是解决排列组合问题、处理无限序列&#xff…

自定义Object工具类 ObjectUtils.java

自定义Object工具类 ObjectUtils.java 简介 自定义Object工具类 api obj 是否为空 checkEmpty(Object obj);obj 转字符串 obj2String(Object obj); 源码 import java.text.SimpleDateFormat; import java.util.Date;/*** Object工具类*/ public class ObjectUtils {/*** o…

如何在树莓派上使用Nginx搭建本地站点并通过内网穿透实现远程访问

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx&#xff08;发音为“engine-x”&#xff09;可以将您的树莓派变成一个强大的 Web 服务器&#xff0c;可以用于托管网站或 Web 应用程序。相比其他 Web 服务器&#xff0c;Ngi…

诊断试剂ivd——博迈伦

诊断试剂IVD&#xff08;In Vitro Diagnostic&#xff09;是一类用于体外诊断的试剂&#xff0c;用于检测和诊断人体样本中的疾病标志物或生物分子。IVD试剂通常包括试剂盒、试纸、仪器和相关软件等组成部分。 IVD试剂的研发和应用主要涉及以下几个方面&#xff1a; 1. 标志物选…

k8s的学习篇1

一 k8s的概念 1.1 k8s k8s是一个轻量级的&#xff0c;用于管理容器化应用和服务的平台。通过k8s能够进行应用的自动化部署和扩容缩容。 1.2 k8s核心部分 1.prod: 最小的部署单元&#xff1b;一组容器的集合&#xff1b;共享网络&#xff1b;生命周期是短暂的&#xff1b; …

【linux命令讲解大全】002. 使用locate更快速地查找文件

文章目录 locate补充说明语法选项实例实例1&#xff1a;查找和 pwd 相关的所有文件实例2&#xff1a;搜索 /etc 目录下所有以 sh 开头的文件实例3&#xff1a;搜索 /etc 目录下&#xff0c;所有以 m 开头的文件 slocate补充说明语法选项实例 zcat补充说明语法选项参数补充说明 …

如何有效进行RLHF的数据标注?

编者按&#xff1a;随着大语言模型在自然语言处理领域的广泛应用&#xff0c;如何从人类反馈进行强化学习&#xff08;RLHF&#xff09;已成为一个重要的技术挑战。并且RLHF需要大量高质量的人工数据标注&#xff0c;这是一个非常费力的过程。 本文作者在数据标注领域具有丰富经…

攻防世界-Web_php_unserialize

原题 解题思路 注释说了flag存在f14g.php中&#xff0c;但是在wakeup函数中&#xff0c;会把传入的文件名变成index.php。看wp知道&#xff0c;如果被反序列话的字符串其中对应的对象的属性个数发生变化时&#xff0c;会导致反序列化失败而同时使得__wakeup 失效&#xff08;CV…

【PyQt】下载文件时弹出提示用户选择保存文件位置的对话框

1 需求 在界面软件中&#xff0c;用户点击下载某个文件&#xff0c;此时软件需要提示用户选择保存到电脑的某个位置&#xff0c;然后软件才能将文件保存到用户指定的电脑文件夹中。 2 代码 # 需引入的库 import os import sys from PyQt5.QtWidgets import QFileDialogsrc .…

PCL 点云组件聚类

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 该算法与欧式聚类、DBSCAN聚类很是类似,聚类过程如下所述: 1. 首先,我们需要提供一个种子点集合,对种子点集合进行初始的聚类操作,聚类的评估器(即聚类条件),可以指定为法向评估,也可以是距离评估,以此我…
最新文章