当前位置: 首页 > 编程日记 > 正文

刷新记录,算法开源!字节跳动获人体姿态估计竞赛双冠 | CVPR 2019

640?wx_fmt=jpeg


整理 | Jane

出品 | AI科技大本营(id:rgznai100)

 

【导读】6 月 16--20 日,计算机视觉与模式识别领域顶会 CVPR 2019 在美国长滩举行。每年的 CVPR 盛会除了精彩的论文分享、Workshop 与 Tutorial,还会举办多场涵盖计算机视觉各子领域的专项比赛,竞争亦是非常激烈。在此次人体姿态估计和人体分割比赛中,字节跳动的两个团队榜上有名,收获两个冠军、一个亚军。


关于 LIP 竞赛

 

“Look Into Person”(以下简称 LIP )国际竞赛拥有大规模的人体姿态图像数据库、公平严格的评审标准以及国际性的竞赛影响力。本届 LIP 国际竞赛吸引了超过 75 支队伍参加,包括加州伯克利大学、NHN、悉尼科技大学、东南大学、上海交通大学、中国电子科技大学、香港中文大学等全球高校以及三星、字节跳动、百度、京东等科技企业的人工智能研究院机构;包括五个竞赛任务,分别是:


  • 单人人体解析分割( the single-person human parsing)

  • 单人人体姿态估计( the single-person pose estimation)

  • 多人人体解析(the multi-person human parsing)

  • 基于视频的多人人体解析(multi-person video parsing, multi-person pose estimation benchmark)

  • 基于图像的服装试穿(clothes virtual try-on benchmark)

 

今年的 LIP 国际竞赛上,字节跳动人工智能实验室拿下了两个国际冠军和一个国际亚军。由字节跳动和东南大学组成的团队、以及肖斌带领的字节跳动团队并列单人人体姿态估计比赛的国际冠军;同时,字节跳动和东南大学组成的团队同时还获得了单人人体分割赛道的国际亚军。

 

640?wx_fmt=png

 

在单人人体姿态估计比赛中,两个队伍都刷新了去年的最好成绩。其中,由字节跳动和东南大学组成的团队提出了基于增强通道和空间信息的人体姿态估计网络,参考 CVPR 2019 论文《Multi-Person Pose Estimation with Enhanced Channel-wise and Spatial Information》。

传送门:

https://arxiv.org/abs/1905.03466


肖斌团队则提出利用高分辨率网络(HRNet)来解决人体姿态估计问题,参考 CVPR 2019 论文《Deep High-Resolution Representation Learning for Human Pose Estimation》。目前该论文的算法已经在 Gituhub 上开源,放地址:

传送门:

https://github.com/leoxiaobin/deep-high-resolution-net.pytorch


 下面为大家详细介绍两支冠军团队的工作。


技术解读(一)

 

640?wx_fmt=png

 

字节跳动和东南大学组成的团队提出了基于增强通道和空间信息的人体姿态估计网络,论文《Multi-Person Pose Estimation with Enhanced Channel-wise and Spatial Information》的一作苏凯是来自东南大学模式识别与挖掘实验室(PALM)硕士生三年级,师从东南大学耿新教授。目前在字节跳动人工智能实验室实习,导师是喻冬东博士(共同一作)和王长虎博士。

 

  • 介绍

 

人体姿态估计旨在定位出图片中人的关键身体部位,例如手臂、躯干以及面部的关键点等等。对于行为识别、人体再识别等诸多计算机任务来说,人体姿态估计是一项基础且极具挑战的课题。由于人与人之间的密切交互、遮挡以及不同尺度人体等因素影响,获取准确的定位结果仍然具有困难。

 

  • 创新点

 

首先,在卷积神经网络中,高层特征往往具有更大的感受视野,所以它们对于复杂场景下的遮挡点、不可见点的推断更有帮助。另一方面,卷积神经网络的低层特征往往具有更大的分辨率,所以它们对于关键点的精细调整更加有效。然而,在现实场景中,高低层特征之间权衡往往复杂多变。因此,论文提出通道交流模块来促进不同分辨率层特征之间的跨通道信息交流。通道交流模块的目的是通过网络自学习来校准高低层特征之间的相互补充和强化。

 

640?wx_fmt=png

 

其次,特征融合的过程是动态多变的,融合后的特征往往也存在许多冗余。网络中那些对姿态估计任务更加有效的特征信息应该被自适应地突显出来。因此,论文提出基于空间和通道注意力机制的残差模块,自适应地从空间和通道两个维度增强刚刚融合后的金字塔特征信息。

 

640?wx_fmt=png

 

  • 实验

 

论文采用人体关键点检测的最权威数据集之一 MS COCO(多人人体姿态数据集)。论文的 baseline 采用 Cascaded Pyramid Network(CVPR 2018)。论文首先在 MS COCO 进行消融实验,以验证各个模块的重要性。

 

640?wx_fmt=png

 

表3 可以看出,在只使用通道交流模块,组数设置为 4(CSM-4)的情况下,在 COCO minival 数据集的结果可以由 69.4 提升到 71.7。在只使用空间通道注意力残差模块的情况下,结果可以由 69.4 提升到 70.8。同时使用两种模块,结果进一步提升到 72.1。

 

640?wx_fmt=png

 

其次,论文在 COCO minival(表4)和 test-dev(表5)数据集对比了性能最先进的一些网络和结果,均取得了优异的超越。

 

640?wx_fmt=png

 

640?wx_fmt=png

 

技术解读(二)


另一个冠军队伍——肖斌带领的字节跳动团队则提出了利用高分辨率网络(HRNet)来解决人体姿态估计问题,以下是技术解读。

 

通用的单人体姿态识别的框架通常为:给定单人图片作为输入,通过 CNN(Convolutional Neural Network)得到高分辨率的人体关键带的热点图片,最后通过在热点图片中寻找最大极值点,得到人体关键点坐标。


640?wx_fmt=png

 

在介绍 LIP 比赛使用的 HRNet(High Resolution Network)之前,我们先回顾一下人体姿态识别常用的网路结构。

 

  • 回顾常用的人体姿态识别网络

 

首先,先介绍一下人体姿态识别的经典网络 Stack-Houglass[1],Stack-Hourglass 由普林斯顿大学教授 Jia Deng 团队首先提出,Stack-Hourglass 网路由多个 stage 组成,每个 stage,遵循从低语义高分辨率特征图到高语义低分辨率特征图,然后由高语义低分辨率的特征图通过上采样恢复出高分辨率的特征图的串行结构,同时低语义的高分辨率的特征通过跳连结和深层的恢复的高分辨率融合。


640?wx_fmt=png

 

在 2018 年,COCO 人体关键点比赛中,旷视团队提出了 CPN 网络(Cascaded Pyramid Network)[2],获得 COCO 人体姿态识别的冠军。CPN 网络使用 ResNet 作为骨干网路,采用了类似特征金字塔的结构来生成高分辨的人体姿态关键点热点图。CPN 主干网路也是遵循从高分辨率特征到低分辨率特征的串行结构,最后通过跳连结构以及上采样操作,得到最终的高分辨率的热点特征图。


640?wx_fmt=png

 

2018 ECCV 会议上,在人体姿态关键点检测任务中,微软亚洲研究院提出了一种通过三层级联的反卷积方法——Simple Baseline[3],来解码 ResNet 主干网路的低分辨率特征。这个方法很简单,但在人体关键点识别任务中取得了非常不错的成绩。Simple Baseline 的方法也遵循了从高分率到低分辨率学习,然后从低分辨率特征恢复高分辨特征的原则。


640?wx_fmt=png

 

到这里总结一下,我们可以看出在人体关键点识别任务中,人体姿态识别的网路有以下几大特征:

 

(1)网络设计的结构都遵循从高分辨率到低分辨率的串行连接结构;

(2)高分辨率的人体姿态高分辨率热点图,都需要从低分辩的特征图恢复得到;

(3)通常,恢复的高分辨率特征图需要融合浅层的高分辨特征图。


640?wx_fmt=png

 

  • 为什么选择 HRNet?

 

我们认为在人体关键点检测任务中,是需要一个更强的高分辨表达的特征图,从技术路线上不应该只局限在从低分辨率特征来恢复或解码高分辨率特征这一种路线上,而应该直接通过网路来学习高分辨率的特征表达。

 

因此,我们选择了一种高分辨率表达的网路(High-Resolution Network,HRNet)[4]来做人体关键点检测任务。HRNet 在网路整个过程中维持或学习高分辨率的特征,渐进的增加低分辨率的的分支,并且通过特征交换模块,多次进行高分辨率和低分辨率的特征交换,从而学到足够丰富的高分辨率特征。


640?wx_fmt=png

 

  • HRNet 的与众不同之处

 

通过对比我们可以看到 HRNet 和之前的网络具有很大的不同:

 

首先,HRNet 的高分辨率特征和低分辨率特征是并行连接。其次,HRNet 始终会学习一个高分辨率的特征表达。最后,HRNet 是通过多次的高分辨率特征和低分辨率特征的交换,来进一步增强高分辨率特征的学习。通过这种方式,HRNet 可以学到更强的高分辨率的特征表达。


640?wx_fmt=png

640?wx_fmt=png

 

HRNet 不仅在 LIP 人体姿态识别任务中取得了冠军的结果。在其他人体姿态识别的数据集上如 COCO 关键点检测任务,PoseTrack 人体姿态识别以及跟踪任务,MPII 人体字体识别任务中都得到了 State-of-the-art 的结果。

 

【附】References:

[1] Newell, A., Yang, K., Deng, J.: Stacked hourglass networks for human pose estimation. ECCV 2016.

[2] Chen, Y., Wang, Z., Peng, Y., Zhang, Z., Yu, G., Sun, J.: Cascaded pyramid network for multi-person pose estimation. CVPR 2018.

[3] Xiao, B., Wu, H., Wei, Y.: Simple Baselines for Human Pose Estimation and Tracking. ECCV 2018.

[4] Ke Sun, Bin Xiao, Dong Liu, Jingdong Wang: Deep High-Resolution Representation Learning for Human Pose Estimation. CVPR 2019.

 

*本文为 AI科技大本营整理文章,转载请联系 1092722531)


精彩推荐


比写代码更重要的是抓住下一个技术风口,6月技术福利,BTA大牛带你一起探索未来的技术方向。机器学习、数据分析、自然语言处理、知识图谱等热门领域的大牛们都在关注什么?企业落地实践经验有哪些?扫码参与活动,限时免费获取。


640?wx_fmt=png

推荐阅读:

  • 30秒让图片变裸照,使用无门槛,这个软件比Deepfake杀伤力更大

  • 吴恩达Drive.ai因经营困难“卖身”苹果

  • 上海交大张拳石:神经网络的可解释性,从经验主义到数学建模

  • 我发现一个新的软件,用自然语言编程!非常酷!

  • 香港的房价真的那么贵吗?用数据挖掘真相!

  • 我花了 10 年,从工厂妹逆袭为纽约高薪程序员

  • 面试官问你MyBatis中有哪些设计模式,把这篇文章发给他

  • 中本聪的一失之虑让比特币趋于中心化, 那这些问题的严重性, 你了解吗?

  • 想换行做 5G 的开发者到底该咋办?

  • 如何向妹子解释:为啥 5G 来了需要换 SIM卡!


640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

相关文章:

java 赋值,算术,一元操作符(翻译自Java Tutorials)

原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/15/2819621.html 英文出自 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html 简单赋值操作符 见到的最常用的操作符之一就是简单赋值操作符"".它把值从操作符的右边赋予到左边&#x…

初识Kubernetes(K8s):理论基础

Kubernetes是什么?Kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。Kubernetes是Google开源的一个容器编排引擎,同时也是一个开源的容器集群管理系统,可以实现容器应用的自动化部署、自动扩缩容、监控和维…

Sobel算子及cvSobel

转自:http://blog.sina.com.cn/s/blog_4bdbec750100mufo.html 由于项目里要用到边缘检测,所以今天研究了一下最简单的梯度的方法。 首先,我们来开一下计算机是如何检测边缘的。以灰度图像为例,它的理论基础是这样的,如…

python全栈开发笔记---------函数

一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因…

OpenCV中的内存泄露问题(cvLoadImage,cvCloneImage)

转自:http://apps.hi.baidu.com/share/detail/30893646 在做项目的过程中,使用OpenCV经常会出现一些内存泄露问题,自己编写的程序出现问题还情有可原,但若是库函数调用和使用时出现,却很令我恼火。花了好长时间和实践的…

41款实用工具,数据获取、清洗、建模、可视化都有了

诸如结构式访谈、非结构式访谈、开放式问卷调查、封闭式问卷调查、记录评论和观察等技术统称为事实调查方法。这种事实调查方法和其他数据获取方法可以采取自动化,而不必使用人工方法。使用具有专用软件的物理设备(如终端、传感器和扫描仪等)…

OpenCV中的内存泄漏检测

转自:http://chaishushan.blog.163.com/blog/static/130192897200911685559809/ 内存泄漏时程序开发中经常遇到的问题. 而且出现内存泄漏很难检测,但是其导致的结果却是灾难性的. 这里讲一下opencv中内存泄漏检测的一些技巧.OpenCV中关于内存管理主要涉及到以下3个函…

一文全面了解基于内容的推荐算法

作者丨gongyouliu来源 | 转载自大数据与人工智能(ID:ai-big-data)这篇文章我们主要关注的是基于内容的推荐算法,它也是非常通用的一类推荐算法,在工业界有大量的应用案例。本文会从什么是基于内容的推荐算法、算法基本原理、应用场…

[Nginx优化]分享nginx配置文件及优化说明

1、系统及内核方面 根据服务器用途,建议系统最小化安装或针对web服务器进行系统内核重新编译;在内核参数的一些优化,如下: # Add net.ipv4.tcp_max_syn_backlog 65536 #表示SYN队列的长度 net.core.netdev_max_backlog 3…

laravel项目composer安装

1.下载 Composer (https://pkg.phpcomposer.com/#how-to-install-composer) 安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 php -v 查看是否正确输出版本号。 打开命令行并依次执行下列命令安装最新版本的 Composer: 复制php -r…

淘宝装修:第一日 —— 图片轮播

先添加一个自定义内容区&#xff0c;进入源码编辑&#xff0c;如下图所示&#xff1a; 添加源码如下&#xff1a; <TABLE border0 cellSpacing0 cellPadding0 width773 height220> <TBODY> <TR> <TD width773> <P> <MARQUEE height220 behavi…

强化学习大规模应用还远吗?Youtube推荐已强势上线

来源 | 转载自深度传送门导读&#xff1a;本文将介绍在深度学习的强力驱动下&#xff0c;给推荐系统工业界所带来的最前沿的变化。本文主要根据几大顶会2019的最新论文&#xff0c;总结一下深度强化学习给推荐系统以及CTR预估工业界带来的最新进展。 凡是Google出品&#xff0c…

layui select 与 vue 的结合使用

2019独角兽企业重金招聘Python工程师标准>>> 1. 创建一个select元素 <form class"layui-form layui-form-pane all-account-filter-form"><div class"layui-form-item"><div class"layui-inline"><label class&…

OpenCV 2.2.0 CvvImage的使用

转自&#xff1a;http://blog.csdn.net/raocong2010/archive/2011/01/17/6146158.aspx# 前几日&#xff0c;OpenCV 2.2.0版本出现了...但是...以前版本的CvvImage类不见了...为了能够继续使用这个类&#xff0c;下面把这个类的源代码贴出来&#xff0c;使用的时候将该代码加入到…

c/c++标准预定义宏

转自&#xff1a;http://www.eefocus.com/andysun001/blog/10-06/192018_008b3.html 一、标准预定义宏The standard predefined macros are specified by the relevant language standards, so they are available with all compilers that implement those standards. Older c…

阿里AI攻克心血管识别技术,冠脉中心线提取论文入选国际医学影像会议

阿里在医疗AI领域取得新进展&#xff0c;继创下肺结节检测、肝结节诊断技术的重大突破后&#xff0c;又攻克了难度系数更高的心血管识别技术。 近日&#xff0c;阿里达摩院机器智能实验室有关冠状动脉中心线提取的论文已被国际顶级医学影像会议MICCAI 2019提前接收。 阿里AI论…

自由程序员在国外

可靠的做法是&#xff0c;在一些像oDesk这样的网站上找一些临时开发任务&#xff0c;在Linked In网站上提交一份个人简历。这样将有助于你在出行后尽早的找到可干的项目&#xff0c;而不必到时大减价来抢其他程序员的活儿(或消减自己的预算)。 从来不缺乏你可以捐赠代码的开源项…

关于spring aop Advisor排序问题

关于spring aop Advisor排序问题 当我们使用多个Advisor的时候有时候需要排序&#xff0c;这时候可以用注解org.springframework.core.annotation.Order或者实现org.springframework.core.Ordered接口。 示例代码&#xff1a; import org.aspectj.lang.ProceedingJoinPoint; im…

NLP重大突破?一文读懂XLNet“屠榜”背后的原理

作者 | 李理 原文链接&#xff1a;https://fancyerii.github.io/2019/06/30/xlnet-theory/ 本文介绍XLNet的基本原理&#xff0c;读者阅读前需要了解BERT等相关模型&#xff0c;不熟悉的读者建议学习BERT课程。 语言模型和BERT各自的优缺点 在论文里作者使用了一些术语&#…

CSS3支持IE6, 7, and 8的边框属性

我们都知道&#xff0c;IE 6,7不支持新增加的CSS3属性&#xff0c;甚至与IE8是CSS3还没有完全准备好。你知道吗&#xff0c;今天给大家分享一个脚本工具&#xff0c;可以帮助您启用CSS3的支持IE浏览器&#xff08;IE6&#xff09;与新的CSS3属性&#xff0c;包括&#xff1a;bo…

解决:VS 2005/2008 中 fstream 不能处理带有中文路径的问题

转自&#xff1a;http://blog.csdn.net/code_robot/archive/2010/06/23/5688867.aspx 有时候用ifstream或ofstream打开带有中文路径的文件会失败。 解决办法&#xff1a;1、使用C语言的函数设置为中文运行环境setlocale(LC_ALL,"Chinese-simplified"); 2、使用STL函…

NLP文本标注工具与平台(数据标注公司)

最近在做NLP相关项目&#xff0c;包括句法分析、情感分析等&#xff0c;有大量数据需要标注。我评估了几个文本标注工具&#xff0c;也接触了几家数据标注公司和平台&#xff0c;总结如下&#xff0c;供各位参考。 文本标注平台&#xff08;标注外包公司&#xff09; 数据标注公…

一文读懂基于神经网络的图片风格转移

作者 | moliam转载自 CSDN 博客前言将A图片的风格转移到B图片上&#xff0c;指的是将A图片的抽象艺术风格&#xff08;如线条、色彩等等&#xff09;和B图片的内容框架合成为一幅图。自然地&#xff0c;A图片称为风格图&#xff0c;而B图片就称为内容图。就像这样&#xff1a;左…

【物联网中间件平台-01】真正面向物联网的组态软件 YFIOs和YFHMI的前生今世

1前言 从2001年进入工控领域以来&#xff0c;前后7年多的时间开发了诸如二型计量监控系统、焦炉四大机车自动化系统、烧结配水监控系统、隧道广告影像系统、通用组态软件、嵌入式系统组态软件&#xff08;基于WINCE系统&#xff09;、LED视频影像系统和ICU病室输液管理等系统。…

OpenCV常遇问题解决方法汇总

1、cvLoad的使用和释放&#xff1a; CvMat *mat (CvMat*)cvLoad("a.xml"); cvRelease((void**)&mat); 2、cvCreateMatHeader的使用和释放&#xff1a; CvMat *mat cvCreateMatHeader(4, 2, CV_64FC1); cvReleaseMatHeader(&mat); 在OpenCV2.1及OpenCV2.2中…

分享我如何在7年时间里成长为阿里Java架构师(附学习路线图)

2019独角兽企业重金招聘Python工程师标准>>> 如何更高效的学习&#xff1f; 1.架构师应不应该写代码 总的来说&#xff0c;架构师和程序员在某些方面上有点像产品经理和用户的关系&#xff0c;大部分程序员并不会主动告诉你他们想要什么、哪里需要优化&#xff0c;甚…

github 与git 使用 及配置

git 是网上很流行的版本控制工具 ,尝试 熟悉并使用 它&#xff08;也有windows版本&#xff0c;这里介绍mac的&#xff09; 额&#xff0c;再操作前 先看看这个 并跟着做做 http://www.uml.org.cn/pzgl/201204285.asp 1&#xff0c;到github官网 申请账号 2&#xff0c;…

如何发布ActiveX 控件

转自&#xff1a;http://blog.csdn.net/zougangx/archive/2008/07/30/2738147.aspx [背景] 做过ActiveX控件的朋友都知道&#xff0c;要想把自己做的ActiveX控件功能放在自己的网页上使用&#xff0c;那么用户在客户端就必须进行本地的注册&#xff0c;也就是说用户得首先要把该…

200行代码实现一个滑动验证码

作者 | 崔庆才 转载自进击的Coder&#xff08;ID: FightingCoder&#xff09;做网络爬虫的同学肯定见过各种各样的验证码&#xff0c;比较高级的有滑动、点选等样式&#xff0c;看起来好像挺复杂的&#xff0c;但实际上它们的核心原理还是还是很清晰的&#xff0c;本文章大致说…

Envoy源码分析之Dispatcher

2019独角兽企业重金招聘Python工程师标准>>> 摘要&#xff1a; Dispatcher 在Envoy的代码中Dispatcher是随处可见的&#xff0c;可以说在Envoy中有着举足轻重的地位&#xff0c;一个Dispatcher就是一个EventLoop&#xff0c;其承担了任务队列、网络事件处理、定时器…