网易首页 > 网易号 > 正文 申请入驻

ICCV 2021 Oral论文解读 | 具有残差对数似然估计的人体姿态回归

0
分享至

新鲜出炉的ICCV Oral,由于我的工作内容是姿态估计相关,因此也在第一时间拜读了一下,以下是一些笔记和过往经验的总结。由于我自身能力有限,文章中存在错误请见谅,欢迎指正。

论文地址:https://jeffli.site/res-loglikelihood-regression/resources/ICCV21-RLE.pdf

开源地址:https://github.com/Jeff-sjtu/res-loglikelihood-regression

这两天抓紧时间看了下作者放出来的代码,发现有些地方值得注意:

  1. 本文走的是用(joint_num*3)维的FC层直接回归出坐标点的路子,可以说是非常暴力了,这和我一开始想的soft-argmax的路线还不太一样,这显得RLE更强了;

  2. 根据我过去工作的经验,用soft-argmax积分热图来回归的方法应该能取得比纯FC更好的效果,在对比实验中也没有把RLE用到Integral Pose上的实验,直觉上应该能再涨点才对。我正在自己的数据上跑实验,出了结果会在这里更新。后续:我跟作者取得了联系,根据作者的说法积分热图确实能带来轻微的提升,但增加了计算量。

Hi Tau. Actually, we did conduct experiments on the soft-argmax based method. We use ResNet-50 and usingsigmoidto predict the normalized heatmap. The original model obtains 65.7 mAP on the COCO validation set, and the model trained with RLE obtain 70.7 mAP. This is slightly better than the direct regression method (70.5 mAP without pretrained). Although using soft-argmax is better, but we think the improvement is marginal and it brings more computation.

调了几天,终于在我自己的项目上跑起来了,记录一些遇到的坑:

  1. RLE这个loss数值是可正可负的,因为L=-log p,当p>1的时候就会为负数,基本上训到后面都会是负的,这是正常现象;

  2. 这个loss对数据噪声比较敏感,很容易导致模型训崩,我之前的训练数据清洗得不够干净(自己没发现),但在L1 loss上训练没有遇到问题,在RLE上模型直接训崩了,debug了很久才发现是数据噪声问题(比如坐标值超出了图片范围);

  3. 作者的训练代码里,坐标值是经过了归一化的,在RegressionFlow模型中使用的bar_mu = (pred_jts - gt_uvd) / sigma 时,sigma也进行了sigmoid限制在0~1之间。

作者放出的源代码直接使用的话,很多人会遇到训练途中loss突然暴增然后又掉下来的现象,这个主要是训练数据中的异常值导致的,可以增大sigma上加的eps,默认用的1e-9,可以改为1e-5,这样能有效缓解以上异常,在我的实验中这样的修改不会对模型性能造成明显影响。

前言

一般来说,我们可以把姿态估计任务分成两个流派:Heatmap-based和Regression-based

其主要区别在于监督信息的不同,Heatmap-based方法监督模型学习的是高斯概率分布图,即把GroundTruth中每个点渲染成一张高斯热图,最后网络输出为K张特征图对应K个关键点,然后通过argmax或soft-argmax来获取最大值点作为估计结果。这种方法由于需要渲染高斯热图,且由于热图中的最值点直接对应了结果,不可避免地需要维持一个相对高分辨率的热图(常见的是64x64,再小的话误差下界过大会造成严重的精度损失),因此也就自然而然导致了很大的计算量和内存开销。

Regression-based方法则非常简单粗暴,直接监督模型学习坐标值,计算坐标值的L1或L2 loss。由于不需要渲染高斯热图,也不需要维持高分辨率,网络输出的特征图可以很小(比如14x14甚至7x7),拿Resnet-50来举例的话,FLOPs是Heatmap-based方法的两万分之一,这对于计算力较弱的设备(比如手机)是相当友好的,在实际的项目中,也更多地是采用这种方法。

说到Regression-based方法的优点,那是就是好呀就是好,可以简单总结为以下三点:

  1. 没有高分辨率热图,无负一身轻。计算成本和内存开销一起大幅降低;

  2. 输出为连续的,不用担心量化误差。(Heatmap-based输出的热图最大值点在哪,对应到原图的点也就确定了,输出热图的分辨率越小,这个点放大后对应回去就越不准。Regression-based输出为一个数值,小数点后可以有很多位,精度不受缩放影响);

  3. 可拓展性高。不论是one-stage还是two-stage,image-based还是video-based,2D还是3D,Regression-based方法都可以一把梭。此前就有用这种方法来将2D和3D数据放在一起联合训练的文章。这是Heatmap-based方法做不到的,因为输出是高度定制化的,2D输出必须渲染2D高斯热图,3D就必须渲染3D的高斯热图,计算量和内存开销也蹭蹭蹭地暴涨。

而Heatmap-based方法通过显式地渲染高斯热图,让模型学习输出的目标分布,也可以看成模型单纯地在学习一种滤波方式,将输入图片滤波成为最终希望得到的高斯热图即可,这极大地简化了模型的学习难度,且非常契合卷积网络的特性(卷积本身就可以看成一种滤波),并且这种方式规定了学习的分布,相对于除了结果以外内部一切都是黑盒的Regression-based方法,对于各种情况(遮挡、动态模糊、截断等)要鲁棒得多。

基于以上种种优点,Heatmap-based方法在姿态估计领域是处于主导地位的,SOTA方案也都是基于此,这也导致了一种学术研究与算法落地的割裂,你在各种数据集和比赛里指标刷得飞起,但项目落地时我们工程师却只能干着急,因为你用的方法又慢又吃内存,真实项目里根本没法用啊。

终于,这一天有篇文章站出来说,重铸Regression荣光,吾辈义不容辞!不仅将Regression-based方法提到了超越Heatmap-based方法的高度,还保留了其一直以来的节省计算资源和内存资源的优点,真正做到了又快又准,简直是项目落地算法工程师的福音,接下来就让我们一起来学习一下这篇文章。

核心思想

从极大似然估计(Maximum Likelihood Estimation, MLE)的角度来看问题,损失函数的选择其实是基于我们对目标分布的假设的,如果我们假设目标分布服从高斯分布,那么损失函数就应该选择L2 loss,如果假设为拉普拉斯分布,则应该选择L1 loss。

这里其实我还延申出来一个理解,早一些时候的文章大家都选择L2 loss作为损失函数,但近来越来越多的文章选择L1 loss,并且有翔实的实验显示L1在大多数情况下都会优于L2,对于这个现象我一开始是作为一种实验得到的经验结论进行记忆的,但到这里我才理解,选择L2其实是一件很自然的事情,因为高斯分布具有大量优秀的特性:采样方便、解析的密度已知、KL距离容易计算,还有中心极限定理的保证——任何大的数据都趋近于高斯分布,所以你怎么用它几乎都是对的。但对于姿态估计任务而言,由于要精确地预测关键点位置,实际上概率分布是相对来说比较稀疏的,只有小部分区域具有概率,因此将拉普拉斯分布作为先验可能是一种更好的假设。

从这个视角来思考,我们其实可以把Heatmap-based方法看成是对模型的中间结果进行了监督,显式地要求模型学习高斯概率分布,进而得出结果;而Regression-based方法由于缺少对概率分布的监督约束,模型内部学到的分布是不稳定的,完全受到训练数据的支配,因此在性能和鲁棒性上逊于Heatmap-based方法也就不难想象了。

因此我们也可以知道,一个正确的密度函数假设对优化结果是起到主导性作用的。但在实际问题中,目标的分布是未知的,我们所掌握的数据也是有限的,模型很难单纯通过数据回归出真实的密度函数,有没有比草率地假设某一个分布更好的选择呢?有的,这里我们将引入这篇文章的核心之一,标准化流(Normalizing Flows)。

标准化流

标准化流是一类深度生成式模型,具体的数学原理有兴趣的朋友可以自行搜索,我这里比较肤浅地将其理解为,通过构造一个可逆的变换函数,能将一些基本的简单分布(如高斯分布)变换为任意的复杂分布。

这里用李宏毅老师的视频截图来进行直观展示,通过一系列可逆变换的叠加,可以将简单分布变换成任意的复杂分布:

换句话说,虽然现阶段我们条件有限,我们的回归模型只能拟合一个简单分布,但我可以对拟合出来的结果进行变换,让变换后的结果更接近真实分布,只要我的变换足够复杂,理论上我可以拟合任意的目标分布。而这里的变换,实际上也就是我们的神经网络,因为神经网络理论上可以逼近任意的函数,因此流模型中那一系列叠加的可逆变换可以通过叠加的FC层实现。也就是说,我们将网络学习的目标,从让网络直接拟合目标分布,变成了拟合简单分布+流模型变换调整两个步骤。

结果用极大似然估计法,损失函数可以表示为:

以上的描述对应图中的(a)设计。

重参数化

尽管思想上是说得通了,但在实际实现中,还需要一些技巧。

Regression-based方法是要网络直接预测坐标值的,但是(a)中的设计显然增加了步骤,而且让网络先拟合简单分布再进行变换的思路,似乎也有点绕弯路的感觉。因此作者进一步改进了方案,我们先对一个标准的基础分布进行变换,然后让网络直接学变换后的真实分布不是更好吗?

在实际操作中,作者假设所有底层分布共享相同的密度函数族,但是根据输入不同,会有不同的均值和方差(可以理解为需要对原始分布进行平移和缩放)。我们以标准正态分布为基础分布,通过流模型将基础分布变换为真实分布的原始分布,用回归网络来预测平移和缩放系数 和 。这里的平移和缩放参数,实际上就是预测值和GT的偏移量。

注意这里的符号!!带hat的是偏移量,或者说平移缩放系数,头上带overline一横的是真实目标分布。

到了这里,我们模型的学习目标也发生了改变,已经从(a)中的:回归模型学习基础分布,流模型学习将基础分布变换为真实分布;变成了:流模型学习GT的偏移量的原始分布变换,回归模型学习变换后的原始分布的平移缩放参数。

损失函数也因此可以简化为:

经过以上的简化,我们的模型已经可以端到端地进行训练了,但实际上还是存在一些问题。

不难发现,我们的回归模型的学习是完全依赖于流模型变换的结果的,而在模型训练的初期,我们学到的变换函数是非常不准的,如果让回归模型去拟合基于不正确的变换得到的目标分布,对于模型性能是有害的。但端到端训练的原则让我们不想将训练变成二阶段的(即先训练流模型,训好以后再训练回归模型),因此本文又引入了一个残差对数似然估计(Residual Log-likelihood Estimation, RLE)的概念。

残差对数似然估计

要解决上面提到的模型依赖问题,本文设计了一条梯度shortcut来降低依赖程度。

用公式表示流模型拟合的目标分布,可以构造拆分为三项:

其中第一项Q(x)是一个简单分布(如高斯分布或拉普拉斯分布),第二项我们称之为残差对数似然项,第三项是一个常数s。

我们可以假设Q(x)是大致上接近于目标分布的,只是不够完美,这在之前我们已经有眉目了,选高斯分布不会错,选拉普拉斯分布更优。残差对数似然项是对第一项的一个补充,用于填补简单分布不够完美的部分,因此目标概率分布公式可以写成:

其中G(x)是流模型所需要学习的分布。经过这样的变换后,我们可以发现,回归模型对流模型的依赖被大大减轻了,因为不论流模型学到的结果如何,都只是在简单分布的基础上进行补充。这里的简单分布恰好正是我们前人使用的baseline,所以不管怎么学,我们的回归模型都不会太差,相反,随着流模型对变换参数的预测越来越准确,回归模型所拟合的分布将比baseline更加接近真实分布。

最终得到训练的损失函数为:

而当训练结束,回归模型学到的平移缩放参数就固定了,我们的流模型也固定了,由于我们假设所有的数据都服从我们的目标分布,变换函数是不会因为输入数据的变化而受影响的。更牛逼的是,由于是在N(0, I)的标准分布上进行的变换,在测试推理阶段,平移缩放系数直接就可以看成最终预测的坐标值。

因此在推理阶段我们就不再需要运行流模型了,我们的回归网络至此已经学到了流模型变换后的真实分布。这也是本文提出的方法的妙处所在,训练时对目标分布的假设就已经确定了,剩下的就又回到了Regression-based方法的既定流程上,确定分布假设,对应设计损失函数即可。

流模型这部分的逻辑比较绕,而且(a)(b)(c)三种方案里几个mu和sigma的含义是有不同,但又能互相转化的,建议对照着那张路程图多看几遍,最好结合原文来理解,笔者才疏学浅,表达得可能不够清晰。

流模型

本文选择的基础分布为拉普拉斯分布,这也是符合前人实验结论的,大量的实验结果佐证了拉普拉斯分布应该是一个比较接近于真实目标分布的假设,只是不够完美,但这足够我们选择它作为变换的基础,有利于简化变换的难度,降低学习的难度。

而常见的可以选择流模型其实有很多种,本文经过实验对比最终选择了RealNVP,可逆变换函数用3个具有64个神经元的全连接层来表示。这样一个简单的轻量级的流模型,对训练速度的影响是几乎可以忽略的。

在文章最后的附录中,作者也对学到的分布进行了可视化:

实验结果

对所提出方法的消融实验如下:

这个实验以在Resnet50上对L1 loss进行直接回归作为baseline,通过加入重参数化后的流模型进行直接似然估计的端到端训练(Direct Likelihood Estimation, DLE)可以带来4.6mAP的提升,加入残差对数似然估计来减轻模型依赖后的提升变为12.4mAP,最后加入前人文章中用到的训练技巧,先用heatmap对backbone进行预训练,然后再用Regression-based方法进行微调,可以最终带来13.2mAP的提升。

PS:这个预训练技巧其实还蛮有用的,可以学一手

跟现有SOTA方法的对比如图,可以看到能让Regression-based方法达到媲美Heatmap-based方法的高度,其他更多的消融实验和参数选择实验我在这里就不一一贴出来了,有兴趣的朋友可以自行查阅论文。

以上是对本文进行学习后的一些记录,可能存在一些理解有误或者不够精准的地方,后续可能会进行修改,也欢迎大家进行指正,感谢阅读。

来源:知乎

作者:镜子

深延科技|

深延科技成立于2018年,是深兰科技(DeepBlue)旗下的子公司,以“人工智能赋能企业与行业”为使命,助力合作伙伴降低成本、提升效率并挖掘更多商业机会,进一步开拓市场,服务民生。公司推出四款平台产品——深延智能数据标注平台、深延AI开发平台、深延自动化机器学习平台、深延AI开放平台,涵盖从数据标注及处理,到模型构建,再到行业应用和解决方案的全流程服务,一站式助力企业“AI”化。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
拜登宣布移民新政 特朗普:我上任第一天就废掉

拜登宣布移民新政 特朗普:我上任第一天就废掉

参考消息
2024-06-19 15:46:11
梅西:很遗憾内马尔无缘美洲杯,但巴西仍很强大、很有竞争力

梅西:很遗憾内马尔无缘美洲杯,但巴西仍很强大、很有竞争力

直播吧
2024-06-20 03:09:05
我国战士大刀队,斧头队登船劈坏菲船,菲律宾特种兵持枪主动认怂

我国战士大刀队,斧头队登船劈坏菲船,菲律宾特种兵持枪主动认怂

文雅笔墨
2024-06-20 05:30:25
“落马”县委原书记汤跃武收受茅台70余箱,非茅台不喝

“落马”县委原书记汤跃武收受茅台70余箱,非茅台不喝

极目新闻
2024-06-19 12:13:28
为什么上海人会被认为歧视外地人?网友骂上海人安全呗!

为什么上海人会被认为歧视外地人?网友骂上海人安全呗!

瓜子哥混剪
2024-06-20 04:26:44
姜萍家的厨房门被踹了,屋内家具被拍,连鸡鸭也被网友追着录像

姜萍家的厨房门被踹了,屋内家具被拍,连鸡鸭也被网友追着录像

素素娱乐
2024-06-19 16:00:38
抗日神剧八路军的伙食,不是海鲜就是法国菜,主打的就是一个上流

抗日神剧八路军的伙食,不是海鲜就是法国菜,主打的就是一个上流

附允历史观
2024-06-19 16:45:10
“跌落神坛”的5大保健品,实际根本没有什么用,你吃过哪几种?

“跌落神坛”的5大保健品,实际根本没有什么用,你吃过哪几种?

梦录的西方史话V
2024-06-19 18:05:56
大英帝国都亡了,香港的法官们,几时才能把头上的方便面摘掉呢?

大英帝国都亡了,香港的法官们,几时才能把头上的方便面摘掉呢?

历史有些冷
2024-06-18 08:05:02
布林克INS发文:永远不会想到会发生在自己身上 但这会让我更强大

布林克INS发文:永远不会想到会发生在自己身上 但这会让我更强大

直播吧
2024-06-20 07:57:09
范冰冰闪现香港豪宅,素颜穿的低调,但脖子百万项链太抢风头!

范冰冰闪现香港豪宅,素颜穿的低调,但脖子百万项链太抢风头!

柠檬有娱乐
2024-06-19 11:55:44
2024年养老金确定涨3%!山东怎么涨?养老金调整细则预测版揭晓

2024年养老金确定涨3%!山东怎么涨?养老金调整细则预测版揭晓

王五说说看
2024-06-20 06:46:37
浮出水面了:海关查获30张《潜水员戴夫》NS卡带

浮出水面了:海关查获30张《潜水员戴夫》NS卡带

游民星空
2024-06-19 18:09:43
官方调查结果出了,美军天价咖啡杯和衬套均不存在贪污腐败问题

官方调查结果出了,美军天价咖啡杯和衬套均不存在贪污腐败问题

远方青木
2024-06-19 00:49:58
美女主持人王冠否认和尼格买提绯闻,是好朋友,在一起只撒欢不撒糖

美女主持人王冠否认和尼格买提绯闻,是好朋友,在一起只撒欢不撒糖

娱乐白名单
2024-06-18 11:31:19
马伊琍女儿庆祝父亲节,与爸爸文章罕见同框,40岁文章已满头白发

马伊琍女儿庆祝父亲节,与爸爸文章罕见同框,40岁文章已满头白发

橘子大娱社
2024-06-18 19:20:02
曝45岁伏明霞离婚,净身出户原因揭晓,71岁百亿丈夫只说6个字

曝45岁伏明霞离婚,净身出户原因揭晓,71岁百亿丈夫只说6个字

深度知局
2024-05-20 19:25:53
河南冷藏车事故遇难者亲属:善后工作已完成

河南冷藏车事故遇难者亲属:善后工作已完成

鲁中晨报
2024-06-19 14:27:03
事闹大了,南方医科大领导召开紧急会议,俞莉医生疑似被停职。

事闹大了,南方医科大领导召开紧急会议,俞莉医生疑似被停职。

文雅笔墨
2024-06-18 01:43:02
塔利班出现变天迹象,阿富汗的江山不好坐,中国该提前准备了?

塔利班出现变天迹象,阿富汗的江山不好坐,中国该提前准备了?

蒋福伟
2024-06-19 11:38:29
2024-06-20 10:34:44
深兰深延AI
深兰深延AI
让AI赋能更简单!
71文章数 0关注度
往期回顾 全部

科技要闻

美国AI圈震动! “OpenAI宫斗”核心人物苏茨克维官宣创业

头条要闻

美媒:真主党有十几万枚炮弹 或3天摧毁以基础设施

头条要闻

美媒:真主党有十几万枚炮弹 或3天摧毁以基础设施

体育要闻

绿军的真老大,开始备战下赛季了

娱乐要闻

黄一鸣“杀疯了” 直播间卖大葱养孩子

财经要闻

茅台大跌,谁的锅?

汽车要闻

双肾格栅变化大/内饰焕新 新一代宝马X3官图发布

态度原创

旅游
本地
时尚
公开课
军事航空

旅游要闻

遭遇极端高温天气导致希腊多名游客死亡

本地新闻

中式沙拉宇宙的天花板,它必须有姓名

“T恤”作为夏季的基础款,竟然有这么多种穿法

公开课

近视只是视力差?小心并发症

军事要闻

以色列涉嫌在加沙使用重型炸弹 或多次违反战争法

无障碍浏览 进入关怀版