论文连接

网络简介

face++2017年coco keypoint benchmark 数据集冠军的文章,发表于CVPR201

1  提出了一种金字塔型的串接模型,即CPN(cascaded pyramid network),这个模型能够同时兼顾人体关节点的局部信息以及全局信息,结果取得了不错的效果;

2   使用了在线难例挖掘(online hard keypoints mining)的技术,这对于人体姿态估计任务中一些存在遮挡的“hard”的关键点的预测有所帮助;

3   测试阶段考量了soft-NMS和传统的hard-NMS(非极大值抑制)在human detection阶段产生的影响,结论是soft-NMS对于最后的结果是有所帮助的。

本算发聚焦点在于处理多人姿态估计所面临的挑战:关键点遮挡,关键点不可见,复杂背景等——就是优化对于难以检测的点的预测,即着重于处理 “hard” 关键点。思路就是detector先定位bbox,然后使用CPN检测关键点,其中原作者使用的是FPN进行bbox定位(下图解释了FPN的优越性),并应用了ROIAlign。

CPN本体由两部分组成:GlobalNet和RefineNet,流程如下图所示,GlobalNet对关键点进行粗提取,RefineNet精细加工难以识别的网络(RefineNet对不同层信息进行了融合,可以更好的综合特征定位关键点),首先对于可以看见的easy 关键点直接预测得到,对于不可见的关键点,使用增大感受野来获得关键点位置,对于还未检测出的点,使用上下文context进行预测。。

GlobalNet 采用类似于FPN的特征金字塔结构,并在每个elem-sum前添加了1x 卷积,负责网络所有关键点的检测,重点是对比较容易检测的眼睛、胳膊等部位的关键点。

RefineNet基于GlobalNet生成的特征金字塔,其链接了所有层的金字塔特征用于定位“hard”关键点,GolbalNet对身体部位的那些遮挡,看不见,或者有复杂背景的关键点预测误差较大,RefineNet则专门修正这些点。主要还是基于shortcut的思想,在该阶段的训练中,还使用了类似OHEM的online hard keypoints mining难例挖掘策略。

下图表示的更明显,眼睛等关键点GlobalNet 直接输出结果,其他关键点使用添加了RefineNet 的组合网络输出结果:

实验要点

(1)数据增强,提升0.4map

训练数据的处理上使用了随机翻转,(-45度,45度)的随机旋转,(0,7,1.35)的随机尺度变换

(2)大batch的训练,主要针对检测框架,提升0.4-0.7map

(3)在行人检测框架中使用soft NMS取代hard NMS,提升0.3map

(4)随着检测map的提高,关键点的map提升非常有限

(5)online hard keypoints mining
在coco 数据集中有17个关键点需要预测,GolbalNet预测所有的17个点,并计算所有17个点的loss,RefineNet也预测所有的17个点,但是只有最难的8个点的loss 贡献给总loss。作者称这为OHEM。

(6)多模型融合集成,提升1.1-1.5map在coco minval数据集上

『关键点检测』CPN:Cascaded Pyramid Network for Multi-Person Pose Estimation的更多相关文章

  1. 《Cascaded Pyramid Network for Multi-Person Pose Estimation》论文阅读及复现笔记

    一.PipeLine 要点 TopDown + GlobalNet + RefineNet 二.Motivation 通过提高对难以识别的关键点的识别准确率,来提升总体识别准确率. 方法:1.refi ...

  2. 『计算机视觉』Mask-RCNN_从服装关键点检测看KeyPoints分支

    下图Github地址:Mask_RCNN       Mask_RCNN_KeyPoints『计算机视觉』Mask-RCNN_论文学习『计算机视觉』Mask-RCNN_项目文档翻译『计算机视觉』Mas ...

  3. 『高性能模型』轻量级网络ShuffleNet_v1及v2

    项目实现:GitHub 参考博客:CNN模型之ShuffleNet v1论文:ShuffleNet: An Extremely Efficient Convolutional Neural Netwo ...

  4. Parallel Feature Pyramid Network for Object Detection

    Parallel Feature Pyramid Network for Object Detection ECCV2018 总结: 文章借鉴了SPP的思想并通过MSCA(multi-scale co ...

  5. 阅读手札 | 手把手带你探索『图解 HTTP』

    前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 Github 博客 学习清单: 一.网络基础 TCP/IP 通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上 ...

  6. Istio 运维实战系列(2):让人头大的『无头服务』-上

    本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 什么是『无头服 ...

  7. 似魔鬼的 『 document.write 』

    在平时的工作中,楼主很少用 document.write 方法,一直觉得 document.write 是个危险的方法.楼主不用,并不代表别人不用,最近给维护的项目添了一点代码,更加深了我对 &quo ...

  8. 拾遗:『Linux Capability』

    『Linux Capability』 For the purpose of performing permission checks, traditional UNIX implementations ...

  9. 『创意欣赏』20款精致的 iOS7 APP 图标设计

    这篇文章给大家分享20款精致的 iOS7 移动应用程序图标,遵循图形设计的现代潮流,所有图标都非常了不起,给人惊喜.通过学习这些移动应用程序图标,设计人员可以提高他们的创作,使移动用户界面看起来更有趣 ...

随机推荐

  1. Linux学习8-CentOS部署自己本地的django项目

    前言 自己本地写好的django项目,如何部署到linux服务器上,让其他的小伙伴也能访问呢?本篇以centos系统为例,把本地写好的django项目部署到linux服务器上 环境准备: 环境准备: ...

  2. C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别

    1.虚函数(impure virtual) C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现. 子类可以重写父类的虚函数实现子类的特殊化. 如下就是一个父类中的 ...

  3. 目标检测(五)YOLOv1—You Only Look Once:Unified,Real-Time Object Detection

    之前的目标检测算法大都采用proposals+classifier的做法(proposal提供位置信息,分类器提供类别信息),虽然精度很高,但是速度比较慢,也可能无法进行end-to-end训练.而该 ...

  4. 数据类型&字符串得索引及切片

    一:数据类型 1):int     1,2,3用于计算 2):bool    ture  false  用于判断,也可做为if的条件 3):str     用引号引起来的都是str 存储少量数据,进行 ...

  5. RVIZ实现模拟控制小车

    RVIZ是一个强大的可视化工具,可以看到机器人的传感器和内部状态. 1.安装rbx1功能包Rbx1是国外一本关于ros的书中的配套源码,包含了机器人的基本仿真.导航.路径规划.图像处理.语音识别等等. ...

  6. java之beanutils使用

    介绍 BeanUtils是Apache Commons组件的成员之一, 主要用于简化JavaBean封装数据的操作. ​ 点击下载依赖 jar 包 使用 有如下 javabean : package ...

  7. 绿色版mssql

    1.安装2008绿色版,缺少对应的企业管理器,安装官方版本的提示电脑没有重启(已经重启后) 2.选择一个可用版本的mssql,2000的可以用,MSSQL2000-HaoSQL,自带企业管理器和查询器

  8. 【UML】NO.47.EBook.5.UML.1.007-【UML 大战需求分析】- 部署图(Deployment Diagram)

    1.0.0 Summary Tittle:[UML]NO.47.EBook.1.UML.1.007-[UML 大战需求分析]- 部署图(Deployment Diagram) Style:Design ...

  9. centos7.5固定局域网ip

    有点时候,比如像我们单位,没事干就停一次网,结果ip变了,还得重新看ip,重新配置,很麻烦,所以干脆把自己ip固定,以不变应万变!!! 1.首先查看自己的ip是什么: $ ifconfig eno1: ...

  10. android studio java: -source 1.6 中不支持 switch 中存在字符串 的错误

    F4打开open moudle setting 将source Compatibility 改为1.7 F4打开open moudle setting 将targetCompatibility 改为1 ...