2020 COCO Keypoint Challenge 冠军之路!

2020 COCO Keypoint Challenge 冠军之路!

2020 COCO Keypoint Challenge 冠军之路!

本文转载自知乎,已获作者授权转载。

https://zhuanlan.zhihu.com/p/206430760

前言

今年的coco,是最难的一年,也是最容易的一年。

难是难在历届成绩奇高,高到大部分赛道上一年的技术积累依然无法突破算力所形成的壁垒。也难在问题已经过了可以随便找个codebase,拿过来花两个月调参、改一改网络结构最终比赛结果就会有提升的阶段。自己没有创新只靠开源,要超过去年成绩完全没戏。

容易则是容易在去年冠军不参赛了,也劝退了大部分划水玩家。往年拼得你死我活的比赛,今年基本就是交了结果和报告就有不错排名,像detection赛道一共也就排名前二的两支队伍提交报告,意思是你交报告了,就能以第三的排名列在榜上。

2020 COCO Keypoint Challenge 冠军之路!
coco detection challenge 2020 leaderboard

一开始只有两个结果,今天一看成三个了,可能是组委会也看不惯今年那惨淡的成绩吧。这也说明去年一年下来detection问题上那些所谓的突破在v100面前啥也不是,瞬间灰飞烟灭。差不多的还有全景分割赛道,而Densepose赛道更惨一支参赛的队伍都没有,只要你交结果和报告,你就是冠军了。从结果上来看,今年coco四个赛道旷视凭借去年的成绩就赢了三个,旷视才是最大的赢家,不接受反驳,其他赛道谁敢提交报告谁敢pr都是给旷视当绿叶。

2020 COCO Keypoint Challenge 冠军之路!
coco panoptic challenge 2020 leaderboard

作为唯一超过去年冠军的结果,Keypoint赛道里我们的成绩就很强吗?也不见得,从成绩上看虽然test-dev比去年旷视高了1.6AP,但是test-challenge上却只有0.3AP的优势。这个test-dev上到test-challenge为何掉点那么多,一直困扰着我,是他们test-dev不行还是我的test-challenge不行?希望有土豪支持V100让我跑下旷视的结果验证问题。另外一个有意思的事情是keypoint 榜上的结果是(1st,4th,7th)的成绩,意思是第二第三名并没有按照组委会要求提交报告,不知道成绩如何。

2020 COCO Keypoint Challenge 冠军之路!
coco keypoint challenge 2020 leaderboard

今年和coco一起举办的还有LVIS(Large Vocabulary Instance Segmentation https://www.lvisdataset.org/),一个类别数极多的实例分割比赛(coco只有80类,它有1200+类)。竞争非常激烈,排名前列都是一群又土豪又有实力的玩家,比如冠军是大名鼎鼎的商汤,后面还有阿里巴巴、MMDet 和华为等。只有旷视今年非常佛系的啥都不参加,坐看风云起却笑纳三冠军……

2020 COCO Keypoint Challenge 冠军之路!
LVIS Challenge 2020

coco死了吗?个人觉得并没有,一方面coco一直是学术界算法评测的标杆,谈饱和还言之过早,至少我觉得keypoint问题上还没有,一眼望去在coco的反映下,还有太多问题还没完全解决。另外一方面,今年的局面大多也是由于coco的地位导致资本角逐,但是明年的coco有新一年的技术突破加持下,其他赛道也很有希望突破算力形成的壁垒,回归以学术为主导,百家争鸣时代指日可待,大家共勉。今年workshop上组委会也强调了明年的coco会有大改动,期待ing。


突破

在这里先介绍在keypoint这个问题上的两个改进,一个是关于codebase可靠性的,另外一个则是在监督方面让网络关注约束信息。个人对网络设计不太感冒,一方面觉得小修小改要突破性能瓶颈很难,自己也尝试过不少,但说能超过hrnet的改进还真一个都没有。另外一方面,网络方面的改进到最后大概率会被算力淹没。

2020 COCO Keypoint Challenge 冠军之路!
论文地址:https://arxiv.org/abs/1911.07524
代码地址:https://github.com/*nJie2017/UDP-Pose

人体姿态估计中无偏的数据处理

2020 COCO Keypoint Challenge 冠军之路!

如上图所示,人体姿态估计任务中的数据处理主要包含两个环节:数据在不同坐标轴之间的变换和关键点坐标的编码解码。基于此,人体姿态估计任务中数据处理流可以用以下公式进行建模:

2020 COCO Keypoint Challenge 冠军之路!

而无偏的数据处理则需要满足数据流的输入与输出严格相同,即:

2020 COCO Keypoint Challenge 冠军之路!

由于评测会对偏差直接作出惩罚,无偏的数据处理对于高精度的人体姿态估计极为重要。此外,潜藏在数据流中的偏差会对研究造成严重的干扰,无偏的数据流是可靠codebase必不可少的特征。

通过对现有的codebase进行推理分析,我们发现现有SOTA工作的数据处理中普遍存在偏差,这些偏差存在于上述两个环节中并相互耦合。一方面直接影响了算法的性能表现,另外一方面为后续的研究埋下了难以察觉的隐患。基于严格的数学推理,我们提出用于人体姿态估计无偏的数据处理流作为解决方案,在大幅度提升现有工作的性能表现的同时,为后续研究提供可靠的基础。

在这里我只轻描淡写,至于详细的问题分析和方法请参考论文。这个东西理解起来有点费劲,我自己也是一边写论文一边推明白(写论文之前也只有各大概的概念),所以真不能强求自己在几天内能看懂。如果能通过推理自己把论文里唯一的图画出来,你知道的就已经不比我少了。

2020 COCO Keypoint Challenge 冠军之路!
论文地址:https://arxiv.org/abs/1911.07524

在利用UDP构建可靠的codebase之后,我们又对人体姿态估计的性能瓶颈进行分析。近几年来网络结构的改进是研究的重点,涌现了SimpleBaseline, MSPN, HRNet, RSN 等一系列具有代表性的工作。而监督方面则一直沿用着位于关键点处的高斯响应图作为监督,此监督设计直观,其有效性已被广泛证明。然而这种看似完美的监督是否存在缺点呢?答案是肯定的。

人在定位图像中的人体关键点时使用了两种信息,外观信息和约束信息。外观信息是定位关键点的基础,而约束信息则在定位困难关键点时具有重要的指导意义。约束信息主要包含人体关键点之间固有的相互约束关系以及人体和环境交互形成的约束关系。直观上看,约束信息相比外观信息而言更复杂多样,对于网络而言学习难度更大,这会使得在外观信息充分的情况下,存在约束条件被忽视的可能。基于此假设,我们引入信息丢弃的正则化手段,通过在训练过程中以一定的概率丢弃关键点的外观信息,以此避免训练过程过拟合外观信息而忽视约束信息。

2020 COCO Keypoint Challenge 冠军之路!
各种信息丢弃的方法

虽然随机丢弃外观信息可以避免训练过程过拟合外观信息,但是由于外观信息是视觉定位人体关键点的基础,外观信息的缺乏会使得训练前期收敛较慢,网络需要一个更长训练周期才能达到完全收敛。

2020 COCO Keypoint Challenge 冠军之路!

2020 COCO Keypoint Challenge 冠军之路!

在实验过程中,我们通过使用多种基线验证了上述假设的合理性以及所提出方法的有效性。有趣的是,在不同的baseline上所提出的方法表现惊人的一致,这个一方面反映了这种过拟合外观信息的问题是广泛存在的,修改网络,增加数据并不能解决这个问题。另外一个方面也验证信息丢弃可以有效遏制这个问题。至于这种惊人的一致性,个人觉得背后一定有某些规律等着我们去挖掘。

2020 COCO Keypoint Challenge 冠军之路!

冠军之路

2020 COCO Keypoint Challenge 冠军之路!
2020 COCO Keypoint Challenge Road Map

还记得HRNet横空出世时,我刚入coco keypoint的坑,那时觉得这指标太牛逼了,而且MSRA还是非常良心的,开源指标和论文一致,这个非常难能可贵!所以MSRA的hrnet一直是我研究的baseline,我中间搞过旷视的MSPN/RSN,只能说打扰了,开源指标比论文低3.2AP的操作令人窒息,论文背后有多少坑需要填难以想象,期待有大佬能复现。

上面说过我对网络不感冒,一直以搞baseline为主,在更换大backbone和大inputsize前一直致力于提升hrnetw32-256x192配置的性能,并最终刷到76.8AP。同时由于改进不针对网络结构,所以在增大backbone和inputsize以及增加训练数据时指标提升一如既往的给力。

因为沿用top-down的方法(先检测人,然后对每个instance进行关键点定位),人体检测的效果对最后keypoint指标影响几乎是线性的,大概每提一个点的detection AP, keypoint AP提升0.1的样子。今年组里也组织参加detection的赛道,一方面keypoint这边有明确的需求,另外一方面碰碰运气,最终成绩也不差,box在test-dev上接近60AP.

最后我们ensemble 17个关键点检测模型的结果,在test-dev上达到80.8AP,比去年冠军高1.6AP。看起来很强,然而,然而……在test-challenge上萎了,竟然萎了,从去年第二名的结果来看(他们也是用hrnet,但是test-dev到test-challenge只掉2.5AP,我们掉了3.4AP),这里也有我看不透的操作。


总结

  • 从今往后,最大的对手只剩自己

  • baseline很重要

  • 创新使你无敌

  • 不能有短板

PS:招个亲传的keypoint实习生,要求基础厚的要有半年以上时间,没基础的一年起步。简历发[email protected]

2020 COCO Keypoint Challenge 冠军之路!

备注:姿态

2020 COCO Keypoint Challenge 冠军之路!

姿态估计交流群

人体姿态估计、手势识别等更多新鲜资讯,若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:[email protected]

网站:www.52cv.net

2020 COCO Keypoint Challenge 冠军之路!

在看,让更多人看到  2020 COCO Keypoint Challenge 冠军之路!