DEKR 解构式人体关键点回归(三):损失函数

前言

损失函数是一项工作里很重要的部分,它意在每个训练阶段告诉模型有多”犯傻”、离”正确答案”还有多远,然后基于损失反向传播回去使得各模型参数获得相应的梯度,于是模型就知道该如何纠正错误(当然,还要结合优化算法,由于不在本文内容之中,这里就不给它出场的机会了)。正是这样经历一系列迭代训练后,模型最终才能学习成长为”三好学生”。

上一期CW已向大家介绍了DEKR的标签分配方法,那么本期就接着来看看损失函数的设计吧!

目录

i, 分类损失

ii. 回归损失

分类损失

分类指的是区分每个位置是否是关键点(COCO中有17类)和虚拟中心点(代表人的中心点,具体意义可以回顾上期内容),对于COCO数据集来说,这里就会设置18个类别(17类+虚拟中心点1类)。类别对应到通道这个维度,于是,网络的输出是17张关键点热度图+1张虚拟中心点热度图,标签也是一样的形式,loss 使用的是加权的 L2 损失函数:

DEKR 解构式人体关键点回归(三):损失函数

其中,H,C 分别代表预测的关键点和虚拟中心点热度图,带

DEKR 解构式人体关键点回归(三):损失函数 的是对应的标签,它们相减是 element-wise 的形式。 DEKR 解构式人体关键点回归(三):损失函数 代表掩膜(mask),用于为正负样本分配不同的权重:正样本1,负样本0.1(注意不是0)。 DEKR 解构式人体关键点回归(三):损失函数 的 shape 和 DEKR 解构式人体关键点回归(三):损失函数 一致,比如: DEKR 解构式人体关键点回归(三):损失函数 则有17个通道,每个通道对应一类关键点,而 DEKR 解构式人体关键点回归(三):损失函数 当然就只有1个通道了。 于是,DEKR 解构式人体关键点回归(三):损失函数 就是 element-wise product,每个元素一对一相乘。

回归损失

网络回归的是虚拟中心点到关键点位置的 offset maps,对于COCO数据集来说,这个输出通道则为17×2=34,对应17类关键点的 x,y 坐标,标签也是同样的形式,虚拟中心点邻域的位置是正样本,loss 使用归一化的 Smooth-L1 损失:

DEKR 解构式人体关键点回归(三):损失函数

其中, C 代表正样本位置集合,

DEKR 解构式人体关键点回归(三):损失函数 代表网络预测的offset map,带 DEKR 解构式人体关键点回归(三):损失函数 表示对应的标签, DEKR 解构式人体关键点回归(三):损失函数 代表人物面积,实际是根据人物中关键点在 x, y 方向的最远距离 DEKR 解构式人体关键点回归(三):损失函数 来计算的: DEKR 解构式人体关键点回归(三):损失函数DEKR 解构式人体关键点回归(三):损失函数 的 shape 和 DEKR 解构式人体关键点回归(三):损失函数 是一致的,这里的所有操作也是 element-wise 的。

最终的 loss 计算如下:

DEKR 解构式人体关键点回归(三):损失函数

DEKR 解构式人体关键点回归(三):损失函数

这部分内容没有太多可言,loss 也很常规,对于正样本不熟悉的可以再回顾下前一期的内容。

可以思考下的是, 为何 heatmap (分类)部分要使用 L2 Loss? Cross Entropy,Focal Loss 会怎样呢?

Original: https://blog.csdn.net/soaring_casia/article/details/120086296
Author: 深蓝学院
Title: DEKR 解构式人体关键点回归(三):损失函数

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/635324/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球