美文网首页
[PaperNotes]CAM (Learning Deep F

[PaperNotes]CAM (Learning Deep F

作者: ArthurBreeze | 来源:发表于2018-06-06 15:27 被阅读94次
image.png

论文地址
这篇文章据说是现在几大顶会上各种弱监督学习方面的先驱之作,通常称为CAM,Class Activation Map。例如,只给定图像包含的物体的名字作为label,但不给出bbox,那么怎样通过这个弱label来学习出bbox+cls信息呢?CAM就给出了很好的位置提示。当然,CAM出现的比较早,改进CAM的是有的,我这里还没有去看。。

论文原文的原理和结果图:


image.png

我尝试绘图和写出公式来理解了下:


我对CAM的理解

相比于NIN(Network in Network)里用的全局平均池化(Global Average Pooling,GAP),这里的解释更加合理。

P.S. 因为用了CAM的pycaffe版代码(https://github.com/gcucurull/CAM-Python)来画那个activation图和原图的混合图,我才知道原来OpenCV可以画热力图的,而且有各种支持的颜色模式,最常见的就是jet了:

def py_map2jpg(imgmap, rang):
    if rang is None:
        rang = [np.min(imgmap), np.max(imgmap)]

    heatmap_x = np.round(imgmap*255).astype(np.uint8)
    return cv2.applyColorMap(heatmap_x, cv2.COLORMAP_JET)

im = cv2.imread('lena.jpg')
jetmap = im2doulbe(edgemap)
jetmap = py_map2jpg(jetmap, None)
hybrid = im2double(im)*0.5 + im2double(jetmap) * 0.4

相关文章

网友评论

      本文标题:[PaperNotes]CAM (Learning Deep F

      本文链接:https://www.haomeiwen.com/subject/yibbsftx.html