无锡网站制作公司报价,全景网站是怎么做的,中英语网站制作方法,平台网站开发简报本篇博客用于记录一篇行人重识别方向的论文所提出的优化方法《Pose-Guided Feature Disentangling for Occluded Person Re-identification Based on Transformer》#xff0c;论文中提出的PDF_Net模型的backbone是采用《TransReID: Transformer-based Object Re-Identificati…本篇博客用于记录一篇行人重识别方向的论文所提出的优化方法《Pose-Guided Feature Disentangling for Occluded Person Re-identification Based on Transformer》论文中提出的PDF_Net模型的backbone是采用《TransReID: Transformer-based Object Re-Identification》的主干网络TransReID。 Pose-guided Feature Disentangling for Occluded Person Re-identification Based on Transformer Tao Wang 北京大学机器感知深圳研究生院 论文https://arxiv.org/abs/2112.02466 源码https://github.com/WangTaoAs/PFD_Net 1. 论文所提方法 提出的PFD由四个部分组成。第一部分是视觉上下文编码器它将摄像机信息编码到embedding中以捕获全局上下文信息。第二部分是姿态引导特征聚合PFA它利用匹配和分布机制来初步引导可见的身体部位。第三部分是基于部分视图的解码器在可学习语义视图的指导下将姿势引导特征分解为判别视图集。第四部分是姿态-视图匹配模块PVM它将获得的视图集合(View set)和姿态引导的特征集合视为一个集合匹配问题。此外为了强调可见身体部位的特征提出了姿势引导下的Push Loss。有关更多详细信息请参阅建议的方法。
3.1 Visual Context Transformer Encoder
我们使用基于Transformer的图像分类模型(即ViT(Dosovitskiy et al 2020))构建编码器。给定一个人物图像x∈其中H、W、C分别表示高度、宽度和通道维度。我们首先通过使用滑动窗口将x分割成N个固定大小的补丁{|i12,…,N}。步长可以表示为S每个图像分块(Patch)的大小可以表示为P补丁的数量N可以描述为
其中⌊⌋是向下取整。当S等于图像分块大小P时分割的图像块是不重叠的。当S小于P时生成的图像块是重叠的这可以减轻图像的空间邻域信息的损失。变换编码器只需要序列作为输入因此在展平的像素块(flatten patch)上执行可训练的线性投影函数f·将像素块映射到D维最终得到patch embeddings E∈即fi12。。。N 。 可学习的[class]token 被预先添加到像素块转换的embeddings中并且输出的[class]token用作编码器全局特征表示 。为了保留位置信息我们应用可学习的位置编码(positonal encodings)。然而这些特征非常容易受到相机变化的影响因此我们遵循He et al 2021中的方法来学习相机视角信息。那么最终的输入序列可以被描述为
其中是位置嵌入(positional embeddings)∈是相机嵌入(camera embeddings)对于相同的图像是相同的。是一个超参数用于平衡相机嵌入的权重(weight)。接下来输入embedding将由m个变换器层(transformer layers)处理。编码器的最终输出∈可以分为两部分编码器全局特征和局部特征∈和∈。为了学习人体部位human parts的更多判别特征将部位特征(part features)按顺序分为K组每组的大小为N//K×D。然后连接编码器全局特征∈的每个组将被馈送到共享变换器层(shared transformer layer)中以学习K组 part local feature(部分局部特征)[…]。 编码器监督损失(Supervision Loss)。我们采用交叉熵损失作为编码器全局特征和分组特征的单位损失和三元组损失。编码器损失函数可以公式化为
3.2姿势引导的特征聚合
被遮挡的人图像的身体信息较少非身体部位的信息可能不明确这会导致性能下降。因此我们使用人体姿态估计器来从图像中提取关键点信息。 姿势估计。给定人物图像x姿态估计器从输入图像中提取M个姿态点。然后利用姿态点来生成热图H[…]。每个热图都被下采样到H/4×W/4的大小。每个热图的最大响应点(The maximum response point)对应于一个关节点。我们设置了一个阈值γ来过滤出高置信度标签和低置信度标签。但与Miao et al 2019不同的是我们没有将关键点置信度得分小于γ的热图设置为0。相反标签∈{0,1}, (i1, …, M)将分配给每个热图。从形式上讲热图标签可以表示为
式中为第i个关键点的置信度得分。 姿态导向的特征聚合。为了整合姿态信息我们设置K M正好等于关键点的个数。然后对热图H应用全连接层得到热图H′其维数与组局部特征the group part local feature相同。然后热图H′点乘element-wisely的每个元素得到姿态引导特征P [, …][m]。虽然P已经明确编码了人体不同部位的信息但我们希望从中找到对某一身体部位贡献最大的部分信息。为此我们开发了一种匹配和分配机制该机制将部位局部特征( part local feature)和姿态点引导特征(pose guided feature)作为一个集合相似度度量问题。最后得到姿态引导特征聚合集S { | i 1,2…, M}。对于每个我们可以找到中最相似的特征然后将两个特征相加形成Si。在形式上, 其中i 1, 2, …, K, ⟨·,·⟩代表内积 表示 与中最相似的内积。
3.3 Part View Based Transformer Decoder
在本节中我们定义了一组可学习的语义部件视图来学习可区分的身体部件。可学习的语义部件视图可以表示为Z { | i 1,2… }和Z∈将作为查询(queries)添加到每个交叉注意层(cross-attention layer)。如图2所示键值key和values来源于姿态点热图H与编码器输出的组合。将平均池化层应用于热图H然后将相乘最终输出∈×D。形式上查询、键和值可以表示为:
姿态-视图匹配模块:
在交叉注意机制中部分语义视图可以学习到一些判别特征。然而不知道是哪一部分或哪一种信息被学习了。因此为了获得与人体骨骼相关的特征我们提出了一个姿态视图匹配模块。由于姿态引导特征聚合集合S的每一个特征都与人体的某个关键点信息相关我们可以通过计算人体部位视图与的相似度来找到与人体某个关键点相关的部位视图。将匹配的语义部件视图和姿势引导的特征聚合特征pose guided feature aggregation feature相加得到最终的视图特征集合 { |i 1,2…, }。在形式上,
由于关键点置信度得分可以指示特征的哪一部分包含人体信息热图标签可以引导我们将视图特征集分成两部分。视图集特征中热图标签 1的特征形成高置信度关键点视图特征集 {|i 1,2… L}其余组成低置信度关键点视图特征集 { |i 1,2… −L}其中L表示中热图标签为1的特征个数。
推荐博客
如果想了解这篇论文的代码细节推荐大家阅读这篇博客。 PFD_net和TransReID学习——一TransReID backbone学习