迁移性好、多用途,港中文提出特征分离的无监督人类三维姿态表征
来源 | 我爱计算机视觉(ID:aicvml)
本文将介绍一种基于特征分离的通用人类姿态特征的学习算法
Unsupervised Human 3D Pose Representation with Viewpoint and Pose Disentanglement。
该算法从无监督的特征分离过程中,习得了一个迁移性好、多用途的人类3D姿势的表征,从而有助于人工智能系统获取对人体姿态一个通用本质的理解。
实验证明,所习得的表征,能够用于姿态去噪、人体动作识别和人体3D姿态估计等多个不同的任务。这篇文章来自于香港中文大学,被ECCV 2020 收录。本文将言简意赅的分享这篇文章,希望对读者有所启示。
问题解析
在这篇文章中,作者首先对人类姿势表征学习这一问题进行了剖析,认为人体姿态表征应该考虑一下几个方面:
1)人体姿态的本质特征(inherent feature)是什么
作者认为,姿态表征应该首先能够表达人体姿态的本质特征,而该特征应该同时包括人体关节间运动学关系(kinematic dependency)和人体骨骼结构外观特性(geometric dependency)。
人体关节间运动学关系表述了运动在人体各部分间的传播关系,解释了人体姿态是如何生成的,以及决定着在某一动作中身体各个部分的作用。外观特性指人体骨骼结构特有的外观,比如说左右肢体的对称性。
2)本质特征的视角不变性(view-invariant)
数据记录中的人体姿态常常随着观测相机的视角变化而变化。但人体姿态的本质特征是不随视角而改变的。表征作为人体姿态的抽象理解,应该也具备这样的特性。
3)特征分离(feature disentanglement)
人体姿态的形成常常是多个因素互相作用的结果。例如,某一个人体姿态跟动作的执行者、动作本身、以及相机的记录角度是息息相关的。人工特征提取常常基于人类的先验知识,从物理学或统计学的角度去考虑某些因素。
这些考虑常常是不完善的,容易导致信息丢失。信息丢失也同样发生在单纯不变特征的学习过程中。
因而,以人工特征(hand-crafted feature)或者不变特征(view-invariant feature)为表征,常常只能用于特定任务,缺乏泛化性。作者引用图灵奖获得者Bengio的观点,认为特征分离是解决这一问题最有效方式。
现有的人体姿态表征方法因为对以上几点,没有做到一个全面地考量,所以导致泛化性和有效性受限。
学习算法思路
作者借鉴去噪自编码器(denoising autoencoder)的思想,设计了一个恢复破坏人体姿态的任务。但是不同于一般的去噪自编码器对输入添加高斯噪声,文中对人体3D姿态进行了随机严重的破坏。
作者认为,如果网络能够恢复那些被破坏关节的正确位置,那么它就应该学习到了人体3D姿态的本质特征。同时在潜空间中,作者将人体姿态特征分解为视角不变的姿态特征(pose-dependent feature)和随视角变化的视角特征(view-dependent feature)。
这一过程可以由下面式(1)表示。
然而,作者认为上述过程依旧不足以引导网络学习到想要的特征。因为单个去噪自编码器每次只能从一个视角下的姿态学习,它并不知道某一姿态在另一视角下是什么样的。
因而也就没人任何视角的概念,无法做到视角变化下的鲁棒性(robustness)。为了引入视角的概念,作者将原始输入姿态进行随机的3D旋转,并引入另外一条神经网络并行处理这些旋转变换后的人体姿态。
两条神经网络共享网络参数,这是学习的关键。简单来说,通过共享参数,实现了让同一个learner同时从不同视角观测某一姿态,并理解这两个视角下哪些是相同的(pose-dependent feature),哪些是不同的特征(view-dependent feature)。
作者在文中,从生成模型的角度,给出了相应的解释及最终的学习目标,如式(2)。
网络结构
3.1 SeBiReNet
图1 用于对人体骨骼数据建模的SeBiReNet
为了实现对人体3D姿态运动学关系的内在建模,作者提出一个串联双向递归网络(Sequential Bidirectional Recursive Network, SeBiReNet)如图1所示。
该网络由两个部分组成,一个递归子网络(recursive subnet),一个发散子网络(diffuse subnet)。两个子网络中的每个神经节点都对应人体骨骼模型中的一个关节,因而它们具有相同数量的节点。每个子网络中的节点数和骨骼模型中的关节数相当。
图1中,不同的颜色代表了不同的身体部分,比如左右上肢、左右下肢、躯干。信息在这两个网络中的流向是反向的,它们分别模拟了人体运动过程中的逆向运动关系(inverse kinematic process)和前向运动关系(forward kinematic process)。
两个子网络具有各自的参数但是共享隐状态量(hidden states)。也就是说,递归子网络中的推理能够更新发散子网络的推理结果。发散子网络的中隐状态的变化依赖于递归子网络的结果。
这样,推理过程可以在两个子网络中,以一种循环的方式(recurrent mode)进行,从而达到不断优化结果的目的。子网络计算过程由式(3)给出,其中上标r代表递归子网络,d代表发散子网络。
文中进一步还给出了该网络的复杂度分析。如果SeBiReNet每个网络节点的隐状态维度为 ,输入量的维度为
,那么某一有着N个子节点(在递归子网络中)或者父节点(在发散子网络中)的神经元具有的参数量为
。
在后续实验中,作者与其他网络结构的参数量进行了对比,证明所提出的网络结构轻量而有效。
3.2 基于SeBiReNet的表征学习网络架构
图2 人体3D姿态表征学习网络(Siamese-DAE)
基于前面所提到的人体姿态表征学习思路,作者提出了一个孪生去噪自编码器(S-DAE)的网络结构用于表征学习。
其中两个去噪自编码器分别处理原始输入和随机旋转后的姿态输入,并共享学习参数。为了习得预想的特征,该架构的主要组成部分有:
1)姿态重建损失函数(pose reconstruction loss)
为了在编码运动学关系的同时捕捉人体3D结构的几何外观特性,作者认为姿态重建损失函数应当包括三个部分,关节位置损失( ),骨骼长度损失(
)和对称性损失(
)。
其中关节位置损失定义为恢复关节点的位置和ground truth位置的欧氏距离。骨骼长度损失要求恢复后的骨骼长度和ground truth骨骼长度一致。对称性损失要求恢复后的人体姿态,其左右肢体的骨骼长度是一致的。
2)对视角不变的姿态特征的约束
由于姿态特征(pose-dependent feature)只跟具体人体姿态相关,是不随观测视角变化而变化的。因而在两个去噪自编码器中,这一部分的特征应该相同。
3)对视角变化特征的约束
人脑在认知人体姿态时,能够将姿态形状和视角分离。受此启示,作者认为网络潜空间中视角特征应该不影响姿态特征的度量空间,就像旋转并不改变骨骼长度。酉变换能够满足此要求,但在实数域的问题中,只需要将视角特征约束在正交变换空间中。即 。
4)视角迁移姿态重构
受益于特征分离,作者认为,如果姿态特征和视角特征能够很好地分离,那么通过交换两个姿态潜空间中的视角特征,可以将一个姿态变换到另一个姿态的视角下,生成交叉视角的姿态(view-transferred poses)。
综上所述,作者最终提出的网络训练损失函数为:
实验结果
在实验室,作者使用四个数据集:Cambridge-Imperial APE dataset, Northwestern-UCLA dataset, NTU RGB+D dataset 和H3.6M dataset. 其中Cambridge-Imperial APE dataset用于去噪自编码器(S-DAE)的训练和验证。
Northwestern-UCLA dataset和NTU RGB+D dataset用于评估网络在去噪3D人体姿态的表现和所习得的姿态表征在人体动作识别中的表现。最后,文章探索了习得表征在人体3D姿态估计中的应用,并在H3.6M dataset上验证。各部分实验结果如下:
4.1 对SeBiReNet的对比分析
文中首先对SeBiReNet建模人体骨骼姿态的能力进行了比较分析,结果如表1所示。结果表明,所提出的SeBiReNet在处理人体骨骼结构方面由于传统的递归神经网络(recursive neural network)和多层感知器(MLP),这主要得益于SeBiReNet对人体内在运动学关系的建模。
4.2 人体姿态去噪(Pose Denoising)
图3 左图(a)APE dataset中的人体骨骼模型以及随机破坏后的人体姿态(corrupted skeletons)样例;右图(b)经过网络恢复后的人体姿态(recovered skeletons)样例。其中绿线、红线和蓝线分别绘制的ground truth姿态,破坏后的姿态以及恢复的姿态。
图4 未经进一步训练,在Northwestern-UCLA上的骨骼去噪结果。
从骨骼长度,肢体对称以及关节运动范围来看,恢复后的骨骼比原始骨骼更加合理稳定。
4.3 无监督人体动作识别
表2 展示了所习得的姿态表征用于跨视角人体动作识别的结果。可以看到,所提出的姿态表征在无监督动作识别中具有最好的识别结果(state-of-the-art results)。
这一结果即使跟一些有监督方法比较,也非常有竞争力。作者认为这充分说明了所习得表征的有效性。只有习得的姿态特征编码了人体姿态的本质特征以及具备视角不变的特性,才能获取如表所示的结果。
而且跟其他方法相比,文中方法的验证过程更加严格。作者在APE dataset上进行网络训练,然后没有在动作数据集上进行任何进一步的微调,直接提取特征。这也充分表明了文中方法的泛化性能。
进一步通过ablation study表明,如表3所示,学习架构中的所提出的各个部分均能够提升表征在动作识别中的表现,其中特征分离和对姿态特征的约束最为重要。
4.4 在3D人体姿态估计中的推广应用
图5 3D人体姿态估计的推广应用
在文章的最后一部分,作者设计了一个简单网络架构将习得的姿态表征应用到3D的人体姿态估计中。
如图5 所示,该架构包括一个3D编码器(encoder),一个3D解码器(decoder)和一个2D编码器。其中编码器和解码器的网络结构同前文中S-DAE中的编码器和解码器结构相同。
通过约束2D编码器习得一个和3D编码器一样的姿态表征,在通过共享解码器解码,实现了从2D 人体姿态估计3D人体姿态。
在H3.6M dataset上微调后,得到的结果如表4所示。可以看到,所习得的姿态表征也能够被用于人体3D姿态估计。
总结
作者基于特征分离以及对人体3D姿态本质特征的分析, 提出了一个新的人体姿态表征学习方法。所习得的表征在不同的数据集和与人体姿态相关的任务上,具备良好泛化能力和有效性。
该表征有助于人工智能系统获得一个对人体姿态普适本质的理解,从而有助于各种与人体姿态相关的下游任务(down-stream tasks)。
论文地址:
https://arxiv.org/abs/2007.07053
代码地址:
https://github.com/NIEQiang001/unsupervised-human-pose
更多精彩推荐
GitHub 标星 20000+,国产 AI 开源从算法开始突破 | 专访商汤联合创始人林达华
性能超越GPU、FPGA,华人学者提出软件算法架构加速AI实时化
马斯克脑机接口、BrainOS相继发布,不努力也能有出路了
核心代码全开源后,还能做出“卡”别人脖子的产品吗?
跑路后再删库?思科前员工离职后恶意删库,损失达 240 万美元
相关文章:

解決Linux下Android开发真机调试设备不被识别问题
为什么80%的码农都做不了架构师?>>> 在google找了不少关于这个的资料,各种添加和修改系统文件,但是我的defy依旧没有被识别。尼马的! 好吧,是我低估了Android的sdk的adb调试工具,其实简单的两个…

在Server 2003上部署IIS+PHP+MySQL配置清单
在Server 2003上部署IISPHPMySQL I.安装Windows Server 2003 将光盘放入光驱中,设置BIOS,从CDROM引导加载安装程序,等待启动; 设置注册信息,名字和公司组织名; 填写安装密钥; 设置远程连接数目&…
用Python打造一款文件搜索工具,所有功能自己定义
前言在日常的办公中,我们经常会从一堆不同格式的文件(夹)中搜索特定的文件,可能你是凭着记忆去找或是借助软件,但你有想过如何用Python实现吗?本文将基于几个常见的搜索操作讲解。扫描路径内的内容有些时候我们会希望在当前文件夹…

vlan间路由实验
路由与交换技术实验报告 实验7 vlan间路由实验 班级:130462 姓名:张欣国 学号:13046210 一、 实验目的 1. 了解vlan间路由的不同方法; 2. 了解路由备份; 二、 实验步骤与内容 1. 详细阅读操作过程,认真完…

.net中连接SYBASE的种种问题
作者:zwztu http://search.csdn.net/Expert/topic/1612/1612693.xml?temp.2369806首先如果用OLEDB连呢?如果用ASE 的OLEDB 提供者,那这个提供者哪里有下呢? 其次如果用MSDATASHAPE连,可以是可以,…

struts2中使用标签操作静态方法等
2019独角兽企业重金招聘Python工程师标准>>> 有的时候对<%%>特别敏感,不想用jsp的<% %>来调用java类中的静态方法,这时候我们可以用struts2的ognl标签来调用。 下面为struts2的配置文件: <struts><!-- ognl标…
5年5亿美金,华为昇腾如何构建全行业AI生态?
作者 | 阿司匹林出品 | CSDN(ID:CSDNnews)2018 年,在第三届 HUAWEI CONNECT(华为全联接大会)上,华为首次公布了 AI 战略与全栈全场景 AI 解决方案,其中包含全球首个覆盖全场景人工智能的华为昇腾…

avascript中的this与函数讲解
徐某某一个半路出家的野生程序员javascript中的this与函数讲解 前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域。并且,大家可以认为全局作用域其实就是Window函数的函数作用域ÿ…
英特尔第11代酷睿处理器TigerLake发布,集成Xe GPU,采用10nm制程技术
2020 年 9 月 2 日,英特尔发布了下一代移动 PC 处理器,,搭载英特尔锐炬 Xe 显卡的全新第 11 代智能英特尔酷睿处理器(代号“Tiger Lake”)是全球性能领先的轻薄型笔记本处理器,能够为Windows 和 ChromeOS 系…

带闰年判断的正则表达式
作者: xixigongzhu(夕夕公主) http://search.csdn.net/Expert/topic/1974/1974227.xml?temp.6640131首先,你的年的范围是1800-3999润年:1800,1900,2100,2200,2300,2500&#x…

FTP命令解析
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。 FTP的命令行格式为: ftp -v -…

openresty 前端开发入门五之Mysql篇
2019独角兽企业重金招聘Python工程师标准>>> openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-mysql库,代码可以在github上…

深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)
http://www.cnblogs.com/TomXu/archive/2012/01/12/2308594.html 本篇是ECMA-262-3 in detail系列的一个概述(本人后续会翻译整理这些文章到本系列(第11-19章)。每个章节都有一个更详细的内容链接,你可以继续读一下每个章节对应的…

显示打印对话框
Montaque(Rain ManRainman) http://search.csdn.net/Expert/topic/1756/1756799.xml?temp.8004572加一个printdialog到form上,然后调用 printDialog1.ShowDialog() --------------------------------------------------------------- Dim pt As Printi…

百度CTO王海峰服贸会展示AI新基建成果,飞桨获“科技创新服务示范案例”奖
AI正在为各行各业注入新活力,而AI新基建也在为包括服务贸易领域在内的社会经济发展提供新动力。9月4日,万众瞩目的2020中国国际服务贸易交易会正式召开。这是疫情发生以来,我国在线下举办的第一场重大国际经贸活动,吸引了1.8万家境…

创建画布(验证码)
<?php //创建画布$width 500;$height 800;$imageimagecreatetruecolor($width,$height);//var_dump($image); //处理画布 //imagecolorallocate() 分配颜色到画布上,选择一个颜色。//分配颜色$greenimagecolorallocate($image,0,255,0);//填充(油漆…
认知推理下的常识知识库资源、常识测试评估与中文实践项目索引
作者 | 刘焕勇责编 | 李雪敬出品 | CSDN博客Cognitive InferenceCognitive Inference,认知推理、常识知识库、常识推理与常识推理评估的系统项目,以现有国内外已有的常识知识库为研究对象,从常识知识库资源建设和常识推理测试评估两个方面出发…

句号一定要划在句子最美的地方
句号一定要划在句子最美的地方。。。。。。。。。。。。。离职中。。。。转载于:https://blog.51cto.com/luoguoling/944357

调用系统中的默认EMAIL程序
System.Diagnostics.Process.Start("mailto:YourReceiverabcd.com?subjectWhatever&bodyWhatever")

功能点分析:商品类目表
前言作为电商网站,必然要有商品类目表,以便商品分类检索。而设计商品类目表,又是一件特别繁杂的事情。一件商品可能有多个类目来检索出来,比如苹果手机,可以从品牌检索也可以从手机检索。一个类目对应多个商品…

Iframe 用法浅析
解释成“浏览器中的浏览器“很是恰当 <iframe frameborder0 width170 height100 marginheight0 marginwidth0 scrollingno src"move-ad.htm"></iframe> <IFRAME>用于设置文本或图形的浮动图文框或容器。BORDER<IFRAME BORDER"3">…

MySQL之简单示例
Create Table1.创建数据表 CREATE TABLE amount ( id int(11) NOT NULL AUTO_INCREMENT, amount decimal(10,2) DEFAULT NULL, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8DELIMITER $$2.创建触发器示例 (1)CREATE /*[DEFINER { u…
滴滴AI Labs负责人叶杰平离职!CTO 张博接任
叶杰平9 月 7 日,滴滴出行副总裁、滴滴出行研究院副院长、AI Labs 负责人叶杰平发布内部信,表示即将于近期离职。经滴滴公关部负责人证实,确认叶杰平将离职一事属实。有人猜测,这位 AI 技术大牛的离职,似乎与滴滴近期对…

Alipay秘钥问题
有三种秘钥一个是应用公钥 一个是支付宝公钥 ALIPAY_PUBLIC_KEY 还有一个是秘钥 RSA_PRIVATE_KEY 用支付宝工具生成的那两个分别是 应用公钥 和 秘钥 应用公钥需要提交到支付宝 代码里要用到的两个秘钥分别是 支付宝公钥 和 秘钥 弄了半天总算通了...转载于:https://www…

各种媒体在线播放代码
<embed src"http://wmt2.aboutmedia.com.tw/Aboutmedia/warner/mtv/naying-021011_01v_120k.wmv";; autostart"true" loop"true" width"200" height"150" > 把这个网址http://wmt2.aboutmedia.com.tw/Aboutmedia/wa…
网友:Java岗,自学一个月跳槽计算机视觉!附学习资源合集
笔者在脉脉上看到一条帖子:原来Java岗,自学一个月成功跳槽视觉算法岗。这已经不是笔者第一次看到转行成功的程序员案例了,而大家的跳槽动机基本上都离不开,发展趋势、岗位高薪、职业兴趣。计算机视觉行业真相:竞争压力…

Github的Tom大鸟:我是如何拒绝微软30w的诱惑,专注于Github事业
08是闰年,嗯,这年有366天(废话真多),大概就在去年的此时此刻,我自己一个人孤伶伶坐在旧金山的某个叫Zeke的球迷酒吧。通常我不会去球迷吧鬼混的,更不会来SOMA这个鸟地方(SOMA是旧金山…

Oracle数据库文件坏块损坏的恢复方法
故障描述打开oracle数据库报错 “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。经检测数据库文件发现sysaux01.dbf有坏块,sysaux01.dbf文件损坏。数据库没有备份,不能通过备份去恢复数据库。现急需恢复zxfg用户下的数据。故障分…

“画中画”效果--谈IFRAME标签的使用
作者:秋实 文章来源:天极网页陶吧 纵观时下网站,本来网速就有些慢,可是几乎每页都要放什么Banner,栏目图片,版权等一大堆雷同的东西,当然,出于网站风格统一、广告效应的需要&…
Cognitive Inference:认知推理下的常识知识库资源、常识推理测试评估与中文实践项目索引...
作者 | 刘焕勇责编 | 李雪敬出品 | CSDN博客CognitiveInferenceCognitive Inference,认知推理、常识知识库、常识推理与常识推理评估的系统项目,以现有国内外已有的常识知识库为研究对象,从常识知识库资源建设和常识推理测试评估两个方面出发…