人体姿态2019(四)SemGCN——Semantic Graph Convolutional Networks for 3D Human Pose Regression

2023-10-27

在这里插入图片描述
原文:Semantic Graph Convolutional Networks for 3D Human Pose Regression
收录:CVPR2019
代码:Pytorch


Abstract

  • 用于3D回归的图卷积网络(GCN)的问题:目前的GCNs算法存在一些限制,即卷积滤波器感受野小以及每个节点共享变换矩阵。

        为解决上面限制,本文提出 SemGCN,一种新的神经网络结构,用来处理 图结构数据 的回归任务。

        其原理则是:SemGCN学会捕获语义信息,如局部和全局节点关系,这些信息不是明确表示在图中,这些语义关系可以通过GT值进行端到端训练来学习,不需要额外的监督或自定规则,最后进行全面的研究来验证SemGCN,结果表明SemGCN在使用90%的参数的情况下具有更好的性能。

 


1. Introduction

        CNNs目前成功解决图像分类、目标检测以及生成等经典CV问题,其中输入图像是规则的网格状结构(例如size = H×W)。然而现实中的许多任务,例如分子结构、社交网络和3D网格,通常都是不规则的结构,而CNNs在这方面受限。

        为解决这一限制,开始引入 图卷积网络(GCNs),但是,却有以下两个局限性,使得GCNs不能直接应用于回归问题。① 为解决图节点可能具有多个邻域的问题,卷积滤波器对所有节点共享相同的权值矩阵,CNNs则不是这样;② GCNs将滤波器限制在每个节点的一步邻域内运行,那么卷积核的感受野被限制为1,这当网络加深时会严重影响信息交换的效率。

        一波未平一波又起,为解决上面所有限制,本文提出 SemGCN。在给定图中,研究学习语义信息的编码,例如局部和全局节点关系。使用SemGCN来实现2D到3D人体位姿回归。将一个2D人体姿态(或可选的相关图像)作为输入,最后预测3D关节在特定坐标空间中的位置。由于2D和3D姿势都可以用2D或3D坐标自然地表示,那么SemGCN可以显式地利用它们的空间关系。

        最后本文方法的有效性通过严格**消融研究(ablation study)**的综合评估以及与当前先进方法比较来验证。在Human3.6M上测试,只使用2D关节坐标作为输入,并且使用90%的参数。与此同时,还展示了SemGCN的可视化结果,定性地证明方法的有效性。


 
主要贡献:

  • 提出了一种改进的图卷积操作——语义图卷积(SemGConv),它来源于CNNs,其关键思想是学习图中隐含的先验边的信道加权,然后将其与核矩阵(kernel matrices)相结合。显著提高图卷积的能力;
  • 引入SemGCN,其中SemGConv和非局部层交错。该体系结构捕获节点之间的本地和全局关系;
  • 提出端到端的学习框架,表明SemGCN中还可以加入外部信息,如图像内容,进一步提高3D人体位姿回归的性能。

 


2. Related work

  • Graph convolutional networks
     
           将神经网络应用到输入为 类图结构(graph-like structures) 是深度学习一个重要课题。对于有向无环图的数据尝试使用 递归神经网络(RNN) 来解决;之后GNN被引入后,GNN则成为处理任意图数据更常见的解决方案;再之后提出GCN,该网络主要有两种主流方法:① 基于光谱的观点(spectral perspective);② 基于空间的观点(spatial perspective)。本文采用第二种方法,将卷积滤波器直接应用于图节点及其邻居节点上。
  1. 基于光谱的观点(spectral perspective):图卷积中的位置信息被看做是以光谱分析的形式;
  2. 基于空间的观点(spatial perspective):卷积核直接被应用在图节点和邻居节点上。
  • 3D pose estimation
     
           Lee和Chen等人首先从相应的2D投影来推断3D关节。后来的方法要么利用最近邻来精炼推断的位姿,要么提取hand-craft特征来进行后期回归。利用深度神经网络寻找2D到3D关节位置映射的研究越来越多。有些是直接从图像中预测3D位姿,还有一些3D姿态回归方法要么将2D热图与体积表示相结合,要么估计成对距离矩阵或者图像线索。

 


3. Semantic Graph Convolutional Networks

 

3.1. ResGCN: A Baseline

notation meaning
G {V, E}
V K个节点
K 总节点数
E
i i i i i i 个节点
j ∈ N ( i ) j\in N(i) jN(i) i i i 个节点的第 j j j 个邻节点
x i ⃗ ( l ) ∈ R D l \vec{x_{i}}^{(l)}\in R^{D_{l}} xi (l)RDl 节点 i i i l l l 次卷积之前的表示
x i ⃗ ( l + 1 ) ∈ R D l + 1 \vec{x_{i}}^{(l+1)}\in R^{D_{l+1}} xi (l+1)RDl+1 节点 i i i l l l 次卷积之后的表示
X ( l ) ∈ R D l × K X^{(l)}\in R^{D_{l}\times K} X(l)RDl×K 总节点矩阵
W ∈ R D l + 1 × D l W\in R^{D_{l+1}\times D_{l}} WRDl+1×Dl 参数矩阵
A ~ \tilde{A} A~ 邻接矩阵A的对称标准化

在这里插入图片描述
       Wang等人利用残差连接(residual connections)对基于等式(1)的深度图网络 (deep graph network)进行重新修改,来学习图像特征与3D顶点之间的映射,本文将ResGCN作为基准网络(baseline)。

       等式(1)有两大缺点。首先,为了在任意拓扑结构的节点上运用卷积,必须对所有边共享核矩阵W,相邻节点或图中的内部结构的关系没有得到很好的利用。其次,以前的工作只收集每个节点的一阶邻居的特性,这使得感受野被固定为1。


 

3.2. Semantic Graph Convolutions

在这里插入图片描述

  • M:可学的加权矩阵, M ∈ R K × K M\in R^{K\times K} MRK×K
  • ρ i \rho_{i} ρi:Softmax非线性;
  • ⊙ \odot :逻辑同或运算, ⊕ \oplus 则是异或。

       如Fig.1(d)所示,还可以对等式2进一步扩展:
在这里插入图片描述

  • M d ∈ R K × K M_{d}\in R^{K\times K} MdRK×K :第d通道的权值矩阵 (如Fig.1(d):对输出节点的每个通道d采用不同的权值矩阵);
  • w ⃗ d \vec{w} _{d} w d:变换矩阵W的第d行。
  • ∥ \parallel :通道串联

 

3.3. Network Architecture

在这里插入图片描述

  • W x W_{x} Wx:初始化为0;
  • f ( x i , x j ) f(x_{i},x_{j}) f(xi,xj):计算节点 i i i 和周边节点 j j j 的affinity(关系密切程度);

       实际上,对于等式(4)可以通过 非局部层 (non-local layers) 来实现;基于等式(3)和(4),本文提出新的网络结构用于回归任务——SemGCN,网络中的SemGConv和非局部层交错来捕获节点之间的局部和全局语义关系,如图2所示:

在这里插入图片描述
       上图在网络开始时,先使用一个SemGConv将输入映射到潜在空间(latent space);网络最后还有一个附加的SemGConv,用于将编码后的特性投影回输出空间。注意:若将SemGConv替换为vanilla graph convolutions,并且所有非局部层都删除,那么SemGCN变为ResGCN。

 


4. 3D Human Pose Regression

在这里插入图片描述
       在一个预定义的摄像机坐标系统中,目的是学习一个回归函数 F ∗ F^{*} F,使得在内含N个人体姿态的数据集上的损失最小化。

  • P ∈ R K × 2 P\in R^{K\times 2} PRK×2:2D关节点;
  • J ∈ R K × 3 J\in R^{K\times 3} JRK×3:相对应的3D关节点

       本文认为图像内容能够为解决模棱两可的情况提供重要的线索,因此,再将图像内容作为附加约束进一步扩展等式(5),如下式:

在这里插入图片描述

  • I i I_{i} Ii:为包含2D关节 P i P_{i} Pi 对齐后的人体姿态图像。在实际中,已知摄像机参数或者通过2D关节检测器,P可以作为2D GT值。

在这里插入图片描述
       整个框架如图3所示:由两个神经网络组成。先输入一幅图像,利用深度卷积网络进行2D关节预测;同时,它也是一个骨干网,从它的中间层汇集图像特征。由于2D和3D的关节坐标可以编码到人体骨骼中,因此提出的SemGCN根据2D姿态和感知特征来预测3D坐标,注意,当不考虑图像特性时,我们的框架采用等式(5),SemGCN用于有效地编码从2D到3D姿态的映射,并且在合并图像内容时性能可以进一步提高。

 


4.1. Perceptual Feature Pooling

ResNetHourglass 广泛应用在传统的人体位姿检测中,本文采用 ResNet 作为骨干网络( backbone ),因为它的中间层提供图像的层次特征,这在CV中,如目标检测和分割中很有用。给定输入图像中每个2D关节的坐标,在ResNet中汇集来自多个层次的特征,特别是,通过使用RoIAlign将从conv_1层提取的特征连接到conv_4层。然后将感知特性与2D坐标连接起来,并输入到SemGCN中。注意:由于输入图像中的所有关节具有相同的尺度,因此我们将特征集中在一个以每个关节为中心、大小固定的方形边界盒中,边长大小即骨骼的平均骨骼长度。

 


4.2. Loss Function

在这里插入图片描述

  • J = { J ~ i ∣   i = 1 , ⋯   , K } J=\{\tilde{J}_{i}|\ i=1,\cdots ,K\} J={J~i i=1,,K}:预测的3D关节坐标;
  • B = { B ~ i ∣   i = 1 , ⋯   , M } B=\{\tilde{B}_{i}|\ i=1,\cdots ,M\} B={B~i i=1,,M}:从 J J J中计算得到的bones;
  • J i J_{i} Ji B i B_{i} Bi:相应的GT值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

人体姿态2019(四)SemGCN——Semantic Graph Convolutional Networks for 3D Human Pose Regression 的相关文章

  • 图像紫边消除(depurple)

    图像紫边广泛存在于目前的手机摄像头 数码相机 监控摄像头等数字成像系统所得图像中 当我们使用这些设备在逆光 大光圈等条件下拍摄时 所得图像的局部区域 特别是高反差区域 亮暗对比反差很大的图像区域 比如天空 灯管与物体相接的边缘 会比较容易观
  • AOI的实际应用

    使用AOI检测LED固晶焊线的支架产品 产品结构 使用远心光学镜头 高分辨率 高景深 低畸变以及独有的平行光设计等 被测元件清晰成像 且无斜视 保证不良检出 1 缺陷检测原理 通过模板匹配法 这是一种基本的识别方法 研究某一特定对象物的图案
  • OPENCV手势识别抓取图片

    PENCV手势识别抓取图片 一位油管的小哥做的项目非常棒 照着写了一个 代码 注意 看好cvzone的版本 太新的版本中有个函数没有 如果找不到这个函数的时候请更换一下库的版本 import cv2 from cvzone HandTrac
  • Python必备基本技能——命令行参数args详解

    Python必备基本技能 命令行参数args详解 1 效果图 2 源码 2 1 简单命令行参数 2 1 轮廓检测源代码 参考 这篇博客将介绍一项开发人员 工程师和计算机科学家必备的技能 命令行参数 原理及使用 依赖 pip install
  • matlab 读取某一文件夹下的文件

    MATLAB 是一个十分强大的科学计算软件 用于各种数据分析和科学计算 在实际工作和研究过程中 我们通常将数据存储在文件中 文件存在于系统的某个目录中 如果需要读取这些文件 可以使用 MATLAB 提供的文件和文件夹操作函数 本文将介绍如何
  • R-CNN史上最全讲解

    文章目录 一 初识R CNN 网络结构 二 训练步骤 1 RP的确定 2 模型pre training 3 Fine Tunning 4 提取并保存RP的特征向量 5 SVM的训练 6 bbox regression的训练 三 测试步骤 s
  • 数字图像处理(入门篇)六 图像数据预处理之坐标变化

    目录 1 平移 2 镜像 3 旋转 4 缩放 图像的坐标变换又称为图像的几何计算 常见的基本变换包括 平移 旋转 镜像和缩放等等 1 平移 1 代码 使用OpenCV仿射变换函数 cv2 warpAffine 实现平移操作 import n
  • Conditional Prompt Learning for Vision-Language Models

    本文是对CoOp方法提出的改进 CoOp由论文Learning to Prompt for Vision Language Models提出 CoOp针对CLIP模型做了改进 将人工设计的提示修改为了可学习的参数 具体来说就是 CoOp不再
  • (图像变换)Python-opencv,(批处理笛卡尔坐标系,也就是平时咱们看到的正常图片)二维彩色图像转化为极坐标系下的图像

    这个其实代码量不大 但对于我这个啥也编不出来的废柴来说我觉得真的好不容易 历经两天的痛苦折磨 终于完成了 下面进入正题 昨天我找了一天代码 然后挑挑拣拣也就找到一篇还是c 的图像极坐标化处理 代码如下 include
  • 保姆级使用PyTorch训练与评估自己的ConvNeXt网络教程

    文章目录 前言 0 环境搭建 快速开始 1 数据集制作 1 1 标签文件制作 1 2 数据集划分 1 3 数据集信息文件制作 2 修改参数文件 3 训练 4 评估 5 其他教程 前言 项目地址 https github com Fafa D
  • SIFT和SURF的替换算法——ORB (Oriented FAST and Rotated BRIEF 快速定向和旋转)

    SIFT和SURF的替代算法 ORB Oriented FAST and Rotated BRIEF 快速定向和旋转 1 效果图 2 源码 参考 1 用于关键点检测和描述的SIFT Scale Invariant Feature Trans
  • 基于Matlab实现图像融合技术(附上多个仿真源码+数据)

    图像融合技术是一种将多幅图像融合为一幅图像的方法 使得这幅融合图像包含原始图像的所有信息 近年来 图像融合技术已经广泛应用于图像分割 变换和裁剪等领域 本文将介绍如何使用Matlab实现图像融合技术 实现步骤 首先 我们需要了解图像融合的基
  • 九宫格人车识别

    一 原理 通过霍夫检测圆的个数来识别小人位置 二 过程 1 二值图像 2 去掉宫格内容 便于分割 3 对二值图填补 减少纹理 4 分割九宫格 依次检测每个宫格中圆个数 5 最终显示小人所在宫格图片 在img6 jpg中 详细程序运行结果 三
  • Edraw Max教程】如何有趣的创建梦幻般的思维导图

    Edraw Max 亿图图示 是一款综合图形图表制作软件 它包含丰富的实例和模版 帮助您轻松创建流程图 网络拓扑图 组织结构图 商业图表 工程图 思维导图 软件设计图和平面布局图等 亿图采用更智能和人性化的绘制方式 最大程度帮助设计者降低工
  • 2021全国电设(F题)openmv的图像识别之数字识别

    基于openmv的图像识别 通过参加全国电子设计大赛F题总结出openmv4的数字识别 其它版本暂时没试过 欢迎交流 openmv简介 OpenMV是一个开源 低成本 功能强大的机器视觉模块 以STM32F427CPU为核心 集成了OV77
  • cv2.minAreaRect()

    功能 求出在点集下的最小面积矩形 输入 格式 points array shape n 1 2 解释 其中points是点集 数据类型为ndarray array x1 y1 x2 y2 xn yn 输出 格式 rect tuple x y
  • 图像特征提取技术

    目 录 前 言 基于颜色的特征提取 1 颜色空间 2 直方图以及特征提取 基于纹理的特征提取 1 灰度共生矩阵 2 tamura纹理 基于深度神经网络的图像处理 前 言 图像特征提取属于图像分析的范畴 是数字图像处理的高级阶段 本文将从理论
  • Python图像处理:批量添加水印的优雅实现与进阶技巧

    1 简介 在日常图像处理中 为图片添加水印是一项常见任务 有多种方法和工具可供选择 而今天我们将专注于使用Python语言结合PIL库批量添加水印 需要注意的是 所选用的图片格式不应为JPG或JPEG 因为这两种格式的图片不支持透明度设置
  • 北京机器视觉技术的商业化应用与市场趋势分析

    随着科技的快速发展 机器视觉技术已经逐渐成为工业自动化 智能制造等领域的重要技术之一 北京作为中国的科技创新中心 其机器视觉技术的发展和应用也备受关注 本文将分析北京机器视觉技术的商业化应用以及市场趋势 一 商业化应用 工业自动化 机器视觉
  • 友思特分享 | CamSim相机模拟器:极大加速图像处理开发与验证过程

    来源 友思特 机器视觉与光电 友思特分享 CamSim相机模拟器 极大加速图像处理开发与验证过程 原文链接 https mp weixin qq com s IED7Y6R8WE4HmnTiRY8lvg 欢迎关注虹科 为您提供最新资讯 随着

随机推荐

  • ubuntu 18.04 中 eBPF samples/bpf 编译

    1 history 信息 一次成功编译 bpf 后执行 history 得到的信息 yingzhi yingzhi Host ex ex kernel linux 5 4 history 1 ls 2 mkdir ex 3 cd ex 4
  • "wordcloud2"

    OUTLINE 相关的可以生成词云的途径 wordcloud2 相关的可以生成词云的途径 wordle 介绍 从文本生成词云图 网址 http www wordle net 优点 及时调用 缺点 电脑需已安装Java 对中文不友好 成图 w
  • Proxy(代理) ARP作用及原理

    概述 代理ARP是ARP协议的一个变种 对于没有配置缺省网关的计算机要和其他网络中的计算机实现通信 网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答 代理ARP就是将一个主机作为对另一个主
  • 解决uniapp的checkBox取消选中

  • 递归函数详解

    文章目录 1 什么是递归函数 2 递归求阶乘 3 递归的进入 4 递归的退出 5 递归的条件 1 什么是递归函数 一个函数在它的函数体内调用它自身称为递归调用 这种函数称为递归函数 执行递归函数将反复调用其自身 每调用一次就进入新的一层 当
  • IPv6详解

    定义 128bit冒号分16进制 详解 2001 5 23位 24 32位 33 48位 49 64位 固定开头 regisrty isp prefix site prefix subnet prefix 地址类型 设备没有获取ipv6地址
  • 计算机编码发展历史和编码方式

    编码是信息从一种形式或格式转换为另一种形式的过程 也称为计算机编程语言的代码简称编码 用预先规定的方法将文字 数字或其它对象编成数码 或将信息 数据转换成规定的电脉冲信号 编码在电子计算机 电视 遥控和通讯等方面广泛使用 解码 是编码的逆过
  • 【Seq2Seq】卷积序列到序列学习

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • c#之sealed关键字

    using System using System Collections Generic using System Linq using System Text using System Threading Tasks namespace
  • 仙境传说RO:NPC对话

    仙境传说RO NPC对话 mes next close函数用法详解 大家好 我是艾西 今天跟大家讲解下仙境传说mes next close函数 在游戏中所有的NPC对话都是用mes函数来创建的 我们先打开官方文档的script comman
  • win10系统打开文件安装软件总是弹出安全警告解决办法

    描述 win10系统打开文件安装软件总是弹出安全警告解决办法 步骤 win键 R 输入gpedit msc 点击用户配置 gt 管理模板 gt windows组件 gt 附件管理器文件夹 找到右侧的窗口中找到中等风险文件类型的包含列表设置
  • DemuxException: type = CodecUnsupported, info = Flv: Unsupported codec in video frame: 2

    使用ffmpeg推流到nginx服务器 带http flv module插件 ffmpeg re i rtsp admin qwer1234QWER 10 0 10 3 554 h264 ch1 sub av stream f flv rt
  • 2021-01-05

    c语言 郝斌 p141 malloc函数介绍 include
  • Swagger类的配置

    1 引入相关依赖
  • 华为OD机试 - TLV解析 Ⅱ(Java)

    题目描述 两端通过TLV格式的报文来通信 现在收到对端的一个TLV格式的消息包 要求生成匹配后的 tag length valueOffset 列表 具体要求如下 1 消息包中多组tag length value紧密排列 其中tag len
  • python基础:Python判断文件是否存在的三种方法(os.path.exsist, os.path.isfile, try-catch)

    博客原文 http www spiderpy cn blog detail 28 目录 前言 一 使用os模块 二 使用try catch 前言 通常在读写文件之前 需要判断文件或目录是否存在 不然某些处理方法可能会使程序出错 所以最好在做
  • robot framework实现web和app自动化

    前言 本文 仅适用于完全没接触过rf的小白 也是作为自己学习的一个记录 一 工欲善其事必先利其器 第一步 环境安装 1 需要python环境 去官网下载python解释器 配置环境变量 2 安装robotframework pip inst
  • Python如何实现自动发送直播弹幕,让美女主播一眼看到你

    前言 嘀嘀嘀 你喜欢的女主播开始直播了 咱就是说 时隔两个月 我又回来了 这次不是忘记密码 而是直接忘记这个账号了哈哈 报一丝啊报一丝 不过这次我真的就是会常更新的 因为看到后台还是有小伙伴私信我的 结果才看到信息 每次看直播 不知道大家有
  • C语言--数组&指针笔试题解析(指针:你看我几分像从前)

    尊贵的各位大厂码农你们好 是的 没错 我又来找你们来帮我指正文章了 今天的主题是数组和指针的笔试题专栏 大家给掌掌眼 有问题的话还请帮忙斧正哦 目录 前言 一 数组笔试题 一 一维数组 二 字符数组 2 1 直接赋值型的字符数组 2 2 字
  • 人体姿态2019(四)SemGCN——Semantic Graph Convolutional Networks for 3D Human Pose Regression

    Semantic Graph Convolutional Networks for 3D Human Pose Regression 论文解读 Abstract 1 Introduction 2 Related work 3 Semanti