Summary - Pose2Seg: Detection Free Human Instance Segmentation_wuzht3的博客-程序员ITS203_ruilong li

技术标签: summary  

Song-Hai Zhang, Ruilong Li, Xin Dong, Paul L. Rosin, Zixi Cai, Han Xi, Dingcheng Yang, Hao-Zhi Huang, Shi-Min Hu

CVPR 2019

[ProjectPage] [paper] [code]

Summary 参考:

  • https://blog.csdn.net/Kelly368/article/details/90609729
  • https://blog.csdn.net/weixin_42137700/article/details/95879135

背景

现有的大多数图像实例分割模型(如 Fast/Faster R-CNN, Mask R-CNN, YOLO 等)都是基于 proposal regions (bounding-boxes, bbox) 的,步骤如下:

  1. 对图片进行目标检测,生成大量的 bbox
  2. 应用非最大值抑制(Non-maximum Suppression, NMS)来消除冗余的 bbox
  3. 在检测框里进行实例分割

然而这种基于 bbox 的方法存在以下缺陷:

  • 两个同类对象可能有较大重叠面积的 bbox,但 NMS 会认为其中一个 bbox 是冗余的,并将其去掉。这意味着这种方法对具有大面积重叠的情况束手无策。
  • 即使模型成功地检测出两个对象,但由于 bbox 的大面积重叠,模型难以判断其中的像素属于哪个对象

但是在计算机视觉中“人”这个类别具有特殊性,可以很好地用骨架来定义。在多重遮挡的实例中,相比于 bbox,骨架可以提供更有区分度的信息(如位置、身体部位的可见性),更好地将人的不同实例区分出来。

文章的主要贡献:

  • 提出了 pose-based 的人物实例分割框架,能更好地解决遮挡重叠的问题
  • 提出了 pose-based 的对齐模块,Affine-Align
  • 用骨架特征指导分割(使用 concat)
  • 提出了 OCHuman 数据集,该数据集中的人物对象都有较大面积的重叠

模型结构

在这里插入图片描述

网络框架主要由 Affine-Align, Skeleton Features 和 SegModule 三部分组成。步骤如下:

  • 将有人体姿态标注的图像作为输入,用 backbone(如 resnet50FPN)提取特征
  • 应用 Affine-Align 模块,基于人体姿势将 RoIs 对齐为统一大小(文中为 64 x 64)。同时,为每个人体对象生成骨架特征。
  • 将上述两者 concat 之后传给 SegModule 对每个人体进行分割
  • 使用 Affine-Align 操作中的仿射变换矩阵 H,将每个对象反向对齐,得到最终分割结果

Affine-Align Operation

Affine-Align 的作用与 Faster RCNN 的 ROI Pooling 和 Mask RCNN 的 ROI Align 类似,都是将 ROI 对齐成特定大小。但是与它们不同的是,Affine-Align 是基于人物姿势对齐,而不是边界框。步骤如下:

  1. 用 K-means 聚类得到训练集中 K 个标准的 pose templates,文中的 K = 3。距离度量在文中有公式给出。

  2. 通过最优化公式 (4) ,计算最佳仿射变换矩阵 H,使输入的姿势与 templates 尽可能接近。因为templates 中有多个姿势,所以通过公式 (5) 找出得分最高的姿势,确定与之最接近的姿势。

在这里插入图片描述

其中 H 是 2 x 3 的矩阵,有 5 个独立的变量:旋转、缩放、x 轴平移、y 轴平移、左右翻转

  1. 将 H 应用于图像或特征图,并用双线性插值得到固定的大小

在这里插入图片描述

Skeleton Features

使用 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 中的 part affinity fields (PAFs) 方法提取骨架特征。使用 PAFs 生成人体关键点并将它们连接起来。

SegModule

SegModule 中需要有足够大的感受野来理解上述的人工特征,并且能够学习它们与 base network 提取出的图像特征的联系。故需要更多的 residual units 来提升学习能力。下图是 residual units 的数量对结果的影响:

在这里插入图片描述

Performance

  • 所有模型的训练数据:COCOPersons training split,包含 pose keypoints 和 segmentation masks

  • 验证数据:(1) OCHuman, (2) COCOPersons val split

(1)在人物重叠情况上的表现(OCHuman)

OCHuman 数据集有大面积人物对象重叠,Pose2Seg 模型比 Mask R-CNN 的性能高出非常多。

在这里插入图片描述

(2)在一般情况下的表现(COCOPersons val split)
在这里插入图片描述

Ablation Experiments

在这里插入图片描述

通过 Ablation Experiments,对比 Affine-Align 和 RoI-Align 的性能,并探究是否添加骨架特征对性能的影响。结果显示:

  • Affine-Align 模块表现得更好,因为它是基于人体姿势,并且允许旋转
  • 添加骨架特征能为网络提供更多有用的信息,得到更精确的结果

总结

考虑到人的特殊性,将人体姿势应用到实例分割中能提升不少性能,特别是在人物对象有大量重叠的情况下

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/MRMRWWW/article/details/107567285

智能推荐

计算机0表示负数,计算机原码反码补码_0_宇轩新能源电动车的博客-程序员ITS203

《计算机原码反码补码_0》由会员分享,可在线阅读,更多相关《计算机原码反码补码_0(3页珍藏版)》请在人人文库网上搜索。1、计算机原码反码补码在数学中是将正号+ 负号- 放在绝对值前边表示该数是正数还是负数的,计算机只能识别0和1,使用的是二进制。计算机中就用一个数的最高位作为符号位,并用0表示正数,1表示负数。这样数的符号也可以用数字表示了。在计算机中,负数的二进制有3种表示方法:原码、反码和补...

增强现实技术(AR)的103个应用场景汇总_3D视觉工坊的博客-程序员ITS203

“本文从增强现实技术在一些行业的实际场景应用举例,以便帮助我们更好的理解增强现实技术。”增强现实核心技术产业联盟丨来源realcat丨编辑一、生产和工作场景1、屏幕生成:在任何时候都可以生...

7z命令的坑_sunnygirl090403的博客-程序员ITS203_7z 系统找不到

cd d:\7z a bin.7z d:\bin如上命令是把d:\bin下所有东西压缩成bin.7z, 生成的7z文件在d盘下。注意:生成的文件不在d;\bin下

Java中有哪些机制来保证线程安全?synchronized关键字和volatile关键字_小矮多的博客-程序员ITS203_保证线程安全修饰符

想要解决线程安全问题,首先要知道为什么会造成线程不安全?在单线程中,我们从来没有提到个线程安全问题,线程安全问题是只出现在多线程中的一个问题。因为多线程情况下有共享数据,每个线程都共享这些数据并对这些数据进行修改,当需要修改数据进行写入时,还有线程调度的交叉执行,还有内存模型的原因引起了不安全问题。要保证线程安全是一件很难的事,一般我们着眼于以下三个方面:(三个核心)1.原子性2.可见性...

Serving Google BERT in Production using Tensorflow and ZeroMQ_Catherine_985的博客-程序员ITS203

Serving Google BERT in Production using Tensorflow and ZeroMQJan 2, 2019 by     Han Xiao - Engineering Lead @ Tencent AI Lab◷    24 min readThis is a post explaining the design philosphy behind ...

【TCP/IP】TCP和UDP简介_茱莉亚之歌的博客-程序员ITS203_ip用的是tcp还是udp

TCP与UDP简介TCP和UDP都是TCP/IP协议簇中的传输层主要协议。TCP提供的可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输。TCP和UDP并没有绝对的谁优谁劣,这是由于它们各有所长,适用于不同的场景中。TCP和UDP的底层往往是通过系统提供的套接字来实现的。TCP/IP的传输层在IP的首部通常都存在一个协议字段,用来识别网络层(IP层)的上一层所采用的是哪一种传输协议。同理,TCP或者UDP也会在数据部分设定一个编号用来识别应该发给哪一个应用。这个有点类似于一个包裹(数

随便推点

通过随机数给数组赋值,通过函数求出数组的最大值最小值平均值_南城Flipped的博客-程序员ITS203

C语言通过随机数给数组赋值,通过函数求出数组的最大值最小值平均值

cadence17.2破解后安装HOTFIX的方法_-无间豆的博客-程序员ITS203_cadence hotfix

cadence 17.2破解安装后,如果需要安装hotfix,则需要再次破解。查了一下网上只有16.6的相关教程,并无17.2的教程。所以把自己摸索的方案提供给大家:1. 首先把SPB_17.2文件夹命名为SPB_17.2_old(反正跟SPB_17.2不一样就行了,除此之外我又复制了整个SPB_17.2_old文件夹重命名为SPB_17.2_bak作为万一破解不成功的备份)2. 在Cadence目录里建一个空的文件夹SPB_17.2, 并把SPB_17.2_old的compnts.dat拷贝到空

PL/SQL 登录到数据库配置- ORA-12154:TNS:无法解析指定的连接标识符_blueriver1125的博客-程序员ITS203_ora12154

ORA-12154:TNS:无法解析指定的连接标识符ORA-12154:TNS:无监听程序PL/SQL 客户端登录到数据库,如果配置错误会有以上错误,如下图。 这个错误主要是pl/sql客户端的tnsnames.ora配置错误,或者是输入 database选项错误。 配置pl/sql的Database的两种方式:1.登录时直接在Database选项输入数据库信息 2.修改tnsnames.ora配置文件

MySQL Percona Toolkit--pt-osc重点参数_weixin_30905133的博客-程序员ITS203

修改命令参数alter1、不需要包含alter table关键字,可以包含多个修改操作,使用逗号分开,如"drop clolumn c1, add column c2 int"2、不支持rename语句来对表进行重命名操作3、不支持对索引进行重命名操作4、如果删除外键,需要对外键名加下划线,如删除外键fk_uid, 修改语句为"DROP FOREIGN KEY _fk...

铠侠率先推出支持MIPI M-PHY v5.0的新一代UFS嵌入式闪存器件_sinat_41698914的博客-程序员ITS203

新器件为移动应用带来性能提升东京--(美国商业资讯)--存储解决方案的全球领导者铠侠株式会社(Kioxia Corporation)今天宣布提供业界首款[2]支持MIPI M-PHY[4] v5.0的通用闪存[3](UFS)嵌入式闪存器件的样品[1]。新产品系列采用该公司的BiCS FLASH 3D闪存,将提供三种容量:128GB、256GB和512GB。凭借高速读写性能,新器件可用于尖端智能手机等各类移动应用。新器件是支持MIPI M-PHY v5.0的新一代UFS,在HS-GEAR5模式下,理

php中定界符的用法与注意事项,PHP定界符的使用及注意事项_黑化个derrrrrr的博客-程序员ITS203

这篇文章主要给大家介绍了关于PHP定界符的使用及注意事项的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧前言因为PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行...

推荐文章

热门文章

相关标签