Ideas For Weakly Supervised Object Localization
最近开始跟着师兄做弱监督学习和医疗影像,近日阅读了几篇文章,与 Object Localization 相关,它们都是基于 Learning Deep Features for Discriminative Localization 这篇文章提出的 class activation maps (CAM),只使用了 image-level 的图片标注,训练一个分类模型,即可达到与 Fully Supervised Object Localization 媲美的效果。
那么何为 CAM 呢?
CAM
前几年的深度学习模型 AlexNet, VGGNet 和 GoogLeNet 等,在一系列卷积层后接几层的全连接层,这样可以提高分类性能,但这部分却是占了整个模型的大部分参数,同时,全连接层的使用要求模型的输入尺寸需一致,这会带来诸多不便。在这之前,已经有人用 Global Max Pooling 来将最后一层卷积层的输出 S ∈ R H × W × C S\in R^{H\times W\times C} S∈RH×W×C 统一变换为 S ′ ∈ R 1 × 1 × C S'\in R^{1\times1\times C} S′∈R1×1×C,这样无论输入的尺寸如何,最后的分类层(全连接层)参数都可以统一设置为 W ∈ R C × K W\in R^{C\times K} W∈RC×K, K K K 为总的类别数。而这篇文章中,使用的是 Global Average Pooling,作者提到的优点,咱也不敢问咱也不敢猜,但其主要目的还是能够推导出 class activation maps (CAM)。
记 f k ( x , y ) f_k(x,y) fk(x,y) 为最后一层卷积层第 k 个卷积核,则 F k = ∑ x , y f k ( x , y ) F^k=\sum_{x,y}f_k(x,y) Fk=∑x,yfk(x,y) 为该卷积核的输出。对于类别 c 的 Softmax 输入为 S c = ∑ k w k c F k S_c=\sum_kw_k^cF_k Sc=∑kwkcFk,其中 w k w_k wk 是对应 F k F^k F