论文阅读: AAAI 2022行人重识别方向论文-PFD_Net

本篇博客用于记录一篇行人重识别方向的论文所提出的优化方法《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个固定大小的补丁{|i=1,2,…,N}。步长可以表示为S,每个图像分块(Patch)的大小可以表示为P,补丁的数量N可以描述为:
在这里插入图片描述

其中⌊⌋是向下取整。当S等于图像分块大小P时,分割的图像块是不重叠的。当S小于P时,生成的图像块是重叠的,这可以减轻图像的空间邻域信息的损失。变换编码器只需要序列作为输入,因此在展平的像素块(flatten patch)上执行可训练的线性投影函数f(·),将像素块映射到D维,最终得到patch embeddings E∈,(即=f(),i=1,2。。。,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}, (i=1, …, 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学习

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

numpy数组04-数组的轴和读取数据

一、数组的轴 在numpy中数组的轴可以理解为方向,使用0,1,2...数字表示。 对于一个一维数组,只有一个0轴,对于2维数组(如shape(2,2)),有0轴和1轴…

计算机操作系统(OS)——P3内存管理

1、内存的基础知识 学习目标: 什么是内存?有何作用? 内存可存放数据。程序执行前__需要先放内存中才能被CPU处理__——缓和CPU与硬盘之间的速度矛盾。 【思考】在多道程序程序下,系统会有多个进程并发执行,也就是说…

「GPT」G、P、T分别是啥意思?

G意为Generative :生成式 比如,生成式的分类器(模型)包括---- generative classifiers: naive Bayes classifier and linear discriminant analysis 与之对应的为判别式----- discriminative model: logistic regression P意为…

Java项目:102SSM汽车租赁系统

博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 汽车租赁系统基于SpringSpringMVCMybatis开发,系统使用shiro框架做权限安全控制,超级管理员登录系统后可根据自己的实际需求配角色…

2024年原创深度学习算法项目分享

原创深度学习算法项目分享,包括以下领域: 图像视频、文本分析、知识图谱、推荐系统、问答系统、强化学习、机器学习、多模态、系统界面、爬虫、增量学习等领域… 有需要的话,评论区私聊

Cookie、Session

一、会话管理 1、什么是会话? 会话是客户端和服务端之间进行多次的请求和响应。 相当于两个人聊天,进行了多次的问答。 对多次问答的管理叫做会话管理,管理的东西是通信状态。 2、什么是状态? 举例: 小明去校园食堂…

QT上位机开发(抽奖软件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 用抽奖软件抽奖,是一种很常见的抽奖方式。特别是写这篇文章的时候,正好处于2023年12月31日,也是一年中最后一天…

用html,js和layui写一个简单的点击打怪小游戏

介绍&#xff1a; 一个简单的打怪小游戏&#xff0c;点击开始游戏后&#xff0c;出现攻击按钮&#xff0c;击败怪物后可以选择继续下一关和结束游戏。 继续下一个怪兽的血量会增加5点&#xff0c;攻击按钮会随机变色。 效果图&#xff1a; html代码&#xff1a; <!DOCTYPE…

react + redux 之 美团案例

1.案例展示 2.环境搭建 克隆项目到本地&#xff08;内置了基础静态组件和模版&#xff09; git clone http://git.itcast.cn/heimaqianduan/redux-meituan.git 安装所有依赖 npm i 启动mock服务&#xff08;内置了json-server&#xff09; npm run serve 启动前端服务 npm…

Python入门学习篇(十四)——模块文件操作

1 模块 1.1 理解 包: python中带有__init__.py文件的文件夹 模块: 文件名(不包含.py后缀),如python官方的time.py中time就是模块1.2 示例代码 import datetime# 调用datetime模块中的datetime类的now()方法 t datetime.datetime.now() # 格式化输出日期和时间 strftime(&qu…

【AI】人类视觉感知特性与深度学习模型(1/2)

目录 一、关于人类视觉感知 1.1 视觉关注 1.自上而下&#xff08;Top-down&#xff09;的视觉关注 ​编辑 2.自下而上&#xff08;Bottom-up&#xff09;的视觉关注 3.区别和记忆点 1.2 视觉掩盖 1.常见的视觉掩盖效应 2.恰可识别失真&#xff08;Just Noticeable Dif…

CentOS:docker同一容器间通信

docker同一容器中不同服务以别名访问 1、创建bridge网络 docker network create testnet 2、查看Docker网络 docker network ls 3、运行容器连接到testnet网络 使用方法&#xff1a;docker run -it --name <容器名> —network --network-alias <网络别名> <…

SpringBoot 一个注解实现数据脱敏

什么是数据脱敏 数据脱敏是指对某些敏感信息&#xff0c;例如姓名、身份证号码、手机号、固定电话、银行卡号、邮箱等个人信息&#xff0c;通过脱敏算法进行数据变形&#xff0c;以保护敏感隐私数据。 数据脱敏通常涉及以下几种主要方法&#xff1a; 替换&#xff1a; 将原始…

table表格中使用el-popover 无效问题解决

实例只针对单个的按钮管用在表格里每一列都有el-popover相当于是v-for遍历了 所以我们在触发按钮的时候并不是单个的触发某一个 主要执行 代码 <el-popover placement"left" :ref"popover-${scope.$index}"> 动态绑定了ref 关闭弹窗 执行deltask…

两种方法求解平方根 -- 牛顿法、二分法

Leetcode相关题目&#xff1a; 69. x 的平方根 牛顿法 迭代公式&#xff1a; 以求解 a a a 的平方根为例&#xff0c;可转换为求解方程 f ( x ) f(x) f(x)的根。 f ( x ) x 2 − a f(x)x^2-a f(x)x2−a 迭代公式如下&#xff1a; x n 1 x n − f ( x n ) f ′ ( x n )…

独立站的个性化定制:提升用户体验的关键

随着电子商务的竞争加剧&#xff0c;用户体验成为了企业赢得市场的关键因素之一。独立站作为企业品牌形象和产品展示的重要平台&#xff0c;其个性化定制的程度直接影响着用户体验。本文将探讨独立站的个性化定制如何提升用户体验&#xff0c;并通过代码示例说明实现个性化定制…

第九课:机器学习与人工智能、计算机视觉、自然语言处理 NLP及机器人

第九课&#xff1a;机器学习与人工智能、计算机视觉、自然语言处理 NLP及机器人 第三十四章&#xff1a;机器学习与人工智能1、分类 Classification2、做分类的算法 分类器 Classifier3、用于分类的值是特征 Feature4、特征值种类叫做标记数据 Labeled data5、决策边界 Decisio…

C语言实现关键字匹配算法(复制即用)

文章目录 前言功能要求运行截图全部代码 前言 无套路&#xff0c;均已上机通过&#xff0c;求个关注求个赞&#xff0c;提供答疑解惑服务。 功能要求 一份C源代码存储在一个文本文件中&#xff0c;请统计该文件中关键字出现的频度&#xff0c;并按此频度对关键字进行排序。要…

windows server 2022 启用SYN攻击保护

2023.12.28 SYN攻击是什么&#xff1a; SYN攻击是黑客攻击的常用手段&#xff0c;也是最容易被利用的一种攻击手法&#xff0c;属于DDoS攻击的一种。它利用TCP协议缺陷&#xff0c;通过发送大量的半连接请求&#xff0c;耗费CPU和内存资源。 SYN攻击包括大量TCP连接的第一个包&…

竞赛保研 基于大数据的股票量化分析与股价预测系统

文章目录 0 前言1 课题背景2 实现效果3 设计原理QTChartsarma模型预测K-means聚类算法算法实现关键问题说明 4 部分核心代码5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的股票量化分析与股价预测系统 该项目较为新颖…