Point-Set Anchors简介

2020/7/10

Hey,今天给大家介绍一篇ECCV2020的论文,该论文提出了Point-set anchor的概念,首先给大家总体介绍以下,然后再细分该方法在Pose Estimation领域的应用。

我们今年的工作提出了point-set anchor,并尝试了使用regression的思路去统一Object Detection, Instance Segmentation,Pose Estimation三个high-level recognition tasks。

众所周知,在object detection领域,无论是anchor based或者anchor-free based的方法中,其实都是事先定义了物体(bonding box 为GT的表示)的表示形式。anchor based的方法中,如RetinaNet,Faster-RCNN等,是用若干个anchor来表示正样本(IOU大于一定阈值),而anchor-free based的方法中,如CenterNet,FCOS,是用物体的中心点来表示正样本(feature map 的每个点映射回原图落在GT bounding box之中)。不论是anchor based或者anchor-free based的方法,对于正样本在原图的定位,都是基于regression的形式直接回归矩形坐标或者矩形长宽+矩形中心点offset。Anchor从某种程度上来说,表示的只是一种先验信息,anchor可以是中心点,也可以是矩形,同时它还可以提供更多的模型设计思路,如正负样本的分配,分类、回归特征的选择。那么我们的思路是,能不能提出更加general的anchor,泛化的应用于更多的任务中,而不只是Object detection中。

基于这个思路,我们提出了Point-set anchor,是anchor的泛化形式,我们尝试使用提出的point-set anchor,以regression的形式去解决Object Detection, Instance Segmentation,Pose Estimation,其形式如下:

1我们的点集锚点的插图,例如分割,对象检测和姿势估计。 实例遮罩点集锚点包含一个隐式边界框,并且从相应的边界框统一采样n个锚点。 姿势点集锚点被初始化为训练集中最频繁的姿势

对于Instance Segmentation和Object Detection,使用Figure.1a的Anchor。Object Detection的回归任务比较简单,用中心点或者左上/右下角点回归即可。对于Instance Segmentation来说,我们使用了特定的匹配准则去匹配Point-set anchor中的anchor point和instance GT的polygen point,并且转换为回归任务(详情见paper):

2举例说明了点集锚点与地面真相轮廓之间的三种匹配策略。 黄色实心点表示真实蒙版的多边形点。 绿色实心点和绿色空心点分别表示有效和无效锚点。 橙色和黄色线分别表示角和非角锚点的对应关系。 仅考虑有效的锚点进行训练和推理

对于Pose Estimation来说,使用Figure.1b的Anchor。传统的bottom-up pose estimation方法大都是使用了heatmap-> grouping的思路。我们利用Point-set anchor直接将pose estimation转换为一个regression的task。即利用point-set anchor中的point直接回归对应的GT中的pose point。

我们的网络设计也很简洁,没有复杂的设计,直接将Point-set Anchor使用在RetinaNet上,直接注意的是,对于pose estimation task,我们额外使用了一个feature aggregation模块,这个模块的作用在于利用我们提出的Point-set anchor的先验信息,使用DCN来aggregate特定的feature,然后提供更好的feature用于分类回归,而不是简单的单点center feature。

3网络架构。左侧部分表示从不同级别提取要素的主干和要素金字塔网络。右侧部分显示使用点集锚点进行分类和蒙版/姿势估计的共享头。为了更清楚地说明,我们省略了边界框回归分支。

最后对于三个task的性能,我们都是基于RetinaNet来做的,没有额外的设计,在pose estimation上取得了不错的性能,在object detection和instance segmentation也做的比较work(单纯的基于RetinaNet,并且以regression的思路去做)。据我们所知,这也是第一个框架尝试统一Object Detection, Instance Segmentation以及Pose Estimation三大任务。

 

对于姿态估计:

姿势估计。在姿势估计算法中,大多数先前的工作遵循估计每个关节的热图的范例[2,3,5,6,7,14,15,33,18,28,39]。热图表示存在于图像中每个位置的关节的置信度。尽管其性能良好,但热图表示仍存在一些缺陷,例如没有端到端训练,需要高分辨率[37]以及联合定位和关联的单独步骤。关节关联问题通常通过人类边界框检测的早期阶段[39,15]或将已检测到的关节与额外学习的关节关系分组在一起的后处理步骤来解决[3,27]。最近,已经探索了一种不同的方法来直接回归关节从中心或根点的偏移[43]。与基于热图的方法相反,通过从单个点对所有关节进行整体回归,自然可以解决关节关联问题。但是,由于对大型高维向量空间进行了优化,整体形状回归通常比基于零件的热图学习更困难。 Nie等。 [29]通过将基于人体姿势的关节运动学将相对于中心位置的远程位移分解为累积的较短位移来解决此问题。他们认为,对短程位移建模可以减轻从图像表示到矢量域映射的学习难度。我们遵循基于回归的范式,并提出通过从放置在更有利位置的一组点进行回归来解决远程位移问题。

Pose point-set anchor:我们自然使用人类关键点来构成姿势点集锚点。 例如,在COCO [24]数据集中,有17个关键点,并且姿势点集锚点由34维向量表示。 在每个图像位置,我们使用几个点集锚点。 我们将点集锚点初始化为训练集中最频繁的姿势。 我们使用标准的k均值聚类算法[26]将所有训练姿势划分为k个聚类,每个聚类的平均姿势用于形成点集锚。 图1(b)示出了用于姿势估计的点集锚之一。

 

好啦,今天就先介绍这么多,这篇论文还是很值得一看的,里面涉及到的具体算法还是得再看论文。虽然这篇论文还没有公开代码,但是思路是非常值得借鉴的。接下来我也会再详细研究一下它针对pose estimation的算法。老规矩还是给大家介绍一下租用GPU做实验的方法,我们是在智星云租用的GPU,使用体验很好。

具体大家可以参考:智星云官网: http://www.ai-galaxy.cn/,淘宝店:https://shop36573300.taobao.com/公众号: 智星AI,

PEACE

 

 

 

 

参考资料:

https://arxiv.org/pdf/2007.02846.pdf

https://mp.weixin.qq.com/s/AslGRN9Zfqx3aOpU0NIklw

http://www.ai-galaxy.cn/

https://shop36573300.taobao.com/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值