2024.4.28 机器学习周报

news/2024/9/23 7:31:09/

引言

Abstract

文献阅读

1、题目

Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

2、引言

我们提出了一种方法来有效地检测图像中的多个人的2D姿态。该方法使用非参数表示,我们称之为部分亲和场(PAF),学习将身体部位与图像中的个体相关联。该架构对全局上下文进行编码,允许贪婪的自下而上的解析步骤,在实现实时性能的同时保持高准确性,而不管图像中的人数。该架构旨在通过同一顺序预测过程的两个分支共同学习零件位置及其关联。并且在性能和效率方面都大大超过了MPII MultiPerson基准测试的最新结果。

3、创新点

  • 提出了一种实时方法来检测图像中多个人的2D姿势。所提出的方法使用非参数表示(称为部分亲和场(PAF))来学习将图像中的身体部位与个体相关联
  • 仅使用PAF进行优化,而不是同时进行PAF和身体部位定位优化,运行时其性能和准确性均会得到大幅提高。

4、总体流程

上图展示了整个流程,输入是w×h的彩色图片 (a),输出是二维的带有每个人的人体关键点位置的图像。首先是一个前馈网络,它同时预测出关于身体部分位置的二维置信图S (b)和一组关于部分亲和度的2D向量场L (c),其中二维向量域的集合 L 编码了部分的关联的程度。集合S具有J个置信度图,S =(S1,S2,...SJ),每个部分一个映射即。集合L=(L1,L2,...LC)有C个向量域,每个四肢对应一个向量域。(这里×2可能是因为向量表示起点和终点,起点在一个w×h中,重点在一个w×h中),LC中的每个图像位置编码一个2D矢量。最后,通过贪婪推理 (d)对置信度图和亲和域进行解析,以输出图像中所有人的2D关键点。

5、网络结构

 

本文的网络结构如上图所示,整个网络是两个分支,多stage的卷积神经网络。其中第一个分支用来预测一个叫做confidence map的东西,可以看作是一个打分的map。而第二个分支用于预测本文提出的PAFs。每一个分支都有着多个stage,每个stage的输入是上一个stage两个branch的输出和最初的图像输入进行融合。

在本文中,使用 S 来表示预测人体某个部分的位置的confidence maps,用 L 来表示part affinities,他是一连串的2D向量场。

其中 J 代表有 J 个 confidence maps, one per part。C代表C vector fields, one per limb。每个在 L_{c} 中的图像位置encode了一个2D向量,如下图所示

再次回看网络结构图,输入的 F 是输入的图像被VGG-19的前10层经过处理和fine-tuned之后的特征图。

对于第一个stage来说,文章定义 S^{1}=\rho^{1}(F)L^{1}=\phi ^{1}(F) 。对于之后的每一个stage,S 和 F 都可以从下面两个式子得到

 其中 \rho , \phi 都是网络中的卷积神经网络。

5.1、损失函数

使用了两个损失函数,分别对应于每个stage的两个branch:

在上式当中 S_{j}^{*} 是 groundtruth part confidence map也被称作heat map,而 L_{c}^{*} 是groundtruth part affinity vector field。 是一个binary mask, 当位置p的annotation缺失的时候 W(p) = 0 ,否则就为 1,所以未标记的人物关节点不会影响模型的学习过程。

最后总的损失如下:

5.2、Confidence Maps

文章指出,当一张图中出现了多个人,应该对于每个人 k 每个可见的part j 都有一个peak在confidence map中。 我们让 x_{j,k} 表示图像中人物 k 的身体部位 j 的真实位置。对于位置 p 可以以下式子计算value:

 S_{j}^{*} 实际上就是使用2D高斯分布建模,求出一张图像中身体 j 部位的热图。在测试的时候,使用非极大值抑制来获取body part candidates。

5.3、Part Affinity Fields(PAFs)


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

相关文章

linux磁盘原理

在linux系统中,对磁盘进行管理与windows系统类似,都要先分区,格式化,创建文件系统,挂载目录,数据写入

百度文心一言:官方开放API开发基础

目录 一、模型介绍 1.1主要预置模型介绍 1.2 计费单价 二、前置条件 2.1 创建应用获取 Access Key 与 Secret Key 2.2 设置Access Key 与 Secret Key 三、基于千帆SDK开发 3.1 Maven引入SDK 3.2 代码实现 3.3 运行代码 一、模型介绍 文心一言(英文名&…

机器学习-线性回归普通最小二乘法运用的经典基本假设有哪些?

在线性回归中,普通最小二乘法(Ordinary Least Squares,OLS)是一种常用的参数估计方法。它基于一些经典的基本假设,包括以下几个方面: 线性关系:OLS假设因变量(被解释变量&#xff0…

CCS项目持续集成

​ 因工作需要,用户提出希望可以做ccs项目的持续集成,及代码提交后能够自动编译并提交到svn。调研过jenkins之后发现重新手写更有性价比,所以肝了几晚终于搞出来了,现在分享出来。 ​ 先交代背景: 1. 代码分两部分&am…

日志分析简单总结

1、分析日志的目的 误报:不是攻击而上报成攻击 漏报:是攻击而没有防御的情况 日志分析可以判断是否误判或者漏判,可以溯源攻击行为 在护网作为防守方必备的技能(分析NGAF和态势感知,发现异常) 2、攻击出现…

Linux内核驱动开发-006内核定时器

1驱动程序 /*************************************************************************> File Name: timer.c> Author: yas> Mail: rage_yashotmail.com> Created Time: 2024年04月23日 星期二 19时20分42秒*************************************************…

MongoDB聚合运算符:$setUnion

MongoDB聚合运算符&#xff1a;$setUnion 文章目录 MongoDB聚合运算符&#xff1a;$setUnion语法使用举例 $setUnion聚合运算符返回两个或多个数组的并集。 语法 { $setUnion: [ <expression1>, <expression2>, ... ] }<expression>为可解析为数组的表达式。…

导出JVM的线程信息

1. 查询出Java应用的进程的PID ps -ef|grep java 此时的PID是 33 2. 使用JDK自带的工具jstack导出日志 jstack -l 33 > 2022jstack.log 3.然后直接下载