Hrnet损失函数

1、Heatmap的使用以及作用

  在heatmap被提出前,在关键点检测任务上,使用的方法是关键点坐标回归,具体实现是将网络全连接层之前的最后一层输出的一维向量,假设现在有15个关键点,那么,这个一维向量的长度就是15*(x, y, s)共45个向量,再通过全连接层进行关键点的分类,我们知道单纯这个一维向量难以将关键点在空间中的信息进行捕捉。所以heatmap应运而生。
  heatmap的具体实现是通过如下方式:(1) 根据我们打的关键点标签生成heatmap图,常用的方法是使用二维高斯分布,简单说就是将原来的一个关键点现在变成一小片区域。(2)在实际训练过程中的倒数第二层回归的是(b, c, h, w),其中,b代表batch,c代表chanel,h,w代表长宽。这里面的通道数c对应的是关键点的个数,如果我们关键点的个数是15,那么c就是15。(3)在训练过程进行loss计算的时候,因为我们有(关键点个数)个通道,那么在计算loss的时候就是将对应通道的关键点序号进行l2范数计算,因为label在生成过程中生成的是heatmap也就是一小片区域,具体计算loss时,实际上计算的是predict与label区域点之间的距离(L2距离)。
  在具体计算loss的时候,MSELOSS计算的是预测出的点与GT点之间的距离,但是这有一个弊端,随着网络的不断训练,对于那些不可见的点会逐渐弱化,为了避免这一现象,使用OHKM损失函数,该函数就是对MSE输出的结果进行了排序,并筛选其中难例部分进行重点回归。
  heatmap的优势
(1)heatmap可以让网络全卷积,即没有全连接层,输出就是二维图像。
(2)关键点之间直接使用坐标回归不能够捕捉关键点在空间上的相对关系,正如前文所说。
(3)使用heatmap可以区分前景以及背景之间的关系。

2、HRNet的评价指标:

Hrnet损失函数_第1张图片

你可能感兴趣的:(面试常考,深度学习,机器学习)