正文
在非深度学习领域,热图指的是简单地聚合大量数据,并使用一种渐进的色带来优雅地表现,以直观地展现空间数据的疏密程度或频率高低。【1】在DCNN中,热图有助于了解一张图像的哪一部分让神经网络做出了最终的分类决策。热图的产生有两种方式,一是高斯热图,二是Grad-CAM产生的类激活热图(如下图所示)。
很容易看到,热图可以反映检测目标的位置。
下图【2】所示为高斯热图,图中心高斯值接近1,边缘接近0。
CenterNet论文中对生成的热图的描述如下:
(注意这里“热图”的概念和后面提到的Grad-CAM中“输入图像对类别的激活强度”热图是不一样的)
这样生成的热图样式大致是这样的【3】:
观察用于映射热图的高斯核公式,其中,(x,y)为待检测图像中枚举的步长块位置,(px,py)为低分辨率图像中对应于GT关键点的坐标。
可以看出,当枚举块的位置和GT关键点坐标接近重合的时候,高斯核输出值接近为1;当枚举块位置和GT关键点相差很大时,高斯核输出值接近为0。
这样一来经过高斯核映射之后的每个关键点(块)高斯热图在数据表示上类似这样(该图【4】仅为示例):
在用于映射的高斯核中,𝜎_𝑝^2 是“目标尺度自适应方差”。该处的“目标尺度”并非最后bbox框的大小,而是影响着生成的高斯热图中每个点的大小和分布。
分式中分母的取值为0~m 的区间,m取决于特征图分辨率大小,如此,该输出𝑌_x𝑦𝑐的范围对应为1~n,n接近于0但不为0。
当𝜎_𝑝^2 取较大值时,高斯核输出分布聚集于类别峰值点,使得生成的热图中“亮点”偏小;当𝜎_𝑝^2取较小值时,“亮点”向周边发散。
实际上由于网络预测的是物体中心(R2块),所以其生成的热图所表达的是每块分割图像距离所判断类别的物体中心的吻合程度。
“在推理的时候,分别提取热图上每个类别的峰值点。做法是将热图上的所有响应点与其连接的8个临近点进行比较,如果该点响应值大于或等于其八个临近点值则保留,最后我们保留所有满足之前要求的前100个峰值点。”
论文中随后对该处的后续处理实际即为一个3*3最大池化,且将(0,1)之间的高斯核结果值转化为了[0,1]命中标志。
参考资料
2.生成高斯图像
4.人体骨骼关键点检测中的heatmap 与vectormap 生成
————2020-4-25 @燕卫博————