Neural Activation Constellations: Unsupervised Part Model Discovery with Convolutional Networks

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/munan2017/article/details/79051497

本人是学生一枚,理解可能颇有偏颇~

写在前面:个人理解的一些比较关键的点

过程:

正常卷积,对某层产生P(通道数)个的激活图求梯度得到P个特征梯度图,在此图上找响应最强烈的位置, 作为原图中的关键点。关键点的个数等于P,从P个关键点中选出M个(可以随机选择,也可以用paper中的星座算法检出率更高一些),以选出的关键点为中心产生根据公式产生M个边框(相当于窗)。之后对这些边框中的图像进行CNN分类(即利用边框提取特征),具有最高分类信息的部分被用作估计边界框(即最关键的部分,以此作为分类依据)。

注意:

Paper用微调来进行数据增强(在选出M个之后进行的微调),具体不懂?

Paper中说与语义提取边框相比,其更有普适性。

注意激活图与概率图的对应(未来)。


星座(Constellations)算法

利用卷积网络特征产生一些关键点, 并基于这些关键点来提取局部区域信息. 通过对卷积特征进行可视化分析, Simon等人发现响应比较强烈的区域往往对应于原图中一些潜在的局部区域点. 从这一角度来看, 卷积特征还可以被视为一种检测分数, 响应值高的区域代表着原图中检测到的局部区域. 但是, 特征输出的分辨率与原图相差悬殊, 很难对原图中的区域进行精确定位. 受前期研究工 作[59, 60]的启发, Simon 等人采用的方法是通过计算梯度图来产生区域位置。

卷积特征的输出是一个W × H ×P维 的张量, P表示通道的数量, 每一维通道可以表示成 一个W × H维的矩阵. 通过计算每一维通道p对每一个输入像素的平均梯度值, 可以得到与原输入图像 大小相同的特征梯度图:


可以通过反向传播高效地完成计算。这样, 每一个通道的输入, 都可以转换成与原图同样大小的特征梯度图. 于是, 在特征梯度图里响应比较强烈的区域, 即代表原图中的一个局部区域. 通过计算每一个梯度图里响应最强烈的位置, 作为原图中的关键点。

卷积层的输出共有P维通道, 通过计算特征梯度图的方式能够产生P个关键点位置. 但这些关键点中仍然存在一些无关的背景信息, 因此, 需要对关键点进行选择. 这可以通过随机选择或者星座(Constellations)算法来完成. 进行特征选择之后, 关键位置点的个数就从P个 减少到了M个. 得到这些关键点之后, 将其作为标注 框的中心, 取大小为

(太懒了不想打公式~~)

其中λ ∈{ 1/5 , 1/16 }是 一个超参数, W′和H′是原图的大小. 这样就能够利用标注框来从原图中提取出局部区域, 再利用卷积网络来提取特征.


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页